.hidden {
  display: none!important;
}

video::-webkit-media-controls-volume-slider-container {
  display:none;
}
video::-webkit-media-controls-volume-slider {
  display:none;
}
video::-webkit-media-controls-mute-button {
  display:none;
}

html {
  /*height: 100%;*/
  margin: 0;
  width: 100%;
}

body {
	background-color: #FFFFFF;
  color: #030303;
  font-family: Apple Gothic, 'Malgun Gothic', dotum, 'Arial', 'Apple SD Gothic Neo', sans-serif;
  /*font-family: 'Hiragino Kaku Gothic ProN', Meiryo, 'MS PGothic', sans-serif;*/
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  -webkit-touch-callout: none!important;
}

.volume-guage {
  position: absolute;
  top: 15%;
  left: 0px;
  width: 80px;
  height: 40px;
  margin-left: calc(50% - 50px);
  
  font-size: 19px;
  font-weight: 500;
  font-family: 'Roboto', sans-serif;
  overflow: hidden;

  text-align: center;
  z-index: 1;

  background: black;
  opacity: .7;
  color: #F1F1F1;
  line-height: 40px;
  border-radius: 5px;

  box-sizing: border-box;

  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

#single-canvas {
  object-fit: contain;
  background-color: #000000;
  width: 100%;
  height: 100%;
}

.subscriberListDiv {
  margin: 5px 10px 10px 10px;
}

#target-subscriber {
  position: relative; 
  display: block;
  width: 100%;
  height: 10vh;
  border: 1px solid #ccc;
  color: black;
  font-size: 3vh;
  padding: 3vh 25px 3vh 3px;
  font-weight: bold;
  overflow: hidden;
  word-break: break-all;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#target-subscriber.disabled {
  background-color:#b4b4b4;
  pointer-events: none;
}

#target-subscriber::after {
  position: absolute;
  content: "";
  border-left: 2px solid black;
  border-top: 2px solid black;
  padding: 3px;
  right: 10px;
  top: 45%;
  -moz-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  -o-transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

#target-subscriber.invalid {
  /*color: #FF0000;*/
  border-color: #FF0000;
  box-shadow: 0 0 0 3px rgba(221,0,0,.1) inset;
}

#current-subscriber-container {
  overflow: hidden;
  white-space: nowrap;
}

#subscribers-list {
  font-size: 14px;
  font-weight: normal;
  list-style: none;
  width: calc(30% - 20px);
  height: 20vh;
  overflow: auto;
  position: absolute;
  padding-inline-start: 0px;
  background-color: white;
  border: 1px solid #ccc;
  padding: 1px;
}

.target-subscriber-list-item {
  padding: 8px 3px 8px 3px;
}

.target-subscriber-list-item:hover {
  background-color: #ccc;
}

.target-subscriber-icon {
  position: absolute;
}

.target-subscriber-label {
  margin-left: 30px;
  font-size: 2vh;
  vertical-align: sub;
}

#comSubscriberList {
  width: 100%;
  /*height: 100px;*/
  height: 10vh;
  font-size: 3vh;
  font-weight: bold;
}

#comSubscriberList.invalid {
  /*color: #FF0000;*/
  border-color: #FF0000;
  box-shadow: 0 0 0 3px rgba(221,0,0,.1) inset;
}

#single-sesame,
#multi-sesame {
  font-size: 0; /* to fix whitespace/scrollbars problem */
  position: absolute;
  height: 100%;
  width: 100%;
}

#single-sesame-content,
#multi-sesame-content {
  /*height: calc(100% - 138px);*/
  height: 80%;
  display: flex;
}

#single-sesame-bottom,
#multi-sesame-bottom {
  /*height: 138px;*/
  /*height: 137px;*/
  height: 15%;
  margin-top: 10px;
}

.single-cast-panel-1 {
  display: inline-block;
  overflow: hidden;
  width: 70%;
  height: 100%;
  padding-top: 10px;
}

.single-cast-panel-2 {
  display: inline-block;
  overflow: hidden;
  width: 30%;
  height: 100%;
  padding-top: 37px;
}

.cast-panel {
  display: inline-block;
  overflow: hidden;
  width: 50%;
  height: 100%;
  padding-top: 10px;
}

#cast-title-2 {
  padding-left: 5px;
}

.single-cast-menu-btn-box {
  display: inline-block;
  width: 96%;
  margin: 7px;
  /*margin-top: 14px;*/
  /*margin-bottom: 14px;*/
  margin-top: 1vh;
  margin-bottom: 1vh;
}

.single-cast-panel-btn-box {
  display: inline-block;
  width: 18%;
  margin: auto;
  margin-top: 7px;
}

.cast-panel-btn-box {
  display: inline-block;
  width: 22%;
  margin: 7px;
}

.control-panel-left {
  display: inline-block;
  
  width: 50%;
  height: 28%;

  padding-left: 7px;
  font-size: 28px;
}

.control-panel-right {
  display: inline-block;

  width: 50%;
  height: 100%;
}

.control-panel-label {
  font-size: 2.8vmin;
  /*float: left;*/
}

.control-panel-btn-box {
  display: inline-block;
  /*width: 140px;*/
  margin: 10px 10px 10px 0px;
  float: right;
  /*width: calc(70px + 6vw);*/
  max-width: calc(70px + 6vw);
  width: 28%;
  height: 100%;
}

#modal-confirm-single-cast,
#modal-confirm-file-transfer {
  width: 100%;
  height: 100%;
}

#modal-content-file-container,
#modal-content-container {
  width: 100%;
  height: 100%;
  font-size: 22px;
  display: flex;
}

#modal-content-file-div,
#modal-content-div {
  width: 35%;
  margin: auto;
  border-radius: 5px;
  box-shadow: 0 0 15px rgba(0,0,0,.8);
  background-color: white;
}

#modal-confirm-file,
#modal-allow-id {
  height: 60%;
  padding: 13% 0;
  text-align: center;
  word-break: break-all;
}

.single-cast-modal-btn {
  margin: 8px;
  height: 7vh !important;
  width: 40% !important;
  font-size: calc(14px + .5vw) !important;
  font-weight: bold;
}

.single-video-wrap,
.multi-video-wrap-1,
.multi-video-wrap-2 {
  display: inline-block;
  overflow: hidden;
  /*border: 1px solid;*/
  width: 100%;
  /*height: calc(100% - 106px);*/
  height: 80%;
  padding: 1px 3px 0px 6px;
}

/*.multi-video-wrap-2 {
  display: inline-block;
  overflow: hidden;
  border: 1px solid;
  width: 100%;
  height: calc(100% - 106px);
  padding: 1px 6px 0px 3px;
}
*/
#allow-id {
  font-size: 30px!important;
  color: yellow;
  background-color: inherit;
  /*position: absolute;*/
  width: 69%;
  bottom: 35px;
  overflow: hidden;
}

.viewLog {
  left: 0px;
  width: 80%;
  height: 30px;
  position: absolute!important;
  text-align: left;
  font-size: 22px;
  font-weight: 500;
  text-shadow: 1px 1px 1px #000000;
  color: yellow;
  background: transparent;
  border: 0px!important;
  z-index: 2147483647;
  margin-left: 4px;
  top: 0;
}

.alertTouch {
  right: 0;
  /*top: 30px;*/
  width: 100%;
  height: 30px;
  position: absolute !important;
  text-align: right;
  font-size: 16px;
  font-weight: 500;
  text-shadow: 1px 1px 1px #000000;
  color: yellow;
  background: transparent;
  border: 0px !important;
  z-index: 2147483647;
  margin-left: 4px;
}

.viewLog-video-1 {
  top: 36px;
  padding-left: 8px;
  width: 48%;
}

.viewLog-video-2 {
  top: 36px;
  left: 50%;
  padding-left: 8px;
  width: 48%;
}

.screen-share-title {
  left: 0px;
  /*bottom: 10px;*/
  width: 100%;
  height: 30px;
  /*position: absolute!important;*/
  position: relative;
  margin-top: -36px;
  text-align: right;
  font-size: 22px;
  font-weight: 500;
  text-shadow: 1px 1px 1px #000000;
  color: yellow;
  background: transparent;
  border: 0px!important;
  z-index: 2147483647;
  padding-right: 10px;
}

#sesame {
  font-size: 0; /* to fix whitespace/scrollbars problem */
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: #242424;
}

#volume-on-button {
  position: absolute;
  z-index: 10000;
  background-color: red;
  color: white;
  right: 0;
}

#videos {
  font-size: 0; /* to fix whitespace/scrollbars problem */
  width: 100%;
  height: 100%;
  /*pointer-events: none;*/
  position: absolute;
  background-color: #242424;
  /*background-color: #000000;*/
  z-index: 1;
}

#videos div {
  display: inline-block;
  position: absolute;
  overflow: hidden;
  /*border: 1px solid;*/
}

#video {
  width: 100%;
  height: 100%;
  background-color: #000000;
}

#video-map-seperater {
  height: 100%;
  width: 5px;
  position: absolute;
  z-index: 2;
  user-select: none;
}

#video-map-seperater:hover {
  cursor: ew-resize;
}

#publisher-notification {
  color: #DD0000;
  font-family: 'Roboto', sans-serif;
  overflow: hidden;

  text-align: center;
  z-index: 2147483647;

  background: black;
  opacity: .7;
  border-radius: 4px;
  border: 1px #DD0000 solid;
  background-color: transparent;

  box-sizing: border-box;

  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;

  width: 60%;
  height: 40px;
  margin-left: calc(50% - 30%);
  margin-top: -50px;
  font-size: 23px;
  font-weight: 700;
  line-height: 39px;
}

#user-notification:not(#videos) {
  color: #DD0000;
  display: inline-block;
  padding: 14px 24px;
  width: 70%;
  height: auto;
  left: 15%;
  bottom: 0px;
  border-radius: 4px;
  border: 1px #DD0000 solid;
  background-color: transparent;
  margin-bottom: 40px;
  z-index: 2147483647;
  font-size: 20px;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

#user-nickname {
  position: absolute;
  bottom: 3px;
  left: 0px;
  font-family: 'Roboto', sans-serif;
  overflow: hidden;

  text-align: center;
  z-index: 2147483647;

  background: black;
  opacity: .5;
  color: #F1F1F1;
  border-radius: 5px;

  box-sizing: border-box;

  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

.user-nickname-s {
  width: 90%!important;
  height: 20px!important;
  margin-left: 5%!important;
  font-size: 13px!important;
  font-weight: 500!important;
  line-height: 17px!important;
}

#user-nickname.small {
  width: 40%;
  height: 20px;
  margin-left: calc(50% - 20%);
  font-size: 13px;
  font-weight: 500;
  line-height: 17px;
}

#user-nickname.medium {
  width: 50%;
  height: 30px;
  margin-left: calc(50% - 25%);
  font-size: 18px;
  font-weight: 600;
  line-height: 28px;
}

#user-nickname.large {
  width: 60%;
  height: 40px;
  margin-left: calc(50% - 30%);
  font-size: 23px;
  font-weight: 700;
  line-height: 39px;
}

video {
  /*max-height: 100%;
  max-width: 100%;*/
  height: 100%;
  width: 100%;
  background-color: black;
  /*object-fit: cover; */
  /*object-fit: contain;*/
  /*object-fit: none;*/

  -moz-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  -o-transform: scale(-1, 1);
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);

  transition: opacity 1s;
}

video.active {
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  
  transition: transform 1s;
}

video.active-nodelay {
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;

  user-drag: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

.modal {
  z-index: 2147483647;
}

#network-usage-div {
  position: absolute;
  top: 5px;
  right: 185px;
  z-index: 2147483647;
  height: 30px;
}

#network-usage-label {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  margin: 0;
  line-height: inherit;
  padding : 0;
}

#user-info-div {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 180px;
  z-index: 2147483647;
}

#user-name-button {
  width: 100px;
  padding: 0;
  text-align: right;
  margin: 0px;
  font-size: 14px;
  font-weight: 700;
}

.user-info-normal-button {
  font-size: 14px;
  max-width: 75px;
  right: 0px;
  display: inline;
  outline: none;
}

.align-right {
  float: right;
  /*margin-right: 15px;*/
  /*width: 180px;*/
}

/* customized header ******************************************/
#title-header {
  margin: 3em auto 0 auto;
  text-align: center;
}

#title-header-title {
  margin: 0 0 0.6em 0;
  font-size: 30px;
}

#title-header-subtitle {
  margin: 0 0 1em 0;
}

#title-header-desc-pub {
  margin: 0 0 0.3em 0;
  font-size: 18px;
}

#title-header-desc-sub {
  margin: 0 0 1em 0;
  font-size: 18px;
}

/* view authentication ******************************************/
#view-auth {
  margin: 0 auto 0 auto;
  width: 360px;
}

/* user authentication ******************************************/
#user-auth {
  margin: 0 auto 0 auto;
  width: 360px;
}

/* conf menu ***********************************************/
#conf-menu {
  margin: 0 auto 0 auto;
  width: 400px;
  /*width: 570px;*/
}

/* conf selection ***********************************************/
#conf-selection {
  margin: 0 auto 0 auto;
  /*width: 360px;*/
  width: 570px;
}

.error-text {
  color: #dd0000;
}

.user-auth-field {
  margin-bottom: 14px;
}

.viewer-setting-field {
  margin-bottom: 6px;
}

.user-auth-error-box {
  display: block;
  border-radius: 4px;
  border: 1px #dd0000 solid;
  background-color: #fff;
  margin-bottom: 10px;
}

.user-auth-box-error-inner {
  position: relative;
  border-radius: 4px;
  padding: 14px 24px!important;
}

.user-auth-box {
  display: block;
  border-radius: 4px;
  border: 1px #ddd solid;
  background-color: #fff;
  margin-bottom: 20px;
}

.user-auth-box-inner {
  position: relative;
  border-radius: 4px;
  padding: 20px 24px!important;
}

.checkbox-span {
  padding-left: 5px;
  text-indent: 0;
  font-size: 13px;
  line-height: 19px;
  font-weight: 400;
  color: #111;
}

.content-box-inner {
  position: relative;
  border-radius: 4px;
  /*padding: 14px 26px!important;*/
  padding: 12px 24px 2px 24px!important;
}

.unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

label {
  margin: 0 10px 0 0;
  padding-left: 2px;
  padding-bottom: 2px;
  font-size: 13px;
  line-height: 19px;
}

label.userinfo {
  width: 50%;
  padding-left: 5px;
  font-weight: 500;
}

label.conf-option {
  width: 27%;
  margin-left: 2%;
}

label.error-label {
  color: #F44336;
  /*font-size: .85em;*/
  font-size: 13px;
  line-height: 19px;
  font-weight: 500;
  margin: 0;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

label.ckeckbox-label {
  margin-left: 5px;
  margin-right: 2px;
  /*margin-bottom: 2px;
  height: 19px;*/
  /*display: block;*/
}

label.audio-options {
  margin: 0 0 0 0;
  font-size: 12px;
}

label.device-setting {
  width: 30%;
}

input[type=checkbox] {
  height: 14px;
  width: 14px;
  vertical-align: top;
  position: relative;
  margin-top: 4px;
}

input[type=text],
input[type=password],
input[type=email] {
  width: 100%;
  margin-right: 0;
  background-color: #fff;
  height: 31px;
  padding: 3px 7px;
  line-height: normal;
  border: 1px solid #a6a6a6;
  border-top-color: #949494;
  border-radius: 3px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .5),
              0 1px 0 rgba(0, 0, 0, .07) inset;
  outline: 0;
  transition: all 100ms linear;
  color: #111;
}

input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus {
  border-color: #e77600;
  box-shadow:0 0 3px 2px rgba(228,121,17,.5);
}

input[type=page].invalid,
input[type=text].invalid,
input[type=password].invalid,
input[type=email].invalid {
  border-color: #d00;
  box-shadow:0 0 0 3px rgba(221,0,0,.1) inset;
}

select.disabled,
input[type=text].disabled,
input[type=password].disabled,
input[type=email].disabled {
  border-color:rgba(186,186,186,.5);
  background-color:#f3f3f3;
  box-shadow:none;
  cursor:not-allowed;
}

input.userinfo {
  width: calc(100% - 200px);
}

input.stream-title {
  width: 68%;
  margin-left: -5px;
}

select.user-option {
  height: 31px;
  width: 30%;
  margin-left: 4px;
}

input.conf-option,
select.conf-option {
  width: 68%;
  margin-bottom: 10px;
}

input.conf-option-top,
select.conf-option-top {
  float: right;
}

input.device-setting,
select.device-setting {
  width: 100%;
  height: 30px;
  margin-bottom: 10px;
}

#move-single-btn,
#move-multi-btn {
  font-size: calc(14px + .5vw) !important;
}

.large-btn {
  font-size: 2.5vmin!important;
  /*height: 68px!important;*/
  height: 7.5vh !important;
  font-weight: bold;
  background-color: #2B579A!important;
}

.large2-btn {
  /*font-size: 28px!important;*/
  font-size: 3.7vmin !important;
  /*height: 118px!important;*/
  height: 100% !important;
  font-weight: bold;
  background-color: #2B579A!important;
}

.cast-panel-btn_focus {
  background-color: #FF0000!important;
}

.normal-btn {
  background-color: #4285F4;
  border: none;
  border-radius: 2px;
  -webkit-box-shadow: 1px 1px 5px 0 rgba(0,0,0,.5);
  -moz-box-shadow: 1px 1px 5px 0 rgba(0,0,0,.5);
  box-shadow: 1px 1px 5px 0 rgba(0,0,0,.5);
  color: white;
  font-size: 14px;
  height: 31px;
  width: 100%;
}

#reload-device-info-btn {
  width: 150px;
}

#save-conf-selection-btn {
  width: 100px;
  margin-right: 5px;
}

#close-conf-selection-btn {
  width: 100px;
}

.normal-btn:active {
  background-color: #3367D6;
}

.normal-btn:hover {
  background-color: #3B78E7;
}

.normal-btn:focus {
  -webkit-box-shadow: 0 10px 15px 0 rgba(0,0,0,.5);
  -moz-box-shadow: 0 10px 15px 0 rgba(0,0,0,.5);
  box-shadow: 0 10px 15px 0 rgba(0,0,0,.5);
  outline: none;
}

.normal-btn[disabled] {
  background-color: #e7e9ec;
  /*background-color: rgba(255, 255, 255, 0.12);*/
  color: #8d9096;
  /*color: rgba(255, 255, 255, 0.3);*/
}

.divider-margin-top {
  margin-top: 3px!important;
}

.divider-text-align-center {
  text-align: center;
}

.divider-text-align-left {
  text-align: left;
  font-weight: 400;
}

.divider {
  position: relative;
  top: 2px;
  padding-top: 1px;
  margin-top: 18px;
  margin-bottom: 10px;
  line-height: 0;
  box-sizing: border-box;
}

.divider-box-inner {
  position: relative;
  top: 2px;
  padding-top: 1px;
  /*margin-top: 18px;*/
  margin-bottom: 8px;
  line-height: 0;
  box-sizing: border-box;
}

.divider-box-inner::after,
.divider::after {
  display: block;
  content: "";
  width: 100%;
  background-color: transparent;
  height: 1px;
  position: absolute;
  border-top: 1px solid #e7e7e7;
  top: 50%;
  margin-top: -1px;
  z-index: 1;
}

.company-info {
  margin: 26px auto 26px auto;
  width: 80%;
}

.company-info-policy {
  margin: 0 auto 0 auto;
  text-align: center;
}

.text-line-right-btn {
  /*position: absolute!important;
  right: 26px;*/
  float: right;
  margin-left: 10px;
}

.text-line-btn {
  padding: 0!important;
  color: #0c6ad1!important;
}

.text-btn {
  background: none;
  line-height: normal;
  overflow: visible;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  display: inline-block;
  position: relative;
  /*width: 100%;*/
  color: #444;
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 8px;
  border-radius: 3px;
}

.text-btn:hover {
  text-decoration: underline;
}

.text-btn:focus {
  outline-style: none;
}

h1 {
  font-weight: 500;
  font-size: 34px;
  /*margin: 0 0 0.8em 0;*/
  padding: 0 0 0.2em 0;
  text-rendering: optimizeLegibility;
}

h2 {
  font-weight: 400;
  font-size: 24px;
  margin: 0 0 0.6em 0;
  padding: 0 0 0.4em 0;
  text-rendering: optimizeLegibility;
}

h3 {
  font-weight: 400;
  /*font-size: 20px;*/
  font-size: 3vh;
  /*color: #767676;*/
  margin: 0 0 0.2em 0;
  padding: 0 8px 0 7px;
  text-rendering: optimizeLegibility;
  background-color: #fff;
  /*display: inline-block;*/
  position: relative;;
  z-index: 2;
}

h4 {
  font-weight: 400;
  font-size: 14px;
  /*color: #767676;*/
  margin: 0 0 0.2em 0;
  padding: 0 8px 0 7px;
  text-rendering: optimizeLegibility;
  background-color: #fff;
  display: inline-block;
  position: relative;;
  z-index: 2;
}

h5 {
  font-weight: 400;
  font-size: 12px;
  /*color: #767676;*/
  margin: 0 0 0.2em 0;
  padding: 0 8px 0 7px;
  text-rendering: optimizeLegibility;
  background-color: #fff;
  display: inline-block;
  position: relative;
  z-index: 2;
}

h5.conf-option {
  width: 30%;
}

/*////// modal ///////////////////////////////////////*/
.modal-dialog {
  height: 90%;
}

.common-modal-dialog {
  width: auto;
  margin: 10px auto;
}

@media (min-width: 450px) {
  .common-modal-dialog {
    width: 450px;
  }
}

.common-modal-header {
  border-bottom: 0px;
}

.common-modal-footer {
  border-top: 0px;
}

.modal-content {
  /*height: 90%;*/
}

.modal-btn {
  width: 82px!important;
  right: 0px;
  margin-left: 5px; 
}

.modal-body {
  max-height: 90%;
  overflow-y: auto;
}

.policy-btn {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 10px;
}

/*////// viewer ///////////////////////////////////////*/
#viewer-header-div {
  position: absolute;
  top: 0px;
  height: 40px;
  width: 100%;
  background-color: #FFFFFF;
  border: solid 1px;
  z-index: 5;
  opacity: 0.85;
}

#viewer-iframe {
  height: 100%;
  width: 100%;
  position: absolute;
  z-index: 0;
  border: none;
  overflow: hidden;
}

.list-checkbox {
  display: inline-block;
  vertical-align: middle!important;
  background-position: center;
  width: 18px!important;
  height: 18px!important;
  margin: 7px!important;
}

.list-btn {
  background-color: transparent;
  border: none;
  outline: none;
  border-radius: 4px;
  width: 30px;
  height: 30px;
  padding: 1px;
  display: inline-block;
  margin: 4px;
}

.list-btn.small-screen {
  margin-top: 40px;
}

.list-label {
  margin-top: -10px!important;
  margin-left: 34px!important;
  display: block;
}

.list-btn.disabled {
  opacity: .5;
  pointer-events: none;
}

.list-btn .material-icons {
  font-size: 24px;
  margin: 2px;
}

.list-btn-left-margin-no-setting {
  margin-left: 240px;
}

.list-btn-left-margin-use-setting {
  margin-left: 42px;
}

.list-btn:hover {
  outline: none;
  background-color: #DDE0E5;
}

/*////// publisher list ///////////////////////////////////////*/
#left-sidebar-div {
  position: absolute;
  top: 40px;
  margin: 0px;
  width: 360px;
  height: calc(100% - 40px);
  background-color: #242424;
  /*z-index: 2147483647;*/
  z-index: 5;
  opacity: 0.85;
}

#left-sidebar-div .icon {
  display: inline-block;
  background-position:center;
  background-repeat:no-repeat;
  vertical-align: middle;
  background-size: contain;
  font-size: 24px;
  margin: 4px;
  width: 24px;
  height: 24px;
}

.tab-container {
  width: 100%;
  height: 100%;
}

.tab-content {
  color: white;
  padding: 1px;
  width: 100%;
  height: 100%;
  /*position: absolute;*/
}

#publishers-ul {
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  color: #000000;
  padding: 8px 5px 8px 5px;
  list-style-type: none;
  overflow: auto;
  margin-bottom: 0px;
}

.publishers-li {
  width: 100%;
  height: 32px;
}

.publishers-show-msg-li {
  height: 44px;
}

.publishers-li-select {
  outline: none;
  background-color: #C8C8C8;
  border-radius: 4px;
}

.publisherlist-btn {
  background-color: transparent;
  border: none;
  outline: none;
  border-radius: 4px;
  width: 30px;
  height: 30px;
  padding: 0px;
  margin-top: 1px;
  margin-bottom: 1px;
  margin-left: -2px; 
  display: inline-block;

  float: right;
}

.publisherlist-btn.disabled {
  opacity: .5;
  pointer-events: none;
}

.publisherlist-btn:hover {
  outline: none;
  background-color: #DDE0E5;
}

.publisherlist-btn .material-icons {
  left: 2px;
  font-size: 24px;
  margin: 1px;
  background-position: center;
  vertical-align: middle; 
}

.publisherlist-username {
  margin-left: 4px;
  margin-right: 6px;
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  vertical-align: middle;
  text-align: left;
  max-width: 70%;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

/*////// slide ///////////////////////////////////////*/
/*top -> bottom*/
@keyframes slideInY{
  0%{transform:translateY(-100%)}
  100%{transform:translateY(0)}
}

.slideInY{
  -webkit-animation:slideInY .5s forwards;
  -moz-animation:slideInY .5s forwards;
  -o-animation:slideInY .5s forwards;
  animation:slideInY .5s forwards
}

@keyframes slideOutY{
  0%{transform:translateY(0)}
  100%{transform:translateY(-500%)}
}

.slideOutY{
  -webkit-animation:slideOutY .5s forwards;
  -moz-animation:slideOutY .5s forwards;
  -o-animation:slideOutY .5s forwards;
  animation:slideOutY .5s forwards
}

/*left -> right*/
@keyframes slideInX{
  0%{transform:translateX(-500%)}
  100%{transform:translateX(0)}
}

.slideInX{
  -webkit-animation:slideInX .5s forwards;
  -moz-animation:slideInX .5s forwards;
  -o-animation:slideInX .5s forwards;
  animation:slideInX .5s forwards
}

@keyframes slideOutX{
  0%{transform:translateX(0)}
  100%{transform:translateX(-500%)}
}

.slideOutX{
  -webkit-animation:slideOutX .1s forwards;
  -moz-animation:slideOutX .1s forwards;
  -o-animation:slideOutX .1s forwards;
  animation:slideOutX .1s forwards
}

/*////// sub slide ///////////////////////////////////////*/
#left-sub-sidebar-div {
  /*border: 1px solid;*/
  position: absolute;
  top: 40px;
  left: 360px;
  margin: 0px;
  width: 48px;
  height: calc(100% - 40px);
  /*background-color: #000000;*/
  background-color: transparent;
  /*z-index: 2147483647;*/
  z-index: 5;
  opacity: 0.85; 
}

.listIcons-btn {
  border: none;
  outline: none;
  border-radius: 10px;
  width: 40px;
  height: 40px;
  padding: 0px;
  display: inline-block;
  margin: 4px;

  box-shadow: 1px 1px 4px rgba(0,0,0,.2);
}

.listIcons-btn .material-icons {
  display: inline-block;
  background-position:center;
  background-repeat:no-repeat;
  vertical-align: middle;
  background-size: contain;
  font-weight: bold;
  font-size: 26px;
  width: 26px;
  height: 26px;
  margin: 2px;
}

.listIcons-btn:hover {
  outline: none;
  background-color: #989898;
}

.listIcons-btn:active {
  outline: none;
  background-color: #787878;
}

/*////// audio input preview ///////////////////*/
.audio-input-preview {
  background: #f4f5f7;
  border-radius: 2px;
  height: 10px;
  margin: 0;
  padding: 0;
  display: inline-block;

  width: 66%;
  /*position: absolute;
  margin-top: 7px;
  right: 16px;*/
  float: right;
  margin-top: 5px;
}

.audio-input-preview-level {
  background: #0062FE;
  border-radius: 2px;
  height: 100%;
}

/*////// setting modal tab btn ///////////////////*/
.settingModal-tabBtn {
  background-color: #FFFFFF;
  color: grey;
  text-align: center;
  border: none;
  outline: none;
  cursor: pointer;
  font-size: 18px;
  width: 31%;
}

.settingModal-tabBtn:hover {
  background-color: #DDDDDD;
  color: black;
  border-radius: 3px;
}

.settingModal-tabBtn.selected {
  color: black;
  font-weight: 700;
}

/*////// context menu ///////////////////*/
.menu {
  position: absolute;
  width: 250px;
  padding: 2px;
  margin: 0;
  border: 1px solid #bbb;
  background: #eee;
  background: -webkit-linear-gradient(to bottom, #fff 0%, #e5e5e5 100px, #e5e5e5 100%);
  background: linear-gradient(to bottom, #fff 0%, #e5e5e5 100px, #e5e5e5 100%);
  z-index: 2147483647;
  border-radius: 3px;
  box-shadow: 1px 1px 4px rgba(0,0,0,.2);
  opacity: 0;
  -webkit-transform: translate(0, 15px) scale(.95);
  transform: translate(0, 15px) scale(.95);
  transition: transform 0.1s ease-out, opacity 0.1s ease-out;
  pointer-events: none;
}

.select-menu {
  overflow: auto;
}

.menu-item {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  white-space: nowrap;
}

.menu-btn-no-target,
.menu-btn {
  background: none;
  line-height: normal;
  overflow: visible;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  display: block;
  width: 100%;
  color: #444;
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 8px;
  border-radius: 3px;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.menu-btn::-moz-focus-inner, .menu-btn::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.menu-text { 
  margin-left: 25px; 
}

.menu-btn .material-icons {
  position: absolute;
  left: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 18px;
}

.menu-item:hover > .menu-btn {
  color: #fff;
  outline: none;
  background-color: #2E3940;
  background: -webkit-linear-gradient(to bottom, #5D6D79, #2E3940);
  background: linear-gradient(to bottom, #5D6D79, #2E3940);
  border: 1px solid #2E3940;
}

.menu-item.disabled {
  opacity: .5;
  pointer-events: none;
}

.menu-item.noselect {
  pointer-events: none;
}

.menu-item.disabled .menu-btn { cursor: default; }

.menu-separator {
  display: block;
  margin: 1px 1px;
  height: 2px;
  border-bottom: 1px solid #fff;
  background-color: #aaa;
}

.menu-item.submenu::after {
  content: "";
  position: absolute;
  right: 6px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left-color: #808080;
}

.menu-item.submenu:hover::after { border-left-color: #fff; }

.menu .menu {
  top: -3px;
  left: 99%;
}

.show-menu, .menu-item:hover > .menu {
  opacity: 1;
  -webkit-transform: translate(0, 0) scale(1);
  transform: translate(0, 0) scale(1);
  pointer-events: auto;
}

.menu-item:hover > .menu {
  -webkit-transition-delay: 100ms;
  transition-delay: 300ms;
}

#notificationBar {
  visibility: hidden; /* Hidden by default. Visible on click */
  position: absolute;

  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  
  width: max-content;
  width: -moz-max-content;
  width: -webkit-max-content;

  background-color: #333; /* Black background color */
  color: yellow;
  text-align: center; /* Centered text */
  border-radius: 2px; /* Rounded borders */
  padding: 16px; /* Padding */
  z-index: 1; /* Add a z-index if needed */
  
  bottom: 30px; /* 30px from the bottom */
}

#notificationBar.show {
  visibility: visible;
  -webkit-animation: fadein 0.5s;
  animation: fadein 0.5s;
}
#notificationBar.hide {
  visibility: visible;
  -webkit-animation: fadeout 0.5s;
  animation: fadeout 0.5s;
}

/* hanvision publish & subscribe */
#audio-meter-container,
#content-nickname {
  position: absolute;
  bottom: 3px;
  left: 0px;
  width: 100px;
  height: 20px;
  margin-left: calc(50% - 50px);
  
  font-size: 13px;
  font-weight: 500;
  font-family: 'Roboto', sans-serif;
  overflow: hidden;

  text-align: center;
  z-index: 10;

  background: black;
  opacity: .5;
  color: #F1F1F1;
  line-height: 17px;
  border-radius: 5px;

  box-sizing: border-box;

  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;

  transition: 0.3s;
}

/* safari alert muted */
#deviceIcons-alert-div:not(#videos) {
  position: absolute;
  left: 0px;
  right: 0px;
  top: calc(50% - 25px);
  margin: auto;
  width: 50px;
  height: 50px!important;
  background: transparent;
  z-index: 2147483647;
  opacity: 0.8;
  border: 0px!important;
}

#deviceIcons-alert-div .icon {
  display: inline-block;
  width: 100%;
  height: 100%;
  background-position:center;
  background-repeat:no-repeat;
  vertical-align: middle;
  background-size: contain;
}

.deviceIcons-alert-btn {
  display: inline-block;
  border-radius: 50px;
  width: 100%;
  height: 100%;
  padding: 4px;
  background-color: #242424;
  outline: none;
  line-height: normal;
  overflow: visible;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
}

.deviceIcons-alert-btn.muted {
  background-color: #FF0000;
}

/* remote control modal */
#remote-modal-div select.device-setting {
  width: 60%;
  height: 30px;
  margin-bottom: 3px;
  margin-top: 3px;
}

#remote-modal-div label.ckeckbox-label {
  margin-top: 7px;
  margin-bottom: 2px;
  margin-right: 5px;
  height: 19px;
}

#remote-modal-div label.device-setting {
  width: 35%;
}

#remote-modal-div .modal-header, 
#remote-modal-div .modal-footer {
  padding: 7px;
}

#remote-modal-div .text-btn {
  height: 31px;
}

#remote-modal-div .modal-dialog {
  display: inline-block;
  text-align: left;
  vertical-align: middle;
  height: inherit;
}

#remote-modal-div {
  text-align: center;
  padding: 0!important;
}

#remote-modal-div:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -4px;
}

.non-checkbox-label{
  padding-left: 27px;
}

#remote-modal-title {
  width: 100%;
  text-overflow: ellipsis;
  line-height: 31px;
  font-size: 18px;
}