*
{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

:root {
    --blue-transparent: rgba(73, 163, 214, 0.6);
    --black-transparent: rgba(0, 0, 0, 0.6);
    --white-transparent: rgba(255, 255, 255, 0.5);
    --blue-light: #49a3d6;
    --blue: #3895ea;
    --white: #f2f2f2;

}

body
{
    background: #fff;
    font-family: 'Open Sans', Sans-Serif, arial;
    font-size: 16px;
}

.contenedor
{
    width: 90%;
    max-width: 1000px;
    margin: auto;
    overflow: hidden;
}

.titulo
{
    font-size: 34px;
    line-height: 34px;
    margin-top: 0px;
    margin-bottom: 50px;
    font-weight: 300;
    color: var(--blue);
    text-align: center;
}

/* ----- ----- HEADER ----- ----- */

header
{
    /* background:  url(../img/banner.jpg) #49a3d6; */
    background-image: linear-gradient( var(--black-transparent) , var(--black-transparent) ), url(../img/banner.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    max-height: 600px;
}

header .menu
{
    margin: 40px 0px;
    text-align: right;
}

header .menu a
{
    display: inline-block;
    text-decoration: none;
    margin: 0px 20px;
    color: #fff;
    padding-bottom: 9px;
    font-size: 1em;
    border-bottom: 2px solid transparent;
}

header .menu a:hover
{
    border-bottom: 2px solid #fff;
}

header .contenedor-texto
{
    display: flex;
    justify-content: center;
    align-content: center;
    margin: 190px 0px;
}

header .contenedor-texto .texto
{
    border: 2px solid var(--white-transparent);
    border-radius: 3px;
    display: inline-block;
    text-align: center;
    padding: 20px 60px;
}

header .contenedor-texto .texto h1,
header .contenedor-texto .texto h2
{
    font-weight: 300;
    color: #fff;
    margin: 0;
}

header .contenedor-texto .texto .nombre
{
    margin-bottom: 10px;
    font-size: 40px;
    line-height: 40px;
}

header .contenedor-texto .texto .profesion
{
    font-size: 20px;
    line-height: 20px;
}

/* ----- ----- MAIN ----- ----- */

.main
{
    text-align: center;
}

.main .contenedor
{
    overflow: visible;
}

/* ACERCA DE */

.main .acerca-de .foto
{
    margin-top: -60px;
}

.main .acerca-de .foto img
{
    
    vertical-align: top;
    border-radius: 50%;
    border: 5px solid rgba(255, 255, 255, 0.2);
}

.main .acerca-de .texto
{
    color: #5a5a5a;
    font-weight: 600;
    font-size: 1em;
    line-height: 30px;
    width: 80%;
    margin: 40px auto 60px auto;
}

.main .acerca-de .texto .titulo
{
    margin-bottom: 20px;
}

.main .acerca-de .texto p
{
    margin: 0px auto;
}

.main .acerca-de .texto .bold
{
    color: var(--blue-light);
}

/* TRABAJOS */

.main .trabajos
{
    background: #f2f2f2;
    padding: 50px 0px;
}

.main .trabajos .contenedor
{
    overflow: hidden;
}

.main .trabajos .contenedor-trabajos
{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.main .trabajos .contenedor-trabajos .trabajo
{
    width: 23%;
    margin-bottom: 40px;
}

.main .trabajos .contenedor-trabajos .trabajo .thumb
{
    width: 100%;
    margin-bottom: 10px;
}

.main .trabajos .contenedor-trabajos .trabajo .thumb img
{
    width: 100%;
    vertical-align: top;
    border-radius: 3px;
}

.main .trabajos .contenedor-trabajos .trabajo .descripcion
{
    text-align: center;
}

.main .trabajos .contenedor-trabajos .trabajo .descripcion .nombre
{
    font-weight: 700;
    color: var(--blue-light);
}

.main .trabajos .contenedor-trabajos .trabajo .descripcion .categoria
{
    font-size: 14px;
    color: #636363;
}

/* ----- ----- FOOTER ----- ----- */

/* CONTACTO */

footer .contacto
{
    padding: 50px 0px;
}

footer .contacto .formulario
{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

footer .contacto .formulario input[type="text"],
footer .contacto .formulario input[type="email"],
footer .contacto .formulario textarea
{
    border: 2px solid #cecece;
    border-radius: 5px;
    padding: 15px 20px;
    font-size: 20px;
    color: #a4a4a4;
}

footer .contacto .formulario input[type="text"]:focus,
footer .contacto .formulario input[type="email"]:focus,
footer .contacto .formulario textarea:focus
{
    border: 2px solid var(--blue-light);
}

footer .contacto .formulario input[type="text"],
footer .contacto .formulario input[type="email"]
{
    width: 49%;
    margin-bottom: 15px;
}

footer .contacto .formulario textarea
{
    width: 100%;
    height: 100px;
    min-width: 100%;
    min-height: 100px;
    max-height: 300px;
    margin-bottom: 15px;
}

footer .contacto .formulario .boton
{
    margin: auto;
    background: #3895ea;
    color: #fff;
    border: none;
    border-radius: 3px;
    padding: 15px 40px;
}

footer .contacto .formulario .boton:hover
{
    background: #387bea;
}

/* REDES SOCIALES */

footer .redes-sociales
{
    background: #1e2b38;
    padding: 60px 0px;
}

footer .redes-sociales .contenedor
{
    display: flex;
    justify-content: center;
}

footer .redes-sociales a
{
    color: #fff;
    text-align: center;
    width: 100px;
    display: block;
    padding: 15px 0px;
    border-radius: 3px;
    font-size: 30px;
    margin: 0px 20px;
}

footer .redes-sociales .contenedor .twitter:hover
{
    background: #55acee;
}

footer .redes-sociales .contenedor .facebook:hover
{
    background: #3b5998;
}

footer .redes-sociales .contenedor .youtube:hover
{
    background: #cd201f;
}

footer .redes-sociales .contenedor .github:hover
{
    background: #666666;
}

footer .redes-sociales .contenedor .instagram:hover
{
    background: #3f729b;
}

/* ----- ----- MEDIA QUERIES ----- ----- */

@media screen and (max-width: 800px)
{
    header .menu
    {
        text-align: center;
    }

    .main .trabajos .contenedor-trabajos .trabajo
    {
        width: 46%;

    }
}

@media screen and (max-width: 600px)
{
    header .contenedor-texto .texto .nombre
    {
        font-size: 35px;
    }

    header .contenedor-texto .texto .profesion
    {
        font-size: 18px;
    }

    footer .redes-sociales .contenedor
    {
        flex-wrap: wrap;
        padding: 20px 0px;
    }
}