.allTracks { color: red; } .playerHeader { width: 100%; display: flex; justify-content: space-between; @include media-breakpoint-down(sm) { flex-direction: column; } } .playerTitle { max-width: 50%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; @include media-breakpoint-down(sm) { max-width: 100%; } } .playerControls { display: flex; min-width: 160px; align-items: center; margin-left: auto; & > button { border: none; cursor: pointer; &:disabled { opacity: 0.5; } &:hover { opacity: 0.8; } } @include media-breakpoint-down(sm) { margin-top: 20px; margin-left: 0; } .playButton { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: #141414; & img { width: 14px; height: auto; } } } .playButtonInvertPause img { filter: invert(100%); } .playButtonInvertPlay img { filter: brightness(130%); } .controlsButton { margin-left: 19px; & img { width: 15px; height: auto; } } .controlsButtonNext { margin-left: 26px; transform: rotate(180deg); } .volumeButton { margin-left: 23px; & img { width: 18px; height: auto; } } .timeline { display: flex; flex-direction: column; flex: 1; align-items: center; justify-content: space-between; margin-top: 28px; padding-left: 10px; } .progress { position: relative; width: 100%; cursor: pointer; border-bottom: 2px solid #cccccc; } .progressFilled { position: absolute; top: -1px; left: 0; z-index: 2; box-sizing: border-box; border-bottom: 4px solid var(--default-color); transition: width 0.3s linear; &::after { content: ''; display: block; position: absolute; bottom: -10px; right: -8px; width: 8px; height: 8px; border-radius: 50%; border: 4px solid var(--default-color); background-color: var(--background-color); } } .progressTiming { width: 100%; padding-top: 14px; display: flex; justify-content: space-between; font-weight: 500; font-size: 12px; line-height: 16px; letter-spacing: 0.003em; } .volumeContainer { position: relative; display: flex; align-items: center; } .volume { position: absolute; z-index: 2; right: 0; bottom: 14px; height: 28px; -webkit-appearance: none; margin: 10px 0; width: 80px; background: transparent; &:focus { outline: none; } &::-moz-range-thumb, &::-webkit-slider-thumb { height: 16px; width: 16px; border-radius: 100px; border: none; cursor: pointer; margin-top: -4px; } &:focus::-webkit-slider-runnable-track, &::-moz-range-thumb, &::-webkit-slider-thumb, &::-webkit-slider-runnable-track, &::-moz-range-track, &::-ms-track, &::-ms-fill-lower, &::-ms-fill-upper, &::-ms-thumb { background: #0e0e0e; } &::-webkit-slider-thumb { -webkit-appearance: none; } &::-webkit-slider-runnable-track, &::-moz-range-track, &::-ms-track { width: 100%; height: 6px; cursor: pointer; animate: 0.2s; border-radius: 10px; } &::-ms-fill-lower, &::-ms-fill-upper { border-radius: 10px; } &::-ms-thumb { margin-top: 1px; height: 15px; width: 15px; border-radius: 5px; border: none; cursor: pointer; } &:focus::-ms-fill-lower, &:focus::-ms-fill-upper { background: #38bdf8; } } .playlist { display: flex; flex-direction: column; list-style-type: none; margin: 32px 0 16px; padding: 0; & > li { border-top: 1px solid #e9e9ee; } } .playlistItem { display: flex; align-items: center; min-height: 56px; padding: 16px 0; } .description { display: flex; flex-direction: column; } .playlistItemPlayButton { border: none; cursor: pointer; width: 14px; height: auto; } .playlistItemText { @include font-size(1.6rem); display: flex; flex-direction: row; flex: 1; white-space: nowrap; overflow: hidden; margin: 0 16px; gap: 16px; color: var(--default-color); .artist, .title { @include font-size(1.6rem); overflow: hidden; max-width: calc(50% - 16px); text-overflow: ellipsis; padding: 0; margin: 0; border: none; &:focus { outline: none; } &::placeholder { font-weight: 400; color: var(--secondary-color); } } .title { font-weight: 500; } } .playlistItemControls { display: flex; margin-left: auto; } .playlistItemDuration { margin-left: 22px; font-weight: 400; font-size: 16px; line-height: 22px; letter-spacing: -0.01em; color: var(--default-color); } .timelinePlaceholder { width: 100%; height: 67px; } .playerHeaderPlaceholder { width: 100%; height: 67px; } .playlistPlaceholder { width: 100%; height: 67px; } .actions { margin-left: auto; display: flex; flex-direction: row; gap: 16px; } .descriptionBlock { display: flex; flex-direction: column; gap: 16px; padding: 8px 0 24px 0; .description, .lyrics { @include font-size(1.4rem); } .description { font-weight: 500; & > textarea::placeholder { font-weight: 400; } } }