
/* default */
html{
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
body{
	overflow-x: hidden;
	background: #eeeeee;
	
	color: #111111;
	font-family: 'Inter', sans-serif;
	-webkit-font-smoothing: antialiased;
}
a{
	color: #f54336;
	text-decoration: none;
}
a:hover{
	color: #ff1100;
}

/* espaciado */
.espacio{
	padding: 100px 0;
}
.espacio-abajo{
	padding: 0 0 100px 0;
}
.espacio-arriba{
	padding: 100px 0 0 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 */
p{
	font-size: 16px;
	font-weight: 400;
}

.titulo{
	color: #181617;
	font-size: 44px;
	font-weight: 800;
	letter-spacing: -0.035rem;
}
.subtitulo{
	margin-bottom: 15px;
	
	color: #181617;
	font-size: 30px;
	font-weight: 800;
	line-height: 36px;
}
.volanta{
	color: #52a0d7;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.volanta-negra{
	margin-bottom: 30px;
	
	color: #000;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 1px;
	text-transform: uppercase;
}

/* colores */
.negro{
	background: #181617;
}
.gris{
	background: #e3e3e3;
}
.gris2{
	background: #cccccc;
}
.blanco{
	background: white;
}

/* footer */
.footer {
	background: #232122;
}
.footer nav{
	display: inline-block;
}
.footer nav a{
	display: inline-block;
	margin-left: 60px;
	
	color: #8b97b2;
	font-weight: 600;
	text-decoration: none;
}
.footer nav a:first-child{
	margin-left: 0;
}
.footer nav a:hover{
	color: white;
}

a.boton{
	display: inline-block;
	padding: 7px 30px;
	
	background: #f54336;
	border-radius: 15px;
	
	color: white;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}
a.boton:hover{
	background: #ff1100;
}

a.botonblanco{
	background: white;
	
	color: #181617;
	font-size: 14px;
	font-weight: 800;
}
a.botonblanco:hover{
	background: white;
	
	-webkit-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.03);
	-moz-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.03);
	box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.03);
	
	color: #f54336;
}

.footer a.boton{
	margin: 0 60px;
}
.footer a:hover img{
	opacity: 0.75;
}

/* noticias barra */
.noticias-barra{
	position: relative;
}
.sombra{
	position: absolute;
	top: 0;
	left: 0;
	
	display: block;
	width: 100%;
	height: 7px;
	
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0.03+0,0+100 */
	background: -moz-linear-gradient(top,  rgba(0,0,0,0.03) 0%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0.03) 0%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(0,0,0,0.03) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#08000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
	
	
}

.noticias-barra article h5 a{
	display: block;
	margin-bottom: 15px;
	
	color: #333333;
	font-size: 17px;
	font-weight: 700;
}
.noticias-barra article h5 a:hover{
	color: #ff1100;
}
.noticias-barra article p{
	font-size: 15px;
}
.noticias-barra article p a{
	display: block;
	margin-top: 10px;
	
	font-size: 15px;
}


/* obra lista */
.obras-lista{
	position: relative;
	border-top: solid 1px #eee;
}
.engranaje{
	position: absolute;
	top: -50px;
	left: 50%;
	margin-left: -50px;
}

.obra-item{
	clear: both;
	float: left;
	display: block;
	width: 100%;
	padding: 30px 30px 30px 30px;
	
	border-bottom: solid 1px #ddd;
}
.obra-item:hover{
	background: white;
	
	-webkit-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.09);
	-moz-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.09);
	box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.09);
}
.obra-item img{
	display: inline-block;
	float: left;
}
.obra-item section{
	display: inline-block;
	float: left;
	padding: 0 0 0 30px;
}
.obra-item h5{
	font-size: 18px;
	font-weight: 800;
}
.obra-item section p{
	font-size: 14px;
	text-transform: uppercase;
}
.obra-item a:hover{
	text-decoration: underline;
}

/* servicios lista */
.servicios-lista{
	position: relative;
}
.sombra2{
	position: absolute;
	bottom: 0px;
	left: 0;
	
	display: block;
	width: 100%;
	height: 20px;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,0.03+100 */
	background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,0.01) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.01) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.01) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#08000000',GradientType=0 ); /* IE6-9 */
}

a.servicio-item{
	position: relative;
	
	float: left;
	display: block;
	width: 13.5%;
	margin-right: 10px;
	
	background: #f54336;
}
a.servicio-item span{
	position: absolute;
	top: 0;
	left: 0;
	
	display: block;
	width: 100%;
	
	opacity: 0;
	color: white;
	font-size: 45px;
	font-weight: 400;
	line-height: 120px;
	text-align: center;
}
a.servicio-item strong{
	display: block;
	width: 100%;
	padding: 15px 0;
	
	background: white;
	
	color: black;
	font-size: 13px;
	font-weight: 700;
	line-height: 19px;
}

a.servicio-item:last-child{
	margin-right: 0;
}
a.servicio-item:hover strong{
	color: #f54336;
}

a.servicio-item:hover img{
	opacity: 0.2;
}
a.servicio-item:hover span{
	opacity: 1;
}

/* negro */
.negro h2{
	color: white;
}
.negro p{
	color: #d1d1d1;
}
.negro p a:hover{
	text-decoration: underline;
}
img.img-nosotros-2{
	margin-top: -40px;
	margin-left: -30px;
}

/* home header*/
.header-home{
	position: relative;
	
	width: 100%;
	height: 600px;
	
	background: url(../_img/_inicio/header.jpg) no-repeat center top;
	background-size: 1920px;
	
	color: white;
}
.header-home h1.titulo{
	margin-top: 250px;
	color: white;
}
.header-home h2.subtitulo{
	opacity: 0.75;
	
	color: white;
	font-size: 18px;
	font-weight: 400;
}

.header-home .sombra{
	position: absolute;
	top: 0;
	left: 0;
	
	display: block;
	width: 100%;
	height: 7px;
	
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+100&0.03+0,0+100 */
	background: -moz-linear-gradient(top,  rgba(0,0,0,0.05) 0%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0.05) 0%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(0,0,0,0.05) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#08000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
	
	
}

/* menu */
nav.navbar-cpi{
	padding: 30px 0;
}
nav.navbar-cpi li.nav-item{
	margin-right: 60px;
}
nav.navbar-cpi a.nav-link{
	color: #202737;
	font-weight: 600;
}
nav.navbar-cpi a.nav-link:hover{
	color: #f54336;
}

/* contacto */
.contacto{
	position: relative;
}
	
ul.lista{
	display: block;
	padding: 0;
	list-style: none;
}
ul.lista li{
	display: block;
	padding: 0 0 20px 30px;
	
	background: url(../_img/flecha.png) no-repeat 0 9px;
	background-size: 11px;
}
ul.lista li a:hover{
	text-decoration: underline;
}

.formulario{
	min-height: 450px;
	padding: 30px;
	
	background: #f3f4f4;
	
	-webkit-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.03);
	-moz-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.03);
	box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.03);
}

a.link-mapa:hover img{
	opacity: 0.75;
}

/* noticias */
.noticias article{
	display: block;
	padding: 45px 0;
	
	border-bottom: solid 1px #ddd;
}
.noticias article a{
	display: block;
}
.noticias article a strong{
	color: #333333;
}
.noticias article a span{
	display: block;
	padding: 12px 0;
	color: black;
}
.noticias article a em{
	display: block;
	font-style: normal;
	font-size: 14px;
}
.noticias article a:hover em{
	text-decoration: underline;
}

.sidebar .search-form input{
	display: block;
	width: 100%;
	height: 38px;
	
	border: 0;
	border-radius: 15px;
	
	text-indent: 15px;
}
.sidebar hr{
	display: block;
	margin: 60px 0;
	color: #aaa;
}
.sidebar ul.lista li:last-child{
	padding-bottom: 0 !important;
}
.sidebar a:hover img{
	opacity: 0.75;
}

/* nosotros */
.nosotros h3{
	display: block;
	padding: 75px 45px 60px 45px;
	
	font-size: 36px;
	font-weight: 800;
}
.nosotros h3 span{
	color: #777777;
}

/* servicios */
.servicios h2{
	margin: 15px 0;
	
	font-size: 18px;
	font-weight: 800;
}
.servicios p{
	display: block;
	margin-bottom: 45px;
}

/* obras */
.obras h1{
	font-size: 30px;
	font-weight: 800;
}
.obras h5{
	margin-bottom: 30px;
	
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.20rem;
	text-transform: uppercase;
}

.filtro{
	min-height: 250px;
	margin-bottom: 45px;
	padding: 30px;
	
	background: #f3f4f4;
	
	-webkit-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.03);
	-moz-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.03);
	box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.03);
}
.filtro ul{
	padding: 0;
}

.filtro li,
.filtro label,
.filtro input,
.filtro select,
.filtro a{
	display: block;
	width: 100% !important;
	margin: 0;
	padding: 0;
}
.searchandfilter ul li {
    padding: 7px 0;
}

.filtro input,
.filtro select{
	margin-bottom: 0px;
	height: 40px;
	
	border: 0;
	border-radius: 15px;
	
	font-size: 14px;
	text-indent: 15px;
}

a.search-filter-reset{
	padding: 10px 0 0 0;
	text-indent: 15px;
}
a.search-filter-reset:hover{
	text-decoration: underline;
}

.obras ul {
	clear: both;
	padding: 0;
	list-style: none;
}
.obras ul li {
	clear: both;
	float: left;
	display: block;
	width: 100%;
	
	background: url(../_img/flecha.png) no-repeat 15px 53px;
	background-size: 11px;
	border-bottom: solid 1px #ddd;
}
.obras ul li:hover {
	background: white url(../_img/flecha.png) no-repeat 15px 53px;
	background-size: 11px;
}

.obras ul li span{
	float: left;
	display: inline-block;
	padding: 45px;
	width: 90%;
	
	font-size: 14px;
	text-transform: uppercase;
}
.obras ul li span strong{
	display: block;
	margin-bottom: 5px;
}
.obras ul li a{
	float: left;
	display: inline-block;
	padding: 45px 0;
}
.obras ul li a:hover{
	text-decoration: underline;
}

/* obra single */
.masobras h6{
	color: white;
}
.masobras section{
	margin-bottom: 15px;
	padding: 30px 45px 15px 45px;
	background: white;
}
.masobras section:hover{
	background: white;
	
	-webkit-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.09);
	-moz-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.09);
	box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.09);
}
.masobras h5{
	display: block;
	min-height: 60px;
	
	font-size: 17px;
	font-weight: 700;
}
.masobras p{
	font-size: 13px;
}
.masobras a{
	font-weight: 500;
}
.masobras a:hover{
	font-size: 13px;
	text-decoration: underline;
}

.obra h1{
	font-size: 36px;
	font-weight: 700;
}
.obra ul.lista{
	clear: both;
	display: block;
	margin: 30px 0;
}
.obra ul.lista li{
	clear: both;
	float: left;
	width: 100%;
}
.obra ul.lista strong{
	float: left;
	display: inline-block;
	width: 150px;
}
.obra ul.lista span{
	float: left;
	display: inline-block;
	width: 500px;
}

/*form*/
.gform_wrapper label.gfield_label, 
.gform_wrapper legend.gfield_label,
span.name_first label,
span.name_last label {
	color: #727272;
	font-weight: 500 !important;
    font-size: 15px;
}
.gform_wrapper .gfield_required {
    color: #0090ff !important;
    margin-left: 4px;
}

div.ginput_complex 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: 40px;
	width: 100%;
	
	border: solid 1px #d7d7d7;
	background: white;
	border-radius: 15px;
	
	color: black;
}
.gform_wrapper textarea.large{
	height: 180px !important;
}

input.gform_button.button{
	display: inline-block;
	padding: 7px 30px;
	
	background: #f54336;
	border-radius: 15px;
	border: 0 !important;
	
	color: white;
	font-weight: 600;
	text-decoration: none;
}
input.gform_button.button:hover{
	background: #ff1100;
}
















