@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&display=swap');
body{
    font-family: "Outfit", sans-serif;
}
.alternative-text{
  font-family: "Plus Jakarta Sans", sans-serif;
}
:root{
    --primary:#383f9a;
    --secondary:#f4d319;
    --black_300:#313130; 
}

.nav-on .nav-trigger{
    span{
        background: transparent;
        width: 30%;
    }
    span:before{
        transform: rotate(45deg);
        margin:0;
    }
    span:after{
        transform: rotate(-45deg);
        width: 100%;
        margin:0;
    }
}

.content-text-area p > a,.tabs-content-box p > a{
  border-bottom: 2px solid var(--secondary);
}

.pagination a{
  transition: all 0.3s ease-out;
}
.pagination a:hover{
  background: var(--secondary);
}
.pagination span:not(.dots){
  background: var(--secondary);
}

.tabs-content-box .template-block-section{
  padding-inline: 0 !important;
}

.content-text-area *:not(li),
.tabs-content-box:not(.blocks-layout) *:not(li),
.accordion-inner-content:not(.no-spaces) *:not(li){
  margin-bottom: 1.2rem;
}
.accordion-inner-content :last-of-type{
  margin-bottom:0 !important
}

.main-content-text .labeled-list ul{
  display: flex !important;
  flex-wrap: wrap;
  gap: 5px !important;
}
.main-content-text .labeled-list ul li{
  border: 1px solid #e5e5e5;
  padding:0.7rem !important;
  line-height: 1;
}

.main-content-text .labeled-list.white ul li{
  background: white;
}

.triangle-arrow:before{
  content: "";
  width: 0;
  height: 0;
  border-bottom: 35px solid transparent;
  border-top: 35px solid transparent;
  border-right: 35px solid transparent;
  border-left: 15px solid #E5E5E5;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) translateX(100%);
}

.accordion-inner-content li *{
  margin:0 !important;
}

.tabs-block-nav button:before{
   content: "";
   height: 5px;
   width: 100%;
   position: absolute;
   top: 0px;
   left: 0;
   transition: all 0.3s ease-out;
   background: transparent; 
}

.tabs-block-nav.left-tabs button:before{
  height: 100%;
  width: 5px;
}

.tabs-block-nav button:hover{
  color: var(--primary);
}
.tabs-block-nav button:hover:before{
  background: var(--primary);
}
.tabs-block-nav button.active{
  color: var(--primary);
}
.tabs-block-nav button.active:before{
  background: var(--primary);
  
}

.nav-page-menu{

  > a{
    position: relative;

    &:before{
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      background: var(--primary);
      height: 2px;
      transition: all 0.3s ease-out;
      width: 0;
    }
    
  }

  > a.active:before{
    width: 100%;
  }

  &:hover{

      > a:before{
        width: 100%;
      }

    }

}

.nav-trigger{
    position: relative;
    z-index: 1;

    span{
        position: relative;
        height: 1px;
        display: block;
        width: 40%;
        background: white;
        margin-inline: auto;
        

        &:before{
            content: "";
            position: absolute;
            display: block;
            width: 100%;
            height: 1px;
            border-bottom: 1px solid white;
            left: 0;
            margin-top: -5px;
            transition: all 0.3s ease-out;
        }

        &:after{
            content: "";
            position: absolute;
            display: block;
            width: 100%;
            height: 1px;
            border-bottom: 1px solid white;
            right: 0;
            margin-top: 5px;
            transition: all 0.3s ease-out;
        }

    }

    &:before{
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%,-50%) scale(0);
        height: 100%;
        transition: all 0.3s ease-out;
        background: var(--secondary);
        z-index: -1;
        border-radius: 100%;
        width: 100%;
    }

    &:hover:before{
        transform: translate(-50%,-50%) scale(1);
    }
}

.yellow-line-hover{
    a{
        position: relative;
        &:before{
            content: "";
            position: absolute;
            right: 0;
            width: 0;
            height: 2px;
            background: var(--secondary);
            bottom: -5px;
            transition: all 0.3s ease-out;
        }
        &:hover:before{
            width: 100%;
            left: 0;
        }
    }
}

.yellow-line{
    position: relative;

    &:before{
        content: "";
        position: absolute;
        right: 0;
        width: 0;
        height: 5px;
        background: var(--secondary);
        bottom: -10px;
        transition: all 0.3s ease-out;
    }
    
}

@media(hover:hover){
  .yellow-line{
    &:hover:before{
        width: 100%;
        left: 0;
    }
  }
}



  .seasonal-button.right-align{
    writing-mode: vertical-lr;
    rotate: 180deg;
  }

  .seasonal-button{
    
    z-index: 1;
    position: relative;

    &:before{
        content: "";
        width: 0;
        height: 100%;
        background: var(--primary);
        position: absolute;
        z-index: -1;
        right: 0;
        top: 0;
        transition: all 0.3s ease-out;
    }

    &:hover:before{
        width: 100%;
    }
  }

  .main-nav{

    > li{

        > ul{
            font-size: 1.2rem;
            margin-top: 1em;
            display: grid;
            gap: 1em;
            line-height: 1.2;
            display: none;

            > li.open-sub{
                .drop-toggle{
                    rotate: 180deg;
                }
            }

            > li{

                position: relative;
                display: flex;
                align-items: center;
                flex-wrap: wrap;
                gap: 10px;

                .drop-toggle{
                    transition: all 0.3s ease-out;
                }

                a{
                    transition: all 0.3s ease-out;
                }
                > a{
                    font-weight: 600;
                    padding-block: 0.4rem;
                    display: block;
                    font-size: 1.5rem;
                }
                a:hover{
                    color: var(--secondary);
                }
                > ul{
                    display: none;
                    width: 100%;
                    margin-bottom: 6px;

                    a{
                        display: block;
                        padding-block: 5px;
                        opacity: 0.8;
                        transition: all 0.3s ease-out;

                        &:hover{
                            opacity: 1;
                        }
                    }
                }
            }
        }
        
    }

    > li.open-sub > a:before{
        width: calc(100% - 23px);
    }

    > li > a{
        display: inline-flex;
        gap: 10px;
        z-index: 1;
        align-items: center;
        position: relative;


        @media(hover:hover){
          &:before{
                content: "";
                height: 22px;
                background: var(--secondary);
                position: absolute;
                z-index: -1;
                left: 0;
                bottom: -5px;
                transition: all 0.3s ease-out;
                width: 0;
            }
        }

        &:hover:before{
            width: calc(100% - 23px);
        }

        ion-icon{
            font-size: 1rem;
            line-height: 0;
            transition: all 0.3s ease-out;
        }
    }
    > li.open-sub > a{
        ion-icon{
            transform: rotate(180deg);
        }
    }
  }



  .mask-image{
    mask-image: url('https://englishschool.ac.cy/wp-content/uploads/2025/04/symbol-clean.png');
    mask-position: center center;
    mask-size: auto 30vh;
    mask-repeat: no-repeat;
  }




  .main-content-text > section:not(.files-section) a:not(.main-cta){
    font-weight: 600;
    color: var(--primary);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: var(--secondary);
    text-underline-offset: 2px;
  }

  .main-content-text blockquote{
    font-weight: 500;
    display: flex;
    gap: 10px;
  }

  .main-content-text blockquote{
    font-size: 1.3rem;
    
  }
  .main-content-text blockquote:before{
    content: url("data:image/svg+xml,%3Csvg fill='%23383f9a' version='1.1' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m60.41 87.387c-1.4141 0-2.7344-0.28516-3.8242-1.0195-1.1328-0.76172-2.4727-2.3281-2.418-5.4453 0.078125-4.3125 3.6133-6.2227 6.1953-7.6172l0.82031-0.44922c3.3828-1.8906 5.9648-3.6172 8.1289-5.4258 4.3086-3.6133 6.3555-6.793 6.1211-7.6055-0.003906 0-0.12891-0.14062-0.58594-0.30078-0.66016-0.22656-1.4844-0.28906-2.3555-0.35547-0.72266-0.054688-1.4336-0.10938-2.1172-0.24219-10.012-1.8828-16.234-9.2891-16.234-19.332 0-12.641 10.289-22.926 22.93-22.926 12.859 0 22.93 10.07 22.93 22.93 0 15.027-7.6484 35.797-29.207 44.836l-0.51953 0.22656c-2.4688 1.0391-6.4375 2.7266-9.8633 2.7266zm16.66-66.555c-10.348 0-18.762 8.418-18.762 18.762 0 8.1484 4.6797 13.703 12.836 15.238 0.53516 0.097657 1.0977 0.13672 1.6602 0.17969 1.0469 0.082031 2.2305 0.17188 3.3906 0.57031 2.4961 0.85547 3.1641 2.5469 3.332 3.4844 0.73438 3.9375-4.4141 8.9336-7.5469 11.555-2.3672 1.9844-5.1523 3.8477-8.7656 5.8672l-0.875 0.48047c-2.4805 1.332-3.9844 2.2734-4.0117 4.0234-0.015625 1 0.17578 1.6484 0.57812 1.918 1.2344 0.83984 4.5117 0.125 9.7305-2.0898l0.54297-0.23047c19.676-8.2539 26.652-27.238 26.652-40.992 0-10.523-8.2422-18.766-18.762-18.766z'/%3E%3Cpath d='m6.2461 87.387c-1.4141 0-2.7383-0.28516-3.8242-1.0195-1.1328-0.76172-2.4766-2.3281-2.4219-5.4453 0.074219-4.3164 3.6172-6.2266 6.2031-7.6211l0.81641-0.44531c3.3828-1.8906 5.9648-3.6172 8.125-5.4258 4.3125-3.6094 6.3594-6.7891 6.125-7.6055-0.003906 0-0.12891-0.14062-0.58594-0.30078-0.66016-0.22656-1.4844-0.28906-2.3594-0.35547-0.71484-0.054688-1.4297-0.10938-2.1172-0.24219-10.016-1.8828-16.234-9.2891-16.234-19.332 0.0039063-12.641 10.289-22.926 22.93-22.926 12.859 0 22.93 10.07 22.93 22.93 0 15.027-7.6484 35.793-29.207 44.836l-0.51953 0.22656c-2.4688 1.0391-6.4297 2.7266-9.8594 2.7266zm16.656-66.555c-10.344 0-18.762 8.418-18.762 18.766 0 8.1484 4.6797 13.703 12.836 15.238 0.53906 0.097656 1.1016 0.13672 1.6641 0.17969 1.0469 0.082031 2.2344 0.17188 3.3945 0.57031 2.4961 0.85547 3.1602 2.5508 3.332 3.4844 0.73437 3.9414-4.418 8.9375-7.5508 11.559-2.3633 1.9766-5.1484 3.8359-8.7656 5.8633l-0.87109 0.47656c-2.4727 1.332-3.9805 2.2734-4.0117 4.0234-0.015625 1 0.17578 1.6484 0.57812 1.918 1.8398 1.2578 7.7773-1.2656 9.7227-2.0898l0.54297-0.23047c19.676-8.2578 26.656-27.238 26.656-40.992 0-10.523-8.2422-18.766-18.766-18.766z'/%3E%3C/svg%3E");
    display: block;
    width: 30px;
    line-height: 0;
    flex-shrink: 0;
  }

  .main-content-text ul:not(.splide__list):not(.no-format){
    display: grid;
    gap: 5px;
    line-height: 1.7;
  }
  .main-content-text ol{
    list-style: decimal;
    display: grid;
    gap: 5px;
    list-style-position: inside;
  }
  .main-content-text ul:not(.splide__list) > li{
    position: relative;
    padding-left: 2rem;
  }
  .main-content-text ul:not(.splide__list) > li{
    a{
      border-bottom: 2px solid var(--secondary);
    }
  }
  .main-content-text ol > li> ul{
    width: 100%;
    margin-left: 34px;
    margin-block: 20px;
  }
  .main-content-text ul:not(.splide__list) > li> ul{
    /* list-style: disc; */
    width: 100%;
    margin-left: 10px;
    margin-block: 20px;
  }
  .main-content-text ul:not(.splide__list) > li:before{        
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M268 112l144 144-144 144M392 256H100'/%3E%3C/svg%3E");
    display: block;
    width: 20px;
    position: absolute;
    top: 5px;
    left: 0;
    line-height: 0;
  }

    .main-content-text .blue-section ul:not(.splide__list) > li:before{        
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M268 112l144 144-144 144M392 256H100'/%3E%3C/svg%3E");
  }

  .main-content-text .no-list-format ul > li:before{
    display: none;
  }

  .main-content-text .no-list-format ul > li{
    padding:0;
  }


  .main-content-text .notes-box ul > li:before{        
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'%3E%3Cpath fill='none' stroke='%23f4d319' stroke-linecap='round' stroke-linejoin='round' stroke-width='48' d='M268 112l144 144-144 144M392 256H100'/%3E%3C/svg%3E");
  }

  .notes-title{
    writing-mode: vertical-lr;
    rotate: 180deg;
  }


  .main-content-text table{
    width: 100%;
    border: 1px solid #eee;
    border-radius: 0.5rem;
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
    border-bottom: 0;
    font-size: medium;
    box-shadow: 0 0 10px 0 rgba(0 0 0 /10%);
  }
  .main-content-text table td{
    border-bottom: 1px solid #eee;
    padding:1.2rem;
    transition: all 0.3s ease-out;
  }

  .main-content-text table tr:hover td{
    background: rgb(255 254 245);
  }

  .main-content-text.adminbar table tr:first-of-type{
    top: 32px;
  }
  .main-content-text table th,.main-content-text table tr:first-of-type td{
    background: #f2f3ff;
    font-weight: 400;
    position: sticky;
    top: 0;
    z-index: 2;
  }
  .main-content-text table th > *,.main-content-text table tr:first-of-type td > *{
    width: max-content;
    display: block;
    margin:0;
  }
  .breadcrumb_last{
    color: var(--primary);
    font-weight: 500;
  }
  .text-white .breadcrumb_last{
    color: white;
  }
  #breadcrumbs a{
    transition: all 0.3s ease-out;
    font-weight: normal;
  }
  #breadcrumbs a:hover{
    color: var(--primary);
  }

  .text-white #breadcrumbs a:hover{
    color: var(--secondary);
  }

  .side-nav{

    > ul{
      display: grid;
      gap: 1rem;

      > li{
        > a:not(.active):before{
          content: "";
          position: absolute;
          right: 0;
          width: 0;
          height: 2px;
          background: var(--secondary);
          bottom: -5px;
          transition: all 0.3s ease-out;
        }
        > a:not(.active):hover:before{
          width: 100%;
          left: 0;
        }
      }

      > li:has(.active){

        >ul{
          margin-top: 1rem;
          padding: 20px 2rem;
          font-size: 0.97rem;
          display: grid;
          gap: 0.6rem;
          
          margin-inline: -2rem;

          a{
            position: relative;
            font-weight: 500;

            &:hover{
              color: var(--primary);
            }
          }

        }

        > a{
          padding-left: 15px;
          font-weight: 500;
          display: block;
          color: var(--black_300);
          border-left: 5px solid var(--secondary);
        }

      }

      a{
        transition: all 0.3s ease-out;
        position: relative;
      }

    }
  }
  
  
  .hover-effect:before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 0;
    width: 100%;
    background: var(--hover-color);
    z-index: -1;
    transition: all 0.3s ease-out;
}
.hover-effect:hover:before{
    height: 100%;
}
.main-cta:hover .hover-effect:before{
    height: 100%;
}
.secondary-font{
    font-family: "Merriweather", serif;
}
.home-slogan{
    font-family: "Merriweather", serif;
    /* font-family: "Inter", sans-serif; */
    /* font-family: "Plus Jakarta Sans", sans-serif; */
    span{
        transition: all 0.3s ease-out;
    }
    -webkit-text-stroke: 1px var(--primary);
    

    &:hover span{
        color: var(--primary);
    }
}

.home-about-slogan span{
  transition: all 0.3s ease-out;
}

.home-about-slogan:hover span{
  color: var(--secondary);
  -webkit-text-stroke: 1px var(--secondary) !important;
}

.stroke-text{
    -webkit-text-stroke: 1px var(--stroke-color);
}
.stroke-text.stroke-white{
     -webkit-text-stroke: 1px white;
}

.testimonial-icon img{
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(29%) hue-rotate(123deg) brightness(107%) contrast(108%);
}

.testimonial-slide{
    transform: scale(0.8);
    opacity: 0.6;
}
.splide__slide.is-active .testimonial-slide{
    transform: scale(1);
    opacity: 1;
}
#testimonials-slider .splide__pagination,
#home-news-slider .splide__pagination{
    bottom: -50px;
}
#testimonials-slider .splide__pagination__page.is-active,
#home-news-slider .splide__pagination__page.is-active{
    background: var(--secondary);
}
#testimonials-slider .splide__arrow,.stats-slider .splide__arrow{
    background: transparent;
}

.community-section .stats-slider .splide__arrow svg *{
  fill: white;
}

.stats-slider .splide__arrow--next{
  right: 0;
}

.stats-slider .splide__arrow--prev{
  left: 0;
}

.footer-menu a{
    transition: all 0.3s ease-out;
}
.footer-menu a:hover{
    color: var(--secondary);
}

.timeline-entry:nth-child(even) .timeline-description{
  transform: translateY(100px);
}
.timeline-entry:nth-child(odd) .timeline-description{
  bottom: 100%;
  padding-bottom: 100px;
}
.entries-slider .splide__arrow,.entries-slider .splide__arrow:disabled{
  opacity: 1;
  background: white;
  border: 1px solid #eee;
  width: 60px;
  height: auto;
  aspect-ratio: 1;
  transition: all 0.3s ease-out;
}
.entries-slider .splide__arrow:hover{
  background: #eee;
}
.entries-slider .splide__arrow--next{
  right: 0;
}
.entries-slider .splide__arrow--prev{
  left: 0;
}
.bio-content span{
  display: inline-block;
  margin-top:1.25em;
}
.bio-content span:first-of-type{
  margin-top: 0;
}

.es-voices-list{
  display: flex;
  flex-wrap: wrap;
}
.filters button:hover{
  background: #e5e5e5;
}
.filters button.active{
  background: var(--primary);
  color: white;
}

.embed-video iframe{
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/9;
}


.entries-slider:before{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  height: 5px;
  background: #eee;
}

.entries-slider li:nth-child(even) .timeline-box{
  justify-content: end;
} 

.steps-list{
  counter-reset: steps;
}
.step-item{
  counter-increment: steps;
}
.step-item:not(:last-of-type):after{
  content: "";
  width: 1px;
  height: 100%;
  background: var(--black_300);
  position: absolute;
  left: 30px;
  top: 60px;
}
.step-item:before{
  content: counter(steps);
  width: 60px;
  aspect-ratio: 1;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary);
  color: var(--secondary);
  flex-shrink: 0;
  font-weight: 500;
  font-size: 1.1rem;
}

.template-block-section section:not(.form-embed){
  iframe{
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9;
  }
}

.preloader-scroll,
.mask-image,
.preloader-slogan,
.preloader-logo {
  will-change: transform, opacity;
}

@media(max-width:1024px){
  .cover-box{
    background-image: none !important;
  }
}
@media(max-width:768px){
  .tabs-block-nav.left-tabs button:before,.tabs-block-nav button:before{
    height: 3px;
    width: 100%;
    top: auto;
    bottom: 0;
  }
}
@media(max-width:620px){
  #testimonials-slider .splide__pagination{
    bottom: 0;
  }
  .entries-slider li:nth-child(even) .timeline-box {
    justify-content: start;
}
.step-item:before{
  width: 40px;
}
.step-item:not(:last-of-type):after{
  left: 20px;
  top: 40px;
}
.entries-slider .splide__arrows{
  display: flex;
  gap: 10px;
  margin-bottom: 30px;
}
.entries-slider .splide__arrow, .entries-slider .splide__arrow:disabled{
  position: static;
  transform: none;
}
.entries-slider:before{
  display: none;
}
}
