/*
  Theme Name: Galileu Colégio e Curso
  Theme URI: 
  Author: Filipe Paiva
  Author URI: https://github.com/FilipePaiva10
  Description: Tema exclusivo para Galileu Colégio e Curso.
  Version: 1.0
*/

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

@font-face {
  font-family: 'KeepCalm';
  src: url('./assets/fonts/KeepCalm/KeepCalm-Medium.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@keyframes scroll-horizontal {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}

.marquee {
  animation: scroll-horizontal 40s linear infinite;
}

.overlay--black {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 96%, rgba(0, 0, 0, 1) 100%);
}

.overlay--black-top {
    background: linear-gradient(360deg, rgba(0, 0, 0, 0) 96%, rgba(0, 0, 0, 1) 100%);
}

video{
  border-radius: 10px !important;
} 

#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* HTML: <div class="loader"></div> */
.loader {
  width: 65px;
  height: 30px;
  position: relative;
}

.custom-logo {
  max-height: 50px;
  width: auto;
}


.loader:before {
  content: "";
  position: absolute;
  border-radius: 50px;
  box-shadow: 0 0 0 3px inset #fff;
  animation: l3 0.75s infinite alternate;
}

.logo-galileu {
  max-width: 160px;
}

.logo-galileu-vertical {
  max-height: 260px;
}

@media (max-width: 768px) {
  .custom-logo {
    max-width: 150px;
  }
}


/* Classe para animação de entrada da esquerda */
.animate-from-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 1.4s ease, transform 1.4s ease;
}

/* Classe para animação de entrada da direita */
.animate-from-right {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 1.4s ease, transform 1.4s ease;
}

/* Classe para animação de entrada de baixo para o centro */
.animate-from-bottom {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1s ease, transform 1s ease;
}

/* Remova a opacidade e redefine a transformação após a animação */
.animate-from-right.animate-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Remova a opacidade e redefine a transformação após a animação */
.animate-from-bottom.animate-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Remova a opacidade e redefine a transformação após a animação */
.animate-from-left.animate-visible {
    opacity: 1;
    transform: translateX(0);
}


@keyframes l3 {
  0% {
    inset: 0 35px 0 0;
  }

  50% {
    inset: 0 0 0 0;
  }

  100% {
    inset: 0 0 0 35px;
  }
}

.spinner {
  /* border: 16px solid #f3f3f3; */
  /* Light grey */
  /* border-top: 16px solid #3498db; */
  /* Blue */
  border-radius: 50%;
  width: 120px;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  /* animation: spin 2s linear infinite; */
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}



* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Blur do cabeçalho  */
.sticky-header {
  position: sticky;
  top: 0;
  /* Adicione a cor de fundo desejada para o cabeçalho */
  backdrop-filter: blur(3px);
  z-index: 1000;
}

.adjust {
  padding-top: 0.8rem !important;
  padding-bottom: 0.8rem !important;
}

/* Define a animação */
@keyframes slideDown {
  from {
    transform: translateY(10%);
  }

  to {
    background-color: transparent;
    transform: translateY(0%);
  }
}

/* Aplica a animação à classe do cabeçalho */
.sticky-animate-in {
  animation: slideDown 0.5s ease forwards;
}

/* Define a animação */
@keyframes slideDownUp {
  from {
    transform: translateY(0%);
  }

  to {
    transform: translateY(10%);
  }
}

/* Aplica a animação à classe do cabeçalho */
.sticky-animate-out {
  animation: slideDownUp 0.5s ease forwards;
}


#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #EC5B3A;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}


body,
.animate-bg
{
  /* background-color: rgba(1,8,14,.9); */
  /* background-color: #ebf5fa; */
  background-color: #FFF;

  /* Para ativar a animação, descomnentar as linhas abaixo. */

  /* background-image: linear-gradient(to left, #061a35, #02071b, #061036); */
  /* background-size: 300% 100%; */
  /* animation: degrade-animado 8s infinite alternate; */
}

@keyframes degrade-animado {
  0% {
    background-position-x: 0%;
  }

  100% {
    background-position-x: 100%;
  }
}

.animated-line-title {
  position: relative;
  color: #000;
  /* Cor do texto */
  padding: 10px 0px;
  text-decoration: none;
  /* Remover sublinhado de links, se for o caso */
}

.animated-line-title::after {
  content: '';
  position: absolute;
  width: 50%;
  /* Largura inicial da borda */
  height: 2px;
  /* Altura da borda */
  bottom: 5px;
  /* Posição da borda em relação ao texto */
  left: 0;
  background-color: #b4ebf3;
  /* Cor da borda */
  transition: width 0.3s ease-in-out;
  /* Animação suave da largura */
}


.animated-border {
  position: relative;

  padding: 10px;
  color: #000;
  /* Cor do texto */
  text-decoration: none;
  /* Remover sublinhado de links, se for o caso */
}

.animated-border::after {
  content: '';
  position: absolute;
  width: 0;
  /* Largura inicial da borda */
  height: 2px;
  /* Altura da borda */
  bottom: 5px;
  /* Posição da borda em relação ao texto */
  left: 0;
  background-color: #334AC0;
  /* Cor da borda */
  transition: width 0.3s ease-in-out;
  /* Animação suave da largura */
}

.animated-border:hover::after {
  width: 40%;
  /* Largura final da borda ao passar o mouse */
}

.btn-cta::before,
.card-efect::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: calc(100% + 2px px);
  height: calc(100% + 2px);
  background-color: #55CADB;
  z-index: -2;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}

.btn-cta::after,
.card-efect::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #55CADB;
  z-index: -1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}


.card-efect::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: calc(100% + 2px px);
  height: calc(100% + 2px);
  background-color: #061036;
  z-index: -2;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}

.card-efect::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #061036;
  z-index: -1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%);
}


.menu-item {
  position: relative;
  display: inline-block;
}

.submenu {
  display: none;
  position: absolute;
  left: 0;
  top: 30px;
  z-index: 1000;
  background-color: #061036;
  box-shadow: 0 8px 16px 0 #061036;
  /* Ajuste conforme necessário */
  width: 200px;
}

.submenu li {
  padding-left: 10px;
}

.menu-item:hover .submenu,
.menu-item:focus-within .submenu {
  display: block;
  animation: slideDown 0.5s ease-out forwards;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-show {
  animation: slideDownImplementation 0.5s ease-out forwards;
}

@keyframes slideDownImplementation {
  from {
    opacity: 0;
    margin-top: -58px;
  }

  to {
    opacity: 1;
    margin-top: 30px;
  }
}

.submenu a {
  color: white;
  padding: 12px 0px;
  text-decoration: none;
  display: block;
}

.submenu a:hover {
  background-color: none;
}

.mtd-container:hover .mtd-overlay {
  transform: translateY(0);
}

.mtd-container:hover .mtd-overlay p {
  opacity: 100%;
}

.mtd-container:hover .box-recurso {
  background-color: rgb(6 16 54 / .7);
  transition: all .5s ease-in-out;
}

.overlay-testomonials::after,
.overlay-testomonials::before {
  content: '';
  position: absolute;
  background-color: #b4ebf3;
  width: 50px;
  height: 50px;
  bottom: -50px;
  right: 0;
}

.overlay-testomonials::after {
  border-radius: 0px 24px 0px 0px;
  background-color: #061036;
}

/* PAGINAÇÂO */
.pagination {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin: 20px 0;
  font-family: Arial, sans-serif;
}

.pagination a,
.pagination span {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid #ccc;
  text-decoration: none;
  color: #333;
  background-color: #fff;
  border-radius: 4px;
}

.pagination a:hover {
  background-color: #f0f0f0;
}

.pagination .dots {
  padding: 8px 5px;
}

.pagination .current {
  background-color: #007cba;
  color: #fff;
  border-color: #007cba;
}