/** * CSS styles that are specific to the filmstrip that shows the thumbnail tiles. */ .tile-view { /** * Add a border around the active speaker to make the thumbnail easier to * see. */ .active-speaker { box-shadow: 0px 0px 1px 1.5px black, 0px 0px 1.3px 4px $videoThumbnailSelected; } .remote-videos { align-items: center; box-sizing: border-box; display: flex; flex-direction: column; } .filmstrip__videos .videocontainer { &:not(.active-speaker), &:hover:not(.active-speaker) { border: none; box-shadow: none; } } #remoteVideos { /** * Height is modified with an inline style in horizontal filmstrip mode * so !important is used to override that. */ height: 100% !important; width: 100%; display: flex; justify-content: center; align-items: center; transition: margin-bottom .3s ease-in; } .filmstrip { align-items: center; display: flex; height: 100%; justify-content: center; left: 0; position: absolute; top: 0; width: 100%; @media (min-width: 581px) { &.shift-right { margin-left: $sidebarWidth; width: calc(100% - #{$sidebarWidth}); .remote-videos { width: calc(100vw - #{$sidebarWidth}); } } } &.collapse { #remoteVideos { height: calc(100% - #{$newToolbarSizeMobile}) !important; margin-bottom: $newToolbarSizeMobile; } .remote-videos { // !important is needed here as overflow is set via element.style in a FixedSizeGrid. overflow: hidden auto !important; } } } /** * Regardless of the user setting, do not let the filmstrip be in a hidden * state. */ .filmstrip__videos.hidden { display: block; } .remote-videos { box-sizing: border-box; /** * The size of the thumbnails should be set with javascript, based on * desired column count and window width. The rows are created using flex * and allowing the thumbnails to wrap. */ & > div { align-content: center; align-items: center; box-sizing: border-box; display: flex; margin-top: auto; margin-bottom: auto; justify-content: center; position: absolute; .videocontainer { border: 0; box-sizing: border-box; display: block; margin: 2px; } video { object-fit: contain; } /** * Max-width corresponding to the ASPECT_RATIO_BREAKPOINT from features/filmstrip/constants. */ @media only screen and (max-width: 500px) { video { object-fit: cover; } } } } } .shift-right .remote-videos > div { /** * Max-width corresponding to the ASPECT_RATIO_BREAKPOINT from features/filmstrip/constants, * from which we subtract the chat size. */ @media only screen and (max-width: calc(500px + #{$sidebarWidth})) { video { object-fit: cover; } } } .indicator-icon-container { display: inline-block; }