/**----------------General----------------*/
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: sans-serif;
}
h1, h2, h3, h4, h5, h6 {
    font-family: "Audiowide", sans-serif;
    font-weight: 400;
    font-style: normal;
}
p {
    font-family: "Oxanium", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

body {
    background-color: rgb(46, 19, 19);
    background-image: url('https://res.cloudinary.com/dpzwk2l36/image/upload/v1772712399/Holow_time_midi_perspective_blur_tzwt7z.webp');
}

/**----------------Top Bar----------------*/
.top_bar {
    background-color: rgb(247, 247, 247);
    width: 100%;
    height: 4rem;
    display:  flex;
    justify-content: left;
    align-items: center;
    font-size: 1.5rem;
    position: absolute;
    top: 0;
    z-index: 999;
}

.top_bar_container {
    margin-left: min(6rem, 8%);
    margin-right: min(6rem, 8%);
}

#insctruction {
    font-family: "Audiowide", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: darkred;
}

/**----------------Song detail----------------*/
.selected_song_detail {
    /* background-color: red; */
    position: fixed;
    left: 0rem;
    top: 4rem;
    height: 100vh;
    width: 100%;
    z-index: 0;
    perspective: 1000px;

}
.cover_container {
    /* background-color: red; */
    height: 100%;
    display: flex;
    align-items: top;
    justify-content: left;
    column-gap: 2rem;
    transform: translateX(10%) translateZ(-50px) rotateX(30deg) rotateY(0deg) rotateZ(-10deg);
    filter: drop-shadow(15px 11px 2px rgba(0, 0, 0, 0.50));
}
#song_cover {
    position: relative;
    height: 50rem;
    
}
.song_title {
    /* background-color: red; */
    color: white;
    /* position: absolute;
    left: 10vh;
    top: 10vh; */
    display: flex;
    flex-direction: column;
    justify-content: left;
    align-items: flex-start;
    row-gap: 1rem;
    z-index: 1;
}
#song_name {
    font-size: 6rem;
}
#author {
    font-size: 1.5rem;
}
time {
    font-family: "Oxanium", sans-serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
    font-size: 1rem;
}
/**----------------Card list----------------*/
.content_list {
    /* background-color: rgb(255, 128, 128); */
    height: 100vh;
    padding-top: 4rem;
    display: flex;
    justify-content: right;
    align-items: stretch;
}

.song_list {
    /* background-color: rgb(255, 0, 0); */
    width: max(50%,31rem);
    height: 100%;
    right: 100px;
    padding-top: calc(50vh - 5rem);
    padding-bottom: calc(50vh - 5rem);
    list-style-type: none;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: top;
    row-gap: 2rem;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-snap-type: y proximity;
    cursor: grab;
    cursor: -webkit-grab;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-user-drag: none;
    z-index: 2;
    
}
.song_list::-webkit-scrollbar {
    display: none;
}
.song_list.scrolling {
    cursor: grabbing;
    cursor: -webkit-grabbing;
}

/**----------------Song cards----------------*/
.song_card {
    background-color: rgba(255, 255, 255, 0);
    position: relative;
    transition: 0.3s ease-in-out;
    transition-delay: 0s;
    filter: drop-shadow(15px 11px 2px rgba(0, 0, 0, 0.90));
}
.song_card.selected {
    right: 0rem;
    opacity: 100%;
    filter: drop-shadow(15px 11px 2px rgba(0, 0, 0, 0.90));
    
}
.song_card.unselected {
    right: -30rem;
    opacity: 20%;
    filter: drop-shadow(9px 5px 2px rgba(0, 0, 0, 0.50));
    animation: scroll_effect linear;
    animation-timeline: view(0rem);
}
@keyframes scroll_effect {
    0% {
        right: -10rem;
        opacity: 40%;
        filter: drop-shadow(9px 5px 2px rgba(0, 0, 0, 0.50));
    }
    45% {
        right: -5rem;
        opacity: 80%;
        filter: drop-shadow(14px 10px 2px rgba(0, 0, 0, 0.80));
    }
    50% {
        right: 0rem;
        opacity: 100%;
        filter: drop-shadow(15px 11px 2px rgba(0, 0, 0, 0.90));
    }
    55% {
        right: -5rem;
        opacity: 80%;
        filter: drop-shadow(14px 10px 2px rgba(0, 0, 0, 0.80));
    }
    100% {
        right: -30rem;
        opacity: 20%;
        filter: drop-shadow(9px 5px 2px rgba(0, 0, 0, 0.50));
    }
}

.song_card::before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    border-top-left-radius: 10em;
    border-bottom-left-radius: 10em;
    background-color: rgb(255, 255, 255);
    z-index: -2;
    transition: 0.3s ease-in-out;
}
.song_card.selected::before {
    right: 0.5rem;
}
.song_card.unselected::before {
    right: 0rem
}

.card_content {
    width: 30rem;
    height: 6rem;
    border-style: solid;
    border-color: rgb(255, 255, 255);
    border-width: 0.1rem;
    border-right-width: 0;
    border-top-left-radius: 10em;
    border-bottom-left-radius: 10em;
    display: flex;
    align-items: flex-end;
    position: relative;
    scroll-snap-align: center;
    cursor: pointer;
}

.card_title {
    position: absolute;
    margin-bottom: 0.5rem;
    margin-left: 3rem;
    color: white;
    z-index: 12;
    font-family: "Oxanium", sans-serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
    font-size: 1.2rem;
}

.card_background {
    background-image: linear-gradient(to bottom, rgba(255, 164, 164, 0.151), rgba(0, 0, 0, 0.795));
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    height: 100%;
    width: 100%;
    border-top-left-radius: 10em;
    border-bottom-left-radius: 10em;
    
}

.card_decoration {
    background-image: linear-gradient(to left, rgb(54, 36, 36), rgb(114, 70, 70));
    width: 20rem;
    z-index: 11;
    margin-left: -2.7rem;
    border-top-left-radius: 10em;
    border-bottom-left-radius: 10em;
    outline-style: solid;
    outline-width: 0.1rem;
    outline-color: white;
}

.card_image {
    width: 100%;
    object-fit: cover;
    z-index: -1;
    border-top-left-radius: 10em;
    border-bottom-left-radius: 10em;
}


/**----------------Nav button----------------*/
.nav_button {
    position: fixed;
    left: -3rem;
    bottom: 3rem;
    z-index: 3;
}

.button {
    background-color: rgb(56, 37, 37);
    height: fit-content;
    width: fit-content;
    display: flex;
    justify-content: left;
    align-items: center; 
    text-decoration: none;
    cursor: pointer;
    border-top-right-radius: 10em;
    border-bottom-right-radius: 10em;
    border-style: solid;
    border-width: 1px;
    border-left: 0;
    border-color: white;
    filter: drop-shadow(15px 11px 2px rgba(0, 0, 0, 0.90));
}

.button_container {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    margin-left: 4rem;
    margin-right: 3rem;
}

.button_text {
    font-family: "Audiowide", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.5rem;
    color: white;
}
/**----------------Warning on phone----------------*/
.phone_warning {
    background-color: rgb(49, 29, 29);
    z-index: 999;
    position: fixed;
    top: 0;
    left: 0;
    margin-top: 4rem;
    width: 100%;
    height: 100%;
    display: none;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    row-gap: 1rem;
}
#warning {
    color: white;
}
#phone_animate {
    height: 96px;
    width: 54px;
    border-width: 5px;
    border-radius: 10px;
    border-style: solid;
    border-color: white;
    animation: phone_rotate ease-in-out;
    animation-duration: 4s;
    animation-iteration-count: infinite;
}
@keyframes phone_rotate {
    0% {
        rotate: 0deg;
    }
    90% {
        rotate: -90deg;
    }
    99.50% {
        rotate: -90deg;
    }
    100% {
        rotate: 0deg;
    }
}
/**----------------tablet size----------------*/
@media(max-width:1500px) {
    .cover_container {
        /* background-color: red; */
        flex-direction: column-reverse;
        row-gap: 1rem;
        transform: translateX(13%) translateZ(-50px) rotateX(30deg) rotateY(0deg) rotateZ(-10deg);
    }
    #song_cover {
        height: 40rem;
        width: 40rem;
    }
}
/**----------------Phone size----------------*/
@media(max-width:700px) {
    .button_text{
        font-size: 1rem;
    }
    .phone_warning {
        display: flex;
    }
}