/* @import url('https://fonts.googleapis.com/css?family=Lato:700&display=swap'); */
@import url('https://fonts.googleapis.com/css?family=Lato:300,400,400i,700,700i,900&display=swap');

html {
  scroll-behavior: smooth;
}

body {
    margin: 0px;
    /* padding: 0px 1px; */
    /* min-width: 320px; */
}

body, h1, h2, h3, h4, h5, h6 {
	font-family: 'Lato', sans-serif; 
} 
.btn-wsp{
    position:fixed;
    width:60px;
    height:60px;
    line-height: 63px;
    bottom:25px;
    right:25px;
    background:#25d366;
    color:#FFF;
    border-radius:50px;
    text-align:center;
    font-size:35px;
    box-shadow: 0px 1px 10px rgba(0,0,0,0.3);
    z-index:100;
    transition: all 300ms ease;
}
.btn-wsp:hover{
    text-decoration: none;
    color: #0df053;
    background: #fff;
	
}
/* NAV BAR ***************************************************************************/


/* Add a black background color to the top navigation */
.topnav {
  float: left;
  background-color: black;
  overflow: hidden;
  position: fixed; /* Set the navbar to fixed position */
  top: 0; /* Position the navbar at the top of the page */
  width: 100%;
  line-height: 100px;
  z-index: 99;
  /* min-width: 310px; */
}

/* Style the links inside the navigation bar */
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 0px 16px;
  text-decoration: none;
  font-size: 14px;
}

#ima {
  display: inline-block;
  padding-left: 16px;
  vertical-align: middle; 
  transition: 0.6s; /* Add a transition effect (when scrolling - and font size is decreased) */
}

#tex {
  font-size: 16px;
  font-weight: 700;
  display: inline-block;
  vertical-align: center;
  padding-left: 40px;
  line-height: 24px;
}

#h_links{
  float: right;
}


.topnav a:hover {
  font-weight: bolder;
  text-decoration: underline solid #ddd; 
  text-shadow: #ccc 0px 0px 2px;

}


/* Hide the link that should open and close the topnav on small screens */
.topnav .icon {
  display: none;
}

#top_cont {
  margin: auto;
  width: 960px;
  background-color: rgba(0, 0, 0, 0.507);
  transition: 0.6s; /* Add a transition effect (when scrolling - and font size is decreased) */
}

/* NAV BAR ***************************************************************************/


header {
  width: 100%;
  background-color: rgb(8,15,23);
  color: white;
}

/* section {

} */

.container {
    width: 900px;
    margin: auto;
}

#instit_img{
  background-image: url(../img/Institucional_ONU.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  padding-top: 36%;
}

#instit_text {
  font-size: 30px;
  font-style: italic;
  text-align: center;
  padding: 42px 0px 0px 0px;
  width: 540px;
}

.seccion_basica {
  font-size: 42px;
  font-weight: 300;
  text-align: center;
  padding-top: 50px;
  margin: auto;
}

.seccion_basica_txt {
  font-size: 16px;  
  font-weight: 400;
  text-align: center;
  padding: 24px 14px;
  width: 650px;
  margin: auto;
  /* padding: 0px 0px; */
}

.servi_card {
  display: inline-block;
  width: 322px;
  height: 180px;
  /* margin:auto; */
  overflow: hidden;
  margin: 0px;
  padding: 0px;
}

.servi_card_img {
  display: inline-block;
  margin: 0px;
  padding: 0px;
  width: 25%;
  height: 99%;
  vertical-align: auto;
  overflow: hidden;
}

.servi_card_txt {
  display: inline-block;
  width: 72%;
  height: 99%;
  margin: 0px;
  padding: 0px;
  vertical-align: auto;
  text-align: left;
  overflow: hidden;
  font-size: 12px;
}

.servi_card_tit{
  font-size: 16px;
  font-weight: 700;
  padding-top: 14px;
  padding-bottom: 30px;
}

.separador {
  width: 80px;
  height: 4px;
  margin: auto;
  background-color: rgb(129,16,44);
  margin-top: 30px;
  margin-bottom: 30px;
}

.trabajos_img {
  display: inline-block;
  overflow: hidden;
  /* width: 400px;
  height: 220px; */
  position: relative;
  z-index: 1;
}

.trabajos_img img {
  width: 400px;
  /* height: 220px */
}

.overlay {
  position: absolute; 
  bottom: 0; 
  background: rgba(0, 0, 0, 0.8); /* Black see-through */
  color: #f1f1f1; 
  width: 100%;
  transition: .6s ease;
  opacity:0;
  color: white;
  font-size: 20px;
  padding: 16px 2px;
  text-align: center;
  height: 0;
  margin-bottom: 9px;
}

.trabajos_img:hover .overlay {
  opacity: 1;
  height: 50px;
}

.trabajos_titulo {
  font-size: 18px;
  font-weight: 700;
}

.trabajos_descri {
  font-size: 14px;
  margin-top: 10px;
}

.trabajos_logo {
  display: inline-block;
  padding: 0px 20px;
}

/* .trabajos_logo:hover {
  border-radius: 38px;
  box-shadow: 0px 0px 12px rgb(109, 106, 106);
} */

#empresas {
  padding-top: 24px;
}

#presupuesto {
    background-color: black;
    color: white;
    margin-top: 22px;
}

.presup_txt {
  display: block;
  font-size: 20px;
  font-weight: 700;
  /* height: 52px; */
  text-align: center;
  padding: 28px 6px;
}

.presup_btn {
  display: block;  
  color: white;
  font-size: 14px;
  font-weight: 700;
  margin: auto;
  margin-top: 28px;
  width: 150px;
  background-color: black;
  text-align: center;
  border-radius: 20px;
  line-height: 32px;
}

.presup_btn:hover {
  color: whitesmoke;
  background-color: rgb(129,16,44);
}

#link_presup {
  text-decoration: none;
}



/*contacto inicio ****************** */

.contact-form {
  width: 100%;
  display: inline-block;
}


input, textarea {
  width: 100%;
  padding: 14px 14px;
  margin-right: 18px;

  display: inline-block;
  border: 1.5px solid #ccc;
  border-radius: 16px;
  box-sizing: border-box;
  font-size: 12px;
  font-weight: 700;
  /* box-shadow: gray 2px 2px 2px; */
}


#name {
  float: left;
  /* display: inline-block; */
  width: 48%;
} 

#email {
  /* display: inline-block; */
  float: left;
  width: 48%;
}

#subject {
  margin-top: 18px;
  /* float: left; */
  width: 98%;
}  

#message {
  margin-top: 18px;
  /* float: left; */
  width: 98%;
  height: 132px;

  font-size: 14px;
  font-weight: 400;
}

button {
  display: block;
  color: rgb(223, 213, 215);
  font-size: 14px;
  /* font-weight: 700; */
  width: 160px;
  background-color: black;
  text-align: center;
  border-radius: 20px;
  line-height: 34px;
  margin: 30px auto;
  border: 0px;
  outline: none;
}

button:hover {
  box-shadow: rgb(129,16,44) 0px 4px 6px;
  color: white;
  cursor: pointer; 
}

button:focus {
  box-shadow: rgb(129,16,44) 0px 4px 6px;
  color: white;
  cursor: pointer; 
}

footer {
  width: 100%;
  background-color: rgb(8,15,23);
  color: white;
  height: 270px;
  overflow: hidden;
}

#logo {
    display: inline-block;
    width: 230px;
    height: 240px;
    overflow: hidden;
    padding-top: 55px;
    padding-left: 45px;

}

#logo_redes {
  display: block;
  width: 140px;
  height: 32px;
  margin-left: 28px;
  margin-top: 4px;
}

.redes_iconos {
  padding: 4px 6px;
}

.redes_iconos.face:hover {
  background-color: rgb(66,103,178) ;
  box-shadow: rgb(66,103,178) 0px 0px 2px;
  border-radius: 6px;
}

.redes_iconos.twit:hover {
  background-color: rgb(29,161,242) ;
  box-shadow: rgb(29,161,242) 0px 0px 2px;
  border-radius: 6px;
}

.redes_iconos.inst:hover {
  background-color: rgba(244, 123, 63, 0.808) ;
  box-shadow: rgb(244,124,63) 0px 0px 2px;
  border-radius: 6px;
}

#datos {
    display: inline-block;
    width: 340px;
    height: 220px;
    overflow: hidden;
    font-size: 18px;
    margin-top: 10px;
    padding-top: 10px;
    padding-left: 24px;
}

.datos_iconos {
  vertical-align: middle;
  margin-top: -4px;
}

.datos_sep1 {
  display: inline-block;
  width: 22%;
  height: 2px;
  background-color: rgb(129,16,44);
  margin-top: 12px;
  margin-bottom: 12px;
  
}

.datos_sep2 {
  display: inline-block;
  width: 72%;
  height: 1.5px;
  background-color: white;
  margin-top: 12px;
  margin-bottom: 12px;
}

#address {
font-style: normal;
}

#tel {
  color: white;
  text-decoration: none;
}

#call_now_btn {
    display: none;
    color: white;
    font-size: 16px;
    font-weight: 700;
    /* margin: 28px 0px 0px 0px; */
    margin-left: 6px;
    width: 100px;
    background-color: rgb(129,16,44);
    text-align: center;
    border-radius: 8px;
    line-height: 32px;
}

#mailto{
  color: white;
  text-decoration: none;
}

#links {
    display: inline-block;
    width: 160px;
    height: 240px;
    overflow: hidden;
    font-size: 16px;
    font-weight: 700;
    margin-left: 68px;
    line-height: 32px;
    padding-left: 12px;
  }

#links a {
  color: white;
  text-decoration: none;
}

#links a:hover {
  text-decoration: underline;
}

/*===========================
  --- Contact ----
=========================== */

.validation {
	display:none;
	margin: 0 0 20px;
	font-weight:400;
	font-size:13px;
}

#sendmessage {
	display:none;
	text-align:center;
	/* padding:15px 12px 15px; */
	margin-top:10px;
	font-weight:600;
  font-size: 36px;
}

#errormessage {
    display:none;
}

#sendmessage.show, #errormessage.show, .show {
	display:block;
}

#contact-form {
	position: relative;
  z-index: 999;
}

#contact-form input[type=text],#contact-form input[type=email], .contactForm textarea {
	width: 100%;
	background: rgba(227, 231, 228, 1);
	font-family: 'Open Sans', sans serif;
	border: 0;
	font-size:14px;
	text-align: left;
	vertical-align: middle;
  padding:0 10px;
  outline: none;
}
#contact-form input[type=text]:focus,#contact-form input[type=email]:focus, .contactForm textarea:focus {
	background: rgba(101, 106, 100, 1);
	color: #eff1ef;
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	transition: background 0.25 ease-in;
	-moz-transition: background 0.25 ease-in;
  -webkit-transition: background 0.25 ease-in;
  outline: none;
}
#contact-form input[type=text],#contact-form input[type=email] {
	height: 60px;
  margin-bottom:30px;
}
#contact-form input[type=submit] {
	color: #fff;
	width: 185px;
	height: 60px;
	text-shadow: none;
	font-size: 14px;
	padding:0.5em;
	letter-spacing: 0.05em;
	margin: 0 0 20px 0;
	display: block;
	border: 0;
	text-transform: none;
	border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
}
#contact-form input[type=submit]:hover, #contact-form input[type=submit]:active {
  background: #43413e !important;
}
#contact-form textarea {
	padding-top: 1em;
}

.form-control {
  outline: none;
}

.form-control:focus {
  background-color: #ddd;
}

textarea.form-control {

	padding-top: 6px;	
	padding-bottom: 6px;	
	border: rgb(204, 204, 204) solid 1px;
	font-family: inherit;
  
}

div.cform-response-output {
	max-width: 60%;
	text-align: center;
	margin-left: 40% !important;
	margin-top: 0.5em !important;
	padding: 0.5em !important;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
}
.cform-not-valid-tip {
	color: #888;
	border: 1px dotted #ad3729 !important;
	width: 100% !important;
	left: 0 !important;
	padding: 0.5em !important;
	font-family: 'Open Sans', sans-serif;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
}

/* media queries ***************************************************************************************************/

@media screen and (max-width: 962px) {

  #top_cont {
    margin: auto;
    width: 767px;
  }

  .topnav a {
    padding: 0px 14px;
    font-size: 12px;
  }

  #instit_img {
    margin-top: 50px;
  }

  .container {
    /* width: 767px; */
    width: 707px;
  }

  .trabajos_img img {
    width: 320px;
  }

  #tex {
    font-size: 14px;
    padding-left: 30px;
    /* line-height: 24px; */
  }

  #name {
    margin-top: 18px;
    display: inline-block;
    width: 98%;
  } 
  
  #email {
    margin-top: 18px;
    display: inline-block;
    width: 98%;
  }

  #logo {
    width: 200px;
  }
  #datos {
    width: 300px;
    font-size: 16px;
  }

  #links {
    width: 90px;
    font-size: 14px;
    margin-left: 48px;
  }

  #sendmessage {
    font-size: 26px;
  } 

  .seccion_basica_txt {
    width: 90%;
  }

}

/*tablet*/
@media screen and (max-width: 769px) {

  
  .topnav a {
    display: none;
  }

  .topnav a.icon {
    float: right;
    display: block;
  }

  /* .topnav.responsive {position: relative;} */

  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
    line-height: 52px;
  }

  .topnav.responsive a {
    float: none;
    display: block;
    text-align: center;
    line-height: 38px; 
  }

  #h_links.responsive {
    float: none;
    background-color: #333;
  }

  #instit_img {
    margin-top: 80px;
  }

  #top_cont {
    width: 100%;
  }

  #instit_text {
    font-size: 24px;
    width: 90%;
  }

  .container {
    width: 92%;
  }

  .trabajos_img img {
    width: 280px;
  }

  .presup_btn {
    display: block;  
    margin: 12px auto;
    margin-bottom: 0px;
  }

  #links {
    display: none;
  }
  
  .seccion_basica_txt {
    width: 90%;
  }

}

@media screen and (max-width: 769px) {

  .container {
    width: 92%;
  }

  footer {
    height: auto;
  }

  #logo {
    display: block;
    margin: auto;
    height: 196px;
    padding-top: 20px;
    padding-left: 12px;
  }

  #datos {
    display: block;
    margin: auto;
    height: 170px;
    text-align: center;
    padding-left: 0px;
  }

  #call_now_btn {
    display: inline-block; 
  }

  #tel {
    display: none;
  }