/* COMUNES */
body {overflow-x: hidden;}
p {font-size: 12px; color: #666; text-align:justify; display: -webkit-flex; /* Safari */ -webkit-justify-content: space-around; /* Safari 6.1+ */display: flex;     justify-content: space-around;}
.blanco {color:#ffffff;}
.blanco_bg {background-color:#ffffff;}
.blanco_gradient_bg {background: rgba(255, 255, 255, 0.95);}
.negro_bg {background-color: #000000;}
.gris {color:#666666;}
.gris_bg {background-color:#666666;}
.gris_gradient_bg {background: rgba(0, 0, 0, 0.2);}
.gris2_gradient_bg {background: rgba(0, 0, 0, 0.05);}
.gris2 {color:#999999;}
.gris2_bg {background-color:#999999;}
.gris3 {color:#cccccc;}
.gris3_bg {background-color:#cccccc;}
.negro {color: #000000;}
.negro_bg {background-color: #000000;}
.verde {color: #A0C15E;}
.verde_bg {background-color: #A0C15E;}
.verde2 {color: #5F7231;}
.verde2_bg {background-color: #5F7231;}
.rojo {color:#FF0020;}
.rojo_bg {background-color:#FF0020;}
.padding5 {padding: 5px;}
.padding10 {padding: 10px;}
.padding20 {padding: 20px;}
.padding25 {padding: 25px;}
.padding30 {padding: 30px;}
.padding40 {padding: 40px;}
.paddingzero {padding: 0px;}
.text-center {text-align: center;}
.text-left {text-align: left;}
.text-right {text-align: right;}

.max {font-size: 200%;}
.min {font-size: 75%;}

.shadow {text-shadow: 0px 3px 0px #e7e7e7;}

.hr_grey { border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0)); }

a {color: #A0C15E; -o-transition:.5s;   -ms-transition:.5s;   -moz-transition:.5s;   -webkit-transition:.5s;   /* ...and now for the proper property */   transition:.5s;}
a:hover, a:focus {color: #5F7231}

.contenedor {margin-top: 11%;}
@media (max-width: 780px) {.contenedor {margin-top: 32%;}}
@media (max-width: 550px) {.contenedor {margin-top: 40%;}}


/* FADE IN */
.fadein {-webkit-animation: fadein 2s; /* Safari and Chrome */-moz-animation: fadein 2s; /* Firefox */-ms-animation: fadein 2s; /* Internet Explorer */-o-animation: fadein 2s; /* Opera */animation: fadein 2s;}
@keyframes fadein {from { opacity: 0; }  to   { opacity: 1; }}
/* Firefox */
@-moz-keyframes fadein {from { opacity: 0; }  to   { opacity: 1; }}
/* Safari and Chrome */
@-webkit-keyframes fadein {from { opacity: 0; }  to   { opacity: 1; }}
/* Internet Explorer */
@-ms-keyframes fadein {from { opacity: 0; }  to   { opacity: 1; }}

/* aporte ia */
/* ✅ Ajustar imágenes al ancho del dispositivo */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ✅ Ajuste específico para slideshow */
.cb-slideshow li {
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100vh; /* Pantalla completa */
}

/* ✅ Ajuste de imágenes en móvil */
@media (max-width: 768px) {
  .cb-slideshow li {
    height: 60vh; /* Reducir altura en móviles */
  }
  
  img {
    max-width: 100%;
    height: auto;
  }
}


/* NAVEGACION */
* {box-sizing: border-box;}
 
.navbar {background-color: #ffffff;}
/* Sing In Button */
.button {background-color: rgba(44, 45, 47, 0.749);  width: 80px;  height: 30px;  font-size: 12px;  color: #fff;  border: none;  border-radius: 20px;  cursor: pointer;}
@media (max-width: 550px) {.button {width: 50px; font-size: 10px;}}
.overlay {position: fixed;  background: rgba(51, 55, 69, 0.95);  top: 0;  left: 0;  width: 100%;  height: 100%;  opacity: 0;  visibility: hidden;  transition: opacity .35s, visibility .35s, height .35s;  overflow: hidden; z-index:1000} 
.overlay.open {opacity: 1;  visibility: visible;  height: 100%;}
.overlay .nav-title {font-size: 18px; color: #fff; font-weight: bold;  text-transform: normal;  text-align: center;  position: absolute;  left: 50%;  transform: translate(-50%);  top: 8%;}
.overlay nav {position: relative;  height: 50%;  top: 50%;  transform: translateY(-50%);  font-size: 25px;  font-weight: 400;  text-transform: uppercase;  text-align: center;  letter-spacing: 20px; }
.overlay ul {list-style: none;  padding: 0;  margin: 0 auto;  display: inline-block;  position: relative;  height: 100%; margin-top: -20px;}
.overlay ul li { display: block;  position: relative;  opacity: 0;  margin-bottom: 30px;}
.overlay ul li a { display: block;  position: relative;  color: #FFF; text-decoration: none;  overflow: hidden;}
.overlay ul li a:after {content: ''; position: absolute;  top: 90%;  left: 43.5%;  width: 0%; transform: translateX(-50%);  height: 1px;  background: #FFF;  transition: .35s;}
.overlay ul li a:hover, .overlay ul li a:focus, .overlay ul li a:active {color: #A0C15E;}
.overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {width: 100%; background: #A0C15E;}
.overlay.open li {animation: fadeInRight .5s ease forwards; animation-delay: .35s;}
.overlay.open li:nth-of-type(2) {animation-delay: .4s;}
.overlay.open li:nth-of-type(3) {animation-delay: .45s;}
.overlay.open li:nth-of-type(4) {animation-delay: .50s;} 
.overlay.open li:nth-of-type(5) {animation-delay: .55s;} 
.overlay.open li:nth-of-type(6) {animation-delay: .60s;} 
.overlay.open li:nth-of-type(7) {animation-delay: .65s;} 
@keyframes fadeInRight {
  0% {opacity: 0; left: 20%;}
  100% {opacity: 1; left: 0;}
}
button:focus {outline:0;} 
.open-menu,
.close-menu,
.button {cursor: pointer;  transition: transform 0.30s;}
.open-menu:hover, .close-menu:hover, .button:hover {transform: scale(1.1);}

.nohover li a {text-decoration: underline;}


@media (max-width: 670px) {.overlay nav {font-size: 14px; letter-spacing: 15px; text-align:center;}}
@media (max-width: 550px) {.overlay nav {font-size: 14px; letter-spacing: 10px; text-align:center;}}



/* PROYECTOS */
article {padding-bottom: 20px;}
.article-caption {font-family: 'Open Sans'; position: absolute; bottom: 20px; max-width: 80%; font-size: 14px; text-align: center; background-color: rgba(255,255,255,0.5); color: #666; border-bottom: thin solid #999999; padding: 5px 10px 5px 10px;}
.article-img{width: 100%; max-height: 400px; object-fit: cover; border: thin solid #ffffff;}

.effecthadow{position:relative; box-shadow:0 1px 4px rgba(0, 0, 0, 0.3), 0 0 40px rgba(0, 0, 0, 0.1) inset;}
.effecthadow:before, .effect7:after{content:""; position:absolute; z-index:-1; box-shadow:0 0 20px rgba(0,0,0,0.8); top:0; bottom:0; left:10px; right:10px; border-radius:100px / 10px;} 
.effecthadow:after{right:10px; left:auto; transform:skew(8deg) rotate(3deg);}


/* CONTACTO */ 
.input_custom {border-radius: 0px;}
.input-group-addon {background-color:#A0C15E; color: #ffffff;}

.social:hover {-webkit-transform: scale(1.1); -moz-transform: scale(1.1); -o-transform: scale(1.1);}
.social {-webkit-transform: scale(0.8); /* Browser Variations: */ -moz-transform: scale(0.8); -o-transform: scale(0.8); -webkit-transition-duration: 0.5s;  -moz-transition-duration: 0.5s;  -o-transition-duration: 0.5s;}