
/* default */
html{
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
body{
	overflow-x: hidden;
	background: #d7e0ef;
	
	color: #042d53;
	font-family: "Geist", sans-serif;
	font-weight: 600;
	
	font-optical-sizing: auto;
	-webkit-font-smoothing: antialiased;
}

/* espaciado */
.espacio{
	padding: 100px 0;
}
.espaciomin{
	padding: 75px 0;
}

.overflow-hidden{
	overflow: hidden !important;
}
.no-padding{
	padding: 0 !important;
}

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

/* texto */
h1, h2, h3, h4, h5, h6{
	font-size: 30px;
	font-weight: 500;
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span{
	font-weight: 900;
}

h1.titulo{
	font-size: 41px;
	font-weight: 900;
}
h1.titulo span{
	font-weight: 500;
}	

hr{
	display: block;
	margin: 30px 0;
	
	background: #46627b;
	border-color: #46627b;
}
.wp-block-separator.has-alpha-channel-opacity{
	display: block;
	
	height: 1px;
	width: 100% !important;
	
	margin: 90px 0 60px 0 !important;
	
	background: #46627b;
	border-bottom: none !important;
	border-color: none !important;
	opacity: 0.3;

}

p{
	font-size: 18px;
}

.texto-blanco{
	color: #ffffff;
}

.fs-24{
	font-size: 24px;
}
	
.fw-500{
	font-weight: 500;
}
.fw-600{
	font-weight: 600;
}
.fw-700{
	font-weight: 700;
}
.fw-800{
	font-weight: 800;
}
.fw-900{
	font-weight: 900;
}

/* colores */
.blanco{
	background: #ffffff;
}
.celeste-claro{
	background: #f1f4fa;
}
.verde{
	background: #199c7d;
}
.azul-oscuro{
	background: #0b2341;
}
.azul-verde{
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#2f6ca4+0,199c7d+100 */
	background: linear-gradient(to right,  rgba(47,108,164,1) 0%,rgba(25,156,125,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.sombra{
	background: url(../_img/cifras/sombra.png) repeat-x 0 1px;
	background-size: 1px;
}

.hover{
	opacity: 1;
}
.hover:hover{
	opacity: 0.75;
}
.redondeada{
	border-radius: 10px;
}

.boton{
	display: inline-block;
	height: 50px;
	padding: 0 25px;
	
	background: linear-gradient(to right,  rgba(0,128,98,1) 0%,rgba(25,156,125,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	border-radius: 10px;
	opacity: 1;
	
	color: white;
	font-size: 18px;
	font-weight: 800;
	line-height: 50px;
	text-decoration: none;
}
.boton:hover{
	opacity: 0.8;
}

.boton-azul{
	background: #0b2341 !important;
}

.boton-blanco{
	background: white !important;
	
	color: #042d53;
	font-size: 16px;
	font-weight: bold;
}

/* semaforo*/
nav.semaforo{
	position: fixed;
	bottom: 35%;
	right: 5%;
	
	padding: 10px;
	
	background: rgba(255,255,255,0.5);
	border-radius: 45px;
	-webkit-box-shadow: 0px 0px 15px 1px rgba(0,0,0,0.05); 
	box-shadow: 0px 0px 15px 1px rgba(0,0,0,0.05);
}
nav.semaforo a{
	display: block;
	margin-bottom: 5px;
	height: 45px;
	width: 45px;
	
	background: white;
	border-radius: 45px;
	
	line-height: 45px;
	text-align: center;
}
nav.semaforo a:last-child{
	margin-bottom: 0;
}
nav.semaforo a:hover{
	background: #199c7d;
}
nav.semaforo a svg{
	fill: #2f6ca4;
}
nav.semaforo a:hover svg{
	fill: white;
}

.alemana-tooltip {
  --bs-tooltip-bg: #2f6ca4;
  --bs-tooltip-color: #ffffff;
}

/* footer */
.footer h6{
	margin-bottom: 30px;
	
	color: white;
	font-size: 20px;
	font-weight: 700;
}
.footer nav{
	display: block;
	margin-bottom: 45px;

}
.footer nav a{
	display: block;
	margin-bottom: 15px;
	padding: 0 0 0 30px;
	
	background: url(../_img/footer/flecha.png) no-repeat 0 8px;
	background-size: 12px;
	
	color: #8bffe4;
	font-size: 16px;
	line-height: 22px;
	text-decoration: none;
}
.footer nav a:hover{
	color: white;
}

.footer-laboral{
	display: block;
	padding: 0 90px 0 30px;
}
.footer-nosotros-gestion{
	display: block;
	padding: 0 0px 0 30px;
}

/* sobre */
.sobre{
	background: url(../_img/sobre/pattern.jpg);
	background-size: 30px;
}
.sobre h4{
	font-size: 24px;
}
.sobre p a{
	color: white;
}
.sobre p a:hover{
	color: #76fede;
}

/* servicios */
a.servicio-box{
	position: relative;
	
	background: #0b2341;
	border-radius: 10px;
	overflow: hidden;
	opacity: 1;
}
a.servicio-box span{
	z-index: 1;
	position: absolute;
	bottom: 35px;
	left: 35px;
	
	display: block;
	width: 80%;
	
	opacity: 1;
	
	color: white;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5rem;
}
a.servicio-box:hover span{
	color: #76fede;
}
a.servicio-box span em{
	font-style: normal;
	font-weight: 500;
}
a.servicio-box img{
	opacity: 0.70;
}
a.servicio-box:hover img{
	opacity: 0.20;
}

/* cifras */
.cifras h6{
	margin-left: -45px;
	
	color: white;
	font-size: 65px;
	font-weight: 900;
	letter-spacing: -0.2rem;
}
.cifras h6 span{
	margin-right: 10px;
	color: #fffdc3;
}
.cifras p{
	display: block;
	margin-bottom: 15px;
	
	color: #c6fff2;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.5rem;
}

/* header */
.azul-textura{
	padding: 165px 0;
	
	background: url(../_img/header/azul-textura.jpg) no-repeat center top;
	background-size: cover;
}
.azul-textura h1{
	display: block;
	padding: 0 110px 34px 0;
	
	color: white;
	font-size: 41px;
	font-weight: 900;
}
.azul-textura p{
	display: block;
	margin: 0 0 30px 0;
	padding: 0 60px 0 0;
	
	color: #aed5f9;
	font-size: 21px;
	font-weight: 600;
}

.sello{
	position: relative;
}
img.sello-naranja{
	position: absolute;
	top: 45px;
	right: -45px;
}

/* nav */
.navbar-ca{
	padding: 0;
}
.navbar-ca .container-fluid{
	padding: 0;
}

a.navbar-brand{
	margin-left: 15px;
}	
.navbar-ca li.nav-item{
	height: 110px;
	border-right: solid 1px #bacfe1;
}
.navbar-ca li.nav-item:last-child,
.navbar-ca li.nav-item:nth-last-child(-n+2){
	border-right: none;
}

.navbar-ca li.nav-item a.nav-link{
	height: 110px;
	padding: 0 30px;
	
	color: #2f6ca4;
	font-size: 17px;
	font-weight: 800;
	line-height: 110px;
}
.navbar-ca li.nav-item a.nav-link:hover{
	background: #eaf0f6;
	text-shadow: solid 1px white;
}
.navbar-ca li.nav-item a.nav-link.boton-go{
	background: linear-gradient(to right,  rgba(0,128,98,1) 0%,rgba(25,156,125,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	opacity: 1;
	color: white;
}
.navbar-ca li.nav-item a.nav-link.boton-go:hover{
	opacity: 0.8;
}

.navbar-ca ul.dropdown-menu{
	margin-top: 1px;
	padding: 0;
	
	border: 0;
	border-radius: 0;
	-webkit-box-shadow: 0px 0px 15px 1px rgba(0,0,0,0.075); 
	box-shadow: 0px 0px 15px 1px rgba(0,0,0,0.075);
	
}
.navbar-ca ul.dropdown-menu li{
	border-bottom: solid 1px #f0f0f0;
}
.navbar-ca ul.dropdown-menu li:last-child{
	border-bottom: none;
}
.navbar-ca a.dropdown-item{
	padding: 15px 25px;
	
	color: #154067;
	font-size: 15px;
	font-weight: 600;
}
.navbar-ca a.dropdown-item:active{
	background: #199c7d;
	color: white;
}

/* servicio */
body.page-template-servicio .servicios{
	background: #f1f4fa !important;
}
	
.contenido h2,
.contenido h3,
.contenido h4,
.contenido h5,
.contenido h6{
	display: block;
	margin-bottom: 30px;
	
	font-weight: 800;
}

.contenido h3 a{
	color: #042d53;
	font-size: 27px;
	font-weight: 800;
	text-decoration: none;
}
.contenido h3 a:hover{
	color: #199c7d;
	text-decoration: underline;
}

.contenido p strong,
.contenido li strong{
	font-weight: 800;
}

.contenido img{
	display: block;
	margin-bottom: 45px;
	
	border-radius: 10px;
}

/* sobre */
.texto-box{
	min-height: 310px;
}

ul.lista-tag-azul{
	padding: 0;
	list-style: none;
}
ul.lista-tag-azul li{
	display: block;
	margin-bottom: 10px;
}
ul.lista-tag-azul li span{
	display: inline-block;
	height: 50px;
	padding: 0 30px 0 15px;
	
	background: #2f6ca4;
	border-radius: 10px;
	
	color: white;
	font-weight: 800;
	line-height: 50px;
}
ul.lista-tag-azul li span svg{
	margin-right: 10px;
	height: 16px;
	width: 16px;
	
	fill: #0b2341;
}

.tag{
	display: inline-block;
	height: 50px;
	padding: 0 30px 0 15px;
	
	background: white;
	border-radius: 10px;
	
	font-size: 20px;
	font-weight: 900;
	line-height: 50px;
}
.tag svg{
	margin-right: 10px;
	height: 16px;
	width: 16px;
	
	fill: #6db8a6;
}

.tag-azul{
	background: #f2f5fa;
}
.tag-azul svg{
	fill: #2f6ca4;
}

ul.lista,
ul.wp-block-list{
	padding: 0;
	list-style: none;
}
ul.lista li,
ul.wp-block-list li{
	padding: 0 0 20px 32px;
	
	background: url(../_img/ui/flecha.png) no-repeat 0 10px;
	background-size: 12px;
}
ul.lista li a,
ul.wp-block-list li a{
	color: #2f6ca4;
}
ul.lista li a:hover,
ul.wp-block-list li a:hover{
	color: #199c7d;
}

/* staff */
.staff-item h6{
	margin-top: 30px;
	
	font-size: 20px;
	font-weight: 900;
}
.staff-item p{
	display: block;
	margin-bottom: 60px;
	
	color: #248791;
	font-size: 18px;
	font-weight: 600;
}

/* contacto */
.contacto-item svg{
	display: inline-block;
	margin-right: 30px;
	margin-left: 15px;
	
	height: 36px;
	
	fill: #6db8a6;
}
.contacto-item p{
	display: inline-block;
	margin: 0;
	height: 36px;
	
	font-size: 16px;
	line-height: 36px;
}
.contacto-item p strong{
	display: inline-block;
	width: 120px;
	font-weight: 800;
}
.contacto-item p a{
	display: inline-block;
	color: #2f6ca4;
}
.contacto-item p a:hover{
	color: #199c7d;
}

/* noticias */
p.publicado,
p.publicado a{
	color: #2f6ca4;
	font-size: 15px;
	font-weight: 600;
}
p.publicado a:hover{
	color: #199c7d;
}

.input-search{
	height: 50px;
	
	border: 0;
	border-radius: 10px;
	background: white url(../_img/ui/lupa.png) no-repeat 93% 17px;
	background-size: 16px;
	
	color: #6b7c97;
	font-size: 15px;
	text-indent: 30px;
}
.sidebar hgroup {
	display: block;
	margin-bottom: 15px;
}
.sidebar hgroup svg{
	display: inline-block;
	width: 24px;
	fill: #042d53;
}
.sidebar hgroup h6{
	display: inline-block;
	margin-left: 6px;
	
	color: #042d53;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.125rem;
	text-transform: uppercase;
}

/* formulario */
div.gfield--type-section{
	margin-bottom: 15px !important;
}
.gform_wrapper h3{
	margin: 30px 0 30px 0 !important;
    font-size: 1.5rem;
}

.gform_wrapper label.gfield_label, 
.gform_wrapper legend.gfield_label,
span.name_first label,
span.name_last label {
	color: white !important;
	font-weight: 600 !important;
    font-size: 18px !important;
}
.gform_wrapper .gfield_required {
    color: #8aad9d !important;
	font-style: normal !important;
	font-weight: 600 !important;
}

div.ginput_complex span input,
div.ginput_container.ginput_container_text input,
div.ginput_container.ginput_container_email input,
div.ginput_container.ginput_container_phone input,
.gform_wrapper textarea.large	{
	padding: 1em 15px 1em 15px !important;
	height: 50px !important;
	width: 100%;
	
	border: none;
	background: white;
	border-radius: 10px;
	
	color: #6b7c97;
}
.gform-theme--foundation .gfield textarea.large {
    min-block-size: 14rem !important;
}

input.gform_button.button,
input.gform_previous_button,
input.gform_next_button{
	display: block !important;
	height: 50px !important;
	width: 100% !important;
	padding: 0 25px !important;
	
	background: linear-gradient(to right,  rgba(0,128,98,1) 0%,rgba(25,156,125,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	border: 0  !important;
	border-radius: 10px !important;
	opacity: 1 !important;
	
	color: white !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 50px !important;
	text-decoration: none !important;
}
input.gform_button.button:hover,
input.gform_previous_button:hover,
input.gform_next_button:hover{
	opacity: 0.8 !important;
}

/* paginación */
.wp-pagenavi a, 
.wp-pagenavi span {
    border: 0 !important;
}
.wp-pagenavi a{
	color: #2f6ca4;
	text-decoration: underline;
}
.wp-pagenavi a:hover{
	color: #199c7d;
}


