/* ==========================================================================
   Normalizador
   ========================================================================== */

.clear:before,
.clear:after { content: " "; display: table;}
.clear:after { clear: both;}
.clear { *zoom: 1;}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	color: inherit;
	text-decoration: none;
	border: 0;
}
a{
	color: #0088cc;
	text-decoration: none;
}
a:hover{ color: #4B7989; }

hr{
	border: none;
	border-bottom: 1px solid #ccc;
}

.hidden{ display: none; }

/* ==========================================================================
   Por dispositivo
   ========================================================================== */
   
.onlymobile{ display: none!important; }

/* ==========================================================================
   Cuerpo
   ========================================================================== */

html{ font-size: 100%; }

body{
	font-family: "Open Sans", Helvetica, Arial, sans-serif;
	color: #000000;
	background: #e5e5e5;
    text-rendering: optimizelegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

article{
	background: #fff;
	padding: 1px 0 50px;
	max-width: 1160px;
	margin: 0 auto;
}
   
.wrapper{
	position: relative;
	max-width: 1160px;
	padding: 0;
	margin: 0 auto;
}
.wrapper-content{
	background-color: #FFF;
	padding: 0 10% 0 10%;
}

/* ==========================================================================
   Cuerpo: Columnas
   ========================================================================== */

.columns .col{ float: left; }   
.columns__3 .col{ width: 33%; }
.columns__4 .col{ width: 25%; }
.columns__4 .col__2{ width: 50%; }

/* ==========================================================================
   Cuerpo: Secciones
   ========================================================================== */
   
section#contacto{ margin-bottom: 65px; }
section#contenido{
	padding: 15px 0;
	margin-bottom: 30px;
}

/* ==========================================================================
   Cabecera
   ========================================================================== */
   
header{	margin-top: 60px; }
header .wrapper-content{
	padding-top: 90px;
	padding-bottom: 1px;
}
header h1{
	margin: 60px auto 0px auto;
	padding: 0;
	font-size: 26px;
	text-align: center;
	font-weight: 300;
	line-height: 34px;
}
.logo{
	display: block;
	margin: 0 auto;
	width: 215px;
	height: 30px;
	text-align: center;
	text-indent: -9999px;
	background: url("../img/logo.png") no-repeat center center;
	background-size: contain;
	position: relative;
	z-index: 9;
}
.logo a{
	display: block;
	width: 100%;
	height: 100%;
}

/* ==========================================================================
   Cabecera: Menú
   ========================================================================== */

header nav ul{
	text-align: center;
	padding: 0;
	margin-top: 30px;
}
header nav ul li{
	display: inline-block;
	margin-left: 15px;
	font-size: 16px;
}
header nav ul li:first-child{ margin-left: 0; }
header nav ul li.active{ font-weight: bold; }

/* ==========================================================================
   Cabecera: Redes Sociales
   ========================================================================== */

header #rrss{
	margin: 0 auto;
	padding: 0;
	text-align: center;
	list-style: none;
	width: 50%;
	padding-top: 15px;
	border-top: 1px solid #ccc;
}
header #rrss li{
	display: inline-block;
	margin-left: 15px;
	transition: opacity .2s;
}
header #rrss li:first-child{ margin-left: 0; }
header #rrss li.facebook{ background-color: #3d5daa; }
header #rrss li.twitter{ background-color: #2189bc; }
header #rrss li:hover{ opacity: .7; }
header #rrss li a{
	color: #fff;
	padding: 8px 20px;
	display: inline-block;
	font-size: 13px;
	font-size: 1.3rem;
}

/* ==========================================================================
   Cabecera: Cookies
   ========================================================================== */

#main, #politica-cookies{ padding: 0 10%; }

#menu{
	width: 100%;
	text-align: right;
	margin-top: 40px;
}
#menu .icon-menu{
	cursor: pointer;
	font-size: 1.6em;
}

/* ==========================================================================
   Formularios
   ========================================================================== */
   
label{ display: block; }

/* ==========================================================================
   Formularios: Botones
   ========================================================================== */
   
button, .btn, .button{
	display: inline-block;
	margin-top: 10px;
	padding: 10px 50px;
	background-color: #000;
	border: none;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
	color: #FFF;
	font-size: 17px;
	transition: background .2s;
	-webkit-transition: background .2s;
}
button:hover, .btn:hover, .button:hover, input[type="file"]:hover+button, input[type="file"]:hover+.btn, input[type="file"]:hover+.button{
	background-color: #555;
}

/* ==========================================================================
   Formularios: Inputs
   ========================================================================== */

.fileinput{
	position: relative;
	display: inline-block;
}
input[type="file"]{
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 9;
	opacity: 0;
	cursor: pointer;
	filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea{
	width: 100%;
	max-width: 100%;
	border: 1px #cfcfcf solid;
	margin: 10px 0 0;
	padding: 10px;
	font-size: 16px;
	line-height: 24px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	transition: border-color .2s;
}
input[type="text"]:hover,
input[type="email"]:hover,
input[type="tel"]:hover,
input[type="password"]:hover,
textarea:hover,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
textarea:focus{
	border-color: #0097d3;
}

.lt-ie9 input[type="text"],
.lt-ie9 input[type="email"],
.lt-ie9 input[type="tel"],
.lt-ie9 textarea{
	line-height: 16px;
}

textarea{ height: 150px; }
input[type="checkbox"], input[type="radio"]{ margin-right: 5px; }
*:focus{ outline: 0; }

/* ==========================================================================
   Formularios: Labels
   ========================================================================== */
   
.lt-ie9 label, label.checkbox{ display: block; }
.slegal{
	font-size: 14px;
	line-height: 20px;
}
input.error, textarea.error{
	color: #b94a48;
	border-color: #b94a48;
	position: relative;
	z-index: 2;
}

label.error, form span.error{
	background-color: #f2bdb9;
	color: #a9422e!important;
	position: relative;
	top: -5px;
	padding: 10px;
	border-radius: 3px;
	display: block;
	z-index: 1;
	font-size: 14px;
	line-height: 20px;
	-webkit-transition: all 1s ease-in-out;
	-moz-transition: all 1s ease-in-out;
	-o-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
}
span[for="agree"].error{ top: 5px; }

.message-form{
	font-size: 16px;
	padding: 7px 20px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
}
.message-form p{ margin: 0; padding: 5px 0; }
.message-success{
	background-color: #69D0A2;
	color: #FFF;	
}
.message-error{
	background-color: #f2bdb9;
	color: #a9422e;
}
#agree-error{ top: 5px; }

/* ==========================================================================
   Pie
   ========================================================================== */

footer{
	max-width: 1160px;
	margin: 0 auto;
}
footer a{
	display: block;
	margin: 0 auto 5px auto;
	text-align: center;
}
footer p{
	padding: 30px 10%;
	margin: 0;
	text-align: center;
	font-size: 15px;
	line-height: 21px;
}


/* ==========================================================================
   Aviso Cookies
   ========================================================================== */
   
#aviso-cookies{
	position: relative;
	padding: 0 10%;
}
#aviso-cookies .wrapper{	
	background-color: #333333;
	color: #fff;
	margin: 0 auto;
	max-width: 1160px;
}	
#aviso-cookies p{
	font-size: 14px;
	line-height: 20px;
	margin: 0 20px;
	padding: 15px 20px;
	width: 90%;
}
#aviso-cookies p a{
	color: #fff;
	text-decoration: underline;
}

#politica-cookies h1{
	margin: 0 auto 20px auto;
	font-size: 26px;
	font-weight: 300;
	text-align: left;
}
#politica-cookies h2{
	margin: 30px 0 10px 0;
	font-size: 20px;
	font-weight: 300;
	text-align: left;
	line-height: 26px;
}
#politica-cookies article p,
#politica-cookies ul li{
	font-size: 16px;
	line-height: 24px;
}

/* ==========================================================================
   @Media Query: Versión tablet vertical
   ========================================================================== */
		
@media only screen and (min-width: 768px) and (max-width: 960px){
	.hideontablet{ display: none; }	
}

/* ==========================================================================
   @Media Query: Versión móvil
   ========================================================================== */

@media only screen and (max-width: 767px){
	
	/* ==========================================================================
	   Por dispositivo
	   ========================================================================== */
	   
	.onlymobile{ display: inline-block!important; }
	.hideonmobile{ display: none; }
	
	/* ==========================================================================
	   Cabecera
	   ========================================================================== */
	
	header h1{ padding-bottom: 20px; }
	header .wrapper-content{ padding-top: 0; }
	header .wrapper-content .logo{ margin-top: 90px; }
	
	header #rrss{ width: 100%; }
	header #rrss li{
		width: 100%;
		margin: 10px 0;
		display: block;
	}
	
	/* ==========================================================================
	   Cabecera: Menú móvil
	   ========================================================================== */
	
	header .menu-content{
		transform: scale(.6);
		opacity: 0;
	    position: absolute;
	    top: 80px;
	    left: 0;
	    width: 80%;
	    padding: 30px 10%;
	    background: #fff;
	    text-align: center;
	    transition: transform .2s ease-out, opacity .2s ease-out;
	    visibility: hidden;
	}
	body.show-menu header .menu-content{
		opacity: 1;
		transform: scale(1);
		z-index: 99;
		visibility: visible;
	}
	header nav ul{ margin: 0; }
	header nav ul li{
		display: block;
		margin-left: 0;
		text-align: center; 
		background: #eee;
	}
	header nav ul:hover li.active{ background: #eee; }
	header nav ul:hover li.active a, header nav ul:hover li.active a:hover{ color: #000; }
	header nav ul li.active, header nav ul li:hover, header nav ul:hover li.active:hover{
		font-weight: normal;
		background: #000;
	}
	header nav ul li a{
		color: #000;
		display: block;
		width: 100%;
		padding: 10px 0;
	}
	header nav ul li.active a, header nav ul li a:hover, header nav ul:hover li.active:hover a:hover{ color: #fff; }
	
	body.show-menu article > *, body.show-menu header .wrapper-content > :not(.menu-content):not(#menu){
		-webkit-filter: blur(1px);
		opacity: .8;	
	}
	
	/* ==========================================================================
	   Formularios
	   ========================================================================== */
	   
	input[type="text"], input[type="email"], input[type="tel"], input[type="password"], textarea{ width: 100%; }
	h1.contact{ text-align: center; }
	
	/* ==========================================================================
	   Aviso cookies
	   ========================================================================== */
	
	#aviso-cookies p{
		margin: 0;
		text-align: center;
	}
}

/* ==========================================================================
   @Media Query: Versión móvil reducida
   ========================================================================== */

@media only screen and (max-width: 568px){
	
	/* ==========================================================================
	   Cuerpo
	   ========================================================================== */
	   
	body{ background-color: #FFF; }
	.wrapper-content{padding: 0 10% 35px 10%;}
	
	/* ==========================================================================
	   Cabecera
	   ========================================================================== */

	header, header h1{ margin-top: 0; }
	header .wrapper-content .logo{ margin-top: 0; }
	.logo{
		width: 100%;
		height: 150px;
	}
	
	/* ==========================================================================
	   Política de Cookies
	   ========================================================================== */
	
	#main, #politica-cookies, #aviso-cookies{ padding: 0; }
	
	/* ==========================================================================
	   Pie
	   ========================================================================== */

	footer p{
		padding: 30px 10%;
		background-color: #FFF;
	}
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (   min--moz-device-pixel-ratio: 2),
only screen and (     -o-min-device-pixel-ratio: 2/1),
only screen and (        min-device-pixel-ratio: 2),
only screen and (                min-resolution: 192dpi),
only screen and (                min-resolution: 2dppx) {
	
	.logo{
		background: url("../img/logo@2x.png") no-repeat center center;	
		background-size: 100%;
	}
	
}