@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;

  color: var(--color02);
}

.Header {
  grid-column: 1/13;
  grid-row: 1/2;

  /* Sección información de contacto -> correo electrónico + telefóno + Instagran + Linkedin */
  .Header__contact {
    height: 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0.5rem;
    padding: 0px 1rem;

    .Contact__info {
      display: flex;
      gap: 4rem;
      align-items: center;
    }

    .Contact__redes {
      width: 10%;
      height: 75%;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 1rem;
      padding-left: 1rem;
    }

    .Contact__icon {
      display: flex;
      gap: 0.8rem;
      align-items: center;

      .Contact__icon--fig {
        width: 24px;
        height: 24px;
      }
    }
  }

  .Header_navbar {
    height: 4.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* background-color: var(--color02); */
    border-radius: 1.1rem;
    padding: 0.5rem;
    margin: 0.5rem;

    /* Sección Logo */
    .Navbar__logo {
      width: 15%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0.2rem;

      .Navbar__logo--link {
        display: flex;
        justify-content: center;
        align-items: center;
        text-decoration: none;

        .Navbar__logo--link--h1 {
          font-size: 2.5rem;
          color: var(--color02);
          font-weight: 500;
          text-align: end;
          font-family: "Raleway", sans-serif;

          span {
            font-size: 2rem;
            color: var(--color03);
          }
        }
      }
    }

    /* Sección Navegation */
    .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;
      }

      .Navbar__menu {
        display: flex;
        gap: 1rem;

        .Navbar__menu-item {
          list-style-type: none;
          margin: 0.4rem;

          .Navbar__menu-link {
            text-decoration: none;
            color: var(--color02);
            font-weight: 600;
            text-transform: uppercase;
          }
          :hover {
            color: var(--color03);
          }
        }
      }
    }
    /* Fin Navegation */

    .Navbar__boton {
      width: 10%;
      height: 75%;
      display: flex;
      justify-content: center;

      .Navbar__boton--contact {
        width: 75%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 0.8rem;
        background-color: var(--color03);
        color: var(--color01);
        cursor: pointer;
        text-decoration: none;
      }
    }
  }

  .Header__Info {
    width: 100%;
    height: 80%;
    display: flex;
    flex-direction: column;
    padding: 1rem;
    margin: 0.5rem;

    .Info__main {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: space-between;
      align-items: end;

      .Info__img {
        .Img__i {
          display: flex;
        }
      }

      .Info__text {
        width: 50%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 1rem;
        margin: 0.5rem;

        .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: 2.5rem 0px 1rem 0px;
        }

        .Text__p {
          max-width: 50ch;
        }

        .Info__extra {
          width: 16rem;
          font-weight: 600;
          border: 2px solid var(--color03);
          border-radius: 1rem;
          font-size: 1.1rem;
          padding: 1rem;
          margin: 2.5rem 0px;
          text-align: center;
        }
      }
    }

    .Info__resultados {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 2.5rem;
      padding: 1.1rem 0px;
      background-color: var(--color02);
      width: 100%;

      .Resultado__info {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        gap: 1rem;

        .Resultado__info--img {
          width: 24px;
          height: 24px;
          text-align: center;
        }

        .Resultado__info-text {
          color: var(--color01);
        }
      }
    }
  }
}

.Main {
  grid-column: 1/13;
  grid-row: 2/3;

  .Text__p {
    text-align: center;
  }

  .Quiensoy__cards {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.5rem;
    margin: 2rem 1rem;

    .Quiensoy__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;
      }
    }
  }
}

.Main__beneficios {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3.5rem;

  .Beneficio__card {
    display: flex;
    flex-direction: column;
    width: 25%;
    height: 100%;

    .Beneficio__card-p {
      color: var(--color03);
      font-size: 3.5rem;
      font-weight: 900;
      height: 48px;
      display: flex;
      align-items: center;
    }
    .Beneficio__card-h3 {
      font-size: 1.5rem;
      font-weight: 700;
      padding: 1.2rem 0px;
    }

    .Text__p {
      text-align: left;
    }

    .Beneficio__text {
      width: 28ch;
    }
  }
}

.Main__servicios {
  .Main__servicios-text {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .Servicio__cards {
    padding: 3rem 0px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1.1rem;
    margin: 1rem;

    /*Tarjeta*/
    .Servicios__card {
      width: 25%;
      height: 31rem;
      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%;
      }

      .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;
  padding-bottom: 3.2rem;

  .FAQs {
    width: 50%;

    .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;
      padding: 0 1em 0 3.3em;
    }
    .FAQs__card-respuesta-opened {
      padding: 1em 1em 2em 3.3em;
      height: initial;
      border-left: 10px var(--color03) solid;
    }
    .arrow-rotate {
      transform: rotate(90deg);
    }

    .Text__bg {
      color: var(--color01);
    }
  }

  .Contact {
    width: 50%;

    .Form {
      display: flex;
      flex-direction: column;
      justify-content: center;
      margin: 1rem;

      .Form__nombre {
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 1rem;

        .article {
          width: 50%;
        }
      }

      .Text__contact {
        text-align: left;
        font-weight: 600;
      }

      .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;
      }
    }
  }
}

.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;
    }
  }
}

.card {
  width: 25%;
  height: 482px;
  display: flex;
  flex-direction: column;
  border: 1px black solid;

  .card_title {
    .card_h3 {
      font-size: 1.5rem;
    }
  }
}

.Boton__contacto {
  font-family: "DM Sans", sans-serif;
  width: auto;
  height: 45px;
  background-color: var(--color03);
  color: var(--color01);
  border: none;
  border-radius: 1rem;
  font-size: 1.1rem;
  cursor: pointer;
  padding: 0px 1.2rem;
}

.Text__p {
  font-weight: 500;
  color: var(--color02);
  text-decoration: none;
}

.Text__section {
  width: 55%;
  text-align: center;
}

.Text__h1 {
  font-weight: 700;
  color: var(--color02);
  font-size: 1.3rem;
}

.Text__h2 {
  font-size: 2.5rem;
  text-align: center;
  font-weight: 900;
  padding: 3.2rem 0px;
}

.Text__h3 {
  padding-bottom: 1rem;
  font-weight: 700;
  font-size: 1.2rem;
  margin: 0px 1rem;
}

.Text__h4 {
  font-weight: 700;
}

.Icon__figure {
  width: 24px;
  height: 24px;
}
