@import 'variables.css';

html{
    width: 100%;
    background-color: var(--color_fondo);
    font-size: 16px;
    scroll-behavior:smooth;
}
  
body{
    margin: 0;
    font-family: "Arial", serif;
    color: white;
    width: 100%;
    scroll-behavior: smooth;
}

a{
    all: unset;
    cursor: pointer;
}

.flex{
    display: flex;
    justify-content: center;
    align-items: center;
}

.unselectable{
    -webkit-user-select: none; /* Safari */        
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* IE10+/Edge */
    user-select: none; /* Standard */
}

/*------------------------SCROLLBAR----------------------*/

::-webkit-scrollbar {
    width: 9px;
}
::-webkit-scrollbar-corner {
    background-color: transparent;
}
::-webkit-scrollbar-thumb, ::-webkit-scrollbar-thumb:hover {
    background: hsl(246, 11%, 22%);

}
::-webkit-scrollbar-thumb {
    border-radius: 5px;
}
::-webkit-scrollbar-track {
    background: transparent;
}



/*-----------------------LOADER----------------------*/

.contenedor_loader{
    width: 100%;
    height: 100%;
    height: 100vh;
    height: 100lvh;
    background-color: var(--color_fondo);
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;

}

.contenedor_loader::-webkit-scrollbar{
    display: none;
}

#cuerpo{
    overflow: hidden;
}

.loader {
    display: flex;
    align-items: center;
}
  
.bar {
    display: inline-block;
    width: 4.5px;
    height: 30px;
    background-color: hsl(246, 11%, 22%);
    border-radius: 15px;
    animation: scale-up4 1s linear infinite;
}
  
.bar:nth-child(2) {
    height: 52.5px;
    margin: 0 0.5rem;
    animation-delay: .25s;
}
  
.bar:nth-child(3) {
    animation-delay: .5s;
}
  
@keyframes scale-up4 {
    20% {
      background-color: hsl(244, 100%, 97%);
      transform: scaleY(1.5);
    }
  
    40% {
      transform: scaleY(1);
    }
}


/*-----------------HEADER--------------------*/
#header{
    position: fixed;
    top: 0;
    z-index: 10;
    width: 100%;
    height: var(--height_header);
    padding-top: 10px;
    padding-bottom: 10px;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    background-color: rgba(13, 17, 23, 0.01);
    display: flex;
    justify-content: left;
    align-items: center;
    transition: background-color 0.2s ease-in-out;
}

#logo{
    height: 30px;
}

#a_logo{
    padding-left: 10%;
}

#cont_navs{
    padding-right: 100px;
    width: 100%;
    list-style: none;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: right;
}

.links{
    padding-right: 20px;
}


/*---------------------PORTADA--------------------*/
#portada{
    overflow: hidden;
    height: 103svh;
    background: var(--color_fondo_portada);
    clip-path: polygon(0 0%, 100% 0, 100% 100%, 0 94%);
}

#cont_texto_portada{
    padding-left: 10%;
    width: 100%;
    z-index: 1;
}

#cilindro_titulo{
    animation-name: spining;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-duration: 14s;
    transform-style: preserve-3d;
    inset: 0;
    transform-origin: 36px 36px 0;
}

#arreglo_titulo{
    display: flex;
}

.titulo{
    font-size: var(--font_titulo);
    margin: 0;
    background: var(--gradient_texto_portada);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: absolute;
    -webkit-backface-visibility: hidden;
}

#face1{
    transform: translateZ(36px);
}

#face2{
    transform: rotateX(117deg) translateZ(36px);
}

#face3{
    transform: rotateX(240deg) translateZ(36px);
}

#texto_titulo{
    font-size: var(--font_titulo);
    margin: 0;
}

#texto_hidden{
    font-size: var(--font_titulo);
    margin: 0;
    visibility: hidden;
}

#cont_titulo{
    height: fit-content;
}

#descripcion_titulo{
    font-size: var(--font_descripcion);
    max-width: 600px;
    margin-bottom: 30px;
    color: var(--color_descripcion);
}

#img_portada{ 
    position: absolute;
    height: 430px;
    right: 0;
    margin-right: -20px;
    margin-top: -200px;
}

#img_lineas_portada{
    position: absolute;
    margin-top: 230px;
    /*top: 350px;*/
    right: 545px;
    height: 240px;
}

#boton_contacto_portada{
    all: unset;
    border: 1px solid var(--color_fondo);
    border-radius: 10px;
    /*background-color: var(--color_boton_contacto);*/
    background: var(--gradient_texto_portada);
    padding-top: 10px;
    padding-bottom: 10px;
    width: 250px;
    font-size: var(--font_descripcion);
    text-align: center;
}

@keyframes spining{
    0%, 100% {
        transform: rotateX(0deg);
    }
    0%, 25% {
        transform: rotateX(0deg);
    }
    33%, 58% {
        transform: rotateX(117deg);
    }
    66%, 92% {
        transform: rotateX(240deg);
    }
    100% {
        transform: rotateX(1turn);
    }
}

#boton_contacto_portada:hover{
    background: var(--gradient_texto_portada_hover);
    border: 1px solid #a1a0ab;
}

/*-----------------CARACTERISTICAS-----------------*/
.seccion{
    height: auto;
    position: relative;
}

.cont_icono_seccion{
    margin-top: -50px;
    width: 100%;
    margin-bottom: 50px;
}
.icono_seccion{
    height: 70px;
    z-index: 1;
}

.texto_seccion{
    width: fit-content;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding-left: 5%;
    padding-right: 5%;
}

.titulo_seccion_color{
    font-size: 25px;
    font-weight: 600;
}

.titulo_seccion{
    font-size: 30px;
    font-weight: 700;
}

.linea_seccion{
    width: 180px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    height: 1px;
    border: 0;
}

.subtitulo_seccion{
    font-size: 18px;
}

.cont_tarjetas{
    padding-top: 100px;
    padding-left: 12%;
    padding-right: 12%;
    padding-bottom: 100px;

    display: flex;
    align-items: center;
    justify-content: center;
}

#cont_tarjetas_sec2{
    padding-bottom: 150px;
}

.espacio_medio_tarjetas{
    width: auto;
    height: 450px;
}

.linea_medio_tarjetas{
    width: 1rem;
    height: 140%;
}

.icono_linea_medio{
    width: 3.5rem;
    margin-top: 0;
}

.columnas_tarjetas{
    width: 35%;
    margin-left: auto;
    margin-right: auto;
}

.tarjeta{
    border-radius: 10px;
    margin-bottom: 30px;
}

.texto_tarjeta{
    padding-left: 40px;
    padding-top: 20px;
    padding-bottom: 40px;
    padding-right: 20%;
}


.titulo_tarjeta{
    font-size: var(--font_titulo_tarjeta);
    font-weight: 600;
}

.descripcion_tarjeta{
    font-size: var(--font_descripcion_tarjeta);
    color: var(--color_descripcion);
    position: relative;
    z-index: 1;
}

.cont_icono_tarjeta{
    position: relative; 
    width: 100%;
}

.icono_tarjeta{
    height: 100px;
    position: absolute;
    right: 0;
    top: -100px;
}

#separacion2{
    clip-path: polygon(0 0, 100% 0, 100% 0%, 0 100%);
    margin-top: -5px;
    width: 100%;
    height: 4rem;
    background-color: var(--color_fondo);
    position: relative;
}

#seccion2{
    clip-path:polygon(0 0%, 100% 0, 100% 100%, 0 96%);
    background: var(--color_fondo_sec2);
}

#color_titulo_sec1{
    color: var(--seccion1_color1);
}
#color_linea_sec1{
    background-color: var(--seccion1_color1);
}
.color_borde_sec1{
    border: 2px solid var(--seccion1_color2);
    transform: translateY(20px);
    opacity: 0;
    box-shadow: rgba(23, 92, 230, 0.15) 0px 4px 24px;
}
.color_titulo_tarjeta_sec1{
    color: var(--seccion1_color3);
}
#color_linea_medio_sec1{
    background: var(--linea_medio_sec1);
}

#color_titulo_sec2{
    color: var(--seccion2_color1);
}
#color_linea_sec2{
    background-color: var(--seccion2_color1);
}
.color_borde_sec2{
    border: 2px solid var(--seccion2_color2);
    background-color: var(--color_fondo2);
    transform: translateY(20px);
    opacity: 0;
    box-shadow: rgba(132, 59, 206, 0.15) 0px 4px 24px;
}
.color_titulo_tarjeta_sec2{
    color: var(--seccion2_color3);
}
#color_linea_medio_sec2{
    background: var(--linea_medio_sec2);
}

.tarjeta_contacto{
    text-decoration: none;
    border: 2px solid white;
    --tw-border-opacity: 0.1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity));
    padding-right: 40px;
    padding-bottom: 20px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transform: translateY(20px);
    transition: border 0.4s ease-in-out, box-shadow 0.4s ease-in-out, opacity 0.4s ease-in-out;
    
}

.tarjeta_contacto:hover{
    border: 2px solid var(--borde_contacto);
    box-shadow: rgba(132, 59, 206, 0.15) 0px 4px 24px;
    transition: border 0.2s ease-in-out, box-shadow 0.2s ease-in-out, opacity 0.2s ease-in-out;
}
.tarjeta_contacto:hover img{
    transition: border 0.2s ease-in-out, box-shadow 0.2s ease-in-out, opacity 0.2s ease-in-out;
}

.tarjeta_contacto img{
    align-self: right;
    width: 50px;
    transition: border 0.4s ease-in-out, box-shadow 0.4s ease-in-out, opacity 0.4s ease-in-out;
}

.contenedor_imagenes_contacto{
    position: relative; 
}
.img_colorida{
    opacity: 0;
}
.img_opaca{
    position: absolute; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%);
    opacity: 0.1;
}

.contenedor_datos_tarjeta{
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.contenedor_titulo_tarjeta{
    font-size: var(--font_descripcion);
    font-weight: 600;
    color:white;
}
.contenedor_subtitulos_tarjeta{
    font-size: 16px;
    color: var(--color_descripcion);
}



.img_contacto{
    width: 5px;
}

#cont_tarjetas_contacto{
    gap: 20px;
    padding-left: 0;
    padding-right: 0;
    padding-top: 50px;

}

#contacto{
    border: 2px solid white;
    --tw-border-opacity: 0.1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity));

    --tw-bg-opacity: 0.05;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));

    margin: 0;
    padding: 0;
    padding-top: 50px;
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 20px;
    max-width: 1250px;
    margin: auto;
    
}

#titulo_contacto{
    text-align: center;
}
#seccion_contacto{
    padding-top: 100px;
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 100px;
    background-image: var(--fondo_sec_contacto);
}




#footer{
    width: fit-content;
    margin: auto;
    padding-top: 200px; 
    height: 40px;
}
#cont_img_footer{
    width: 100%;
}
#img_footer{
    height: 25px;
}
.texto_footer{
    width: fit-content;
    font-size: var(--font_footer);
    color: white;
    margin: auto;
    margin-top: 16px;
    margin-bottom: 16px;
}