/* CUSTOM */
.bg-primary-500-90 {
  background-color: rgba(0, 58, 112, 0.9);
}

.bg-white-gray {
  background: linear-gradient(90deg, #FFF 0%, #EDEFF3 100%);
}

.bg-white-blue {
  background: linear-gradient(90deg, #121EBE 25%, #080696 65.87%);
}

.shadow-sm { box-shadow: 0 3px 2px 0 rgb(0 0 0 / 0.2), 0 1px 3px -1px rgb(0 0 0 / 0.1) }


/* ANIME */
/* Base para elementos com animação */
[data-anime] { opacity: 0; animation-play-state: paused; /* Animação pausada até entrar na tela */ }

/* Tipos de animação */
[data-anime="top"] { animation-name: fromTop; }
[data-anime="right"] { animation-name: fromRight; }
[data-anime="left"] { animation-name: fromLeft; }
[data-anime="bottom"] { animation-name: fromBottom; }
[data-anime="center"] { animation-name: fromCenter; }

/* Tempos de animação */
[data-time="fast"] {
  animation-duration: 0.2s;
  animation-delay: 0.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="medium"] {
  animation-duration: 0.4s;
  animation-delay: 0.4s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow01"] {
  animation-duration: 0.6s;
  animation-delay: 0.6s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow02"] {
  animation-duration: 0.8s;
  animation-delay: 0.8s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow03"] {
  animation-duration: 1.0s;
  animation-delay: 1.0s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow04"] {
  animation-duration: 1.2s;
  animation-delay: 1.1s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow05"] {
  animation-duration: 1.4s;
  animation-delay: 1.4s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow06"] {
  animation-duration: 1.6s;
  animation-delay: 1.6s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow07"] {
  animation-duration: 1.8s;
  animation-delay: 1.8s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow08"] {
  animation-duration: 2s;
  animation-delay: 2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow09"] {
  animation-duration: 2.2s;
  animation-delay: 2.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow10"] {
  animation-duration: 2.4s;
  animation-delay: 2.4s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow11"] {
  animation-duration: 2.6s;
  animation-delay: 2.6s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow12"] {
  animation-duration: 2.8s;
  animation-delay: 2.8s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

[data-time="slow13"] {
  animation-duration: 3s;
  animation-delay: 3s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}

/* Dispara a animação quando a classe 'visible' é adicionada */
[data-anime].visible { animation-play-state: running; }

/* Definição das animações */
@keyframes fromTop {
  from { opacity: 0; transform: translate3d(0, -50px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes fromRight {
  from { opacity: 0; transform: translate3d(50px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes fromLeft {
  from { opacity: 0; transform: translate3d(-50px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes fromBottom {
  from { opacity: 0; transform: translate3d(0, 50px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes fromCenter {
  from { opacity: 0; transform: scale(0.8); }
  to { opacity: 1; transform: scale(1); }
}

/* MEDIA QUERYS */
@media (max-width: 640px) {
  .logo-geq-footer {
    width: 80px;
  }
  
  .logo-cia-white-footer{
    width: 35px;
    height: 14px;
  }
  .line-height-35 {
    line-height: 35px !important;
  }

  .movie {
    max-width: 320px;
    height: 180px;
  }
}

@media (min-width: 640px) and (max-width: 767px) {
  .movie {
    max-width: 600px;
    height: 330px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .movie {
    max-width: 700px;
    height: 390px;
  }
}

@media (max-width: 768px) {
  .max-w-170 {
    width: 100%;
    max-width: 170px;
  }
  .max-w-140 {
    width: 100%;
    max-width: 140px;
  }
  .max-w-160 {
    width: 100%;
    max-width: 160px;
  }
  .text-45 {
    font-size: 45px;
    line-height: 45px;
  }
  .text-90 {
    font-size: 90px;
    line-height: 94px;
  }
  .arrow-full {
    width: 24px;
    width: 26px;
  }
  .arrow-line {
    width: 20px;
    width: 20px;
  }

  .mr-7-neg {
    margin-right: -28px;
  }

  .about-company {
    position: relative;
    width: 203px;
    margin-left: -12px;
  }

  .bg-about-program {
    background-image: url('../img/bg-about-program-mobile.webp');
    background-size: cover;
    background-repeat: no-repeat;
    background-position-x: 70%;
  }

  .pre-requisits {
    width: 200px;
    position: absolute;
    right: -20%;
    top: 30px;
    flex-shrink: 0;
    margin-right: -45%;
  }

  .bg-pre-requisits {
    width: 282px;
    position: relative;
    flex-shrink: 0;
    margin-left: -28px;
  }

  .bg-footer {
    background-image: url('../img/bg-footer-mobile.webp');
    background-size: cover;
    background-repeat: no-repeat;
    background-position-y: top;
    background-position-x: 28%;
  }
}

@media (min-width: 768px) {
  .md\:max-w-350 {
    width: 100%;
    max-width: 350px;
  }
  .max-w-720 {
    width: 100%;
    max-width: 720px;
  }
  .md\:text-5xl {
    font-size: 2.5rem; /* 40px */
    line-height: 1;
  }
  .text-80 {
    font-size: 80px;
    line-height: 84px;
  }
  .text-120 {
    font-size: 120px;
    line-height: 85px;
  }

  .bg-about-program {
    background-image: url('../img/bg-about-program.webp');
    background-size: cover;
    background-repeat: no-repeat;
    background-position-x: 70%;
  }

  .star-secondary-full {
    width: 34px;
    height: 34px;
  }

  .bg-footer {
    background-image: url('../img/bg-footer.webp');
    background-size: cover;
    background-repeat: no-repeat;
    background-position-x: center;
  }

  .model-footer {
    width: 100%;
    max-width: 412px;
  }
}

/* MENU MOBILE - Telas MENORES que 1024px */
@media (max-width: 1023px) {
  #check {
    display: none;
  }
  .checkbtn {
    font-size: 24px;
    float: right;
    cursor: pointer;
    display: flex;
  }

  ul {
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: var(--primary-500);
    top: 52px;
    left: -100%;
    text-align: center;
    transition: all 0.5s;
  }
  nav ul li {
    display: block;
  }
  nav ul li a p{
    color: var(--white);
  }
  #check:checked ~ ul {
    left: 0;
  }

  .card-steps {
    width: 128px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

/* MENU DESKTOP - Telas 1024px ou MAIORES */
@media (min-width: 1024px) {
  .lg\:max-w-620 {
    width: 100%;
    max-width: 620px;
  }
  .lg\:max-w-650 {
    width: 100%;
    max-width: 650px;
  }
  .lg\:max-w-900 {
    width: 100%;
    max-width: 904px;
  }

  .movie {
    max-width: 800px;
    height: 450px;
  }

  .lg\:mt-40-neg {
    margin-top: -8.75rem;
  }

  .about-program {
    width: 557px;
    height: 812px;
    position: absolute;
    right: -480px
  }

  .about-program-01 {
    width: 56px;
    height: 49px;
  }
  .about-program-02 {
    width: 48px;
    height: 48px;
  }
  .about-program-03 {
    width: 50px;
    height: 51px;
  }
  .about-program-04 {
    width: 48px;
    height: 53px;
  }
  .about-program-05 {
    width: 54px;
    height: 40px;
  }
  .about-program-06 {
    width: 52px;
    height: 48px;
  }
  .about-program-07 {
    width: 53px;
    height: 51px;
  }
  .benefits-01 {
    width: 89px;
    height: 76px;
  }
  .benefits-02 {
    width: 83px;
    height: 71px;
  }
  .benefits-03 {
    width: 71px;
    height: 77px;
  }
  .benefits-04 {
    width: 85px;
    height: 68px;
  }
  .benefits-05 {
    width: 83px;
    height: 94px;
  }
  .benefits-06 {
    width: 68px;
    height: 82px;
  }
  .benefits-07 {
    width: 67px;
    height: 72px;
  }
  .benefits-08 {
    width: 93px;
    height: 87px;
  }
  .benefits-09 {
    width: 87px;
    height: 81px;
  }
  .benefits-10 {
    width: 80px;
    height: 77px;
  }
  .benefits-11 {
    width: 78px;
    height: 74px;
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  #check {
    display: none;
  }
  .checkbtn {
    font-size: 30px;
    float: right;
    cursor: pointer;
    display: flex;
  }

  ul {
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: var(--primary-500);
    top:72px;
    left: -100%;
    text-align: center;
    transition: all 0.5s;
  }
  nav ul li {
    display: block;
  }
  nav ul li a p{
    color: var(--white);
  }
  #check:checked ~ ul {
    left: 0;
  }
}

@media (min-width: 1280px) {
  .checkbtn {
    display: none;
  }
  #check {
    display: none;
  }
  ul {
    position: static;
    width: auto;
    height: auto;
    background-color: transparent;
    text-align: left;
    transition: none;
  }
  nav ul li {
    display: inline-flex;
  }
  nav ul li a p {
    color: var(--white);
  }

  .xl\:ml-27-neg {
    margin-left: -108px;
  }

}

@media (min-width: 1366px) {
  .xxl\:text-5xl {
    font-size: 2.5rem; /* 40px */
    line-height: 1;
  }
  .xxl\:max-w-620 {
    width: 100%;
    max-width: 620px;
  }
}

@media (min-width: 1520px) {}
