html, body {
    min-height: 100dvh;
    overflow-x: hidden;
    font-family: "DM Sans", sans-serif;
    padding: 5px;
}

@keyframes fadeInUp {
    0% {
      transform: translateY(100%);
      opacity: 0;
    }
    100% {
      transform: translateY(0%);
      opacity: 1;
    }
}

html::-webkit-scrollbar {
    width: 5px;
}
  
html::-webkit-scrollbar-track {
    background: rgb(218, 218, 218);
    border-radius: 10px;
}
  
html::-webkit-scrollbar-thumb {
    background: rgb(179, 179, 179);
    border-radius: 10px;
}
  
html::-webkit-scrollbar-thumb:hover {
    background: rgb(150, 150, 150);
    border-radius: 10px;
}
  
html::-webkit-scrollbar-thumb:active {
    background: rgb(116, 116, 116);
    border-radius: 10px;
}

body {
    animation: 1s fadeInUp;
}

.hero {
    display: flex;
    flex-direction: column;
    height: calc(100dvh - 20px); /* Use 100vh to cover the entire viewport height */
    width: calc(100vw - 20px);
    border-radius: 10px;
    padding: 10px;
    box-sizing: border-box; /* Ensure padding is included in the height calculation */

    background: rgb(255,220,193);
    background: -moz-linear-gradient(0deg, rgba(255,220,193,1) 0%, rgba(255,199,158,1) 40%, rgba(255,199,158,1) 60%, rgba(255,220,193,1) 100%);
    background: -webkit-linear-gradient(0deg, rgba(255,220,193,1) 0%, rgba(255,199,158,1) 40%, rgba(255,199,158,1) 60%, rgba(255,220,193,1) 100%);
    background: linear-gradient(0deg, rgba(255,220,193,1) 0%, rgba(255,199,158,1) 40%, rgba(255,199,158,1) 60%, rgba(255,220,193,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffdcc1",endColorstr="#ffdcc1",GradientType=1);
}


#contentContainer {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.hero .navbar {
    padding: 0;
    display: flex;
    margin-top: 8px;
}

.hero .navbar .sideMenu {
    display: flex;
    flex-direction: row;
}

.hero .navbar .logo img {
    height: 32px;
}

.hero .navbar .hamburger i {
    font-size: 24px;
    margin-top: 6px;
    cursor: pointer;
}

.hero .navbar .phone i {
    font-size: 20px;
    margin-top: 8px;
    cursor: pointer;
    margin-right: 24px;
    color: black;
}

.hero hr {
    color: #705d4d;
}

.hero .content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
    padding-bottom: 5px;
    text-align: center;
}

.hero .content .slogan {
    background-image: url(./assets/slogan.svg);
    height: 100%;
    background-repeat: no-repeat;
    background-size: contain;
    max-height: 250px;
    background-position-x: center;
    background-position-y: center;
}

.hero .contentDesktop {
    display: none;
}

.hero .content #span2 .lang-block {
    white-space: nowrap;
}

.hero .navbar .elements {
    display: none;
}

.hero .navbar .elements a {
    text-decoration: none;
    color: black;
}

.hero .navbar .elements .mainButton {
    color: white;
    background-color: #424242;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 8px 16px;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 100ms linear;
}

.hero .navbar .elements .mainButton:hover {
    background-color: #656565;
}


@media only screen and (min-width: 768px) {
    .hero .content {
        display: none;
    }
    .hero .contentDesktop {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        justify-content: space-between;
        padding-bottom: 5px;
    }
    .hero .contentDesktop .slogan {
        background-image: url(./assets/slogan.svg);
        height: 100%;
        background-repeat: no-repeat;
        background-size: contain;
        background-position-x: center;
        background-position-y: center;
        max-width: 700px;
        width: 100%;
    }
    .hero .contentDesktop .spans {
        display: flex;
        justify-content: space-between;
        margin-bottom: 10px;
    }
    .hero .contentDesktop #span1, .hero .contentDesktop #span2 {
        max-width: 260px;
    }
    .hero .contentDesktop .sloganContainer {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
    }
    .hero .navbar .sideMenu {
        display: none;
    }
    .hero .navbar .elements {
        display: flex;
        align-items: center;
    }
    .hero .navbar .elements a {
        margin-left: 18px;
    }
}

.classesFor {
    display: flex;
    flex-direction: row;
    margin-top: 10px;
    width: calc(100vw - 20px);
    margin-left: 10px;
}

.classesFor .row {
    width: 100%;
}

.classesFor .col {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 300px;
    font-weight: 500;
    text-align: center;
    font-size: 36px;
    cursor: pointer;
}

.classesFor #forKids {
    background: linear-gradient( rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5) ), url('./assets/forKids.jpg');
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.classesFor #forBusiness {
    background: linear-gradient( rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5) ), url('./assets/forBusiness.jpg');
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

@media only screen and (max-width: 767px) {
    .classesFor #forKids, .classesFor #forBusiness {
        border-radius: 10px;
    }
    .classesFor #forBusiness {
        margin-top: 10px;
    }
}

.classesFor a {
    color: white;
    text-decoration: none;
}

.classesFor #forKids, .classesFor #forBusiness {
    background-size: cover;
    background-position: center;
    transition: background-size 0.5s ease;
    will-change: background-size;
}

.classesFor #forBusiness:hover {
    background-size: 105%;
    text-decoration: underline!important;
    text-decoration-color: white!important;
}

.classesFor #forKids:hover {
    background-size: 120%;
    text-decoration: underline!important;
    text-decoration-color: white!important;
}

.about {
    background-color: #B4E0C7;
    margin-top: 10px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    padding: 40px 0;
}

@media only screen and (max-width: 767px) {
    .about {
        padding: 20px 10px;
    }
}
  
.demo {
    opacity: 0.6;
}
  
.active, .demo:hover {
    opacity: 1;
}

.numbers {
    background-color: #e9e9e9;
    margin-top: 10px;
    border-radius: 10px;
    padding: 50px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    /* visual perspective */
    padding-left: 20px;
}

@media only screen and (max-width: 767px) {
    .numbers {
        flex-direction: column;
        padding: 50px 50px 25px 50px;
    }
    .numbers .figure {
        margin-bottom: 25px;
    }
}

.numbers .figure {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
}

.numbers .figure h1 {
    font-size: 48px;
    font-weight: 600;
}

.neurolanguage {
    background-color: #EBC7EB;
    margin-top: 10px;
    border-radius: 10px;
    padding: 40px 0;
}

@media only screen and (max-width: 767px) {
    .neurolanguage {
        padding: 20px 10px;
    }
}

.bottomHero {
    margin-top: 40px;
    text-align: center;
    padding: 0 10px;
}

.bottomHero .mainButton {
    color: black;
    background-color: #EBC7EB;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 8px 16px;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 100ms linear;
    text-decoration: none;
    margin-top: 10px;
}

.bottomHero .mainButton:hover {
    background-color: #cdadcd;
}

.partners {
    background-color: #e9e9e9;
    margin-top: 10px;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    padding: 40px 0;
}

@media only screen and (max-width: 767px) {
    .partners {
        padding: 20px 10px;
    }
}

.partners .partner {
    display: flex;
}

.partners h2 {
    margin-bottom: 10px;
    font-size: 24px;
}

.partners .partner .logo img {
    height: 48px;
    border-radius: 4px; 
}

.partners .partner .content {
    margin-left: 14px;
}

.partners .partner .content h3 {
    font-size: 24px;
    margin-bottom: 0;
}

.examRate {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    background-color: #636363;
    color: white;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 20px 10px 10px 10px;
}

.examRate h1 {
    font-size: 48px;
    font-weight: 600;
}

.events {
    background-color: #B4E0C7;
    margin-top: 10px;
    border-radius: 10px;
    padding: 40px 0;
}

@media only screen and (max-width: 767px) {
    .events {
        padding: 20px 10px;
    }
}

.events .event {
    display: flex;
    flex-direction: column;
}

.events .event .top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.events .event .top .scroll {
    margin-left: 18px;
    margin-right: -4px;
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

.events .event .top .scroll span {
    margin-top: -3px;
    margin-left: 2px;
    margin-right: 2px;
}

.events .event .top .title {
    font-weight: 600;
    font-size: 24px;
    margin-bottom: 6px;
}

.events .event #date {
    margin-left: 4px;
}

.events .event .top .scroll .eventLeft {
    cursor: pointer;
    margin-right: 4px;
}

.events .event p {
    margin-bottom: 6px;
}

.events .event .top .scroll .eventRight {
    cursor: pointer;
    margin-left: 4px;
}

.footer {
    background-color: #636363;
    margin-top: 40px;
    border-radius: 10px;
    padding: 40px 0;
}

@media only screen and (max-width: 767px) {
    .footer {
        padding: 20px 10px;
    }
}

.footer .logo img {
    height: 32px;
}

.footer .logo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer .logo a {
    color: white;
    text-decoration: none;
    margin-top: 12px;
}

.footer .container {
    display: flex;
    justify-content: space-between;
}

.footer .container .social a{
    color: white;
    text-decoration: none;
    font-size: 20px;
    margin-left: 10px;
}

.footer #credits {
    text-decoration: none;
    color: lightgrey;
    font-weight: 200;
    text-align: center;
    margin-top: 26px;
    font-size: 14px;
    width: 100%;
    display: inline-block;
}

.footer #silon {
    height: 20px;
    margin-left: 5px;
    margin-right: 5px;
}

.overlay {
    height: 0%;
    width: 100%;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0, 0.9);
    overflow-y: hidden;
    transition: 0.5s;
}
  
.overlay-content {
    position: relative;
    top: 32%;
    width: 100%;
    text-align: center;
    margin-top: 30px;
}
  
.overlay a {
    padding: 8px;
    text-decoration: none;
    font-size: 28px;
    color: #818181;
    display: block;
    transition: 0.3s;
}
  
.overlay a:hover, .overlay a:focus {
    color: #f1f1f1;
}
  
.overlay .navClose {
    position: absolute;
    top: 2px;
    right: calc(1.5rem* 0.5 + 12px);
    font-size: 45px;
}
  
@media screen and (max-height: 450px) {
    .overlay {overflow-y: auto;}
    .overlay a {font-size: 20px}
    .overlay .navClose {
        font-size: 40px;
        top: 15px;
        right: 35px;
    }
}

.emoji {
    height: 20px;
    margin-top: -3px;
}

.emojiH2 {
    height: 28px;
    margin-top: -10px;
}

.gallery {
    overflow-x: scroll;
    display: flex;
    flex-direction: row;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    align-items: center;
    position: relative;
}

.gallery-chevron {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 80px;
    height: 100%;
    display: flex;
    align-items: center;
    cursor: pointer;
    z-index: 10;
    font-size: 20px;
    color: white;
}

.gallery-chevron-left {
    left: 0;
    background: linear-gradient(to right, rgb(0 0 0 / 25%) 0%, rgba(0, 0, 0, 0) 100%);
    justify-content: flex-start;
    padding-left: 20px;
}

.gallery-chevron-right {
    right: 0;
    background: linear-gradient(to left, rgb(0 0 0 / 25%) 0%, rgba(0, 0, 0, 0) 100%);
    justify-content: flex-end;
    padding-right: 20px;
}

.gallery-images {
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
}

.gallery-images img {
    scroll-snap-align: center;
    max-height: 400px;
    width: 100%;
    object-fit: cover;
}

/* smoooth scroll grab */
.gallery-images {
    cursor: grab;
    transition: scroll 0.2s ease-out;
}

.gallery-images.active {
    cursor: grabbing;
}

.gallery-images img {
    pointer-events: none; /* Prevent interaction with images while dragging */
}

.gallery-chevron.disabled {
    color: #a6a6a6; /* Change the color to gray */
    pointer-events: none; /* Disable clicking on the chevron */
}
