/*!
 * 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 video,
.OT_subscriber video,
.OT_publisher object,
.OT_subscriber object {
    width: 100%;
    height: 100%;
}

.OT_publisher object,
.OT_subscriber object {
}

/* Styles that are applied when the video element should be mirrored */
.OT_publisher.OT_mirrored video{
    -webkit-transform: scale(-1, 1);
    -moz-transform:scale(-1,1);
}

.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_mute.OT_mode-mini,
.OT_mute.OT_mode-mini-auto {
    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 {
    -ms-transition-property: top, bottom, opacity;
    -ms-transition-duration: 0.5s;
    -moz-transition-property: top, bottom, opacity;
    -moz-transition-duration: 0.5s;
    -webkit-transition-property: top, bottom, opacity;
    -webkit-transition-duration: 0.5s;
    -o-transition-property: top, bottom, opacity;
    -o-transition-duration: 0.5s;
    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_video-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 video,
.OT_subscriber.OT_loading video,
.OT_publisher.OT_loading object,
.OT_subscriber.OT_loading object {
    display: none;
}


.OT_video-poster {
    width: 100%;
    height: 100%;
    display: none;

    opacity: .25;
    background-size: auto 76%;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-image: url(../images/rtc/audioonly-silhouette.svg);
}

.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;
}
