/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

:root {
    /* Text size scale */
    /* https://www.fluid-type-scale.com/calculate?minFontSize=20&minWidth=320&minRatio=1.25&maxFontSize=22&maxWidth=1280&maxRatio=1.333&steps=6%2C5%2C4%2C3%2C2%2C1%2Ctitle&baseStep=4&prefix=h&decimals=2&useRems=on&remValue=16&previewFont=Inter&previewText=Almost+before+we+knew+it%2C+we+had+left+the+ground&previewWidth=900 */
    --text-xs: clamp(0.79rem, -0.01vw + 0.79rem, 0.78rem);
    --text-s: clamp(0.89rem, 0.08vw + 0.87rem, 0.94rem);
    --text-m: clamp(1rem, 0.21vw + 0.96rem, 1.13rem);
    --text-l: clamp(1.13rem, 0.37vw + 1.05rem, 1.35rem);
    --text-xl: clamp(1.27rem, 0.59vw + 1.15rem, 1.62rem);

    /* Heading size scale */
    /* https://www.fluid-type-scale.com/calculate?minFontSize=16&minWidth=320&minRatio=1.125&maxFontSize=18&maxWidth=1280&maxRatio=1.2&steps=xs%2Cs%2Cm%2Cl%2Cxl&baseStep=m&prefix=text&decimals=2&useRems=on&remValue=16&previewFont=Inter&previewText=Almost+before+we+knew+it%2C+we+had+left+the+ground&previewWidth=900 */
    --h6: clamp(0.8rem, -0.04vw + 0.81rem, 0.77rem);
    --h5: clamp(1rem, 0.05vw + 0.99rem, 1.03rem);
    --h4: clamp(1.25rem, 0.21vw + 1.21rem, 1.38rem);
    --h3: clamp(1.56rem, 0.45vw + 1.47rem, 1.83rem);
    --h2: clamp(1.95rem, 0.82vw + 1.79rem, 2.44rem);
    --h1: clamp(2.44rem, 1.36vw + 2.17rem, 3.26rem);
    --h-title: clamp(3.05rem, 2.15vw + 2.62rem, 4.34rem);
}

.my-0 {
    margin-top: 0!important;
    margin-bottom: 0!important;
}
.my-1 {
    margin-top: 0.25rem!important;
    margin-bottom: 0.25rem!important;
}
.my-2 {
    margin-top: 0.5rem!important;
    margin-bottom: 0.5rem!important;
}
.my-3 {
    margin-top: 1rem!important;
    margin-bottom: 1rem!important;
}
.my-4 {
    margin-top: 1.5rem!important;
    margin-bottom: 1.5rem!important;
}
.my-5 {
    margin-top: 3rem!important;
    margin-bottom: 3rem!important;
}
.mt-0 {
    margin-top: 0!important;
}
.mt-1 {
    margin-top: 0.25rem!important;
}
.mt-2 {
    margin-top: 0.5rem!important;
}
.mt-3 {
    margin-top: 1rem!important;
}
.mt-4 {
    margin-top: 1.5rem!important;
}
.mt-5 {
    margin-top: 3rem!important;
}
.mb-0 {
    margin-bottom: 0!important;
}
.mb-1 {
    margin-bottom: 0.25rem!important;
}
.mb-2 {
    margin-bottom: 0.5rem!important;
}
.mb-3 {
    margin-bottom: 1rem!important;
}
.mb-4 {
    margin-bottom: 1.5rem!important;
}
.mb-5 {
    margin-bottom: 3rem!important;
}
.px-0 {
    padding-right: 0!important;
    padding-left: 0!important;
}
.px-1 {
    padding-right: 0.25rem!important;
    padding-left: 0.25rem!important;
}
.px-2 {
    padding-right: 0.5rem!important;
    padding-left: 0.5rem!important;
}
.px-3 {
    padding-right: 1rem!important;
    padding-left: 1rem!important;
}
.px-4 {
    padding-right: 1.5rem!important;
    padding-left: 1.5rem!important;
}
.px-5 {
    padding-right: 3rem!important;
    padding-left: 3rem!important;
}
.pt-0 {
    padding-top: 0!important;
}
.pt-1 {
    padding-top: 0.25rem!important;
}
.pt-2 {
    padding-top: 0.5rem!important;
}
.pt-3 {
    padding-top: 1rem!important;
}
.pt-4 {
    padding-top: 1.5rem!important;
}
.pt-5 {
    padding-top: 3rem!important;
}
.pb-0 {
    padding-bottom: 0!important;
}
.pb-1 {
    padding-bottom: 0.25rem!important;
}
.pb-2 {
    padding-bottom: 0.5rem!important;
}
.pb-3 {
    padding-bottom: 1rem!important;
}
.pb-4 {
    padding-bottom: 1.5rem!important;
}
.pb-5 {
    padding-bottom: 3rem!important;
}
.d-flex {
    display: flex;
}
.line-height-0 {
    line-height: 0;
}
/* Site Wrapper */
.site-wrapper {
    width: 100%;
    max-width: 1920px;
    margin-inline: auto;
}

.ar-16-9 {
    aspect-ratio: 16/9;
}
.ar-9-16 {
    aspect-ratio: 9/16;
}
.ar-4-3 {
    aspect-ratio: 4/3;
}
.ar-3-4 {
    aspect-ratio: 3/4;
}
.ar-1-1 {
    aspect-ratio: 1/1;
}

/* Visually Hidden */
.visually-hidden:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* No Underline */
.no-ul, .no-ul a {
    text-decoration: none;
}

/* Remove bottom margin on last paragraph */
.gb-container p:last-child:last-of-type {
    margin-bottom: 0px;
}
.block-editor-block-list__layout .gb-container p:nth-last-child(2) {
    margin-bottom: 0px;
}

.lazy-bg-img, .lazy-bg-img.elementor-widget-spacer > .elementor-widget-container,
.lazy-bg-img.elementor-inner-column > .elementor-widget-wrap {
    background-image: none !important;
}

html {
    scroll-behavior: smooth;
}
div.fluentform .ff-el-group {
    margin-bottom: 10px;
}
div.ff-default .ff-el-form-control {
    padding: 19px;
    border-radius: 0;
}
div.ff-default .ff-btn-sm {
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
}
div.ff-default .ff_btn_style:focus, div.ff-default .ff_btn_style:hover {
    opacity: 1;
}
.ff-default form.frm-fluent-form .wpf_has_custom_css.ff-btn-submit:hover {
    min-width: auto;
    color: #101316;
    border-color: #101316;
}
.wp-block-navigation .wp-block-page-list, .wp-block-navigation__container, .wp-block-navigation__responsive-close, .wp-block-navigation__responsive-container, .wp-block-navigation__responsive-container-content, .wp-block-navigation__responsive-dialog {
    gap: 20px;
}
.heateor_sss_sharing_container {
    display: flex;
    align-items: center;
}
.post-meta-wrap .heateor_sss_sharing_title {
    margin-right: 20px;
    font-weight: 400 !important;
}
.post-meta-wrap .heateor_sss_sharing_container a + a {
    margin-left: 16px !important;
}
div.gb-accordion__item-open>.gb-accordion__content {
    max-height: 9999px;
}

.carousel, .carousel * {
    box-sizing: border-box;
}
.carousel-cell {
    /*width: calc(33.333% - 60px * 2/3);*/
    margin-right: 56px;
}
.flickity-slider .carousel-cell {
    min-height: 100%;
}
.testimony_carousel .carousel-cell {
    margin-right: 10px;
}
ol.flickity-page-dots {
    position: relative;
    width: 100%;
    bottom: 0;
    padding: 0;
    margin: 20px 0;
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    row-gap: 20px;
}
/* Navigation */
.flickity-button{
    height: 2.5rem;
    width: 2.5rem;
    background: none;
    color: #000;
}

.flickity-button:hover{
    background: none;
    color: #E8E8E8;
}

.flickity-prev-next-button.previous{
    left: 0;
    transform: translateX(-3.5rem) translateY(-50%);
}

.flickity-prev-next-button.next{
    right: 0;
    transform: translateX(3.5rem) translateY(-50%);
}

.fullwidth-testimonial-slider {
    background: var(--dark);
}
.fullwidth-testimonial-slider {
    width: 100vw;
    position: relative;
    overflow: hidden;
}
.testimonial-slides-container,
.testimonial-slide {
    height: 100%;
}
.testimonial-slide {
    display: none;
    width: 100%;
    max-height: 100vh;
    transition: all 0.25s ease-in-out;
}
/*.fullwidth-testimonial-slider .testimonial-slides-container .testimonial-slide:first-child {*/
/*    display: flex;*/
/*}*/
.testimonial-slide.active {
    display: flex;
}
.testimonial-image {
    width: 50%;
    height: 100%;
    max-height: 100vh;
    overflow: hidden;
}
.testimonial-image img {
    aspect-ratio: 2 / 3;
    display: block;
    filter: grayscale(100%);
    height: auto;
    max-width: 100%;
    object-fit: cover;
    width: auto;
}
.testimonial-content {
    width: 50%;
    color: #ffffff;
    display: flex;
    align-items: center;
    padding: 80px 88px;
    box-sizing: border-box;
}
.testimonial-content-inner {
    width: 100%;
}
.testimonial-stars {
    margin-bottom: 20px;
    display: flex;
    gap: 5px;
}
.testimonial-stars svg {
    fill: #df732d;
}
.testimonial-quote {
    margin-bottom: 20px;
}
.testimonial-author {
    font-weight: 600;
}
.testimonial-nav {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.testimonial-nav button {
    background: transparent;
    border: none;
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    padding: 10px;
    line-height: 1;
}
.slide-dots {
    display: flex;
    margin: 0;
}
.slide-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #555;
    margin: 0 10px;
    cursor: pointer;
}
.slide-dot.active, .flickity-page-dots .dot.is-selected {
    background-color: #DF732D;
}
.fullwidth-testimonial-slider .slide-dot.active {
    background-color: #df732d;
}
ol.flickity-page-dots .dot {
    background-color: #D9D9D9;
    opacity: 1;
}

.partner-button {
    background-color: #D98D41;
    color: #fff;
    padding: 12px 25px;
    text-decoration: none;
    border-radius: 5px;
    margin-top: 30px;
    display: inline-block;
}

.faq-accordion .faq-item {
    border-bottom: 1px solid;
    padding: 20px;
}
.faq-accordion .faq-with-number-item .faq-item {
    padding: 30px;
}
.faq-accordion .faq-item:first-child, .faq-accordion .faq-with-number-item:first-child .faq-item {
    border-top: 1px solid;
}
.faq-accordion .faq-question {
    cursor: pointer;
    font-weight: bold;
    position: relative;
    display: flex;
    justify-content: space-between;
    column-gap: 20px;
}
.faq-accordion .faq-question .toggle-icon {
    display: flex;
    align-items: center;
    transition: transform 0.3s ease;
}
.faq-accordion .faq-item.active .toggle-icon {
    transform: rotate(180deg);
}
.faq-accordion .faq-answer {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease, padding 0.3s ease;
}
.faq-accordion .faq-item.active .faq-answer {
    visibility: visible;
    max-height: unset;
}
.faq-accordion .faq-answer > div {
    margin-top: 20px;
}
.faq-accordion .faq-answer p:last-child {
    margin-bottom: 0;
}
.faq-with-number-item {
    gap: 20px;
    align-items: center;
}
.faq-col-number {
    padding: 20px;
    min-width: 180px;
}
.faq-col-number h4 {
    font-size: 60px;
}

.p-testimonial-slider {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 10px;
}
.p-testimonial-slider::-webkit-scrollbar {
    display: none;
}
.p-testimonial-slide {
    flex: 0 0 33.333%;
    width: calc(33.333% - 10px);
    scroll-snap-align: center;
    color: #101316;
    background-color: #fff;
    padding: 64px 50px;
    /*height: 100%;*/
    /*display: flex;*/
    /*flex-direction: column;*/
}
.video-testimonial {
    background-size: cover;
    background-position: center;
    color: #fff;
    justify-content: flex-end; /* Aligns content to the bottom */
    position: relative;
    min-height: 450px; /* Ensure a minimum height */
}
.video-testimonial .v-testimonial-image {
    filter: grayscale(100%);
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    position: absolute;
    right: 0px;
    left: 0px;
    top: 0px;
    bottom: 0px;
    width: 100%;
}
.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0.1));
    padding: 64px 50px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.video-testimonial .author,
.video-testimonial .program-date {
    margin: 0;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.5);
}

.play-button {
    margin-top: 10px;
    align-self: start;
    column-gap: 8px;
}

.play-button:hover {
    background-color: #f0f0f0;
}
.text-testimonial .star-rating .star {
    color: #f9a825; /* Orange star color */
    font-size: 24px;
}
.text-testimonial .title {
}
.text-testimonial .content {
    flex-grow: 1; /* Pushes author to the bottom */
}

.p-testimonial-slide .author,
.p-testimonial-slide .program-date {
    margin: 0;
    font-weight: 600;
}
.main-navigation a.logo-wrap {
    display: flex;
}
.home .main-navigation:not(.is_stuck) {
    background-color: transparent;
}

.block-editor-block-list__layout .carousel {
    display: flex;
    overflow-x: auto;
    flex-wrap: nowrap;
}
.block-editor-block-list__layout .carousel > div {
    flex: 0 0 auto;
}
/* Styling for the full-screen overlay */
.popup-overlay {
    /* Hidden by default */
    display: none;

    position: fixed;
    z-index: 1000; /* Ensure it's above other content */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.9); /* Black background with opacity */
}
.popup-inner {
    display: flex;
    height: 100%;
    max-height: 100vh;
    align-items: center;
    margin: 10px auto;
    width: 90%;
    max-width: 800px;
}
/* Styling for the content box inside the popup */
.popup-content {
    width: 100%;
    padding: 20px 0;
    position: relative;
    /* Optional: If you want a background other than the overlay color */
    /* background-color: #fefefe; */
}
/* Responsive iframe container for video */
.popup-content iframe {
    width: 100%;
    height: 450px; /* Adjust height as needed */
    display: block;
}

/* Close button styling */
.close-button {
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    position: absolute;
    top: 10px;
    right: 8px;
    cursor: pointer;
    line-height: 1;
}

.close-button:hover,
.close-button:focus {
    color: #ccc;
    text-decoration: none;
}

@media (min-width: 800px) {
    body.home .header-wrap nav:not(.is_stuck) .gb-element-bea32707 {
        display: none !important;
    }
}

@media (max-width: 1023px) {
    .testimonial-content {
        padding: 40px 32px;
    }
    .faq-accordion .faq-with-number-item .faq-item {
        padding: 20px;
    }
}
@media (max-width: 768px) {
    .main-navigation ul {
        display: flex !important;
    }
}
@media (max-width: 767px) {
    .carousel.gb-element-7b11e510 img {
        max-height: 32px;
    }
    .testimonial-slide {
        flex-direction: column;
        max-height: unset;
    }
    .testimonial-image, .testimonial-content {
        width: 100%;
    }
    .testimonial-image img {
        aspect-ratio: 5 / 6;
    }
    .testimonial-content {
        text-align: center;
    }
    .testimonial-stars, .testimonial-nav {
        justify-content: center;
    }
    .testimony_carousel.carousel {
        margin-right: -20px;
    }
    .faq-with-number-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }
    .faq-accordion .faq-with-number-item:first-child .faq-item {
        border-top: 0;
    }
    .p-testimonial-slide.carousel-cell {
        width: 70%;
        padding: 24px;
    }
    .home .header-button {
        display: none;
    }
}
