@import '../../../@theme/styles/themes'; @import '~bootstrap/scss/mixins/breakpoints'; @import '~@nebular/theme/components/card/card.component.theme'; @import '~@nebular/theme/styles/global/bootstrap/breakpoints'; @import '~@nebular/theme/styles/core/mixins'; @include nb-install-component() { display: flex; flex-direction: column; justify-content: space-between; border-left: 2px solid nb-theme(separator); .header { @include nb-card-header(); } .body { padding: nb-theme(card-padding); } .footer { padding: nb-theme(card-padding); border-top: 1px solid nb-theme(separator); } .cover { display: flex; align-items: center; justify-content: center; flex-direction: column; img { height: 10rem; width: 10rem; border-radius: nb-theme(radius) / 2; } .details { text-align: center; padding: 1.75rem 0 1.5rem; .artist { color: nb-theme(color-fg); } } } .progress-wrap { position: relative; height: 1rem; margin: 0 -#{nb-theme(card-padding)}; .progress-foreground { background-color: nb-theme(color-success); height: 2px; position: absolute; margin-top: calc(0.75rem - 1px); width: 100px; @include nb-for-theme(cosmic) { background-color: nb-theme(link-color-active); } } .progress { -webkit-appearance: none; width: 100%; background: transparent; height: 1.5rem; outline: none; position: absolute; @include install-thumb() { width: 1rem; height: 1rem; border-radius: 50%; background: nb-theme(color-success); cursor: pointer; margin-top: calc(-0.5rem + 1px); border: none; } @include install-track() { width: 100%; height: 2px; cursor: pointer; background: nb-theme(separator); } @include nb-for-theme(cosmic) { @include install-thumb() { background: nb-theme(link-color-active); } } } } .timing { padding-top: 0.25rem; margin: 0 -0.25rem; display: flex; justify-content: space-between; color: nb-theme(color-fg); } .controls { // TODO fix controls font-size when complete icons fo display: flex; justify-content: space-between; align-items: center; margin: 0.875rem 1.25rem 0; i { display: flex; justify-content: center; align-items: center; cursor: pointer; } .shuffle, .loop { font-size: 1.25rem; color: nb-theme(color-fg); &.active { color: nb-theme(color-success); @include nb-for-theme(cosmic) { color: nb-theme(link-color-active); } } } .prev, .next { width: 3.5rem; height: 3.5rem; border: 2px solid nb-theme(separator); border-radius: 50%; &::before { font-size: 1.25rem; } } .play { font-size: 2rem; } } .volume { display: flex; justify-content: space-between; align-items: center; margin: 0 1.25rem; position: relative; .progress-wrap { height: 2.25rem; margin: 0; width: 80%; .progress-foreground { margin-top: calc(1rem + 1px); z-index: 0; } .progress { height: 2.25rem; @include install-thumb() { width: 1.5rem; height: 1.5rem; background-color: nb-theme(color-white); box-shadow: 0 0.125rem 0.5rem 0 rgba(nb-theme(color-fg), 0.4); border: solid 1px rgba(nb-theme(color-fg), 0.4); margin-top: calc(-0.875rem + 1px); position: relative; z-index: 10; } } } .quite, .loud { color: nb-theme(color-fg); } .quite { font-size: 1.25rem; } .loud { font-size: 1.5rem; } } @include media-breakpoint-down(xl) { border: none; .header { display: none; } .controls, .volume { max-width: 20rem; margin: 0 auto; } &.collapsed { .header { display: none; } .body { display: flex; justify-content: space-between; align-items: center; padding: 0; } .footer { display: none; } .cover { height: 4.5rem; flex-direction: row; margin: 0; img { height: 4.5rem; width: 4.5rem; margin: 0; border-radius: 0 0 0 nb-theme(radius); } .details { margin-left: 0.875rem; text-align: left; padding: 0; h4 { margin-bottom: 0.125rem; } } } .progress-wrap { width: calc(100% - 6rem); align-self: flex-start; position: absolute; margin-top: calc(-0.75rem + 1px); margin-left: 4.5rem; } .timing { display: none; } .controls { margin: 0; .prev, .shuffle, .loop { display: none; } .next { font-size: 1.8rem; border: none; } .play { font-size: 2.2rem; } } .volume { display: none; } } } @include media-breakpoint-between(xxl, xxxl) { .controls { margin: 0.875rem -1rem; justify-content: space-around; } .volume { margin: 0 -1rem; i { margin: 0.25rem; } } } }