*{
margin:0;
padding:0;
box-sizing:border-box;
}

:root{

--azul:#1E4FA3;
--rojo:#D71920;
--blanco:#FFFFFF;
--gris:#333333;

}

body{
font-family:'Poppins',sans-serif;
color:var(--gris);
line-height:1.6;
}

/* CONTENEDOR */

.container{
width:90%;
max-width:1200px;
margin:auto;
}

/* TOPBAR */

.topbar{
background:var(--azul);
color:white;
font-size:14px;
padding:8px 0;
}

.topbar-content{
display:flex;
justify-content:space-between;
align-items:center;
}

/* HEADER */

header{
background:white;
box-shadow:0 2px 10px rgba(0,0,0,.1);
position:sticky;
top:0;
z-index:1000;
}

.nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:18px 0;
}

.logo{
font-size:18px;
font-weight:700;
color:var(--azul);
}


.logo {
    display: flex;
    align-items: center; /* Alinea verticalmente la imagen con el texto */
    gap: 5px;           /* Espacio entre el logo y el texto */
}

.logo img {
    height: 110px;        /* Ajusta el tamaño de tu logo aquí */
    width: auto;         /* Mantiene la proporción original */
}
/* MENU */

nav ul{
display:flex;
list-style:none;
}

nav ul li{
position:relative;
}

nav ul li a{
display:block;
padding:12px 18px;
text-decoration:none;
color:var(--gris);
font-weight:500;
transition:.3s;
}

nav ul li a:hover{
color:var(--rojo);
}

/* BOTON */

.btn{
background:var(--rojo);
color:white;
padding:10px 20px;
border-radius:5px;
text-decoration:none;
cursor:pointer;
transition:.3s;
}

.btn:hover{
background:#b1151b;
}

/* MEGA MENU */

.mega-menu{
position:absolute;
left:0;
top:100%;
background:white;
display:none;
padding:30px;
box-shadow:0 10px 25px rgba(0,0,0,.1);
gap:40px;
border-top:3px solid var(--rojo);
}

.mega:hover .mega-menu{
display:flex;
}

.mega-column{
display:flex;
flex-direction:column;
min-width:220px;
}

.mega-column h4{
margin-bottom:10px;
color:var(--azul);
}

.mega-column a{
padding:6px 0;
color:var(--gris);
text-decoration:none;
}

.mega-column a:hover{
color:var(--rojo);
}

/* HERO */

.hero{
height:620px;
position:relative;
overflow:hidden;
}

.slides{
height:100%;
}

.slide{
position:absolute;
width:100%;
height:100%;
background-size:cover;
background-position:top;
opacity:0;
transition:opacity .6s;
}

.slide.active{
opacity:1;
}

.overlay{
background:rgba(0,0,0,.45);
height:100%;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
color:white;
text-align:center;
padding:20px;
}

.overlay h1{
font-size:42px;
margin-bottom:10px;
}

.overlay p{
font-size:18px;
margin-bottom:20px;
}

/* SECCIONES */

.section{
padding:80px 0;
}

.gray{
background:#f5f7fb;
}

.programs{
padding:80px 0;
}

h2{
font-size:34px;
margin-bottom:20px;
text-align:center;
color:var(--azul);
}

/* CARDS */

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
margin-top:30px;
}

.card{
background:white;
padding:30px;
border-radius:8px;
box-shadow:0 5px 15px rgba(0,0,0,.08);
transition:.3s;
text-align:center;
border-top:4px solid var(--azul);
}

.card i{
font-size:32px;
margin-bottom:10px;
color:var(--azul);
}

.card img{
width:100%;
border-radius:6px;
margin-bottom:10px;
}

.card:hover{
background:var(--rojo);
color:white;
transform:translateY(-6px);
}

.card:hover i{
color:white;
}

/* NOTICIAS */

.news{
padding:80px 0;
}

/* FOOTER */

footer{
background:var(--azul);
color:white;
padding:60px 0;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;
}

footer a{
display:block;
color:#dcdcdc;
margin:5px 0;
text-decoration:none;
}

footer a:hover{
color:white;
}

.social a{
font-size:20px;
margin-right:10px;
color:white;
}

/* ANIMACION SCROLL */

.reveal{
opacity:0;
transform:translateY(40px);
transition:1s;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}

/* MENU MOVIL */

.menu-toggle{
display:none;
font-size:22px;
cursor:pointer;
color:var(--azul);
}

/* RESPONSIVE */

@media(max-width:900px){

nav{
display:none;
position:absolute;
top:70px;
left:0;
width:100%;
background:white;
box-shadow:0 5px 15px rgba(0,0,0,.1);
}

nav ul{
flex-direction:column;
}

.menu-toggle{
display:block;
}

.mega-menu{
position:relative;
box-shadow:none;
padding:15px;
flex-direction:column;
}

.hero{
height:420px;
}

.overlay h1{
font-size:28px;
}

}
/* CONTACTO */

.contact-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
margin-top:40px;

}

.contact-form{

background:white;
padding:30px;
border-radius:8px;
box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.input-group{

margin-bottom:20px;
display:flex;
flex-direction:column;

}

.input-group label{

font-weight:500;
margin-bottom:5px;

}

.input-group input,
.input-group textarea{

padding:10px;
border:1px solid #ccc;
border-radius:5px;
font-family:'Poppins',sans-serif;

}

.input-group input:focus,
.input-group textarea:focus{

border-color:var(--azul);
outline:none;

}

.contact-map{

height:400px;
border-radius:8px;
overflow:hidden;
box-shadow:0 5px 15px rgba(0,0,0,.1);

}

.contact-info{

margin-top:30px;
font-size:16px;

}

.contact-info p{

margin-bottom:8px;

}

/* RESPONSIVE CONTACTO */

@media(max-width:900px){

.contact-grid{

grid-template-columns:1fr;

}

.contact-map{

height:300px;

}

}
/* REDES EN NOTICIAS */

.social-news{

display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
margin-top:40px;

}

.social-box{

background:white;
padding:20px;
border-radius:8px;
box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.instagram-widget{

width:100%;
height:500px;
border:none;

}

@media(max-width:900px){

.social-news{

grid-template-columns:1fr;

}

}

.whatsapp-float{

position:fixed;
bottom:25px;
right:25px;
background:#25D366;
color:white;
font-size:28px;
width:60px;
height:60px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
box-shadow:0 5px 15px rgba(0,0,0,.3);
z-index:999;

}

.whatsapp-float:hover{

transform:scale(1.1);

}