:root{
    --fuentePresentacion: 'Tai Heritage Pro', serif;
    --fuente: 'Source Sans Pro', sans-serif;
    --fuenteTit: 'Poly', serif;
    --azulSecundario: #026359;
    --blanco: #fff;
    --negro: #000;
    --gris: #e1e1e1;
}

html{
    box-sizing: border-box;
    font-size: 62.5%;
}

*, *:before, *:after{
    box-sizing: inherit;
}

body{
    font-family: var(--fuente);
    font-size: 1.6rem;
    line-height: 2;
    font-weight: 300;
}

/*--------------------------------------------Globales--------------------------------------------*/
.contenedor{
    max-width: 90%;
    margin: 0 auto;
}

a{
    text-decoration: none;
}

h2{
    font-size: 3rem;
    line-height: 1.2;
}

img{
    max-width: 100%;
}

/*--------------------------------------------Utilidades--------------------------------------------*/
.no-margin{
    margin: 0;
}

.no-padding{
    padding: 0;
}

.centrar-texto{
    text-align: center;
}

.justificar-texto{
    text-align: justify;
}

.right-texto{
    text-align: right;
}

@media (max-width: 768px) {
    .animacion-entrada{
        opacity: 0.5;
        transition: all 1.5s;
    }
    
    .transform-up{
        transform: translateY(20%);
    }
    
    .animacion-aparecer{
        opacity: 1;
        transform: none;
    }   
}

/*--------------------------------------------Contacto--------------------------------------------*/
.contacto-cont{
    background-color: var(--gris);
    padding: 7rem 0 0 0;
}

.contacto-bg{
    background-image: url(../img/contacto.jpg);
    height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.formulario-contacto{
    position: relative;
    top: -8rem;
    width: 90%;
    background-color: var(--blanco);
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin: 0 auto;
    -webkit-box-shadow: 0px 0px 35px -10px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 35px -10px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 35px -10px rgba(0,0,0,0.75);
}

.campo{
    width: 100%;
    display: flex;
    flex-direction: column;
}

.campo:hover{
    -webkit-transition: 0.5s linear;
    transition: 0.5s linear;
    -webkit-transform: translateY(-1rem);
    transform: translateY(-1rem);
}

.campo-btn:hover{
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
    transform: none;
}

.tit-contacto{
    font-family: var(--fuenteTit);
    font-weight: 400;
    text-align: center;
    padding: 1rem 0;
}

.campo__label{
    width: 100%;
    color: var(--azulSecundario);
    font-weight: 600;
}

.campo__field{
    width: 100%;
    color: var(--negro);
    font-weight: 600;
    background-color: var(--gris);
    border: none;
    padding: 1rem 1rem;
    border-radius: 0.5rem;
}

.campo__field[type="date"]{
    font-weight: 300;
}

.campo__field::placeholder{
    color: var(--negro);
    font-weight: 300;
}

.campo__field--textarea{
    resize: none;
    height: 15rem;
    line-height: 2.5rem;
}

.boton{
    padding: 0.7rem 2rem;
    background-color: var(--azulSecundario);
    color: var(--blanco);
    border-radius: 0.5rem;
    border: none;
    font-weight: 600;
    cursor: pointer;
}

@media (min-width: 768px) {
    .contacto-cont{
        background-color: var(--gris);
        padding: 10rem 0;
    }

    .aside{
        position: relative;
    }

    .formulario-contacto{
        position: absolute;
        top: -8%;
        left: 3%;
        bottom: -8%;
        width: 35%;
        padding: 0 3rem;
    }
}

/*------------------------------------------Pantallas Grandes-----------------------------------------*/
@media (min-width: 1500px) {
    .formulario-contacto{
        top: -6%;
        bottom: -6%;
    }

    .tit-contacto{
        font-size: 3.2rem;
    }

    .campo__label, .campo__field, .boton{
        font-size: 1.8rem;
    }
}

@media (min-width: 1750px) {
    .formulario-contacto{
        top: -4%;
        bottom: -4%;
    }

    .tit-contacto{
        font-size: 3.4rem;
    }

    .campo__label, .campo__field, .boton{
        font-size: 2rem;
    }
}

@media (min-width: 2000px) {
    .formulario-contacto{
        top: -2%;
        bottom: -2%;
    }

    .tit-contacto{
        font-size: 3.6rem;
    }

    .campo__label, .campo__field, .boton{
        font-size: 2.2rem;
    }
}

@media (min-width: 2250px) {
    .formulario-contacto{
        top: 0%;
        bottom: 0%;
    }

    .tit-contacto{
        font-size: 3.8rem;
    }

    .campo__label, .campo__field, .boton{
        font-size: 2.4rem;
    }
}

@media (min-width: 2500px) {
    .formulario-contacto{
        top: 2%;
        bottom: 2%;
    }

    .tit-contacto{
        font-size: 4rem;
    }

    .campo__label, .campo__field, .boton{
        font-size: 2.6rem;
    }
}

@media (min-width: 2750px) {
    .formulario-contacto{
        top: 4%;
        bottom: 4%;
    }

    .tit-contacto{
        font-size: 4.2rem;
    }

    .campo__label, .campo__field, .boton{
        font-size: 2.8rem;
    }
}

@media (min-width: 3000px) {
    .formulario-contacto{
        top: 6%;
        bottom: 6%;
    }

    .tit-contacto{
        font-size: 4.4rem;
    }

    .campo__label, .campo__field, .boton{
        font-size: 3rem;
    }
}

@media (min-width: 3250px) {
    .formulario-contacto{
        top: 8%;
        bottom: 8%;
    }

    .tit-contacto{
        font-size: 4.6rem;
    }

    .campo__label, .campo__field, .boton{
        font-size: 3.2rem;
    }
}

@media (min-width: 3500px) {
    .formulario-contacto{
        top: 10%;
        bottom: 10%;
    }

    .tit-contacto{
        font-size: 4.8rem;
    }

    .campo__label, .campo__field, .boton{
        font-size: 3.4rem;
    }
}