@charset "utf-8";
*{outline:none !important}
html{height:100%;}
body{
	font-family:"Arial", sans-serif;
	font-size:14px;	
	color:#616161;
	min-width:320px;
	margin:auto;
	background:#fff;
	line-height:19px;
}

body p{font-family:inherit;font-size:inherit;color:inherit; line-height:normal}
.container{margin:auto; line-height:23px; text-align:justify; position:relative; color:#757575; max-width: 1060px;}
.container:before,
.container:after{display:block; content:""; clear:both;}
.animar{transition: all 0.3s ease-in-out 0s;-moz-transition: all 0.3s ease-in-out 0s;-webkit-transition: all 0.3s ease-in-out 0s;}

#header{
	width: 100%;
	z-index: 3;
	height: 164px;
	position: absolute;
	top: 0;
	left: 0;
	
}

#darkTop{
	height: 51px;
	width: 100%;
	background: transparent;
	position: relative;
}
#darkTop:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 8px;
	background: #ce000c;
	z-index: 1;
}
#darkTop .bgTop{
	height: 590px;
	width: 450px;
	position: absolute;
	top: 0;
	left: 15px;
	z-index: 0;
}
#darkTop .bgTop:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 978px;
	height: 100%;
	background: url(../images/banner/bgTop.png) top right no-repeat;
	background-size: cover;
	z-index: -1;
}
.contenDark{
	padding-right: 50px;
	padding-top: 59px;
	max-width: 349px;
	position: relative;
	z-index: 2;
}
.logo{
	padding-bottom: 34px;
	border-bottom: solid 1px #f5f5f5;
	margin-bottom: 27px;
}
.datosTop{
	display: flex;
	color: #ffffff;
	font-family: 'Lato', sans-serif;
	font-size: 15px;
	line-height: 21px;
	letter-spacing: 0.25px;
	font-weight: 300;
	margin-bottom: 27px;
	height: 22px;
	text-align: left;
}
.h-auto{
	height: auto;
	padding-right: 70px;
}
.datosTop .icoTop{
	width: 23px;
	margin-right: 10px;
}
.datosTop a{
	color: #ffffff;
}

#redes{
	width: auto;
	height: 30px;
	display: flex;
	align-items: center;
	padding-left: 33px;
}
#redes a{
	color: #ffffff;
	height: 30px;
	width: 31px;
	text-align: center;
	display: inline-block;
	margin-right: 7px;
}
#redes a:last-child{
	margin-right: 0;
}
#redes a .fa{
	display: none;
}
#redes .fb{
	background: url(../images/redes/redes.png) left;
}
#redes .tr{
	background: url(../images/redes/redes.png);
	background-position-x: -37.5px; 
}
#redes .in{
	background: url(../images/redes/redes.png) right;
}

#redes a:hover,#redes a:focus{
	opacity: 0.85;
}
#topMenu{
	background: rgba(255,255,255,0.9);
	height: 113px;
	width: 100%;
}
#menu{
	margin: auto;
	position: absolute;
	right: 15px;
	top: 0;
	height: 113px;
}
#menu ul{
	margin: 0;
}
#menu ul:before,
#menu ul:after{
	display: block;
	content: "";
	clear: both;
}
#menu li{
	float: left;
	position: relative;
	width: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(../images/banner/li.png) right center no-repeat;
	background-size: auto;
	padding: 0 8px;
}
#menu li a{
	display: block;
	color: #535353;
	position: relative;
	background: transparent;
	font-size: 18px;
	font-family: 'Oswald', sans-serif;
	font-weight: 300;
	line-height:113px;
	height: 113px;
	padding: 0 2px;
}
#menu li:first-child{
}
#menu li:nth-child(4){
}
#menu li:last-child{
	background: transparent;
}
#menu li:last-child a{
	padding-right: 0;
}

#menu li.active a, #menu li a:hover, #menu li a:focus{
	color:#ce000c;
}

#datFooter{
	background:#333333;
	padding-top: 25px;
	padding-bottom: 45px;
	border-bottom: solid 3px #747474;
}
#datFooter .contentDat{
	display: flex;
	justify-content: flex-start;
	text-align: left;
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	color: #ffffff;
	flex-wrap: wrap;
}
#datFooter .conf1{
	width: calc(60% - 30px);
	font-size: 14px;
	line-height: 24px;
	margin-right: 60px;
	margin-bottom: 40px;
}
#datFooter .conf1 figure{
	border-bottom: solid 2px #f5f5f5;
	margin-bottom: 12px;
	padding-bottom: 18px;
}
#datFooter .conf1 figure img{
	margin: auto;
}
#datFooter .conf2{
	margin-right: 0;
	width: calc(40% - 30px);
	margin-bottom: 40px;
}
#datFooter .conf3{
	margin-right: 60px;
	font-size: 15px;
	line-height: 21px;
	letter-spacing: 0.25px;
	width: calc(60% - 30px);
}
#datFooter .conf4{
	width: calc(40% - 30px);
}
#datFooter .conf3 strong{
	font-weight: 700;
	display: block;
}
.divContFoot{
	margin-bottom: 10px;
}
#datFooter .tit{
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	font-size: 28px;
	letter-spacing: 0.25px;
	color: #ffffff;
	padding-top: 16px;
	margin-bottom: 22px;
}
#datFooter a{
	color: #ffffff;
}
#datFooter ul{
	font-size: 15px;
	line-height: 26px;
	list-style: none;
}

.redSocial{
	width: auto;
	height: 30px;
	display: flex;
	align-items: center;
}
.redSocial a{
	color: #ffffff;
	height: 30px;
	width: 31px;
	text-align: center;
	display: inline-block;
	margin-right: 7px;
}
.redSocial a:last-child{
	margin-right: 0;
}
.redSocial .fb{
	background: url(../images/redes/redes.png) left;
}
.redSocial .tr{
	background: url(../images/redes/redes.png);
	background-position-x: -37.5px; 
}
.redSocial .in{
	background: url(../images/redes/redes.png) right;
}

.redSocial a:hover,.redSocial a:focus{
	opacity: 0.85;
}


/*Footer*/
#footer{
	text-align:center;
	font-size:11px;
	color:#FFF;
	background:#333333;
	line-height:18px;
	font-family:'Arial', sans-serif;
	min-height: 50px; 
}
#footer .container{padding-top:17px; padding-bottom:17px; font-family:inherit; font-size:inherit}
#footer .tfooter{
	color:#FFF;
	line-height:16px;	
	text-align:left;
	float:left;
}
#footer #powered {
	color:#FFF; 
    line-height: 16px;
    margin: 0 auto 0;
    width: auto;
	text-align:right;
	float:right
}
#footer a{	
	color:#FFF;	
}
#footer #powered a{background: url(../images/iconGlobal.png) no-repeat center left;padding:3px 0 3px 20px}
#footer a:hover{
	text-decoration:underline;
}
#footer #powered a{color:#FFF;}
/*Footer*/




/*==================     ToTop     ======================*/
a.toTop {
  width: 40px;
  height: 40px;
  font-size: 20px;
  line-height: 37px;
  color: #fff;
  border-radius: 50%;
  position: fixed;
  background:#000;
  border:solid 1px #fff;
  left: 21px;
  bottom: 65px;
  display: none;
  overflow: hidden;
  text-align: center;
  text-decoration: none;
  cursor:pointer;
  z-index: 20; opacity:.75 }
a.toTop:hover,
a.toTop:active {color: #000;
    text-decoration: none; opacity:1; background:#fff}
a#toTop
a#toTop .fa{color:#FFF !important;}
a.toTop:hover:after{
	-webkit-transform:scale(1.3);
	-moz-transform:scale(1.3);
	-ms-transform:scale(1.3);
	transform:scale(1.3);
	opacity:0;
}
.mobile .toTop,
.tablet .toTop {display: none !important; }
.contCaption{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.contCaption .container{
	height: 100%;
}
#sliderTop .caption:before{
	content: '';
	position: absolute;
	width: 450px;
	height: 100%;
	top: 0;
	right: -450px;
	background: url(../images/banner/before.png) right center no-repeat;
	background-size: cover;
}
#sliderTop .caption{
	background: url(../images/banner/caption.png) left center no-repeat;
	background-size: cover;
	width: auto;
	height: 128px;
	font-family: "Oswald", serif;
	bottom: 31px;
	position: absolute;
	right: -10px;
	text-align: right;
	font-size: 33px;
	color: #ffffff;
	font-weight: 200;
	text-transform: uppercase;
	line-height: 40px;
	padding-left: 38px;
}
#sliderTop .caption article{
	padding: 24px 0 0;
}
#sliderTop .caption strong{
	font-weight: 700;
	display: block;
	font-size: 36px;
}
#sliderTop{
	height: 590px;
	margin-top: 0px;
}
#sliderTop .slides li{
	height: 590px;
	position: relative;
	background-position: center right !important;
	background-size: cover;
}

.flex-direction-nav .flex-prev {
	margin-left: -360px;
}
.flex-direction-nav .flex-next {
	margin-left: -315px;
}
#formTop{
	position: relative;
	z-index: 5;
	padding-bottom: 31px;
	padding-top: 33px;
}
#frmContacto{
	overflow: hidden;
}
#frmContacto .tit{
	color: #5e5e5e;
	font-family: "Lato", serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 25px;
	position: relative;
	margin-bottom: 30px;
	padding: 3px 0;
	text-align: center;
}
#frmContacto .row{
	margin: 0 -3px;
}
#frmContacto div[class*="col-"]{
	padding: 0 3px;
}
#frmContacto .form-group{
	margin-bottom: 6px
}
#frmContacto .form-control{
	display: block;
	height: 45px;
	-webkit-border-radius: 0;
	   -moz-border-radius: 0;
			border-radius: 0;
	font-family: "Verdana", serif;
	font-size: 11px;
	font-weight: 400;
	color: #949494;
	border: 1px solid #d5d5d5;
	box-shadow: inset 0 1px 1px transparent;
}
#frmContacto .textarea{
	height: 92px
}

#frmContacto input[type=submit],
#frmContacto input[type=reset]{
	display:inline-block; 
	height:42px; 
	background:#ce000c; 
	color:#ffffff; 
	text-transform:uppercase; 
	font-family:Arial, sans-serif; 
	font-size:11px;
	width: 83px;
	text-align: center;
	font-weight: 400;
	border-radius: 5px;
	margin-top: 20px;
}
#frmContacto input[type=submit]:hover,
#frmContacto input[type=reset]:hover{opacity:.8}
#frmContacto .error input,
#frmContacto .error textarea{border:solid 1px #000; background:rgba(255,216,217,1.00); color:#000}

.frmContacto input::-webkit-input-placeholder {color:#959595; opacity:  1;}
.frmContacto input:-moz-placeholder {color:#959595; opacity:  1;}
.frmContacto input::-moz-placeholder {color:#959595; opacity:  1;}
.frmContacto input:-ms-input-placeholder {color:#959595; opacity:  1;}
.frmContacto textarea::-webkit-input-placeholder {color:#959595; opacity:  1;}
.frmContacto textarea:-moz-placeholder {color:#959595; opacity:  1;}
.frmContacto textarea::-moz-placeholder {color:#959595; opacity:  1;}
.frmContacto textarea:-ms-input-placeholder {color:#959595; opacity:  1;}
.frmContacto input:focus::-webkit-input-placeholder {opacity:0.5}
.frmContacto input:focus:-moz-placeholder{opacity:0.5}
.frmContacto input:focus::-moz-placeholder{opacity:0.5}
.frmContacto input:focus:-ms-input-placeholder{opacity:0.5}
.frmContacto textarea:focus::-webkit-input-placeholder{opacity:0.5}
.frmContacto textarea:focus:-moz-placeholder{opacity:0.5}
.frmContacto textarea:focus::-moz-placeholder{opacity:0.5}
.frmContacto textarea:focus:-ms-input-placeholder{opacity:0.5}

#frmContacto .has-error .form-control-feedback{line-height:36px; height:100%; }
#frmContacto .has-error input{
	border-color: #a94442;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;
}

#main{
	overflow: hidden
}
.desktop .wow{
	visibility: hidden;
}

.contentHome1{
	height: 415px;
	display: flex;
	align-items: center;
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	line-height: 28px;
	letter-spacing: 0.25px;
	color: #474747;
}
.titleHome1{
	color: #353535;
	font-weight: 900;
	font-size: 30px;
	text-transform: uppercase;
	text-align: center;
	padding-bottom: 16px;
	margin-bottom: 14px;
	position: relative;
}
.titleHome1:before{
	content: '';
	position: absolute;
	height: 5px;
	width: 34px;
	background: #ce000c;
	left: calc(50% - 17px);
	bottom: -5px;
}
#textHome2{
	background: url(../images/inicio/fondo1.jpg) center right no-repeat;
	background-size: cover;
}
#textHome2 .contentHome2{
	padding-left: 50%;
	position: relative;
	height: 474px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	text-align: right;
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.25px;
	color: #ffffff;
}
#textHome2 .contentHome2 span{
	font-weight: 900;
}
#textHome2 .contentHome2 .bg1{
	position: absolute;
	top: 0;
	left: -600px;
}
.titleHome2{
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	font-size: 28px;
	line-height: 32px;
	text-transform: uppercase;
	letter-spacing: 0.25px;
	color: #ffffff;
	margin-bottom: 20px;
}
.titleHome2 strong{
	font-weight: 900;
	display: block;
}
.contHome2{
	padding-left: 20px;
}
#textHome2 .contentHome2 span.span1{
	font-weight: 300;
	display: inline;
}
.btn-mas{
	width: 221px;
	height: 50px;
	background: #ce000c;
	border-radius: 25px;
	font-size: 24px;
	color: #ffffff;
	line-height: 38px;
	margin-top: 15px;
}
.btn-mas:hover,.btn-mas:focus{
	color: #ffffff;
	opacity: 0.85;
}
#textHome3{
	background: #ce000c;
	margin-top: 15px;
}
#textHome3 .contentHome3{
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	font-size: 28px;
	line-height: 28px;
	color: #ffffff;
	text-align: center;
	padding: 34.5px 0;
}
#textHome3 .contentHome3 strong{
	font-weight: 900;
}
#textHome4{
	padding-top: 49px;
	padding-bottom: 13px;
}
#textHome4 .row{
	margin: 0 -12px;
}
#textHome4 .row div[class*="col-"]{
	padding: 0 12px;
	margin-bottom: 40px;
	width: 50%;
}
#textHome4 .row div[class*="col-"] img{
	margin: auto;
}
#textNos1 .contentNos1{
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 14.9px;
	line-height: 26px;
	color: #474747;
	letter-spacing: -0.1px;
	padding: 77px 0;
}
#textNos1 .contentNos1 strong{
	font-weight: 900;
}
#textNos1 .titleMision{
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	font-size: 30px;
	line-height: 30px;
	color: #353535;
	text-transform: uppercase;
	padding-bottom: 21px;
	margin-bottom: 15px;
	border-bottom: solid 1px #5c5f62;
	position: relative;
}
#textNos1 .vision{
	margin-top: 30px;
}
#textNos1 .titleMision:before{
	content: '';
	position: absolute;
	width: 34px;
	height: 5px;
	background: #ce000c;
	left: 0;
	bottom: -2.5px;
}
#textNos2{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
#textNos2:before{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.25);
	z-index: 2;
}
#textNos3{
	background: url(../images/nosotros/fondo1.jpg) center no-repeat;
	background-size: cover;
	padding-top: 67px;
}
.titleNos3{
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	font-size: 30px;
	line-height: 30px;
	color: #353535;
	text-transform: uppercase;
	padding-bottom: 20px;
	border-bottom: solid 1px #5c5f62;
	text-align: center;
	position: relative;
	margin-bottom: 50px;
}
.titleNos3:before{
	content: '';
	position: absolute;
	width: 34px;
	height: 5px;
	bottom: -2.5px;
	left: calc(50% - 17px);
	background: #ce000c;
}
#textNos3 .container{
	color: #616161;
	font-family: 'Lato', sans-serif;
	font-size: 15px;
	font-weight: 300;
	line-height: 24px;
	text-align: center;
	letter-spacing: -0.2px;
}
#textNos3 .container img{
	margin: auto;
}
#textNos3 .container span{
	display: block;
}
.titleItemNos3{
	color: #333333;
	font-weight: 900;
	font-size: 18px;
	padding-top: 18px;
	padding-bottom: 12px;
}
.contentNos3-1{
	margin-right: auto;
	margin-left: auto;
	max-width: 269px;
}
.contentNos3-2{
	max-width: 284px;
	margin: auto;
}
.contentNos3-3{
	max-width: 284px;
	margin-left: auto;
	margin-right: auto;
}
#textNos3 div[class*="col-"]{
	margin-bottom: 63px;
	width: 50%;
}
#textNos3 div[class*="col-"]:nth-child(5),#textNos3 div[class*="col-"]:nth-child(6){
	margin-bottom: 42px;
}
#textServ1{
	background: #eeeeee;
}
#textServ1 .contentServ1{
	color: #353535;
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	font-size: 30px;
	letter-spacing: 0.25px;
	text-transform: uppercase;
	line-height: 30px;
	padding: 36px 0;
	text-align: center;
}
#textServ2{
	padding-top: 50px;
	padding-bottom: 3px;
}
#textServ2 .row{
	margin: 0 -23.5px;
}
#textServ2 div[class*="col-"]{
	width: 50%;
	padding: 0 23.5px;
	margin-bottom: 49px;
}
#textServ2 div[class*="col-"] .contentServ2{
	max-width: 312px;
	margin: auto;
}
#textServ2 .contentServ2 figure{
	position: relative;
	display: inline-block;
}
#textServ2 .contentServ2 figure .titleServ2{
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(../images/servicios/bgserv.png) left top no-repeat;
	height: 78px;
	width: 100%;
	display: flex;
	align-items: center;
	padding-top: 17px;
}
#textServ2 .contentServ2  .titleS2{
	padding-left: 14px;
	font-family: 'Lato', sans-serif;
	font-size: 18px;
	letter-spacing: 0.25px;
	line-height: 20px;
	font-weight: 400;
	color: #ffffff;
}
#textServ3{
	background: #d3d3d3;
}
#textServ3 .container{
	color: #353535;
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	font-size: 30px;
	letter-spacing: 0.25px;
	text-transform: uppercase;
	line-height: 30px;
	padding: 24px 0;
	text-align: center;
}
#textServ4{
	background: #efefef;
	padding-top: 42px;
	padding-bottom: 44px;
}
#textServ4 .contentServ4{
	margin: 0 -7.5px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#textServ4 .itemServ4{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 108px;
	padding: 0 15px;
	border-right: solid 1px #d1d1d1;
}
#textServ4 .itemServ4:first-child{
	padding-left: 0;
	justify-content: flex-start;
}
#textServ4 .itemServ4:last-child{
	padding-right: 0;
	justify-content: flex-end;
	border-right: 0;
}
#textServ4 .itemServ4 .multiply{
	mix-blend-mode: multiply;
}
#obras{
	padding-top: 37px;
}
#obras div[class*="col-"]{
	margin-bottom: 47px;
	width: 100%;
}
#obras div[class*="col-"] .contentObra{
	margin-left: auto;
	margin-right: auto;
}
#obras div[class*="col-"]:nth-child(2n + 2) .contentObra{
	margin-left: auto;
	margin-right: auto;
}
.contentObra{
	max-width: 485px;
}
.obras{
	position: relative;
}
.anioObra{
	background: url(../images/obras/anio.png) center no-repeat;
	background-size: cover;
	height: 31px;
	width: 116px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: auto;
	color: #ffffff;
	font-family: 'Lato';
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.25px;
}
.titleObra{
	background: url(../images/obras/title.png) center no-repeat;
	background-size: cover;
	height: 51px;
	font-family: 'Oswald', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 51px;
	padding-left: 24px;
	text-overflow: ellipsis;
 	white-space: nowrap;
 	overflow: hidden;
 	color: #ffffff;
 	text-transform: uppercase;
 	margin-bottom: 1px;
}
.dateObra{
	display: flex;
	margin-bottom: 1px;
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	color: #ffffff;
}
.dateObra div:first-child{
	background: #494949;
	height: 35px;
	width: 123px;
	padding-left: 7px;
	border-right: solid 2px #e3002e;
	margin-right: 1px;
	line-height: 35px;
	font-weight: 700;
	color: #ffffff;
	text-align: left;
}
.dateObra div:last-child{
	width: calc(100% - 124px);
	background: #e5e5e5;
	line-height: 35px;
	color: #616161;
	padding-left: 16px;
	padding-right: 10px;
	text-overflow: ellipsis;
 	white-space: nowrap;
 	overflow: hidden;
 	text-align: left;
}
.obrades div:first-child{
	height: 130px;
	line-height: 130px;
}
.obrades div:last-child{
	height: 130px;
	text-overflow: inherit;
	white-space: normal;
	overflow: auto;
	line-height: 24px;
	text-align: left;
}
.noHay{
	text-align: center;
	font-family: 'Lato', sans-serif;
	font-size: 22px;
	line-height: 24px;
	color: #616161;
	font-weight: 400;
	padding-bottom: 57px;
	padding-top: 20px;
}
#darkTop .caption{
	display: none;
}