:root {
    --font-family: "Lato", sans-serif;
    --second-family: "Lucida Fax", sans-serif;
}

html{
    margin: 0;
    font-size: 14px;
}

body {
    margin: 0;
    height: 100vh;
    background: linear-gradient(-244deg, #e79b61 -70%, #795c5c 45.86%, #3d3434 96%);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-attachment: fixed;
}


* {
    margin: 0;
    padding: 0;
  }

.wrapper {
    margin: 0 auto;
    display: flex;
    max-width: 1600px;
    padding: 30px 70px;
}

.page-container {
    display: flex;
    width: 100%;
    justify-content: space-around;
}

.vinyl-main-side {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 42px 42px 0 0;
    width: 35vw;
    height: 35vw;
    max-width: 700px;
    max-height: 700px;
    box-shadow: 0 4px 18px 0 rgba(83, 65, 65, 0.05);
    background: radial-gradient(50% 50% at 50% 50%, rgb(177, 113, 102) 0%, rgb(243, 232, 219) 87.5%);
}

.vinyl-front-side {
    background: linear-gradient(90deg, #dfc3b7 0%, #795c5c 200%);
    width: 35vw;
    max-width: 700px;
    height: 4.6vw;
    max-height: 70px;
}

.vinyl {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 72%;
    height: 72%;
    border-radius: 50%;
    background: conic-gradient(
      from 90deg,
      #775959 5%,
      #292727 47%,
      #775959 57%,
      #292727 65%,
      #775959 100%
    );
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
    transition: transform ease 0.5s;
}

@keyframes rotating {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.spinning {
    animation: rotating 4s linear infinite;
}

.album-cover {
    background-image: url(./assets/img/morrisey.jfif);
    background-size: 100%;
    width: 40%;
    height: 40%;
    border-radius: 50%;
    background-color: #fff;
}

#noiseFilter {
    top:0;
    position: absolute;
    z-index: 5;
}

.metal-handle-main-side {
    position: absolute;
    border-radius: 17px;
    z-index: 1;
    top: 6.5%;
    right: 6%;
    width: 9.5%;
    height: 9.8%;
    background: linear-gradient(180deg, #e79b61 13%, #e37e6c 100%);
}

.metal-handle-front-side {
    position: absolute;
    width: 9.5%;
    height: 9.8%;
    border-radius: 17px;
    top: 8.5%;
    right: 6%;
    background: #c46753;
}

.metal-handle {
    position: absolute;
    border-radius: 0 0 12px 12px;
    height: 46%;
    width: 2%;
    top: 12%;
    right: 9.75%;
    background: linear-gradient(180deg, #e37e6c 0%, #e79b61 100%);
    transform: rotate(0deg);
    transition: ease 0.3s;
    transform-origin: top;
}

.positioned {
    transform: rotate(23deg);
    transition: ease 0.2s;
}

.audio-player-section {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-direction: column;
    width: 33vw;
    max-width: 650px;
}

.audio-player {
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-direction: column;
    width: 100%;
    --played-width: 0%;
}

.text-highlight {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 21px;
    background:#f4e8db;
    width: 90%;
    padding: 10px;
}

.h2 {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 2.5rem;
    color: #3d3434;
}

.song-author {
    text-align: center;
    color: #f4e8db;
}

.song-title {
    font-family: var(--second-family);
    font-weight: 600;
    font-size: 4rem;
    text-align: center;
    color: #f4e8db;
}

.song-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: max(1vw, 15px);
}

.control-panel {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: min(3vw, 60px);
    width: 100%;
}

.control-buttons {
    display: flex;
    justify-content: center;
    gap: min(3vw, 45px);
}

.ctrl-btn {
    width: 75px;
    height: 75px;
    border: none;
    border: 4px solid #f4e8db;
    padding-top: 3px;
    border-radius: 100%;
    background-color: transparent;
}

.ctrl-btn:hover {
    cursor: pointer;
    border-color: #fffcf8;
    transition: all ease-in 0.1s;
    transform: scale(1.05);
}

.ctrl-btn:hover path {
    fill: #fffcf8;
    transition: all ease 0.1s;
}

.duration-bar {
    position: relative;
    cursor: pointer;
    width: 80%;
    height: 15px;
    border-radius: 8px;
    border: 3px solid #f4e8db;
}

input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
}

input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    z-index: 1;
    background-color: #e68054;
    border-radius: 5px;
    width: 16px;
    height: 28px; 
 }

 input[type="range"]:active::-webkit-slider-thumb {
    transform: scale(1.2);
    transition: ease-in 0.1s;
    background: #e68054;
}

input[type="range"]::before {
    position: absolute;
    z-index: -1;
    content: "";
    border-radius: 5px;
    top: -2px;
    left: -2px;
    width: calc(var(--played-width) + 2px);
    height: 18px;
    background: linear-gradient(90deg, #dbc7b3 0%, #f4e8db 100%);
    cursor: pointer;
  }

.duration-bar-fill {
    position: absolute;
    top: -3px;
    left: -3px;
    width: 50%;
    height: inherit;
    border-radius: 8px 0 0 8px;
    border: inherit;
    background-color: #f4e8db;
}

.time-stamps {
    width: 80%;
    display: flex;
    justify-content: space-between;
}

.time-stamp {
    font-family: var(--font-family);
    font-weight: 300;
    font-size: 24px;
    color: #f4e8db;
    margin-top: max(-2vw, -25px);
}

footer {
    color:rgb(243, 232, 219);
}

.footer-icon {
    height: 40px;
}

.footer-element {
    padding: 20px;
    font-family: 'Lato';
    font-size: 1.5rem;
}

.footer-container {
    display: flex;
    justify-content: center;
    align-items: center;
}