/* GENTLE HIDE */

/* FONT-FACE */
@font-face {
    font-family: 'Basier';
    src: url('../fonts/basiersquare-regular-webfont.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Basier';
    src: url('../fonts/basiersquare-medium-webfont.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
}

/* ROOT */
:root {
    /* colors */
    --white: #ffffff;
    --grey-950: #121516;
    --orange-400: #ab795b;
    --lightgreen-400: #879983;
    --darkgreen-900: #24322a;
    --success-400: #33f582;
    --danger-400: #ff5151;
    /* variants */
    --grey-200: #e3e7e8;
    --orange-500: #9f6d53;
    --orange-600: #885746;
    --lightgreen-500: #5b7158;
    --lightgreen-600: #455843;
    /*--lightgreen-hover: #9DB299;*/
    /* alpha */
    --alpha-25-white: #ffffff40;
    --alpha-50-white: #ffffff80;
    --alpha-30-grey-200: #e3e7e84d;
    --alpha-30-orange-600: #8857464d;
    --alpha-30-lightgreen-600: #4558434d;
    /*--divider: rgba(255, 255, 255, 0.25);*/
    /*    --dimming: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);*/
    --dimming: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    --dimming-navbar: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
    /* spacings / 390 -> 1920  */
    --spacing-0: 4px;
    --spacing-1: 8px;
    --spacing-2: 16px;
    --spacing-3: 24px;
    --spacing-4: 32px;
    /* 32/48 */
    --spacing-5: clamp(2rem, 1.873rem + 0.523vw, 2.5rem);
    /* 48/64 */
    --spacing-6: clamp(3rem, 2.745rem + 1.046vw, 4rem);
    /* 56/120 */
    --spacing-7: clamp(3.5rem, 2.48rem + 4.183vw, 7.5rem);
    /* 80/200 */
    --spacing-8: clamp(5rem, 3.088rem + 7.843vw, 12.5rem);
    /* typography / 390 -> 1920 */
    --font-family-base: 'Basier', system-ui, 'Segoe UI', sans-serif;
    --font-weight-base: normal;
    --line-height-base: 1.6;
    --line-height-headline: 1.1;
    /* 14 */
    --font-size-sm: 14px;
    /* 16 */
    --font-size-base: 16px;
    /* 16/20 */
    --font-size-lg: clamp(1rem, 0.936rem + 0.261vw, 1.25rem);
    /* 18/24 */
    --font-size-xl: clamp(1.125rem, 1.029rem + 0.392vw, 1.5rem);
    /* 23/32 */
    --font-size-2xl: clamp(1.438rem, 1.294rem + 0.588vw, 2rem);
    /* 28/48 */
    --font-size-3xl: clamp(1.75rem, 1.431rem + 1.307vw, 3rem);
    /* 34/80 */
    --font-size-4xl: clamp(2.125rem, 1.392rem + 3.007vw, 5rem);
    /* 41/100 */
    --font-size-5xl: clamp(2.563rem, 1.623rem + 3.856vw, 6.25rem);
    /* 48/140 */
    --font-size-6xl: clamp(3rem, 1.534rem + 6.013vw, 8.75rem);
    /* grid */
    --grid-margin: 1.5rem;
    --grid-gap: 1rem;
    /* misc */
    /*    --border-radius-8: 8px;*/
    --border-radius-full: 100px;
    --spacing-top: calc(var(--spacing-7) + 56px + (var(--spacing-2) * 2));
}

@media (min-width: 768px) {
    :root {
        --spacing-top: calc(var(--spacing-7) + 64px + var(--grid-margin));
    }
}

@media (min-width: 1024px) {
    :root {
        --grid-margin: 3vw;
        --grid-gap: 2rem;
    }
}

/* SITE */
* {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

body {
    background-color: var(--grey-950);
}

main.main {
    display: flex !important;
    flex-direction: column !important;
    overflow-x: clip;
}

main.main > .e-con-inner {
    row-gap: var(--spacing-8);
}

.e-con,
.e-con-inner {
    padding: 0 !important;
}

.e-con-inner {
    max-width: none !important;
}

.e-con > .e-con-inner {
    gap: 0;
}

/* CONTENT GRID */
.content-grid {
    display: grid;
    column-gap: var(--grid-gap);
    grid-template-columns:
        [full-width-start] calc(var(--grid-margin) - var(--grid-gap)) [content-start] repeat(12, minmax(0, 1fr)) [content-end] calc(var(--grid-margin) - var(--grid-gap))
        [full-width-end];
}

.content-grid > * {
    grid-column: content;
}

.content-grid .content-grid {
    grid-column: full-width;
}

.grid-cols-12 {
    display: grid;
    column-gap: var(--grid-gap);
    grid-template-columns: [content-start] repeat(12, minmax(0, 1fr)) [content-end];
}

.grid-cols-12 > * {
    grid-column: content;
}

/* COLORS */
::selection {
    color: var(--white);
    background: var(--orange-400);
}

/* SPACINGS */
.gap-y-2 {
    row-gap: var(--spacing-2);
}

.gap-y-4 {
    row-gap: var(--spacing-4);
}

.gap-y-5 {
    row-gap: var(--spacing-5);
}

.gap-y-6 {
    row-gap: var(--spacing-6);
}

.gap-y-7 {
    row-gap: var(--spacing-7);
}

/*.gap-grid {
    gap: var(--grid-gap);
}*/

.pt-top {
    padding-top: var(--spacing-top) !important;
}

.pb-8 {
    padding-bottom: var(--spacing-8) !important;
}

.mt-2 {
    margin-top: var(--spacing-2) !important;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-4 {
    margin-bottom: var(--spacing-4) !important;
}

.mb-6 {
    margin-bottom: var(--spacing-6) !important;
}

.mb-7 {
    margin-bottom: var(--spacing-7) !important;
}

/* TYPOGRAPHY */
h1,
h2,
h3,
h4,
h5,
h6,
.font-headline p {
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-base);
    line-height: var(--line-height-headline) !important;
    color: var(--white);
    font-style: normal;
    text-wrap: balance;
    hyphens: none;
}

h1 {
    font-size: var(--font-size-6xl);
    margin-bottom: 0.32em !important;
}

/*h2 {
    font-size: var(--font-size-4xl);
    margin-bottom: 1.5em !important;
}*/

h2 {
    font-size: var(--font-size-2xl);
    line-height: 1.4 !important;
    margin-bottom: 1.5em !important;
}

.elementor-widget-text-editor h2:not(:first-child),
.grid-article-content h2:not(:first-child) {
    margin-top: 3em !important;
}

h3 {
    font-size: var(--font-size-lg);
    margin-bottom: 0.5em !important;
}

.elementor-widget-text-editor h3:not(:first-child),
.grid-article-content h3:not(:first-child) {
    margin-top: 1em !important;
}

.elementor-widget-text-editor h3,
h4,
h5,
h6 {
    font-size: var(--font-size-lg);
    text-transform: uppercase;
    margin-bottom: 1.2em !important;
}

.elementor-widget-text-editor h3:not(:first-child),
.grid-article-content h3:not(:first-child),
.elementor-widget-text-editor h4:not(:first-child),
.grid-article-content h4:not(:first-child),
.elementor-widget-text-editor h5:not(:first-child),
.grid-article-content h5:not(:first-child),
.elementor-widget-text-editor h6:not(:first-child),
.grid-article-content h6:not(:first-child) {
    margin-top: 2.4em !important;
}

.subline h2,
.subline p {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-base) !important;
    margin-bottom: 1.2em !important;
    text-transform: uppercase;
}

h1 span.coordinates {
    display: block;
    margin: var(--spacing-1) 0 var(--spacing-4) 0;
    font-size: var(--font-size-lg);
    opacity: 0.5;
}

body,
p {
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-base);
    font-size: var(--font-size-xl);
    line-height: var(--line-height-base) !important;
    color: var(--white);
    word-wrap: break-word;
    text-wrap: pretty;
    hyphens: auto;
    hyphenate-limit-chars: 6 3 3;
    hyphenate-limit-lines: 2;
    hyphenate-limit-last: always;
    hyphenate-limit-zone: 8%;
    -webkit-hyphens: auto;
    -webkit-hyphenate-limit-before: 2;
    -webkit-hyphenate-limit-after: 2;
    -webkit-hyphenate-limit-chars: 6 3 3;
    -webkit-hyphenate-limit-lines: 2;
    -webkit-hyphenate-limit-last: always;
    -webkit-hyphenate-limit-zone: 8%;
    -moz-hyphens: auto;
    -moz-hyphenate-limit-chars: 6 3 3;
    -moz-hyphenate-limit-lines: 2;
    -moz-hyphenate-limit-last: always;
    -moz-hyphenate-limit-zone: 8%;
    -ms-hyphens: auto;
    -ms-hyphenate-limit-chars: 6 3 3;
    -ms-hyphenate-limit-lines: 2;
    -ms-hyphenate-limit-last: always;
    -ms-hyphenate-limit-zone: 8%;
}

p {
    margin-bottom: 0.727em;
    /*    max-width: 75ch;*/
}

strong {
    font-weight: 500;
}

div > p:last-child {
    margin-bottom: 0;
}

.font-size-6xl h1,
.font-size-6xl h2,
.font-size-6xl h3,
.font-size-6xl h4,
.font-size-6xl h5,
.font-size-6xl h6,
.font-size-6xl p {
    font-size: var(--font-size-6xl) !important;
    line-height: var(--line-height-headline) !important;
}

.font-size-5xl h1,
.font-size-5xl h2,
.font-size-5xl h3,
.font-size-5xl h4,
.font-size-5xl h5,
.font-size-5xl h6,
.font-size-5xl p {
    font-size: var(--font-size-5xl) !important;
    line-height: var(--line-height-headline) !important;
}

.font-size-4xl h1,
.font-size-4xl h2,
.font-size-4xl h3,
.font-size-4xl h4,
.font-size-4xl h5,
.font-size-4xl h6,
.font-size-4xl p {
    font-size: var(--font-size-4xl) !important;
    line-height: var(--line-height-headline) !important;
}

.font-size-2xl h1,
.font-size-2xl h2,
.font-size-2xl h3,
.font-size-2xl h4,
.font-size-2xl h5,
.font-size-2xl h6,
.font-size-2xl p {
    font-size: var(--font-size-2xl) !important;
    /*line-height: var(--) !important;*/
}

.font-size-3xl h1,
.font-size-3xl h2,
.font-size-3xl h3,
.font-size-3xl h4,
.font-size-3xl h5,
.font-size-3xl h6,
.font-size-3xl p {
    font-size: var(--font-size-3xl) !important;
    /*line-height: var(--) !important;*/
}

.font-size-lg p {
    font-size: var(--font-size-lg) !important;
    /*line-height: var(--) !important;*/
}

.font-size-base p {
    font-size: var(--font-size-base) !important;
    /*line-height: var(--) !important;*/
}

.font-size-sm p {
    font-size: var(--font-size-sm) !important;
    /*line-height: var(--) !important;*/
}

.font-headline {
    line-height: var(--line-height-headline) !important;
    text-wrap: balance;
}

.line-height-140 p {
    line-height: 1.4 !important;
}

.mb-0 h1,
.mb-0 h2,
.mb-0 h3,
.mb-0 h4,
.mb-0 h5,
.mb-0 h6 {
    margin-bottom: 0 !important;
}

@media (min-width: 768px) and (max-width: 1279px) {
    .subline {
        padding-right: var(--spacing-6) !important;
    }
}

/*  GRID CONTENT */
.grid-full-width {
    grid-column: full-width;
}

@media (min-width: 768px) {
    .grid-heading-text {
        grid-column: 2 / 10;
    }

    .grid-text {
        grid-column: 6 / 14;
    }

    .grid-cols-12 .grid-text {
        grid-column: 5 / 13;
    }

    .grid-subline {
        grid-column: 2 / 6;
    }

    .grid-article-details {
        grid-column: 2 / 5;
    }

    .grid-single-image {
        grid-column: 2 / 12;
    }

    .grid-cols-12 .grid-single-image {
        grid-column: 1 / 11;
    }

    .grid-heading-header {
        grid-column: 2 / 8;
    }

    .grid-subline-header {
        grid-column: 9 / 14;
    }

    .grid-subline-header-short {
        grid-column: 10 / 14;
    }

    .grid-newsletter {
        grid-column: 2 / 8;
    }

    .grid-span-3 {
        grid-column: span 6;
    }

    .grid-quote {
        grid-column: 3 / 11;
    }

    .grid-image-left {
        grid-column: 2 / 8;
    }

    .grid-image-right {
        grid-column: 8 / 14;
    }

    .grid-text-left {
        grid-column: 2 / 7;
    }

    .grid-text-right {
        grid-column: 9 / 14;
    }

    .grid-article-content {
        grid-column: 5 / 14;
    }
}

/*@media (min-width: 1024px) {}*/

@media (min-width: 1280px) {
    .grid-heading-text {
        grid-column: 2 / 8;
    }

    .grid-text {
        grid-column: 7 / 13;
    }

    .grid-cols-12 .grid-text {
        grid-column: 6 / 12;
    }

    .grid-subline {
        grid-column: 2 / 5;
    }

    .grid-images {
        grid-column: 2 / 13;
    }

    .grid-single-image {
        grid-column: 2 / 10;
    }

    .grid-cols-12 .grid-single-image {
        grid-column: 1 / 9;
    }

    .grid-heading-center {
        grid-column: 4 / 12;
    }

    .grid-heading-header {
        grid-column: 2 / 9;
    }

    .grid-subline-header {
        grid-column: 10 / 14;
    }

    .grid-subline-header-short {
        grid-column: 11 / 14;
    }

    .grid-newsletter {
        grid-column: 2 / 7;
    }

    .grid-span-3 {
        grid-column: span 3;
    }

    .grid-quote {
        grid-column: 3 / 9;
    }

    .grid-image-right {
        grid-column: 7 / 13;
    }

    .grid-text-left {
        grid-column: 2 / 6;
    }

    .grid-text-right {
        grid-column: 9 / 13;
    }

    .grid-cards {
        grid-column: 2 / 13;
    }
}

@media (min-width: 1536px) {
    .grid-subline {
        grid-column: 2 / 4;
    }
}

/* IMG */
.ratio-9 img {
    aspect-ratio: 16 / 11;
    object-fit: cover;
    width: 100%;
}

.ratio-11 img {
    aspect-ratio: 16 / 11;
    object-fit: cover;
    width: 100%;
}

.ratio-13 img {
    aspect-ratio: 16 / 11;
    object-fit: cover;
    width: 100%;
}

.ratio-17 img {
    aspect-ratio: 16 / 17;
    object-fit: cover;
    width: 100%;
}

.ratio-19 img {
    aspect-ratio: 16 / 19;
    object-fit: cover;
    width: 100%;
}

.ratio-20 img {
    aspect-ratio: 16 / 20;
    object-fit: cover;
    width: 100%;
}

.hover-scale {
    overflow: hidden;
}

.hover-scale img {
    transition: transform 0.4s ease-in-out !important;
}

.hover-scale:hover img {
    transform: scale(1.1);
}

@media (hover: hover) and (pointer: fine) {
    .hover-clip {
        clip-path: inset(0 0 0 0);
        transition: clip-path 0.6s ease-in-out !important;
    }

    .hover-clip:hover {
        clip-path: inset(var(--spacing-3));
    }
}

@media (min-width: 768px) {
    .ratio-9 img {
        aspect-ratio: 16 / 9;
    }

    .ratio-13 img {
        aspect-ratio: 16 / 13;
    }
}

/* LINK */
a {
    color: var(--orange-400);
}

a:hover {
    color: var(--orange-500);
    text-decoration: underline;
}

a:focus {
    color: var(--orange-600);
    text-decoration: underline;
    text-decoration-color: var(--alpha-30-orange-600);
}

a:active {
    color: var(--orange-600);
    text-decoration: underline;
}

.decoration-none a:hover,
a.decoration-none:hover {
    text-decoration: none !important;
}

.link-plain a:not(:hover),
a.link-plain:not(:hover) {
    color: var(--white);
}

.link-highlighted a,
a.link-highlighted {
    text-decoration: underline;
}

/* SECTION */
/*section.section {
    padding-block: var(--spacing-7) !important;
    background-color: var(--);
}*/

/* MISC */
.text-center {
    text-align: center;
}

.text-uppercase {
    text-transform: uppercase;
}

.hyphens-none p {
    hyphens: none;
}

.badge {
    width: fit-content;
    pointer-events: none;
}

.align-items-center {
    align-items: center;
}

.align-items-flex-end {
    align-items: flex-end;
}

/*.text-right {
    text-align: right;
}
}*/

@media (max-width: 767px) {
    .xs-first-row {
        grid-row: 1;
    }
}

/* BUTTON */
a.elementor-button,
.form button.elementor-button {
    font-family: var(--font-family-base);
    font-weight: 500;
    line-height: var(--line-height-headline) !important;
    font-size: var(--font-size-lg);
    font-style: normal;
    color: var(--white) !important;
    text-decoration: none !important;
    padding: 0 var(--spacing-3);
    background-color: transparent;
    border-radius: var(--border-radius-full);
    border: 2px solid var(--orange-400);
    /*margin-block-start: var(--spacing-4);*/
    transition: outline 0s;
}

a.elementor-button {
    margin-block-start: var(--spacing-4);
}

.distributor a.elementor-button {
    cursor: pointer !important;
}

a.elementor-button > .elementor-button-content-wrapper,
.form button.elementor-button > .elementor-button-content-wrapper {
    height: 52px;
    align-items: center;
    /*    gap: var(--spacing-2);*/
}

a.elementor-button span.elementor-button-icon {
    line-height: 0;
}

a.elementor-button span.elementor-button-icon svg {
    width: auto !important;
    height: 24px !important;
}

a.elementor-button:hover,
.form button.elementor-button:hover {
    background-color: var(--orange-500);
    border-color: var(--orange-500);
}

a.elementor-button:focus-visible,
.form button.elementor-button:focus-visible {
    background-color: var(--orange-600);
    border-color: var(--orange-600);
    outline: 4px solid var(--alpha-30-orange-600);
}

a.elementor-button:active,
.form button.elementor-button:active {
    background-color: var(--orange-600);
    border-color: var(--orange-600);
}

.btn-secondary a.elementor-button {
    background-color: var(--lightgreen-400);
    border-color: var(--lightgreen-400);
}

.btn-secondary a.elementor-button:hover {
    background-color: var(--lightgreen-500);
    border-color: var(--lightgreen-500);
}

.btn-secondary a.elementor-button:focus-visible {
    background-color: var(--lightgreen-600);
    border-color: var(--lightgreen-600);
    outline: 4px solid var(--alpha-30-lightgreen-600);
}

.btn-secondary a.elementor-button:active {
    background-color: var(--lightgreen-600);
    border-color: var(--lightgreen-600);
}

.btn-menu a.elementor-button {
    padding: 0;
    border-color: transparent;
    border-radius: 0;
}

.btn-menu a.elementor-button:hover,
.btn-menu a.elementor-button:focus-visible,
.btn-menu a.elementor-button:active {
    background-color: transparent;
    border-color: transparent;
}

.btn-floor-plan a.elementor-button {
    margin: 0;
    position: absolute;
    left: var(--spacing-4);
    bottom: var(--spacing-4);
    color: var(--grey-950) !important;
    background-color: var(--white);
    border-color: var(--white);
    z-index: 2;
}

.btn-floor-plan a.elementor-button:focus-visible {
    background-color: var(--grey-200);
    border-color: var(--grey-200);
    outline: 4px solid var(--alpha-30-grey-200);
}

.btn-floor-plan a.elementor-button:hover,
.btn-floor-plan a.elementor-button:active {
    background-color: var(--grey-200);
    border-color: var(--grey-200);
}

.mt-0 a.elementor-button {
    margin-block-start: 0;
}

.mt-6 a.elementor-button {
    margin-block-start: var(--spacing-6);
}

/* LIST */
.elementor-widget-text-editor ul,
.grid-article-content ul {
    list-style-position: outside;
    padding-left: 24px;
    margin-block-end: 0.727em;
}

/* GRID */
.auto-grid .elementor-grid,
.auto-grid.service-grid {
    --auto-grid-gap-x: var(--grid-gap);
    /* calculations */
    --grid-col-size-calc: calc((100% - var(--auto-grid-gap-x) * var(--grid-max-col-count)) / var(--grid-max-col-count));
    --grid-col-min-size-calc: min(100%, max(var(--grid-min-col-size), var(--grid-col-size-calc)));
    /* setup */
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(var(--grid-col-min-size-calc), 1fr));
}

/* MAGAZINE GRID */
.magazine-grid .elementor-grid {
    --auto-grid-gap-x: var(--spacing-6);
    --grid-max-col-count: 3;
    --grid-min-col-size: 330px;
    gap: var(--spacing-7) var(--spacing-6);
}

/* SERVICE GRID */
.service-grid {
    --auto-grid-gap-x: var(--grid-gap);
    --grid-max-col-count: 2;
    --grid-min-col-size: 330px;
    gap: var(--grid-gap);
}

@media (min-width: 768px) {
    .service-grid {
        --auto-grid-gap-x: var(--spacing-6) !important;
        gap: var(--spacing-6) !important;
    }
}

/* SWIPER */
.gallery .swiper,
.reviews .swiper,
.cb-carousel-block .swiper {
    position: relative !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.gallery picture {
    display: flex;
}

.elementor-widget-image-carousel .swiper-slide {
    width: 100% !important;
}

.gallery .swiper-slide-inner,
.reviews .swiper-slide-inner {
    display: flex;
}

.gallery .swiper-pagination,
.reviews .swiper-pagination,
.cb-carousel-block .swiper-pagination {
    position: absolute !important;
    transform: unset !important;
    display: flex !important;
    width: fit-content !important;
    gap: 12px;
}

.gallery .swiper-pagination-bullet,
.reviews .swiper-pagination-bullet,
.cb-carousel-block .swiper-pagination-bullet {
    width: 14px !important;
    height: 14px !important;
    background: transparent !important;
    border: 2px solid var(--white);
    opacity: 1 !important;
    margin: 0 !important;
}

.gallery .swiper-pagination-bullet.swiper-pagination-bullet-active,
.reviews .swiper-pagination-bullet.swiper-pagination-bullet-active,
.cb-carousel-block .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--white) !important;
}

.gallery .elementor-image-carousel-wrapper .swiper-pagination,
.cb-carousel-block .swiper-pagination {
    bottom: var(--spacing-2) !important;
    left: unset !important;
    right: var(--spacing-2) !important;
}

.reviews .swiper-pagination {
    bottom: 0 !important;
    left: unset !important;
    right: 0 !important;
    transform: translateY(calc(var(--spacing-4) + 21px)) !important;
}

.gallery .elementor-swiper-button-prev,
.gallery .elementor-swiper-button-next svg,
.cb-carousel-block .swiper-button-prev,
.cb-carousel-block .swiper-button-next::after {
    display: none !important;
}

.gallery .elementor-swiper-button-next,
.cb-carousel-block .swiper-button-next {
    position: absolute !important;
    inset: 0 !important;
    transform: unset !important;
}

.cb-carousel-block .swiper-button-next {
    width: 100% !important;
    height: 100% !important;
}

.cb-carousel-block figure.wp-block-image {
    margin: 0 !important;
}

/* SKIP LINK */
a.skip-link.screen-reader-text:focus {
    top: 0 !important;
    height: auto !important;
    width: auto !important;
    margin: 0 !important;
    z-index: 999 !important;
    overflow: auto !important;
    clip: unset !important;
}

/* IMAGES */
.images {
    gap: var(--grid-gap) var(--spacing-6);
}

.images > .elementor-element {
    width: 100%;
}

/*@media (max-width: 767px) {

    .images img {
        aspect-ratio: 16 / 10 !important;
    }
}*/

@media (min-width: 768px) {
    .images {
        flex-direction: row !important;
        align-items: center;
    }
}

/* HERO */
.hero {
    position: relative;
    height: 100svh;
    min-height: 550px;
    max-height: 550px;
}

.hero section,
.hero section *,
.parallax section,
.parallax section * {
    width: 100% !important;
    height: 100% !important;
    overflow: hidden;
}

.hero img,
.hero video,
.parallax img,
.parallax video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    visibility: visible !important;
}

.hero .content-grid,
.parallax .content-grid {
    position: absolute;
    bottom: 0;
    padding: var(--spacing-6) 0 var(--spacing-8) 0 !important;
    background: var(--dimming);
    z-index: 2;
}

@media (min-width: 768px) {
    .hero {
        max-height: 800px;
    }
}

@media (min-width: 1024px) {
    .hero {
        min-height: 750px;
        max-height: unset;
    }
}

/* FULLSCREEN IMAGE */
.parallax {
    aspect-ratio: 16 / 12;
    /*min-height: 500px;*/
    justify-content: flex-end !important;
}

.parallax .content-grid {
    padding: var(--spacing-5) 0 !important;
}

/* CTA */
.cta {
    background-color: var(--darkgreen-900);
    padding: var(--spacing-8) 0 !important;
    justify-content: center !important;
    height: 100svh;
    min-height: 550px;
    max-height: 550px;
}

@media (min-width: 768px) {
    .cta {
        max-height: 800px;
    }
}

@media (min-width: 1024px) {
    .cta {
        min-height: 750px;
        max-height: unset;
    }
}

/* HEADER */
.header {
    background-color: var(--white);
    padding: var(--spacing-top) 0 var(--spacing-7) 0 !important;
}

.header h1,
.header p {
    color: var(--grey-950);
}

/* NAVBAR */
.navbar {
    padding: var(--spacing-2) var(--grid-margin) !important;
    position: fixed;
    top: 0;
    z-index: 999;
    pointer-events: none;
}

.navbar.sticky {
    background-color: var(--grey-950);
}

.navbar > .e-con-inner {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: var(--spacing-3);
}

.navbar > .e-con-inner > .elementor-element {
    width: fit-content !important;
    pointer-events: all;
}

.navbar .wrapper {
    flex-direction: row;
}

.navbar .wrapper .site-logo img {
    width: auto !important;
    height: 56px !important;
}

.navbar .wrapper .site-logo:not(.site-logo-short) {
    display: none;
}

.navbar .actions {
    flex-direction: row;
    gap: var(--spacing-3);
}

.navbar .actions a.elementor-button {
    margin-block-start: 0;
}

.navbar.invert .wrapper .site-logo img,
.navbar.invert .actions .btn-menu svg {
    filter: invert(92%);
}

@media (min-width: 768px) {
    .navbar {
        padding: var(--grid-margin) var(--grid-margin) 0 var(--grid-margin) !important;
    }

    .navbar.sticky {
        background-color: transparent;
    }

    .navbar .wrapper .site-logo img {
        height: 64px !important;
    }

    .navbar:not(.sticky) .wrapper .site-logo:not(.site-logo-short) {
        display: block;
    }

    .navbar:not(.sticky) .wrapper .site-logo.site-logo-short {
        display: none;
    }
}

@media (max-width: 767px) {
    .navbar.invert.sticky .wrapper .site-logo img,
    .navbar.invert.sticky .actions .btn-menu svg {
        filter: invert(0%);
    }
}

@media (min-width: 1280px) {
    .navbar {
        padding: var(--grid-margin) var(--grid-margin) 0 var(--grid-margin) !important;
    }
}

/* CTA CARD */
.cta-card {
    height: fit-content;
}

.cta-card img {
    aspect-ratio: 16 / 12;
    object-fit: cover;
}

.cta-card .wrapper {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: var(--dimming);
    padding: var(--spacing-4) var(--spacing-3) !important;
    text-align: center;
    flex-direction: column-reverse !important;
}

.cta-grid {
    display: grid;
    gap: var(--grid-gap);
}

@media (min-width: 1024px) {
    .cta-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: var(--spacing-6);
    }

    .cta-grid .cta-card:nth-child(1) {
        grid-row: span 2;
    }

    .cta-grid .cta-card:nth-child(1) img {
        aspect-ratio: 16 / 20;
    }
}

@media (min-width: 1280px) {
    .cta-card .wrapper {
        padding: var(--spacing-5) var(--spacing-4) !important;
    }
}

/* ACCORDION */
.accordion {
    border-bottom: 1px solid var(--alpha-25-white);
}

.accordion .e-n-accordion-item .e-n-accordion-item-title {
    border: none;
    padding: var(--spacing-4) 0;
    justify-content: space-between;
    gap: var(--spacing-3);
    border-top: 1px solid var(--alpha-25-white);
}

.accordion .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-icon span svg {
    transition: transform 0.4s ease-in-out;
}

.accordion .e-n-accordion-item .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon span.e-closed svg {
    transform: rotate(90deg);
}

.accordion .e-n-accordion-item .e-n-accordion-item-title h3 {
    font-size: var(--font-size-2xl);
    margin-bottom: 0 !important;
    text-transform: unset;
}

.accordion .e-n-accordion-item .e-n-accordion-item-title {
    gap: var(--spacing-1);
}

.accordion .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-text {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-1);
    align-items: flex-start;
    flex-direction: column-reverse !important;
}

.accordion .e-n-accordion-item .e-n-accordion-item-title p {
    font-size: var(--font-size-base);
    text-transform: uppercase;
}

.accordion .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-icon,
.accordion .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-icon span,
.accordion .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-icon svg {
    width: 24px !important;
    height: 24px !important;
}

.accordion .e-n-accordion-item div[role='region'].e-child {
    margin-bottom: var(--spacing-4);
    /* FIX */
}

/* SERVICE CARD */
.service-card img {
    aspect-ratio: 16 / 20;
    object-fit: cover;
}

.service-card .wrapper {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: var(--dimming);
    padding: var(--spacing-4) var(--spacing-3) !important;
    /*text-align: center;*/
    /*flex-direction: column-reverse !important;*/
}

@media (min-width: 768px) {
    .service-card .wrapper {
        padding: var(--spacing-5) var(--spacing-4) !important;
    }
}

/* ICON LIST */
.icon-list .elementor-icon-list-text {
    font-size: var(--font-size-base) !important;
    padding: 0 !important;
}

.icon-list .elementor-icon-list-icon svg {
    margin: 0 !important;
}

.icon-list li.elementor-icon-list-item {
    gap: var(--spacing-2);
    width: clamp(250px, 40%, 300px);
}

.icon-list ul.elementor-icon-list-items {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-2) var(--spacing-4);
}

/* AOS */
[data-aos='fade-right'] {
    transform: translate3d(-50px, 0, 0);
}

[data-aos='fade-left'] {
    transform: translate3d(50px, 0, 0);
}

[data-aos='fade-up'] {
    transform: translate3d(0, 30px, 0);
}

/* NAVIGATION SIDEBAR */
.sidebar {
    background-color: rgba(0, 0, 0, 0.4);
    transition: background-color 1s ease-in-out !important;
}

.sidebar .dialog-widget-content {
    box-shadow: unset !important;
    background-color: var(--grey-950) !important;
}

.sidebar .dialog-message {
    padding: calc(var(--spacing-7) + var(--spacing-2)) var(--spacing-5) var(--spacing-7) var(--spacing-5) !important;
    width: 100vw !important;
    max-width: 960px !important;
    min-width: unset !important;
}

.sidebar.navigation-sidebar .dialog-message {
    padding-top: var(--spacing-5) !important;
}

.sidebar .dialog-message .wrapper > .e-con-inner {
    gap: var(--spacing-7);
}

.sidebar .language-switcher ul {
    list-style: none;
    display: flex;
    flex-direction: row;
    gap: var(--spacing-2);
}

.sidebar .language-switcher ul li a {
    font-size: var(--font-size-lg) !important;
    color: var(--white) !important;
    height: 44px;
    align-items: center;
}

.sidebar .language-switcher ul li.wpml-ls-current-language a {
    text-decoration: underline;
}

.sidebar .navigation ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2);
}

.sidebar .navigation ul li {
    text-align: center;
    line-height: 1;
}

.sidebar .navigation ul li a {
    font-size: clamp(3rem, 2.49rem + 2.092vw, 5rem);
    text-decoration: none !important;
}

.sidebar .navigation ul li a:not(:hover):not(:focus):not(:active) {
    color: var(--white) !important;
}

.sidebar .dialog-widget-content a.dialog-close-button::after {
    content: 'Close';
    display: block;
}

:lang(de-AT) .sidebar .dialog-widget-content a.dialog-close-button::after {
    content: 'Schließen';
}

.sidebar .dialog-widget-content a.dialog-close-button {
    font-size: var(--font-size-lg) !important;
    color: var(--white) !important;
    text-decoration: none !important;
    top: var(--spacing-5);
    right: var(--spacing-5);
    line-height: 1.5;
    height: 44px;
    align-items: center;
}

.sidebar .dialog-widget-content a.dialog-close-button:hover {
    text-decoration: underline !important;
}

.sidebar .dialog-widget-content a.dialog-close-button svg {
    display: none !important;
}

@media (min-width: 768px) {
    .sidebar .dialog-message {
        width: 50vw !important;
        min-width: 550px !important;
    }
}

/* SCROLL WATCHER */

.scroll-watcher {
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 4px;
    background-color: var(--orange-400);
    z-index: 1000;
    scale: 0 1;
    transform-origin: left;
    animation: scroll-watcher linear;
    animation-timeline: scroll();
}

@keyframes scroll-watcher {
    to {
        scale: 1 1;
    }
}

/* FOOTER */
.footer {
    padding: 0 0 var(--spacing-6) 0 !important;
}

.footer > .e-con-inner {
    row-gap: var(--spacing-7);
}

.footer a:not(.social-links a) {
    color: var(--white) !important;
}

.footer .divider {
    border-top: 1px solid var(--white);
}

.footer .meta,
.footer .meta p {
    font-size: var(--font-size-base);
}

.footer .meta {
    flex-direction: row;
    justify-content: space-between;
    gap: var(--spacing-2);
}

.footer .meta .footer-navigation ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-1) var(--spacing-2);
}

.footer .social-links {
    display: flex;
    gap: var(--spacing-3);
}

.footer .social-links a {
    display: flex;
}

.footer .social-links a svg {
    width: 32px !important;
    height: 32px !important;
}

@media (min-width: 1280px) {
    .footer .grid-cols-12 > .grid-span-3:last-child {
        text-align: right;
    }

    .footer .grid-cols-12 > .grid-span-3:last-child .social-links {
        justify-content: flex-end;
    }
}

/* SCROLLING TEXT */
.scrolling-text {
    overflow: hidden;
    pointer-events: none;
}

.scrolling-text p {
    white-space: nowrap;
    text-transform: uppercase;
}

.scrolling-text > .elementor-element p {
    width: max-content;
    flex-wrap: nowrap;
    animation: scrolling linear;
    animation-timeline: scroll(root);
}

.scrolling-text > .elementor-element:last-child p {
    animation-direction: reverse;
}

@keyframes scrolling {
    to {
        transform: translate(calc(-50% - 0.5rem));
    }
}

/* REVIEW CARD */
.review-card > .e-con-inner {
    row-gap: var(--spacing-4);
}

.review-card .wrapper {
    row-gap: var(--spacing-1);
}

.review-card .wrapper .meta {
    gap: var(--spacing-0);
}

.review-card .wrapper .meta p {
    font-size: var(--font-size-base);
}

.review-card .wrapper .rating .e-icon-wrapper svg {
    height: 24px !important;
    fill: var(--white);
}

.review-card .wrapper .rating .e-icon-wrapper.e-icon-unmarked svg {
    visibility: hidden;
}

/* MAP */
.ue-google-map_container {
    height: 80vh !important;
    min-height: 400px !important;
    max-height: 400px !important;
}

.ue-google-map__info-window-title {
    display: none !important;
}

.ue-google-map__info-window h5 {
    color: var(--grey-950) !important;
}

.ue-google-map__info-window p,
.ue-google-map__info-window a {
    color: var(--grey-950) !important;
    font-size: 16px !important;
}

.ue-google-map__info-window p {
    margin-top: var(--spacing-2) !important;
}

.gm-style-iw .gm-style-iw-ch {
    display: none !important;
}

.gm-style-iw {
    flex-direction: row-reverse !important;
}

@media (min-width: 768px) {
    .ue-google-map_container {
        min-height: 600px !important;
        max-height: 800px !important;
    }
}

/* FORM */
.form .elementor-form-fields-wrapper {
    gap: var(--spacing-4);
}

.form .elementor-field-group label {
    font-size: var(--font-size-base) !important;
    color: var(--white) !important;
}

.form .elementor-field-group:not(.elementor-field-group-gdpr):not(.elementor-field-group-newsletter) label {
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: var(--spacing-1) !important;
}

.form .elementor-field-group.elementor-field-group-gdpr label {
    display: inline-block;
    line-height: var(--line-height-base);
}

.form .elementor-field-group.elementor-field-group-gdpr label a {
    text-decoration: underline !important;
}

.form .elementor-field-group.elementor-field-group-gdpr label a:not(:hover) {
    color: var(--white) !important;
}

.form input,
.form textarea {
    padding: 0 0 var(--spacing-1) 0 !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: unset !important;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-base);
    font-size: var(--font-size-xl);
    line-height: var(--line-height-base) !important;
    color: var(--white) !important;
}

.form textarea {
    resize: none;
}

.form input[type='checkbox'] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.form .elementor-field-group:not(.elementor-field-group-gdpr) input[type='checkbox'] + label::before {
    content: '';
    display: flex;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border: 1px solid var(--alpha-50-white) !important;
}

.form .elementor-field-group:not(.elementor-field-group-gdpr) input[type='checkbox']:checked + label::before {
    background-color: var(--orange-400);
    background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='24px' height='24px' viewBox='0 0 24 24' enable-background='new 0 0 24 24' xml:space='preserve'%3E%3Cpath fill='none' stroke='%23121516' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M18.67,7L9.5,16.17L5.33,12 ' /%3E%3C/svg%3E");
    border: none !important;
}

.form .elementor-field-group.elementor-field-group-newsletter label {
    display: flex;
    gap: var(--spacing-2);
    align-items: center;
    line-height: var(--line-height-headline);
}

.form .elementor-message {
    font-size: var(--font-size-base) !important;
    margin: var(--spacing-2) 0 0 0 !important;
}

.form .elementor-message.elementor-message-success {
    color: var(--success-400) !important;
}

.form .elementor-message.elementor-message-danger {
    color: var(--danger-400) !important;
}

.form .elementor-message::before {
    display: none !important;
}

/* MAGAZINE CARD */
.magazine-card {
    text-decoration: none !important;
}

.magazine-card > .e-con-inner {
    gap: var(--spacing-3);
}

.magazine-card .wrapper {
    gap: var(--spacing-1);
}

.magazine-card .date p {
    font-size: var(--font-size-sm);
    text-transform: uppercase;
    line-height: var(--line-height-headline) !important;
}

/* LINKTREE */
.linktree-wrapper {
    width: calc(100% - (var(--spacing-3) * 2)) !important;
    max-width: 800px !important;
    padding-block: var(--spacing-5) !important;
    min-height: 100vh !important;
}

.linktree-wrapper > .e-con-inner {
    justify-content: center !important;
}

.linktree-wrapper .wrapper {
    gap: var(--spacing-2);
}

.linktree-wrapper a.elementor-button {
    width: 100% !important;
}

.linktree-wrapper a.elementor-button {
    margin-top: 0 !important;
}

.linktree-wrapper .site-logo img {
    width: auto !important;
    height: 48px !important;
    margin-bottom: var(--spacing-4);
}

@media (min-width: 768px) {
    .linktree-wrapper .site-logo img {
        height: 64px !important;
    }
}

/* ARTICLE */
.article-details li {
    font-size: var(--font-size-sm) !important;
    text-transform: uppercase;
}

.grid-article-content .cb-carousel-block img,
.grid-article-content figure.wp-block-image img {
    aspect-ratio: 16 / 11;
    width: 100% !important;
    object-fit: cover;
}

.grid-article-content figure.wp-block-image img {
    width: 100% !important;
}

/*.grid-article-content .wp-block-jetpack-slideshow:has(+ h2),
.grid-article-content figure.wp-block-image:has(+ h2) {
    margin-bottom: 0 !important;
}*/

.grid-article-content .cb-carousel-block,
.grid-article-content figure.wp-block-image {
    margin-top: var(--spacing-7);
    margin-bottom: var(--spacing-7);
}

.grid-article-content .cb-carousel-block + h2,
.grid-article-content figure.wp-block-image + h2,
.grid-article-content .cb-carousel-block + h3,
.grid-article-content figure.wp-block-image + h3,
.grid-article-content .cb-carousel-block + h4,
.grid-article-content figure.wp-block-image + h4,
.grid-article-content .cb-carousel-block + h5,
.grid-article-content figure.wp-block-image + h5,
.grid-article-content .cb-carousel-block + h6,
.grid-article-content figure.wp-block-image + h6 {
    margin-top: 0 !important;
}

.grid-article-content blockquote {
    margin-top: var(--spacing-7) !important;
    margin-bottom: var(--spacing-7) !important;
}

.grid-article-content blockquote p {
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-base);
    line-height: 1.2 !important;
    color: var(--orange-400);
    font-size: var(--font-size-3xl);
}

.grid-article-content ul li {
    margin-bottom: var(--spacing-1) !important;
}

.grid-article-content > *:last-child {
    margin-bottom: 0 !important;
}

/*.elementor-widget-text-editor h2:not(:first-child)*/

@media (min-width: 768px) {
    .article-details {
        padding-right: var(--spacing-3);
    }

    .grid-article-content {
        display: grid;
        grid-template-columns: repeat(9, minmax(0, 1fr));
        grid-gap: 0 var(--grid-gap);
    }

    .grid-article-content > * {
        grid-column: 2 / 10;
    }

    .grid-article-content .cb-carousel-block,
    .grid-article-content figure.wp-block-image {
        grid-column: 1 / 10;
    }
}

@media (min-width: 1280px) {
    .grid-article-content > * {
        grid-column: 3 / 9;
    }

    .grid-article-content .cb-carousel-block,
    .grid-article-content figure.wp-block-image {
        grid-column: 1 / 9;
    }
}

/* MASONRY GALLERY */
.masonry-gallery > div {
    --hgap: var(--grid-gap) !important;
    --vgap: var(--grid-gap) !important;
}

@media (min-width: 768px) {
    .masonry-gallery > div {
        --hgap: var(--spacing-6) !important;
        --vgap: var(--spacing-6) !important;
    }
}
