html {
  scroll-behavior: smooth;
}
.thin-heading {
    font-weight: 400;
}
.hero-services-link .icon-svg a {
    display: flex;
}
.wp-block-button__link:hover {
    background-color: rgb(209 172 158 / 90%);
}
@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: 63px !important;
            line-height: 0.6 !important;
        }

        .normal-p {
            font-size: 17px !important;
            line-height: 24px;
            padding-right: 0 !important;
        }

        .thin-heading {
            font-size: 44px !important;
        }

        .hero-buttons {
            flex-flow: row;
            align-items: center;
            margin-bottom: 20px;

            .wp-element-button {
                padding-left: 20px !important;
                padding-right: 20px !important;
            }

            a {
                font-size: 14px !important;

                span {
                    line-height: 14px !important;
                }
            }
        }
    }

    .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: 27px !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;
            margin-left: 20px;
            margin-right: 20px;
        }
        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: 27px !important;
        }
        .extra-large-p {
            font-size: 72px !important;
            line-height: 1;
        }
        .extra-large-heading {
            font-size: 36px !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: 27px !important;
            margin-top: 25px !important;
            margin-bottom: 10px !important;
        }
        .normal-p {
            font-size: 17px !important;
            line-height: 1.5 !important;
        }
        .extra-large-p {
            font-size: 60px !important;
            line-height: 1;
        }
        .extra-large-heading {
            font-size: 36px !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 {

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 27px !important;
        }

        .normal-p {
            font-size: 17px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 60px !important;
        }

        .full-width-button {
            justify-content: center !important;
        }

        .wp-block-group {
            padding-left: 20px !important;
            padding-right: 20px !important;
        }

    }

    .process-section-homepage {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 27px !important;
        }

        .normal-p {
            font-size: 17px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 60px !important;
        }

        .extra-large-p {
            font-size: 64px !important;
            line-height: 1;
        }

        .extra-large-heading {
            font-size: 37px !important;
        }

        .full-width-button {
            justify-content: center !important;
        }

        .wp-block-spacer {
            display: none;
        }

        .scrolling-text p {
            font-size: 37px !important;
        }

    }

    .programs-section-homepage {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 27px !important;
        }

        .normal-p {
            font-size: 17px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 60px !important;
        }

        .extra-large-p {
            font-size: 68px !important;
            line-height: 1;
        }

        .extra-large-heading {
            font-size: 36px !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-group {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        .wp-block-column {
                margin-bottom: 30px !important;
        }
        h3 {
                font-size: 27px !important;
        }
        .normal-p {
            font-size: 17px !important;
            line-height: 1.5 !important;
            margin-top: 20px !important;
            margin-bottom: 10px !important;
        }
        .extra-large-p {
            font-size: 68px !important;
            line-height: 1;
        }
        .extra-large-heading {
            font-size: 28px !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: 17px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 60px !important;
        }

        .extra-large-p {
            font-size: 60px !important;
            line-height: 0.7 !important;
        }

        .large-heading {
            font-size: 27px !important;
        }

        .extra-large-heading {
            font-size: 37px !important;
        }

        .program-group {
            padding-top: 120px !important;
        }

        .full-width-button {
            justify-content: center !important;
        }

        .wp-block-spacer {
            display: none;
        }

        .posts-row {
            margin-top: 40px !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: 27px !important;
        }

        .normal-p {
            font-size: 17px !important;
            line-height: 1.5 !important;
            margin-left: 10px !important;
            margin-right: 10px !important;
        }

        .large-p {
            font-size: 60px !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: 27px !important;
        }

        .normal-p {
            font-size: 17px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 60px !important;
        }

        .extra-large-p {
            font-size: 68px !important;
            line-height: 1;
        }

        .extra-large-heading {
            font-size: 37px !important;
        }

        .full-width-button {
            justify-content: center !important;
        }

        .wp-block-spacer {
            display: none;
        }

    }

    .section-1-about-page {
        padding: 140px 20px 34px 20px !important;

        .wp-block-column {
                margin-bottom: 10px !important;
        }
        h3 {
                font-size: 36px !important;
        }
        .extra-large-p {
            font-size: 70px !important;
            line-height: 0.6 !important;
            margin-bottom: 35px;
        }
        .large-p {
            font-size: 18px !important;
        }
        .extra-large-heading {
            font-size: 32px !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: 64px 10px !important;
        background-position: center;

        .wp-block-group {
            padding-left: 20px !important;
            padding-right: 20px !important;
        }
        .top-p {
        font-size: 18px !important;
        }

        .normal-p {
            font-size: 27px !important;
            line-height: 1.2 !important;
        }

        .large-p {
            font-size: 60px !important;
            line-height: 1;
            margin-block-start: 0 !important;
        }

    }

    .section-3-about-page {
        padding: 64px 20px !important;

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h3 {
        font-size: 27px !important;
        }

        .normal-p {
            font-size: 17px !important;
            line-height: 1.5 !important;
        }

        .large-p {
            font-size: 48px !important;
        }

        .extra-large-p {
            font-size: 68px !important;
            line-height: 1;
        }

        .extra-large-heading {
            font-size: 37px !important;
        }

        .full-width-button {
            justify-content: center !important;
        }

        .wp-block-spacer {
            display: none;
        }

        .scrolling-text p {
            font-size: 37px !important;
        }
    }

    .section-1-services-page {
        padding: 140px 20px 0 20px!important;

        .wp-block-columns {
            padding-left: 0px !important;
            padding-right: 0px !important;
        }

        .wp-block-column {
            margin-bottom: 30px !important;
        }
        h2 {
            font-size: 27px !important;
            margin-left: 10px;
            margin-right: 10px;
        }
        .normal-p {
            font-size: 17px !important;
            line-height: 1.5 !important;
            margin-top: 20px;
            margin-bottom: 10px;
            margin-left: 10px;
            margin-right: 10px;
        }
        .extra-large-p {
            font-size: 70px !important;
            line-height: 0.6 !important;
            margin-bottom: 35px;
        }
        .extra-large-heading {
            font-size: 37px !important;
        }
        p {
            margin-block-start: 0 !important;
        }

        .wp-block-spacer {
            height: 2px !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;
        }
        .down-arrow {
            img {
                max-width: 70% !important;
                opacity: 0.6 !important;
            }
            margin-top: 20px !important;
        }
        .wp-block-group.has-background {
            background-position: 54% 56% !important;
        }
        h2 {
            font-size: 30px !important;
            margin-left: 10px;
            margin-right: 10px;
        }
        .normal-p {
            font-size: 14px !important;
            line-height: 1.5 !important;
            margin-top: 20px;
            margin-bottom: 10px;
            margin-left: 10px;
            margin-right: 10px;
        }
        .extra-large-p {
            font-size: 60px !important;
            line-height: 1;
            margin-left: 10px !important;
        }
        .extra-extra-large-p {
            font-size: 60px !important;
        }
        .extra-large-heading {
            font-size: 37px !important;
        }
        p {
            margin-block-start: 0 !important;
        }

        .list-item {
            font-size: 14px !important;
        }

        .wp-element-button {
            font-size: 14px !important;
        }

        .popular-tag {
            margin-top: -55px !important;
            margin-bottom: 30px !important;
        }
    }

    .section-1-blog-page {
        padding: 140px 20px !important;

        .wp-block-post-featured-image {
            margin-left: -20px;
            margin-right: -20px;
        }
        h2 {
            font-size: 35px !important;
            margin-left: 10px;
            margin-right: 10px;
            line-height: 1.2 !important;
            margin-top: 20px;
        }
        h2.wp-block-post-title {
            font-size: 30px !important;
        }
        .normal-p {
            font-size: 17px !important;
            line-height: 1.5 !important;
            margin-top: 20px;
            margin-bottom: 10px;
            margin-left: 10px;
            margin-right: 10px;
        }
        .extra-large-p {
            font-size: 60px !important;
            line-height: 1;
        }
        .extra-large-heading {
            font-size: 37px !important;
        }
        p {
            margin-block-start: 0 !important;
        }

        .full-width-button {
            margin-left: 10px;
            margin-right: 10px;
            margin-bottom: 20px;

            a {
                font-size: 17px;
            }
        }

        .wp-block-spacer {
            height: 30px !important;
        }
        
    }

    .section-1-contact-page {
        padding: 140px 20px 20px 20px!important;

        .wp-block-group{
            padding-left: 0 !important;
            padding-right: 0 !important;
        }
        .wp-block-column {
            margin-bottom: 30px !important;
        }
        .normal-p {
            font-size: 17px !important;
            line-height: 1.5 !important;
            margin-top: 20px;
            margin-bottom: 10px;
            margin-left: 10px;
            margin-right: 10px;
        }
        .extra-large-p {
            font-size: 76px !important;
            line-height: 1;
        }
        .extra-large-heading {
            font-size: 37px !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;
        }

    }

    .single-post-template {
        padding-top: 130px !important;

        .single-post-details {
            padding-left: 0 !important;
            padding-right: 0 !important;
        }
    }

    .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;
}

/* Container you already have in Gutenberg */
.scrolling-text { 
    overflow:hidden; 
    position:relative; 
    white-space: nowrap;

    p {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}

/* The JS adds these wrappers */
.scrolling-text .scrolling-track{
  display:flex;
  align-items:center;
  gap: var(--scroll-gap, 1rem);
  will-change: transform;
}

/* CSS animation; JS sets --scroll-duration dynamically */
.scrolling-text.scrolling-left  .scrolling-track{
  animation: hc-scroll-left  var(--scroll-duration, 20s) linear infinite;
}
.scrolling-text.scrolling-right .scrolling-track{
  animation: hc-scroll-right var(--scroll-duration, 20s) linear infinite;
}

/* Pause on hover if data-pause-on-hover="true" */
.scrolling-text[data-pause-on-hover="true"] .scrolling-track{
  animation-play-state: running;
}
.scrolling-text[data-pause-on-hover="true"]:hover .scrolling-track{
  animation-play-state: paused;
}

/* Reduced motion: no movement */
@media (prefers-reduced-motion: reduce){
  .scrolling-text .scrolling-track{ animation: none !important; }
}

@keyframes hc-scroll-left  { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes hc-scroll-right { from{transform:translateX(-50%)} to{transform:translateX(0)} }


.full-width-separator {
    width: 100% !important;
}

.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: 94px;
    }

    .wp-block-image {
        margin-block-start: 0;
        margin-bottom: 10px !important;
    }
    
}

.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: 94px;
    }
    
}

.section-2-programs-page {
    .down-arrow img {
        opacity: 0.6 !important;
        max-width: 80% !important;
    }
    .wp-block-group.has-background {
        background-color: rgba(250, 243, 239, 0.5) !important;
        background-blend-mode: screen !important;
    }
}
    
.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);
}

.faq-arrow img {
    max-width: initial !important;
}

.inline-arrow {
    font-size:30px;
    margin-left: 15px;
    position:relative;
    bottom:-2px;
}

@media (max-width: 782px) {
    .inline-arrow {
        font-size:30px;
        margin-left: 15px;
        position:relative;
        bottom:-3px;
    }
}