@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Pacifico&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap");

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
:root {
  /* background-color */
  --color01: #f4f3ee;
  /* Font-color */
  --color02: #003049;
  /* Icon-color */
  --color03: #d62828;
}
html {
  font-size: 16px;
  background-color: var(--color01);
  scroll-behavior: smooth;
}

body {
  font-family: "DM Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5rem;

  /* Grilla - 12 columnas */
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: 95vh auto auto;
  /* grid-row-gap: 40px; */
  grid-column-gap: 40px;

  margin: auto;
  width: 1440px;
  padding: 0px 1rem;

  color: var(--color02);
}

.Header {
  grid-column: 1/13;
  grid-row: 1/2;
  margin: 0.5rem;

  /* Sección información de contacto -> correo electrónico + telefóno + Instagran + Linkedin */
  .Header__contacto {
    height: 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0.5rem;

    .Contacto__info {
      display: flex;
      gap: 2rem;
      align-items: center;
    }

    .Contacto__redes {
      width: 10%;
      height: 75%;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 1rem;
      padding-left: 1rem;
    }

    .Contacto__bg {
      border-radius: 0.8rem;
      border: 0.1rem solid var(--color03);
      box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px,
        rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
      padding: 0.4rem;
    }

    .Contacto__icon {
      display: flex;
      gap: 0.8rem;
      align-items: center;

      .Contacto__info--fig {
        width: 24px;
        height: 24px;
      }
    }
  }

  .Header_navbar {
    height: 7%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 1.1rem;
    margin: 0.5rem;

    /* Sección Logo */
    .Navbar__logo {
      width: 10rem;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;

      .Logo__link {
        display: flex;
        justify-content: center;
        align-items: center;
        text-decoration: none;

        .Logo__link--text {
          font-size: 2.5rem;
          color: var(--color02);
          font-weight: 600;
          text-align: end;
          font-family: "Raleway", sans-serif;
        }
      }
    }

    /* Comienzo sección navegación */
    .Navbar__nav {
      width: 55%;
      display: flex;
      justify-content: center;
      border: 0.1rem solid var(--color02);
      box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px,
        rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
      border-radius: 0.8rem;

      .Btn_openmenu,
      .Btn_closemenu {
        display: none;
      }

      .Nav__menu {
        display: flex;
        gap: 1rem;

        .Nav__menu_item {
          list-style-type: none;
          margin: 0.4rem;

          .Nav__menu--link {
            text-decoration: none;
            color: var(--color02);
            font-weight: 600;
            text-transform: uppercase;
          }
          :hover {
            color: var(--color03);
          }
        }
      }
    }
    /* Cierre sección navegación */

    .Navbar__contacto {
      width: 10%;
      display: flex;
      justify-content: center;

      .Btn__contacto {
      }
      :hover {
        border: var(--color02) 1px solid;
      }
    }
  }

  .Header__info {
    width: 100%;
    height: 86%;
    display: flex;
    flex-direction: column;

    .Info__main {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: space-between;
      align-items: end;

      .Info__img {
        .Img__i {
          display: flex;
        }
      }

      .Info {
        width: 50%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 1rem;
        margin: 0.5rem;

        .Info__title {
          .Info__text--h1 {
            font-weight: 900;
            font-size: 5rem;
            line-height: 4.5rem;
          }

          .Info__text--h2 {
            font-size: 1.4rem;
            font-weight: 600;
            text-transform: uppercase;
            color: var(--color03);
            padding: 1rem 0px;
            margin: 1rem 0px;
          }
        }

        .Info__text {
          .Text__p {
            max-width: 50ch;
          }
        }

        .Info__rubro {
          display: flex;
          flex-direction: row;
          flex-wrap: wrap;
          gap: 0.5rem;
          padding: 1rem 0px;
          margin: 1rem 0px;
        }
      }
    }

    .Info__resultados {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 2.5rem;
      padding: 1.1rem 0px;
      width: 100%;
      box-shadow: rgba(6, 24, 44, 0.4) 0px 0px 0px 2px,
        rgba(6, 24, 44, 0.65) 0px 4px 6px -1px,
        rgba(255, 255, 255, 0.08) 0px 1px 0px inset;
      border-radius: 0.8rem;

      .Resultado__info {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        gap: 0.5rem;
      }
    }

    .Info__icon {
      width: 24px;
      height: 24px;
      text-align: center;
    }
  }
}

.Main {
  grid-column: 1/13;
  grid-row: 2/3;

  .Text__p {
    text-align: center;
  }

  .Sobremi__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    .Text__p {
      max-width: 80ch;
      padding: 1.5rem 0px;
      margin: 1.5rem 0px;
    }
  }

  .Sobremi__cards {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.5rem;
    margin: 2rem 1rem;

    .Sobremi__card {
      width: 20rem;
      height: 25rem;
      display: flex;
      flex-direction: column;
      padding: 0.8rem;
      border-radius: 1rem;
      /* box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px,
        rgba(14, 30, 37, 0.32) 0px 2px 16px 0px; */
      box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px,
        rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;

      .Card__title {
        height: 30%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.8rem;

        .Card__icon {
          width: 64px;
          height: 64px;
        }
      }

      .Card__text {
        height: 75%;
        display: flex;
        align-items: center;
      }
    }
  }
}

.Beneficios__numbers {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3.5rem;
  padding: 1.5rem 0px;
  margin: 1.5rem 0px;

  .Beneficios__number {
    display: flex;
    flex-direction: column;
    width: 25%;
    height: 100%;
    gap: 1rem;

    .Beneficios__number-p {
      color: var(--color03);
      font-size: 3.5rem;
      font-weight: 900;
      height: 48px;
      display: flex;
      align-items: center;
    }
    .Text__h3 {
      font-size: 1.2rem;
    }
    .Text__p {
      text-align: left;
      width: 28ch;
      margin: 0.2rem;
    }
  }
}

.Main__servicios-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.Servicio__cards {
  padding: 3rem 0px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 1.1rem;
  margin: 1rem;

  /*Tarjeta*/
  .Servicios__card {
    width: 25%;
    height: 26rem;
    border: 1px solid var(--color02);
    border-radius: 1.8rem;
    padding: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px,
      rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;

    /*Titulo*/
    .Servicios__card-title {
      height: 5%;

      .Text__h2 {
        font-size: 1.3rem;
        text-align: left;
      }
    }

    .Card__textinfo {
      height: 25%;

      .Text__p {
        color: var(--color02);
        text-align: left;
      }
    }

    .Servicios__card-items {
      height: 60%;
      display: flex;
      flex-direction: column;
      gap: 0.8rem;
    }

    .Card__item {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 0.8rem;

      .Text__p {
        color: var(--color02);
        text-align: left;
      }
    }
    .Card__boton {
      height: 10%;

      .Boton__contacto {
        width: 100%;
        background-color: var(--color03);
        color: var(--color01);
        cursor: pointer;
      }
    }
  }
}
.Servicios__boton {
  display: flex;
  align-items: center;
  justify-self: center;
  flex-direction: column;
  padding-bottom: 3rem;

  .Text__info {
    font-size: 1.4rem;
    font-weight: 600;
    padding-bottom: 1.5rem;

    text-align: center;
  }
}

.Main_FAQs {
  display: flex;
  flex-direction: row;

  .FAQs__box {
    width: 65%;
    display: flex;
    flex-direction: column;
    gap: 2rem;

    .FAQ {
      list-style: none;
      max-width: 75%;
      margin: 0 auto;
    }
    .FAQ li {
      background-color: var(--color02);
      border-bottom: 1px var(--color01) solid;
      color: var(--color01);
    }

    .FAQ li:first-child {
      border-top: 1px var(--color01) solid;
    }

    .FAQs__card-pregunta {
      padding: 1rem 0px;
      border-left: 10px var(--color01) solid;
      cursor: pointer;
      display: flex;
      flex-direction: row;
      align-items: center;

      .arrow {
        display: inline-block;
        margin: 0 0.5em;
        width: 0;
        height: 0;
        border-top: 6px solid transparent;
        border-left: 10px solid var(--color01);
        border-bottom: 6px solid transparent;
        transition: 0.3s;
      }
    }
    :hover,
    FAQs__card-pregunta:hover .arrow {
      border-left-color: var(--color03);
    }

    .FAQs__card-respuesta {
      overflow: hidden;
      height: 0;
    }
    .FAQs__card-respuesta-opened {
      padding: 1em;
      height: initial;
      border-left: 10px var(--color03) solid;
    }
    .arrow-rotate {
      transform: rotate(90deg);
    }

    .Text__bg {
      color: var(--color01);
    }
  }
}

.Contacto__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.Contacto {
  width: 100%;
  display: flex;
  flex-direction: row;

  .Contacto__formulario {
    width: 50%;
    display: flex;
    justify-content: end;
    padding: 0.8rem;
    margin: 0.6rem;

    .Form {
      width: 80%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 1.5rem;
      box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px,
        rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
      border-radius: 1.8rem;

      .Form__date {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 0.3rem;
        margin: 0.5rem;
      }

      .Text__contact {
        text-align: left;
        font-weight: 600;
        margin-bottom: 0.3rem 0px;
      }

      .Input_text {
        width: 100%;
        padding: 8px 10px;
        border: none;
        border-radius: 0.5rem;
        outline: none;
        font-family: "DM Sans", sans-serif;
        color: var(--color04);
        font-weight: 600;
      }

      .Input_textarea {
        height: 150px;
        resize: none;
      }
      
      .Btn_form{
        width: 25%;
        justify-content: center;
      }
    }
  }

  .Conteiner__social {
    width: 50%;
    height: 50%;
    border-left: 2px solid var(--color02);
    padding: 0.8rem;
    margin: 0.6rem;

    .Text__social {
      text-align: left;
      padding: 0.8rem;
      margin: 0.6rem;
    }

    .Conteiner__info {
      padding: 0.8rem;
      margin: 0.6rem;

      .Social_link {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 0.8rem;
        margin: 0.6rem;
      }
    }
  }
}

.Footer {
  grid-column: 1/13;
  grid-row: 3/3;
  box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px,
    rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;

  .Footer__info {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 2rem;

    .Header_navbar_logo {
      height: 100%;
      border-right: 2px solid black;
      padding-right: 1rem;

      .Text__h1 {
        font-size: 1.8rem;
        padding-bottom: 0.5rem;
        font-family: "Raleway", sans-serif;
      }

      .Text__h2 {
        font-size: 1.2rem;
        color: var(--color03);
        padding: 0px;
        text-align: start;
        font-weight: 600;
      }
    }

    .Navbar__menu {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 30px;

      .Navbar__menu-item {
        display: flex;
        justify-content: center;
        align-items: center;
        list-style-type: none;

        .Navbar__menu-link {
          text-decoration: none;
          color: var(--color02);
          font-weight: 600;
          text-transform: uppercase;
        }
        :hover {
          color: var(--color03);
        }
      }
    }
  }

  .Footer__contacto {
    height: 100%;
    border-left: 2px solid black;
    padding-left: 1rem;
  }

  .Footer__derechos {
    width: 100%;
    height: 25%;
    background-color: var(--color02);

    .Text__p {
      color: var(--color01);
      margin: auto;
      text-align: center;
      padding: 11px;
    }
  }
}

.Main_pm {
  padding: 1.5rem 0px;
  margin: 2rem 0px;
}

.card {
  width: 25%;
  height: 482px;
  display: flex;
  flex-direction: column;
  border: 1px black solid;

  .card_title {
    .card_h3 {
      font-size: 1.5rem;
    }
  }
}

.Btn {
  width: auto;
  display: flex;
  justify-content: start;
  align-items: center;
  border-radius: 0.8rem;
  box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px,
    rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
  padding: 0.4rem;
  text-decoration: none;
  border: var(--color02) 1px solid;
  color: var(--color02);
  cursor: pointer;
}
.Btn:visited {
  color: var(--color02);
}

.Btn:hover {
  background-color: var(--color02);
  color: var(--color01);
}

.Text {
  text-decoration: none;
  font-weight: 600;
  text-transform: uppercase;
  border: var(--color03) 2px solid;
}

.Text__p {
  font-weight: 500;
  color: var(--color02);
  text-decoration: none;
}

.Text__section {
  width: 55%;
  text-align: center;
}

.Text__h1 {
  font-weight: 900;
  color: var(--color02);
  font-size: 1.3rem;
}

.Text__h2 {
  font-size: 2.5rem;
  text-align: center;
  font-weight: 700;
}

.Text__h3 {
  font-weight: 600;
  font-size: 1rem;
  margin: 0.2rem;
}

.Text__h4 {
  font-weight: 700;
}

.Conteiner__icon {
  width: 24px;
  height: 24px;
}
