:root {
    --primary-font: 'proxima-nova';
}

html { height: 100%; scroll-behavior: smooth; }

body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background: var(--s-25);
	color: var(--s-800);
	font-size: 16px;
	font-family: var(--primary-font), sans-serif;
	font-weight: 400;
	overflow-y: scroll;
}

* { margin: 0; padding: 0; outline: 0; }

a { color: var(--b-100); text-decoration: none; }
a img { border: 0; }

strong { font-weight: 700; }
input, textarea, button { font-family: var(--primary-font), sans-serif; }

h1, h2, h3, h4, h5 { font-family: var(--primary-font), sans-serif; font-weight: 400; }

::selection { background: var(--b-100); color: var(--s-25); }

#email,
#newsletter-email { position: absolute; z-index: -100; width: 1px; height: 1px; opacity: 0; }

.wrap { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; min-height: 100%; padding: 0 20px; }
.content { display: flex; flex-wrap: wrap; position: relative; box-sizing: border-box; width: 1200px; max-width: 100%; padding: 0 10px; }

.header { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 30px 0; }
.header .content { flex-wrap: nowrap; align-items: center; gap: 60px; }
.header .logo { display: flex; }
.header .logo a { display: flex; }
.header .logo img { height: 48px; }
.header .menu { flex-grow: 1; display: flex; flex-wrap: nowrap; align-items: center; position: relative; }
.header .menu nav { display: flex; flex-wrap: nowrap; align-items: center; gap: 30px; width: 100%; }
.header .menu nav ul { display: flex; flex-wrap: nowrap; align-items: center; gap: 30px; list-style: none; }
.header .menu nav ul li,
.header .menu nav ul li a:not(.button) { transition: color 0.2s ease-in-out; display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 10px; color: var(--s-800); font-size: 16px; font-weight: 500; line-height: 22px; text-align: center; }
.header .menu nav ul li a:not(.button):hover { color: var(--s-700); }
.header .menu nav ul li a:not(.button) .icon { display: flex; color: var(--s-300); font-size: 14px; }

.header .menu nav ul:nth-child(1) { flex-grow: 1; }
.header .menu nav ul:nth-child(2) { gap: 40px; }
.header .menu nav ul:nth-child(2) li,
.header .menu nav ul:nth-child(2) li a:not(.button) { font-weight: 400; }

.header .mobile-menu { display: none; background: transparent; border: 0; color: var(--s-800); font-size: 24px; }
.header .menu .mobile-menu { position: absolute; z-index: 20; top: 27px; right: 20px; }

.page-container,
.section-container { flex-grow: 1; display: flex; flex-direction: column; width: 100%; }

.hero { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; position: relative; box-sizing: border-box; width: 100%; min-height: 680px; padding: 80px 0 60px 0; background: var(--s-800); }
.hero.center { justify-content: center; }
.hero .slider { position: absolute; z-index: 10; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; }
.hero .slider .slick-list,
.hero .slider .slick-track { height: 100%; }
.hero .slider .slide img { width: 100%; height: 100%; object-fit: cover; }
.hero .slider .slick-dots { display: flex; flex-direction: column; align-items: flex-end; gap: 20px; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 60px; }
.hero .slider .slick-dots li { transition: width 0.2s ease-in-out, background 0.2s ease-in-out; display: flex; width: 50%; height: 4px; background: var(--s-25-t50); cursor: pointer; }
.hero .slider .slick-dots li.slick-active { width: 100%; background: var(--s-25); }
.hero .slider .slick-dots li button { display: none; }
.hero .content { z-index: 20; }
.hero .details { display: flex; flex-direction: column; width: 480px; max-width: 100%; }
.hero .hero-bg { position: absolute; z-index: 10; top: 0; right: 0; box-sizing: border-box; max-width: 100%; height: 100%; padding-left: 500px; }
.hero .hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center left; }

.page { flex-grow: 1; display: flex; flex-direction: column; align-items: center; position: relative; box-sizing: border-box; width: 100%; padding: 70px 0; }
.page-head + .page.slim,
.property-head + .page.slim { padding-bottom: 70px; }
.page.slim { padding: 20px 0 50px 0; }
.page.grey { background: var(--s-75); }
.page.grey + .page.grey { padding-top: 0; }
.page.black { background: var(--s-800); }

.page .page-bg-1 { position: absolute; z-index: -1; top: 50%; right: 0; transform: translateY(-50%); width: 120%; height: 120%; object-fit: contain; }
.page .page-bg-2 { position: absolute; z-index: 10; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; object-fit: contain; }
.page:has(.page-bg-2) { overflow: hidden; }
.page:has(.page-bg-2) .content { z-index: 20; }

.page .title { display: flex; flex-direction: column; align-items: center; width: 100%; margin-bottom: 20px; }
.page .title h1,
.page .title h2 { font-size: 30px; line-height: 36px; text-align: center; }

.page.black .title h1,
.page.black .title h2 { color: var(--s-25); }

.page .title-secondary { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; width: 100%; margin-bottom: 14px; }
.page .title-secondary .column { display: flex; flex-wrap: wrap; }
.page .title-secondary .field-item { display: flex; width: 200px; }
.page .title-secondary h1,
.page .title-secondary h2 { font-size: 24px; line-height: 28px; }

.logo-title { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; margin-bottom: 20px; color: var(--b-100); font-size: 20px; line-height: 30px; }
.logo-title:last-child { margin-bottom: 0; }
.logo-title.premium { color: var(--b-500); }
.logo-title.grey { color: var(--s-300); }
.logo-title img { height: 36px; }

.page-head { display: flex; flex-direction: column; justify-content: center; align-items: center; position: relative; box-sizing: border-box; width: 100%; min-height: 200px; padding: 30px 0; background: var(--s-800); background-size: cover; background-position: center center; overflow: hidden; }
.page-head:before { content: ""; position: absolute; z-index: 10; top: 0; left: 0; width: 100%; height: 100%; background: var(--s-600-t50); }
.page-head:after { content: ""; position: absolute; z-index: 20; top: 0; right: 0; transform: translate(50%, -50%); width: 1200px; height: 1200px; background: radial-gradient(ellipse at center, var(--b-100) 0%,rgba(0,0,0,0) 70%); }
.page-head.secondary:after { background: radial-gradient(ellipse at center, var(--b-300) 0%, rgba(0,0,0,0) 70%); }
.page-head .content { z-index: 30; }
.page-head h1 { color: var(--s-25); font-size: 30px; line-height: 36px; }

.search-container { display: flex; flex-wrap: nowrap; align-items: flex-end; gap: 20px; width: 100%; }
.search-container .items { flex-grow: 1; display: flex; flex-wrap: nowrap; align-items: flex-end; gap: 10px; width: 0; }
.search-container .item { display: flex; align-items: flex-end; width: calc(28% - 7.5px); }
.search-container .item:nth-child(1) { width: calc(16% - 7.5px); }
.search-container .button { align-self: flex-end; }

.panel-container { display: flex; flex-wrap: nowrap; align-items: stretch; gap: 20px; width: 100%; padding: 10px 0; }
.panel-container + .panel-container { margin-top: 60px; }
.panel-container.image-text-container { align-items: center; gap: 120px; }
.panel-container .panel { flex-grow: 1; display: flex; flex-direction: column; width: 0; }
.panel-container aside { flex-shrink: 0; display: flex; flex-direction: column; width: 380px; max-width: 100%; }
.panel-container aside.width-480 { width: 480px; }
.panel-container aside.width-530 { width: 530px; }
.panel-container .panel-image { width: 100%; }
.panel-container .content-box { flex-grow: 1; }
.panel-container:has(aside.sticky) .content-box { flex-grow: 0; }
.panel-container aside.sticky .content-box { position: sticky; top: 20px; }
.panel-container aside .content-box .text-container:last-child { flex-grow: 1; justify-content: flex-end; }
.panel-container aside .links-container { margin: 20px 0; }
.panel-container aside .form-container { gap: 10px; }
.panel-container aside .checkbox-container { margin: 10px 0; }
.panel-container aside .success { margin-top: 10px; }

.properties-overview { display: flex; flex-wrap: wrap; align-items: stretch; padding: 0; }
.properties-overview .item { display: flex; flex-direction: column; box-sizing: border-box; width: 50%; padding: 10px; }
.properties-overview .box { display: flex; flex-direction: column; position: relative; width: 100%; height: 100%; }
.properties-overview .box a.whole { position: absolute; z-index: 10; top: 0; left: 0; width: 100%; height: 100%; }
.properties-overview .box .image { display: flex; flex-direction: column; position: relative; width: 100%; height: 300px; }
.properties-overview .box .image .img { width: 100%; height: 100%; object-fit: cover; }
.properties-overview .box .image .labels { position: absolute; bottom: 0; left: 0; box-sizing: border-box; width: 100%; padding: 20px; }
.properties-overview .box .details { transition: background 0.2s ease-in-out; flex-grow: 1; display: flex; flex-direction: column; gap: 6px; box-sizing: border-box; width: 100%; padding: 20px; background: var(--s-600); }
.properties-overview .box:hover .details { background: var(--s-700); }
.properties-overview .box .details .top { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; gap: 20px; width: 100%; }
.properties-overview .box .details .top .column { display: flex; flex-direction: column; gap: 6px; box-sizing: border-box; width: 100%; }
.properties-overview .box .details .bottom { flex-grow: 1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 10px 20px; width: 100%; margin-top: 6px; }
.properties-overview .box .details .headline { display: flex; width: 100%; }
.properties-overview .box .details .headline h3 { color: var(--s-75); font-size: 13px; font-weight: 500; line-height: 18px; text-transform: uppercase; }
.properties-overview .box .details .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; width: 100%; color: var(--s-25); font-size: 24px; font-weight: 700; line-height: 34px; }
.properties-overview .box .details .price .text { font-size: 14px; font-weight: 600; line-height: 20px; }
.properties-overview .box .details .location { flex-shrink: 0; display: flex; flex-wrap: nowrap; align-items: flex-start; gap: 10px; max-width: 100%; color: var(--s-75); font-size: 16px; font-weight: 500; line-height: 22px; }
.properties-overview .box .details .location .icon { display: flex; align-items: center; min-height: 22px; color: var(--b-100); font-size: 14px; }
.properties-overview .premium .box .details .location .icon { color: var(--b-500); }
.properties-overview .box .details .specifications { flex-shrink: 0; display: flex; flex-direction: column; max-width: 100%; }
.properties-overview .box .details .specifications ul { display: flex; flex-wrap: wrap; gap: 6px 28px; list-style: none; }
.properties-overview .box .details .specifications ul li { position: relative; color: var(--s-75); font-size: 16px; line-height: 22px; }
.properties-overview .box .details .specifications ul li:after { content: ""; display: flex; position: absolute; top: 50%; right: -15px; transform: translateY(-50%); width: 4px; height: 4px; background: var(--s-400); border-radius: 50%; }
.properties-overview .box .details .specifications ul li:last-child:after { display: none; }
.properties-overview .box .details .slider-arrows { display: flex; flex-wrap: nowrap; gap: 10px; margin-top: 4px; }
.properties-overview .box .details .slider-arrows button { transition: background 0.2s ease-in-out; display: flex; justify-content: center; align-items: center; position: relative; z-index: 20; width: 30px; height: 30px; background: var(--s-25-t25); border: 0; border-radius: 50%; color: var(--s-600); font-size: 16px; cursor: pointer; }
.properties-slider:has(.properties-overview .box .details .slider-arrows button.next:hover) .properties-overview .box .details .slider-arrows button.next,
.properties-slider:has(.properties-overview .box .details .slider-arrows button.prev:hover) .properties-overview .box .details .slider-arrows button.prev { background: var(--s-25); }

.properties-slider { display: flex; flex-direction: column; align-items: center; width: 100%; min-height: 680px; background: var(--s-800); overflow: hidden; }
.properties-slider .content { flex-grow: 1; flex-wrap: nowrap; align-items: stretch; }
.properties-slider .page { flex-shrink: 0; justify-content: center; z-index: 10; width: 50%; padding-right: 110px; overflow: hidden; }
.properties-slider .slider { width: 50%; min-width: 700px; }
.properties-slider .slider .slick-list,
.properties-slider .slider .slick-track { height: 100%; }
.properties-slider .slider .properties-overview { width: 100%; }
.properties-slider .slider .properties-overview .item { width: 100%; height: 100%; padding: 0; }
.properties-slider .slider .properties-overview .box .image { height: 548px; }
.properties-slider .slider .properties-overview .box:hover .details { background: var(--s-600); }

.articles-overview { display: flex; flex-wrap: wrap; align-items: stretch; padding: 0; }
.articles-overview .item { display: flex; flex-direction: column; box-sizing: border-box; width: 33.33%; padding: 10px; }
.articles-overview .box { display: flex; flex-direction: column; position: relative; width: 100%; height: 100%; }
.articles-overview .box a.whole { position: absolute; z-index: 10; top: 0; left: 0; width: 100%; height: 100%; }
.articles-overview .box .image { display: flex; width: 100%; height: 220px; overflow: hidden; }
.articles-overview .box .image .img { transition: transform 0.2s ease-in-out; width: 100%; height: 100%; object-fit: cover; }
.articles-overview .box:hover .image .img { transform: scale(1.04); }
.articles-overview .box .details { flex-grow: 1; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box; width: 100%; padding: 20px; background: var(--s-25); }
.articles-overview .box .details h3 { font-size: 20px; font-weight: 500; line-height: 28px; }
.articles-overview .box .details p { color: var(--s-600); line-height: 22px; }

.offices-overview { display: flex; flex-wrap: wrap; align-items: stretch; padding: 0; }
.offices-overview .item { flex-grow: 1; flex-basis: 320px; display: flex; box-sizing: border-box; padding: 10px; }
.offices-overview .box { display: flex; flex-direction: column; gap: 26px; box-sizing: border-box; width: 100%; height: 100%; padding: 30px; background: var(--s-25); }
.offices-overview .box .headline { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; width: 100%; }
.offices-overview .box .headline h3 { font-size: 24px; line-height: 24px; }
.offices-overview .box .details { flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 10px; width: 100%; }
.offices-overview .box .details ul { display: flex; flex-direction: column; gap: 10px; width: 100%; list-style: none; }
.offices-overview .box .details ul li,
.offices-overview .box .details ul li a { color: var(--s-800); font-size: 16px; line-height: 22px; }

.stats-container { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; margin-bottom: 20px; padding: 0; }
.stats-container .item { flex-basis: 300px; display: flex; box-sizing: border-box; padding: 10px; }
.stats-container .box { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 2px; box-sizing: border-box; width: 100%; height: 100%; padding: 52px 30px; background: var(--s-700-t50); backdrop-filter: blur(3px); color: var(--s-300); font-weight: 500; line-height: 24px; text-align: center; }
.stats-container .box .value { color: var(--s-25); font-size: 40px; font-weight: 400; line-height: 48px; }

.text-container { display: flex; flex-direction: column; width: 100%; }
.specifications-container + .text-container { margin-top: 20px; }
.text-container h1,
.text-container h2 { margin-bottom: 16px; font-size: 30px; line-height: 36px; }
.text-container h1.large,
.text-container h2.large { margin-bottom: 16px; font-size: 40px; line-height: 48px; text-transform: uppercase; }
.text-container h3 { margin-bottom: 10px; font-size: 24px; line-height: 28px; }
.text-container h4 { margin-bottom: 10px; font-size: 20px; line-height: 28px; }
.text-container p { margin-bottom: 12px; line-height: 22px; }
.text-container p:last-child { margin-bottom: 0; }
.text-container ul,
.text-container ol { margin: 0 0 12px 16px; }
.text-container ol:last-child,
.text-container ul:last-child { margin-bottom: 0; }
.text-container ul.columns-3,
.text-container ol.columns-3 { column-count: 3; column-gap: 10px; margin-left: 0; list-style: none; }
.text-container ul li,
.text-container ol li { margin-bottom: 10px; line-height: 22px; }
.text-container ul.large li,
.text-container ol.large li { margin-bottom: 6px; font-size: 18px; line-height: 26px; }
.text-container ul li:last-child,
.text-container ol li:last-child { margin-bottom: 0; }
.text-container ul li::marker { color: var(--b-100); }
.text-container p + ul.large,
.text-container p + ol.large { margin-top: 10px; }
.text-container .button { margin-top: 14px; }
.text-container + .buttons { margin-top: 24px; }
.text-container .disclaimer { color: var(--s-400); font-size: 14px; line-height: 20px; }

.page.black .text-container h1,
.page.black .text-container h2,
.page.black .text-container p,
.hero .text-container h1,
.hero .text-container h2,
.hero .text-container p { color: var(--s-25); }

.table-container { display: flex; flex-direction: column; width: 100%; overflow: auto; }
table.table tr th,
table.table tr td { padding: 12px 10px; border-bottom: 1px solid var(--s-100); line-height: 22px; }
table.table tr:last-child td { border-bottom: 0; }
table.table tr th:first-child,
table.table tr td:first-child { padding-left: 0; }
table.table tr th:last-child,
table.table tr td:last-child { padding-right: 0; }
table.table tr th { padding-top: 6px; padding-bottom: 6px; color: var(--s-400); font-size: 14px; font-weight: 400; }
table.table tr td { }

.iframe-container { display: flex; width: 100%; height: 400px; margin: 10px 0; }
.iframe-container iframe { width: 100%; height: 100%; }

.floor-plans-container { display: flex; flex-direction: column; gap: 10px; width: 100%; margin-top: 10px; }
.floor-plans-container .image { display: flex; justify-content: center; width: 100%; }
.floor-plans-container .image img { width: 100%; height: 100%; object-fit: contain; }

.button-container { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; width: 100%; margin: 30px 0 10px 0; }
.button-container .button { align-self: center; }
.button-container .button.link { margin: 6px 0; }

.paging { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; margin: 30px 0 10px 0; }
.paging a { transition: background 0.2s ease-in-out, color 0.2s ease-in-out; display: flex; justify-content: center; align-items: center; box-sizing: border-box; min-width: 48px; min-height: 48px; padding: 12px 14px; border-radius: 24px; color: var(--s-300); font-size: 16px; font-weight: 700; line-height: 22px; text-align: center; }
.paging a:hover { color: var(--s-400); }
.paging a.active { background: var(--b-100); color: var(--s-25); }

.form-container { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px 20px; width: 100%; }
.form-container .form-item { flex-grow: 1; flex-basis: 350px; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; }
.form-container .form-item.width-small { flex-basis: 160px; }
.form-container .form-item.width-full { flex-basis: auto; width: 100%; }
.form-container .form-item.checkboxes-item { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: 20px 40px; margin-top: 10px; }
.form-container .form-item.checkboxes-item .checkbox-container { margin: 0; }
.form-container .form-item .item-heading { color: var(--s-500); font-size: 14px; line-height: 22px; }
.form-container .result-item { display: flex; flex-direction: column; gap: 6px; box-sizing: border-box; width: 100%; margin: 10px 0; padding: 12px 20px; background: var(--s-25); border-left: 2px solid var(--b-300); font-size: 24px; font-weight: 700; line-height: 34px; }
.form-container .result-item .item-heading { font-size: 16px; font-weight: 400; line-height: 22px; }
.form-container .separator-item { display: flex; flex-wrap: nowrap; align-items: center; gap: 20px; width: 100%; margin: 3px 0; color: var(--s-300); font-size: 14px; line-height: 22px; text-transform: uppercase; text-align: center; }
.form-container .separator-item:before,
.form-container .separator-item:after { content: ""; flex-grow: 1; flex-basis: 0; display: flex; height: 1px; background: var(--s-100); }
.form-container .split-items { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; }
.form-container .split-items .split-item { flex-grow: 1; display: flex; flex-basis: 100px; }

.form-container.filters { margin-top: 14px; }
.form-container.filters .form-item:not(.width-full) { flex-grow: 0; flex-basis: auto; width: calc(25% - 15px); }

.content-box { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 30px; }
.content-box:last-child { margin-bottom: 0; }
.content-box:after { content: ""; display: flex; width: 100%; height: 1px; margin-top: 24px; background: var(--s-100); }
.content-box:last-child:after,
.content-box.grey:after { display: none; }
.content-box.grey { margin-bottom: 20px; background: var(--s-75); }
.content-box.grey:last-child { margin-bottom: 0; }
.content-box:not(.grey) + .content-box:not(.grey) { padding-top: 0; }
.content-headline { display: flex; flex-direction: column; gap: 10px; width: 100%; margin-bottom: 18px; }
.content-headline h2 { font-size: 24px; line-height: 28px; }
.content-headline p { line-height: 22px; }

.cta-box { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; position: relative; box-sizing: border-box; width: 100%; margin-bottom: 24px; padding: 40px; background: var(--s-800); overflow: hidden; }
.cta-box .bg { position: absolute; top: -50px; left: 0; z-index: 10; width: 100%; object-fit: contain; }
.cta-box .column { display: flex; flex-direction: column; position: relative; z-index: 20; }
.cta-box .button { align-self: center; }

.links-container { display: flex; flex-wrap: wrap; gap: 20px; width: 100%; margin: 36px 0; }
.links-container:last-child { margin-bottom: 0; }
.links-container .item { flex-basis: 280px; flex-grow: 1; display: flex; flex-wrap: nowrap; align-items: center; gap: 20px; position: relative; max-width: 100%; }
.links-container .item a.whole { position: absolute; z-index: 10; top: 0; left: 0; width: 100%; height: 100%; }
.links-container .item .icon { transition: color 0.2s ease-in-out; flex-shrink: 0; display: flex; justify-content: center; align-items: center; width: 48px; height: 48px; background: var(--s-75); color: var(--s-300); font-size: 20px; }
.links-container .item:hover .icon { color: var(--s-400); }
.links-container .item h3 { font-size: 20px; line-height: 28px; }

.specifications-container { display: flex; flex-direction: column; width: 100%; margin: 6px 0; }
.specifications-container ul { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 20px; width: 100%; list-style: none; }
.specifications-container ul li { display: flex; flex-wrap: nowrap; gap: 20px; align-items: flex-start; width: calc(33.33% - 13.33px); }
.specifications-container ul li .icon { flex-shrink: 0; display: flex; justify-content: center; align-items: center; width: 48px; height: 48px; background: var(--s-75); color: var(--s-300); font-size: 20px; }
.specifications-container ul li .details { display: flex; flex-direction: column; gap: 5px; width: 100%; padding-top: 2px; }
.specifications-container ul li .details .name { color: var(--s-400); font-size: 14px; line-height: 18px; }
.specifications-container ul li .details .value { font-weight: 500; line-height: 18px; }

.icon-list { display: flex; flex-direction: column; width: 100%; margin-bottom: 6px; }
.icon-list ul { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 20px; width: 100%; list-style: none; }
.icon-list ul li { display: flex; flex-wrap: nowrap; align-items: flex-start; gap: 20px; width: calc(50% - 10px); font-weight: 500; line-height: 24px; }
.icon-list ul li .icon { display: flex; align-items: center; min-height: 24px; color: var(--b-100); font-size: 20px; }
.premium .icon-list ul li .icon { color: var(--b-500); }

.map-container { display: flex; width: 100%; height: 480px; background: var(--s-200); }
.map-container .map { width: 100%; height: 100%; }

.gallery-container { display: flex; flex-direction: column; align-items: center; position: relative; width: 100%; height: 680px; background: var(--s-800); overflow: hidden; }
.gallery-container:before,
.gallery-container:after { content: ""; position: absolute; z-index: 50; top: 0; width: calc(50% - 590px); height: 100%; background: var(--s-800); opacity: 0.2; }
.gallery-container:before { left: 0; }
.gallery-container:after { right: 0; }
.gallery-container .content { position: static; height: 100%; }
.gallery-container .slider { position: absolute; z-index: 10; top: 0; left: 0; width: 100%; height: 100%; }
.gallery-container .slider .slick-list,
.gallery-container .slider .slick-track { height: 100%; }
.gallery-container .slider .item { display: flex; width: 1180px; height: 100%; }
.gallery-container .slider .item .img { display: flex; width: 100%; height: 100%; }
.gallery-container .slider .item .img img { width: 100%; height: 100%; object-fit: cover; }
.gallery-container .slider-overlay { display: flex; flex-direction: column; justify-content: space-between; gap: 30px; box-sizing: border-box; width: 100%; height: 100%; padding: 30px; }
.gallery-container .slider-overlay .details,
.gallery-container .slider-overlay .labels { flex-grow: 1; flex-basis: 0; }
.gallery-container .slider-overlay .details { display: flex; flex-wrap: wrap; justify-content: flex-end; align-content: flex-start; gap: 10px; }
.gallery-container .slider-overlay .details .item { transition: background 0.2s ease-in-out; padding: 5px 8px; background: var(--s-800-t50); color: var(--s-25); font-size: 14px; font-weight: 600; line-height: 20px; }
.gallery-container .slider-overlay .details .item:hover { background: var(--s-800); }
.gallery-container .slider-overlay .labels { align-content: flex-end; }
.gallery-container .slider-arrows { display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; }
.gallery-container .slider-overlay .details .item,
.gallery-container .slider-overlay .labels .label,
.gallery-container .slick-arrow { position: relative; z-index: 20; }

.property-head { display: flex; flex-direction: column; align-items: center; width: 100%; }
.property-head .box { display: flex; flex-direction: column; gap: 6px; box-sizing: border-box; width: 100%; padding: 25px 30px; background: var(--s-600); }
.property-head .reference { width: 100%; color: var(--s-75); line-height: 22px; }
.property-head .headline { display: flex; flex-direction: column; width: 100%; }
.property-head .headline h1 { color: var(--s-25); font-size: 24px; line-height: 34px; }
.property-head .location { display: flex; flex-wrap: nowrap; align-items: flex-start; gap: 10px; width: 100%; color: var(--s-75); font-weight: 500; line-height: 22px; }
.property-head .location .icon { display: flex; align-items: center; min-height: 22px; color: var(--b-100); font-size: 14px; }
.property-head.premium .location .icon { color: var(--b-500); }
.property-head .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; color: var(--s-25); font-size: 24px; font-weight: 700; line-height: 34px; }
.property-head .price .text { font-size: 14px; font-weight: 600; line-height: 20px; }
.property-head .columns { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; gap: 30px; width: 100%; }
.property-head .columns .column { display: flex; flex-direction: column; gap: 18px; }
.property-head .columns .column:nth-child(2) { flex-shrink: 0; align-items: flex-end; }
.property-head .columns .column:nth-child(2) .button { align-self: flex-end; }

.properties-result { display: flex; flex-direction: column; align-items: center; width: 100%; }

.loading-container { display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 100%; min-height: 516px; padding: 40px 0; color: var(--s-200); font-size: 60px; }
.loading-container svg { animation: loading-spin 1s infinite; }

.socials { display: flex; flex-direction: column; width: 100%; }
.socials ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 20px; width: 100%; list-style: none; }
.socials ul li,
.socials ul li a { transition: color 0.2s ease-in-out; display: flex; color: var(--s-300); font-size: 20px; }
.socials ul li a:hover { color: var(--s-200); }

.labels { display: flex; flex-wrap: wrap; gap: 6px; }
.labels .label { display: flex; flex-wrap: nowrap; align-items: center; gap: 6px; padding: 4px 10px; background: var(--b-100); border-radius: 12px; color: var(--s-25); font-size: 14px; font-weight: 600; line-height: 16px; }
.premium .labels .label { background: var(--b-500); }
.labels .label.premium { background: var(--s-800); }
.labels .label.featured { background: var(--s-25); color: var(--s-800); }
.labels .label.premium,
.labels .label.featured { padding: 4px 10px 4px 4px; }
.labels .label .icon { flex-shrink: 0; display: flex; }
.labels .label .icon img { height: 16px; }

.info-container { display: flex; flex-direction: column; gap: 3px; box-sizing: border-box; width: 100%; margin: 10px 0; padding: 14px 20px; background: var(--s-25); border-left: 2px solid var(--b-300); line-height: 22px; }
.premium .info-container { border-left-color: var(--b-500); }
.info-container h3 { font-size: 18px; line-height: 26px; }
.info-container a { color: var(--s-800); }

[data-expand] { max-height: 110px; overflow: hidden; column-count: 1; }

.original-price { margin-left: 6px; color: var(--s-300); font-weight: 400; text-decoration: line-through; }

.success { display: none; width: 100%; height: 100%; }
.success .success-inner { display: flex; flex-direction: column; width: 100%; }
.success .success-inner p { line-height: 22px; }

footer { display: flex; flex-direction: column; align-items: center; width: 100%; }

.cta { display: flex; flex-direction: column; align-items: center; width: 100%; background: var(--b-300); padding: 80px 0; }
.cta.premium { background: var(--b-500); }
.cta.grey { background: var(--s-300); }
.cta .content { justify-content: center; align-items: center; gap: 30px; }
.cta h4 { color: var(--s-25); font-size: 30px; line-height: 48px; text-align: center; }
.cta .button { align-self: center; }

.footer { display: flex; flex-direction: column; align-items: center; width: 100%; background: var(--s-800); }
.footer .columns { display: flex; flex-wrap: nowrap; justify-content: space-between; gap: 40px; width: 100%; padding: 80px 0; }
.footer .columns .column { display: flex; flex-direction: column; }
.footer .logo { display: flex; margin-bottom: 20px; }
.footer .logo a { display: flex; }
.footer .logo img { height: 48px; }
.footer .headline { display: flex; flex-direction: column; width: 100%; margin: 10px 0 20px 0; }
.footer .headline h5 { color: var(--s-75); font-size: 13px; font-weight: 500; line-height: 18px; text-transform: uppercase; }
.footer .list { display: flex; flex-direction: column; width: 100%; }
.footer .list ul { display: flex; flex-direction: column; gap: 10px; width: 100%; list-style: none; }
.footer .list ul li,
.footer .list ul li a { transition: color 0.2s ease-in-out; color: var(--s-25); font-size: 16px; font-weight: 500; line-height: 22px; }
.footer .list ul li a:hover { color: var(--s-75); }
.footer .form-container,
.footer .success { max-width: 380px; }
.footer .success .success-inner p { color: var(--s-25); }
.footer .bottom { display: flex; flex-wrap: nowrap; justify-content: space-between; gap: 20px; width: 100%; padding: 40px 0; color: var(--s-300); font-size: 14px; line-height: 22px; }
.footer .checkbox-container { margin: 8px 0; }
.footer .checkbox-container .checkbox-label,
.footer .checkbox-container .checkbox-label a { color: var(--s-25); }

.dropdown-container { display: flex; position: relative; }
.dropdown-container .dropdown { display: none; position: absolute; z-index: 600; top: 100%; left: 0; min-width: 100%; padding-top: 10px; }
.dropdown-container .button:hover + .dropdown,
.dropdown-container .dropdown:hover { display: flex; }
.dropdown-container .dropdown ul { display: flex; flex-direction: column; width: 100%; max-height: 288px; background: var(--s-800); list-style: none; overflow: auto; }
.dropdown-container .dropdown ul li { display: flex; width: 100%; }
.dropdown-container .dropdown ul li a { transition: background 0.2s ease-in-out; display: flex; flex-wrap: nowrap; align-items: flex-start; gap: 10px; box-sizing: border-box; width: 100%; padding: 13px 16px; color: var(--s-25); line-height: 22px; }
.dropdown-container .dropdown ul li a:hover { background: var(--s-700); }
.dropdown-container .dropdown ul li .icon { display: flex; align-items: center; min-height: 22px; }

.buttons { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; }

.button { transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out; align-self: flex-start; display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 10px; box-sizing: border-box; padding: 12px 24px; min-height: 48px; background: var(--b-100); border: 1px solid var(--b-100); border-radius: 24px; color: var(--s-25); font-size: 16px; font-weight: 700; line-height: 22px; text-align: center; cursor: pointer; }
.button:hover { background: var(--b-200); border-color: var(--b-200); }
.button.icon { min-width: 48px; padding-left: 15px; padding-right: 15px; }
.button.width-full { width: 100%; }

.button.secondary { background: var(--b-300); border-color: var(--b-300); }
.button.secondary:hover { background: var(--b-400); border-color: var(--b-400); }

.button.premium { background: var(--b-500); border-color: var(--b-500); }
.button.premium:hover { background: var(--b-600); border-color: var(--b-600); }

.button.grey { background: var(--s-300); border-color: var(--s-300); }
.button.grey:hover { background: var(--s-400); border-color: var(--s-400); }

.button.black { background: var(--s-600); border-color: var(--s-600); }
.button.black:hover { background: var(--s-800); border-color: var(--s-800); }

.button.white { background: var(--s-25); border-color: var(--s-25); color: var(--s-800); }
.button.white:hover { background: var(--s-75); border-color: var(--s-75); }

.button.outline { background: transparent; border-color: var(--s-200); color: var(--s-600); }
.button.outline:hover { border-color: var(--s-400); color: var(--s-800); }

.button.link { padding: 0; min-height: 0; background: transparent; border: 0; border-radius: 0; color: var(--b-100); }
.button.link:hover { color: var(--b-200); background: transparent; }

.button.link.secondary { color: var(--b-300); }
.button.link.secondary:hover { color: var(--b-400); }

.button.link.premium { color: var(--b-500); }
.button.link.premium:hover { color: var(--b-600); }

.button.link.grey { color: var(--s-300); }
.button.link.grey:hover { color: var(--s-400); }

.button .icon { display: flex; }

.checkbox-container { display: flex; flex-wrap: nowrap; align-items: flex-start; margin: 18px 0; }
.checkbox-container + .checkbox-container { margin-top: 0; }
.checkbox-container:not(:last-child) { margin-bottom: 8px; }
.checkbox-container input { display: none; }
.checkbox-container .checkbox { flex-shrink: 0; display: flex; justify-content: center; align-items: center; width: 24px; height: 24px; background: var(--s-25); border: 1px solid var(--s-100); cursor: pointer; }
.checkbox-container .checkbox span { display: none; font-size: 14px; }
.checkbox-container input.error + .checkbox { border-color: var(--error); }
.checkbox-container input:checked + .checkbox span { display: block; }
.checkbox-container .checkbox-label { margin-top: 4px; padding-left: 12px; color: var(--s-400); cursor: pointer; user-select: none; }
.checkbox-container .checkbox-label a { color: var(--s-800); font-weight: 600; }

.input-container { display: flex; flex-wrap: nowrap; width: 100%; }
.input-container .input-label { display: flex; align-items: center; box-sizing: border-box; height: 100%; padding: 12px 16px; background: var(--s-25); border: 1px solid var(--s-100); border-left: 0; color: var(--s-300); cursor: text; user-select: none; }
.input-container:hover .input-label { border-color: var(--s-200); }
.input-container .input:focus + .input-label { border-color: transparent; }
.input-container .input:focus { outline: none; }
.input-container:has(.input:focus) { outline: 2px solid var(--b-100); }
.input-container .input { border-right: 0; }

.input { box-sizing: border-box; width: 100%; height: 48px; padding: 0 16px; background: var(--s-25); border: 1px solid var(--s-100); color: var(--s-800); font-size: 16px; }
.input:hover { border-color: var(--s-200); }
.input.error { border-color: var(--error); }
.input:focus { outline: 2px solid var(--b-100); border-color: transparent; }
.premium .input:focus { outline-color: var(--b-500); }
.input[disabled] { background: var(--s-50); border-color: var(--b-100); color: var(--s-300); }
.input::placeholder { color: var(--s-300); opacity: 1; }

.textarea { box-sizing: border-box; width: 100%; height: 126px; padding: 14px 16px; background: var(--s-25); border: 1px solid var(--s-100); color: var(--s-800); font-size: 16px; resize: none; }
.textarea:hover { border-color: var(--s-200); }
.textarea.error { border-color: var(--error); }
.textarea:focus { outline: 2px solid var(--b-100); border-color: transparent; }
.premium .textarea:focus { outline-color: var(--b-500); }
.textarea::placeholder { color: var(--s-300); opacity: 1; }
.textarea.height-100 { height: 104px; }

.select { width: 100%; height: 48px; }

.fancybox-show-thumbs .fancybox-inner { right: 0; bottom: 104px; }
.fancybox-thumbs.fancybox-thumbs-x { top: auto; width: 100%; background: transparent; text-align: center; }
.fancybox-thumbs.fancybox-thumbs-x .fancybox-thumbs__list { display: inline-block; }
.fancybox-thumbs.fancybox-thumbs-x .fancybox-thumbs__list a::before { border: 2px solid var(--b-100); }
body:has(.gallery-container.premium) .fancybox-thumbs.fancybox-thumbs-x .fancybox-thumbs__list a::before { border-color: var(--b-500); }

.preload { display: none; }

.hidden { display: none !important; }

@keyframes loading-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@media (max-width: 1440px) {
    .properties-slider .slider { min-width: 0; }
}

@media (max-width: 1300px) {
    .dropdown-container .dropdown { left: auto; right: 0; }
}

@media (max-width: 1250px) {
    .content { padding: 0 20px; }
    
    .properties-overview,
    .articles-overview,
    .offices-overview { padding: 0 10px; }
    .properties-slider .slider .properties-overview { padding: 0; }
    .property-head .content { padding: 0; }
    .gallery-container .content { padding: 0; }
}

@media (max-width: 1160px) {
    .specifications-container ul li { width: calc(50% - 10px); }
}

@media (max-width: 1000px) {
    .wrap { padding: 0 10px; }
    
    .header { padding: 20px 0; }
    .header .content { justify-content: space-between; }
    .header .logo img { height: 40px; }
    
    .header .menu:not(.open) { display: none; }
    .header .menu { justify-content: flex-end; position: fixed; z-index: 900; top: 0; left: 0; width: 100%; height: 100%; background: var(--s-800-t50); }
    .header .menu nav { flex-direction: column; box-sizing: border-box; width: 400px; max-width: 80%; height: 100%; background: var(--s-25); padding: 80px 0 15px 0; overflow: auto; }
    .header .menu nav ul { flex-direction: column; gap: 0; width: 100%; }
    .header .menu nav ul:nth-child(2) { gap: 0; }
    .header .menu nav ul li,
    .header .menu nav ul li a:not(.button) { justify-content: flex-start; box-sizing: border-box; width: 100%; text-align: left; }
    .header .menu nav ul li a:not(.button),
    .header .menu nav ul li:has(.button) { padding: 15px 30px; }
    .header .menu nav ul li .button { width: 100%; }
    
    .header .mobile-menu { display: flex; }
    
    .hero { min-height: 500px; padding: 40px 0 30px 0; }
    
    .page { padding: 40px 0; }
    .page.slim { padding: 20px 0 30px 0; }
    .page-head + .page.slim,
    .property-head + .page.slim { padding-bottom: 40px; }
    
    .page .title h1,
    .page .title h2 { font-size: 24px; line-height: 32px; }
    
    .page .title-secondary h1,
    .page .title-secondary h2 { font-size: 20px; line-height: 26px; }
    
    .page-head { min-height: 140px; }
    .page-head h1 { font-size: 24px; line-height: 32px; }
    
    .search-container { flex-direction: column; }
    .search-container .items { flex-wrap: wrap; width: 100%; }
    .search-container .item,
    .search-container .item:nth-child(1) { width: calc(50% - 5px); }
    .search-container .button { width: 100%; }
    
    .text-container h1,
    .text-container h2 { margin-bottom: 10px; font-size: 24px; line-height: 32px; }
    .text-container h1.large,
    .text-container h2.large { margin-bottom: 10px; font-size: 30px; line-height: 36px; }
    .text-container h3 { margin-bottom: 6px; font-size: 20px; line-height: 24px; }
    .text-container h4 { margin-bottom: 6px; font-size: 17px; line-height: 22px; }
    
    .form-container.filters .form-item:not(.width-full) { width: calc(50% - 10px); }
    
    .panel-container { flex-direction: column; }
    .panel-container + .panel-container { margin-top: 30px; }
    .panel-container.image-text-container { gap: 30px 50px; }
    .panel-container .panel { width: 100%; }
    .panel-container aside,
    .panel-container aside.width-480 { width: 100%; }
    .panel-container.image-text-container .panel { order: 2; }
    .panel-container.image-text-container aside { order: 1; }
    
    .links-container .item h3 { font-size: 16px; line-height: 22px; }
    
    .stats-container .box { padding: 40px 20px; }
    .stats-container .box .value { font-size: 30px; line-height: 40px; }
    
    .specifications-container ul li { width: calc(33.33% - 13.33px); }
    
    .properties-overview .box .image { height: 24vw; }
    .properties-overview .box .details .top .column { gap: 0; }
    .properties-overview .box .details .bottom { gap: 5px; margin-top: 0; }
    
    .properties-slider { min-height: 0; }
    .properties-slider .content { flex-direction: column; padding-bottom: 20px; }
    .properties-slider .page { width: 100%; padding-right: 0; }
    .properties-slider .slider { width: 100%; }
    .properties-slider .slider .properties-overview .box .image { height: 74vw; }
    
    .articles-overview .item { width: 50%; }
    .articles-overview .box .image { height: 26vw; }
    .articles-overview .box .details h3 { font-size: 18px; line-height: 26px; }
    
    .offices-overview .box { gap: 16px; }
    .offices-overview .box .headline h3 { font-size: 20px; }
    
    .gallery-container { height: 56vw; }
    
    .map-container { height: 400px; }
    
    .content-box { padding: 20px; }
    .content-box:not(.grey) { padding-left: 0; padding-right: 0; }
    
    .content-headline h2 { font-size: 22px; line-height: 26px; }
    
    .property-head .box { gap: 2px; padding: 15px 20px; }
    .property-head .columns .column { gap: 8px; }
    .property-head .headline h1 { font-size: 20px; line-height: 30px; }
    .property-head .price { font-size: 20px; line-height: 30px; }
    
    .cta-box { padding: 30px; }
    
    .cta { padding: 50px 0; }
    .cta .content { gap: 20px 30px; }
    .cta h4 { font-size: 24px; line-height: 36px; }
    
    .footer .columns { flex-direction: column; gap: 20px; padding: 50px 0 30px 0; }
    .footer .columns .column { align-items: center; width: 100%; }
    .footer .headline { align-items: center; text-align: center; }
    .footer .list ul { align-items: center; }
    .footer .list ul li,
    .footer .list ul li a { justify-content: center; align-items: center; text-align: center; }
    .footer .form-container .button { width: 100%; }
    .footer .success .success-inner { align-items: center; }
    .footer .success .success-inner p { text-align: center; }
    .footer .bottom { flex-direction: column; align-items: center; gap: 10px; padding: 0 0 50px 0; text-align: center; }
}

@media (max-width: 800px) {
    .properties-overview .item { width: 100%; }
    .properties-overview .box .image { height: 48vw; }
    
    .text-container ul.columns-3,
    .text-container ol.columns-3 { column-count: 2; }
}

@media (max-width: 740px) {
    .specifications-container ul li { width: calc(50% - 10px); }
}

@media (max-width: 600px) {
    .hero .slider .slick-dots { top: 60px; transform: none; }
    
    .search-container .item,
    .search-container .item:nth-child(1) { width: 100%; }
    
    .articles-overview .item { width: 100%; }
    .articles-overview .box .image { height: 50vw; }
    
    .form-container .form-item .button { width: 100%; }
    
    .property-head .columns { flex-direction: column; gap: 10px; }
    .property-head .columns .column:nth-child(2) { align-items: flex-start; }
    .dropdown-container .dropdown { left: 0; right: auto; }
}

@media (max-width: 500px) {
    .form-container.filters .form-item:not(.width-full) { width: 100%; }
    
    .text-container ul.columns-3,
    .text-container ol.columns-3 { column-count: 1; }
}

@media (max-width: 380px) {
    .specifications-container ul li { width: 100%; }
}