body {
	margin: 0;
	padding: 0;
	position: relative;
	width: auto;
}

/*-------------------------------------------FONTS---------------------------------------------*/
@font-face {
	font-family: 'roboto-regular-webfont';
	src: url('../fonts/roboto-regular-webfont.eot');
	src: url('../fonts/roboto-regular-webfont.woff') format('woff'), url('../fonts/roboto-regular-webfont.ttf') format('truetype'), url('../fonts/roboto-regular-webfont.svg') format('svg');
}
@font-face {
	font-family: 'quicksand-bold-webfont';
	src: url('../fonts/quicksand-bold-webfont.eot');
	src: url('../fonts/quicksand-bold-webfont.woff') format('woff'), url('../fonts/quicksand-bold-webfont.ttf') format('truetype'), url('../fonts/quicksand-bold-webfont.svg') format('svg');
}
@font-face {
	font-family: 'magra-bold-webfont';
	src: url('../fonts/magra-bold-webfont.eot');
	src: url('../fonts/magra-bold-webfont.woff') format('woff'), url('../fonts/magra-bold-webfont.ttf') format('truetype'), url('../fonts/magra-bold-webfont.svg') format('svg');
}
@font-face {
	font-family: 'lato-regular-webfont';
	src: url('../fonts/lato-regular-webfont.eot');
	src: url('../fonts/lato-regular-webfont.woff') format('woff'), url('../fonts/lato-regular-webfont.ttf') format('truetype'), url('../fonts/lato-regular-webfont.svg') format('svg');
}
@font-face {
	font-family: 'lato-bold-webfont';
	src: url('../fonts/lato-bold-webfont.eot');
	src: url('../fonts/lato-bold-webfont.woff') format('woff'), url('../fonts/lato-bold-webfont.ttf') format('truetype'), url('../fonts/lato-bold-webfont.svg') format('svg');
}
/*----------------------------------------------------------navbar - styles-------------------------------------------------------------*/


.navbar {
	overflow: hidden;
	background-color: #243c3c;
	margin: 0 auto;
	max-width: 100%;
	padding: 20px 10px 27px;
}

.navbar a {
  float: right;
  color: #f2f2f2;
  font-family: lato-regular-webfont;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
  text-transform: uppercase;
}

.navbar a:hover {
  color: #04e48c;
}

.navbar a.active {
  background-color: #4CAF50;
  color: white;
}

.navbar a.logo{
	position: absolute;
	top: 0;
	left: 0;
	height: 82px;
	width: 350px;
	background-color: #04e48c;
}
.navbar a.logo img{
	float: left;
	height: 88px;
	width: 350px
}

/*-------------------------------------------------------------------home - styles---------------------------------------------------------------------*/

.main .home{
	max-height: 400px;
	overflow: hidden;
}
.main .home h1{
  position: absolute;
  top: 180px;
  right:60px;
  text-align: center;
  font-family: lato-regular-webfont;
  margin: 25px 50px 75px 100px;
  color: #ffffff;
  font-size: 55px;
  text-transform: uppercase;

}

.main .home img{
opacity: .7;
}

.main .rectangle{
  position: absolute;
  top: 500px;
  height: 60px;
  width: 100%;
  background-color: #04e48c;
}

.main .rectangle h2{
  text-align: center;
  font-family: lato-regular-webfont;
  margin: 25px 50px 75px 100px;
  color: #ffffff;
  font-size: 30px;
}

.main .row .column {
  background-color:#04e48c;
  float: left;
  width: 48.5%;
  height: 250px;
  padding: 10px;
}

.main .row:after {
  content: "";
  display: table;
  clear: both;
}

.main .row .column h2{
  position: absolute;
  top: 550px;
  text-align: center;
  font-family: lato-regular-webfont;
  margin: 25px 50px 75px 240px;
  color: #ffffff;
  font-size: 100px;
  z-index: 90;
}

.main .row .column h3{
  position: absolute;
  top: 660px;
  text-align: center;
  font-family: lato-regular-webfont;
  margin-left: 190px;
  color: #4c7c74;
  font-size: 30px;
  z-index: 90;
}



/*-------------------------------------------------------------------services - styles---------------------------------------------------------------------*/
.services h1{
	float: center;
	color: #9cadb5;
	font-family: lato-regular-webfont;
	text-align: center;
	padding: 14px 16px;
	text-decoration: none;
	font-size: 55px;
	text-transform: uppercase;	
}
.services .subrayado{
  position: absolute;
  top: 240px;
  left: 620px;
  height: 10px;
  width: 100px;
  background-color: #04e48c;
}

.services .imagen1 img{
	position: absolute;
	top: 280px;
	left: 280px;
	width: 200px;
}

.services .imagen2 img{
	position: absolute;
	top: 300px;
	left: 600px;
	width: 180px;
}

.services .imagen3 img{
	position: absolute;
	top: 300px;
	left: 900px;
	width: 180px;
}
.services .grid-container {
  position: absolute;
  top: 500px;
  display: grid;
  grid-template-columns: auto auto auto auto;
  grid-column-gap: 20px;
  grid-row-gap: 10px;
  background-color: #ffffff;
  padding-left: 190px;
  padding-right: 190px;
  line-height: 2;
}

.services .grid-container .item1{
	background-color: #ccdce4;
	float: left;
	color: black;
	font-family: roboto-regular-webfont;
	text-align: left;
	text-decoration: none;
}
.services .grid-container .item1 h2{
	color: #4d7d76;
	font-size: 25px;
}

.services .grid-container .item1 li{
	font-size: 16px;
}

.services .grid-container .item2{
	background-color: #ccdce4;
	float: center;
	color: black;
	font-family: roboto-regular-webfont;
	text-align: left;
	text-decoration: none;
}
.services .grid-container .item2 h2{
	color: #4d7d76;
	font-size: 25px;
}

.services .grid-container .item2 p{
	font-size: 16px;
}

.services .grid-container .item2 li{
	font-size: 16px;
}

.services .grid-container .item3{
	background-color: #ccdce4;
	float: center;
	color: black;
	font-family: roboto-regular-webfont;
	text-align: left;
	text-decoration: none;
}
.services .grid-container .item3 h2{
	color: #4d7d76;
	font-size: 25px;
}

.services .grid-container .item3 li{
	font-size: 16px;
}
.column {
  float: left;
  width: 31.5%;
  padding: 10px;
  height: 300px;
}

.row:after {
  content: "";
  display: table;
  clear: both;
}

/*-------------------------------------------------------------------projects - styles---------------------------------------------------------------------*/
.projects h1{
	position: absolute;
	top: 110px;
	left: 520px;
	color: #9cadb5;
	font-family: lato-regular-webfont;
	text-align: center;
	padding: 14px 16px;
	text-decoration: none;
	font-size: 55px;
	text-transform: uppercase;	
	
}


.subrayado{
  position: absolute;
  top: 240px;
  left: 620px;
  height: 10px;
  width: 100px;
  background-color: #04e48c;
}

.projects .imagen1 img{
	position: absolute;
	top: 280px;
	left: 50px;
	width: 600px;
	height: 400px;
}

.projects .imagen2 img{
	position: absolute;
	top: 280px;
	left: 700px;
	width: 600px;
	height: 400px;
}

.projects .imagen3 img{
	position: absolute;
	top: 720px;
	left: 50px;
	width: 180px;
	width: 600px;
	height: 400px;
}

.projects .imagen4 img{
	position: absolute;
	top: 720px;
	left: 700px;
	width: 600px;
	height: 400px;
}

.projects .imagen5 img{
	position: absolute;
	top: 1160px;
	left: 400px;
	width: 600px;
	height: 400px;
}

.middle {
  transition: .5s ease;
  opacity: 0;
  position: absolute;
  top: 280px;
  left: 50px;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
}

.imagen1:hover .image {
  opacity: 0.3;
}

.imagen1:hover .middle {
  opacity: 1;
}

.text1 {
  position: absolute;
  top: 180px;
  left: 240px;
  float: right;
  color: black;
  font-family: lato-regular-webfont;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 25px;
  text-transform: uppercase;
}

.imagen2:hover .image {
  opacity: 0.3;
}

.imagen2:hover .middle {
  opacity: 1;
}

.text2 {
  position: absolute;
  top: 150px;
  left: 870px;
  float: right;
  color: black;
  font-family: lato-regular-webfont;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 25px;
  text-transform: uppercase;
}

.imagen3:hover .image {
  opacity: 0.3;
}

.imagen3:hover .middle {
  opacity: 1;
}

.text3 {
  position: absolute;
  top: 580px;
  left: 180px;
  float: right;
  color: black;
  font-family: lato-regular-webfont;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 25px;
  text-transform: uppercase;
}

.imagen4:hover .image {
  opacity: 0.3;
}

.imagen4:hover .middle {
  opacity: 1;
}

.text4 {
  position: absolute;
  top: 600px;
  left: 820px;
  float: right;
  color: black;
  font-family: lato-regular-webfont;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 25px;
  text-transform: uppercase;
}

.imagen5:hover .image {
  opacity: 0.3;
}

.imagen5:hover .middle {
  opacity: 1;
}

.text5 {
  position: absolute;
  top: 1080px;
  left: 600px;
  float: right;
  color: black;
  font-family: lato-regular-webfont;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 25px;
  text-transform: uppercase;
}

/*-------------------------------------------------------------------history - styles---------------------------------------------------------------------*/

@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700");

.chronology{
  min-width: 300px;
  max-width: 500px;
  margin: auto;
}

.history p{
  text-align: center;
  font-family: lato-regular-webfont;
  margin: 25px 50px 75px 100px;
  color: #bbbbbb;
  font-size: 25px;
}
.history .chronology p {
  font-size: 1em;
  line-height: 1.75em;
  border-top: 3px solid;
  -webkit-border-image: -webkit-gradient(linear, left top, right top, from(#243c3c), to(#04e48c));
  -webkit-border-image: linear-gradient(to right, #243c3c 0%, #04e48c 100%);
  -o-border-image: linear-gradient(to right, #243c3c 0%, #04e48c 100%);
  border-image: -webkit-gradient(linear, left top, right top, from(#243c3c), to(#04e48c));
  border-image: linear-gradient(to right, #243c3c 0%, #04e48c 100%);
  border-image-slice: 1;
  border-width: 3px;
  margin: 0;
  padding: 40px;
  counter-increment: section;
  position: relative;
  color: #34435E;
  font-family: lato-regular-webfont;
}
.history .chronology p:before {
  content: counter(section);
  position: absolute;
  border-radius: 50%;
  padding: 10px;
  height: 1.25em;
  width: 1.25em;
  background-color: #34435E;
  text-align: center;
  line-height: 1.25em;
  color: #ffffff;
  font-size: 1em;
}

.history .chronology p:nth-child(odd) {
  border-right: 3px solid;
  padding-left: 0;
}
.history .chronology p:nth-child(odd):before {
  left: 100%;
  margin-left: -20px;
}

.history .chronology p:nth-child(even) {
  border-left: 3px solid;
  padding-right: 0;
}
.history .chronology p:nth-child(even):before {
  right: 100%;
  margin-right: -20px;
}

.history .chronology p:first-child {
  border-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}

.history .chronology p:last-child {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}


.history h1{
	float: center;
	color: #9cadb5;
	font-family: lato-regular-webfont;
	text-align: center;
	padding: 14px 16px;
	text-decoration: none;
	font-size: 55px;
	text-transform: uppercase;	
}
.history .subrayado{
  position: absolute;
  top: 240px;
  left: 620px;
  height: 10px;
  width: 100px;
  background-color: #04e48c;
}



/*-------------------------------------------------------------------contact - styles---------------------------------------------------------------------*/

.contact{
	background-color: #ffffff;
	line-height: 1.5;
}

.contact h1{
	float: center;
	color: #9cadb5;
	font-family: lato-regular-webfont;
	text-align: center;
	padding: 14px 16px;
	text-decoration: none;
	font-size: 55px;
	text-transform: uppercase;	
}

.contact .subrayado{
  position: absolute;
  top: 240px;
  left: 620px;
  height: 10px;
  width: 100px;
  background-color: #04e48c;
}

.contact h2{
	position: absolute;
	top: 280px;
	right: 285px;
	font-family: lato-regular-webfont;
	text-align: left;
	padding: 14px 16px;
	text-decoration: none;
	font-size: 25px;
	color: #263e3b;
}

.contact h3{
	position: absolute;
	top: 310px;
	right: 100px;
	font-family: lato-regular-webfont;
	text-align: left;
	padding: 14px 16px;
	text-decoration: none;
	font-size: 17px;
	color: #9cadb5;
}

.contact .map{
	position: absolute;
	top: 300px;
	left: 60px;
}




/*-------------------------------------------------------------------projects - subprojects - styles---------------------------------------------------------------------*/
.subprojects h1{
	float: center;
	color: #9cadb5;
	font-family: lato-regular-webfont;
	text-align: center;
	padding: 14px 16px;
	text-decoration: none;
	font-size: 55px;
	text-transform: uppercase;	
}
.subprojects .subrayado{
  position: absolute;
  top: 240px;
  left: 620px;
  height: 10px;
  width: 100px;
  background-color: #04e48c;
}

.subprojects p{
  position: absolute;
  top: 300px;
  left: 150px;
  text-align:justify;
  max-width: 500px;
  max-height: 600px;
  font-family: lato-regular-webfont;
  font-size: 20px;
  line-height: 2;
}

.subprojects img{
  position: absolute;
  top: 335px;
  right: 200px;
  max-height:606px;
}

.subprojects .lista{
  position: absolute;
  top: 450px;
  left: 150px;
  font-family: lato-regular-webfont;
  font-size: 20px;
  line-height: 2;
  max-width:550px;
}

.subprojects .lista h2{
  font-family: lato-regular-webfont;
  font-size: 25px;
  line-height: 2;
  max-width:400px;
color: #9cadb5;
}
/*-------------------------------------------------------------------footer - styles---------------------------------------------------------------------*/
.footer {
	overflow: hidden;
	background-color: #243c3c;
	margin: 0 auto;
	max-width: 100%;
	height: 80px;
}

.footer p{
  float: right;
  color: #f2f2f2;
  font-family: lato-regular-webfont;
  text-align: center;
  text-decoration: none;
  font-size: 17px;
}