@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-Italic.ttf') format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-Bold.ttf') format("truetype"), url('../fonts/Poppins-ExtraBold.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-ExtraLightItalic.ttf') format("truetype");
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-MediumItalic.ttf') format("truetype");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-Black.ttf') format("truetype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-LightItalic.ttf') format("truetype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-SemiBoldItalic.ttf') format("truetype");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-Medium.ttf') format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-SemiBold.ttf') format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-BlackItalic.ttf') format("truetype");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-Regular.ttf') format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-BoldItalic.ttf') format("truetype"), url('../fonts/Poppins-ExtraBoldItalic.ttf') format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-ExtraLight.ttf') format("truetype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-ThinItalic.ttf') format("truetype");
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-Light.ttf') format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Poppins;
  src: url('../fonts/Poppins-Thin.ttf') format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

:root {
  --azul2: #16365b;
  --azul1: #4070b6;
}

.w-form-formrecaptcha {
  margin-bottom: 8px;
}

h1 {
  color: #fff;
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.3em;
}

p {
  margin-bottom: 10px;
  font-size: 1rem;
  line-height: 1.4em;
}

a {
  text-decoration: none;
}

.seccion {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  padding-top: 4rem;
  padding-bottom: 4rem;
  display: flex;
}

.seccion.hero {
  flex-flow: wrap;
  height: 100vh;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
}

.seccion.footer {
  background-color: var(--azul2);
  background-image: url('../images/Icono_Azteknia_ngo.svg'), url('../images/Icono_Azteknia_ngo.svg');
  background-position: 105%, -5%;
  background-repeat: no-repeat, no-repeat;
  background-size: 10rem, 10rem;
  margin-top: auto;
  position: relative;
}

.contenedor {
  flex-flow: wrap;
  width: 90%;
  max-width: 1420px;
  height: auto;
  display: flex;
}

.contenedor.hero {
  z-index: 995;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: center;
  align-items: center;
  height: 80vh;
  margin-bottom: 5rem;
  position: relative;
}

.contenedor._2 {
  z-index: 998;
  justify-content: center;
  align-items: center;
  position: relative;
}

.contenedor.full {
  flex-flow: wrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: none;
}

.contenedor.contact {
  flex-flow: wrap;
  justify-content: space-between;
  width: 100%;
}

.background-video {
  z-index: 0;
  width: auto;
  height: 100vh;
  position: absolute;
  inset: 0%;
}

.logo {
  z-index: 998;
  width: 30%;
  height: auto;
  margin-left: 35%;
  margin-right: 35%;
  display: block;
  position: absolute;
  top: 0;
}

.col25 {
  flex-flow: wrap;
  width: 25%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.col60 {
  width: 60%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.img1 {
  aspect-ratio: 1;
  object-fit: cover;
  border: 3px solid #4070b6;
  border-radius: 15px;
}

.body {
  flex-flow: wrap;
  font-family: Poppins, sans-serif;
  font-size: 1.1rem;
  line-height: 1.3em;
  display: flex;
  overflow: visible;
}

.linea {
  background-color: var(--azul1);
  width: 75%;
  height: 4px;
  position: absolute;
  left: 0;
}

.icono_hero {
  width: 10%;
  margin-right: 0%;
  position: absolute;
  inset: auto 5% -12% auto;
}

.semibold {
  font-weight: 600;
}

.heading {
  z-index: 0;
  -webkit-text-stroke-width: 1px;
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 2.3rem;
  position: relative;
}

.menu {
  justify-content: center;
  align-items: center;
  width: auto;
  height: 2rem;
  margin-left: auto;
  margin-right: auto;
  padding-top: .5rem;
  padding-bottom: .5rem;
  display: flex;
  position: absolute;
  inset: auto 0 0%;
}

.menu.movil {
  display: none;
}

.link_menu {
  z-index: 998;
  color: #fff;
  justify-content: center;
  align-items: center;
  width: auto;
  height: 2rem;
  max-height: 0;
  margin-left: 2rem;
  margin-right: 2rem;
  padding: 1rem;
  font-weight: 500;
  line-height: 1.1em;
  display: flex;
  position: relative;
}

.link_menu:hover {
  background-color: var(--azul1);
  color: #fff;
  border-radius: 500px;
  font-weight: 500;
}

.col50 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 48%;
  height: auto;
  display: flex;
}

.col50.centrado {
  flex-flow: wrap;
  justify-content: space-around;
  align-items: flex-start;
  width: 46%;
  margin-left: auto;
  margin-right: auto;
}

.col50.fichas {
  border-radius: 35px 35px 40px 40px;
  flex-flow: wrap;
  justify-content: space-around;
  align-items: flex-start;
  width: 48%;
  height: auto;
  min-height: 35rem;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
}

.col50.fichas._1 {
  background-image: url('../images/1b687075-f48c-480a-995b-44c707b9be62-2_1.webp');
  background-position: 50% 0;
  background-size: cover;
  margin-bottom: 0;
}

.col50.fichas._2 {
  background-image: url('../images/many-high-voltage-electrical-component-and-insulat-2025-03-10-20-03-54-utc_1.webp');
  background-position: 50% 20%;
  background-repeat: no-repeat;
  background-size: cover;
}

.col50.fichas._3 {
  background-image: url('../images/pcb-electric-circuit-on-the-pc-screen-2025-01-29-04-44-46-utc_1.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.col50.fichas._4 {
  background-image: url('../images/engineer-employee-working-process-on-the-machine-f-2025-01-27-04-06-04-utc_1.webp');
  background-position: 50% -40%;
  background-repeat: no-repeat;
  background-size: cover;
}

.col50.fichas._5 {
  background-image: url('../images/man-an-electrical-working-in-a-switchboard-with-f-2025-03-16-15-07-39-utc_1.webp');
  background-position: 50% -50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.col50.fichas._6 {
  background-image: url('../images/workman-testing-a-new-transformer-2025-03-09-20-58-14-utc_1.webp');
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover;
}

.col50.fichas._8 {
  background-image: url('../images/engineers-on-a-solar-power-plant-2025-03-14-10-11-01-utc_1.webp');
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover;
}

.col50.fichas._7 {
  background-image: url('../images/electrical-engineer-working-in-site-the-big-elect-2025-03-17-05-44-10-utc_1.webp');
  background-position: 50% 0;
  background-repeat: no-repeat;
  background-size: cover;
}

.col50.fichas._9 {
  background-image: url('../images/man-an-electrical-technician-working-in-a-switchb-2025-03-13-13-23-23-utc_1.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.col50.fichas._10 {
  background-image: url('../images/analyst-working-with-graphs-and-charts-2025-03-13-14-00-02-utc_1.webp');
  background-repeat: no-repeat;
  background-size: cover;
}

.col50.down {
  justify-content: flex-end;
  align-items: flex-start;
  width: 45%;
  margin-left: auto;
  margin-right: auto;
}

.col50.footer {
  flex-flow: wrap;
  width: 40%;
  margin-right: auto;
}

.col50.sldr {
  width: 45%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}

.col50.var {
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}

.txt_footer {
  color: #fff;
  width: 80%;
  margin-bottom: 1rem;
  font-size: .9rem;
}

.txt_footer.var {
  width: 82%;
  margin-bottom: 0;
  margin-left: auto;
}

.logo_footer {
  width: 50%;
  margin-bottom: 2rem;
}

.copyright {
  color: var(--azul1);
  font-size: .9rem;
}

.titulo {
  color: var(--azul1);
  text-transform: uppercase;
  margin-bottom: 2rem;
  font-size: 1.4rem;
  font-weight: 700;
}

.titulo.xl {
  color: #fff;
  letter-spacing: 4px;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 4rem;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.5rem;
  font-weight: 600;
  display: flex;
}

.titulo.xl.azul {
  color: var(--azul1);
}

.titulo.centrado {
  margin-bottom: 3.4rem;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.4rem;
}

.titulo.var {
  font-size: 2rem;
}

.slider {
  background-color: #0000;
  flex-flow: wrap;
  flex: 0 auto;
  order: 1;
  justify-content: space-between;
  align-self: auto;
  align-items: flex-end;
  width: 100%;
  height: auto;
  min-height: 0;
  margin-top: auto;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

.left-arrow {
  color: var(--azul1);
  width: 2rem;
  font-size: 1.5rem;
  display: block;
}

.left-arrow.hide {
  display: none;
}

.right-arrow {
  color: var(--azul1);
  width: 2rem;
  font-size: 1.5rem;
  display: block;
}

.right-arrow.hide {
  display: none;
}

.slide-nav {
  color: var(--azul1);
  width: auto;
  height: auto;
  margin-top: 1rem;
  margin-bottom: 0;
  font-size: .7rem;
  position: static;
}

.slide-nav.hide {
  display: none;
}

.slide {
  vertical-align: middle;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
}

.txt_review {
  color: #fff;
  text-align: center;
  margin-top: auto;
  margin-bottom: 1rem;
  font-family: Poppins, sans-serif;
  font-size: .9rem;
  position: relative;
}

.txt_review.azul {
  color: var(--azul1);
  font-size: 1rem;
}

.mask {
  width: 100%;
  height: auto;
}

.nombre {
  color: #fff;
  text-align: left;
  width: auto;
  height: auto;
  margin-bottom: 0;
  margin-left: .5rem;
  margin-right: auto;
  font-size: 1.1rem;
  font-weight: 600;
}

.nombre.azul {
  color: var(--azul1);
  font-size: 1rem;
}

.nombre.azul.centrado {
  text-align: center;
}

.puesto {
  color: var(--azul1);
  text-align: center;
  font-size: .9rem;
  font-weight: 400;
  line-height: 1.2em;
}

.cont_stars {
  color: var(--azul1);
  justify-content: center;
  align-items: center;
  width: auto;
  height: auto;
  margin-bottom: 1rem;
  display: flex;
}

.text-block {
  font-family: Material Icons Round, sans-serif;
  font-size: 1.4rem;
}

.legales {
  flex-flow: column;
  width: 100%;
  height: auto;
  margin-bottom: 2rem;
  display: flex;
}

.legales._1 {
  background-image: url('../images/Footer-Check.svg');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 1.8rem;
}

.legales._2 {
  background-image: url('../images/Footer-Info.svg');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 1.8rem;
}

.legales._3 {
  background-image: url('../images/Footer-Question.svg');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 1.8rem;
}

.nosotros {
  z-index: 999;
  border: 4px solid var(--azul1);
  background-color: #16365bf2;
  background-image: linear-gradient(#16365bf2, #16365bf2), url('../images/background_nosotros_1.webp');
  background-position: 0 0, 50%;
  background-repeat: repeat, no-repeat;
  background-size: auto, cover;
  border-radius: 25px;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  height: 90vh;
  margin: 2rem auto;
  padding: 2rem;
  display: none;
  position: fixed;
  inset: 100vh 0% 0%;
  overflow: scroll;
}

._100 {
  z-index: 998;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  padding-top: 2rem;
  padding-bottom: 2rem;
  display: flex;
  position: relative;
}

._100.white {
  background-color: #fff;
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.equipo {
  flex-flow: row;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-bottom: 1.5rem;
  margin-left: 0;
  margin-right: auto;
  display: flex;
}

.img_equipo {
  border: 4px solid var(--azul1);
  border-radius: 500px;
  width: 8rem;
  max-width: none;
  height: auto;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: .5rem;
}

.contenedor_quienessomos {
  width: 100%;
  height: auto;
  margin-bottom: 2rem;
  padding-left: 35px;
  position: relative;
}

.parrafo_seccion {
  color: #fff;
  text-align: justify;
  overflow-wrap: normal;
  width: 100%;
  font-size: 1rem;
  line-height: 1.4em;
}

.list-2 {
  color: #fff;
  padding-left: 20px;
  font-size: .9rem;
  list-style-type: decimal;
}

.list-item-2 {
  width: 100%;
  height: auto;
  margin-bottom: .4rem;
  font-size: 1rem;
  font-weight: 400;
}

.icono_float {
  width: 2.5rem;
  position: absolute;
  inset: 2rem auto auto 2rem;
}

.icono_close {
  background-image: url('../images/close.svg');
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  width: 2rem;
  height: 2rem;
  position: absolute;
  inset: 2rem 2rem auto auto;
}

.linea-horizontal {
  background-color: var(--azul1);
  width: 4px;
  height: 80px;
  margin-top: auto;
  margin-bottom: auto;
  position: absolute;
  left: 0;
}

.linea-horizontal.var {
  height: 100%;
}

.servicios {
  z-index: 999;
  border: 4px none var(--azul1);
  background-color: #fff;
  border-radius: 0 25px 25px 0;
  justify-content: center;
  align-items: flex-start;
  width: 95%;
  height: auto;
  min-height: 0;
  margin: 2rem auto 2rem -100vw;
  padding: 2rem;
  display: flex;
  position: absolute;
  inset: 0 0% 0% 0;
  overflow: scroll;
}

.txt_ficha {
  background-color: #e6f0ffeb;
  border-bottom-right-radius: 35px;
  border-bottom-left-radius: 35px;
  width: 100%;
  height: auto;
  min-height: 50%;
  margin-top: auto;
  padding: 1.5rem;
  font-size: 1rem;
  line-height: 1.3em;
}

.titulo_ficha {
  color: var(--azul1);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: .8rem;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.4em;
}

.titulo_ficha.full {
  width: 100%;
}

.cont_servicios {
  justify-content: space-between;
  width: 100%;
  height: auto;
  margin-bottom: 2rem;
  display: flex;
}

.cont_list {
  border: 0 #000;
  flex-flow: wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  margin-top: 1rem;
  display: flex;
}

.boton_vermas {
  background-color: var(--azul1);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: auto;
  padding-left: 0;
  padding-right: 0;
  font-family: Material Icons Round, sans-serif;
  font-size: 1.5rem;
  line-height: 1em;
  display: flex;
}

.boton_vermas:hover {
  color: #fff7f0;
  background-color: #1d1d1b;
  border: 4px #57a9de;
}

.parrafo_servicios {
  width: 95%;
  margin-bottom: 0;
  margin-right: auto;
  font-family: Poppins, sans-serif;
  font-size: 1rem;
  line-height: 1.3em;
  display: none;
}

.contacto {
  z-index: 999;
  border: 4px none var(--azul1);
  background-color: #fff;
  border-radius: 25px 0 0 25px;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 50%;
  height: auto;
  min-height: 0;
  margin: 3rem auto 3rem 0;
  padding: 3rem;
  font-size: .9rem;
  display: flex;
  position: fixed;
  inset: 0 -50vw 0% auto;
  overflow: scroll;
}

.code-embed {
  width: 90%;
  height: 220px;
  margin-bottom: 2rem;
}

.txt_contacto {
  margin-bottom: 1rem;
  display: flex;
}

.blue {
  color: var(--azul1);
  text-align: left;
}

.text-field {
  border: 1px #000;
  border-bottom-style: solid;
  width: 48%;
  padding-left: 0;
  font-size: .8rem;
}

.text-field._100 {
  width: 100%;
  height: 5rem;
  margin-bottom: 2rem;
  padding-top: 10px;
  padding-bottom: 0;
}

.form {
  flex-flow: wrap;
  justify-content: space-between;
  width: 100%;
  display: flex;
}

.form-block {
  width: 100%;
  margin-top: 1rem;
}

.submit-button {
  background-color: var(--azul1);
  border-radius: 500px;
  align-self: center;
  width: auto;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  padding: .5rem 2rem;
}

.submit-button:hover {
  background-color: var(--azul2);
}

.slide30 {
  width: 80%;
  height: auto;
  margin: auto 10%;
}

.mask-2 {
  order: 0;
  align-self: auto;
  width: 100%;
  height: auto;
}

.rrss {
  width: auto;
  height: auto;
  margin-left: auto;
  display: flex;
}

.logo_rrss {
  background-color: var(--azul1);
  object-fit: cover;
  border-radius: 500px;
  justify-content: center;
  align-items: center;
  width: 1.8rem;
  height: 1.8rem;
  margin-left: 1rem;
  margin-right: auto;
  padding: .5rem;
  display: flex;
}

.logo_rrss:hover {
  background-color: #fff;
}

.logo_rrss.var {
  padding: .3rem;
}

.icono_menu {
  z-index: 0;
  width: 3rem;
  display: none;
  position: absolute;
  bottom: auto;
}

.txt_menu {
  z-index: 998;
  font-size: 1rem;
  display: block;
  position: relative;
}

.contenedor_bio {
  border-top: 3px none var(--azul1);
  flex-flow: wrap;
  width: 100%;
  margin-bottom: 1rem;
  padding-top: 0;
  display: flex;
  overflow: visible;
}

.parrafo_vermas {
  color: #fff;
  text-align: justify;
  width: 100%;
  font-size: .9rem;
  line-height: 1.4em;
}

.parrafo_vermas.var {
  color: var(--azul2);
  text-align: left;
  width: 95%;
  margin-bottom: 0;
  margin-left: auto;
  padding-left: 0;
}

.cont_links {
  justify-content: space-between;
  width: auto;
  height: auto;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: 0;
  display: flex;
}

.icono_links {
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: auto;
  margin-left: .5rem;
  display: flex;
}

.fecha {
  color: var(--azul1);
  margin-top: auto;
  margin-bottom: auto;
  margin-right: 2rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4em;
}

.proyectos {
  z-index: 999;
  border: 4px solid var(--azul1);
  background-color: #16365bf2;
  background-image: linear-gradient(#16365bf2, #16365bf2), url('../images/background_nosotros_1.webp');
  background-position: 0 0, 50%;
  background-repeat: repeat, no-repeat;
  background-size: auto, cover;
  border-radius: 25px;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  height: 90vh;
  margin: 2rem auto;
  padding: 2rem;
  display: none;
  position: fixed;
  inset: -100vh 0% 0;
  overflow: scroll;
}

.cont_proyecto {
  justify-content: flex-start;
  align-items: center;
  width: auto;
  margin-left: auto;
  display: flex;
  position: relative;
}

.cont_logo {
  z-index: 996;
  background-color: #fff;
  width: 100%;
  height: auto;
  margin-bottom: auto;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  display: none;
  position: fixed;
  top: 0;
}

.image {
  width: 25%;
  margin-left: auto;
  margin-right: auto;
}

.contacto_movil {
  z-index: 999;
  border: 4px none var(--azul1);
  background-color: #fff;
  border-radius: 25px 0 0 25px;
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 50%;
  height: auto;
  min-height: 0;
  margin: 3rem auto 3rem 0;
  padding: 3rem;
  font-size: .9rem;
  display: flex;
  position: fixed;
  inset: 0 -50vw 0% auto;
  overflow: scroll;
}

.navbar {
  background-color: #0000;
  width: 100%;
  display: none;
}

.contenedor_menu {
  flex-flow: wrap;
  width: 100%;
  max-width: none;
  height: auto;
  display: flex;
}

.contenedor_menu.hero {
  z-index: 995;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  justify-content: center;
  align-items: center;
  height: 80vh;
  margin-bottom: 5rem;
  position: relative;
}

.contenedor_menu._2 {
  z-index: 998;
  justify-content: center;
  align-items: center;
  position: relative;
}

.contenedor_menu.full {
  flex-flow: wrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: none;
}

.contenedor_menu.contact {
  flex-flow: wrap;
  justify-content: space-between;
  width: 100%;
}

.nav-menu {
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.italic-text {
  font-size: 1rem;
}

@media screen and (max-width: 991px) {
  .seccion.hero {
    height: auto;
    min-height: 100vh;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .seccion.footer {
    background-position: 115%, -15%;
    padding-bottom: 2rem;
  }

  .contenedor.hero {
    justify-content: space-between;
    align-items: flex-start;
    height: 90vh;
    margin-top: auto;
    margin-bottom: auto;
  }

  .background-video {
    width: 100%;
  }

  .logo {
    width: 40%;
    margin-left: 30%;
    margin-right: 30%;
    display: block;
    position: static;
  }

  .col25 {
    width: 45%;
    height: auto;
    margin-top: 2rem;
  }

  .col60 {
    width: 100%;
    height: 10rem;
    margin-bottom: 4rem;
  }

  .img1 {
    width: 100%;
    height: 60%;
  }

  .icono_hero {
    inset: auto 0% 0% auto;
  }

  .heading {
    font-size: 2rem;
  }

  .menu {
    display: none;
  }

  .menu.movil {
    display: flex;
  }

  .link_menu {
    color: var(--azul1);
    width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .link_menu:hover {
    border-radius: 0;
  }

  .col50, .col50.centrado {
    width: 100%;
  }

  .col50.fichas {
    width: 100%;
    margin-bottom: 2rem;
  }

  .col50.fichas._1 {
    margin-bottom: 2rem;
  }

  .col50.down {
    width: 100%;
  }

  .col50.footer, .col50.sldr {
    width: 100%;
    margin-bottom: 2rem;
  }

  .col50.sldr.proyectos {
    display: none;
  }

  .txt_footer {
    width: 75%;
    font-size: 1rem;
  }

  .txt_footer.var {
    width: 85%;
    margin-bottom: .5rem;
  }

  .logo_footer {
    width: 35%;
  }

  .slide {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .txt_review {
    width: 100%;
  }

  .nosotros {
    display: flex;
    top: 100vh;
    overflow: scroll;
  }

  .servicios {
    left: -100vw;
  }

  .cont_servicios {
    flex-flow: column;
  }

  .boton_vermas {
    text-align: center;
  }

  .contacto {
    flex-flow: column;
    width: 95%;
    margin-top: 1rem;
    margin-bottom: 1rem;
    right: -100vw;
  }

  .txt_contacto {
    margin-bottom: .5rem;
  }

  .proyectos {
    display: flex;
    top: -100vh;
    overflow: scroll;
  }

  .cont_proyecto {
    margin-left: 1rem;
  }

  .contacto_movil {
    flex-flow: column;
    width: 95%;
    margin-top: 1rem;
    margin-bottom: 1rem;
    right: -100vw;
  }

  .main {
    width: 100vw;
  }

  .navbar {
    z-index: 996;
    width: 100%;
    display: block;
    position: fixed;
    top: 3rem;
    right: auto;
  }

  .contenedor_menu {
    justify-content: flex-end;
    align-items: flex-start;
    width: auto;
  }

  .contenedor_menu.hero {
    justify-content: space-between;
    align-items: flex-start;
    height: 90vh;
    margin-top: auto;
    margin-bottom: auto;
  }

  .nav-menu {
    background-color: #fff;
    border-radius: 20px;
    width: 90vw;
    margin-top: 1rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    overflow: clip;
  }

  .menu-button {
    background-color: #fff;
    border-radius: 20px;
    margin-right: 2rem;
    padding: 10px;
  }

  .menu-button.w--open {
    background-color: var(--azul1);
    margin-left: auto;
    margin-right: 2rem;
  }

  .icon {
    color: var(--azul2);
  }
}

@media screen and (max-width: 767px) {
  .logo {
    width: 60%;
    margin-left: 20%;
    margin-right: 20%;
  }

  .col25 {
    width: 100%;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .col25.footer {
    width: 100%;
  }

  .col60 {
    width: 80%;
    height: auto;
    margin-bottom: 2rem;
  }

  .img1 {
    width: 60%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }

  .heading {
    font-size: 1.5rem;
  }

  .menu {
    flex-flow: wrap;
    height: auto;
    display: none;
  }

  .menu.movil {
    display: flex;
    position: static;
  }

  .link_menu {
    width: 100%;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .txt_footer.var {
    width: 90%;
  }

  .legales._1 {
    margin-bottom: 1rem;
  }

  .legales._2, .legales._3 {
    margin-bottom: 0;
  }

  .icono_float {
    top: 2rem;
    left: 2rem;
  }

  .icono_close._2, .icono_close._3 {
    top: 2rem;
    right: 2rem;
  }

  .servicios {
    padding: 2rem;
    left: -100vw;
  }

  .contacto, .contacto_movil {
    width: 95%;
    padding: 2rem;
    right: -100vw;
  }

  .navbar {
    top: 2.5rem;
  }

  .nav-menu {
    margin-top: 1.5rem;
  }

  .menu-button {
    margin-right: 2rem;
  }
}

@media screen and (max-width: 479px) {
  .seccion.hero {
    height: auto;
    min-height: 100vh;
    padding-top: 1rem;
  }

  .seccion.footer {
    background-size: 5rem, 5rem;
  }

  .contenedor.hero {
    justify-content: space-between;
    align-items: flex-start;
    height: auto;
    margin-top: 2rem;
    margin-bottom: 2rem;
    display: block;
  }

  .background-video {
    height: auto;
    min-height: 100vh;
  }

  .logo {
    width: 75%;
    margin-bottom: 2rem;
    margin-left: 0%;
    margin-right: auto;
  }

  .col25 {
    width: 100%;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

  .col25.footer {
    margin-bottom: 0;
  }

  .col60 {
    width: 100%;
    margin-bottom: 3rem;
  }

  .img1 {
    width: 70%;
    height: auto;
    margin-bottom: 1rem;
  }

  .body {
    font-family: Poppins, sans-serif;
  }

  .heading {
    font-size: 1.4rem;
  }

  .menu {
    flex-flow: wrap;
    height: auto;
    position: static;
    bottom: auto;
  }

  .link_menu {
    width: 100%;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    padding: 1.5rem .5rem;
    font-size: .9rem;
  }

  .col50.fichas {
    min-height: 40rem;
  }

  .col50.fichas._1 {
    background-position: 50% 0;
    min-height: 45rem;
  }

  .col50.fichas._2 {
    background-position: 30% 0;
    background-size: cover;
  }

  .col50.fichas._4 {
    background-position: 50% 0;
  }

  .col50.fichas._5 {
    background-position: 50% 0;
    background-size: cover;
  }

  .col50.down {
    width: 100%;
  }

  .col50.sldr {
    width: 100%;
    margin-bottom: 2rem;
  }

  .col50.var {
    flex-flow: column;
  }

  .txt_footer {
    width: 100%;
    font-size: .9rem;
  }

  .txt_footer.var {
    width: 85%;
  }

  .logo_footer {
    width: 50%;
  }

  .copyright {
    font-size: .9rem;
  }

  .titulo.xl {
    text-align: center;
    width: 70%;
    margin-bottom: 2rem;
    font-size: 1.2rem;
  }

  .titulo.xl.azul {
    text-align: center;
    margin-bottom: 2rem;
    font-size: 1.2rem;
  }

  .titulo.var {
    margin-bottom: 1rem;
  }

  .slider {
    flex-flow: wrap;
    min-height: 0;
  }

  .nombre {
    text-align: center;
    margin-bottom: 1rem;
    margin-left: auto;
  }

  .legales._2 {
    margin-bottom: 1rem;
  }

  .nosotros {
    height: 95vh;
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: 1rem;
    display: none;
    top: 100vh;
  }

  .equipo {
    flex-flow: column;
    width: 100%;
  }

  .img_equipo {
    width: 6rem;
    margin-bottom: 1rem;
  }

  .contenedor_quienessomos {
    padding-left: 30px;
  }

  .icono_float {
    width: 1.5rem;
    top: 1rem;
    left: 1rem;
  }

  .icono_close {
    width: 1.5rem;
    height: 1.5rem;
    top: 1rem;
    right: 1rem;
  }

  .icono_close._2 {
    top: 1rem;
    right: 1rem;
  }

  .servicios {
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: 1rem;
    left: 0;
  }

  .txt_ficha {
    padding: 1rem .5rem;
  }

  .titulo_ficha {
    width: 100%;
  }

  .titulo_ficha.var {
    width: 80%;
  }

  .cont_list {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    place-content: center space-between;
    align-items: flex-start;
    margin-top: .5rem;
    display: flex;
  }

  .boton_vermas {
    width: 1.5rem;
    height: 1.5rem;
    font-size: 1.5rem;
  }

  .contacto {
    width: 95%;
    right: -100vw;
  }

  .code-embed {
    width: 80%;
  }

  .slide30 {
    width: 80%;
    margin-left: 10%;
    margin-right: 10%;
  }

  .txt_menu {
    font-size: 1rem;
  }

  .parrafo_vermas {
    text-align: justify;
  }

  .parrafo_vermas.var {
    width: 90%;
  }

  .cont_links {
    width: auto;
    margin-right: auto;
  }

  .fecha {
    text-align: center;
    width: 100%;
    margin-bottom: 1rem;
    margin-right: 0;
  }

  .proyectos {
    height: 95vh;
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: 1rem;
    display: flex;
    top: -100vh;
  }

  .cont_proyecto {
    width: 100%;
    margin-left: 0;
  }

  .contacto_movil {
    width: 95%;
    right: -100vw;
  }

  .contenedor_menu.hero {
    justify-content: space-between;
    align-items: flex-start;
    height: auto;
    margin-top: 2rem;
    margin-bottom: 2rem;
    display: block;
  }

  .menu-button {
    border: 3px none var(--azul1);
    border-radius: 500px;
    margin-right: 1rem;
  }

  .menu-button.w--open {
    margin-right: 1rem;
  }
}


@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-Bold.ttf') format('truetype'), url('../fonts/Poppins-ExtraBold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-ExtraLightItalic.ttf') format('truetype');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-MediumItalic.ttf') format('truetype');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-Black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-SemiBoldItalic.ttf') format('truetype');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-BlackItalic.ttf') format('truetype');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-BoldItalic.ttf') format('truetype'), url('../fonts/Poppins-ExtraBoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-ExtraLight.ttf') format('truetype');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-ThinItalic.ttf') format('truetype');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Poppins';
  src: url('../fonts/Poppins-Thin.ttf') format('truetype');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}