
.c_logo{
display: grid;
grid-template-columns: 450px 1fr 1fr 1fr;
align-items:center;
grid-column-gap:10px; 
width:1200px;
margin:auto; height: 100%; }

.c_ubi{background-image:url(imagen_web/ubi.png); background-repeat:no-repeat; height:50px; display:grid;}
.c_tel{background-image:url(imagen_web/tel.png); background-repeat:no-repeat; height:50px; display:grid;}
.c_hor{background-image:url(imagen_web/hor.png); background-repeat:no-repeat; height:50px; display:grid;}

.t_t1{font-weight:900; line-height: 25px; padding-left: 60px; color:#000000}
.t_t2{font-weight:300; font-size: 14px;  padding-left: 60px;  color:#000000}

@media only screen and (max-width: 1318px) {
.c_logo{
display: grid;
grid-template-columns:350px 1fr 1fr 1fr;
 justify-items:center;
width:100%;
}
}




@media only screen and (max-width: 918px) {
.c_logo{
display: grid;
grid-template-columns:1fr;
 justify-items:center;
width:100%;
}
.c_ubi, .c_tel, .c_hor{display:none;}




}


.f_menu_pre {background:linear-gradient(90deg, #1f3a6e 0%, #191d24 100%);}
.f_menu_line {background-color:#ffae00; width:100%; height:6px;}
.B_menu_line {background-color:#808080; width:100%; height:1px;}
.menuTop {
width: 1200px;
margin: auto;
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr  1fr 1fr;
justify-items:center;
align-items:center;
grid-gap:0px;
overflow: hidden;
text-shadow: 0.8px 0.8px 1px rgba(0,0,0, 0.9);}

@media only screen and (max-width: 1318px) {.menuTop {width: 100%;}}
@media only screen and (max-width: 618px)  {.menuTop {display: block; grid-template-columns: 1fr;}}

.menuTop a {
display: flex;
color: #ffffff;
text-align: center;
padding: 0px 0px;
text-decoration: none;
font-size: 15px ;/*falta*/
font-family: 'Poppins', sans-serif ;/*falta*/
font-weight: 500;/*falta*/
line-height: 0px;
align-items: center;
justify-content: center;
height: 40px ; 
	width: 100%;
}
@media only screen and (max-width: 1218px) {.menuTop a {padding: 24px 16px; float: left; display: flex; height: auto; width:auto; transition: 0.3s; }}
	
.actual {
background-color: #3F819A;
color: white;
width: 100%;
}

@media only screen and (max-width: 618px) {
.actual {
background-color: #f60000;
color: white;
width: 100px;
}

}

/* Hide the link that should open and close the topnav on small screens */
.menuTop .icon {
display: none;
}

/* Dropdown container - needed to position the dropdown content */
.dropdownT {
float: left;
overflow: hidden;
width: 100%;
	z-index: 1000;
}
@media only screen and (max-width: 618px) {
.dropdownT {
float: left;
overflow: hidden;
width: auto;
}
}

/* Style the dropdown button to fit inside the topnav */
.dropdownT .dropbtnT {
border: none;
outline: none;
color: #ffffff;
padding: 0px 0px;
background-color: rgba(0,0,0,0);
font-family: 'Poppins', sans-serif ;
font-weight: 500;
font-size: 15px ;
margin: 0;
width: 100%;
height: 40px ;
text-shadow: 0.8px 0.8px 1px rgba(0,0,0, 0.9);}

@media only screen and (max-width: 618px) {
.dropdownT .dropbtnT {height: auto; padding: 16px 0px;}
}
	

/* Style the dropdown content (hidden by default) */
.dropdownT-contentT {
display: none;
position: absolute;
background-color: #f2f2f2;
width: 300px ;
z-index: 1;

}




/* Style the links inside the dropdown */
.dropdownT-contentT a {
float: none;
color: #1f3a6e;
padding: 0px 0px 0px 16px ;
text-decoration: none;
text-align: left;
display: flex;
justify-content: left;
align-items: center;
	transition: 0.3s; 
height: 35px ; /*revisar*/ /*CAMBIO AQUI   -------------------------------*/
	font-weight: 300; /*revisar*/ /*CAMBIO AQUI   -------------------------------*/
	font-size: 16px ; 
text-shadow: 0px 0px 0px rgba(0,0,0,0);
}


/* Add a dark background on topnav links and the dropdown button on hover */
.menuTop a:hover, .dropdownT:hover .dropbtnT {
background-color: #c20000;
color: #ffffff;
font-weight: 500;
width: 100%;
	transition: 0.3s;
}
@media only screen and (max-width: 618px) {
.menuTop a:hover, .dropdownT:hover .dropbtnT {
background-color: #c20000;
color: #ffffff;
width: auto;
padding-left:43px;
padding-right:43px;
	transition: 0.3s;
}
}





/* Add a grey background to dropdown links on hover */
.dropdownT-contentT a:hover {
background-color: #e3e3e3; /*revisar*/ /*CAMBIO AQUI  22 -------------------------------*/
color: #405b91;  /*revisar*/ /*CAMBIO AQUI  22 -------------------------------*/
width: 300px ; /*revisar*/ /*CAMBIO AQUI  22 -------------------------------*/
transition: 0.3s;
text-shadow: 0px 0px 0px rgba(0,0,0,0);
}

@media only screen and (max-width: 618px) {
.dropdownT-contentT {
width: 100%;

}
	.dropdownT-contentT a{
border-bottom: 1px solid #ccc;



}
.dropdownT-contentT a:hover {
border-bottom: 1px solid #ccc;
width: 100%;


}
}	










/* Show the dropdown menu when the user moves the mouse over the dropdown button */
.dropdownT:hover .dropdownT-contentT {
display: block;
}

/* When the screen is less than 600 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */
@media screen and (max-width: 600px) {
.menuTop a:not(:first-child), .dropdownT .dropbtnT {
display: none;
}
.menuTop a.icon {
float: right;

padding-left:30px;
padding-right:30px;
display: flex; align-items: center;

}
}

/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
@media screen and (max-width: 600px) {
.menuTop.responsiveT {position: relative; }
.menuTop.responsiveT a.icon {
position: absolute;
right: 0;
top: 0;
}
.menuTop.responsiveT a {
float: none;

text-align: left;
padding-left: 25px;
display: flex; align-items: center; justify-content: left;
}
.menuTop.responsiveT .dropdownT {float: none; }
.menuTop.responsiveT .dropdownT-contentT {position: relative; }
.menuTop.responsiveT .dropdownT .dropbtnT {
display: block;
width: 100%;
text-align: left;
padding-left: 25px;
display: flex;align-items: center;
}
}






































:root {
  /* 🎨 Gradiente del menú principal */
  --gradient-angle: 90deg;
  --gradient-color1: #1f3a6e;
  --gradient-color2: #191d24;

  /* 🎨 Links principales */
  --main-text: #ffffff;
  --main-hover-bg: #c20000;

  /* 🎨 Submenú */
  --sub-bg: #f2f2f2;             /* Fondo sólido submenú */
  --sub-text:  #1f3a6e;
  --sub-hover-bg: #e3e3e3;

  /* 🎨 Bordes */
  --border-color: rgba(0,0,0,0.1);

  /* 🎨 Tipografía Links principales */
  --main-font-family: 'Poppins', sans-serif ;
  --main-font-size:  15px ;
  --main-font-weight: 500;
  --main-height: 40px ;

  /* 🎨 Tipografía Submenú */
  --sub-font-family: 'Poppins', sans-serif ;
  --sub-font-size: 16px ;
  --sub-font-weight: 300;
  --sub-height: 35px ;

  /* 🎨 Anchos */
  --max-width: 1200px;
  --submenu-width: 300px ;
  --side-menu-width: 60%;
}

/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
 

/* ===================== */
/* DESKTOP MENU */
/* ===================== */
.desktop-menu {
  background: linear-gradient(
    var(--gradient-angle),
    var(--gradient-color1) 0%,
    var(--gradient-color2) 100%
  );
  z-index:1001;
}
.desktop-menu .nav-menu {
  display: flex;
  max-width: var(--max-width);
  margin: auto;
  list-style: none;
  z-index:1001;
}
.desktop-menu .nav-menu > li {
  flex: 1;
  position: relative;
  z-index:1001;
}
.desktop-menu .nav-menu > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--main-height);
  color: var(--main-text);
  font-family: var(--main-font-family);
  font-size: var(--main-font-size);
  font-weight: var(--main-font-weight);
  text-decoration: none;
  background: none;
  transition: background 0.3s, color 0.3s;
}
.desktop-menu .nav-menu > li > a:hover {
  background: var(--main-hover-bg);
}
.desktop-menu .has-submenu:hover .submenu {
  display: block;
}
.desktop-menu .submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: var(--submenu-width);
  background: var(--sub-bg);
  list-style: none;
}
.desktop-menu .submenu li a {
  display: block;
  height: var(--sub-height);
  padding: 0 15px;
  line-height: var(--sub-height);
  color: var(--sub-text);
  font-family: var(--sub-font-family);
  font-size: var(--sub-font-size);
  font-weight: var(--sub-font-weight);
  text-decoration: none;
  border-bottom: 1px solid var(--border-color);
  transition: background 0.3s, color 0.3s;
}
.desktop-menu .submenu li:last-child a {
  border-bottom: none;
}
.desktop-menu .submenu li a:hover {
  background: var(--sub-hover-bg);
}

/* ===================== */
/* MOBILE HEADER */
/* ===================== */
.mobile-header {
  display: none;
  background: linear-gradient(
    var(--gradient-angle),
    var(--gradient-color1) 0%,
    var(--gradient-color2) 100%
  );
  color: var(--main-text);
  padding: 15px;
  justify-content: space-between;
  align-items: center;
}
.menu-title {
  font-weight: bold;
}
.menu-button {
  background: none;
  border: none;
  color: var(--main-text);
  font-size: 1.8em;
  cursor: pointer;
}

/* ===================== */
/* OVERLAY */
/* ===================== */
.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  z-index: 9;
}

/* ===================== */
/* SIDE MENU */
/* ===================== */
.side-menu {
  position: fixed;
  top: 0;
  left: calc(-1 * var(--side-menu-width));
  width: var(--side-menu-width);
  height: 100%;
  background: linear-gradient(
    var(--gradient-angle),
    var(--gradient-color1) 0%,
    var(--gradient-color2) 100%
  );
  color: var(--main-text);
  z-index: 10;
  padding-top: 0px;
  transition: left 0.3s ease;
  overflow-y: auto;
  max-height: 100vh;
  scrollbar-width: thin;
  scrollbar-color: var(--border-color) transparent;
}
.side-menu::-webkit-scrollbar {
  width: 6px;
}
.side-menu::-webkit-scrollbar-thumb {
  background: var(--border-color);
  border-radius: 3px;
}
.side-menu::-webkit-scrollbar-thumb:hover {
  background: #3e8fc7;
}

/* Items principales */
.side-menu .nav-menu {
  list-style: none;
}
.side-menu .nav-menu > li {
  border-bottom: 1px solid var(--border-color);
}
.side-menu .nav-menu > li > a,
.side-menu .nav-menu > li > label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 15px;
  height: var(--main-height);
  color: var(--main-text);
  font-family: var(--main-font-family);
  font-size: var(--main-font-size);
  font-weight: var(--main-font-weight);
  text-decoration: none;
  cursor: pointer;
  background: none;
  transition: background 0.3s, color 0.3s;
}
.side-menu .nav-menu > li > a:hover,
.side-menu .nav-menu > li > label:hover {
  background: var(--main-hover-bg);
}

/* Flecha de submenú */
.arrow {
  transition: transform 0.3s;
}

/* Submenú en Side Menu */
.side-menu .submenu {
  display: none;
  background: var(--sub-bg);
}
.side-menu .submenu li {
  border-bottom: 1px solid var(--border-color);
}
.side-menu .submenu li a {
  display: block;
  padding: 0 30px;
  height: var(--sub-height);
  line-height: var(--sub-height);
  color: var(--sub-text);
  font-family: var(--sub-font-family);
  font-size: var(--sub-font-size);
  font-weight: var(--sub-font-weight);
  text-decoration: none;
  background: none;
  transition: background 0.3s, color 0.3s;
}
.side-menu .submenu li a:hover {
  background: var(--sub-hover-bg);
}

/* Submenu toggle */
.submenu-toggle {
  display: none;
}
.submenu-toggle:checked + label .arrow {
  transform: rotate(90deg);
}
.submenu-toggle:checked + label + .submenu {
  display: block;
}

/* Close button */
.close-button {
  position: absolute;
  top: 15px;
  right: 15px;
  background: none;
  border: none;
  color: var(--main-text);
  font-size: 2em;
  cursor: pointer;
}

/* ===================== */
/* RESPONSIVE */
/* ===================== */
@media (max-width: 768px) {
  .desktop-menu {
    display: none;
  }
  .mobile-header {
    display: flex;
  }
}



/* Header del menú responsive */

.menu-headerWES {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;         /* ✅ centra verticalmente */
  justify-content: space-between;
  padding: 0 15px ;             /* 🎯 solo padding lateral */
  height: 70px;                /* 🎯 altura fija opcional */
}

.menu-logoWES {
  max-height: 50px;
  display: block;
  margin: 0;                   /* 🎯 quita margen vertical */
}
.close-buttonWES {
  background: none;
  border: none;
  color: var(--main-text);
  font-size: 2em;
  cursor: pointer;
  line-height: 1;              /* 🎯 elimina altura extra del icono */
  padding: 0;
}

/* Contacto */
.menu-contact {
  padding: 20px 15px;
  color: var(--main-text);
  border-top: 1px solid var(--border-color);
  margin-top: 100px;  
}
.contact-item {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-size: 12px;
}
.contact-item i {
  margin-right: 10px;
  font-size: 1.2em;
}

/* Redes sociales */
.menu-social {
  display: flex;
  justify-content: space-around;
  padding: 15px;
  border-top: 1px solid var(--border-color);
}
.social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: #ffffff20;
  color: var(--main-text);
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.3s;
}
.social-btn:hover {
  background: var(--main-hover-bg);
}