/* * Copyright (C) 2026 Fluxer Contributors * * This file is part of Fluxer. * * Fluxer is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Fluxer is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with Fluxer. If not, see . */ .mediaContainer { display: flex; height: 100%; width: 100%; align-items: center; justify-content: center; } .mediaContextMenuWrapper { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; min-width: 0; min-height: 0; } .audioPlayerContainer { width: 100%; max-width: 672px; padding: 0 32px; } .audioPlayer { width: 100%; } .videoPlayerContainer { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 0; pointer-events: auto; width: min( var(--video-natural-width, 960px), calc(100dvw - (2 * var(--media-content-padding, 1rem)) - (2 * var(--media-side-overlay-width, 0px))), calc( ( 100dvh - (2 * var(--media-content-padding, 1rem)) - var(--media-top-overlay-height, 48px) - var(--media-bottom-overlay-height, 0px) - (2 * var(--media-overlay-gap, 8px)) ) * var(--video-aspect-ratio, 1.778) ) ); max-height: calc( 100dvh - (2 * var(--media-content-padding, 1rem)) - var(--media-top-overlay-height, 48px) - var(--media-bottom-overlay-height, 0px) - (2 * var(--media-overlay-gap, 8px)) ); } .videoPlayer { width: 100%; height: 100%; } @media (max-width: 768px) { .videoPlayer { border-radius: 0; } } .gifvImage { max-height: 100%; max-width: 100%; user-select: none; -webkit-user-select: none; object-fit: contain; } .gifvVideo { width: auto; height: auto; max-height: 100%; max-width: 100%; object-fit: contain; } .image { max-height: 100%; max-width: 100%; user-select: none; -webkit-user-select: none; object-fit: contain; }