/*
Theme Name: Breakdance Zero Theme
Theme URI: https://breakdance.com/zero-theme // todo
Author: Breakdance Builder
Author URI: https://breakdance.com/
Description: Entirely disables the WordPress theme system and lets you design every part of your site with Breakdance, while keeping other theme functionality like templates overrides and functions.php.
Version: 1.0.0
Tested up to: 5.9
Requires PHP: 7
License: GNU General Public License v2 or later // todo no idea about this
License URI: LICENSE
Text Domain: breakdance

Requires Breakdance to be installed.
/*--------------------------------------------------------------*/


/* CSS Reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
    padding-top: 182px;
}

@media (max-width: 992px) {
    body {
        padding-top: 131px; /*161px*/
    }
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: "";
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

address {
	font-style: normal;
}

/* Revert some styles back to default */
.bde-text ol, .bde-text ul, .bde-text li, .bde-text dl, .bde-text dt, .bde-text dd,
.bde-rich-text ol, .bde-rich-text ul, .bde-rich-text li, .bde-rich-text dl, .bde-rich-text dt, .bde-rich-text dd {
    all: revert;
}

.bde-text p,
.bde-rich-text p {
	margin-top: 0;
	margin-bottom: 20px;
}
/* /Revert some styles back to default */

/* Text hyphenation and word breaking */
p, h1, h2, h3, li {
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    word-break: normal;
    overflow-wrap: normal;
    line-break: normal;
}

/* Gradient text for headings */
h1 span:not(:where(button span, button * span)),
h2 span:not(:where(button span, button * span)),
h3 span:not(:where(button span, button * span)),
h4 span:not(:where(button span, button * span)) {
    background: linear-gradient(to right, #CE0B82, #DE0016);
    -webkit-background-clip: text;
    -webkit-text-fill-color: rgba(0, 0, 0, 0);
    background-clip: text;
    color: rgba(0, 0, 0, 0);
}

:where(.bde-shortcode) h3 span {
  all: unset;
}

/* Screen reader only */
.for-screenreader {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.linguise_switcher a .linguise_lang_name {
  transition: color .25s;
  position: relative;
}

.linguise_switcher a .linguise_lang_name:after {
  content: '';
  width: 0%;
  height: 1px;
  left: 50%;
  position: absolute;
  background-color: var(--bde-links-color);
  bottom: 0;
  transition: background-color .35s ease-in-out, width .35s ease-in-out, left .35s ease-in-out;
}

.linguise_switcher a:hover .linguise_lang_name:after {
    width: 100%;
    left: 0;
    background-color: #26322f;
}

/* Tag line decorative element */
.tag-line {
    position: relative;
}

.tag-line::before {
    content: "";
    position: absolute;
    left: -2510px;
    width: 2494px;
    height: 1px;
    background-color: currentColor;
    top: 10px;
}

@media (max-width: 1023px) {
    .tag-line::before {
        content: "";
        position: absolute;
        left: -2510px;
        width: 2539px;
        height: 1px;
        background-color: currentColor;
        top: 10px;
    }
}

.wp-block-button__link {
	cursor: pointer;
}

/* Tag line WordPress variant */
.tag-line-wp {
    position: relative;
}

.tag-line-wp::before {
    content: "";
    position: absolute;
    left: -2510px;
    width: 2494px;
    height: 1px;
    background-color: currentColor;
    top: 10px;
}

@media (max-width: 1023px) {
    .tag-line-wp::before {
        content: "";
        position: absolute;
        left: -2530px;
        width: 2539px;
        height: 1px;
        background-color: currentColor;
        top: 10px;
    }
}

/* Animated links */
.links-animated-wrapper a {
    position: relative;
    transition: color .35s ease-in-out !important;
}

.links-animated-wrapper a:before {
    content: "";
    width: 0%;
    height: 1px;
    left: 50%;
    position: absolute;
    background-color: #fff;
    bottom: -1px;
    transition: all .35s ease-in-out !important;
}

.links-animated-wrapper a:hover:before {
    width: 100%;
    left: 0;
    background-color: #e5efec;
}

footer .bde-div-239-146 .links-animated-wrapper a:before {
    bottom: 20px;
    width: 0;
}

footer .bde-div-239-146 .links-animated-wrapper a:hover:before {
    width: calc(100% - 9px);
}

.bde-div-239-146 li:last-of-type a {
    margin-right: 0;
}

.bde-div-239-146 li:last-of-type a:after {
    content: unset;
    margin-right: 0;
}

/* Marker list */
.marker-list {
    padding-left: 0 !important;
}

.marker-list li:before {
    content: url('data:image/svg+xml,<svg width="28" height="22" viewBox="0 0 28 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 11.9091L10.2857 21L27 1" stroke="%23FBFFFE" stroke-linecap="round" stroke-linejoin="round"/></svg>');
    top: 4px;
    position: relative;
    left: -13px;
}

/* Skip link for accessibility */
.skip-link {
    position: absolute;
    top: -55px;
    left: calc((100vw - 1630px) / 2);
    background: #066a50;
    color: #fff;
    padding: 15px 20px;
    z-index: 100;
    font-weight: 500;
    font-size: 16px;
    font-family: "Inter";
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    z-index: 9999;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    text-decoration: none;
    transition: top .2s ease-out;
}

.skip-link:focus {
    top: 0;
}

/* Button outline variant */
.breakdance .btn-outline a {
    background-color: #066a50 !important;
    border: 1px solid #fff !important;
    color: #fff !important;
}

.breakdance .btn-outline a:hover {
    background-color: #388873 !important;
    border: 1px solid #fff !important;
    color: #fff !important;
}

/* Swiper navigation buttons */
.swiper-button-prev-cust {
    cursor: pointer;
}

.swiper-button-next-cust {
    cursor: pointer;
}

.swiper-button-disabled {
    opacity: .5;
}

/* House search form */
.house-search-form-header {
    padding: 36px;
    display: flex;
    flex-grow: 1;
    width: 100%;
    flex-direction: row;
    column-gap: 61px;
}

@media (max-width: 1023px) {
    .house-search-form-header {
        flex-direction: column;
        padding: 22px 18px;
        row-gap: 27px;
    }
}

.house-search-form-header .form-row-outer {
    flex-grow: 1;
    display: flex;
    column-gap: 61px;
    flex-direction: row;
}

@media (max-width: 1023px) {
    .house-search-form-header .form-row-outer {
        flex-direction: column;
        row-gap: 20px;
    }
}

.house-search-form-header .form-row-outer .form-row {
    flex-grow: 1;
}

.house-search-form-header .form-row-outer .form-row:last-of-type label {
    column-gap: 15px;
}

.house-search-form-header .form-row label {
    display: flex;
    column-gap: 20px;
    align-items: center;
    margin-bottom: 13px;
}

@media (max-width: 1023px) {
    .house-search-form-header .form-row label {
        column-gap: 15px;
    }
}

.house-search-form-header .form-row label span {
    color: #26322f;
    font-family: "Inter";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
}

.house-search-form-header .form-row input {
    border-radius: 10px;
    border: 1px solid #26322f;
    padding: 9px 18px;
    color: #26322f;
    font-family: "Inter";
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
    width: 100%;
}

.house-search-form-header .form-row select {
    border-radius: 10px;
    border: 1px solid #26322f;
    padding: 9px 18px;
    color: #26322f;
    font-family: "Inter";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
    width: 100%;
    height: 44px;
    margin-top: 1px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="7" viewBox="0 0 12 7" fill="none"><path d="M1 0.928833L6 5.92883L11 0.928833" stroke="%2326322F" stroke-linecap="round"/></svg>') no-repeat right .75rem center;
    background-size: 1rem auto;
}

.house-search-form-header .form-row.form-row-submit {
    display: flex;
    flex-direction: column;
    justify-content: end;
}

@media (min-width: 992px) {
    .house-search-form-header .form-row.form-row-submit {
        padding-top: 41px;
    }
}

.house-search-form-header .form-row.form-row-submit button {
    padding-top: 11px !important;
    padding-bottom: 11px !important;
}

.house-search-form-header label[for=search-location] svg,
.house-search-form-header label.house-plz-ort-label svg {
    width: 20px;
    height: auto;
}

@media (max-width: 1023px) {
    .house-search-form-header label[for=search-location] svg,
	.house-search-form-header label.house-plz-ort-label svg {
        width: 16px;
    }
}

.house-search-form-header label[for=search-price] svg,
.house-search-form-header label.house-price-label svg {
    width: 25px;
    height: auto;
}

/* Full image section */
.full-image-section {
    position: relative !important;
    left: unset !important;
    top: unset !important;
    max-width: unset !important;
    height: clamp(250px, 250px + 150 * (100vw - 360px) / 663, 400px) !important;
    object-fit: cover !important;
    margin-left: -20px !important;
    width: calc(100% + 40px) !important;
}

@media (min-width: 1023px) {
    .full-image-section {
        position: absolute !important;
        left: calc(40% + 25px) !important;
        top: 0 !important;
        max-width: unset !important;
        height: 100% !important;
        object-fit: cover !important;
        width: 60% !important;
        margin-left: 0 !important;
    }
}

@media (min-width: 1440px) {
    .full-image-section {
        width: calc(50% + 84px + 83px * (min(100vw, 1630px) - 1440px) / 190) !important;
    }
}

/* Available houses list */
.available-houses-list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.available-houses-list > * {
    box-sizing: border-box;
    flex: 1 1 100%;
}

@media (min-width: 767px) and (max-width: 1140px) {
    .available-houses-list > * {
        flex: 1 1 calc((100% - 30px) / 2);
    }
}

.available-houses-list li {
    margin-bottom: clamp(30px, 30px + 6 * (100vw - 360px) / 1040, 36px);
}

.available-houses-list li:last-of-type {
    margin-bottom: 0;
}

.available-houses-list article {
    border-radius: 10px;
    background-color: #fff;
}

.available-houses-list article .projekt-media {
    flex: 0 0 auto;
}

.available-houses-list article .projekt-media img {
    width: 350px;
    height: 100%;
    object-fit: cover;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border-top-right-radius: 0;
}

@media (max-width: 1140px) {
    .available-houses-list article .projekt-media img {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 0;
        border-top-right-radius: 10px;
        width: 100%;
        height: auto;
    }
}

.available-houses-list article .projekt-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: row;
    column-gap: 30px;
    display: flex;
    padding: 22px;
    align-items: flex-start;
    flex: 1 0 0;
    align-self: stretch;
}

@media (max-width: 1140px) {
    .available-houses-list article .projekt-body {
        flex-direction: column;
    }
}

.available-houses-list article .projekt-body .projekt-left {
    flex-grow: 1;
}

.available-houses-list article .projekt-body .projekt-right {
    align-items: flex-end;
    flex-direction: column;
    display: flex;
    height: 100%;
}

@media (max-width: 1140px) {
    .available-houses-list article .projekt-body .projekt-right {
        align-items: flex-start;
        row-gap: 30px;
        margin-top: 27px;
    }
}

.available-houses-list article .projekt-body .projekt-right .projekt-ort {
    display: inline-flex;
    padding: 5px clamp(12px, 12px + 1 * (100vw - 360px) / 1040, 13px);
    align-items: center;
    gap: clamp(18px, 18px + 3 * (100vw - 360px) / 1040, 21px);
    border-radius: 5px;
    background: #066a50;
}

.available-houses-list article .projekt-body .projekt-right .projekt-ort span {
    color: #fff;
    font-family: "Inter";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
}

.available-houses-list article .projekt-body .projekt-right .projekt-preis {
    color: #066a50;
    text-align: right;
    font-family: "Inter";
    font-size: clamp(28px, 28px + 3 * (100vw - 360px) / 1040, 31px);
    font-style: normal;
    font-weight: 600;
    line-height: 1.3;
    margin-top: auto;
}

.available-houses-list article .projekt-body .projekt-left h3 {
    margin-bottom: 27px;
    color: #26322f;
    font-family: "Inter";
    font-size: clamp(28px, 28px + 3 * (100vw - 360px) / 1040, 31px);
    font-style: normal;
    font-weight: 600;
    line-height: 1.3;
    transition: color .35s ease-in-out !important;
}

.available-houses-list article .projekt-body .projekt-left .fakt {
    display: flex;
    flex-direction: row-reverse;
    column-gap: 8px;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.available-houses-list article .projekt-body .projekt-left .fakt dt,
.available-houses-list article .projekt-body .projekt-left .fakt dd {
    color: #26322f;
    font-family: "Inter";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 150%;
}

.available-houses-list article .projekt-body .projekt-left dl dd {
    display: flex;
    column-gap: 20px;
    flex-direction: row;
    align-items: center;
}

.available-houses-list article .projekt-body .projekt-left dl dd svg {
    width: 23px;
    height: auto;
}

.available-houses-list article .projekt-link {
    flex-direction: row;
    display: flex;
    column-gap: 50px;
}

@media (max-width: 1140px) {
    .available-houses-list article .projekt-link {
        flex-direction: column;
    }
}

.available-houses-list article .projekt-link:hover h3 {
    color: #066a50;
}

/* Video wrapper */
.video-wrapper .section-container {
    max-width: 2500px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    position: relative;
    width: 100% !important;
}

.video-wrapper video {
    width: 100%;
    height: auto;
}

.video-wrapper video {
    display: block;
    width: 100%;
    height: auto;
    background: #000;
}

/* Video player controls */
.video-player {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.video-player .controls {
    position: absolute;
    width: 100%;
    background: #000;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
    left: 0;
    bottom: 0;
    display: flex;
    padding: clamp(20px, 20px + 10 * (100vw - 360px) / 1040, 30px);
    column-gap: 15px;
    align-items: center;
    opacity: 0;
    transition: opacity .35s ease-out;
}

.video-player .controls .btn {
    border: none;
    background-color: #066a50;
    width: clamp(30px, 30px + 15 * (100vw - 360px) / 1040, 45px);
    height: clamp(30px, 30px + 15 * (100vw - 360px) / 1040, 45px);
    color: #fff;
    border-radius: 5px;
    cursor: pointer;
    font-size: clamp(14px, 14px + 2 * (100vw - 360px) / 1040, 16px);
    display: flex;
    justify-content: center;
    align-items: center;
}

.video-player .controls .btn svg {
    width: clamp(14px, 14px + 2 * (100vw - 360px) / 1040, 16px);
}

.video-player .controls .btn svg path {
    fill: #fff;
}

.video-player .controls .btn.btn-full svg {
    width: 34px;
}

.video-player .controls .progress {
    flex-grow: 1;
    border-radius: 5px;
    background-color: #fff;
}

.video-player .controls .progress .progress__bar {
    height: 10px;
    background-color: #066a50;
    border-radius: 5px;
}

.video-player:hover .controls,
.video-player.focused .controls {
    opacity: 1;
}

.video-player label {
    color: #fff;
    font-family: "Inter";
    font-size: clamp(14px, 14px + 4 * (100vw - 360px) / 1040, 18px);
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
}

.video-player .time {
    color: #fff;
    font-variant-numeric: tabular-nums;
    font-family: "Inter";
    font-size: clamp(14px, 14px + 4 * (100vw - 360px) / 1040, 18px);
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
}

.video-player .time span {
    color: #fff;
}

/* Volume slider */
.volume {
    --track: #fff;
    --fill: #066a50;
    --thumb: #fff;
    --pct: 0%;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(0, 0, 0, 0);
}

@media (max-width: 1023px) {
    .volume {
        max-width: 100px;
    }
}

@media (max-width: 600px) {
    .volume {
        max-width: 30px;
    }
}

.volume::-webkit-slider-runnable-track {
    height: 6px;
    border-radius: 5px;
    background: linear-gradient(var(--fill), var(--fill)) 0 0 / var(--pct) 100% no-repeat,
                linear-gradient(var(--track), var(--track)) 0 0 / 100% 100% no-repeat;
}

.volume::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--thumb);
    border: 0;
    margin-top: -5px;
    cursor: pointer;
}

.volume::-moz-range-track {
    height: 6px;
    border-radius: 5px;
    background: var(--track);
}

.volume::-moz-range-progress {
    height: 6px;
    border-radius: 5px;
    background: var(--fill);
}

.volume::-moz-range-thumb {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--thumb);
    border: 0;
    cursor: pointer;
}

/* Header */
header {
    margin-left: auto;
    margin-right: auto;
}

header .bde-code-block {
    display: flex;
    flex-direction: row !important;
    width: 100% !important;
    column-gap: 36px !important;
}

header .header-left {
    width: 225px;
    align-self: self-end;
    margin-bottom: 50px;
}

@media (max-width: 992px) {
    header .header-left {
        margin-top: 40px;
        margin-bottom: 40px;
        width: 50%;
        max-width: 225px;
    }
}

header .header-left img {
    width: 100%;
}

header .header-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    row-gap: 20px;
}

header .header-right .header-right-top {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-self: stretch;
    min-width: 0;
    box-sizing: border-box;
    column-gap: 54px;
    padding-top: 30px;
}

@media (max-width: 992px) {
    header .header-right .header-right-top {
        position: absolute;
        right: 67px;
        top: clamp(16px, 15px + 9 * (100vw - 370px) / 622, 25px); /*clamp(27px, 27px + 9 * (100vw - 370px) / 622, 36px)*/
    }
}

header .header-right .header-right-top nav {
    flex: 0 0 auto;
    display: flex;
}

header .header-right .header-right-top nav ul {
    display: flex;
    flex-direction: row;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Language navigation */
header .header-right .header-right-top nav.language-nav ul li {
    position: relative;
    padding-left: 7px;
    margin-left: 7px;
}

header .header-right .header-right-top nav.language-nav ul li a {
    color: #26322f;
    font-family: "Inter";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    position: relative;
}

header .header-right .header-right-top nav.language-nav ul li a:before {
    content: "" !important;
    width: 0%;
    height: 1px;
    left: 50%;
    position: absolute;
    background-color: rgba(0, 0, 0, 0);
    bottom: -2px;
    transition: background-color .35s ease-in-out, width .35s ease-in-out, left .35s ease-in-out !important;
}

header .header-right .header-right-top nav.language-nav ul li a:hover:before {
    width: 100%;
    left: 0;
    background-color: #26322f;
}

header .header-right .header-right-top nav.language-nav ul li:first-of-type:after {
    content: "";
    width: 1px;
    height: 80%;
    background-color: #26322f;
    position: absolute;
    display: block;
    right: -9px;
    top: 4px;
}

/* Utility navigation */
header .header-right .header-right-top .utility-nav {
    display: flex;
    flex-direction: row;
}

header .header-right .header-right-top .utility-nav[hidden] {
    display: flex;
}

header .header-right .header-right-top .utility-nav ul {
    display: flex;
    column-gap: 60px;
}

header .header-right .header-right-top .utility-nav ul li a {
    color: #26322f;
    font-family: "Inter";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    position: relative;
}

header .header-right .header-right-top .utility-nav ul li a:after {
    content: "" !important;
    width: 0%;
    height: 1px;
    left: 50%;
    position: absolute;
    background-color: rgba(0, 0, 0, 0);
    bottom: -2px;
    transition: background-color .35s ease-in-out, width .35s ease-in-out, left .35s ease-in-out !important;
}

header .header-right .header-right-top .utility-nav ul li a:hover:after {
    width: 100%;
    left: 0;
    background-color: #26322f;
}

/* Main navigation */
header .header-right .mainnav-wrap {
    margin-top: 27px;
    margin-bottom: 50px;
}

.mainnav-item > a.main-link {
    white-space: nowrap;
}

@media (max-width: 992px) {
    header .header-right .mainnav-wrap {
        margin-top: clamp(42px, 42px + 6 * (100vw - 370px) / 622, 48px); /*clamp(53px, 53px + 6 * (100vw - 370px) / 622, 59px)*/
        margin-bottom: 42px; /*53px*/
    }
}

@media (max-width: 992px) {
    header .header-right .mainnav {
        position: unset;
    }
}

header .header-right .mainnav .mainnav-list {
    column-gap: clamp(40px, 40px + 16 * (100vw - 992px) / 448, 56px);
    display: flex;
}

@media (max-width: 992px) {
    header .header-right .mainnav .mainnav-list {
        z-index: 90;
        position: fixed;
        right: 0;
        width: 90vw;
        background-color: #fff;
        top: 130px;
        z-index: 9999;
        display: flex;
        flex-direction: column !important;
        overflow-y: auto;
        overflow-x: hidden;
        height: auto;
        height: calc(100dvh - 130px);
        padding-right: 30px;
        padding-left: 30px;
        padding-top: 26px;
        padding-bottom: 20px;
        overflow-y: auto;
        gap: 0;
        transition: right .3s ease-in-out !important;
    }

    header .header-right .mainnav .mainnav-list[hidden] {
        display: flex;
        right: -100vw;
    }
}

header .header-right .mainnav .mainnav-list > li {
    position: relative;
}

@media (max-width: 992px) {
    header .header-right .mainnav .mainnav-list > li {
        padding-top: 20px;
        padding-bottom: 2px;
        border-bottom: 1px solid #e5efec;
    }
}

header .header-right .mainnav .mainnav-list > li:first-of-type {
    padding-top: 0;
}

header .header-right .mainnav .mainnav-list > li .main-link {
    color: #26322f;
    font-family: "Inter";
    font-size: 18px;
    line-height: 1.3;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    border: none;
    background-color: rgba(0, 0, 0, 0);
    padding: 0;
    cursor: pointer;
    transition: color .35s ease-in-out;
    position: relative;
}

header .header-right .mainnav .mainnav-list > li .main-link:after {
    content: "" !important;
}

@media (min-width: 993px) {
    header .header-right .mainnav .mainnav-list > li .main-link:after {
        content: "" !important;
        width: 0%;
        height: 1px;
        left: 50%;
        position: absolute;
        background-color: rgba(0, 0, 0, 0);
        bottom: -2px;
        transition: background-color .35s ease-in-out, width .35s ease-in-out, left .35s ease-in-out !important;
    }
}

header .header-right .mainnav .mainnav-list > li .main-link:hover:after {
    width: 100%;
    left: 0;
    background-color: #26322f;
}

/* Submenu with mobile handling */
@media (max-width: 992px) {
    header .header-right .mainnav .mainnav-list > li.has-submenu {
        position: relative !important;
    }

    header .header-right .mainnav .mainnav-list > li.has-submenu .main-link {
        display: block;
        width: 100%;
        text-align: left;
        text-decoration: none;
    }

    header .header-right .mainnav .mainnav-list > li.has-submenu .main-link:after {
        content: unset !important;
    }

    header .header-right .mainnav .mainnav-list > li.has-submenu:after {
        content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="8" viewBox="0 0 14 8" fill="none"><path d="M7 8L0 1.2568L1.30466 0L7 5.4864L12.6953 0L14 1.2568L7 8Z" fill="%23222222"/></svg>');
        right: 10px;
        top: 15px;
        position: absolute;
        transform: rotate(0);
        transform-origin: center center;
        transition: transform .3s ease-in-out, top .3s ease-in-out;
        z-index: -1;
    }

    header .header-right .mainnav .mainnav-list > li.has-submenu.hoverered:after {
        content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="8" viewBox="0 0 14 8" fill="none"><path d="M7 8L0 1.2568L1.30466 0L7 5.4864L12.6953 0L14 1.2568L7 8Z" fill="%23222222"/></svg>');
        right: 10px;
        top: 19px;
        position: absolute;
        transform: rotate(180deg);
    }
}

/* Submenu styling */
header .header-right .mainnav .mainnav-list > li .submenu {
    width: max-content;
    border: none;
    padding: clamp(20px, 20px + 10 * (100vw - 992px) / 448, 30px);
    padding-right: clamp(60px, 60px + 20 * (100vw - 992px) / 448, 80px);
    top: 54px;
    left: 50%;
    transform: translateX(-50%);
}

@media (max-width: 992px) {
    header .header-right .mainnav .mainnav-list > li .submenu {
        position: relative;
        left: unset;
        transform: unset;
        width: 100%;
        background-color: rgba(0, 0, 0, 0);
        padding: 0;
        top: 0;
        padding-top: 12px;
        padding-bottom: 30px;
        filter: unset !important;
    }

    header .header-right .mainnav .mainnav-list > li .submenu:after {
        content: unset !important;
    }
}

header .header-right .mainnav .mainnav-list > li .submenu ul {
    gap: clamp(9px, 9px + 8 * (100vw - 992px) / 448, 17px);
}

header .header-right .mainnav .mainnav-list > li .submenu ul li a {
    color: #066a50;
    font-family: "Inter";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 150%;
    transition: color .35s ease-in-out;
    position: relative;
}

header .header-right .mainnav .mainnav-list > li .submenu ul li a:after {
    content: "" !important;
    width: 0%;
    height: 1px;
    left: 50%;
    position: absolute;
    background-color: rgba(0, 0, 0, 0);
    bottom: -2px;
    transition: background-color .35s ease-in-out, width .35s ease-in-out, left .35s ease-in-out !important;
}

header .header-right .mainnav .mainnav-list > li .submenu ul li a:hover:after {
    width: 100%;
    left: 0;
    background-color: #066a50;
}

header .header-right .mainnav .mainnav-list > li .submenu:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 12.5px 15px 12.5px;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0);
    transform: rotate(0deg);
    position: absolute;
    left: 50%;
    top: -15px;
    transform: translateX(-50%);
}

header .header-right .mainnav .mainnav-list > li .submenu .submenu-title {
    color: #066a50;
    font-family: "Inter";
    font-size: clamp(20px, 20px + 2 * (100vw - 992px) / 448, 22px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: clamp(20px, 20px + 16 * (100vw - 992px) / 448, 36px);
}

@media (max-width: 992px) {
    header .header-right .mainnav .mainnav-list > li .submenu .submenu-title {
        margin-bottom: 12px;
    }
}

header .header-right .mainnav .mainnav-list > li.has-megasubmenu {
    position: unset;
}

/* Hidden elements */
[hidden] {
    display: none !important;
}

/* Main navigation component */
.mainnav {
    position: relative;
}

.mainnav-toggle {
    display: inline-flex;
}

@media (min-width: 993px) {
    .mainnav-toggle {
        display: none;
    }
}

.mainnav-item {
    position: relative;
}

.mainnav-item.hoverered .main-link:after {
    left: 0 !important;
    background-color: #26322f !important;
    width: 100% !important;
}

/* Submenu display logic */
.submenu {
    display: none;
}

.submenu[hidden] {
    display: none !important;
}

.has-submenu > .main-link[aria-expanded=true] + .submenu {
    display: block;
    background: #fff;
    border-radius: 10px;
    filter: drop-shadow(3px 3px 27px rgba(0, 0, 0, 0.23)) !important;
    z-index: 1000;
}

@media (min-width: 992px) {
    .has-submenu {
        position: relative;
    }

    .has-submenu > .main-link[aria-expanded=true] + .submenu {
        position: absolute;
        top: 100%;
        left: 0;
    }
}

@media (max-width: 992px) {
    .has-submenu > .main-link[aria-expanded=true] + .submenu {
        position: static;
        inline-size: 100%;
        box-shadow: none;
    }
}

/* Grid submenu layout */
.submenu--grid .submenu-grid {
    display: flex !important;
    flex-direction: row !important;
    gap: clamp(60px, 60px + 20 * (100vw - 992px) / 448, 80px) !important;
    align-items: flex-start !important;
}

@media (max-width: 992px) {
    .submenu--grid .submenu-grid {
        flex-direction: column !important;
        gap: 15px !important;
    }
}

.submenu--grid {
    right: 0 !important;
    left: auto !important;
    transform: unset !important;
}

.submenu--grid::after {
    right: clamp(337px, 337px + 47 * (100vw - 992px) / 448, 384px) !important;
    left: unset !important;
}

/* Featured submenu items */
.submenu-featured {
    display: flex !important;
    gap: 21px !important;
}

@media (max-width: 992px) {
    .submenu-featured {
        flex-direction: column;
        width: 100%;
        gap: 10px !important;
    }
}

.submenu-featured .featured-item {
    border-radius: 5px;
    width: clamp(220px, 220px + 53 * (100vw - 992px) / 448, 273px);
    height: clamp(220px, 220px + 53 * (100vw - 992px) / 448, 273px);
    border: 1px solid #066a50;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 20px;
    transition: background-color .35s ease-in-out;
}

@media (max-width: 992px) {
    .submenu-featured .featured-item {
        flex-direction: row;
        gap: 10px;
        width: unset;
        height: unset;
        padding: 15px;
    }
}

.submenu-featured .featured-item .featured-icon {
    min-width: clamp(44px, 60px + 30 * (100vw - 992px) / 448, 90px);
    width: clamp(44px, 60px + 30 * (100vw - 992px) / 448, 90px);
    height: clamp(44px, 60px + 30 * (100vw - 992px) / 448, 90px);
    min-height: clamp(44px, 60px + 30 * (100vw - 992px) / 448, 90px);
    background-color: #e5efec;
    border-radius: 5px;
    justify-content: center;
    display: flex;
    align-items: center;
    padding: clamp(10px, 10px + 8 * (100vw - 992px) / 448, 18px);
}

.submenu-featured .featured-item .featured-icon svg {
    width: 100%;
    height: auto;
}

.submenu-featured .featured-item .featured-title {
    margin-top: auto;
    color: #066a50;
    font-family: "Inter";
    font-size: clamp(20px, 20px + 2 * (100vw - 992px) / 448, 22px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.5;
    transition: color .35s ease-in-out;
}

.submenu-featured .featured-item .featured-text {
    color: #066a50;
    font-family: "Inter";
    font-size: clamp(18px, 18px + 0 * (100vw - 992px) / 448, 18px);
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
    transition: color .35s ease-in-out;
}

.submenu-featured .featured-item:hover {
    background-color: #066a50;
}

.submenu-featured .featured-item:hover .featured-title {
    color: #fff;
}

.submenu-featured .featured-item:hover .featured-text {
    color: #fff;
}

/* Mobile header adjustments */
@media (max-width: 992px) {
    .header-right {
        display: flex;
        flex-direction: column;
    }

    .mainnav-wrap {
        order: 1;
    }

    .utility-nav {
        order: 2;
        position: relative;
        right: unset;
        width: 100%;
        background-color: rgba(0, 0, 0, 0);
        bottom: unset;
        z-index: 9999;
        height: auto;
        text-align: left;
        padding-top: 40px;
    }

    .utility-nav[hidden] {
        display: flex;
    }
}

.mainnav-item.utility-nav-wrapper {
    border-bottom: none !important;
}

.mainnav-item.utility-nav-wrapper .utility-nav ul li:first-of-type {
    margin-bottom: 10px;
}

/* Sticky notification link */
.stoerer-link {
    position: fixed;
    background: linear-gradient(90deg, rgb(255, 2, 158) 0%, #DE0016 100%);
    right: 0;
    bottom: 40px;
    z-index: 999;
    text-decoration: none;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    padding: clamp(14px, 14px + 1 * (100vw - 360px) / 1040, 18px);
    display: flex;
    column-gap: clamp(15px, 15px + 15 * (100vw - 360px) / 1040, 30px);
    transition: padding .4s cubic-bezier(0.445, 0.05, 0.55, 0.95) !important;
}

.stoerer-link svg {
    width: clamp(29px, 29px + 4 * (100vw - 360px) / 1040, 33px);
    height: auto;
}

.stoerer-link span {
    color: #fff;
    font-family: "Inter";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1.28px;
    text-transform: uppercase;
}

@media (max-width: 992px) {
    .stoerer-link span {
        text-transform: none;
    }
}

.stoerer-link:hover {
    padding-right: clamp(20px, 20px + 16 * (100vw - 360px) / 1040, 36px);
}

/* Hamburger menu icon */
.hamburger {
    font: inherit;
    overflow: visible;
    margin: 0;
    padding: 0;
    padding-top: 5px;
    padding-bottom: 5px;
    cursor: pointer;
    transition-timing-function: linear;
    transition-duration: .15s;
    transition-property: opacity, filter;
    text-transform: none;
    color: inherit;
    border: 0;
    background-color: rgba(0, 0, 0, 0);
}

.hamburger.is-active:hover,
.hamburger:hover {
    opacity: 1;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner:after,
.hamburger.is-active .hamburger-inner:before {
    background-color: #000;
}

.hamburger-box {
    position: relative;
    display: inline-block;
    width: 28px;
    height: 25px;
}

.hamburger-inner {
    top: 50%;
    display: block;
    margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner:after,
.hamburger-inner:before {
    position: absolute;
    width: 28px;
    height: 3px;
    transition-timing-function: ease;
    transition-duration: .15s;
    transition-property: transform;
    border-radius: 10px;
    background-color: #000;
}

.hamburger-inner:after,
.hamburger-inner:before {
    display: block;
    content: "";
}

.hamburger-inner:before {
    top: -10px;
}

.hamburger-inner:after {
    bottom: -10px;
}

/* Hamburger collapse animation */
.hamburger--collapse .hamburger-inner {
    top: auto;
    bottom: 0;
    transition-delay: .13s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    transition-duration: .13s;
}

.hamburger--collapse .hamburger-inner:after {
    top: -20px;
    transition: top .2s cubic-bezier(0.33333, 0.66667, 0.66667, 1) .2s, opacity .1s linear;
}

.hamburger--collapse .hamburger-inner:before {
    transition: top .12s cubic-bezier(0.33333, 0.66667, 0.66667, 1) .2s, transform .13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse.is-active .hamburger-inner {
    transition-delay: .22s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, -10px, 0) rotate(-45deg);
}

.hamburger--collapse.is-active .hamburger-inner:after {
    top: 0;
    transition: top .2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity .1s linear .22s;
    opacity: 0;
}

.hamburger--collapse.is-active .hamburger-inner:before {
    top: 0;
    transition: top .1s cubic-bezier(0.33333, 0, 0.66667, 0.33333) .16s, transform .13s cubic-bezier(0.215, 0.61, 0.355, 1) .25s;
    transform: rotate(-90deg);
}

/* Team grid layout */
.team-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    opacity: 0;
    transition: opacity .6s ease-in-out;
}

.team-grid.loaded {
    opacity: 1;
}

.team-grid > li {
    box-sizing: border-box;
}

.team-grid > .grid-sizer,
.team-grid > .team-card {
    width: 100%;
}

@media (min-width: 768px) {
    .team-grid > .grid-sizer,
    .team-grid > .team-card {
        width: calc((100% - 40px) / 2);
    }
}

@media (min-width: 1024px) {
    .team-grid > .grid-sizer,
    .team-grid > .team-card {
        width: calc((100% - 80px) / 3);
    }
}

.team-grid > .team-card {
    margin: 0 0 40px;
    padding: 0;
}

.team-grid > .team-card > .breakdance {
  height: 100%;
}

.team-grid .person {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.team-grid .person-media {
    display: flex;
}

.team-grid .person-media img {
    border-radius: 10px;
    width: 100%;
    height: auto;
}

.team-grid .person-body {
    padding-top: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.team-grid .person-body h3 {
    color: #26322f;
    font-family: "Inter";
    font-size: clamp(20px, 20px + 2 * (100vw - 360px) / 1040, 22px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 5px;
}

.team-grid .person-body .person-role {
    color: #26322f;
    font-family: "Inter";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
    margin-bottom: 18px;
    flex-grow: 1;
}

.team-grid .person-body .person-contact {
    margin-bottom: 0;
}

.team-grid .person-body .person-contact li {
    margin-bottom: 5px;
}

.team-grid .person-body .person-contact li a {
    align-items: center;
    display: flex;
    gap: 18px;
    flex-direction: row;
    color: #26322f;
    font-family: "Inter";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.5;
}

.team-grid .person-body .person-contact li a .cust-ani {
    position: relative;
}

.team-grid .person-body .person-contact li a .cust-ani:before {
    content: "";
    width: 0%;
    height: 1px;
    left: 50%;
    position: absolute;
    background-color: #fff;
    bottom: 0;
    transition: all .35s ease-in-out !important;
}

.team-grid .person-body .person-contact li a:hover .cust-ani:before {
    width: 100%;
    left: 0;
    background-color: #26322f;
}

.team-grid .person-body .person-skills {
    justify-content: flex-end;
    display: flex;
    flex-direction: column;
    margin-top: 30px;
}

.team-grid .person-body .person-skills .person-skillbarometer {
    color: #26322f;
    font-family: "Inter";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
}

.team-grid .person-body .person-skills .skill {
    position: relative;
}

.team-grid .person-body .person-skills .skill .skill-header {
    position: absolute;
    z-index: 99;
    left: 12px;
    top: 16px;
}

.team-grid .person-body .person-skills .skill .skill-header span {
    color: #26322f;
    font-family: "Inter";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1.28px;
    text-transform: uppercase;
}

/* Result count */
.result-count {
    margin-top: 45px;
    margin-bottom: 27px;
}

/* Team filters */
.team-filters .filter-actions {
    min-width: 25%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-end;
}

@media (max-width: 992px) {
    .team-filters .filter-actions {
        justify-content: flex-start;
		margin-bottom: 15px;
    }
}

.team-filters fieldset {
    display: flex;
    flex-direction: row;
}

@media (max-width: 992px) {
    .team-filters fieldset {
        flex-direction: column;
        gap: 36px;
    }
}

.team-filters .filter-group {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    flex-grow: 1;
}

.team-filters .filter-chip,
.team-filters .filter-clear {
    color: #26322f;
    font-family: "Inter";
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
    cursor: pointer;
    transition: all .35s ease-in-out;
}

.team-filters .filter-chip[aria-pressed=false],
.team-filters .filter-clear[aria-pressed=false] {
    display: flex;
    padding: clamp(3px, 3px + 5 * (100vw - 360px) / 1040, 8px) clamp(15px, 15px + 7 * (100vw - 360px) / 1040, 22px);
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    color: #26322f;
    background-color: #fff;
    border: 1px solid #26322f;
}

.team-filters .filter-chip[aria-pressed=true],
.team-filters .filter-chip:hover,
.team-filters .filter-clear[aria-pressed=true],
.team-filters .filter-clear:hover {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background-color: #066a50;
    color: #fff;
    border: 1px solid #066a50;
}

.team-filters .filter-chip,
.team-filters .filter-clear {
    color: #26322f;
    font-family: "Inter";
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
    cursor: pointer;
    transition: all .35s ease-in-out;
    display: flex;
    padding: clamp(3px, 3px + 5 * (100vw - 360px) / 1040, 8px) clamp(15px, 15px + 7 * (100vw - 360px) / 1040, 22px);
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    color: #26322f;
    background-color: #fff;
    border: 1px solid #26322f;
}

.team-filters .filter-chip:hover,
.team-filters .filter-clear:hover {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background-color: #066a50;
    color: #fff;
    border: 1px solid #066a50;
}

.team-filters-toggle {
    color: #26322f;
    font-family: "Inter";
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
    cursor: pointer;
    transition: all .35s ease-in-out;
    display: flex;
    padding: clamp(3px, 3px + 5 * (100vw - 360px) / 1040, 8px) clamp(15px, 15px + 7 * (100vw - 360px) / 1040, 22px);
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    color: #26322f;
    background-color: #fff;
    border: 1px solid #26322f;
    margin-bottom: 0;
}

.team-filters-toggle svg path {
    fill: #26322f;
    transition: all .35s ease-in-out;
}

@media (max-width: 992px) {
    .team-filters-toggle {
        margin-bottom: 15px;
    }
	
	.result-count {
		margin-top: 11px;
		margin-bottom: 18px;
	}
}

.team-filters-toggle:hover {
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background-color: #066a50;
    color: #fff;
    border: 1px solid #066a50;
}

.team-filters-toggle:hover svg path {
    fill: #fff;
}

.team-filters-toggle svg {
    width: 18px;
    height: 18px;
}

@media (max-width: 992px) {
    .team-filters-toggle {
        display: inline-flex;
    }

    .team-filters.is-collapsed {
        display: none !important;
    }
}

@media (min-width: 993px) {
    .team-filters-toggle {
        display: none !important;
    }

    .team-filters {
        display: block !important;
    }
}

/* Skill meter element */
meter {
    width: 100%;
    height: 60px;
    border: none;
    background: rgba(0, 0, 0, 0);
    -webkit-appearance: none;
}

@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
	meter {
		height: 30px;
	}
	
	.skill {
		padding-top: 15px;
	}
}

meter::-webkit-meter-bar {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #ce0b82;
}

meter::-webkit-meter-optimum-value {
    background: linear-gradient(90deg, rgba(206, 11, 130, 0.1) 29.65%, rgba(222, 0, 22, 0.1) 81.95%);
    border-radius: 10px;
}

meter::-moz-meter-bar {
    background: linear-gradient(90deg, rgba(206, 11, 130, 0.1) 29.65%, rgba(222, 0, 22, 0.1) 81.95%);
    border-radius: 10px;
}

meter.low::-webkit-meter-optimum-value,
meter.low::-moz-meter-bar {
    background: linear-gradient(90deg, rgba(206, 11, 130, 0.1) 29.65%, rgba(222, 0, 22, 0.1) 81.95%);
}

meter.very-low::-webkit-meter-optimum-value,
meter.very-low::-moz-meter-bar {
    background: linear-gradient(90deg, rgba(206, 11, 130, 0.1) 29.65%, rgba(222, 0, 22, 0.1) 81.95%);
}

meter::-webkit-meter-suboptimum-value {
    background: linear-gradient(90deg, rgba(206, 11, 130, 0.1) 29.65%, rgba(222, 0, 22, 0.1) 81.95%);
    border-radius: 10px;
}

meter::-webkit-meter-even-less-good-value {
    background: linear-gradient(90deg, rgba(206, 11, 130, 0.1) 29.65%, rgba(222, 0, 22, 0.1) 81.95%);
    border-radius: 10px;
}

/* House ideas grid */
.hausideen-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    opacity: 0;
    transition: opacity .6s ease-in-out;
}

.hausideen-grid.loaded {
    opacity: 1;
}

.hausideen-grid > li {
    box-sizing: border-box;
}

.hausideen-grid > .grid-sizer,
.hausideen-grid > .haus-card {
    width: 100%;
    align-items: stretch;
    display: flex;
    flex-direction: column;
}

@media (min-width: 768px) {
    .hausideen-grid > .grid-sizer,
    .hausideen-grid > .haus-card {
        width: calc((100% - 40px) / 2);
    }
}

@media (min-width: 1024px) {
    .hausideen-grid > .grid-sizer,
    .hausideen-grid > .haus-card {
        width: calc((100% - 80px) / 3);
    }
}

.hausideen-grid > .haus-card {
    margin: 0 0 35px;
    padding: 0;
    display: flex;
    align-items: stretch;
}

@media (max-width: 992px) {
    .hausideen-grid > .haus-card {
        margin: 0 0 30px;
    }
}

.hausideen-grid .haus {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

.hausideen-grid .haus figure {
    display: flex;
    flex-shrink: 0;
}

.hausideen-grid .haus img {
    width: 100%;
    height: auto;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    aspect-ratio: 110 / 81;
    object-fit: cover;
    display: block;
}

.hausideen-grid .haus .haus-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 25px;
    align-items: flex-start;
    gap: 27px;
    align-self: stretch;
    border-radius: 0 0 10px 10px;
    background: #e5efec;
}

.hausideen-grid .haus .haus-body h3 {
    color: #26322f;
    font-family: "Inter";
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 auto;
}

.hausideen-grid .haus .haus-body .wrapper-hid {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    align-self: stretch;
    margin-top: auto;
}

.hausideen-grid .haus .haus-body .wrapper-hid p {
    color: #066a50;
    font-family: "Inter";
    font-size: clamp(20px, 20px + 2 * (100vw - 992px) / 448, 22px);
    font-style: normal;
    font-weight: 700;
    line-height: 1.5;
    display: flex;
    flex-direction: column;
    margin: 0;
}

.hausideen-grid .haus .haus-body .wrapper-hid p span {
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.3;
}

.hausideen-grid .haus .haus-body .wrapper-hid a {
    display: flex;
    width: 45px;
    height: 45px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 5px;
    background: #066a50;
    transition: background-color .35s ease-in-out;
    flex-shrink: 0;
}

.hausideen-grid .haus .haus-body .wrapper-hid a:hover {
    background-color: #0c9572;
}

/* House ideas filters */
.hausideen-filters {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 20px;
}

.hausideen-filters .form-actions {
    flex-grow: 1;
    display: flex;
    column-gap: clamp(30px, 30px + 30 * (100vw - 360px) / 1040, 60px);
    flex-wrap: wrap;
    row-gap: 20px;
}

.hausideen-filters .form-actions label span {
    display: flex;
    align-items: center;
    column-gap: clamp(15px, 15px + 5 * (100vw - 360px) / 1040, 20px);
    color: #26322f;
    font-family: "Inter";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
}

.hausideen-filters .form-actions select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;
    border: 1px solid #ccc;
    padding: clamp(3px, 3px + 5 * (100vw - 360px) / 1040, 8px) clamp(15px, 15px + 7 * (100vw - 360px) / 1040, 22px);
    color: #26322f;
    font-family: "Inter";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 24px;
    border-radius: 10px;
    border: 1px solid #26322f;
    width: 245px;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="7" viewBox="0 0 12 7" fill="none"><path d="M1 0.762207L6 5.76221L11 0.762207" stroke="%2326322F" stroke-linecap="round"/></svg>');
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
    margin-top: 15px;
    cursor: pointer;
}

.hausideen-filters .form-actions select::-ms-expand {
    display: none;
}

.hausideen-filters .filter-actions {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

@media (max-width: 992px) {
    .hausideen-filters .filter-actions {
        margin-top: 30px;
    }
}

.hausideen-filters .filter-actions .filter-clear {
    color: #26322f;
    font-family: "Inter";
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
    cursor: pointer;
    transition: all .35s ease-in-out;
}

.hausideen-filters .filter-actions .filter-clear[aria-pressed=false] {
    display: flex;
    padding: clamp(3px, 3px + 5 * (100vw - 360px) / 1040, 8px) clamp(15px, 15px + 7 * (100vw - 360px) / 1040, 22px);
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    color: #26322f;
    background-color: #fff;
    border: 1px solid #26322f;
}

.hausideen-filters .filter-actions .filter-clear[aria-pressed=true],
.hausideen-filters .filter-actions .filter-clear:hover {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background-color: #066a50;
    color: #fff;
    border: 1px solid #066a50;
}

.hausideen-filters .filter-actions .filter-clear {
    color: #26322f;
    font-family: "Inter";
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.5;
    cursor: pointer;
    transition: all .35s ease-in-out;
    display: flex;
    padding: clamp(3px, 3px + 5 * (100vw - 360px) / 1040, 8px) clamp(15px, 15px + 7 * (100vw - 360px) / 1040, 22px);
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    color: #26322f;
    background-color: #fff;
    border: 1px solid #26322f;
}

.hausideen-filters .filter-actions .filter-clear:hover {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background-color: #066a50;
    color: #fff;
    border: 1px solid #066a50;
}

.hausideen-filters .filter-summary {
    display: flex;
    width: 100%;
    margin-top: clamp(25px, 25px + 20 * (100vw - 360px) / 1040, 45px);
    margin-bottom: clamp(18px, 18px + 9 * (100vw - 360px) / 1040, 27px);
}

/* Swiper slides */
.referenzen-swiper .swiper-slide {
    height: auto;
}

.geschichte-swiper .swiper-slide {
    height: auto;
}

/* Border radius utilities */
.logo-link,
.volume,
.swiper-button-prev-cust,
.swiper-button-next-cust,
.swiper-button-prev-referenzen,
.swiper-button-next-referenzen,
.projekt-link,
.utility-nav ul li a,
.language-nav ul li a,
footer a,
.accordion-item button,
.person-contact .contact-link {
    border-radius: 10px;
}

/* Custom button */
.btn.btn-cc {
    position: relative;
}

.btn.btn-cc[aria-pressed=false]:after {
    content: "";
    width: 30px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    left: 8px;
    transform: rotate(45deg);
    top: 20px;
}

/* Video progress slider */
.video-player input.progress[type=range] {
    flex: 1;
    appearance: none;
    background: rgba(0, 0, 0, 0);
}

.video-player input.progress[type=range]::-webkit-slider-runnable-track {
    height: 6px;
    background: linear-gradient(to right, #066a50 var(--pct, 0%), #fff var(--pct, 0%));
    border-radius: 3px;
}

.video-player input.progress[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 14px;
    height: 14px;
    background: #066a50;
    border-radius: 50%;
    cursor: pointer;
    margin-top: -4px;
}

.video-player input.progress[type=range]::-moz-range-track {
    height: 6px;
    background: #fff;
    border-radius: 3px;
}

.video-player input.progress[type=range]::-moz-range-progress {
    height: 6px;
    background: #066a50;
    border-radius: 3px;
}

.video-player input.progress[type=range]::-moz-range-thumb {
    width: 14px;
    height: 14px;
    background: #066a50;
    border-radius: 50%;
    cursor: pointer;
}

.video-player input.progress[type=range]::-ms-track {
    height: 6px;
    background: rgba(0, 0, 0, 0);
    border-color: rgba(0, 0, 0, 0);
    color: rgba(0, 0, 0, 0);
}

.video-player input.progress[type=range]::-ms-fill-lower {
    background: #066a50;
    border-radius: 3px;
}

.video-player input.progress[type=range]::-ms-fill-upper {
    background: #fff;
    border-radius: 3px;
}

.video-player input.progress[type=range]::-ms-thumb {
    width: 14px;
    height: 14px;
    background: #066a50;
    border-radius: 50%;
    cursor: pointer;
}

/* Wide sections */
.section-wide {
    margin: auto;
    max-width: 3500px !important;
}

.section-wide .section-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 3500px !important;
}

.section-wide .section-container > div:first-of-type {
    width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

.section-wide .section-container > div:last-of-type:not(.referenzen-swiper):not(.geschichte-swiper) {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.section-wide .section-container > div:last-of-type:not(.referenzen-swiper):not(.geschichte-swiper) > div:first-of-type {
    width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

.section-wide .section-container > div:last-of-type:not(.agenza-swiper):not(.geschichte-swiper) > div:first-of-type {
    width: 1400px;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.section-wide .section-container > div:last-of-type:not(.agenza-swiper),
.section-wide .section-container > div:last-of-type:not(.referenzen-swiper) {
    padding-right: 20px !important;
}

.section-wide .section-container > div:last-of-type:not(.agenza-swiper) > div:first-of-type,
.section-wide .section-container > div:last-of-type:not(.referenzen-swiper) > div:first-of-type {
    width: 1400px;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

.gallery-swiper,
.gallery-swiper-large {
	--ratioSlider: 75%;
}
.gallery-swiper.swiper--no-overflow {
	margin-left: -37px;
	margin-right: -37px;
}
.swiper-button-lock {
	display: none !important;
}

.immomig-gallery .ee-gallery-item img,
.gallery-swiper .ee-gallery-item img {
	aspect-ratio: 4 / 3;
}

.agenza-swiper .swiper-slide {
    max-width: 1400px !important;
    opacity: .3;
    transition: opacity .35s ease-in-out;
}

.agenza-swiper .swiper-slide.swiper-slide-active {
    opacity: 1;
}

.agenza-swiper .swiper-slide img {
	object-fit: cover;
}

.section-wide .section-container .referenzen-swiper {
    padding-left: clamp(20px, 20px + 1020 * (100vw - 1440px) / 2060, 1040px) !important;
    padding-right: 20px;
}

@media (max-width: 1023px) {
    .section-wide .section-container .referenzen-swiper {
        padding-left: 20px !important;
        padding-right: 20px;
    }
}

@media (max-width: 768px) {
    .section-wide .section-container .referenzen-swiper {
        padding-left: 20px !important;
        padding-right: 0;
    }
}

.section-wide .section-container .referenzen-swiper .swiper-slide {
    max-width: 553px !important;
}

@media (max-width: 992px) {
    .section-wide .section-container .referenzen-swiper .swiper-slide {
        opacity: .3;
        transition: opacity .35s ease-in-out;
    }
}

@media (max-width: 992px) {
    .section-wide .section-container .referenzen-swiper .swiper-slide.swiper-slide-active {
        opacity: 1;
    }
}

@media (min-width: 768px) and (max-width: 992px) {
  .section-wide .section-container .referenzen-swiper .swiper-slide.swiper-slide-next {
      opacity: 1;
  }
}

.section-wide .section-container .geschichte-swiper {
    padding-left: clamp(20px, 20px + 1020 * (100vw - 1440px) / 2060, 1040px) !important;
    padding-right: 20px;
}

@media (max-width: 1023px) {
    .section-wide .section-container .geschichte-swiper {
        padding-left: 20px !important;
        padding-right: 20px;
    }
}

@media (max-width: 768px) {
    .section-wide .section-container .geschichte-swiper {
        padding-left: 20px !important;
        padding-right: 0;
    }
}

.section-wide .section-container .geschichte-swiper .swiper-slide {
    max-width: 362px !important;
}

@media (max-width: 768px) {
    .section-wide .section-container .geschichte-swiper .swiper-slide {
        opacity: .3;
        transition: opacity .35s ease-in-out;
    }
}

@media (max-width: 992px) {
    .section-wide .section-container .geschichte-swiper .swiper-slide.swiper-slide-active  {
        opacity: 1;
    }
}

@media (min-width: 768px) and (max-width: 992px) {
  .section-wide .section-container .geschichte-swiper .swiper-slide.swiper-slide-next {
      opacity: 1;
  }
}

/* Accordion */
.accordion-item button[aria-expanded=false] {
    position: relative;
    display: block;
    width: 100%;
    text-align: left;
    cursor: pointer;
}

.accordion-item button[aria-expanded=false]:after {
    content: "";
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="10" viewBox="0 0 16 10" fill="none"><path d="M1.37629 0.432466C1.19445 0.224648 0.878566 0.203589 0.670748 0.38543C0.462929 0.567271 0.441871 0.883153 0.623712 1.09097L1.37629 0.432466ZM8 8.76172L7.62371 9.09097L8 9.52102L8.37629 9.09097L8 8.76172ZM1 0.761719L0.623712 1.09097L7.62371 9.09097L8 8.76172L8.37629 8.43247L1.37629 0.432466L1 0.761719ZM8 8.76172L8.37629 9.09097L15.3763 1.09097L15 0.761719L14.6237 0.432466L7.62371 8.43247L8 8.76172Z" fill="%23066A50"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: -20px;
    top: 50%;
    transform-origin: center;
    width: 14px;
    height: 9px;
    transform: translateY(-50%) rotate(0deg);
    transition: transform .35s ease-in-out;
}

.accordion-item button[aria-expanded=true] {
    position: relative;
    display: block;
    width: 100%;
    text-align: left;
    cursor: pointer;
}

.accordion-item button[aria-expanded=true]:after {
    content: "";
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="10" viewBox="0 0 16 10" fill="none"><path d="M1.37629 0.432466C1.19445 0.224648 0.878566 0.203589 0.670748 0.38543C0.462929 0.567271 0.441871 0.883153 0.623712 1.09097L1.37629 0.432466ZM8 8.76172L7.62371 9.09097L8 9.52102L8.37629 9.09097L8 8.76172ZM1 0.761719L0.623712 1.09097L7.62371 9.09097L8 8.76172L8.37629 8.43247L1.37629 0.432466L1 0.761719ZM8 8.76172L8.37629 9.09097L15.3763 1.09097L15 0.761719L14.6237 0.432466L7.62371 8.43247L8 8.76172Z" fill="%23066A50"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: -20px;
    top: 50%;
    transform-origin: center;
    width: 14px;
    height: 9px;
    transform: translateY(-50%) rotate(180deg);
    transition: transform .35s ease-in-out;
}

.haus-card .haus {
    cursor: pointer;
}

.haus-card .haus:hover .haus-link {
    background-color: #0c9572 !important;
}

/* Rich text content */
main .bde-rich-text p {
    margin-top: 25px;
}

main .bde-rich-text p strong {
    font-weight: 700;
}

main .bde-rich-text p a {
    position: relative;
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.3;
    font-family: "Inter";
    color: #25332f;
    transition: all .35s ease-in-out !important;
    border-radius: 10px;
    display: inline-block;
}

main .bde-rich-text p a:after {
    content: "";
    width: 100%;
    height: 1px;
    left: 0;
    position: absolute;
    background-color: #25332f;
    bottom: -1px;
    transition: all .35s ease-in-out !important;
}

main .bde-rich-text p a:hover {
    color: #25332f;
}

main .bde-rich-text p a:hover:after {
    left: 50%;
    width: 0;
}

main .bde-rich-text p:first-of-type {
    margin-top: 0;
}

main .bde-rich-text ul {
    list-style-type: disc;
    padding-left: 29px;
    margin-top: 4px;
}

main .bde-rich-text ul li {
    margin-bottom: 3px;
}

main .bde-rich-text ul li:last-of-type {
    margin-bottom: 0;
}

/* Link box */
.link-box > div:last-of-type {
    transition: background-color .35s ease-in-out;
}

.link-box:hover > div:last-of-type {
    background-color: #0c9572;
}

/* Job listings */
.stellenliste li {
    margin-bottom: clamp(20px, 20px + 20 * (100vw - 360px) / 1040, 40px);
}

.stellenliste li:last-of-type {
    margin-bottom: 0;
}

.stellenliste li a {
    display: flex;
    padding: clamp(15px, 15px + 8 * (100vw - 360px) / 1040, 23px);
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    border-radius: 5px;
    background: #fff;
    column-gap: 20px;
}

@media (max-width: 1024px) {
    .stellenliste li a {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 20px;
    }
}

.stellenliste li a .stellen-titel {
    color: #26322f;
    font-family: "Inter";
    font-size: clamp(22px, 22px + 9 * (100vw - 360px) / 1040, 31px);
    font-style: normal;
    font-weight: 600;
    line-height: 1.3;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

.stellenliste li a .stellen-pensum {
    display: flex;
    padding: 5px 15px;
    align-items: center;
    gap: 24px;
    border-radius: 5px;
    background: #066a50;
    white-space: nowrap;
    color: #fff;
    font-family: "Inter";
    font-size: 18px;
    font-style: normal;
    font-weight: 300;
    line-height: 150%;
}

/* Contact form */
#contact-form312 {
    row-gap: clamp(20px, 20px + 15 * (100vw - 360px) / 1040, 35px) !important;
    column-gap: 36px !important;
}

#contact-form312 .breakdance-form-field.breakdance-form-field--file {
    flex-direction: row;
    align-items: center;
    column-gap: 13px;
}

@media (max-width: 768px) {
    #contact-form312 .breakdance-form-field.breakdance-form-field--file {
        flex-direction: column;
        align-items: unset;
    }
}

#contact-form312 .breakdance-form-field.breakdance-form-field--file .breakdance-form-field__label {
    min-width: 165px;
}

#contact-form312 .breakdance-form-field.breakdance-form-field--file .breakdance-form-file-upload {
    column-gap: 15px;
}

#contact-form312 .breakdance-form-field.breakdance-form-field--file button.breakdance-form-file-upload__button {
    background-color: #066a50;
    border-radius: 5px;
    color: #fff;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    font-weight: 300;
    line-height: normal;
    padding-top: 13px;
    padding-right: 22px;
    padding-bottom: 13px;
    padding-left: 22px;
    transition: background-color .35s ease-in-out;
}

#contact-form312 .breakdance-form-field.breakdance-form-field--file button.breakdance-form-file-upload__button:hover {
    background-color: #0c9572;
}

#contact-form312 textarea {
    font-size: 16px;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 19px;
    padding-right: 19px;
}

#contact-form312 .breakdance-form-field__input:not(textarea) {
    font-size: 16px;
    padding-top: 6px;
    padding-bottom: 6px;
}

/* Fixed header */
header.header {
    position: fixed !important;
    background-color: #fff !important;
    margin: auto;
    left: 0;
    right: 0;
    z-index: 100;
    top: 0;
    transition: top .35s ease-in-out;
}

header.header:before {
    content: "";
    background-color: #fff;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    transition: top .35s ease-in-out;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0);
    height: 181px;
}

@media (max-width: 992px) {
    header.header:before {
        height: 131px; /*161px*/
    }
}

header.header.shadow:before {
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
}

header.header.headerinactive {
    top: -230px;
}

header.header.headerinactive:before,
header.header.headerinactive:after {
    top: -230px;
}

/* Section margins */
section.margcu {
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (min-width: 1023px) and (max-width: 1670px) {
    section.margcu {
        margin-left: 20px !important;
        margin-right: 20px !important;
        width: calc(100% - 40px) !important;
    }
}

.spezmob {
    margin-top: auto;
}
