*{
	font-family: 'Montserrat', sans-serif;
	font-weight: 300;
}
html,body{
	position: relative;
	height: 100vh;
	overflow-x: hidden;
}
.blue{
	color:#1b4485;
}
div{
	position: relative;
}
.title-bar{
	padding: 20px;
}
.position-left{
	/*background: rgba(0, 0, 0, 0.86);*/
	background: #1b4485cc;
}
.position-left ul li a{
	color: #fff;
	font-size: 18px;
	padding: 15px;
}
a:focus { outline: 0px; }
header{
	background-color:#fff; 
	position: fixed;
	z-index: 100;
	width: 100%;
	left: 0;
	top: 0;
}
header nav{
	border: 1px solid #201815;
	background-color: #1b4485;
}

header nav ul.menu{
	display: inline-block;
}
header nav ul.menu li{
	padding: 0 40px;
	position: relative;
}
header nav ul.menu li > a {
    line-height: 3.4;
    color: #fff;
    padding: 19.5px 0;
    text-align: center;
    position: relative;
    font-weight: 400;
}
header nav ul.primary li > a.is_active:before{
	content: '';
    width: 100%;
    height: 1px;
    background: #fff;
    bottom: 30px;
    position: absolute;
}
/*header nav ul.primary li > a:before {
    content: '';
    width: 100%;
    height: 1px;
    background: #fff;
    bottom: 30px;
    position: absolute;
}*/
ul.menu.vertical.submenu {
    position: absolute;
    background: rgba(0, 0, 0, 0.79);
    left: 0;
    line-height: 1;
    top: 100px;
}
ul.menu. ul.vertical li {
    padding: 0 40px;
    position: relative;
}
ul.menu.vertical.submenu li a{
	padding: 5px;
	line-height: 2;
}
ul.menu.vertical.submenu li a:before{
	content: '';
	background: transparent;
}
header .content-logo{
    padding: 10px 0;
}
.content-menu{
	padding:0;
}

footer{
    color: #fff;
    /*bottom: -150px;*/
    left: 0;
    /*background-color: #201815;*/
    background-color: #1b4485;
    width: 100%;
    padding: 20px 0;
    z-index: 10;
    position: absolute;
}
footer label,
footer a{
	color: #fff;
}
@media(min-width: 640px){
	footer .office{
		text-align: right;
		border-right: 2px solid #fff;
	}
	footer .mail-social{
		text-align: left;
	}
}

section.home{
	position: relative;
	overflow: hidden;
}
section.home img{
	width: 100%;
	height: 68vh;
	object-fit: cover;
}
section.home .info{
    margin-bottom: 40px;
    padding: 40px 0 20px 0;
    border-bottom: 1px solid #444;
}
.home .hme-prev,
.home .hme-next{
	top: 32%;
	opacity: 0;
	transition: .3s ease-in-out;
}
.home:hover .hme-prev,
.home:hover .hme-next{
	opacity: 1;
}
@media(max-width: 640px){
	.home{
		margin-top: -35px;
	}
	section.home img{
		height: 40vh
	}
	.home .hme-prev,
	.home .hme-next{
		top: 20%;
	}
}


.slide-service{
	position: relative;
	overflow: hidden;
	height: 500px;
	width: 100%;
}
.slide-service img{
	width: 100%;
	height: 100vh;
	object-fit: cover;
}
.slide-service .item-service{
	width: 100%;
	height: 100vh;
	background-size: cover!important;
	background-position: center !important;
	background-repeat: no-repeat;
}
.servicios{
	height: 90vh;
}
@media( min-width: 1600px ){
	.slide-service{
		height: 600px!important;
	}
}
.tabs-content.vertical{
	border: none;
}
.tabs-panel{
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
}
.tabs{
	border: none;
}
.tabs-title > a{
	color: #444;
    padding: 15px 10px;
    margin: 5px 0;
}
.tabs-title > a:focus,
.tabs-title > a:hover,
.tabs-title > a[aria-selected='true'] {
	color: #ffffff;
	background-color:#1b4485;
    /*background-color:#529257;*/
}
#submenu{
	position: absolute;
}
.column-block{
	height: 200px;
}
.objectfit{
	width: 100%;
	height: 100%;
	object-fit:cover;
}
#page{
	margin-top: 35px;
}
.proyectos{
	margin-top: 80px;
	margin-bottom: 100px;
}
@media(max-width: 640px){
	.proyectos,
	.content-page{
		margin-top: 0px;
	}
}

.proyectos .overlay{
	opacity: 0;
    position: relative;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    transition: .4s ease-in-out;
    background-color: rgba(0, 0, 0, 0.32);
    z-index: 10;
    display: block;
}

.proyectos .column-block{
	position: relative;
	overflow: hidden;
}
.proyectos .overlay h6{
	color: #fff;
	text-transform: uppercase;
	text-align: center;
	width: 90%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
}
.proyectos .column-block:hover .overlay{
	opacity: 1;

}
.proyectos .carousel-single-project{
	width: 100%;
	height: 600px;
	overflow:hidden;
}
.proyectos .carousel-single-project img{
	height: 100vh;
}
@media(max-width: 640px){
	.proyectos .carousel-single-project{
		height: 400px;
	}
}
@media(max-width: 450px){
	.proyectos .carousel-single-project{
		height: 300px;
	}
}
.car-prev,
.car-next{
	position: absolute;
    width: 45px;
    height: 80px;
    background: rgba(0, 0, 0, 0.56);
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%); 
    cursor: pointer;
    z-index: 10;
}
.car-prev span,
.car-next span{
	width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    top: 50%;
    position: absolute;
    left: 50%;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
}
.car-prev{left: 0px;}
.car-next{right: 0px;}
.car-prev span{
	border-right: 18px solid #fff;
}
.car-next span{
	border-left: 18px solid #fff;
}

/* ----- Contact -------- */
	.contacto{
		padding: 50px 0 100px 0;
		height: 90vh;
	}
	.contacto input[type="text"], 
	.contacto input[type="tel"], 
	.contacto input[type="email"],
	.contacto textarea {
	    border: 1px solid #114285;
	    border-radius: 15px;
	}
	.contacto textarea {
		height: 200px;
	}
	.subject label{
		cursor: pointer;
	}
	.contacto input[type="radio"]{
	    width: 20px;
	    height: 20px;
	    cursor: pointer;
	    margin-top: 4px;
	    border-radius: 50%;
	    position: relative;
	    border: 1px solid #114285;
	    -webkit-appearance: inherit;
	    appearance: inherit;
	    background: #fff;
	}
	input[type="radio"]:focus {
    	outline: none;
	}
	.contacto input[type="radio"]:checked:after {
	    top: 3px;
	    left: 3px;
	    width: 12px;
	    height: 12px;
	    content: '';
	    position: absolute;
	    background: #1b4485;
	    border-radius: 50%;
	}
	#send{
		color: #fff;
	    display: inline-block;
	    padding: 10px 30px;
	    background-color: #1b4485;
	    border-radius: 0px;
	    margin-bottom: 30px;
	    cursor: pointer;
	}
	#select-file{
		color: #fff;
		cursor: pointer;
		padding: 1px 5px;
		margin-right: 10px;
		background-color: #201815;
	}
	/*input file*/
	#btn-file{
		display: none;
	}
/* ----- Contact -------- */
.not_file{position: relative;}
.not_file h3{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
}
#overlay-ajax{
	position: fixed;
	z-index: 100000;
	display: none;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.4);
}
#overlay-ajax img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
}

/* card para datps*/

#sec {
  font-family: 'Raleway', sans-serif;
  padding: 0px 0;
  background: #fff;
  text-align: center;
  word-wrap: break-word;
}
#sec #sec {
  font-family: "Raleway", sans-serif;
  padding: 0px 0;
  background: #fff;
  text-align: center;
  word-wrap: break-word;
}
#sec #sec h2 {
  font-weight: 200;
  font-size: 30px;
  color: #63b7e6;
}
#sec #sec ul {
  margin: 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  list-style: none;
}
#sec #sec ul li {
  padding: 40px;
  width: 420px;
  transition: box-shadow 0.3s;
}
#sec #sec ul li:hover {
  box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19);
}
#sec #sec ul li:hover .title {
  color: #63b7e6;
}
#sec #sec ul li:hover p {
  color: #555;
}
#sec #sec ul li:hover h3 {
  color: #63b7e6;
}
#sec #sec ul li:hover h3:after {
  width: 25px;
}
#sec #sec ul li .title {
  font-size: 2.6em;
  display: block;
  transition: color 0.3s;
  color: #a2a2a2;
}
#sec #sec ul li .title:before, #sec #sec ul li .title:after {
  position: static;
}
#sec #sec ul li h3 {
  color: #6f6f6f;
  display: inline-block;
  font-size: 24px;
  font-weight: 100;
  transition: color 0.3s;
}
#sec #sec ul li h3:after {
  content: "";
  position: relative;
  left: 50%;
  top: 20px;
  transform: translateX(-50%);
  display: block;
  width: 40px;
  height: 1px;
  background: #6f6f6f;
  transition: width 0.3s;
}
#sec #sec ul li p {
  color: #a2a2a2;
  text-align: left;
  text-indent: 1em;
  font-size: 16px;
  line-height: 26px;
  transition: color 0.3s;
}
#sec h2 {
  font-weight: 200;
  font-size: 30px;
  color: #63b7e6;
}
#sec ul {
  margin: 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  list-style: none;
}
#sec ul li {
  padding: 40px;
  width: 420px;
  transition: box-shadow .3s;
}
#sec ul li:hover {
  box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19);
}
#sec ul li:hover .title {
  color: #1b4485;
}
#sec ul li:hover p {
  color: #555;
}
#sec ul li:hover h3 {
  color: #1b4485;
}
#sec ul li:hover h3:after {
  width: 25px;
}
#sec ul li .title {
  font-size: 2.6em;
  display: block;
  transition: color .3s;
  color: #281d19;
}
#sec ul li .title:before, #sec ul li .title:after {
  position: static;
}
#sec ul li h3 {
  color: #281d19;
  display: inline-block;
  font-size: 24px;
  font-weight: 100;
  transition: color .3s;
}
#sec ul li h3:after {
  content: '';
  position: relative;
  left: 50%;
  top: 20px;
  transform: translateX(-50%);
  display: block;
  width: 40px;
  height: 1px;
  background: #6f6f6f;
  transition: width .3s;
}
#sec ul li p {
  color: #a2a2a2;
  text-align: left;
  text-indent: 1em;
  font-size: 16px;
  line-height: 26px;
  transition: color .3s;
}
