@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Pinyon+Script&display=swap');/***********************************
 * PALETA DE COLORES Y TIPOGRAFIAS *
 **********************************/
:root{
    --dm-sans: "DM Sans", sans-serif;
    --pinyon-script: "Pinyon Script", cursive;;
    --crema: #efe8d8;
    --verde: #c5dbaa;
    --amarillo: #f9d793;
    --rojo: #aa1f1b;
    --rosa: #f5c8c3;
}

/*********************
 * ESTILOS GENERALES *
 ********************/
.tope{
    width: 100%;
    height: 55px;
}
*{
    box-sizing: border-box;
    position: relative;
    margin: 0px;
}
body{
    margin: 0 auto;
    font-weight: 400;
    background-color: #FFF;
    font-family: var(--dm-sans);
    -webkit-font-smoothing:antialiased;
}
section{
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 5vw;
    padding-left: 7%;
    padding-right: 7%;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
/*section > *{
    padding-left: 2%;
    padding-right: 2%;
}*/
h1{
    font-size: 1.2vw;
    font-weight: 700;
    line-height: .9;
    text-align: center;
    font-family: var(--sans);
    width: 100%;
    padding-top: 2vw;
    padding-bottom: 2vw;
}
h2{
    font-size: 2.2vw;
    font-weight: 400;
    line-height: 1;
}
p{
    font-size: .95vw;
    font-weight: 500;
    line-height: 1.2;
}
h3{
    font-size: 1.5vw;
    font-weight: 500;
}
a{
    text-decoration: none;
    color: inherit;
}

/*********************
 *      HEADER       *
 ********************/
header{
    position: fixed;
    top: 0px;
    width: 100%;
    height: 55px;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    justify-content: space-between;
    background-color: var(--crema);
}
header > a{
    font-size: 14px;
    padding-left: 40px;
    /*padding-right: 4%;*/
    height: 100%;
    line-height: 55px;
    animation-name: close-link;
    animation-duration: .3s;
    animation-fill-mode: forwards;
    text-align: center;
    width: 200px;
}
header > div{
    flex-direction: row;
    display: flex;
    width: 150px;
}
header > div > a {
    font-size: 20px;
    padding-left: 4%;
    padding-right: 4%;
    height: 100%;
    line-height: 55px;
    animation-name: close-link;
    animation-duration: .3s;
    animation-fill-mode: forwards;
    text-align: center;
}
header > div > a:nth-child(2){
    font-size: 40px;
    margin-left: 20px;
}
/*********************
 *    BOTON MENU     *
 ********************/
input[type="checkbox"], .logo-movil{
    display:none;
}
label{
    display: flex;
    flex-direction: column;
    width: 45px;
    cursor: pointer;
    right: 5%;
    /*position:fixed;*/
    z-index: 11;
    top: 0vw;
    right: 1%;
    box-sizing: content-box;
    padding: 10px;
    position: fixed;
    display: none
}
label span{
    background: #FFF;
    height:3px;
    margin: 3px 0;
    transition: .4s  cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
label span:nth-of-type(1){
    width:50%;
}
label span:nth-of-type(2){
    width:100%;
}
label span:nth-of-type(3){
    width:75%;
}    
input[type="checkbox"]:checked ~ span:nth-of-type(1){
    transform-origin:bottom;
    transform:rotatez(45deg) translate(3px,0px)
}
input[type="checkbox"]:checked ~ span:nth-of-type(2){
    transform-origin:top;
    transform:rotatez(-45deg)
}
input[type="checkbox"]:checked ~ span:nth-of-type(3){ 
    transform-origin:bottom;
    width:50%;
    transform: translate(30px,-11px) rotatez(45deg);
    transform: translate(15px, -4px) rotatez(45deg);
}
.abierto{
    background-color: var(--verde);
}


/*********************
 *        MENU       *
 *********************/
nav{
	position: relative;
	top: 0px;
	width: calc(100% - 350px);
    height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
    /*display: none;*/
}
nav a{
	font-size: 14px;
    padding-left: 4%;
    padding-right: 4%;
    font-size: 14px;
    height: 100%;
    line-height: 55px;
    animation-name: close-link;
    animation-duration: .3s;
    animation-fill-mode: forwards;
    text-align: center;
}
nav a:hover{
    animation-name: open-link;
}
@keyframes open-link{
    from{letter-spacing: 0vw; font-weight: 300}
    to{letter-spacing: .2vw; font-weight: 700}
}
@keyframes close-link{
    from{letter-spacing: .2vw; font-weight: 700}
    to{letter-spacing: 0vw; font-weight: 300}
}

/*********************
 *      INICIO       *
 ********************/
.inicio{
    height: 47vw;
    background-image: url(images/KV_1.png);
    background-position: center center;
    background-size: cover;
    flex-direction: row;
}
.inicio > h1{
    font-family: var(--pinyon-script);
    color: var(--crema);
    font-weight: 400;
    font-size: 6vw;
    width: 50%;
    text-align: center;
    padding-top: 4vw;
}
.inicio > h2{
    color: var(--crema);
    font-size: 4vw;
    font-weight: 700;
    width: 50%;
    text-align: center;
    padding-top: 4vw;
}

/*********************
 *   ACERCA DE MI    *
 ********************/
.acerca-de-mi{
    padding-left: 0px;
    padding-right: 0px;
    flex-direction: row;
    flex-wrap: wrap;
    overflow: hidden;
    z-index: 2;
}
.fa-asterisk{
    font-size: 3vw;
}
.acerca-de-mi > h1{
    font-size: 5vw;
    font-weight: 700;
    /*width: 200%;*/
}
.acerca-de-mi > h1 > span:nth-child(1){
    color: var(--verde);
}
.acerca-de-mi > h1 > span:nth-child(3){
    color: var(--amarillo);
}
.acerca-de-mi > h1 > span:nth-child(5){
    color: var(--rojo);
}
.acerca-de-mi > article{
    width: 23%;
}
.acerca-de-mi > article > h2{
    font-size: 1.5vw;
    line-height: 1.2;
}
.acerca-de-mi > article > p{
    text-align: justify;
    padding-top: 1.5vw;
}
.acerca-de-mi > aside{
    width: 36%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 2vw;
    margin-top: -4vw;
}
.acerca-de-mi > aside > div > div > img{
    width: 100%;
    height: auto;
    position: absolute;
    bottom: 0px;
}
.acerca-de-mi > aside *{
    overflow: visible;
    height: 45vw;
}
.acerca-de-mi > aside > div{
    width: 85%;
    border-radius: 2vw;
    height: 43vw;
    background-color: var(--verde);
    /*transform: rotate(5deg);*/
}
.acerca-de-mi > aside > div > div{
    display: flex;
    align-items: flex-end;
    width: 100%;
    border-radius: 2vw;
    height: 100%;
    transform: rotate(-10deg);
    background: #8D8C93;
    background: radial-gradient(circle, rgba(141, 140, 147, 1) 0%, rgba(97, 103, 110, 1) 76%);
}
.acerca-de-mi > aside > div > div > div{
    background-color: var(--amarillo);
    height: 4.5vw;
    width: 75%;
    border-radius: 4vw;
    text-align: center;
    line-height: 4.6vw;
    font-size: 1.6vw;
    font-weight: 500;
    margin-left: 9%;
    top: 2vw;
}

/*********************
 *      CURSOS       *
 ********************/
.cursos{
    padding: 20vw;
    margin-top: -15vw;
    padding-left: 0px;
    padding-right: 0px;
    /*background-image: url(images/KV_CURSOS.png);*/
    background-position: center center;
    background-size: cover;
    flex-direction: row;
    flex-wrap: wrap;
    background: #93B075;
    background: radial-gradient(ellipse 51% 51% at 50% 50%, rgba(147, 176, 117, 1) 0%, rgba(255, 255, 255, 1) 100%);
}
.cursos > h1{
    font-size: 7vw;
    line-height: .8;
    padding-bottom: 5vw;
}
.cursos > h1 > span{
    font-size: 3vw;
    font-weight: 400;
}
.cursos > a{
    width: 28%;
    margin: .5vw;
    height: 26vw;
    background-color: #FFF;
    border-radius: 3vw;
    padding: 3vw;
    border:solid 1px var(--crema);
    box-shadow: 1px 1px 5px 1px rgba(0,0,0,0.29);
    -webkit-box-shadow: 1px 1px 5px 1px rgba(0,0,0,0.29);
    -moz-box-shadow: 1px 1px 5px 1px rgba(0,0,0,0.29);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
}
.cursos > a > h5{
    font-size: 2.5vw;
    width: 30%;
    text-align: right;
}
.cursos > a:nth-child(2) > h5{
    color: var(--amarillo);
}
.cursos > a:nth-child(3) > h5{
    color: var(--verde);
}
.cursos > a:nth-child(4) > h5{
    color: var(--rosa);
}
.cursos > a > div{
    width: 70%;
}
.cursos > a > div > h2{
    font-size: 3.2vw;
    padding-bottom: 1vw;
}
.cursos > a > p > span{
    font-style: italic;
}
.cursos > a > h4{
    position: absolute;
    bottom: 1vw;
    right: 3vw;
    text-align: right;
    font-weight: 500;
    font-size: 2.2vw;
    display: flex;
    align-items: center;
}
.cursos > a > h4 > span{
    font-weight: 400;
    font-size: 1vw;
    padding-right: .3vw;
}
.cursos > a > p{
    width: 100%;
}
.cursos > a > h6{
    width: 35%;
    position: absolute;
    bottom: 1.3vw;
    background-color: #ccc;
    height: 2vw;
    border-radius: 2vw;
    text-align: center;
    line-height: 1.9vw;
    font-weight: 400;
    font-size: 1vw;
}

/*********************
 *     CONTACTO      *
 ********************/
.contacto{
    margin-top: -15vw;
    padding-top: 10vw;
    padding-bottom: 10vw;
}
.contacto > h2{
    font-size: 1.6vw;
    letter-spacing: .4vw;
}
.contacto > h1{
    font-size: 4vw;
    font-weight: 700;
}
.contacto > form{
    width: 35%;
    display: flex;
    flex-wrap: wrap;
}
.contacto > form > input{
    border-radius: 2vw;
    width: 49%;
    line-height: 3;
    padding-right: 5%;
    padding-left: 5%;
    font-family: var(--dm-sans);
    font-weight: 500;
    border: solid 1px #000;
    margin-bottom: 1vw;
    font-size: 1vw;
}
.contacto > form > input[type=tel]{
    margin-left: 2%;
}
.contacto > form > input[type=email]{
    width: 100%;
}
.contacto > form > input[type=submit]{
    width: 25%;
    padding: 0px;
    background-color: #000;
    color: #FFF;
    font-weight: 600;
    text-transform: uppercase;
}
.contacto > form > textarea{
    width: 100%;
    border: solid 1px #000;
    border-radius: 1.5vw;
    font-family: var(--dm-sans);
    font-weight: 500;
    padding-left: 5%;
    padding-right: 5%;
    margin-bottom: 1vw;
    font-size: 1vw;
    padding-top: 1vw;
}

/*********************
 *      FOOTER       *
 ********************/
footer{
    padding-left: 7%;
    padding-right: 7%;
    height: 130px;
    background-color: #000;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
footer > a{
    color: #fff;
    font-size: 1vw;
    font-weight: 600;
}
footer > div{
    width: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}
footer > div > a{
    font-size: 1.6vw;
    margin: .5vw;
    color: #FFF;
}

/*********************
 *      CURSOS       *
 ********************/
.cabecera{
    padding-top: 3vw;
}
.cabecera > h1{
    background-color: var(--crema);
    font-size: 4.5vw;
    border-radius: 10vw;
    line-height: 1.8;
}
.cabecera > div{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 4vw;
    width: 100%;
    justify-content: flex-start;
}
.cabecera > div > a{
    font-size: 1.4vw;
    border:solid 1px;
    padding-top: .8vw;
    padding-bottom: .8vw;
    padding-left: 1.5vw;
    padding-right: 1.5VW;
    display: inline-flex;
    border-radius: 3vw;
    margin: 5px;
}
.cabecera > div > a:nth-child(1){
    border-color: var(--verde);
}
.cabecera > div > a:nth-child(2){
    border-color: var(--rojo);
}

.cabecera > div > a:nth-child(3){
    border-color: var(--rosa);
}
.cabecera > div > a:nth-child(4){
    border-color: var(--amarillo);
}
.cabecera > div > a:nth-child(1).activo{
    background-color: var(--verde);
}
.cabecera > div > a:nth-child(2).activo{
    background-color: var(--rojo);
}
.cabecera > div > a:nth-child(3).activo{
    background-color: var(--rosa);
}
.cabecera > div > a:nth-child(4).activo{
    background-color: var(--amarillo);
}
.cabecera > div > a:nth-child(1):hover{
    background-color: var(--verde);
}
.cabecera > div > a:nth-child(2):hover{
    background-color: var(--rojo);
}
.cabecera > div > a:nth-child(3):hover{
    background-color: var(--rosa);
}
.cabecera > div > a:nth-child(4):hover{
    background-color: var(--amarillo);
}

/*********************
 *    INTRODUCCION   *
 ********************/
.introduccion{
    flex-direction: row;
    padding-left: 5%;
    padding-right: 5%;
    flex-wrap: wrap;
}
.introduccion > div{
    width: 45%;
    height: 33vw;
    background-position: center center;
    background-size: cover;
    border-radius: 3vw;
}
.introduccion > div > p{
    position: absolute;
    width: 7vw;
    height: 7vw;
    background-color: var(--verde);
    border-radius: 5vw;
    text-align: center;
    line-height: 7.2vw;
    font-size: 3vw;
    cursor: pointer;
    color: #FFF;
    bottom: -3.5vw;
    right: 0vw;
}
.introduccion > div > p:hover{
    background-color: var(--rosa);
}
.introduccion > article{
    width: 54%;
    padding-left: 4%;
    padding-right: 4%;
}
.introduccion > article > h1{
    font-size: 3vw;
    text-align: left;
}
.introduccion > article > h2{
    font-size: 1.5vw;
    font-weight: 600;
    padding-bottom: 2vw;
}
.introduccion > article > p{
    font-size: 1.4vw;
    font-weight: 500;
}
.introduccion > video{
    width: 70%;
    margin-top: 7vw;
}


/*********************
 *       CURSO       *
 ********************/
.curso > h1{
    font-size: 3vw;
    text-align: left;
}
.curso > p{
    font-size: 1.4vw;
    font-weight: 500;
    text-align: left;
    width: 100%;
}
.curso > ul{
    width: 100%;
    font-size: 1.3vw;
    font-weight: 500;
    padding: 0px;
    padding-top: 1vw;
    padding-bottom: 1vw;
    list-style: none;
}
.curso > ul > li{
    line-height: 1;
}
.curso > ul > li:before {
    content:"·";
    font-size:60px;
    vertical-align:middle;
    line-height: 1.5vw;
    color: var(--verde);
}

/*********************
 *     CONTENIDO     *
 ********************/
.contenido{

    padding-top: 0px;
    padding-bottom: 0px;
}
.contenido > h1{
    font-size: 3vw;
    text-align: left;
}
.contenido > ul{
    width: 100%;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 0px;
}
.contenido > ul > li{
    background-color: var(--crema);
    font-weight: 700;
    font-size: 1.2vw;
    width: 43%;
    line-height: 2.7;
    margin-bottom: .5vw;
    margin-left: 1vw;
    margin-right: 1vw;
    border-radius: 2vw;
    padding-left: 3%;
}

@media (max-width: 480px){
    label{
        display: inline-flex;
        left: 2%;
    }
    label span{
        background-color: #000;
    }
    h2{

    }
    h3{
        font-size: 4vw;
    }
    p{
        font-size: 3.5vw;
        font-weight: 300;
    }
    .tope{
        /*height: 0px;*/
    }
    nav{
        position: fixed;
        top: 55px;
        left: 0px;
        width: 100%;
        background-color: var(--rosa);
        flex-direction: column;
        display: none;
    }
    nav a{
        height: initial;
        font-size: 5vw;
    }
    header > div{
        width: 120px;
    }
    header > div > a:nth-child(2){
        font-size: 30px;
    }
    .inicio{
        height: 120vw;
    }
    .inicio > h2 > span{
        display: none;
    }
    .inicio > h1, .inicio > h2 {
        font-size: 9vw;
    }
    .acerca-de-mi{
        padding-left: 10%;
        padding-right: 10%;
        padding-bottom: 15vw;
        padding-top: 15vw;
    }
    .acerca-de-mi > h1{
        font-size: 8vw;
        margin-bottom: 3vw;
    }
    .acerca-de-mi > article{
        width: 100%;
    }
    .acerca-de-mi > aside{
        width: 100%;
        margin-top: 10vw;
    }
    .acerca-de-mi > article > h2{
        font-size: 5vw;
        padding-bottom: 2vw;
    }
    .acerca-de-mi > aside > div{
        width: 85%;
        height: 92vw;
    }
    .acerca-de-mi > aside > div > div > img{
        width: 90%;
        left: 5%;
    }
    .acerca-de-mi > aside > div > div > div{
        height: 9vw;
        line-height: 9.2vw;
        font-size: 3.5vw;
    }
    .cursos{
        padding-left: 10%;
        padding-right: 10%;
    }
    .cursos > h1{
        font-size: 12vw;
    }
    .cursos > a{
        width: 100%;
        height: auto;
        padding: 6vw;
        padding-bottom: 12vw;
        margin-bottom: 3vw;
    }
    .cursos > h1 > span{
        font-size: 6v;
    }
    .cursos > a > div > h2{
        font-size: 9vw;
        padding-bottom: 4vw;
    }
    .cursos > a > h5{
        font-size: 7vw;
    }
    .cursos > a > h4 > span{
        font-size: 4vw;
    }
    .cursos > a > p{
        padding-bottom: 3vw;
    }
    .cursos > a > h4{
        font-size: 6vw;
        bottom: 3vw;
    }
    .cursos > a > h6{
        font-size: 3.5vw;
        height: auto;
        line-height: 1;
        padding: 1.5vw;
        border-radius: 3vw;
        bottom: 4vw;
    }
    .contacto{
        padding-top: 15vw;
        padding-bottom: 15vw;
    }
    .contacto > h2{
        font-size: 4vw;
    }
    .contacto > h1{
        font-size: 9vw;
    }
    .contacto > form{
        width: 80%;
        margin-top: 3vw;
    }
    .contacto > form > input{
        line-height: 2.5;
    }
    .contacto > form > input, .contacto > form > textarea{
        width: 100%;
        font-size: 3.5vw;
        margin-bottom: 3vw;
    }
    .contacto > form > input[type=tel]{
        margin-left: 0px;
    }
    footer > a{
        font-size: 4vw;
    }
    footer > div > a {
        font-size: 5vw;
        margin: 2vw;
    }
    .cabecera > h1{
        font-size: 8vw;
    }
    .cabecera > div{
        flex-wrap: wrap;
    }
    .cabecera > div > a{
        font-size: 4vw;
        text-align: center;
        width: 46%;
        border-radius: 6vw;
        display: flex;
        justify-content: center;
    }
    .introduccion{
        flex-direction: column;
        padding-left: 10%;
        padding-right: 10%;
    }
    .introduccion > div{
        width: 100%;
        height: 100vw;
    }
    .introduccion > div > p {
        width: 14vw;
        height: 14vw;
        border-radius: 9vw;
        line-height: 14.4vw;
        font-size: 6vw;
        bottom: -7vw;
    }
    .introduccion > article {
        width: 100%;
        padding-left: 0px;
        padding-right: 0px;
    }
    .introduccion > article > h1 {
        font-size: 6vw;
        text-align: left;
        padding-top: 5vw;
        padding-bottom: 3vw;
    }
    .introduccion > article > h2{
        font-size: 4vw;
    }
    .introduccion > article > p{
        font-size: 3.5vw;
        font-weight: 400;
    }
    .introduccion > video {
        width: 100%;
        margin-top: 5vw;
    }
    .curso{
        padding-left: 10%;
        padding-right: 10%;
    }
    .curso > h1{
        font-size: 6vw;
    }
    .curso > p{
        font-size: 3.5vw;
    }
    .curso > ul{
        font-size: 3.5vw;
        padding-top: 3vw;
        padding-bottom: 3vw;
    }
    .curso > ul > li{
        margin-bottom: 2vw;
    }
    .contenido{
        padding-left: 10%;
        padding-right: 10%;
    }
    .contenido > h1{
        font-size: 6vw;
    }
    .contenido > ul > li {
        font-size: 3.5vw;
        width: 100%;
        line-height: 2.7;
        margin-bottom: 1vw;
        margin-left: 0px;
        margin-right: 0px;
        border-radius: 8vw;
        padding-left: 0px;
        text-align: center;
    }

}



