/*
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,400,600,800); /* Uso: font-family: "Open Sans" */

html {
    margin:0;padding:0;outline:0;/*overflow-x:hidden;*/
	background-color:#FFFFFF;
}
body {
	margin:0;padding:0;outline:0;min-width:320px;
	font-family: "Open Sans",Helvetica,sans-serif;font-style:normal;
	font-size:17px;color:#232323;font-weight:400;
}

a {
	color:#232323;text-decoration:none;
}
a:hover {
	text-decoration:underline;
}
img {
	/*width:100%;cambiado a max-width. xq a veces expande más allá. eje tienda...*/
	max-width:100%;
	height:auto;
}
@media \0screen {
  img {
  	width: auto; /* for ie 8 */
  }
}

h1 {
	font-weight:600;font-size:1.7em;
}
h2 {
	font-weight:600;font-size:1.3em;
}
h3 {
	font-weight:normal;font-size:1.2em;
}
h4 {
	font-weight:normal;color:#363636;font-size:1.1em;
}
/* Problema: Tags como h1 o p añaden margen superior. con un simple padding-top 0.1 se corrigo ¿? 
	Use padding-top for h1 or header or use overflow:hidden for header
	collapsing margins: http://www.w3.org/TR/CSS2/box.html#collapsing-margins
*/

/* Bloques de construcción */
#contenedorPrincipal {
	max-width:1170px;height:100%;margin-left:auto;margin-right:auto;padding:0;
	/*background-color:red;*/
}
#contenido {
	margin:0 2%;/*background-color:#AAAAAA;*/
}
#cabecera {
	width:100%;
	background-color:#295FB8;border-bottom:1px solid #D4DFF1;
}
#cabecera .wrap {
	max-width:1170px;min-height:39px;margin-left:auto;margin-right:auto;
	background-color:#295FB8;border-bottom:1px solid #D4DFF1;
}

#pie {
	width:100%;
	background-color:#295FB8;
}
#pie .wrap {
	overflow:hidden;clear:both;padding:1em 2% 2em 2%;max-width:1170px;min-height:60px;margin-left:auto;margin-right:auto;text-align:center;
	background-color:#295FB8;
}

#logo {
	float:left;max-width:146px;margin:8px 0 0 6%;
}
#navbtn {
	display:block;float:right;margin:7px 10% 0 0;
}
#cabecera .boxMail,#cabecera .boxTelf,#cabecera .social {
	display:none;
}
#cabTop {
	overflow:hidden;
	min-height:39px;
	width:100%;background-color:#295FB8;
	z-index:101;position:fixed;
}
#botoneraPrincipal,#botoneraMobile {
	display:none;
}
.botoneraMobile {
	display:none;z-index:101;position:fixed;
    top: 0px;right:-782px; /* Esto debe setearse para que la animación se vea bien la primera ejecución */
    width:305px;height:100%;margin-top:40px;background-color:#F7F7F7;
}
.botoneraMobile .cabMenu {
	height:33px;background-color:#E6E5E5;
}
.botoneraMobile .cabMenu a {
	color:#295FB8;vertical-align:middle;line-height:31px;
}
.botoneraMobile .navSocial {
	float:left;width:82%;height:33px;
}
.botoneraMobile .navSocial a {
	display:inline-block;height:33px;padding-left:7%;padding-right:7%;border-right: 1px solid #7A7A7A;   
}
.botoneraMobile .navSocial a>img {
	width:26px;height:26px;vertical-align:middle;
}
.bgMenuMobile {
	clear:both;width:90%;padding:5px 5%;
	height:80vh;  /*-> lo que ocupa la ventana que hace scroll respecto de pantalla */
	overflow-y:auto;
}
.icnCerrar {
	display:block;float:right;width:33px;height:33px;margin-right:7%;margin-top:4px;
}
.icnCerrar:before {
	content:url(../imagenes/body/iconos/icnCerrar.png);
}
.navMobile {
	overflow:hidden;list-style:none;margin:0;padding:0;
}
.navMobile>li {
	line-height:1.4em;margin:0;padding-top:0.3em;padding-bottom:0.3em;wrap:no-wrap;
	border-top:1px solid #E1ECFE;text-align:left;font-size:1.1em;
}
.navMobile>li:first-child {
	border:0;
}
.navMobile>li>a {
	display:block;width:88%;padding-left:1%;padding-right:7%;color:#295FB8;font-weight:400;
}
.navMobile li:hover, .navMobile li.activo {
    color:#ff7b02;text-decoration:none;
}
.navMobile li:hover, .navMobile li.activo a {
    color:#ff7b02;text-decoration:none;
}
.navMobile a:hover {
	text-decoration:none;color:#ff7b02;
}

.col1, .col2, .col2_1, .col3, .col50 {
	width:100%;margin:auto;
}
.bqPie {
	width:100%;max-width:320px;margin:2em auto 0 auto;
	line-height:1.8em;font-size:.9em;font-weight:300;text-align:left;color:#FFFFFF;
}
#pie a {
	color:#FFFFFF;
}
.navLegal {
	clear:both;overflow:hidden;width:100%;margin-top:1em;text-align:center;
}
.navLegal a {
	display:block;float:left;width:30%;margin:1.6%;text-align:center;
}
.navPie {
	clear:both;overflow:hidden;max-width:900px;margin:auto;padding:1em 0;
}
.navPie h3 {
	float:left;margin:.5em 1em;font-size:.9em;
}
p.txt, .bqLegal p {
	margin:1.2em 0;line-height:1.5em;text-align:justify;
}
section.bq {
	clear:both;overflow:hidden;width:100%;margin-top:2em;
}
h2.sec {
	margin:0 0 0 2%;
}
.col1 h1 {
	margin:1em 0 0 3%;
}
h1 .icnSeccion {
	vertical-align:middle;margin-right:17px;
}
.imgCont {
	margin:1em 0 0 0;padding:0;
}
.icnFolder:before {
	content:url(../imagenes/body/iconos/icnCarpeta.png);
	vertical-align:sub;padding-right:8px;
}
.icnFolder.azul:before {
	content:url(../imagenes/body/iconos/icnCarpetaAzul.png);
}
.icnForm.azul:before {
	content:url(../imagenes/body/iconos/icnFormAzul.png);
	vertical-align:middle;padding-right:8px;
}
.icnNosotros.azul:before {
	content:url(../imagenes/body/secciones/iconos/icnNosotros.png);
	vertical-align:middle;padding-right:8px;
}

.bqDest {
	max-width:300px;margin:2.5em auto 0 auto;line-height:1.4em;text-align:justify;padding:0 3%;
	/*background-color:#e0e0e0;*/
}
.bqDest h3.tit {
	margin:.5em;text-align:center;font-weight:bold;color:#000000;min-height:45px;font-size:1.3em;
}
.bqDest .icn {
	text-align:center;
}
.bqDest .icn img {
	max-width:81px;margin:0 auto;
}
.bqDest .desc {
	margin-top:.5em;color:#5A5A59;
}
.bqDest .wrap {
	padding:2em 4%;border:1px solid #E4E3E3;
}
.bqDest .img {
	/*max-width: padding*/
}
.bqDest .img img {
	margin:0 auto;
}
.bqDest.wp .tit {
	margin-bottom:0;text-align:left;
}

.bqArt {
	max-width:320px;margin:2.5em auto 0 auto;background-color:#F9F8F8;
}
.bqArt .img {
	margin:0;border:1px solid #F9F8F8;
}
.bqArt .img img {
	margin:0 auto;
}
.bqArt h3.tit {
	margin:1em 1% 0 7%;text-align:left;font-weight:400;color:#000000;min-height:45px;font-size:1.2em;
}
.bqArt .desc {
	margin:1em 7% 0 7%;color:#5A5A59;line-height:1.5em;padding-bottom:2em;text-align:justify;
}

a.btn {
	display:block;width:200px;cursor:pointer;
}
a.btn:hover {
	text-decoration:none;
}
.btnPresupuesto {
	background-color:#232323;color:#FFFFFF;border:1px solid #DCDCDC;cursor:pointer;
	padding:7px 17px;text-align:center;font-size:1.2em;
}
.enum {
	clear:both;list-style:none;padding-left:5%;margin:1.3em 0 0 7%;
	border-left:1px solid #D9DADB;
}
.enum li {
	margin-top:1em;
}
.col50 .btnPresupuesto {
	margin:1em auto;
}
.col50 .contacta {
	margin:1.7em auto;font-weight:bold;max-width:240px;
}
.encabezado {
    clear:both;font-size:1.2em;color:#295FB8;font-style: italic;padding-top:1em;	
}
#imgSeccion {
	position:relative;margin:0;padding:0;border-bottom:3px solid #FF7B02;
}
#imgSeccion .h1 {
	z-index:5;position:absolute;top:20%;text-align:center;color:#FFFFFF;width:100%;margin:0;
	font-size:1em;font-weight:normal;
}
#imgSeccion .since {
	z-index:5;position:absolute;top:42%;text-align:center;color:#FFFFFF;width:100%;margin:0;
	font-size:.9em;font-weight:normal;
}
.bq.presupuesto {
	margin-top:4em;
	margin-bottom:4em;
}

@media all and (min-width: 540px) {
	body {
		/*font-size:15.5px;*/
	}
}
@media all and (min-width: 640px) {
	.col1, .col2 {
		float:left;width:50%;
	}
	.col2_1, .col3 {
		float:left;
	}
	.col2_1 .bqPie {
		max-width:225px;
	}
	.col1 h1 {
		margin:1.5em 0 0 6%;
	}
	.col50 {
		float:left;width:45%;margin:0 2.5%;
	}
	.col2 .col1 { /* col agrup */
		float:left;width:100%;
	}
	.col50 .btnPresupuesto {
		float:right;margin-right:5%;
	}
	.col50 .contacta {
		margin:0;
	}
	#cabecera .boxTelf {
		display:block;float:left;height:100%;margin-left:8%;margin-top:7px;font-size:.9em;
	}
	#cabecera .boxMail {
		display:block;float:left;height:100%;margin-left:4%;margin-top:10px;font-size:.9em;
	}
	#cabecera .boxMail .txtMail {
		color:#FFFFFF;height:100%;line-height:100%;font-weight:normal;
	}
	#navbtn {
		margin-right:5%;
	}
	.imgCont {
		float:right;margin:5em 0 0 2%;
	}
	#imgSeccion .h1 {
		font-size:1.35em;font-weight:600;
	}
	#imgSeccion .since {
		font-size:1em;top:36%;
	}
}
@media all and (min-width: 768px) {
	#navbtn {
		display:none;
	}
	#cabecera .wrap {
		border:0;
	}
	#cabTop {
		position:initial;z-index:initial;min-height:50px;
	}
	#botoneraPrincipal {
		display:block;width:100%;border-top:3px solid #94AFDB;border-bottom:3px solid #94AFDB;background-color:#FFFFFF;
	}
	#botoneraPrincipal .nav {
		overflow:hidden;width:100%;min-height:34px;margin:0;padding:0;color:#295FB8;list-style:none;
		font-size:14px;
	}
	#botoneraPrincipal .nav li {
		float:left;padding:0 .8%;line-height:34px;text-align:center;
	}
	#botoneraPrincipal .nav li a {
		display:block;text-decoration:none;color:#295FB8;
	}
	#botoneraPrincipal .nav li:hover, #botoneraPrincipal .nav li a:hover {
		background-color:#B5CBEF;
	}
	#botoneraPrincipal .nav li.activo a {
		font-weight:bold;color:#ff7b02;
	}
	#cabecera .social {
		display:block;float:right;margin-right:4%;margin-top:9px;
	}
	#cabecera .social img {
		max-width:35px;margin-left:8px;
	}
	#logo {
		margin:17px 0 0 30px;
	}
	#cabecera .boxTelf {
		margin-top:14px;margin-left:14%;
	}
	#cabecera .boxMail {
		margin-top:17px;
	}
	.enum {
		margin-left:12%;
	}
}
@media all and (min-width: 850px) {
	#botoneraPrincipal .nav li {
		padding:0 .8%;
	}
}
@media all and (min-width: 1024px) {
	body {
		font-size:16px; /*Este fijo debe tener este valor*/
	}
	.col1, .col2_1 {
		width:33%;
	}
	.col2 {
		width:66%;
	}
	.col2 .col1 { /* col agrup */
		width:50%;
	}
	#botoneraPrincipal .nav {
		margin-left:20px;font-size:14px;font-weight:600;
	}
	#botoneraPrincipal .nav li {
		padding:0 1%;margin:0 1%;
	}
	#cabecera .boxTelf {
		margin-left:30%;
	}
	#pie .wrap {
		padding:1em 0% 2em 0;
	}
	.bqPie {
		font-size:.95em;
	}
	.imgCont {
		margin:2.5em 0 0 5%;
	}
}
@media all and (min-width: 1170px) {
	#botoneraPrincipal .nav {
		font-size:15px;
	}
	.navPie {
		max-width:940px;
	}
	.navPie h3 {
		font-size:.95em;
	}
	.bqDest {
		max-width:320px;
	}
	.bqArt {
		max-width:350px;
	}
}


.seccion {
	/*font-size:17px;*/
	overflow:hidden;clear:both;width:auto;margin-top:0;padding:0 3%;
}
.seccion h1>img {
	margin-right:15pt;
}
.seccion .texto>h2, .seccion .bqContacto h2 {
	color:#295FB8;font-weight:500;font-size:1.45em;
}
.seccion .imagen {
	width:100%;margin-top:25pt;text-align:center;max-width:500px;
}
.seccion .titulo {
	clear:both;font-size:1.1em;font-weight:600;margin-top:25pt;
}
.seccion p {
	/*font-size:0.9em;*/
	margin-top:20pt;text-align:justify;line-height:1.8em;
}
.seccion .imagen figure {
	margin:0;padding:0;
}
.seccion .imagen figcaption {
    margin-top:7pt;text-align:left;color: #363636;font-size: 1.1em;font-style: italic;font-weight:600;
}
.seccion b, .seccion strong {
	font-weight:600;
}
.seccion .texto ul {
	list-style:none;margin-top:2.5em;padding:0;
}
.seccion .texto ul>li {
	margin-top:0.7em;font-size:1.1em;
}
.seccion .bqContacto {
	clear:both;width:100%;padding-top:2em;
}
@media all and (min-width: 768px) {
	.seccion {
		margin-top:1em;padding:0;
	}
	.seccion .texto {
		float:left;width:47%;margin-top:15pt;
		clear:left;/* Esto evita que el texto se introduzca en la col imagen si hay más altura de texto antes.*/
	}
	.seccion .imagen {
		float:right;width:47%;text-align:initial;margin-top:35pt;
	}
	.seccion .primero {
		margin-top:0;
	}
	.sepMobile {
		display:none;
	}
}


/* ------- forms ------ */
.form {
	clear:both;padding-left:2%;margin:auto;max-width:500px;
}
.form .row {
	clear:both;width:100%;margin-top:1em;
}
.form label {
	float:left; /* este es el truco para que los labels tomen dimensión' */
	width:36%;margin-right:11px;line-height:30pt;color:#5A5A59;vertical-align:middle;text-align:right;
}
.form input[type=text], .form textarea {
	width:57%;border:1px solid #E6E5E5;padding:3pt 1%;font-size:1.1em;background-color:#EFF0EE;color:#000000;
}
.form .boton {
	background-color:#295FB8;color:#FFFFFF;border:1px solid #DCDCDC;cursor:pointer;
	padding:4px 17px;text-align:center;font-size:1.1em;
}


/* Complementos del menú hz y ventanas modales */
.bg-modal { 
	-webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000;            -moz-perspective: 1000; -ms-perspective: 1000; perspective: 1000;
}
.modal-overlay {
	position:fixed; top:0; left:0; height:100%; width:100%; overflow:hidden;z-index:100; background-color: #777; opacity: .7;
}
.bodyBlock {
	overflow:hidden; /* bloqueador del scroll para la modalidad modal */
}

/* Fijar Cabecera: **stickyHeader */
#cabTop.sticky {
	z-index:101;position:fixed;min-height:31px;border-bottom:1px solid #FF7B02;
}
#cabTop.sticky #logo {
	margin-top:5px;
}
#cabTop.sticky #navbtn {
	margin-top:3px;
}
.botoneraMobile.botoneraSticky {
	margin-top:33px;
}
@media all and (min-width: 640px) {
	#cabTop.sticky {
		min-height:39px;
	}
	#cabTop.sticky #logo {
		margin-top:9px;
	}
	#cabTop.sticky #navbtn {
		margin-top:7px;
	}
	.botoneraMobile.botoneraSticky {
		margin-top:39px;
	}
}

/* Volver arriba **back-to-top */
.back-to-top {
	display:block;position:fixed;bottom:20px;right:4%;z-index:999;
	width:40px;height:40px;margin:0;text-decoration:none;
}
.back-to-top img {
	width:40px;
}
.back-to-top i {
  font-size:60px; 
}
@media all and (min-width: 768px) {
	.back-to-top {
		display: none;
	}
}

.azul {
	color:#295FB8;
}

.rounded-corners {
	position:relative;z-index:2;
	-moz-border-radius: 10px; /* Firefox */
	-webkit-border-radius: 10px; /* Safari and Chrome */
	-ms-border-radius: 10px;
	border-radius: 10px; /* Opera 10.5+, future browsers, and now also Internet Explorer 6+ using IE-CSS3 */
	-khtml-border-radius: 10px;
  	/* behavior: url(css/ie-css3.htc); This lets IE know to call the script on all elements which get the 'box' class */
}
.rounded-corners2, .rc2 {
	position:relative;z-index:2;
	-moz-border-radius: 4px; /* Firefox */
	-webkit-border-radius: 4px; /* Safari and Chrome */
	-ms-border-radius: 4px;
	border-radius: 4px; /* Opera 10.5+, future browsers, and now also Internet Explorer 6+ using IE-CSS3 */
	-khtml-border-radius: 4px;
  	/* behavior: url(css/ie-css3.htc); This lets IE know to call the script on all elements which get the 'box' class */
}

/* row wrap */
@media (min-width: 640px) {
	.rowwrap .col1:nth-child(odd) {
		clear:left;
	}
	.rowwrap .col1:nth-child(even) {
		clear:right;
	}
}
@media (min-width: 1024px) {
	.rowwrap .col1:nth-child(3n+1), .rowwrap .col1.st {
		clear:left;
	}
	.rowwrap .col1:nth-child(3n+2), .rowwrap .col1.nd {
		clear:initial;
	}
	.rowwrap .col1:nth-child(3n+3), .rowwrap .col1.rd {
		clear:right;
	}
}
