/* BigBlueButton open source conferencing system - http://www.bigbluebutton.org/ Copyright (c) 2012 BigBlueButton Inc. and by respective authors (see below). This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3.0 of the License, or (at your option) any later version. BigBlueButton 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with BigBlueButton; if not, see . */ /* Visually hides text * see: yaccessibilityblog.com/library/css-clip-hidden-content.html */ .visually-hidden { position: absolute !important; clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ clip: rect(1px, 1px, 1px, 1px); padding: 0 !important; border: 0 !important; height: 1px !important; width: 1px !important; overflow: hidden; } /* Foundation overrides */ .row { max-width: 100%; /* Foundation restricts the rows to ~1000px */ } button, .button { margin-bottom: 0; /* this has impact in the media player buttons */ } body { color: #111; font-size: 14px; } /* Main containers need to fill the entire page height */ body, #playback-content, #playback-row, #main-section, #side-section { height: 100%; } /* Restrict the page to a minimum width */ html, .acorn-controls { min-width: 310px; } p { font-size: inherit; } /* Swappable components have different settings depending on where they are */ #main-section #presentation-area { height: 100%; margin-bottom: 5px; } #main-section #video-area, #main-section #audio-area { height: 100%; margin-bottom: 5px; background: #fff; } #side-section #presentation-area { height: 30%; /* we HAVE to set a height here, otherwise the slides won't scale properly */ min-height: 250px; } #side-section #video-area, #side-section #audio-area { height: auto; } #presentation-area { position: relative; } /* Some internal elements should just fill the entire size of their parents, that will control their size. */ #slide { width: 100%; height: 100%; margin: 0 auto; /* vertical and horizontal alignment */ position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); } #deskshare-video { display: block; visibility: hidden; width: 100%; height: 100%; margin: 0 auto; /* vertical and horizontal alignment */ position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); } #chat { width: 100%; height: 100%; } #video-area, #video { width: 100%; height: 100%; /* can't set height:100% here because the height is controlled automatically to maintain the aspect ratio. */ } .acorn-player { width: 100%; height: 100%; } /* The playback bar is moved out of the video/audio area into a more generic place in the page, making it look like the controls are not only for audio and video, but for all playback. */ #audio-area .acorn-controls, #video-area .acorn-controls { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 99; } /* Prevent unwanted scrollbars and "leaking" elements in the page */ body { overflow: hidden; /* background: #f6f6f6; */ } #main-section { border-right: 1px solid #e2e2e2; background: #f6f6f6; } /* Chat style */ #chat { padding: 0 10px; overflow-y: auto; word-wrap: break-word; background: #fff; /* we use borders here instead of padding because the top/bottom padding doesn't really work with a vertical scrollbar */ border-top: 5px solid #fff; border-bottom: 5px solid #fff; } #chat strong { color: #888; } #chat-area { border-bottom: 1px solid #e2e2e2; } #chat > div { margin-bottom: 4px; } /* Navbar style */ #navbar { height: 48px; border-bottom: 1px solid #e2e2e2; background: white; padding: 0 10px 0 0; } #recording-title { font-size: 1.45rem; padding-top: 8px; margin: 0; color: #666666; font-weight: bold; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } #navbar .sidebar-icon { font-size: 1.65em; margin-right: 15px; padding-right: 15px; padding-left: 15px; border-right: 1px solid #e2e2e2; float: left; color: #666; padding-top: 8px; height: 48px; } /* Presentation and related elements */ #slide { background-size: 160px 160px; background-repeat: no-repeat; background-position: center center; } #slide.no-background { background-size: 0px 0px; } #slide svg { width: 100%; height: auto; } #cursor { visibility: hidden; width: 12px; height: 12px; transform: translate(-6px, -6px); border-radius: 50%; position: fixed; background: red; z-index: 10; } #main-section { padding: 10px 10px 25px 10px; } #copyright { width: 100%; font-size: 0.65rem; text-align: center; color: #888; bottom: 5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* Thumbnails */ #thumbnails { padding: 10px; text-align: center; } #thumbnails .thumbnail-wrapper { position: relative; margin: 0; padding: 5px 0; cursor: pointer; } #thumbnails .thumbnail-wrapper.active, #thumbnails .thumbnail-wrapper.active:hover { background-color: #D9EDF7; } #thumbnails .thumbnail-wrapper.active img, #thumbnails .thumbnail-wrapper.active:hover img { border-color: #289ad6; /* #314b5d; */ } #thumbnails .thumbnail-wrapper:hover img { border-color: #289ad6; /* #314b5d; */ } #thumbnails img { max-height: 125px; border: 1px solid #eee; } #thumbnails .thumbnail-wrapper.hovered .thumbnail-label, #thumbnails .thumbnail-wrapper.active .thumbnail-label { display: block; } #thumbnails .thumbnail-label { color: #fff; background: #289ad6; font-weight: bold; font-size: 12px; position: absolute; bottom: 5px; left: 0; right: 0; width: 50%; margin: 0 auto; text-align: center; display: none; padding: 2px 5px; } /* Sliding sidebar */ .inner-wrap { height: 100%; } .left-off-canvas-menu { background: #fff; width: 13rem; border-right: 1px solid #e2e2e2; } .move-right > .inner-wrap { -webkit-transform: translate3d(13rem, 0, 0); -moz-transform: translate3d(13rem, 0, 0); -ms-transform: translate(13rem, 0); -o-transform: translate3d(13rem, 0, 0); transform: translate3d(13rem, 0, 0); } ul.off-canvas-list li label { background: #2a2d34; color: #eee; } .exit-off-canvas { box-shadow: none !important; } /* Video style */ #video, #deskshare-video { background-color: #f6f6f6; } #loading { visibility: hidden; width: 100%; height: 100%; display:none; } #load-msg { font-size: 1.45rem; color: #666666; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: center; vertical-align: middle; position: absolute; bottom: 30px; font-weight: bold; width: 100%; left: 0; right: 0; } /* Small screens only */ @media only screen and (max-width: 40em) { #copyright { font-size: 0.6rem; } #chat { font-size: 12px; } #side-section #presentation-area { min-height: 100px; } } /* Medium screens up */ @media only screen and (min-width: 40.063em) { #side-section #presentation-area { min-height: 150px; } } /* Large screens up */ /* @media only screen and (min-width: 64.063em) { */ /* } */ @media (orientation: portrait) { #main-section, #side-section { float: none; width: 100%; } #slide { /* background-size: contain; */ } #side-section #video-area { width: 60%; margin: 0 auto; } #chat { font-size: 12px; } /* show only video or only presentation, not both */ #side-section #video-area video, #side-section #presentation-area { display: none; } #chat-area { border: none; } } .pace { -webkit-pointer-events: none; pointer-events: none; -webkit-user-select: none; -moz-user-select: none; user-select: none; } .pace .pace-progress { background: #35383e; position: fixed; z-index: 2000; top: 0; right: 100%; width: 100%; height: 4px; } .pace-inactive { display: none; } /* https://stackoverflow.com/questions/23985018/simple-css-animation-loop-fading-in-out-loading-text */ @keyframes flickerAnimation { 0% { opacity:1; } 50% { opacity:0; } 100% { opacity:1; } } @-o-keyframes flickerAnimation{ 0% { opacity:1; } 50% { opacity:0; } 100% { opacity:1; } } @-moz-keyframes flickerAnimation{ 0% { opacity:1; } 50% { opacity:0; } 100% { opacity:1; } } @-webkit-keyframes flickerAnimation{ 0% { opacity:1; } 50% { opacity:0; } 100% { opacity:1; } } .animate { -webkit-animation: flickerAnimation 1s infinite; -moz-animation: flickerAnimation 1s infinite; -o-animation: flickerAnimation 1s infinite; animation: flickerAnimation 1s infinite; } .loading-img { position: absolute; margin: 0px 0px 0px 0px; width: 250px; height: 250px; top: 50%; left: 50%; transform: translate(-50%, -50%); }