/*!
 * 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;

  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%;
  height: 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);
  background-size: auto 76%;
}

.OT_fit-mode-cover .OT_video-element {
  object-fit: cover;
}

.OT_fit-mode-contain .OT_video-element {
  object-fit: contain;
}

.OT_fit-mode-cover .OT_video-poster {
  background-position: center bottom;
}

.OT_fit-mode-contain .OT_video-poster {
  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_audio-only.OT_publisher .OT_video-element,
.OT_audio-only.OT_subscriber .OT_video-element {
  display: none;
}


.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);
  background-size: 33px auto;
}

.OT_video-disabled-warning {
  background-image: url(../images/rtc/video-disabled-warning.png);
  background-size: 33px auto;
}

.OT_video-disabled-indicator.OT_active {
  display: block;
}

.OT_hide-forced {
  display: none;
}
