/*--------------------------------------------------------------
# Principal
--------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;500;600;900&display=swap');

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
    transition: .2s;
}

html {
    scroll-behavior: smooth;
}

.body {
    padding: 0 10px;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #011015;
}

:root {
    --8-size: 8px;
    --12-size: 12px;
    --14-size: 14px;
    --16-size: 16px;
    --20-size: 20px;
    --39-size: 30px;

    --gradiant-primary: linear-gradient(120deg, #d4fc79 0%, #96e6a1 100%);
    --gradiant-secondary: linear-gradient(120deg, #109C91 0%, #077067 100%);

    --color-primary: #109C91;
    --color-primary-opacity: #109c9025;
    --color-secondary: #052833;
    --color-secondary-opacity: #05283325;
    --color-tertiary: #031b21;
    --color-white: #ffffff;

    --weight-400: 400;
    --weight-500: 500;
    --weight-600: 600;
    --weight-800: 800;

    /* Intereses */
    --interes-color1: #ffede3;
    --interes-color2: #ffe1e9;
    --interes-color3: #d9fbed;
    --interes-color4: #d9ebfb;
    --interes-color5: #E2fba4;

    --interes-color1-dark: #c5835c;
    --interes-color2-dark: #c86383;
    --interes-color3-dark: #60bd9b;
    --interes-color4-dark: #49a9fd;
    --interes-color5-dark: #96be2f;
}

.bold-text {
    font-weight: var(--weight-600);
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 0;
}

img {
    user-select: none;
    pointer-events: none;
    vertical-align: top !important;
}

.cookies.active {
    opacity: 1;
}

.back-to-top.active2 {
    visibility: visible;
    opacity: 1;
}

.navegador_lateral.active3 {
    left: 0;
    overflow: auto;
}

.navegador .botones a.activo::after {
    transform: scaleX(1);
}

/*--------------------------------------------------------------
# Separación
--------------------------------------------------------------*/

.horizontal {
    height: 2px !important;
    background-color: transparent;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), #109C91, rgba(0, 0, 0, 0));
}

/*--------------------------------------------------------------
# Selección
--------------------------------------------------------------*/

::selection {
    background-color: var(--color-primary);
    color: white;
}

/*--------------------------------------------------------------
# Scroll
--------------------------------------------------------------*/

::-webkit-scrollbar {
    width: 13px;
    height: 11px;
}

::-webkit-scrollbar-track {
    background-color: var(--color-secondary);
}

::-webkit-scrollbar-thumb {
    background: var(--gradiant-secondary);
    border-radius: 5px;
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/

.preloader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    overflow: hidden;
    background: var(--color-secondary);
    display: flex;
    justify-content: center;
    align-items: center;
}

.preloader .contenido,
.preloader .imagen {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.preloader .imagen {
    position: absolute;
    opacity: 0;
}

.preloader .ring {
    width: 200px;
    height: 200px;
    border: 0px solid #011015;
    border-radius: 50%;
    position: absolute;
}

.preloader .loading {
    color: var(--color-white);
}

.desaparecer {
    animation: desaparecer .4s linear forwards;
}

.aparecer {
    animation: aparecer .8s linear forwards;
}

.cambio-fondo {
    background-color: #0b2436;
    transition: 1s;
    opacity: 1;
}

@keyframes desaparecer {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes aparecer {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes cambio-fondo {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.preloader .ring:nth-child(1) {
    border-bottom-width: 8px;
    border-color: rgb(255, 0, 255);
    animation: rotate1 2s linear infinite;
}

.preloader .ring:nth-child(2) {
    border-right-width: 8px;
    border-color: rgb(0, 247, 255);
    animation: rotate2 2s linear infinite;
}

.preloader .ring:nth-child(3) {
    border-top-width: 8px;
    border-color: rgb(0, 255, 13);
    animation: rotate3 2s linear infinite;
}

@keyframes rotate1 {
    0% {
        transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
    }

    100% {
        transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);

    }
}

@keyframes rotate2 {
    0% {
        transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
    }

    100% {
        transform: rotateX(50deg) rotateY(-10deg) rotateZ(360deg);

    }
}

@keyframes rotate3 {
    0% {
        transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
    }

    100% {
        transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);

    }
}

@media (max-width: 1199px) {
    .preloader .imagen {
        width: 30%;
    }
}

@media (max-width: 991px) {
    .preloader .imagen {
        width: 40%;
    }
}

@media (max-width: 767px) {
    .preloader .imagen {
        width: 50%;
    }
}

@media (max-width: 479px) {
    .preloader .imagen {
        width: 80%;
    }
}

/*--------------------------------------------------------------
# Modal promociones
--------------------------------------------------------------*/

.modal-promociones {
    position: fixed;
    background: var(--color-white);
    border-radius: 0.5em;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    width: 40em;
    height: min-content;
    max-width: 90%;
    max-height: 90%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 3001;
    animation: modal 2s 1s;
    animation-fill-mode: forwards;
    visibility: hidden;
    opacity: 0;
}

@keyframes modal {
    100% {
        visibility: visible;
        opacity: 1;
    }
}

.modal-promociones .margen {
    display: flex;
    flex-direction: column;
    position: relative;
    border: var(--color-primary) 2px solid;
    margin: 20px;
    border-radius: 0.5em;
}

.modal-promociones .imagen {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 20px 0 20px;
    animation: gift 2s infinite linear;
}

@keyframes gift {
    0% {
        transform: translateX(0);
    }

    20% {
        transform: translateX(-5px);
    }

    40% {
        transform: translateX(0);
    }

    60% {
        transform: translateX(0);
    }

    80% {
        transform: translateX(5px);
    }

    100% {
        transform: translateX(0);
    }
}

.modal-promociones .texto .descripcion {
    padding: 20px 50px 0 50px;
    font-size: var(--16-size);
    font-weight: 300;
    color: var(--color-secondary);
    font-style: italic;
    margin-bottom: 10px;
    text-align: center;
}

.modal-promociones .descripcion a {
    color: var(--color-primary);
    font-weight: var(--weight-500);
    background: none;
    border-color: transparent;
    text-decoration: underline var(--color-primary);
    font-size: var(--16-size);
}

.modal-promociones .texto .subtitulo {
    padding: 20px 50px 0 50px;
    font-size: var(--20-size);
    font-weight: 700;
    color: var(--color-secondary);
    margin-bottom: 30px;
    text-align: center;
}

.modal-promociones .subtitulo span:first-child {
    color: var(--color-primary);
}

.modal-promociones .subtitulo span:last-child {
    color: var(--color-secondary);
}

.modal-promociones .botones {
    background-color: var(--color-primary-opacity);
    padding: 20px 20px 20px 20px;
}

.modal-promociones .btn1 {
    background-color: var(--color-primary);
    border: 2px var(--color-primary) solid;
    color: var(--color-white);
    font-size: var(--16-size);
    padding: 10px 25px;
    border-radius: 12px;
    transition: .4s;
}

.modal-promociones .btn1:hover {
    background-color: transparent;
    color: var(--color-primary);
    border: 2px var(--color-primary) solid;
    transition: .4s;
}

.modal-promociones .btn2 {
    color: var(--color-primary);
    background: none;
    border-color: transparent;
    text-decoration: underline var(--color-primary);
    font-size: var(--16-size);
}

@media (max-width: 479px) {
    .modal-promociones .texto .descripcion {
        padding: 20px 20px 0 20px;
    }
}

/*--------------------------------------------------------------
# Contenedor general
--------------------------------------------------------------*/

#contenedor {
    animation: trasparencia 2s 1s;
    animation-fill-mode: forwards;
    visibility: hidden;
    opacity: 0;
    z-index: 3000;
}

@keyframes trasparencia {
    100% {
        visibility: visible;
        opacity: 0.5;
    }
}

@keyframes trasparencia2 {
    100% {
        visibility: visible;
        opacity: 0.5;
    }
}

/*--------------------------------------------------------------
# Ir arriba y botón de promociones
--------------------------------------------------------------*/

.back-to-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 30px;
    bottom: 30px;
    background: var(--color-primary);
    width: 55px;
    height: 55px;
    border-radius: 30px;
    transition: .4s;
    text-decoration: none;
    animation: action 1s infinite alternate;
    z-index: 1050;
}

.promociones {
    position: fixed;
    visibility: visible;
    left: 30px;
    bottom: 30px;
    background: var(--color-primary);
    width: 55px;
    height: 55px;
    border-radius: 30px;
    transition: .4s;
    text-decoration: none;
    animation: action 1s infinite alternate;
    z-index: 1050;
}

.back-to-top i,
.promociones i {
    color: var(--color-white);
    line-height: 0;
}

.back-to-top:hover,
.promociones:hover {
    background: var(--color-secondary);
    color: var(--color-white);
}

@keyframes action {
    0% {
        transform: translateY(0);
    }

    100% {
        transform: translateY(-10px);
    }
}

/*--------------------------------------------------------------
# Cookies
--------------------------------------------------------------*/

.cookies {
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    padding: 16px;
    z-index: 1070;
    opacity: 0;
    transition: opacity .5s linear;
}

.cookies .principal {
    max-width: 1200px;
    background-color: var(--color-secondary);
    margin-left: auto;
    margin-right: auto;
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0px 2px 15px var(--color-secondary);
}

.cookies .uno,
.cookies .uno a {
    color: var(--color-white);
    font-size: var(--16-size);
}

.cookies .uno i {
    font-size: 40px;
}

.cookies .uno p {
    font-weight: 300;
    font-size: var(--16-size);
}

.cookies .btn1 {
    color: var(--color-white);
    background: none;
    border-color: transparent;
    text-decoration: underline rgba(255, 254, 254);
    font-size: var(--16-size);
}

.cookies .btn2 {
    background-color: var(--color-primary);
    border: 2px var(--color-primary) solid;
    color: var(--color-white);
    font-size: var(--16-size);
    padding: 10px 25px;
    border-radius: 12px;
    transition: .4s;
}

.cookies .btn2:hover {
    background-color: transparent;
    color: var(--color-white);
    border: 2px var(--color-primary) solid;
    transition: .4s;
}

@media (max-width: 767px) {

    .cookies .uno,
    .cookies .uno a,
    .cookies .uno p,
    .cookies .btn1,
    .cookies .btn2 {
        font-size: var(--12-size);
    }
}

/*--------------------------------------------------------------
# Topbar
--------------------------------------------------------------*/

.topbar {
    background-image: var(--gradiant-primary);
    user-select: auto !important;
}

.topbar .redes {
    font-weight: 300;
    font-size: var(--14-size);
}

.topbar .redes .redes-texto {
    font-weight: 300;
    font-size: var(--14-size);
}

.topbar .redes .redes-texto a {
    color: var(--color-secondary);
    text-decoration: none;
}

@media (max-width: 479px) {
    .topbar {
        display: none;
    }

    .toggle {
        top: 10px !important;
    }
}

/*--------------------------------------------------------------
# Navegador
--------------------------------------------------------------*/

.navegador {
    box-shadow: 0px 2px 15px rgba(25, 147, 204, 0.1);
    background-color: var(--color-white);
}

.navegador .contenido {
    top: 0;
    left: 0;
    width: 100%;
    padding: 15px 0px 15px 0;
    background: var(--color-white);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.navegador .logo {
    font-size: var(--20-size);
    font-weight: 700;
    user-select: none;
}

.navegador .logo span:first-child {
    color: var(--color-primary);
}

.navegador .logo span:last-child {
    color: var(--color-secondary);
}

.navegador .botones {
    display: flex;
    gap: 40px;
}

.navegador .botones a {
    position: relative;
    font-size: var(--14-size);
    color: var(--color-primary);
    text-decoration: none;
    font-weight: var(--weight-500);
}

.navegador .botones a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 2px;
    background: var(--color-primary);
    border-radius: 5px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .5s;
}

.navegador .botones a:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

/*--------------------------------------------------------------
# Navegador lateral
--------------------------------------------------------------*/

.navegador_lateral {
    margin: 0;
    padding: 0;
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: var(--color-primary);
    z-index: 1100;
}

.navegador_lateral ul {
    margin: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-decoration: none;
    text-align: center;
}

.navegador_lateral ul li {
    list-style: none;
    text-decoration: none;
}

.navegador_lateral ul li a {
    padding: 10px;
    display: inline-block;
    font-family: verdana;
    font-size: 2em;
    text-decoration: none;
    text-transform: uppercase;
    color: var(--color-white);
}

.navegador_lateral ul li a:hover {
    color: #000000;
    background: #fff564;
}

/*--------------------------------------------------------------
# Burger
--------------------------------------------------------------*/

.toggle {
    position: fixed;
    top: 75px;
    right: 15px;
    z-index: 2000;
    display: none;
}

.toggle a {
    text-decoration: none;
    color: #262626;
    font-size: 24px;
    cursor: pointer;
}

@media (max-width: 767px) {
    .toggle {
        display: block;
    }

    .navegador .contenido {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .navegador .botones {
        display: none;
    }
}

/*--------------------------------------------------------------
# Darkmode
--------------------------------------------------------------*/

/* .checkbox {
    position: relative;
    width: 40px;
    height: 20px;
    -webkit-appearance: none;
    appearance: none;
    background-color: #3960B4;
    border-radius: 12px;
    transition: background-color 0.5s ease;
    cursor: pointer;
}
.checkbox::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--color-white);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: transform 0.5s ease;
}
.checkbox:checked {
    background-color: #213764;
}
.checkbox:checked::before {
    transform: translateX(19px);
} */

/*--------------------------------------------------------------
# Lenguajes
--------------------------------------------------------------*/

.language {
    position: relative;
    width: 120px;
    z-index: 10000;
    font-weight: 300;
    font-size: var(--14-size);
    user-select: none;
}

.language-selected-es {
    display: flex;
    align-items: center;
    z-index: 10000;
    color: #000;
    cursor: pointer;
}

.language-selected-es:before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-bottom: -10px;
    background-image: url(../img/flag-spanish.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 10px;
}

.language-selected-en {
    display: flex;
    align-items: center;
    z-index: 10000;
    color: #000;
    cursor: pointer;
}

.language-selected-en:before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-bottom: -10px;
    background-image: url(../img/flag-english.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 10px;
}

.language ul {
    position: absolute;
    width: 150px;
    background-color: var(--color-white);
    border: 1px solid #f8f8f8;
    padding: 0px !important;
    box-shadow: 0px 1px 20px -10px rgba(0, 0, 0, 0.5);
    display: none;
}

.language ul li {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    list-style: none;
}

.language ul li a {
    display: block;
    color: #252525;
    padding: 5px 10px;
    text-decoration: none;
}

.language ul li:hover {
    background-color: #f8f8f8;
}

.language ul li a:before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    margin-bottom: -10px;
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 10px;
}

a.en:before {
    background-image: url(../img/flag-english.png);
}

a.es:before {
    background-image: url(../img/flag-spanish.jpg);
}

.language:hover ul {
    display: block;
}

/*--------------------------------------------------------------
# lenguajes Lateral
--------------------------------------------------------------*/

.language-lateral .language2 {
    position: fixed;
    top: 20px;
    left: 15px;
    z-index: 1099;
    display: none;
}

.language-lateral .ul {
    position: fixed;
    top: 45px;
    left: 15px;
    width: 150px;
    background-color: var(--color-white);
    border: 1px solid #f8f8f8;
    padding: 0px !important;
    box-shadow: 0px 1px 20px -10px rgba(0, 0, 0, 0.5);
    z-index: 1099;
    display: none;
}

.language-lateral .ul .li {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    list-style: none;
    user-select: none;
}

.language-lateral .ul .li a {
    display: block;
    color: black;
    font-weight: 300;
    padding: 5px 10px;
    text-decoration: none;
}

.ul .li:hover {
    background-color: #f8f8f8;
}

.language-lateral .ul .li a:before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    margin-bottom: -10px;
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 10px;
}

@media (max-width: 479px) {
    .language-lateral .language2 {
        display: block;
    }
}

/*--------------------------------------------------------------
# Banner principal
--------------------------------------------------------------*/

.banner {
    height: 600px;
    background-color: #109c9013;
}

.banner .titulo {
    font-size: 60px;
    font-weight: 300;
    color: var(--color-primary);
}

.banner .subtitulo {
    font-size: 20px;
    font-weight: 300;
    color: var(--color-secondary);
}

.banner .boton {
    margin-top: 40px;
    height: max-content;
}

.banner .boton_contactar {
    background-color: var(--color-secondary);
    border: 2px var(--color-secondary) solid;
    color: var(--color-white);
    font-size: var(--14-size);
    width: max-content;
    padding: 15px 35px;
    border-radius: 12px;
    transition: .4s;
    user-select: none;
    text-decoration: none;
}

.banner .boton_contactar:hover {
    background-color: transparent;
    color: var(--color-primary);
    border: 2px var(--color-primary) solid;
    transition: .4s;
}

.banner .imagen {
    right: 130px;
    width: 35%;
    z-index: -1;
}

.imagen_bottom {
    z-index: -2;
}

@media (max-width: 1199px) {
    .banner .imagen {
        right: 0px;
        width: 40%;
    }
}

@media (max-width: 991px) {
    .banner .titulo {
        font-size: 40px;
    }
}

@media (max-width: 767px) {
    .banner .imagen {
        display: none;
    }

    .banner .principal {
        text-align: center;
        padding-right: 0 !important;
    }

    .banner .titulo {
        text-align: center;
    }

    .banner .subtitulo {
        text-align: center;
        font-size: var(--16-size);
    }

    .banner .boton {
        display: flex;
        justify-content: center;
        align-items: center;
    }
}

@media (max-width: 479px) {
    .banner .principal {
        padding-top: 30px !important;
    }
}

/*--------------------------------------------------------------
# Nosotros
--------------------------------------------------------------*/

.nosotros {
    padding-top: 150px;
    padding-bottom: 100px;
}

.nosotros h2 {
    font-size: 40px;
    margin-bottom: 30px;
    color: var(--color-primary);
    border-bottom: 2px var(--color-primary) solid;
    user-select: none;
}

.nosotros p {
    font-size: 15px;
    font-weight: 300;
    color: var(--color-secondary);
    margin-bottom: 30px;
    font-style: italic;
    transition: .4s;
}

.nosotros p:hover {
    color: var(--color-primary);
    transition: .4s;
}

.nosotros .detalles {
    background-color: #f9f9f9;
    display: flex;
    justify-content: center;
    padding: 10px;
    user-select: none;
}

.nosotros .detalles .uno {
    border-right: 2px var(--color-primary) solid;
}

.nosotros .detalles .uno,
.nosotros .detalles .dos {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 10px;
    width: 100%;
}

.nosotros .detalles .uno i,
.nosotros .detalles .dos i {
    font-size: 25px;
    color: var(--color-primary);
    margin-bottom: 10px;
}

.nosotros .detalles .uno .titulo,
.nosotros .detalles .dos .titulo {
    font-size: 20px;
    color: var(--color-primary);
}

.nosotros .detalles .uno .subtitulo,
.nosotros .detalles .dos .subtitulo {
    font-size: 30px;
    font-weight: 300;
    color: var(--color-secondary);
}

/*--------------------------------------------------------------
# Intereses
--------------------------------------------------------------*/

.intereses {
    padding-top: 150px;
    padding-bottom: 150px;
    background: var(--color-primary-opacity);
}

.intereses .titulo {
    text-align: center;
    font-size: 40px;
    margin-bottom: 30px;
    color: var(--color-primary);
    border-bottom: 2px var(--color-primary) solid;
    user-select: none;
}

.intereses .contenedor {
    border-radius: 10px;
    padding: 20px;
    background: var(--color-white);
    transition: .8s ease all;
    border-bottom: 6px var(--color-primary) solid;
    border-right: 6px var(--color-primary) solid;
}

.intereses .contenedor:hover {
    transform: translateY(-10px);
}

.intereses h2 {
    font-size: 20px;
    margin-bottom: 10px;
    color: var(--color-primary);
    font-weight: var(--weight-600);
}

.intereses p {
    font-size: 14px;
    font-weight: 300;
    color: var(--color-secondary);
    margin-bottom: 30px;
    font-style: italic;
}

.intereses .icon1,
.intereses .icon2,
.intereses .icon3,
.intereses .icon4,
.intereses .icon5 {
    width: 50px;
    height: 50px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
}

.intereses .icon1 {
    background-color: var(--interes-color1);
    color: var(--interes-color1-dark);
}

.intereses .icon2 {
    background-color: var(--interes-color2);
    color: var(--interes-color2-dark);
}

.intereses .icon3 {
    background-color: var(--interes-color3);
    color: var(--interes-color3-dark);
}

.intereses .icon4 {
    background-color: var(--interes-color4);
    color: var(--interes-color4-dark);
}

.intereses .icon5 {
    background-color: var(--interes-color5);
    color: var(--interes-color5-dark);
}

/*--------------------------------------------------------------
# Preguntas frecuentes
--------------------------------------------------------------*/

.preguntas_frecuentes {
    padding-top: 150px;
    padding-bottom: 50px;
}

.preguntas_frecuentes .titulo {
    text-align: center;
    font-size: 25px;
    letter-spacing: 10px;
    margin-bottom: 30px;
    font-weight: var(--weight-600);
    color: var(--color-primary);
    user-select: none;
}

.preguntas_frecuentes .preguntas {
    background: #fff;
    padding: 10px 0px;
    margin: 25px 0px;
    border: 2px solid transparent;
    transition: .3s ease all;
    border-bottom: 2px var(--color-primary) solid;
}

.preguntas_frecuentes .titulo-pregunta {
    font-size: var(--16-size);
    font-weight: 500;
    color: var(--color-secondary);
    font-style: italic;
    transition: .4s;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: .3s;
    cursor: pointer;
    user-select: none;
}

.preguntas_frecuentes .titulo-pregunta:hover {
    color: var(--color-primary);
    transition: .3s;
}

.preguntas_frecuentes .respuesta {
    line-height: 25px;
    max-height: 0;
    opacity: 0;
    font-size: var(--16-size);
    font-weight: 300;
    color: var(--color-secondary);
    font-style: italic;
    transition: .3s ease all;
    margin-bottom: 10px;
}

.preguntas_frecuentes .respuesta a {
    color: var(--color-primary);
    font-weight: var(--weight-500);
    background: none;
    border-color: transparent;
    text-decoration: underline var(--color-primary);
    font-size: var(--16-size);
}

.preguntas_frecuentes i {
    color: var(--color-primary);
}

.preguntas_frecuentes .activa .titulo-pregunta {
    font-weight: 600;
    color: var(--color-primary);
}

.preguntas_frecuentes .activa .respuesta {
    opacity: 1;
    margin-top: 20px;
}

.preguntas_frecuentes .activa i {
    transform: rotate(180deg);
}

/*--------------------------------------------------------------
# Testimonios
--------------------------------------------------------------*/

.testimonial {
    position: relative;
    background: url(../img/banner-coding.jpg);
    margin-top: 150px;
    padding-top: 100px;
    padding-bottom: 100px;
    background-position: center;
    background-size: cover;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.testimonial .titulo {
    text-align: center;
    font-size: 25px;
    letter-spacing: 10px;
    margin-bottom: 30px;
    font-weight: var(--weight-600);
    color: var(--color-white);
    user-select: none;
}

.carousel-control.left {
    left: 7%;
    top: 50%;
    right: auto;
}

.carousel-control.right {
    right: 7%;
    top: 50%;
    left: auto;
}

.carousel-control.left:hover,
.carousel-control.right:hover {
    color: #000;
    background: #fff;
    border: 2px solid #fff;
}

.testimonial-slider {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 70%;
    margin: auto;
    padding: 20px;
    position: relative;
    text-align: center;
}

.testimonial-slider img {
    top: 0;
    left: 0;
    right: 0;
    width: 116px;
    height: 116px;
    margin: auto;
    position: relative;
    border-radius: 50%;
}

.testimonial-slider .circle {
    top: 8px;
    left: 0;
    right: 0;
    width: 140px;
    height: 140px;
    margin: auto;
    position: absolute;
    border-radius: 50%;
    border: 3px var(--color-primary) solid;
}

.testimonial-slider p {
    font-size: var(--16-size);
    font-weight: 300;
    color: var(--color-white);
    margin-bottom: 30px;
    font-style: italic;
    line-height: 2;
    margin: 40px 0 20px 0;
}

.testimonial-slider h4 {
    font-size: var(--20-size);
    color: var(--color-white);
    font-weight: 300;
}

.testimonial .carousel-control-next-icon,
.testimonial .carousel-control-prev-icon {
    width: 35px;
    height: 35px;
}

@media (max-width: 520px) {
    .testimonial-slider p {
        font-size: var(--14-size);
    }
}

/*--------------------------------------------------------------
# Servicios
--------------------------------------------------------------*/

.servicios {
    padding-top: 200px;
    padding-bottom: 150px;
}

.servicios .titulo {
    text-align: center;
    font-size: 25px;
    letter-spacing: 10px;
    margin-bottom: 30px;
    font-weight: var(--weight-600);
    color: var(--color-primary);
    user-select: none;
}

.servicios .contenido {
    display: flex;
    flex-flow: row wrap;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
}

.servicios .imagen1,
.servicios .imagen2,
.servicios .imagen3,
.servicios .imagen4,
.servicios .imagen5 {
    filter: grayscale(100%);
    transition: all 0.5s ease;
}

.servicios .imagen1:hover,
.servicios .imagen2:hover,
.servicios .imagen3:hover,
.servicios .imagen4:hover,
.servicios .imagen5:hover {
    filter: none;
}

/*--------------------------------------------------------------
# Conocimientos
--------------------------------------------------------------*/

.conocimientos {
    padding-top: 50px;
    padding-bottom: 100px;
}

.conocimientos .titulo {
    text-align: center;
    font-size: 25px;
    letter-spacing: 10px;
    margin-bottom: 30px;
    font-weight: var(--weight-600);
    color: var(--color-primary);
    user-select: none;
}

.conocimientos .slider {
    margin: auto;
    position: relative;
    width: 90%;
    display: flex;
    overflow: hidden;
}

.conocimientos .slide-track {
    display: flex;
    align-items: center;
    gap: 20px;
}

.slide1,
.slide2,
.slide3,
.slide4,
.slide5,
.slide6,
.slide7,
.slide8,
.slide9,
.slide10,
.slide11,
.slide12,
.slide13,
.slide14,
.slide15,
.slide16,
.slide17,
.slide18,
.slide19,
.slide20,
.slide21,
.slide22,
.slide23,
.slide24 {
    filter: grayscale(100%);
    transition: all 0.5s ease;
}

.slide1:hover,
.slide2:hover,
.slide3:hover,
.slide4:hover,
.slide5:hover,
.slide6:hover,
.slide7:hover,
.slide8:hover,
.slide9:hover,
.slide10:hover,
.slide11:hover,
.slide12:hover,
.slide13:hover,
.slide14:hover,
.slide15:hover,
.slide16:hover,
.slide17:hover,
.slide18:hover,
.slide19:hover,
.slide20:hover,
.slide21:hover,
.slide22:hover,
.slide23:hover,
.slide24:hover {
    filter: none;
}

.conocimientos .slider::before,
.conocimientos .slider::after {
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    content: '';
    height: 100%;
    position: absolute;
    width: 15%;
    z-index: 2;
}

.conocimientos .slider::before {
    left: 0;
    top: 0;
}

.conocimientos .slider::after {
    right: -2px;
    top: 0;
    transform: rotateZ(180deg);
}

/*--------------------------------------------------------------
# MISION Y VISION
--------------------------------------------------------------*/

.objetivos {
    padding-top: 150px;
    padding-bottom: 200px;
}

.objetivos .titulo {
    text-align: center;
    font-size: 25px;
    letter-spacing: 10px;
    margin-bottom: 30px;
    font-weight: var(--weight-600);
    color: var(--color-primary);
    user-select: none;
}

.objetivos .nav-tabs {
    border: 0;
}

.objetivos .nav-link {
    border: 0;
    padding: 12px 15px 12px 0;
    transition: 0.3s;
    color: #000;
    border-radius: 0;
    border-right: 2px solid #ebf1f6;
    font-weight: 600;
    font-size: 15px;
}

.objetivos .nav-link:hover {
    color: #109C91;
}

.objetivos .nav-link.active {
    color: #109C91;
    border-color: #109C91;
}

.objetivos .tab-pane.active {
    animation: fadeIn 0.5s ease-out;
}

.objetivos .details .vision,
.objetivos .details .mision {
    font-size: 25px;
    margin-bottom: 5px;
    color: var(--color-primary);
}

.objetivos .details .subtitulo {
    font-size: 14px;
    font-weight: 300;
    color: #05283388;
    margin-bottom: 10px;
}

.objetivos .details .descripcion {
    font-size: 14px;
    font-weight: 300;
    color: var(--color-secondary);
    font-style: italic;
}

@media (max-width: 991px) {
    .nav-item:last-child {
        margin-bottom: 20px;
    }

    .objetivos .nav-link.active {
        background: #109C91;
    }

    .objetivos img {
        width: 50%;
    }

    .objetivos .details h3 {
        margin-top: 35px;
    }
}

@media (max-width:450px) {
    .objetivos img {
        width: 70%;
    }
}

/*--------------------------------------------------------------
# Contacto
--------------------------------------------------------------*/

.contact {
    padding-top: 150px;
    padding-bottom: 100px;
}

.contact .heading h2 {
    font-size: 30px;
    font-weight: 700;
}

.contact .heading h2 span {
    color: #109C91;
}

.contact .heading p {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.7;
    color: #757575;
    padding: 0;
}

.contact .form-control {
    padding: 18px;
    font-size: 13px;
    margin-bottom: 10px;
    background: #f9f9f9;
    border: 0;
    border-radius: 10px;
    outline: none !important;
    box-shadow: none !important;
    border: 2px transparent solid !important;
    transition: .5s;
}

.contact textarea {
    transition: none !important;
}

.contact input::placeholder,
.contact textarea::placeholder,
.contact input,
.contact textarea {
    user-select: none !important;
}

.contact input:focus,
.contact textarea:focus {
    border: 2px var(--color-primary) solid !important;
}

.contact .boton {
    padding: 10px;
    border-radius: 10px;
    font-size: 15px;
    background: #109C91;
    color: #ffffff;
}

.contact .boton:hover {
    background: var(--color-secondary);
    color: var(--color-white);
}

.contact .title h3 {
    font-size: 18px;
    font-weight: 600;
}

.contact .content .info {
    margin-top: 30px;
    cursor: default;
}

.contact .content .info:hover i,
.contact .content .info:hover h4,
.contact .content .info:hover a {
    color: var(--color-primary);
}

.contact .content .info i {
    font-size: 30px;
    padding: 0;
    margin: 0;
    color: var(--color-primary);
    text-align: center;
    width: 20px;
}

.contact .content .info h4 {
    font-size: 16px;
    line-height: 1.5;
}

.contact .content .info h4 *:not(:has(a)) {
    user-select: none;
}

.contact .content .info a {
    font-size: 15px;
    font-weight: 300;
    color: #999999;
    background: none;
    border-color: transparent;
    text-decoration: none;
    font-style: italic;
}

/*--------------------------------------------------------------
# footer
--------------------------------------------------------------*/

footer {
    position: relative;
    width: 100%;
    background: var(--color-tertiary);
    min-height: 100px;
    padding: 50px 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

footer .social li,
footer .menu li {
    list-style: none;
}

footer .social li {
    list-style: none;
}

footer .social li a {
    font-size: 30px;
    color: var(--color-white);
    margin: 0 10px;
    display: inline-block;
    transition: .8s;
}

footer .social li a:hover {
    transform: translateY(-8px);
}

footer .menu a {
    position: relative;
    font-size: var(--16-size);
    color: var(--color-primary);
    text-decoration: none;
    font-weight: var(--weight-500);
}

footer .menu a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 2px;
    background: var(--color-primary);
    border-radius: 5px;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .5s;
}

footer .menu a:hover::after {
    height: 2px;
    transform: scaleX(1);
    transform-origin: center;
}

footer .copyright {
    text-align: center;
    font-size: var(--14-size);
    font-weight: 300;
    color: var(--color-white);
    margin-top: 20px;
    margin-bottom: 10px;
    font-style: italic;
}