/*Fonts: Ulagadi, Ulagadi Light, Ulagadi Semi Bold*/
@font-face{
    font-family: "Ulagadi";
    font-style: normal;
    font-weight: 600;
    src: url("../fonts/UlagadiSansSemiBold.ttf");
}

@font-face{
    font-family: "Ulagadi";
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/UlagadiSansLight.ttf");
}

@font-face {
    font-family: "Ulagadi";
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/UlagadiSansRegular.ttf");
}
/*variables de normalización*/
*{
    font-family: "Ulagadi", Arial, Helvetica, sans-serif;
    font-weight: 300;
    /*#########################################*/
    /*###       Variables de Colores        ###*/
    /*#########################################*/
    --blue-in3: rgb(44,58,140);
    --light-blue-in3: rgb(0,255,255);
    --gray-1-in3: rgb(128,128,128);
    --gray-2-in3: rgb(242,242,242);
    /* --ladrillo: #dc8138; */
    --ladrillo: rgb(251,176,59);
    /*#########################################*/
    /*###       Variables de Letras         ###*/
    /*#########################################*/
    /*Tomando de base que por defecto 1rem es igual a 16px:*/
    --txt_titulo: 1.6875rem;/*27px base, se escalará dependiendo de la pantalla*/
    --txt_parrafo: 1.5rem;/*24px*/
    --txt_titulos-menu : 1.25rem;/*el del fin es 20px aprox.*/
    --txt_subitems-menu : 1.1875rem;/*En el fin, es 19px, en teoría, uno menus que el título*/
    --txt_botones: 1.125rem;/*aprox es de 18px*/
    --txt_buscador: 1rem;/*16px*/
    --txt_leyenda-imagen: 1.125rem;/*18px base*/
    --txt_labels-form: 1.125rem;
    --txt_networks: 2rem;
    /*#########################################*/
    /*###     Variables de Interlineado     ###*/
    /*#########################################*/
    --txt_interlineado: 1.2;/*Recordemos que es un line height, por lo que no se puede settear de otra forma*/
}
/*(Algunas) Clases de normalización*/
.titulo-contenido{
    font-size: var(--txt_titulo);
    font-weight: 600;
    line-height: var(--txt_interlineado);
    color: var(--blue-in3);
    margin-bottom: 0;
}

.parrafo-contenido{
    font-size: var(--txt_parrafo);
    font-weight: 300;
    line-height: var(--txt_interlineado);
    color: var(--gray-1-in3);
    /*max-width: 75ch;*//*movido a index para evitar incompatibilidades*/
}

.titulo-menu{
    font-size: var(--txt_titulos-menu);
    font-weight: 300;
    line-height: var(--txt_interlineado);
    color: var(--gray-2-in3);
    /*text-transform: uppercase;*/
}

.subtitulo-menu{
    font-size: var(--txt_subitems-menu);
    font-weight: 300;
    line-height: var(--txt_interlineado);
    color: white;
}

/*este esta solo para pruebas*/
.subtitulo-menu1{
    font-size: var(--txt_subitems-menu);
    font-weight: 300;
    line-height: var(--txt_interlineado);
    color: var(--gray-1-in3);
}
/*Fin del de pruebas*/

.texto-botones{
    color: white;
    font-size: var(--txt_botones);
    border-radius: 0;
    border-color: black;
    border-width: 0px;
    border-style: solid;
    background-color: var(--blue-in3);
    text-transform: uppercase;
    font-weight: 600;
    line-height: var(--txt_interlineado);
    padding-top: 0.25em;
    padding-bottom: 0.3em;
    padding-right: 0.4em;
    padding-left: 0.4em;
    border: 1px solid var(--blue-in3);
    transition: all 0.5s ease-in-out;
}

.texto-botones:hover, .texto-botones:focus{
    background-color: var(--gray-2-in3);
    color: var(--blue-in3);
    border: 1px solid var(--blue-in3);
}

.texto-botones:disabled{
    background-color: var(--gray-2-in3);
    border-color: var(--gray-1-in3);
    color: var(--gray-1-in3);
}

.texto-botones:disabled:hover{
    background-color: var(--gray-2-in3);
    border-color: var(--gray-1-in3);
    color: var(--gray-1-in3);
}

.texto-fondo-azul{
    color: white;
    font-size: var(--txt_botones);
    border-radius: 0;
    border-color: black;
    border-width: 0px;
    border-style: solid;
    background-color: var(--blue-in3);
    text-transform: uppercase;
    font-weight: 600;
    line-height: var(--txt_interlineado);
    padding-top: 0.25em;
    padding-bottom: 0.3em;
    padding-right: 0.4em;
    padding-left: 0.4em;
    border: 1px solid var(--blue-in3);
}

.texto-footer{
    font-size: 1.35rem;/*1 rem = 16px*/
    font-weight: 300;/*light*/
    line-height: var(--txt_interlineado);
    color: white;
}

.labels-formulario{
    font-size: var(--txt_labels-form);
    font-weight: 300;
    color: var(--gray-1-in3);
    line-height: var(--txt_interlineado);
    /*cursor: pointer;*/
}

.leyenda-imagen{
    font-size: var(--txt_leyenda-imagen);
    font-weight: 300;
    line-height: var(--txt_interlineado);
    color: var(--gray-1-in3);
    text-align: justify;
}

.texto-buscador{
    font-size: var(--txt_buscador);
    font-weight: 300;
    line-height: var(--txt_interlineado);
    color: white;
    /*background-color: var(--blue-in3);*/
}

.lightbox-caption{
    /*Clase usada por el componente de galería*/
    background-color: white;
    color: var(--gray-1-in3);
    font-weight: 300;
    line-height: var(--txt_interlineado);
    border-radius: 0px 0px 10px 10px;
}

.inputs{
    font-family: "Ulagadi", Arial, Helvetica, sans-serif;
    color: var(--gray-1-in3);
    font-weight: 300;
    line-height: var(--txt_interlineado);
    border-radius: 0;
    border-color: var(--gray-1-in3);
    font-size: var(--txt_botones);
}

.form-control:focus {
    color: var(--blue-in3);
    font-weight: 600;
    background-color: var(--bs-body-bg);
    border-color: rgba(44, 58, 140, 0.75);
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(44,58,140,0.25);
}

/*fin clases de normalización*/

html {
    /*font-size: 62.5%;BS ya lo jala según el setting del usuario, por defecto, 16px*/
    background-color: white;/*Cambiar después a white, o en el main colocar la textura*/ 
}

/* del menú*/
header{
    /* padding-left: 5vw; */
    /*padding-right: 5.5vw;*/
    /* padding-right: 4vw; */
    /* padding-top: 4vh; */
}

nav{
    background-color: var(--blue-in3);
}

.navbar-nav{
    text-align: center;
    justify-content: space-evenly;
    width: 100%;
}

.navbar-nav .dropdown-menu {
    text-align: center;
}

/*nav item bottom border y hovers
También se trabajan los active, para represenar la sección seleccionada*/
.nav-main-link::after{
    background-color: var(--ladrillo);
    position: relative;
    bottom: 0;
    left: 50%;
    width: 0%;
    height: 3px;
    content: "";
    display: block;
    transition: all 0.5s;
    border-radius: 1rem;
}

.nav-main-link:hover::after{
    width: 100%;
    left:0%;
}

/*
* Estos son otros ejemplos que se pueden colocar como alternativa al pseudo elemento
* con la barrita de abajo
* Se obtuvieron de: https://dev.to/afif/100-underline-overlay-animation-the-ultimate-css-collection-4p40
.nav-main-link{
    background:
    linear-gradient(currentColor 0 0) 0 0,
    linear-gradient(currentColor 0 0) 0 0,
    linear-gradient(currentColor 0 0) 0 100%,
    linear-gradient(currentColor 0 0) 0 100%,
    linear-gradient(currentColor 0 0) 100% 0,
    linear-gradient(currentColor 0 0) 100% 0,
    linear-gradient(currentColor 0 0) 100% 100%,
    linear-gradient(currentColor 0 0) 100% 100%;
    background-size: var(--d, 0) 3px, 3px var(--d, 0);
    background-repeat: no-repeat;
    transition: 0.5s;
}

.nav-main-link:hover{
    --d: 20px;
}
*/

.nav-link:focus, .nav-link:hover {
    color: 	var(--ladrillo);
}

.active-menu{
    /*text-shadow: 0px 0px 20px #00FFFF;*/
    /*text-shadow: 0 0 5px var(--light-blue-in3), 
    0 0 10px var(--light-blue-in3), 0 0 15px var(--light-blue-in3), 
    0 0 20px var(--light-blue-in3), 0 0 30px var(--light-blue-in3), 
    0 0 40px var(--light-blue-in3), 0 0 55px var(--light-blue-in3), 
    0 0 75px var(--light-blue-in3);*/
    color: var(--ladrillo);
}

.active-menu::after{
    width: 100%;
    left:0%;
    background-color: var(--ladrillo);
    position: relative;
    bottom: 0;
    height: 3px;
    content: "";
    display: block;
    transition: all 0.5s;
    border-radius: 1rem;
}

.active-menu-color-only{
    color: var(--ladrillo);
}

.active-submenu{
    color: black;
    background-color: var(--gray-2-in3);
}
/*Solo para pruebas*/
.active-submenu1{
    color: var(--blue-in3);
}

/*banderas*/
.langs{
    height: 2.0rem;
    position: fixed;
    right: 0;
    bottom: 0;
    /*width: 5rem;*/
    /*background-color: white;*/
}

.langs::before{
    width: 0.75rem;
    height: 2.0rem;
    border-radius: 50px 0px 0px 50px;
    background-color: var(--gray-2-in3);
    border-top: 1px solid var(--gray-1-in3);
    border-bottom: 1px solid var(--gray-1-in3);
    border-right: 0;
    border-left: 1px solid var(--gray-1-in3);
    content: "";
}

.langs::after{
    width: 0.75rem;
    height: 2.0rem;
    border-radius: 0px 50px 50px 0px;
    background-color: var(--gray-2-in3);
    border-top: 1px solid var(--gray-1-in3);
    border-bottom: 1px solid var(--gray-1-in3);
    border-left: 0;
    border-right: 1px solid var(--gray-1-in3);
    content: "";
}

.flag-wrapper{
    background-color: var(--gray-2-in3);
    border-top: 1px solid var(--gray-1-in3);
    border-bottom: 1px solid var(--gray-1-in3);
    border-right: 0;
    border-left: 0;
    font-size: 1rem;
    transition: color 1s;
    cursor:default;
}

.flag-wrapper:hover{
    color: var(--blue-in3);
}

.flag-container{
    background-color: transparent;
    clip-path: circle(50% at 50% 50%);
    width: 1.5rem;
    height: 1.5rem;
    z-index:2;
    transition: background-color 1s, transform 1s;
}

.flag-container:hover{
    background-color: var(--blue-in3);
    cursor: pointer;
    transform: scale(1.2);
}

.flag{
    width: 1.4rem;
    height: 1.4rem;
    clip-path: circle(50% at 50% 50%);
}

/*submenú y dropdowns*/
/*https://www.youtube.com/watch?v=sqwk7xXBhFk*/
.dropdown .dropdown-menu{
    display: none;
}

.dropend .dropdown-toggle{
    color: var(--blue-in3) !important;
    margin-left: 1em;
}

.dropdown-item:hover{
    background-color: var(--gray-2-in3);
    color:var(--blue-in3);
}

.dropdown:hover > .dropdown-menu, .dropend:hover > .dropdown-menu{
    display: block;
    margin-top: -.125em;
    margin-left: .125em;
    background-color: var(--blue-in3);
    border-radius: 0;
}

@media screen and (min-width: 993px){/*lg breakpoint for bs5.3*/
    /*para desktop*/
    .dropend:hover > .dropdown-menu{
        position: absolute;
        top:0;
        left:100%;
        /*margin-top: -.125em;*/
    }

    .dropend .dropdown-toggle{
        margin-left: 0.5em;
    }

    .navbar-nav .dropdown-menu {
        text-align: left;
    }
    /*Del mega menu*/
    /*https://www.youtube.com/watch?v=V5MquVuKlU4*/
    .mega-dropdown:hover > .dropdown-menu{
        display: flex;
        padding-top: 0.5em;
        padding-bottom: 0.5em;
        border-radius: 0;/*Para diseño cuadrado, dejar en 0*/
        background: var(--blue-in3);
    }
    /*del navbar*/
    .navbar>.container, .navbar>.container-fluid, .navbar>.container-lg, .navbar>.container-md, 
    .navbar>.container-xl, .navbar>.container-xxl{
        display: flex;
        flex-wrap: inherit;
        align-items: flex-end;
        justify-content: space-between;
    }
    /*fin de media query del navbar*/
}
/*del mega menú*/
@media screen and (max-width: 993px){/*lg breakpoint for bs5.3*/
    .mega-dropdown:hover > .dropdown-menu{
        max-height: 40vh;
        overflow-y: scroll;
        border-radius: 0;
        background: var(--blue-in3);
    }
    /*Para el texto del footer en móvil*/
    .texto-footer{
        font-size: 1rem !important;/*1 rem = 16px*/
    }

    .networks{
        font-size: 1.5rem !important;
    }
    /*fin media query footer movil*/
}
/*fin media query mega menú*/

/*custom scroll*/
.mega-menu::-webkit-scrollbar{
    width: 5px;
}

.mega-menu::-webkit-scrollbar-track{
    background-color: white;
    border-radius: 2px;
}

.mega-menu::-webkit-scrollbar-thumb{
    background-color: rgb(180,180,180);
    border-radius: 2px;
}

.mega-menu::-webkit-scrollbar-thumb:hover{
    background-color: var(--gray-1-in3);
}

/*Lupa buscador*/
.buscador-lg{
    position: absolute;
    background: transparent;
    top: 0.75em;
    right: 0.75em;
    padding: 0.4em 0.8em;
    cursor: pointer;
    border: 1px solid white;
    transition: all 0.5s ease-in-out;
    text-decoration: none;
}

.buscador-lg:hover{
    background-color: white;
    color: var(--blue-in3);
}
/*Para menú acortado*/
.buscador-md{
    background: transparent;
    padding: 0.4em 0.8em;
    cursor: pointer;
    border: 1px solid white;
    transition: all 0.5s;
    text-decoration: none;
}

.buscador-md:hover{
    background-color: white;
    color: var(--blue-in3);
}

/*Para el buscador como item del menú*/
.buscador-menu-item{
    padding: 0.4em 0.8em;
    cursor: pointer;
    border: 1px solid white;
    transition: all 0.5s ease-in-out;
    text-decoration: none;
}

.buscador-menu-item:hover{
    background-color: white;
    border-color: var(--blue-in3);
    color: var(--blue-in3) !important;
}

/*custom scroll página entera*/
body::-webkit-scrollbar{
    width: 10px;
}

body::-webkit-scrollbar-track{
    background-color: white;
    border-radius: 0;
}

body::-webkit-scrollbar-thumb{
    background-color: rgb(180,180,180);
    border-radius: 5px;
}

body::-webkit-scrollbar-thumb:hover{
    background-color: var(--gray-1-in3);
}

/*Footer / pie de página*/
footer{
    background-color: var(--blue-in3);
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 1em 3em;
    /* border-left: 1px solid white;
    border-right: 1px solid white;
    border-bottom: 1px solid white; */
}

.networks{
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    font-size: var(--txt_networks);
    font-weight: 300;
    line-height: var(--txt_interlineado);
    color: white;
}

.networks a{
    text-decoration: none;
    color: white;
    transition: color 0.7s;
}

.networks a:nth-child(1):hover{
    color: #A4C4F1;
}

.networks a:nth-child(2):hover{
    /* color: #F58529; */
    color: #c3352e;
}

.networks a:nth-child(3):hover{
    color: #c3352e;
}

.networks a:nth-child(4):hover{
    color: #161616;
}

/*Custom scroll textarea*/
textarea::-webkit-scrollbar{
    width: 10px;
}

textarea::-webkit-scrollbar-track{
    background-color: white;
    border-radius: 6px;
}

textarea::-webkit-scrollbar-thumb{
    background-color: rgb(180,180,180);
    border-radius: 6px;
}

textarea::-webkit-scrollbar-thumb:hover{
    background-color: var(--gray-1-in3);
}

/*fix of-x for animations*/
main{
    overflow-x: hidden;
}

.cursor--pointer{
    cursor: pointer;
}