@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Source+Sans+Pro&display=swap&family=Aldrich&family=VT323&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-image: url('./assets/bg.png');
    background-repeat: repeat;
}

#header-section {
    height: 100vh;
}

h1, #buy-frog {
    font-family: 'Times New Roman', Times, serif;
}

#player {
    position: absolute;
    right: 2em;
    font-family: 'Share Tech Mono', monospace;
}

h1 {
    font-size: 3em;
}

#frogcell {
    width: 40vw;
}

#frog-logo {
    position: absolute;
    right: 2em
}

#buy-frog {
    padding: 10px 20px;
    font-size: 2rem;
    outline: none;
    border: none;
    cursor: pointer;
    box-shadow: 0px 10px 10px 0 #8a8a8a;
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#1e5799+20,2989d8+50,1e5799+95&0+0,0.8+15,1+19,0.8+60,1+81,0+100 */
    background: -moz-linear-gradient(top,
            rgba(30, 87, 153, 0) 0%,
            rgba(30, 87, 153, 0.8) 15%,
            rgba(30, 87, 153, 1) 19%,
            rgba(30, 87, 153, 1) 20%,
            rgba(41, 137, 216, 0.85) 50%,
            rgba(39, 126, 202, 0.8) 60%,
            rgba(34, 103, 173, 1) 81%,
            rgba(30, 87, 153, 0.26) 95%,
            rgba(30, 87, 153, 0) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top,
            rgba(30, 87, 153, 0) 0%,
            rgba(30, 87, 153, 0.8) 15%,
            rgba(30, 87, 153, 1) 19%,
            rgba(30, 87, 153, 1) 20%,
            rgba(41, 137, 216, 0.85) 50%,
            rgba(39, 126, 202, 0.8) 60%,
            rgba(34, 103, 173, 1) 81%,
            rgba(30, 87, 153, 0.26) 95%,
            rgba(30, 87, 153, 0) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,
            rgba(30, 87, 153, 0) 0%,
            rgba(30, 87, 153, 0.8) 15%,
            rgba(30, 87, 153, 1) 19%,
            rgba(30, 87, 153, 1) 20%,
            rgba(41, 137, 216, 0.85) 50%,
            rgba(39, 126, 202, 0.8) 60%,
            rgba(34, 103, 173, 1) 81%,
            rgba(30, 87, 153, 0.26) 95%,
            rgba(30, 87, 153, 0) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#001e5799', endColorstr='#001e5799', GradientType=0);
    /* IE6-9 */
}

#buy-frog:hover {
    box-shadow: 0px 12px 12px 0 #5c5c5c;
}

.flash {
    color: #66ccff;
    -webkit-animation-name: flashanim;
    /* Chrome, Safari, Opera */
    -webkit-animation-duration: .5s;
    /* Chrome, Safari, Opera */
    -webkit-animation-timing: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-name: flashanim;
    animation-duration: .5s;
    animation-timing: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
}

@keyframes flashanim {
    0% {
        color: #66ccff;
    }

    100% {
        color: #178588;
    }
}




:root {
    --volume-track-lightness: 50%;
    --btn-color: #ADBAC7;
}

/* .container {
    height: 100%;
    min-height: 100vh;
    width: 100vw;
    background: linear-gradient(142deg, rgba(34, 35, 104, 1) -60%, rgba(0, 0, 67, 1));
    display: flex;
    justify-content: center;
} */

.maxamp-container {
    width: 560px;
    margin-top: 15px;
}

.top-container,
.playlist-container,
.visualisation-container {
    position: relative;
    width: 100%;
    background: linear-gradient(90deg, #11101A, #373857 35%, #373857 50%, #373857 65%, #11101A);
    border: 1px solid black;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.top-container:after,
.playlist-container:after,
.visualisation-container:after {
    content: '';
    inset: 2px;
    position: absolute;
    border: 2px outset #555265;
    pointer-events: none;
}

.playlist-container,
.visualisation-container {
    overflow: hidden;
    height: 2rem;
}

.title {
    width: 100%;
    padding: .5rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.resizable {
    cursor: pointer;
}

h2 {
    width: 20%;
    font-size: 1.5rem;
    letter-spacing: .5rem;
    font-family: 'VT323', monospace;
    color: #8A8BA0;
    padding: 0 .5rem;
}

.line {
    border: 1px solid black;
    border-radius: 3px;
    display: inline-block;
    background: linear-gradient(#87785A, #635A42 35%, #202024 50%, #635A42 65%, #87785A);
}

.line-first {
    width: 37.5%;
    height: .75em;
}

.cmd-container {
    width: 95%;
    padding: .75rem;
    border: 2px solid #555265;
    margin: 0 .5rem .5rem .5rem;
}

.time-container {
    display: flex;
}

.time-container--left {
    width: 33%;
}

.time-container--right {
    width: 67%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-left: .5rem;
}

.time-displayer {
    font-family: 'Aldrich', sans-serif;
    /*font-family: 'VT323', monospace;*/
    color: lime;
    background: black;
    width: 100%;
    font-size: 3rem;
    border: 2px inset #555265;
}

.track-info-displayer {
    width: 100%;
    height: 2rem;
    background: black;
    font-size: 1.5rem;
    color: lime;
    border: 2px inset #555265;
    padding-left: .25rem;
}

/* input type range */

/* avalaible for all range input*/
input[type=range] {
    -webkit-appearance: none;
    /*nécessaire pour Chrome */
    padding: 0;
    /* nécessaire pour IE */
    font: inherit;
    /* même rendu suivant font document */
    outline: none;
    cursor: pointer;
}

input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    /* également nécessaire sur le curseur */
}

input[type=range]::-moz-range-thumb {
    -webkit-appearance: none;
    /* également nécessaire sur le curseur */
}

input[type=range]::-ms-thumb {
    -webkit-appearance: none;
    /* également nécessaire sur le curseur */
}

.volume-controller {
    width: 100%;
    height: .75rem;
    border-radius: 25px;
    border: 2px inset #555265;
}

/* Chrome */

.volume-controller::-webkit-slider-thumb {
    width: 1.75rem;
    height: 1.25rem;
    background: var(--btn-color);
    border: 2px inset #555265;
    position: relative;
    top: calc(-2px - 50%);
}

.volume-controller::-webkit-slider-runnable-track {
    height: 100%;
    width: 100%;
    background: hsl(0, 100%, var(--volume-track-lightness));
    border-radius: 25px;
}

/* firefox */

.volume-controller::-moz-range-thumb {
    width: 1.75rem;
    height: 1.25rem;
    background: var(--btn-color);
    border: 2px inset #555265;
    position: relative;
    top: calc(-2px - 50%);
}

.volume-controller::-moz-range-track {
    height: 100%;
    width: 100%;
    background: hsl(0, 100%, var(--volume-track-lightness));
    border-radius: 25px;
}

/* IE Edge */

input[type=range]::-ms-thumb {
    width: 1.75rem;
    height: 1.25rem;
    background: var(--btn-color);
    border: 2px inset #555265;
    position: relative;
    top: calc(-2px - 50%);
}

.color[data-color="red"]::-ms-track {
    height: 100%;
    width: 100%;
    background: hsl(0, 100%, var(--volume-track-lightness));
    border-radius: 25px;
}

/* progress bar */

.progress-bar {
    margin: .75rem 0;
    width: 100%;
    height: 1.5rem;
    background: transparent;
    border: 2px inset #555265;
    overflow: hidden;
    /*erase the shadow of the thumb*/
}

/* Chrome */

.progress-bar::-webkit-slider-thumb {
    width: 3.5rem;
    height: 1.5rem;
    background: #B39D66;
    border: 5px outset #DDCBA2;
    position: relative;
    top: calc(-2px - 50%);
    box-shadow: -600px 0 0 600px #F9EBBC;
    /* create a shadow before the thumb for the range progress*/
}

/* firefox */

.progress-bar::-moz-range-thumb {
    width: 3.5rem;
    height: 1.5rem;
    background: #B39D66;
    border: 5px outset #DDCBA2;
    position: relative;
    top: calc(-2px - 50%);
}

.progress-bar::-moz-range-progress {
    background-color: #F9EBBC;
    height: 100%;
}

/* IE Edge */

.volume-controller::-ms-thumb {
    width: 3.5rem;
    height: 1.5rem;
    background: #B39D66;
    border: 5px outset #DDCBA2;
    position: relative;
    top: calc(-2px - 50%);
}

.volume-controller::-ms-fill-lower {
    background-color: #F9EBBC;
}

/* end of input type range */

.btn-container {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

#player button {
    position: relative;
    cursor: pointer;
    width: 3rem;
    height: 2rem;
    padding: 0;
    margin: 0;
    font-size: 1.25rem;
    font-weight: bold;
    background: var(--btn-color);
    border: 5px outset #ADBAC7;
}

#player button:after {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    height: 2rem;
    width: 3rem;
    border: 2px solid #202033;
}

.btn-container--1 {
    width: 15rem;
    display: flex;
}

.btn-container--2 {
    width: 10rem;
    display: flex;
}

.shuffle-btn {
    width: 7rem;
    font-size: 1.25rem;
    font-weight: bold;
}

.shuffle-btn:after {
    width: 7rem;
}

.repeat-btn {
    width: 3rem;
    font-size: 1.25rem;
    font-weight: bold;
}

.logo {
    color: orange;
    transform: rotate(20deg);
    transform-origin: center;
    font-size: 1.75rem;
}

.highlighted {
    color: lime;
    border: 5px inset #ADBAC7;
}


.playlist {
    width: 95%;
    margin: 0 .5rem .5rem .5rem;
    padding: .75rem;
    border: 2px solid #555265;
    background: black;
    color: lime;
}

h3 {
    width: 27.5%;
    font-size: .75rem;
    letter-spacing: .25rem;
    font-family: 'VT323', monospace;
    color: #8A8BA0;
    padding: 0 .5rem;
    text-align: center;
}

.line-other {
    width: 33.75%;
    height: .5rem;
}

.highlighted-track {
    color: whitesmoke;
}

.track-info {
    width: 100%;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    line-height: 1.25;
}

.track-id,
.track-duration {
    pointer-events: none;
}

.img-container {
    width: 95%;
    height: 600px;
    margin: 0 .5rem .5rem .5rem;
    padding: .75rem;
    border: 2px solid #555265;
    background: black;
    display: flex;
    justify-content: center;
}

.visualisation {
    height: auto;
    max-height: 600px;
    width: auto;
    max-width: 100%;
    display: none;
    object-fit: cover;
}