.wpb-block{
    &[id]{ scroll-margin-top: 3.2rem; }
    &:has(.wpb-block__inner) { padding-left: var(--block-offset); padding-right: var(--block-offset); margin-left: auto; margin-right: auto; background-color: transparent; padding-top: 0; padding-bottom: 0; max-width: 168rem;
        .wpb-block__inner{ border-radius: var(--block-br); background-color: var(--block-bg); padding-top: var(--pt); padding-bottom: var(--pb); }
    }
    &:has(.container__inner) { background-color: transparent;
        .container__inner{ border-radius: var(--block-br); background-color: var(--block-bg); overflow: hidden; }
    }
}


@media (max-width: 575.98px){
    .wpb-block:has(.container__inner):last-child{ padding-bottom: 0; }
}

/*** ---------- Block: Media ---------- ***/
.wpb-block--media .wpb-text { margin-bottom: 2rem; }

/*** ---------- Block: FAQ ---------- ***/
.wpb-block--faq { --gc: 1; }
.wpb-block--faq .container { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); column-gap: 2rem; row-gap: 2rem; }

@media (min-width: 992px) {
    .wpb-block--faq-primary, .wpb-block--faq-secondary { --gc: 2; align-items: start; }
    .wpb-block--faq-primary .container, .wpb-block--faq-secondary .container { column-gap: 3.2rem; }
    .wpb-block--faq-primary .container .wpb-accordion { order: -1; }
}

@media (min-width: 1200px) {
    .wpb-block--faq-primary .container, .wpb-block--faq-secondary .container { column-gap: 6.4rem; }
}

/*** ---------- Block: Blurb ---------- ***/
.wpb-block--blurb{  
    .wpb-section__header .container{ --wpb-width: 76rem; 
        .wpb-text{ text-align: center; }
    }
    .wpb-section__body .wpb-card{ height: 100%; }
}

/*** ---------- Block: Carousel ---------- ***/
.wpb-block--carousel{
    .wpb-section__header{ margin-bottom: clamp(2.4rem, 2.6vw, 3.2rem);
        .wpb-text { text-align: center; }
        .container{ display: flex; justify-content: space-between; align-items: end; gap: 2.4rem; flex-wrap: wrap; max-width: 56rem; }
        .swiper-pagination{ position: relative;
            .swiper-pagination-bullet{ --dot-size: .4rem; --swiper-pagination-color: var(--clr-primary); --swiper-pagination-bullet-inactive-color: rgb(var(--clr-dark-rgb), .4); --swiper-pagination-bullet-horizontal-gap: .8rem; --swiper-pagination-bullet-height: var(--dot-size); --swiper-pagination-bullet-width: var(--dot-size); transition: background var(--ts-duration) var(--ts-function);
                &.swiper-pagination-bullet-active{ --dot-size: .6rem; }
                &:first-child{ margin-left: 0; }
                &:last-child{ margin-right: 0; } 

                .wpb-bg-clr--dark &{ --swiper-pagination-bullet-inactive-color: rgb(255, 255, 255, .4); }
            }
        }
    }
}

/*** ---------- Block: Header ---------- ***/
.wpb-header.wpb-header--search form { position: relative; }
.wpb-header.wpb-header--search form [type="submit"] { display: inline-flex; cursor: pointer; user-select: none; padding: 0.25rem 1rem; border: none; background: none; position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.wpb-header.wpb-header--search form [type="submit"] img { width: 1.5rem; }

.wpb-header .wpb-header__toolbar { display: flex; align-items: center; gap: 1.6rem; padding-bottom: 2.8rem; }
.wpb-header .wpb-header__toolbar .btn { white-space: nowrap; }
.wpb-header .wpb-header__toolbar .wpb-breadcrumbs { margin: 0; --excerpt-line-clamp: 1; display: -webkit-box; -webkit-line-clamp: var(--excerpt-line-clamp); -webkit-box-orient: vertical; overflow: hidden; }
.wpb-header .wpb-header__toolbar .wpb-breadcrumbs > span > span:not(.breadcrumb_last) { opacity: .65; }

/*** ---------- Block: Text media tabs ---------- ***/
.wpb-block--media-tabs .container > .wpb-text { margin-bottom: 2rem; }
.wpb-block--media-tabs .inner { gap: 3.2rem; align-items: center; }
.wpb-block--media-tabs .tab__images { display: grid; overflow: hidden; } 
.wpb-block--media-tabs .tab__images > figure { grid-row: 1/-1; grid-column: 1/-1; opacity: 0; transition: opacity var(--ts-15) ease; transition-delay: var(--ts-35); }
.wpb-block--media-tabs .tab__images figure.active { opacity: 1; transform: scale(1); }
.wpb-block--media-tabs .tab__images figure img { height: 100%; width: 100%; object-fit: contain; }
.wpb-block--media-tabs .tab__content { display: grid; position: relative; gap: 2rem; }
.wpb-block--media-tabs .tab__item { display: grid; align-items: center; }
.wpb-block--media-tabs .tab__item.has-icon { grid-template-columns: 6.4rem 1fr; -ms-grid-columns: 6.4rem 1fr; gap: 1.6rem; }
.wpb-block--media-tabs .tab__item .icon { background-color: var(--wpb-primary); border-radius: 50%; width: 6.4rem; height: 6.4rem; padding: 1.4rem; transition: box-shadow var(--ts-15) ease; }
.wpb-block--media-tabs .tab__item .icon img { width: 100%; height: 100%; object-fit: contain; }

@media (min-width: 992px) {
    .wpb-block--media-tabs .inner { gap: 8.2rem; }
}

/*** ---------- Block: Tabs ---------- ***/
.wpb-block--tabs .wpb-text { margin-bottom: 2rem; }

/*** ---------- Block: Featured ---------- ***/
.wpb-block--featured .wpb-section__body { --gc: 1; }
.wpb-block--featured .wpb-section__body .container { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: 2rem; }
.wpb-block--featured .wpb-section__body li { list-style: none; }

@media (min-width: 768px) {
    .wpb-block--featured .wpb-section__body { --gc: 2; }
}

@media (min-width: 992px) {
    .wpb-block--featured .wpb-section__body { --gc: 3; }
}

@media (min-width: 1200px) {
    .wpb-block--featured .wpb-section__body { --gc: 4; }
}

/*** ---------- Block: Tekst & media ---------- ***/
.wpb-block--text-media {

    /* Block variant */
    &.wpb-block--text-media--card .container__inner{ --p: 3.2rem;
        .wpb-text{ padding: var(--p); }
        .wpb-image img{ border-radius: 0; }
        .row{ margin-inline: 0; row-gap: 0; }
        .row > .col{ padding-inline: 0; }
    }
}

@media (max-width: 575.98px){
    .wpb-block--text-media{

        /* Block variant */
        &.wpb-block--text-media--card{
            .container{ padding-left: 0; padding-right: 0; }
            .container__inner .wpb-text{ padding: var(--p) 1.8rem; }
        }
    }
}
@media (min-width: 992px){
    .wpb-block--text-media {

        /* Block variant */
        &.wpb-block--text-media--card .container__inner{ --p: 4.8rem;
            .wpb-image{ width: 100%; height: 100%; }
            .wpb-image img{ width: 100%; height: 100%; object-fit: cover; }
        }
    }
}
@media (min-width: 1200px){
    .wpb-block--text-media {
        &.wpb-block--text-media--card .container__inner{ --p: 7.2rem; }
    }
}
@media (min-width: 1400px){
    .wpb-block--text-media {
        &.wpb-block--text-media--card .container__inner{ --p: 9rem; }
    }
}

/*** ---------- Block: CTA ---------- ***/
.wpb-block--cta {

    .container__inner{ --p: 3.2rem; overflow: visible !important;
        .wpb-text{ padding: var(--p); }
        .wpb-image img{ border-radius: 0; max-width: 30rem; margin-left: auto; margin-right: auto; }
        .row{ margin-inline: 0; row-gap: 0; }
        .row > .col{ padding-inline: 0; }
    }
}

@media (max-width: 575.98px){
    .wpb-block--cta{
        .container{ padding-left: 0; padding-right: 0; }
        .container__inner .wpb-text{ padding: var(--p) 1.8rem; }
    }
}
@media (min-width: 768px){
    .wpb-block--cta {

        .container__inner{ --p: 4.8rem;
            .wpb-image{ width: 100%; height: 100%; }
            .wpb-image img{ width: 100%; height: calc(100% + 4rem); margin-top: -4rem; max-width: 40rem; padding-right: var(--p); object-fit: contain; object-position: bottom; }
        }
    }
}
@media (min-width: 1200px){
    .wpb-block--cta .container__inner{ --p: 7.2rem; 
        .wpb-image img{ padding-right: 0px; }
    }
}
@media (min-width: 1400px){
    .wpb-block--cta .container__inner{ --p: 9rem; }
}

/*** ---------- Block: Text Shortcode ---------- ***/
.wpb-block--text-gravityform .container { column-gap: 2rem; row-gap: 2rem; }

@media (min-width: 992px) {
    .wpb-block--text-gravityform .container { column-gap: 3.2rem; }
    .wpb-block--text-gravityform-primary .wpb-card { order: -1; }
}

@media (min-width: 1200px) {
    .wpb-block--text-gravityform .container { column-gap: 6.4rem; }
}

@media (min-width: 1200px) {
    .wpb-block--text-gravityform .container { column-gap: 9.8rem; }
}

/*** ---------- Block: Tekst & Video ---------- ***/
.wpb-block--text-video .container { column-gap: 2rem; row-gap: 2rem; }
.wpb-block--text-video .wpb-ratio{ border: 1px solid var(--clr-border); border-radius: clamp(.8rem, 1.2vw, 1.6rem); overflow: hidden; position: relative; }
.wpb-block--text-video .wpb-ratio .video-play { border: none; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 5; cursor: pointer; transition: opacity var(--ts-35) ease; background: transparent; padding: 0; }
.wpb-block--text-video .wpb-ratio .video-play img,
.wpb-block--text-video .wpb-ratio .video-play video { object-fit: cover; width: 100%; height: 100%; display: block; }
.wpb-block--text-video .wpb-ratio .video-play .play-icon { --size: clamp(6rem, 7vw, 8rem); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; z-index: 2; background-color: var(--clr-primary); border-radius: 50%; width: var(--size); height: var(--size); outline: 0px solid transparent; transition: outline-color var(--ts-35) ease-in-out, outline-width var(--ts-35) ease-in-out; pointer-events: none; }
.wpb-block--text-video .wpb-ratio .video-play .play-icon i { font-size: 2.4rem; color: rgb(255,255,255); }
.wpb-block--text-video .wpb-ratio:hover .video-play .play-icon { outline-color: rgb(var(--clr-primary-rgb), .3); outline-width: calc(var(--size) / 6); }
.wpb-block--text-video .wpb-ratio video[controls] { width: 100%; height: 100%; object-fit: cover; }

@media (min-width: 992px) {
    .wpb-block--text-video .container { column-gap: 3.2rem; }
    .wpb-block--text-video.wpb-block--text-video-primary .wpb-ratio { order: -1; }
}

@media (min-width: 1200px) {
    .wpb-block--text-video .container { column-gap: 6.4rem; }
}

@media (min-width: 1400px) {
    .wpb-block--text-video .container { column-gap: 9.8rem; }
}

/*** ---------- Block: Media & usps ---------- ***/
.wpb-block--media-usps{ --gap: 2.4rem;
    .wpb-section__body .container{ display: grid; gap: var(--gap); 
        .wpb-media{ display: flex; justify-content: center;
            :is(img, video){ max-width: 28rem; object-fit: contain; }
        }
        .wpb-section__usps{ display: flex; flex-direction: column; gap: var(--gap); }
    }
    &.large .wpb-media { --media-width: auto; 
        :is(img, video) { max-width: 100% !important; }
    }
}

@media (min-width: 768px) {
    .wpb-block--media-usps{
        :not(.large) .wpb-section__body .container{ grid-template-columns: repeat(2, minmax(0, 1fr));
            .wpb-media{ grid-row: span 2; }
        }
        .wpb-section__footer .btn-group{ justify-content: center; }
    }
}
@media (min-width: 992px) {
    .wpb-block--media-usps{ --media-width: clamp(25rem, 30vw, 35rem); --usp-width: 26rem;
        .wpb-section__body .container{ display: flex; justify-content: center; align-items: center;
            .wpb-media{ width: var(--media-width); min-width: var(--media-width); 
                :is(img, video){ max-width: var(--media-width); }
            }
            .wpb-section__usps{ min-width: var(--usp-width); width: var(--usp-width); }
            .wpb-section__usps:first-of-type{ order: -1; text-align: end;
                .wpb-card .card-label{ flex-direction: row-reverse; }
            }
        }
        &.large .container { justify-content: space-between; 
            .wpb-section__usps:first-of-type{ order: -1; text-align: end;
                .card-text { text-align: start; }
                .wpb-card .card-label{ flex-direction: row; }
            }
        }
    }
}
@media (min-width: 1200px) {
    .wpb-block--media-usps{ --gap: 4.8rem; --usp-width: 32rem; }
}


/*** ---------- Block: Steps ---------- ***/
.wpb-block--steps{
    .wpb-section__header .wpb-text{ text-align: center; }
    .wpb-section__footer .btn-group{ justify-content: center; }
}

/*** ---------- Block: Reviews ---------- ***/
.wpb-block--reviews{
    .wpb-section__header .wpb-text{ text-align: center; }
    .wpb-section__footer .btn-group{ justify-content: center; }
}

/*** ---------- Block: Logo's slider ---------- ***/
.wpb-block--logos-slider{
    .wpb-section__header .wpb-text{ text-align: center; }
}

.wpb-logo-marquee { --logo-width: 14rem; --gap: 2.4rem; --max-height: 4rem; display: flex; overflow: visible; width: 100%; user-select: none; 
    .wpb-block:has(&) { overflow: hidden; }
    .wpb-logo-marquee__wrapper { display: flex; flex-shrink: 0; width: max-content; 
        &.is-animating { animation: marquee-scroll var(--marquee-duration, 70s) linear infinite; }
    }
    .wpb-logo { flex: 0 0 auto; width: calc(var(--logo-width) + var(--gap)); display: flex; justify-content: center; align-items: center; box-sizing: border-box; padding: 0 var(--gap); 
        img { width: auto; max-width: 100%; height: auto; object-fit: contain; max-height: var(--max-height); }
    }
}

@media (min-width: 576px)  { .wpb-logo-marquee { --logo-width: 14rem; --gap: 3.2rem; --max-height: 5rem; } }
@media (min-width: 768px)  { .wpb-logo-marquee { --logo-width: 14rem; --gap: 3.2rem; --max-height: 6rem; } }
@media (min-width: 992px)  { .wpb-logo-marquee { --logo-width: 14rem; --gap: 3.2rem; --max-height: 8rem; } }
@media (min-width: 1200px) { .wpb-logo-marquee { --logo-width: 18rem; --gap: 4.8rem; --max-height: 10rem; } }
@media (min-width: 1400px) { .wpb-logo-marquee { --logo-width: 18rem; --gap: 6.4rem; --max-height: 10rem; } }

@keyframes marquee-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } }



/*** ---------- Block: Packages ---------- ***/
.wpb-block--packages{ --block-bg: linear-gradient(to bottom, var(--clr-light), transparent 40rem); background-color: transparent; background: var(--block-bg);
    .wpb-section__header{ margin-bottom: clamp(2rem, 2.8vw, 3.6rem);
        .wpb-text{ text-align: center; 
            p{ text-wrap: balance; }
        }
    }
    .wpb-section__switch{ margin-bottom: clamp(2rem, 2.8vw, 3.2rem);
        .container{ display: flex; justify-content: center; }
    }
    .wpb-section__body{ --gc: 1; --gap: 2rem;
        .container{ display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: var(--gap); }
    }
}

.wpb-switch { 
    --h: 4.4rem; --br: .8rem; --bg: transparent; --border: 1px solid var(--clr-border); --indicator-bg: var(--clr-dark); --indicator-clr: #fff; --clr: var(--clr-text); --switch-p: .5rem; --btn-w: 0px; --btn-offset: 0px;
    position: relative; display: inline-flex; align-items: center; height: var(--h); background-color: var(--bg); border-radius: var(--br); padding: var(--switch-p); gap: 0; border: var(--border);
    
    &::before { content: ''; position: absolute; top: var(--switch-p); left: var(--switch-p); width: var(--btn-w, 50%); height: calc(100% - var(--switch-p) * 2); background-color: var(--indicator-bg); border-radius: calc(var(--br) / 2); transform: translateX(var(--btn-offset)); transition: transform var(--ts-25) ease, width var(--ts-25) ease; }

    .wpb-switch__btn { position: relative; z-index: 1; flex: 1; height: 100%; padding: 0 2rem; background: transparent; border: none; border-radius: calc(var(--br) / 2); font-size: 1.4rem; font-weight: 600; color: var(--clr); cursor: pointer; transition: color var(--ts-30, 300ms) ease; white-space: nowrap;
        &.wpb-switch__btn--active { color: var(--indicator-clr); }
    }
}

@media (min-width: 768px){
    .wpb-block--packages .wpb-section__body{ --gc: 2; }
}
@media (min-width: 1400px){
    .wpb-block--packages .wpb-section__body{ --gc: 4; --gap: 2rem; }
}