/* CSS Document */

/* ----------------------- TIPOGRAFIAS -------------------- */


@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');


.fira-sans-thin {
  font-family: "Fira Sans", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.fira-sans-extralight {
  font-family: "Fira Sans", sans-serif;
  font-weight: 200;
  font-style: normal;
}

.fira-sans-light {
  font-family: "Fira Sans", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.fira-sans-regular {
  font-family: "Fira Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.fira-sans-medium {
  font-family: "Fira Sans", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.fira-sans-semibold {
  font-family: "Fira Sans", sans-serif;
  font-weight: 600;
  font-style: normal;
}

.fira-sans-bold {
  font-family: "Fira Sans", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.fira-sans-extrabold {
  font-family: "Fira Sans", sans-serif;
  font-weight: 800;
  font-style: normal;
}

.fira-sans-black {
  font-family: "Fira Sans", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.fira-sans-thin-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.fira-sans-extralight-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 200;
  font-style: italic;
}

.fira-sans-light-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.fira-sans-regular-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.fira-sans-medium-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 500;
  font-style: italic;
}

.fira-sans-semibold-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 600;
  font-style: italic;
}

.fira-sans-bold-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.fira-sans-extrabold-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.fira-sans-black-italic {
  font-family: "Fira Sans", sans-serif;
  font-weight: 900;
  font-style: italic;
}

body{
	margin: 0;
	padding: 0;
	font-family: "Fira Sans", sans-serif;
	font-weight: 700;
	background-color: #222222;
	color: #fff;
	font-size: 15px;
	line-height: 18px;
	overflow: hidden;
}

div, img, section, article{
	margin: 0;
	border: none 0px;
	padding: 0;
	display: block;
}

section{
	position: fixed;
	width: 100%;
	height: 100vh;
	left: 0vw;
	top:0vw;
}

article{
	position: absolute;
	top:50%;
	left: 50%;
	width: 750px;
	height: auto;
	transform: translate(-50%, -50%);
	text-align: center;
}

#intro{
	background-color: #fff;
	z-index: 25;
}

.logointro img{
	margin: 0 auto;
	width: 300px;
}

#logofondo{
	position: fixed;
    top: 50%;
    left: 50%;
    z-index: 10;
    animation: giro 200s linear infinite;
    width: 115vw;
    height: auto;
    will-change: transform;
    backface-visibility: hidden;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: smooth;
	
}

#logofondo.grande{
	width: 135vw !important;
	transition: 2s ease-in-out;
}

@keyframes giro {
  from {
    transform: translate(-50%, -50%) rotate(0deg) translateZ(0);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg) translateZ(0);
  }
}

#texto_intro{
	background-image: url("../images/bg_desktop.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

#texto_intro p{
	width: 80%;
    margin: 0 auto;
    line-height: 15px;
    font-size: 18px;
}

#formulario{
	z-index: 99;
    background-color: transparent;
}

.correo_enviado{
	    display: block;
    margin: 30px auto 30px;
    width: 95%;
    font-size: 18px;
    color: #fff;
    font-family: "Fira Sans", sans-serif;
    font-weight: 200;
    text-align: center;
    line-height: 20px;
}

.mensaje_error{
    color: #E60303;
    display: block;
    margin: 30px auto 30px;
    width: 95%;
    font-size: 18px;
    font-family: "Fira Sans", sans-serif;
    font-weight: 400;
    text-align: center;
    line-height: 20px;
}


.inputgris{
	    background-color: #4E4E4E;
    border: none 0px;
    width: 420px;
    padding: 15px 5px;
    border-radius: 10px;
    text-align: center;
    color: #fff;
    font-family: "Fira Sans", sans-serif;
    font-weight: 400;
    height: auto;
    font-size: 18px;
    display: block;
	margin: 0 auto;
}

.inputgris::-webkit-input-placeholder { color: #fff; font-weight: 200;} /* Chrome, Safari, Opera */
.inputgris::-ms-input-placeholder { color: #fff; font-weight: 200;}     /* Internet Explorer 10+ */
.inputgris::placeholder { color: #fff; font-weight: 200;}

.btn_rojo{
    border: none 0px;
    width: 430px;
    padding: 10px 5px;
    border-radius: 40px;
    text-align: center;
    color: #fff;
    font-family: "Fira Sans", sans-serif;
    font-weight: 400;
    height: 55px;
    font-size: 18px;
    display: block;
    background-color: #E60303;
    margin-top: 20px;
    margin: 20px auto;
	cursor: pointer;
}

h1{
	font-size: 20px;
    line-height: 21px;
    
    width: 84%;
    margin: 0 auto;
    text-align: center;
    font-weight: 200;
}

h1 strong{
	font-weight: 600;
}

h5{
	font-size: 18px;
    font-weight: 200;
    line-height: 18px;
}

.inferior{
	width: 430px;
    margin: 0 auto;
    height: 150px;
}

.circulo{
	background-color: transparent;
    width: 250px;
    height: 250px;
    display: block;
    margin: 20px auto 20px;
    border: solid 2px #fff;
    border-radius: 300px;
    overflow: hidden;
}

.custom-upload{
	display: inline-block;
    margin: 20px 10% 15px 10%;
    width: 25%;
    height: auto;
    float: left;
}

.custom-upload img{
	    display: block;
    width: 100%;
}

.btn_blanco{
	border: none 0px;
    width: 430px;
    padding: 20px 5px;
    border-radius: 40px;
    text-align: center;
    color: #353535;
    font-family: "Fira Sans", sans-serif;
    font-weight: 400;
    height: auto;
    font-size: 18px;
    display: block;
    background-color: #fff;
    margin-top: 20px;
    margin: 20px auto;
	cursor: pointer;
}

.btn_blanco2{
	    border: none 0px;
    width: 430px;
    padding: 20px 5px;
    border-radius: 40px;
    text-align: center;
    color: #353535;
    font-family: "Fira Sans", sans-serif;
    font-weight: 400;
    height: auto;
    font-size: 18px;
    display: block;
    background-color: #fff;
    margin-top: 20px;
    margin: 20px auto;
    /* position: absolute; */
   /* left: 5vw;*/
    z-index: 60;
    /*bottom: 22vw;*/
	cursor: pointer;

}

.radio-group {
  display: inline-block;
    flex-direction: column;
    gap: 1vw;
    width: 50%;
    height: auto;
    margin: 10px 0px 0px 0px;
}

.radio {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 15px;
    user-select: none;
    font-weight: 400;
}

.workinprogress{
	font-size: 20px;
    font-weight: 400;
}

.radio input {
  display: none;
}

.checkmark {
    width: 40px;
    height: 40px;
    border-radius: 3px;
    background-color: #2c2c2c;
    margin: 13px 10px 8px 0px;
    position: relative;
    transition: all 0.2s ease;
}

.radio input:checked + .checkmark {
  background-color: #fff;
}
.radio input:checked + .checkmark::after {
      content: "✓";
    color: #000;
    font-weight: bold;
    position: absolute;
    top: 12px;
    left: 10px;
    font-size: 28px;
}

.generacion_imagen{
	width: 100% !important;
    height: auto;
}
.imagen_preview{
	width: 18vw;
    height: auto;
    display: block;
    z-index: 50;
    top: 50%;
    left: 50%;
    transform: translate(0%, 0%);
    font-weight: 200;
    font-size: 15px;
    margin: 20px auto;
    position: static;
}
.volver{
	    font-size: 20px;
    color: #E60303;
    /* text-align: center; */
    position: static;
    left: 50%;
    z-index: 60;
    bottom: 30px;
    width: auto;
    text-align: center;
    font-weight: 400;
    border-bottom: solid 1px #E60303;
    transform: translateX(0%);
    line-height: 26px;
	cursor: pointer;
}



.option-group {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 450px;
    margin: 0 auto;
    height: auto;
}

.option {
      display: flex;
    align-items: center;
    background-color: #2c2c2c;
    color: #fff;
    border-radius: 5px;
    padding: 5px;
    cursor: pointer;
    transition: background-color 0.2s ease;

}

.option img {
    width: 40px;
    height: auto;
    margin: 5px 15px 5px 10px;
    border-radius: 50%;
}

.option span {
     font-size: 16px;
    line-height: 18px;
    font-weight: 300;
}

.option.selected {
  background-color: #e50914;
}

.logocarga{
	width: 150px;
    height: auto;
    left: 50%;
    margin: 0 auto 5vw;
    animation: giro2 20s linear infinite;
    top: 40%;
    position: absolute;

}

#videoinprogress p{
    width: 70%;
    margin: 25px 15%;
    font-size: 20px;
    font-weight: 400;
    position: absolute;
    /* top: 80%; */
    /* left: 50%; */
    /* transform: translate(-50%, -50%); */
    display: block;
    line-height: 22px;
}


@keyframes giro2 {
  from {
    transform: translate(-50%, -50%) rotate(0deg) translateZ(0);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg) translateZ(0);
  }
}



/* --------------------- VIDEO FINAL ------------------------------- */

 #videogenerado{
     width: 400px;
        height: auto;
        display: block;
        border: none 0px;
        position: fixed;
        top: 50%;
        left: 50%;
        filter: none;
        z-index: 1;
        transform: translate(-50%, -50%);
    }

    /* Contenedor fijo en la parte inferior, centrado horizontalmente */
    .share-bar{
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 30px;
    display: flex
;
    gap: 20px;
    background: transparent;
    z-index: 9999;
    align-items: center;
    padding: 0vw;
    pointer-events: auto;
    }

    /* Botón redondo */
    .share-btn{
      width: auto;
    height: auto;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
     user-select: none;
    -webkit-tap-highlight-color: transparent;
    outline: none;
		cursor: pointer;
    }

    /* sin rollover: no estilos :hover ni :active visual extra */
    .share-btn:focus {
      /* accesibilidad: foco visible */
      box-shadow: 0 0 0 3px rgba(255,255,255,0.06);
    }

    .share-btn img{
      width: 30px;
      height: auto;
      display:block;
    }

/*------------------------- MOBILE --------------------------------------------*/


@media (orientation:portrait){
	
body{
	margin: 0;
	padding: 0;
	font-family: "Fira Sans", sans-serif;
	font-weight: 700;
	background-color: #222222;
	color: #fff;
	font-size: 8vw;
	line-height: 8vw;
	overflow: hidden;
}

div, img, section, article{
	margin: 0;
	border: none 0px;
	padding: 0;
	display: block;
}

section{
	position: fixed;
	width: 100%;
	height: 100vh;
	left: 0vw;
	top:0vw;
}

article{
	position: absolute;
	top:50%;
	left: 50%;
	width: 90vw;
	height: auto;
	transform: translate(-50%, -50%);
	text-align: center;
}

#intro{
	background-color: #fff;
	z-index: 25;
}

.logointro img{
	margin: 0 auto;
	width: 60vw;
}

#logofondo{
	position: fixed;
    top: 50%;
    left: 45%;
    z-index: 10;
    animation: giro 200s linear infinite;
    width: 110vh;
    height: auto;
    will-change: transform;
    backface-visibility: hidden;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: smooth;
	
}

#logofondo.grande{
	width: 135vh !important;
	transition: 2s ease-in-out;
}

@keyframes giro {
  from {
    transform: translate(-50%, -50%) rotate(0deg) translateZ(0);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg) translateZ(0);
  }
}

#texto_intro{
	background-image: url("../images/bg_mobile.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

#texto_intro p{
	width: 80%;
    margin: 0 auto;
    line-height: 12vw;
    font-size: 10vw;
}

#formulario{
	z-index: 99;
    background-color: transparent;
}

.correo_enviado{
	display: block;
    margin: 5vw auto;
    width: 95%;
    font-size: 4vw;
    color: #fff;
    font-family: "Fira Sans", sans-serif;
    font-weight: 200;
    text-align: center;
    line-height: 6vw;
}

.mensaje_error{
	display: block;
    margin: 5vw auto;
    width: 95%;
    font-size: 4vw;
    color: #E60303;
    font-family: "Fira Sans", sans-serif;
    font-weight: 400;
    text-align: center;
    line-height: 6vw;
}


.inputgris{
	background-color: #4E4E4E;
    border: none 0px;
    width: 95%;
    padding: 2vw 2.5%;
    border-radius: 2vw;
    text-align: center;
    color: #fff;
    font-family: "Fira Sans", sans-serif;
    font-weight: 400;
    height: 12vw;
    font-size: 5vw;
	display: block;
}

.inputgris::-webkit-input-placeholder { color: #fff; font-weight: 200;} /* Chrome, Safari, Opera */
.inputgris::-ms-input-placeholder { color: #fff; font-weight: 200;}     /* Internet Explorer 10+ */
.inputgris::placeholder { color: #fff; font-weight: 200;}

.btn_rojo{
    border: none 0px;
    width: 100%;
    padding: 2vw 0vw;
    border-radius: 12vw;
    text-align: center;
    color: #fff;
    font-family: "Fira Sans", sans-serif;
    font-weight: 400;
    height: 15vw;
    font-size: 5vw;
    display: block;
    background-color: #E60303;
    margin-top: 5vw;
	
}

h1{
	font-size: 7vw;
    line-height: 10vw;
    
    width: 84%;
    margin: 0 auto;
    text-align: center;
    font-weight: 200;
}

h1 strong{
	font-weight: 600;
}

h5{
	font-size: 4vw;
    font-weight: 200;
    line-height: 5vw;
}

.circulo{
	background-color: transparent;
    width: 60vw;
    height: 60vw;
    display: block;
    margin: 5vw auto 7vw;
    border: solid 2px #fff;
    border-radius: 35vw;
    overflow: hidden;
}

.custom-upload{
	display: inline-block;
    margin: 4vw 12% 4vw;
    width: 26%;
    height: auto;
	float: left;
}

.custom-upload img{
	    display: block;
    width: 100%;
}

.btn_blanco{
	border: none 0px;
    width: 100%;
    padding: 2vw 0vw;
    border-radius: 12vw;
    text-align: center;
    color: #353535;
    font-family: "Fira Sans", sans-serif;
    font-weight: 400;
    height: 8vw;
    font-size: 5vw;
    display: block;
    background-color: #fff;
    margin-top: 10vw;
}

.btn_blanco2{
	border: none 0px;
    width: 90%;
    padding: 2vw 0vw;
    border-radius: 12vw;
    text-align: center;
    color: #353535;
    font-family: "Fira Sans", sans-serif;
    font-weight: 400;
    height: 8vw;
    font-size: 5vw;
    display: block;
    background-color: #fff;
    margin-top: 10vw;
    position: absolute;
    left: 5vw;
    z-index: 60;
    bottom: 22vw;
}

.radio-group {
  display: inline-block;
    flex-direction: column;
    gap: 1vw;
    width: 50%;
    height: auto;
    margin: 3vw 0vw 0vw 0vw;
}

.radio {
      display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 4vw;
    user-select: none;
    font-weight: 400;
}

.workinprogress{
	font-size: 4vw;
    font-weight: 400;
}

.radio input {
  display: none;
}

.checkmark {
  width: 8vw;
    height: 8vw;
    border-radius: 1vw;
    background-color: #2c2c2c;
    margin: 2vw 3vw 2vw 0vw;
    position: relative;
    transition: all 0.2s ease;
}

.radio input:checked + .checkmark {
  background-color: #fff;
}
.radio input:checked + .checkmark::after {
  content: "✓";
  color: #000;
    font-weight: bold;
    position: absolute;
    top: 0vw;
    left: 2vw;
    font-size: 5vw;
}

.generacion_imagen{
	width: 100% !important;
	height: 100vh !important;
}
.imagen_preview{
	width: auto;
	height: 100vh;
	position: absolute;
	z-index: 50;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	font-weight: 200;
	font-size: 5vw;
}
.volver{
	font-size: 4vw;
    color: #E60303;
    /* text-align: center; */
    position: absolute;
    left: 50%;
    z-index: 60;
    bottom: 12vw;
    width: auto;
    text-align: center;
    font-weight: 400;
    border-bottom: solid 1px #E60303;
    transform: translateX(-50%);
    line-height: 5vw;
}



.option-group {
  display: flex;
    flex-direction: column;
    gap: 2vw;
    width: 90%;
    margin: 0 auto;
    height: auto;
}

.option {
  display: flex;
    align-items: center;
    background-color: #2c2c2c;
    color: #fff;
    border-radius: 3vw;
    padding: 3vw 2vw;
    cursor: pointer;
    transition: background-color 0.2s ease;

}

.option img {
      width: 14vw;
    height: auto;
    margin-right: 3vw;
    border-radius: 50%;
    margin-left: 3vw;
}

.option span {
      font-size: 3vw;
    line-height: 3vw;
    font-weight: 300;
}

.option.selected {
  background-color: #e50914;
}

.logocarga{
	    width: 40vw;
    height: auto;
    left: 50%;
    margin: 0 auto 5vw;
    animation: giro2 20s linear infinite;
    top: 37%;
    position: absolute;

}

#videoinprogress p{
	    width: 90%;
    margin: 0 5%;
    font-size: 4vw;
    font-weight: 400;
    position: absolute;
    /* top: 80%; */
    /* left: 50%; */
    /* transform: translate(-50%, -50%); */
    display: block;
	
}


@keyframes giro2 {
  from {
    transform: translate(-50%, -50%) rotate(0deg) translateZ(0);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg) translateZ(0);
  }
}



/* --------------------- VIDEO FINAL ------------------------------- */

 #videogenerado{
      width: 90%;
        height: auto;
        display: block;
        border: none 0px;
        position: fixed;
        top: 50%;
        left: 50%;
        filter: none;
        z-index: 1;
        transform: translate(-50%, -50%);
    }

    /* Contenedor fijo en la parte inferior, centrado horizontalmente */
    .share-bar{
      position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 7vw;
    display: flex;
    gap: 4vw;
    background: transparent;
    z-index: 9999;
    align-items: center;
    padding: 0vw;
    pointer-events: auto;
    }

    /* Botón redondo */
    .share-btn{
      width: auto;
    height: auto;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
     user-select: none;
    -webkit-tap-highlight-color: transparent;
    outline: none;
    }

    /* sin rollover: no estilos :hover ni :active visual extra */
    .share-btn:focus {
      /* accesibilidad: foco visible */
      box-shadow: 0 0 0 3px rgba(255,255,255,0.06);
    }

    .share-btn img{
      width: 9vw;
      height: auto;
      display:block;
    }
	
	.inferior{
	width: 100%;
    margin: 0 auto;
}
}