/* VARIAVEIS */
/* CODIGO */
@keyframes rotate {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  /* AMBIENTE DE DESENVOLVIMENTO */
  .ambiente-desenvolvimento {
    background-color: crimson;
    color: white;
    margin: 15px 0px 0px;
    padding: 5px 20px;
    width: 100%;
    position: absolute;
    bottom: calc(50% + 42px);
    box-shadow: rgb(38, 57, 77) 0px 10px 20px -10px;
    text-align: center;
  }
  
  .texto-info {
    background-color: crimson;
    color: white;
    text-align: center;
    width: 100%;
  }
  
  /*FIM AMBIENTE DE DESENVOLVIMENTO */
  .gradient {
    --size: 1000px;
    --speed: 90s;
    --easing: cubic-bezier(0.3, 0.2, 0.2, 0.3);
    background-color: #323232;
    width: var(--size);
    height: var(--size);
    filter: blur(calc(var(--size) / 5));
    position: absolute;
    background-image: linear-gradient(rgb(0, 98, 155), rgba(0, 161, 255, 0.66));
    animation: rotate var(--speed) var(--easing) alternate;
    border-radius: 30% 70% 70% 30%/30% 30% 70% 70%;
  }
  
  @media (min-width: 720px) {
    .gradient {
      --size: 1000px;
      --speed: 5s;
    }
  }
  @media (min-width: 1360px) {
    .gradient {
      --size: 1300px;
    }
  }
  @media (min-width: 1900px) {
    .gradient {
      --size: 1500px;
    }
  }
  body {
    background-color: #323232;
    position: absolute;
    inset: 0;
    display: flex;
    place-content: center;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  
  /* This is just to transition when you change the viewport size. */
  * {
    transition: all 0.25s ease-out;
  }
  
  .login-body {
    background-color: rgba(255, 255, 255, 0.3764705882);
    border: 2px solid #cccccc;
    border-radius: 15px;
    box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
    margin: 0 auto;
    position: relative;
    width: 400px;
    z-index: 1;
  }
  
  .login-info {
    background-color: transparent;
    padding: 1em 1.5em;
  }
  
  .login-cabecalho {
    display: flex;
    background: rgba(255, 255, 255, 0);
    padding: 2.5em 0em;
    text-align: center;
    flex-direction: column;
    align-items: center;
  }
  
  .login-logo img {
    height: 85px;
    vertical-align: middle;
    border-radius: 10px;
  }
  
  .login-texto {
    width: 100%;
  }
  
  .login-texto h1 {
    font-size: 25px;
    padding: 15px 0px 0px 0px;
    color: #212e3e;
  }
  
  .seja-bem-vindo {
    margin: 10px 5px;
  }
  
  .login-copyright p {
    bottom: 0px;
    color: #cccccc;
    font-size: 12px;
    margin: 2.4px 0 0 0;
    padding: 5px 10px;
    position: absolute;
    right: 0px;
    text-align: right;
  }
  
  .esqueci-senha {
    margin-top: 55px;
    position: relative;
    top: -30px;
  }
  
  .esqueci-senha .esqueci-senha-link {
    float: right;
    margin-top: 0.3em;
  }
  
  .esqueci-senha a {
    color: #6d32ff;
    font-weight: 500;
    display: block;
    padding: 0px 10px 0px 0px;
  }
  
  .esqueci-senha a:hover {
    color: #104f55;
  }
  
  .login-info input[type=text],
  .login-info input[type=password] {
    align-items: center;
    border: 1px solid #323232;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.5019607843);
    color: #104f55;
    display: flex;
    font-family: "Roboto", sans-serif;
    font-size: 1em;
    height: 50px;
    justify-content: center;
    margin: 0em 0em 0.5em 0em;
    padding: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 15px;
    position: relative;
    transition: 0.3s;
    width: 100%;
  }
  
  ::-moz-placeholder {
    color: #225e66 !important;
  }
  
  ::placeholder {
    color: #225e66 !important;
  }
  
  /* Autocomplete */
  input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px rgba(194, 214, 222, 0.667) inset;
    -webkit-text-fill-color: #225e66 !important;
    font-size: 14px !important;
  }
  
  .divisao-botoes {
    height: 2px;
    width: 100%;
  }
  
  #entrar,
  #cadastrar,
  #solicitar,
  .botao,
  button {
    align-items: center;
    border: 2px solid #323232;
    border-radius: 5px;
    background: #0069a7;
    color: white;
    display: flex;
    font-family: "Roboto", sans-serif;
    font-size: 1em;
    font-weight: 500;
    height: 50px;
    justify-content: center;
    margin: auto auto 10px;
    padding: 0px;
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    position: relative;
    transition: 0.5s all;
    width: 250px;
  }
  
  .botao {
    background-color: #0069a7;
  }
  
  #entrar:hover,
  .botao:hover,
  button:hover {
    border: 2px solid #cccccc;
    background-color: #00a1ff;
    cursor: pointer;
    color: #ffffff;
    opacity: 0.8;
    transition: 0.3s;
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
  }
  
  .versao-curta .user {
    margin-bottom: 3.5em !important;
  }
  
  .login-info-versao-curta {
    padding-top: 0px;
  }
  
  .light {
    position: absolute;
    width: 0px;
    opacity: 0.75;
    background-color: white;
    box-shadow: #e9f1f1 0px 0px 20px 2px;
    opacity: 0;
    top: 100vh;
    bottom: 0px;
    left: 0px;
    right: 0px;
    margin: auto;
  }
  
  #footer {
    color: white;
    font-family: "Roboto", sans-serif;
    font-size: 1.2em;
    position: fixed;
    transform: translate(95vw, 90vh);
    transform: translate(95vw, 90vh);
  }
  
  .divisor {
    align-items: center;
    display: flex;
    margin: 30px 0px;
  }
  .divisor .linha {
    background-color: #000000;
    height: 1px;
    width: 100%;
  }
  .divisor p {
    margin: 0px 10px;
  }
  
  .login-microsoft i {
    margin-right: 10px;
  }
  
  #senha {
    margin-bottom: 20px;
  }
  
  @media (max-width: 480px) {
    .login-copyright p {
      right: 0;
      left: 0;
      text-align: center;
      display: none;
    }
    .login-bg {
      padding: 0px;
      display: flex;
      align-items: center;
    }
    .login-body {
      width: 100%;
      height: 615px;
    }
    .login-body-versao-curta {
      height: 440px;
    }
    .ambiente-desenvolvimento {
      bottom: calc(50% + 67px);
    }
  } 
  .lembrar-me-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px; /* Espaçamento entre o switch e o texto */
    margin-top: 30px; /* Maior espaço entre o botão de login e o checkbox */
  }
  
  /* Mantendo a identidade visual do switch */
  .lembrar-me-label {
    font-size: 18px; /* Tamanho maior do texto */
    color: white;
    font-weight: 500;
    cursor: pointer;
  }
  
  /* Ajustes no estilo do checkbox */
  .checkbox-wrapper .tgl {
    display: none;
  }
  .checkbox-wrapper .tgl + .tgl-btn {
    outline: 0;
    display: block;
    width: 4em;
    height: 2em;
    position: relative;
    cursor: pointer;
    border-radius: 2em;
    padding: 2px;
    transition: all 0.4s ease;
    background: #f0f0f0;
  }
  .checkbox-wrapper .tgl + .tgl-btn:after {
    position: relative;
    display: block;
    content: "";
    width: 50%;
    height: 100%;
    border-radius: 50%;
    background: #fff;
    transition: all 0.2s ease;
    left: 0;
  }
  .checkbox-wrapper .tgl:checked + .tgl-btn {
    background: #0069a7;
  }
  .checkbox-wrapper .tgl:checked + .tgl-btn:after {
    left: 50%;
  } 