html {
  scroll-behavior: smooth;
}
.thin-heading {
    font-weight: 400;
}
.hero-services-link .icon-svg a {
    display: flex;
}
.wp-block-button__link:hover {
    background-color: #DEA763;
}
@media (max-width: 782px) {
    .hero-homepage {
        padding-top: 140px !important;
        padding-right: 25px !important;
        padding-left: 25px !important;
        background-position: bottom;

        .extra-large-p {
            font-size: 80px !important;
            line-height: 1 !important;
        }

        .normal-p {
            font-size: 24px !important;
        }

        .thin-heading {
            font-size: 56px !important;
        }

        .hero-buttons {
            flex-flow: column;

            .wp-block-buttons {
                width: 100%;

                .wp-block-button {
                    width: 100%;
                }
            }
        }
    }

    .header-cta-row {
        display: none !important;
    }

    .trust-section-a-homepage {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 32px !important;
        }
        p {
            font-size: 17px !important;
        }
    }

    .trust-section-b-homepage {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 36px !important;
        }

        .normal-p {
            font-size: 18px !important;
            line-height: 1.5 !important;
        }

        .extra-large-p {
            font-size: 65px !important;
        }
    }

    .trust-section-c-homepage {
        /* padding: 64px 20px !important; */

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 32px !important;
        }
        p {
            font-size: 17px !important;
        }
    }

    .trust-section-d-homepage {
        padding-bottom: 100px !important;

        .wp-block-column {
                margin-bottom: 30px !important;
        }
        h3 {
                font-size: 36px !important;
        }
        .extra-large-p {
            font-size: 72px !important;
            line-height: 1;
        }
        .extra-large-heading {
            font-size: 44px !important;
        }
        p {
            margin-block-start: 0 !important;
        }

        .trust-full-width-button {
            .wp-block-button {
                width: 80% !important;
                margin-bottom: 20px !important;
                
                .wp-block-button__link {
                    padding: 20px !important;
                }
            }
        }
    }

    .services-section-homepage {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
            font-size: 34px !important;
            margin-top: 25px !important;
            margin-bottom: 10px !important;
        }
        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
        }
        .extra-large-p {
            font-size: 72px !important;
            line-height: 1;
        }
        .extra-large-heading {
            font-size: 44px !important;
            margin-top: 0 !important;
            margin-bottom: 0 !important;
        }
        p {
            margin-block-start: 0 !important;
        }

        .trust-full-width-button {
            .wp-block-button {
                width: 80% !important;
                margin-bottom: 20px !important;
                
                .wp-block-button__link {
                    padding: 20px !important;
                }
            }
        }
    }

    .lead-magnet-section-homepage {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 36px !important;
        }

        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 68px !important;
        }

        .full-width-button {
            justify-content: center !important;
        }

    }

    .process-section-homepage {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 36px !important;
        }

        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 68px !important;
        }

        .extra-large-p {
            font-size: 72px !important;
            line-height: 1;
        }

        .extra-large-heading {
            font-size: 44px !important;
        }

        .full-width-button {
            justify-content: center !important;
        }

        .wp-block-spacer {
            display: none;
        }

        .scrolling-text p {
            font-size: 44px !important;
        }

    }

    .programs-section-homepage {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 36px !important;
        }

        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 68px !important;
        }

        .extra-large-p {
            font-size: 72px !important;
            line-height: 1;
        }

        .extra-large-heading {
            font-size: 44px !important;
        }

        .program-group {
            padding-top: 120px !important;
        }

        .full-width-button {
            justify-content: center !important;
        }

        .wp-block-spacer {
            display: none;
        }

    }

    .testimonials-section-homepage {
        padding: 64px 20px !important;

        .wp-block-column {
                margin-bottom: 30px !important;
        }
        h3 {
                font-size: 32px !important;
        }
        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
            margin-top: 20px;
            margin-bottom: 10px;
        }
        .extra-large-p {
            font-size: 72px !important;
            line-height: 1;
        }
        .extra-large-heading {
            font-size: 44px !important;
        }
        p {
            margin-block-start: 0 !important;
        }
    }

    .blog-posts-section-homepage {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }

        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 68px !important;
        }

        .extra-large-p {
            font-size: 72px !important;
            line-height: 1;
        }

        .large-heading {
            font-size: 28px !important;
        }

        .extra-large-heading {
            font-size: 44px !important;
        }

        .program-group {
            padding-top: 120px !important;
        }

        .full-width-button {
            justify-content: center !important;
        }

        .wp-block-spacer {
            display: none;
        }

        .posts-row {
            margin-top: 60px !important;
            padding-left: 5px !important;
            padding-right: 5px !important;

            .wp-block-post {
                margin-bottom: 20px !important;
            }
        }

    }

    .newsletter-section-homepage {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 36px !important;
        }

        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
            margin-left: 10px !important;
            margin-right: 10px !important;
        }

        .large-p {
            font-size: 68px !important;
        }

        .full-width-button {
            justify-content: center !important;
        }

    }

    .faq-section-homepage {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 36px !important;
        }

        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 68px !important;
        }

        .extra-large-p {
            font-size: 72px !important;
            line-height: 1;
        }

        .extra-large-heading {
            font-size: 44px !important;
        }

        .full-width-button {
            justify-content: center !important;
        }

        .wp-block-spacer {
            display: none;
        }

    }

    .section-1-about-page {
        padding: 140px 20px 64px 20px !important;

        .wp-block-column {
                margin-bottom: 30px !important;
        }
        h3 {
                font-size: 36px !important;
        }
        .extra-large-p {
            font-size: 90px !important;
            line-height: 1;
        }
        .large-p {
            font-size: 24px !important;
        }
        .extra-large-heading {
            font-size: 36px !important;
        }
        p {
            margin-block-start: 0 !important;
        }

        .section1-columns {
            .section1-col1 {
                order: 2;
            }
            .section1-col2 {
                order: 1;
            }
            .section1-col3 {
                order: 3;
            }
        }
    }

    .section-2-about-page {
        padding: 84px 10px !important;
        background-position: center;

        .wp-block-group {
            padding-left: 20px !important;
            padding-right: 20px !important;
        }
        .top-p {
        font-size: 20px !important;
        }

        .normal-p {
            font-size: 32px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 90px !important;
        }

    }

    .section-3-about-page {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 36px !important;
        }

        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 68px !important;
        }

        .extra-large-p {
            font-size: 72px !important;
            line-height: 1;
        }

        .extra-large-heading {
            font-size: 44px !important;
        }

        .full-width-button {
            justify-content: center !important;
        }

        .wp-block-spacer {
            display: none;
        }

        .scrolling-text p {
            font-size: 44px !important;
        }
    }

    .section-1-services-page {
        padding: 104px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h2 {
            font-size: 32px !important;
            margin-left: 10px;
            margin-right: 10px;
        }
        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
            margin-top: 20px;
            margin-bottom: 10px;
            margin-left: 10px;
            margin-right: 10px;
        }
        .extra-large-p {
            font-size: 72px !important;
            line-height: 1;
        }
        .extra-large-heading {
            font-size: 44px !important;
        }
        p {
            margin-block-start: 0 !important;
        }

        .full-width-button {
            margin-left: 10px;
            margin-right: 10px;
            margin-bottom: 20px;

            a {
                font-size: 20px;
            }
        }
        
    }

    .section-2-programs-page {

        .wp-block-column {
            margin-bottom: 30px !important;
            padding: 40px 10px !important;
        }
        h2 {
            font-size: 42px !important;
            margin-left: 10px;
            margin-right: 10px;
        }
        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
            margin-top: 20px;
            margin-bottom: 10px;
            margin-left: 10px;
            margin-right: 10px;
        }
        .extra-large-p {
            font-size: 50px !important;
            line-height: 1;
        }
        .extra-extra-large-p {
            font-size: 72px !important;
        }
        .extra-large-heading {
            font-size: 44px !important;
        }
        p {
            margin-block-start: 0 !important;
        }

        .list-item {
            font-size: 20px !important;
        }

        .wp-element-button {
            font-size: 20px !important;
        }

        .order-1 {
            order: 1;
        }
        .order-2 {
            order: 2;
        }
        .order-3 {
            order: 3;
        }
        .popular-tag {
            margin-top: -55px !important;
            margin-bottom: 55px !important;
        }
    }

    .section-1-blog-page {
        padding: 160px 20px !important;

        .wp-block-post-featured-image {
            margin-left: -20px;
            margin-right: -20px;
        }
        h2 {
            font-size: 48px !important;
            margin-left: 10px;
            margin-right: 10px;
            line-height: 1.2 !important;
            margin-top: 20px;
        }
        h2.wp-block-post-title {
            font-size: 36px !important;
        }
        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
            margin-top: 20px;
            margin-bottom: 10px;
            margin-left: 10px;
            margin-right: 10px;
        }
        .extra-large-p {
            font-size: 72px !important;
            line-height: 1;
        }
        .extra-large-heading {
            font-size: 44px !important;
        }
        p {
            margin-block-start: 0 !important;
        }

        .full-width-button {
            margin-left: 10px;
            margin-right: 10px;
            margin-bottom: 20px;

            a {
                font-size: 20px;
            }
        }
        
    }

    .section-1-contact-page {
        padding: 140px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        .normal-p {
            font-size: 22px !important;
            line-height: 1.5 !important;
            margin-top: 20px;
            margin-bottom: 10px;
            margin-left: 10px;
            margin-right: 10px;
        }
        .extra-large-p {
            font-size: 84px !important;
            line-height: 1;
        }
        .extra-large-heading {
            font-size: 46px !important;
            line-height: 1.2 !important;
            font-weight: 400;
        }
        p {
            margin-block-start: 0 !important;
        }
        
    }

    .section-2-contact-page {

        padding-left: 0 !important;
        padding-right: 0 !important;
        .wp-block-column {
            margin-bottom: 20px !important;

            .wp-block-group {
                gap: 10px;
            }
        }
        .normal-p {
            font-size: 22px !important;
            line-height: 1.5 !important;
        }
        
        .h3{
            font-size: 24px !important;
            line-height: 1.2 !important;
        }
        p {
            margin-block-start: 0 !important;
        }
        
    }

    .category-template-section-1 {
        padding: 140px 20px !important;

        p {
            font-size: 20px !important;
        }
    }

    .index-template-section-1 {
        padding: 140px 20px !important;

        p {
            font-size: 20px !important;
        }
    }

    .search-template-section-1 {
        padding: 140px 20px !important;

        p {
            font-size: 20px !important;
        }
    }

    .missing-page-template-section-1 {
        padding: 140px 20px !important;

        p {
            font-size: 20px !important;
        }
    }

    .footer-section {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h2 {
        font-size: 32px !important;
        }

        .normal-p {
            font-size: 20px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 68px !important;
        }

        .full-width-button {
            margin-top: 30px !important;
            justify-content: center !important;
        }

        .footer-nav {
            justify-content: center;
        }

    }

    .full-width-button {
        width: 100% !important;

        .wp-block-button {
            width: 80% !important;
            
            .wp-block-button__link {
                padding: 20px !important;
            }
        }
    }
}

.top-round-img img {
  border-top-left-radius: 50% 40%;
  border-top-right-radius: 50% 40%;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  overflow: hidden;
}

/* Scrolling text block */
.scrolling-text {
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.scrolling-text p {
  display: inline-block;
  padding-left: 100%;
  animation: scroll-left 70s linear infinite;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.full-width-separator {
    width: 100% !important;
}

@keyframes scroll-left {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

.services-section-homepage img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  height: auto;
  display: block;
}

.trust-section-b-homepage img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  height: auto;
  display: block;
}

.testimonials-section-homepage {
    .is-style-rounded {
        img {
            max-width: 180px;
        }
    }

    .testimonials-stars {
        max-width: 100px;
    }
    
}

.programs-section-homepage {
    img {
        position: relative;
        z-index: 2;
    }
}

.faq-section-homepage {
    .faq-response {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        padding: 0 1rem;
        transition: max-height 0.35s ease, opacity 0.35s ease, padding 0.25s ease;
    }

    .faq-response.open {
        opacity: 1;
        padding: 1rem;
        max-height: 500px;
    }

    .faq-question {
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
        padding: 1rem 0;
        transition: background-color 0.25s ease;
    }

    .faq-arrow {
        transition: transform 0.3s ease;
    }

    .faq-question.active .faq-arrow {
        transform: rotate(180deg);
    }

}

.section-1-about-page {
    .wp-block-image img {
            vertical-align: middle;
        }
}

.section-1-services-page {
        .is-style-rounded {
            img {
                max-width: 180px;
            }
        }

        .testimonials-stars {
            max-width: 100px;
        }
        
    }
    
.up-animation {
  opacity: 0;
  transform: translateY(40px);
  transition:
    opacity 0.4s ease-out,
    transform 0.4s ease-out;
  will-change: opacity, transform;
  transition-delay: 0.33s;
}

.up-animation.in-view {
  opacity: 1;
  transform: translateY(0);
}
