html { height: 100%; }

body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background: var(--s-25);
	color: var(--s-800);
	font-size: 15px;
	font-family: 'Work Sans', sans-serif;
	font-weight: 400;
	overflow-y: scroll;
}

* { margin: 0; padding: 0; outline: 0; }

a { color: var(--b-25); text-decoration: none; }
a img { border: 0; }

strong { font-family: 'Work Sans', sans-serif; font-weight: 600; }
input, textarea, button { font-family: 'Work Sans', sans-serif; }

h1, h2, h3, h4, h5 { font-family: 'Work Sans', sans-serif; font-weight: 500; }

#email { position: absolute; z-index: -100; width: 1px; height: 1px; opacity: 0; }

.hidden { display: none !important; }

.wrap { display: flex; flex-direction: column; width: 100%; height: 100%; }
.container { flex-grow: 1; display: flex; flex-direction: column; width: 100%; }
.content { display: flex; flex-direction: column; width: 100%; box-sizing: border-box; max-width: 1200px; padding: 0 10px; }

.header { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; position: relative; width: 100%; }
.header .content { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; }
.header .top-bar { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 14px 0; background: var(--b-25); }
.header .top-bar .item { display: flex; flex-wrap: wrap; align-items: center; }
.header .top-bar .item:first-child { padding-right: 10px; }
.header .top-bar .item:last-child { justify-content: flex-end; padding-left: 10px; }
.header .top-bar ul { display: flex; flex-wrap: wrap; list-style: none; }
.header .top-bar ul li { display: flex; margin: 2px 0; }
.header .top-bar ul li a { display: flex; flex-wrap: nowrap; align-items: center; font-size: 15px; color: var(--s-25); }
.header .top-bar ul.socials li a { transition: color 0.2s ease-in-out; min-height: 20px; font-size: 20px; color: var(--s-25-t50); }
.header .top-bar ul.socials li a:hover { color: var(--s-25); }
.header .top-bar ul li a .icon { transition: color 0.2s ease-in-out; margin-right: 10px; color: var(--s-25-t50); }
.header .top-bar ul li a .icon.no-text { min-height: 24px; margin-right: 0; font-size: 20px; }
.header .top-bar ul li a:hover .icon { color: var(--s-25); }
.header .top-bar .item:first-child ul li:not(:last-child) { margin-right: 16px; }
.header .top-bar .item:last-child ul li:not(:first-child) { margin-left: 16px; }

.header .main { display: flex; flex-direction: column; width: 100%; height: 130px; }
.header .main .inner { display: flex; flex-direction: column; align-items: center; z-index: 1000; width: 100%; padding: 40px 0; background: var(--s-25); }
.header.sticky .main .inner { position: fixed; top: 0; left: 0; }
.header .main .logo { display: flex; }
.header .main .logo a { display: flex; }
.header .main .logo img { height: 50px; }
.header .main .menu { display: flex; justify-content: flex-end; }
.header .main .menu nav { display: flex; position: relative; }
.header .main .menu nav ul { display: flex; flex-wrap: nowrap; align-items: center; list-style: none; text-align: center; }
.header .main .menu nav ul li { flex-shrink: 0; display: flex; align-items: center; position: relative; margin-left: 40px; }
.header .main .menu nav ul li a:not(.button) { transition: border-color 0.2s ease-in-out; display: flex; align-items: center; flex-wrap: nowrap; padding: 6px 0; border-bottom: 2px solid transparent; color: var(--s-800); font-size: 15px; font-weight: 500; line-height: 24px; }
.header .main .menu nav ul li a:not(.button) .arrow { display: flex; align-items: center; margin: 2px 0 0 6px; font-size: 14px; }
.header .main .menu nav ul li:hover a:not(.button) { border-color: var(--s-800); }
.header .main .menu nav ul li.active a:not(.button) { border-color: var(--b-25); }

.header.transparent .main { position: absolute; z-index: 1000; top: 100%; left: 0; }
.header.transparent:not(.sticky) .main .inner { background: transparent; }
.header.transparent:not(.sticky) .main .menu nav ul li a:not(.button) { color: var(--s-25); }
.header.transparent:not(.sticky) .main .menu nav ul li:not(.active):hover a:not(.button) { border-color: var(--s-25-t60); }

.header .main .menu nav ul li .submenu { display: none; position: absolute; z-index: 1500; top: 100%; left: 0; padding-top: 10px; min-width: 100%; }
.header .main .menu nav ul li:hover .submenu { display: block; }
.header .main .menu nav ul li .submenu ul { flex-direction: column; align-items: flex-start; padding: 8px 0; background: var(--s-50); text-align: left; }
.header .main .menu nav ul li .submenu ul li { width: 100%; margin-left: 0; }
.header .main .menu nav ul li .submenu ul li a:not(.button) { transition: border-color 0.2s ease-in-out; box-sizing: border-box; width: 100%; padding: 2px 16px; border-bottom: 0; border-left: 2px solid transparent; color: var(--s-800); white-space: nowrap; }
.header .main .menu nav ul li .submenu ul li a:not(.button):hover { border-color: var(--s-900-t10); }
.header .main .menu nav ul li .submenu ul li.active a:not(.button) { border-color: var(--b-25); color: var(--b-25); }

.header.transparent:not(.sticky) .main .menu nav ul li .submenu ul li a:not(.button) { color: var(--s-800); }
.header.transparent:not(.sticky) .main .menu nav ul li:hover .submenu ul li a:not(.button) { border-color: transparent; }
.header.transparent:not(.sticky) .main .menu nav ul li .submenu ul li a:not(.button):hover { border-color: var(--s-900-t10); }

.header .main .menu nav .mobile-menu { display: none; position: absolute; top: 30px; left: 30px; color: var(--s-25); }

.header .main .menu .mobile-menu { display: none; margin-right: 30px; color: var(--s-800); font-size: 24px; }
.header.transparent:not(.sticky) .main .menu .mobile-menu { color: var(--s-25); }

.page-container { flex-grow: 1; display: flex; flex-direction: column; width: 100%; }
.section-container { flex-grow: 1; display: flex; flex-direction: column; width: 100%; }

.hero { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; box-sizing: border-box; width: 100%; min-height: 760px; padding: 152px 0 130px 0; background: var(--s-800); }
.hero:after { content: ""; position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, var(--s-900-t60) 0%, var(--s-900-t10) 100%); }

.hero .slider { position: absolute; z-index: 40; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; }
.hero .slider .slick-list,
.hero .slider .slick-track { height: 100%; }
.hero .slider .slide { width: 100%; height: 100%; }
.hero .slider .slide img { width: 100%; height: 100%; object-fit: cover; }

.hero .content { position: relative; z-index: 60; }

.hero .text { display: flex; justify-content: center; width: 100%; margin-bottom: 40px; text-align: center; }
.hero .text h1 { color: var(--s-25); font-size: 48px; font-weight: 500; line-height: 56px; }

.hero .search-container { display: flex; flex-direction: column; align-items: center; position: relative; width: 100%; }
.hero .search-container .inner { display: flex; flex-wrap: wrap; box-sizing: border-box; width: 100%; }
.hero .search-container .inner.default-filters { /*max-width: 1040px;*/ }
.hero .search-container .inner.advanced-toggle { justify-content: center; align-content: center; margin-top: 20px; }
.hero .search-container .inner.advanced-toggle .link { color: var(--s-25); }
.hero .search-container .items { flex-shrink: 1; flex-grow: 1; display: flex; flex-wrap: nowrap; width: 0; }
.hero .search-container .items .item { display: flex; align-items: flex-start; position: relative; width: 14.3%; }
.hero .search-container .items .item:after { content: ""; position: absolute; z-index: 1002; top: 10px; right: -1px; width: 2px; height: calc(100% - 20px); background: var(--s-50); }
.hero .search-container .items .item:nth-last-child(3):after,
.hero .search-container .items .item:nth-last-child(2):after,
.hero .search-container .items .item:nth-last-child(1):after { display: none; }
.hero .search-container .field-item { flex-shrink: 0; flex-grow: 0; display: flex; box-sizing: border-box; width: 142px; padding: 0 10px; }
.hero .search-container .button-item { flex-shrink: 0; flex-grow: 0; display: flex; }
.hero .search-container .input { height: 60px; border: 0; }
.hero .search-container .advanced-filters { position: absolute; top: 100%; left: 0; margin-top: 20px; padding: 10px; background: var(--s-25); box-shadow: 0 0 10px var(--s-900-t20); }
.hero .search-container .advanced-filters .item { display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; width: 25%; padding: 10px; }
.hero .search-container .advanced-filters .item.width-full { width: 100%; }
.hero .search-container .advanced-filters .item.checkboxes { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; column-gap: 40px; row-gap: 20px; }
.hero .search-container .advanced-filters .item .item-heading { margin-bottom: 6px; color: var(--s-800); font-size: 15px; font-weight: 500; line-height: 24px; }
.hero .search-container .split-items { display: flex; flex-wrap: nowrap; width: 100%; }
.hero .search-container .split-items .split-item { display: flex; box-sizing: border-box; width: 50%; }
.hero .search-container .split-items .split-item:first-child { padding-right: 5px; }
.hero .search-container .split-items .split-item:last-child { padding-left: 5px; }

.page-title { display: flex; flex-direction: column; align-items: center; width: 100%; padding-bottom: 40px; }
.page-title h1,
.page-title h2 { padding-left: 20px; border-left: 4px solid var(--b-25); color: var(--s-800); font-size: 30px; font-weight: 500; line-height: 40px; }

.page-head { display: flex; flex-direction: column; align-items: center; width: 100%; padding-bottom: 40px; }
.page-head .content { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; }
.page-head .item { display: flex; flex-direction: column; }
.page-head .item:first-child { padding-right: 20px; }
.page-head .item:last-child { flex-shrink: 0; align-items: flex-end; padding-left: 20px; }
.page-head .item:last-child .link { align-self: flex-end; }
.page-head h1 { color: var(--s-800); font-size: 24px; font-weight: 600; line-height: 36px; }
.page-head ul { display: flex; flex-wrap: wrap; list-style: none; }
.page-head ul li { margin: 10px 10px 0 0; padding: 3px 10px 3px 0; border-right: 2px solid var(--s-50); color: var(--s-800); font-size: 15px; line-height: 24px; }
.page-head ul li:last-child { margin-right: 0; padding-right: 0; border-right: 0; }
.page-head .price { display: flex; flex-wrap: wrap; align-items: baseline; margin-bottom: 13px; color: var(--s-800); }
.page-head .price .amount { font-size: 30px; font-weight: 600; line-height: 36px; }
.page-head .price .text { margin-left: 4px; font-size: 15px; line-height: 24px; }

.page { flex-grow: 1; display: flex; flex-direction: column; align-items: center; width: 100%; padding: 50px 0 70px 0; background: var(--s-25); }
.page.grey { background: var(--s-50); }
.page.slim { padding-bottom: 0; }
.page.slim + .page { padding-top: 30px; }
.page.slim-2 { padding: 40px 0 80px 0; }
.page-title + .page { padding: 30px 0 50px 0; }
.page-title + .page.slim { padding: 0 0 40px 0; }
.page-head + .page:not(.grey) { padding: 0 0 40px 0; }

.page .title { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; width: 100%; margin: 10px 0; padding-bottom: 20px; border-bottom: 2px solid var(--s-800-t10); }
.page .title .item { display: flex; flex-wrap: wrap; align-items: center; }
.page .title .item:first-child:not(:last-child) { padding-right: 20px; }
.page .title .item:last-child:not(:first-child) { padding-left: 20px; }
.page .title .item .item-child { display: flex; flex-wrap: nowrap; align-items: center; }
.page .title .item .item-heading { margin-right: 10px; color: var(--s-800); font-size: 15px; line-height: 24px; white-space: nowrap; }
.page .title .item .select-container { flex-shrink: 0; display: flex; width: 180px; }
.page .title h1,
.page .title h2 { color: var(--s-800); font-size: 24px; font-weight: 500; line-height: 36px; }

.page.filters { padding: 0 0 30px 0; }
.page.filters .title { margin: 0 0 10px 0; padding-bottom: 0; border-bottom: 0; }
.page.filters .items { display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; width: 100%; padding: 0; }
.page.filters .items .item { display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; width: 20%; padding: 10px; }
.page.filters .items .item.width-full { width: 100%; }
.page.filters .items .item.width-two { width: 40%; }
.page.filters .items .item.checkboxes { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; }
.page.filters .items .item .item-heading { margin-bottom: 6px; color: var(--s-800); font-size: 15px; font-weight: 500; line-height: 24px; }
.page.filters .items .item .link { align-self: center; }
.page.filters .items .item .checkbox-container { margin: 10px 40px 10px 0; }
.page.filters .items .item .checkbox-container:last-child { margin-right: 0; }
.page.filters .items .item .split-items { display: flex; flex-wrap: nowrap; width: 100%; }
.page.filters .items .item .split-items .split-item { display: flex; box-sizing: border-box; width: 50%; }
.page.filters .items .item .split-items:not(.slim) .split-item:first-child { padding-right: 10px; }
.page.filters .items .item .split-items:not(.slim) .split-item:last-child { padding-left: 10px; }
.page.filters .items .item .split-items.slim .split-item:first-child { padding-right: 5px; }
.page.filters .items .item .split-items.slim .split-item:last-child { padding-left: 5px; }

.services-overview { flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: stretch; padding: 0; }
.services-overview .item { display: flex; box-sizing: border-box; width: 25%; padding: 10px; }
.services-overview .box { display: flex; flex-direction: column; position: relative; box-sizing: border-box; width: 100%; height: 100%; padding: 60px 30px 30px 30px; background: var(--s-50); }
.services-overview .box a.whole { position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; }
.services-overview .box .icon { display: flex; align-items: center; min-height: 48px; margin-bottom: 20px; color: var(--b-25); font-size: 36px; }
.services-overview .box .text { display: flex; flex-direction: column; color: var(--s-800); }
.services-overview .box .text h3 { margin-bottom: 4px; font-size: 20px; font-weight: 600; line-height: 30px; }
.services-overview .box .text p { font-size: 15px; line-height: 24px; }

.properties-overview { flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 0; }
.properties-overview .item { display: flex; box-sizing: border-box; width: 33.33%; padding: 10px; }
.properties-overview .box { transition: box-shadow 0.2s ease-in-out; display: flex; flex-direction: column; position: relative; width: 100%; height: 100%; }
.properties-overview .box:hover { box-shadow: 0px 4px 12px var(--s-900-t10); }
.properties-overview .box a.whole { position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; }
.properties-overview .box .image { flex-shrink: 0; display: flex; position: relative; width: 100%; height: 200px; background: var(--s-800); }
.properties-overview .box .image img { width: 100%; height: 100%; object-fit: cover; }
.properties-overview .box .image .labels { position: absolute; top: 20px; left: 20px; }
.properties-overview .box .image .labels .label { position: relative; z-index: 10; }
.properties-overview .box .details { flex-grow: 1; display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 20px; background: var(--s-25); color: var(--s-800); }
.properties-overview .box .details .headline { display: flex; }
.properties-overview .box .details .headline h3 { font-size: 20px; font-weight: 600; line-height: 30px; }
.properties-overview .box .details .location { display: flex; margin-top: 4px; font-size: 15px; line-height: 24px; }
.properties-overview .box .details .location:first-child { margin-top: 0; }
.properties-overview .box .details .specifications { display: flex; margin-top: 10px; }
.properties-overview .box .details .specifications:first-child { margin-top: 0; }
.properties-overview .box .details .specifications ul { display: flex; flex-wrap: wrap; list-style: none; }
.properties-overview .box .details .specifications ul li { margin-right: 10px; padding: 3px 10px 3px 0; border-right: 2px solid var(--s-50); font-size: 15px; line-height: 24px; }
.properties-overview .box .details .specifications ul li:last-child { margin-right: 0; padding-right: 0; border-right: 0; }
.properties-overview .box .details .bottom { flex-grow: 1; display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-end; width: 100%; margin-top: 20px; }
.properties-overview .box .details .price { display: flex; flex-wrap: wrap; align-items: baseline; }
.properties-overview .box .details .price .amount { margin-right: 4px; font-size: 24px; font-weight: 600; line-height: 36px; }
.properties-overview .box .details .price .amount:last-child { margin-right: 0; }
.properties-overview .box .details .price .text { font-size: 15px; line-height: 24px; }
.properties-overview .box .details .right-side { flex-shrink: 0; padding-left: 20px; }
.properties-overview .box:hover .button { background: var(--b-50); border-color: var(--b-50); }

.locations-overview { flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 5px; }
.locations-overview .item { flex-grow: 1; flex-basis: 0; display: flex; box-sizing: border-box; /*width: 20%;*/ padding: 5px; }
.locations-overview .box { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; position: relative; box-sizing: border-box; width: 100%; height: 100%; padding: 20px 20px 20px 0; min-height: 360px; }
.locations-overview .box a.whole { position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; }
.locations-overview .box img { position: absolute; z-index: 30; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.locations-overview .box .name { transition: background 0.2s ease-in-out; position: relative; z-index: 40; padding: 8px 12px 8px 20px; background: var(--s-800); color: var(--s-25); font-size: 20px; font-weight: 600; line-height: 30px; }
.locations-overview .box:hover .name { background: var(--s-900); }

.articles-overview { flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 0; }
.articles-overview:first-child { margin-top: 10px; }
.articles-overview .item { display: flex; box-sizing: border-box; width: 33.33%; padding: 10px; }
.articles-overview .box { transition: box-shadow 0.2s ease-in-out; display: flex; flex-direction: column; position: relative; width: 100%; height: 100%; }
.articles-overview .box:hover { box-shadow: 0px 4px 12px var(--s-900-t10); }
.articles-overview .box a.whole { position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; }
.articles-overview .box .image { flex-shrink: 0; display: flex; width: 100%; height: 200px; }
.articles-overview .box .image img { width: 100%; height: 100%; object-fit: cover; }
.articles-overview .box .details { flex-grow: 1; display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 20px; background: var(--s-25); color: var(--s-800); }
.articles-overview .box .details h3 { font-size: 18px; font-weight: 600; line-height: 26px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.articles-overview .box .details span { margin-top: 10px; font-size: 15px; line-height: 24px; }

.articles-list { display: flex; flex-direction: column; width: 100%; }
.articles-list .item { display: flex; box-sizing: border-box; width: 100%; padding: 0 10px; }
.articles-list .box { display: flex; flex-direction: column; position: relative; box-sizing: border-box; width: 100%; padding: 10px 0; border-bottom: 2px solid var(--s-50); color: var(--s-800); }
.articles-list:last-child .item:last-child .box { border-bottom: 0; }
.articles-list .box a.whole { position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; }
.articles-list .box h4 { transition: color 0.2s ease-in-out; margin-bottom: 4px; font-size: 15px; font-weight: 600; line-height: 24px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.articles-list .box:hover h4 { color: var(--b-25); }
.articles-list .box span { font-size: 13px; line-height: 24px; }

.pages-overview { flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 0; }
.pages-overview:first-child { margin-top: 10px; }
.pages-overview .item { display: flex; box-sizing: border-box; width: 50%; padding: 10px; }
.pages-overview .box { transition: box-shadow 0.2s ease-in-out; display: flex; flex-direction: column; position: relative; width: 100%; height: 100%; }
.pages-overview .box:hover { box-shadow: 0px 4px 12px var(--s-900-t10); }
.pages-overview .box a.whole { position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; }
.pages-overview .box .image { flex-shrink: 0; display: flex; width: 100%; height: 260px; }
.pages-overview .box .image img { width: 100%; height: 100%; object-fit: cover; }
.pages-overview .box .details { flex-grow: 1; display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 20px; background: var(--s-25); color: var(--s-800); }
.pages-overview .box .details h3 { font-size: 18px; font-weight: 600; line-height: 26px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.pages-overview .box .details p { margin-top: 10px; font-size: 15px; line-height: 24px; }

.offices-overview { flex-direction: row; flex-wrap: wrap; align-items: stretch; padding: 0; }
.offices-overview .item { display: flex; box-sizing: border-box; width: 33.33%; padding: 10px; }
.offices-overview .box { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; height: 100%; padding: 30px; background: var(--s-25); }
.offices-overview .box .headline { display: flex; }
.offices-overview .box .headline h3 { color: var(--s-800); font-size: 20px; font-weight: 600; line-height: 30px; }
.offices-overview .box .details { display: flex; margin-top: 15px; }
.offices-overview .box .details ul { display: flex; flex-direction: column; }
.offices-overview .box .details ul li { display: flex; flex-wrap: nowrap; margin: 5px 0; color: var(--s-800); font-size: 15px; line-height: 24px; }
.offices-overview .box .details ul li .icon { display: flex; margin: 5px 10px 0 0; color: var(--b-25); font-size: 14px; }
.offices-overview .box .details ul li a { transition: color 0.2s ease-in-out; color: var(--s-800); }
.offices-overview .box .details ul li a:hover { color: var(--s-900); }
.offices-overview .box .socials { display: flex; margin-bottom: 25px; }
.offices-overview .box .socials ul { display: flex; flex-wrap: wrap; align-items: center; }
.offices-overview .box .socials ul li { display: flex; margin: 15px 16px 0 0; }
.offices-overview .box .socials ul li a { transition: color 0.2s ease-in-out; color: var(--s-800-t50); font-size: 20px; }
.offices-overview .box .socials ul li a:hover { color: var(--s-800); }

.image-text-container { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; width: 100%; }
.image-text-container .image { display: flex; width: 100%; max-width: 480px; }
.image-text-container .image img { max-width: 100%; }
.image-text-container .text { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; max-width: 620px; padding-left: 40px; }
.image-text-container .text h2 { margin-bottom: 10px; color: var(--s-800); font-size: 30px; font-weight: 500; line-height: 40px; }
.image-text-container .text p { color: var(--s-800); font-size: 15px; line-height: 24px; }
.image-text-container .text .button { margin-top: 30px; }

.columns-container { display: flex; flex-wrap: nowrap; align-items: stretch; width: 100%; }
.columns-container .column-left { flex-grow: 1; display: flex; flex-direction: column; width: 0; padding-right: 20px; }
.columns-container .column-right { flex-shrink: 0; display: flex; flex-direction: column; box-sizing: border-box; width: 280px; }
.columns-container .column-right.wide { width: 380px; }
.columns-container .column-right .top-section { flex-grow: 1; display: flex; flex-direction: column; width: 100%; }
.columns-container .column-right .sticky-container { position: sticky; top: 150px; display: flex; flex-direction: column; width: 100%; }
.columns-container .column-right .button { width: 100%; }
.columns-container .column-right .cover-image { width: 100%; height: 100%; object-fit: cover; }
.columns-container.equal-columns .content-box { flex-grow: 1; }

.content-box { display: flex; flex-direction: column; width: 100%; margin-bottom: 10px; background: var(--s-25); }
.content-box:last-child { margin-bottom: 0; }
.content-box.grey { background: var(--s-50); }
.content-box .image-container { display: flex; width: 100%; }
.content-box .image-container img { width: 100%; }
.content-box .box-title { display: flex; box-sizing: border-box; width: 100%; padding: 22px 30px; border-bottom: 2px solid var(--s-50); }
.content-box .box-title h2 { color: var(--s-800); font-size: 20px; font-weight: 500; line-height: 30px; }
.content-box .inner-container { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 20px; }
.content-box .inner-container .text-container { padding: 10px; }
.content-box .inner-container .button-container { padding: 10px; }
.content-box .inner-container .agent-details { padding: 10px; }
.content-box .inner-container .iframe-container { padding: 10px; }

.content-box .inner-container .list { display: flex; box-sizing: border-box; width: 100%; padding: 5px 0; }
.content-box .inner-container .list ul { display: flex; flex-wrap: wrap; width: 100%; list-style: none; }
.content-box .inner-container .list ul li { box-sizing: border-box; width: 50%; padding: 5px 10px; color: var(--s-800); font-size: 15px; font-weight: 500; line-height: 24px; }
.content-box .inner-container .list ul li span { font-weight: 400; }

.content-box .inner-container .list.icon-list { padding: 0; }
.content-box .inner-container .list.icon-list ul li { display: flex; flex-wrap: nowrap; padding: 10px; }
.content-box .inner-container .list.icon-list ul li .icon { flex-shrink: 0; display: flex; margin: 3px 10px 0 0; color: var(--b-25); font-size: 18px; }

.table-container { display: flex; width: 100%; overflow-y: auto; }
table.table tr th,
table.table tr td { padding: 10px 20px; color: var(--s-900);  font-size: 15px; }
table.table tr th { font-weight: 500; }
table.table tr td { padding-top: 20px; padding-bottom: 20px; border-top: 2px solid var(--s-50); }
table.table tr th:first-child,
table.table tr td:first-child { padding-left: 30px; }
table.table tr th:last-child,
table.table tr td:last-child { padding-right: 30px; }

.share-container { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 20px 0 10px 0; text-align: center; }
.share-container span { margin-bottom: 10px; color: var(--s-800-t50); font-size: 16px; font-weight: 500; line-height: 24px; }
.share-container ul { display: flex; flex-wrap: wrap; align-items: center; }
.share-container ul li { display: flex; margin: 10px; }
.share-container ul li a { transition: color 0.2s ease-in-out; color: var(--s-800-t50); font-size: 20px; }
.share-container ul li a:hover { color: var(--s-800); }

.text-container { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; }
.text-container img { align-self: flex-start; max-width: 100%; margin-bottom: 20px; }
.text-container img:last-child { margin-bottom: 0; }
.text-container table,
.text-container blockquote,
.text-container figure { margin-bottom: 20px; }
.text-container table:last-child,
.text-container blockquote:last-child,
.text-container figure:last-child { margin-bottom: 0; }
.text-container h1 { margin-bottom: 10px; color: var(--s-800); font-size: 24px; font-weight: 600; line-height: 36px; }
.text-container h2 { margin-bottom: 10px; color: var(--s-800); font-size: 18px; font-weight: 600; line-height: 28px; }
.text-container h3 { margin-bottom: 10px; color: var(--s-800); font-size: 16px; font-weight: 600; line-height: 24px; }
.text-container h4,
.text-container h5 { color: var(--s-800); font-size: 15px; font-weight: 600; line-height: 24px; }
.text-container p { margin-bottom: 30px; color: var(--s-800); font-size: 15px; line-height: 24px; }
.text-container p:last-child { margin-bottom: 0; }
.text-container ul,
.text-container ol { margin: 0 0 30px 22px; }
.text-container ul:last-child,
.text-container ol:last-child { margin-bottom: 0; }
.text-container ul li,
.text-container ol li { margin: 5px 0; color: var(--s-800); font-size: 15px; line-height: 24px; }
.text-container ul li:first-child,
.text-container ol li:first-child { margin-top: 0; }
.text-container ul li:last-child,
.text-container ol li:last-child { margin-bottom: 0; }
.text-container hr { height: 2px; margin-bottom: 30px; background: var(--s-50); border: 0; }
.text-container table { border-spacing: 0; }
.text-container table tr th { font-weight: 600; }
.text-container table tr th,
.text-container table tr td { padding: 10px; border-top: 2px solid var(--s-50); border-right: 2px solid var(--s-50); text-align: left; color: var(--s-800); font-size: 15px; line-height: 24px; }
.text-container table tr:last-child td { border-bottom: 2px solid var(--s-50); }
.text-container table tr th:first-child,
.text-container table tr td:first-child { border-left: 2px solid var(--s-50); }
.text-container p .button { display: inline-block; }

.button-container { display: flex; box-sizing: border-box; width: 100%; margin: 10px 0; }
.button-container:first-child { margin-top: 0; }
.button-container:last-child { margin-bottom: 0; }

.form-container { display: flex; flex-wrap: wrap; align-items: stretch; box-sizing: border-box; width: 100%; }
.form-container .form-item { display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; width: 50%; padding: 10px; }
.form-container .form-item.width-full { width: 100%; }
.form-container .form-item.headline h2 { color: var(--s-800); font-size: 24px; font-weight: 500; line-height: 36px; }
.form-container .form-item .item-heading { margin-bottom: 6px; color: var(--s-800); font-size: 15px; font-weight: 500; line-height: 24px; }
.form-container .form-item .disclaimer { color: var(--s-800-t75); font-size: 11px; line-height: 20px; }
.form-container .form-item .disclaimer a { color: var(--s-800); font-weight: 500; }

.form-container.slim { padding: 5px; }
.form-container.slim .form-item { padding: 5px; }
.form-container.slim .form-item.headline { padding-bottom: 15px; }
.form-container.slim .form-item .disclaimer { padding: 10px 0; }

.gallery-container { max-width: 1600px; padding: 0 5px; }
.gallery-container .main { flex-grow: 1; display: flex; position: relative; box-sizing: border-box; width: 100%; height: 600px; padding: 0 5px; }
.gallery-container .main .labels { position: absolute; top: 20px; left: 20px; box-sizing: border-box; padding: 0 5px; }
.gallery-container .main .labels .label { position: relative; z-index: 10; }
.gallery-container .slider { position: relative; width: 100%; height: 100%; background: var(--s-800); }
.gallery-container .slider .image { display: flex; width: 100%; height: 100%; }
.gallery-container .slider .image a { display: flex; width: 100%; height: 100%; }
.gallery-container .slider .image img { width: 100%; height: 100%; object-fit: cover; }
.gallery-container .placeholder { display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 100%; height: 100%; padding: 20px; background: var(--s-800); }
.gallery-container .placeholder img { max-width: 100%; height: 200px; }
.gallery-container .thumbnails { position: relative; width: 100%; height: 140px; margin-top: 10px; }
.gallery-container .thumbnails:before,
.gallery-container .thumbnails:after { content: ""; position: absolute; z-index: 40; top: 0; width: 5px; height: 100%; background: var(--s-25); }
.gallery-container .thumbnails:before { left: 0; }
.gallery-container .thumbnails:after { right: 0; }
.gallery-container .thumbnails .image { display: flex; width: 100%; height: 100%; }
.gallery-container .thumbnails .image img { width: 100%; height: 100%; object-fit: cover; cursor: pointer; background: var(--s-800); }
.gallery-container .thumbnails .image span { box-sizing: border-box; display: flex; width: 100%; height: 100%; padding: 0 5px; cursor: pointer; }
.gallery-container .slick-list,
.gallery-container .slick-track { height: 100%; }
.gallery-container .slider-arrow { transition: background 0.2s ease-in-out; position: absolute; z-index: 50; top: 50%; transform: translateY(-50%); display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; background: var(--s-800-t50); border: 0; color: var(--s-25); font-size: 20px; cursor: pointer; }
.gallery-container .slider-arrow:hover { background: var(--s-800); }
.gallery-container .slider-arrow.prev { left: 0; }
.gallery-container .slider-arrow.next { right: 0; }
.gallery-container .slider:not(.slick-initialized) .image img,
.gallery-container .thumbnails:not(.slick-initialized) .image img { display: none; }

.gallery-container .columns-container .column-left { padding-right: 15px; }
.gallery-container .columns-container .column-right { width: 385px; padding-right: 5px; }

.agent-details { box-sizing: border-box; display: flex; flex-wrap: nowrap; align-items: flex-start; width: 100%; }
.agent-details .image { flex-shrink: 0; display: flex; width: 100px; }
.agent-details .image img { width: 100%; }
.agent-details .details { flex-grow: 1; display: flex; flex-direction: column; box-sizing: border-box; padding-left: 30px; width: 0; }
.agent-details .details:first-child { padding-left: 0; }
.agent-details .details h4 { margin-bottom: 5px; color: var(--s-800); font-size: 20px; font-weight: 600; line-height: 30px; }
.agent-details .details ul { display: flex; flex-direction: column; width: 100%; }
.agent-details .details ul li { display: flex; flex-wrap: nowrap; align-items: center; margin: 5px 0; color: var(--s-800); font-size: 15px; line-height: 24px; }
.agent-details .details ul li a { transition: color 0.2s ease-in-out; color: var(--s-800); }
.agent-details .details ul li a:hover { color: var(--b-25); }
.agent-details .details ul li .icon { margin-right: 8px; color: var(--b-25); font-size: 14px; }

.iframe-container { display: flex; box-sizing: border-box; width: 100%; height: 400px; }
.iframe-container iframe { width: 100%; height: 100%; }

.map-container { display: flex; width: 100%; height: 400px; }
.map-container .map { width: 100%; height: 100%; }

.paging { display: flex; flex-wrap: wrap; justify-content: center; width: 100%; margin-top: 20px; }
.paging a { transition: color 0.2s ease-in-out; box-sizing: border-box; min-width: 40px; margin: 10px 5px 0 5px; padding: 10px 16px; background: var(--s-25); color: var(--s-800); font-size: 15px; font-weight: 500; line-height: 24px; text-align: center; }
.paging a:hover { color: var(--b-25); }
.paging a.active { background: var(--s-800); color: var(--s-25); }

.footer-container { flex-shrink: 0; display: flex; flex-direction: column; width: 100%; }

.cta { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 80px 0; background: var(--b-25); }
.cta .content { flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; }
.cta h4 { margin-right: 40px; color: var(--s-25); font-size: 30px; font-weight: 500; line-height: 40px; }
.cta .button { align-self: center; }

.footer { display: flex; flex-direction: column; width: 100%; }
.footer .main { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 80px 0 60px 0; background: var(--b-100); }

.footer .main .items { flex-direction: row; flex-wrap: nowrap; width: 100%; padding: 0 0 60px 0; }
.footer .main .items .item { flex-basis: 0; flex-grow: 1; display: flex; flex-direction: column; box-sizing: border-box; padding: 0 10px; }
.footer .main .items .item:last-child { align-items: flex-end; }
.footer .main .items .item .headline { display: flex; width: 100%; margin-bottom: 17px; }
.footer .main .items .item .headline h5 { color: var(--s-800); font-size: 16px; font-weight: 600; line-height: 24px; }
.footer .main .items .item .list { display: flex; width: 100%; }
.footer .main .items .item .list ul { display: flex; flex-direction: column; list-style: none; }
.footer .main .items .item .list ul li { margin: 3px 0; }
.footer .main .items .item .list ul li a { transition: color 0.2s ease-in-out; color: var(--s-800); font-size: 15px; line-height: 24px; }
.footer .main .items .item .list ul li a:hover { color: var(--s-800-t75); }
.footer .main .items .item .logo { display: flex; }
.footer .main .items .item .logo a { display: flex; }
.footer .main .items .item .logo img { height: 52px; }

.footer .main .text { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; box-sizing: border-box; width: 100%; padding-top: 20px; border-top: 2px solid var(--s-900-t10); }
.footer .main .text .disclaimer { display: flex; flex-direction: column; padding-right: 20px; color: var(--s-800-t75); font-size: 12px; line-height: 20px; }
.footer .main .text .socials { flex-shrink: 0; display: flex; }
.footer .main .text .socials ul { display: flex; flex-wrap: nowrap; list-style: none; }
.footer .main .text .socials ul li { margin-left: 16px; }
.footer .main .text .socials ul li:first-child { margin-left: 0; }
.footer .main .text .socials ul li a { transition: color 0.2s ease-in-out; color: var(--s-800-t75); font-size: 20px; }
.footer .main .text .socials ul li a:hover { color: var(--s-800); }

.footer .bottom-bar { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 20px 0; background: var(--b-25); }
.footer .bottom-bar .content { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; }
.footer .bottom-bar .item { display: flex; color: var(--s-25-t80); font-size: 13px; line-height: 20px; }
.footer .bottom-bar .item:last-child { justify-content: flex-end; padding-left: 20px; text-align: right; }
.footer .bottom-bar .item ul { flex-shrink: 0; display: flex; flex-wrap: wrap; list-style: none; }
.footer .bottom-bar .item ul li { padding: 0 10px; border-right: 1px solid var(--s-25-t80); }
.footer .bottom-bar .item ul li:first-child { padding-left: 0; }
.footer .bottom-bar .item ul li:last-child { padding-right: 0; border-right: 0; }
.footer .bottom-bar .item ul li a { transition: color 0.2s ease-in-out; color: var(--s-25-t80); }
.footer .bottom-bar .item ul li a:hover { color: var(--s-25); }

.labels { display: flex; flex-wrap: wrap; gap: 10px; }
.label { padding: 8px 10px; background: var(--s-900); color: var(--s-25); font-size: 12px; font-weight: 500; line-height: 16px; text-transform: uppercase; }

.link { transition: color 0.2s ease-in-out; align-self: flex-start; flex-shrink: 0; display: flex; flex-wrap: nowrap; align-items: center; color: var(--b-25); font-size: 15px; font-weight: 600; line-height: 24px; }
.link:hover { color: var(--b-50); }
.link .icon { display: flex; margin-left: 10px; }
.link .icon.before { margin: 0 10px 0 0; }
.link .icon.large { font-size: 18px; }
.link .icon svg { transition: transform 0.2s ease-in-out; }
.link.open .icon svg { transform: rotate(180deg); }

.checkbox-container { display: flex; flex-wrap: nowrap; }
.checkbox-container input { display: none; }
.checkbox-container .checkbox { flex-shrink: 0; display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 24px; height: 24px; background: var(--s-25); border: 2px solid var(--s-800-t10); color: var(--s-25); font-size: 15px; cursor: pointer; }
.checkbox-container .checkbox span { display: none; }
.checkbox-container .checkbox-label { padding-left: 10px; color: var(--s-800); font-size: 15px; line-height: 24px; user-select: none; cursor: pointer; }
.checkbox-container input:checked + .checkbox { background: var(--s-800); border-color: var(--s-800); }
.checkbox-container input:checked + .checkbox span { display: flex; }

.input { box-sizing: border-box; width: 100%; height: 48px; padding: 0 16px; background: var(--s-25); border: 2px solid var(--s-800-t10); color: var(--s-800); font-size: 15px; line-height: 24px; }
.input:focus { border-color: var(--b-25); }
.input.error { border-color: var(--b-25); }

.textarea { box-sizing: border-box; width: 100%; height: 144px; padding: 12px 16px; background: var(--s-25); border: 2px solid var(--s-800-t10); color: var(--s-800); font-size: 15px; line-height: 24px; resize: none; }
.textarea:focus { border-color: var(--b-25); }
.textarea.error { border-color: var(--b-25); }
.textarea.height-106 { height: 106px; }

.button { transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out; align-self: flex-start; flex-shrink: 0; display: flex; justify-content: center; align-items: center; flex-wrap: nowrap; box-sizing: border-box; padding: 8px 14px; background: var(--b-25); border: 2px solid var(--b-25); color: var(--s-25); font-size: 15px; font-weight: 600; line-height: 24px; text-align: center; cursor: pointer; }
.button:hover { background: var(--b-50); border-color: var(--b-50); }

.button.favorites { padding: 8px 8px 8px 14px; }
.button.icon-button { width: 60px; height: 60px; padding: 0; font-size: 20px; }
.button.icon-button-small { width: 36px; height: 36px; padding: 0; }

.button.dark { background: var(--b-100); border-color: var(--b-100); color: var(--s-800); }
.button.dark:hover { background: var(--s-800); border-color: var(--s-800); color: var(--s-25) }

.button .number { transition: background 0.2s ease-in-out; box-sizing: border-box; min-width: 31px; margin-left: 10px; padding: 4px 8px; background: var(--b-50); font-size: 12px; font-weight: 700; line-height: 20px; text-align: center; }
.button:hover .number { background: var(--b-75); }

.button .icon { display: flex; margin-left: 10px; }
.button .icon.before { margin: 0 10px 0 0; }
.button .icon.large { font-size: 18px; }

.success { flex-grow: 1; display: none; box-sizing: border-box; width: 100%; padding: 10px; color: var(--s-800); font-size: 15px; line-height: 24px; text-align: center; }
.success .success-inner { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: 100%; }
.success .icon { margin-bottom: 20px; color: var(--b-25); font-size: 60px; }

.no-results { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; padding-top: 40px; padding-bottom: 40px; color: var(--s-800); font-size: 15px; line-height: 24px; }
.no-results .icon { min-height: 40px; margin-bottom: 20px; font-size: 40px; }

.cta-buttons { display: flex; flex-wrap: nowrap; align-items: stretch; transform: rotate(90deg) translateX(50%); transform-origin: 100% 0; position: fixed; z-index: 1050; top: 50%; right: 0; }
.cta-buttons .item { flex-shrink: 0; display: flex; }
.cta-buttons .item a { display: flex; align-items: center; box-sizing: border-box; height: 100%; padding: 6px 12px; background: var(--b-25); color: var(--s-25); font-size: 15px; font-weight: 500; line-height: 24px; }
.cta-buttons ul { flex-shrink: 0; display: flex; flex-wrap: nowrap; align-items: center; gap: 14px; padding: 6px 12px; background: var(--s-25); list-style: none; }
.cta-buttons ul li { display: flex; }
.cta-buttons ul li a { display: flex; transform: rotate(-90deg); color: var(--s-800); font-size: 14px; }
.cta-buttons ul li:first-child a { font-size: 16px; }

.cookie-message { display: flex; flex-direction: column; align-items: center; position: fixed; z-index: 2000; bottom: 0; left: 0; width: 100%; padding: 10px 0; background: var(--s-25); box-shadow: 0 0 20px var(--s-900-t20); font-size: 14px; }
.cookie-message .content { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; }
.cookie-message .content .column { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.cookie-message .content .column:nth-child(2) { flex-shrink: 0; }
.cookie-message .content .column .link,
.cookie-message .content .column .button { align-self: center; }

.loading-container { flex-grow: 1; justify-content: center; align-items: center; width: 100%; padding-top: 40px; padding-bottom: 40px; color: var(--s-800); font-size: 15px; line-height: 24px; }
.loading-container .icon { min-height: 40px; margin-bottom: 20px; font-size: 40px; }
.loading-container .icon svg { animation-name: spin; animation-duration: 1s; animation-iteration-count: infinite; animation-timing-function: ease-in-out;  }

.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: 3px solid var(--b-25); }

@keyframes spin {
    from { transform:rotate(0deg); }
    to { transform:rotate(360deg); }
}

@media (max-width: 1250px) {
    .cta-buttons { display: none; }
}

@media (max-width: 1200px) {
    .page.filters .content.items { padding: 5px; }
    .page.filters .items .item { padding: 5px; }
    .page.filters .items .item .split-items:not(.slim) .split-item:first-child { padding-right: 5px; }
    .page.filters .items .item .split-items:not(.slim) .split-item:last-child { padding-left: 5px; }
    .page.filters .items .item .link { margin-top: 10px; }
    
    .services-overview { padding: 5px; }
    .services-overview .item { padding: 5px; }
    
    .properties-overview { padding: 5px; }
    .properties-overview .item { padding: 5px; }
    .properties-overview .box .image { height: 17vw; }
    
    .articles-overview { padding: 5px; }
    .articles-overview .item { padding: 5px; }
    .articles-overview .box .image { height: 17vw; }
    
    .pages-overview { padding: 5px; }
    .pages-overview .item { padding: 5px; }
    .pages-overview .box .image { height: 21vw; }
    
    .offices-overview { padding: 5px; }
    .offices-overview .item { padding: 5px; }
    
    .columns-container .column-left { padding-right: 10px; }
    
    .gallery-container .main { height: 480px; }
    .gallery-container .thumbnails { height: 90px; }
    .gallery-container .columns-container .column-left { padding-right: 5px; }
}

@media (max-width: 1100px) {
    .page.filters .items .item { flex-grow: 1; flex-basis: 320px; width: auto; }
    .page.filters .items .item.width-two { width: auto; }
    .page.filters .items .item.width-full { flex-basis: auto; }
}

@media (max-width: 1000px) {
    .header .top-bar { padding: 10px 0; }
    
    .header .main { height: 60px; }
    .header .main .inner { padding: 10px 0; }
    .header .main .logo img { height: 40px; }
    
    .header .main .menu nav { display: none; justify-content: flex-end; position: fixed; z-index: 2000; top: 0; left: 0; width: 100%; height: 100%; background: var(--s-900-t60); }
    .header .main .menu nav.visible { display: flex; }
    .header .main .menu nav ul { flex-direction: column; align-items: flex-start; box-sizing: border-box; width: 400px; max-width: 80%; height: 100%; padding: 20px 0; background: var(--s-800); text-align: left; overflow-y: auto; }
    .header .main .menu nav ul li { flex-direction: column; align-items: flex-start; margin-left: 0; width: 100%; }
    .header .main .menu nav ul li a:not(.button) { justify-content: space-between; box-sizing: border-box; width: 100%; padding: 10px 20px; border-bottom: 0; border-left: 2px solid transparent; color: var(--s-25); }
    .header .main .menu nav ul li a:not(.button) .arrow { display: none; }
    .header .main .menu nav ul li .button { margin: 10px 0 0 20px; }
    
    .header .main .menu nav ul li .submenu { display: flex; position: static; top: auto; left: auto; margin-top: 0; padding-top: 0; }
    .header .main .menu nav ul li .submenu ul { box-sizing: border-box; width: 100%; max-width: 100%; padding: 10px; background: var(--s-900-t60); }
    .header .main .menu nav ul li .submenu ul li a:not(.button) { padding: 5px 10px; color: var(--s-25); }
    
    .header .main .menu nav ul li .submenu ul li a:not(.button):hover { border-color: var(--s-25-t60); }
    .header.transparent:not(.sticky) .main .menu nav ul li .submenu ul li a:not(.button) { color: var(--s-25); }
    .header.transparent:not(.sticky) .main .menu nav ul li .submenu ul li a:not(.button):hover { border-color: var(--s-25-t60); }
    
    .header .main .menu nav .mobile-menu { display: flex; }
    
    .header .main .menu .mobile-menu { display: flex; }
    
    .hero { min-height: 600px; padding: 110px 0 40px 0; }
    .hero .text { margin-bottom: 30px; }
    .hero .text h1 { font-size: 38px; line-height: 46px; }
    
    .page-head { padding-bottom: 10px; }
    .page-head h1 { font-size: 20px; line-height: 28px; }
    .page-head ul { margin-top: 5px; }
    .page-head ul li { margin-top: 0; }
    .page-head .price { margin-bottom: 8px; }
    .page-head .price .amount { font-size: 22px; line-height: 28px; }
    
    .page-title { padding-bottom: 10px; }
    .page-title h1,
    .page-title h2 { padding-left: 10px; font-size: 22px; line-height: 28px; }
    
    .page { padding: 15px 0; }
    .page .title { padding-bottom: 10px; }
    .page .title h1,
    .page .title h2 { font-size: 20px; line-height: 30px; }
    .page.slim-2 { padding: 15px 0; }
    .page.slim + .page { padding-top: 15px; }
    .page-title + .page { padding: 15px 0; }
    .page-title + .page.slim { padding-bottom: 15px; }
    .page-head + .page:not(.grey) { padding-bottom: 15px; }
    
    .services-overview .box { padding: 20px; }
    .services-overview .box .icon { margin-bottom: 10px; }
    .services-overview .box .text h3 { font-size: 18px; line-height: 24px; }
    .services-overview .box .text p { font-size: 14px; line-height: 22px; }
    
    .properties-overview .box .details .headline h3 { font-size: 18px; line-height: 26px; }
    .properties-overview .box .details .bottom { margin-top: 15px; }
    .properties-overview .box .details .price .amount { font-size: 22px; }
    
    .locations-overview .box { min-height: 300px; }
    .locations-overview .box .name { font-size: 18px; line-height: 26px; }
    
    .articles-overview .box .details h3 { font-size: 16px; line-height: 22px; }
    .articles-overview .box .details span { margin-top: 5px; }
    
    .articles-list .item { padding: 0 5px; }
    .articles-list .box { padding: 5px 0; }
    
    .pages-overview .box .details h3 { font-size: 16px; line-height: 22px; }
    .pages-overview .box .details span { margin-top: 5px; }
    
    .offices-overview .box { padding: 20px; }
    .offices-overview .box .headline h3 { font-size: 18px; line-height: 26px; }
    .offices-overview .box .details { margin-top: 10px; }
    
    .image-text-container .text { padding-left: 20px; }
    .image-text-container .text h2 { margin-bottom: 5px; font-size: 24px; line-height: 36px; }
    .image-text-container .text p { font-size: 14px; line-height: 22px; }
    .image-text-container .text .button { margin-top: 15px; }
    
    .form-container .form-item { padding: 5px; }
    .form-container.slim { padding: 0; }
    .form-container .form-item.headline h2 { font-size: 20px; line-height: 28px; }
    
    .text-container h1 { font-size: 20px; line-height: 32px; }
    
    .content-box .box-title { padding: 20px; }
    .content-box .box-title h2 { font-size: 18px; line-height: 26px; }
    .content-box .inner-container { padding: 15px; }
    .content-box .inner-container .text-container { padding: 5px; }
    .content-box .inner-container .button-container { padding: 5px; }
    .content-box .inner-container .agent-details { padding: 5px; }
    .content-box .inner-container .iframe-container { padding: 5px; }
    .content-box .inner-container .list ul li { flex-basis: 250px; flex-grow: 1; padding: 5px; }
    .content-box .inner-container .list.icon-list ul li { padding: 5px; }
    
    .columns-container { flex-direction: column; }
    .columns-container .column-left { width: 100%; padding-right: 0; padding-bottom: 10px; }
    .columns-container .column-right { width: 100%; }
    .columns-container .column-right.wide { width: 100%; }
    .columns-container .column-right .cover-image { max-height: 400px; object-fit: contain; }
    
    .gallery-container .main { height: 60vw; }
    .gallery-container .slider-arrow { width: 40px; height: 40px; font-size: 16px; }
    .gallery-container .columns-container .column-right { padding-left: 5px; }
    
    .paging { margin: 5px 0 10px 0; }
    
    .cta { padding: 40px 0; }
    .cta h4 { margin-right: 20px; font-size: 24px; line-height: 36px; }
    
    .footer .main { padding: 20px 0 40px 0; }
    .footer .main .items { flex-wrap: wrap; padding-bottom: 20px; }
    .footer .main .items .item { order: 2; padding-top: 20px; padding-bottom: 20px; }
    .footer .main .items .item:last-child { order: 1; flex-basis: auto; align-items: center; width: 100%; }
    
    .agent-details .details h4 { font-size: 18px; line-height: 26px; }
}

@media (max-width: 900px) {
    .hero .search-container .items { width: 100%; margin-bottom: 10px; }
    .hero .search-container .field-item { flex-grow: 1; width: auto; padding-left: 0; }
    
    .properties-overview .item { width: 50%; }
    .properties-overview .box .image { height: 26vw; }
    
    .locations-overview .item { flex-grow: 1; width: 33.33%; }
    
    .articles-overview .item { width: 50%; }
    .articles-overview .box .image { height: 26vw; }
}

@media (max-width: 800px) {
    .services-overview .item { width: 50%; }
    
    .offices-overview .item { width: 50%; }
    
    .image-text-container { flex-direction: column; align-items: center; }
    .image-text-container .image { justify-content: center; max-width: 100%; }
    .image-text-container .text { align-items: center; padding-left: 0; padding-top: 10px; text-align: center; }
    .image-text-container .text .button { align-self: center; }
    
    .cta .content { flex-direction: column; }
    .cta h4 { margin-right: 0; margin-bottom: 10px; font-size: 20px; line-height: 30px; text-align: center; }
    
    .footer .main { padding: 20px 0; }
    .footer .main .items .item { flex-basis: auto; width: 50%; padding-top: 10px; padding-bottom: 10px; }
    .footer .main .items .item .headline { justify-content: center; text-align: center; margin-bottom: 10px; }
    .footer .main .items .item .list { justify-content: center; }
    .footer .main .items .item .list ul li { text-align: center; }
    .footer .main .text { flex-direction: column; }
    .footer .main .text .disclaimer { align-items: center; padding-right: 0; padding-bottom: 10px; text-align: center; }
    .footer .bottom-bar { padding: 10px 0; }
    .footer .bottom-bar .content { flex-direction: column; }
    .footer .bottom-bar .item { justify-content: center; text-align: center; }
    .footer .bottom-bar .item:first-child { padding-top: 5px; }
    .footer .bottom-bar .item:last-child { padding-left: 0; padding-top: 10px; }
    .footer .bottom-bar .item ul { flex-shrink: 1; justify-content: center; }
    .footer .bottom-bar .item ul li,
    .footer .bottom-bar .item ul li:first-child,
    .footer .bottom-bar .item ul li:last-child { padding: 5px 10px; }
}

@media (max-width: 700px) {
    .hero .text h1 { font-size: 28px; line-height: 36px; }
    
    .hero .search-container .items { flex-wrap: wrap; }
    .hero .search-container .items .item { flex-grow: 1; width: 50%; }
    .hero .search-container .items .item:nth-child(even):after { display: none; }
    .hero .search-container .items .item:before { content: ""; position: absolute; z-index: 1002; bottom: -1px; left: 10px; width: calc(100% - 20px); height: 2px; background: var(--s-50); }
    .hero .search-container .items .item:nth-last-child(1):before,
    .hero .search-container .items .item:nth-last-child(2):before { display: none; }
    .hero .search-container .advanced-filters .item { width: 50%; }
}

@media (max-width: 600px) {
    .page-head .content { flex-direction: column; align-items: center; }
    .page-head .item { align-items: center; }
    .page-head .item:first-child { padding-right: 0; padding-bottom: 10px; }
    .page-head .item:last-child { padding-left: 0; align-items: center; }
    .page-head .link { text-align: center; }
    .page-head h1 { text-align: center; }
    .page-head ul { justify-content: center; text-align: center; }
    .page-head ul li,
    .page-head ul li:last-child { margin-right: 0; padding-right: 10px; padding-left: 10px; }
    
    .properties-overview .item { width: 100%; }
    .properties-overview .box .image { height: 51vw; }
    
    .articles-overview .item { width: 100%; }
    .articles-overview .box .image { height: 51vw; }
    
    .pages-overview .item { width: 100%; }
    .pages-overview .box .image { height: 43vw; }
    
    .offices-overview .item { width: 100%; }
    
    .form-container .form-item { width: 100%; }
    .form-container .form-item .button { width: 100%; }
}

@media (max-width: 500px) {
    .page .title { flex-direction: column; align-items: center; }
    .page .title .item:first-child:not(:last-child) { padding-right: 0; padding-bottom: 5px; }
    .page .title .item:last-child:not(:first-child) { padding-left: 0; }
    .page .title h1,
    .page .title h2 { text-align: center; }
    
    .locations-overview .item { width: 50%; }
    
    .footer .main .items .item { width: 100%; }
}

@media (max-width: 400px) {
    .services-overview .item { width: 100%; }
}

@media (max-width: 370px) {
    .hero .search-container .inner { flex-direction: column; }
    .hero .search-container .items .item { width: 100%; }
    .hero .search-container .items .item:after { display: none; }
    .hero .search-container .field-item { width: 100%; padding-right: 0; padding-bottom: 10px; }
    .hero .search-container .button-item .button { width: 100%; }
    .hero .search-container .advanced-filters .item { width: 100%; }
    
    .locations-overview .item { width: 100%; }
}

@media (max-width: 320px) {
    .hero .search-container .split-items { flex-direction: column; }
    .hero .search-container .split-items .split-item { width: 100%; }
    .hero .search-container .split-items .split-item:first-child { padding-right: 0; padding-bottom: 5px; }
    .hero .search-container .split-items .split-item:last-child { padding-left: 0; padding-top: 5px; }
    
    .page.filters .items .item .split-items { flex-direction: column; }
    .page.filters .items .item .split-items .split-item { width: 100%; }
    .page.filters .items .item .split-items.slim .split-item:first-child,
    .page.filters .items .item .split-items:not(.slim) .split-item:first-child { padding-right: 0; padding-bottom: 2.5px; }
    .page.filters .items .item .split-items.slim .split-item:last-child,
    .page.filters .items .item .split-items:not(.slim) .split-item:last-child { padding-left: 0; padding-top: 2.5px; }
}