body {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #282828;
}

.header {
  width: 100%;
  display: flex;
  justify-content: center;
  position: fixed;
  padding: 0px 2% 0px 2%;
  top: 0;
  z-index: 99;
  box-sizing: border-box;
  background-color: white;
  border-bottom: 1px solid #9ea2b730;
}

.header-container {
  display: flex;
  width: 940px;
  flex-direction: row;
  justify-content: center;
  height: 100px;
}

.nav-menu {
  width: 100%;
  display: flex;
  justify-content: space-around;
}

.icon-menu {
  display: none;
  cursor: pointer;
}

.menu {
  width: 100%;
  display: contents;
  transition: right 0.5s ease; /* Animación al abrir/cerrar */
}

/* Estilos cuando el menú está abierto */
.menu.open {
  right: 0; /* Muestra el menú */
}

.nav-menu a {
  color: #282828;
  text-decoration: none;
}

.header-left {
  display: flex;
  justify-content: left;
  width: 30%;
  align-items: center;
}

.header-center {
  display: flex;
  justify-content: space-between;
  width: 55%;
  align-items: center;
}

.header-right {
  display: flex;
  justify-content: right;
  width: 15%;
  align-items: center;
}

.header-right a:first-child {
  width: 30px;
  height: 30px;
  border-radius: 360px;
  background-image: url(../images/icon-ig.svg);
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #282828;
  margin-right: 10px;
}

.header-right a {
  width: 30px;
  height: 30px;
  border-radius: 360px;
  background-image: url(../images/icon-whatsapp.svg);
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #282828;
}

.banner {
  width: 100%;
  margin-top: 100px;
  position: relative;
  overflow: hidden; /* Añade un desbordamiento oculto */
  height: 700px; /* Establece la altura deseada para la sección */
}

.slider {
  display: flex;
  width: 300%; /* Ancho total = 3 veces el ancho de una diapositiva */
  height: 100%;
  transition: transform 0.5s; /* Añade una transición suave */
}

.hero {
  width: 370px;
  height: 700px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
}

.hero img {
  width: 400px;
}

.banner-img1 {
  display: flex;
  width: 100%;
  height: 700px;
  background-image: url(../images/img-bg1.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  justify-content: center;
}

.banner-img2 {
  display: flex;
  width: 100%;
  height: 700px;
  background-image: url(../images/img-bg2.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  justify-content: center;
}

.banner-img3 {
  display: flex;
  width: 100%;
  height: 700px;
  background-image: url(../images/img-bg3.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  justify-content: center;
}

.controlsBanner {
  display: flex;
  justify-content: center;
  position: absolute;
  top: 350px;
  width: 100%;
}

.containerControls {
  width: 90%;
  display: flex;
  justify-content: space-between;
}

.arrowLeft,
.arrowRight {
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}

.arrowLeft {
  border-radius: 360px;
  width: 45px;
  height: 45px;
  background-image: url(../images/arrow-left.svg);
  background-size: 12px;
  background-repeat: no-repeat;
}

.arrowRight {
  border-radius: 360px;
  width: 45px;
  height: 45px;
  background-image: url(../images/arrow-right.svg);
  background-size: 12px;
  background-repeat: no-repeat;
}

.wa-fixed {
  display: flex;
  width: 140px;
  height: 50px;
  color: white;
  background-color: #1a1a1a;
  background-image: url(../images/icon-whatsapp.svg);
  background-position: left;
  background-repeat: no-repeat;
  background-position-x: 9px;
  background-size: 25px;
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 99;
  border-radius: 5px;
  align-items: center;
  padding-right: 21px;
  justify-content: flex-end;
  cursor: pointer;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}

.anchor {
  position: relative;
  width: 100%;
  top: -100px;
}

.sections {
  display: flex;
  justify-content: center;
  padding: 60px 0px;
}

.container {
  display: flex;
  width: 940px;
  flex-direction: row;
  justify-content: flex-start;
}

.col-1 {
  width: 65%;
  padding: 10px;
}

.col-2 {
  width: 35%;
  padding: 10px;
}

.title {
  width: 100%;
  font-size: 35px;
  font-weight: 500;
  padding: 5px 0px;
  background-image: url(../images/line-title.svg);
  background-size: 50px;
  background-repeat: no-repeat;
  background-position: left bottom;
  margin-top: 0;
}

.paragraph {
  font-size: 14px;
  line-height: 20px;
}

.boxes {
  display: flex;
  justify-content: center;
}

.boxes-container {
  display: flex;
  width: 940px;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.container-box {
  display: flex;
  width: 32%;
  height: auto;
  margin: 0px 10px 10px 0px;
  justify-content: center;
  align-items: center;
  position: relative;
  align-items: flex-end;
  cursor: pointer;
}

button {
  width: 120px;
  border: 1px solid #282828;
  padding: 10px;
  background-color: white;
  color: #282828;
  font-size: 14px;
  cursor: pointer;
}

.name-proyect {
  width: 100%;
  background-color: #ffffffe0;
  position: absolute;
  display: flex;
  justify-content: center;
  padding: 10px 0px;
  font-size: 13px;
  /* text-transform: uppercase; */
  font-weight: 500;
}

input {
  width: 50%;
  border: none;
  border-bottom: 1px solid grey;
  margin: 10px;
  font-size: 14px;
  margin-top: 30px;
}

textarea {
  width: 95%;
  height: 60px;
  border: none;
  border-bottom: 1px solid grey;
  margin: 10px 0px 0px 0px;
  font-size: 14px;
  margin-top: 30px;
}

textarea:focus,
input:focus {
  outline: none;
}

.footer {
  display: flex;
  padding: 60px 0px 90px 0px;
  background-color: #282828;
  justify-content: center;
  margin-top: 90px;
}

.footer-left {
  display: flex;
  justify-content: left;
  width: 50%;
}

.footer-right {
  display: flex;
  justify-content: right;
  width: 50%;
  flex-direction: column;
  align-items: flex-end;
}

.footer-right a:nth-child(2) {
  color: white;
  font-size: 14px;
  text-decoration: none;
}

.footer-end {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #282828;
  color: white;
  margin-top: -1px;
  padding-bottom: 60px;
  font-size: 14px;
}

.footer-end p {
  margin: 5px;
}

.social-media {
  display: flex;
  width: 170px;
  height: auto;
  justify-content: center;
}

.social-media a:first-child {
  width: 30px;
  height: 30px;
  border-radius: 360px;
  background-image: url(../images/icon-ig.svg);
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #282828;
  margin-right: 10px;
}

.social-media a {
  width: 30px;
  height: 30px;
  border-radius: 360px;
  background-image: url(../images/icon-whatsapp.svg);
  background-size: 20px;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #282828;
}

form {
  width: 700px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: column;
}

.contenidos {
  /* padding-bottom: 60px; */
  width: 100%;
  padding-top: 130px;
  display: flex;
  background-color: white;
  justify-content: center;
  position: relative;
  z-index: 9;
}

.contenidos-contanier {
  width: 940px;
  display: flex;
  flex-direction: column;
}

.contenidos-left {
  margin-bottom: 10px;
}

.contenidos-right {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}

.contenidos-images {
  width: 100%;
}

.spinner {
  color: black;
}

.spinner::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid black;
  border-top: 2px solid transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* ////////////////// */

@media only screen and (max-width: 768px) {
  .contenidos {
    padding-top: 60px;
  }

  .contenidos-contanier {
    flex-direction: column;
  }

  .contenidos-left {
    width: 100%;
    background-color: white;
    display: flex;
    justify-content: center;
    position: relative;
  }

  .contenidos-left div {
    width: 90%;
    padding-top: 60px;
  }

  .contenidos-right {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .contenidos-images {
    width: 90%;
  }

  .footer-left {
    width: 50%;
    justify-content: center;
  }

  .footer-right {
    width: 100%;
    justify-content: center;
    align-items: center;
    margin-top: 25px;
  }

  form {
    width: 90%;
  }

  input,
  textarea {
    width: 90%;
    margin-top: 30px;
  }

  .header {
    height: 100px;
    padding: 0px 30px;
  }
  .container {
    justify-content: space-between;
    align-items: center;
    height: auto;
  }
  .header-center {
    width: 70%;
  }
  .header-right {
    display: none;
  }
  .icon-menu {
    display: flex;
    width: 30px;
    height: 30px;
    background-image: url(../images/icon-menu.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 15px;
    top: 30px;
  }
  .menu {
    display: flex;
    flex-direction: column;
    position: absolute;
    width: 300px;
    height: 100vh;
    top: 100px;
    right: -110%;
    background-color: #ffffffef;
    padding-top: 20px;
    padding-left: 30px;
  }

  .menu a {
    margin-bottom: 20px;
  }

  .hero img {
    width: 300px;
  }

  .container {
    flex-direction: column;
  }

  .col-1 {
    width: 90%;
    flex-direction: column;
  }

  .col-2 {
    width: 90%;
    flex-direction: column;
  }

  .title {
    width: 90%;
  }

  .boxes-container {
    flex-direction: column;
    align-content: center;
  }

  .container-box {
    width: 90%;
  }

  .wa-fixed {
    width: 45px;
    height: 45px;
    border-radius: 360px;
    right: 20px;
  }
}

@media only screen and (max-width: 425px) {
  .header {
    padding: 0px 10px;
  }

  .header-center {
    width: 100%;
  }

  .menu {
    width: 100%;
  }
  .menu a {
    margin-left: 20px;
  }

  .hero {
    height: 400px;
  }
}
