@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@100..700&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
  scroll-behavior: smooth;
  font-family: Poppins, sans-serif;
}

:root {
  --max-branco: #fff;
  --branco: #fafafa;
  --branco-secundario: #f3f3f3;
  --cinza: #d9d9d9;
  --cinza-medio: #6c757d;
  --cinza-escuro: #495057;
  --max-preto: #000;
  --preto: #161616;
  --vermelho: #c92929;
  --vermelho-secundario: #F23030;
  --azul-primario: #10c2bf;
  --azul-secundario: #0d9e9c;
  --azul-terciario: #077573;
  --azul-escuro: #024040;
  --azul-destaque: #1880df;
}

html,
body {
  background-color: var(--branco) !important;
  width: 100%;
}

::-webkit-scrollbar {
  width: 0.8rem;
}

::-webkit-scrollbar-track {
  background: var(--max-branco);
}

::-webkit-scrollbar-thumb {
  background-color: var(--azul-escuro);
  border: 0.2rem solid var(--branco);
}

input {
  caret-color: var(--azul-secundario);
}

::selection {
  background-color: var(--azul-secundario);
  color: var(--branco);
}

.navbar-nav > .nav-item a {
  font-weight: 500;
}

.navbar-nav > .nav-item > .nav-link,
footer > .container > .nav > .nav-item > .nav-link,
.link-login {
  transition: ease-in-out 0.2s;
}

.navbar-nav > .nav-item > .nav-link,
footer > .container > .nav > .nav-item > .nav-link {
  color: var(--azul-escuro);
}

.navbar-nav > .nav-item > .nav-link:hover,
footer > .container > .nav > .nav-item > .nav-link:hover,
.link-login:hover {
  color: var(--azul-secundario);
}

footer {
  background-color: var(--branco-secundario);
}


.primary-button {
  background-color: var(--azul-secundario);
  color: white;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
}

.primary-button:hover {
  color: white;
  background-color: var(--azul-primario);
}

.footer-absolute {
  position: absolute;
  bottom: 0;
  width: 100%;
}

.text-color-azul-primario {
  color: var(--azul-primario);
}

.text-color-azul-secundario {
  color: var(--azul-secundario);
}

@media (max-width: 768px) {
  .navbar-collapse {
    position: absolute;
    top: 66px; /* 56px (altura da navbar) + 10px */
    left: 0;
    width: 100%;
    background-color: var(--branco); /* Ajuste conforme necess�rio */
    z-index: 1050; /* menu estar acima de outros elementos */
    max-height: calc(100vh - 76px); /* Ajuste conforme necess�rio para a altura da navbar */
    border-bottom: 1px solid var(--cinza);
  }
}
