@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
    --color-blanco:#ffffff;
    --color-gris:#344856;
    --color-turquesa:#0B1D4A;
    --color-grisoscuro:#00B4E6;

    --fuente-primaria: "Poppins", sans-serif;

    --gradiente1: linear-gradient(50deg, 
                rgba(127, 234, 253, 0.5) 20%, 
                rgba(255,255,255,0.5) 100%);                
    --gradiente2: linear-gradient(50deg, 
                rgba(127, 234, 253, 0.3) 20%, 
                rgba(255,255,255,0.3) 100%);      
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html{
    scroll-behavior: smooth;
}

body {
    font-family: var(--fuente-primaria);
    line-height: 1.5;
    font-size: 16px;
}

h1 {
    font-size: 50px;
}

h2 {
    letter-spacing: 5px; 
    margin-bottom: 15px;
}

p {
    margin-bottom: 15px;
}

img, iframe, video {
    display: block;
}

#barra-superior{
    background-color: var(--color-turquesa);
    color: var(--color-blanco);
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 0.8em;
    width: 100%;
}

#barra-superior a{
    color: var(--color-blanco);
    text-decoration: none;
    margin-right: 10px; 
}

#barra-superior .bs-rs {
    display: flex;
    align-items: center;
    gap: 10px;
}

#barra-superior .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
}

#barra-superior .bs-contactos {
    display: flex;
    flex-wrap: wrap;   
    gap: 10px;
}

#barra-superior .bs-rs i{
    font-size: 18px;
}

#cabecera {
    background-color: var(--color-blanco);
    color: var(--color-gris);
    padding-top: 5px; 
    padding-bottom: 5px;
    position: sticky;
    top: 0px;
    z-index: 1000;
}

#nosotros {
    background-color: var(--color-turquesa);
    color: var(--color-blanco);
}

#carreras {
    background-color: var(--color-blanco);
    color: var(--color-gris);  

}

#docentes {
    background-color: var(--color-turquesa);
    color: var(--color-blanco);
}

#docentes .col{
    margin-bottom: 30px;
}

#sec-imagenes {
    background-color: var(--color-blanco);
    color: var(--color-turquesa);
}

#sec-imagenes .col{
    margin-bottom: 30px;
}

#alumnos {
    background-color: var(--color-blanco);
    color: var(--color-gris); 
}

#alumnos .col {
    text-align: center;
}

#alumnos .col:hover .alumno-hijo{
    opacity: 1;
}

#alumnos .col .alumno-hijo p{
    transform: translate(-200px);
    transition: all 0.3s ease-in-out;
}

#alumnos .col:hover .alumno-hijo p{
    transform: translate(0px);
}

#conferencia {
    background-color: var(--color-turquesa);
    color: var(--color-blanco);
}

#graducacion {
    background: var(--gradiente1), url('../imagenes/confianza.webp');    
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    background-attachment: fixed;
}

#pie{
    background-color: var(--color-turquesa);
    color: var(--color-blanco);
    padding-top: 20px;
    padding-bottom: 40px;
    font-size: 16px;
}

#titulo-pagina {
    background: var(--gradiente1), url('../imagenes/titulo_pagina.webp');    
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    color: var(--color-blanco);
}

#titulo-pagina a {
    color: var(--color-blanco);
    text-decoration: none;
}

#tractor {
    background: var(--gradiente2), url('../imagenes/tractores.webp');    
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    color: var(--color-blanco);
}

#tractor a {
    color: var(--color-blanco);
    text-decoration: none;
}

#autos {
    background: var(--gradiente2), url('../imagenes/autos.webp');    
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    color: var(--color-blanco);
}

#autos a {
    color: var(--color-blanco);
    text-decoration: none;
}

#casas {
    background: var(--gradiente2), url('../imagenes/casas.webp');    
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    color: var(--color-blanco);
}

#casas a {
    color: var(--color-blanco);
    text-decoration: none;
}

#semillas {
    background: var(--gradiente2), url('../imagenes/sdsemillas.webp');    
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    color: var(--color-blanco);
}

#semillas a {
    color: var(--color-blanco);
    text-decoration: none;
}

#pie a{
    color: var(--color-blanco);
    text-decoration: none;
    margin-right: 10px;      
}

#pie .row {
    display: flex;           
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;       
}

#pie .bs-derechos {
    font-size: 1.0em;
    color: var(--color-blanco);
}

#pie .bs-rs {
    display: flex;
    align-items: center;
    gap: 10px;                  
}
 
#pie .bs-rs i {
    font-size: 22px;
}

.espaciado {
    padding-top: 90px;
    padding-bottom: 90px;
}

.contenedor {
    max-width: 70%;
    margin: auto;
}

.imgfluid {
    width: 100%;
}

.row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.col {
    flex-basis: 0;
    flex-grow: 1;
    padding-left: 15px;
    padding-right: 15px;   
}

.col-30{
    flex-basis: 30%;
    max-width: 30%;
}

.col-33{
    flex-basis: 33.3%;
    max-width: 33.3%;
}

.col-50{
    flex-basis: 50%;
    max-width: 50%;
}

.col-66{
    flex-basis: 66.7%;
    max-width: 66.7%;
}

.col-70{
    flex-basis: 70%;
    max-width: 70%;
}

.col-100{
    flex-basis: 100%;
    max-width: 100%;
}

.del-padded {    
    margin-left: -15px;
    margin-right: -15px;
}

.fondo-conferencia {
    background-image: url('../imagenes/semillas.webp');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
    opacity: 70%;
}

.text-graduacion {
    font-size: 2em;
    line-height: 2em;
    color: var(--color-blanco);
}


.texto-resalado{
    color: var(--color-gris); font-weight: bold;
}

.centrado{    
    font-size: 25px;
}

.izq {
    font-size: 25px;
    text-align: left;
    display: block; 
}

.izq h2, 
.izq h3 {
    text-align: left;    
}

.nav-bar {
    display:flex;
    flex-direction: row; 
    justify-content: space-between;
    align-items: center;
}

.nav-logo {
    width: 200px;
}

.nav-menu {
    display: flex;
    flex-direction: row;
    list-style: none;  
}

.nav-menu-item {
    margin-left: 10px;  
}

.nav-menu-link {    
    text-decoration: none; 
    background-color: #f8f9fa;
    color: var(--color-turquesa);
    padding: 8px;
    font-size: 0.9em;   
    transition: all 0.3s ease-in-out;
    border-radius: 5px; 
}

.nav-menu-link:hover {
    background-color: var(--color-turquesa);
    color: var(--color-blanco);
}
 
.scroll-up {
    width: 45px;
    height: 45px;
    line-height: 45px;
    background-color: var(--color-turquesa);
    color: var(--color-blanco);
    text-align: center;
    border: solid 1px var(--color-blanco);

    position: fixed;
    bottom: 30px;
    right: 30px;
}

.banner-padre{    
    position: relative;   

}

.banner-hijo {        
    width: 600px;
    background-color: var(--color-blanco);
    color: var(--color-grisoscuro);
    padding: 20px;
    position:absolute;  
    bottom: -50px;
    left: calc(50% - 300px);
}

.alumno-padre{
    position: relative;

}

.alumno-hijo{
    width: 100%;
    height: 100%;
    background-color: rgba(32, 54, 70, 0.7);
    color: var(--color-blanco);
    
    text-align: center;

    position: absolute;
    top: 0px;
    left: 0px;

    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.alumno-hijo p{
    position: absolute;
    top: calc(50% - 2em);
}

.pagina-activa{
    background-color: var(--color-turquesa);
    color: var(--color-blanco);
}

.ajustar-video {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
}

.form-control{
    width: 100%;
    margin-bottom: 15px;
    padding-top: 10px;
    padding-bottom: 10px;
    font: inherit;
    border: none;
    outline: none;
    border-bottom: 1px solid var(--color-turquesa);
}

.form-boton{
    background-color: var(--color-turquesa);
    color: var(--color-blanco);
    border: none;
    padding: 10px 20px;
    margin-top: 20px;
    font: inherit;
    cursor: pointer;
}

.form-contacto a{
    text-decoration: none;
    color: var(--color-turquesa);
}

.form-contacto textarea{
    resize: none;
}

.video-padre {
    position: relative;
}

.video-hijo {
    position: absolute;
    top: 50px;
    left: 80px;

    width: 33%;
    padding: 10px;
    background-color: rgba(52, 72, 86, 0.8);
    color: var(--color-blanco);
    
}


#perfil-empresa.fondo-turquesa {
    background-color: var(--color-turquesa);
    color: #ffffff;
    padding: 30px 20px;
}

#perfil-empresa .row {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

#perfil-empresa .col {
    flex: 1;
    min-width: 300px;
}

#perfil-empresa .lista-perfil {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 14px;
    line-height: 1.2;
    color: #fff;
}

#perfil-empresa .lista-perfil li {
    margin-bottom: 5px;
    display: flex;
    align-items: center;
}

#perfil-empresa .lista-perfil i {
    margin-right: 8px;
    color: #fff;
}

#perfil-empresa .lista-perfil strong {
    color: #ffffff;
}

#perfil-empresa a {
    color: #ffffff;
    text-decoration: underline;
}

#perfil-empresa h3 {
    margin-bottom: 25px;
    gap: 10px;
    padding-bottom: 10px;
}

.btn-whatsapp {
    display: inline-block;
    background-color: #25D366;
    color: white;
    padding: 15px 25px;
    font-size: 18px;
    font-weight: bold;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    box-shadow: 0px 4px 10px rgba(0,0,0,0.2);
}

.btn-whatsapp:hover {
    background-color: #1ebe5a;
    transform: scale(1.05);
}

#contacto-formulario {
  padding: 40px 20px;
  text-align: center;
}

.contenedor-contacto {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 15px; 
}

.contenedor-contacto h2 {
  margin: 0;
  font-size: 1.5rem;
}

.contacto-img {
  max-width: 180px; 
  height: auto;
  display: block;
}

.btn-whatsapp {
  background: #25d366;
  color: white;
  padding: 12px 20px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background 0.3s ease;
}

.btn-whatsapp:hover {
  background: #1ebe5d;
}


.form-boton {
    background-color: var(--color-turquesa);
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.form-boton:hover {
    background-color: var(--color-turquesa);
    transform: scale(1.05);
}

.form-boton:disabled {
    background-color: #ccc;
    color: #666;  
    cursor: not-allowed; 
    transform: none; 
    box-shadow: none; 
}

.navbar .nav-item .nav-menu-link {
  display: inline-block;
  padding: 0.3rem 1rem; /* arriba/abajo = 0.3rem, izquierda/derecha = 1rem */
}

#idiomaDropdown {
  font-size: 1.1rem; 
  line-height: 1;
}

#idiomaDropdown::after {
  vertical-align: middle !important; 
}

@media (max-width:1200px) {
    .contenedor {
        max-width: 80%; 
    }
}

@media (max-width:1024px) {
    .alumno-hijo p{
        top: calc(50% - 3.5em);
    }

    .video-hijo{
        top: 0px;
        left: 0px;
        width: 50%;
    }
}

@media (max-width:768px) {
    .contenedor {
        max-width: 90%; 
    }
    .banner-hijo {
        width: 100%;    
        position: static;        
    }
    #docentes .col-33, #alumnos .col-33 {
        flex-basis: 50%;
        max-width: 50%;
    }

    #sec-imagenes .col-33, #alumnos .col-33 {
        flex-basis: 50%;
        max-width: 50%;
    }
    .text-graduacion {
        font-size: 2.5em;
        line-height: 1.5em;       
    }

    .espaciado{
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .video-hijo {
        position: static;
        width: 100%;        
    }

    #extension-video-streaming .col{
        flex-basis: 100%;
        max-width: 100%;
    }


    #contacto-formulario .col{
        flex-basis: 100%;
        max-width: 100%;
    }
}

@media (max-width:480px) {
    .contenedor {
        max-width: 95%; 
    }

    #barra-superior .row {
        flex-direction: column; 
        font-size: 0.7em;
        text-align: center; 
    }

    #barra-superior .bs-contactos {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin-bottom: 8px;
    }

    #barra-superior .bs-rs {
        display: flex;
        justify-content: center;
        margin-top: 5px;        
    }

    .nav-bar {
        flex-direction: column;
        align-items: center;
    }

    .nav-menu {
        display: flex;
        flex-direction: row;      
        justify-content: center;  
        flex-wrap: wrap;          
        padding: 0;
        margin: 0;
    }
    
    .nav-menu-item {
        margin-left: 5px 0;
    }
    .nav-menu-link {
        padding: 5px;
    }

    #docentes .col, #alumnos .col{
        flex-basis: 100%;
        max-width: 100%;
    }

    #sec-imagenes .col, #alumnos .col{
        flex-basis: 100%;
        max-width: 100%;
    }

    #pie .row { 
        flex-direction: column; 
        align-items: center;      
        justify-content: center;  
        text-align: center;       
    }

    #pie .bs-derechos {
        margin-bottom: 8px; 
    }

    #pie .bs-rs {
        display: flex;            
        justify-content: center;  
        width: 100%;              
    }

    #pie .bs-rs a {
        display: inline-flex;     
        justify-content: center;
        align-items: center;
    }

    .centrado{    
        font-size: 18px;
    }

}