/* Reset CSS */

@font-face {
    font-family: 'FSBold';
    src: url('../font/FS_Joey-Bold.otf');
}

@font-face {
    font-family: 'FSMedium';
    src: url('../font/FS_Joey-Medium.otf');
}

@font-face {
    font-family: 'FSRegular';
    src: url('../font/FS_Joey-Regular.otf');
}

@font-face {
    font-family: 'FSLight';
    src: url('../font/FS_Joey-Light.otf');
}

:root {
    --vh: 1vh; /* Valor inicial por defecto */
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Estilos generales */
body {
    font-family: FSRegular;
    background-color: #FFFFFF;
    color: #000000;
    font-size:1em;
    overflow: hidden;
    height: calc(var(--vh) * 100);
}

.loader{
    width: 100vw;
    height: calc(var(--vh) * 100);
    position: absolute;
    top: 0;
    left: 0;
    background-color: #FFFFFF;
    opacity: 0.9;
    z-index: 99;
    display: flex;
    justify-content: center;
    align-items: center;
}

.loader .icon{
    width: 50px;
    height: 50px;
    border: 5px solid #f3f3f3; /* Borde gris claro */
    border-top: 5px solid #F40A06; /* Borde azul */
    border-radius: 50%; /* Hace que sea un círculo */
    animation: spin 1s linear infinite; /* Animación de giro */
    margin: 50px auto; /* Centrado en la página */
}

.warning{
    width: 100vw;
    height: calc(var(--vh) * 100);
    position: absolute;
    top: 0;
    left: 0;
    background-color: #FFFFFF;
    z-index: 99;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: calc(var(--vh) * 3);
}

/* Animación del giro */
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}


.page{
    width:100vw;
    height: calc(var(--vh) * 100);
    position:absolute;
    top:0;
    left:0;
    font-style: normal;
    overflow: hidden;
}

.circle_decoration{
    width: 24vw;
    height: calc(var(--vh) * 102);
    background: #F40A06;
    -moz-border-radius: 0 100% 100% 0;
    -webkit-border-radius: 0 100% 100% 0;
    border-radius: 0 100% 100% 0;
    position: fixed;
    left: -4vw;
    margin-top: -1ch;
    z-index:1;
}

.content_button .button:active {
    transform: scale(0.95); /* Simula un efecto de hundimiento */
}

/* INTRO */

.intro .content_background{
    width:100%;
    position:absolute;
    bottom:0;
    left:0;
    height: calc(var(--vh) * 42);
    z-index:-1;
}

.intro .content_background img{
    object-fit: cover;
    object-position: top;
    height:100%;
    width: 100%;
}

.intro .logo{
    width: 100%;
    height: 36vw;
    position: relative;
    float: left;
    clear: both;
    margin-left: 34vw;
    margin-top: calc(var(--vh) * 5);
}

.intro .logo img{
    object-fit: contain;
    width:auto;
    height: 100%;
}

.intro .description{
    width: 100%;
    height: auto;
    position: relative;
    float: left;
    clear: both;
    font-size: calc(var(--vh) * 3);
    padding: calc(var(--vh) * 7) 10vw calc(var(--vh) * 3) 28vw;
    line-height: calc(var(--vh) * 4);
    text-align: center;
}

.intro .claim{
    width: 100%;
    height: auto;
    position: relative;
    float: left;
    clear: both;
    font-size: calc(var(--vh) * 2.6);
    padding: calc(var(--vh) * 3) 10vw calc(var(--vh) * 7) 28vw;
    line-height: calc(var(--vh) * 3.5);
    text-align: center;
    font-family: FSBold;
}

.intro .content_button{
    width: 100%;
    height: auto;
    position: relative;
    float: left;
    clear: both;
    display: flex;
    justify-content: center;
    margin-left: calc(var(--vh) * 4);
}

.intro .content_button .button{
    background: #F40A06;
    color: #FFFFFF;
    font-size: calc(var(--vh) * 2.8);
    width: 45%;
    height: calc(var(--vh) * 6);
    display: flex;
    justify-content: center;
    align-items: center;
}

/* CUESTIONARIO */

.cuestionario .circle_decoration{
    width: 21vw;
}

.cuestionario .logo{
    width: 100%;
    height: calc(var(--vh) * 14);
    position: relative;
    float: left;
    clear: both;
    margin-top: calc(var(--vh) * 12);
    text-align: center;
}

.cuestionario .logo img{
    object-fit: contain;
    width:auto;
    height: 100%;
}

.cuestionario .description{
    width: 100%;
    height: auto;
    position: relative;
    float: left;
    clear: both;
    font-size: calc(var(--vh) * 3);
    padding: calc(var(--vh) * 7) 17vw calc(var(--vh) * 3) 17vw;
    line-height: calc(var(--vh) * 4);
    text-align: center;
    z-index: 2;
}

.cuestionario .description b{
    font-family: FSBold;
}

.cuestionario .content_options{
    width:100%;
    height: auto;
    position:relative;
    float:left;
    clear: both;
    padding: 0 7vw;
    z-index: 1;
}

.cuestionario .content_options .option{
    width:100%;
    float:left;
    border-radius: 30px;
    border: 2px #656565 solid;
    margin-bottom:calc(var(--vh) * 3);
    background-color: #FFFFFF;
}

.cuestionario .content_options .option:hover{
    background: #F40A06;
    border:2px #F40A06 solid;
}

.cuestionario .content_options .option:hover .image img.off{
    display:none;
}

.cuestionario .content_options .option:hover .image img.on{
    display:block;
}

.cuestionario .content_options .option .text{
    width:40%;
    height: calc(var(--vh) * 3);
    float:left;
    display: block;
    font-size: 5vw;
    padding: calc(var(--vh) * .7) calc(var(--vh) * 2);
}

.cuestionario .content_options .option:hover .text{
    color:#FFFFFF;
}

.cuestionario .content_options .option .image{
    width:60%;
    height:100%;
    float:left;
    text-align: right;
    padding: calc(var(--vh) * .7) calc(var(--vh) * 2);
    display: flex;
    justify-content: end;
}

.cuestionario .content_options .option .image img{
    object-fit: contain;
    height: calc(var(--vh) * 3);
    width: auto;
}

.cuestionario .content_options .option .image img.on{
    display:none;
}

.cuestionario .content_button{
    width: 100%;
    height: auto;
    position: relative;
    float: left;
    clear: both;
    display: flex;
    justify-content: center;
    margin-top:calc(var(--vh) * 3);
}

.cuestionario .content_button .button{
    background: #F40A06;
    color: #FFFFFF;
    font-size: calc(var(--vh) * 2.8);
    width: 45%;
    height: calc(var(--vh) * 6);
    display: flex;
    justify-content: center;
    align-items: center;
}

/* INFO */

.info .circle_decoration{
    width: 21vw;
}

.info .logo{
    width: 100%;
    height: calc(var(--vh) * 14);
    position: relative;
    float: left;
    clear: both;
    margin-top: calc(var(--vh) * 6);
    text-align: center;
    margin-left: 5vw;
}

.info .logo img{
    object-fit: contain;
    width:auto;
    height: 100%;
}

.info .description{
    width: 100%;
    height: auto;
    position: relative;
    float: left;
    clear: both;
    font-size: calc(var(--vh) * 3);
    padding: calc(var(--vh) * 5) 11vw calc(var(--vh) * 3) 24vw;
    line-height: calc(var(--vh) * 3);
    text-align: center;
    z-index: 2;
}

.info .description p{
    font-size:calc(var(--vh) * 2.5);
    margin-top:calc(var(--vh) * 2);
}

.info .pack{
    width: 100%;
    height: auto;
    position: relative;
    float: left;
    clear: both;
    padding: 0 11vw 0 20vw;
    text-align: center;
}

.info .pack img{
    object-fit: contain;
    height: calc(var(--vh) * 32);
    width:auto;
}

.info .claim{
    width: 100%;
    height: auto;
    position: relative;
    float: left;
    clear: both;
    font-size: calc(var(--vh) * 2.3);
    padding: calc(var(--vh) * 2) 11vw calc(var(--vh) * 3) 24vw;
    line-height: calc(var(--vh) * 2.5);
    text-align: left;
    z-index: 2;
}

.info .claim h1{
    font-size:calc(var(--vh) * 4);
    line-height: calc(var(--vh) * 4);
    font-family: FSBold;
}

.info .claim p{
    margin-top:calc(var(--vh) * 1);
}

.info .back{
    background: #F40A06;
    color: #FFFFFF;
    font-size: calc(var(--vh)* 2.8);
    width: 20%;
    height: calc(var(--vh)* 4);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 3%;
    bottom: calc(var(--vh)* 2);
}

/* Ocultar en dispositivos más grandes */
@media screen and (max-width: 768px) and (orientation: portrait) {
    .warning {
        display: none;
    }
}
