/* ===================
   = SONG TAGS start =
   =================== */
#songCard {
    width: 650px;
    height: 140px;
    margin: 3% 3%;

    position: absolute;

    display: flex;
    justify-content: space-between;

    overflow: hidden;

    font-family: "walkway", Arial, serif;
    color: white;
}

#songCard.top-left, #songCard.bottom-left {
    flex-direction: row;
}

#songCard.top-right, #songCard.bottom-right {
    flex-direction: row-reverse;
}

/* ==========================
   = SONG TAGS/ Cover start =
   ========================== */
#cover {
    width: 140px;
    height: 140px;

    border-radius: 5px;
    overflow: hidden;

    background-image: url("../../../pictures/default/defaultSong.jpg");
    background-repeat: no-repeat;
    background-size: contain;

    z-index: 1;
}

#ranked {
    width: 100%;
    height: 19px;
    margin: 50% -14%;

    background-color: rgba(130, 27, 214, 0.959);

    box-shadow: 0 -3px 3px rgba(130, 27, 214, 0.959), 0 3px 3px rgba(130, 27, 214, 0.959);

    text-align: center;
}

#songCard.top-left #ranked, #songCard.bottom-left #ranked {
    transform: rotate(45deg);
    transform-origin: right;
    float: right;
}

#songCard.top-right #ranked, #songCard.bottom-right #ranked {
    transform: rotate(-45deg);
    transform-origin: left;
    float: left;
}
/* ========================
   = SONG TAGS/ Cover end =
   ======================== */

/* =========================
   = SONG TAGS/ Info start =
   ========================= */
#songData {
    width: 500px;
    height: 140px;

    display: flex;
    flex-direction: column;
    justify-content: space-evenly;

    font-size: 25px;
}

#songData p {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

#songNameSubName {
    display: flex;
    line-height: 30px;
}

#songCard.top-left #songNameSubName,
#songCard.bottom-left #songNameSubName {
    flex-direction: row;
}

#songCard.top-right #songNameSubName,
#songCard.bottom-right #songNameSubName {
    flex-direction: row-reverse;
}

#title {
    font-size: 30px;
}

#songCard.top-left #title, #songCard.bottom-left #title {
    margin-right: 10px;
}

#songCard.top-right #title, #songCard.bottom-right #title {
    margin-left: 10px;
}

#subTitle {
    font-size: 23px;
}

#songAuthorMapper {
    display: flex;

    font-size: 20px;
    line-height: 20px;
}

#songCard.top-left #songAuthorMapper, #songCard.bottom-left #songAuthorMapper {
    flex-direction: row;
}

#songCard.top-right #songAuthorMapper, #songCard.bottom-right #songAuthorMapper {
    flex-direction: row-reverse;
}

#songCard.top-left #mapper, #songCard.bottom-left #mapper {
    margin-right: 10px;
}

#songCard.top-right #mapper, #songCard.bottom-right #mapper {
    margin-left: 10px;
}

#mapper::before {
    content: "[";
}

#mapper::after {
    content: "]";
}

#songDataInfo {
    margin-top: 10px;
    margin-bottom: -10px;

    display: flex;

    line-height: 25px;
}

#songCard.top-left #songDataInfo, #songCard.bottom-left #songDataInfo {
    flex-direction: row;
}

#songCard.top-right #songDataInfo, #songCard.bottom-right #songDataInfo {
    flex-direction: row-reverse;
}

#difficulty {
    padding: 0 10px 0 10px;

    font-size: 16px;

    border-radius: 2px;
}

#songCard.top-left #difficulty, #songCard.bottom-left #difficulty {
    margin-right: 20px;
}

#songCard.top-right #difficulty, #songCard.bottom-right #difficulty {
    margin-left: 20px;
}

#bsrKey {
    font-size: 16px;
    font-weight: bolder;
}

#bsrKey::before {
    content: "!bsr ";
}

#songDataInfoBar {
    margin-top: 5px;

    display: flex;
    align-items: flex-end;
    justify-content: space-around;
}

#songCard.top-left #songDataInfoBar, #songCard.bottom-left #songDataInfoBar {
    flex-direction: row;
}

#songCard.top-right #songDataInfoBar, #songCard.bottom-right #songDataInfoBar {
    flex-direction: row-reverse;
}

#songBarLength {
    width: 81%;
    height: 5px;
    bottom: 0;

    border: 1px solid rgba(221, 221, 221, 0.459);
    border-radius: 1px;

    background-color: rgba(221, 221, 221, 0.459);

    overflow: hidden;
}

#timeToPercentage {
    background-color: rgba(221, 221, 221, 0.61);

    width: 0;
    height: 100%;

    display: block;
}

#accuracy {
    width: 19%;
    height: 24px;

    font-size: 26px;
    text-align: right;
}

#songCard.top-left #accuracy, #songCard.bottom-left #accuracy {
    text-align: right;
}

#songCard.top-right #accuracy, #songCard.bottom-right #accuracy {
    text-align: left;
}

#accuracy::after {
    content: "%";
}
/* =======================
   = SONG TAGS/ Info end =
   ======================= */

/* =============================
   = ANIMATION AND STATE Start =
   ============================= */
/* Song Card Variables */
#songCard {
    --show: 500ms;
    --hide: 500ms;
}

#songCard.top-right, #songCard.bottom-right {
    --transitionSide: 500px;
}

#songCard.top-left, #songCard.bottom-left {
    --transitionSide: -500px;
}

/* Cover */
#songCard #cover  {
    transition:
            opacity var(--show);
}

#songCard.hidden #cover  {
    transition-delay: 500ms !important;
    opacity: 0;
    transition:
            opacity var(--hide);
}

/* song Data */
#songCard #songData {
    transform: translate(0, 0);
    transition:
            opacity var(--show),
            transform var(--show);
}

#songCard.hidden #songData {
    transform: translate(var(--transitionSide), 0);
    opacity: 0;
    transition:
            opacity var(--show),
            transform var(--show);
}