/*=== redi1 ===*/

.redi1 {
    --maxAnchoContenedorRedi: 1300px;
 
    --escenaAnchoMaximo: 500px;
 
    --opciones__colorTexto: #fff;
    --colorOpciones: #016d38;
    --colorFondoOpciones: #016d38;
    --colorFondoRespuesta: #ffdc5d;
 
    --colorDivisionCentral: #016d38;
 
    --colorNumeroPregunta: #016d38;
    --colorNumeroPreguntaFondo: #ffdc5d;
    --colorNumeroPreguntaBorde: #016d38;
 
    --personajeSprite: url(../img/r1-personaje.png);
    --personajeCantidadPoses: 800%;
    --personajeTamanoAncho: 100%;
    --personajeTamanoAlto: 100%;
    --personajePosicionBottom: 0%;
    --personajePosicionLeft: 0;
 
 
    /*--personajePose1: 0% top;*/
    --personajePose1: 0% top;
    --personajePose2: 28.5% top;
    --personajePose3: 42.8% top;
    --personajePose4: 57.1% top;
    --personajePose5: 71.4% top;
    --personajePose6: 85.7% top;
    --personajePose7: 100% top;
    /*--personajePose7: 85.2% top;*/
 
    --personajePoseSinZoom: scale(1);
    --personajePose2Zoom: scale(.7);
    --personajePose3Zoom: scale(.7);
    --personajePose4Zoom: scale(.7);
    --personajePose5Zoom: scale(.7);
    --personajePose6Zoom: scale(.7);
    --personajePose7Zoom: scale(.7);
 
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
 }
 
 .redi1 .preguntaNumero {
    text-align: center;
    color: var(--colorNumeroPregunta);
    font-size: 23px;
    width: 45px;
    height: 45px;
    line-height: 1.2;
    background-color: var(--colorNumeroPreguntaFondo);
    padding: 0;
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    transform: translateX(50%);
    border: 3px solid var(--colorNumeroPreguntaBorde);
 }
 
 @media (max-width: 767px) {
    .redi1 .preguntaNumero {
       right: 50%;
    }
 }
 
 .redi1 .respuestas {
    font-family: inherit;
    font-size: 22px;
    color: var(--colorOpciones);
 }
 
 .redi1 .input {
    text-align: center;
 }
 
 .redi1 .preguntaTexto {
    font-size: 20px;
    margin: 0;
 }
 
 @media (min-width: 768px) {
 
    .redi1 .ladoIzquierdo,
    .redi1 .ladoDerecho {
       -webkit-box-flex: 0;
       -ms-flex: 0 0 50%;
       flex: 0 0 50%;
       max-width: 50%;
    }
 }
 
 .redi1 .ladoIzquierdo,
 .redi1 .ladoDerecho {
    display: flex;
 
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
 }
 
 .redi1 .ladoIzquierdo {
    padding: 60px 5% 20px 5%;
    z-index: 2;
    flex-flow: column;
    justify-content: center;
    border-right: 2px dashed var(--colorDivisionCentral);
 }
 
 .redi1 .ladoDerecho {
    align-items: center;
    z-index: 1;
 }
 
 @media (max-width: 767px) {
    .redi1 .ladoIzquierdo {
       border-right: 0;
    }
 }
 
 .redi1 .contenedor {
    max-width: var(--maxAnchoContenedorRedi);
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    padding-top: 1rem;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 2rem;
 }
 
 .redi1 .fila {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
 }
 
 .redi1 .contenido>div:nth-child(1) {
    margin-top: 60px;
 }
 
 .redi1 input {
    width: 10px;
    height: 21px;
    margin-right: 15px;
 }
 
 .redi1 .radio {
    margin-top: 20px;
    margin-bottom: 20px;
 }
 
 .redi1 .fondoEscena {
    position: relative;
    display: inline-block;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
 }
 
 .redi1 button[disabled],
 .redi1 input[disabled] {
    opacity: 0.3;
    cursor: default;
 }
 
 .redi1 button[disabled]:hover,
 .redi1 input[disabled]:hover {
    transform: scale(1);
    box-shadow: none;
 }
 
 .redi1 .btnCalificarCMP {
    text-align: center;
    position: sticky;
    bottom: 5px;
    z-index: 9999;
 }
 
 /*-- Respuestas --*/
 
 .redi1 .radio label {
    cursor: pointer;
    position: relative;
    padding: 5px 10px 5px 37px;
    border-radius: 1em;
    border: 2px dashed rgba(0, 0, 0, .2);
    transition: all 300ms;
    background-color: var(--colorFondoOpciones);
    color: var(--opciones__colorTexto);
 }
 
 .redi1 .radio label:hover {
    transform: scale(1.05);
    transition: all 300ms;
 }
 
 .redi1 .radio input {
    visibility: hidden;
    position: absolute;
    left: -10000%;
 }
 
 .redi1 .radio label::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 13px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid var(--colorFondoRespuesta);
    transition: all 300ms;
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    transform: scale(1);
 }
 
 .redi1 .radio input:checked~label {
    color: #016d38;
    background-color: var(--colorFondoRespuesta);
    border: 2px solid var(--colorFondoRespuesta);
 }
 
 .redi1 .radio input:checked~label::before {
    background-color: #fff;
    border: 0;
    clip-path: polygon(16% 52%, 0 72%, 35% 100%, 100% 37%, 86% 19%, 35% 69%);
    border-radius: 0;
    transform: scale(1.3);
 }
 
 /*-- Fin Respuestas --*/
 
 /*-- Error --*/
 
 
 @keyframes error {
    0% {
       filter: grayscale(0);
       -webkit-filter: grayscale(0);
    }
 
    1% {
       filter: grayscale(1);
       -webkit-filter: grayscale(1);
    }
 
    0%,
    100% {
       transform: translateX(-50%) translateY(0);
    }
 
    10%,
    30%,
    50%,
    70%,
    90% {
       transform: translateX(-50%) translateY(-10px);
    }
 
    20%,
    40%,
    60%,
    80% {
       transform: translateX(-50%) translateY(10px);
    }
 
    99% {
       filter: grayscale(1);
       -webkit-filter: grayscale(1);
    }
 
    100% {
       filter: grayscale(0);
       -webkit-filter: grayscale(0);
    }
 }
 
 .redi1 .error {
    animation: error .6s;
    -webkit-animation: error .6s;
 }
 
 /*-- Fin Error --*/
 
 /*-- Posiciones --*/
 
 .redi1 .imgEscena {
    width: 100%;
    max-width: var(--escenaAnchoMaximo);
    opacity: .5;
 }
 
 .redi1 .personaje {
    position: absolute;
    transition: all;
    width: var(--personajeTamanoAncho);
    height: var(--personajeTamanoAlto);
    background-image: var(--personajeSprite);
    background-size: var(--personajeCantidadPoses);
    bottom: var(--personajePosicionBottom);
    left: var(--personajePosicionLeft);
    background-repeat: no-repeat;
    background-position: var(--personajePose1);
 }
 
 .redi1 .posicion1 .personaje {
    background-position: var(--personajePose1);
 }
 
 
 .redi1 .zoom {
    position: relative;
    display: inline-block;
    transform: scale(1) translate(0, 0);
 }
 
 /*-- Poses --*/
 
 @keyframes personajePosicion2 {
    0% {
       background-position: var(--personajePose1);
    }
 
    29.999% {
       background-position: var(--personajePose1);
    }
 
    30% {
       background-position: var(--personajePose2);
    }
 
    100% {
       background-position: var(--personajePose2);
    }
 }
 
 .redi1 .posicion2 .personaje {
    background-position: var(--personajePose2);
    animation: personajePosicion2 2s;
    -webkit-animation: personajePosicion2 2s;
 }
 
 @keyframes personajePosicion3 {
    0% {
       background-position: var(--personajePose2);
    }
 
    29.999% {
       background-position: var(--personajePose2);
    }
 
    30% {
       background-position: var(--personajePose3);
    }
 
    100% {
       background-position: var(--personajePose3);
    }
 }
 
 .redi1 .posicion3 .personaje {
    background-position: var(--personajePose3);
    animation: personajePosicion3 2s;
    -webkit-animation: personajePosicion3 2s;
 }
 
 @keyframes personajePosicion4 {
    0% {
       background-position: var(--personajePose3);
    }
 
    29.999% {
       background-position: var(--personajePose3);
    }
 
    30% {
       background-position: var(--personajePose4);
    }
 
    100% {
       background-position: var(--personajePose4);
    }
 }
 
 .redi1 .posicion4 .personaje {
    background-position: var(--personajePose4);
    animation: personajePosicion4 2s;
    -webkit-animation: personajePosicion4 2s;
 }
 
 @keyframes personajePosicion5 {
    0% {
       background-position: var(--personajePose4);
    }
 
    29.999% {
       background-position: var(--personajePose4);
    }
 
    30% {
       background-position: var(--personajePose5);
    }
 
    100% {
       background-position: var(--personajePose5);
    }
 }
 
 .redi1 .posicion5 .personaje {
    background-position: var(--personajePose5);
    animation: personajePosicion5 2s;
    -webkit-animation: personajePosicion5 2s;
 }
 
 @keyframes personajePosicion6 {
    0% {
       background-position: var(--personajePose5);
    }
 
    29.999% {
       background-position: var(--personajePose5);
    }
 
    30% {
       background-position: var(--personajePose6);
    }
 
    100% {
       background-position: var(--personajePose6);
    }
 }
 
 .redi1 .posicion6 .personaje {
    background-position: var(--personajePose6);
    animation: personajePosicion6 2s;
    -webkit-animation: personajePosicion6 2s;
 }

 @keyframes personajePosicion7 {
   0% {
      background-position: var(--personajePose6);
   }

   29.999% {
      background-position: var(--personajePose6);
   }

   30% {
      background-position: var(--personajePose7);
   }

   100% {
      background-position: var(--personajePose7);
   }
}

.redi1 .posicion7 .personaje {
   background-position: var(--personajePose7);
   animation: personajePosicion7 2s;
   -webkit-animation: personajePosicion7 2s;
}
 
 /*-- Fin Poses --*/
 
 /*-- Zoom --*/
 
 @keyframes posicion2 {
    0% {
       transform: var(--personajePoseSinZoom);
    }
 
    20% {
       transform: var(--personajePose2Zoom);
    }
 
    80% {
       transform: var(--personajePose2Zoom);
    }
 
    100% {
       transform: var(--personajePoseSinZoom);
    }
 }
 
 .redi1 .posicion2 .zoom {
    animation: posicion2 2s;
    -webkit-animation: posicion2 2s;
 }
 
 @keyframes posicion3 {
    0% {
       transform: var(--personajePoseSinZoom);
    }
 
    20% {
       transform: var(--personajePose3Zoom);
    }
 
    80% {
       transform: var(--personajePose3Zoom);
    }
 
    100% {
       transform: var(--personajePoseSinZoom);
    }
 }
 
 .redi1 .posicion3 .zoom {
    animation: posicion3 2s;
    -webkit-animation: posicion3 2s;
 }
 
 @keyframes posicion4 {
    0% {
       transform: var(--personajePoseSinZoom);
    }
 
    20% {
       transform: var(--personajePose4Zoom);
    }
 
    80% {
       transform: var(--personajePose4Zoom);
    }
 
    100% {
       transform: var(--personajePoseSinZoom);
    }
 }
 
 .redi1 .posicion4 .zoom {
    animation: posicion4 2s;
    -webkit-animation: posicion4 2s;
 }
 
 @keyframes posicion5 {
    0% {
       transform: var(--personajePoseSinZoom);
    }
 
    20% {
       transform: var(--personajePose5Zoom);
    }
 
    80% {
       transform: var(--personajePose5Zoom);
    }
 
    100% {
       transform: var(--personajePoseSinZoom);
    }
 }
 
 .redi1 .posicion5 .zoom {
    animation: posicion5 2s;
    -webkit-animation: posicion5 2s;
 }
 
 @keyframes posicion6 {
    0% {
       transform: var(--personajePoseSinZoom);
    }
 
    20% {
       transform: var(--personajePose6Zoom);
    }
 
    80% {
       transform: var(--personajePose6Zoom);
    }
 
    100% {
       transform: var(--personajePoseSinZoom);
    }
 }
 
 .redi1 .posicion6 .zoom {
    animation: posicion6 2s;
    -webkit-animation: posicion6 2s;
 }

 @keyframes posicion7 {
   0% {
      transform: var(--personajePoseSinZoom);
   }

   20% {
      transform: var(--personajePose7Zoom);
   }

   80% {
      transform: var(--personajePose7Zoom);
   }

   100% {
      transform: var(--personajePoseSinZoom);
   }
}
 
 .redi1 .posicion7 .zoom {
    animation: posicion7 2s;
    -webkit-animation: posicion7 2s;
 }
 
 /*-- Fin Zoom --*/
 
 /*-- Fin Posiciones --*/
 
 /*=== FIN redi1 ===*/
 
 .backdrop .contenido.r1 {
    overflow: initial;
 }
 
 .btn-primary[disabled] {
    background-color: #ad123c;
    border-color: #ad123c;
 }
 
 /* Calificar */
 
 button[disabled],
 input[disabled] {
    opacity: 0.3;
    cursor: default;
 }
 
 button[disabled]:hover,
 input[disabled]:hover {
    transform: scale(1);
    box-shadow: none;
 }
 
 .btnCalificarCMP {
    text-align: center;
    position: sticky;
    bottom: 5px;
    z-index: 9;
 }
 
 
 
 @keyframes checkGood {
    0% {
       opacity: 0;
       transform: scale(0);
    }
    20% {
       opacity: 1;
       transform: scale(1);
    }
    90% {
       opacity: 1;
       transform: scale(1);
    }
    100% {
       opacity: 0;
       transform: scale(0);
    }
 }
 
 @keyframes checkError {
    0% {
       opacity: 0;
       transform: scale(0);
    }
    20% {
       opacity: 1;
       transform: scale(1);
    }
    90% {
       opacity: 1;
       transform: scale(1);
    }
    100% {
       opacity: 0;
       transform: scale(0);
    }
 }
 
 .check {
    position: absolute;
    top: 14%;
    left: 19%;
    width: 16%;
    height: 15%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 9;
 }
 
 .good .check {
    background-image: url(../img/good.png);
    animation: checkGood 2s forwards;
 }
 
 .error .check {
    background-image: url(../img/error.png);
    animation: checkError .6s forwards;
 }