:root{
    --primary-color1:#30CF55;
    --primary-color2:#84E0B8;
    --background-primary:#F4FFF6;
    --background-secondary:#DCE4DD;
    --primary-text:#20381C;
    --light-text:#20381c80;
    --font-primary:"Bricolage Grotesque", sans-serif;
}
body{
    overflow-x: hidden;
    box-sizing: border-box;
}
.element{
    font-family: var(--font-primary);
    font-size: 15px;
    transition: ease-in-out 0.3s;
}
.element:hover{
    color: var(--primary-color1);
}
.dropdown{
    position: relative;
}
.drop-menu{
    position: absolute;
    background-color: white;
    box-shadow: 0px 0px 4px #ccc;
    padding: 8px 6px;
    left: 50%;
    transform: translateX(-50%);
    top: 40px;
    border-radius: 10px;
    min-width: 120px;
}
.drop-menu li{
    min-width: max-content;
    width: 100%;
    padding: 6px 8px;
    margin-bottom: 8px;
    border-radius: 3px;
}
.drop-menu li:hover{
    background-color: var(--background-secondary);
}
.cta-button{
    display: block;
    background: var(--primary-color1);
    padding: 12px 16px;
    font-family: var(--font-primary);
    font-size: 15px;
    border-radius: 6px;
    color: #fff;
    min-width: 172px;
    text-align: center;
    transition: background ease-in-out 0.5s;
}
.cta-button:hover{
    background:linear-gradient(#30CF55 ,#84E0B8);
}
.cta-button:active{
    transform: scale(0.98);
}
.cta-button-white{
    display: block;
    background: #fff;
    padding: 12px 16px;
    font-family: var(--font-primary);
    font-size: 15px;
    border-radius: 6px;
    color: var(--primary-color1);
    min-width: 172px;
    text-align: center;
    transition: background ease-in-out 0.5s,color ease-in-out 0.5s;
}
.cta-button-white:hover{
    background:var(--primary-text);
    color: #fff;
}
.cta-button-white:hover{
    background:var(--primary-text);
    color: #fff;
}
.cta-button-white:active{
    transform: scale(0.98);
}
.cta-background{
    background: linear-gradient(to right ,#79E27D ,#30CF55);
}
.cta-pseudo-box{
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    top: 0;
    left: 0;
    overflow: hidden;
    border-radius: 50px;
}
.cta-pseudo-box::before{
    content: '';
    position: absolute;
    width:500px;
    height:500px;
    border-radius: 50%;
    background: radial-gradient(#84E0B8,#84e0b800 70%);
    top: -50%;
    right: -15%;
}
.cta-pseudo-box::after{
    content: '';
    position: absolute;
    width:500px;
    height:500px;
    border-radius: 50%;
    background: radial-gradient(#79E27D,#79e27c00 75%);
    top: 18%;
    right: 38%;
    z-index: -1;
}
.padding-x{
    padding-left: 5rem;
    padding-right: 5rem;
}
.section-headline{
    font-family: var(--font-primary);
    font-size: 48px;
    line-height: 48px;
    font-weight: bold;
}
.sub-title{
    font-family: var(--font-primary);
    font-size: 22px;
    line-height: 24px;
    font-weight: 200;
}

/* TOGGLER */
.toggle-bar{
    position: relative;
    width: 40px;
    height: 40px;
    border: var(--primary-color1) 1px solid;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    transition:0.5s ease-in-out ;
}
.bar{
    display: block;
    width: 70%;
    background-color: var(--primary-color1);
    height: 3px;
    border-radius: 4px;
    transition: 0.5s ease-in-out;
}
#menu-toggler:checked + .toggle-bar .bar {
  position: absolute;
  transition: 0.5s ease-in-out;
}
#menu-toggler:checked + .toggle-bar .bar-2 {
  transform: scaleX(0);
  transition-duration: .5s;
}

#menu-toggler:checked + .toggle-bar .bar-1 {
  transform: rotate(180deg);
  transition-duration: .5s;
  border-radius: 0;
}

#menu-toggler:checked + .toggle-bar .bar-3 {
  border-radius: 0;
  transform: rotate(90deg);
  transition-duration: .5s;
}

#menu-toggler:checked + .toggle-bar {
  transition-duration: .5s;
  transform: rotate(180deg);
}

/* SWIPER */

.swiper {
    width: 100%;
    height: 100%;
}
.serviceSwiper .swiper-button-next, .serviceSwiper .swiper-button-prev{
    color: #20381C;
    background-color: white;
    width: 40px;
    height: 40px;
    padding: 8px;
    border-radius: 50%;
    transition: all 0.3s;
}
.serviceSwiper .swiper-button-prev{
    left: 5px;
}
.serviceSwiper .swiper-button-next{
    right: 5px;
}
.serviceSwiper .swiper-button-next:hover, .serviceSwiper .swiper-button-prev:hover{
    background-color: var(--primary-color1);
    color: white;
}
.serviceSwiper .swiper-button-next:active, .serviceSwiper .swiper-button-prev:active{
    background-color: var(--primary-color2);
    color: white;
}
.serviceSwiper .swiper-button-next::after, .serviceSwiper .swiper-button-prev::after{
    font-size: 16px;
}
.serviceSwiper .swiper-pagination{
    bottom: 0px !important;
}
.serviceSwiper .swiper-pagination .swiper-pagination-bullet{
    background-color: var(--primary-color1);
}
.banner{
    background-image: url(../assets/banner_image.webp);
    background-size: cover;
    background-position: left;
    background-repeat: no-repeat;
}
.inner-banner{
    background-image: url(../assets/background_inner_banner.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.banner-headline{
    font-size: 64px;
    font-family:var(--font-primary) ;
    color: var(--primary-text);
    line-height: 64px;
    font-weight: bold;
}
.paragraph-size{
    font-family: var(--font-primary);
    font-size: 1.1rem;
    line-height: 26px;
    font-weight: 300;
}
.card-headline{
    font-family: var(--font-primary);
    font-weight: 500;
    font-size: 24px;
    line-height: normal;
    letter-spacing: -3%;
}
.card-sub-headline{
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 300;
    line-height: 23px;
}
.card-content{
    font-family: var(--font-primary);
    font-size: 13px;
    font-weight: 300;
    line-height: 20px;
}
.card-button{
    font-size: 12px;
    font-family: var(--font-primary);
    font-weight: 500;
    padding: 8px 12px;
    border-radius: 6px;
    background-color: var(--primary-color1);
    color: white;
    transition: ease-in-out 0.3s;
}
.card-button:hover{
    background-color: var(--primary-color2);
    color: var(--primary-text);
}
.service-card{
    background: var(--service-background);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition:all ease-in-out 0.5s;
}
.service-card-content{
    transition: ease-in-out 0.5s;
    bottom: -100px;
}
.card-description{
    height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all ease-in-out 0.5s;
}
.service-card::before{
    content: '';
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 0;
    background: linear-gradient(#00000000,#000000);
    opacity: 0.6;
    transition:background ease-in-out 0.5s,opacity ease-in-out 0.5s;
}
.service-card:hover > .service-card-content {
    bottom: 0;
}
.service-card:hover::before{
    opacity: 1;
    background: linear-gradient(#00000000 -30%,#000000);
}
.service-card:hover .card-description{
    height: fit-content;
    opacity: 1;
}
.point-text{
    font-family: var(--font-primary);
    font-weight: 200;
    font-size: 34px;
}
.faq-question{
    font-family: var(--font-primary);
    font-weight: 200;
    font-size: 20px;
    transition: all ease-in-out 0.8s;
}
.faq-box{
    border: var(--primary-color1) 1px solid;
    border-radius: 10px;
    padding: 12px;
    cursor: pointer;
    transition: all ease-in-out 0.8s;
}
.faq-answer{
    height: 0;
    overflow: hidden;
    opacity: 0;
    margin-top: 0;
    transition: all ease-in-out 0.8s;
}
.faq-answer.show{
    height: fit-content;
    overflow: visible;
    opacity: 1;
    margin-top: 12px;
}
.faq-icon{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transition: all ease-in-out 0.5s;
}
.faq-rotate{
    transform: rotate(180deg);
    opacity: 0;
}

/* SCROLLING ANIMATION */
.hidden-1{
    transform: translateY(20%);
    opacity: 0;
    filter: blur(6px);
    transition:opacity ease-in-out 1s, transform ease-in-out 1s, filter ease 1s;
}
.show-1{
    transform: translateY(0);
    opacity: 1;
    filter: blur(0);
    transition:opacity ease-in-out 1s, transform ease-in-out 1s, filter ease 1s;
}
.hidden-2{
    transform: translateX(-30%);
    opacity: 0;
    filter: blur(6px);
    transition:opacity ease-in-out 1.3s, transform ease-in-out 1s, filter ease 1s;
}
.show-2{
    transform: translateX(0);
    opacity: 1;
    filter: blur(0);
    transition:opacity ease-in-out 1s, transform ease-in-out 1s, filter ease 1s;
}
.value-card{
    position: relative;
}
.value-card-box{
    min-width: fit-content;
    text-align: center;
    border-radius: 10px;
    transform: scaleX(-1);
    opacity: 0;
    transition: all 0.3s ease;
    box-shadow: 0px 4px 6px #20381c11;
}
.value-card:hover .value-card-box{
    transform: scaleX(1);
    opacity: 1;
}
.communication-card{
    border: 1px solid var(--primary-color2);
    border-radius: 20px;
}
.communication-card:hover div{
    color: white;
    background-color: var(--primary-color1);
    transition: all ease 0.5s;
}
.communication-card:hover{
    transition: all ease 0.5s;
    transform: translateY(-10px);
    box-shadow: 0px 16px 10px #20381c11;
}
.text-stroke{
    color: transparent;
    -webkit-text-stroke: 1px #DDFFE3;
    filter: drop-shadow(0px 4px 4px #00000040);
}
.text-stroke-black{
    color: transparent;
    -webkit-text-stroke: 1px #20381C;
    filter: drop-shadow(0px 4px 4px #00000040);
}
.text-stroke-green{
    color: transparent;
    -webkit-text-stroke: 1px #30CF55;
}
.expert-speech-card{
    background: linear-gradient(to right ,#30CF55,#79E27D);
    border-radius: 30px;
    transition: all ease-in 0.4s;
}
.expert-speech-card:hover{
    transform: translateY(-12px);
    box-shadow: 0px 16px 10px #20381c11;
}
.arrow-button svg{
    transform: rotate(42deg);
    position: absolute;
    right: 75%;
    transition: all ease-in 0.4s;
    color: var(--primary-color1);
}
.arrow-button:hover svg{
    transform: rotate(90deg);
    position: absolute;
    left: none;
    right: 5%;
    color: white;
}
.social-play-card{
    background: linear-gradient(#30cf5570,#84e0b87f);
    border-radius: 30px;
    position: relative;
    overflow: hidden;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.play-card-image{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -1;
    opacity: 0.2;
    object-fit: cover;
}

.nurse-service-card{
    border: 1px solid var(--primary-color1);
}
.fixed-image{
    background-image: url('../assets/images/literacy-and-learning-support.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* RESPONSIVE */

/* `sm` applies to x-small devices (portrait phones, less than 576px)  */
@media (max-width: 35.99875em) {
 .banner-headline{
    font-size: 36px;
    line-height: 40px;
}
.paragraph-size{
    font-size: 0.9rem;
    line-height: 24px;
}
.section-headline{
    font-size: 30px;
    line-height: 32px;
}
.sub-title{
    font-size: 16px;
    line-height:18px;
}
.padding-x{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.card-headline{
    font-size: 20px;
}
.card-sub-headline{
    font-size: 14px;
    line-height: 16px;
}
.card-content{
    font-size: 12px;
    line-height: 18px;
}
.serviceSwiper .swiper-button-next, .serviceSwiper .swiper-button-prev{
    width: 24px;
    height: 24px;
}
.faq-question{
    font-size: 16px;
}
.cta-pseudo-box{
    border-radius: 16px;
}
}


/*  330px to 576px  */
@media (min-width: 20.625em) and (max-width: 35.99875em) {
 
}

/* less than 330px */
@media (max-width: 20.62375em) {
 
}

/* `md` applies to small devices (landscape phones, less than 768px)  sm - md   576px - 36em    768px - 48em*/
@media (min-width: 36em) and (max-width: 47.99875em) {
 .banner-headline{
    font-size: 46px;
    line-height: 50px;
}
.paragraph-size{
    font-size: 1rem;
    line-height: 23px;
}
.section-headline{
    font-size: 36px;
    line-height: 38px;
}
.sub-title{
    font-size: 18px;
    line-height:20px;
}
.padding-x{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.card-headline{
    font-size: 18px;
}
.card-sub-headline{
    font-size: 14px;
    line-height: 18px;
}
.card-content{
    font-size: 12px;
    line-height: 18px;
}
.faq-question{
    font-size: 16px;
}
}


/* `md` applies to medium devices (tablets, less than 768px)   768px - 48em */
@media (max-width: 47.99875em) {
.header-navigaion{
    position: absolute;
    left: 0;
    background-color: #fff;
    box-shadow: 0px 1px 6px rgba(0,0,0,0.2);
    top: 70px;
    max-height: calc(100vh - 84px);
    border-radius: 8px;
    padding: 16px;
    transition: opacity ease-in-out 0.8s, transform ease-in-out 0.8s, max-height ease-in-out 0.5s;
    overflow-x: hidden;
    overflow-y: auto;
}
.header-navigaion::-webkit-scrollbar{
    width: 8px;
}
.header-navigaion::-webkit-scrollbar-track{
    background-color: #F4FFF6;
    border-radius: 10px;
}
.header-navigaion::-webkit-scrollbar-thumb{
  background-color: var(--primary-color1);
  border-radius: 10px;
  border: 2px solid #f1f1f1;
}

.nav-view{
    max-height: 0;
    opacity: 0;
    z-index: -1;
    transform: translateY(-20px);
}
.header-navigaion a{
    width: 100%;
    display: block;
    text-align: center;
    padding: 4px 8px;
}

.header-navigaion .element:hover{
    background-color: var(--background-primary);
}
.drop-menu , .dropdown{
    width: 100%;
    padding: 4px 8px;
}
.dropdown:hover{
    background-color: var(--background-primary);
}
.drop-menu li {
    min-width: fit-content;
}
.point-text{
    font-size: 24px;
}
.social-play-card{
    min-height: 300px;
}
}

/* `lg` applies to medium devices (tablets, less than 992px)   922px - 62em */
@media (max-width: 61.99875em) {

}


/* md - lg    768px - 48em  992px - 62em */
@media (min-width: 48em) and (max-width: 61.99875em) {
.banner-headline{
    font-size: 52px;
    line-height: 56px;
}
.paragraph-size{
    font-size: 1rem;
    line-height: 23px;
}
.section-headline{
    font-size: 40px;
    line-height: 42px;
}
.sub-title{
    font-size: 18px;
    line-height:20px;
}
.padding-x{
    padding-left: 3rem;
    padding-right: 3rem;
}
.card-headline{
    font-size: 20px;
}
.card-sub-headline{
    font-size: 15px;
    line-height: 23px;
}
.card-content{
    font-size: 12px;
    line-height: 18px;
}
.point-text{
    font-size: 26px;
}
.faq-question{
    font-size: 18px;
}
}


/* `xl` applies to large devices (desktops, less than 1200px)  75em - 1200px  */
@media (min-width: 62em) and (max-width: 74.99875em) {
.banner-headline{
    font-size: 56px;
    line-height: 60px;
}
.paragraph-size{
    font-size: 1rem;
    line-height: 23px;
}
.section-headline{
    font-size: 46px;
    line-height: 46px;
}
.sub-title{
    font-size: 20px;
    line-height: 22px;
}
.padding-x{
    padding-left: 4rem;
    padding-right: 4rem;
}
.card-headline{
    font-size: 21px;
}
.card-sub-headline{
    font-size: 15px;
    line-height: 22px;
}
.point-text{
    font-size: 28px;
}
}

@media (max-width: 74.99875em) {

}



/* `xxl` applies to x-large devices (large desktops, less than 1400px)  1400px - 87.5em */
@media (min-width: 75em) and (max-width: 87.49875em) {
.padding-x{
    padding-left: 5rem;
    padding-right: 5rem;
}
.card-headline{
    font-size: 22px;
}
.point-text{
    font-size: 30px;
}
}


/* 1200px max */
@media (min-width: 75em) {}
