@charset "UTF-8";
/* CSS Reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

*,
*::before,
*::after {
  box-sizing: border-box;
}

audio,
canvas,
video {
  display: block;
}

ol,
ul {
  list-style: none;
}

li {
  text-decoration: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button,
input,
select,
textarea {
  font: inherit;
  margin: 0;
}

button,
[type=button],
[type=reset],
[type=submit] {
  all: unset;
  display: inline-block;
  padding: 0.5rem 1rem;
  font-family: inherit;
  font-size: 1rem;
  text-align: center;
  cursor: pointer;
  background-color: #007BFF;
  color: white;
  border-radius: 4px;
}

:focus {
  outline: none;
}

body {
  line-height: 1.5;
  text-rendering: optimizeSpeed;
  font-family: sans-serif;
}

@font-face {
  font-family: Montserrat;
  src: local(Montserrat-Italic-VariableFont_wght), url("../fonts/Montserrat-Italic-VariableFont_wght.ttf") format("woff2"), url("../fonts/Montserrat-Italic-VariableFont_wght.ttf") format("woff"), url("../fonts/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-family: Montserrat;
  src: local(Montserrat-VariableFont_wght), url("../fonts/Montserrat-VariableFont_wght.ttf") format("woff2"), url("../fonts/Montserrat-VariableFont_wght.ttf") format("woff"), url("../fonts/Montserrat-VariableFont_wght.ttf") format("truetype");
}
.icon {
  display: inline-block;
}

.icon-burger-close {
  width: 24px;
  height: 24px;
  display: inline-block;
  background-image: url("../ico/burger-green.webp");
  background-size: contain;
  background-repeat: no-repeat;
}

.icon-burger-open {
  width: 30px;
  height: 30px;
  display: inline-block;
  background-image: url("../ico/burger-white.webp");
  background-size: contain;
  background-repeat: no-repeat;
}

.icon-home {
  width: 72px;
  height: 30px;
  display: inline-block;
  background-image: url("../ico/marca.webp");
  background-size: contain;
  background-repeat: no-repeat;
}

.icon-labo {
  width: 38px;
  height: 38px;
  display: inline-block;
  background-image: url("../ico/labo-ico.webp");
  background-size: contain;
  background-repeat: no-repeat;
}

.icon-tech {
  width: 38px;
  height: 38px;
  display: inline-block;
  background-image: url("../ico/tech-ico.webp");
  background-size: contain;
  background-repeat: no-repeat;
}

.icon-agro {
  width: 38px;
  height: 38px;
  display: inline-block;
  background-image: url("../ico/agro-ico.webp");
  background-size: contain;
  background-repeat: no-repeat;
}

.icon-consultoria {
  width: 38px;
  height: 38px;
  display: inline-block;
  background-image: url("../ico/consultoria-ico.webp");
  background-size: contain;
  background-repeat: no-repeat;
}

.icon-email {
  width: 30px;
  height: 30px;
  display: inline-block;
  background-image: url("../ico/email-ico.webp");
  background-size: contain;
  background-repeat: no-repeat;
}

.icon-tel {
  width: 30px;
  height: 30px;
  display: inline-block;
  background-image: url("../ico/tel-ico.webp");
  background-size: contain;
  background-repeat: no-repeat;
}

.icon-facebook {
  width: 24px;
  height: 24px;
  display: inline-block;
  background-image: url("../ico/fb-ico.webp");
  background-size: contain;
  background-repeat: no-repeat;
}

.icon-linkedin {
  width: 24px;
  height: 24px;
  display: inline-block;
  background-image: url("../ico/linkedin-ico.webp");
  background-size: contain;
  background-repeat: no-repeat;
}

.icon-instagram {
  width: 24px;
  height: 24px;
  display: inline-block;
  background-image: url("../ico/ig-ico.webp");
  background-size: contain;
  background-repeat: no-repeat;
}

.navbar {
  height: 60px;
  z-index: 100;
  background-color: #F4F4F4;
}
.navbar .navbar-toggler {
  z-index: 1001;
  display: flex;
  padding: 0;
  background: transparent;
}
.navbar .navbar-toggler:focus {
  box-shadow: none;
}
.navbar .navbar-toggler img {
  width: 26px;
  height: 26px;
}
.navbar .navbar-collapse {
  position: fixed;
  top: 0;
  transform: translate(100%); /* Oculta el menú fuera de la pantalla */
  width: 300px; /* Ancho del menú */
  height: 100vh !important; /* Altura completa */
  padding-top: 60px; /* Ajusta según la altura de tu navbar */
  background-color: #f8f9fa; /* Color de fondo */
  transition: transform 0.2s ease-in-out; /* Animación suave */
  z-index: 1000; /* Asegura que esté por encima de otros elementos */
}
.navbar .collapsable-menu {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh !important;
  width: 100%;
  padding: 1.5rem 2.5rem;
  padding-top: 70px;
  align-self: flex-end;
  transform: translate(100%);
  transition: transform 0.2s ease-in-out;
  background-color: #006262;
  z-index: 1000;
}
@media (min-width: 992px) {
  .navbar .collapsable-menu {
    width: 360px;
  }
}
.navbar .collapsable-menu .menu-list {
  width: 100%;
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  justify-content: space-evenly;
  gap: 1.5rem;
  text-align: end;
  text-transform: uppercase;
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
.navbar .collapsable-menu .menu-list .menu-item {
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 174%;
}
.navbar .collapsable-menu .menu-list .menu-item .active {
  color: #99D19C;
}
.navbar .collapsable-menu .menu-list .menu-item .nav-link {
  color: white;
}
.navbar .collapsable-menu .menu-list .menu-item .nav-link:hover {
  text-decoration: underline;
}
.navbar .collapsable-menu .menu-list .menu-item .accordion-item {
  background-color: transparent;
  border: none;
}
.navbar .collapsable-menu .menu-list .menu-item .accordion-item button {
  padding: 0;
  border: none;
  background-color: transparent;
  color: white;
}
.navbar .collapsable-menu .menu-list .menu-item .accordion-item button:focus {
  box-shadow: none;
}
.navbar .collapsable-menu .menu-list .menu-item .accordion-item button:hover {
  text-decoration: underline;
}
.navbar .collapsable-menu .menu-list .menu-item .accordion-item button:not(.collapsed) {
  box-shadow: none;
}
.navbar .collapsable-menu .menu-list .menu-item .accordion-item .accordion-body {
  padding: 0;
  margin-top: 1rem;
  font-family: Montserrat;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 164%;
  color: white;
}
.navbar .collapsable-menu .menu-list .menu-item .accordion-item .accordion-body .menu-acc-a:hover {
  color: white;
  text-decoration: underline;
}

.menu-divide-bar {
  padding: 0 2rem;
  margin: 0;
  width: 100%;
  border: 1px solid #99D19C;
}

/* Cuando el menú está abierto */
.navbar-collapse.show {
  transform: translate(0);
}

.hero-index {
  position: relative;
  height: 100dvh;
  background-image: url("../images/hero-bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  color: white;
  font-family: "Montserrat";
}
.hero-index .presentation-container {
  position: relative;
  z-index: 10;
}
.hero-index .presentation-container .brand {
  width: 290px;
}
.hero-index .presentation-container .brand .slogan {
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
  line-height: normal;
  border-radius: 12px 0;
  background-color: #0A6235;
}
.hero-index .hero-content .title {
  text-align: center;
  font-size: 32px;
  font-weight: 400;
  font-style: normal;
  line-height: normal;
}
@media (min-width: 992px) {
  .hero-index .hero-content .title {
    text-align: start;
    font-size: 52px;
  }
}
.hero-index .hero-content .title h1 {
  font-weight: 700;
}
@media (min-width: 1024px) {
  .hero-index .hero-content .greetings {
    width: 50%;
  }
}
.hero-index .hero-content .greetings p {
  font-size: 18px;
  font-weight: 400;
  line-height: 164%;
}
@media (min-width: 1024px) {
  .hero-index .hero-content .greetings p {
    font-size: 21px;
    text-align: start;
  }
}
.hero-index .hero-content .greetings p strong {
  font-weight: 700;
}

.hero-index::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/hero-bg/hero-index-art.webp");
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.9;
  z-index: 1;
}

.main-section {
  font-family: Montserrat;
  background-color: #F4F4F4;
}
.main-section .main-header {
  padding: 0 20%;
}
.main-section .main-header div h3 {
  font-size: 18px;
  font-weight: 700;
}
@media (min-width: 992px) {
  .main-section .main-header div h3 {
    font-size: 24px;
  }
}
.main-section .main-header div p {
  width: 300px;
  font-size: 14px;
  font-weight: 400;
}
@media (min-width: 768px) {
  .main-section .main-header div p {
    font-size: 16px;
    width: 450px;
  }
}
@media (min-width: 992px) {
  .main-section .main-header div p {
    width: auto;
  }
}

.green-list-section {
  padding: 0 8%;
  background-color: #0A6235;
}

.blue-list-section {
  padding: 0 8%;
  background-color: #006262;
}

.grey-list-section {
  padding: 0 8%;
  background-color: #4A4A4A;
}

.list-section {
  color: #F4F4F4;
}
.list-section h2 {
  font-family: Montserrat;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 164%;
  text-transform: uppercase;
}
.list-section div ul div li {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 164%;
}

.about-container {
  height: 100vh;
  background: linear-gradient(158deg, rgb(0, 0, 0) 8%, rgba(0, 98, 98, 0.9) 82.53%);
  position: relative;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1200px) {
  .about-container {
    padding: 0 5rem;
  }
}

.about-title {
  padding-top: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 35%;
  color: white;
  font-family: "Montserrat";
  font-weight: 400;
  font-size: 18px;
}
@media (min-width: 1024px) {
  .about-title {
    font-size: 24px;
    padding-bottom: 2rem;
  }
}
.about-title p strong {
  font-weight: 800;
}

.mva-cards {
  text-align: center;
  color: white;
  display: flex;
  flex-direction: column;
  position: absolute;
  bottom: 0;
  width: 100%;
}
@media (min-width: 992px) {
  .mva-cards {
    padding: 0 5%;
    flex-direction: row;
    gap: 1.8rem;
    position: relative;
  }
}
.mva-cards .card {
  padding: 2rem;
  border-radius: 1rem 0 0 0;
  position: relative;
  margin-bottom: -1rem;
}
@media (min-width: 992px) {
  .mva-cards .card {
    border-bottom-right-radius: 1rem;
  }
}
.mva-cards .card input {
  display: none;
}
.mva-cards .card .ac-collapsable-title {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  font-family: "Montserrat";
  font-size: 30px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  text-align: start;
}
@media (min-width: 1200px) {
  .mva-cards .card .ac-collapsable-title {
    font-size: 36px;
  }
}
.mva-cards .card .about-description {
  display: flex;
  align-items: center;
  margin-top: 0;
  overflow: hidden;
  position: relative;
  z-index: 10;
  transition: height 0.3s ease-in-out;
}
@media (max-width: 991px) {
  .mva-cards .card .about-description {
    height: 0;
  }
}
.mva-cards .card .about-description p {
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  text-align: start;
}
@media (max-width: 991px) {
  .mva-cards .card .about-description p {
    font-size: 14px;
    line-height: 176%;
  }
}
.mva-cards .card .about-description p strong {
  font-weight: 700;
}

@media (max-width: 991px) {
  .mva-cards input:checked ~ section.ac-large {
    height: 194px;
  }
}
.bg-cool {
  background: linear-gradient(158deg, rgb(0, 0, 0) 8%, rgba(0, 98, 98, 0.9) 82.53%);
}

.bg-light-green {
  background-color: #99D19C;
}

.bg-blue-green {
  background-color: #006262;
}

.bg-dark-green {
  background-color: #0A6235;
}

.p-blue-green {
  color: #006262;
}

.strong {
  font-weight: 800;
}

.areas {
  background-color: #F4F4F4;
}
.areas .areas-title {
  align-self: center;
  color: #0A6235;
  font-family: Montserrat;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 164%;
}
.areas .areas-title strong {
  font-weight: 800;
}
.areas .areas-links-container .areas-links {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  border-radius: 24px 0;
  background: #0A6235;
  width: 140px;
  height: 140px;
  box-shadow: 0 2.588px 2.588px 0 rgba(0, 0, 0, 0.25);
  transition: background ease-in 0.3s;
}
.areas .areas-links-container .areas-links:hover {
  transform: scale(1.1) !important;
}
@media (min-width: 1024px) {
  .areas .areas-links-container .areas-links {
    aspect-ratio: 1/1;
    width: 150px;
    height: fit-content;
    padding: 1rem;
  }
}
.areas .areas-links-container .areas-links a {
  z-index: 99;
}
.areas .areas-links-container .areas-links a p {
  color: white;
  text-transform: uppercase;
  text-align: center;
  font-family: Montserrat;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  width: 100%;
}
.areas .areas-links-container .areas-links::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 24px 0;
  background: linear-gradient(158deg, rgb(0, 0, 0) 8%, rgba(0, 98, 98, 0.9) 82.53%);
  z-index: 1;
  opacity: 1; /* Inicialmente oculto */
  transition: opacity 0.3s ease;
}
.areas .areas-links-container .areas-links:hover::before {
  opacity: 0; /* Mostrar el gradiente al hacer hover */
}

.top-projects {
  padding: 2rem;
  background-color: #0A6235;
}
.top-projects .top-projects-title {
  margin-bottom: 2rem;
  color: white;
  font-family: Montserrat;
  font-size: 24px;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
}
.top-projects .project-card-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.top-projects .project-card-container .project-card {
  border-radius: 25px;
  overflow: hidden;
  width: 300px;
  background-color: white;
}
.top-projects .project-card-container .project-card .card-img {
  width: 300px;
}
.top-projects .project-card-container .project-card div {
  margin-top: -10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-projects .project-card-container .project-card div .card-title {
  padding: 0.5rem 0;
  color: #0A6235;
  text-align: center;
  font-family: "Montserrat";
  font-size: 16px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
}
.top-projects .project-card-container .project-card div .card-title span {
  font-weight: 400;
  line-height: normal;
}

.partners {
  padding: 2rem;
  background-color: #ffffff;
}
.partners .title {
  align-self: center;
  color: #0A6235;
  font-family: Montserrat;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 164%;
}
.partners .title strong {
  font-weight: 800;
}
.partners .partner-logo-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}
.partners .partner-logo-container .partner-logo {
  width: 150px;
}
@media (max-width: 991px) {
  .partners .partner-logo-container .partner-logo {
    width: 132px;
  }
}
.partners .partner-logo-container .last {
  margin: 15px;
  width: 100px;
}

.error-message {
  padding-left: 5px;
  color: red;
  font-size: 12px;
  margin-top: 5px;
}

.contact-section {
  background-color: #F4F4F4;
}

.contact-title {
  text-align: center;
  color: #0A6235;
  font-family: Montserrat;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 164%;
}

.input-form {
  font-family: "Montserrat";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 164%;
  border: none;
  border-radius: 12px 0;
}

.textarea {
  font-family: "Montserrat";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 164%;
  border: none;
  border-radius: 12px 0;
  height: 150px;
}

.textarea:focus-visible {
  box-shadow: 0px 0px 4px 0px #006262, 0px 5px 7px 0px rgba(0, 0, 0, 0.07);
}

.textarea:not(:placeholder-shown) {
  border: 1px solid var(--Primary-Green, #0A6235);
}

.form-label {
  font-family: "Montserrat";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 164%;
}

.contact {
  height: 100%;
  color: #0A6235;
  font-family: Montserrat;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 164%;
}
.contact:hover {
  text-decoration: underline;
}

.input-form:focus-visible {
  box-shadow: 0px 0px 4px 0px #006262, 0px 5px 7px 0px rgba(0, 0, 0, 0.07);
}

.input-form:not(:placeholder-shown) {
  border: 1px solid var(--Primary-Green, #0A6235);
}

.rrss-icon {
  cursor: pointer;
  color: #99D19C;
}
.rrss-icon:hover {
  color: #0A6235;
}

.footer {
  background-color: #0A6235;
  font-family: "Montserrat";
  font-weight: 500;
}

.footer-nav ul li {
  color: white;
}
.footer-nav ul li a {
  font-size: 14px;
  font-weight: 700;
}
.footer-nav ul li a:hover {
  color: white;
  text-decoration: underline;
}
@media (min-width: 1200px) {
  .footer-nav ul li a {
    font-size: 16px;
  }
}
.footer-nav ul li .active {
  color: #99D19C;
}

.trademark {
  font-weight: 300;
  font-size: 12px;
}

.gradient-cons {
  background: linear-gradient(68deg, #4A4A4A 20.6%, rgba(0, 98, 98, 0.9) 82.53%);
}

.gradient-lab {
  background: linear-gradient(68deg, #5B0656 20.6%, rgba(0, 98, 98, 0.9) 82.53%);
}

.gradient-tec {
  background: linear-gradient(68deg, rgb(0, 98, 98) 29.6%, rgba(30, 30, 30, 0.9) 82.53%);
}

.gradient-agric {
  background: linear-gradient(68deg, #0A6235 25.6%, rgba(0, 98, 98, 0.9) 82.53%);
}

.hero {
  font-family: "Montserrat";
  background-color: #F4F4F4;
}
@media (min-width: 992px) {
  .hero {
    height: 100dvh;
  }
}
.hero article .hero-title {
  color: var(--Text-White, #F4F4F4);
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
@media (min-width: 1200px) {
  .hero article .hero-title {
    font-size: 52px;
  }
}
.hero article .hero-title h1 {
  font-weight: 700;
  text-transform: uppercase;
}
.hero article .hero-p {
  color: #F4F4F4;
  font-family: Montserrat;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 164%;
}
@media (min-width: 1400px) {
  .hero article .hero-p {
    font-size: 24px;
    width: 94%;
  }
}
.hero article .hero-p strong {
  font-weight: 700;
}
.hero article .hero-button {
  border-radius: 12px 0;
  background-color: #99D19C;
  color: #28323c;
  padding: 12px 36px;
  text-transform: uppercase;
  font-family: Montserrat;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 174%;
}
.hero div img {
  height: 300px;
  object-fit: cover;
}
@media (min-width: 992px) {
  .hero div img {
    height: 100%;
  }
}

.cta-button {
  position: relative;
  color: var(--Black, #28323C) !important;
  font-family: "Montserrat";
  font-size: 16px;
  font-style: normal;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 174%;
  border-radius: 12px 0px;
  background: #99D19C;
  box-shadow: 0px 0px 6px 0px rgba(255, 255, 255, 0.25);
}
.cta-button:hover {
  color: #0A6235;
}
.cta-button span {
  position: relative;
  z-index: 99;
}

.cta-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 12px 0px;
  background: white;
  opacity: 0;
  transition: opacity 1s ease;
  border: 0.5px solid #0A6235;
  box-shadow: 0px 0px 6px 0px rgba(255, 255, 255, 0.25);
}

.cta-button:hover::before {
  opacity: 1;
  /* Mostrar el gradiente al hacer hover */
}

.hero-index {
  --animate-duration: 1s!important;
}
.hero-index .brand {
  --animate-duration: 2s!important;
}
.hero-index .hero-content {
  --animate-duration: 2s!important;
}
.hero-index .greetings {
  --animate-duration: 2s!important;
}
.hero-index .btn-cta {
  --animate-duration: 1s!important;
}

/*# sourceMappingURL=styles.css.map */
