/*=== redi1 ===*/

.redi1 {
   --maxAnchoContenedorRedi: 1300px;

   --escenaAnchoMaximo: 600px;

   --opciones__colorTexto: #016d38;
   --colorTexto: #333;
   --colorOpciones: #ffdc5d;
   --colorFondoOpciones: #fff;
   --colorFondoRespuesta: #016d38;

   --colorDivisionCentral: #ffdc5d;

   --colorNumeroPregunta: #fff;
   --colorNumeroPreguntaFondo: #016d38;
   --colorNumeroPreguntaBorde: #ffdc5d;

   --personajeSprite: url(../img/r1-personaje.png);
   --personajeCantidadPoses: 600%;
   --personajeTamanoAncho: 67%;
   --personajeTamanoAlto: 100%;
   --personajePosicionBottom: 3%;
   --personajePosicionLeft: calc(50% - var(--personajeTamanoAncho) / 2);


   --personajePose1: 0% top;
   --personajePose2: 20% top;
   --personajePose3: 40% top;
   --personajePose4: 60% top;
   --personajePose5: 80% top;
   --personajePose6: 100% top;

   --personajePoseSinZoom: scale(1);
   --personajePose2Zoom: scale(1.3);
   --personajePose3Zoom: scale(1.3);
   --personajePose4Zoom: scale(1.3);
   --personajePose5Zoom: scale(1.3);
   --personajePose6Zoom: scale(1.3);

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

.redi1 .input {
   text-align: center;
}

.redi1 .preguntaTexto {
   font-size: 20px;
   margin: 0;
   color: var(--colorTexto);
}

@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: 999;
}

/*-- Respuestas --*/

.redi1 .radio label {
   cursor: pointer;
   position: relative;
   padding: 5px 20px 5px 40px;
   border-radius: 1em;
   border: 2px dashed var(--colorOpciones);
   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: 10px;
   top: 10px;
   width: 20px;
   height: 20px;
   border-radius: 50%;
   border: 3px solid var(--colorNumeroPreguntaBorde);
   background-color: var(--colorNumeroPreguntaFondo);
   transition: all 300ms;
   clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
   transform: scale(1);
}

.redi1 .radio input:checked~label {
   color: #fff;
   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);
}

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

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

/*-- Fin Zoom --*/

/*-- Fin Posiciones --*/

/*=== FIN redi1 ===*/

.backdrop .contenido.r1 {
   overflow: initial;
}

.btn-primary[disabled] {
   background-color: #ad123c;
   border-color: #ad123c;
}