/*
Theme Name: Alsterphysio
Author: Lockvogel - Behrig 
Author URI: https://www.lockvogel-hamburg.de/
Description: Theme for alsterphysio.de
Version: 1.0
Text Domain: alsterphysio
*/

:root {
    --wellen-dark: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="19.8" width="698.1"><path d="M698.1 0c-1.1 0-2.2.4-3.2 1.5l-2.8 3.3c-14.5 15.2-26 11.6-39.3-1.9-2.2-2.3-5.8-2.3-8.1 0-19.3 19.6-28.7 16.9-48.2.2-10.8-9.2-16.5 25-37.8 10.3C553.7 10 544.1-3.4 539 2c-20.6 20.5-27.7 20.3-48.6.6-2.5-2.4-6-2.5-9.2.9-16.8 17.2-27 18-43.1-.7-2.2-2.6-6.2-2.9-9.2.1-14.2 17.2-26 19.8-42 2.2-3.5-3.9-8-6.5-12-2-16.3 17.9-27.4 20.5-44.7.6 0 0-4.4-7.1-9.4-.7-19.3 19.6-28.7 16.9-48.2.2-10.8-9.2-16.5 25-37.8 10.3C229.7 10 220.2-3.4 215 2c-20.6 20.5-27.7 20.3-48.6.6-2.5-2.4-6-2.5-9.2.9-16.8 17.2-27 18-43.1-.7-2.2-2.6-6.2-2.9-9.2.1-14.2 17.2-26 19.8-42 2.2-3.5-3.9-8-6.5-12-2-16.4 17.8-27.4 20.4-44.7.6C4.6 1.9 2.4-.2 0 0v19.8h698.1V0z" fill="%23ded8c7"/></svg>');
    --wellen-light: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" height="19.8" width="698.1"><path d="M698.1 0c-1.1 0-2.2.4-3.2 1.5l-2.8 3.3c-14.5 15.2-26 11.6-39.3-1.9-2.2-2.3-5.8-2.3-8.1 0-19.3 19.6-28.7 16.9-48.2.2-10.8-9.2-16.5 25-37.8 10.3C553.7 10 544.1-3.4 539 2c-20.6 20.5-27.7 20.3-48.6.6-2.5-2.4-6-2.5-9.2.9-16.8 17.2-27 18-43.1-.7-2.2-2.6-6.2-2.9-9.2.1-14.2 17.2-26 19.8-42 2.2-3.5-3.9-8-6.5-12-2-16.3 17.9-27.4 20.5-44.7.6 0 0-4.4-7.1-9.4-.7-19.3 19.6-28.7 16.9-48.2.2-10.8-9.2-16.5 25-37.8 10.3C229.7 10 220.2-3.4 215 2c-20.6 20.5-27.7 20.3-48.6.6-2.5-2.4-6-2.5-9.2.9-16.8 17.2-27 18-43.1-.7-2.2-2.6-6.2-2.9-9.2.1-14.2 17.2-26 19.8-42 2.2-3.5-3.9-8-6.5-12-2-16.4 17.8-27.4 20.4-44.7.6C4.6 1.9 2.4-.2 0 0v19.8h698.1V0z" fill="%23F1ECE4"/></svg>');
    --button-h-o-dark: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="119" height="61" fill="none"><circle cx="30.789" cy="30.438" fill="%23ff851f" r="29.833"/><path d="M31.286 30.438h86.517m0 0l-9.447-11.933m9.447 11.933l-9.447 11.436" stroke="%23000"/></svg>');
    --button-h-o-light: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="119" height="61" fill="none"><circle cx="30.789" cy="30.438" fill="%23ff851f" r="29.833"/><path d="M31.286 30.438h86.517m0 0l-9.447-11.933m9.447 11.933l-9.447 11.436" stroke="%23FFF"/></svg>');
    --button-h-r-light: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="119" height="61" fill="none"><circle cx="30.789" cy="30.438" fill="%23AF0000" r="29.833"/><path d="M31.286 30.438h86.517m0 0l-9.447-11.933m9.447 11.933l-9.447 11.436" stroke="%23FFF"/></svg>');
    --button-v: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="62" height="119" fill="none"><ellipse cx="31.027" cy="30" rx="30" ry="30.344" transform="rotate(90 31.027 30)" fill="%23af0000"/><path d="M31.027 30.5v87m0 0l12.137-9.5m-12.137 9.5L19.396 108" stroke="%23000"/></svg>');
    --button-vc: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="62" height="119" fill="none"><ellipse cx="31.027" cy="30" rx="30" ry="30.344" transform="rotate(90 31.027 30)" fill="%23424244"/><path d="M31.027 30.5v87m0 0l12.137-9.5m-12.137 9.5L19.396 108" stroke="%23fff"/></svg>');
    --slider-np: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="49" height="29" fill="none"><circle cx="33.86" cy="14.5" r="14.5" transform="rotate(180 33.86 14.5)" fill="%23f1ece4"/><circle cx="33.838" cy="14.478" transform="rotate(180 33.838 14.478)" fill="%23ded8c7" r="11.632"/><path d="M34.731 14.478H1m0 0l3.683 4.653M1 14.478l3.683-4.459" stroke="%23000"/></svg>');
    --arrow-up: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="69" height="114" fill="none"><path d="M34.553 81.257V1m0 0l-11.07 8.764M34.553 1l10.609 8.764" stroke="%23000"/></svg>');
    --accordion: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 17 17"><path d="M16.354 11.896l-.707.707L8.5 5.457l-7.146 7.146-.707-.707L8.5 4.043l7.854 7.853z"/></svg>');

}


.edit-post-visual-editor__post-title-wrapper {
    display: none;
}

a:where(:not(.wp-element-button)) {
    text-decoration: none;
}

.time {
    row-gap: 0;
}

.time p:first-child {
    min-width: 200px;
}

@media (max-width:781px) {
    .reverse {
        flex-direction: column-reverse !important;
    }
}
@media (max-width:1280px) {
    .tel, [data-type*="tel"] {
        letter-spacing: -1.5px !important;
    }
}

@media (max-width:1280px) {
    .wp-block-group.alignfull > * {
        padding-right: var(--wp--style--root--padding-right);
        padding-left: var(--wp--style--root--padding-left);
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}


/* Menu */

.wp-block-navigation .wp-block-navigation-item.current-menu-item {
    color: var(--wp--preset--color--contrast-4) !important;
}

.wp-block-navigation .wp-block-navigation-item:not(.current-menu-item):hover {
    color: var(--wp--preset--color--accent) !important;
}

@media (max-width:939px) {
    .wp-block-navigation__responsive-dialog, .wp-block-navigation__responsive-close {
        height: 90vh;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
        align-items: var(--navigation-layout-justification-setting,inherit);
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        overflow: visible;
        padding-top: calc(2rem + 24px);
        height: 100%;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
        justify-content: flex-start;
        gap: 3em;
        margin-top: 4em;
    }

    .wp-block-navigation__responsive-container.is-menu-open {
        background-color: var(--wp--preset--color--accent-5) !important;
        display: flex;
        padding: clamp(1rem,var(--wp--style--root--padding-top),20rem) clamp(1rem,var(--wp--style--root--padding-right),20rem) clamp(1rem,var(--wp--style--root--padding-bottom),20rem) clamp(1rem,var(--wp--style--root--padding-left),20em);
        z-index: 100000;
        height: 100%;
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
            font-size: var(--wp--preset--font-size--x-large);
            text-align: right;
    }

    .wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open {
       color: var(--wp--preset--color--contrast);
    }

    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item {
        color: var(--wp--preset--color--contrast-4) !important;
    }
}


@media (min-width:600px) {
    .wp-block-navigation__responsive-container-open{
      display:block !important;
   }
   .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display:none !important;
   }
   .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
    display:block !important!
   }
}

@media (min-width:940px) {
    .wp-block-navigation__responsive-container-open{
      display:none !important;
   }
    
   .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
    display:block !important;
   }
   .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
    display:none !important;
   }

     .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{
      -moz-box-shadow: 1px 19px 26px -11px #000000;
      -webkit-box-shadow: 1px 19px 26px -11px #000000; 
      box-shadow: 1px 19px 26px -11px #000000;
   }    
}


 .recht h1 {
    font-size: var(--wp--preset--font-size--xx-large);
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 1.1;
    color: var(--wp--preset--color--contrast);
    font-family: var(--wp--preset--font-family--playfair);
}


.recht h2 {
    color: var(--wp--preset--color--accent);
    font-size: var(--wp--preset--font-size--medium);
    font-weight: bold;
    letter-spacing: 0.4em;
    line-height: 1;
    text-transform: uppercase;
    font-family: var(--wp--preset--font-family--outfit);
    margin-top: 3em;
}


footer {
    margin-top: 3em !important;
}

.wp-block-group.wellen {
	position: relative;
}

.wp-block-group.wellen::before {
	content: '';
    position: absolute;
    background: var(--wellen-dark) repeat-x;
    top: -19px;
    left: 0;
    width: 100%;
    height: 20px;
}

.wp-block-group.wellen.light::before {
    content: '';
    background: var(--wellen-light) repeat-x;
}

.is-style-arrow-right .wp-element-button, .is-style-arrow-right .wp-block-button__link,
.is-style-arrow-down .wp-element-button, .is-style-arrow-down .wp-block-button__link,
.is-style-arrow-down-contrast .wp-element-button, .is-style-arrow-down-contrast .wp-block-button__link {
    background-color: transparent;
    border: none;
    border-radius: 0;
    color: var(--wp--preset--color--contrast);
    font-family: var(--wp--preset--font-family--outfit);
    font-size: var(--wp--preset--font-size--medium);
    line-height: 1.2;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    font-style: normal;
    font-weight: bold;
    padding: 0;
    display: flex;
    align-items: center;
    cursor: pointer;
}


.is-style-arrow-down-contrast .wp-element-button, .is-style-arrow-down-contrast .wp-block-button__link {
    color: var(--wp--preset--color--base);
}

.is-style-arrow-down .wp-element-button, .is-style-arrow-down .wp-block-button__link,
.is-style-arrow-down-contrast .wp-element-button, .is-style-arrow-down-contrast .wp-block-button__link {
    flex-direction: column;
}


.is-style-arrow-right .wp-element-button:hover, .is-style-arrow-right .wp-block-button__link:hover,
.is-style-arrow-down .wp-element-button:hover, .is-style-arrow-down .wp-block-button__link:hover {
    background-color: transparent;
    color: var(--wp--preset--color--contrast);
}

.is-style-arrow-down-contrast .wp-element-button:hover, .is-style-arrow-down-contrast .wp-block-button__link:hover {
    background-color: transparent;
    color: var(--wp--preset--color--base);
}

.is-style-arrow-right .wp-element-button::before, .is-style-arrow-right .wp-block-button__link::before {
	content: var(--button-h-o-dark);
	margin-right: 1.5em;
	transition: all .8s;
}

.is-style-arrow-right.light .wp-element-button::before, .is-style-arrow-right.light .wp-block-button__link::before {
    content: var(--button-h-o-light);
}
.is-style-arrow-right.light.red .wp-element-button::before, .is-style-arrow-right.light.red .wp-block-button__link::before {
    content: var(--button-h-r-light);
}

@media (max-width:599px) {
    .is-style-arrow-right .wp-element-button, .is-style-arrow-right .wp-block-button__link {
        font-size: 14px;
    }
 
}


.is-style-arrow-down .wp-element-button::before, .is-style-arrow-down .wp-block-button__link::before {
    content: var(--button-v);
    margin-top: 1em;
    margin-bottom: 1em;
    transition: all .8s;
}

.is-style-arrow-down-contrast .wp-element-button::before, .is-style-arrow-down-contrast .wp-block-button__link::before {
    content: var(--button-vc);
    margin-top: 1em;
    margin-bottom: 1em;
    transition: all .8s;
}

.is-style-arrow-right .wp-element-button:hover::before, .is-style-arrow-right .wp-block-button__link:hover::before,
.is-style-arrow-down .wp-element-button:hover::before, .is-style-arrow-down .wp-block-button__link:hover::before,
.is-style-arrow-down-contrast .wp-element-button:hover::before, .is-style-arrow-down-contrast .wp-block-button__link:hover::before {
	transform: scale(1.15);
	transition: all .8s;
}

.arrow-big {
    margin-left: -10em;
}

@media (max-width:781px) {
    .arrow-big {
        margin: 0 auto; 
    }
    .arrow-big img {
        vertical-align: middle;
        transform: rotate(90deg) scale(0.6);
    }

}
.wp-block-columns {
    position: relative;
}

.leistungen-row .wp-block-column {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.zusatzquali {
    position: relative;
}

.zusatzquali::after {
    content:'';
    display: block;
    height: 126px;
    width: 100%;
    background-color: var(--wp--preset--color--accent);
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: -70%;
    box-shadow: -30vw 0px 0px 0px var(--wp--preset--color--accent);
}

.team {
    position: relative;
}

.team > .wp-block-group {
    box-shadow: -30vw 0px 0px 0px var(--wp--preset--color--accent-4);
    max-width: 768px !important;
    padding-right: 4vw !important;
}

.team::before {
    content:'';
    display: block;
    height: 44px;
    width: 100%;
    background-color: var(--wp--preset--color--accent);
    z-index: -1;
    max-width: 768px !important;
}


:not(.block-editor-block-list__block).team .bewerben {
    position: absolute;
    left: 25%;
    bottom: -380px;
}

:not(.block-editor-block-list__block).team .bewerben > * {
    max-width: 250px;
}

@media (min-width:1300px) {
    :not(.block-editor-block-list__block).team .bewerben {
        position: absolute;
        top: 10em;
        right: 2.5em;
        padding: 2em;
        bottom: auto;
        left: auto;
    }
}

.team .bewerben {
    display: none !important;
}

/* @media (max-width:1299px) {
    :not(.block-editor-block-list__block).team {
        margin-bottom: 380px !important;
    }
}
*/


.team-icon {
    width: 100%;
}

.team-icon img {
    width: clamp(150px, 20vw, 265px);
}

@media (min-width:782px) {
    .team-icon {
        width: auto;
    }

    :not(.block-editor-block-list__block).team-icon img {
        z-index: 1;
        position: absolute;
        margin-left: -6em;
        margin-top: 3em;
    }
}

@media (min-width:1299px) {
    :not(.block-editor-block-list__block).team-icon img {
        margin-right: 4em;
        margin-top: 6em;
        margin-left: 0;
    }
}


/* ------------------------------------------- */
/*  Block: Accordion
/* ------------------------------------------- */

.accordion {
    margin-top: clamp(1.25rem, calc(0.25rem + 5vw), 5.25rem) !important;
    margin-top: 1em !important;
    position: relative;
    overflow: hidden;
}

.accordion li {
    margin-left: .5em;
}

.accordion:first-child {
    margin-top: 0 !important;
}
:not(.block-editor-block-list__layout) .accordion > :where(h2,h3,h4,h5,h6) {
    cursor: pointer;
}

.accordion > :where(.aheader) {
    border-bottom: 1px solid var(--wp--preset--color--contrast);
    padding-bottom: 0.2em;
    position: relative;
    padding-right: 2em;
    padding-bottom: .5em;
    display: flex;
    align-items: center;
    flex-direction: column;
   
    line-height: 1;
}

:not(.block-editor-block-list__layout) .accordion > :where(.aheader) {
    cursor: pointer;
}

.accordion > :where(.aheader)::after {
    content: var(--accordion);
    font-weight: 400;
    position: absolute;
    right: 0;
    left: auto;
    bottom: 0;
    pointer-events: none;
    transition: transform .3s ease-out;
}
.accordion.is-open > :where(.aheader)::after {
    transform-origin: center;
    transform: scaleY(-1);
    transition: transform .3s ease-out;
}

.accordion > .acontent li:last-child {
    padding-bottom: 2em;

}

:not(.block-editor-block-list__layout) .accordion > .acontent {
    height: 0px;
}


.methoden-icon {
    width: 100%;
}

.methoden-icon img {
    width: clamp(150px, 20vw, 265px);
}

@media (min-width:782px) {
    .methoden-icon {
        width: auto;
    }


    .methoden-icon img {
        z-index: 1;
        margin-right: 4em;
        margin-top: -3em;
        
        position: relative;
    }
}

@media (min-width:1299px) {
    .methoden-icon img {
        margin-right: 6em;
    }
}




.fitnesstraining > .wp-block-group {
    box-shadow: -30vw 0px 0px 0px var(--wp--preset--color--accent-3);
    max-width: 768px !important;
    padding-right: 4vw !important;
    position: relative;
}

.fitnesstraining .wp-block-image {
    position: relative;
    z-index: 1; 
    margin-top: -1em;
}




@media (min-width:1000px) {
    .fitnesstraining .wp-block-image {   
        margin-top: -2em;
        margin-bottom: -4em;
    }
}

.fitnesstraining .wp-block-image::after {
    content:"";
    width: 80%;
    height: 63%;
    display: block;
    background: var(--wp--preset--color--accent-5);
    border-radius: 50%;
    bottom: -30%;
    position: absolute;
    left: 10%;
    opacity: 0;
}

@media (min-width:1000px) {
    .fitnesstraining .wp-block-image::after {
        opacity: 0.5;
    }
}


.fitnesstraining > .wp-block-group::before {
    position: absolute;
    content: '';
    display: block;
    top: -44px;
    right: 0;
    height: 44px;
    width: 75%;
    background-color: var(--wp--preset--color--contrast-4);
}

.fitness-slider {
    margin-top: -3em;
}

.fitness-slider .wp-block-gallery {
    display: block;
}

.fitness-slider .wp-block-gallery figure.wp-block-image {
    display: inline-block !important;
    margin-bottom: 0 !important;
    margin-top: auto !important;
    width: 100% !important;
}
.fitness-slider .wp-block-gallery figure.wp-block-image img {
    margin: 0 auto;
    padding: 0 10px;
}
.fitness-slider .slick-track {
    display: flex;
}

.home-adress {
    box-shadow: 30vw 0px 0px 0px var(--wp--preset--color--accent);
}

@media (min-width:1040px) {
    .home-adress .wp-block-column:last-child > * {
        margin-left: calc((100% - 345px) / 2);
    }

    .home-adress img:first-child {
      margin-top: -53%;
    }
}


@media (max-width:1039px) {
    .home-adress .wp-block-column:first-child {
        flex-basis: 50% !important;
    }

    .home-adress .wp-block-column:last-child {
        padding-left: 2em;
        flex-basis: 50% !important;
    }
}

@media (min-width: 1080px) {
    .kontakt-hero .wp-block-column:first-child > * {
       padding-left: calc(50vw - 540px - var(--wp--style--root--padding-left));
    }
}
@media (min-width: 1644px) {
    .kontakt-hero .wp-block-column:first-child > * {
       padding-left: calc((var(--wp--style--global--wide-size) - var(--wp--style--global--content-size)) / 2);
    }
}



@media (min-width: 800px) {
    .kontakt-shadow-2 {
        margin-top:-2em !important;
    }
}

.kontakt-shadow-2 {
    box-shadow: 30vw 0px 0px 0px var(--wp--preset--color--accent-3);
    position:relative;
}

:not(.block-editor-block-list__block).kontakt-shadow-2 {
    z-index: -1;
}


.kontakt-shadow-2 .wp-block-column:last-child {
    position: relative;
}

.kontakt-shadow-2 .wp-block-column:last-child::after {
    position: absolute;
    content: '';
    display: block;
    height: 44px;
    width: 100%;
    bottom: -44px;
    background-color: var(--wp--preset--color--accent);
}

.hero > .wp-block-group {
  position:relative;
  z-index: 1;
}

@media (max-width: 781px) {
    .hero h1 {
        max-width: 310px;
    }
}

.hero h2 {
    min-height: 3em;
    min-width: min(310px, calc(100vw - var(--wp--style--root--padding-left) - var(--wp--style--root--padding-right)));
}

.hero .icon {
    margin-left: auto;
    width: clamp(150px, 20vw, 265px);
    margin-top: -3em;
    z-index: -1;

}

.hero .image {
        margin-top: -1em;
    }


@media (min-width: 420px) {
    .hero .image {
        margin-top: -2.5em;
    }

    .hero .icon {
        margin-top: -5em;
    }
}


@media (min-width: 539px) {
    .hero .icon {
        margin-top: 0;
    }
}

@media (min-width: 1040px) {
    .hero .icon {
        margin-right: 2em;
        margin-top: 0;
    }

    .hero .image {
        margin-top: -5.5em;
    }
}




.recruiting-hero {
    box-shadow: 30vw 0px 0px 0px var(--wp--preset--color--contrast-3) ;
}

.recruiting-hero .wp-block-column:last-child {
    position: relative;
}

.recruiting-hero .wp-block-column:last-child .wp-block-image {
    position: absolute;
    top: 3em;
    left: -3em;
}

.recruiting-hero .wp-block-column:last-child::after {
    position: absolute;
    content: '';
    display: block;
    height: 44px;
    width: 100%;
    background-color: var(--wp--preset--color--accent);
    z-index: -1;
    bottom: -44px;
}

@media (max-width: 781px) {
    .recruiting-hero .wp-block-column:last-child {
        background-color: transparent !important;
    }

    .recruiting-hero .wp-block-column:last-child .wp-block-image {
        position: relative;
        top: -10vw;
        left: 0;
        transform: rotate(-90deg) scale(0.6);
    }

    .recruiting-hero .wp-block-column:last-child::after {
        position: relative;
        bottom: 0;
    }
}

@media (max-width: 550px) {
    .recruiting-hero .wp-block-column:last-child .wp-block-image {
        top: -1em;
    }

}


.shadow-g-left { 
  box-shadow: -30vw 0px 0px 0px var(--wp--preset--color--contrast);
}
.shadow-g-right { 
  box-shadow: 30vw 0px 0px 0px var(--wp--preset--color--contrast);
}
.shadow-b-left { 
    box-shadow: -30vw 0px 0px 0px var(--wp--preset--color--accent-5);
}
.shadow-b-right { 
    box-shadow: 30vw 0px 0px 0px var(--wp--preset--color--accent-5);
}
.shadow-o-left { 
  box-shadow: -30vw 0px 0px 0px var(--wp--preset--color--accent);
}
.shadow-o-right { 
  box-shadow: 30vw 0px 0px 0px var(--wp--preset--color--accent);
}



/* ------------------------------------------- */
/*  Slider
/* ------------------------------------------- */
.overflow-hidden {
    overflow: hidden;
}

 .slick-slider {
     position: relative;
     display: block;
     box-sizing: border-box;
     -webkit-user-select: none;
     -moz-user-select: none;
     -ms-user-select: none;
     user-select: none;
     -webkit-touch-callout: none;
     -khtml-user-select: none;
     -ms-touch-action: pan-y;
     touch-action: pan-y;
     -webkit-tap-highlight-color: transparent;
}
 .slick-list {
     position: relative;
     display: block;
     overflow: hidden;
     margin: 0;
     padding: 0;
}
 .slick-list:focus {
     outline: none;
}
 .slick-list.dragging {
     cursor: pointer;
     cursor: hand;
}
 .slick-slider .slick-track, .slick-slider .slick-list {
     -webkit-transform: translate3d(0, 0, 0);
     -moz-transform: translate3d(0, 0, 0);
     -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
     transform: translate3d(0, 0, 0);
}
 .slick-track {
     position: relative;
     top: 0;
     left: 0;
     display: block;
     margin-left: auto;
     margin-right: auto;
}
 .slick-track:before, .slick-track:after {
     display: table;
     content: '';
}
 .slick-track:after {
     clear: both;
}
 .slick-loading .slick-track {
     visibility: hidden;
}
 .slick-slide {
     display: none;
     float: left;
     height: 100%;
     min-height: 1px;
}
 [dir='rtl'] .slick-slide {
     float: right;
}
 .slick-slide img {
     display: block;
}
 .slick-slide.slick-loading img {
     display: none;
}
 .slick-slide.dragging img {
     pointer-events: none;
}
 .slick-initialized .slick-slide {
     display: block;
}
 .slick-loading .slick-slide {
     visibility: hidden;
}
 .slick-vertical .slick-slide {
     display: block;
     height: auto;
     border: 1px solid transparent;
}
 .slick-arrow.slick-hidden {
     display: none;
}

/* Arrows */
.slick-prev, .slick-next {
     font-size: 0;
     line-height: 0;
     position: absolute;
     bottom: 25%;
     display: block;
     width: 49px;
     height: 29px;
     padding: 0;
     cursor: pointer;
     color: transparent;
     border: none;
     border-radius: 50%;
     outline: none;
     background: transparent;
     z-index: 20;
}
 .slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
     color: transparent;
     outline: none;
     background: transparent;
}

.slick-prev.slick-disabled::before, .slick-next.slick-disabled::before {
     opacity: .25;
}
 .slick-prev::before, .slick-next::before {
     font-size: 29px;
     line-height: 1;
     opacity: 0.5;
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
}
 .slick-prev:hover::before, .slick-prev:focus::before, .slick-next:hover::before, .slick-next:focus::before {
     opacity: 1;
}
 .slick-prev {
     left: 30px;
}
 [dir='rtl'] .slick-prev {
     right: 30px;
     left: auto;
}
 .slick-prev::before {
     content: var(--slider-np);
}
 [dir='rtl'] .slick-prev::before {
     content: var(--slider-np);
}
 .slick-next {
     right: 30px;
     transform: scaleX(-1);
}
 [dir='rtl'] .slick-next {
     right: auto;
     left: 30px;
     transform: scaleX(-1);
}
 .slick-next::before {
     content: var(--slider-np);
}
 [dir='rtl'] .slick-next::before {
     content: var(--slider-np);
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 30px;
    position: relative;
}

.slick-dots {
    position: absolute;
    bottom: clamp(2.5rem, calc(1.61rem + 4.46vw), 3.75rem);
    display: none;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 5px;
    margin: 0 5px !important;
    padding: 0 !important;
    cursor: pointer;
    font-size: 10rem !important;
    padding-left: 0;
}

.slick-dots li::before {
    display: none;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}
.slick-dots li button:before {
    font-size: clamp(3.75rem, calc(2.86rem + 4.46vw), 5rem);
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: .75;
    color: var(--wp--preset--color--base);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
    opacity: .75;
    color: var(--wp--preset--color--primary);
}


/* ------------------------------------------- */
/*  MAP
/* ------------------------------------------- */
#map {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

#googleMap {
    width: 100%;
    max-height: 400px;
    margin: 0;
    height: 100%;
    min-height: 400px;
    background: url(image/map-dsgvo.jpg) no-repeat center center;
    background: var(--wp--preset--color--accent-4);
}

#googleMap p {
  font-family: var(--wp--preset--font-family--outfit);
  margin-bottom: 0;
  margin-top: 0;
  text-align: center;
  font-size: var(--wp--preset--font-size--medium);
  position: relative;
}

#googleMap p b  {
  font-family: var(--wp--preset--font-family--playfair);
  text-transform: uppercase;
  font-weight: 400;
  padding: 0.2em;
  line-height: 1.5em;
  font-size: var(--wp--preset--font-size--large);
  text-transform: uppercase;
  color: var(--wp--preset--color--accent);
letter-spacing: 0.25em;
}

 .gm-style .gm-style-iw {
   min-width: 230px !important;
   background-color: #ffffff;
   box-shadow: none;
 }

.gm-style .gm-style-iw-c {
    overflow: inherit;
    transform: translate(-50%,-100%);
}

 .gm-style .gm-style-iw-t::after {
    display: none;
 }


.gm-style-iw-d {
    margin-top: -1.5em;
}


#googleMap {
    margin: 2em 0;
}

#toggleMap {
  display: block;
  position: absolute;
  z-index: 5;
  text-align: center;
}

#toggleMap h3 {
  letter-spacing: initial;
  color: var(--wp--preset--color--contrast);
}

#toggleMap p, #toggleMap a {
  max-width: 300px;
  margin: 20px auto;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--contrast);
}

#toggleMap p.button {
    color: var(--wp--preset--color--contrast);
    background: transparent;
    font-family: var(--wp--preset--font-family--outfit);
    letter-spacing: 0.075rem;
    padding: 0.2em 1em;
    border-radius: 0;
    text-decoration: none;
    border: 2px solid var(--wp--preset--color--contrast-4);
    cursor: pointer;
}

#toggleMap p.button:hover {
    text-decoration: none;
}

/* ------------------------------------------- */
/*  Footer: Progress
/* ------------------------------------------- */

footer .wp-block-navigation .wp-block-navigation-item {
    line-height: 1.55;
}

@media (max-width:428px) {
    footer .wp-block-group  {
        align-items: center !important;
    }
    footer p {
        text-align: center;
    }
    footer .wp-block-navigation  {
        justify-content: center
    }

    footer > .wp-block-group > .wp-block-group  {
        padding: 0 3em !important;
    }
}



@media (min-width:1660px) {
    footer > .wp-block-group > .wp-block-group  {
        padding: 0 !important;
    }
}


@-webkit-keyframes border-transform{
    0%,100% { border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%; } 
    14% { border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%; } 
    28% { border-radius: 54% 46% 38% 62% / 49% 70% 30% 51%; } 
    42% { border-radius: 61% 39% 55% 45% / 61% 38% 62% 39%; } 
    56% { border-radius: 61% 39% 67% 33% / 70% 50% 50% 30%; } 
    70% { border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%; } 
    84% { border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%; } 
}

.progress-wrap {
    position: fixed;
    right: 40px;
    bottom: 40px;
    height: 64px;
    width: 64px;
    cursor: pointer;
    display: block;
    border-radius: 50%;
    box-shadow: inset  0 0 0 2px rgba(0,0,0,0.1);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}
.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.progress-wrap::after {
    position: absolute;
    content: var(--arrow-up);
    opacity: 1;
    color: #000;
    left: 0;
    top: -40%;
    height: 64px;
    width: 64px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}
.progress-wrap:hover::after {
    opacity: 1;
    filter: unset;
}
.progress-wrap svg path { 
    fill: var(--wp--preset--color--accent-4); 
}
.progress-wrap svg.progress-circle path {
    stroke: var(--wp--preset--color--accent-5);
    stroke-width: 6;
    box-sizing:border-box;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

@media (max-width: 768px) {
    .progress-wrap {
        height: 44px;
        width: 44px;
        bottom: 24px;
        right: 24px;
    }

    .progress-wrap::after {
        transform: scale(0.6);
        top: -20%;
        height: 44px;
        width: 44px;
    } 

    footer > .wp-block-group {
        
    }

}