/*
***************************
    Theme Name: Ecoland

    1.header top
    2.main menu area
    3.mobile logo area
    4.slider area
    5.feature area
    6.about area
    7.service area
    8.skill area
    9.project area
    10.faq area
    11.call to action
    12.ed pricing area
    13.counter area
    14.lx contact area
    15.marquee area
    16.testimonial area
    17.blog area
    18.brand area
    19.footer area
    20.copyright area
    
***********************
*/

/* ======= site font family ==========*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&family=Roboto:wght@400;500;700;900&display=swap');

:root{
    --blackc: #150808;
    --whitec: #fff;
    --ddcolor: #ddd;
    --bgcolor: #0e04566d;
    --brcolor: #0E76BC;
    --paracolor: #555;
    --titlecolor: #0b184e;
    --menu-bg: #fffdf5;
}
html,body{
    overflow-x: hidden;
}


body {
    background-color:#fffdf5; /* amarillo claro  */
    color: #222222fb;
  }


  
  
/* defult css */
body{
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
    line-height: 1.6;
    color: var(--titlecolor);
}
h1,h2,h3,h4,h5,h6,h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    line-height: 1.2;
    font-weight: 700;
    font-size: 24px;
    margin: 0;
    color: var(--titlecolor);

}
h1,
h1 a{
    font-size: 30px;
}
h2,
h2 a{
    font-size: 22px;
}
h3,
h3 a{
    font-size: 24px;
}
h4, h4 a {
    font-size: 16px;
    font-family: "Roboto", sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--bgcolor);
}
h5,
h6,
h6 a{
    font-size: 15px;
}
.btn-primary:focus,
select:focus,
textarea:focus,
input:focus{
   box-shadow: none !important;
    border: none;
}
textarea, input {
    outline: none;
    border: none;
}
.btn:focus {
    text-decoration: none;
    outline: none;
	box-shadow: none;
}
input:focus,
button:focus{
	border-color:transparent;
	outline-color:transparent;
}
textarea:focus{
	border-color:transparent;
	outline-color:transparent;	
}
::-moz-placeholder {
    font-size: 16px;
}
::-webkit-input-placeholder {
    font-size: 16px;
}
:-ms-input-placeholder {
    font-size: 16px;
}
::placeholder {
    font-size: 16px;
}
a{
    transition: .5s;
	text-decoration:none;
	color:var(--linkcolor);
}
a:focus, 
a:hover {
    text-decoration: none;
	outline: none;
} 

input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
textarea:-webkit-autofill:active,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus,
select:-webkit-autofill:active{
  transition: background-color 50000s ease-in-out 0s, color 5000s ease-in-out 0s;	
}
p.form-messege{
    margin-top: 8px;
    color: var(--whitec);
}
P{
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    color: var(--paracolor);
}
a{
    text-decoration: none;
    transition: .5s;
}
a:hover{
    color: var(--brcolor);
}
.witr_all_pd0{
    padding: 0;
}
/* highlight color css */
h2 span.highlight {
    color: var(--bgcolor);
    font-weight: 500;
}

.header_top {
    background-color: #003366; /* fondo azul oscuro */
    color: white;
}

.header_top a,
.header_top span,
.header_top i {
    color: white !important;
}




.card-text {
    text-align: justify;
}

/* =========================================
   ESTILOS PERSONALIZADOS CASA DE LA CULTURA
   Movidos desde index.html
   ========================================= */

/* Altura por defecto (escritorio) */
.inner_slider_area {
    height: 590px;
    background-size: cover;
    background-position: center;
    transition: background-image .3s ease-in-out;
}

/* Media query para móviles */
@media (max-width: 580px) {
    .inner_slider_area {
        height: 500px;
    }
    .inner_slider_area.slide-1 {
        background-image: url('assets/images/PROGRAMACION_SEPTIEMBRE.png') !important;
    }
    .inner_slider_area.slide-2 {
        background-image: url('assets/images/feria_mobil.jpg') !important;
    }
    
    /* Slide 3 móvil */
    .inner_slider_area.slide-3 {
        background-image: url('assets/images/slider_cumpleaños.jpg') !important;
    }
}

/* ESTILOS MEJORADOS PARA EL MENÚ RESPONSIVE */
.main_menu_area {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    position: relative;
    z-index: 1000;
    padding: 10px 0;
}

.main-menu-list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    flex-wrap: nowrap;
}

.main-menu-list > li {
    position: relative;
    margin: 0 5px;
}

.main-menu-list > li > a {
    display: block;
    padding: 20px 15px;
    color: #333;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    white-space: nowrap;
    transition: all 0.3s ease;
}

.main-menu-list > li > a:hover {
    color: #007bff;
    background: #f8f9fa;
}

/* Submenús */
.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    min-width: 220px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 1000;
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-item-has-children:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.sub-menu li {
    border-bottom: 1px solid #f0f0f0;
}

.sub-menu li:last-child {
    border-bottom: none;
}

.sub-menu a {
    display: block;
    padding: 12px 20px;
    color: #333;
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.sub-menu a:hover {
    background: #f8f9fa;
    color: #007bff;
}

/* Submenús anidados */
.sub-menu .sub-menu {
    left: 100%;
    top: 0;
}

/* BÚSQUEDA EN MENÚ DESKTOP */
.search-menu-item {
    margin-left: 10px !important;
}

.search-toggle {
    background: none;
    border: none;
    padding: 20px 15px;
    cursor: pointer;
    color: #333;
    font-size: 16px;
    transition: all 0.3s ease;
}

.search-toggle:hover {
    color: #007bff;
    background: #f8f9fa;
}

.search-box {
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    padding: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    border-radius: 5px;
    min-width: 300px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 1001;
}

.search-box.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.search-form {
    display: flex;
    gap: 10px;
}

.search-input {
    flex: 1;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

.search-btn {
    padding: 10px 15px;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.3s ease;
}

.search-btn:hover {
    background: #0056b3;
}

/* HEADER MÓVIL CORREGIDO */
.mobile-header {
    display: none;
    background: #fff;
    padding: 10px 15px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    position: relative;
    z-index: 1001;
}

.mobile-header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mobile-logo img {
    max-height: 50px;
}

.mobile-header-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.mobile-menu-toggle, .mobile-search-toggle {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #333;
    padding: 5px 10px;
}

/* BÚSQUEDA MÓVIL */
.mobile-search-box {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    padding: 15px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    z-index: 1002;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
}

.mobile-search-box.active {
    transform: translateY(0);
}

.mobile-search-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.mobile-search-close {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #333;
}

.mobile-search-form {
    display: flex;
    gap: 10px;
}

.mobile-search-input {
    flex: 1;
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
}

.mobile-search-btn {
    padding: 10px 15px;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

/* RESULTADOS DE BÚSQUEDA MEJORADOS */
.search-results {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    border-radius: 0 0 5px 5px;
    max-height: 400px;
    overflow-y: auto;
    z-index: 1002;
}

.search-results.active {
    display: block;
}

.search-result-item {
    padding: 15px;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
    transition: background 0.3s ease;
}

.search-result-item:hover {
    background: #f8f9fa;
}

.search-result-item:last-child {
    border-bottom: none;
}

.search-result-title {
    font-weight: 600;
    margin-bottom: 8px;
    color: #007bff;
    font-size: 16px;
}

.search-result-content {
    font-size: 14px;
    color: #666;
    line-height: 1.4;
    margin-bottom: 5px;
}

.search-result-category {
    font-size: 12px;
    color: #888;
    font-style: italic;
}

.search-highlight {
    background-color: #fff3cd;
    padding: 2px 4px;
    border-radius: 3px;
    font-weight: 600;
}

.no-results {
    padding: 20px;
    text-align: center;
    color: #666;
    font-style: italic;
}

/* Menú móvil */
.mobile-menu-container {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    z-index: 9999;
    overflow-y: auto;
}

.mobile-menu-content {
    background: #fff;
    width: 90%;
    max-width: 400px;
    height: 100%;
    padding: 20px;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
}

.mobile-menu-container.active {
    display: block;
}

.mobile-menu-container.active .mobile-menu-content {
    transform: translateX(0);
}

.mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
    margin-bottom: 20px;
}

.mobile-menu-logo img {
    max-height: 60px;
}

.mobile-close-btn {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #333;
    padding: 5px;
}

.mobile-menu-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-menu-nav ul li {
    border-bottom: 1px solid #eee;
    position: relative;
}

.mobile-menu-nav ul li:last-child {
    border-bottom: none;
}

.mobile-menu-nav ul li a {
    display: block;
    padding: 15px 10px;
    color: #333 !important;
    text-decoration: none;
    font-weight: 500;
    font-size: 16px;
}

.mobile-menu-nav ul li a:hover {
    background: #f8f9fa;
    color: #007bff !important;
}

.mobile-submenu-toggle {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    padding: 5px 10px;
    color: #333;
    z-index: 1;
}

.mobile-submenu {
    display: none;
    background: #f8f9fa;
    padding-left: 15px;
}

.mobile-submenu.active {
    display: block;
}

.mobile-submenu li {
    border-bottom: 1px solid #ddd !important;
}

.mobile-submenu li:last-child {
    border-bottom: none !important;
}

.mobile-submenu a {
    padding: 12px 10px !important;
    font-size: 14px;
    color: #333 !important;
}

.mobile-submenu .mobile-submenu {
    background: #e9ecef;
    margin-left: 10px;
}

/* Búsqueda en menú móvil */
.mobile-search-menu-item {
    padding: 15px 10px;
    border-bottom: 1px solid #eee;
}

.mobile-search-menu-item a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #333 !important;
    text-decoration: none;
}

/* RESPONSIVE */
@media (max-width: 1199px) {
    .main-menu-list > li > a {
        padding: 20px 10px;
        font-size: 13px;
    }
    
    .search-toggle {
        padding: 20px 10px;
    }
}

@media (max-width: 991px) {
    .desktop-menu {
        display: none !important;
    }
    
    .mobile-header {
        display: block !important;
    }
    
    .main_menu_area {
        display: none !important;
    }
    
    .site_logo_area img {
        max-height: 60px;
    }
}

@media (min-width: 992px) {
    .mobile-header {
        display: none !important;
    }
    
    .desktop-menu {
        display: block !important;
    }
    
    .main_menu_area {
        display: block !important;
    }
    
    .mobile-menu-container {
        display: none !important;
    }
    
    .mobile-search-box {
        display: none !important;
    }
}

/* Asegurar que el contenedor use todo el ancho */
.container-fluid {
    padding-left: 15px;
    padding-right: 15px;
}

/* Evitar que los textos se rompan */
.main-menu-list > li > a {
    white-space: nowrap;
}

/* Ajustes específicos para pantallas medianas */
@media (max-width: 1400px) and (min-width: 1200px) {
    .main-menu-list > li > a {
        padding: 20px 12px;
        font-size: 13px;
    }
}

@media (max-width: 1199px) and (min-width: 992px) {
    .main-menu-list > li > a {
        padding: 20px 8px;
        font-size: 12px;
    }
    
    .main-menu-list > li {
        margin: 0 2px;
    }
}

/* Mejoras de accesibilidad */
a:focus, button:focus {
    outline: 2px solid #4d90fe;
    outline-offset: 2px;
}


/*======== header top start ==========*/
.header_top {
    padding: 10px 0;
    background: var(--titlecolor);
}
.top_menu_left{
    color: var( --bgcolor);
}
.top_menu_left span {
    color: var(--whitec);
    margin-right: 25px;
    font-size: 14px;
    font-weight: 400;
}
.top_menu_left span i {
    margin-right: 6px;
}
/*--ICON--*/
.top_menu_left a i {
    margin-right: 16px;
    color: var(--whitec);
    font-size: 13px;
}
.top_menu_left a span{
    color: var(--whitec);
    font-size: 14px;
}

.top_menu_left_icon {
    display: inline-block;
    margin-left: 15px;
}
.top_menu_left_icon>a>i{
    margin-right: 0px;
}
.top_menu_left_icon a i{
    transition: .5s;
    font-size: 14px;
    font-weight: 600;
    color: var(--whitec);
}
.top_menu_left_icon a i:hover{
    color: var(--titlecolor);
}
.top_menu_right span {
    color: var(--whitec);
    font-size: 13px;
}
/*--top_menu_right--*/
.top_menu_right {
    display: flex;
    color: var( --whitec);
    justify-content: end;
    margin-right: 15px;
}
.top_menu_right a{
    color: var(--whitec);
    margin-left: 15px;
    transition: .5s;
}
.top_menu_right a i{
    font-size: 15px;
}
.top_menu_right :hover{
    color: var(--bgcolor);
}
.absolute_menu .sticky .header_top{
    display: none;
}
/*======== header top end ==========*/

/*======== main menu area start ==========*/
.main_menu_area {
    padding: 0 10px;
    background: var(--menu-bg);
}
.main_menu_area.breadcam_menu {
    background-color: var(--menu-bg);
}
.site_logo_area {
    text-align: left;
    background: var(--bgcolor);
    padding: 1px 10px;/*ajusta el fondo del logo*/
    border-radius: 0px 50px;
    margin-right: 70px;
    
}

.site_logo_area {
    display: flex;
    justify-content: center;  /* Centra el logo horizontalmente */
    align-items: center;  /* Centra el logo verticalmente */
    width: 250px;  /* Ajusta el tamaño del botón */
    height: 100px;  /* Ajusta el tamaño del botón */
    background-color: #32176300;  /* Color de fondo del botón */
    border-radius: 15px;  /* Bordes redondeados del botón (opcional) */
}

.site_logo_area img {
    width: 400px;  /* Ajusta el tamaño del logo */
    height: auto;  /* Mantiene la proporción del logo */
}


/* mobile menu */
/* ————— Mostrar menú móvil ————— */
/* Eliminamos/eliminamos las reglas que ocultaban el menú móvil */
/* .mobile_menu { display: none; } */
/* .mobile_logo_area { display: none; } */

/* ————— Ajustes de uppercase ————— */
/* Anulación global de mayúsculas en el menú móvil */
.mobile_logo_area,
.mobile_logo_area a,
.mobile_menu .mobile_menu_content .menu_area a,
.mobile_menu .sub-menu li a {
    text-transform: none !important;
}

/* ————— Sticky main menu ————— */
.main_menu_area.sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999999;
    background-color: rgba(58, 8, 128, 0.26);
}
.main_menu_area .sticky_logo {
    display: none;
}
.main_menu_area.sticky .main_logo {
    display: none;
}
.main_menu_area.sticky .sticky_logo {
    display: block;
}
.main_menu_area.sticky .inner_main_nav_area > ul > li > a {
    color: var(--whitec);
}
.main_menu_area.sticky .inner_main_nav_area > ul > li > a:hover {
    color: var(--bgcolor);
}
.main_menu_area.sticky .inner_main_nav_area > ul > li > a i {
    color: var(--whitec);
}
.main_menu_area.sticky .main_nav_btn a {
    color: var(--whitec);
}
.main_menu_area.sticky .main_nav_icons a i {
    color: var(--whitec);
}

/* ————— Main nav area ————— */
.main_nav_area {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* ————— Absolute menu ————— */
.absolute_menu {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: none;
}
.absolute_menu .main_nav_area {
    justify-content: flex-end;
}

/* ————— Landing menu ————— */
.landing_menu .main_nav_area {
    justify-content: flex-end;
}

/* ————— Inner main nav area ————— */
.inner_main_nav_area ul {
    list-style: none;
    margin: 0 0 0 10px;
    padding: 0;
}
.inner_main_nav_area > ul > li {
    display: inline-block;
    position: relative;
}
.inner_main_nav_area > ul > li > a {
    display: block;
    margin: 35px 12px;
    transition: .2s;
    position: relative;
    font-size: 16px;
    font-weight: 500;
    color: var(--blackc);
    text-transform: capitalize; /* deja en “Capitalizado” para desktop */
}
.inner_main_nav_area > ul > li > a > i {
    font-weight: 700;
    color: var(--titlecolor);
}
.inner_main_nav_area > ul > li > a:hover {
    color: var(--bgcolor);
}

/* ————— Logo menú móvil ————— */
.mobile_menu_logo {
    text-align: center;
    padding: 10px 0;
}
.mobile_menu_logo img {
    max-width: 300px;
    height: auto;
    margin: 0 auto;



    display: block;
}

/* 1) Hacemos que cada tarjeta sea un flex-column */
.service_area .main_service {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* si antes tenías h-100, quítalo o sobreescríbelo */
    height: auto;  /* que auto-calcule según contenido */
  }
  
  /* 2) Fijamos la altura de la imagen */
  .service_area .service_img {
    width: 100%;
    flex: 0 0 300px;    /* ocupa siempre 300px de alto */
    overflow: hidden;   
    border-radius: 10px;
  }
  .service_area .service_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  /* 3) Reducimos el espacio del texto y empujamos el botón al fondo */
  .service_area .service_text {
    flex: 0 0 auto;     /* sólo el hueco del texto */
    margin-top: auto;   /* empuja el texto/botón abajo */
    padding: 0.5rem 0;  /* menos padding vertical */
  }
  
  /* 4) Ajuste responsive: en móvil imágenes algo más pequeñas */
  @media (max-width: 768px) {
    .service_area .service_img {
      flex: 0 0 240px;
    }
  }
/* 1) Hacer que cada tarjeta calcule su alto por contenido */
.service_area .main_service {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;    /* anula h-100 o alturas fijas en otras partes */
  }
  
  /* 2) Contenedores de imagen: todas al mismo tamaño */
  .service_area .service_img,
  .service_area .art-img-container {
    width: 100%;
    flex: 0 0 300px;    /* 300px de alto para desktop (ajústalo si lo deseas) */
    overflow: hidden;
    border-radius: 10px;
  }
  
  /* 3) Las imágenes internas siempre cubriendo el 100% del contenedor */
  .service_area .service_img img,
  .service_area .art-img-container .art-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  /* 4) Zona de texto/botón solo el espacio que ocupe */
  .service_area .service_text,
  .service_area .art-text {
    flex: 0 0 auto;
    margin-top: auto;
    padding: 0.5rem 0;
  }
  
  /* 5) Responsive: en móvil reducimos altura de los contenedores */
  @media (max-width: 768px) {
    .service_area .service_img,
    .service_area .art-img-container {
      flex: 0 0 240px;   /* antes 300px, ahora 240px */
    }
  }
    
/* Ajustes para pantallas de móvil */
@media (max-width: 576px) {
    .header_top .top_menu_left,
    .header_top .top_menu_right {
      display: flex;
      flex-direction: column;   /* de fila a columna */
      align-items: flex-start;  /* íconos/texto alineados a la izquierda */
      gap: 0.25rem;             /* separa un poco cada línea */
      padding: 0.5rem 0;        /* da algo de aire vertical */
    }
  
    .header_top .top_menu_left span,
    .header_top .top_menu_left a,
    .header_top .top_menu_right span,
    .header_top .top_menu_right a {
      font-size: 0.85rem;       /* un pelín más pequeño para caber */
      display: flex;
      align-items: center;      /* ícono y texto centrados verticalmente */
      flex-wrap: wrap;          /* permite que el texto largo baje a la siguiente línea */
    }
  
    .header_top .top_menu_left a i,
    .header_top .top_menu_right a i,
    .header_top .top_menu_left span i {
      margin-right: 0.35rem;    /* espacio entre ícono y texto */
      font-size: 1rem;          /* íconos ligeramente más contenidos */
    }
  
    /* Opcional: reduce el padding horizontal del container */
    .header_top .container-fluid {
      padding-left: 0.5rem;
      padding-right: 0.5rem;
    }
  }

  
  /* ============================
   Sidebar fijo derecha
   ============================ */
.social-fixed-right {
  position: fixed;
  right: 0;
  /* Ajusta 'top' para no tapar tu header:
     si tu header mide 80px, pon top: 80px + margen extra */
  top: 100px;

  /* Ajusta 'bottom' para no chocar con el footer:
     si tu footer mide 60px, pon bottom: 60px + margen extra */
  bottom: 80px;

  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0.5rem;

  background: rgba(255,255,255,0.8);
  border-radius: 4px 0 0 4px;
  z-index: 1000;
}
@media (max-width: 767px) {
  .social-vertical {
    display: none;
  }
}
@media (max-width: 767px) {
    .social-vertical {
      display: none !important;
    }
  }

  
/* Iconos */
.social-fixed-right a {
  font-size: 1.6rem;
  color: #333;
  transition: color 0.2s;
  display: block;
}

/* Hover */
.social-fixed-right a:hover {
  color: var(--bgcolor);
}

/* Ocultar en pantallas muy pequeñas (opcional) */
@media (max-width: 576px) {
  .social-fixed-right {
    display: none;
  }
}
@media (max-width: 576px) {
    /* Hacemos que el bloque derecho sea fila y no columna */
    .header_top .top_menu_right {
      display: flex;
      flex-direction: row;      /* fila, no columna */
      flex-wrap: wrap;          /* si faltara espacio, baja a nueva línea */
      align-items: center;      /* centrado vertical */
      gap: 0.5rem;              /* separación entre texto e iconos */
      padding: 0.5rem 0;        /* opcional: algo de espacio vertical */
    }
  
    /* Un pequeño margen entre el texto "Síguenos..." y los iconos */
    .header_top .top_menu_right span {
      margin-right: 0.5rem;
      white-space: nowrap;      /* evita que el texto se divida */
    }
  
    /* Ajuste de tamaño de iconos */
    .header_top .top_menu_right a i {
      font-size: 1.2rem;
      margin: 0;                /* quita márgenes verticales previos */
    }
  }
  


  .image-card img {
    width: 100%;      /* ajusta al ancho de la columna */
    height: 480px;    /* mantiene esa altura */
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  }
  .team_area {
    background: #f9f9f9;
  }
  .team_card {
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: transform 0.3s;
  }
  .team_card:hover {
    transform: translateY(-6px);
  }
  .team_img {
    position: relative;
  }
  .team_img img {
    width: 100%;
    display: block;
    border-radius: 12px;
  }
  .team_img .overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.4);
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    transition: opacity 0.3s;
    border-radius: 12px;
  }
  .team_img:hover .overlay {
    opacity: 1;
  }
  .team_img .overlay .icon {
    color: #fff;
    font-size: 1.4rem;
    background: rgba(255,255,255,0.2);
    padding: 8px;
    border-radius: 50%;
    transition: background 0.3s;
  }
  .team_img .overlay .icon:hover {
    background: rgba(255,255,255,0.4);
  }
   /* En tu archivo .css global o en un <style> dentro del <head> */

.gallery_section .gallery_flex {
    display: flex;
    gap: 1rem;               /* separación entre columnas */
    flex-wrap: wrap;         /* para móviles baja a 1 columna si no cabe */
  }
  
  .gallery_section .gallery_flex .image_card {
    flex: 1 1 calc(50% - 1rem);  /* dos columnas, restando el gap */
    box-sizing: border-box;
  }
  
  .gallery_section .gallery_flex .image_card img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;       /* recorta si es necesario para no distorsionar */
    border-radius: 8px;      /* opcional, bordes suaves */
  }
  

  .inner_yblog_left_title {
  text-align: justify;
}

.inner_yblog_left_title a {
  display: block;
  text-decoration: none; /* opcional: quita subrayado si lo quieres */
  color: inherit;        /* opcional: hereda color del contenedor */
  margin-bottom: 0.5em;  /* opcional: separa un poco cada enlace */
}



/* Timeline styles */
.timeline-container {
    position: relative;
    padding-left: 50px;
}

.timeline-item {
    position: relative;
    margin-bottom: 30px;
}

.timeline-year {
    position: absolute;
    left: -50px;
    top: 0;
    background: #003366;
    color: rgb(232, 219, 219);
    padding: 5px 10px;
    border-radius: 4px;
    font-weight: bold;
}

.timeline-content {
    background: #e9eeee;
    border-left: 3px solid #003366;
    position: relative;
}

.timeline-content:before {
    content: '';
    position: absolute;
    left: -8px;
    top: 15px;
    width: 12px;
    height: 12px;
    background: #003366;
    border-radius: 50%;
}

.historical-content {
    background: white;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(0,0,0,0.1);
}


/* main nav btn css */
.main_nav_btn a {
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    border-radius: 5px;
    padding: 10px 30px;
    border: 1px solid #dddddd;
    background: none;
    color: var(--paracolor);
}
.inner_main_nav_area ul li a.menu_nav_active{
    color: var(--bgcolor) !important;
}
.main_nav_btn a:hover{
    background-color: var(--bgcolor);
    color: var(--whitec);
}
.absolute_menu .inner_main_nav_area >ul >li >a{
    color: var(--whitec);
}
.absolute_menu .inner_main_nav_area >ul >li >a:hover{
    color: var(--bgcolor);
}
/* main nav icons together */
.beutty_right_area {
    display: flex;
    align-items: center;
}
.main_nav_icons_together {
    display: flex;
    align-items: center;
}
/* main nav icons */

.main_nav_icons >i {
    display: inline-block;
    cursor: pointer;
    transition: .5s;
    color: var(--blackc);
    margin-left: 25px;
    cursor: pointer;
    font-size: 16px;
    height: 30px;
    width: 30px;
    line-height: 30px;
    text-align: center;
    border-radius: 100px;
}
.main_menu_area.sticky .main_nav_icons >i{
    color: var(--whitec);
}
.main_nav_icons >i:hover{
    color: var(--whitec);
    background-color: var(--bgcolor);
}
/* nav icon popup css */
.nav_icon_popup {
    position: fixed;
    top: 0;
    left: -110%;
    background: #c54a1580;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: 1s;
}
.nav_icon_popup.icon_popup {
    opacity: 1;
    visibility: visible;
    left: 0;
}

/* main nav icon right */
.main_nav_icon_right {
    margin-left: 22px;
}
.main_nav_icon_right> i {
    display: inline-block;
    font-size: 23px;
    border-radius: 10px;
    cursor: pointer;
}
.main_menu_area.sticky .main_nav_icon_right> i{
    color: var(--whitec);
}
/* main nav icon right popup */
.main_nav_icon_right_popup {
    position: fixed;
    top: 0;
    right: -110%;
    width: 400px;
    height: 100%;
    background: #fff;
    z-index: 999;
    padding: 100px 20px 30px;
    overflow: scroll;
    opacity: 0;
    visibility: hidden;
    transition: 1s;
}
.main_nav_icon_right_popup.site_popup {
    right: 0;
    opacity: 1;
    visibility: visible;
}
.main_nav_icon_right_popup h2 {
    font-size: 22px;
    font-weight: 600;
    padding-bottom: 5px;
}
/* main nav right popup close */
.m_nav_rpi_close {
    text-align: end;
    margin: -57px 0 20px;
}
.m_nav_rpi_close >i{
    display: inline-block;
    color: var(--blackc);
    font-size: 40px;
    font-weight: 400;
    cursor: pointer;
}
.m_nav_right_pp_form{
    position: relative;
}
.m_nav_right_pp_form input{
    height: 54px;
    width: 100%;
    border: 1px solid #efefef;
    outline: none;
    padding: 0 20px;
}
.m_nav_right_pp_form button{
    position: absolute;
    top: 0;
    right: 0;
    font-size: 18px;
    padding: 13px 20px;
    outline: none;
    border: none;
    background: #ddd;
    color: var(--blackc);
}
/* right popup nav */
.right_popup_nav {
    padding: 65px 0 0 0;
}
.right_popup_nav ul {
    list-style: none;
    padding-left: 0;
}
.right_popup_nav ul li {
    padding: 12px 0;
    border-bottom: 1px solid #dddddd;
}
.right_popup_nav ul li.r_nav_child_border{
    border-bottom: none;
}

  
/* right popup address */
.right_popup_address {
    padding: 40px 0 14px;
}
.right_popup_address h2 {
    font-size: 24px;
    margin-bottom: 30px;
}
.right_popup_address p{
    width: 85%;
}
.right_popup_inner_address p{
    color: var(--brcolor);
}
.right_popup_inner_address p i{
    margin-right: 6px;
}
.right_popup_address h5 {
    background-color: var(--bgcolor);
    color: var(--whitec);
    padding: 15px 0 14px;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    width: 100%;
    margin: 0;
    position: relative;
}
/* inner nav icon popup */
.inner_nav_icon_popup {
    width: 47%;
    margin: 0 auto;
    position: relative;
}
.inner_nav_icon_popup input{
    font-size: 30px;
    font-weight: 500;
    padding: 17px 40px 15px 15px;
    width: 100%;
    border: none;
    outline: none;
    box-shadow: 0px 0px 30px 0px #dddddd45;
    background: var(--whitec);
    border-radius: 10px;
}
/* inner nav popup form icons css */
.inner_nav_popup_form_icons {
    position: absolute;
    top: 35%;
    right: 10px;
    transform: translateY(-50%);
}
.inner_nav_popup_btnicon{
    font-size: 40px;
    border: none;
    outline: none;
    background: none;
}
.inner_nav_icon_popup i{
    display: inline-block;
    margin-top: 10px;
    width: 36px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    border-radius: 100%;
    background-color: var(--whitec);
    color: var(--blackc);
    font-size: 25px;
    cursor: pointer;
    transition: 1s;
}
/* main nav icons middle css */
.main_nav_icons_middle {
    margin-left: 30px;
    position: relative;
}
.main_nav_icons_middle a {
    position: relative;
    font-size: 18px;
    cursor: pointer;
    padding: 8px;
    display: inline-flex;
    background: #fff;
    border-radius: 100%;
}
.main_nav_icons_middle a span {
    position: absolute;
    top: 0;
    right: -5px;
    width: 18px;
    height: 20px;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
    background-color: var(--bgcolor);
    border-radius: 100%;
    color: var(--whitec);
}
.main_nav_middle_box_item {
    overflow: scroll;
    position: absolute;
    right: 0;
    top: 130%;
    width: 300px;
    height: 300px;
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    background-color: var(--whitec);
    transition: .5s;
}
.main_nav_icons_middle:hover .main_nav_middle_box_item{
    top: 170%;
    opacity: 1;
    visibility: visible;
}
.main_nav_middle_box_item p{
    padding: 20px;
}

.m_nav_right_pp_form{
    position: relative;
}
.m_nav_right_pp_form input{
    height: 54px;
    width: 100%;
    border: 1px solid #efefef;
    outline: none;
    padding: 0 20px;
}
.m_nav_right_pp_form button{
    position: absolute;
    top: 0;
    right: 0;
    font-size: 18px;
    padding: 13px 20px;
    outline: none;
    border: none;
    background: #ddd;
    color: var(--blackc);
}
/* right popup nav */
.right_popup_nav {
    padding: 65px 0 0 0;
}
.right_popup_nav ul {
    list-style: none;
    padding-left: 0;
}
.right_popup_nav ul li {
    padding: 12px 0;
    border-bottom: 1px solid #dddddd;
}
.right_popup_nav ul li.r_nav_child_border{
    border-bottom: none;
}
.right_popup_nav ul li a{
    display: inline-block;
    font-size: 16px;
    font-weight: 400;
    color: var(--paracolor);
}
/* right popup address */
.dtbtn {
    background-color: var(--bgcolor);
    color: var(--whitec);
    display: block;
    font-size: 16px;
    margin-left: 20px;
    border-radius: 0px 15px 0px 15px;
    padding: 14px 50px;
}
.menu_btn a:hover{
    color: var(--whitec);
    background-color: var(--titlecolor);
}






/* drop down menu css */
.inner_main_nav_area ul li .sub_menu{
    position: absolute;
    top: 130%;
    left: 0;
    width: max-content;
    min-width: 205px;
    max-width: 320px;
    text-align: left;
    margin: 0;
    padding: 15px 5px 14px;
    z-index: 9999;
    box-shadow: 0 0 30px rgb(0 0 0 / 9%);
    background-color: var(--whitec);
    opacity: 0;
    visibility: hidden;
    transition: .5s;
}
.inner_main_nav_area ul li .sub_menu li{
    position: relative;
}
.inner_main_nav_area ul li .sub_menu li a {
    display: inline-block;
    font-size: 15px;
    font-weight: 400;
    color: #444;
    padding: 6px 17px;
}
.inner_main_nav_area ul li .sub_menu li a:hover{
    color: var(--bgcolor);
    margin-left: 5px;
}
.inner_main_nav_area >ul >li:hover .sub_menu{
    top: 100%;
    opacity: 1;
    visibility: visible;
}
.inner_main_nav_area .sub_menu >li > ul.sub_menu{
    top: 130%;
    left: 100%;
    opacity: 0;
    visibility: hidden;
    transition: .5s;
}
.inner_main_nav_area ul li .sub_menu li:hover  ul.sub_menu{
    top: 0;
    opacity: 1;
    visibility: visible;
}
.navd_active{
    background-color: var(--bgcolor);
    color: var(--whitec);
}
/*======== main menu area end ==========*/


    .inner_yblog_form {
        background: #fff;
        border-radius: 10px;
        padding: 20px;
        box-shadow: 0 2px 12px rgba(0,0,0,0.1);
        font-family: 'Segoe UI', sans-serif;
        color: #333;
    }

    .inner_yblog_left_title h3 {
        font-size: 22px;
        color: #2c3e50;
        border-bottom: 2px solid #00a8ff;
        padding-bottom: 5px;
        margin-bottom: 15px;
    }

    .inner_yblog_left_title h2 {
        font-size: 18px;
        color: #34495e;
        margin-top: 15px;
        margin-bottom: 10px;
    }

    .inner_yblog_left_title a {
        display: block;
        padding: 8px 12px;
        background: #f1f8ff;
        border-left: 4px solid #363b3e;
        color: #2c3e50;
        text-decoration: none;
        margin: 5px 0;
        border-radius: 5px;
        transition: 0.3s;
    }

    .inner_yblog_left_title a:hover {
        background: #d6efff;
        transform: translateX(5px);
    }

    .inner_faq_ac_item a {
        display: block;
        background: #ecf0f1;
        color: #2c3e50;
        padding: 10px 15px;
        margin-top: 8px;
        border-radius: 5px;
        font-weight: bold;
        cursor: pointer;
        text-decoration: none;
        transition: 0.3s;
    }

    .inner_faq_ac_item a:hover {
        background: #dcdde1;
    }

    .inner_faq_text {
        background: #f9f9f9;
        padding: 12px 15px;
        margin-top: 5px;
        border-left: 3px solid #00a8ff;
        border-radius: 5px;
        font-size: 15px;
        line-height: 1.6;
    }

    .icofont-plus {
        float: right;
        color: #2980b9;
    }


/*======== slider area start  ==========*/


/* Ajuste de texto para pantallas pequeñas */
.small-text {
  font-size: 14px;
}

@media (max-width: 576px) {
  .top_menu_left span,
  .top_menu_left a,
  .top_menu_right span {
    font-size: 13px;
  }

  .top_menu_right i {
    font-size: 16px;
  }

  .top_menu_left,
  .top_menu_right {
    flex-direction: column;
    align-items: flex-start;
  }

  .top_menu_right {
    flex-wrap: wrap;
  }
}


/* ===== Estilos Galería ===== */
.photo-gallery {
    padding: 2rem;
  }
  .gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1rem;
  }
  .gallery-item {
    cursor: pointer;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  }
  .gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
  }
  .gallery-item:hover img {
    transform: scale(1.1);
  }
  
  .inner_blog_img img {

    object-fit: cover;
    transition: none !important; /* Elimina efecto de zoom al pasar el mouse */
  }
  
  .inner_blog_area {
    height: 100%;
  }
  
  .inner_blog_thumb,
  .inner_blog_content {
    height: auto;
  }
  
  /* Responsivo para móviles poner atencion novedades */
  @media (max-width: 768px) {
    .inner_blog_img img {
      height: 100px;
    }
  }
/* Cambiar color del texto de las preguntas del acordeón a blanco */
#accordiontwo .inner_faq_ac_item a {
  color: rgb(22, 4, 4) !important;
}

/* Cambiar color del texto cuando el mouse está sobre la pregunta */
#accordiontwo .inner_faq_ac_item a:hover {
  color: rgb(19, 2, 2) !important;
}

/* Asegurar que también se vea blanco cuando está activa */
#accordiontwo .inner_faq_ac_item a.active {
  color: white !important;
}

/* Cambiar color del ícono (opcional) */
#accordiontwo .inner_faq_ac_item a i {
  color: white !important;
}




  .inner_blog_img img {
    max-width: 110%;
    height: auto;
    display: block;
    border-radius: 12px; /* opcional para bordes redondeados */
    object-fit: cover;
  }
  
  .inner_blog_img {
    overflow: hidden;
    border-radius: 12px;
    padding: 0.7rem; /* ajusta si el borde está demasiado pegado */
    background-color: white; /* mejora visibilidad en móviles */
  }
  
  /* ===== Estilos Lightbox ===== */
  .lightbox {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.8);
    justify-content: center;
    align-items: center;
    z-index: 2000;
    flex-direction: column;
    padding: 1rem;
  }
  .lightbox-img {
    max-width: 90%;
    max-height: 80%;
    border-radius: 4px;
  }
  .lightbox-caption {
    color: #fff;
    margin-top: .5rem;
    font-size: .9rem;
  }
  .lightbox-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: 2rem;
    color: #fff;
    cursor: pointer;
  }
  .inner_project_information_descrip {
    font-size: 1.05rem;
    line-height: 2.8;
    color: #100239;
    text-align: justify;
  }
  
.team-section .about-content {
  text-align: justify;
}
.historical-content p {
    text-align: justify;
    text-justify: inter-word;
    /* Opcional: controla el interlineado para mejorar lectura */
    line-height: 1.6;
  }
  
  /* Mantener el título y el subtítulo centrados */
  .historical-content h4,
  .historical-content p em {
    text-align: center;
  }
  
  
/* ------------------------------------------------- */
/*  Contenedor con proporción 4:3 (ajústalo a tu gusto) */
.inner_img_area {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;     /* fija siempre 4:3 */
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    margin: 10px;
  }
  
  /* ------------------------------------------------- */
  /*  Imagen centrada, recortada sin deformarse         */
  /*  y usando la orientación EXIF si existe           */
  .inner_img_area img {
    width: 100%;
    height: 100%;
    object-fit: cover;                /* recorta para llenar el área */
    object-position: center center;   /* centra el recorte */
    image-orientation: from-image;    /* rota según EXIF */
    transform: rotate(0) !important;  /* asegura que no haya rotaciones extra */
    display: block;
    filter: contrast(1.1) brightness(1.05);
    transition: transform 0.3s ease;
  }
  
  .inner_img_area:hover img {
    transform: scale(1.02);
  }
  
  /* ------------------------------------------------- */
  /*  Pie de foto (si lo usas) */
  .img-caption {
    background: rgba(255,255,255,0.9);
    padding: 0.5rem;
    font-size: 0.9rem;
    text-align: center;
    position: absolute;
    bottom: 0;
    width: 100%;
  }



  .content-text {
    text-align: justify;
    text-justify: inter-word;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 800px; /* opcional, para limitar el ancho de lectura */
    font-family: sans-serif;
    color: #333;
  }

  /* (Opcional) Centrar el título principal */
  .page-title {
    text-align: center;
    font-family: sans-serif;
    font-size: 2rem;
    color: #222;
    margin-bottom: 1rem;
  }

/* estilos.css */
.page-title {
    text-align: center;
    font-family: sans-serif;
    font-size: 2rem;
    color: #222;
    margin: 2rem 0 1rem;
  }
  
  .content-text {
    text-align: justify;
    text-justify: inter-word;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto 2rem;
    font-family: sans-serif;
    color: #333;
  }
.content-text {
  
  line-height: 1.6;
  max-width: 1000px;
  margin: 0 auto;
}
.service_area .row {
    display: flex;
    flex-wrap: wrap;
  }
  
  .service_area .col-lg-3 {
    display: flex;
  }
  
  .main_service {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    width: 100%;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    border-radius: 10px;
    background-color: #fff;
  }
  
  .service_img img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
  }
  
  .service_text {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
  }
  
  .service_text h2 {
    margin: 0;
    padding: 1rem;
    font-size: 1rem;
    text-align: center;
    white-space: normal;
    word-break: break-word;
  }
  /* 1. Asegúrate de que tus imágenes tengan estas clases base: */
.main_service .service_img img {
    width: 100%;
    height: auto;
    object-fit: cover; /* cubre el contenedor sin deformar */
  }
  
  /* 2. Añade un media-query para ajustar altura fija o relación de aspecto en móvil */
  @media (max-width: 767px) {
    .main_service .service_img {
      /* Fija la altura de la caja que contiene la img */
      height: 200px; /* ajústalo al valor que mejor se vea */
      overflow: hidden;
    }
    .main_service .service_img img {
      /* Con object-fit: cover; la imagen rellenará sin deformarse */
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  
    /* Si unas imágenes necesitan otra proporción: */
    .service-link:nth-child(odd) .service_img {
      height: 350px;
    }
    .service-link:nth-child(even) .service_img {
      height: 250px;
    }
  }
  @media (max-width: 768px) {
    .content-text {
        font-size: 16px;
        line-height: 1.5;
        padding: 0 10px;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    h1, h2, h3 {
        font-size: 1.5rem;
        padding: 0 10px;
    }
    
    .service-card {
        margin-bottom: 20px;
    }
    
    .service-img-container {
        height: 180px;
    }
}

  .modal {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }
  .modal-contenido {
    background: #fff;
    padding: 1.5rem;
    max-width: 600px;
    border-radius: 8px;
    position: relative;
    overflow-y: auto;
    max-height: 80vh;
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
  }
  .cerrar {
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    font-size: 1.5rem;
    cursor: pointer;
    font-weight: bold;
  }

.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background-color: rgba(0,0,0,0.6);
  justify-content: center;
  align-items: center;
}

.modal-contenido {
  background: white;
  padding: 2rem;
  max-width: 800px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 10px;
  position: relative;
}
.modal-contenido p {
  text-align: justify;
}

.cerrar {
  position: absolute;
  top: 10px; right: 15px;
  font-size: 1.5rem;
  cursor: pointer;
}



/* inner slider area */
.slider_area{
    overflow: hidden;
    position: relative;
}
.inner_slider_area {
    height: 610px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex !important;
    align-items: center;
}
.inner_slider_content {
    margin: 0 auto;
    text-align: left;
    width: 68%;
}
.inner_slider_content h1 {
    font-size: 24px;
    color: var(--bgcolor);
    font-weight: 500;
    text-transform: uppercase;
}
.inner_slider_content h2 {
    font-size: 72px;
    margin: 0;
    font-weight: 700;
}
.inner_slider_content h3{
    font-size: 72px;
    margin: 0;
    font-weight: 700;
}
.inner_slider_content h3 a{
    color: var(--bgcolor);
    font-size: 72px;
    font-weight: 500;
    text-decoration: underline;
}

.inner_slider_content p {
    color: var(--titlecolor);
    width: 57%;
    font-weight: 500;
    font-size: 24px;
    margin: 20px 0 0;
}
/* golobal btn css */
.b_btn {
    margin-top: 35px;
}
.b_btn a {
    display: inline-block;
    border-radius: 5px;
    padding: 14px 45px;
    font-size: 14px;
    font-weight: 700;
    margin-right: 10px;
    margin-bottom: 10px;
    font-family: "Montserrat", Sans-serif;
    color: var(--whitec);
    background-color: var(--bgcolor);
}
.b_btn a:hover{
    background-color: var(--titlecolor);
    color: var(--whitec);
}
.b_btn a.active{
    background-color: var(--titlecolor);
    color: var(--whitec);
    display: inline-block;
}
.b_btn a.active:hover{
    background-color: var(--bgcolor);
    color: var(--whitec);
}

/* slider area arrow */
.slider_area .slick-prev, .slider_area .slick-next {
    opacity: 1;
    visibility: visible;
    top: 88%;
    border-radius: 10px 0px 10px 0px;
    margin-left: 30px;
    left: 65px;
}
.slider_area .slick-next {
    margin-left: 100px;
}
.slider_area .slick-prev::before, .slider_area .slick-next::before {
    border-radius: 5px;
    font-size: 30px;
    color: var(--whitec);
    border: none;
    background: var(--titlecolor)
}
.slider_area .slick-prev,
.slider_area .slick-next {
    position: absolute;
    top: 97%; /* Ajusta este valor para bajarlos */
    transform: translateY(-50%);
}

/* slider arrow */


/*======== slider area end  ==========*/

/*======== video area start  ==========*/
.video_slider_area{
    position: relative;
    overflow: hidden;
}
.slider_vedio {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    aspect-ratio: 16 / 9;
    pointer-events: none;
    z-index: -9999;
}
.single_slide_img {
    position: relative;
}
.slider_vedio iframe {
    width: 100%;
    height: 100%;
    border: none;
}
.video_slider_area h2,.video_slider_area h3,.video_slider_area p{
    color: var(--whitec);
}
/*======== video area end  ==========*/

/*======== breadcum area start  ==========*/
.breadcum_area {
    background-size: cover;
    background-position: center center;
    position: relative;
    z-index: 1;
}
.breadcum_area::before{
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    content: "";
    z-index: 1;
    background-color: transparent;
}
.inner_breadcum_area {
    padding: 180px 0;
    position: relative;
    z-index: 9999;
    text-align: left;
}
.inner_breadcum_area h1 {
    font-size: 50px;
    font-weight: 700;
    color: var(--titlecolor);
    margin: 0;
}
.inner_breadcum_area ul{
    list-style: none;
    margin: 0;
    padding: 0;
    font-weight: 600;
}
.inner_breadcum_area ul li{
    display: inline-block;
    font-size: 16px;
    font-weight: 400;
    color: var(--titlecolor);
}
.inner_breadcum_area ul li a {
    display: inline-block;
    font-size: 16px;
    color: var(--titlecolor);
    font-weight: 400;
}
.inner_breadcum_area ul li i, .inner_breadcum_area ul li a i {
    font-size: 22px;
    margin: 0 -4px;
}
/*======== breadcum area end  ==========*/

/*===== feature area start  ====*/
.feature_area{
    padding: 120px 0 40px ;
}
.main_feature {
    background: url(assets/images/fea_bg.png);
    background-position: center center;
    border: 3px dashed var(--titlecolor);
    border-radius: 10px;
    transition: .6s;
    background-size: cover;
    padding: 36px 30px 40px 30px;
    position: relative;
    margin-bottom: 20px;
    text-align: center;
}
.main_feature:hover{
    border: 3px solid var(--bgcolor);
}
.main_feature h2 {
    margin: 15px 0 20px;
}
.feature_icon a{
    height: 40px;
    width: 40px;
    line-height: 40px;
    font-size: 20px;
    font-weight: 600;
    border-radius: 50%;
    text-align: center;
    display: inline-block;
    color: var(--whitec);
    background: var(--bgcolor);
}
.feature_icon a:hover{
    color: var(--whitec);
    background: var(--titlecolor);
}
/*===== feature area end  ====*/

/*======== about area end =======*/
.about_area {
    padding: 20px 0 20px;
}
.single_about_img img{
    width: 100%;
}
.about_active img {
    float: left;
    margin-right: 0px;
}
.about_active h2{
    font-size: 48px;
    margin: 15px 0 20px;
}
.about_item i {
    font-size: 40px;
    width: 72px;
    height: 72px;
    display: block;
    text-align: center;
    line-height: 67px;
    border-radius: 50%;
    color: var(--whitec);
    background: var(--titlecolor);
    border: 4px solid var(--bgcolor);
}
.about_list {
    display: flex;
    gap: 10px;
    margin: 5px 0 30px;
    align-items: center;
}
.about_text h2 a{
    font-size: 20px;
}
.about_text h2 a:hover{
    color: var(--bgcolor);
}
.about_text p {
    color: var(--bgcolor);
    font-size: 18px;
    font-weight: 700;
    margin: 10px 0;
}
.about_counter {
    justify-content: left !important;
}
.main_counter.about_counter2 {
    text-align: left;
    padding: 0;
    margin-top: -60px;
}
.about_counter2 h2{
    padding: 0;
}
.about_counter h3,.about_counter span{
    font-size: 48px !important;
}
.witrlistw {
    border: 2px dashed var(--bgcolor);
    padding: 25px 10px 45px 10px;
    border-radius: 10px;
}
.all_list_color ul{
    margin: 0;
    padding: 0;
}
.all_list_color ul li{
    list-style: none;
}
.witrlistw ul li span{
    display: block;
    padding: 4px 6px;
    margin-bottom: 1px;
}
.witrlistw ul li span i{
    text-align: center;
    color: var(--bgcolor);
    font-size: 17px;
    margin-right: 5px;
}
/* about btn */
.about_btn a{
    font-family: "Montserrat", Sans-serif;
    font-weight: 600;
    border-radius: 50px;
    display: inline-block;
    padding: 16px 45px;
    text-align: center;
    position: relative;
    margin-right: 15px;
    color: var(--whitec);
    background: var(--bgcolor);
    transition: .5;
}
.about_btn a:hover{
    background: var(--titlecolor);
}
.about_btn {
    text-align: center;
    margin-top: -30px;
}
/*======== about area end  ==========*/


.social-icons-vertical {
    position: absolute;
    top: 50%;
    right: -60px; /* Lo aleja del texto pero dentro del container */
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 18px;
  }
  /* 1) Flex container para contenido + sidebar */
.page-body {
    display: flex;
    align-items: flex-start; /* arranca al tope del container */
    gap: 2rem;               /* separación entre contenido y sidebar */
    padding: 1rem;           /* opcional, margen interno */
  }
  
  /* 2) Main content ocupa todo el ancho disponible */
  .page-content {
    flex: 1;
  }
  
  /* 3) Sidebar sticky en el lado derecho */
  .social-aside {
    position: sticky;
    top: 100px;          /* ajusta este valor a la altura de tu header + margen */
    display: flex;
    flex-direction: column;
    gap: 1rem;           /* espacio entre iconos */
    align-self: start;   /* para que el sticky respete el contenedor */
  }
  
  /* 4) Estilos de los iconos */
  .social-aside a {
    font-size: 1.5rem;
    color: #333;
    transition: color 0.2s;
  }
  .social-aside a:hover {
    color: var(--bgcolor);
  }
  
  /* 5) Ocultar en pantallas muy pequeñas (opcional) */
  @media (max-width: 768px) {
    .social-aside {
      display: none;
    }
  }
/* ============================
   Sidebar fijo derecha
   ============================ */
   .social-fixed-right {
    position: fixed;
    right: 0;
    /* Ajusta 'top' para no tapar tu header:
       si tu header mide 80px, pon top: 80px + margen extra */
    top: 300px;
  
    /* Ajusta 'bottom' para no chocar con el footer:
       si tu footer mide 60px, pon bottom: 60px + margen extra */
    bottom: 60px;
  
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0.5rem;
  
    background: rgba(230, 225, 225, 0.588);
    border-radius: 4px 0 0 4px;
    z-index: 1000;
  }
  
  /* Iconos */
  .social-fixed-right a {
    font-size: 1.6rem;
    color: #333;
    transition: color 0.2s;
    display: block;
  }
  
  /* Hover */
  .social-fixed-right a:hover {
    color: var(--bgcolor);
  }
  
  /* Ocultar en pantallas muy pequeñas (opcional) */
  @media (max-width: 576px) {
    .social-fixed-right {
      display: none;
    }
  }
    


  .social-icons-vertical a {
    background-color: #ffffff;
    color: #3a3a3a;
    font-size: 22px;
    padding: 10px;
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    text-align: center;
  }
  
  .social-icons-vertical a:hover {
    background-color: #000;
    color: #fff;
  }
  
/*===== service area start  ====*/
.service_area {
    padding: 50px 0 35px;
}
.br_service{
    margin-top: 65px;
}
/* section title */
.section_title{
    text-align: center;
    margin-bottom: 50px;
    position: relative;
}
.section_title h2{
    font-size: 48px;
    margin-top: 15px;
}
.ttit {
    position: absolute;
    left: 38%;
    margin: 0 auto;
    text-align: center;
}
/* section title */
.main_service {
    background: url(assets/images/ser_shap_1.png);
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: auto;
    border-radius: 20px 20px 20px 20px;
    box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.981);
    position: relative;
    margin-bottom: 20px;
}
.service_icon {
    margin-bottom: 5px;
}
.service_img img{
    width: 100%;
}
.service_icon img{
    margin: 5px 0 10px;
}
.service_text {
    padding: 20px 30px 5px 30px;
}
.service_text h2{
    margin-bottom: 25px;
}
.service_text h2 a:hover{
    color: var(--bgcolor);
}
/*===== service area end  ====*/

/* ===== 7. Skill Area CSS ===== */
.skill_area {
    padding: 60px 0 35px;
    position: relative;
}
.br_skill{
    margin-top: 60px;
}
.inner_ab img{
    width: 100%;
}
.witr_section_title_inner h2 {
    font-size: 48px;
    margin: 10px 0 10px;
}
.grid_caur_image {
    margin-bottom: 23px;
}
.witr_title2 span{
    font-weight: 700;
    font-size: 15px;
    color: var(--bgcolor);
}
.anzal_skill_area .slide_items {
    margin: 20px 0 50px 0;
	text-align: center;
}


.anzal_skill_area .witr_section_title {
    margin-bottom: 40px;
}
.skill_left_inner .witr_section_title {
    margin-bottom: 20px;
}
.witr_single_progress {
    overflow: hidden;
    margin-bottom: 20px;
}
.progress {
    display: flex;
    height: 6px;
    background-color: var(--titlecolor);
}
.progress-bar {
    background: var(--bgcolor);
}
.progress-bar {
    overflow: inherit;
}
.witr_progress-style2 {
    overflow: visible;
    position: relative;
    box-shadow: none;
    background: var(--bgcolor);
    border-radius: 30px;
    height: 10px;
}

.witr_progress-style2 + .witr_progress-style2 {
	margin-top: 60px;
}
.witr_progress-style2 .progress-bar {
    position: relative;
    text-align: left;
    border-radius: 30px;
    line-height: 25px;
    box-shadow: none;
    background: var(--titlecolor);
}
.witr_title6 .witr_label {
	left: 2px;
	top: 8px;
	color: #272727d2;
	font-size: 16px;
	font-weight: 600;
}
.witr_progress-style2 .witr_percent {
    position: absolute;
    right: 0;
    font-weight: 400;
    font-size: 16px;
    top: -28px;
}
.witr_progress-style2 .witr_percent {
    color: var(--titlecolor);
}
/*======== skill area end ======*/

/*======= project area start  ======*/
.project_area {
    padding: 60px 0 40px;
    position: relative;
    z-index: 9999;
}

.inner_img_area{
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}
.inner_img_overlay img {
    height: 100%;
    transition: .5s;
    width: 100%;
}
.inner_img_area:hover .inner_img_overlay img{
    transform: scale(1.2);
}
/* img overlay go  */
.img_overlay_go{
    position: absolute;
    top:0;
    left:0;
    bottom:0;
    right:0;
    background-color: #15194677;
    transition: .5s;
    transform: scale(0);
}
.inner_img_area :hover .img_overlay_go{
    transform: scale(1);
}
.item_pos{
    margin-left: 15px;
    margin-right: 15px;
    margin-bottom: 1px;
    margin-top: 1px;
}
/* absolute icons css */
.absolute_icons {
    text-align: center;
    transform: rotateY(90deg);
    position: absolute;
    bottom: 102px;
    right: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: .5s;
    margin: 0 auto;
    z-index: 1;
}
.inner_img_area:hover .absolute_icons{
    transform: rotateY(0);
    opacity: 1;
    visibility: visible;
}
.absolute_icons a{
    display: inline-block;
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 5px;
    font-size: 25px;
    text-align: center;
    background-color: var(--bgcolor);
    color: var(--whitec);
}
.absolute_icons a:hover{
    background-color: var(--titlecolor);
    color: var(--whitec);
}
/* inner img content  */
.project_title {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    transition: .5s;
    text-align: center;
    margin: 0 30px;
    padding: 40px 10px 15px;
    border-radius: 0px 20px;
    padding: 40px 10px 15px;
    background: var(--whitec);
}
.project_title p{
    color: var(--titlecolor);
    margin: 0;
}
.project_title h2 a{
    color: var(--titlecolor);
    font-size: 22px;
}
.project_title h2 a:hover{
    color: var(--bgcolor);
}

/*======= project area end  ======*/

/*======== faq area start  ==========*/
.faq_area{
    margin: 60px 0 30px;
}
.faq_list ul{
    margin: 0;
    padding: 0;
}
.faq_list ul li{
    list-style: none;
    margin-bottom: 5px;
}
.faq_list ul li i{
    color: var(--bgcolor);
    margin-right: 5px;
}
.faq_title p{
    font-size: 14px;
    margin-bottom: 30px;
}

/* .witrlistw_faq list */
.inner_faq_ac_item{
    margin-bottom: 20px;
}
.inner_faq_ac_item a {
    width: 100%;
    font-size: 18px;
    padding: 15px 15px;
    font-weight: 600;
    display: flex;
    color: var(--titlecolor);
    justify-content: space-between;
    align-items: center;
    border-radius: 5px;
    background: transparent;
    border: 2px dashed var(--titlecolor);
}
.inner_faq_ac_item a:hover{
    background: var(--bgcolor);
    color: var(--whitec);
    border-color: var(--bgcolor);
}
.inner_faq_ac_item a i{
    font-size: 18px;
    font-weight: 700;
    right: 30px;
    width: 30px;
    line-height: 30px;
    text-align: center;
    height: 30px;
    color: var(--titlecolor);
}
.inner_faq_ac_item a.active {
    position: relative;
    background: var(--titlecolor);
    color: var(--whitec);
}
.inner_faq_ac_item a.active::before {
    content: '\ef9a';
    font-family: Icofont!important;
    position: absolute;
    top: 15px;
    bottom: 0;
    right: 30px;
    width: 30px;
    text-align: center;
    height: 30px;
    color: var(--whitec);
    line-height: 30px;
    font-size: 18px;
}
.inner_faq_ac_item a.active i{
    display: none;
}
.accordiontwo3 a.active{
    background: transparent;
    color: var(--titlecolor);
    border-color: var(--ddcolor);
}
.accordiontwo3 a:hover {
    background: transparent;
    color: var(--titlecolor);
    border-color: var(--ddcolor);
}
/* inner faq text */
.inner_faq_text {
    width: 100%;
    border-radius: 0 0 5px 5px;
    border: 1px solid var(--textcolor);
}
.inner_faq_text p {
    padding: 18px 22px 10px 22px;
    font-weight: 400;
    font-size: 14px;
    background: #E8F4E6;
    border-radius: 0px 0px 10px 10px;
}
/*======== faq area end  ==========*/

/* Estilo para los botones del area dacademias*/
.btn-primary {
    background-color: #003366; /* Azul rey oscuro */
    border: 2px solid #003366; /* Borde del mismo color azul rey */
    color: #fff; /* Texto blanco */
    padding: 12px 20px; /* Espaciado interno del botón */
    font-size: 16px; /* Tamaño de la fuente */
    text-transform: uppercase; /* Texto en mayúsculas */
    font-weight: 600; /* Fuente más gruesa */
    border-radius: 8px; /* Bordes más redondeados */
    letter-spacing: 1px; /* Espaciado entre letras */
    transition: all 0.3s ease; /* Transición suave para los efectos */
}

/* Efecto cuando el usuario pasa el cursor sobre el botón */
.btn-primary:hover {
    background-color: #00509e; /* Azul más claro cuando se pasa el cursor */
    border-color: #00509e; /* Borde más claro */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15); /* Sombra suave para darle un efecto 3D */
    transform: translateY(-3px); /* Eleva el botón ligeramente */
}

/* Efecto de foco */
.btn-primary:focus {
    outline: none; /* Elimina el borde por defecto al hacer clic */
    box-shadow: 0 0 0 3px rgba(0, 51, 102, 0.5); /* Sombra de enfoque para resaltar el botón */
}






/*======= pricing area start  ======*/
.ed_pricing_area {
    padding: 55px 0 20px;
    position: relative;
}

.pr_title {
    text-align: left;
    margin-bottom: 10px;
}
.pr_title {
    text-align: left;
    margin-bottom: 10px;
}
.pr_title {
    text-align: left;
    margin-bottom: 10px;
}
.tpr_curn{
    background: url(assets/images/price_bg.png);
    background-position: center center;
    background-size: cover;
    border-radius: 10px 10px 10px 10px;
    padding: 40px 30px 40px 30px;
    margin: 0px 0px 20px 0px;
}
.pr_title h2{
    color: var(--titlecolor);
}
.pricing_area {
    border-radius: 5px;
    background: transparent;
    margin-bottom: 20px;
    position: relative;
    overflow: hidden;
    padding-bottom: 10px;
}
.pricing-part {
    background: url(assets/images/price_bg2.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px 10px 10px 10px;
    padding: 25px 30px 25px;
}
.all_pricing_color h5 {
    font-size: 34px;
    color: var(--bgcolor);
}
.all_pricing_color span {
    font-size: 35px;
    margin-right: 5px;
}
.pricing_style_7.pricing-part h4 {
    font-size: 16px;
    font-weight: 600;
    margin: 10px 0;
}
.witri_texti_list {
    margin-top: 10px;
}
.pricing-part ul {
    padding: 0;
    text-align: left;
}
.witri_texti_list ul li {
    font-size: 17px;
    margin-bottom: 4px;
    padding: 7px 0 0 0;
    list-style: none;
}
.witri_texti_list ul li i{
    color: #009046;
    margin-right: 10px;
}
.witr_btnp_color {
    padding-top: 10px;
    text-align: left;
    margin-right: 25px;
}
.witr_btnp_color a.btn {
    font-size: 16px;
    display: inline-block;
    border-radius: 0px 50px 50px 50px;
    padding: 15px 40px;
    transition: .5s;
    font-weight: 600;
    background: transparent;
    color: var(--titlecolor);
    border: 2px dashed var(--titlecolor);
}
.witr_btnp_color a.btn:hover {
    background: var(--bgcolor);
    color: var(--whitec);
    border: 2px solid var(--bgcolor);
}
.tpr_curn h3 {
    font-size: 36px;
    margin: 10px 0;
}
.tpr_curn h3 span{
    font-size: 16px;
    color: var(--bgcolor);
}

/*======= pricing area end  ======*/


/*======== call to action area start  ==========*/
.call_to_action{
    padding: 60px 0;
}
.call_title h2 {
    font-size: 48px;
    margin: 10px 0 12px;
}
.call_btn a {
    border: 1px solid var(--ddcolor);
    color: var(--whitec);
    background: var(--bgcolor);
    display: inline-block;
    border-radius: 10px;
    padding: 14px 45px;
    transition: .5s;
    font-weight: 600;
}
.video_btn a:hover{
    background-color: var(--titlecolor);
}
/*======== call to action area end  ==========*/

/*======== video area start  ==========*/
.video_area {
    background-color: transparent;
    background-image: linear-gradient(180deg, #FFFFFF 0%, #E8F4E6 100%);
    padding: 100px 0 35px;
    position: relative;
    z-index: 1;
    margin-bottom: 55px;
}
.body_shap {
    position: absolute;
    animation: witr_movelr_box45 5s linear 1s infinite alternate running;
    top: -17%;
    left: 12%;
    z-index: -1;
}
@keyframes witr_movelr_box45{
    0% {
        transform: translateX(0px);
    }
    100% {
        transform: translateX(45px);
    }
}
.inner_video_area a{
    display: inline-block;
    margin-bottom: 20px;
    width: 80px;
    height: 80px;
    line-height: 80px;
    text-align: center;
    border-radius: 100%;
    background-color: var(--whitec);
    color: var(--titlecolor);
    animation: witr-shadow 2s linear infinite;
}
@keyframes witr-shadow{
    0% {
        box-shadow: 0 0 0 0 #c9e1c4 0%, 0 0 0 10px #a1f691, 0 0 0 20px #ebf6ec;
    }
    
    100% {
        box-shadow: 0 0 0 10px #d8edd4, 0 0 0 20px #bfe3b8, 0 0 0 30px #e2eddf;
    }
}
.inner_video_area a:hover{
    background-color: var(--bgcolor);
    color: var(--whitec);
}
/*======== video area end  ==========*/


/*===== counter area start  ====*/
.counter_area {
    padding: 30px 0;
    position: relative;
}
.main_counter {
    background: var(--whitec);
    border-radius: 0px 30px 0px 30px;
}
.counter_title h2{
    font-size: 48px;
}
.inner_counter_area {
    position: relative;
    margin-bottom: 20px;
    text-align: left;
}
.inner_counter_sub_cont {
    display: flex;
    justify-content: center;
    align-items: baseline;
}
.inner_counter_sub_cont h3, .inner_counter_sub_cont span{
    color: #18941E4D;
    font-size: 70px;
}
.inner_counter_area h2 {
    font-size: 18px;
    font-weight: 600;
    margin-top: -5px;
    position: relative;
    color: var(--titlecolor);
    text-transform: uppercase;
}
/*===== counter area end  ====*/

/*======= team area start  ======*/
.team_area {
    padding: 50px 0 40px;
}
.single_team{
    position: relative;
    overflow: hidden;
}
.single_team img{
    width: 100%;
}
.team_icon {
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 20px;
    opacity: 0;
    transition: .8s;
    visibility: hidden;
}
.main_tem:hover .team_icon {
    opacity: 1;
    visibility: visible;
    bottom: 30%;
}
.team_icon a{
    font-size: 18px;
    color: var(--whitec);
    transition: .5s;
    height: 44px;
    line-height: 44px;
    width: 44px;
    border-radius: 50px;
    text-align: center;
    display: block;
    margin-bottom: 10px;
    background: var(--bgcolor);
}
.team_icon a:hover{
    color: var(--whitec);
    background-color: var(--titlecolor);
}
.ttsicon {
    position: absolute;
    bottom: 10%;
    left: 20px;
}
.ttsicon a {
    font-size: 20px;
    width: 44px;
    height: 44px;
    line-height: 44px;
    color: var(--whitec);
    display: block;
    text-align: center;
    background: var(--bgcolor);
    border-radius: 50px;
}
.ttsicon a:hover{
    color: var(--titlecolor);
    background-color: var(--whitec);
}
.team_text {
    text-align: center;
    padding: 25px 20px 20px 30px;
    position: relative;
    background: transparent;
    border-radius: 0 0 0 15px;
}
.team_text h2 a {
    color: var(--textcolor);
    font-size: 22px;
    font-weight: 700;
}
.team_text span{
    color: var(--bgcolor);
}
.t_text_middle{
    background: var(--bgcolor);
}
.t_text_middle span{
    color: var(--whitec);
}
/*======= team area end  ======*/

/*====== lx_contact_area start ======*/
.mapa-contacto {
    margin-top: 20px;
  }
  
.lx_contact_area {
    padding: 45px 0px;
    margin: 60px 250px;
    border-radius: 30px;
    position: relative;
    z-index: 11;
}
.lx_contact input,.lx_contact textarea{
    border-radius: 0px 10px 0px 10px;
    transition: .5s;
    border: none;
}
.single_contact img{
    width: 100%;
}
.lx_contact input:hover,.lx_contact textarea:hover{
    background: var(--bgcolor);
}
.lx_contact input::placeholder,.lx_contact textarea::placeholder{
    font-size: 13px;
}

/*====== lx_contact_area end ======*/

/*======== marquee area start  ==========*/
.marquee_area {
    padding: 105px 0 60px;
}
.marquee {
    position: relative;
    gap: 0px;
    display: flex;
    overflow: hidden;
}
.single_marquee_mdls {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-around;
    min-width: 100%;
    animation: txmarset 45s linear infinite;
}
@keyframes txmarset{
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(calc(-100% - 0%));
    }
}
.single_marquee_mdls h2{
    -webkit-text-stroke-color: #000000;
    opacity: 1;
    -webkit-text-stroke: 1px #888888;
    -webkit-text-fill-color: transparent;
    font-size: 100px;
    margin: 0 40px;
}
/*======== marquee area end  ==========*/

/*======== brand area start ======*/
.brand_area {
    padding: 60px 0 100px;
}
.br_brand{
    margin-bottom: 60px;
}
.md_brand {
    padding: 50px 0 130px;
}
.inner_brand_area {
    text-align: -webkit-center;
}
/* service */
.service_brand {
    margin: -80px 0 10px;
}
.inner_brand_area {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 220px; /* o el alto que necesites */
}

.inner_brand_area img {
    max-height: 100%;
    object-fit: contain;
}

/*====== brand area end ======*/

/*====== testimonial area start ==========*/
.testimonial_area {
    padding: 55px 0 0;
    position: relative;
    z-index: 1;
}
/* client */
.test_shap {
    right: 100%;
    left: 70%;
    top: 0;
}
.client_text p {
    color: var(--titlecolor);
    font-size: 24px;
    font-weight: 400;
    line-height: 38px;
    margin-bottom: 30px;
    padding: 0 10px;
}
.client_text h2{
    color: var(--bgcolor);
}
.client_text span{
    color: var(--bgcolor);
    margin-right: 15px;
}
.clint_ing {
    float: left;
    margin-right: 15px;
}
/* client */

/* testimonial arrow */
.testimonial_area .slick-prev, .testimonial_area .slick-next {
    opacity: 1;
    visibility: visible;
}
.testimonial_area .slick-prev, .testimonial_area .slick-next {
    opacity: 1;
    visibility: visible;
    top: 90%;
}
.testimonial_area .slick-next {
    right: 0;
}
.testimonial_area .slick-prev {
    left: 90%;
}
/* testimonial arrow */

/*======== testimonial area end ==========*/

/*======== gr client area start ==========*/
.gr_client{
    padding: 120px 0 50px;
}
.gr_main_client{
    text-align: center;
}
.gr_main_client b{
    font-size: 100px;
    color: var(--bgcolor);
}
.gr_main_client p{
    font-size: 25px;
    line-height: 40px;
    padding: 0px 100px 0px 100px;
}
.tstitle{
    padding: 10px 0px 0px 0px;
}
.tesspanf{
    color: var(--bgcolor);
    font-size: 16px;
}
/*======== gr client area end ==========*/

/*======== client 2 area start ==========*/

.client_area {
    padding: 40px 0 40px;
    position: relative;
    margin-bottom: 50px;
}
.client_title h4{
    color: var(--whitec);
}
.client_title h2{
    color: var(--whitec);
}
/* about testimonial area css */
.single_testimonial{
    padding: 20px 0;
}
.single_testimonial_text h4{
    font-weight: 500;
    letter-spacing: 3px;
}
.single_testimonial_text h2{
    font-size: 48px;
}
.ticon i {
    display: inline-block;
    color: var(--bgcolor);
}
.single_testimonial {
    box-shadow: 0px 3px 20px 0px rgba(0, 0, 0, 0.2);
    margin: 2px 2px 20px 2px;
    padding: 30px 25px 30px;
    position: relative;
    text-align: left;
    width: 95%;
    background-color: #F7F7F7;
    border-style: solid;
    border-width: 2px 0px 0 0px;
    border-color: var(--bgcolor);
}
.test_single_img {
    display: flex;
    gap: 25px;
    margin-top: 15px;
    margin-bottom: 10px;
}
.br_test_area{
    padding: 50px 0 40px;
}
.client_titleed{
    text-align: left;
}
.client_content p{
    text-align: left;
    width: 100%;
    padding-left: 30px;
    border-left: 2px solid var(--bgcolor);
}
/*======== client 2 area end ==========*/

/*======== contact area start  ==========*/
.contact_area {
    padding: 55px 0 50px;
}
.inner_contact_area.text-left {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0);
    padding: 10px;
    margin-top: 97px;
}
.inner_contact_content h4{
    color: var(--bgcolor);
    font-size: 18px;
}

.inner_contact_content h2 {
    font-size: 40px;
    margin: 10px 0;
    font-weight: 700;
    color: var(--whitec);
}
.inner_contact_content p {
    font-size: 16px;
    color: var(--titlecolor);
    margin: 0 0 20px;
    width: 94%;
}
.inner_contact_content p span{
    color: var(--bgcolor);
}
.lx_contact_title h2 {
    color: var(--titlecolor);
    margin-bottom: 15px;
}
p.contact_message{
    color: var(--titlecolor);
}
/* inner contact form */
.inner_contact_form {
    margin-top: 20px;
}
/* inner contact form */
.inner_contact_form input {
    outline: none;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #000000;
    width: 100%;
    height: 45px;
    padding: 0 20px;
    margin-right: 15px;
}
.inner_contact_form input::placeholder{
    color: var(--paracolor);
}
.inner_contact_form textarea {
    width: 100%;
    outline: none;
    padding: 5px 20px;
    height: 140px;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #000000;
}
textarea::placeholder {
    color: var(--paracolor);
}
.inner_contact_form {
    text-align: center;

}
.inner_contact_form button {
    padding: 15px 30px;
    font-size: 16px;
    font-weight: 600;
    border: none;
    outline: none;
    display: inline-block;
    border-radius: 0px 10px 0px 10px;
    background-color: var(--bgcolor);
    color: var(--whitec);
    transition: .5s;
    width: 100%;
}
.inner_contact_form button:hover{
    background-color: var(--whitec);
    color: var(--titlecolor);
}
.inner_contact_map {
    width: 100%;
    height: 100%;
}
.inner_contact_map iframe {
    width: 100%;
    height: 100%;
    border: none;
    outline: none;
}
/* contact box text */
.contact_title {
    background-color: transparent;
    background-image: linear-gradient(180deg, #99189b41 0%, #c23ddc48 100%);
    padding: 80px 70px 60px 75px;
    width: 80%;
    margin: -165px auto;
    border-radius: 0px 50px 0px 50px;
}
.contact_box {
    margin-bottom: 35px;
}
.contact_box h4 {
    color: var(--whitec);
    font-size: 24px;
    font-family: "Montserrat", sans-serif;
    text-transform: capitalize;
    letter-spacing: 0;
    margin-bottom: 8px;
}
.contact_box p {
    color: var(--whitec);
}
.ts_inp h2{
    color: var(--titlecolor);
}
.ts_inp input, .ts_inp textarea {
    border-style: solid;
    border-width: 0px 0px 1px 0px;
    border-color: #AAAAAA;
    width: 100%;
    height: 45px;
    padding: .375rem .75rem;
    margin-bottom: 5px;
    border-radius: 0px 0px 0px 0px;
}
.ts_inp textarea {
    height: 155px;
}
.ts_inp button:hover{
    color: var(--whitec);
    background: var(--titlecolor);
}
/*======== contact area end  ==========*/

/*======== blog area start  ==========*/
.blog_area {
    margin-bottom: 0px;
    padding: 60px 0px 40px 0px;
    position: relative;
}
/* inner blog area css */
.inner_blog_area {
    overflow: hidden;
    position: relative;
    margin: 0 0 20px;
    border-radius: 10px 10px 10px 10px;
    box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2);
}
/* inner blog thumb css */
.wblogovermeta {
    position: absolute;
    z-index: 999;
}
.wblogovermeta span {
    display: inline-block;
    color: var(--whitec);
    background: var(--bgcolor);
    padding: 5px 10px;
    font-size: 14px;
    text-align: center;
}
.inner_blog_thumb{
    position: relative;
    overflow: hidden;
}
.inner_blog_img img{
    width: 100%;
    transition: .5s;
}





/* blog overlay css */
.blog_overlay{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 50%);
    transform: scale(0);
    transition: .5s;
}
.inner_blog_area:hover .blog_overlay{
    transform: scale(1.2);
}
/* inner blog absolute css */
.inner_blog_absolute {
    position: absolute;
    top: 20px;
    left: 20px;
    display: inline-block;
    color: var(--whitec);
    background: var(--brcolor);
    padding: 4px 10px;
    border-radius: 5px;
    font-size: 14px;
    text-align: center;
}
/* inner blog text css */
.single_blog_title {
    padding: 15px 20px 24px;
    position: relative;
}
.inner_blog_text span a{
    color: var(--paracolor);
    font-weight: 400;
}
.inner_blog_text span {
    font-size: 14px;
    margin-right: 10px;
    color: var(--paracolor);
}
.inner_blog_text span i{
    margin-right: 3px;
    color: var(--bgcolor);
}
/*inner blog content css */
.inner_blog_content {
    padding: 10px 0px 0px;
}
.inner_blog_content h2 a {
    display: inline-block;
    margin-bottom: 15px;
    font-weight: 700;
    font-size: 18px;
}
.inner_blog_content h2 a:hover{
    color: var(--bgcolor);
}
.inner_blog_content p {
    font-size: 16px;
    margin: -10px 0 0;
}
.witr_btn_sinner >a {
    margin-top: 0;
    display: inline-block;
    font-weight: 600;
    text-align: left;
    transition: .5s;
    font-size: 13px;
}
.witr_btn_sinner >a:hover{
    color: var(--bgcolor);
}
/* inner blog btn css */
.inner_blog_btn {
    padding: 17px 0px 0px;
}
.blbtn{
    font-size: 14px;
}
.inner_blog_btn a {
    font-size: 16px;
    color: var(--bgcolor);
    font-weight: 600;
    background-color: #F1F1F1;
    border-style: none;
    transition: .5s;
    border-radius: 0px 30px 0px 30px;
    padding: 12px 30px 12px 30px;
    text-transform: uppercase;
}
.inner_blog_btn a:hover{
    color: var(--whitec);
    background: var(--brcolor);
}
.inner_blog_btn a i{
    font-weight: 700;
    margin-left: 4px;
}
.csingle_contant input {
    width: 100% !important;
}
.csingle_contant textarea {
    width: 100% !important;
}
.product_meta {
    margin-top: 30px;
}
.prdc-lft {
    position: relative;
}
/*======== blog area end  ==========*/

.inner_blog_content p {
    text-align: justify;
}






/* A partir de pantallas de hasta 767px de ancho (Bootstrap “sm” hacia abajo) */
@media (max-width: 767.98px) {
    /* Texto del menú superior izquierdo */
    .top_menu_left span,
    .top_menu_left a span {
      font-size: 8px;      /* ajusta al tamaño que prefieras */
      line-height: 1.2em;    /* para mantener buena legibilidad */
    }
  
    /* Iconos del menú superior derecho */
    .top_menu_right a i {
      font-size: 12px;      /* más pequeño que en escritorio */
      /* si quieres ajustar el espaciado, puedes usar margin/padding */
    }
  
    /* Opcional: si también quieres reducir el espacio vertical */
    .header_top {
      padding-top: 5px;
      padding-bottom: 5px;
    }
  }
  
/* golobal slick defult arrow css */
.slick-prev , .slick-next{
    position: absolute;
    top: 40%;
    width: 50px;
    height: 50px;
    line-height: 55px;
    border-radius: 100%;
    z-index: 9999;
    outline: none;
    border: none;
    font-size: 0;
    background: none;
    transform: translateY(-50%);
    transition: 1s;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
}
.glowbal:hover .slick-prev ,.glowbal:hover .slick-next{
    opacity: 1;
    visibility: visible;
}
.slick-prev {
    left: -70px;
}
.slick-next{
    right: -55px;
}
.slick-prev::before ,.slick-next::before{
    content: '\eac9';
    font-family: IcoFont;
    display: inline-block;
    width: 55px;
    height: 55px;
    line-height: 55px;
    border-radius: 5px;
    font-size: 40px;
    background-color: transparent;
    color: var(--bgcolor);
    transition: 1s;
    border: 1px solid var(--bgcolor);
}
.slick-next::before{
    content: '\eaca';
}
.slick-prev:hover::before ,.slick-next:hover::before{
    background-color: var(--bgcolor);
    color: var(--whitec);
}

/*======= google map area start  ======*/
.google_map_title {
    border: 15px solid var(--bgcolor);
}
.google_map_title iframe{
    width: 100%;
    height: 450px;
}
/*======= google map area end  ======*/


/*====== single page accordion start=====*/
.single_page_accordion {
    padding: 20px 0 30px;
}
.single_ac_items{
    margin-bottom: 20px;
    box-shadow: 1px 1px 7px -5px rgba(0, 0, 0, 0.75);
}
.single_ac_items a{
    display: inline-block;
    width: 100%;
    padding: 15px 20px;
    font-size: 18px;
    font-weight: 700;
    color: var(--paracolor);
}
.single_ac_items a i{
    margin-right: 8px;
}
.single_ac_items a.active{
    position: relative;
    color: var(--bgcolor);
}
.single_ac_items a.active::before {
    content: "\ef9a";
    position: absolute;
    font-family: Icofont!important;
    top: 18px;
    left: 20px;
    bottom: 0;
}
.single_ac_items a.active i{
    opacity: 0;
    visibility: hidden;
}
.single_accor_contents {
    margin: 10px 20px 10px;
}
.single_accor_contents p {
    font-weight: 600;
    padding-bottom: 15px;
}
/*======== single page accordion end ==========*/

/*======== portfolio area start  ==========*/
.portfolio_area {
    padding: 130px 0 130px;
}
/* portfolio 2 css */
.portfolio_title h4 {
    font-size: 16px;
    color: var(--bgcolor);
    letter-spacing: 0;
}
.portfolio_title h2 {
    font-size: 60px;
}
.portfolio_title p {
    width: 64%;
    margin: 0 auto;
}
/* portfolio 2 sub content css */
.portfolio_2_subc {
    padding: 0px 0 5px 15px;
}
.portfolio_2_subc h2 a{
    font-size: 24px;
    transition: .5s;
    color: var(--brcolor);
}
.portfolio_2_subc h2 a:hover{
    color: var(--bgcolor);
}
.portfolio_nav_all {
    padding: 24px 0 30px;
}
/* portfolio nav css */
.portfolio_nav ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
.portfolio_nav ul li{
    display: inline-block;
    border: 1px solid #f3eaea;
    padding: 10px 20px;
    font-size: 16px;
    font-weight: 500;
    margin: 0 5px 10px;
    border-radius: 5px;
    cursor: pointer;
    transition: .5s;
}
.portfolio_nav ul li.current_menu_item{
    background-color: var(--bgcolor);
    color: var(--whitec);
}
.portfolio_nav ul li:hover{
    background-color: var(--bgcolor);
    color: var(--whitec);
}
/* portfolio items css */
.portfolio_img_area{
    position: relative;
    overflow: hidden;
}
.portfolio_2{
    margin-bottom: 20px;
}
.portfolio_img_area img{
    width: 100%;
}
.portfolio_overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgb(28 202 189 / 64%);
    opacity: 0;
    visibility: hidden;
    transition: .5s;
}
.inner_portfolio_items:hover .portfolio_overlay{
    opacity: 1;
    visibility: visible;
}
.overlay{
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgb(233 48 71 / 64%);
    text-align: center;
}
.overlay >a {
    display: inline-block;
    width: 55px;
    height: 55px;
    line-height: 55px;
    border-radius: 100%;
    text-align: center;
    color: var(--whitec);
    margin-right: 6px;
    transition: .5s;
    margin-top: 22%;
    background-color: var(--bgcolor);
}
.overlay >a:hover{
    color: var(--whitec);
    background-color: var(--titlecolor);
}
.overlay >a >i{
    font-size: 22px;
}
.overlay h2{
    margin: 10px 0;
    color: var(--whitec);
}
.overlay p{
    color: var(--whitec);
}
.overlay >h2 >a:hover{
    color: var(--bgcolor);
}
.overlay.port_text >h2 >a{
    margin: 10px 0;
    color: var(--whitec)!important;
}
.port_text >h2 >a:hover{
    color: var(--bgcolor);
}
/* portfolio text */
.am_portfolio_text{
    box-shadow: 0 0 16px 8px rgb(242 242 242 / 80%);
    padding: 15px 20px;;
}
.am_portfolio_text h2 {
    display: inline-block;
    font-size: 24px;
    transition: .5s;
    margin: 0 0 10px;
}
.am_portfolio_text h2 a:hover{
    background: none;
    color: var(--bgcolor);
}
.am_portfolio_text p {
    font-size: 16px;
    font-weight: 400;
    color: var(--paracolor);
    margin: -5px 0 -2px;
}
.inner_portfolio_items:hover .overlay{
    opacity: 1;
    visibility: visible;
}
/* portfolio content css */
.portfolio_overlay_cont {
    position: absolute;
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    transition: all 0.3s ease-in-out 0.3s;
    opacity: 0;
    visibility: hidden;
}
.portfolio_overlay_cont >a{
    display: inline-block;
    width: 55px;
    height: 55px;
    line-height: 60px;
    border-radius: 5px;
    text-align: center;
    background: none;
    color: var(--whitec);
}
.portfolio_overlay_cont >a:hover{
    background: var(--bgcolor);
    color: var(--whitec);
}
.portfolio_overlay_cont >a i{
    font-size: 25px;
}
.portfolio_overlay_cont h2{
    margin: 0;
}
.portfolio_overlay_cont h2 a {
    margin: 0;
    display: inline-block;
    font-size: 24px;
    color: var(--whitec);
    transition: .5s;
}
.portfolio_overlay_cont h2 a:hover{
    color: var(--titlecolor);
}
.portfolio_overlay_cont p{
    font-size: 16px;
    font-weight: 400;
    color: var(--whitec);
}
.inner_portfolio_items:hover .portfolio_overlay_cont{
    top: 50%;
    opacity: 1;
    visibility: visible;
}
/* portfolio lower nav area css */
.portfolio_lo_nav_area{
    padding: 40px 0 0;
}
.inner_portfolio_lower_nav ul{
    list-style: none;
    margin: 0;
    padding: 0;
}
.inner_portfolio_lower_nav ul li{
    display: inline-block;
}
.inner_portfolio_lower_nav ul li a{
    display: inline-block;
    border-radius: 5px;
    font-size: 19px;
    line-height: 1;
    margin: 0 5px;
    padding: 15px 24px;
    box-shadow: 0 10px 40px 0 rgba(50,65,141,.12);
}
.inner_portfolio_lower_nav ul li a.current{
    background-color: var(--bgcolor);
    color: var(--whitec);
}
.inner_portfolio_lower_nav ul li a:hover{
    background-color: var(--bgcolor);
    color: var(--whitec);
}
.inner_portfolio_lower_nav ul li a i{
    font-size: 22px;
    font-weight: bold;
}
/*======== portfolio area end  ==========*/

/*======== blog left area start  ==========*/
.yblog_left {
    padding: 100px 0 70px;
}
.inner_yblog_form {
    position: relative;
    width: 100%;
    padding: 20px 0 20px;
    box-shadow: 0 0 20px 0 rgb(0 0 0 / 5%);
}
.inner_yblog_form input {
    width: 80%;
    outline: none;
    height: 55px;
    border: 1px solid #efefef;
    margin-left: 20px;
    padding-left: 20px;
}
.inner_yblog_form button {
    position: absolute;
    display: inline-block;
    right: 0;
    outline: none;
    border: none;
    padding: 16px 20px 15px;
    margin-right: 13px;
    background-color: #ddddddfa;
}
.inner_yblog_form button i{
    font-size: 18px;
}
/* inner  left title css */
.inner_yblog_left_title {
    margin: 30px 0 30px;
    width: 100%;
    padding: 20px 20px 15px;
    box-shadow: 0 0 20px 0 rgb(0 0 0 / 5%);
}
.inner_yblog_left_title h2 {
    font-size: 24px;
    margin-bottom: 10px;
}
.inner_yblog_left_title a {
    display: inline-block;
    font-size: 15px;
    font-weight: 400;
}
.inner_yblog_left_title a.bottom{
    border-bottom: none;
}
.inner_yblog_left_title a:hover{
    color: var(--hoverbg);
}
/* innr blog left style 2 css*/
.inner_yblgo_left_style2 a {
    display: inline-block;
    width: 100%;
    border-bottom: 1px solid #dddddd;
    padding: 13px 0 12px;
    margin-top: 0;
}
.inner_yblgo_left_style2 a:hover{
    color: var(--bgcolor);
}
/* blog left inner css */
.inner_yblog_left_img{
    margin-bottom: 10px;
}
.inner_yblog_left_img img {
    width: 100%;
    margin: 12px 0 -0;
}
.yblog_left_inner {
    padding: 0 0;
    background: none;
    margin-bottom: 30px;
    box-shadow: 0 0 30px 0 rgb(0 0 0 / 5%);
}
.yblog_left_sub{
    padding: 25px 0 30px 15px;
}
.yblog_left_sub h2 a {
    width: 100%;
    margin: 0 0 10px;
}
.yblog_left_sub h2 a:hover{
    color: var(--bgcolor);
}
.yblog_left_text_sub {
    padding: 0px 0 10px;
}
.yblog_left_text_sub span{
    color: var(--paracolor);
}
.yblog_left_text_sub span i{
    color: var(--bgcolor);
}
.yblog_left_sub p{
    font-size: 16px;
    font-weight: 400;
    width: 95%;
}
.yblog_left_sub >a {
    display: inline-block;
    margin: 7px 0 0;
    padding: 7px 25px;
    border: 1px solid #dddddd;
    font-size: 16px;
    font-weight: 400;
    border-radius: 5px;
    color: var(--paracolor);
    text-transform: capitalize;
}
.yblog_left_sub >a:hover{
    background-color: var(--bgcolor);
    color: var(--whitec);
}
.ycalender_inner h5 {
    background-color: var(--bgcolor);
    color: var(--whitec);
    padding: 14px 0 12px;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    width: 100%;
    margin: 0;
}
.ycalender_inner {
    padding: 20px 20px;
    width: 100%;
}
.ycalender_inner th {
    text-align: center;
    border: 1px solid #dddddd;
    padding: 10px 16px;
    font-size: 15px;
    font-weight: 700;
}
.ycalender_inner td {
    text-align: center;
    border: 1px solid #dddddd;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 400;
}
.speko_active{
    color: var(--whitec);
    background-color: var(--bgcolor);
}
.transko_active{
    color: var(--whitec);
    background-color: var(--bgcolor);
}
.speko_theme_widget .widget a {
    color: var(--pracolor);
}
.wp-calendar-nav span a {
    border: none;
    padding: 10px 0 0;
}
/*======== blog left area end  ==========*/

/*======== project information area start  ==========*/
.project_information_area {
    padding: 100px 0 85px;
}
.inner_project_information_img {
    margin-bottom: 20px;
}
.inner_project_information_img img{
    width: 100%;
}
/* inner project right content css */
.inner_project_right_content h2{
    font-size: 24px;
}
.inner_project_right_content p span{
    font-size: 16px;
    color: var(--bgcolor);
    font-weight: 700;
}
/* inner project infomation icons css */
.inner_project_in_icon a{
    width: 48px;
    height: 48px;
    border: 1px solid #dddddd;
    display: inline-block;
    line-height: 46px;
    text-align: center;
    border-radius: 30px;
    background-color: var(--whitec);
    color: var(--bgcolor);
    font-size: 20px;
    margin-right: 4px;
}
.inner_project_in_icon a:hover{
    background-color: var(--bgcolor);
    color: var(--whitec);
}
/* inner project text area css */
.inner_project_text_area {
    margin-top: 25px;
}
.inner_project_text_area h2{
    font-size: 24px;
}
.inner_project_information_descrip {
    margin-bottom: 8px;
}
.inner_project_information_descrip h4 {
    font-size: 16px;
    margin: 10px 0;
}
.inner_project_information_descrip p{
    margin: 0;
}
/* inner project information description css */
.inner_project_infor_list{
    margin-bottom: 15px;
    padding: 0;
    list-style: none;
}
.inner_project_infor_list li{
    margin-bottom: 5px;
}
/*======== project information area end  ==========*/

/*======== single blog page area start  ==========*/
.inner_single_box_area{
    background-color: #f8f9fa;
    padding: 20px 20px 20px;
}
.inner_single_box_area p {
    margin-bottom: 5px;
}
.inner_single_page_content_area p{
    margin-top: 20px;
}

/* single shop page */
/* Demo Product Area Start */

.sec_padding {
    padding: 100px 0 90px;
  }
  .prdc-pic img {
    width: 100%;
  }
  .prdc-pic {
    position: relative;
    margin-bottom: 30px;
  }
  .prdc-lft .onsale {
    padding: 8px 12px;
    display: inline-block;
    border-radius: 2px;
    font-size: 14px;
    text-transform: uppercase;
    right: auto;
    top: 10px;
    left: 10px;
    line-height: 1;
    min-width: auto;
    min-height: auto;
  }
  .prdc-lft .woocommerce-product-gallery__trigger {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 2em;
    z-index: 9;
    width: 36px;
    height: 36px;
    background: #fff;
    text-indent: -9999px;
    border-radius: 100%;
    box-sizing: content-box;
  }
  .prdc-lft .woocommerce-product-gallery__trigger::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border: 2px solid #000;
    border-radius: 100%;
    position: absolute;
    top: 9px;
    left: 9px;
    box-sizing: content-box;
  }
  .prdc-lft .woocommerce-product-gallery__trigger::after {
    content: "";
    display: block;
    width: 2px;
    height: 8px;
    background: #000;
    border-radius: 6px;
    position: absolute;
    top: 19px;
    left: 22px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    box-sizing: content-box;
  }
  .product .product_title {
    margin-bottom: 4px;
    font-size: 24px;
  }
  .price ins {
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
  }
  .qntity_own {
    font-weight: 700;

    .inner_project_information_descrip p {
        text-align: justify;
    }
    .inner_project_information_descrip p {
        text-align: justify;
        /* Agregar espacio entre las líneas (opcional) */
        line-height: 2.6;
    }
    
  }
.tab_list_main {
    box-shadow: 0px 0 28px 6px rgb(0 0 0 / 5%);
    margin-bottom: 30px !important;
}
.inner_tab_star i{
    display: inline-block;
    color: var(--bgcolor);
}
.single_shop_btn {
    position: relative;
    margin-top: -60px;
}
  .quantity .qty {
    border: 1px solid #ddd;
  }
  .quantity .qty {
    border: 1px solid #ddd;
    margin: 0 10px;
    height: 39px;
    width: 90px;
    text-align: center;
  }
  form.cart.single_pcart {
    display: flex;
    align-items: baseline;
    margin: 21px 0;
}
  form.cart .button {
    background: #be9674;
    padding: 12px 15px;
    line-height: 16px;
    font-size: 14px;
    text-transform: uppercase;
    transition: all 0.2s;
    border: none;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
  }
  form.cart .button:hover {
    background: #e0a067;
  }
  p.price {
    color: #e0a067;
  }
  p.price del {
    font-weight: 500;
    opacity: 0.5;
    display: inline-block;
  }
  .entry-summary span {
    font-weight: 700;
    margin-top: 7px;
  }
  
  .entry-summary span a {
    font-weight: 700;
    color: var(--titlecolor);
  }
  .tbd_product.single_summery_p_icon {
    margin-bottom: 10px;
    box-shadow: none;
    /* box-shadow: 0 0 10px 0 rgba(148, 146, 245, 0.2); */
    padding: 12px 0;
  }
  .single_summery_p_icon .thb_product_car {
    position: inherit;
    justify-content: flex-start;
    opacity: 1;
  }
  .demo-pr {
    position: static !important;
  }
  .woocommerce-tabs ul.tabs {
    padding: 0 0 10px;
    margin: 0 0 30px;
    overflow: hidden;
    position: relative;
  }
  .woocommerce-tabs ul.tabs::before {
    position: absolute;
    content: " ";
    width: 100%;
    bottom: 0;
    left: 0;
    border-bottom: 1px solid #d3ced2;
    z-index: 1;
  }
  .woocommerce-tabs ul.tabs li.active a {
    border: none;
    display: inline-block;
    padding: 8px 1.5em;
    background: #be9674;
    margin-right: 15px;
    margin-left: 2px;
    color: #fff;
    font-weight: 700;
    border-radius: 4px 4px 0 0;
  }
  .woocommerce-Reviews-title {
    font-size: 20px;
    padding-bottom: 20px;
  }
  span.comment-reply-title {
    font-size: 18px;
    font-weight: 500;
    text-transform: capitalize;
  }
  .stars {
    display: block;
    margin: 0 0 10px;
  }
  #review_form_wrapper .comment-form label {
    font-size: 14px;
    margin-right: 10px;
    font-weight: 700;
  }
  
  .comment-form-rating p.stars a {
    position: relative;
    height: 1em;
    width: 1em;
    text-indent: -999em;
    display: inline-block;
    text-decoration: none;
  }
  .comment-form-rating .star-rating {
    color: #ffc107;
  }
  
  .comment-form-rating p.stars a {
    color: #ffc107;
  }
  .comment-form-rating p.stars a::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1em;
    height: 1em;
    line-height: 1;
    font-family: WooCommerce;
    content: "\e021";
    text-indent: 0;
  }
  
  .comment-form-rating p.stars a:hover ~ a::before {
    content: "\e021";
  }
  
  .comment-form-rating p.stars:hover a::before {
    content: "\e020";
  }
  
  .comment-form-rating p.stars.selected a.active::before {
    content: "\e020";
  }
  
  .comment-form-rating p.stars.selected a.active ~ a::before {
    content: "\e021";
  }
  
  .comment-form-rating p.stars.selected a:not(.active)::before {
    content: "\e020";
  }
  .comment-form-comment textarea {
    border: 1px solid #f6f6f6;
    box-sizing: border-box;
    width: 100%;
    height: 75px;
  }
  button.button {
    font-size: 100%;
    margin: 0 0 45px;
    line-height: 1;
    cursor: pointer;
    position: relative;
    overflow: visible;
    padding: 0.618em 1em;
    font-weight: 700;
    border-radius: 3px;
    left: auto;
    border: 0;
    transition: .5s;
    display: inline-block;
    box-shadow: none;
    text-shadow: none;
}
.stars i{
    color: var(--bgcolor);
}
  button.button:hover {
    color: var(--whitec);
    background: var(--bgcolor);
  }
  h2.witr_related_title {
    padding: 20px 0 40px;
  }
  .wp_related .tbd_product {
    margin: 50px 0;
    box-shadow: 0 0 10px 0 rgba(148, 146, 245, 0.2);
  }
  
  /* Demo Product Area End */
/* single comment title css */
.single_comment_title{
    margin: 35px 0 55px;
}
.single_comment_title h3{
    font-size: 20px;
}
.single_post_comment_area input {
    width: 47%;
    outline: none;
    height: 42px;
    padding: 0 20px;
    border: 1px solid #ced4da;
    border-radius: 5px;
    margin-right: 20px;
    margin-bottom: 20px;
}
/* inner single post checkbox css */
.inner_single_post_checkbox {
    display: flex;
    align-items: center;
    margin: 10px 0;
}
.inner_single_post_checkbox input {
    height: 15px;
    width: 12px;
    margin-right: 6px;
}
.single_post_comment_area textarea{
    width: 97%;
    padding: 10px 20px;
    height: 150px;
    margin-top: 15px;
    margin-bottom: 15px;
    outline: none;
    border: 1px solid #ced4da;
    border-radius: 5px;
}
.single_post_comment_area button{
    display: inline-block;
    text-align: center;
    padding: 16px 30px;
    margin-top: 5px;
    border-radius: 5px;
    background-color: var(--brcolor);
    color: var(--whitec);
    border: none;
    outline: none;
    transition: .6s;
}
.single_post_comment_area button:hover{
    background-color: var(--bgcolor);
}
/*======== single blog page area end  ==========*/

.btn-dance {
    background-color: #08034a; /* Rosa brillante */
    color: white;
    font-weight: bold;
    border-radius: 20px;
    padding: 10px 20px;
    text-transform: uppercase;
}

.btn-folk {
    background-color: #08034a; /* Color marrón cálido */
    color: white;
    font-weight: bold;
    border-radius: 20px;
    padding: 10px 20px;
    text-transform: uppercase;
}

.btn-modern {
    background-color: #08034a; /* Verde vibrante */
    color: white;
    font-weight: bold;
    border-radius: 20px;
    padding: 10px 20px;
    text-transform: uppercase;
}

.btn-urban {
    background-color: #08034a; /* Azul claro */
    color: white;
    font-weight: bold;
    border-radius: 20px;
    padding: 10px 20px;
    text-transform: uppercase;
}

.btn-art {
    background-color: #08034a; /* Naranja cálido */
    color: white;
    font-weight: bold;
    border-radius: 20px;
    padding: 10px 20px;
    text-transform: uppercase;
}

.btn-crafts {
    background-color:#08034a; /* Azul suave */
    color: white;
    font-weight: bold;
    border-radius: 20px;
    padding: 10px 20px;
    text-transform: uppercase;
}

.btn-handmade {
    background-color: #08034a; /* Rojo vibrante */
    color: white;
    font-weight: bold;
    border-radius: 20px;
    padding: 10px 20px;
    text-transform: uppercase;
}

.btn-theatre {
    background-color: #08034a; /* Amarillo brillante */
    color: white;
    font-weight: bold;
    border-radius: 20px;
    padding: 10px 20px;
    text-transform: uppercase;
}

.btn-act {
    background-color: #08034a; /* Púrpura */
    color: white;
    font-weight: bold;
    border-radius: 20px;
    padding: 10px 20px;
    text-transform: uppercase;
}

.btn-expression {
    background-color: #08034a; /* Aqua */
    color: white;
    font-weight: bold;
    border-radius: 20px;
    padding: 10px 20px;
    text-transform: uppercase;
}

.btn-montage {
    background-color: #08034a; /* Naranja oscuro */
    color: white;
    font-weight: bold;
    border-radius: 20px;
    padding: 10px 20px;
    text-transform: uppercase;
}
 /* Estilos para el efecto hover en las imágenes */
 .service_img {
    overflow: hidden; /* Para que el zoom no sobresalga del contenedor */
    border-radius: 8px; /* Bordes redondeados para coincidir con los botones */
    transition: transform 0.3s ease; /* Transición suave */
}

.service_img img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.5s ease; /* Transición más lenta para suavizar el efecto */
}

.service_img:hover img {
    transform: scale(1.05); /* Zoom del 5% */
}

/* Hacer toda el área del servicio clickable */
.main_service {
    position: relative;
    cursor: pointer;
}

.service_text a {
    display: block; /* Hacer que el enlace ocupe todo el espacio */
    text-decoration: none; /* Quitar subrayado */
}

/* Estilo para los botones (basado en tu código anterior) */
.btn {
    background-color: #003366;
    border: 2px solid #003366;
    color: #fff;
    padding: 12px 20px;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: 8px;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    display: inline-block;
    margin-top: 15px;
    width: 100%;
    text-align: center;
}

.btn:hover {
    background-color: #00509e;
    border-color: #00509e;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    transform: translateY(-3px);
}

/*======== footer area start  ==========*/

.footer_area {
    display: flex;
    align-items: center;
    padding: 80px 0;
    min-height: 400px;
    background: url('assets/images/banner_inferior.jpg') no-repeat center center;
    background-size: contain;
    background-attachment: local;
    background-color: #f8f9fa;
  }
  
  /* your responsive override */
  @media (max-width: 768px) {
    .footer_area {
      background-image: none !important;
    }
  }
  

.footer_text h2{
    color: var(--whitec);
    font-size: 36px;
}

.footer_widget h4 {
    margin-bottom: 20px;
    padding: 0 0 12px;
    font-size: 24px;
    color: var(--whitec);
    position: relative;
    text-transform: capitalize;
    letter-spacing: 0;
}
.footer_widget h4::before {
	content: '';
	position: absolute;
	bottom: 0;
	border: 1px solid var(--bgcolor);
	width: 25%;
	border-radius: 50%;
}
/* foote top */
.footer_content {
    display: flex;
    gap: 220px;
}
.footer_middle {
    padding: 15px 0 0;
}
.footer-top-inner p {
    margin-left: auto;
    margin-right: auto;
    width: 81%;
    color: var(--whitec);
}
.footer_widget.footer_logo_area p {
    padding: 5px 0;
    margin: 5px 0 10px;
}



/* Si quieres controlar el tamaño específico del logo, puedes usar un valor fijo */
.footer_logo_area img {
    width: 400px; /* Ajusta el tamaño según necesites */
    height: auto;  /* Mantén la proporción */
}


/* about */

.bread_footer {
    margin-top: 19px;
}
.footer_addres_area h4{
    color: var(--bgcolor);
}

.footer_addres_area i{
    font-size: 18px;
}
/* footer nav css */
.footer_nav {
    margin-top: 25px;
}
.footer_nav ul{
    list-style: none;
    padding-left: 0;
}
.footer_nav ul li {
    padding: 0 0 10px;
}
.footer_nav ul li a{
    color: var(--whitec);
    font-size: 16px;
    font-weight: 400;
}
.footer_nav ul li a:hover{
    color: var(--bgcolor);
}
/* footer address area css */
.footer_addres_area {
    margin-top: 25px;
}
.footer_addres_area h5 {
    color: var(--brcolor);
    font-size: 18px;
    font-weight: 700;
    margin: 0;
}
.footer_addres_area p {
    font-size: 14px;
    color: var(--whitec);
    font-weight: 400;
    margin-bottom: 5px;
}
.footer_addres_area p i{
    margin-right: 6px;
}
/* footer widget sub img */
.footer_blog_area
{
    display: inline-block;
    padding: 1.79104477%;
    text-align: center;
    vertical-align: top;
    width: 100%;
    margin: 0;
}
.footer_blog_area{
    display: inline-block;
    padding: 1.79104477%;
    text-align: center;
    vertical-align: top;
    width: 100%;
    margin: 0;
}
.footer_main_add{
    display: flex;
    gap: 12px;
    padding-top: 10px;
}
.footer_main_add a img{
    width: 100px;
}
.footer_add_cont{
    text-align: left;
}
.footer_main_add a{
    color: var(--whitec);
    transition: .5s;
    font-size: 14px;
}
.inner_subscribe_form_area {
    position: relative;
    overflow: hidden;
}
.footer_logo_area p {
    padding: 10px 0 10px;
    color: var(--whitec);
    margin: 0;
    font-size: 2px; /* Ajusta el tamaño del texto aquí */
}

/* ESTILOS GENERALES */
.project_area {
    padding: 50px 0;
    background: #eaedf0;
}

/* CONTENEDOR PRINCIPAL (limita el ancho) */
.custom-container {
    max-width: 1350px;
    margin: 0 auto;
    padding: 0 30px;
}

/* CONTENEDOR DEL CARRUSEL */
.port_slide {
    display: flex;
    height: 300px;
    gap: 15px;
    overflow: hidden;
}

/* ITEMS DEL ACORDEÓN */
.item_pos {
    flex: 1;
    min-width: 80px;
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    border-radius: 12px;
    overflow: hidden;
}

.item_pos:hover {
    flex: 3;
}

/* CONTENEDOR DE IMAGEN */
.inner_img_area {
    height: 100%;
    width: 100%;
    border: 3px solid #fff;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    border-radius: 10px;
    overflow: hidden;
}

.item_pos:hover .inner_img_area {
    border: 3px solid #031941ae;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* IMAGEN */
.inner_img_overlay {
    width: 100%;
    height: 100%;
    position: relative;
}

.inner_img_overlay img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: brightness(0.9);
    transition: all 0.5s ease;
}

.item_pos:hover .inner_img_overlay img {
    filter: brightness(1);
    transform: scale(1.03);
}

/* EFECTO DE BORDE INTERNO */
.inner_img_overlay::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-radius: 8px;
    pointer-events: none;
    transition: all 0.3s ease;
}

.item_pos:hover .inner_img_overlay::after {
    border: 2px solid rgba(255, 255, 255, 0.8);
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .custom-container {
        padding: 0 20px;
    }
    
    .port_slide {
        flex-direction: column;
        height: auto;
    }
    
    .item_pos {
        height: 200px;
        margin-bottom: 15px;
    }
    
    .item_pos:hover {
        height: 300px;
    }
}
.inner_subscribe_form_area input {
    position: relative;
    width: 83%;
    line-height: 43px;
    border-radius: 0px;
    color: var(--whitec);
    padding: 15px 0;
    height: 40px;
    background-color: transparent;
    border-bottom: 1px solid var(--whitec);
}
.inner_subscribe_form_area input::placeholder{
    color: var(--whitec);
}
.inner_subscribe_form_area button {
    position: absolute;
    right: 0;
    width: 40%;
    height: 50px;
    border-radius: 0px;
    cursor: pointer;
    padding: 10px 10px;
    line-height: 0;
    transition: .5s;
    border: none;
    font-size: 25px;
    color: var(--whitec);
    background: transparent;
}
/* images */
.inner_footer_widget_img {
    margin-top: 20px;
}
.inner_footer_widget_img img {
    width: 90%;
    height: auto;
}
/* dots */
ul.slick-dots{
    text-align: center;
}
.slick-dots li {
    display: inline-block;
}
.slick-dots li button {
    font-size: 0;
    width: 15px;
    height: 15px;
    border: 0 solid var(--bgcolor);
    margin: 0 5px;
    cursor: pointer;
    border-radius: 50%;
    padding: 0;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    outline: 0;
    background: rgb(24 148 30 / 36%);
}
.slick-dots li.slick-active button {
    background: var(--bgcolor);
}
/* images */
/*======== footer area end  ==========*/

/*======== copyright area start  ==========*/
.copyright_area {
    padding: 17px 0 17px;
    position: relative;
    background: var(--bgcolor);
}
.copy_right_text p{
    color: var(--whitec);
    margin: 0;
    text-align: left;
}
.footer_menu{
    text-align: right;
}
.footer_menu ul{
    margin: 0;
    padding: 0;
}
.footer_menu ul li {
    list-style: none;
    display: inline-block;
}
.footer_menu ul li a {
    padding: 0 10px;
    color: var(--whitec);
    font-size: 16px;
    font-weight: 400;
}
.footer_menu a:hover{
    color: var(--titlecolor);
}
/*======== copyright area end  ==========*/

/*======== scroll top btn css  ==========*/
#scrollUp {
    position: fixed;
    bottom: 50px;
    font-size: 22px;
    height: 40px;
    line-height: 42px;
    right: 40px;
    text-align: center;
    border-radius: 5px;
    width: 40px;
    color: var(--whitec);
    background: var(--bgcolor);
    display: none;
    cursor: pointer;
    z-index: 9999;
}