/* Reset
----------------------------------------------------------------------------------------------------*/
html, body, address, blockquote, div, dl, form, h1, h2, h3, h4, h5, h6, ol, p, pre, table, ul,
dd, dt, li, tbody, td, tfoot, th, thead, tr, button, del, ins, map, object,
a, abbr, acronym, b, bdo, big, br, cite, code, dfn, em, i, img, kbd, q, samp, small, span,
strong, sub, sup, tt, var, legend, fieldset {
	margin: 0;
	padding: 0;
}

a, a:hover, a:active{
	text-decoration: none	
}

img, fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

ul, il{
	list-style: none;
}

:root {
  color-scheme: only light;
}

/* PRINCIPAL
----------------------------------------------------------------------------------------------------*/
html{
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	position:relative;
	text-align:center;
}

body{
	width:100%;
	height:100%;
	margin:0 auto;
	padding:0;
	font-family:sans-serif;
	text-align:center;
	position:relative;
	overflow:hidden;
	background-color:#ddd;
}

.bg_productos{
    background-image:url(../img/productos/bg.jpg);
}

.noscroll{
	overflow:hidden;
}

.contenedor{
	width:100%;
	height:100%;
	max-height:960px;
	max-width:1440px;
	display:block;
	clear:both;
	margin:0 auto;
	position:relative;
}

.header{
	width:100%;
	height:90px;
	display:block;
	clear:both;
	text-align:center;
	position:fixed;
	top:0;
	left:0;
	padding:25px 0 10px 0;
	z-index:9999;
}

.main{
	width:100%;
	height:-webkit-calc(100% - 160px);
	height:-moz-calc(100% - 160px);
	height:calc(100% - 160px);
	margin:125px auto 0 auto;
	display:block;
	position:relative;
}

.section{
	width:100%;
	height:auto;
	display:block;
	position:relative;
	clear:both;
	margin:0 auto;
}

.footer{
	width:100%;
	height:30px;
	line-height:30px;
	margin:0 auto;
	display:block;
	clear:both;
	text-align:center;
}

.clearbox{
	width: 0;
	height: 0;
	display: block; 
	clear:both;
}


/* HEADER / menu_principal
----------------------------------------------------------------------------------------------------*/
.header .cont{
	width:-webkit-calc(100% - 48px);
	width:-moz-calc(100% - 48px);
	width:calc(100% - 48px);
	height:100%;	
	max-width:1392px;
	display:block;
	clear:both;
	text-align:center;
	position:relative;
	margin:0 auto;
	background:transparent;
}

.header .logo{
	width:auto;
	height:100%;	
	display:block;
	margin:0;
	padding:0;
	float:left;
}

.header .logo img{
	width:auto;
	height:100%;	
}

.menu_principal{
	width:auto;	
	height:auto;
	display:block;
	float:right;
	margin:10px 0 0 0;
}

.menu_principal ul{
	width:auto;
	height:30px;
	display:block;	
	padding:0;
	margin:0;
	float:right;
}

.menu_principal ul.menu_proyecto{	
	padding:0;
	height:29px;
	border:solid #101627;
	border-width:1px 0 0 0;
	margin:5px 0 0 0;
}

.menu_principal ul .nombre_proyecto{
	width:auto;
	height:29px;
	line-height:29px;
	display:block;
	margin:0 20px 0 0;
	padding:0 30px;
	float:left;
	background-color:#101627;
	font-size:14px;
	font-family: 'Open Sans', sans-serif;
	font-weight:normal;
}

.menu_principal ul li{
	width:auto;
	height:30px;
	line-height:30px;
	display:block;
	margin:0;
	padding:0;
	font-size:14px;
	font-family: 'Open Sans', sans-serif;
	font-weight:normal;
	position:relative;
	color:#666;
	float:left;
}

.menu_principal ul li.division2{
	display:inline-block;
	margin:0 10px;
}

.menu_principal .division3{
	width:100%;
	height:1px;
	display:block;
	line-height:1px;
	background:#ccc;
	margin:15px 0;
}

.menu_principal ul li a{
	height:100%;
	display:block;
	cursor:pointer;
	color:#666;
}

.menu_principal ul.menu_proyecto li a{
	color:#666;
}

.menu_principal ul li a:hover{
	color:#333;
}

.menu_principal ul li a img{
	vertical-align:middle;
	float:left;
}

.menu_principal ul li.submenu ul li.sub2{
	display:none !important;
}
	
.menu_principal ul  li a.select,.menu_principal ul  li a:hover.select{
	color:#101627;
	font-weight:bold;
}

.menu_principal ul li.submenu ul{ 
	display:none;
	box-shadow:none;
}

.menu_principal ul li.submenu:hover ul{ 
	width:200px;
	height:auto;
	display:block;
	position:absolute;
	padding:0;
	margin:0;
	top:40px;
	left:0;
	background:#eee;
	border:solid 1px #ccc;
}

.menu_principal ul li.submenu ul li{ 
	width:100%;
	height:40px;
	line-height:40px;
	display:block;
	text-align:left;
	font-size:12px;
	margin:0;
	padding:0;
}

.menu_principal ul li.submenu ul li a{ 
	width:-webkit-calc(100% - 20px);
	width:-moz-calc(100% - 20px);
	width:calc(100% - 20px);
	height:40px;
	line-height:40px;
	padding:0 10px;
	display:block;
	text-align:left;
	border:solid #ccc;
	border-width: 0 0 1px 0;
}

.menu_principal ul li.submenu ul li a.select, .menu_principal ul li.submenu ul li a:hover.select{ 
	font-family: 'Open Sans', sans-serif !important;
	font-weight:bold !important;
}

.menu_principal ul li.social{ 
	margin:0 0 0 10px;
}

.menu_header_sombra{
	width:100%;
	height:5px;
	display:none;
	position:absolute;
	z-index:9998;
	top:0;
	left:0;
	background-size:auto 100%;
	background-position: center center;
	background-repeat: repeat-x;
	background-image:url(../img/sombra.png);
}

.logomovil{
	width:auto;
	height:65px;
	position:absolute;
	z-index:900;
	top:0;
	left:0;
}

.logomovil img{
	width: auto;
	height: 100%;
}

.movil_titulo {
	font-size: 0.70em;
	font-weight: normal;
	font-family: 'open_sansregular', sans-serif;
	float:right;
	line-height:35px;
	padding:0 10px 0 0;
	margin:15px 0;
	text-transform:uppercase;
	display:none;
}

.bt_menu{
	width:65px;
	height:65px;
	margin:0;
	float:right;
	display:none;
	cursor:pointer;
	background:#eb9a17;
}

.bt_menu img{
	width:65px;
	height:65px;
}


/* PARRAFOS Y TITULOS
----------------------------------------------------------------------------------------------------*/
.texto{
	width: 100%;
	height: 100%;
	display: table-cell;
	vertical-align: middle;
}

.mostrar{
	display: none !important;
}

.titulo_01{
	margin:0;
	padding:0;
	font-size:42px;
	font-family:'Open Sans', sans-serif;
	font-weight:lighter;
}

.titulo_02{
	margin:0;
	padding:0;
	font-size:18px;
	font-family:'Open Sans', sans-serif;
	font-weight:lighter;
}

.titulo_03{
	margin:0 0 15px 0;
	padding:0;
	font-size:22px;
	font-family:'Open Sans', sans-serif;
	font-weight:normal;
}

.titulo_04{
	margin:0 0 15px 0;
	padding:0;
	font-size:26px;
	font-family:'Open Sans', sans-serif;
	font-weight:lighter;
}

.parrafo_01{
	margin:0;
	padding:0;
	font-size:14px;
	font-family:'Open Sans', sans-serif;
	font-weight:normal;
	text-align: justify;
}

.parrafo_01 li{
	list-style:disc;
	margin:6px 0 6px 20px;
	padding: 0;
}

.parrafo_02{
	margin:0;
	padding:0;
	font-size:13px;
	font-family:'Open Sans', sans-serif;
	font-weight:normal;
}

.parrafo_02 li{
	list-style:disc;
	margin:6px 0 6px 6px;
	padding: 0;
}

.parrafo_03{
	margin:0;
	padding:0;
	font-size:10px;
	font-family:'Open Sans', sans-serif;
	font-weight:normal;
}

.parrafo_04{
	margin:0;
	padding:0;
	font-size:15px;
	font-family:'Open Sans', sans-serif;
	font-weight:normal;
	text-align: justify;
}

.parrafo_04 li{
	list-style:disc;
	margin:6px 0 6px 20px;
	padding: 0;
}

.letterspacing_x1{
	letter-spacing:1px;
}

.letterspacing_x2{
	letter-spacing:2px;
}

.text_sombra{
	text-shadow:1px 1px 5px #000;
}

.colork{color:#101627;}
.colork2{color:#eb9a17;}
.colorf{color:#fff;}
.colord{color:#ddd;}
.color0{color:#000;}
.color3{color:#333;}
.color6{color:#666;}
.color9{color:#999;}
.colorc{color:#ccc;}
.colord{color:#ddd;}


/* BANNER GENERAL
----------------------------------------------------------------------------------------------------*/
#slide{
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}

#slide .imagebanner{
	width: 100%;
	height: 100%;
	display: block;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	background-size: 100% auto;
	background-position: center center;
	background-repeat: no-repeat;
}

#slide .imagebanner a{
	width:100%;
	height:100%;
	display:block;
	opacity:0;
	position:absolute;
	top:0;
	left:0;
	z-index:1000;
}

#banner_menu .bt{
	position: relative;
	cursor:pointer;
}

#banner_menu .bt .normal{
	width:100%;
	height:100%;
	position:absolute;
	z-index:200;
	display:block;
}

#banner_menu .bt .over{
	width:100%;
	height:100%;
	position:absolute;
	z-index:100;
	display:none;
}


/* BANNER_INICIO
----------------------------------------------------------------------------------------------------*/
.banner_inicio{
	width:70%;
	height:100%;
	margin:0;
	background-color:#666;
}

.banner_inicio #slide {
	width:100%;
	height:100%;
}

.barra{
	width:10px;
	height:100%;
	display:block;
	background-image:url(../img/inicio/barra.png);
	background-repeat:repeat-x;
	background-size:auto 100%;
	position:absolute;
	top:0;
	right:0;
	z-index:700;
}

.barra2{
	width:10px;
	height:100%;
	display:block;
	background-image:url(../img/inicio/barra.png);
	background-repeat:repeat-x;
	background-size:auto 100%;
	position:absolute;
	top:0;
	right:0;
	z-index:100;
	opacity:0.5;
}

.banner_inicio .col .box{
	width:100%;
	height:50%;
	display:block;
	position:relative;
}

.banner_inicio .col .bt_nav{
	width:100%;
	height:50%;
	display:table;
	text-align:center;
	cursor:pointer;
	position:relative;
}

.banner_inicio .col .bt_nav:hover img{
	opacity:1;
}

.banner_inicio .col .bg1{
	background-color: rgba(102,102,102, 0.8);
}

.banner_inicio .col .bg2{
	background-color: rgba(51,51,51, 0.8);
}

.banner_inicio .col .bt_nav img{
	opacity:0.8;
}

.banner_inicio .col .bt_nav:hover img{
	opacity:1;
}

.banner_inicio #slide .imagebanner{
	background-size: cover !important;
	background-color:#ccc;
}

.banner_inicio #frases_box{
	width:30%;
	height:100%;
	display:block;
	text-align:left;
	position:absolute;
	top:0;
	right:0;
	z-index:800;
	background-image:url(../img/inicio/bg_01.webp);
	background-position:right bottom;
	background-repeat:no-repeat;
	background-size:100% auto;
	background-color:#555452;
}

.banner_inicio .frase{
	width:-webkit-calc(100% - 60px);
	width:-moz-calc(100% - 60px);
	width:calc(100% - 60px);
	height:100%;
	display:table;
	padding:0 30px;
	position:absolute;
	top:0;
	left:0;
	z-index:100;
	text-align:left;
}

.banner_inicio .frase2{
	width:-webkit-calc(100% - 60px);
	width:-moz-calc(100% - 60px);
	width:calc(100% - 60px);
	height:100%;
	display:table;
	padding:0 30px;
	position:absolute;
	top:0;
	left:0;
	z-index:100;
	text-align:left;
}

.estado{
	width:100%;
	height:40px;
	line-height:40px;
	display:block;
	position:relative;
	margin:0 0 10px 0;
}

.estado .cont{
	width:auto;
	height:100%;
	display:block;
	background-color:#eb9a17;
	position:absolute;
	top:0;
	left:-80px;
	z-index:300;
	padding:0 30px 0 80px;
}

.banner_inicio .frase a{
	height:24px;
	line-height:24px;
	display:block;
	margin:15px 0 0 0;
}

.banner_inicio .frase a img{
	vertical-align:middle;
	margin:0 5px 0 0;
}

.bt-generico{
	height:40px;
	line-height:40px;
	display:inline-block;
	margin:20px 0 0 0;
	padding:0 12px;
	font-size:14px;
	font-family:'Open Sans', sans-serif;
	font-weight:normal;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.1);
	color:#fff;
	border-radius:4px;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out; /* IE10 is actually unprefixed */
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.bt-generico img{
	vertical-align:middle;
	margin:0 0 0 6px;
}

.bt-generico:hover{
	background-color: rgba(255, 255, 255, 0.3);
}

.banner_inicio #banner_menu{
	width:auto;
	height:24px;
	display:block;
	position:absolute;
	bottom:30px;
	right:30px;
	z-index:200;
	text-align:left;
}

.banner_inicio #banner_menu .bt{
	width:12px;
	height:12px;
	display:block;
	float:left;
	position:relative;
	margin:6px;
}

.banner_inicio #banner_menu .bt .normal{
	border-radius:50%;
	background:#fff;
}

.banner_inicio #banner_menu .bt .over{
	border-radius:50%;
	background:#333;
}


/* quienes somos
----------------------------------------------------------------------------------------------------*/	
.banner_qs{
	width:50%;
	height:100%;
	display:block;
	float:left;
	background-color:#ccc;
	position:relative;
}

.banner_qs .box1{
	width:100%;
	height:100%;
	display:table;
	position:absolute;
	top:0;
	left:0;
	z-index:100;
}

.banner_qs .box1 img{
	width:75%;
	height:auto;
	display:block;
	margin:0;
	padding:0;
	float:right;
}

.banner_qs .box2{
	width:100%;
	height:100%;
	display:table;
	position:absolute;
	top:0;
	left:0;
	z-index:100;
}

.banner_qs .box2 img{
	width:75%;
	height:auto;
	display:block;
	margin:0;
	padding:0;
	float:left;
}

.qs_col1{
	width:-webkit-calc(50% - 100px);
	width:-moz-calc(50% - 100px);
	width:calc(50% - 100px);
	height:100%;
	display:table;
	padding:0 50px;
	float:left;
	background-color:#fff;
	text-align:left;
	position:relative;
}

.qs_col2{
	width:-webkit-calc(50% - 100px);
	width:-moz-calc(50% - 100px);
	width:calc(50% - 100px);
	height:100%;
	display:table;
	padding:0 50px;
	float:left;
	background-color:#fff;
	text-align:left;
	background-position:center bottom;
	background-repeat:no-repeat;
	background-size:100% auto !important;
	position:relative;
}

.qs_col2b{
	width:-webkit-calc(35% - 100px);
	width:-moz-calc(35% - 100px);
	width:calc(35% - 100px);
}

.qs_col3{
	width:-webkit-calc(50% - 100px);
	width:-moz-calc(50% - 100px);
	width:calc(50% - 100px);
	height:100%;
	display:table;
	padding:0 50px;
	float:left;
	background-color:#fff;
	text-align:left;
	position:relative;
	background-position:center bottom;
	background-repeat:no-repeat;
	background-size:100% auto;
	position:relative;
}



/* experiencia
----------------------------------------------------------------------------------------------------*/
.bt_proyecto{
	width:100%;
	height:100%;
	display:block;
	float:left;
	text-align:left;
	background-color:#666;
	position:relative;
}

.bt_proyecto .imagen{
	width:50%;
	height:100%;
	display:block;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:100% auto;
	-webkit-filter: grayscale(100%); /* Chrome, Safari, Opera */
    filter: grayscale(100%);
	position:absolute;
	top:0;
	right:0;
	z-index:100;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out; /* IE10 is actually unprefixed */
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
	opacity:0.15;
}

.bt_proyecto .imagen2{
	width:50%;
	height:100%;
	display:block;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:100% auto;
	position:absolute;
	top:0;
	left:0;
	z-index:100;
}

.bt_proyecto .visitar{
	width:-webkit-calc(50% - 80px);
	width:-moz-calc(50% - 80px);
	width:calc(50% - 80px);
	height:220px;
	display:table;
	padding:0 40px;
	margin:-110px 0 0 0;
	background-color:#eb9a17;
	position:absolute;
	top:50%;
	right:0;
	z-index:300;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out; /* IE10 is actually unprefixed */
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.bt_proyecto .visitar:hover{
	background-color:#101627;
}

.bt_proyecto .visitar .entrar{
	width:140px;
	height:220px;
	display:table;
	padding:0 40px;
	background-color:#eb9a17;
	position:absolute;
	top:0;
	left:-300px;
	z-index:100;
	opacity:0;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out; /* IE10 is actually unprefixed */
	-o-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}

.bt_proyecto .visitar:hover .entrar{
	left:-220px;
	opacity:1;
}



/* proyecto
----------------------------------------------------------------------------------------------------*/
.imagen-generica{
	width:100%;
	height:auto;
	display:block;
	float:left;
	margin:20px 0;
	border-radius:6px;
}

.banner_proyecto_ini{
	width:50%;
	height:100%;
	display:block;
	float:left;
	background-color:#ccc;
	position:relative;
}

.banner_proyecto_ini .imagebanner{
	background-size:cover !important;
}

.banner_proyecto{
	width:50%;
	height:100%;
	display:block;
	float:left;
	background-color:#ccc;
	position:relative;
}

.planos{width:65%;}
.plano_img{background-size:contain !important; background-color:#f3eae3;}
.plano_img img{width: 100%; height:auto;}


.banner_proyecto .btzoom{
	width:100%;
	height:100%;
	display:block;
	background-color: rgba(000,000,000, 0.4) !important;
	background-position:center center;
	background-repeat:no-repeat;
	background-image:url(../img/ico_04.png);
}

.banner_proyecto .btzoom:hover{
	opacity:1 !important;
}
	
.header_proyecto{
	width:-webkit-calc(100% - 80px);
	width:-moz-calc(100% - 80px);
	width:calc(100% - 80px);
	height:39px;
	line-height:39px;
	display:block;
	padding:0 40px;
	background-color:#fff;
	border:solid #101627;
	border-width:0 0 1px 0;
	position:relative;
}

.main_proyecto{
	width:100%;
	height:-webkit-calc(100% - 40px);
	height:-moz-calc(100% - 40px);
	height:calc(100% - 40px);
	display:block;
	position:relative;
}

.banner_mapa{
	width:50%;
	height:100%;
	display:block;
	float:left;
	background-color:#ccc;
	position:relative;
}

#map_canvas{
	width:100%;
	height:100%;
}

.dpt{
	width:-webkit-calc(50% - 24px);
	width:-moz-calc(40% - 24px);
	width:calc(50% - 24px);
	height:30px;
	line-height:30px;
	padding:2px;
	margin:2px;
	display:block;
	cursor:pointer;
	background-color:#ddd;
	color:#666;
	text-align:center;
	float:left;
}
.dpt:hover{
	background-color:#ccc;
}

.dpt2{
	width:auto;
	height:40px;
	line-height:40px;
	padding:4px 16px;
	margin:6px;
	display:block;
	cursor:pointer;
	background-color:#eb9a17;
	color:#fff;
	text-align:center;
	float:left;
	border-radius:4px;
}
.dpt2:hover{
	background-color:#cc8614;
}

/* experiencia
----------------------------------------------------------------------------------------------------*/	
.experiencia_galeria{
	width:50%;
	height:100%;
	display:block;
	float:left;
	background-color:#fff;
}	

.experiencia_galeria .thumb{
	width:-webkit-calc(100% / 3);
	width:-moz-calc(100% / 3);
	width:calc(100% / 3);
	height:25%;
	display:block;
	float:left;
	background-color:#ccc;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:100% auto;
}

.experiencia_galeria .thumb:hover{
	opacity:0.8;
}



/* CONTACTO
----------------------------------------------------------------------------------------------------*/	
.formcontacto{
	width:100%;
	height:auto;
	margin:0;
}

.formcontacto .celda{
	width:100%;  
	height:auto;  
	display:block;  
	margin: 0 0 5px 0;
	position:relative;  
	clear: both; 
}

.formcontacto .celda2{
	width:100%;  
	height:auto;  
	display:block;  
	margin:0;
	position:relative;  
	clear: both; 
}

.formcontacto  .celda p,.formcontacto  .celda2 p{
	float:left;
	line-height:24px;
}

.formcontacto .input01{
	width:-webkit-calc(100% - 72px);
	width:-moz-calc(100% - 72px);
	width:calc(100% - 72px);
	height:22px;
	line-height:22px;
	display:block;  
	padding:0 5px;
	margin:3px 0;
	background:#fff;
	border:solid 1px #eb9a17; 
	text-align: left;
	float:right;
}

.formcontacto .input02{
	width:-webkit-calc(100% - 195px);
	width:-moz-calc(100% - 195px);
	width:calc(100% - 195px);
	height:22px;
	line-height:22px;
	display:block;  
	padding:0 5px;
	margin:3px 0;
	background:#fff;
	border:solid 1px #eb9a17; 
	text-align: left;
	float:right;
}

.formcontacto  .textarea01{
	width:-webkit-calc(100% - 72px) !important;  
	width:-moz-calc(100% - 72px) !important;  
	width:calc(100% - 72px) !important; 
	height:50px!important;
	display:block;    
	padding:5px; 
	margin:3px 0;
	background:#fff;
	border:solid 1px #eb9a17; 
	float:right;
}

.formcontacto  .textarea02{
	width:-webkit-calc(100% - 195px) !important;  
	width:-moz-calc(100% - 195px) !important;  
	width:calc(100% - 195px) !important; 
	height:50px!important;
	display:block;    
	padding:5px; 
	margin:3px 0;
	background:#fff;
	border:solid 1px #eb9a17; 
	float:right;
}

.formcontacto  .bt_enviar{
	width:auto;
	height:25px;
	line-height:25px;
	display:block;    
	margin:10px 0;
	padding:0 10px; 
	cursor: pointer;
	float:right;
	border:none; 
	background:#eb9a17;
}

.formcontacto  .division{
	width:auto;
	height:25px;
	line-height:25px;
	display:block;    
	margin:10px 0;
	padding:0 5px;
	float:right;
}

.formcontacto .alertabox{
	width:100%;  
	height:20px;  
	line-height:20px;  
	text-align: right;
}

.mt-4{margin-top:24px !important;}

.submenu_proyecto{
	width:100%;
	height:auto;
	background-color:#ccc;
	padding:8px 0;
	display:none;
}
.submenu_proyecto a{
	width:-webkit-calc(25% - 8px);
	width:-moz-calc(25% - 8px);
	width:calc(25% - 8px);
	height:42px;
	line-height:42px;
	display:block;
	float:left;
	color:#fff;
	margin:2px 4px;
	background-color:#cc8614;
}
.submenu_proyecto a.select{
	background-color:#999;
}










