/*----------------------------------------------------------------
                    MAIN GRID
------------------------------------------------------------------*/
.dp-grid-main {
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1px, var(--viewport)) 
        minmax(var(--space-section-inline), 1fr);
}
.dp-grid-main > * {
    grid-column: 2 / span 1;
}
/* .dp-main--constrained > .dp-grid-main {
    grid-template-columns: minmax(1px, 1fr);
} */
.dp-main--constrained > .dp-grid-main {
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1px, var(--viewport-constrained)) 
        minmax(var(--space-section-inline), 1fr);
}
.dp-main--constrained > .dp-grid-main > * {
    width: min(100%, var(--viewport-constrained));
    margin-inline: auto;
}
.dp-row-gap--m {
    gap: 2em 0;
}
/*----------------------------------------------------------------
                    HEADER
------------------------------------------------------------------*/
.dp-header--sticky {
    position: sticky;
    top: 0;
}
.dp-header-wrapper {
    z-index: var(--z-index-menu);
    height: var(--menu-height);
    width: 100%;
    isolation: isolate;
}
.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);
}
/*----------------------------------------------------------------
                    MAIN MENU TOP
------------------------------------------------------------------*/
.dp-menu-top, 
.dp-menu-top-single-lang, 
.dp-menu-top-single-logo, 
.dp-menu-top--landing {
    --_cta-width: 25rem;
    --_lang-width: 7rem;
    display: grid;
    width: 100%;
    height: inherit;
    padding-block: var(--space-s);
    background-color: var(--clr-secondary);
    color: var(--clr-white);
}
:is(.dp-menu-top, .dp-menu-top-single-lang) {
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        var(--_cta-width) 
        minmax(0px, calc( var(--viewport) - 2*var(--_cta-width) ) ) 
        calc(var(--_cta-width) - var(--_lang-width)) 
        var(--_lang-width) 
        minmax(var(--space-section-inline), 1fr);
}
.dp-menu-top {
    grid-template-areas: 
        "... cta logo menu-toggle lang ...";
}
.dp-menu-top-single-lang {
    grid-template-areas: 
        "... cta logo menu-toggle menu-toggle ...";
}
:is(.dp-menu-top-single-logo, .dp-menu-top--landing) {
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        repeat(2, minmax( 1rem, calc(var(--viewport)/2 )))
        minmax(var(--space-section-inline), 1fr);
}
.dp-menu-top-single-logo {
    grid-template-areas: 
        "... logo logo ...";
}
.dp-menu-top--landing {
    grid-template-areas: 
        "... logo cta ...";
}
.dp-menu-cta {
    grid-area: cta;
}
.dp-menu-logo {
    grid-area: logo;
}
.dp-menu-toggle-container {
    grid-area: menu-toggle;
}
.dp-menu-lang-switcher {
    grid-area: lang;
}
.dp-menu-top--landing .dp-menu-logo {
    display: flex;
    justify-content: flex-start;
    /* justify-self: flex-start; */
    width: 100%;
}
.dp-menu-top--landing .dp-menu-cta {
    justify-self: end;
}
@media only screen and (max-width: 767px) {
    :is(.dp-menu-top, .dp-menu-top-single-lang) {
        --_toggle-width: 7.8rem;
        grid-template-columns: 
            minmax(var(--space-section-inline), 1fr) 
            var(--_toggle-width) 
            minmax(0px, calc( var(--viewport) - 2*var(--_toggle-width) ) )
            var(--_toggle-width) 
            minmax(var(--space-section-inline), 1fr);
    }
    .dp-menu-top {
        grid-template-areas: 
            "... lang logo menu-toggle ...";
    }
    .dp-menu-top-single-lang {
        grid-template-areas: 
            "... logo logo menu-toggle ...";
    }
    :is(.dp-menu-top--landing, .dp-menu-top-single-logo) {
        grid-template-areas: 
            "... logo logo ...";
    }
    :is(.dp-menu-top--landing, .dp-menu-top-single-logo) .dp-menu-logo {
        justify-self: center;
    }
    :is(.dp-menu-top--landing, .dp-menu-top-single-logo) .dp-menu-cta {
        display: none;
    }
    :is(.dp-menu-top, .dp-menu-top-single-lang) .dp-menu-cta {
        display: none;
    }
    .dp-menu-top .dp-lang {
        justify-content: flex-start;
        margin-inline-start: revert;
    }
    .dp-menu-panel > * {
        overflow: hidden;
    }
}
/*----------------------------------------------------------------
                    MAIN MENU NAV
------------------------------------------------------------------*/
.dp-menu-main-nav-wrapper {
    height: calc( 100vh - var(--menu-height));
    overflow-y: auto;
    opacity: 0;
}
.dp-menu-main-nav-wrapper[data-state="opened"] {
    animation: fadeIn 300ms ease-in-out forwards;
    display: block;
}
.dp-menu-main-nav-wrapper[data-state="closing"] {
    animation: fadeOut 300ms ease-in-out forwards;
}
.dp-menu-main-nav-wrapper[data-state="closed"] {
    display: none;
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
.dp-menu-main-nav, 
.dp-menu-main-nav--lang {
    --_col-number: 3;
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        repeat(var(--_col-number), minmax( 0px, calc( var(--viewport) / var(--_col-number) ) )) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-rows: auto 1fr 6fr 0fr;
    gap: clamp(1rem, calc(1rem + ((1vw - 0.48rem) * 2.2573)), 3rem) 0;
    padding-block: var(--space-s);
    list-style: none;
    margin-inline-start: 0;
}
.dp-menu-main-nav {
    grid-template-areas: 
        "... about-us hair-loss hair-transplant ..." 
        "... blog alopecia results ..." 
        "... contact alopecia results ..." 
        "... nav-cta nav-cta nav-cta ...";
}
.dp-menu-main-nav--lang {
    grid-template-areas: 
        "... about-us hair-loss hair-transplant ..." 
        "... contact alopecia results ..." 
        "... contact alopecia results ..." 
        "... nav-cta nav-cta nav-cta ...";
}
.dp-menu-about-us {
    grid-area: about-us;
}
.dp-menu-hair-loss {
    grid-area: hair-loss;
}
.dp-menu-hair-transplant {
    grid-area: hair-transplant;
}
.dp-menu-alopecia {
    grid-area: alopecia;
}
.dp-menu-results {
    grid-area: results;
}
.dp-menu-blog {
    grid-area: blog;
}
.dp-menu-contact {
    grid-area: contact;
    align-self: start;
}
.dp-menu-nav-cta {
    grid-area: nav-cta;
    overflow: hidden;
}
.dp-menu-about-us, 
.dp-menu-blog, 
.dp-menu-contact {
    padding-inline-end: var(--space-s);
}
.dp-menu-hair-loss, 
.dp-menu-alopecia, 
.dp-menu-hair-transplant, 
.dp-menu-results {
    padding-inline-start: var(--space-s);
}
.dp-main-nav .dp-menu-list {
    list-style: none;
    padding-inline-start: 0;
    margin: 0;
}
.dp-main-nav .dp-menu-list > * + * {
    margin-top: 1rem;
}
.dp-main-nav .dp-menu-list a {
    font-weight: var(--fw-regular);
}
.dp-main-nav .dp-menu-list a:hover {
    font-weight: var(--fw-bold);
}
.dp-submenu-title {
    margin-bottom: var(--space-s);
    font-size: clamp(2.1rem, calc(2.1rem + ((1vw - 0.48rem) * 0.699)), 2.7193rem);
}
.dp-submenu-title svg {
    --_icon-size: 16px;
    fill: var(--clr-white);
    width: var(--_icon-size);
    height: var(--_icon-size);
    display: none;
}
:is(.dp-menu-blog, .dp-menu-contact) .dp-submenu-title {
    margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
    .dp-menu-main-nav, 
    .dp-menu-main-nav--lang {
        grid-template-columns: 
            minmax(var(--space-section-inline), 1fr) 
            minmax(1rem, var(--viewport)) 
            minmax(var(--space-section-inline), 1fr);
        grid-template-rows: auto;
    }
    .dp-menu-main-nav {
        grid-template-areas: 
            "... about-us ..." 
            "... hair-loss ..." 
            "... alopecia ..." 
            "... hair-transplant ..." 
            "... results ..." 
            "... blog ..." 
            "... contact ..." 
            "... nav-cta ...";
    }
    .dp-menu-main-nav--lang {
        grid-template-areas: 
            "... about-us ..." 
            "... hair-loss ..." 
            "... alopecia ..." 
            "... hair-transplant ..." 
            "... results ..." 
            "... contact ..." 
            "... nav-cta ...";
    }
    .dp-menu-nav-cta {
        margin-top: var(--space-l);
        justify-self: center;
    }
    .dp-menu-about-us, 
    .dp-menu-blog, 
    .dp-menu-contact {
        padding-inline-end: revert;
    }
    .dp-menu-hair-loss, 
    .dp-menu-alopecia, 
    .dp-menu-hair-transplant, 
    .dp-menu-results {
        padding-inline-start: revert;
    }
     .dp-menu-panel {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 500ms;
        font-size: 1.6rem;
    }
     .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);
    }
}
/*----------------------------------------------------------------
                    MAIN MENU TOP TOGGLER
------------------------------------------------------------------*/
.dp-menu-toggle {
    position: relative;
    display: flex;
    align-items: center;
    gap: .5rem;
    background: var(--clr-transparent);
    border: none;
    cursor: pointer;
    color: var(--clr-white);
}
.dp-menu-toggle-container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.dp-menu-toggle__title {
    font-family: var(--ff-heading);
    opacity: 1;
    transition: opacity 250ms ease;
}
.dp-menu-toggle-container {
    z-index: calc(var(--z-index-menu) + 1);
}
.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: 1px solid var(--clr-white);
    border-radius: 100vw;
}
.dp-menu-toggle[aria-expanded="true"] .dp-menu-toggle__title {
    opacity: 0;
}
.dp-hamburger-container {
    position: absolute;
    inset-inline-start: -33px;
    height: 2rem;
    display: flex;
    align-items: center;
    cursor: pointer;
}
.dp-hamburger,
.dp-hamburger::before,
.dp-hamburger::after {
    --_height: 2px;
    content: "";
    display: block;
    background: var(--clr-white);
    height: var(--_height);
    border-radius: 3px;
    transition: all 250ms ease-in-out;
}
.dp-hamburger {
    width: 1.75em;
}
.dp-hamburger::before {
    transform: translateY(calc( -3*var(--_height) ));
    width: 1.35em;
    margin-inline-start: auto;
}
.dp-hamburger::after {
    transform: translateY(calc( 2*var(--_height) ));
    width: 1em;
    margin-inline-start: auto;
}
[aria-expanded="true"] .dp-hamburger, 
[aria-expanded="true"] .dp-hamburger::before, 
[aria-expanded="true"] .dp-hamburger::after  {
    background: var(--clr-white);
    width: 1.75em;
}
[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);
}
@media only screen and (max-width:767px) {
    .dp-menu-toggle-container {
        width: 100%;
        display: flex;
        justify-content: flex-end;
    }
    .dp-menu-toggle__title {
        display: none;
    }
}
/*----------------------------------------------------------------
                    HEADER
------------------------------------------------------------------*/
.dp-header-inner {
    display: grid;
    grid-template-columns: 20rem minmax(auto, 1fr) 10rem 10rem;
    margin-inline-start: auto;
    margin-inline-end: auto;
    width: 100%;
    height: 100%;
    max-width: var(--viewport);
    align-items: center;
}
.dp-menu-logo-img-wrapper {
    --_logo-max-width: 220px;
    max-width: var(--_logo-max-width);
    width: 100%;
}
.dp-footer-logo-img-wrapper {
    --_logo-max-width: 320px;
    max-width: var(--_logo-max-width);
}
.dp-menu-logo, 
.dp-footer-logo {
    display: flex;
    align-items: center;
    flex: 1;
}
.dp-menu-logo {
    justify-content: center;
}
.dp-footer-logo {
    justify-content: flex-start;
}
.dp-menu-logo > a, 
.dp-footer-logo > a {
    display: flex;
}
.dp-menu-logo svg {
    width: 100%;
    max-width: 24rem;
}
.dp-menu-content {
    position: absolute;
    inset: 0;
    width: 100%;
    min-height: 100vh;
    padding: 0;
    overflow-y: auto;
    background: var(--clr-white);
    z-index: var(--z-index-menu);
    opacity: 0;
    /* animation: menureveal 2.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) .15s both; */
}
.dp-menu-inner {
    --width-left: 70%;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
}
.dp-menu-inner [role="tablist"] {
    list-style: none;
    padding: var(--menu-height) 3rem;
    margin-inline-start: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    width: calc( 100% - var(--width-left) );
    border-inline-start: .2rem solid var(--clr-primary);
}
.dp-main-nav__link {
    --size-bullet: 1.6rem;
    position: relative;
    display: flex;
    align-items: center;
    gap: 1.2rem;
}
.dp-main-nav__icon {
    display: none;
    --size: 1.6rem;
    fill: var(--clr-primary);
    width: var(--size);
    height: var(--size);
    transition: all .4s ease-in-out;
}
.dp-main-nav__icon.dp-rotate--180 {
    transition: all .4s ease-in-out;
    transform: rotate(180deg);
}
.dp-main-nav__link::before {
    display: none;
    content: "";
    position: absolute;
    width: var(--size-bullet);
    height: var(--size-bullet);
    border-radius: 20em;
    background: var(--clr-primary);
    top: 0;
    inset-inline-start: -3rem;
    transform: translate(-51%, 50%);
}
.dp-main-nav__link[aria-selected="true"] {
    font-weight: var(--fw-bold);
}
[aria-selected="true"].dp-main-nav__link::before {
    display: block;
}
.dp-menu-inner [role="tablist"] > * + * {
    margin-top: 1.4em;
}
.dp-menu-tabs__panels {
    height: 100%;
    width: var(--width-left);
    padding: var(--menu-height) 2em;
    margin-top: 0;
    overflow-y: auto;
}
@media only screen and (max-width:767px) {
    .dp-header-inner {
        grid-template-columns: 8rem minmax(12rem, 1fr) 8rem;
    }
    .dp-menu-btn-wrapper {
        display: none;
    }
    .dp-menu-inner {
        flex-direction: column;
        justify-content: flex-start;
        align-items: revert;
    }
    .dp-menu-inner [role="tablist"] {
        width: 100%;
        height: auto;
        border-inline-start: none;
        justify-content: flex-start;
        flex: 1;
    }
    .dp-main-nav__link {
        margin-bottom: 1rem;
    }
    .dp-main-nav__link[aria-selected="true"] {
        font-weight: revert;
    }
    [aria-selected="true"].dp-main-nav__link::before {
        display: none;
    }
    .dp-main-nav__icon {
        display: revert;
    }
    .dp-menu-face-body {
        flex-direction: column;
        gap: var(--space-m);
    }
    :is(.dp-menu-dermatology, .dp-menu-plastic-surgery) ul {
        columns: 1;
    }
    .dp-main-nav__face {
        width: revert;
    }
    .dp-menu-tabs__panels {
        display: none;
        width: 100%;
    }
    .dp-menu-tabs__panel {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 500ms;
        font-size: 1.6rem;
    }
    #section-1 {
        grid-template-rows: 0fr;
    }
    #section-1[aria-hidden="false"], 
    .dp-menu-tabs__panel[aria-hidden="false"] {
        grid-template-rows: 1fr;
    }
    .dp-menu-tabs__panel > * {
        overflow: hidden;
    }
}
/*----------------------------------------------------------------------------
                    FOOTER STICKY
-----------------------------------------------------------------------------*/
.dp-bottom-bar {
    position: sticky;
    bottom: 0;
    z-index: 99;    
}
.dp-bottom-bar-actions {
    --_margin-bottom: 6.6rem;
    --_el-height: 3em;
    display: flex;
    justify-content: flex-end;
    z-index: -9;
    height: 0;
}
.dp-banner-footer {
    --_font-size: 1.8rem;
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1rem, var(--viewport)) 
        minmax(var(--space-section-inline), 1fr);
    background-color: var(--clr-secondary);
    position: relative;
    isolation: isolate;
}
.dp-banner-footer__inner {
    --_width: 100%;
    grid-column: 2 / span 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.2em;
    position: relative;
    padding-block: .6em;
    font-size: calc(1.067* var(--_txt-size));
    width: var(--_width);
    justify-self: end;
}
.dp-banner-footer__text {
    font-size: var(--_font-size);
}
.dp-banner-footer__cta {
    padding: .35em 1.1em;
    background-color: var(--clr-gray-light);
    color: var(--clr-base);
    font-weight: var(--fw-bold);
    font-size: var(--_font-size);
    border-radius: var(--radius-l);
    border: 2px solid var(--clr-primary);
}
.dp-banner-footer__close {
    --_btn-size: 26px;
    position: absolute;
    top: 0;
    inset-inline-end: 0;
    width: var(--_btn-size);
    height: var(--_btn-size);
    padding: 2px;
    border-radius: 50%;
    border-color: var(--clr-secondary);
    background-color: var(--clr-gray-light);
    cursor: pointer;
}
.dp-banner-footer__close svg {
    width: 100%;
    height: 100%;
    fill: var(--clr-base);
}
.dp-text--banner-standout {
    font-weight: var(--fw-bold);
}
.dp-banner-footer[data-state="opened"] {
    animation: fadeIn 250ms ease-in-out forwards;
    display: grid;
}
.dp-banner-footer[data-state="closing"] {
    animation: fadeOut 250ms ease-in-out forwards;
}
.dp-banner-footer[data-state="closed"] {
    display: none;
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
.dp-bottom-bar-actions-alt {
    --_inline-padding: var(--space-section-inline);
    display: grid;
    grid-template-columns: minmax(var(--_inline-padding), 1fr) minmax(1rem, var(--viewport)) minmax(var(--_inline-padding), 1fr);
    background-color: var(--clr-gray-light);
    position: relative;
    isolation: isolate;
    padding-block: 4px;
}
.dp-bottom-bar-actions-alt > * {
    grid-column: 2 / span 1;
    display: flex;
    justify-content: space-between;
}
.dp-sticky-contact__cta {
    --_clr-btn: var(--clr-primary);
    --_font-size: 16px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    align-items: center;
    justify-content: center;
    padding: .35em 1.3em;
    border-radius: var(--radius-l);
    border: 1px solid var(--_clr-btn);
    width: fit-content;
    color: var(--clr-white);
    font-weight: var(--fw-bold);
    font-size: var(--_font-size);
    text-decoration: none;
    background-color: var(--_clr-btn);
}
.dp-sticky-contact__wtsp {
    width: 148.83px;
}
.dp-sticky-contact__phone {
    display: none;
}
.dp-sticky-contact__cta > svg {
    --_size: 15px;
    width: var(--_size);
    height: var(--_size);
    fill: var(--clr-white);
    flex-shrink: 0;
}
@media only screen and (max-width: 1560px) {
    .dp-banner-footer__inner {
        --_width: calc(100% - 65px);    
    }
}
@media only screen and (max-width: 767px) {
    .dp-banner-footer__inner {
        --_width: calc(100% - 48px);    
    }
    .dp-sticky-contact__phone {
        display: revert;
    }
    .dp-sticky-contact__cta {
        --_font-size: 14px;
        padding: .35em 1.1em;
    }
    .dp-sticky-contact__wtsp {
        width: 127.26px;
    }
}
@media only screen and (max-width: 610px) {
    .dp-banner-footer__text > a {
        line-height: 1.8;
    }
}
@media only screen and (max-width: 490px) {
    .dp-bottom-bar-actions-alt {
        --_inline-padding: 4px;
    }
    .dp-sticky-contact__cta {
        --_font-size: 13px;
    }
}
@media only screen and (max-width: 420px) {
    .dp-sticky-contact__cta {
        --_font-size: 12px;
    }
    .dp-sticky-contact__wtsp {
        width: 112.063px;
    }
}
/*----------------------------------------------------------------------------
                MAIN CTA MOBILE
----------------------------------------------------------------------------*/
.dp-btn-book--float {
    display: flex;
    align-items: center;
    gap: .6rem;
    color: var(--clr-primary);
    text-decoration: none;
    padding: .8rem 1.8rem;
    width: fit-content;
    height: var(--_el-height);
    background-color: var(--clr-gray);
    position: relative;
    bottom: var(--_margin-bottom);
    inset-inline-start: 3rem;
    z-index: 9999;
    box-shadow: 0 .4rem 2rem -.6rem rgba(0, 0, 0, .3);
    transition: all 300ms ease-in-out;
}
.dp-btn-book--float > svg {
    --svg-size: 2.4rem;
    fill: var(--clr-primary);
    width: var(--svg-size);
    height: var(--svg-size);
    transition: fill 300ms ease-in-out;
}
.dp-btn-book--float:hover {
    color: var(--clr-white);
    background-color: var(--clr-primary);
}
.dp-btn-book--float:hover > svg {
    fill: var(--clr-white);
}
@media only screen and (max-width: 767px) {
    .dp-btn-book--float {
        --size: 4.8rem;
        width: var(--size);
        height: var(--size);
        padding: 1rem;
        border-radius: 50%;
        inset-inline-start: 1rem;
    }
    .dp-btn-book--float > svg {
        width: 100%;
        height: 100%;
    }
    .dp-btn-book--float > span {
        display: none;
    }
}
/*-----------------------------------------------------------------------------
        BACK TO TOP
-----------------------------------------------------------------------------*/
.dp-btn-btt {
    position: relative;
    inset-inline-end: 3rem;
    bottom: -20rem;
    height: var(--_el-height);
    z-index: 99999;
    line-height: 1;
    padding: 1rem;
    border: 1px solid var(--transparent);
    background-color: var(--clr-gray);
    box-shadow: 0 10px 20px 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-primary);
    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-accent);
}
:is(.dp-btn-btt:hover, .dp-btn-btt:focus) > svg {
    fill: var(--clr-white);
}
@media only screen and (max-width: 767px) {
    .dp-btn-btt {
        display: none;
    }
}
/*-----------------------------------------------------------------------------
        CONTACT FLOATING BUTTON
-----------------------------------------------------------------------------*/
 .dp-btn-contact--float {
    --size: 4.8rem;
    position: relative;
    bottom: var(--_margin-bottom);
    display: none;
    width: var(--size);
    height: var(--size);
    padding: 1rem;
    border-radius: 50%;
    inset-inline-end: 1rem;
    z-index: 9999;
    background-color: var(--clr-gray);
    box-shadow: 0 .4rem 2rem -.6rem rgba(0, 0, 0, .3);
    transition: all 300ms ease-in-out;
}
.dp-btn-contact--float:hover {
    background-color: var(--clr-primary);
}
.dp-btn-contact-floating-icon {
    fill: var(--clr-primary);
    width: 100%;
    height: 100%;
    transition: all 300ms ease-in-out;
}
.dp-btn-contact-floating-icon:hover {
    fill: var(--clr-white);
}
@media only screen and (max-width: 767px) {
    .dp-btn-contact--float {
        display: flex;
        align-items: center;
    }
}
/*----------------------------------------------------------------
                    WPML
------------------------------------------------------------------*/
.wpml-ls-legacy-dropdown {
    width: 15.5em;
    max-width: 100%;
}
.wpml-ls-legacy-dropdown > ul {
    position: relative;
    padding: 0;
    margin: 0 !important;
    list-style-type: none;
}
.wpml-ls-legacy-dropdown .wpml-ls-current-language:focus .wpml-ls-sub-menu,
.wpml-ls-legacy-dropdown .wpml-ls-current-language:hover .wpml-ls-sub-menu {
    visibility: visible;
}
.wpml-ls-legacy-dropdown .wpml-ls-item {
    padding: 0;
    margin: 0;
    list-style-type: none;
}
.wpml-ls-legacy-dropdown a {
    display: block;
    text-decoration: none;
    color: #444;
    border: 1px solid #cdcdcd;
    background-color: #fff;
    padding: 5px 10px;
    line-height: 1;
}
.wpml-ls-legacy-dropdown a span {
    vertical-align: middle;
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {
    position: relative;
    padding-inline-end: calc(10px + 1.4em);
}
.rtl .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {
    padding-inline-end: 10px;
    padding-inline-start: calc(10px + 1.4em);
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
    content: "";
    vertical-align: middle;
    display: inline-block;
    border: .35em solid transparent;
    border-top: .5em solid;
    position: absolute;
    inset-inline-end: 10px;
    top: calc(50% - .175em);
}
.rtl .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
    inset-inline-end: auto;
    inset-inline-start: 10px;
}
.wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > a,
.wpml-ls-legacy-dropdown a:focus,
.wpml-ls-legacy-dropdown a:hover {
    color: #000;
    background: #eee;
}
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
    visibility: hidden;
    position: absolute;
    top: 100%;
    inset-inline-end: 0;
    inset-inline-start: 0;
    border-top: 1px solid #cdcdcd;
    padding: 0;
    margin: 0;
    list-style-type: none;
    z-index: 101;
}
.wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {
    border-width: 0 1px 1px;
}
.wpml-ls-legacy-dropdown .wpml-ls-flag {
    display: inline;
    vertical-align: middle;
}
.wpml-ls-legacy-dropdown .wpml-ls-flag+span {
    margin-inline-start: .4em;
}
.rtl .wpml-ls-legacy-dropdown .wpml-ls-flag+span {
    margin-inline-start: 0;
    margin-inline-end: .4em;
}
.dp-lang {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    /* gap: .3rem; */
    margin-inline-start: 1em;
}
.dp-lang svg {
    --size-globe: 1.6rem;
    width: var(--size-globe);
    height: var(--size-globe);
    fill: var(--clr-white);
}
.dp-header-overlay .dp-lang svg {
    fill: var(--clr-white);
}
.dp-lang .wpml-ls-legacy-dropdown {
    --size-chevron: .5em;
    width: fit-content;
}
.dp-lang .wpml-ls-legacy-dropdown a {
    border: none;
    background-color: var(--clr-transparent);
    padding: .5rem .8rem;
    color: var(--clr-white);
}
.dp-header-overlay .dp-lang .wpml-ls-legacy-dropdown a {
    color: var(--clr-white);
}
.dp-lang .wpml-ls-legacy-dropdown .wpml-ls-item {
    font-size: 1.4rem;
}
.dp-lang .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle {
    padding-inline-end: calc( 1rem + 1.2em );
}
.dp-lang .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
    border: unset;
    border-style: solid;
    border-color: var(--clr-white);
	border-width: 0.1em 0.1em 0 0;
    transform: rotate(135deg);
    width: var(--size-chevron);
    height: var(--size-chevron);
    inset-inline-end: 1.4rem;
    top: calc( 50% - .5*var(--size-chevron) );
}
.dp-header-overlay .dp-lang .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
    border-color: var(--clr-white);
}
.dp-lang .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > a, 
.dp-lang .wpml-ls-legacy-dropdown a:focus, 
.dp-lang .wpml-ls-legacy-dropdown a:hover {
    color: var(--clr-white);
    background-color: var(--clr-secondary);
}
.dp-lang .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > a {
    font-weight: var(--fw-bold);
}
.dp-lang .wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
    background-color: var(--clr-secondary);
    border-top: .05rem solid var(--clr-primary);
}
.dp-lang .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {
    color: var(--clr-white);
    transition: color 250ms ease;
}
.dp-lang .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a:hover {
    color: var(--clr-accent);
}
.dp-lang .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover .wpml-ls-sub-menu {
    box-shadow: 0 .4rem 2rem -1rem rgba(0,0,0,.5);
    border-radius: 0 0 .2rem .2rem;
}
/*----------------------------------------------------------------
                    FOOTER [NEW]
------------------------------------------------------------------*/
.dp-footer {
    font-size: 1.4rem;
}
.dp-footer--main {
    --_items-spacing: var(--space-l);
    display: grid;
    grid-template-columns: 
        [full-width-start clinics-start copy-bg-start] 
        minmax(var(--space-section-inline), 1fr) 
        [logo-start newsletter-start useful-links-start gdpr-social-start copy-start] 
        minmax(10px, var(--viewport)) 
        [logo-end newsletter-end useful-links-end gdpr-social-end copy-end] 
        minmax(var(--space-section-inline), 1fr) 
        [full-width-end clinics-end copy-bg-end];
    grid-template-rows: 
        [full-width-start logo-start] 
        auto 
        [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 copy-bg-start]
        auto 
        [copy-end copy-bg-end full-width-end];
    place-items: center;
    padding-top: var(--space-xxl);
    position: relative;
    isolation: isolate;
}
.dp-footer-logo {
    grid-area: logo;
}
.dp-footer-newsletter {
    grid-area: newsletter;
    margin-top: var(--_items-spacing);
}
.dp-footer-clinics {
    grid-area: clinics;
    padding-inline: var(--space-section-inline);
    margin-block: var(--_items-spacing);
    display: grid;
    grid-template-columns: repeat(3, minmax(1rem, 1fr));
    gap: var(--space-m);
}
.dp-footer-useful-links {
    grid-area: useful-links;
    border-top: 1px solid hsla(var(--clr-gray-light-h), .5);
}
.dp-footer-gdpr-social {
    grid-area: gdpr-social;
}
.dp-footer-copy {
    grid-area: copy;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-xs);
    font-size: 1.2rem;
    letter-spacing: .008rem;
    padding-block: 1.4rem;
}
.dp-footer-copy > p {
    margin-bottom: 0;
    color: var(--clr-gray-medium);
    text-align: center;
}
.dp-footer-copy::before {
    content: "";
    position: absolute;
    inset: 0;
    grid-area: copy-bg;
    background-color: var(--clr-black);
    z-index: -1;
}
.dp-footer-container {
    margin-top: var(--space-xxl);
}
.dp-footer-list-wrapper {
    --_main-gap: 1.1rem;
    --_font-size: 1.4rem;
}
.dp-footer-logo svg {
    fill: var(--clr-white);
    width: 100%;
    max-width: 23rem;
}
.dp-footer-headline {
    color: var(--clr-white);
    font-size: var(--_font-size);
    font-weight: var(--fw-bold);
    letter-spacing: .14rem;
    margin-bottom: var(--_main-gap);
}
.dp-footer-list-wrapper .dp-menu-list {
    list-style: none;
    padding-inline-start: 0;
    margin-inline-start: 0;
    color: var(--clr-white);
    font-size: var(--_font-size);
}
.dp-footer-list-wrapper .dp-menu-list > * + * {
    margin-top: var(--_main-gap);
}
.dp-footer-social {
    list-style: none;
    padding-inline-start: 0;
    display: flex;
    gap: 1rem;
    margin-top: 0;
}
.dp-footer-social svg {
    --_size: 3.4rem;
    width: var(--_size);
    height: var(--_size);
    fill: var(--clr-white);
    transition: fill 400ms ease-in;
}
.dp-footer-social svg:is(:hover, :focus) {
    fill: var(--clr-primary);
}
/*------------------------------------------------------------------------------
                    FOOTER CLINICS
-------------------------------------------------------------------------------*/
.dp-footer-clinics-main-title {
    grid-column: 1 / -1;
    justify-self: center;
    color: var(--clr-primary);
    font-size: var(--text-xxl);
    font-weight: var(--fw-bold);
    letter-spacing: 2px;
}
.dp-footer-clinics-list-wrapper {
    padding: 1em;
    border: 1px solid var(--clr-primary);
}
.dp-footer-clinics-area {
    font-size: calc( .9*var(--text-xl) );
    padding-bottom: .2em;
    border-bottom: 1px solid var(--clr-primary);
}
.dp-footer-clinics-list {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(1rem, 1fr));
    gap: var(--space-s);
    margin-inline-start: 0;
}
.dp-footer-clinics-item {
    display: flex;
    flex-direction: column;
}
:where(.dp-footer-clinics-item__address, .dp-footer-clinics-item__tel) {
    width: fit-content;
}
.dp-footer-clinics-item-wrapper {
    display: flex;
}
.dp-footer-clinics-item__icon {
    --_icon-size: 1.4rem;
    width: var(--_icon-size);
    height: var(--_icon-size);
    fill: var(--clr-accent);
    margin-inline-end: .6rem;
    margin-top: .7rem;
}
/*------------------------------------------------------------------------------
                    FOOTER USEFUL LINKS
-------------------------------------------------------------------------------*/
.dp-footer-useful-links .dp-menu-list {
    list-style: none;
    margin-inline-start: 0;
    padding-top: var(--space-m);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--space-s);
    width: 100%;
}
.dp-footer-gdpr-social {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: var(--space-m);
    width: 100%;
}
/*------------------------------------------------------------------------------
                    FOOTER COPYRIGHT
-------------------------------------------------------------------------------*/
.dp-footer-copy-inner {
    width: 100%;
    gap: var(--space-xs);
    font-size: 1.2rem;
    letter-spacing: .008rem;
    padding: 1.4rem 0;
}
.dp-footer-copy-inner > p {
    margin: 0;
    color: var(--clr-gray-medium);
}
.dp-footer-copy-inner__signature a {
    color: var(--clr-white);
    text-decoration: none;
}
/*------------------------------------------------------------------------------
                    FOOTER MEDIA QUERIES
-------------------------------------------------------------------------------*/
@media only screen and (max-width: 1279px) {
    .dp-footer-clinics {
        grid-template-columns: repeat(2, 1fr);
    }
    .dp-footer-clinics > :last-child {
        grid-column: 1 / -1;
    }
}
@media only screen and (max-width: 1120px) {
    .dp-section > .dp-inner-wrap.dp-footer-copy-inner {
        flex-direction: column;
        justify-content: flex-start;
    }
    .dp-footer-copy {
        flex-direction: column;
        justify-content: space-between;
    }
    .dp-footer-copy-inner__signature {
        order: 3;
    }
}
@media only screen and (max-width: 991px) {
    .dp-footer-clinics {
        grid-template-columns: repeat(1, minmax(1rem, 1fr));
    }
}
@media only screen and (max-width: 767px) {
    .dp-menu-list {
        flex-direction: column;
        justify-content: revert;
        flex-wrap: no-wrap;
    }
    .dp-footer-gdpr-social {
        flex-direction: column;
        justify-content: revert;
        align-items: center;
        gap: var(--space-s);
    }
}
@media only screen and (max-width: 479px) {
    .dp-footer-clinics-list {
        grid-template-columns: repeat(1, minmax(1rem, 1fr));
    }
}
/*------------------------------------------------------------------------------
                    BLOG PAGINATION
-------------------------------------------------------------------------------*/
nav.pagination {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: var(--space-l) 0;
}
.nav-links ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    gap: 1rem;
}
.nav-links ul li {
    --_page-size: 4.8rem;
    overflow: hidden;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: var(--_page-size);
    height: var(--_page-size);
}
.nav-links ul li span.current {
    padding: 1rem;
    width: 100%;
    height: 100%;
    background: var(--clr-secondary);
    line-height: 1;
    border-radius: 50%;
    color: var(--clr-white);
}
.nav-links ul li span {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
}
.nav-links ul li span.dots {
    color: var(--clr-primary);
    font-size: 2.2rem;
}
.nav-links ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 1;
    padding: 1rem;
    color: var(--clr-primary);
    border-radius: 50%;
    border: .1rem solid var(--clr-primary);
    transition: all 300ms ease-in-out;
}
.nav-links ul li a:hover {
    text-decoration: none;
    background: var(--clr-secondary);
    color: var(--clr-white);
    border-radius: 50%;
    border: .1rem solid var(--clr-secondary);
}
.dp-blog-pagination__icon {
    --_svg-size: 2.1rem;
    fill: var(--clr-primary);
    width: var(--_svg-size);
    height: var(--_svg-size);
    transition: fill 300ms ease-in-out;
}
.nav-links :where(.prev:hover, .next:hover) .dp-blog-pagination__icon {
    fill: var(--clr-white);
}
/*----------------------------------------------------------------
                WPGB PAGINATION
------------------------------------------------------------------*/
.wpgb-facet-1.wpgb-facet {
    --_min-height: 80px;
    display: flex;
    gap: var(--space-xs);
    min-height: var(--_min-height);
}
.wpgb-facet-1.wpgb-facet .wpgb-facet-title {
    font-size: clamp(2.304rem, calc(0.6851924474vw + 2.0847384168rem), 3.0207113rem);
    line-height: 1.2;
    margin: 0;
}
.wpgb-facet-1.wpgb-facet .wpgb-select {
    border-color: var(--clr-primary);
    color: var(--clr-base);
}
.wpgb-facet-1.wpgb-facet .wpgb-select:is(:hover,:focus) {
    border-color: var(--clr-primary);
    color: var(--clr-base);
}
.wpgb-facet-1.wpgb-facet .wpgb-select-controls {
    color: var(--clr-primary);
}
.wpgb-facet-2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-top: 5em;
}
.wpgb-facet-2.wpgb-facet .wpgb-pagination {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}
.wpgb-facet-2.wpgb-facet .wpgb-pagination :where(li,a), 
.wpgb-facet-2.wpgb-facet .wpgb-pagination li a:hover {
    display: flex;
    align-items: center;
    justify-content: center;
    background-size: 0;
}
.wpgb-facet-2.wpgb-facet .wpgb-pagination a {
    --_size: 4.2rem;
    width: var(--_size);
    height: var(--_size);
    margin: 0;  
    border: 1px solid var(--clr-accent);
    border-radius: 50%;
    transition: all 300ms ease;
}
.wpgb-facet-2.wpgb-facet .wpgb-pagination li a[aria-current] {
    color: var(--clr-white);
    background-color: var(--clr-accent);  
}
.wpgb-facet-2.wpgb-facet .wpgb-pagination li a:hover {
    color: var(--clr-white);
    background-color: var(--clr-primary);
    border-radius: 100vmax;
}
.wpgb-facet-2.wpgb-facet .wpgb-pagination li a:hover > .dp-blog-pagination__icon {
    fill: var(--clr-white);
}
@media only screen and (max-width: 479px) {
    .wpgb-facet-1.wpgb-facet {
        --_min-height: 120px;
        flex-direction: column;
    }
}
/* .wpgb-facet.wpgb-facet-1 .wpgb-button {
    color: var(--clr-primary);
}
.wpgb-facet.wpgb-facet-1 .wpgb-button[aria-pressed="true"] {
    background-color: var(--clr-accent);
    border-color: var(--clr-accent);
}
.wpgb-facet.wpgb-facet-1 ul .wpgb-button {
    border-radius: 0;
    border-width: 1px;
}
.wpgb-facet.wpgb-facet-1 .wpgb-button:not(button) {
    border-color: var(--clr-accent);
}
.wpgb-facet.wpgb-facet-1 .wpgb-button:focus:not(button) {
    outline-color: var(--clr-primary);
}
.wpgb-facet.wpgb-facet-1 {
    min-height: 180.25px;
}
@media only screen and (max-width:767px) {
    .wpgb-facet-1.wpgb-facet {
        max-width: 100%;
        min-height: 136px;
    }
    .wpgb-facet-1.wpgb-facet .wpgb-inline-list {
        flex-wrap: nowrap;
        list-style-type: none;
        margin: zero;
        overflow-x: auto;
        white-space: nowrap;
    }
    .wpgb-facet-1.wpgb-facet .wpgb-inline-list::-webkit-scrollbar {
        height: .5rem;
    }
    .wpgb-facet-1.wpgb-facet .wpgb-inline-list::-webkit-scrollbar-track {
        background: hsla(var(--clr-gray-h), .9);
        border-radius: 6rem;
    }
    .wpgb-facet-1.wpgb-facet .wpgb-inline-list::-webkit-scrollbar-thumb {
        background: hsla(var(--clr-primary-h), .75);
        border-radius: 6rem;
    }
} */
/*----------------------------------------------------------------
                    ARCHIVE BLOG
------------------------------------------------------------------*/
.dp-blog-list-item__heading {
    font-size: clamp(1.6rem, calc(1.376rem + 0.45vw), 2rem);
    line-height: 1.3;
    margin-top: .6rem;
}
/*------------------------------------------------------------------------------
                    ARCHIVE RESULTS
-------------------------------------------------------------------------------*/
.dp-transformations-archive-headline > span {
    display: block;
}
.dp-transformations-archive-headline > :first-child {
    font-size: 1.8rem;
    letter-spacing: .1rem;
}
.dp-transformations-archive-item__info-text {
    margin: 0;
}
.dp-results-archive-item__info > * {
    margin-bottom: 0;
}
.dp-results-archive-item__info > * + * {
    margin-top: .4em;
}
/*----------------------------------------------------------------
                    THANK YOU PAGE
------------------------------------------------------------------*/
.dp-section--thank-you.dp-section {
    background-color: var(--clr-gray-light);
    min-height: inherit;
}
:is(.dp-section--thank-you.dp-section) > .dp-inner-wrap {
    padding-block: 6em;
    justify-content: flex-start;
}
/*----------------------------------------------------------------
                    SINGLE DOCTORS
------------------------------------------------------------------*/
.dp-doctors-single {
    padding-inline-start: var(--space-xl)
}
.dp-doctors-single__title > span {
    display: block;
    color: var(--clr-primary);
}
.dp-doctors-single__title :first-child {
    font-size: var(--text-l);
}
.dp-doctors-single__title :last-child {
    font-size: var(--text-xl);
}
.dp-doctors-single__int-title {
    margin-block-start: .5em;
    width: min(100%, 47ch);
}
.dp-doctors-single__quote {
    position: relative;
    font-size: calc(1.1*var(--text-m));
    margin-block-start: var(--space-xl);
}
.dp-doctors-single__quote::before {
    content: "“";
    position: absolute;
    top: -5.5rem;
    inset-inline-start: 0;
    font-size: 6.8rem;
    font-weight: var(--fw-bold);
    color: var(--clr-primary);
}
.dp-doctors-single-hero {
    object-fit: cover;
    object-position: 80% 80%; /* Left-Top */
}
@media only screen and (max-width: 991px) {
    .dp-doctors-single {
        padding-inline-start: revert;
    }
    .dp-inner-wrap.dp-doctors-single-wrapper {
        justify-content: flex-end;
    }
}
/*------------------------------------------------------------------------------
                    SINGLE POST
------------------------------------------------------------------------------*/
.dp-section--post, 
.dp-section--post-wide {
    display: grid;
    gap: var(--space-s) 0;
    padding-top: var(--space-xl);
}
.dp-section--post {
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(0, var(--viewport-constrained)) 
        minmax(var(--space-section-inline), 1fr);
}
.dp-section--post-wide {
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(0, var(--viewport)) 
        minmax(var(--space-section-inline), 1fr);
}
:is(.dp-section--post, .dp-section--post-wide) > * {
    grid-area: auto / 2 / auto / span 1;
}
.dp-main-padding-top--zero > .dp-section + .dp-section:not(.dp-section-contact-form) {
    padding: 0 var(--space-m) var(--space-l);
}
/*------------------------------------------------------------------------------
                    SINGLE TREATMENTS
------------------------------------------------------------------------------*/
.dp-section--treatment {
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        repeat( 2, minmax( 0, calc( var(--viewport)/2 ) ) ) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-areas: 
        "... headline hero-img ..." 
        "... intro hero-img ...";
        gap: 1.2em 0;
    padding-block: var(--space-section-block);
}
.dp-treatment-headline {
    grid-area: headline;
    align-self: end;
}
.dp-treatment-intro {
    grid-area: intro;
    align-self: start;
}
.dp-treatment-img {
    grid-area: hero-img;
    margin-inline-start: var(--space-m)
}
@media only screen and (max-width: 991px) {
    .dp-section--treatment {
        grid-template-areas: 
            "... headline headline ..." 
            "... hero-img hero-img ..." 
            "... intro intro ...";
        gap: var(--space-m) 0;
    }
    .dp-treatment-img {
        margin-inline-start: revert;
    }
}
/*------------------------------------------------------------------------------
                    SINGLE LOCAL
------------------------------------------------------------------------------*/
.dp-section--local {
    min-height: 50vh;
}
/*------------------------------------------------------------------------------
                    SINGLE CLINICS
------------------------------------------------------------------------------*/
.dp-clinics-contact-list {
    list-style: none;
    margin-inline-start: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(1rem, 1fr));
    grid-template-areas: "address phone timetable";
    gap: var(--space-m) 0;
}
.dp-clinics-contact-item--address {
    grid-area: address;
}
.dp-clinics-contact-item--phone {
    grid-area: phone;
    border-inline-start: 1px solid var(--clr-accent);
}
.dp-clinics-contact-item--timetable {
    grid-area: timetable;
    border-inline-start: 1px solid var(--clr-accent);
}
.dp-clinics-contact-item {
    padding: var(--space-m);
    text-align: center;
}
.dp-clinics-contact-item__icon {
    --_icon-size: 4rem;
    width: var(--_icon-size);
    height: var(--_icon-size);
    fill: var(--clr-accent);
    margin-bottom: var(--space-m);
}
.dp-clinics-map__headline {
    margin-bottom: var(--margin-paragraph);
}
.dp-grid-media--5 {
    --_col-number: 5;
    display: grid;
    grid-template-columns: repeat( var(--_col-number), minmax(1rem, 1fr) );
    gap: var(--space-s);
}
@media only screen and (max-width: 991px) {
    .dp-clinics-contact-list {
        grid-template-columns: repeat(2, minmax(1rem, 1fr));
        grid-template-areas: 
            "address phone" 
            "timetable timetable";
    }
    .dp-clinics-contact-item--timetable {
        border-inline-start: revert;
        border-top: 1px solid var(--clr-accent);
    }
    .dp-grid-media--5 {
        --_col-number: 6;
        gap: var(--space-m);
    }
    .dp-grid-media--5 :nth-child(-n+3) {
        grid-column: auto / span 2;
    }
    .dp-grid-media--5 :nth-last-child(-n+2) {
        grid-column: auto / span 3;
    }
}
@media only screen and (max-width: 767px) {
    .dp-grid-media--5 {
        --_col-number: 2;
    }
    .dp-grid-media--5 :nth-child(-n+3) {
        grid-column: revert;
    }
    .dp-grid-media--5 :nth-last-child(-n+2) {
        grid-column: revert;
    }
    .dp-grid-media--5 :last-child {
        grid-column: auto / span 2;
    }
}
@media only screen and (max-width: 600px) {
    .dp-clinics-contact-list {
        grid-template-columns: repeat(1, minmax(1rem, 1fr));
        grid-template-areas: 
            "address" 
            "phone" 
            "timetable";
    }
    .dp-clinics-contact-item--phone {
        border-inline-start: revert;
    }
    .dp-clinics-contact-item--timetable {
        border-top: revert;
    }
}
@media only screen and (max-width: 479px) {
    .dp-grid-media--5 {
        --_col-number: 1;
    }
    .dp-grid-media--5 :last-child {
        grid-column: revert;
    }
}
/*------------------------------------------------------------------------------
                    SINGLE CONSULTANTS
------------------------------------------------------------------------------*/
.dp-consultants-hero {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
}
@media only screen and (max-width: 767px) {
    .dp-consultants-hero {
        flex-direction: column;
        justify-content: center;
    }
    .dp-consultants-hero__title {
        text-align: center;
    }
}
/*------------------------------------------------------------------------------
                    SINGLE  TRANSFORMATIONS
------------------------------------------------------------------------------*/
.dp-transformations-single-more {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.dp-transformations-single-more__cta {
    flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
    .dp-transformations-single-more {
        flex-direction: column;
        align-items: revert;
    }
}
/*------------------------------------------------------------------------------
                    SINGLE LANDING PAGES
------------------------------------------------------------------------------*/
.dp-section--lp-default {
    min-height: 50vh;
}
.dp-list--check li {
    position: relative;
}
.dp-list--check li::before {
    content: "\2713";
    color: var(--clr-primary);
    width: 1.2em;
    height: 1.2em;
    margin-inline-start: var(--_check-gap);
    font-weight: bold;
    font-size: 1.1em;
    display: inline-block;
    position: absolute;
    top: -2px;
}
.dp-lp-standout {
    --_check-gap: -1.3em;
    margin-inline-start: var(--space-m);
    padding: var(--space-s) calc( var(--space-s) - var(--_check-gap) );
    background-color: var(--clr-white);
    box-shadow: 0 0 25px 1px rgb(120, 125, 136, 0.15);
}
@media only screen and (max-width: 991px) {
    .dp-lp-standout {
        margin-inline-start: revert;
    }
}
/*------------------------------------------------------------------------------
                    ARCHIVE DOCTORS
------------------------------------------------------------------------------*/
.dp-grid-doctors-archive-hero {
    gap: 2em 0;
}
.dp-grid-doctors-archive-hero > * {
    justify-self: center;
    text-align: center;
}
.dp-grid-doctors-archive-hero > *, 
.dp-doctors-archive-list {
    width: min(100%, 100rem);
    margin-inline: auto;
}
.dp-doctors-archive-list > * + * {
    margin-block-start: calc(1.25*var(--gutter));
}
.dp-doctors-archive-list-item {
    position: relative;
    gap: 1.2rem;
}
.dp-doctors-archive-list-item__lede {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.dp-doctors-archive-list-item__info {
    display: flex;
    flex-direction: column;
}
.dp-doctors-archive-list-item__specialty {
    font-size: var(--text-m);
    font-weight: var(--fw-bold);
    font-family: var(--ff-body);
    margin-block-start: var(--space-xs);
}
.dp-doctors-archive-list-item__title {
    margin-block-start: var(--space-xs);
    width: min(100%, 50ch);
}
.dp-doctors-archive-list-item__cost {
    margin-top: 2em;
    font-weight: var(--fw-bold);
    font-size: 15px;
}
@media only screen and (max-width: 767px) {
    .dp-grid-doctors-archive-hero > * {
        justify-self: revert;
        text-align: revert;
    }
    .dp-doctors-archive-list > * + * {
        margin-block-start: calc(1.75*var(--gutter));
    }    
}
/*------------------------------------------------------------------------------
                    SECTION FREE CONSULTATION
-------------------------------------------------------------------------------*/
.dp-free-consultation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-m);
}
.dp-free-consultation > a {
    flex-shrink: 0;
}
@media only screen and (max-width: 991px) {
    .dp-free-consultation {
        flex-direction: column;
        align-items: flex-start;
        justify-content: revert;
        gap: var(--space-m);
    }
}
/*------------------------------------------------------------------------------
                    SECTION HERO FULL WIDTH
-------------------------------------------------------------------------------*/
.dp-hero-grid-media {
    display: grid;
    grid-template-columns:         
        [full-width-start hero-media-start] 
        minmax(var(--space-section-inline), 1fr) 
        [viewport-start hero-content-start] 
        minmax(0, var(--viewport))  
        [viewport-end hero-content-end] 
        minmax(var(--space-section-inline), 1fr) 
        [full-width-end hero-media-end];
    min-height: 50vh;
    min-height: 50svh;
}
.dp-hero-grid-media__content {
    grid-area: hero-content;
    place-self: center;
}
.dp-hero-grid-media__media {
    grid-area: hero-media;
    min-height: inherit;
    height: inherit;
    z-index: -1;
}
.dp-hero-grid-media__media img {
    width: 100%;
    height: inherit;
    object-fit: cover;
    min-height: 100%;
    max-height: 40vh;
}
.dp-hero-grid-media__heading {
    max-width: 30ch;
}
/*------------------------------------------------------------------------------
                    SECTION WHO WE ARE
-------------------------------------------------------------------------------*/
.dp-hero-about-us {
    position: relative;
    height: 55vh;
    height: 55svh;
}
.dp-hero-about-us img {
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 85% 12%;
}
/*------------------------------------------------------------------------------
                   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-accordion-trigger {
    background: hsla(0, 0%, 100%, 0);
    border: none;
    width: 100%;
}
.dp-accordion-text {
    position: relative;
    display: flex;
    width: 100%;
    text-align: start;
    padding-inline-end: calc( 1em + 1.2rem );
}
.dp-accordion-text::before, 
.dp-accordion-text::after {
    content: "";
    position: absolute;
    background-color: var(--clr-primary);
    width: 1em;
    height: 1px;
    inset-inline-end: 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 500ms;
  padding: 1em 0;
}
.dp-accordion-content[aria-hidden="false"] {
  grid-template-rows: 1fr;
}
.dp-accordion-content > :where(div, ul) {
  overflow: hidden;
  transition: padding 500ms;
}
.dp-accordion-content[aria-hidden="false"] > :where(div, ul) {
  padding-bottom: 1em;
}
/*------------------------------------------------------------------------------
                    MODULE SPLIT MEDIA TEXT GROUP
-------------------------------------------------------------------------------*/
.dp-section-media-text {
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(0, var(--viewport)) 
        minmax(var(--space-section-inline), 1fr);
    padding-top: var(--space-l);
    position: relative;
    isolation: isolate;
}
.dp-section-media-text__headline {
    grid-column: 2 / 2;
}
.dp-section-media-text__content {
    grid-area: 2 / 2 / 2 / 2;
}
.dp-section-media-text__content::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--clr-primary);
    grid-area: 2 / 1 / 2 / -1;
    z-index: -1;
}
.dp-section-media-text__headline h2 {
    color: var(--clr-primary);
    mix-blend-mode: multiply;
}
/* dp-yt-embed.css */
.dp-yt-embed {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    overflow: hidden;
    /* border-radius: 4px; */
}
.dp-yt-embed.dp-media-wide__video-wrapper {
    width: auto;
}
/* --- Facade (button) ---------------------------------- */
.dp-yt-embed__facade {
    --_transform-props: 300ms ease-in-out;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    cursor: pointer;
}
.dp-yt-embed__facade::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    transition: background var(--_transform-props);
}
.dp-yt-embed__facade:hover::after {
    background: rgba(0, 0, 0, .25);
}
.dp-yt-embed__thumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* Αόρατο οπτικά, ορατό από crawlers — προτιμάται έναντι display:none */
.dp-yt-embed__crawler-link {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
/* --- Play icon ---------------------------------------- */
.dp-yt-embed__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--clr-primary);
    transition: transform var(--_transform-props);
    pointer-events: none;

    > svg > circle {
        fill: rgba(255, 255, 255, .6);
        transition: fill var(--_transform-props);
        transition-delay: 50ms;
    }

    > svg > polygon {
        fill: var(--clr-primary);
        transition: fill var(--_transform-props);
        transition-delay: 50ms;
    }
}
.dp-yt-embed__facade:is(:hover, :focus) {
    .dp-yt-embed__play {
        transform: translate(-50%, -50%) scale(1.05);
    }
    .dp-yt-embed__play circle {
        fill: var(--clr-primary);
    }
    .dp-yt-embed__play polygon {
        fill: var(--clr-white);
    }
}
/* --- Active iframe ------------------------------------ */
.dp-yt-embed__iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
/* --- noscript fallback -------------------------------- */
.dp-yt-embed noscript iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
/*------------------------------------------------------------------------------
                    MODULE - SECTION AWARDS
-------------------------------------------------------------------------------*/
.dp-awards, 
.dp-awards-block {
    --_line-width: 8rem;
    --_left-padding: calc( var(--_line-width) - 2rem );
    --_padding-block: 4rem;
    display: grid;
    grid-template-rows: 
        [block-start content-start background-start] 
        auto 
        [block-end content-end background-end];
    padding-block: var(--space-section-block);
    isolation: isolate;
}
.dp-awards {
    grid-template-columns: 
        [block-start] 
        minmax(var(--space-section-inline), 1fr) 
        [background-start] 
        var(--_left-padding) 
        [content-start] 
        minmax( 1rem, calc(var(--viewport) - var(--_left-padding)) ) 
        [content-end background-end] 
        minmax(var(--space-section-inline), 1fr) 
        [block-end];
}
.dp-awards-block {
    grid-template-columns: 
        [block-start] 
        minmax(var(--space-section-inline), 1fr) 
        [background-start] 
        var(--_left-padding) 
        [content-start] 
        minmax( 1rem, calc(var(--viewport) - var(--_left-padding)) ) 
        [content-end] 
        minmax(var(--space-section-inline), 1fr) 
        [block-end background-end];
}
.dp-awards-content, 
.dp-awards-block-content {
    grid-area: content;
    padding-block: var(--_padding-block);
}
.dp-awards-content__accent::before, 
.dp-awards-block-content__accent::before {
    content: "";
    position: absolute;
    top: 11px;
    inset-inline-start: calc( -1*var(--_left-padding) );
    width: var(--_line-width);
    height: 1px;
    transform: translateX(-50%);
    background-color: var(--clr-accent);
}
.dp-awards-content::before, 
.dp-awards-block-content::before {
    content: "";
    position: absolute;
    inset: 0;
    grid-area: background;
    background-color: var(--clr-secondary);
    z-index: -1;
}
.dp-awards-content__awards, 
.dp-awards-block-content__awards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
    justify-items: center;
    gap: 1em;
    margin-top: var(--space-l)
}
@media only screen and (max-width: 767px) {
    .dp-awards, 
    .dp-awards-block {
        grid-template-columns: 
            [block-start background-start] 
            minmax(var(--space-section-inline), 1fr) 
            [content-start] 
            minmax( 1rem, var(--viewport) ) 
            [content-end] 
            minmax(var(--space-section-inline), 1fr) 
            [block-end background-end];
    }
    .dp-awards-content__accent::before, 
    .dp-awards-block-content__accent::before {
        width: 0;
    }
}
/*------------------------------------------------------------------------------
                    MODULE A TO Z
-------------------------------------------------------------------------------*/
.dp-media-wide {
    --_line-width: 4em;
    --_media-margin-left: 10em;
    --_media-margin-top: var(--space-l);
    display: grid;
    grid-template-columns: 
        [block-start] 
        minmax(var(--space-section-inline), 1fr) 
        [content-start stylish-line-start headline-start media-start bg-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] 
        minmax(0, auto) 
        [stylish-line-end headline-end media-start] 
        minmax(1rem, auto) 
        [bg-end] 
        minmax(1rem, 14rem) 
        [block-end media-end]; 
    position: relative;
    isolation: isolate;
}
.dp-media-wide__headline {
    grid-area: headline;
    margin-inline-start: var(--_line-width);
}
.dp-media-wide__video-wrapper {
    grid-area: media;
    margin-top: var(--_media-margin-top);
    margin-inline-start: var(--_media-margin-left);
}
.dp-media-wide__video-wrapper > * {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dp-media-wide-youtube {
    aspect-ratio: 16 / 9;
}
.dp-media-wide__headline::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--clr-primary);
    grid-area: bg;
    z-index: -1;    
}
.dp-media-wide__headline::after {
    content: "";
    position: absolute;
    top: 1.2rem;
    inset-inline-start: 0;
    width: var(--_line-width);
    height: 0.2rem;
    background-color: var(--clr-secondary);
    grid-area: stylish-line;
    transform: translateX(-50%);
}
@media only screen and (max-width: 767px) {
    .dp-media-wide {
        --_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] 
            minmax(0, auto) 
            [stylish-line-end headline-end media-start] 
            minmax(1rem, auto) 
            [media-end] 
            minmax(0, var(--space-section-block) )
            [block-end bg-end];
    }
}
/*------------------------------------------------------------------------------
                    MODULE TWO COLUMNS TEXT
-------------------------------------------------------------------------------*/
.dp-two-col-text-container {
    --_col-number: 20;
    --_col-width: calc( (var(--viewport) / var(--_col-number)) );
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        repeat(var(--_col-number), minmax(0, var(--_col-width))) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-rows: 
        minmax(0, var(--space-section-block))
        auto 
        minmax(0, var(--space-section-block));
    position: relative;
    isolation: isolate;
}
.dp-two-col-text-inner {
    grid-area: 2 / 2 / 2 / -2;
    display: flex;
    flex-direction: column;
    width: 100%;
}
.dp-bg--breakout .dp-two-col-text-inner {
    grid-column: 3 / -2;
}
.dp-bg--breakout .dp-two-col-text-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--clr-primary);
    grid-area: 1 / 2 / -1 / -1;
    z-index: -1;
}
/*------------------------------------------------------------------------------
                    MODULE DOCTOR'S CAROUSEL
-------------------------------------------------------------------------------*/
.dp-doctors-card, 
.dp-fancy-card-staff {
    --_space-gap: 2rem;
    display: grid;
    grid-template-columns: 
        [bg-color-start img-start lede-start] 
        minmax(1rem, auto) 
        [img-end lede-end] 
        minmax(0rem, var(--_space-gap)) 
        [bg-color-end]; 
    grid-template-rows: 
        [img-start] 
        minmax(0rem, var(--_space-gap)) 
        [bg-color-start] 
        auto 
        [img-end lede-start]
        auto 
        [bg-color-end lede-end];
    position: relative;
}
.dp-doctors-card__img, 
.dp-fancy-card-staff__img {
    grid-area : img;
}
.dp-doctors-card__lede, 
.dp-fancy-card-staff__lede {
    grid-column: lede;
}
.dp-doctors-card__lede::before, 
.dp-fancy-card-staff__lede::before {
    content: "";
    position: absolute;
    inset: 0;
    grid-area: bg-color;
    background-color: var(--clr-primary);
    z-index: -1;
}
.dp-doctors-card__lede-specialty {
    margin-top: .35em;
}
.dp-doctors-card__lede-cost {
    font-size: 1.5rem;
    font-weight: var(--fw-bold);
}
/*------------------------------------------------------------------------------
                    MODULE TRANSFORMATIONS CAROUSEL DYNAMIC
-------------------------------------------------------------------------------*/
.dp-transformation-therapy-title {
    text-align: center;
    margin-block: 0;
}
.dp-transformation-item--single, 
.dp-transformation-item--final {
    display: grid;
    grid-template-rows: 
    [top img-transformation-start img-final-start] 
    auto 
    [img-transformation-end img-final-end text-transformation-start text-final-start] 
    auto 
    [text-transformation-end text-final-end bottom];
}
.dp-transformation-item--single {
    grid-template-columns: 
    [img-before-start img-transformation-start text-before-start] 
    1fr 
    [img-before-end text-before-end img-after-start text-after-start] 
    1fr 
    [img-after-end text-after-end img-transformation-end];
}
.dp-transformation-item--final {
    grid-template-columns: 
    [img-before-start img-transformation-start text-before-start] 
    1fr 
    [img-before-end text-before-end img-after-start text-after-start] 
    1fr 
    [img-after-end text-after-end img-transformation-end] 
    3rem 
    [img-final-start text-final-start] 
    1fr 
    1fr 
    [img-final-end text-final-end];    
}
.dp-transformation-wrapper {
    grid-column: img-transformation;
    grid-row: img-transformation;
    padding: .8rem 0;
}
.dp-before-after-text {
    justify-self: center;
}
.dp-before-after-text--before {
    grid-column: text-before;
    grid-row: text-transformation;
}
.dp-before-after-text--after {
    grid-column: text-after;
    grid-row: text-transformation;
}
.dp-img-final {
    grid-column: img-final;
    grid-row: img-final;
    padding: .8rem 0;
}
.dp-before-after-text--final {
    grid-column: text-final;
    grid-row: text-final;
}
:where(.dp-img--before, .dp-img--after, .dp-img--final) {
    user-select: none;
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.dp-img--after {
    clip-path: inset(0% 0% 0% 50%);
}
.dp-img-slider-line {
    position: absolute;
    height: 100%;
    width: .3rem;
    border-radius: 2rem;
    background: var(--clr-primary);
    top: 0;
    inset-inline-start: 50%;
    transform: translateX(-50%);
}
.dp-img-slider-icon {
    --_icon-size: 3rem;
    position: absolute;
    width: var(--_icon-size);
    height: var(--_icon-size);
    top: 50%;
    inset-inline-start: 50%;
    background: var(--clr-primary);
    border-radius: 50%;
    padding: .4rem;
    transform: translate(-50%, -50%);
    cursor: pointer;
    user-select: none;
}
.dp-img-slider-icon__icon {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: var(--clr-white);
    stroke-width: .8;
    stroke-linecap: round; 
    stroke-linejoin: round;
}
.dp-img-slider {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}
.dp-animate-slider :where( .dp-img-slider-line, .dp-img-slider-icon ) {
    animation: initial-elements-movement 2s ease-in-out 1 forwards;
}
.dp-animate-slider :where( .dp-img--after ) {
    animation: initial-slider-movement 2s ease-in-out 1 forwards;
}
@keyframes initial-elements-movement {
    25% {
        inset-inline-start: 100%;
    }
    75% {
        inset-inline-start: 0;
    }
}
@keyframes initial-slider-movement {
    25% {
        clip-path: inset( 0% 0% 0% 100%);
    }
    75% {
        clip-path: inset( 0% 0% 0% 0%);
    }
}
@media only screen and (max-width: 767px) {
    .dp-transformation-item--final {
        grid-template-columns: 
        [img-before-start img-transformation-start text-before-start img-final-start text-final-start] 
        1fr 
        [img-before-end text-before-end img-after-start text-after-start] 
        1fr 
        [img-after-end img-transformation-end text-after-end img-final-end text-final-end];
        grid-template-rows: 
        [top img-transformation-start] 
        auto 
        [img-transformation-end text-transformation -start] 
        auto 
        [text-transformation-end] 
        3rem 
        [img-final-start] 
        auto 
        [img-final-end text-final-start] 
        auto 
        [text-final-end bottom];
    }
}
/*------------------------------------------------------------------------------
                    MODULE TRANSFORMATIONS CAROUSEL STATIC
-------------------------------------------------------------------------------*/
.dp-carousel-transformations-cta {
    align-self: center;
}
@media only screen and (max-width: 767px) {
    .dp-carousel-transformations-cta {
        position: relative;
        top: 5.5em;
    }
}
/*------------------------------------------------------------------------------
                    CAROUSEL ARROWS
-------------------------------------------------------------------------------*/
.dp-splide-arrows-size--default, 
.dp-splide-arrows--main, 
.dp-section--carousel, 
.dp-section-carousel--bottom {
    --_button-size: 4rem;
}
.dp-splide-split-text-carousel-static, 
.dp-splide-img-carousel {
    padding-inline: calc( var(--_button-size)/2 );
}
.dp-splide-arrows--main .splide__arrow {
    --_svg-size: 2rem;
    width: var(--_button-size);
    height: var(--_button-size);
    background: var(--clr-primary);
    opacity: 1;
    transition: background 300ms ease-in-out;
}
.dp-splide-arrows--main .splide__arrow:hover {
    background: var(--clr-accent);
}
.dp-splide-arrows--main .splide__arrow:disabled {
    opacity: .3;
}
.dp-splide-arrows--main .splide__arrow 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%);
}
.splide__arrow--next {
    right: 0;
}
.dp-splide-arrows--top .splide__arrow--next {
    right: 0;
}
.dp-splide-arrows--top.splide__arrows--rtl .splide__arrow--next {
    left: 0;
}
.dp-splide-arrows--top.splide__arrows--rtl .splide__arrow--prev {
    right: calc(100% - 2.25*var(--_button-size) );
}
.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__arrows--rtl .splide__arrow--next {
    left: 0;
}
.dp-splide-arrows--center .splide__arrow--prev {
    left: 0;
}
.dp-splide-arrows--center.splide__arrows--rtl .splide__arrow--prev {
    right: 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) );
    }
}
/*------------------------------------------------------------------------------
                    CAROUSEL SPECIAL CLASSES
-------------------------------------------------------------------------------*/
.dp-grid-carousel--cert-4.splide.is-initialized:not(.is-active) .splide__list  {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.4em;
}
.dp-grid-carousel--cert-4 .dp-splide-arrows--main {
    display: none;
}
@media only screen and (max-width: 991px) {
    .dp-grid-carousel--cert-4 .dp-splide-arrows--main {
        display: revert;
    }
}
/*------------------------------------------------------------------------------
                    MODULE DOCTOR'S QUOTE
-------------------------------------------------------------------------------*/
.dp-doctors-quote {
    --_col-number: 20;
    --_col-width: calc( (var(--viewport) / var(--_col-number)) );
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        repeat(var(--_col-number), minmax(0, var(--_col-width))) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-rows: 
        minmax(0, 5rem)
        minmax(0, auto) 
        minmax(0, 5rem);
    position: relative;
    isolation: isolate;
}
.dp-doctors-quote__quote {
    grid-area: 2 / 2 / span 1 / 12;
}
.dp-doctors-quote__img {
    grid-area: 2 / 14 / span 1 / -2;
    aspect-ratio: 100 / 92;
    place-self: center;
    width: 100%;
}
.dp-doctors-quote__img::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--clr-secondary);
    grid-area: 1 / 1 / -1 / 18;
    z-index: -1;
}
.dp-doctors-quote__text::before {
    content: "“";
    position: absolute;
    top: -5.5rem;
    inset-inline-start: 0;
    font-size: 6.8rem;
    font-weight: var(--fw-bold);
    color: var(--clr-primary);
}
.dp-doctors-quote__info > span {
    display: block;
}
.dp-doctors-quote__info :first-child {
    font-weight: var(--fw-bold);
}
@media only screen and (max-width: 767px) {
    .dp-doctors-quote {
        grid-template-rows: 
        repeat(4, minmax(0, auto)) 
        minmax(0, 5rem) 
        minmax(0, auto) 
        minmax(0, var(--space-section-block)); 
    }
    .dp-doctors-quote__quote {
        grid-area: 6 / 2 / -2 / -2;
    }
    .dp-doctors-quote__img {
        grid-area: 1 / 2 / span 4 / -2;
        max-width: 60rem;
    }
    .dp-doctors-quote__img::before {
        grid-area: 3 / 1 / -1 / -1;
    }
}
/*------------------------------------------------------------------------------
                    MODULE BENEFITS & TREATMENT GRID
-------------------------------------------------------------------------------*/
.dp-benefits-card {
    padding: var(--space-m) var(--space-s);
}
.dp-benefits-card__headline {
    width: fit-content;
    align-items: flex-start;
}
.dp-treatment-overview-text {
    font-size: 1.6rem;
}
.dp-icon-grid-list {
    --_svg-stroke: .075rem;
    --_border-width: thin;
    --_svg-size: 5.4rem;
    --_gap: 1.6rem;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--_gap) 0;
    padding: 2.6rem 1rem;
}
.dp-icon-grid-list > li {
    padding: var(--_gap) 1rem;
}
.dp-icon-grid-item {
    gap: .6rem;
    font-size: 1.5rem;
}
.dp-icon-grid-list > li:not(:nth-child(3n+1)) {
    border-inline-start: var(--_border-width) solid var(--clr-white);
}
.dp-icon-grid-list > li:nth-child(n+4) .dp-icon-grid-item {
    border-top: var(--_border-width) solid var(--clr-white);
    margin-top: calc( -1.5*var(--_gap) );
    padding-top: calc( 1.5*var(--_gap) );
}
.dp-icon-grid-list svg {
    fill: none;
    stroke: var(--clr-white);
    stroke-width: var(--_svg-stroke);
    width: var(--_svg-size);
    height: var(--_svg-size);
}
@media only screen and (max-width: 991px) {
    .dp-benefits-card__headline {
        align-items: center;
    }
}
@media only screen and (max-width: 767px) {
    .dp-icon-grid-list {
        grid-template-columns: repeat(2, 1fr);
    }
    .dp-icon-grid-list > li:not(:nth-child(3n+1)) {
        border-inline-start: none;    
    }
    .dp-icon-grid-list > li:nth-child(2n+2) {
        border-inline-start: var(--_border-width) solid var(--clr-white);
    }
    .dp-icon-grid-list > li:nth-child(n+3) .dp-icon-grid-item {
        border-top: var(--_border-width) solid var(--clr-white);
        margin-top: calc( -1.5*var(--_gap) );
        padding-top: calc( 1.5*var(--_gap) );
    }
    .dp-icon-grid-list.dp-last-span-2 > li:last-child {
        grid-column: 1 / -1;
    }
}
/*------------------------------------------------------------------------------
                   MODULE IMAGE CONTENT FULL GROUP
-------------------------------------------------------------------------------*/
.dp-grid-media--left, 
.dp-grid-media--right {
    --_media-width: 15vw;
    --_media-width-max: 320px;
    display: grid;
    grid-template-rows: 
        [module-start headline-start media-start]
        minmax(1rem, 4rem) 
        [headline-end subheadline-start background-start] 
        auto 
        [subheadline-end content-start]
        auto 
        [content-end background-end row-below-start]
        minmax(1rem, 4rem)
        [module-end row-below-end media-end];
    position: relative;
    isolation: isolate;
}
.dp-grid-media--left {
    grid-template-columns: 
        [module-start media-start background-start] 
        minmax( var(--space-section-inline), 1fr ) 
        [active-viewport-start] 
        minmax( var(--_media-width-max), var(--_media-width) ) 
        [media-end headline-start subheadline-start content-start]
        minmax(1rem, calc( var(--viewport) - max(var(--_media-width-max), var(--_media-width) ) ) )
        [active-viewport-end headline-end subheadline-end content-end] 
        minmax( var(--space-section-inline), 1fr ) 
        [module-end background-end];
}
.dp-grid-media--right {
    grid-template-columns: 
        [module-start background-start] 
        minmax( var(--space-section-inline), 1fr ) 
        [active-viewport-start headline-start subheadline-start content-start] 
        minmax(1rem, calc( var(--viewport) - max(var(--_media-width-max), var(--_media-width) ) ) ) 
        [headline-end subheadline-end content-end media-start] 
        minmax( var(--_media-width-max), var(--_media-width) ) 
        [active-viewport-end] 
        minmax( var(--space-section-inline), 1fr ) 
        [module-end media-end background-end];
}
.dp-grid-section__heading {
    grid-area: headline;
}
.dp-grid-section__subheading {
    grid-area: subheadline;
    padding: var(--space-m) 0;
}
.dp-grid-section__subheading-text > span {
    display: block;
}
.dp-grid-section__media {
    grid-area: media;
}
.dp-grid-section__body {
    grid-area: content;
    padding-bottom: var(--space-m);
}
.dp-grid-section__body::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100;
    background-color: var(--clr-primary);
    grid-area: background;
    z-index: -1;
}
.dp-grid-media--left :where(.dp-grid-section__heading, .dp-grid-section__subheading, .dp-grid-section__body) {
    padding-inline-start: var(--space-m);
}
.dp-grid-media--right :where(.dp-grid-section__heading, .dp-grid-section__subheading, .dp-grid-section__body) {
    padding-inline-end: var(--space-m);
}
@media only screen and (max-width: 991px) {
    .dp-grid-section__body {
        padding-top: var(--space-m);
    }
    :is(.dp-grid-media--left, .dp-grid-media--right) :where(.dp-grid-section__heading, .dp-grid-section__subheading, .dp-grid-section__body) {
        padding-inline-end: revert;
        padding-inline-start: revert;
    }
    .dp-grid-media--left, 
    .dp-grid-media--right {
        grid-template-columns: 
            [module-start background-start] 
            minmax( var(--space-section-inline), 1fr ) 
            [headline-start subheadline-start content-start media-start] 
            minmax( 0, var(--viewport) ) 
            [headline-end subheadline-end content-end media-end]
            minmax( var(--space-section-inline), 1fr ) 
            [module-end background-end];
        grid-template-rows: 
            [module-start headline-start]
            minmax(1rem, 4rem) 
            [headline-end subheadline-start background-start] 
            auto 
            [subheadline-end media-start]
            auto 
            [media-end content-start]
            auto 
            [content-end module-end background-end];
    }
}
/*------------------------------------------------------------------------------
                    MODULE CONTENT MEDIA BREAKOUT
-------------------------------------------------------------------------------*/
.dp-content-media-breakout--left, 
.dp-content-media-breakout--right {
    --_col-number: 20;
    --_col-width: calc( (var(--viewport) / var(--_col-number)) );
    display: grid;
    grid-template-rows: 
        [module-start active-viewport-start media-start] 
        minmax(.2rem, 6rem) 
        [headline-start accent-line-start] 
        minmax(2rem, auto) 
        [headline-end accent-line-end] 
        minmax(.2rem, 4rem) 
        [content-start breakout-start] 
        minmax(2rem, auto) 
        [media-end] 
        minmax(.2rem, 4rem) 
        [module-end active-viewport-end content-end breakout-end];
    position: relative;
    isolation: isolate;
}
.dp-content-media-breakout--left {
    grid-template-columns: 
        [module-start media-start] 
        minmax(var(--space-section-inline), 1fr) 
        [active-area-start] 
        repeat( calc( var(--_col-number)/2 - 2 ), minmax( 0, var(--_col-width) ) ) 
        [breakout-start] 
        repeat( 2, minmax( 0, var(--_col-width) ) ) 
        [media-end accent-line-start] 
        minmax( 0, var(--_col-width) ) 
        [accent-line-end headline-start content-start] 
        repeat( calc( var(--_col-number)/2 - 1 ), minmax( 0, var(--_col-width) ) ) 
        [headline-end content-end active-area-end] 
        minmax(var(--space-section-inline), 1fr) 
        [module-end breakout-end];
}
.dp-content-media-breakout--right {
    grid-template-columns: 
        [module-start breakout-start] 
        minmax(var(--space-section-inline), 1fr) 
        [active-viewport-start headline-start content-start] 
        repeat( calc( var(--_col-number)/2 - 1 ), minmax( 0, var(--_col-width) ) ) 
        [headline-end content-end] 
        minmax( 0, var(--_col-width) ) 
        [accent-line-start media-start] 
        minmax( 0, var(--_col-width) ) 
        [accent-line-end] 
        minmax( 0, var(--_col-width) ) 
        [breakout-end] 
        repeat( calc( var(--_col-number)/2 - 2 ), minmax( 0, var(--_col-width) ) ) 
        [active-viewport-end] 
        minmax(var(--space-section-inline), 1fr) 
        [module-end media-end];
}
.dp-content-media-breakout__media {
    grid-area: media;
}
.dp-content-media-breakout__media :where(img, video) {
    object-fit: cover;
    width: 100%;
    height: inherit;
    max-height: 33vh;
    min-height: 100%;
}
.dp-content-media-breakout__headline {
    --_bar-width: var(--_col-width);
    grid-area: headline;
}
.dp-content-media-breakout__text {
    grid-area: content;
    z-index: 0;
    padding-block: var(--space-l);
}
.dp-content-media-breakout__text::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--clr-primary);
    grid-area: breakout;
    z-index: -1;
}
.dp-content-media-breakout__headline::before {
    content: "";
    position: absolute;
    top: .75em;
    inset-inline-start: 0;
    grid-area: accent-line;
    transform: translateX(-50%);
    width: var(--_bar-width);
    height: 2px;
    background-color: var(--clr-primary);
}
@media only screen and (max-width: 991px) {
    .dp-content-media-breakout--left, 
    .dp-content-media-breakout--right {
        grid-template-columns: 
            [module-start breakout-start] 
            minmax(var(--space-section-inline), 1fr) 
            [headline-start media-start content-start] 
            repeat( 1, minmax( 0, var(--viewport) ) ) 
            [headline-end media-end content-end] 
            minmax(var(--space-section-inline), 1fr) 
            [module-end breakout-end];
        grid-template-rows: 
            [module-start headline-start] 
            minmax(.2rem, auto) 
            [headline-end media-start] 
            minmax(1rem, auto) 
            [breakout-start] 
            minmax(1rem, auto) 
            [media-end content-start] 
            minmax(2rem, auto) 
            [content-end] 
            minmax(.2rem, 2rem) 
            [module-end breakout-end];
    }
    .dp-content-media-breakout__media {
        width: 100%;
        z-index: 1;
        margin-top: var(--space-m);
    }
    .dp-content-media-breakout__media :where(img, video) {
        width: 100%;
        max-height: revert;
    }
    .dp-content-media-breakout__text {
        padding-block: var(--space-m);
    }
    .dp-content-media-breakout__headline::before {
        display: none;
    }
}
/*------------------------------------------------------------------------------
                    MODULE REVIEWS GRID
-------------------------------------------------------------------------------*/
.dp-reviews-star-container {
    --_star-size: 2rem;
    display: flex;
    align-items: center;
    gap: .5rem;
}
.dp-reviews-star-container > svg {
    fill: var(--clr-primary);
    width: var(--_star-size);
    height: var(--_star-size);
}
.dp-reviews-info {
    --_top : 4.4rem;
    margin-top: var(--space-xs);
}
.dp-reviews-text::before {
    content: "”";
    position: absolute;
    top: calc( -1*var(--_top) );
    inset-inline-start: 0;
    font-size: 5.2rem;
    font-weight: var(--fw-bold);
}
.dp-reviews-avatar {
    max-width: 4.6rem;
}
/*------------------------------------------------------------------------------
                    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;
    align-self: center;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: var(--clr-secondary);
}
.dp-youtube-grid-media-list {
    grid-area: media-list;
    width: 100%;
    background-color: var(--clr-secondary);
    padding-inline-end: 1rem;
}
.dp-youtube-grid-media-list::before {
    content: "";
    position: absolute;
    inset: 0;
    grid-area: bg;
    background-color: var(--clr-secondary);
    z-index: -1;
}
.dp-youtube-grid-media-list-list {
    list-style: none;
    margin-inline-start: 0;
    padding-inline-end: .5em;
    display: grid;
    grid-template-columns: repeat(2, minmax(1rem, 1fr));
    gap: 2em 1em;
    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(13, 28%, 95%, .15);
    border-radius: 6rem;
}
.dp-youtube-grid-media-list-list::-webkit-scrollbar-thumb {
    background: var(--clr-primary);
    border-radius: 6rem;
}
.dp-youtube-grid-media-list-btn {
    --_gap: 1rem;
    display: grid;
    grid-template-columns: minmax(1px, 3fr) minmax(1px, 2fr);
    gap: var(--_gap);
    width: 100%;
    background: var(--clr-secondary);
    border: .1rem solid var(--clr-secondary);
    cursor: pointer;
}
.dp-youtube-grid-media-list-btn:disabled img {
    filter: grayscale(100%) brightness(70%);
}
.dp-youtube-grid-media-list-btn:disabled .dp-video-swap-grid__img {
    border: 1px solid var(--clr-primary);
}
.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: hsla(var(--clr-primary-h), .8);
}
.dp-video-swap-grid__img {
    position: relative;
    aspect-ratio: 16 / 9;
    width: 100%;
}
.dp-youtube-grid-media-list-btn__img {
    aspect-ratio: inherit;
    object-fit: cover;
    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: max(3rem, 16%);
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--clr-primary);
    border-radius: 50%;
    z-index: 2;
}
.dp-youtube-grid-media-list-btn__icon svg {
    --size: 45%;
    fill: var(--clr-white);
    width: var(--size);
    height: var(--size);
    position: relative;
    transform: translateX(16%);
}
.dp-youtube-grid-media-list-btn__text {
    font-size: 1.4rem;
    text-align: start;
    color: var(--clr-white);
}
@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: 3.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%;
    }
    .dp-youtube-grid-media-list-btn {
        --_gap: 1rem;
        grid-template-columns: minmax(1px, 1fr);
        width: 100%;
    }
}
/*------------------------------------------------------------------------------
                    MODULE MEDIA CARDS
-------------------------------------------------------------------------------*/
.dp-bg--primary .dp-btn--bg, 
.dp-btn--bg {
    background-color: var(--clr-secondary);
}
.dp-bg--secondary .dp-btn--bg {
    background-color: var(--clr-accent);
}
/*------------------------------------------------------------------------------
                    MODULE ICON CARDS
-------------------------------------------------------------------------------*/
.dp-icon-cards__heading {
    line-height: 1.5;
    font-size: 1.8rem;
}
/*------------------------------------------------------------------------------
                    MODULE TRANSFORMATIONS DYNAMIC
-------------------------------------------------------------------------------*/
.dp-transformation-dynamic-item--final {
    display: grid;
    grid-template-areas: 
        "img-transformation img-transformation" 
        "text-before text-after" 
        "img-final img-final" 
        "text-final text-final";
}
.dp-transformation-item--single {
    display: grid;
    grid-template-areas: 
        "img-transformation img-transformation" 
        "text-before text-after";
}
:is(.dp-transformation-item--single, .dp-transformation-dynamic-item--final) .dp-transformation-dynamic-item__img {
    grid-area: img-transformation;
    padding: 0.8rem 0;
}
:is(.dp-transformation-item--single, .dp-transformation-dynamic-item--final) .dp-before-after-text--before {
    grid-area: text-before;
}
:is(.dp-transformation-item--single, .dp-transformation-dynamic-item--final) .dp-before-after-text--after {
    grid-area: text-after;
}
.dp-transformation-dynamic-item--final .dp-img-final {
    grid-area: img-final;
    margin-top: 3rem;
    padding: 0.8rem 0;
}
.dp-transformation-dynamic-item--final .dp-before-after-text--final {
    grid-area: text-final;
}
/*------------------------------------------------------------------------------
                    MODULE SOCIAL (TIKTOK, INSTAGRAM)
-------------------------------------------------------------------------------*/
.dp-tiktok-embed {
    min-height: 795px;
}
.dp-instagram-embed {
    min-height: 700px;
}
.dp-tiktok-headline__intro {
    margin-top: var(--space-m);
}
.dp-social-quote {
    --_top: -.75em;
    font-size: clamp(2.1rem, calc(2.1rem + ((1vw - 0.48rem) * 0.7901)), 2.8rem);
    position: relative;
    margin-top: calc( var(--space-xl) - var(--_top) );    
}
.dp-social-quote::before {
    content: "“";
    position: absolute;
    top: var(--_top);
    inset-inline-start: 0;
    font-size: 3.4em;
    font-family: var(--ff-heading);
    font-weight: var(--fw-bold);
    color: var(--clr-primary);
}
.dp-short-grid-block-iframe-inner {
    width: min(420px, 100%);
    margin-inline: auto;
}
@media only screen and (max-width: 991px) {
    .dp-grid--2 .dp-tiktok-headline {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}
/*---------------------------------------------------------------------------------------
                         MODULE SHORTS 
----------------------------------------------------------------------------------------*/
.dp-short-grid {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 0 2em;
}
.dp-short-grid-post--left, .dp-short-grid-post--right {
    --_fraction: 2fr;
}
.dp-short-grid--left, .dp-short-grid--right {
    --_fraction: 3fr;
}
.dp-short-grid-post--left, 
.dp-short-grid--left {
    grid-template-columns: minmax(1px, 1fr) minmax(1px, var(--_fraction));
    grid-template-areas: 
        "short headline" 
        "short content";
}
.dp-short-grid-post--right, 
.dp-short-grid--right {
    grid-template-columns: minmax(1px, var(--_fraction)) minmax(1px, 1fr);
    grid-template-areas: 
        "headline short" 
        "content short";
}
.dp-short-block-headline {
    grid-area: headline;
}
.dp-short-block-iframe {
    grid-area: short;
}
.dp-short-block-main {
    grid-area: content;
    display: flex;
    flex-direction: column;
    padding-block-start: 1.3em;
}
.dp-short-block-iframe img, 
.dp-short-block-iframe .perfmatters-lazy-youtube img {
    height: 100%;
    object-fit: cover;
}
@media only screen and (max-width: 1000px) {
    .dp-short-grid {
        grid-template-rows: auto;
        gap: 2em 0;
}
    :is(.dp-short-grid--left, .dp-short-grid--right, .dp-short-grid-post--left, .dp-short-grid-post--right) {
        grid-template-columns: minmax(1px, 1fr);
        grid-template-areas: 
            "headline" 
            "short" 
            "content";
    }
    .dp-short-grid .dp-short-block-iframe-inner {
        width: min(100%, 500px);
        margin-inline: auto;
    }
    .dp-short-grid .dp-short-block-main {
        padding-block-start: 0;
    }
}
/*------------------------------------------------------------------------------
                    MODULE MEDIA TEXT BLOCK
-------------------------------------------------------------------------------*/
:is(.dp-media-text-blog-inner__intro, .dp-media-text-blog-inner__main) > p + :where(h2, h3, h4) {
    margin-block-start: var(--margin-paragraph);
}
/*------------------------------------------------------------------------------
                    SHORTCODE CLINICS LIST
-------------------------------------------------------------------------------*/
.dp-clinics-list-btns {
    display: grid;
    grid-template-columns:         
        minmax(var(--space-section-inline), 1fr) 
        minmax(1px, var(--viewport)) 
        minmax(var(--space-section-inline), 1fr);
    padding-block: var(--space-section-block);
    gap: var(--space-m);

    > ul {
        list-style: none;
        padding-inline-start: 0;
        margin-inline-start: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: var(--space-m);
    }

    > ul > li {
        padding: 0;
        margin-block-start: 0;
        text-align: center;
    }

    > ul a {
        position: relative;
        display: flex;
        align-items: center;
        padding: 1rem 3.2em;
        font-size: 1.4rem;
        font-weight: var(--fw-bold);
        border: .1rem solid var(--clr-primary);
        border-radius: var(--radius-l);
        transition: all 300ms ease-in-out;

        &:is(:hover, :focus) {
            background-color: var(--clr-primary);
            color: var(--clr-white);
        }
    }
}
.dp-clinics-list-btns > * {
    grid-column: 2 / -2;
}
.dp-clinics-list-btns__accent {
    margin: 0;
    font-size: var(--text-l);
    color: var(--clr-gray-dark);
}
.dp-clinics-list-btns__intro {
    width: min(100%, 64ch);
    margin-block-start: var(--space-xs);
}
/*------------------------------------------------------------------------------
                    SECTION INNER ANCHORS
-------------------------------------------------------------------------------*/
.dp-nav-menu__list {
    list-style-type: none;
    display: flex;
    padding: 0 1rem;
    overflow-x: auto;
    white-space: nowrap;
    z-index: 1;
    margin: 0;
}
.dp-nav-menu__list > * + * {
    border-inline-start: .1rem solid var(--clr-white);
}
.dp-nav-menu__list > li {
    padding-block: var(--space-s);
}
.dp-nav-menu__link {
    padding: .5rem 2.6rem;
}
.dp-nav-menu__list::-webkit-scrollbar {
    height: .8rem;
}
.dp-nav-menu__list::-webkit-scrollbar-track {
    background: hsla(var(--clr-primary-h), .75);
    border-radius: 6rem;
}
.dp-nav-menu__list::-webkit-scrollbar-thumb {
    background: hsla(var(--clr-secondary-h), .2);
    border-radius: 6rem;
}
/*------------------------------------------------------------------------------
                    CALENDAR EVENTS
-------------------------------------------------------------------------------*/
.dp-splide-calendar {
    padding-inline-start: 5em;
}
.dp-calendar-events-item {
    border-top: .1rem solid hsl(0, 0%, 83%) /*#d3d3d3*/;
    padding-top: .4em;
    height: max-content;
}
.dp-calendar-events-item > * + * {
    margin-top: .7em;
}
.dp-calendar-events-item__date > span:last-child {
    order: -1;
}
.dp-calendar-events-item__title > a {
    line-height: 1.35;
}
.dp-splide-arrows--calendar .splide__arrow {
    --_size: 4em;
    background-color: var(--clr-accent);
    width: var(--_size);
    height: var(--_size);
    opacity: 1;
    border: .1rem solid var(--clr-accent);
    padding: 1em;
    transition: background-color 300ms ease-in-out;
}
.dp-splide-arrows--calendar .splide__arrow:hover {
    background-color: var(--clr-primary);
}
.dp-splide-arrows--calendar .splide__arrow:disabled {
    opacity: .6;
}
.dp-splide-arrows--calendar .splide__arrow > svg {
    fill: var(--clr-white);
    width: var(--_size);
    height: var(--_size);
    font-weight: var(--fw-bold);
}
.dp-splide-arrows--calendar .splide__arrow--next {
    top: calc( .5*var(--_size) );
    inset-inline-end: calc( 100% - var(--_size) );
}
.dp-splide-arrows--calendar .splide__arrow--prev {
    top: calc( 1.5*var(--_size) + 1em );
    inset-inline-start: 0;
}
@media only screen and (max-width: 680px) {
    .dp-splide-calendar {
        padding-inline-start: 0;
        min-height: 41rem;
        max-height: 42rem;
    }
    .dp-splide-arrows--calendar .splide__arrow {
        --_size: 3.2em;
        padding: .75em;
    }
    .dp-splide-arrows--calendar .splide__arrow--next {
        top: calc( -.5*var(--_size) - .5*var(--space-m) );
        inset-inline-end: 0;
    }
    .dp-splide-arrows--calendar .splide__arrow--prev {
        top: calc( -.5*var(--_size) - .5*var(--space-m) );
        inset-inline-start: calc( 100% - 2*var(--_size) - 1em );
    }
}
/*------------------------------------------------------------------------------
                    SECTION LP FUE
-------------------------------------------------------------------------------*/
.dp-section-fue {
    --_col-number: 3;
    --_col-width: calc( (var(--viewport) / var(--_col-number)) );
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        repeat(var(--_col-number), minmax(0, var(--_col-width))) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-areas: 
    "... heading heading heading ..." 
    "... intro intro intro ..." 
    "... left-content image right-content ..." 
    "... cta cta cta ...";
    gap: 1em 2em;
    padding-block: var(--space-section-block);
}
.dp-section-fue__headline {
    grid-area: heading;
}
.dp-section-fue__intro {
    grid-area: intro;
}
.dp-section-fue__reasons--left {
    grid-area: left-content;
}
.dp-section-fue__reasons--right {
    grid-area: right-content;
}
.dp-section-fue__image {
    grid-area: image;
}
.dp-section-fue__cta {
    grid-area: cta;
}
.dp-section-fue__reasons.dp-section-fue__reasons--left {
    margin-top: 0;
}
.dp-section-fue__reasons--left .dp-section-fue__reasons-item {
    align-items: flex-end;
}
.dp-section-fue__reasons-item > figure {
    max-width: 6rem;
}
.dp-section-fue__reasons-item {
    gap: var(--space-xs);
}
@media only screen and (max-width: 991px) {
    .dp-section-fue {
        grid-template-columns: 
            minmax(var(--space-section-inline), 1fr) 
            repeat(1, minmax(0, var(--viewport))) 
            minmax(var(--space-section-inline), 1fr);
        grid-template-areas: 
            "... heading ..." 
            "... intro ..." 
            "... left-content ..." 
            "... image ..." 
            "... right-content ..." 
            "... cta ...";
        gap: var(--space-m) 0;
        justify-items: center;
    }
    .dp-section-fue__reasons {
        gap: var(--space-m);
    }
    .dp-section-fue__reasons-item, 
    .dp-section-fue__reasons--left .dp-section-fue__reasons-item {
        align-items: center;
        text-align: center;
    }
    .dp-section-fue__image {
        max-width: 767px;
    }
}
/*------------------------------------------------------------------------------
                    MODULE TWO COLUMNS TEXT MEDIA ACCORDIONS
-------------------------------------------------------------------------------*/
.dp-media-text-accordions-grid, 
.dp-media-text-accordions-grid--content, 
.dp-media-text-accordions-grid--content-right, 
.dp-media-text-accordions-grid-media--left, 
.dp-grid-alternate-media {
    gap: 1em var(--space-m);
}
.dp-media-text-accordions-grid-media--left, 
.dp-grid-alternate-media--left {
    grid-template-areas: 
        "media headline" 
        "media content";
}
.dp-media-text-accordions-grid, 
.dp-grid-alternate-media--right {
    grid-template-areas: 
        "headline media" 
        "content media";
}
.dp-media-text-accordions-grid--content {
    grid-template-areas: 
        "content media";
}
.dp-media-text-accordions-grid--content-right {
    grid-template-areas: 
        "media content";
}
.dp-content-align--start:where(.dp-media-text-accordions-grid, .dp-media-text-accordions-grid-media--left) {
    grid-template-rows: auto 2fr;
}
.dp-media-text-accordions-headline, 
.dp-grid-alternate-media-headline {
    grid-area: headline;
}
.dp-content-align--center :where(.dp-media-text-accordions-headline, .dp-grid-alternate-media-headline) {
    align-self: end;
}
.dp-media-text-accordions-content, 
.dp-grid-alternate-media-content {
    grid-area: content;
    align-self: start;
}
.dp-media-text-accordions-media, 
.dp-grid-alternate-media-media {
    grid-area: media;
}
@media only screen and (max-width: 991px) {
    .dp-media-text-accordions-grid, 
    .dp-media-text-accordions-grid--content, 
    .dp-media-text-accordions-grid--content-right, 
    .dp-media-text-accordions-grid-media--left, 
    .dp-grid-alternate-media {
        gap: var(--space-m) 0;
    }
     .dp-media-text-accordions-grid, 
     .dp-media-text-accordions-grid-media--left {
        grid-template-areas: 
            "headline headline"  
            "content content" 
            "media media";
    }
    :is(.dp-media-text-accordions-grid, .dp-media-text-accordions-grid-media--left).dp-media-text-accordions-grid--split, 
    .dp-grid-alternate-media--split {
        grid-template-areas: 
            "headline headline"  
            "media media" 
            "content content";
    }
    :is(.dp-media-text-accordions-grid, .dp-media-text-accordions-grid--split, .dp-media-text-accordions-grid-media--left).dp-media--first {
        grid-template-areas: 
            "media media"  
            "headline headline" 
            "content content";
    }
    .dp-media-text-accordions-grid--content, 
    .dp-media-text-accordions-grid--content-right {
        grid-template-areas: 
            "content content" 
            "media media";
    }
    :is(.dp-media-text-accordions-grid--content, .dp-media-text-accordions-grid--content-right).dp-media--first {
        grid-template-areas: 
            "media media" 
            "content content";
    }
    .dp-content-align--center .dp-media-text-accordions-headline {
        align-self: revert;
    }
}
/*------------------------------------------------------------------------------
                    MODULE NUMBERED CAROUSEL
-------------------------------------------------------------------------------*/
.dp-number-carousel {
    --_animation: cubic-bezier(0.45, 0, 0.55, 1);
    --_animation-duration: 400ms;
    display: grid;
    gap: 2.2rem var(--space-m);
}
.dp-number-carousel--right {
    grid-template-areas: 
        "content carousel" 
        "navigation carousel";
}
.dp-number-carousel--left {
    grid-template-areas: 
        "carousel content" 
        "carousel navigation";
}
.dp-numbered-carousel__content {
    grid-area: content;
    align-self: end;
}
.dp-numbered-carousel__carousel {
    grid-area: carousel;
    align-self: start;
}
.dp-numbered-carousel__navigation {
    grid-area: navigation;
    align-self: start;
}
.dp-numbered-carousel__track-container {
    height: 100%;
}
.dp-numbered-carousel__track {
    position: relative;
    height: 100%;
    transition: transform var(--_animation-duration) var(--_animation);
}
.dp-numbered-carousel__slide {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
}
.dp-numbered-carousel__img {
    height: 100%;
}
.dp-numbered-carousel__navigation {
    display: flex;
    gap: .6rem;
}
.dp-numbered-carousel-button {
    --_btn-size: 4.2rem;
    display: flex;
    align-items: center;
    width: var(--_btn-size);
    height: var(--_btn-size);
    border: 1px solid var(--clr-accent);
    background-color: var(--clr-accent);
    border-radius: 100vmax;
    padding: 1.1rem;
    cursor: pointer;
    transition: background-color 300ms ease-in-out;
}
.dp-numbered-carousel-button:hover {
    background-color: var(--clr-primary);
}
.dp-numbered-carousel-button svg {
    fill: var(--clr-white);
    stroke: var(--clr-white);
    stroke-width: 4.2;
    width: 100%;
    height: 100%;
}
.dp-numbered-carousel-button--prev svg {
    transform: scaleX(-1);
}
.dp-numbered-carousel__pagination {
    display: flex;
    align-items: center;
    margin-bottom: var(--space-m);
}
.dp-numbered-carousel__pagination > span {
    line-height: .7;
}
.dp-numbered-carousel__pagination-current {
    color: var(--clr-primary);
    font-weight: var(--fw-bold);
    font-size: calc(1.2*var(--text-xxl));
    width: .8em;
}
: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-total {
    margin-inline-start: .4rem;
}
.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;
    }
}
@media only screen and (max-width: 767px) {
    .dp-number-carousel {
        grid-template-areas: 
            "content content" 
            "carousel carousel" 
            "navigation navigation";
    }
    .dp-numbered-carousel__navigation {
        justify-content: center;
    }
}
/*------------------------------------------------------------------------------
                    MODULE SINGLE MEDIA
-------------------------------------------------------------------------------*/
.dp-img-caption {
    position: absolute;
    bottom: 0;
    inset-inline-start: 0;
    background-color: hsla(var(--clr-secondary-h), .5);
    color: var(--clr-white);
    z-index: 5;
    font-size: 14px;
}
/*------------------------------------------------------------------------------
                    SECTION CLINICS INFO CONTACT PAGE
-------------------------------------------------------------------------------*/
.dp-clinics-contact-info-list-item__location {
    font-size: clamp(1.92rem, calc(1.92rem + ((1vw - 0.48rem) * 0.2778)), 2.1661rem);
}
.dp-clinics-contact-info-list-item__icon {
    --_icon-size: 1.6rem;
    fill: var(--clr-accent);
    width: var(--_icon-size);
    height: var(--_icon-size);
    flex-shrink: 0;
}
.dp-clinics-contact-info-list-item__info {
    padding-block: 0;
    margin: -5px 0 0 .75rem;
}
/*------------------------------------------------------------------------------
                    MODULE MEDIA TABLE
-------------------------------------------------------------------------------*/
.dp-table-list {
    padding: var(--space-l);
}
.dp-table-list__table {
    width: 100%;
    border-collapse: collapse;
}
.dp-table-list__table td {
    padding-bottom: 1em;
}
.dp-table-list__table td:not(.dp-first-column) {
    padding-inline-start: 1.5em;
}
.dp-table-list__table tr:last-child td {
    padding-bottom: 0;
}
.dp-first-column {
    padding-inline-end: .5em;
    border-inline-end: .1rem solid var(--clr-primary);
}
.dp-special-offer-container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .6rem 1.6rem;
}
.dp-table-special-offer--img {
    width: 100%;
    max-width: 60px;
}
@media only screen and (max-width: 991px) {
    .dp-table-list {
        padding: var(--space-l) 0;
        margin-top: var(--space-s);
    }
    .dp-table-list.dp-table-list-padding {
        padding: var(--space-l) var(--space-s);
    }
    .dp-first-column {
        border: none;
    }
    .dp-table-list__table td {
        padding-bottom: .3em;
    }
    .dp-table-list__table td:not(.dp-first-column) {
        padding-inline-start: 0;
    }
    .dp-table-list__table tr {
        display: flex;
        flex-direction: column;
    }
    .dp-table-list__table td:nth-child(even) {
        padding: 0 0 1.6rem 0;
    }
}
/*------------------------------------------------------------------------------
                    LANDING SPLIT
-------------------------------------------------------------------------------*/
.dp-lp-split-content {
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(1rem, calc( 2*var(--viewport)/3)) 
        minmax(1rem, calc( 1*var(--viewport)/3)) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-areas: 
        "... article aside ..." 
        "... faqs faqs ...";
    width: 100%;
    gap: var(--space-xl) 0;
}
.dp-lp-split-content__article {
    grid-area: article;
}
.dp-lp-split-content__aside {
    grid-area: aside;
}
.wp-block-group.dp-lp-split-content__article {
    padding: var(--space-section-block) 0 0;
}
.wp-block-group.dp-lp-split-content__aside {
    padding: var(--space-section-block) 0 0 var(--space-s);
}
.wp-block-group.dp-lp-split-content__faqs {
    grid-area: faqs;
    padding: 0 0 var(--space-section-block);
}
.wp-block-group.dp-lp-split-content__faqs .dp-section {
    padding: 0;
}
.dp-lp-split-content__article .dp-section {
    padding: 0;
}
.dp-lp-split-content__article .dp-section + .dp-section {
    padding: var(--space-section-block) 0 0;
}
@media only screen and (max-width: 991px) {
    .dp-lp-split-content {
        grid-template-areas: 
            "... article article ..." 
            "... faqs faqs ..." 
            "... aside aside ...";
    }
    .wp-block-group:is(.dp-lp-split-content__faqs, .dp-lp-split-content__aside) {
        padding: 0;
    }
}
/*------------------------------------------------------------------------------
                    MODULE CTA ZONE
-------------------------------------------------------------------------------*/
.dp-cta-zone {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background-color: var(--clr-secondary);
    padding: var(--space-section-block) var(--space-section-inline);
    gap: var(--space-m);
}
.dp-cta-zone__headline > span {
    display: block;
}
.dp-cta-zone__cta {
    flex-shrink: 0;
}
@media only screen and (max-width: 991px) {
    .dp-cta-zone {
        flex-direction: column;
        align-items: revert;
    }
}
/*------------------------------------------------------------------------------
                    MODULE SPLIT MULTI IMAGE CONTENT
-------------------------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
    .dp-multi-image-content-item__img {
        max-width: 18rem;
    }
}
.dp-section--multistep {
    background-color: var(--clr-primary);
    min-height: 100vh;
    min-height: 100svh;
}
.dp-section--multistep > .dp-inner-wrap {
    min-height: inherit;
}
.dp-multistep-form {
    --_padding-inline: var(--space-m);
    --_form-max-width: 748px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: calc( var(--_form-max-width) + 2*var(--_padding-inline));
    background-color: var(--clr-white);
    padding-block: var(--_padding-inline);
}
/*------------------------------------------------------------------------------
                    MODULE PRODUCT TEASER
-------------------------------------------------------------------------------*/
.dp-product-teaser-wrapper {
    container-name: product-teaser;
    container-type: inline-size;
}
.dp-product-teaser-inner {
    --_img_width: min(25%, 300px);
    --_gap: 2em;
    display: flex;
    flex-direction: row-reverse;
    gap: var(--_gap);
    padding: 1.6em;
    background-color: var(--clr-gray-light);
}
.dp-product-teaser-inner--post {
    width: min(100%, var(--viewport-constrained));
    margin-inline: auto;
}
.dp-product-teaser-content {
    width: calc(100% - var(--_img_width) - var(--_gap));
}
.dp-product-teaser-img-wrapper {
    display: flex;
    align-items: flex-start;
    width: var(--_img_width);
}
.dp-product-teaser-img-wrapper-inner {
    width: 100%;
    aspect-ratio: 1 / 1;
    outline: 3px double var(--clr-secondary);
    background-image: linear-gradient(#d0d0d0, var(--clr-white));
}
.dp-product-teaser-img-wrapper-inner > img {
    aspect-ratio: inherit;
    object-fit: cover;
    pointer-events: none;
}
@container product-teaser (max-width: 720px) {
    .dp-product-teaser-inner {
        --_img_width: min(100%, 260px);
        flex-direction: column-reverse;
    }
    .dp-product-teaser-content {
        width: 100%;
    }
}
/*------------------------------------------------------------------------------
                    ERROR 404
-------------------------------------------------------------------------------*/
.dp-gcse-container {
    width: 100%;
    max-width: 80ch;
    min-height: 85px;
}
.dp-gcse-container .gsc-search-button-v2 {
    position: relative;
    transform: translateX(-160%);
    padding: .8rem;
    border-radius: 50%;
    background-color: var(--clr-primary);
    border-color: var(--clr-primary);
    cursor: pointer;
    transition: background-color .4s ease, border-color .4s ease;
}
.dp-gcse-container .gsc-search-button-v2:hover {
    background-color: var(--clr-base);
    border-color: var(--clr-base);
}
.dp-gcse-container .gsc-input-box {
    border-radius: 3em;
}
/*------------------------------------------------------------------------------
                    PRIVACY PAGE TABLE
-------------------------------------------------------------------------------*/
figure.dp-tb-gdpr {
	margin: 1em 0px;
}
figure.dp-tb-gdpr table {
	border-collapse: collapse;
	width: 100%;
}
figure.dp-tb-gdpr td, 
figure.dp-tb-gdpr th {
	border: 1px solid #ddd;
	padding: 8px;
}
figure.dp-tb-gdpr tr:nth-child(even) {
	background-color: #f2f2f2;
}
figure.dp-tb-gdpr tr:hover {
	background-color: #ddd;
}
figure.dp-tb-gdpr th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: center;
  background-color: var(--clr-secondary);
  color: var(--clr-white);
}
/*----------------------------------------------------------------------
					SPINNER
----------------------------------------------------------------------*/
.dp-video-wrapper {
    position: relative;
    background-color: var(--clr-video-bg);
    isolation: isolate;
}
.dp-spinner {
    width: 200px;
    height: 200px;
}
.dp-video-wrapper .dp-spinner {
    position: absolute;
    top: 50%;
    inset-inline-start: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}
.dp-spinner[data-hidden] {
    display: none;
}
.dp-spinner > svg {
    width: 100%;
    height: 100%;
    fill: var(--clr-white);
}
.dp-spinner-main {
    animation: spinner_rotate 1.2s infinite
}
.dp-spinner-1 {
    animation-delay: .1s
}
.dp-spinner-3 {
    animation-delay: .2s
}
.dp-spinner-5 {
    animation-delay: .3s
}
.dp-spinner-7 {
    animation-delay: .4s
}
.dp-spinner-9 {
    animation-delay: .5s
}
.dp-spinner-11 {
    animation-delay: .6s
}
.dp-spinner-10 {
    animation-delay: .7s
}
.dp-spinner-8 {
    animation-delay: .8s
}
.dp-spinner-6 {
    animation-delay: .9s
}
.dp-spinner-4 {
    animation-delay: 1s
}
.dp-spinner-2 {
    animation-delay: 1.1s
}
@keyframes spinner_rotate {
    0%,
    50% {
        animation-timing-function: cubic-bezier(0.27, .42, .37, .99);
        r: 0
    }
    25% {
        animation-timing-function: cubic-bezier(0.53, 0, .61, .73);
        r: 2px
    }
}
/*-------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
                    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-accent);
}
.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-primary-h), 0.25);
}
.dp-wsf--main :is(input[type=text], input[type=tel], input[type=email], select).wsf-field {
    height: var(--_height);
}
.dp-wsf-select2-wrapper select.wsf-field ~ .select2-container .select2-selection--single {
    height: var(--_height);
    border-radius: var(--_radius);
    border: 1px solid var(--clr-accent);
}
.dp-wsf--main .dp-wsf-select2-wrapper > label.wsf-label {
    margin-inline-start: -3.5px;
    padding-left: 3.5px;
    padding-right: 3.5px;
    transform: translate(0, -12px) scale(0.9);
    background-color: #ffffff;
    font-size: 14px;
    position: absolute;
    margin-bottom: 0;
    z-index: 1;
}
.dp-wsf-select2-wrapper .wsf-select2-dropdown .select2-results .select2-results__option--highlighted[aria-selected] {
    background-color: var(--clr-accent);
}
.dp-wsf-select2-wrapper .wsf-select2-dropdown .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--clr-accent);
    box-shadow: 0 0 0 4px hsla(var(--clr-primary-h), 0.25);
}
.dp-wsf-select2-wrapper select.wsf-field ~ .select2-container--default.select2-container--focus:not(.select2-container--disabled) .select2-selection--single, 
.dp-wsf-select2-wrapper select.wsf-field ~ .select2-container--default.select2-container--focus:not(.select2-container--disabled) .select2-selection--multiple {
    border-color: var(--clr-accent);
    box-shadow: 0 0 0 4px hsla(var(--clr-primary-h), 0.25);
}
.dp-wsf-select2-wrapper .select2-container--open .wsf-select2-dropdown.select2-dropdown--below {
    border-radius: var(--_radius);
    border: 1px solid var(--clr-accent);
    box-shadow: 1px 1px 4px rgba(0, 0, 0, .2);
}
.dp-wsf-select2-wrapper .wsf-select2-dropdown .select2-search--dropdown {
    padding: 6px 6px 0;
}
.dp-wsf-select2-wrapper .wsf-select2-dropdown .select2-results .select2-results__option {
    border-top: 1px solid var(--clr-gray);
    padding: 7px;
}
.dp-wsf-select2-wrapper .wsf-select2-dropdown .select2-search--dropdown .select2-search__field {
    border-radius: var(--_radius);
    border: 1px solid var(--clr-accent);
}
.dp-wsf-select2-wrapper .select2-container--default .select2-selection--single .select2-selection__clear {
    top: 2px;
    color: #bb0000;
}
.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 {
    inset-inline-start: 28px;
    top: 11.5px;
    z-index: 9;
}
.dp-wsf--main .wsf-rtl .wsf-label-position-inside input.wsf-field.dp-wsf-phone[placeholder] + label {
    inset-inline-start: 62px;
}
.dp-wsf--main select.wsf-field:not([multiple]):not([size]) {
    height: var(--_height);
}
.dp-wsf--main .iti__selected-flag {
    border-start-start-radius: var(--_radius);
    border-end-start-radius: var(--_radius);
    background-color: var(--clr-gray-light);
}
.dp-wsf--main .iti__dropdown-content {
    overflow: hidden;
    border-radius: var(--_radius);
}
.dp-wsf--main .iti--inline-dropdown .iti__country-list {
    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-accent);
}
.dp-wsf--main :is(input[type=checkbox].wsf-field, input[type=radio].wsf-field):checked + label.wsf-label:before {
    background-color: var(--clr-accent);
    border-color: var(--clr-accent);
}
.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-primary-h), .25);
}
/*--------------- SUBMIT BUTTON ----------------------------------*/
.dp-wsf--main button.wsf-button {
    border-radius: var(--_radius);
    padding: 1rem 3.2em;
}
.dp-wsf--main button.wsf-button.wsf-button-primary {
    background-color: var(--clr-accent);
    border-color: var(--clr-accent);
}
/*--------------- SELECT FIELD DROPDOWN ICON ----------------------------------*/
.dp-wsf--main select.wsf-field:not([multiple]):not([size]), 
.dp-wsf--main select.wsf-field ~ .select2-container .select2-selection--single {
    background-image: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%2311a3b5' 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-primary-h), 0.25);
}
/*--------------- FLAG FIELD DROPDOWN ICON ----------------------------------*/
.dp-wsf--main .iti__arrow {
    position: relative;
    top: -1px;
    margin-inline-start: 6px;
    border: solid;
    border-color: var(--clr-primary);
    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-primary);
    border-width: 0.1em 0.1em 0 0;
}
/*--------------- MITIGATE LAYOUT SHIFTS ----------------------------------*/
@media only screen and (max-width: 767px) {
    .dp-wsf-section--exclusive {
        --_container-height: 623px;
    }
}
@media only screen and (max-width: 649px) {
    .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;
    }
}
/*---------------------------------------------------------------------------------------
                                    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;
    inset-inline-start: 93%;
    width: fit-content;
    margin-bottom: 0;
}
.dp-wsf-max--550 .dp-wsf-newsletter-email-section .dp-wsf-newsletter-submit {
    inset-inline-start: 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-accent);
    border-color: var(--clr-accent);
    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-white);
    padding-block: 2.2rem;
    color: var(--clr-white);
}
.dp-wsf--newsletter input[type=email].wsf-field.dp-wsf-newsletter-email__field:focus {
    border-color: var(--clr-white);
    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-white);
    background-color: var(--clr-secondary);
}
input[type=checkbox].wsf-field.dp-text--white + label.wsf-label {
    color: var(--clr-white);
}
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-white);
    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-accent);
    border-color: var(--clr-accent);
}
:is(.dp-wsf--main, .dp-wsf--newsletter) .wsf-alert.wsf-alert-success {
    background-color: var(--clr-primary);
    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;
    max-width: 748px;
}
.dp-wsf--multistep .wsf-grid {
    margin-inline-start: 0;
    margin-inline-end: 0;
}
.dp-wsf-label--m label.wsf-label {
    font-size: 16px;
    font-weight: var(--fw-bold);
}
.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.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-primary);
}
.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-primary);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps > li.wsf-tab-active > a:before {
    background-color: var(--clr-accent);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps > li.wsf-tab-active ~ li > a:before {
    background-color: var(--clr-white);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps.wsf-steps-success > li > a:before {
    background-color: var(--clr-primary);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps > li.wsf-tab-active ~ li > a:after {
    background-color: var(--clr-primary);
}
.dp-wsf--multistep .wsf-form ul.wsf-group-tabs.wsf-steps.wsf-steps-success > li > a:after {
    background-color: var(--clr-primary);
}
.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-primary);
    box-shadow: 0 0 0 4px hsla(var(--clr-primary-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%;
}
.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;
    border: 1px solid var(--clr-primary);
    transition: all var(--_trans-dur) ease-in-out;
}
.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;
    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-primary);
}
.dp-wsf-grid input[type=radio].wsf-field.wsf-image:checked + label.wsf-label .wsf-image-caption {
    background-color: var(--clr-primary);
}
.dp-wsf-grid input[type=radio].wsf-field.wsf-image:focus + label.wsf-label > img {
    box-shadow: 0 0 0 4px hsla(var(--clr-primary-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-primary {
    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;
}
@media only screen and (max-width: 700px) {
    .dp-wsf-grid--3 .wsf-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
/*-------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
                    COOKIEBOT CUSTOM CSS
---------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------*/
#CybotCookiebotDialogBodyButtonAccept, 
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonAccept, #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll, 
#CookiebotWidget #CookiebotWidget-buttons #CookiebotWidget-btn-change {
    background-color: var(--clr-primary) !important;
    border-color: var(--clr-primary) !important;
    color: var(--clr-white) !important;
}
CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize, #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection {
    border-color: var(--clr-primary) !important;
    color: var(--clr-primary) !important;
}
#CybotCookiebotDialog.CybotEdge #CybotCookiebotDialogBodyEdgeMoreDetails a, 
#CybotCookiebotDialog #CybotCookiebotDialogDetailFooter a {
    color: var(--clr-primary) !important;
}
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize .CybotCookiebotDialogArrow, 
#CybotCookiebotDialog a:after, 
#CybotCookiebotDialog button:before {
    border-color: var(--clr-primary) !important;
}
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
    border-bottom: 1px solid var(--clr-primary) !important;
    color: var(--clr-primary) !important;
}
#CybotCookiebotDialog input:checked+.CybotCookiebotDialogBodyLevelButtonSlider {
    background-color: var(--clr-primary) !important;
}
#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton {
    border: 2px solid var(--clr-primary) !important;
    color: var(--clr-primary) !important;
}
#CookiebotWidget .CookiebotWidget-logo svg circle {
    fill: var(--clr-gray) !important;
}
#CookiebotWidget .CookiebotWidget-logo svg path {
    fill: var(--clr-primary) !important;
}
#CookiebotWidget .CookiebotWidget-body .CookiebotWidget-consents-list li.CookiebotWidget-approved svg {
    fill: var(--clr-primary) !important;
}
#CookiebotWidget .CookiebotWidget-consent-details button {
    color: var(--clr-primary) !important;
}
#CookiebotWidget, 
[dir="rtl"] #CookiebotWidget{
    bottom: 5.6rem !important;
    left: revert !important;
}
#CookiebotWidget {
    inset-inline-start: 28px !important;
}
[dir="rtl"] #CookiebotWidget {
    right: 28px !important;
}
@media only screen and (min-width: 1280px) {
    #CybotCookiebotDialog[data-template=bottom] {
        top: calc(100% - 14.8rem) !important;
        transform: translate(-50%, -100%);
    }
}
@media only screen and (max-width: 767px) {
    #CookiebotWidget {
        inset-inline-start: 1rem !important;
    }
}

.dp-bottom-bar:has(.dp-banner-footer[data-state="closed"]) .dp-bottom-bar-actions {
    --_margin-bottom: 12.6rem;
}
.dp-cta-main {
    position: relative;
    display: flex;
    align-items: center;
    padding: 1rem 2.2em;
    border-radius: var(--radius-l);
    text-decoration: none;
    width: fit-content;
    color: var(--clr-white);
    background-color: var(--clr-secondary);
    transition: background-color 350ms ease-in-out;
}
/*-------------------  Single Image Banner  -------------------------------------*/
.dp-grid-basic > .dp-banner-image-wrapper {
    grid-column: 1 / -1;
    width: 100%;
}
.dp-grid-basic > .dp-banner-image-wrapper--xmas {
    aspect-ratio: 1920 / 372;
}
.dp-grid-basic > .dp-banner-image-wrapper--year {
    aspect-ratio: 40 / 7;
}
.dp-banner-image-wrapper img {
    height: 100%;
    object-fit: cover;
}
@media only screen and (max-width: 667px) {
    .dp-grid-basic > .dp-banner-image-wrapper--xmas {
        aspect-ratio: 420 / 310;
    }
    .dp-grid-basic > .dp-banner-image-wrapper--year {
        aspect-ratio: 420 / 260;
    } 
}
/*------------------------------------------------------------------------------
                    POPUPS
-------------------------------------------------------------------------------*/
.dp-popup {
	/* position: fixed;
    top: 0;
	left: 0;
	width: 100%;
	height: 100%; */
    display: grid;
    grid-template-columns: 
        minmax(var(--space-section-inline), 1fr) 
        minmax(0px, var(--viewport)) 
        minmax(var(--space-section-inline), 1fr);
    grid-template-areas: "... popup ...";
	background-color: rgba(0,0,0,0.2);
	z-index: var(--z-index-all);
	place-items: center;
	opacity: 0;
}
.dp-popup-inner {
    grid-area: popup;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    /* background-color: var(--clr-white); */
    background-color: hsl(0, 0%, 89%); /* #e2e2e2 */
    width: min(100%, 580px);
}
.dp-popup-headline {
    font-family: var(--ff-heading);
    font-size: var(--text-xl);
    font-weight: var(--fw-bold);
    margin-bottom: var(--space-xs);
}
.dp-popup-cta {
    font-size: 17px;
    font-weight: var(--fw-bold);
    color: var(--clr-white);
    background-color: var(--clr-primary);
    padding: .75rem 2.8rem;
    border-radius: var(--radius-l);
    margin-top: var(--space-m);
}
.dp-popup-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
    min-height: inherit;
    padding: 1.5em 1em;
}
.dp-popup-text ul {
    list-style: none;
    margin-inline-start: 0;
}
.dp-popup-text ul > * + * {
    margin-top: .75rem;
}
.dp-popup-text-strong {
    font-size: var(--text-l);
    font-weight: var(--fw-bold);
    letter-spacing: .5px;
}
.dp-popup-btn--close {
    position: absolute;
    top: 0;
    right: 0;
}
.dp-teaser[data-state="opened"] {
    display: grid;
    animation: fadeIn 400ms ease-in-out forwards;
    box-shadow: 0px -2px 20px -2px rgba(0, 0, 0, .45);
}
.dp-teaser[data-state="opened"][data-type="popup"], 
.dp-teaser[data-state="closing"][data-type="popup"] {
    position: fixed;
    top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.dp-teaser[data-state="closing"] {
    display: grid;
    animation: fadeOut 400ms ease-in-out forwards;
}
.dp-teaser[data-state="closed"] {
    position: static;
    display: none;
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
.dp-popup-btn--close {
    --_size: 3.8rem;
    position: absolute;
    top: .2rem;
    right: .2rem;
    padding: .6rem;
    width: var(--_size);
    height: var(--_size);
    border: var(--clr-transparent);
    background: var(--clr-base);
    border-radius: 50%;
    cursor: pointer;
}
.dp-img-wrapper > img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}
.dp-cross-icon {
    width: 100%;
    height: 100%;
    fill: var(--clr-primary);
}