/*----------------------------------------------------------------
                    BASIC GRID LAYOUT
------------------------------------------------------------------*/
:is(.dp-section-grid, .dp-section-grid-breadcrumbs) {
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1rem, var(--viewport)) 
        minmax(var(--space-section-inline), 1fr);
}
.dp-section-grid {
    padding-block: var(--space-section-block);
    gap: 2.5em 0;
}
:is(.dp-section-grid, .dp-section-grid-breadcrumbs) > * {
    grid-column: 2 / span 1;
}
:is(.dp-section-grid--constrained, .dp-section-grid--multi) {
    justify-items: center;
}
.dp-section-grid--constrained > * {
    width: 100%;
    max-width: 767px;
}
.dp-section-grid--multi > * {
    width: 100%;
    max-width: 820px;
}
.dp-section-grid--error {
    grid-template-rows: 1fr 2fr 3fr 10fr;
}
.dp-section-grid-inner {
    display: grid;
    grid-template-columns: minmax(1rem, 1fr); 
    gap: 2.5em 0; 
}
.dp-subheading {
    margin-top: .5em;
}
.dp-section-grid-cta {
    justify-self: center;
    margin-top: var(--space-m);
}
.dp-heading-accent {
    margin-bottom: 0;
}
.dp-heading-main {
    margin-top: 0;
}
.dp-sub-heading {
    margin-top: var(--space-xs);
}
.dp-breadcrumbs-balance {
    padding-top: calc(.5*var(--space-section-block));
    margin-bottom: calc(-.5*var(--space-section-block));
}
/*----------------------------------------------------------------
                    MODULE HEADLINE TEXT
------------------------------------------------------------------*/
.dp-headline-text__accent {
    color: var(--clr-action);
}
/*----------------------------------------------------------------
                    MODULE MEDIA SECTION
------------------------------------------------------------------*/
.dp-media-section {
    --_line-width: 4em;
    --_media-margin-left: 7em;
    --_media-margin-top: var(--space-l);
    display: grid;
    grid-template-columns: 
        [block-start] 
        minmax(var(--space-section-inline), 1fr) 
        [content-start stylish-line-start bg-start] 
        minmax( 0px, var(--_line-width)) 
        [stylish-line-end headline-start]
        minmax( 0px, var(--_media-margin-left)) 
        [media-start] 
        minmax(0px, calc( var(--viewport) - var(--_line-width) - var(--_media-margin-left))) 
        [content-end headline-end media-end] 
        minmax(var(--space-section-inline), 1fr) 
        [block-end bg-end];
    grid-template-rows: 
        [block-start bg-start] 
        minmax(0, var(--space-section-block) ) 
        [stylish-line-start headline-start] 
        minmax(0, auto) 
        [stylish-line-end headline-end media-start] 
        minmax(1rem, auto) 
        [bg-end] 
        minmax(1rem, 14rem) 
        [block-end media-end];
    padding-block: var(--space-section-block);
    position: relative;
    isolation: isolate;
}
.dp-media-section__headline {
    grid-area: headline;
}
.dp-media-section__headline::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--clr-primary);
    grid-area: bg;
    z-index: -1;
}
.dp-media-section__headline::after {
    content: "";
    position: absolute;
    top: 1.2rem;
    left: 0;
    width: var(--_line-width);
    height: 0.2rem;
    background-color: var(--clr-secondary);
    grid-area: stylish-line;
    transform: translateX(-50%);
}
.dp-media-section__video-wrapper {
    grid-area: media;
    margin-top: var(--_media-margin-top);
}
.dp-media-section__video-wrapper > * {
    width: 100%;
    object-fit: cover;
}
.dp-media-section-youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
}
/* .dp-media-section__video-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--clr-primary);
    grid-area: bg;
    z-index: -1;
} */
@media only screen and (max-width: 767px) {
    .dp-media-section {
        --_line-width: 0;
        --_media-margin-left: 0;
        --_media-margin-top: var(--space-m);
        grid-template-columns: 
            [block-start bg-start] 
            minmax(var(--space-section-inline), 1fr) 
            [content-start stylish-line-start headline-start media-start] 
            minmax( 0px, var(--viewport)) 
            [content-end stylish-line-end headline-end media-end] 
            minmax(var(--space-section-inline), 1fr) 
            [block-end bg-end];
        grid-template-rows: 
            [block-start bg-start] 
            minmax(0, var(--space-section-block) ) 
            [stylish-line-start headline-start] 
            auto  
            [stylish-line-end headline-end media-start] 
            auto  
            [media-end] 
            minmax(0, var(--space-section-block) )
            [block-end bg-end];
    }
}
/*----------------------------------------------------------------
                    MODULE TREATMENT GRID
------------------------------------------------------------------*/
.dp-treatment-grid-section {
    --_padding: var(--space-l);
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1rem, var(--viewport)) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-areas: 
        "... headline ..." 
        "... cards ...";
    padding-block: var(--space-section-block);
    gap: 2em 0;
}
.dp-treatment-grid-section-headline {
    grid-area: headline;
}
.dp-treatment-grid-list {
    grid-area: cards;
    gap: var(--space-l) 0;
}
.dp-treatment-grid-item:nth-of-type(odd) {
    padding-right: var(--_padding);
    border-right: 1px solid var(--clr-accent);
}
.dp-treatment-grid-item:nth-of-type(even) {
    padding-left: var(--_padding);
}
@media only screen and (max-width: 767px) {
    .dp-treatment-grid-section {
        --_padding: 0;
    }
    .dp-treatment-grid-item:nth-of-type(odd) {
        border-right: revert;
    }
}
/*----------------------------------------------------------------
                    MODULE MEDIA CONTENT BREAKOUT
------------------------------------------------------------------*/
.dp-media-content-breakout {
    --_media-gap-vertical: 2.5em;
    --_media-gap-horizontal: 4.5em;
    --_media-gap-vertical-max: auto;
    --_partition: 7;
    --_content_part: 5;
    --_media_part: calc( var(--_partition) - var(--_content_part) );
    --_content-width: calc( var(--_content_part) * var(--viewport) / var(--_partition));
    --_media-width: calc( var(--_media_part) * var(--viewport) / var(--_partition));
    display: grid;
    grid-template-rows: 
        [full-width-start heading-start media-start]
        minmax(var(--_media-gap-vertical), var(--_media-gap-vertical-max))  
        [heading-end sub-heading-start bg-start] 
        auto 
        [sub-heading-end content-start bg-start] 
        auto 
        [content-end bg-end] 
        var(--_media-gap-vertical) 
        [full-width-end media-end];
    padding-block: var(--space-section-block);
    position: relative;
    isolation: isolate;
}
.dp-media-content-breakout--right {
    grid-template-columns: 
        [full-width-start bg-start] 
        minmax(var(--space-section-inline), 1fr) 
        [viewport-start heading-start sub-heading-start content-start] 
        minmax(1rem, calc(var(--_content-width) - var(--_media-gap-horizontal))) 
        [heading-end sub-heading-end content-end] 
        minmax(1rem, var(--_media-gap-horizontal)) 
        [media-start]
        minmax(1rem, var(--_media-width)) 
        [viewport-end] 
        minmax(var(--space-section-inline), 1fr) 
        [full-width-end bg-end media-end];
}
.dp-media-content-breakout--left {
    grid-template-columns: 
        [full-width-start bg-start media-start] 
        minmax(var(--space-section-inline), 1fr) 
        [viewport-start] 
        minmax(1rem, var(--_media-width)) 
        [media-end] 
        minmax(1rem, var(--_media-gap-horizontal)) 
        [heading-start sub-heading-start content-start] 
        minmax(1rem, calc(var(--_content-width) - var(--_media-gap-horizontal))) 
        [viewport-end heading-end sub-heading-end content-end] 
        minmax(var(--space-section-inline), 1fr) 
        [full-width-end bg-end];
}
.dp-media-content-breakout-heading {
    grid-area: heading;
    /* margin-top: -.1em; */
    font-size: calc( 1.25*var(--text-xxl));
    mix-blend-mode: multiply;
    align-self: end;
    margin-bottom: -.25em;
}
.dp-media-content-breakout-content {
    grid-area: content;
    padding-block: var(--space-l);
    align-self: center;
}
.dp-media-content-breakout-content::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--clr-primary);
    grid-area: bg;
    z-index: -1;
}
.dp-media-content-breakout-subheading {
    grid-area: sub-heading;
    padding-top: var(--space-m);
}
.dp-media-content-breakout-subheading > span {
    display: block;
    color: var(--clr-action);
}
.dp-media-content-breakout-media {
    grid-area: media;
}
.dp-media-content-breakout-media img {
    width: 100%;
    height: 100%;
}
@media only screen and (max-width: 991px) {
    .dp-media-content-breakout {
        /* --_media-gap-vertical-max: var(--_media-gap-vertical); */
        grid-template-rows: 
            [full-width-start heading-start]
            auto  
            [heading-end sub-heading-start bg-start] 
            auto   
            [sub-heading-end gutter-start] 
            var(--space-l) 
            [utter-end media-start] 
            auto 
            [media-end content-start] 
            auto 
            [full-width-end content-end bg-end];
    }
    :is(.dp-media-content-breakout--right, .dp-media-content-breakout--left) {
        grid-template-columns: 
            [full-width-start bg-start] 
            minmax(var(--space-section-inline), 1fr) 
            [heading-start sub-heading-start content-start media-start] 
            minmax(1rem, var(--viewport)) 
            [heading-end sub-heading-end content-end media-end] 
            minmax(var(--space-section-inline), 1fr) 
            [full-width-end bg-end];
    }
    /* .dp-media-content-breakout-heading {
        margin-top: 0;
        line-height: .8;
        margin-bottom: revert;
    } */
    /* .dp-media-content-breakout-subheading {
        padding-bottom: var(--space-l);
    } */
}
/*----------------------------------------------------------------
                    MODULE GRID REVIEWS
------------------------------------------------------------------*/
.dp-section-reviews-grid {
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1rem, var(--viewport)) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-areas: 
        "... headline ..." 
        "... reviews ..." 
        "... cta ...";
    padding-block: var(--space-section-block);
    background-color: var(--clr-primary);
    gap: 2em 0;
}
.dp-reviews-grid-headline {
    grid-area: headline;
}
.dp-reviews-grid-list {
    grid-area: reviews;
}
.dp-reviews-grid-cta {
    grid-area: cta;
    justify-self: center;
    text-align: center;
}
.dp-reviews-grid-list-item {
    display: flex;
    flex-direction: column;
    padding: var(--space-m);
    border-radius: 2.5rem;
    background-color: var(--clr-white);
}
.dp-reviews-grid-list-item__stars {
    --_star-size: 2rem;
    display: flex;
    align-items: center;
    gap: .5rem;
}
.dp-reviews-grid-list-item__stars > svg {
    fill: var(--clr-action);
    width: var(--_star-size);
    height: var(--_star-size);
}
.dp-reviews-grid-list-item__body {
    --_top: 4.4rem;
    margin-top: 2.4em;
    margin-bottom: 2.2em;
    position: relative;
}
.dp-reviews-grid-list-item__body::before {
    content: "”";
    position: absolute;
    top: calc(-1* var(--_top));
    left: 0px;
    font-size: 5.2rem;
    font-weight: var(--fw-bold);
}
.dp-reviews-grid-list-item__reviewer {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    margin-top: auto;
}
.dp-reviewer-avatar {
    max-width: 4.6rem;
}
/*----------------------------------------------------------------
                MODULE TWO COLUMNS MEDIA TEXT ACCORDIONS
------------------------------------------------------------------*/
.dp-two-col-media-text-grid {
    --_left-col: 1;
    --_right-col: 1;
    --_partition: calc( var(--_left-col) + var(--_right-col));
    --_left-part: calc( (var(--_left-col) * var(--viewport)) / var(--_partition));
    --_right-part: calc( (var(--_right-col) * var(--viewport)) / var(--_partition));
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1rem, var(--_left-part)) 
        minmax(1rem, var(--_right-part)) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-rows: 1fr 3fr;
    padding-block: var(--space-section-block);
}
.dp-two-col-media-text-grid:where(.dp-media--right) {
    grid-template-areas: 
        "... headline media ..." 
        "... content media ..." 
        "... below below ...";
}
.dp-two-col-media-text-grid:where(.dp-media--left) {
    grid-template-areas: 
        "... media headline ..." 
        "... media content..." 
        "... below below ...";
}
.dp-two-col-media-text-grid.dp-grid-content--c {
    grid-template-rows: auto auto;
}
.dp-two-col-media-text-grid-headline {
    grid-area: headline;
}
.dp-grid-content--c .dp-two-col-media-text-grid-headline {
    align-self: end;
}
.dp-two-col-media-text-grid-content {
    grid-area: content;
    padding-top: var(--space-m);
}
:where(.dp-media--right) :is(.dp-two-col-media-text-grid-headline, .dp-two-col-media-text-grid-content) {
    padding-right: var(--space-m);
}
:where(.dp-media--left) :is(.dp-two-col-media-text-grid-headline, .dp-two-col-media-text-grid-content) {
    padding-left: var(--space-m);
}
.dp-grid-content--c .dp-two-col-media-text-grid-content {
    align-self: start;
}
/* .dp-two-col-media-text-grid-content > * {
    font-size: 1.5rem !important;
} */
.dp-two-col-media-text-grid-media {
    grid-area: media;
}
:where(.dp-media--right) .dp-two-col-media-text-grid-media {
    padding-left: var(--space-m);
}
:where(.dp-media--left) .dp-two-col-media-text-grid-media {
    padding-right: var(--space-m);
}
.dp-two-col-media-text-grid-bottom {
    grid-area: below;
    padding-top: var(--space-l);
    display: flex;
    flex-direction: column;
    align-items: center;
}
.dp-two-col-media-text-grid-bottom__content {
    text-align: center;
    max-width: 72ch;
}
@media only screen and (max-width: 991px) {
    :is(.dp-two-col-media-text-grid--l-1, .dp-two-col-media-text-grid-split--l-1) {
        grid-template-columns: 
            minmax(var(--space-section-inline), 1fr) 
            minmax(1rem, var(--viewport)) 
            minmax(var(--space-section-inline), 1fr);
        grid-template-rows: auto;
        gap: var(--space-m) 0;
    }
    .dp-two-col-media-text-grid--l-1 {
        grid-template-areas: 
            "... headline ..." 
            "... content ..."
            "... media ..." 
            "... below ...";
    }
    .dp-two-col-media-text-grid-split--l-1 {
        grid-template-areas: 
            "... headline ..." 
            "... media ..."
            "... content ..." 
            "... below ...";
    }
    :is(.dp-two-col-media-text-grid--l-1, .dp-two-col-media-text-grid-split--l-1) 
    :is(.dp-two-col-media-text-grid-headline, .dp-two-col-media-text-grid-content, .dp-two-col-media-text-grid-bottom, .dp-two-col-media-text-grid-media) {
        padding: 0;
    }
    :is(.dp-two-col-media-text-grid--l-1, .dp-two-col-media-text-grid-split--l-1) 
    .dp-two-col-media-text-grid-bottom__content {
        text-align: revert;
        max-width: revert;
    }
}
@media only screen and (max-width: 767px) {
    .dp-two-col-media-text-grid--m-1, 
    .dp-two-col-media-text-grid-split--m-1 {
        grid-template-columns: 
            minmax(var(--space-section-inline), 1fr) 
            minmax(1rem, var(--viewport)) 
            minmax(var(--space-section-inline), 1fr);
        grid-template-rows: auto;
        gap: var(--space-m) 0;
    }
    .dp-two-col-media-text-grid--m-1 {
        grid-template-areas: 
            "... headline ..." 
            "... content ..."
            "... media ..." 
            "... below ...";
    }
    .dp-two-col-media-text-grid-split--m-1 {
        grid-template-areas: 
            "... headline ..." 
            "... media ..."
            "... content ..." 
            "... below ...";
    }
    :is(.dp-two-col-media-text-grid--m-1, .dp-two-col-media-text-grid-split--m-1) 
    :is(.dp-two-col-media-text-grid-headline, .dp-two-col-media-text-grid-content, .dp-two-col-media-text-grid-bottom, .dp-two-col-media-text-grid-media) {
        padding: 0;
    }
    :is(.dp-two-col-media-text-grid--m-1, .dp-two-col-media-text-grid-split--m-1) 
    .dp-two-col-media-text-grid-bottom__content {
        text-align: revert;
        max-width: revert;
    }
}
@media only screen and (max-width: 479px) {
    .dp-two-col-media-text-grid--s-1, 
    .dp-two-col-media-text-grid-split--s-1 {
        grid-template-columns: 
            minmax(var(--space-section-inline), 1fr) 
            minmax(1rem, var(--viewport)) 
            minmax(var(--space-section-inline), 1fr);
        grid-template-rows: auto;
        gap: var(--space-m) 0;
    }
    .dp-two-col-media-text-grid--s-1 {
        grid-template-areas: 
            "... headline ..." 
            "... content ..."
            "... media ..." 
            "... below ...";
    }
    .dp-two-col-media-text-grid-split--s-1 {
        grid-template-areas: 
            "... headline ..." 
            "... media ..."
            "... content ..." 
            "... below ...";
    }
    :is(.dp-two-col-media-text-grid--s-1, .dp-two-col-media-text-grid-split--s-1) 
    :is(.dp-two-col-media-text-grid-headline, .dp-two-col-media-text-grid-content, .dp-two-col-media-text-grid-bottom, .dp-two-col-media-text-grid-media) {
        padding: 0;
    }
    :is(.dp-two-col-media-text-grid--s-1, .dp-two-col-media-text-grid-split--s-1) 
    .dp-two-col-media-text-grid-bottom__content {
        text-align: revert;
        max-width: revert;
    }
}
/*----------------------------------------------------------------
                MODULE RELATED POSTS
------------------------------------------------------------------*/
.dp-section-related-posts-grid-posts-item {
    display: flex;
    flex-direction: column;
}
.dp-section-related-posts-grid-posts-item__title {
    font-size: var(--text-m);
    font-weight: var(--fw-bold);
    line-height: var(--lh-body);
}
/*-------------------------------------------------------------------------------------
                        MODULE MEDIA CARDS
-------------------------------------------------------------------------------------*/
.dp-card-heading {
    font-size: var(--h5);
    line-height: var(--lh-body);
    text-wrap: unset;    
}
.dp-media-card-item__heading {
    line-height: var(--lh-card);
    text-wrap: unset;
}
.dp-card-item-hover {
    position: relative;
}
.dp-card-item-hover:hover :is(.dp-btn--action, .dp-cta) {
    text-decoration: none;
    background-color: var(--clr-action-hover);
}
/*----------------------------------------------------------------
                MODULE TWO COLUMNS TEXT
------------------------------------------------------------------*/

/*----------------------------------------------------------------
                MODULE SPLIT MEDIA TEXT GROUP
------------------------------------------------------------------*/
.dp-split-media-text-group {
    --_bg-color: var(--clr-primary);
    display: grid;
    grid-template-columns: 
        [bg-start] 
        minmax(var(--space-section-inline), 1fr) 
        [heading-start content-start] 
        minmax(1rem, var(--viewport)) 
        [heading-end content-end] 
        minmax(var(--space-section-inline), 1fr) 
        [bg-end];
    grid-template-rows: 
        [heading-start] 
        auto 
        [heading-end content-start bg-start] 
        auto 
        [content-end bg-end];
    padding-block: var(--space-section-block);
    position: relative;
    isolation: isolate;
}
.dp-split-media-text-group-heading {
    grid-area: heading;
    margin-bottom: -.25em;
}
.dp-split-media-text-group-wrapper {
    grid-area: content;
    padding-block: 3em;
}
.dp-split-media-text-group-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    grid-area: bg;
    background-color: var(--_bg-color);
    z-index: -1;
}
.dp-split-media-text-group-grid-content {
    display: flex;
    flex-direction: column;
    gap: 1.25em;
}
.dp-split-media-text-group-grid-content__text {
    background-color: var(--_bg-color);
}
.dp-split-media-text-group-grid-below {
    grid-column: auto / span 2;
    background-color: var(--_bg-color);
    order: 10;
}
/*------------------------------------------------------------------------------
                   MODULE ACCORDIONS
-------------------------------------------------------------------------------*/
.dp-split-content-accordions-wrapper h2 {
    margin-bottom: 1.2em;
}
.dp-split-content-accordions__accordions {
    display: flex;
    flex-direction: column;
}
.dp-accordion-title {
    position: relative;
    width: 100%;
}
.dp-faqs-title {
    grid-column: 1 / -1;
}
.dp-faqs-title-default .dp-faqs-title {
    margin-bottom: var(--space-l);
}
.dp-accordion-trigger {
    background: hsla(0, 0%, 100%, 0);
    border: none;
    width: 100%;
}
.dp-accordion-text {
    position: relative;
    display: flex;
    width: 100%;
    text-align: left;
    line-height: 1.5;
    padding-right: calc( 1em + 1.2rem );
    font-weight: var(--fw-bold);
    font-size: var(--text-m);
    color: var(--clr-base);
}
.dp-accordion-text::before, 
.dp-accordion-text::after {
    content: "";
    position: absolute;
    background-color: var(--clr-base);
    width: 1em;
    height: 1px;
    right: 1rem;
    top: .75em;
    transition: 350ms ease-in-out all;
    border-radius: 0.03em;
}
.dp-accordion-text--white::before, 
.dp-accordion-text--white::after {
    background-color: var(--clr-white);
}
.dp-accordion-text::before {
    transform: rotate(-90deg);
}
.dp-accordion-text::after {
    transform: rotate(-180deg);
}
.dp-accordion-trigger[aria-expanded="true"] .dp-accordion-text::before {
	transform: rotate(0deg);
}
.dp-accordion-trigger[aria-expanded="true"] .dp-accordion-text::after {
	transform: rotate(-90deg) scale(0);
}
.dp-accordion-content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 300ms;
  padding: .5em 0;
}
.dp-accordion-content[aria-hidden="false"] {
  grid-template-rows: 1fr;
}
.dp-accordion-content > :where(div, ul) {
  overflow: hidden;
  transition: padding 300ms;
}
.dp-accordion-content[aria-hidden="false"] > :where(div, ul) {
  padding-block: 1em;
}
/*------------------------------------------------------------------------------
                   MODULE YOUTUBE GRID
-------------------------------------------------------------------------------*/
.dp-section-youtube-grid {
    --_gutter-v: 2rem;
    --_gutter-h: 7rem;
    --_col-gap: var(--space-m);
    display: grid;
    grid-template-columns: 
        [module-start] 
        minmax(var(--space-section-inline), 1fr) 
        [content-start media-main-start] 
        minmax(1rem, calc(.5*var(--viewport) - var(--_gutter-h) - var(--_col-gap))) 
        [gutter-h-start bg-start] 
        minmax(0, var(--_gutter-h)) 
        [gutter-h-end media-main-end gap-start] 
        minmax(0, var(--_col-gap)) 
        [gap-end media-list-start] 
        minmax(1rem, calc(.5*var(--viewport) - var(--_col-gap))) 
        [media-list-end bg-end] 
        minmax(var(--space-section-inline), 1fr) 
        [module-end];
    grid-template-rows: 
        [module-start content-start] 
        auto 
        [content-end bg-start] 
        minmax(0, var(--_gutter-v)) 
        [media-main-start media-list-start] 
        auto 
        [media-main-end media-list-end] 
        minmax(0, var(--_gutter-v)) 
        [module-end bg-end];
    padding-block: var(--space-section-block);
    position: relative;
    isolation: isolate;
}
.dp-youtube-grid-headline {
    grid-area: content;
    padding-bottom: 1.6em;
}
.dp-youtube-grid-media-main {
    grid-area: media-main;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: var(--clr-action);
}
.dp-youtube-grid-media-list {
    grid-area: media-list;
    width: 100%;
    background-color: var(--clr-primary);
    padding-right: 1rem;
}
.dp-youtube-grid-media-list::before {
    content: "";
    position: absolute;
    inset: 0;
    grid-area: bg;
    background-color: var(--clr-primary);
    z-index: -1;
}
.dp-youtube-grid-media-list-list {
    list-style: none;
    margin-left: 0;
    padding-right: .5em;
    display: grid;
    grid-template-columns: repeat(2, minmax(1rem, 1fr));
    gap: 1.2em;
    height: 36rem;
    min-height: 0;
    overflow-y: scroll;
}
.dp-youtube-grid-media-list-list::-webkit-scrollbar {
    width: .6rem;
}
.dp-youtube-grid-media-list-list::-webkit-scrollbar-track {
    background: hsla(var(--clr-white-h), .45);
    border-radius: 6rem;
}
.dp-youtube-grid-media-list-list::-webkit-scrollbar-thumb {
    background: hsla(var(--clr-action-h), .75);
    border-radius: 6rem;
}
.dp-youtube-grid-media-list-btn {
    display: flex;
    border: .1rem solid transparent;
    cursor: pointer;
}
.dp-youtube-grid-media-list-btn:disabled {
    border: 1px solid var(--clr-action);
}
.dp-youtube-grid-media-list-btn__img {
    --_img-width: 60%;
    min-width: var(--_img-width);
    aspect-ratio: 16 / 9;
    position: relative;
    pointer-events: none;
}
.dp-youtube-grid-media-list-btn__img > img {
    height: 100%;
    aspect-ratio: inherit;
}
.dp-youtube-grid-media-list-btn__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--clr-action);
    border-radius: 50%;
    z-index: 2;
}
.dp-youtube-grid-media-list-btn__icon svg {
    --size: 1.3rem;
    fill: var(--clr-white);
    width: var(--size);
    height: var(--size);
    position: relative;
    transform: translateX(16%);
}
.dp-youtube-grid-media-list-btn:disabled img {
    filter: grayscale(100%) brightness(70%);
}
.dp-youtube-grid-media-list-btn:disabled .dp-youtube-grid-media-list-btn__icon {
    background-color: var(--clr-white);
}
.dp-youtube-grid-media-list-btn:disabled svg {
    fill: var(--clr-action);
}
.dp-youtube-grid-media-list-btn__text {
    width: calc(100% - var(--_img-width));
    font-size: 1.5rem;
}
@media only screen and (max-width: 991px) {
    .dp-section-youtube-grid {
        grid-template-columns: 
            [module-start bg-start] 
            minmax(var(--space-section-inline), 1fr) 
            [content-start media-main-start media-list-start] 
            minmax(1rem, var(--viewport)) 
            [content-end media-main-end media-list-end] 
            minmax(var(--space-section-inline), 1fr) 
            [module-end bg-end];
        grid-template-rows: 
            [module-start content-start] 
            auto 
            [content-end media-main-start] 
            auto 
            [bg-start] 
            auto 
            [media-main-end media-list-start] 
            auto 
            [media-list-end bg-end module-end]
    }
    .dp-youtube-grid-media-list {
        padding: 1.4em 1rem;
    }
    .dp-youtube-grid-media-list-btn {
        flex-direction: column;
        gap: 1.4rem;
    }
    .dp-youtube-grid-media-list-btn__img, 
    .dp-youtube-grid-media-list-btn__text {
        width: 100%;
    }
}
/*-------------------------------------------------------------------------------------
                        MODULE NUMBERED CAROUSEL
-------------------------------------------------------------------------------------*/
.dp-numbered-carousel {
    --_animation: cubic-bezier(0.45, 0, 0.55, 1);
    --_animation-duration: 400ms;
    display: grid;
    gap: 2.2rem var(--space-l);
}
.dp-numbered-carousel--right {
    grid-template-areas: 
        "main-content carousel"
        "navigation carousel";
}
.dp-numbered-carousel--left {
    grid-template-areas: 
        "carousel main-content"
        "carousel navigation";
}
.dp-numbered-carousel-content {
    grid-area: main-content;
    align-self: end;
}
.dp-numbered-carousel__track-container {
    grid-area: carousel;
    width: 100%;
    overflow: hidden;
}
.dp-numbered-carousel__navigation {
    grid-area: navigation;
    align-self: start;
}
.dp-numbered-carousel__track {
    display: flex;
    list-style: none;
    margin-left: 0;
    width: 100%;
    transition: transform var(--_animation-duration) var(--_animation);
}
.dp-numbered-carousel__slide {
    width: 100%;
    flex-shrink: 0;
}
.dp-numbered-carousel__slide img {
    height: 100%;
    aspect-ratio: inherit;
}
.dp-numbered-carousel__item[data-state="hidden"] {
    display: none;
}
.dp-numbered-carousel__item[data-state="visible"] {
    display: block;
    animation: slideIn var(--_animation-duration) var(--_animation) forwards;
}
@keyframes slideIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes slideOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
.dp-numbered-carousel__pagination {
    display: flex;
    align-items: center;
    margin-bottom: var(--space-m);
}
.dp-numbered-carousel__pagination > span {
    line-height: .7;
}
:where(.dp-numbered-carousel__pagination-divider, .dp-numbered-carousel__pagination-total) {
    color: var(--clr-gray-dark);
    font-size: var(--text-xl);
    margin-top: .2em;
}
.dp-numbered-carousel__pagination-current {
    color: var(--clr-action);
    font-weight: var(--fw-bold);
    font-size: calc(1.2*var(--text-xxl));
    width: .8em;
}
@media only screen and (max-width: 767px) {
    .dp-numbered-carousel {
        grid-template-areas: 
        "main-content main-content"
        "carousel carousel"
        "navigation navigation";
    }
    .dp-numbered-carousel__navigation {
        justify-content: center;
    }
}
/*------------------------------------------------------------------------------
                    MODULE GOOGLE MAP
-------------------------------------------------------------------------------*/
.dp-section-map {
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1rem, var(--viewport)) 
        minmax(var(--space-section-inline), 1fr);
    /* gap: var(--space-m); */
}
.dp-section-map--constrained {
    grid-template-areas: 
        "... headline ..." 
        "... map ...";
}
.dp-section-map--full {
    grid-template-areas: 
        "... headline ..." 
        "map map map";
}
.dp-map-headline {
    grid-area: headline;
    padding-bottom: var(--space-m)
}
.dp-map-iframe {
    grid-area: map;
}
/*------------------------------------------------------------------------------
                    FANCY CARDS
-------------------------------------------------------------------------------*/
.dp-fancy-card {
    --_space-gap: 2.6rem;
    display: grid;
    grid-template-columns: 
        [card-start bg-start media-start content-start] 
        minmax(1rem, calc(var(--viewport) - var(--_space-gap))) 
        [media-end content-end gap-start] 
        var(--_space-gap) 
        [card-end bg-end gap-end];
    grid-template-rows: 
        [card-start media-start gap-start] 
        var(--_space-gap) 
        [gap-end bg-start] 
        auto 
        [media-end content-start] 
        auto 
        [card-end content-end bg-end];
    position: relative;
    isolation: isolate;
}
.dp-fancy-card-content {
    grid-area: content;
    display: flex;
    flex-direction: column;
    padding: var(--space-s);
}
.dp-fancy-card-content::before {
    content: "";
    position: absolute;
    inset: 0;
    grid-area: bg;
    background-color: var(--clr-primary);
    z-index: -1;
}
.dp-fancy-card-content__specialty {
    margin-top: 1rem;
}
.dp-fancy-card-media {
    grid-area: media;
}
/*------------------------------------------------------------------------------
                    SOCIALS SHORTCODE
------------------------------------------------------------------------------*/
.dp-social-icons {
    --_transition-pop: 300ms ease-in;
    list-style: none;
    margin-inline-start: 0;
    padding: 0;
    display: flex;
    gap: 1.2rem;
}
.dp-social-icons svg {
    --_size: 3.4rem;
    width: var(--_size);
    height: var(--_size);
    fill: var(--clr-action);
    transition: fill var(--_transition-pop);
}
.dp-social-icons__item > a {
    position: relative;
    display: flex;
    border-radius: 50%;
    transition: transform var(--_transition-pop);
    transition-delay: 50ms;
}
.dp-social-icons__item > a:hover {
    transform: scale(1.05);
}
.dp-social-icons__item > a:hover > svg {
    fill: hsl(307, 59%, 44%); /* #b22ea3 */
}
/*------------------------------------------------------------------------------
                    CAROUSEL ARROWS
-------------------------------------------------------------------------------*/
.dp-splide-arrows-size--default, 
.dp-splide-arrows--main, 
.dp-section--carousel, 
.dp-section-carousel--bottom, 
.dp-numbered-carousel__navigation {
    --_button-size: 4rem;
}
.dp-numbered-carousel__navigation {
    display: flex;
    gap: 1.2rem;
}
.dp-splide-split-text-carousel-static, 
.dp-splide-img-carousel {
    padding-inline: calc( var(--_button-size)/2 );
}
.dp-numbered-carousel__navigation .dp-numbered-carousel-button {
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    cursor: pointer;
}
.dp-splide-arrows--main .splide__arrow, 
.dp-numbered-carousel__navigation .dp-numbered-carousel-button {
    --_svg-size: 2rem;
    width: var(--_button-size);
    height: var(--_button-size);
    background: var(--clr-action);
    opacity: 1;
    transition: background 300ms ease-in-out;
}
.dp-splide-arrows--main .splide__arrow:hover, 
.dp-numbered-carousel__navigation .dp-numbered-carousel-button:hover {
    background: var(--clr-action-hover);
}
.dp-splide-arrows--main .splide__arrow:disabled, 
.dp-numbered-carousel__navigation .dp-numbered-carousel-button:disabled {
    opacity: .3;
}
.dp-splide-arrows--main .splide__arrow svg, 
.dp-numbered-carousel__navigation .dp-numbered-carousel-button svg {
    fill: var(--clr-white);
    stroke: var(--clr-white);
    stroke-width: 2.2;
    width: var(--_svg-size);
    height: var(--_svg-size);
}
.dp-splide-arrows--top .splide__arrow {
    top: 0;
    transform: translateY(-170%);
}
.dp-splide-arrows--top .splide__arrow--next {
    right: 0;
}
.dp-splide-arrows--top .splide__arrow--prev {
    left: calc(100% - 2.25*var(--_button-size) );
}
.dp-splide-arrows--center .splide__arrow--next {
    right: 0;
}
.dp-splide-arrows--center .splide__arrow--prev {
    left: 0;
}
.dp-splide-arrows--bottom .splide__arrow {
    top: 100%;
    transform: translateY(25%);
}
.dp-splide-arrows--bottom .splide__arrow--next {
    right: calc(50% - 1.25*var(--_button-size) );
}
.dp-splide-arrows--bottom .splide__arrow--prev {
    left: calc(50% - 1.25*var(--_button-size) );
}
.dp-section.dp-section-carousel--bottom {
    padding: var(--space-section-block) var(--space-section-inline) calc( var(--space-section-block) + 1*var(--_button-size) );
}
@media only screen and (max-width: 767px) {
    .dp-splide-arrows--top .splide__arrow {
        top: 100%;
        transform: translateY(100%);
    }
    .dp-splide-arrows--top .splide__arrow--next {
        right: calc(50% - 1.125*var(--_button-size) );
    }
    .dp-splide-arrows--top .splide__arrow--prev {
        left: calc(50% - 1.125*var(--_button-size) );
    }
    .dp-section.dp-section--carousel {
        padding: var(--space-section-block) var(--space-section-inline) calc( var(--space-section-block) + 2*var(--_button-size) );
    }
}
/*------------------------------------------------------------------------------------
                    SINGLE TREATMENT HERO
-------------------------------------------------------------------------------------*/
:is(.dp-hero-treatment, .dp-hero-medical-staff, .dp-hero-home, .dp-hero-default) {
    display: grid;
    grid-template-columns: 
        [full-width-start media-start] 
        minmax(var(--space-section-inline), 1fr) 
        [viewport-start content-start] 
        minmax(1rem, var(--viewport)) 
        [viewport-end content-end]
        minmax(var(--space-section-inline), 1fr) 
        [full-width-end media-end];
    grid-template-rows: 
        [full-width-start media-start content-start] 
        1fr 
        [full-width-end media-end content-end];
    padding-top: var(--space-section-block);
    padding-bottom: var(--space-m);
    position: relative;
    isolation: isolate;
    place-items: center;

}
:is(.dp-hero-treatment, .dp-hero-medical-staff, .dp-hero-default) {
    min-height: 60vh;
    min-height: 60svh;
}
.dp-hero-home {
    min-height: 70vh;
    min-height: 70svh;
}
:is(.dp-hero-treatment__content, .dp-hero-home__content, .dp-hero-default__content, .dp-hero-medical-staff__content) {
    grid-area: content;
}
:is(.dp-hero-treatment__media, .dp-hero-home__media, .dp-hero-default__media, .dp-hero-medical-staff__media) {
    grid-area: media;
}
:is(.dp-hero-treatment__media-img, .dp-hero-home__media-img, .dp-hero-default__media-img), 
.dp-hero-medical-staff .dp-hero-medical-staff__media-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
@media only screen and (max-width: 767px) {
    :is(.dp-hero-treatment, .dp-hero-medical-staff, .dp-hero-home, .dp-hero-default) {
        place-items: end;
    }
}
/*------------------------------------------------------------------------------------
                    SINGLE MEDICAL STAFF HERO
-------------------------------------------------------------------------------------*/
.dp-hero-medical-staff-alt {
    --_gap: 2em;
    --_division: 5;
    --_thumb: 3;
    --_title: calc(var(--_division) - var(--_thumb));
    --_thumb-width: calc((var(--_title) * var(--viewport) / var(--_division)) - .5*var(--_gap));
    --_title-width: calc((var(--_thumb) * var(--viewport) / var(--_division)) - .5*var(--_gap));
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1rem, var(--_thumb-width)) 
        var(--_gap) 
        minmax(1rem, var(--_title-width)) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-areas: 
        "... title ... thumb ..." 
        "... quote ... thumb ...";
    background-color: var(--clr-secondary);
    padding-block: var(--space-section-block);
    position: relative;
    isolation: isolate;
    place-items: center;
    min-height: 60vh;
    min-height: 60svh;
}
.dp-hero-medical-staff-alt__content {
    grid-area: title;
    place-self: end;
    justify-self: flex-start;
}
.dp-hero-medical-staff-alt__media {
    grid-area: thumb;
    width: min(100%, 400px);
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 4px 8px -5px hsla(var(--clr-white-h), .5);
}
.dp-hero-medical-staff-alt__media .dp-hero-medical-staff__media-img {
    height: 100%;
    object-fit: cover;
}
.dp-hero-medical-staff-alt__quote {
    grid-area: quote;
    place-self: start;
    padding-top: 2em;
    font-style: italic;
}
@media only screen and (max-width: 767px) {
    .dp-hero-medical-staff-alt {
        grid-template-columns: 
            minmax(var(--space-section-inline), 1fr) 
            minmax(1rem, var(--viewport)) 
            minmax(var(--space-section-inline), 1fr);
        grid-template-areas: 
            "... title ..." 
            "... thumb ..." 
            "... quote ...";
        gap: var(--_gap);
    }
    .dp-hero-medical-staff-alt__content {
        place-self: revert;
        text-align: center;
    }
    .dp-hero-medical-staff-alt__quote {
        place-self: revert;
        padding-top: revert;
        text-align: center;
    }
}
/*------------------------------------------------------------------------------------
                    SINGLE TREATMENT BODY
-------------------------------------------------------------------------------------*/
.dp-treatment-body {
    /* --_division: 4; */
    --_division: 3;
    --_anchor-width: 1;
    --_main-width: calc( var(--_division) - var(--_anchor-width) );
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(0, calc(var(--_main-width)*var(--viewport) / var(--_division)) )
        minmax(0, calc(var(--_anchor-width)*var(--viewport) / var(--_division)) )
        minmax(var(--space-section-inline), 1fr);
    grid-template-areas: 
        "... breadcrumbs breadcrumbs ..."
        "... main anchors ..." 
        "... faqs faqs ..." 
        "... related related ...";
    padding-top: calc(.5*var(--space-section-block));
    padding-bottom: var(--space-section-block);
}
.dp-treatment-body-breadcrumbs {
    grid-area: breadcrumbs;
    padding-bottom: calc(.5*var(--space-section-block));
}
.dp-treatment-body-anchors {
    grid-area: anchors;
}
.dp-anchor-links-wrapper {
    position: sticky;
    position: -webkit-sticky;
    top: calc( 2.5rem + var(--menu-height) );
    padding-inline: var(--space-m);
    padding-block: var(--space-m);
    border: 1px solid var(--clr-base);
    max-width: 400px;
    margin-left: auto;
}
.dp-anchor-links-title {
    font-weight: var(--fw-bold);
    text-align: center;
    padding-bottom: var(--space-s);
    border-bottom: 1px solid var(--clr-base);
}
.dp-anchor-links-list > * + * {
    margin-top: .75em;
}
.dp-anchor-links-item {
    line-height: 1.4;
}
.dp-anchor-links-item .dp-anchor-links-item__link {
    font-weight: var(--fw-regular);
    color: var(--clr-base);
    transition: color 250ms ease-in-out;
    font-size: calc(.9*var(--text-m));
}
.dp-anchor-links-item__link:hover {
    color: var(--clr-action);
}
.dp-treatment-body-main {
    grid-area: main;
    padding-right: var(--space-l);
}
.dp-faqs, 
.dp-treatment-body-faqs {
    grid-area: faqs;
    gap: 0 var(--space-l);
}
.dp-treatment-body-faqs {
    margin-top: calc(1.2*var(--space-xl));
}
.dp-title-gap--l .dp-faqs-title {
    margin-bottom: 1.5em;
}
.dp-related-posts {
    grid-area: related;
    margin-top: calc(1.2*var(--space-xl));
}
@media only screen and (max-width: 991px) {
    .dp-treatment-body {
        grid-template-columns: 
            minmax(var(--space-section-inline), 1fr) 
            minmax(0, var(--viewport) )
            minmax(var(--space-section-inline), 1fr);
        grid-template-areas: 
            "... breadcrumbs ..."
            "... anchors ..." 
            "... main ..." 
            "... faqs ..." 
            "... related ...";
        padding-top: var(--space-section-block);
    }
    .dp-treatment-body-faqs {
        gap: var(--space-l) 0;
    }
    .dp-treatment-body-anchors {
        margin-bottom: 0;
    }
    .dp-treatment-body-main {
        padding-right: revert;
    }
    .dp-anchor-links-wrapper {
        padding-inline: 0;
        border: revert;
        max-width: revert;
        margin-left: revert;
    }
    .dp-anchor-links-title {
        display: none;
    }
    .dp-anchor-links-list {
        display: flex;
        align-items: center;
        gap: 1.5rem;
        overflow-x: auto;
        white-space: nowrap;
        padding-block: 1em;
        border-block: 1px solid var(--clr-black);
    }
    .dp-anchor-links-wrapper .dp-anchor-links-list {
        margin: 0;
    }
    .dp-anchor-links-list > * + * {
        margin-top: revert;
    }
    .dp-anchor-links-item .dp-anchor-links-item__link {
        font-weight: var(--fw-bold);
        font-size: 1.5rem;
    }
}
/*------------------------------------------------------------------------------------
                    SINGLE RELATED POSTS
-------------------------------------------------------------------------------------*/
.dp-related-posts-title {
    margin-bottom: var(--space-l);
}
.dp-related-posts-item {
    display: flex;
    flex-direction: column;
    position: relative;
}
.dp-related-posts-item__title {
    font-size: var(--h5);
    padding-top: .4em;
    line-height: 1.5;
    font-weight: var(--fw-bold);
}
.dp-related-posts-item__img {
    order: -1;
}
.dp-related-posts-item__link {
    color: var(--clr-base);
    transition: color 250ms ease-in-out;
}
.dp-related-posts-item:hover .dp-related-posts-item__link {
    color: var(--clr-action);
}
/*------------------------------------------------------------------------------------
                    PAGE MULTISTEP FORM
-------------------------------------------------------------------------------------*/
.dp-multistep-form-wrapper {
    background-color: var(--clr-white);
    padding: var(--space-l);
}
.dp-multistep-headline {
    text-align: center;
    margin-bottom: var(--space-l);
}
/*------------------------------------------------------------------------------------
                    PAGE CONTACT
-------------------------------------------------------------------------------------*/
.dp-contact-page-body {
    display: grid;
    grid-template-columns: 
        minmax(1rem, 3fr) 
        minmax(1rem, 2fr);
    grid-template-areas: 
        "breadcrumbs breadcrumbs" 
        "form clinics";
    gap: var(--space-m) var(--space-xl);
}
.dp-contact-page-body-breadcrumbs {
    grid-area: breadcrumbs;
}
.dp-contact-page-body-form {
    grid-area: form;
}
.dp-contact-page-body-clinics {
    grid-area: clinics;
    display: flex;
    flex-direction: column;
    gap: 2.6em;
}
.dp-contact-page-body-form p {
    margin-bottom: var(--space-m);
}
.dp-contact-page-body-clinics__list > * + * {
    margin-top: 1.2rem;
}
.dp-contact-page-body-clinics__item {
    display: flex;
    align-items: center;
    gap: 7px;
}
.dp-contact-page-body-clinics__item > svg {
    --_icon-size: 16px;
    width: var(--_icon-size);
    height: var(--_icon-size);
}
@media only screen and (max-width: 767px) {
    .dp-contact-page-body {
        grid-template-areas: 
            "breadcrumbs breadcrumbs" 
            "form form" 
            "clinics clinics";
    }
}
/*----------------------------------------------------------------
                    HEADER GENERAL
------------------------------------------------------------------*/
.dp-header--sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}
.dp-header-wrapper {
    z-index: var(--z-index-menu);
    width: 100%;
    isolation: isolate;
    transition: transform 300ms ease-in-out;
}
.scroll-down .dp-header-wrapper {
    transform: translateY(-100%);
}
.scroll-down.menu-open .dp-header-wrapper {
    transform: translateY(0%);
}
.dp-header--sticky::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    box-shadow: 0 .5rem 2rem -1rem hsla(var(--clr-secondary-h), .5);
    transition: opacity 300ms ease-in-out;
    isolation: isolate;
    z-index: -1;
}
.dp-header--sticky.dp-scrolling::before {
    opacity: 1;
}
body.bricks-is-frontend.admin-bar .dp-header-wrapper {
    top: var(--wp-admin--admin-bar--height);
}
body.bricks-is-frontend.admin-bar.scroll-down .dp-header-wrapper {
    transform: translateY(calc(-100% - var(--wp-admin--admin-bar--height, 0px)));
}
body.bricks-is-frontend.admin-bar.scroll-down.menu-open .dp-header-wrapper {
     transform: translateY(0%);
}
/*----------------------------------------------------------------
                    HEADER MAIN
------------------------------------------------------------------*/
.dp-header--main, 
.dp-header--landing {
    --_transition-duration: 250ms;
    --_cta-width: 222px;
    display: grid;
    align-items: center;
    background-color: var(--clr-primary);
    z-index: var(--z-index-sticky-menu);
    transition: all var(--_transition-duration) ease-in-out;
}
.dp-header--main {
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1rem, var(--_cta-width)) 
        minmax(1rem, calc(var(--viewport) - 2*var(--_cta-width))) 
        minmax(1rem, var(--_cta-width)) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-rows: var(--menu-height) auto;
    grid-template-areas: 
        "... cta logo nav-btn ..." 
        "main-nav main-nav main-nav main-nav main-nav";
}
.dp-header--landing {
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1rem, calc(var(--viewport) - var(--_cta-width))) 
        minmax(1rem, var(--_cta-width)) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-rows: var(--menu-height) auto;
    grid-template-areas: 
        "... logo cta ...";
}
.dp-menu-cta-container {
    grid-area: cta;
}
.dp-header--landing .dp-menu-cta-container {
    justify-self: end;
}
.dp-menu-logo {
    grid-area: logo;
    width: 100%;
    display: flex;
    transition: opacity var(--_transition-duration) ease-in-out;
}
.dp-header--main .dp-menu-logo {
    justify-content: center;
}
:is(.dp-menu-logo-img-wrapper, .dp-footer-logo-img-wrapper) {
    --_width-max: 22rem;
    max-width: var(--_width-max);
}
.dp-menu-toggle-container {
    grid-area: nav-btn;
    justify-self: end;
}
.dp-menu-main-nav-wrapper {
    grid-area: main-nav;
    height: calc(100vh - var(--menu-height));
    height: calc(100svh - var(--menu-height));
    background-color: var(--clr-primary);
    position: absolute;
    top: 0;
    width: 100%;
    overflow-y: auto;
    padding-inline: var(--space-section-inline);
}
.dp-menu-main-nav-list {
    --_col: 3;
    --_gap: var(--space-l);
    display: grid;
    grid-template-columns: repeat(var(--_col), minmax(1rem, 1fr));
    gap: var(--_gap);
    padding-block: var(--space-section-block);
    list-style: none;
    margin-left: 0;
    max-width: var(--viewport);
    margin-inline: auto;
}
.dp-menu-main-nav-wrapper[data-state="opened"] {
    animation: fadeIn 300ms ease-in-out forwards;
    display: block;
    opacity: 1;
}
.dp-menu-main-nav-wrapper[data-state="closing"] {
    animation: fadeOut 300ms ease-in-out forwards;
}
.dp-menu-main-nav-wrapper[data-state="closed"] {
    opacity: 0;
    display: none;
}
.dp-btn-icon-wrapper {
    display: flex;
    gap: .6rem;
    align-items: center;
    position: relative;
}
.dp-main-nav .dp-menu-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
}
.dp-main-nav .dp-menu-list > * + * {
    margin-top: 1rem;
}
:is(.dp-submenu-title, .dp-menu-link-top ) {
    margin-bottom: var(--space-s);
    font-size: clamp(2.1rem, calc(2.1rem + ((1vw - 0.48rem) * 0.699)), 2.7193rem);
}
.dp-menu-link-top {
    display: flex;
    color: var(--clr-base);
}
.dp-submenu-title svg {
    --_icon-size: 16px;
    fill: var(--clr-base);
    width: var(--_icon-size);
    height: var(--_icon-size);
    display: none;
}
.dp-menu-cta-mobile {
    display: none;
}
@media only screen and (max-width: 767px) {
    .dp-header--main {
        --_nav-width: 100px;
        display: grid;
        grid-template-columns: 
            minmax(var(--space-section-inline), 1fr) 
            minmax(1rem, calc(var(--viewport) - var(--_nav-width))) 
            minmax(1rem, var(--_nav-width)) 
            minmax(var(--space-section-inline), 1fr);
        grid-template-rows: var(--menu-height) auto;
        grid-template-areas: 
            "... logo nav-btn ..." 
            "main-nav main-nav main-nav main-nav";
    }
    .dp-header--landing {
        grid-template-areas: 
            "... logo logo ...";
    }
    .dp-header--landing .dp-menu-logo {
        justify-content: center;
    }
    .dp-menu-cta-container {
        display: none;
    }
    .dp-header--main .dp-menu-logo {
        justify-content: revert;
    }
    .dp-menu-main-nav-list {
        --_col: 1;
        --_gap: var(--space-s);
    }
    .dp-menu-panel {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 500ms;
        font-size: 1.6rem;
    }
    .dp-menu-panel > * {
        overflow: hidden;
    }
     .dp-menu-panel[aria-hidden="false"] {
        grid-template-rows: 1fr;
        padding-bottom: 2.3rem;
    }
    .dp-submenu-title {
        cursor: pointer;
        display: flex;
        gap: 1rem;
    }
    .dp-submenu-title svg {
        display: revert;
        transition: transform 250ms ease-in-out;
    }
    .dp-submenu-title[aria-expanded="true"] svg {
        transform: rotateX(180deg);
    }
    .dp-menu-cta-mobile {
        display: flex;
    }
}
@media only screen and (max-width: 579px) {
    :is(.dp-menu-logo-img-wrapper, .dp-footer-logo-img-wrapper) {
        --_width-max: 19rem;
    }
}
/*----------------------------------------------------------------
                    MAIN MENU TOP TOGGLER
------------------------------------------------------------------*/
.dp-menu-toggle {
    position: relative;
    display: flex;
    align-items: center;
    gap: .5rem;
    background: var(--clr-transparent);
    border: none;
    cursor: pointer;
}
.dp-menu-toggle span {
    pointer-events: none;
}
.dp-menu-toggle[aria-expanded="true"] {
    z-index: calc(var(--z-index-menu) + 1);
}
.dp-menu-toggle[aria-expanded="true"] .dp-hamburger-container {
    --_btn-size: 3rem;
    display: flex;
    justify-content: center;
    width: var(--_btn-size);
    height: var(--_btn-size);
    padding: 2rem;
    border-radius: 100vw;
}
.dp-hamburger-container {
    height: 2rem;
    display: flex;
    align-items: center;
    cursor: pointer;
    width: 1.8em;
}
.dp-hamburger,
.dp-hamburger::before,
.dp-hamburger::after {
    --_height: 2px;
    content: "";
    display: block;
    height: var(--_height);
    border-radius: 3px;
    transition: all var(--_transition-duration) ease-in-out;
    background-color: var(--clr-action);
}
.dp-hamburger {
    width: 1.75em;
}
.dp-hamburger::before {
    transform: translateY(calc(-3*var(--_height)));
    width: 1.35em;
    margin-left: auto;
}
.dp-hamburger::after {
    transform: translateY(calc( 2*var(--_height) ));
    width: 1em;
    margin-left: auto;
}
[aria-expanded="true"] .dp-hamburger, 
[aria-expanded="true"] .dp-hamburger::before, 
[aria-expanded="true"] .dp-hamburger::after {
    width: 1.75em;
    background-color: var(--clr-black);
}
[aria-expanded="true"] .dp-hamburger {
    transform: rotate(45deg);
}
[aria-expanded="true"] .dp-hamburger::before {
    opacity: 0;
}
[aria-expanded="true"] .dp-hamburger::after {
    transform: translateY(calc(-1*var(--_height))) rotate(-90deg);
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
/*----------------------------------------------------------------
                    FOOTER MAIN
------------------------------------------------------------------*/
.dp-footer--main {
    --_gutter: 2em;
    display: grid;
    grid-template-columns: 
        [footer-start bg-start]
        minmax(var(--space-section-inline), 1fr) 
        [logo-start newsletter-start clinics-start useful-links-start gdpr-social-start copy-start] 
        minmax(1rem, var(--viewport)) 
        [logo-end newsletter-end clinics-end useful-links-end gdpr-social-end copy-end] 
        minmax(var(--space-section-inline), 1fr) 
        [footer-end bg-end];
    grid-template-rows: 
        [footer-start logo-start] 
        12rem  
        [logo-end newsletter-start] 
        auto 
        [newsletter-end clinics-start] 
        auto 
        [clinics-end useful-links-start] 
        auto 
        [useful-links-end gdpr-social-start] 
        auto 
        [gdpr-social-end copy-start bg-start] 
        auto 
        [footer-end copy-end bg-end];
    padding-top: var(--space-section-block);
    background-color: var(--clr-primary);
    justify-items: center;
    position: relative;
    isolation: isolate;
}
.dp-link--footer, 
.dp-link--footer a {
    font-size: 1.5rem;
}
.dp-footer-logo {
    grid-area: logo;
}
.dp-footer-newsletter {
    grid-area: newsletter;
    display: flex;
    flex-direction: column;
}
.dp-footer-newsletter > p {
    text-align: center;
}
.dp-footer-newsletter__intro {
    font-size: 1.6rem;
}
.dp-footer-landing-cta {
    grid-area: newsletter;
}
.dp-footer--main .dp-footer-landing-cta {
    color: var(--clr-white);
    margin-bottom: var(--space-section-block);
}
.dp-footer-clinics {
    grid-area: clinics;
    display: flex;
    justify-content: space-evenly;
    width: 100%;
    padding-block: var(--_gutter);
}
.dp-footer-clinics-info {
    display: flex;
    flex-direction: column;
    gap: .75em;
}
.dp-footer--main .dp-footer-clinics-info__list {
    margin-top: 0;
}
.dp-footer-clinics-info__list > * + * {
    margin-top: .8rem;
}
.dp-footer-clinics-info > p {
    color: var(--clr-action);
}
.dp-footer-clinics-info__item > svg {
    --_icon-size: 1.4rem;
    fill: var(--clr-action);
    width: var(--_icon-size);
    height: var(--_icon-size);
}
.dp-footer-useful-links {
    grid-area: useful-links;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .75em;
    width: 100%;
    padding-block: var(--_gutter);
    border-top: 1px solid var(--clr-base);
}
.dp-footer-gdpr {
    display: flex;
    gap: 1.2em;
}
.dp-footer-gdpr__item > a {
    text-decoration: underline;
    text-underline-offset: .2em;
}
.dp-footer-gdpr__item > a:hover {
    text-decoration: underline;
}
.dp-footer-social {
    display: flex;
    gap: 1.2rem;
    margin-top: 0;
}
.dp-footer-social svg {
    --_size: 3.4rem;
    width: var(--_size);
    height: var(--_size);
    fill: var(--clr-action);
    transition: fill 400ms ease-in;
}
.dp-footer-social__item > a {
    position: relative;
    display: flex;
}
.dp-footer-gdpr-social {
    grid-area: gdpr-social;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0;
    width: 100%;
    padding-block: var(--_gutter);
}
.dp-footer-copy {
    grid-area: copy;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1em;
    width: 100%;
    color: var(--clr-white);
    background-color: var(--clr-action);
    padding-block: calc(.35*var(--_gutter));
}
.dp-footer-copy > p {
    font-size: 1.3rem;
    text-align: center;
    margin-bottom: 0;
}
.dp-footer-copy::before {
    content: "";
    position: absolute;
    inset: 0;
    grid-area: bg;
    background-color: var(--clr-action);
    z-index: -1;
}
.dp-footer--main .dp-footer-copy-inner__signature > a {
    color: var(--clr-white);
}
@media only screen and (max-width: 767px) {
    .dp-footer-useful-links {
        flex-direction: column;
        justify-content: revert;
    }
    .dp-footer-copy {
        flex-direction: column;
        justify-content: revert;
        align-items: center;
    }
    .dp-footer-copy-inner__signature {
        order: 2;
    }
}
@media only screen and (max-width: 660px) {
    :is(.dp-footer-clinics, .dp-footer-gdpr-social) {
        flex-direction: column;
        justify-content: revert;
        gap: var(--space-l);
    }
}
/*----------------------------------------------------------------
                    STICKY FOOTER BAR
------------------------------------------------------------------*/
.dp-section-bottom-bar {
    --_margin-bottom: 7.6rem;
    --_el-height: 2.6em;
    --_bg-color: var(--clr-secondary);
    background-color: var(--_bg-color);
    position: sticky;
    bottom: 0;
    z-index: 98;
    isolation: isolate;
}
.dp-section-bottom-bar-part {
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1rem, var(--viewport)) 
        minmax(var(--space-section-inline), 1fr);
}
.dp-section-bottom-bar-part__inner {
    grid-column: 2 / span 1;
}
.dp-banner-footer {
    --_txt-size: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.2em;
    background-color: var(--_bg-color);
    position: relative;
    padding-block: .6em;
    font-size: calc(1.067*var(--_txt-size));
    width: calc(100% - 48px);
    justify-self: end;
}
.dp-banner-footer__cta {
    padding: .5em 1.8em;
    border-radius: var(--radius-l);
    border: 1px solid var(--clr-transparent);
    text-decoration: none;
    font-weight: var(--fw-regular);
    font-size: var(--_txt-size);
    background-color: var(--clr-action);
    transition: all 400ms ease-in-out;
}
.dp-banner-footer__cta:hover {
    background-color: var(--clr-action-hover);
}
.dp-banner-footer__close {
    --_btn-size: 23px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: var(--_btn-size);
    height: var(--_btn-size);
    padding: 2px;
    border-radius: 50%;
    border: none;
    background-color: var(--clr-white);
    cursor: pointer;
}
.dp-banner-footer__close svg {
    width: 100%;
    height: 100%;
    fill: var(--clr-base);
}
.dp-banner-footer-wrapper[data-state="opened"] {
    animation: fadeIn 250ms ease-in-out forwards;
    display: grid;
}
.dp-banner-footer-wrapper[data-state="closing"] {
    animation: fadeOut 250ms ease-in-out forwards;
}
.dp-banner-footer-wrapper[data-state="closed"] {
    display: none;
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
.dp-footer-contact-bar {
    display: none;
}
.dp-footer-contact-bar__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: .6em;
    width: calc(100% - 48px);
    justify-self: end;
}
.dp-footer-contact-bar-cta {
    padding: .4em 1.8em;
    border-radius: var(--radius-l);
    border: 1px solid var(--clr-action);
    text-decoration: none;
    font-weight: var(--fw-bold);
    font-size: 1.3rem;
    color: var(--clr-action);
    background-color: var(--clr-white);
    transition: all 350ms ease-in-out;
}
.dp-footer-contact-bar-cta:hover {
    color: var(--clr-white);
    background-color: var(--clr-action);    
}
@media only screen and (max-width: 767px) {
    .dp-banner-footer {
        width: 100%;
        justify-self: revert;
    }
}
/*-----------------------------------------------------------------------------
        BACK TO TOP
-----------------------------------------------------------------------------*/
.dp-bottom-bar-actions {
    --_margin-bottom: 1.6rem;
    --_el-height: 3em;
    position: relative;
    display: flex;
    justify-content: space-between;
    z-index: -9;
    height: 0;
}
.dp-btn-btt {
    position: absolute;
    right: 3rem;
    bottom: -20rem;
    height: var(--_el-height);
    z-index: 99999;
    line-height: 1;
    padding: .75rem 1.3rem;
    border: 1px solid var(--clr-transparent);
    background-color: var(--clr-gray-light);
    box-shadow: 0 10px 20px -10px rgba(0,0,0,.3);
    transition: bottom 250ms ease, transform 300ms ease-in-out, background-color 300ms ease-in-out;
    cursor: pointer;
}
.dp-btn-btt > svg {
    fill: var(--clr-action);
    transition: fill 300ms ease-in-out;
}
.dp-btn-btt.dp-visible {
    bottom: var(--_margin-bottom);
}
.dp-btn-btt:hover, 
.dp-btn-btt:focus {
    background-color: var(--clr-action);
}
:is(.dp-btn-btt:hover, .dp-btn-btt:focus) > svg {
    fill: var(--clr-white);
}
@media only screen and (max-width: 767px) {
    .dp-footer-contact-bar {
        display: grid;
        padding-block: .6em;
        background-color: hsl(0, 16%, 95%);
    }
    .dp-btn-btt {
        display: none;
    }
}
/*-------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
                    WS FORM CUSTOM CSS
---------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------*/
.dp-wsf--main {
    --_radius: 2rem;
    --_height: 44px;
    --_lang-arrow: 6px;
}
.dp-wsf-section--exclusive {
    --_container-height: 495px;
    min-height: var(--_container-height);
}
.dp-wsf--main :is(input[type=text], input[type=tel], input[type=email], select, textarea).wsf-field {
    border-radius: var(--_radius);
    border: 1px solid var(--clr-action);
}
.dp-wsf--main :is(input[type=text], input[type=tel], input[type=email], select, textarea).wsf-field:focus {
    box-shadow: 0 0 0 4px hsla(var(--clr-action-h), 0.25);
}
.dp-wsf--main :is(input[type=text], input[type=tel], input[type=email], select).wsf-field {
    height: var(--_height);
}
.dp-wsf--main .wsf-label-position-inside :is(input, textarea).wsf-field[placeholder] + label, 
.dp-wsf--main .wsf-label-position-inside :is(select).wsf-field + label {
    border-radius: var(--_radius);
}
.dp-wsf--main .wsf-label-position-inside :is(input, textarea).wsf-field[placeholder] + label {
    left: 28px;
    top: 11.5px;
    z-index: 9;
}
.dp-wsf--main select.wsf-field:not([multiple]):not([size]) {
    height: var(--_height);
}
.dp-wsf--main .iti__selected-flag {
    border-radius: var(--_radius) 0 0 var(--_radius);
    background-color: hsla(var(--clr-action-h), .15);
    transition: background-color 300ms ease;
}
.dp-wsf--main .iti__dropdown-content {
    overflow: hidden;
    border-radius: var(--_radius);
}
.dp-wsf--main .iti--inline-dropdown .iti__country-list {
    /* border-radius: var(--_radius); */
    max-height: 238px;
}
.dp-wsf--main :is(.iti--allow-dropdown, .iti--show-selected-dial-code) .iti__flag-container {
    height: 44px;
}
.dp-wsf--main .iti__search-input {
    overflow: hidden;
}
.dp-wsf--main :is(input[type=checkbox].wsf-field, input[type=radio].wsf-field) + label.wsf-label:before {
    border-radius: var(--_radius);
    border: 1px solid var(--clr-action);
}
.dp-wsf--main :is(input[type=checkbox].wsf-field, input[type=radio].wsf-field):checked + label.wsf-label:before {
    background-color: var(--clr-action);
    border-color: var(--clr-action);
}
.dp-wsf--main :is(input[type=checkbox].wsf-field, input[type=radio].wsf-field):focus + label.wsf-label:before {
    box-shadow: 0 0 0 4px hsla(var(--clr-action-h), .25);
}
/*--------------- SUBMIT BUTTON ----------------------------------*/
.dp-wsf--main button.wsf-button {
    border-radius: var(--_radius);
    padding: 1rem 3.2em;
}
.dp-wsf--main button.wsf-button:is(.wsf-button-action,.wsf-button-primary) {
    background-color: var(--clr-action);
    border-color: var(--clr-action);
    transition: all 300ms ease;
}
.dp-wsf--multistep button.wsf-button:is(.wsf-button-action,.wsf-button-primary) {
    font-size: 1.9rem;
    padding: 1rem 1.2em;
}
.dp-wsf--main button.wsf-button:is(.wsf-button-action,.wsf-button-primary):hover {
    background-color: var(--clr-action-hover);
    border-color: var(--clr-action-hover);
}
/*--------------- SELECT FIELD DROPDOWN ICON ----------------------------------*/
.dp-wsf--main select.wsf-field:not([multiple]):not([size]) {
    background-image: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23912585' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E" ) !important;
    background-size: 18px 13px;
}
.dp-wsf--main input[type=checkbox].wsf-field:focus + label.wsf-label:before {
    box-shadow: 0 0 0 4px hsla(var(--clr-action-h), 0.25);
}
/*--------------- FLAG FIELD DROPDOWN ICON ----------------------------------*/
.dp-wsf--main .iti__arrow {
    position: relative;
    top: -1px;
    margin-left: 6px;
    border: solid;
    border-color: var(--clr-action);
    border-width: 0.1em 0.1em 0 0;
    transform: rotate(135deg);
    width: var(--_lang-arrow);
    height: var(--_lang-arrow);
}
.dp-wsf--main .iti__arrow--up {
    position: relative;
    top: 0;
    transform: rotate(-45deg);
    border-top: revert;
    border-bottom: revert;
    border: solid;
    border-color: var(--clr-action);
    border-width: 0.1em 0.1em 0 0;
}
.dp-wsf--main .iti__country.iti__highlight {
    background-color: hsla(var(--clr-action-h), .15);
}
.dp-wsf--main .iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
    background-color: hsla(var(--clr-action-h), .20);
}
.dp-wsf--main .iti--inline-dropdown .iti__dropdown-content {
    z-index: 15;
}
/*---------------------------------------------------------------------------------------
                                    NEWSLETTER FORM 
----------------------------------------------------------------------------------------*/
.dp-wsf-max--550 {
    max-width: 550px;
}
.dp-wsf--newsletter {
    min-height: 136px;
}
.dp-wsf--newsletter .dp-wsf-newsletter-email-section {
    position: relative;
}
.dp-wsf-newsletter-email-section .dp-wsf-newsletter-submit {
    position: absolute;
    top: 3px;
    left: 93%;
    width: fit-content;
    margin-bottom: 0;
}
.dp-wsf-max--550 .dp-wsf-newsletter-email-section .dp-wsf-newsletter-submit {
    left: 100%;
    padding: 0;
    transform: translateX(calc(-100% - 12px));
}
.dp-wsf-newsletter-email-section .wsf-button.dp-wsf-newsletter-submit__field {
    --_icon-size: 2rem;
    --_btn_size: 4rem;
    width: var(--_btn_size);
    height: var(--_btn_size);
    background-image: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23ffffff' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E" );
    background-position: center;
    background-repeat: no-repeat;
    background-size: var(--_icon-size) var(--_icon-size);
    background-color: var(--clr-action);
    border-color: var(--clr-action);
    border-radius: 100vmax;
    color: var(--clr-transparent);
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
}
.dp-wsf--newsletter input[type=email].wsf-field.dp-wsf-newsletter-email__field, 
.wsf-validated input[type=email].wsf-field.dp-wsf-newsletter-email__field:invalid {
    background-color: var(--clr-transparent);
    border-color: var(--clr-transparent);
    border-radius: 0;
    border-bottom: 1px solid var(--clr-base);
    padding-block: 2.2rem;
    color: var(--clr-base);
}
.dp-wsf--newsletter input[type=email].wsf-field.dp-wsf-newsletter-email__field:focus {
    border-color: var(--clr-action);
    box-shadow: 0 0 14px -1px hsla(0, 100%, 100%, .4);
}
.dp-wsf--newsletter input[type=email].wsf-field.dp-wsf-newsletter-email__field:focus + label, 
.dp-wsf--newsletter .wsf-label-position-inside input.wsf-field[placeholder]:not(:placeholder-shown) + label {
    color: var(--clr-base);
    background-color: var(--clr-action-light);
}
input[type=checkbox].wsf-field.dp-text--white + label.wsf-label {
    color: var(--clr-base);
}
input[type=checkbox].wsf-field.dp-text--s + label.wsf-label {
    font-size: var(--text-s);
}
input[type=checkbox].wsf-field.dp-wsf-check--s + label.wsf-label:before {
    --_chk-size: 18px;
    width: var(--_chk-size);
    height: var(--_chk-size);
}
input[type=checkbox].wsf-field.dp-wsf-check-circle__field + label.wsf-label:before {
    border-radius: 5rem;
    border: 1px solid var(--clr-action);
    background-color: var(--clr-transparent);
    transition: border 300ms ease, background-color 300ms ease;
}
input[type=checkbox].wsf-field.dp-wsf-check-circle__field:checked + label.wsf-label:before {
    background-color: var(--clr-action);
    border-color: var(--clr-action);
}

:is(.dp-wsf--main, .dp-wsf--newsletter) .wsf-alert.wsf-alert-success {
    background-color: var(--clr-action);
    border-color: var(--clr-secondary);
    color: var(--clr-white);
}
@media only screen and (max-width: 567px) {
    .dp-wsf--newsletter {
        min-height: 147px;
    }
}
@media only screen and (max-width: 423px) {
    .dp-wsf--newsletter {
        min-height: 164px;
    }
}
/*------------------------------------------------------------------------------------
                    MULTISTEP FORM
-------------------------------------------------------------------------------------*/
.dp-wsf--multistep {
    --_trans-dur: 350ms;
    --_min-height: 1012px;
    min-height: var(--_min-height);
    /* max-width: 748px; */
}
.dp-wsf-section-gutters .wsf-grid {
    margin-left: 0;
    margin-right: 0;
}
.dp-wsf-section-gutters .wsf-grid.wsf-fields > * + * {
    margin-top: 2.5em;
}
.dp-wsf-section-gutters .wsf-tile {
    padding-left: unset;
    padding-right: unset;
} 
.dp-wsf-section-gutters .wsf-field-wrapper {
    margin-bottom: unset;
}
.dp-wsf-section-nav-btn:is(.wsf-section, .wsf-fieldset) {
    margin-top: var(--space-l);
}
.dp-wsf-section-nav-btn > .wsf-grid {
    display: flex;
    flex-wrap: nowrap;
}
.dp-wsf-section-nav-btn > .wsf-grid > .dp-wsf-nav-btn {
    flex: 0 1 50% !important;
}
.dp-wsf-label--m label.wsf-label {
    font-size: 16px;
    font-weight: var(--fw-bold);
    /* margin-bottom: 1.4rem; */
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps > li > a:hover {
    background-size: 100% 0;
}
.dp-wsf--multistep .wsf-group-tab > a > span  {
    display: flex;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps > li > a:before {
    background-color: var(--clr-action-medium);
    border: 1px solid var(--clr-action);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps > li > a.wsf-tab-disabled:before, 
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps > li.wsf-tab-active ~ li > a.wsf-tab-disabled:before {
    color: var(--clr-action);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps.wsf-steps-success > li.wsf-tab-active > a:before {
    color: var(--clr-white);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps.wsf-steps-success > li > a:before {
    border: 1px solid var(--clr-action);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps > li.wsf-tab-active > a:before {
    background-color: var(--clr-action);
    color: var(--clr-white);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps > li.wsf-tab-active ~ li > a:before {
    background-color: var(--clr-white);
    border-color: var(--clr-action);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps.wsf-steps-success > li > a:before {
    background-color: var(--clr-action);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps > li.wsf-tab-active ~ li > a:after {
    background-color: var(--clr-action);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps.wsf-steps-success > li > a:after {
    background-color: var(--clr-action);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps.wsf-steps-success > li > a:not(.wsf-tab-disabled):focus:before {
    border-color: var(--clr-action);
    box-shadow: 0 0 0 4px hsla(var(--clr-action-h), .25);
}

.dp-wsf--flex {
    display: flex;
    flex-direction: column;
    gap: 1em;
}
.dp-wsf-grid.wsf-tile .wsf-grid {
    align-self: center;
}
:is(.dp-wsf-grid--2, .dp-wsf-grid--3) .wsf-grid {
    display: grid !important;
    width: 100%;
    gap: var(--space-m);
}
.dp-wsf-grid--2 .wsf-grid {
    grid-template-columns: repeat(2, 1fr);
}
.dp-wsf-grid--3 .wsf-grid {
    grid-template-columns: repeat(3, 1fr);
}
.dp-wsf-grid input[type=radio].wsf-field.wsf-image.wsf-image-full + label.wsf-label {
    /* max-width: 200px; */
    display: flex;
    flex-direction: column;
    border: 1px solid var(--clr-action);
    transition: all var(--_trans-dur) ease-in-out;
    height: 100%;
}
.dp-wsf-grid .wsf-grid .wsf-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.dp-wsf-grid input[type=radio].wsf-field.wsf-image + label.wsf-label > img {
    border: 0;
    padding: 6px;
    border-radius: 0;
    transition: background-color var(--_trans-dur) ease-in-out;
}
.dp-wsf-grid .wsf-image-caption {
    color: var(--clr-white);
    background-color: var(--clr-secondary);
    font-size: 17px;
    padding: 1rem;
    margin-top: 0;
    height: 100%;
    transition: background-color var(--_trans-dur) ease-in-out;
}
.dp-wsf-grid input[type=radio].wsf-field.wsf-image.wsf-image-full + label.wsf-label:hover {
    transform: translateY(-3px);
    box-shadow: 0 0 20px -10px hsla(var(--clr-secondary-h), .35);
    background-color: var(--clr-secondary);
}
.dp-wsf-grid input[type=radio].wsf-field.wsf-image.wsf-image-full + label.wsf-label:hover > img {
    background-color: var(--clr-secondary);
}
.dp-wsf-grid input[type=radio].wsf-field.wsf-image:checked + label.wsf-label > img {
    background-color: var(--clr-secondary);
    border: 0;
}
.dp-wsf-grid input[type=radio].wsf-field.wsf-image.wsf-image-full + label.wsf-label:hover .wsf-image-caption {
    background-color: var(--clr-action);
}
.dp-wsf-grid input[type=radio].wsf-field.wsf-image:checked + label.wsf-label .wsf-image-caption {
    background-color: var(--clr-action);
}
.dp-wsf-grid input[type=radio].wsf-field.wsf-image:focus + label.wsf-label > img {
    box-shadow: 0 0 0 4px hsla(var(--clr-action-h), 0.25);
}
.dp-wsf--multistep button.wsf-button, 
.dp-wsf--multistep button.wsf-button:disabled {
    background-color: var(--clr-secondary);
    color: var(--clr-white);
    border: 1px solid var(--clr-secondary);
}
.dp-wsf--multistep button.wsf-button[data-action="wsf-tab_previous"] {
    background-color: var(--clr-white);
    color: var(--clr-secondary);    
}
.dp-wsf--main.dp-wsf--multistep button.wsf-button.wsf-button-action {
    background-color: var(--clr-secondary);
    border-color: var(--clr-secondary);
    font-size: calc(1.2*var(--text-m));
}
.dp-multistep-step-headings {
    text-align: center;
    margin-bottom: var(--space-s);
}
.dp-wsf-check-space--xs > div > * + * {
    margin-top: .5em;
}
.dp-wsf--multistep .wsf-section > legend, .wsf-fieldset > legend {
    font-size: var(--h4);
    margin-bottom: 3rem;
}
@media only screen and (max-width: 700px) {
    .dp-wsf-grid--3 .wsf-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .dp-wsf-section-nav-btn > .wsf-grid {
        flex-direction: column-reverse;
    }
}
/*--------------- MITIGATE LAYOUT SHIFTS ----------------------------------*/
@media only screen and (max-width: 991px) {
    .dp-wsf--multistep {
        --_min-height: 965px;
    }
}
@media only screen and (max-width: 767px) {
    .dp-wsf--multistep {
        --_min-height: 935px;
    }
    .dp-wsf-section--exclusive {
        --_container-height: 623px;
    }
}
@media only screen and (max-width: 649px) {
    .dp-wsf--multistep {
        --_min-height: 860px;
    }
    .dp-wsf-section--exclusive {
        --_container-height: 642px;
    }
}
@media only screen and (max-width: 524px) {
    .dp-wsf-section--exclusive {
        --_container-height: 662px;
    }
}
@media only screen and (max-width: 480px) {
    .dp-wsf-section--exclusive {
        --_container-height: 682px;
    }
}
/*------------------------------------------------------------------------------
                COOKIE BOT
-------------------------------------------------------------------------------*/
#CookiebotWidget {
    left: 1.6rem !important;
    bottom: 1.6rem !important;
}
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonAccept, 
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonAccept, #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
    background-color: var(--clr-action) !important;
    border-color: var(--clr-action) !important;
    /* color: #ffffff; */
}
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize, 
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection {
    border-color: var(--clr-action) !important;
}
#CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a {
    color: var(--clr-action) !important;
}
#CybotCookiebotDialogBodyLevelButtonIABHeaderViewPartnersLink, 
#CybotCookiebotDialog #CybotCookiebotDialogDetailBulkConsentList dt a, 
#CybotCookiebotDialog #CybotCookiebotDialogDetailFooter a, 
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonIABDescription a, 
#CybotCookiebotDialog .CybotCookiebotDialogDetailBodyContentCookieLink, 
#CybotCookiebotDialogDetailBodyContentTextAbout a {
    color: var(--clr-action) !important;
}
#CybotCookiebotDialog input:checked+.CybotCookiebotDialogBodyLevelButtonSlider {
    background-color: var(--clr-action) !important;
}
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
    /* border-color: transparent; */
    border-bottom: 1px solid var(--clr-action) !important;
    color: var(--clr-action) !important;
}
#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton {
    border: 2px solid var(--clr-action) !important;
}
#CookiebotWidget .CookiebotWidget-body .CookiebotWidget-consents-list li.CookiebotWidget-approved svg {
    fill: var(--clr-action) !important;
}
#CookiebotWidget .CookiebotWidget-consent-details button {
    color: var(--clr-action) !important;
}
#CookiebotWidget #CookiebotWidget-buttons #CookiebotWidget-btn-change {
    background-color: var(--clr-action) !important;
    border-color: var(--clr-action) !important;
}
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink:hover {
    color: var(--clr-action) !important;
}
#CybotCookiebotDialog a:hover:after, 
#CybotCookiebotDialog a:hover:before, 
#CybotCookiebotDialog button:hover:after, 
#CybotCookiebotDialog button:hover:before {
    border-color: var(--clr-action) !important;
}
@media screen and (min-width: 1280px) {
    #CybotCookiebotDialog[data-template=bottom] {
        top: 100%;
        transform: translate(-50%, -130%) !important;
    }
}
@media screen and (max-width: 767px) {
    #CookiebotWidget:not(.CookiebotWidget-inactive) {
        bottom: 3px !important;
        left: 1rem;
    }
}