

@font-face {
    font-family: 'NewJuneBold';
    src: url('../fonts/newjunebold-webfont.woff2') format('woff2'),
         url('../fonts/newjunebold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}




@font-face {
    font-family: 'NewJune';
    src: url('../fonts/newjuneregular-webfont.woff2') format('woff2'),
         url('../fonts/newjuneregular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}


/* ============================
   ANIMACIÓN ESTILO GINIVINI ++
   ============================ */

  header{
    position: relative;
    z-index: 9999999999999999999999;
    background: #fff;
  }

.layered-item {
    opacity: 0;
    filter: blur(6px);
    transform:
        translateY(120px)
        scale(0.90)
        rotate(var(--rot, 0deg));
    transition:
        opacity 1.1s ease-out,
        transform 1.3s cubic-bezier(0.19, 1, 0.22, 1),
        filter 0.8s ease-out;
    position: relative;
    z-index: var(--z, 1);
}

/* Cuando ya entró a la vista */
.layered-item.in-view {
    opacity: 1;
    filter: blur(0px);
    transform:
        translateY(0px)
        scale(1)
        rotate(0deg);
}

/* Sombras estilo stack */
.layered-item {
}



.text-reveal {
    opacity: 0;
    transform: translateY(50px);
    filter: blur(8px);
    transition:
        opacity 0.9s ease-out,
        transform 1.1s cubic-bezier(0.25, 1, 0.5, 1),
        filter 0.6s ease-out;
}

.text-reveal.in-view {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0px);
}


html, 
body{
  overflow-x: hidden;
  width: 100%;
  float: left;
    font-family: 'NewJune';
}

.redes-sociales{
  padding: 1rem 0;
  background-color: #157dc1;
  color: #fff;
}

.redes-sociales a{
  color: #fff;
}

.redes-sociales ul{
  list-style: none;
  display: inline-flex;
}

.redes-sociales ul li{
  padding: 0 1rem;
}

.redes-sociales svg path{
  fill: #fff;
}

.redes-sociales p{
  font-size: 20px;
  margin: 0;

}

.post-41 .wp-block-column p strong,
.post-41 p strong{
    font-size: 18px!important;
    color: #157dc1!important;
}


/* DESKTOP: usamos GRID para 3 columnas */
@media (min-width: 992px) {
  #mainNav {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;  /* izquierda - logo - derecha */
    align-items: center;
    column-gap: 20px;                      /* separa un poco */
  }

  .nav-left,
  .nav-right {
    display: flex;
  }

  /* menú izquierdo alineado a la derecha de su columna */
  .nav-left .navbar-nav {
    margin-left: auto;
    display: flex;
    gap: 32px;
  }

  /* menú derecho alineado a la izquierda de su columna */
  .nav-right .navbar-nav {
    margin-right: auto;
    display: flex;
    gap: 52px;
  }

  .navbar-brand {
    justify-self: center;      /* centro de la columna del medio */
    padding: 0 5rem;
  }

  .navbar-brand .logo {
    display: block;
    height: 110px;
    width: auto;
    margin: 0 auto;
  }
}

/* MOBILE: volvemos al comportamiento normal en columna */
@media (max-width: 991.98px) {
  #mainNav {
    display: block !important;
  }

  .nav-left .navbar-nav,
  .nav-right .navbar-nav {
    display: block;
  }

  .navbar-brand {
    margin: 10px 0;
  }
}


/* Botón de contacto */
.navbar-nav .btn-contacto a{
    border: 1px solid #007bff;
    padding: 6px 18px;
    border-radius: 10px;
    font-weight: 500;
    display: block;
}

.nav-link{
  color: #157dc1;
  font-size: 18px;
  width: 100%;
  text-align: center;
  display: block;
  border: 1px solid #fff;
  border-radius: 10px;
}

.nav-link:hover{
  border: 1px solid #007bff;
  color: #157dc1;
}

nav.navbar{
    padding: 4rem 0;
}

.flickity-button:disabled{
  display: none;
}

/* Imagen animada solo en el slide activo */
.main-carousel .carousel-cell.is-selected img {
  animation: kenburns 7s ease-out forwards;
}

/* Resetea animación en los que NO están activos */
.main-carousel .carousel-cell:not(.is-selected) img {
  animation: none;
}

/* Ken Burns */
@keyframes kenburns {
  0% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1.15);
  }
}

.main-carousel .slogan {
    position: absolute;
    top: 40%;
    width: 80%;
    left: 10%;
    text-align: center;
    z-index: 9;
}


.main-carousel .slogan h1{
  font-family: 'NewJuneBold';
  font-size: 80px;
  color: #fff;
}

.main-carousel .slogan p{
  font-size: 20px;
  color: #fff;
}

.main-carousel .overlay{
   position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;                  /* qué tanto sube el gradiente */
    pointer-events: none;
    /* gradiente oscuro o del color que quieras */
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, 0.65) 0%,     /* más oscuro abajo */
      rgba(0, 0, 0, 0.0) 70%      /* transparente hacia arriba */
    );
}

.main-carousel a{
  width: 100%;
  height: 100%;
  display: block;
}

.niveles-home{
  width: 100%;
  float: left;
  padding: 10rem 0;
}

.niveles-home h2{
  font-family: 'NewJuneBold';
  font-size: 100px;
  margin-bottom: 1rem;
  text-align: center;
}

.niveles-home p{
  font-size: 20px;
  margin-bottom: 2rem;
  text-align: center;
  color: #157dc1;
}

.nivel-carousel{
  width: 100%;
  float: left;
  padding: 10rem 0;

}

.nivel-carousel .carousel-cell{
  width: 50%;
  float: left;
  margin-right: 1rem;
  position: relative;
  padding: 0 2rem;
}

.nivel-carousel .carousel-cell.is-selected{
}

.nivel-carousel .contenido{
  width: 90%!important  ;
  margin: 0 5%;
  background-color: #f9fde9;
  position: absolute;
  bottom: 5%;
  padding: 3rem 2rem;
  text-align: center;
  min-height: 262px;
}

.nivel-carousel .contenido h3{
  color: #157dc1;
  font-family: 'NewJuneBold';
  font-size: 19px;
  margin-bottom: 2rem;
}

.nivel-carousel .contenido p{
  font-size: 14px;
  margin-bottom: 2rem;
}

.nivel-carousel .contenido a{
  font-size: 14px;
  color: #157dc1;
  font-family: 'NewJuneBold';
  text-decoration: underline;
}

.nivel-carousel .contenido a:hover{
  color: #000;
}

.nivel-carousel .flickity-button-icon{
  fill: #157dc1;
}

.nivel-carousel .flickity-button {
    background: transparent;
}

.nivel-carousel .flickity-prev-next-button.previous {
    left: -50px;
}

.nivel-carousel .flickity-prev-next-button.next {
    right: -50px;
}

.parallax{
  width: 100%;
  float: left;
}

.parallax-section {
    position: relative;
    height: 80vh; /* ajustable */
    width: 100%;
    float: left;
    background-size: cover;
    background-position: center;
    background-attachment: fixed; /* parallax real */
}

.parallax-content {
    z-index: 2;
    color: #fff;
    text-align: center;
    width: 86%;
    margin: 4rem 7%;
    background:url(../img/FONDO-SE-PARTE.jpg);
    background-size: cover;
    padding: 4rem 0 5rem;
    position: relative;
    float: left;
    margin-top: -40vh;
}

.page .parallax-content h2{
  font-size: 100px;
  color: #fff;
  font-family: 'NewJuneBold';
  
}

.parallax-content p{
  font-size: 25px;
  font-family: 'NewJune';
  
}

.parallax-content a{
  font-size: 20px;
  font-family: 'NewJune';
  border: 1px solid #fff;
  padding: 10px;
  width: 100%;
  float: left;
  margin-top: 2rem;
  border-radius: 10px;
}

.contactanos-home{
  width: 100%;
  float: left;
  padding: 5rem 0;
  background: #f9f8f8;
}

.contactanos-home h2{
  color: #2c7bb9;
  font-size: 50px;
  text-align: center;
  font-family: 'NewJuneBold';
}


.contactanos-home form{
  width: 100%;
  float: left;
}

.contactanos-home input{
  width: 100%;
  background: transparent;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  font-size: 20px;
  color: #252525;
}

.single-nivel p strong {
    font-family: 'NewJuneBold';
    font-size: 18px;
    color: #157dc1;
}


.single-nivel p a {
    font-family: 'NewJuneBold';
    font-size: 20px;
    color: #00153a;
}

.contactanos-home textarea{
  width: 100%;
  background: transparent;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  font-size: 20px;
  color: #252525;
}

.contactanos-home label{
  width: 100%;
  font-size: 20px;
  color: #252525;
}

.contactanos-home input.wpcf7-form-control.wpcf7-submit.has-spinner{
  background: #2c7bb9;
  width: 30%;
  float: right;
  color: #fff;
  border-radius: 20px;
  padding: 10px ;
  border: 1px solid #2c7bb9;
}

.contactanos-home input.wpcf7-form-control.wpcf7-submit.has-spinner:hover{
  background: transparent;
  color: #000;
  border: 1px solid #2c7bb9;
}


footer{
  float: left;
  width: 100%;
  padding: 5rem 0 2rem;
  background: #fff;
}

.whatsapp{
  position: fixed;
  bottom: 5%;
  right: 2%;
  background: #aac928;
  border-radius: 10px;
  padding: 10px;
  box-shadow: 8px 8px 25px rgba(0,0,0,0.1);
  z-index: 9999999999999999999999;
}

.whatsapp::after{
  background: url(../img/svg/WP-ICONO.svg) no-repeat;
    width: 30px;
    height: 30px;
    content: "";
    display: block;
    position: absolute;
    float: right;
    right: -5%;
    top: -24px;
}

.whatsapp a{
  color: #fff;
  position: relative;
  font-weight: 400;
  width: 100%;
  height: 100%;
  display: block;
  font-size: 16px;
}

footer h5{
  font-family: 'NewJuneBold';
  text-transform: uppercase;
  font-size: 20px;
  color: #00153a;
  margin-bottom: 4rem;
}

footer .navbar-nav a{
  color: #00153a;
}

footer ul li {
  width: 100%;

    color: #00153a;
    font-size: 18px;
    text-align: left;
}


footer a,
footer .nav-link{
  width: 100%;
  color: #00153a;
  font-size: 18px;
  text-align: left;
  display: block;
  margin-bottom: 1rem;
}

footer p.copy{
  text-align: center;
  text-transform: uppercase;
  margin-top: 5rem;
  font-size: 14px;
}

.single {

  background: #f9f8f8;
}

.single p{
  font-size: 20px;
  text-align: center;
}

.single h2{ 
font-size:50px; 
text-align: center;
padding: 4rem 0;
  font-family: 'NewJuneBold';
}

.single p strong{
  font-family: 'NewJuneBold';
  font-size: 28px;
  color: #157dc1;
}

.single-cole{
  width: 100%;
  float: left;
  background: #f9f8f8;
}

.single p strong em{
  font-style: normal;
  color: #212529;
}

.single-cole  h1{
  text-align: center;
  font-family: 'NewJuneBold';
  font-size: 60px;
  color: #00153a;
}

.single-nivel{
  background: #f9f8f8;
  width: 100%;
  float: left;
}

.single-nivel h1{
  text-align: center;
  font-family: 'NewJuneBold';
  font-size: 60px;
  color: #00153a;
}

.single-nivel p{
  text-align: left;
}


.comunidadmontessori{
  width: 100%;
  float: left;
  padding: 5rem 2rem;
  border: 1px solid #157dc1;

}

.comunidad-montessori h1{
  text-align: center;
  font-family: 'NewJuneBold';
  font-size: 60px;
  color: #00153a;
  margin-bottom: 3rem;
}

.comunidad-montessori h2{
  text-align: center;
  font-family: 'NewJuneBold';
  font-size: 45px;
  color: #00153a;
  margin-bottom: 4rem;
}


.comunidadmontessori .carousel-cell{
  width: 100%;
  float: left;
  margin-right: 6rem;
  position: relative;
}

.comunidadmontessori .carousel-cell.is-selected{
}

.comunidadmontessori .contenido{
  width: 90%!important  ;
  margin: 0 5%;
  background-color: #f9fde9;
  position: absolute;
  bottom: 5%;
  padding: 3rem 2rem;
  text-align: center;
  min-height: 262px;
}

.comunidadmontessori .carousel-cell h3{
  color: #157dc1;
  font-family: 'NewJuneBold';
  font-size: 19px;
  margin-bottom: 2rem;
}

.comunidadmontessori .carousel-cell p,
.comunidadmontessori .carousel-cell li{
  font-size:19px;
  margin-bottom: 2rem;
}

.comunidadmontessori .carousel-cell a{
  font-size: 14px;
  color: #157dc1;
  font-family: 'NewJuneBold';
  text-decoration: underline;
}

.comunidadmontessori .carousel-cell img{
  border-radius: 20px;
}

.comunidadmontessori .carousel-cell a:hover{
  color: #fff;
}

.comunidadmontessori .flickity-button-icon{
  fill: #fff;
}

.comunidadmontessori .flickity-button {
    background: #157dc1;
    border-radius: 0;
    top: 100%
}

.comunidadmontessori .flickity-prev-next-button.previous {
    left: 45%;
}

.comunidadmontessori .flickity-prev-next-button.next {
    right: 45%;
}

.franja-verde{
  background: #aac928;
  padding: 6rem 0;
  font-size: 25px;
  width: 100%;
  float: left;
}

.franja-verde .borde{
  border-left: 1px solid #fff ;
}

.franja-verde a{
  display: block;
  width: 100%;
  padding-right: 10%;
}
.franja-verde p{
  color: #fff;
  width: 100%;
  padding-left: 10%;
  margin-bottom:0;
}

.contacto iframe{
  width: 100%;
  float: left;
}

.dropdown-item{
  font-size: 18px;
}

.page h2,
.desarrollo-integral h1,
.aviso-de-privacidad h1 {

  text-align: center;
  font-family: 'NewJuneBold';
  font-size: 60px;
  color: #00153a;
  margin-bottom: 3rem;
}

.page p{
  font-size: 20px;
}

.comunidad-montessori h2{
  text-align: left;
}

.comunidad-montessori p{
  text-align: left;
}

.comunidad-montessori img{
  border-radius: 20px;
}

.comunidadmontessori.interna {
    font-size: 20px;
    padding: 18rem 4rem 6rem;
    margin-top: -13%;
}

.comunidadmontessori.interna h2{
  font-size: 40px;
}

.bg-azul-mul{
  width: 100%;
  float: left;
  padding: 6rem 15rem;
  z-index: 1;
  position: relative;
}

.bg-azul{
  background: #d3e3ef;
  padding: 6rem;
}

.bg-azul h3{
  font-family: 'NewJuneBold';
  font-size: 50px;
}

.comunidadmontessori.interna .flickity-button{
    top: 50%;
}

.comunidadmontessori.interna .flickity-prev-next-button.previous {
    left: -5%;
}

.comunidadmontessori.interna .flickity-prev-next-button.next {
    right: -5%;
}

.comunidadmontessori.interna .flickity-button {
    background: #fff;
}

.comunidadmontessori.interna .flickity-button-icon {
    fill: #157dc1;
}

.valores{
  width: 100%;
  float: left;
  text-align: center;
  padding: 10rem 0 5rem;
}

.valores h3{
  font-family: 'NewJuneBold';
  font-size: 70px;
  margin-bottom: 2rem;
}

.valores p{
  font-size: 15px;
  color: #157dc1;
  text-align: justify;
}

.valores .carousel-cell{
  color: #000;
}

.valores .niveles-home {
    width: 100%;
    float: left;
    padding: 0rem 0;
}

.circulo-verde {
    background: #aac928;
    width: 200px;
    height: 200px;
    color: #fff;
    border-radius: 50%;
    border: 2px solid #157dc1;
    margin: 0 auto;

    /* 🔥 CLAVE */
    display: flex;
    align-items: center;      /* vertical */
    justify-content: center;  /* horizontal */

    font-size: 30px;
    font-family: 'NewJuneBold';
    text-align: center;

    /* ❌ QUITAR */
    padding-left: 0;
}

.valores p{
  color: #000;
}


.valores .linea-verde{
  background: #aac928;
  width: 15px;
  height: 75px;
  margin: 0 auto 3rem;
}

.contenido-linea{
  width: 100%;
  float: left;
  text-align: center;
  padding: 0 5rem 0 0;
}

.contenido-linea h3{
  color: #157dc1;
  font-size: 30px;
  font-family: 'NewJuneBold';
}

.contenido-linea p{
  color: #252525;
}

div#n2-ss-2 .n2-font-3df2c4a2ae8dd8d269f46ac12bf84fc2-hover{
  font-family: 'NewJune'!important;
}

.gris-secciones{
  background: #f8f8f8;
  padding: 5rem 0;
  width: 100%;
  height: 100%;
  float: left;
}

.contacto .contactanos-home a,
 .contactanos-home.azulito a{
  color: #000;
}

.contactanos-home p.has-text-align-left strong{
  color: #157dc1;
}

.preguntas-frecuentes{
  text-align: left;
}

.single .preguntas-frecuentes p,
.single .preguntas-frecuentes ol,
.single .preguntas-frecuentes ul{
  text-align: left;
  font-size: 20px;
}


.single .preguntas-frecuentes p strong{
  margin: 2rem 0 0;
  display: block;
  text-align: left;
}

.contenido-linea ol,
.contenido-linea ul{
  font-size: 18px;
  list-style: none;
}

.texto-justificado p{
  text-align: justify;
}

.texto-justificado p strong{
  color: #157dc1;
}

/* Móviles: desactiva el parallax para evitar bugs */
@media (max-width: 991px) {
    .parallax-bg {
        background-attachment: scroll;
        height: 100%; 
    }
}


@media (min-width: 1919px){
  .parallax-content {
      margin-top: -20vh;
  }
}

@media (min-width: 768px) and (max-width: 1024px){
  html,
  body{
    text-align: center!important;
  }

  .franja-verde p {
      padding-left: 0;
      margin-bottom: 0;
  }

  .contactanos-home h2{
    margin-top: 4rem;

  }

  .franja-verde .borde {
      border-left: 0;
  }

  .main-carousel .slogan h1 {
      font-size: 50px;
  }

  .main-carousel .slogan p {
      font-size: 14px;
      color: #fff;
  }

  .main-carousel .slogan {
      top: 35%;
  }

  .nivel-carousel .carousel-cell {
      width: 50%;
  }

  .page .parallax-content h2 {
      font-size: 60px;
  }

  .comunidad-montessori h2,
  .comunidad-montessori p{
    text-align: center;
  }

  .comunidadmontessori.interna h2{
    margin-top: 4rem;
  }

  footer a, footer .nav-link {
      text-align: center;
  }

  .single-nivel p {
      text-align: center;
  }
  .single-nivel h1 {
      font-size: 40px;
  }

  .comunidadmontessori .flickity-prev-next-button.next {
      right: 40%;
  }

  .comunidadmontessori .flickity-prev-next-button.previous {
      left: 40%;
  }

  button.navbar-toggler{

    float: right;
    align-items: center;
    margin-top: 10%;    
  }

  ul#menu-menu-movil {
      margin-top: 4rem;
  }
  .dropdown-item {
      text-align: center;
  }

}


@media (max-width: 767px){

  img.logo {
      width: 70%;
  }

  nav.navbar {
      padding: 0;
  }

  html,
  body{
    text-align: center!important;
  }

  .page h2, .desarrollo-integral h1, .aviso-de-privacidad h1 {
      font-size: 40px;
  }

  .franja-verde p {
      padding-left: 0;
      margin-bottom: 0;
  }

  .contactanos-home h2{
    margin-top: 4rem;

  }

  .franja-verde .borde {
      border-left: 0;
  }

  .main-carousel .slogan h1 {
      font-size: 50px;
  }

  .main-carousel .slogan p {
      font-size: 14px;
      color: #fff;
  }

  .main-carousel .slogan {
      top: 35%;
  }

  .nivel-carousel .carousel-cell {
      width: 100%;
  }

  .page .parallax-content h2,
  .valores h3,
  .single-cole h1{
      font-size: 40px;
  }

  .comunidad-montessori h2,
  .comunidad-montessori p{
    text-align: center;
  }

  .comunidadmontessori.interna h2{
    margin-top: 4rem;
  }

  footer a, footer .nav-link {
      text-align: center;
  }

  .single-nivel p {
      text-align: center;
  }
  .single-nivel h1 {
      font-size: 40px;
  }

  .comunidadmontessori .flickity-prev-next-button.next {
      right: 40%;
  }

  .comunidadmontessori .flickity-prev-next-button.previous {
      left: 40%;
  }

  button.navbar-toggler{

    float: right;
    align-items: center;
    margin-top: 10%;    
  }

  ul#menu-menu-movil {
      margin-top: 4rem;
  }

  .niveles-home,
  .nivel-carousel {
      padding: 5rem 0;
  }

  .bg-azul-mul {
      padding: 6rem 0;
  }

  .nivel-carousel .flickity-prev-next-button.previous {
      left: 50px;
  }

  .nivel-carousel .flickity-prev-next-button.next {
      right: 50px;
  }

  .nivel-carousel  .flickity-prev-next-button {
      top: 100%;
  }
  .dropdown-item {
      font-size: 12px;
      text-align: center;
  }

  .bg-azul h3 {
      font-size: 30px;
  }

  .contenido-linea {
      padding: 0;
  }

}