@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,600i,700');

* {
	box-sizing: border-box;
}

body {
	background-color: white;
	font-family: 'Open Sans', sans-serif;
}

.contenedor {
	width: 90%;
	max-width: 1000px; 
	margin: auto;
	overflow: hidden; /*lo utilizamos por los floats*/
}

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

header {
	background-color: #49a3d6;
	background-image: url(../img/bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
	max-height: 600px;
}

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

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

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

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

header .contenedor-texto .texto {
	border: 2px solid rgba(255,255,255,.5);
	border-radius: 3px;
	/*display: inline-block;*/
	text-align: center;
	padding: 10px;
}


header .contenedor-texto .texto h1,
header .contenedor-texto .texto h2 {
	color: #fff;
	font-weight: 300;
	margin: 0; /*por defecto los h1,h2... vienen con margenes*/
}

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

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

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

.main .acerca-de {
	text-align: center; /*La foto se alinea tambien porque, es un elemento en línea*/
}

.main .contenedor {
	overflow: visible; /*el contenedor dentro de main tera un overflow: visible( para que se vea la foto entre en div y otro)*/
}

.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,.4);
}

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

.main .acerca-de .texto .titulo {
	font-size: 30px;
	line-height: 30px;
	margin-bottom: 40px;
	font-weight: 300;
	color: #dd820d;
	text-align: center;
}

.main .acerca-de .texto .bold {
	color: #3895ea;
}

/*------------- TRABAJOS ---------------*/

.main .trabajos {
	background-color: #f2f2f2;
	padding: 60px 0;
}

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

.main .trabajos .titulo {
	font-size: 30px;
	line-height: 30px;
	margin-bottom: 40px;
	font-weight: 300;
	color: #323068;
	text-align: center;
}

.main .trabajos .contenedor-trabajos {
	display: flex;
	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%;
	border-radius: 3px;
	vertical-align: top;
}

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

.main .trabajos .contenedor-trabajos .trabajo .descripcion .nombre {
	font-weight: 700;
	color: #3895ea;
	/*margin-bottom: 10px;*/
}

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

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

footer .contacto {
	padding: 60px 0;
}

footer .contacto .titulo {
	font-size: 30px;
	line-height: 30px;
	margin-bottom: 40px;
	font-weight: 300;
	color: #3895ea;
	text-align: center;
}

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 #3895ea;
}

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

footer .contacto .formulario textarea {
	width: 100%;
	min-height: 100px; /*no deja que cresca mas que 300px y que no baje menos que 100px*/
	max-height: 300px;
	margin-bottom: 15px;
	/*height: 100px;
	min-width: 100%;
	max-width: 100%;*/
}

footer .contacto .formulario .boton {
	margin: auto; /*podemos utilizar otras técnicas junto con flexbox*/
	background-color: #3895ea;
	color: #fff;
	border: none; /*quita el borde que viene por defecto en los navegadores*/
	border-radius: 3px;
	padding: 15px 40px;
	cursor: pointer;
}

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

/*------------- REDES SOCIALES ---------------*/

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

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

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

footer .redes-sociales .twitter:hover { background-color: #1da1f2;}
footer .redes-sociales .facebook:hover { background-color: #3b5998;}
footer .redes-sociales .youtube:hover { background-color: #cd201f;}
footer .redes-sociales .github:hover { background-color: #666666;}
footer .redes-sociales .instagram:hover { background-color: #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: 500px) {
	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 0;
	}
}