@import url('https://fonts.googleapis.com/css2?family=Days+One&family=Raleway:ital,wght@0,300;0,400;0,600;1,900&family=Righteous&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;600&display=swap');
*  {
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    box-sizing: border-box;
}

html{
    scroll-behavior: smooth;
    
}
body{
    overflow: auto;  

}

h1{
    position: absolute;
    
}
.header{
    scroll-snap-align: start;
    display: flex;
    width: 100%;
    height: 100px;
    background-color: rgb(6, 6, 68);
    justify-content: space-around;
    align-items: top;
    z-index: -1;

}

.logo{
    width: 180px;
    position: relative;
    top: 10px;     
    z-index: 101;
    
}

.logo img{
    width: 80%;
    padding-left: 10px;
}

.contact-container{    
    width: 65%;
    margin: 20px;
    display: flex;
    justify-content: space-around;  
    align-items: flex-start;  
    flex-direction: column;     
}

.telefonos-container{
    width: 100%;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    
    
}

.telefono{
    display: inline-flex;
    box-sizing: border-box;
    min-width: 200px;
    position: relative; 
    
}

.telefono span{   
    padding-left: 10px;  
    padding-bottom: 15px;    
    color: #fff;
    font-size: 1.2em;
    font-weight: 600; 
    position: relative;
    
}

.contact-container img{
    height: 1.5em;
    position: relative;
        
}
.correo{
    width:100%;
    display:flex;    
    box-sizing: border-box;
    min-width: 200px;
    position: relative;    
    justify-content: flex-end;

}

.correo span{    
    color: #fff;
    font-size: 1.2em;
    font-weight: 600;
    position: relative;    
    padding-left: 10px;
    
}
@media (max-width: 600px) {
    .logo img{
        width: 55%;
        padding-left: 0px;
    }
    .telefono span{            
        padding-bottom: 5px; 
    }
}

.menu-bar{
    position: sticky;
    top: -40px;
    height: 50px;    
    background: rgb(9, 73, 133);
    display: flex;
    justify-content: flex-end;
    z-index: 100;
    transition: all .3s ease;
}
.menu-bar:hover{
    top: 0px;
}
.menu-list{
    width: 85%;
    height: 50px;
    display: flex;
    list-style: none;
    justify-content: space-between;
    align-items: center;

}

.menu-item{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.menu-item:nth-child(1){
    background: #ed0707;
}
.menu-item:nth-child(2){
    background: #ed6b07;
}
.menu-item:nth-child(3){
    background: #ede107;
}
.menu-item:nth-child(4){
    background: #07ed39;
}
.menu-item:nth-child(5){
    background: #b307ed;
}

.menu-item a{
    text-decoration: none;
    color: white;
    font-size: 1.2em;
    font-weight: 400;
    padding: 5px 10px;
    
}

.menu-item:hover{
    font-weight: 400;
    transform: scale(1.1);
    
}
.main-container{
    width: 100%;
    height: calc(100vh - 150px);
    overflow: hidden;    
}
.portada{
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    
}
.main{
    position: relative;
    width: 40%;
    flex-grow: 1;
    min-width: 360px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    padding: 20px;
       
}
h2{
    margin-top: 5px;
    margin-bottom: 15px;
    font-family: lobster two;
    font-size: 2em;
    font-weight: bold;
    text-align: center;
    line-height: 80%;
    
}
.main p{
    margin: 20px 20px 20px 50px;
    font-size: 1.2em;
    font-weight: bold;
    text-align: center;
}

.alumno{
    height: 19vw;
    min-height: 180px;
    position: absolute;    
}

.alumno1{    
    left: 0px;
    bottom: -30px;

}
.alumno2{
    height: 22vw;
    right: -120px;
    bottom: 0px;
    z-index: 100;
}

.slider{    
    position: relative;
    flex-grow: 1;
    width: 60%;
    height: 100%;
    overflow: hidden;    
}

.title{    
    position: absolute;
    width: 85%;
    left: 0;
    right: 0;
    top: 10px;
    margin: auto;
    z-index: 1000;
}

h1{       
    text-align: center;
    font-family: lobster two;
    color: rgb(255, 255, 255);
    text-shadow: 2px 2px 3px rgb(30, 130, 230),
                -2px -2px 3px rgb(30, 130, 230),
                3px 3px 3px rgb(30, 130, 230),
                -3px -3px 3px rgb(30, 130, 230),
                4px 4px 6px rgb(20, 90, 161),
                -4px -4px 6px rgb(20, 90, 161),
                5px 5px 6px rgb(15, 80, 144),
                5px 5px 10px rgb(15, 80, 144),
                6px 6px 20px rgb(4, 42, 79),
                -6px -6px 20px rgb(4, 42, 79);
    font-size: 3rem;
    
}

.slides{
    width: 100%;   
}

.slide{
    position: relative;
    width: 100%;
    height: 100%;
    display: none;
}

.slide img{     
    width: 100%;
    position: relative;
    top: -20%;
}

.mostrar{
    display: block;    
}

#formacion{
    scroll-snap-align: start;    
}
@media screen and (width <= 915px){
    .main p{
        margin: 10px 50px 20px 50px;
    }
    /* .alumno1{    
        left: -10px;    
    }*/
    .alumno2{
        right: -40px;        
    } 
}
@media (min-width: 600px) and (max-width: 915px) {
    .main p{
        margin: 20px 150px 20px 150px;
    }
    
}
@media (max-width: 600px) {
    .alumno{
        height: 10vw; 
        min-height: 130px;
    }/* 
     .alumno1{    
        left: -25px;    
    }*/
    .alumno2{
        right: -25px;        
    } 
    .main p{
        margin: 10px 50px 20px 50px;
    }
    h1{
        font-size: 2.5rem;

    }
}
/*Cards*/
.formacion{
    background: rgb(240, 222, 65);
    text-align: center;
    min-height: 100vh;
    
}

.formacion h2, .historia h2, .contact h2{
    text-transform: uppercase;
    padding-top: 50px;
    padding-bottom: 20px;
    text-align: center;
    font-size: 3em;    
    color: rgb(22, 4, 73);
    /* text-shadow: 0 0 6px gray, 0 0 6px gray, 0 0 6px gray, 0 0 6px gray; */
    
}

.formacion-cont{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    background: rgb(240, 222, 65);
    flex-wrap: wrap;
}

.card{
    display: grid;
    grid-template-columns: 300px;
    grid-template-rows: 210px 230px 60px;
    grid-template-areas: "image" "text" "stats";

    border-radius: 18px;
    background: white;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.9);
    text-align: center;
    margin: 19px;
    
}

.card-img{   
    grid-area: image;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    overflow: hidden; 
    position: relative;
        
}

.card-img img{    
    position: absolute;
    top:-50%;
    left:-0;    
}

.card-img .ingles{    
    width: 100%;
    top:0;
    left:0;   
}


.card-text{
    grid-area: text;
    margin: 15px;
}
.card-text .clase{
    margin: 0;
    padding: 0;
}

.card-text h2{
    padding: 7px;
    margin-top: 0;
    font-size: 22px;
    line-height: 25px;
}

.card-text .frase{
    padding-top: 0px;
    color: rgb(73, 73, 73);
    font-size: 14px;
    font: weight 300;
}
.card-text .descripcion{
    padding-top: 7px;
    color: rgb(73, 73, 73);
    font-size: 17px;
    font: weight 300;
}

.card-text .autor{
    color: rgb(143, 142, 142);
    font-size: 10px;
    font: weight 300;
}

.card-stats{
    grid-area: stats;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    background: rgb(214, 166, 7);
} 
.card .blue{
    background: rgb(35, 3, 124);
}
.card .red{
    background: rgb(148, 8, 15);
}

.card .orange{
    background: rgb(238, 105, 34);
}

.card .lightBlue{
    background: rgb(2, 173, 196);
}

.card .purple{
    background: rgb(223, 89, 235);
}

.card-stats .stat{
    display:flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 10px;
    color: white;

}

.card-stats .type{
    font-size: 11px;
    font-weight: 300;
    text-transform: uppercase;
}

.card-stats .value{
    font-size: 22px;
    font-weight: 500;
}

.admision{
    
    background: rgb(52, 128, 243);
    width: 100%;
    min-height: 100vh;
    
    

}

.admision-cont{
    display: flex;
    width: 100%;       
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}
.requisitos, .costos{
    width: 46%;
    background: white;
    border-radius: 15px;
    margin: 20px;
    padding: 20px;
}

.costos{
    margin-left: 0;
}

.admision-cont h2{
    background: linear-gradient(135deg, rgb(52, 128, 243) 50%, transparent);
    padding: 10px;
    color: white;
}


.admision-cont ul{
    padding-top: 10px;
}
.admision-cont ul li{
    padding: 5px;
    font-size: 14px;
    font-weight: 400;
    
}
.admision-cont ul li span{
    font-weight: 600;
    font-size: 15px;
    
}

.admision-cont ul li a{
    font-weight: 600;
    font-size: 15px;
    margin-left: 10px;
}

.costos-item{
    display: flex;
    justify-content: space-between;
    margin: 0;
    width: 100%;
    font-size: 24px;
    padding-top: 20px;
    font-weight: 600;
    
}
.costos-item span{
    font-size: 20px;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
}
.anuales{
    padding-left: 30px;
    padding-top: 0px;
    font-size: 22px;
    font-weight: 300;
}
.histotia{
    width: 100%;
    
}

.historia h2{
    padding-top: 40px;
    color: #9332AA;

}
.historia-cont{
    width: 100%;
    height: 100%;
    min-height:calc(100vh - 100px);
    display: flex;
    justify-content: center;
    

}

.historia-grid{   
    width: 80%;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 10px; 
    justify-content: end;

    background-image: url("../images/flecha.svg");
    background-position: center;
    background-repeat: no-repeat; 
    background-size: 100%; 

}

.historia-item{
    display: grid;
    grid-template-rows: 3fr 1fr 3fr;
    
} 

.historia-item h3{
    place-self: center;
    font-size: 25px;
    color: white;
}

.historia-img{    
    display: flex;
    justify-content: center;
    width: 100%;
    height: 150px;    
    overflow: hidden;
    border-radius: 10px;
    

}
.historia-img img{    
    object-fit: scale-down;
    border-radius: 10px;

}

.historia-descripcion{
        
    box-sizing: border-box;
}
.historia-descripcion h3{
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}
.historia-descripcion .pink{
    color:#9332AA;
}
.historia-descripcion .purple{
    color:#652ea3;
}
.historia-descripcion .blue{
    color:#006caf;
}
.historia-descripcion .green{
    color:#2b9089;
}
.historia-descripcion p{
    margin-top: 20px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    color: #555;
}





.contact{
    min-height: 100vh;   
    background: #2b9089;
}

.contact h2{    
    width: 100%;
    color:white;
    margin: 0;
    padding: 10px;
    padding-top: 20px;
}

.contact-cont{
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}
.contact-form{
    width: 45%;
    height: 400px;
    overflow: hidden;
    border-radius: 18px;
    background: white;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-direction: column;

}
.contact-form h2{
    width: 100%;
    height: 15%;
    color:#2b9089;
    font-size: 25px;
}

#form{
    width: 100%;
}

.form{
    width: 80%;    
    height: 80%;   
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-direction: column; 
    
}

.form-item{
    width: 90%;
    height: 50px;
    position: relative; 
    overflow: hidden;
}

.textarea{
    height: 80px;
}

.form-item input, .form-item textarea{
    width: 100%;  
    height: 100%;  
    color: #595f6e;
    border: none;
    padding-top: 20px;
    outline:none;
    
}

.form-item textarea{
    padding-top: 10px;
    height: 70%;
    margin-top: 20px;
}

.form-item label{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    pointer-events: none;
    border-bottom: 1px solid black;
}

.form-item label::after{
    content:"";
    position: absolute;
    height: 100%;
    width: 100%;
    border-bottom: 3px solid #2b9089;
    left: 0;
    bottom: -1px;
    transform: translate(-100%);
    transition: transform 0.35s ease;
}

.form-item span{
    position:absolute;
    bottom: 5px;
    left: 0;
    transition: all 0.3s ease;
}

.form .coment-enviar{
    margin-top: 20px;
    width: 90%;
    color: white;
    background: #2b9089;
    padding: 5px 20px;
    border-radius: 5px;
    font-size: 1.2em;
}

.form-item input:focus + .label-name .contact-name,
.form-item input:not(:placeholder-shown) + .label-name .contact-name
{
    transform: translatey(-150%);
    font-size: 14px;
    color: #2b9089;
}

.form-item input:focus + .label-name::after{
    transform: translate(0%);
    
}

.form-item input:not(:placeholder-shown) + .label-name::after{
}

.form-item input:focus + .label-email .contact-email,
.form-item input:not(:placeholder-shown) + .label-email .contact-email
{
    transform: translatey(-150%);
    font-size: 14px;
    color: #2b9089;
}

.form-item input:focus + .label-email::after{
    transform: translate(0%);    
}
.form-item input:focus + .label-tel .contact-tel,
.form-item input:not(:placeholder-shown) + .label-tel .contact-tel
{
    transform: translatey(-150%);
    font-size: 14px;
    color: #2b9089;
}

.form-item input:focus + .label-tel::after{
    transform: translate(0%);    
}
.form-item textarea:focus + .label-coment .contact-coment,
.form-item textarea:not(:placeholder-shown) + .label-coment .contact-coment
{
    transform: translatey(-300%);
    font-size: 14px;
    color: #2b9089;
}

.form-item textarea:focus + .label-coment::after{
    transform: translate(0%);    
}

.contact-mapa{
    width: 45%;
    overflow: hidden;
    border-radius: 18px;
}
#respuesta{
    width: 100%;
}
.alerta{
    margin-top: 10px;
    width: 100%;
    background: red;
    color: white;
    padding: 20px;
    text-align: center;

}
.mensaje_enviado{
    padding: 20px;
    margin-top: 10px;
    width: 100%;
    background: green;
    color: white;
    text-align: center;

}



@media only screen and (max-width: 950px) {
    .bienvenida img{
        position: absolute;
        width: 30%;        
    }
    .menu-list{
        width: 85%;        
        display: flex;        
        justify-content: space-around;
    }

    .menu-item a{
        font-size: 1em;
    }

    .slide h1{
        margin-top: 20px;
        text-align: center;
        font-size: 3em;
    }
    .slide h2{
        margin-top: 20px;
        text-align: center;
        font-size: 2em;
    }
    
    .slide p{
        text-align: center;
        font-size: 1.5em;
        font-weight: 400;
        padding: 20px 20px 20px 40px;
        width: 90%;
        
    }
    .requisitos, .costos{
        width: 100%;
    }
    
    .costos{
        margin-top: 0;
        margin-left: 20px;
    }
    
    .historia-grid{         
        width: 95%;    
        grid-template-columns: 1fr 1fr 20%;
        gap: 10px; 
        background-image: url("../images/flecha2.svg");
        background-size: 530px; 
        background-position: 50% 57%; 
        justify-items: center;          
    
    

    }
    .historia-item{  
        width: 200px;       

    }
    .historia-uno{
        
        justify-self: end;
    }
    .historia-tres{
        padding-top: 17px;
        grid-row-start: 2;
        grid-column-start: 2;
        justify-self: center;
    }
    .historia-cuatro{
        
        padding-top: 17px;
        grid-row-start: 2;
        justify-self: end;
        
    }


    .contact-form, .contact-mapa{
        width: 100%;
        margin: 20px;
    }

    .contact h2{
        
        font-size: 2em;
    }
}

@media only screen and (max-width: 600px) {
    .telefonos-container{
        margin-top: 20px;
    }

    .logo{
        left: 10%;
        min-width: 30%;
        
    }
    .bienvenida img{
        display: none;
        
    }
    .correo span{ 
        font-size: 1em;
    }

    .correo img{
        height: 1em;
    }

    .menu-list{
        width: 100%;        
        justify-content: space-around;
    }

    .menu-item a{
        font-size: 1em;
    }

    .slide h1{
        margin-top: 30px;
        
    }
    .slide h2{
        margin-top: 30px;
        
    }


    .formacion h2{
        
        font-size: 2em;
    }

    .historia-grid{         
        width: 400px;    
        display: flex;  
        flex-wrap: wrap;   
        
        background-image: url("../images/flecha3.svg");
        background-size: 90%;  
        background-position:20px 155px ;       
        justify-content: center;      

    }
    .historia-item{  
        width: 250px;       

    }
    .historia-uno .historia-img{
             
    }
    .historia-dos .historia-img{
              
    }

    .historia-tres{
        padding: 0;
        
    }
    .historia-cuatro{       
        padding: 0;
    }
}

@media only screen and (max-width: 420px) {
    .historia-uno h3{
        padding-top: 15px;
    }
    .historia-dos h3{
        padding-top: 7px;
    }
    .historia-tres h3{
        padding-top: 7px;
    }
    .historia-cuatro h3{
        padding-top: 15px;
    }
    .historia-img{    
        
        width: 95%;
        height: 130px;    
        
        
    
    }
    @media only screen and (max-width: 376px) {
        .historia-uno {
            margin-top: 22px;
        }
        .historia-uno h3{
            padding-top: 0px;
        }

        .historia-dos{
            margin-top: 27px;
        }
        .historia-dos h3{
            padding-top: 0px;
        }

        .historia-tres{
            margin-top: 27px;
        }

        .historia-tres h3{
            padding-top: 0px;
        }

        .historia-cuatro {
            margin-top: 32px;
        }
        .historia-cuatro h3{
            padding-top: 0px;
        }
        .historia-img{    
            
            width: 95%;
            height: 130px;    
            
            
        
        }
    }
}