@import url("https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");

/* geral */
* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  /* outline: 2px solid red; */
}

html {
  font-size: 62.5%;
}

& h2 {
  font-size: 3rem;
  color: var(--azul-base);
  margin-bottom: 2rem;
  margin: 0;
}

.interface {
  max-width: 128rem;
  margin: 0 auto;
  padding: 5% 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* variaveis */
:root {
  /* cores principais */
  --vermelho-base: #b20000;
  --vermelho-escuro: #7e0000;
  --azul-base: #005c6d;
  --primario-titulos-hover: #004854;
  --secundario-hover: #00d8e8;
  --azul-destaque-base: #00c1cf;

  /* cores auxiliares */
  --verde-base: #a0c340;
  --blueberry-base: #4c7eff;
  --crayola-base: #ffc24c;
  --violeta-base: #8a29e6;
  --coral-base: #ff4c4d;
  --vermelho-base-opaco: #b200004e;
  --azul-base-opaco: #005d6d34;
  --pink-base: #ff4ca2;

  /* cores neutras */
  --cinza-texto-base: #666666;
  --cinza-claro: #dadada;
  --cinza-hover: #e6e6e6;
  --prata-base: #f8f8f8;
  --cinza-escuro: #1f1f1f;
  --branco: #ffffff;
  --preto: #000000;

  /* cores de feedback */
  --cancelado: #d32719;
  --andamento: #b78718;
  --concluido: #3acf1f;
  --cancelado-outline: #f95b4d;
  --andamento-outline: #dfb77b;
  --concluido-outline: #80e96d;
  --cancelado-light: #fdd5d1;
  --andamento-light: #fff5ea;
  --concluido-light: #e8fbe4;
}

/* header */
header {
  position: sticky;
  top: 0;
  height: 8rem;
  background-color: var(--vermelho-base);
  z-index: 500;

  & .interface {
    justify-content: space-between;
    color: var(--branco);
    padding: 1% 0;
  }

  & .logo {
    & img {
      width: 10rem;
    }
  }

  & .menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2em;

    & nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 2em;

      & h1 {
        font-weight: bold;
      }

      & .link-mob {
        display: none;
      }

      & a {
        color: var(--branco);
        text-decoration: none;
        font-size: 1.8rem;
        font-weight: 400;
        transition: 0.3s ease all;

        &:hover {
          color: var(--cinza-claro);
        }
      }

      & button {
        background-color: transparent;
        border: none;
        color: var(--branco);
        font-size: 1.8rem;
        cursor: pointer;
        transition: 0.3s ease all;
        position: relative;

        & #menu-links {
          display: none;
          flex-direction: column;
          position: absolute;
          right: 0;
          background-color: var(--branco);
          height: max-content;
          width: max-content;
          box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;

          & a {
            color: var(--cinza-texto-base);
            padding: 1rem;

            &:hover {
              background-color: var(--cinza-hover);
            }
          }
        }

        & #menu-links.ativo {
          display: flex;
        }

        &:hover {
          color: var(--cinza-claro);
        }
      }
    }
  }

  & .btn-menu {
    display: none;
  }
}

/* titulo */
#titulo {
  background-color: var(--cinza-claro);

  & .interface {
    flex-direction: column;
    padding: 1% 0;
  }

  & h1 {
    font-size: 3.5rem;
  }

  & p {
    font-size: 2rem;
    text-align: justify;
  }
}

/* Footer */
footer {
  background-color: var(--cinza-escuro);
  width: 100%;

  & .interface {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 1% 0;

    & .container {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1rem;
      padding: 1rem 0rem;

      & .titulo {
        color: var(--azul-base);
        font-size: 2rem;
        font-weight: bold;
        margin-bottom: 1rem;
      }

      & .descricao {
        color: var(--branco);
        font-size: 1.7rem;
        text-align: left;
      }

      & article {
        width: 25%;
        height: 20rem;
      }

      & .contato {
        & ul {
          & li {
            list-style: none;
            color: var(--branco);
            font-size: 1.7rem;
            display: flex;
            align-items: center;
            gap: 1rem;
            margin: 1rem 0rem;

            & i {
              font-size: 2.2rem;
              color: var(--azul-base);
            }
          }
        }
      }

      & .links-rapidos {
        & nav {
          & ul {
            & li {
              list-style: none;
              font-size: 1.7rem;
              display: flex;
              align-items: center;
              gap: 1rem;
              margin: 1rem 0rem;

              & a {
                color: var(--branco);
                text-decoration: none;
                font-size: 1.7rem;
              }
            }
          }
        }
      }

      & .redes-sociais {
        & nav {
          display: flex;
          gap: 2rem;

          & i {
            font-size: 3rem;
            color: var(--azul-base);
            gap: 1rem;
          }

          & i:hover {
            color: var(--primario-titulos-hover);
          }
        }
      }
    }

    & .direitos {
      border-top: 1px solid var(--cinza-claro);
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 2rem 0rem;

      & div {
        margin-right: 1rem;

        & p {
          color: var(--branco);
          font-size: 2rem;

          a {
            color: var(--azul-destaque-base);
            font-weight: bold;

            & a:hover {
              color: var(--secundario-hover);
            }
          }
        }
      }

      & img {
        width: 50%;
      }
    }
  }
}

/* Botões de links  */
.btn-vermelho {
  color: var(--branco);
  text-decoration: none;
  background-color: var(--vermelho-base);
  padding: 1rem 2rem;
  width: max-content;
  font-size: 1.7rem;
  text-align: left;
  cursor: pointer;

  & span {
    margin-right: 1rem;
  }

  &:hover {
    background-color: var(--vermelho-escuro);
  }
}

.btn-azul {
  color: var(--branco);
  text-decoration: none;
  background-color: var(--azul-base);
  padding: 1rem 2rem;
  font-size: 1.7rem;
  text-align: left;

  & span {
    margin-right: 1rem;
  }

  &:hover {
    background-color: var(--primario-titulos-hover);
  }
}

@media (max-width: 1023px) {
  /* Header  */

  header {
    padding: 0 5%;
    height: 6rem;

    & .logo {
      width: 100%;

      & img {
        width: 7rem;
        object-fit: contain;
      }
    }

    & .menu {
      position: fixed;
      right: -100%;
      top: 0;
      background-color: var(--cinza-escuro);
      width: 100%;
      height: 100dvh;
      transition: 0.3s ease all;

      & nav {
        width: 100%;
        flex-direction: column;

        & .link-mob {
          display: block;
        }

        & a {
          padding: 1rem 0;
          text-decoration: none;
          text-align: center;
          font-size: 3rem;
          color: #818181;
          display: block;
          transition: 0.3s;
          width: 100%;

          &:hover {
            color: #f1f1f1;
          }
        }

        & button {
          display: none;
        }
      }

    }

    & .menu.ativo {
      right: 0;
    }

    & .btn-menu {
      display: block;
      font-size: 3.5rem;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
      border: none;
      background-color: transparent;
      color: var(--branco);
      z-index: 1000;
    }
  }

  /* Footer  */

  footer {
    & .interface {
      padding: 0 4%;

      & .container {
        padding: 2rem 0;
        flex-direction: column;

        & article {
          width: 100%;
          height: auto;
        }

        & .descricao {
          text-align: justify;
        }

        & .links-rapidos {
          display: none;
        }
      }

      & .direitos {
        flex-direction: column;
        gap: 2rem;

        & img {
          width: 100%;
          object-fit: contain;
        }

        & div {
          & p {
            text-align: justify;
          }
        }
      }
    }
  }
}