:root {
    --fuenteheading: 'PT Sans', sans-serif;
    --fuenteparrafos: 'Open Sans', sans-serif;
    --primario: #784D3C;
    --blanco: #FFFFFF;
    --negro: #000000;
}

.html {
    box-sizing: border-box;
    font-size: 62.5%;
    width: 100%;
    height: 100%;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

.body {
    font-family: var(--fuenteparrafos);
    line-height: 2;
}

* {
    margin: 0;
    padding: 0;
}


/*globales*/

.contenedor {
    max-width: 120rem;
    width: 90%;
    margin: 0 auto;
    height: 100%;
}

a {
    text-decoration: none;
}

h1,
h2,
h3,
h4 {
    font-family: var(--fuenteheading);
}

img {
    max-width: 100%;
}


/*utilidades*/

.no-margin {
    margin: 0;
}

.no-padding {
    padding: 0;
}

.centrar-texto {
    text-align: center;
}


/*header*/

.header {
    background-image: url(./img/banner.jpg);
    background-size: cover;
    background-position: center center;
    /*this value helps you position the image once the screen size has been reduced. */
    height: 20rem;
    margin: 0;
}

.header__texto {
    text-align: center;
    color: var(--blanco);
    margin-top: 5rem;
    margin-left: auto;
    margin-right: auto;
    font-family: var(--fuenteparrafos);
}

.navegador {
    display: flex;
    flex-flow: row wrap;
    color: var(--blanco);
    font-family: var(--fuenteheading);
    column-gap: 1rem;
    row-gap: 1rem;
    padding-top: 2rem;
    justify-content: space-around;
}

.logo {
    font-size: 20pt;
    text-decoration: none;
    color: var(--blanco);
}

.menu {
    display: inherit;
    align-items: center;
    column-gap: 2rem;
    font-size: 10pt;
    text-decoration: none;
}

@media(max-width:500px) {
    .menu {
        display: flex;
        flex-flow: column wrap;
        width: 90%;
    }
    .header__texto {
        margin-left: 2rem;
        margin-right: 2rem;
        margin-top: 3rem;
    }
    .menu a {
        padding: .2rem;
    }
    .header__texto__h2 {
        font-size: 18pt;
    }
    .header__texto__p {
        font-size: 10pt;
    }
}

.menu a {
    color: var(--blanco);
}

.negrita {
    font-weight: bolder;
}


/*principal*/

.principal {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    max-width: 80%;
    margin: 1rem auto;
    column-gap: 3rem;
    row-gap: 0.3rem;
}

@media(max-width:800px) {
    .principal {
        max-width: 95%;
        column-gap: 1rem;
        padding: none;
    }
}

@media(max-width:450px) {
    .principal {
        display: grid;
        grid-template-columns: 1fr;
    }
}

@media(min-width:1300px) {
    .principal {
        margin: 1rem 30rem;
        row-gap: 0.3px;
    }
}

.cont1 {
    grid-column: 1/2;
}

.cont2 {
    grid-row: 2/3;
}

.cont3 {
    grid-row: 3/4;
}

.linea-divisora {
    border-top: 1px lightgrey solid;
    padding-bottom: 0.5rem;
}

.divisor {
    border-top: 1px lightgrey solid;
    margin-top: 1.5rem;
}

.principal__cursos-talleres {
    display: grid;
    grid-template-rows: 1fr;
    line-height: 2rem;
    padding-bottom: 8rem;
}

.principal__cursos-talleres--button {
    background-color: var(--primario);
    text-transform: uppercase;
    font-family: var(--fuenteheading);
    align-content: center;
    padding: 0.5rem;
    text-align: center;
}

.principal__cursos-talleres--button a {
    text-decoration: none;
    color: var(--blanco);
}

.principal__contenido p {
    padding-bottom: 1.5rem;
}

.principal__contenido a {
    background-color: var(--negro);
    padding: 1rem;
    text-decoration: none;
    color: var(--blanco);
}


/*FORMULARIO*/

.formulario-titulo {
    text-align: center;
    padding: 2rem;
    font-family: var(--fuenteheading);
    font-size: 1.3rem;
}

.formulario-imagen {
    width: 70%;
    margin: 0 auto;
    z-index: -1;
}

.formulario {
    display: grid;
    font-family: var(--fuenteheading);
    grid-template-columns: 3rem 3fr;
    background-color: var(--blanco);
    width: 60%;
    margin: -3rem auto;
    position: relative;
    padding: 1.5rem;
    gap: 1rem;
}

label,
input,
textarea {
    font-family: var(--fuenteparrafos);
    font-size: 0.9rem;
    color: grey;
    font-weight: lighter;
    margin: .1rem;
    height: 1.5rem;
    padding-left: .3rem;
}

label {
    display: grid;
    justify-content: flex-end;
}

textarea {
    resize: none;
    height: 10rem;
}

.button {
    background-color: var(--negro);
    color: var(--blanco);
    border: none;
    height: 1.8rem;
    cursor: pointer;
    width: 6rem;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 0.7rem;
    margin-left: 25%;
}

@media(min-width:1280px) {
    .formulario-imagen {
        margin: 0 auto;
    }
}

@media(max-width:450px) {
    .formulario-imagen {
        width: 100%;
    }
    .formulario {
        width: 70%;
    }
    .button {
        margin: 0 auto;
    }
}

@media(min-width:1800px) {
    .formulario {
        justify-content: center;
        width: 55%;
    }
    .formulario-imagen {
        display: flex;
        justify-content: center;
    }
}


/*Courses*/

.courses-container {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-template-rows: repeat(3 1fr);
    justify-content: left;
    align-items: flex-start;
    text-align: justify;
    gap: 2rem;
    margin: 2rem auto;
    width: 70%;
    font-family: var(--fuenteparrafos);
    font-weight: lighter;
    font-size: 0.8rem;
    line-height: 1.5rem;
}

@media(max-width: 450px) {
    .courses-container {
        display: flex;
        flex-flow: column;
        width: 95%;
    }
    .image {
        margin: 2rem auto;
    }
    .img1 {
        order: 1;
    }
    .img2 {
        order: 3;
    }
    .img3 {
        order: 5;
    }
    .courses-container__item1 {
        order: 2;
    }
    .courses-container__item2 {
        order: 4;
    }
    .courses-container__item3 {
        order: 6;
    }
}

@media(max-width:768px) {
    .courses-container {
        height: auto;
        width: 90%;
    }
}

.image {
    grid-column: 1/2;
    /*height: 16rem;
width: 13rem;*/
    height: auto;
    width: auto;
}

.courses-container__item1 {
    grid-column: 2/3;
    grid-row: 1/2;
}

.courses-container__item2 {
    grid-column: 2/3;
    grid-row: 2/3;
}

.courses-container__item3 {
    grid-column: 2/3;
    grid-row: 3/4;
}

p {
    padding-bottom: 0.5rem;
    font-weight: 200;
}

span {
    font-weight: 700;
}

.courses-container__subheading {
    font-weight: 700;
}

.heading-courses {
    text-align: center;
    padding: 2rem;
    font-size: 1.5rem;
}


/*About us*/

.about-us-heading {
    padding: 2rem;
    text-align: center;
}

.nosotros-container {
    display: flex;
    flex-flow: row wrap;
    width: 90%;
    margin: 0 auto;
    justify-content: center;
    text-align: justify;
    column-gap: 2rem;
}

.nosotros-container__image {
    flex: 0 1 1rem;
    height: 15rem;
}

.nosotros-container__p {
    flex: 1 1 15rem;
}

@media(max-width: 700px) {
    .nosotros-container__image {
        padding-bottom: 2rem;
    }
}

@media(min-width: 800px) {
    .nosotros-container {
        width: 80%;
        align-items: center;
    }
    .nosotros-container__image {
        display: flex;
    }
}


/*Entry*/

.entry-heading {
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.entry-container {
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    width: 60%;
    margin: 0 auto;
    row-gap: 2rem;
    text-align: justify;
    font-size: 0.9rem;
    font-family: var(--fuenteparrafos);
}

.entry-container__image {
    flex: 1 1 auto;
    margin-bottom: 2rem;
}

.entry-container__p {
    flex: 1 1 auto;
}

@media(max-width: 400px) {
    .entry-container {
        width: 100%;
    }
    .entry-container__p {
        width: 90%;
        margin: 2rem auto;
    }
}


/*Footer*/

footer {
    background-color: var(--negro);
    height: 4rem;
    padding-bottom: 1.8rem;
    margin-top: 5rem;
}

@media(max-width:400px) {
    footer {
        height: auto;
    }
}