Files
home-frontend/src/styles/components/modal.css

102 lines
1.9 KiB
CSS

.yt-modal {
position: fixed;
inset: 0;
z-index: var(--z-modal);
align-items: center;
justify-content: center;
padding: clamp(1rem, 4vw, 2.5rem);
padding-top: calc(clamp(1rem, 4vw, 2.5rem));
background: rgba(0, 0, 0, 0.82);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
.yt-modal[hidden] {
display: none;
}
.yt-modal:not([hidden]) {
display: flex;
animation: yt-fade var(--duration-fast) ease;
}
.yt-modal-backdrop {
position: absolute;
inset: 0;
cursor: zoom-out;
background: none;
border: none;
}
.yt-modal-dialog {
position: relative;
width: min(1040px, 100%);
aspect-ratio: 16 / 9;
border-radius: var(--radius-md);
overflow: hidden;
background: #000;
box-shadow: var(--shadow-modal);
animation: yt-pop 0.28s var(--ease-standard);
}
.yt-modal-dialog iframe {
width: 100%;
height: 100%;
border: 0;
display: block;
}
.yt-modal-close {
position: absolute;
top: -46px;
right: 0;
z-index: 2;
display: inline-flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
border: 1px solid var(--color-border);
border-radius: var(--radius-pill);
background: rgba(0, 0, 0, 0.6);
color: #fff;
cursor: pointer;
backdrop-filter: blur(6px);
transition: background var(--duration-fast) ease;
}
.yt-modal-close:hover {
background: var(--color-fg);
color: var(--color-bg);
}
@keyframes yt-fade {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes yt-pop {
from {
opacity: 0;
transform: scale(0.94);
}
to {
opacity: 1;
transform: scale(1);
}
}
@media (max-width: 560px) {
.yt-modal-close {
top: calc(8px);
right: 8px;
background: rgba(0, 0, 0, 0.75);
}
}