/*! * Copyright (c) 2014 TokBox, Inc. * Released under the MIT license * http://opensource.org/licenses/MIT */ /** * OT Base styles */ /* Root OT object, this is where our CSS reset happens */ .OT_root, .OT_root * { color: #ffffff; margin: 0; padding: 0; border: 0; font-size: 100%; font-family: Arial, Helvetica, sans-serif; vertical-align: baseline; } /** * Specific Element Reset */ .OT_root h1, .OT_root h2, .OT_root h3, .OT_root h4, .OT_root h5, .OT_root h6 { color: #ffffff; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-weight: bold; } .OT_root header { } .OT_root footer { } .OT_root div { } .OT_root section { } .OT_root video { } .OT_root button { } .OT_root strong { font-weight: bold; } .OT_root em { font-style: italic; } .OT_root a, .OT_root a:link, .OT_root a:visited, .OT_root a:hover, .OT_root a:active { font-family: Arial, Helvetica, sans-serif; } .OT_root ul, .OT_root ol { margin: 1em 1em 1em 2em; } .OT_root ol { list-style: decimal outside; } .OT_root ul { list-style: disc outside; } .OT_root dl { margin: 4px; } .OT_root dl dt, .OT_root dl dd { float: left; margin: 0; padding: 0; } .OT_root dl dt { clear: left; text-align: right; width: 50px; } .OT_root dl dd { margin-left: 10px; } .OT_root img { border: 0 none; } /* Modal dialog styles */ /* Modal dialog styles */ .OT_dialog-centering { display: table; width: 100%; height: 100%; } .OT_dialog-centering-child { display: table-cell; vertical-align: middle; } .OT_dialog { position: relative; box-sizing: border-box; max-width: 576px; margin-right: auto; margin-left: auto; padding: 36px; text-align: center; /* centers all the inline content */ background-color: #363636; color: #fff; box-shadow: 2px 4px 6px #999; font-family: 'Didact Gothic', sans-serif; font-size: 13px; line-height: 1.4; } .OT_dialog * { font-family: inherit; box-sizing: inherit; } .OT_closeButton { color: #999999; cursor: pointer; font-size: 32px; line-height: 36px; position: absolute; right: 18px; top: 0; } .OT_dialog-messages { text-align: center; } .OT_dialog-messages-main { margin-bottom: 36px; line-height: 36px; font-weight: 300; font-size: 24px; } .OT_dialog-messages-minor { margin-bottom: 18px; font-size: 13px; line-height: 18px; color: #A4A4A4; } .OT_dialog-messages-minor strong { color: #ffffff; } .OT_dialog-actions-card { display: inline-block; } .OT_dialog-button-title { margin-bottom: 18px; line-height: 18px; font-weight: 300; text-align: center; font-size: 14px; color: #999999; } .OT_dialog-button-title label { color: #999999; } .OT_dialog-button-title a, .OT_dialog-button-title a:link, .OT_dialog-button-title a:active { color: #02A1DE; } .OT_dialog-button-title strong { color: #ffffff; font-weight: 100; display: block; } .OT_dialog-button { display: inline-block; margin-bottom: 18px; padding: 0 1em; background-color: #1CA3DC; text-align: center; cursor: pointer; } .OT_dialog-button.OT_dialog-button-disabled { cursor: not-allowed; /* IE 8 */ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; opacity: 0.5; } .OT_dialog-button-large { line-height: 36px; padding-top: 9px; padding-bottom: 9px; font-weight: 100; font-size: 24px; } .OT_dialog-button-small { line-height: 18px; padding-top: 9px; padding-bottom: 9px; background-color: #444444; color: #999999; font-size: 16px; } .OT_dialog-progress-bar { display: inline-block; /* prevents margin collapse */ width: 100%; margin-top: 5px; margin-bottom: 41px; border: 1px solid #4E4E4E; height: 8px; } .OT_dialog-progress-bar-fill { height: 100%; background-color: #29A4DA; } .OT_dialog-plugin-upgrading .OT_dialog-plugin-upgrade-percentage { line-height: 54px; font-size: 48px; font-weight: 100; } /* Helpers */ .OT_centered { position: fixed; left: 50%; top: 50%; margin: 0; } .OT_dialog-hidden { display: none; } .OT_dialog-button-block { display: block; } .OT_dialog-no-natural-margin { margin-bottom: 0; } /* Publisher and Subscriber styles */ .OT_publisher, .OT_subscriber { position: relative; min-width: 48px; min-height: 48px; } .OT_publisher .OT_video-element, .OT_subscriber .OT_video-element { display: block; position: absolute; width: 100%; transform-origin: 0 0; } /* Styles that are applied when the video element should be mirrored */ .OT_publisher.OT_mirrored .OT_video-element { transform: scale(-1, 1); transform-origin: 50% 50%; } .OT_subscriber_error { background-color: #000; color: #fff; text-align: center; } .OT_subscriber_error > p { padding: 20px; } /* The publisher/subscriber name/mute background */ .OT_publisher .OT_bar, .OT_subscriber .OT_bar, .OT_publisher .OT_name, .OT_subscriber .OT_name, .OT_publisher .OT_archiving, .OT_subscriber .OT_archiving, .OT_publisher .OT_archiving-status, .OT_subscriber .OT_archiving-status, .OT_publihser .OT_archiving-light-box, .OT_subscriber .OT_archiving-light-box { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; top: 0; left: 0; right: 0; display: block; height: 34px; position: absolute; } .OT_publisher .OT_bar, .OT_subscriber .OT_bar { background: rgba(0, 0, 0, 0.4); } .OT_publisher .OT_edge-bar-item, .OT_subscriber .OT_edge-bar-item { z-index: 1; /* required to get audio level meter underneath */ } /* The publisher/subscriber name panel/archiving status bar */ .OT_publisher .OT_name, .OT_subscriber .OT_name { background-color: transparent; color: #ffffff; font-size: 15px; line-height: 34px; font-weight: normal; padding: 0 4px 0 36px; } .OT_publisher .OT_archiving-status, .OT_subscriber .OT_archiving-status { background: rgba(0, 0, 0, 0.4); top: auto; bottom: 0; left: 34px; padding: 0 4px; color: rgba(255, 255, 255, 0.8); font-size: 15px; line-height: 34px; font-weight: normal; } .OT_micro .OT_archiving-status, .OT_micro:hover .OT_archiving-status, .OT_mini .OT_archiving-status, .OT_mini:hover .OT_archiving-status { display: none; } .OT_publisher .OT_archiving-light-box, .OT_subscriber .OT_archiving-light-box { background: rgba(0, 0, 0, 0.4); top: auto; bottom: 0; right: auto; width: 34px; height: 34px; } .OT_archiving-light { width: 7px; height: 7px; -webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px; position: absolute; top: 14px; left: 14px; background-color: #575757; -webkit-box-shadow: 0 0 5px 1px #575757; -moz-box-shadow: 0 0 5px 1px #575757; box-shadow: 0 0 5px 1px #575757; } .OT_archiving-light.OT_active { background-color: #970d13; -webkit-animation: OT_pulse 1.3s ease-in; -moz-animation: OT_pulse 1.3s ease-in; -webkit-animation: OT_pulse 1.3s ease-in; -webkit-animation-iteration-count: infinite; -moz-animation-iteration-count: infinite; -webkit-animation-iteration-count: infinite; } @-moz-keyframes OT_pulse { 0% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } 30% { -webkit-box-shadow: 0 0 5px 1px #c70019; -moz-box-shadow: 0 0 5px 1px #c70019; box-shadow: 0 0 5px 1px #c70019; } 50% { -webkit-box-shadow: 0 0 5px 1px #c70019; -moz-box-shadow: 0 0 5px 1px #c70019; box-shadow: 0 0 5px 1px #c70019; } 80% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } 100% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } } @-webkit-keyframes OT_pulse { 0% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } 30% { -webkit-box-shadow: 0 0 5px 1px #c70019; -moz-box-shadow: 0 0 5px 1px #c70019; box-shadow: 0 0 5px 1px #c70019; } 50% { -webkit-box-shadow: 0 0 5px 1px #c70019; -moz-box-shadow: 0 0 5px 1px #c70019; box-shadow: 0 0 5px 1px #c70019; } 80% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } 100% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } } @-o-keyframes OT_pulse { 0% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } 30% { -webkit-box-shadow: 0 0 5px 1px #c70019; -moz-box-shadow: 0 0 5px 1px #c70019; box-shadow: 0 0 5px 1px #c70019; } 50% { -webkit-box-shadow: 0 0 5px 1px #c70019; -moz-box-shadow: 0 0 5px 1px #c70019; box-shadow: 0 0 5px 1px #c70019; } 80% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } 100% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } } @-ms-keyframes OT_pulse { 0% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } 30% { -webkit-box-shadow: 0 0 5px 1px #c70019; -moz-box-shadow: 0 0 5px 1px #c70019; box-shadow: 0 0 5px 1px #c70019; } 50% { -webkit-box-shadow: 0 0 5px 1px #c70019; -moz-box-shadow: 0 0 5px 1px #c70019; box-shadow: 0 0 5px 1px #c70019; } 80% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } 100% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } } @-webkit-keyframes OT_pulse { 0% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } 30% { -webkit-box-shadow: 0 0 5px 1px #c70019; -moz-box-shadow: 0 0 5px 1px #c70019; box-shadow: 0 0 5px 1px #c70019; } 50% { -webkit-box-shadow: 0 0 5px 1px #c70019; -moz-box-shadow: 0 0 5px 1px #c70019; box-shadow: 0 0 5px 1px #c70019; } 80% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } 100% { -webkit-box-shadow: 0 0 0px 0px #c70019; -moz-box-shadow: 0 0 0px 0px #c70019; box-shadow: 0 0 0px 0px #c70019; } } .OT_mini .OT_bar, .OT_bar.OT_mode-mini, .OT_bar.OT_mode-mini-auto { bottom: 0; height: auto; } .OT_mini .OT_name.OT_mode-off, .OT_mini .OT_name.OT_mode-on, .OT_mini .OT_name.OT_mode-auto, .OT_mini:hover .OT_name.OT_mode-auto { display: none; } .OT_publisher .OT_name, .OT_subscriber .OT_name { left: 10px; right: 37px; height: 34px; padding-left: 0; } .OT_publisher .OT_mute, .OT_subscriber .OT_mute { border: none; cursor: pointer; display: block; position: absolute; text-align: center; text-indent: -9999em; background-color: transparent; background-repeat: no-repeat; } .OT_publisher .OT_mute, .OT_subscriber .OT_mute { right: 0; top: 0; border-left: 1px solid rgba(255, 255, 255, 0.2); height: 36px; width: 37px; } .OT_mini .OT_mute, .OT_publisher.OT_mini .OT_mute.OT_mode-auto.OT_mode-on-hold, .OT_subscriber.OT_mini .OT_mute.OT_mode-auto.OT_mode-on-hold { top: 50%; left: 50%; right: auto; margin-top: -18px; margin-left: -18.5px; border-left: none; } .OT_publisher .OT_mute { background-image: url(../images/rtc/mic-on.png); background-position: 9px 5px; } .OT_publisher .OT_mute.OT_active { background-image: url(../images/rtc/mic-off.png); background-position: 9px 4px; } .OT_subscriber .OT_mute { background-image: url(../images/rtc/speaker-on.png); background-position: 8px 7px; } .OT_subscriber .OT_mute.OT_active { background-image: url(../images/rtc/speaker-off.png); background-position: 7px 7px; } /** * Styles for display modes * * Note: It's important that these completely control the display and opacity * attributes, no other selectors should atempt to change them. */ /* Default display mode transitions for various chrome elements */ .OT_publisher .OT_edge-bar-item, .OT_subscriber .OT_edge-bar-item { transition-property: top, bottom, opacity; transition-duration: 0.5s; transition-timing-function: ease-in; } .OT_publisher .OT_edge-bar-item.OT_mode-off, .OT_subscriber .OT_edge-bar-item.OT_mode-off, .OT_publisher .OT_edge-bar-item.OT_mode-auto, .OT_subscriber .OT_edge-bar-item.OT_mode-auto, .OT_publisher .OT_edge-bar-item.OT_mode-mini-auto, .OT_subscriber .OT_edge-bar-item.OT_mode-mini-auto { top: -25px; opacity: 0; } .OT_mini .OT_mute.OT_mode-auto, .OT_publisher .OT_mute.OT_mode-mini-auto, .OT_subscriber .OT_mute.OT_mode-mini-auto { top: 50%; } .OT_publisher .OT_edge-bar-item.OT_edge-bottom.OT_mode-off, .OT_subscriber .OT_edge-bar-item.OT_edge-bottom.OT_mode-off, .OT_publisher .OT_edge-bar-item.OT_edge-bottom.OT_mode-auto, .OT_subscriber .OT_edge-bar-item.OT_edge-bottom.OT_mode-auto, .OT_publisher .OT_edge-bar-item.OT_edge-bottom.OT_mode-mini-auto, .OT_subscriber .OT_edge-bar-item.OT_edge-bottom.OT_mode-mini-auto { top: auto; bottom: -25px; } .OT_publisher .OT_edge-bar-item.OT_mode-on, .OT_subscriber .OT_edge-bar-item.OT_mode-on, .OT_publisher .OT_edge-bar-item.OT_mode-auto.OT_mode-on-hold, .OT_subscriber .OT_edge-bar-item.OT_mode-auto.OT_mode-on-hold, .OT_publisher:hover .OT_edge-bar-item.OT_mode-auto, .OT_subscriber:hover .OT_edge-bar-item.OT_mode-auto, .OT_publisher:hover .OT_edge-bar-item.OT_mode-mini-auto, .OT_subscriber:hover .OT_edge-bar-item.OT_mode-mini-auto { top: 0; opacity: 1; } .OT_mini .OT_mute.OT_mode-on, .OT_mini:hover .OT_mute.OT_mode-auto, .OT_mute.OT_mode-mini, .OT_root:hover .OT_mute.OT_mode-mini-auto { top: 50%; } .OT_publisher .OT_edge-bar-item.OT_edge-bottom.OT_mode-on, .OT_subscriber .OT_edge-bar-item.OT_edge-bottom.OT_mode-on, .OT_publisher:hover .OT_edge-bar-item.OT_edge-bottom.OT_mode-auto, .OT_subscriber:hover .OT_edge-bar-item.OT_edge-bottom.OT_mode-auto { top: auto; bottom: 0; opacity: 1; } /* Contains the video element, used to fix video letter-boxing */ .OT_widget-container { position: absolute; background-color: #000000; overflow: hidden; } .OT_hidden-audio { position: absolute !important; height: 1px !important; width: 1px !important; } /* Load animation */ .OT_root .OT_video-loading { background: url('../images/rtc/loader.gif') no-repeat; display: none; position: absolute; width: 32px; height: 32px; left: 50%; top: 50%; margin-left: -16px; margin-top: -16px; } .OT_publisher.OT_loading .OT_video-loading, .OT_subscriber.OT_loading .OT_video-loading { display: block; } .OT_publisher.OT_loading .OT_video-element, .OT_subscriber.OT_loading .OT_video-element { /*display: none;*/ } .OT_video-centering { display: table; width: 100%; height: 100%; } .OT_video-container { display: table-cell; vertical-align: middle; } .OT_video-poster { position: absolute; z-index: 1; width: 100%; height: 100%; display: none; opacity: .25; background-repeat: no-repeat; background-image: url(../images/rtc/audioonly-silhouette.svg); } .OT_fit-mode-cover .OT_video-poster { background-size: auto 76%; background-position: center bottom; } .OT_fit-mode-contain .OT_video-poster { background-size: contain; background-position: center; } .OT_audio-level-meter { position: absolute; width: 25%; max-width: 224px; min-width: 21px; top: 0; right: 0; overflow: hidden; } .OT_audio-level-meter:before { /* makes the height of the container equals its width */ content: ''; display: block; padding-top: 100%; } .OT_audio-level-meter__bar { position: absolute; width: 192%; /* meter value can overflow of 8% */ height: 192%; top: -96% /* half of the size */; right: -96%; border-radius: 50%; background-color: rgba(0, 0, 0, .8); } .OT_audio-level-meter__audio-only-img { position: absolute; top: 22%; right: 15%; width: 40%; opacity: .7; background: url(../images/rtc/audioonly-headset.svg) no-repeat center; } .OT_audio-level-meter__audio-only-img:before { /* makes the height of the container equals its width */ content: ''; display: block; padding-top: 100%; } .OT_audio-level-meter__value { position: absolute; border-radius: 50%; background-image: radial-gradient(circle, rgba(151, 206, 0, 1) 0%, rgba(151, 206, 0, 0) 100%); } .OT_audio-level-meter.OT_mode-off { display: none; } .OT_audio-level-meter.OT_mode-on, .OT_audio-only .OT_audio-level-meter.OT_mode-auto { display: block; } .OT_video-disabled-indicator { opacity: 1; border: none; display: none; position: absolute; background-color: transparent; background-repeat: no-repeat; background-position: bottom right; top: 0; left: 0; bottom: 3px; right: 3px; } .OT_video-disabled { background-image: url(../images/rtc/video-disabled.png); } .OT_video-disabled-warning { background-image: url(../images/rtc/video-disabled-warning.png); } .OT_video-disabled-indicator.OT_active { display: block; }