@import "formularios.css";

@import url(https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700,300italic);
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800);
@import url('https://fonts.googleapis.com/css?family=Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i&display=swap');

* {
	/*margin:0;
	padding:0;*/
	outline: none;
}

a img {
	border: none;
}

body {
	margin: 0;
	/*padding: 0;*/
	background-color: #FFFFFF;
	/*font-family: Arial, Helvetica, sans-serif;*/
	font-family:Montserrat, "Open Sans", Arial, Helvetica, sans-serif;
	font-size: 14px;
	overflow-y:scroll;
}

h1 {
	margin:0 0 10px;
	padding:0;
	font-family: Montserrat, "Open Sans", Arial, Helvetica, sans-serif;
	font-size:50px;
	font-weight:600;
	line-height:1em;
	color:#ec2029;
}

h1.b {
	margin:0px 0 0px;
	padding:0px 0 0;
	font-size:16px;
	color:#f06206;
	clear:none;
}

.legales h1 {
	padding:0;
	font-size:40px;
	font-weight:800;
	line-height:1.2em;
	color:#31837d;
}

h2 {
	margin:0px 0 20px;
	padding:0;
	font-family: Montserrat, "Open Sans", Arial, Helvetica, sans-serif;
	font-size:30px;
	font-weight:400;
	text-align:left;
	color:#ec2029;
}

.seccion h2, h2.b {
	margin:0 0 25px;
	font-size:40px;
	font-weight:800;
	line-height:1em;
	color:#ec2029;
}

.presupuesto h2 {
	margin:0 0 25px;
	font-size:30px;
	font-weight:800;
	line-height:1em;
}

.legales h2 {
	margin:40px 0 20px;
	color:#181E35;
	font-size:26px;
}

h3 {
	margin:0 0 10px;
	padding:0;
	font-family:Montserrat, "Open Sans", Arial, Helvetica, sans-serif;
	font-size:30px;
	font-weight:400;
	line-height:1.2em;
	color:#000;
	clear:both;
}

.seccion h3 {
	margin:0 0 20px;
	font-style:italic;
}

.presupuesto h3 {
	margin:0 0 7px;
	font-style:italic;
}

.legales h3 {
	margin:25px 0 8px;
	font-family:Montserrat, "Open Sans", Arial, Helvetica, sans-serif;
	font-size:18px;
	font-weight:700;
	line-height:1em;
	color:#444;
}

h4 {
	margin:0px 0 8px;
	font-family:Montserrat, "Open Sans", Arial, Helvetica, sans-serif;
	font-size:16px;
	font-weight:800;
	line-height:1em;
	color:#000;
}

h5 {
	margin: 10px 0;
	border-bottom: 1px dotted #CCCCCC;
}

a {
	color:#000000;
}

a:hover {
	text-decoration:none;
}

strong {
	color: #000;
}

hr {
	margin:15px 0;
	height:1px;
	border:none;
	/*border-bottom:1px dashed #CCCCCC;*/
	border-bottom:1px solid #CC0000;
}

p {
	line-height:1.4em;
}

ul, .legales .menu_footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.legales ul {
	margin-left:30px;
	list-style:disc;
}

li {
	margin: 0 0 10px;
	padding: 0px 14px;
}

.legales li {
	padding:0;
}

.seccion li {
	padding:0px 0 0 30px;
	font-size:18px;
	font-weight:500;
	line-height:1.3em;
	background:url("../img/arrow-right-01.png") no-repeat 20px 9px;
}

ul.flechas li {
	padding:0px 0 0 30px;
	background:url("../img/arrow-right-01.png") no-repeat 20px 9px;
}

ol.lista_ordenada_letras {
    list-style-type: lower-latin;
}

.destacado {
	font-size:25px;
	font-style:italic;
	line-height:1.2em;
}

.destacado a {
	text-decoration:underline;
}

#base {
	width:100%;
	margin:auto;
	padding:0px;
	border:0;
	background-color:#FFFFFF;
	text-align:left;
	overflow:hidden;
}

.wrapper {
	box-sizing:border-box;
	position:relative;
	/*max-width:1280px;*/
	max-width:1140px;
	margin:0 auto;
}

.wrapper_l {
	max-width:1100px;
}

.wrapper_m {
	max-width:960px;
}

.wrapper_s {
	max-width:768px;
}

#wrapper-header header {
	height:100px;
	background-color:#fff;
	background-image: none;
}

#header {
	position:relative;
	height:110px;
	border-bottom:5px solid #bb0000;
	z-index:999;
	
	-moz-box-shadow: 0 1px 4px rgba(0,0,0,.25);
	-webkit-box-shadow: 0 1px 4px rgba(0,0,0,.25);
	box-shadow: 0 1px 4px rgba(0,0,0,.25);
}

#wrapper-header header #logo {
	/*position:absolute;
	top:10px;
	left:25px;*/
	max-height:80px;
	width:200px;
}

#wrapper-header #llamada {
	padding: 5px 11px;
	margin: 0px 0 0 0;
}

#icon_menu {
	display:none;
}

#icons {
	position:absolute;
	top:20px;
	right:25px;
	margin:0;
	line-height:1px;/*En HTML5 le mete a los divs una altura mínima correspondiente al line-height. Por ello le pongo 1px*/
	font-family:'Open Sans', Arial, sans-serif;
}

#icons a {
	float:left;
	margin:0 0 0 20px;
	padding:0;
	background-color:#999999;
}

#icons a:hover {
	background-color:#000;
}

.menu_top {
	line-height:30px;
}

.menu_top  {
	float:left;
	margin:0 0 0 30px;
	padding:0;
}

.menu_top ul {
	float:left;
}

.menu_top li {
	float:left;
	margin:0 20px 0 0;
	padding:0;
	list-style:none;
}

.menu_top a {
	padding:0;
	font-size:14px;
	text-decoration:none;
	color:#fff;
}

.menu_top a:hover {
	text-decoration:underline;
}

.menu_top a.boton_login {
	margin-left:10px;
	border:1px solid #aaa;
	font-size:11px;
}

.menu_top a.boton_login:hover {
	border:1px solid #000;
}

#header nav {
	position:relative;
	/*top:70px;*/
	height:40px;
	margin:70px 0 0;
	padding:0;
	font-family: 'Open Sans Condensed', Arial, sans-serif;
	font-size:22px;
	list-style:none;
	color:#444;
}

#header nav ul {
	float: right;
}

#header nav li {
	float: left;
	height:40px;
	margin:0;
	padding:0 0 0 40px;
	font-family: 'Open Sans Condensed', Arial, sans-serif;
	list-style:none;
	background-image:none;
}

#header nav li a {
	padding:0;
	font-family: 'Open Sans Condensed', Arial, sans-serif;
	color:#444;
	text-decoration: none;
}

#header nav li a:hover {
	color:#bb0000;
}

#header nav li a.active {
	font-weight:700;
	color:#bb0000;
}

#banner {
	position:relative;
	/*height:250px;*/
	height:calc(90vh - 115px);
	margin:0;
	background:#CCCCCC;
	overflow:hidden;
}

.sello_24h {
	position:absolute;
	top:30px;
	right:50px;
	z-index:999;
	width:120px;
}

.scroll_down {
	position:absolute;
	left:50%;
	bottom:30px;
	z-index:999;
	
	transform: translate(-50%, -50%);
}

.flexslider {
	height:100%;
}

.slides {
	height:100%;
}

.slides > div {
	/*position:relative;
	min-height:250px;
	height:100%;
	background-position:center center;
	background-size:cover;*/
}

.slides > div h1 {
	/*position: absolute;
	top:50%;
	left:50%;
	width:100%;
	background:url(../imagenes/flecha-down-blanco-small.png) no-repeat center bottom;
	
	transform: translate(-50%, -50%);*/
}

#banner_aux {
	float:left;
	height:140px;
	width:290px;
	margin:0 10px 0 0;
	background-color:#F0F0F0;
}

#banner_main {
	float:right;
	height:140px;
	width:640px;
	background-color:#F5F5F5;
}

#aux {
	float: right;
	/*width: 210px;*/
	width:100%;
	/*margin:0px 0 0 10px;*/
}



#menu_aux {
	min-height: 100px;
	margin: 0;
	padding: 10px 0 0;
	background: #FFFFFF url(../imagenes/fondo_menu_aux.gif) no-repeat top right;
	color:#555555;
	font-size: 11px;
	list-style: none;
}

#menu_aux ul li {
	margin: 0 0 12px;
	padding:0;
	line-height: 20px;
	list-style: none;
	list-style-image: none;
}

#menu_aux ul li a {
	display: block;
	padding:0 0 0 15px;
	background: url(../imagenes/flecha01_roja.gif) no-repeat 5px 8px;
	color: #555555;
	font-weight: bold;
	text-decoration: none;
}

#menu_aux ul li a:hover {
	color: #FFFFFF;
	background: #F2C30B url(../imagenes/flecha01_blanca.gif) no-repeat 5px 8px;
}






#nav_aux {
	height: 24px;
	margin: 0 0px 5px;
	color: #FFFFFF;
	font-size: 12px;
	line-height: 24px;
	background:#f06206 url(../imagenes/bg-nav-aux.gif) repeat-y right top;
}

#home #nav_aux {
	height: 40px;
	line-height: 40px;
}

#nav_aux ul {
	float:left;
	height:24px;
	margin:0;
	padding:0;
	line-height: 24px;
	list-style: none;
	list-style-image: none;
}

#nav_aux ul li {
	float:left;
	margin:0;
	border-left:1px solid #FFFFFF;
	padding:0 20px;
	background:url(../imagenes/flecha02.gif) no-repeat left center;
}

#nav_aux ul li a {
	color:#FFFFFF;
	font-weight:bold;
	text-decoration:none;
}

#nav_aux ul li a:hover {
	color:#333;
}

#nav_aux li.primero {
	border:none;
	background:none;
}

.flex {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}

.blurb {
	margin-bottom:40px;
	text-align:center;
	align-self: flex-end;
}

.blurb img {
	max-width:100px !important;
	margin-bottom:15px;
}

.blurb p {
	margin:8px 0 0;
	font-weight:500;
}

.indice_servicios {
	font-size:30px;
	font-weight:800;
	line-height:1em;
	text-align:center;
	color:#fff;
}

.indice_servicios > div {
	display:flex;
	justify-content:center;
	align-items:center;
	min-height:270px;
	background:url("../img/bg-particulares.jpg") no-repeat center right / cover;
	cursor:pointer;
}

.seccion {
	display:flex;
	align-items:center;
	min-height:800px;
}

.seccion p {
	font-size:18px;
	font-weight:500;
	line-height:1.3em;
}

.accordion{
	/*padding-left:15px;*/
}

.accordion .pregunta {
	margin:0;
	/*border-top:1px solid #ccc;*/
	padding:20px;
	font-size:18px;
	font-weight:600;
	background:url("../img/arrow-down2.png") no-repeat 98% 25px;
	background-color:#ddd;
	cursor:pointer;
}

.accordion .pregunta:nth-child(even) {
	background-color:#e9e9e9;
}

.accordion .pregunta.active {
	background-image:url("../img/arrow-up2.png");
}

.accordion .respuesta {
	margin:0;
	font-size:16px;
	font-weight:400;
}

.accordion .respuesta p:last-child {
	margin-bottom:0;
}

/* ----------------- NOTICIAS ------------------ */

.noticia_thumbnail {
	margin-bottom:10px;
}

.noticia_thumbnail img {
	height:auto;
}

.noticia_listado a {
	text-decoration:none;
}

.noticia_listado a:hover {
	color:#666;
}

.noticia_listado p {
	margin-top:10px;
}

.noticia_listado a.leer_mas {
	font-size:12px;
	font-weight:700;
	color:#444;
	text-transform:uppercase;
}

.noticia_listado a.leer_mas:hover {
	color:#666;
}

/* ----------------- NOTICIAS ------------------ */


#contenido {
	margin:5px 0px 50px;
}

#contenido .fila {
	display:flex;
}


.boton {
	display:inline-block;
	border:2px solid #181E35;
	padding:12px 25px;
	font-size:15px;
	font-weight:500;
	line-height:1.2em;
	color:#181E35;
	text-decoration:none;
}

.boton_fill, .boton:hover {
	border:2px solid #EC2029;
	color:#fff;
	background-color:#EC2029;
}

.boton_white, .boton_fill.boton_white:hover {
	border:1px solid #fff;
	color:#fff;
	background:transparent;
}

.boton_fill.boton_white  {
	border:1px solid #fff;
	color:#000;
	background-color:#fff;
}

.boton_fill.boton_white:hover, .boton_white:hover  {
	border:1px solid #EC2029;
	color:#fff;
	background-color:#EC2029;
}

.boton_green, .boton_fill.boton_green:hover {
	border:1px solid #31837d !important;
	color:#31837d !important;
	background:transparent !important;
}

.boton_fill.boton_green, .boton_green:hover {
	border:1px solid #31837d !important;
	color:#fff !important;
	background-color:#31837d !important;
}

.botones {
	margin:50px 0 0;
}

.botones .boton {
	margin:0 20px 0 0;
}

.nav_link {
	position:absolute;
	width:100px;
	height:99.5%;
}

.nav_link > div {
	width:100%;
	height:100%;
	background-color:rgba(255,255,255,.5);
	display:none;
}

.nav_link img {
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	height:40px;
	margin: auto;
	text-align:center;
}

#prev {
	left:0;
	/*text-align:left;*/
}

#next {
	right:0;
	/*text-align:right;*/
}

/* TABS ------------------------------- */
#tabs {
	margin:0 0 10px;
}
#tabs ul {
	width:100%;
	height:30px;
	margin:0;
	border-bottom:1px solid #bbb;
	padding:0;
	font-family: 'Open Sans Condensed', Arial, sans-serif;
	font-weight:700;
	font-size:16px;
	list-style:none;
}
#tabs ul li {
	position:relative;
	float:left;
	/*width:33.3%;*/
	width:50%;
	height:30px;
	margin:0;
	padding:0;
	line-height:30px;
	text-align:center;
	/*background:#fff;*/
	background:#999;
	overflow:hidden;
}

#tabs ul li a {
	display:block;
	padding:0;
	/*color:#666;*/
	color:#FFF;
	text-decoration:none;
}

#tabs ul li a:hover {
	color:#FFF;
	background:#444;
}

html #tabs ul li.active a {
	/*color:#000;*/
	color:#fff;
}

html #tabs ul li.active, html #tabs ul li.active a:hover {
	/*background:#ddd;*/
	font-family: 'Open Sans Condensed', Arial, sans-serif;
	font-weight:700;
	font-size:16px;
	color:#fff !important;
	background-color:#88c617;
}

.tab_content {
	padding:10px 10px;
	overflow:hidden;
}
/* END TABS ------------------------------- */


#mapa {
	box-sizing: border-box;
	/*width:400px;
	height:300px;*/
	width:100%;
	height:450px;
	margin:0 0 20px;
	border:4px solid #bbb;
}

#google_map {
	margin:0 0 20px;
	clear:both;
}

.texto_s {
	font-size:11px;
}

#scroll_to {
	position:fixed;
	bottom:20px;
	left:50%;
	line-height:1px;
	opacity:0.4;
	
	-webkit-transition: opacity 0.4s ease-in-out;
	-moz-transition: opacity 0.4s ease-in-out;
	-ms-transition: opacity 0.4s ease-in-out;
	-o-transition: opacity 0.4s ease-in-out;
	transition:opacity 0.4s ease-in-out;
}

#scroll_to:hover {
	opacity:1;
}

#footer {
	padding:50px 0;
	font-size:16px;
	color:#fff;
	/*background:#52948f url("../img/bg-grafiti-xl.jpg") no-repeat bottom right;*/
	background-color:#181E35;
	overflow:hidden;
	clear:both;
}

.logo_footer {
	max-width:200px !important;
	margin-bottom:5px;
	/*filter:grayscale(100%) brightness(600%);*/
}

nav.menu_footer li {
	margin:0 0 5px;
	padding:0;
	font-size:14px;
}

nav.menu_footer li a {
	text-decoration:none;
}

nav.menu_footer li a:hover {
	text-decoration:underline;
}

#footer a {
	color:#fff;
}

.legal {
	font-size: 13px;
	font-weight:500;
	line-height:2em;
	color:#aaa;
}

#footer .legal a {
	color:#aaa;
}

#by {
	float: right;
	height: 31px;
	margin: 5px 0 0;
}

/*TABLAS --------------------------------------------*/

thead {
	padding: 4px 8px;
	background-color: #DDDDDD;
	color: #444444;
	font-weight: bold;
	text-align: center;
}

tfoot {
	background-color: #DDDDDD;
	text-align: center;
}

.texto_legal {
	font-size:11px;
}

/*Clases --------------------------------------------*/

.clear {
	clear: both;
}

.odd {
	background-color: #dcdce1;
}

.no_margin {
	margin:0 !important;
}

.no_margin_top {
	margin-top:0 !important;
}

.no_margin_right {
	margin-right:0 !important;
}

.no_margin_left {
	margin-left:0 !important;
}

.margin_top_bottom_xs {
	margin-top:10px !important;
	margin-bottom:10px !important;
}
.margin_top_bottom_s {
	margin-top:25px !important;
	margin-bottom:25px !important;
}
.margin_top_bottom_m {
	margin-top:50px !important;
	margin-bottom:50px !important;
}
.margin_top_bottom_l {
	margin-top:100px !important;
	margin-bottom:100px !important;
}
.margin_top_bottom_xl {
	margin-top:150px !important;
	margin-bottom:150px !important;
}
.margin_top_xs { margin-top:10px !important; }
.margin_top_s { margin-top:25px !important; }
.margin_top_m { margin-top:50px !important; }
.margin_top_l { margin-top:80px !important; }
.margin_top_xl { margin-top:150px !important; }
.margin_bottom_xs { margin-bottom:10px !important; }
.margin_bottom_s { margin-bottom:25px !important; }
.margin_bottom_m { margin-bottom:50px !important; }
.margin_bottom_l { margin-bottom:80px !important; }
.margin_bottom_xl { margin-bottom:150px !important; }

.padding_top_bottom_xs {
	padding-top:10px !important;
	padding-bottom:10px !important;
}
.padding_top_bottom_s {
	padding-top:25px !important;
	padding-bottom:25px !important;
}
.padding_top_bottom_m {
	padding-top:50px !important;
	padding-bottom:50px !important;
}
.padding_top_bottom_l {
	padding-top:100px !important;
	padding-bottom:100px !important;
}
.padding_top_bottom_xl {
	padding-top:150px !important;
	padding-bottom:150px !important;
}
.padding_top_xs { padding-top:10px !important; }
.padding_top_s { padding-top:25px !important; }
.padding_top_m { padding-top:50px !important; }
.padding_top_l { padding-top:80px !important; }
.padding_top_xl { padding-top:150px !important; }
.padding_bottom_xs { padding-bottom:10px !important; }
.padding_bottom_s { padding-bottom:25px !important; }
.padding_bottom_m { padding-bottom:50px !important; }
.padding_bottom_l { padding-bottom:80px !important; }
.padding_bottom_xl { padding-bottom:150px !important; }

.left {
	float: left;
	margin: 0;
}

.right {
	float: right;
	margin: 0;
}

.center {
	margin-left:auto;
	margin-right:auto;
}

.img_left {
	float: left;
	margin: 0 20px 0 0;
	border: 1px solid #DDDDDD;
}

.align_left {
	text-align:left;
}

.align_center {
	text-align:center;
}

.align_right {
	text-align:right;
}

.img_right {
	float: right;
	margin: 0 0px 0 20px;
	border: 1px solid #DDDDDD;
}

.velo:before {
	content: "";
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background-color:#000;
	/*opacity:.5;*/
	opacity:.4;
}

.velo:not(.banner):hover:before {
	opacity:.8;
}

.velo > div {
	z-index:1;
}

.velo.opacity_0, .velo.opacity_25, .velo.opacity_40, .velo.opacity_50, .velo.opacity_60, .velo.opacity_75, .velo.opacity_100 {
	opacity:1 !important;
}
.opacity_0, .opacity_0:before  {
	opacity:0;
}
.opacity_25, .opacity_25:before {
	opacity:.25;
}
.opacity_40, .opacity_40:before {
	opacity:.4;
}
.opacity_50, .opacity_50:before {
	opacity:.5;
}
.opacity_60, .opacity_60:before {
	opacity:.6;
}
.opacity_75, .opacity_75:before {
	opacity:.75;
}
.opacity_100, .opacity_100:before {
	opacity:1;
}

.size_s { font-size:12px; }
.size_m { font-size:14px; }
.size_l { font-size:16px; }
.size_xl { font-size:18px; }


.importante {
	font-weight:bold;
	color:#e00;
}

.color_white {
	color:#fff !important;
}

.color_black {
	color:#000 !important;
}

.color_green {
	color:#31837d;
}

.color_blue {
	color:#254267;
}