/*############Custom properties############*/
:root{
    --fuenteHeading: 'Anton', sans-serif;
    --fuenteParrafos: 'Ubuntu', sans-serif;

    --primario: #0c83fa;
    --grisClaro: #999;
    --grisOscuro: #555;
    --blanco: #ffffff;
    --negro: #000000;
}

/*############HTML Default############*/
html{
    box-sizing: border-box;
    font-size: 62.5%; /*1 rem = 10px*/
    background-image: url("../img/fondo.png");
    background-size: 100%;
    background-repeat: repeat-y;
    background-position: center center;
}

*, *:before, *:after{
    box-sizing: inherit;
}

body{
    font-family: var(--fuenteParrafos);
    font-size: 1.6rem;
    line-height: 2;
}

/*############Global items############*/
.contenedor{
    width: min(100%, 120rem);
    margin: 0 auto;
}

a{
    text-decoration: none;
}

h1, h2, h3, h4{
    font-family: var(--fuenteHeading);
    line-height: 1.2;
}

h1{
    font-size: 4.6rem;
}

h2{
    font-size: 4rem;
}

h3{
    font-size: 3.2rem;
    text-align: center;
}

@media (min-width: 768px){
    h3{
        text-align: left;
    }
}

h4{
    font-size: 2.8rem;
}

img{
    max-width: 100%;
}

/*############Help classes############*/
.no-margin{
    margin: 0;;
}

.no-padding{
    padding: 0;
}

.centrar-texto{
    text-align: center;
}

/*############Encabezado############*/
.header{
    background-image: url("../img/image2.jpg");
    background-size: cover;
    background-attachment: fixed;
    background-position: top;
}

.header1{
    background-image: url("../img/image3.jpg");
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
}

.header2{
    background-image: url("../img/image4.jpg");
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
}

.header3{
    background-image: url("../img/image7.jpg");
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
}

.logo{
    padding: 2rem;
    display: grid;
    grid-template-columns: 2fr 0.2fr;
    grid-template-rows: 1fr 0.1fr 0.1fr 1fr;
    gap: 0rem 2rem;
    grid-template-areas:
        ". social"
        ". ."
        ". ."
        "nombre .";
}

@media (min-width: 768px){
    .logo{
        gap: 2rem 2rem;
        grid-template-rows: 1fr 1fr 0.2fr 1fr;
    }
}

.social{
    display: block;
    text-align: center;
    grid-area: social;
}

.social__texto{
    font-size: 4rem;
    color: var(--blanco);
    cursor: pointer;
}

.nombre{
    display: block;
    text-align: left;
    grid-area: nombre;
    color: var(--blanco);
}

@media (min-width: 768px){
    .nombre{
        text-align: center;
    }
}

/*############Menú############*/
.menu{
    background-color: var(--grisOscuro);
}

.navegacion{
    display: flex;
    justify-content: space-around;
    flex-direction: column;
}

@media (min-width: 768px){
    .navegacion{
        flex-direction: row;
    }
}

.navegacion__enlace{
    display: block;
    text-align: center;
    text-transform: uppercase;
    padding: 1rem;
    font-size: 2rem;
    color: var(--blanco);
    transition: 0.3s;
}

.navegacion__enlace:hover{
    background-color: var(--primario);
}

@media (min-width: 768px){
    .navegacion__enlace:hover{
        background-color: var(--grisOscuro);
        color: var(--primario);
    }
}
/*############Contenido############*/
.contenido-principal{
    background-color: var(--blanco);
    padding: 2rem;
}

@media (min-width: 768px){
    .contenido-principal{
        background-color: var(--blanco);
        padding: 4rem;
    }
}

.entrada {
    border-bottom: 1px solid var(--gris);
    margin-bottom: 2rem;
    font-size: 2rem;
    text-align: justify;
}
.entrada:last-of-type {
    border: none;
    margin-bottom: 0;
}

@media (min-width: 768px){
    .especial{
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 0rem 2rem;
    }
}

.especial__imagen{
    display: block;
    margin: 0 auto;
    width: 20rem;
    padding: 3rem 0rem;
}

@media (min-width: 768px){
    .especial__imagen{
        padding: 0rem 0rem;
    }
}

/*############Footer############*/

.footer{
    font-size: 2rem;
    color: white;
    background-color: var(--grisOscuro);
}

@media (min-width: 768px){
    .footer{
        font-size: 2.5rem;
    }
}

.footer__texto{
    text-align: center;
    padding: 1rem;
}

.subir{
    color: white;
    font-weight: bold;
    text-decoration: none;
    display: block;
    float: right;
    cursor: pointer;
}
.subir:hover{
    -moz-transform: translate(0px,7px);  
    -webkit-transform: translate(0px,7px);  
    transform: translate(0px,-7px);
}

.bx-wrapper, .bx-viewport{
    height: 250px !important;
}

#top{
    display: none;
    position: fixed;
    font-size: 60px;
    cursor: pointer;
    position: fixed;
    bottom: 30px;
    right: 30px;
}

#web iframe{
    opacity: 1;
}

/*############Contacto############*/
.contact__info{
    text-align: center;
}

@media (min-width: 768px){
    .contact__info{
        text-align: justify;
    }
}

.formulario {
    background-color: var(--grisClaro);
    width: 95%;
    padding: 1rem;
}

@media (min-width: 768px){
    .formulario {
        background-color: var(--grisClaro);
        width: 95%;
        padding: 5rem;
        border: 2px solid var(--grisOscuro);
        border-radius: 1rem;
    }
}

.campo {
    display: flex;
    flex-direction: column;
    align-items: center;
}

@media (min-width: 768px){
    .campo {
        display: flex;
        flex-direction: row;
        margin-bottom: 2rem;
    }
}

.campo__label {
    text-align: right;
    padding-right: 1rem;
}

@media (min-width: 768px){
    .campo__label {
        flex: 0 0 9rem;
        text-align: right;
        padding-right: 1rem;
    }
}

.campo__field {
    width: 100%;
}

@media (min-width: 768px){
    .campo__field {
        flex: 1;
        border: 2px solid var(--grisOscuro);
    }
}

.campo__field--textarea {
    height: 20rem;
}

.campo__enviar{
    display: block;
    margin: 0 auto;
    padding: 2rem;
    background-color: var(--primario);
    border: 2px solid var(--grisOscuro);
    border-radius: 1rem;
    cursor: pointer;
}

/*############Habilidades############*/
.elementos{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.elemento{
    padding: 1rem;
    background-color: var(--grisOscuro);
    width: 100%;
    margin-bottom: 40px;
    border-radius: 1rem;
    color: var(--blanco);
}

@media (min-width: 768px){
    .elemento{
        padding: 1rem;
        background-color: var(--grisOscuro);
        width: 30%;
        margin-bottom: 40px;
        border-radius: 1rem;
        color: var(--blanco);
    }
}

img{
    border-radius: 1rem;
    display: block;
    margin: 0 auto;
}

.elemento__imagen{
    vertical-align: middle;
}

.elemento__titulo{
    text-align: center;
}

.elemento__descripcion{
    text-align: left;
}

/*############Experiencia############*/
.enlace{
    color: var(--primario);
}

.github{
    margin: 0;
    padding: 0;
    text-align: center;
}

.github__enlace{
    font-size: 30rem;
    color: var(--negro);
    line-height: 0;
}

.github__enlace:hover{
    color: var(--primario);
    margin: 0;
    padding: 0;
}