@import url('https://fonts.googleapis.com/css?family=Open+Sans');

:root {
    --color-ventanas: #e5e5e5;
    --color-base: #18b7a8;
    --color-dark: #004D40;
    --color-acento: #00c8e1;
    --fuente-normal: 'Open Sans', Verdana, Arial;
}

* {
    box-sizing: border-box;
}

body {
    width: 100%;
    height: 100%;
    font-family: var(--fuente-normal);
    position: absolute;
    padding: 0px;
    margin: 0px;
    background: #fff;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
}

div#consola {
    position: fixed;
    width: 380px;
    height: 200px;
    background: #00000096;
    color: white;
    overflow: auto;
    z-index: 10;
    right: 0;
    display: none;
}

.telon {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    padding: 10px;
    background: var(--color-dark);
    /*font-size: 2rem;*/
    text-align: center;
    color: white;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.telon a {
    color: #6ea2f6;
    font-size: 13px;
    text-decoration: none;
}

#cliente-logo {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 100%;
    max-height: 100%;
    z-index: -999999;
    opacity:0.75;
}

.copyrights {
    color: #6ea2f6;
    font-size: 13px;
    text-decoration: none;
    position: absolute;
    bottom: 15px;
}

/* CHAT */

.chat.contenido {
    position: absolute;
    bottom: 0px;
    background: #dbdbdb9e;
    padding: 10px;
    width: 100%;
    /* transition: left ease 0.5s; */
}

.chat.contenido span.usertag {
    color: white;
    padding: 0px 5px;
}
.chat.contenido small {
    /*float: right;*/
    color: #cecece;
    font-size: 10px;
}
.chat .message {
    margin: 15px 0;
}

.chat .input-area {
    display: flex;
    margin-top:  10px;
}

.chat .input.mensaje {
    flex-grow: 1;
    margin-right: 5px;
    margin: 0px 10px 0px 0px;
}

.chat .input.button {
    flex-basis: 120px;
    flex-grow: 0;
    background: var(--color-acento);
    color: white;
}

.chat .text-area {
    max-height: 280px;
    overflow: auto;
    padding: 5px;
    background: #ffffffcc;
}

.members-list {
    position: fixed;
    top: 0px;
    right: 0px;
    padding: 10px;
}

.members-list span.usertag {
    display: inline-block;
    color: white;
    text-align: center;
    font-size: 13px;
    width: 40px;
    height: 40px;
    padding: 0px 2px;
    border-radius: 50%;
    line-height: 40px;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 2px 2px 10px #0000007a;
    transition: all ease .5s;
}
/* IFRAME */

.marco {
    position: fixed;
    width: 100%;
    box-sizing: border-box;
    left: 0;
    top: 0;
    bottom: 50px;
}

.marco .iframepage {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    display: block;
}

/* PAGINA */

.panel {
    display: none;
    position: fixed;
    left: 0px;
    top: 0px;
    bottom: 50px;
    background: var(--color-ventanas);
    width: 300px;
    /*min-height: 450px;*/
    box-shadow: 1px 0px 30px #0000004f;
    transition: left ease 0.5s;
    z-index: 2;
    font-size: 13px;
    overflow: auto;
}

.panel.left .encabezado {
    padding: 13px 15px;
    background: var(--color-acento);
    color: white;
    font-size: 23px;
}

.panel.left .encabezado i {
    margin-right: 10px;
}

.panel.left .titulo {
    background: var(--color-base);
    color: white;
    padding: 10px 20px;
    font-size: 14px;
}

.panel.left .contenido {
    padding: 10px;
    padding-bottom: 20px;
    /**/
}

.panel ul.lista-diapo {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}

.panel ul.lista-diapo li {
    cursor: pointer;
}

.panel ul.lista-diapo li {
    cursor: pointer;
    padding: 10px 10px;
    margin-bottom: 5px;
    background: #ffffff7d;
}

.panel ul.lista-diapo .content li {
    margin-bottom: 0px;
}

.panel ul.lista-diapo li.fijo {
    width: 100px;
    height: 80px;
    display: inline-block;
    margin-right: 5px;
    text-align: center;
    font-size: 13px;
    vertical-align: top;
}
.panel ul.lista-diapo li.fijo i.fa {
    color: var(--color-base);
    font-size: 21px;
    display: block;
    padding: 5px;
}

.panel ul.lista-diapo i.fa {
    color: var(--color-acento);
    margin-right:  5px;
}

.panel ul.lista-diapo i.fa.fijo {
    color: var(--color-base);
}

/* REACCIONES */

.acciones {
    display:none;
    position: fixed;
    bottom: 0px;
    right: 0px;
    padding: 10px 10px;
    z-index: 100;
    width: 80px;
    line-height: 40px;
    /* background: #0000003b; */
}
.acciones .reaction {
    position: relative;
    font-size: 46px !important;
    padding: 0px 8px;
    color: #ffffff;
    text-shadow: 2px 2px 10px #0000007a;
    transition: all ease .5s;
}
.acciones .reaction:hover {
    cursor: pointer;
    transform:  rotateZ(5deg) scale(1.3);
}

.acciones .reaction span {
    opacity: 0;
    font-size: 13px;
    position: absolute;
    top: -10px;
    right: 0px;
    background: black;
    padding: 5px;
    border-radius: 5px;
    white-space: nowrap;
    font-family: var(--fuente-normal);
    font-weight: normal;
    transition: all ease .5s;
}

.acciones .reaction:hover span {
    display: block;
    opacity: 1;
    top: -30px;
}

.acciones .react {
    position: absolute;
    width: 250px;
    padding: 20px;
    /* top: -135px; */
    bottom: 30px;
    right: 50px;
    opacity: 1;
    background: #9c27b0;
    color: white;
    border-radius: 5px;
    box-shadow: 2px 2px 10px #0000007a;
    transform: scale(1);
    transition: all cubic-bezier(0.18, 0.89, 0.34, 1.29) 0.3s;
    pointer-events: none;
    line-height: 28px;
}

.acciones .react.hide {
    /* position: absolute; */
    /* padding: 20px; */
    /* top: -55px; */
    /* bottom: -100px; */
    right: -40px;
    opacity: 0;
    transform: scale(0.5);
}

.reaction.flotando {
    position: fixed;
    bottom: 0px;
    right: 50%;
    animation: float 1.5s cubic-bezier(0.03, 0.46, 0.77, 0.87) forwards;
}

@keyframes float {
    0% {
        opacity: 1;
        bottom: 0;
        transform: rotateZ(0deg) scale(1.3);
    }
    12% {transform: rotateZ(-20deg) translateX(20px);}
    24% {transform: rotateZ(30deg);}
    40% {transform: rotateZ(-6deg);}
    70% {
        transform: rotateZ(8deg) scale(1.8);
        opacity: .8;
    }

    100% {
        opacity: 0;
        bottom: 300px;
        transform: rotateZ(-15deg) scale(4);
    }
}




/* Place the navbar at the bottom of the page, and make it stick */
.navbar {
    background-color: #333;
    overflow: auto;
    position: fixed;
    bottom: 0;
    left: 0;
    height: 50px;
    width: 100%;
    display: flex;
    z-index: 10;
    /* padding-right: 140px; */
    flex-direction: row;
}

/* Style the links inside the navigation bar */
.navbar a {
    overflow: hidden;
    text-overflow: ellipsis;
    height: 50px;
    width: 64px;
    /* max-width: 90px; */
    /* display: inline-block; */
    /* vertical-align: middle; */
    color: white;
    text-align: center;
    padding: 0px 10px;
    text-decoration: none;
    font-size: 10px;
    cursor: pointer;
}

.navbar a i {font-size: 18px;display: block;margin: auto;/* width: 70px; */padding: 5px 0px;}

/* Change the color of links on hover */
.navbar a:hover {
    background-color: var(--color-base);
    color: white;
}

/* Add a green background color to the active link */
.navbar a.active {
    background-color: var(--color-base);
    color: white;
}

/* Hide the link that should open and close the navbar on small screens */
.navbar .icon {
    display: none;
}

.navbar span.sinleer:not(:empty) {
    background: var(--color-acento);
    color: black;
    padding: 3px;
    border-radius: 5px;
}




/* The Modal (background) */
.modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 102; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Content/Box */
.modal .modal-content {
    background-color: #fefefe;
    /*margin: 5% auto; /* 15% from the top and centered */
    margin: 5% auto; /* 15% from the top and centered */
    padding: 20px;
    /* border: 1px solid #888; */
    box-shadow: 0px 1px 20px #00000094;
    width: 90%; /* Could be more or less, depending on screen size */
    max-width: 900px;
}

/* The Header */
.modal .header {
    margin: 5% auto; /* 15% from the top and centered */
    width: 90%; /* Could be more or less, depending on screen size */
    max-width: 900px;
}

/* The Close Button */
.modal .close {
    color: #aaa;
    float: right;
    font-size: 40px;
    /*line-height: 30px;*/
    line-height: 20px;
    font-weight: bold;
    padding: 20px;
}

.modal .close:hover,
.modal .close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}



.encuesta h1 {
    margin: 0px 0px 20px;
}

.encuesta-enviada {
    text-align: center;
}

.encuesta-enviada i {
    color: #4CAF50;
}

/* ESTRELLAS CALIFICACION */

div.stars {
    /* width: 310px; */
    display: inline-block;
}

input.star { display: none; }

label.star {
    float: right;
    padding: 10px;
    font-size: 26px;
    color: #bababa;
    transition: all .2s;
}

input.star:checked ~ label.star:before {
    font-weight: 900;
    content: '\f005';
    color: #FD4;
    transition: all .25s;
}

input.star-5:checked ~ label.star:before {
    color: #FFC107;
    text-shadow: 0 0 10px #ffeacb;
}

input.star-1:checked ~ label.star:before { color: #F62; }

label.star:hover { transform: rotate(-15deg) scale(1.4); }

label.star:before {
    content: '\f005';
    font-family: "Font Awesome 5 Free";
    font-weight: normal;
}


/* RADIO Y CHECKBOX BUTTON */

/* The container */
.myInput {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default radio button */
.myInput input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

/* Create a custom radio button */
.myInput .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #eee;
}

/* Create a custom radio button */
.myInput.radio .checkmark {
    border-radius: 50%;
}

/* On mouse-over, add a grey background color */
.myInput:hover input ~ .checkmark {
    background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
.myInput input:checked ~ .checkmark {
    background-color: #2196F3;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.myInput .checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the indicator (dot/circle) when checked */
.myInput input:checked ~ .checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.myInput.checkbox .checkmark:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* Style the indicator (dot/circle) */
.myInput.radio .checkmark:after {
    top: 9px;
    left: 9px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: white;
}


/* Style inputs */
input[type=text], input[type=date], input[type=number], select, textarea,
input[type=submit], input[type=button] {
    -webkit-appearance: none !important;
    -webkit-border-radius: 4px !important;
}

input[type=text], input[type=date], input[type=number], select, textarea {
    font-family: var(--fuente-normal);
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    margin-top: 6px;
    margin-bottom: 16px;
    resize: vertical;
}

input[type=submit], input[type=button] {
    font-family: var(--fuente-normal);
    background-color: var(--color-base);
    color: white;
    padding: 12px 20px;
    border: none;
    cursor: pointer;
    margin-right: 5px;
    transition: all ease .5s;
}

input[type=submit]:hover, input[type=button]:hover {
    background-color: var(--color-acento);
}

.btn.gris {
    background-color: #999999;
}

.btn.gris:hover {
    background-color: #bcbbbb;
}

.row.required input, .row.required textarea {
    border: solid 1px #F44336;
}

.row.required .col-20-100 {
    color: #F44336;
}

.row.formgroup .col-20-100 {
    margin: 10px 0px;
}

.row.formgroup .col-80-100 {
    margin-bottom: 20px;
}

/* Style the container/contact section */
.container {
    border-radius: 5px;
    background-color: #f2f2f2;
    padding: 10px;
}

/* Create two columns that float next to eachother */
.column {
    float: left;
    width: 50%;
    margin-top: 6px;
    padding: 20px;
}

/* Clear floats after the columns */
.row:after {
    content: "";
    display: table;
    clear: both;
}

/* Responsive layout - when the screen is less than 600px wide, make the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 600px) {
    .column, input[type=submit] {
        width: 100%;
        margin-top: 0;
    }
}

.accordion {
     /* margin: 3em auto; */
     /* max-width: 30em; */
     margin-bottom: 20px;
}
.accordion .toggle {
     display: none; /* oculta checkbox */
}
.accordion .option {
     position: relative;
     margin-bottom: 5px;
}
.accordion .title, .accordion .content {
     backface-visibility: hidden;
     transform: translateZ(0);
     /*transition: all 0.2s;*/
}
.accordion .title {
     background: #ffffff94;
     padding: 10px 10px;
     display: block;
     /* color: #7a7572; */
     /* font-weight: bold; */
     cursor:pointer;
}
.accordion .title:after, .accordion .title:before {
     content: '';
     position: absolute;
     right: 15px;
     top: 15px;
     width: 2px;
     height: 0.75em;
     background-color: #9E9E9E;
     transition: all 0.2s;
}
.accordion .title:after {
     transform: rotate(90deg);
}
.accordion .content {
     max-height: 0; /* oculta content */
     overflow: hidden;
     /* background-color: #fff; */
}
.accordion .toggle:checked + .title, 
.toggle:checked + .title + .content {
     box-shadow: 3px 3px 6px #ddd, -3px 3px 6px #ddd;
     background: #fff0dc;
}
.accordion .toggle:checked + .title + .content {
    max-height: 9999px; /* muestra content */
}
.accordion .toggle:checked + .title:before {
     transform: rotate(90deg) !important;
}

#videos {
    left: 0; 
    right: 0; 
    margin-left: auto; 
    margin-right: auto; 
    position: relative;
}

#videos #publisher, #videos #subscriber {
    display:none;
    overflow:hidden;
}

#videos #publisher .OT_publisher, #videos #subscriber .OT_subscriber {
    border-radius:5px;
    border: solid 1px #333;
    background: #000;
    box-shadow:  0 0 10px  rgba(0,0,0,0.6);
    -moz-box-shadow: 0 0 10px  rgba(0,0,0,0.6);
    -webkit-box-shadow: 0 0 10px  rgba(0,0,0,0.6);
    -o-box-shadow: 0 0 10px  rgba(0,0,0,0.6);
}

.contenedor_absoluto_camara_menu {
    position:absolute;
    width:calc(100vh - calc(100vh - 100%));
    height:calc(100vh - calc(100vh - 100%));
}

.flex_contenedor_camara_menu {
    display: flex;
    flex-direction: column;
    height:100%;
}

.flex_contenedor_camara_menu .navbar {
    position:relative;
}

.flex_contenedor_camara_menu #videos {
    flex: 1;
}

.camara_estilo_derecha {
    float:right;
    right:0;
    top:75px;
}

.camara_estilo_derecha #publisher, .camara_estilo_derecha #subscriber {
    clear:both;
}

.camara_estilo_arriba {
    right:0;
}

.camara_estilo_arriba #publisher, .camara_estilo_arriba #subscriber {
    position:relative;
    float:right;
}

.camara_estilo_fullscreen #publisher {
    position:absolute;
    width:15vh ;
    height:15vh;
    transform: translateY(calc(-100% - 20px));
    right:20px;
}

.camara_estilo_fullscreen .OT_publisher .OT_root {
    width:15vh;
    height:15vh;
}

.camara_estilo_fullscreen #subscriber {
    border: 0px;
    border-radius:0px;
    height:100%;
}

.camara_estilo_fullscreen, .camara_estilo_fullscreen #subscriber .OT_subscriber {
    width:100%;
}

.camara_estilo_fullscreen #subscriber .OT_subscriber {
    border-radius: 0px !important;
}

/* Small devices (landscape phones, 360px and up) */
@media (min-width: 360px) { 

    .camara_estilo_derecha {
        width:110px !important;
    }

    .camara_estilo_derecha .OT_publisher, .camara_estilo_derecha .OT_subscriber {
        width:110px !important;
        height:110px !important;
    }

    .camara_estilo_arriba .OT_publisher, .camara_estilo_arriba .OT_subscriber {
        width:100px !important;
        height:100px !important;
    }

}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) { 

    .camara_estilo_derecha {
        width:120px !important;
    }

    .camara_estilo_derecha .OT_publisher, .camara_estilo_derecha .OT_subscriber {
        width:120px !important;
        height:120px !important;
    }


    .camara_estilo_arriba .OT_publisher, .camara_estilo_arriba .OT_subscriber {
        width:110px !important;
        height:110px !important;
    }

    .panel {
        top: 0px;
    }

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) { 

    .camara_estilo_derecha {
        width:125px !important;
    }

    .camara_estilo_derecha .OT_publisher, .camara_estilo_derecha .OT_subscriber {
        width:125px !important;
        height:125px !important;
    }


    .camara_estilo_arriba .OT_publisher, .camara_estilo_arriba .OT_subscriber {
        width:120px !important;
        height:120px !important;
    }

}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) { 

    .camara_estilo_derecha {
        width:150px !important;
    }

    .camara_estilo_derecha .OT_publisher, .camara_estilo_derecha .OT_subscriber {
        width:150px !important;
        height:150px !important;
    }


    .camara_estilo_arriba .OT_publisher, .camara_estilo_arriba .OT_subscriber {
        width:125px !important;
        height:125px !important;
    }
}

#contador-reloj {
    padding: 1px 4px;
    position:absolute;
    float:left;
    background: #3d78d8;
    color: white;
    border-radius: 6px;
    font-size: 12px;
    margin: 5px;
}

.videocontrols {
    position: absolute;
    width: 15vh;
    height: 5vh;
    bottom: 10vh;
    right: 20px;
    transform: translateY(calc(-100% - 20px));
    text-align: center;
    z-index: 3;
}
.videocontrols a i {
    font-size: 18px;
    text-decoration: none;
    color: rgb(255,255,255) !important;
    width: 28px;
    height: 28px;
    border-radius: 28px;
    padding: 5px;
}
.videocontrols a i.enabled {
    background-color: rgb(255,50,50) !important;
}
.videocontrols a i.disabled {
    background-color: rgb(150,150,150) !important;
}