body {
    overflow-x: hidden;
}

.section-padding {
    padding-top: 120px;
    padding-bottom: 120px;
}

.section-padding-top {
    padding-top: 120px;
}

.section-padding-bottom {
    padding-bottom: 120px;
}

.upper {
    text-transform: uppercase;
}

/* .full-wrapper {
    position: relative;
} */



.section-title {
    margin-bottom: 60px;
}

.section-title .title {
    font-size: 36px;
    margin-top: -5px;
}

.section-title .desc {
    font-size: 18px;
    font-weight: 600;
}

.img-fix {
    width: 100%;
    max-height: 350px;
    height: auto;
    object-fit: cover;
}

/* 
/* === SECCIÓN HERO === */
/* Estilo general para el texto */






/* ---------------------
dropwdown.memu
----------------------- */
.dropdown-menu {
    background-color:#001a33; /* Cambia este color por el que desees */
    
}

/* ---------------------
Button-Styles
----------------------- */


.mouse-dir {
    overflow: hidden;
    position: relative;
    -webkit-transition: 0.6s;
    -o-transition: 0.6s;
    transition: 0.6s;
    z-index: 4;
    margin-bottom: -8px;
    border-radius: 30px;
    -moz-transition: 0.6s;
    -ms-transition: 0.6s;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
}

.mouse-dir .dir-part {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: 	#11355a;
    -webkit-transition: width 0.5s ease-in-out, height 0.5s ease-in-out;
    -o-transition: width 0.5s ease-in-out, height 0.5s ease-in-out;
    transition: width 0.5s ease-in-out, height 0.5s ease-in-out;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: -1;
    -moz-transition: width 0.5s ease-in-out, height 0.5s ease-in-out;
    -ms-transition: width 0.5s ease-in-out, height 0.5s ease-in-out;
}

.mouse-dir:hover .dir-part {
    width: 260%;
    height: 562.5px;
}

.button-dark {
    display: inline-block;
    width: 170px;
    height: 60px;
    background-color: #190844;
    text-align: center;
    line-height: 60px;
    font-size: 20px;
    color: #ffffff;
    font-weight: 600;
}

.button-dark:hover {
    color: #190844;
}

.button-primary.mouse-dir .dir-part,
.button-dark.mouse-dir .dir-part {
    background-color: #ffffff;
}

.button-orange,
.button-primary {
    display: inline-block;
    color: #ffffff;
    background-color: #11355a;
    padding: 18px 40px;
    border: 1px solid #11355a;
    font-size: 16px;
    font-weight: 600;
}

.button-primary:hover {
    color: #5eacff;
}

.load-more,
.button-primary-trans {
    display: inline-block;
    color: #5eacff;
    padding: 15px 40px;
    border: 1px solid #5eacff;
    font-size: 16px;
    font-weight: 600;
}

.button-primary-trans .icon {
    margin-right: 5px;
    display: inline-block;
}

.load-more:hover,
.button-primary-trans:hover {
    color: #ffffff;
}

.load-more {
    padding: 15px 38px;
}

.load-more i {
    margin-left: 5px;
    font-size: 14px;
}

.portfolio-area .load-more {
    margin-top: 30px;
}

.button-orange {
    padding: 15px 38px;
    border: 1px solid #ff885e;
    background-color: #ff885e;
}

.button-orange:hover {
    color: #ff885e;
}

.button-orange .dir-part {
    background-color: #ffffff;
}

/*------------------------
02. Mainmenu-Area
--------------------------*/
.main_menu {
    position: fixed;
    width: 100%;
    height: 80px;
    top: 0;
    left: 0;
    z-index: 999;
    border-bottom: 1px solid #eeeeee17;
    transition: all linear .3s;
}

.main_menu .navbar-nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.main_menu .navbar-nav li {
    display: inline-block;
    position: relative;
    /* margin-left: -5px; */
}

.main_menu .navbar-nav li {
    position: relative;
}

  /* MENU O CINTA DE OPCIONES EN LA BARRA DE NAVEGACION */


.main_menu .navbar-nav li a {
    position: relative; /* Permite posicionar elementos secundarios en relación al enlace */
    display: block; /* Hace que el enlace ocupe todo el área clicable */
    font-family: 'Poppins', sans-serif; /* Fuente personalizada */
    font-size: 14px; /* Tamaño de fuente más accesible */
    font-weight: 400; /* Seminegrita para destacar el texto */
    padding: 0px 10px; /* Espacio interno para mejorar la experiencia de clic */
    margin: 0px 10px; /* Espacio entre enlaces */
    color: #ffffff; /* Texto blanco */
    line-height: normal; /* Usa el espaciado normal de la línea */
    background: none; /* Elimina cualquier fondo */
    transition: color 0.3s linear, background 0.3s linear; /* Suaviza cambios de color y fondo */
}


.main_menu .navbar-nav li:last-child a {
    margin-right: 0;
}

/* color SECUNDARIO de las letras del encabezado  */

.main_menu .navbar-nav li .active,
.main_menu .navbar-nav li:hover>a {
    color: #258abe;
}

/* color de letras DESPUES de dezilazar O HACE SCROLL */
.menu_fix .navbar-nav li a {
    color: #ffffff;
}

.main_menu .menu_icon {
    display: flex;
    margin: 0;
    padding: 0;
}

.main_menu .menu_icon li {
    list-style: none;
}

.main_menu .menu_icon li a {
    color: #fff;
    margin-left: 20px;
    font-size: 16px;
    transition: all linear .3s;
    -webkit-transition: all linear .3s;
    -moz-transition: all linear .3s;
    -ms-transition: all linear .3s;
    -o-transition: all linear .3s;
}

.main_menu .menu_icon li a:hover {
    color: #5effef;
}

.menu_fix .menu_icon li a {
    color: #190844;
}

.main_menu .sub_menu {
    position: absolute;
    width: 250px;
    top: 100%;
    left: 0;
    background: #fff;
    padding: 25px;
    border-radius: 10px;
    transform: scaleY(0);
    transform-origin: top;
    transition: all linear .3s;
    -webkit-transform: scaleY(0);
    -moz-transform: scaleY(0);
    -ms-transform: scaleY(0);
    -o-transform: scaleY(0);
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    z-index: 999;
}

.main_menu .sub_menu>li>a {
    color: #190844;
    margin: 0;
    line-height: 0;
}

.main_menu .navbar-nav .nav-item:hover .sub_menu {
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
}

/* -----------------------
03. Header-Area
------------------------- */
.header-area {
    padding-top: 295px;
    padding-bottom: 210px;
  /*   background: url('../images/home-slider-2.jpg') no-repeat scroll top center/cover; */
    position: relative;
    z-index: 1;
    overflow: hidden;
    min-height: calc(100vh - 40px);
    display: flex;
    align-items: center;
}

#particles-js {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    display: block;
}

#header-video {
    position: absolute !important;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}

#header-video iframe {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(1.2, 1.2);
    height: 100%;
}
/* fondo transaprencia y color portda hero */
.slide-inner:after,
.site-header:after,
.header-area::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    
    /* Fondo semi-transparente con desenfoque */
    background: rgba(0, 0, 0, 0.493); /* Azul oscuro translúcido */
  
    
    z-index: -1;
}

/* Para cambiar los colores del texto wEN EL AREA;*/
.header-text .typer-title {
    color: #ffffff;
    font-weight: 600;
    font-size: 24px;
}

/* CODIGO GENERAL PARA ADAPTAR EL TEXTO ADAPTABLE SI NO HAY NINGUNA CONFIGURACION ESPECIFICA PARA UNA RESOLUCION DETERMIANDA */
.header-text .title {
    font-size: clamp(20px, 5vw, 75px); /* tamaño adaptable */
    color: #e0a123;
    text-align: left; /* Centrar el texto horizontalmente */
    width: 100%; /* Ocupa todo el ancho disponible */
    display: block; /* Asegura que el elemento sea un bloque para usar width */
    /* white-space: nowrap;  Evita que el texto se divida en varias líneas  */
    overflow: hidden; /* Oculta cualquier texto que se desborde */
    /* text-overflow: ellipsis; /* Agrega "..." si el texto es demasiado largo  */
    margin: 0 auto; /* Centra el elemento horizontalmente */
}

  /* CONFIGURAR TEXTO DESCRIPCION DE SECCION HERO */
.text-muted {

    --bs-text-opacity: 1;
    color: #ffffff!important;
    font-weight: 600;
    font-size: 24px;
    
}

.header-text .desc {
    font-size: 24px;
    line-height: 38px;
    color: #ffffff;
    margin-bottom: 50px;
}

.play-buttons {
    position: absolute;
    right: 10px;
    bottom: 0px;
    z-index: 9;
}

.play-buttons button {
    border: none;
    background: none;
    color: #ffffff;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    margin: 15px 5px;
}

/* -----------------------
04. Service-Area
------------------------- */
.single-service .title {
    font-size: 22px;
    line-height: 30px;
    margin-bottom: 25px;
    padding-left: 25px;
    position: relative;
}

.single-service .title:before {
    content: "";
    background: #ff885e;
    width: 15px;
    height: 3px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

/* --------------------
05. About-Area
---------------------- */
.about-image {
    background-color: #ffffff;
    overflow: hidden;
    text-align: center;
    margin-right: 70px;
    border-radius: 10px;
}

.about-text .title {
    font-size: 36px;
    margin-bottom: 15px;
}

.about-text .sub-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 30px;
}

.about-text .desc {
    margin-bottom: 50px;
}

/* -------------------- */
/*  PORTFOLIO ESTILOS  */
/* -------------------- */

/* Ajuste de margen para filas */
.mt-4 { margin-top: 30px !important; }
.mb-4 { margin-bottom: 30px !important; }

/* Estilos del Menú de Filtros */
.filter-menu {
    list-style: none;
    padding: 0;
    text-align: center;
    width: 100%;
    margin-bottom: 40px;
}

.filter-menu li {
    display: inline-block;
    font-size: 16px;
    color: #ffffff;
    background: linear-gradient(135deg, #0d77a1, #11355a);
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    padding: 12px 30px;
    cursor: pointer;
    transition: all 0.4s ease-in-out;
    border-radius: 30px;
    margin: 5px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
    position: relative;
    overflow: hidden;
}

.filter-menu li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    height: 300%;
    background: rgba(255, 255, 255, 0.1);
    transition: all 0.5s ease-in-out;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
}

.filter-menu li:hover::before {
    transform: translate(-50%, -50%) scale(1);
}

.filter-menu li:hover,
.filter-menu li.active {
    background: linear-gradient(135deg, #11355a, #0a233b);
    transform: scale(1.1);
    box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3);
}


/* Wrapper de Portafolio */
.portfolio-wrapper {
    margin-bottom: -30px;
}

/* Tarjeta de cada ítem */
.single-portfolio {
    position: relative;
    overflow: hidden;
    z-index: 1;
    margin-bottom: 30px;
    border-radius: 10px;
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

/* Efecto al pasar el mouse */
.single-portfolio:hover {
    transform: translateY(-5px) rotate(1deg);
    box-shadow: 0 15px 20px rgba(0, 0, 0, 0.25);
}

/* Imagen */
.single-portfolio img {
    width: 100%;
    border-radius: 10px;
    transition: transform 0.3s ease-in-out;
}

.single-portfolio:hover img {
    transform: scale(1.05);
}

/* Contenido de la tarjeta */
.single-portfolio .portfolio-content {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(37, 138, 190, 0.9), rgba(17, 53, 90, 0.9));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

/* Mostrar contenido al pasar el mouse */
.single-portfolio:hover .portfolio-content {
    opacity: 1;
}

/* Icono */
.single-portfolio .portfolio-content .icon {
    width: 50px;
    height: 50px;
    line-height: 50px;
    color: #ffffff;
    font-size: 40px;
    margin-bottom: 15px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease-in-out;
}

.single-portfolio:hover .portfolio-content .icon {
    transform: rotate(360deg);
}

/* Título */
.single-portfolio .portfolio-content .title {
    font-size: 24px;
    color: #ffffff;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.single-portfolio .portfolio-content .title a {
    color: #ffffff;
    text-decoration: none;
}

/* Descripción */
.single-portfolio .portfolio-content .desc {
    font-size: 18px;
    color: #f1f1f1;
    font-weight: 500;
}




/* ----------------------
07. Skill-Area
----------------------- */
.skills-area .single-image {
    padding-left: 70px;
}

.skills-area .single-image img {
    border: 1px solid #eee;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}

.skills {
    margin-bottom: -50px;
}

.bar_group {
    text-align: left;
    position: relative;
    margin-bottom: 50px;
}

.bar_group__bar.thick {
    width: 0%;
    height: 15px;
    background: #558bff;
    -webkit-transition: width 1s;
    -o-transition: width 1s;
    transition: width 1s;
    -moz-transition: width 1s;
    -ms-transition: width 1s;
}

.bar_group__bar.thick:before {
    display: block;
    content: '';
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 15px;
    background: #e3e7ea;
    z-index: -1;
    bottom: -10px;
    border-radius: 30px;
}

.b_label,
.bar_label_min,
.bar_label_max,
.b_tooltip span {
    color: #000a2d;
    font-size: inherit;
    font-weight: 600;
}

.b_label {
    text-transform: uppercase;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
}

.bar_group .bar_label_max,
.bar_group .bar_label_min {
    position: absolute;
    bottom: -10px;
    line-height: 15px;
}

.bar_group .bar_label_max {
    right: 20px;
}

.bar_group .bar_label_min {
    left: 20px;
}

.bar_group .b_tooltip {
    position: absolute;
    top: -5px;
    right: 0;
}

.bar_group .b_tooltip span {
    font-size: 16px;
    line-height: 26px;
    color: #282828;
    font-weight: 700;
}

.bar_group .b_tooltip span:after {
    content: "%";
    position: relative;
    top: 3px;
    display: inline-block;
    line-height: 36px;
}

.bar_group .elastic {
    background: #558bff;
    -webkit-transition-timing-function: cubic-bezier(0.5, 0.25, 0.375, 1.335);
    -o-transition-timing-function: cubic-bezier(0.5, 0.25, 0.375, 1.335);
    transition-timing-function: cubic-bezier(0.5, 0.25, 0.375, 1.335);
    -webkit-transition-duration: 1s;
    -o-transition-duration: 1s;
    transition-duration: 1s;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
}

.bar_group .title {
    font-size: 16px;
    line-height: 26px;
    color: #282828;
    font-weight: 400;
    margin-bottom: 10px;
}

.bar_group .sub-title {
    font-size: 14px;
    color: #6e7c90;
}

/* ----------------------
08. Experience-Area
----------------------- */

.experience-area .single-image {
    padding-right: 70px;
}

.experience-area .single-image img {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}

.experience-text .title {
    font-size: 36px;
    line-height: 46px;
}

.experience-text .desc {
    margin-bottom: 50px;
}

.icon-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 15px;
}

.icon-info .icon {
    width: 50px;
    height: 50px;
    background-color: #ff885e;
    font-size: 20px;
    line-height: 50px;
    text-align: center;
    margin-right: 15px;
    color: #ffffff;
    border-radius: 50%;
}

.icon-info h6 {
    margin-bottom: 0px;
    font-size: 16px;
}

.icon-info h6 a {
    color: #190844;
}

.icon-info h6 a:hover {
    text-decoration: underline;
    color: #258abe;
}

/* ----------------------
Testimonial Area - Diseño Moderno
----------------------- */
/* Contenedor de la sección */
/* Contenedor de la sección de testimonios */
.testimonial-section-title {
    text-align: center;
    margin-bottom: 40px;
    padding: 20px;
    position: relative;
}

.testimonial-title {
    font-size: 28px;
    font-weight: 700;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    position: relative;
    display: inline-block;
    padding-bottom: 10px;
}

.testimonial-title::after {
    content: "";
    width: 60px;
    height: 4px;
    background: #FB8C00; /* Color llamativo */
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    border-radius: 2px;
}

.testimonial-subtitle {
    font-size: 16px;
    font-weight: 400;
    color: #555;
    max-width: 800px;
    margin: 10px auto 0;
    line-height: 2;
    opacity: 0.85;
}


.testimonial {
    text-align: center;
    color: #F2EFE8;
    margin: 20px;
    padding: 20px;
    border-radius: 20px;
    position: relative;
    background: #424242;
}

.testimonial .pic {
    border: 5px solid #F2EFE8;
    display: inline-block;
    margin-bottom: 10px;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden;
}

.testimonial .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.testimonial-content {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 10px;
}

.testimonial-title a {
    color: #FB8C00;
    font-size: 18px;
    font-weight: bold;
    text-transform: uppercase;
}

.testimonial-title small {
    display: block;
    color: #F2EFE8;
    font-size: 14px;
}


/* ---------------------------
10. Contact-Form-Area
--------------------------- */
.contact-form {
    margin-top: 8px;
}

.input-box {
    padding: 24px 30px;
    width: 100%;
    background-color: #ffffff;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    border: 1px solid #e3e7ea;
    outline: none;
    color: #282828;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
}
/* color de los cuadros para enviar mensaje contacto al dar clic en el cuadro */
.input-box:focus {
    -webkit-box-shadow: 16px 16px 32px 0 rgba(0, 0, 0, 0.05);
    box-shadow: 16px 16px 32px 0 rgba(0, 0, 0, 0.05);
    border: 2px solid #3296f9;
}

.contact-form .input-box {
    margin-bottom: 30px;
    line-height: 26px;
    border-radius: 5px;
    resize: none;
}

.contact-form .form-double:after {
    clear: both;
    display: block;
    content: "";
}

.contact-form .form-double .form-box {
    width: calc(50% - 15px);
    float: left;
    margin-right: 30px;
}

.contact-form .form-double .form-box.left {
    margin-right: 0;
}

.form-box {
    position: relative;
    line-height: 0px;
}

.form-box button {
    line-height: 26px;
}

.form-box .icon {
    position: absolute;
    right: 15px;
    top: 15px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 100px;
    color: #e3e7ea;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
}

.contact-form ::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #282828;
}

.contact-form ::-moz-placeholder {
    /* Firefox 19+ */
    color: #282828;
}

.contact-form :-ms-input-placeholder {
    /* IE 10+ */
    color: #282828;
}

.contact-form :-moz-placeholder {
    /* Firefox 18- */
    color: #282828;
}

/* ----------------------
/* ------------------------
11. Blog-Area
------------------------ */

/* ----------------------
/* ------------------------
11. Blog-Area
------------------------ */

/* Estilo general de la lista de blogs */
.blog-slider .slick-list {
    margin-left: 0;
    margin-right: 0;
}

/* Estilo de los blogs individuales */
.blog-slider .single-blog {
    margin: 20px; /* Márgenes más pequeños para la simetría */
    background: #ffffff; /* Fondo blanco para mayor limpieza */
    border-radius: 15px; /* Bordes redondeados más suaves */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Sombra sutil para darle profundidad */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Efecto de hover */
}

/* Efecto de hover para los blogs */
.blog-slider .single-blog:hover {
    transform: translateY(-5px); /* Eleva el blog al hacer hover */
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); /* Sombra más pronunciada */
}

/* Estilo de los títulos */
.single-blog .title {
    font-size: 24px;
    line-height: 36px;
    font-weight: 700; /* Título más prominente */
    color: #333; /* Color de texto oscuro */
    text-align: center; /* Centrado de los títulos */
    margin: 15px 0; /* Márgenes superior e inferior */
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Limita a dos líneas */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Enlace de los títulos */
.single-blog .title a {
    color: #005ccc;
    padding: 5px 0;
    text-decoration: none; /* Sin subrayado */
}

.single-blog .title a:hover {
    color: #ff5733; /* Color vibrante al hacer hover */
}

/* Imagen del blog */
.single-blog .blog-image {
    margin-bottom: 20px; /* Márgenes para dar espacio */
    border-radius: 10px;
    overflow: hidden;
    position: relative; /* Permite agregar efectos encima */
}

/* Efecto de zoom en la imagen al pasar el ratón */
.single-blog .blog-image img {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease; /* Efecto de zoom */
}

.single-blog .blog-image:hover img {
    transform: scale(1.05); /* Leve aumento al pasar el ratón */
}

/* Descripción del blog */
.single-blog .desc {
    font-size: 16px;
    color: #666; /* Color más suave para la descripción */
    text-align: justify; /* Alineación justificada */
    margin-bottom: 25px; /* Márgenes de separación */
}

/* Botones y otros elementos dentro del blog */
.single-blog .button-primary-trans i {
    margin-left: 5px;
}

/* Estilo de las listas de blogs */
.blog-lists {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* Centrado de los blogs */
    gap: 30px; /* Espacio entre los elementos */
    margin-bottom: 50px;
}

/* Contenido del blog a pantalla completa */
.full-width .single-blog .blog-content {
    width: calc(100% - 40px);
    margin: auto;
}

/* Metadatos del blog */
.blog-meta {
    display: flex;
    justify-content: space-between; /* Alineación equidistante de los metadatos */
    margin-top: 20px;
    padding: 15px 30px;
    background-color: #f7f7f7; /* Fondo gris claro */
    border-radius: 8px;
    border: 1px solid #e5e5e5; /* Borde suave */
}

/* Estilo de cada elemento en los metadatos */
.blog-meta .single-meta {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centrado de los elementos */
    text-align: center; /* Alineación centrada */
    margin-right: 30px;
    margin-bottom: 15px;
}

.blog-meta .single-meta:last-child {
    margin-right: 0;
}

.blog-meta .single-meta .meta-title {
    font-size: 14px;
    color: #888; /* Título más suave */
    margin-bottom: 5px;
}

.blog-meta .single-meta .meta-value {
    font-size: 16px;
    color: #444; /* Color oscuro para valores */
}

.blog-meta .single-meta .meta-value a {
    color: #005ccc; /* Azul para los enlaces */
    text-decoration: none; /* Sin subrayado */
}

.blog-meta .single-meta .meta-value a:hover {
    color: #ff5733; /* Color vibrante en hover */
}



/*------------------------
6. Navigation-&-Pagination
-------------------------*/
.navigation,
.pagination {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    margin-top: 80px;
}

.nav-links {
    width: 100%;
}

.pagination .page-numbers {
    background: #558bff;
    display: inline-block;
    width: 50px;
    height: 50px;
    margin: 5px;
    line-height: 50px;
    position: relative;
    z-index: 1;
    color: #141414;
}

.pagination .page-numbers:hover,
.pagination .page-numbers.current {
    color: #ffffff;
}

.pagination .page-numbers:after {
    content: "";
    background-color: #f9f9f9;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
}

.pagination .page-numbers.current:after,
.pagination .page-numbers:hover:after {
    opacity: 0;
}

/* ---------------------
Estilos Mejorados del Footer
--------------------- */

.footer-area {
    padding-top: 70px;
    /*  background: #142858; color logo azul*/
    background: linear-gradient(135deg, #19153a, #0f0c29);
    color: #ffffff;
    position: relative;
}

.footer-widgets {
    margin-bottom: 40px;
}

.footer-widgets ul {
    list-style: none;
    padding: 0;
}

.footer-widgets ul li {
    margin-bottom: 10px;
    transition: all 0.3s ease-in-out;
}

.footer-widgets ul li:hover {
    transform: translateX(5px);
    color: #1eb2a6;
}

.footer-widgets a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease-in-out;
}

.footer-widgets a:hover {
    color: #1eb2a6;
}

/* Logo y descripción */
.footer-logo img {
    max-width: 160px;
    margin-bottom: 15px;
}

.footer-widgets .widget-title {
    font-size: 20px;
    color: #e3e7ea;
    margin-bottom: 20px;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 2px solid #1eb2a6;
    display: inline-block;
    padding-bottom: 5px;
}

/* Iconos Sociales */
.footer-widgets ul.d-flex {
    padding: 0;
}

.footer-widgets ul.d-flex li {
    margin-right: 12px;
}

.footer-widgets ul.d-flex li a {
    display: inline-block;
    font-size: 20px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease-in-out;
}

.footer-widgets ul.d-flex li a:hover {
    background: #1eb2a6;
    transform: scale(1.1);
}

/* Pie de Página */
.footer-bottom {
    background: #0b061d;
    padding: 15px 0;
    text-align: center;
    font-size: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-bottom p {
    margin: 0;
    opacity: 0.8;
}




/* .footer-widgets .widget-title:before {
    content: ".";
} */

/*----------------------
11. Preloader-CSS carga de aniamcion
 ---------------------*/


 .preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #142858;
  /*   background: url(../images/intro.gif) no-repeat center center; */
    background-size: cover; /* Ajusta la imagen para que cubra toda el área sin deformarse */
    z-index: 999999;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    pointer-events: none;
}


.preloader img {
    width: 40%;
}

/* ------------------------
12. ScrollUpButton
-------------------------- */
#scrollUp {
    position: fixed;
    left: 2%;
    top: 100%;
    width: 28px;
    height: 60px;
    line-height: 60px;
    font-size: 16px;
    border: 2px solid #11355a;
    color: #11355a;
    text-align: center;
    background-color: #ffffff;
    border-radius: 100px;
    z-index: 999;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    transition: 0.5s;
    -moz-transition: 0.5s;
    -ms-transition: 0.5s;
}

#scrollUp:hover {
    background-color: #258abe;
    color: #ffffff;
}

#scrollUp.active {
    top: calc(100% - 110px)
}

#scrollUp i {
    -webkit-animation: mymove 1s ease-in 0s infinite alternate;
    animation: mymove 1s ease-in 0s infinite alternate;
    display: inline-block;
    position: relative;
}

@-webkit-keyframes mymove {
    from {
        top: -5px;
    }

    to {
        top: 5px;
    }
}

@keyframes mymove {
    from {
        top: -5px;
    }

    to {
        top: 5px;
    }
}

/* ------------------------
13. Portfolio-Page CAMHIO DE TAMAÑAO
-------------------------- */
.site-header {
    background-image: url('../images/bandera.jpg');
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center center;
    background-size: cover;
    position: relative;
    z-index: 1;
    padding-top: 150px;
    padding-bottom: 10px;
    overflow: hidden;
}
/* TAMAÑO DE LETRA DE LOS TITULOS DE CADA SECCION */
.site-header .title {
    color: #ffffff;
    font-size: 50px;
}

.site-header .breadcrumbs ul {
    list-style: none;
    margin: 0px;
    padding: 0px;
    text-align: right;
}

.site-header .breadcrumbs ul li {
    display: inline-block;
    font-size: 24px;
    color: #ffffff;
}

.site-header .breadcrumbs ul li:after {
    content: "-";
    margin: 0 30px;
}

.site-header .breadcrumbs ul li:last-child:after {
    display: none;
    margin-right: 0px;
}

.site-header .breadcrumbs ul li a {
    color: #ffffff;
}

.quote-box {
    text-align: center;
    padding: 100px 30px;
    background-color: #fff0eb;
    border-radius: 10px;
}

.quote-content .title {
    font-size: 36px;
}

.quote-content .desc {
    font-weight: 600;
    margin-bottom: 50px;
}

/* -------------------------
14. Portfolio-Details
-------------------------- */

.blog-details .head-title,
.portfolio-details .head-title {
    font-size: 45px;
    margin-bottom: 50px;
}

.image-block {
    width: 60%;
    max-width: 60%;
    margin: 0 auto; /* Centra la imagen horizontalmente y elimina los márgenes superior e inferior */
    border-radius: 10px;
    overflow: hidden;
}
/* Cuadro donde se muestran detales de info publica */

.portfolio-details .portflio-info {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    background-color: #a4e7ff;
    flex-wrap: wrap;
    padding: 25px 40px;
    margin-bottom: 50px;
    border-radius: 10px;
}

.portfolio-details .portflio-info .single-info {
    margin-right: px;
    padding: 10px 0;
}

.portfolio-details .portflio-info .single-info:last-child {
    margin-right: 0px;
}

.portfolio-details .portflio-info .single-info .title {
    font-size: 16px;
    margin-bottom: 5px;
}

/* .portfolio-details .portflio-info .single-info .title:before {
    content: ".";
    color: #ff885e;
    margin-right: 5px;
} */

.description .gallery {
    list-style: none;
    margin: 30px 0px 0px 0px;
    padding: 0px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.description .gallery li {
    margin-bottom: 30px;
    width: 49%;
    border-radius: 10px;
    overflow: hidden;
}

.description .gallery li:nth-child(n + 3) {
    width: 100%;
}

.portfolio-details .description .dots-list {
    list-style: none;
    padding: 10px 0 0 0;
    margin: 0px 0 30px 0;
}

.description .dots-list li {
    margin: 10px 0px;
}

.description .dots-list li:before {
    color: #258abe;
    font-family: 'Font Awesome 5 Pro';
    content: "\f00c";
    font-weight: 900;
    margin-right: 10px;
    font-size: 16px;
}

.single-navigation {
    padding: 15px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    background-color: #f3f7ff;
    margin-top: 60px;
    border-radius: 10px;
}

.single-navigation .nav-link {
    display: flex;
    align-items: center;
    max-width: 50%;
}
/* color de los botones para cambiar de noticias en institucion */
.single-navigation .nav-link .icon {
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    color: #fff;
    background-color: #258abe;
    margin: 15px;
    font-size: 22px;
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    border-radius: 50%;
    -o-transition: 0.3s;
}

.single-navigation .nav-link:hover .icon {
    background-color: #137f6d;
    color: #ffffff;
}

.single-navigation .nav-link .text {
    font-size: 22px;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    color: #282828;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.swiper-slide {
    overflow: hidden;
    color: #fff;
}

.swiper-container {
    width: 100%;
    left: 0;
    top: 0;
}

.slide-inner {
    width: 100%;
    padding-top: 320px;
    padding-bottom: 210px;
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 1;
    min-height: calc(100vh - 40px);
    display: flex;
    align-items: center;
}
/* CAMBIA DE COLOR LA BARRA AL DESLIZAR HACIA */
.main_menu.menu_fix {
/*     background: #fff;
    border-color: #eeeeeeb5; */
/*      background: rgb(255,255,255);
    background: linear-gradient(151deg, rgba(255,255,255,1) 22%, rgba(0,156,210,1) 22%); */
/*     background: rgb(218,218,218);
    background: linear-gradient(142deg, rgba(218,218,218,1) 100%, rgba(0,50,108,1) 100%); */
    background: rgb(3,27,55);
    background: linear-gradient(142deg, rgba(3,27,55,1) 100%, rgba(3,27,55,1) 100%);

   opacity: 0.9;



/*     background: rgb(67,185,246);
    background: linear-gradient(142deg, rgba(67,185,246,1) 28%, rgba(255,255,255,1) 28%, rgba(255,255,255,1) 67%, rgba(67,185,246,1) 67%); */
}

.main_menu.menu_fix .nav li a {
    color: #3a3a3a;
}

.main_menu.menu_fix ul li>a i.plus:before,
.main_menu.menu_fix ul li>a i.plus:after {
    background-color: #3a3a3a !important;
}

.main_menu.menu_fix .social-buttons a {
    color: #292929;
}

.single-service {
    padding: 25px;
    background: #f3f7ff;
    border-radius: 10px;
}
/* BOTON LEER MAS PORTA */
.header-text a.button-dark.mouse-dir {
    background: #3b1f91;
}

.about-image img {
    width: 100% !important;
}

.slick-dots li button {
    background-color: #ff885e;
    border-radius: 50%;
    margin: 5px 2px 0 2px;
}

.blog-content {
    padding: 30px;
    padding-top: 0;
}

.blog-content a {
    padding: 10px 25px;
}

.navbar-brand {
    max-width: 190px;
    padding: 0;
    margin: 0;
}

.footer-widgets .footer-logo {
    max-width: 190px;
}

.copyright {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.copyright p {
    margin: 0;
}

.copyright p span {
    color: #190844;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 600;
}

.footer-widgets .text-box ul li a {
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background: #ff885e1f;
    margin-right: 14px;
    border-radius: 50%;
    transition: all linear .3s;
    -webkit-transition: all linear .3s;
    -moz-transition: all linear .3s;
    -ms-transition: all linear .3s;
    -o-transition: all linear .3s;
}

.footer-widgets .text-box ul li a:hover {
    background: #5c22fc
}

.page-item {
    background: #558bff;
    display: inline-block;
    width: 50px;
    height: 50px;
    margin: 5px;
    line-height: 50px;
    position: relative;
    z-index: 1;
    color: #141414;
}

.page-link {
    background: #f9f9f9;
    border: none;
    color: black;
}

.page-item.disabled>.page-link {
    background: #f9f9f9 !important;
    border: none;
    color: black;
}

.single-portfolio img {
    width: 100%;
    height: 330px;
    object-fit: cover;
}

.slick-slide img {
    display: inline-block;
    height: 300px;
    object-fit: cover;
}

.blog-image img {
    height: 300px;
    object-fit: cover;
}


/* CODEDE *//* Estilo para las pestañas */
.nav-tabs {
    border-bottom: 5px solid #07214d;
}

.nav-tabs .nav-link {
    border: 1px solid transparent;
    border-radius: 0.25rem;
    padding: 10px 15px;
    font-size: 1rem;
    color: #007bff;
    background-color: #f8f9fa;
    transition: background-color 0.3s, color 0.3s;
}

.nav-tabs .nav-link.active {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}

.nav-tabs .nav-link:hover {
    background-color: #09326d;
    color: #ffffff;
}

/* Estilo para los selectores de filtros */
.select-filter {
    border-radius: 5px;
    padding: 10px 15px;
    border: 1px solid #ced4da;
    font-size: 1rem;
    width: 100%;
    transition: all 0.3s ease;
}

.select-filter:focus {
    outline: none;
    border-color: #ff4400;
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
}

/* Card de proyectos */
/* Card de proyectos */
.proyecto-card {
    transition: box-shadow 0.3s ease; /* Solo transición de sombra */
}

/* Efecto hover */
.proyecto-card:hover {
   
    box-shadow: 0 15px 20px rgb(2, 62, 125); /* Sombra más suave */
}


/* Estilo para las tarjetas de los proyectos */
.card {
    border-radius: 10px;
    border: none;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.card-body {
    padding: 15px;
}

.card-title {
    font-size: 1.25rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 10px;
}

.card-text {
    font-size: 1rem;
    color: #666;
    margin-bottom: 10px;
}

/* Botón de Ver Documento */
.btn-primary {
    background-color: #007bff;
    border-color: #007bff;
    transition: background-color 0.3s, border-color 0.3s;
}

.btn-primary:hover {
    background-color: #0056b3;
    border-color: #0056b3;
}

/* Modal */
.modal-content {
    border-radius: 15px;
}

.modal-header {
    background-color: #007bff;
    color: #fff;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

.modal-body {
    padding: 20px;
}

/* Estilos adicionales para mayor limpieza y presentación */


.site-header h2 {
    font-size: 2.5rem;
    font-weight: bold;
}

.breadcrumbs a {
    color: #007bff;
    text-decoration: none;
}

.breadcrumbs a:hover {
    text-decoration: underline;
}

.list-group-item {
    border: none;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 5px;
    margin-bottom: 10px;
    transition: background-color 0.3s;
}

.list-group-item:hover {
    background-color: #e7f1ff;
}

/* TIKTOK PARA MEJOR PRESENTACION EN SECCION */
.tiktok-embed {
    border: none !important; /* Elimina cualquier borde */
    width: 100% !important; /* Asegura que ocupe el 100% del contenedor */
    max-width: 100% !important;
    overflow: hidden !important; /* Evita cualquier desbordamiento */

}
.tiktok-container {
    max-width: 100%;
    width: 100%;
    min-width: 280px; /* Evita que sea demasiado pequeño en móviles */
}





/* cyrillic-ext */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* vietnamese */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* cyrillic-ext */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* vietnamese */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* cyrillic-ext */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WRhyzbi.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

/* cyrillic */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459W1hyzbi.woff2) format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* vietnamese */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459WZhyzbi.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wdhyzbi.woff2) format('woff2');
    unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(/fonts.gstatic.com/s/montserrat/v26/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

#notfound {
    position: relative;
    height: 50vh;
}

#notfound .notfound {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.notfound {
    max-width: 410px;
    width: 100%;
    text-align: center;
}

.notfound .notfound-404 {
    height: 280px;
    position: relative;
    z-index: -1;
}

.notfound .notfound-404 h1 {
    font-family: 'Montserrat', sans-serif;
    font-size: 230px;
    margin: 0px;
    font-weight: 900;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background: url('./images/bg.jpg') no-repeat;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: cover;
    background-position: center;
}


.notfound h2 {
    font-family: 'Montserrat', sans-serif;
    color: #000;
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 0;
}

.notfound p {
    font-family: 'Montserrat', sans-serif;
    color: #000;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 20px;
    margin-top: 0px;
}

.notfound a {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    text-decoration: none;
    text-transform: uppercase;
    background: #0046d5;
    display: inline-block;
    padding: 15px 30px;
    border-radius: 40px;
    color: #fff;
    font-weight: 700;
    -webkit-box-shadow: 0px 4px 15px -5px #0046d5;
    box-shadow: 0px 4px 15px -5px #0046d5;
}



/* Estilos por defecto */
.notfound .notfound-404 {
    height: 20vh; /* 20% de la altura de la ventana */
}

.notfound .notfound-404 h1 {
    font-size: 10vw; /* 10% del ancho de la ventana */
}

/* Ajustes para pantallas pequeñas */
@media only screen and (max-width: 767px) {
    .notfound .notfound-404 {
        height: 25vh; /* Aumentar la altura para pantallas más pequeñas */
    }

    .notfound .notfound-404 h1 {
        font-size: 15vw; /* Aumentar el tamaño de fuente para pantallas más pequeñas */
    }
}

/* Ajustes para pantallas muy grandes */
@media only screen and (min-width: 1200px) {
    .notfound .notfound-404 {
        height: 15vh; /* Reducir la altura para pantallas muy grandes */
    }

    .notfound .notfound-404 h1 {
        font-size: 8vw; /* Reducir el tamaño de fuente para pantallas muy grandes */
    }
}


