// Copyright (C) 2017-2024 Smart code 203358507 @import (reference) '~stremio/common/screen-sizes.less'; :import('~stremio/components/MetaPreview/styles.less') { description-container: description-container; action-buttons-container: action-buttons-container; } :import('~stremio/components/MultiselectMenu/Dropdown/Dropdown.less') { dropdown: dropdown; open: open; } @padding: 1rem; .side-drawer { display: flex; flex-direction: column; padding: @padding; padding-top: calc(@padding + var(--safe-area-inset-top)); height: 100dvh; max-width: 35rem; overflow-y: auto; position: relative; border-top-left-radius: var(--border-radius); border-bottom-left-radius: var(--border-radius); background-color: var(--modal-background-color); box-shadow: 0 1.35rem 2.7rem var(--color-background-dark5-40), 0 1.1rem 0.85rem var(--color-background-dark5-20); backdrop-filter: blur(15px); transition: transform 0.3s ease-in-out; z-index: 1; // Safari has a compositing bug where transform animations on a parent with // scrollable children causes the video player element to shift left during the animation. // Disable the slide animation on Safari until WebKit resolves this. @supports (hanging-punctuation: first) and (-webkit-appearance: none) { &:global(.slide-left-enter), &:global(.slide-left-active), &:global(.slide-left-exit) { transition: none; } } .close-button { display: none; position: absolute; top: calc(1.3rem + var(--safe-area-inset-top)); right: 1.3rem; padding: 0.5rem; background-color: transparent; cursor: pointer; z-index: 2; border-radius: var(--border-radius); transition: 0.3s all ease-in-out; -webkit-tap-highlight-color: transparent; .icon { color: var(--primary-foreground-color); width: 2rem; height: 2rem; opacity: 0.6; transition: 0.3s opacity ease-in-out; } &:hover { background-color: var(--overlay-color); .icon { opacity: 1; } } } .info { padding: @padding; min-height: 0; overflow-y: auto; .side-drawer-meta-preview { .description-container { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; } .action-buttons-container { padding-top: 0; margin-top: 0; } } } .series-content { flex: 2; display: flex; flex-direction: column; min-height: 0; .videos { flex: 1; min-height: 0; overflow-y: auto; } } } @media @phone-portrait { .side-drawer { max-width: 100dvw; .close-button { display: block; } } } @media @phone-landscape { .side-drawer { max-width: 50dvw; .info { max-height: 40dvh; } .dropdown.open { max-height: calc(3rem * 4); } } } @media screen and (max-width: @xxsmall) { .side-drawer { padding: calc(@padding / 2); .info { padding: calc(@padding / 2); } } }