html { min-width: 1180px; height: 100%; }
body {
	width: 100%;
	height: 100%;
	background: var(--s-25);
	color: var(--s-500);
	font-size: 15px;
	font-weight: 400;
	font-family: 'apercu-pro', sans-serif;
	overflow-y: scroll;
    scrollbar-color: var(--s-100) var(--s-300);
}
body.scroll-lock { overflow: hidden; }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar:horizontal { height: 8px; }
::-webkit-scrollbar-track { -webkit-box-shadow: 0; border-radius: 0; background: var(--s-100); }
::-webkit-scrollbar-thumb { -webkit-box-shadow: 0; background: var(--s-300); }
::-webkit-scrollbar-corner { background: var(--s-100); }

* { margin: 0; padding: 0; outline: 0; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
a { color: var(--s-500); text-decoration: none; }
a img { border: 0; }
input, textarea, button { font-family: 'apercu-pro', sans-serif; }
button { user-select: none; }
select { min-height: 48px; }
select[data-theme="slim"] { min-height: 36px; }

.wrap { display: flex; flex-direction: column; justify-content: space-between; width: 100%; min-height: 100%; }
.container { flex-grow: 1; display: flex; flex-direction: column; width: 100%; }
.dynamic-content { flex-grow: 1; display: flex; flex-direction: column; width: 100%; }
.page { flex-grow: 1; display: flex; flex-direction: column; width: 100%; padding-bottom: 60px; }
.content { display: flex; box-sizing: border-box; width: 66vw; max-width: 1440px; min-width: 1180px; padding: 0 100px; }
.content.grey { padding-top: 140px; padding-bottom: 140px; background: var(--s-50); border: 1px solid var(--s-100); }
.content.grey.text-box.bottom-offset { padding-bottom: 0; }
.content.wrapped { flex-direction: column; }
.content.divider:after { content: ""; width: 100%; height: 1px; margin-bottom: 60px; background: var(--s-100); }
.content.divider.small:after { margin-bottom: 40px; }
.content .content { width: 100%; max-width: none; min-width: 0; }

.content.grey + .content.grey { padding-top: 0; border-top: 0; }
.content.grey.style-2 { padding-bottom: 40px; border-bottom: 0; }

.scroll-horizontal { display: flex; flex-direction: column; align-items: center; width: 100%; }

.site-message { display: flex; width: 100%; padding: 6px 0; background: var(--b-700); color: var(--white); font-size: 16px; line-height: 24px; }
.site-message .content { justify-content: space-between; align-items: stretch; }
.site-message .column { display: flex; flex-wrap: wrap; align-items: center; }
.site-message .column:nth-child(2) { align-items: flex-start; flex-shrink: 0; }
.site-message .column:nth-child(2) button { margin: 12px 0 0 10px; background: transparent; border: 0; color: var(--white); font-size: 20px; line-height: 24px; cursor: pointer; }
.site-message .column .text { margin: 6px 10px 6px 0; }
.site-message .column .button { margin: 6px 0; background: transparent; border-color: var(--white); }

header { flex-grow: 0; display: flex; width: 100%; height: 96px; }
header .inner { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; position: fixed; z-index: 700; top: 0; left: 0; box-sizing: border-box; width: 100%; height: 96px; padding: 24px 0; background: var(--s-25); border-bottom: 1px solid var(--s-100); }
header .content { justify-content: space-between; align-items: center; }
header .logo { display: flex; }
header .logo a { flex-shrink: 0; display: flex; flex-wrap: nowrap; align-items: center; color: var(--s-900); font-size: 32px; font-weight: 700; line-height: 48px; letter-spacing: -0.6px; }
header .logo span { color: var(--b-700); font-weight: 300; }
header .logo img { width: 48px; height: 48px; margin-right: 20px; }
header nav { display: flex; align-items: center; }
header nav ul { display: flex; align-items: center; list-style: none; text-align: center; }
header nav ul li { display: flex; position: relative; margin: 0 20px 0 20px; }
header nav ul li:first-child { margin-left: 0; }
header nav ul li:last-child { margin-right: 0; }
header nav ul li a { transition: color .2s ease-in-out; display: flex; color: var(--s-500); font-size: 17px; line-height: 24px; }
header nav ul li a:not(.button):hover { color: var(--s-900); }
header nav ul li .submenu-button { display: flex; flex-wrap: nowrap; align-items: center; background: transparent; border: 0; color: var(--s-500); font-size: 16px; line-height: 24px; cursor: pointer; }
header nav ul li .submenu-button .image { display: flex; margin-right: 12px; }
header nav ul li .submenu-button .image img { width: 36px; height: 36px; border-radius: 50%; background: var(--s-50); border: 1px solid var(--s-75); object-fit: cover; }
header nav ul li .submenu-button .name { flex-grow: 1; display: flex; margin-right: 12px; color: var(--s-900); font-weight: 700; }
header .mobile-menu { display: none; position: relative; z-index: 700; box-sizing: border-box; width: 24px; height: 18px; padding: 3px; margin-right: 8px; background: transparent; border: 0; }
header .mobile-menu .bar { transition: opacity .2s ease-in-out, transform .2s ease-in-out; position: absolute; transform-origin: 23px; left: 0; width: 100%; height: 2px; background: var(--s-900); }
header .mobile-menu .bar:nth-child(1) { top: 0; }
header .mobile-menu .bar:nth-child(2) { top: 50%; margin-top: -1px; }
header .mobile-menu .bar:nth-child(3) { bottom: 0; }
header nav.open + .mobile-menu .bar:nth-child(1) { transform: rotate(-45deg); }
header nav.open + .mobile-menu .bar:nth-child(2) { opacity: 0; }
header nav.open + .mobile-menu .bar:nth-child(3) { transform: rotate(45deg); }
header nav ul li .submenu ul { align-items: flex-start; text-align: left; }

section { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 40px 0; }
section + section.grey,
section.grey + section { margin-top: 30px; }
section.grey { background: var(--s-50-t50); }
section.extra-top { padding-top: 60px; }
section.extra-bottom { padding-bottom: 60px; }
section.head { position: relative; padding: 20px 0; background: var(--s-50); border-top: 1px solid var(--s-75); }
section.head:after { content: ""; z-index: -200; position: absolute; bottom: 0; left: 0; transform: translateY(100%); width: 100%; height: 0; border-bottom: 1px solid var(--s-75); }
section.head .link { transition: color .2s ease-in-out; background: transparent; border: 0; color: var(--s-500); font-size: 16px; font-weight: 700; line-height: 24px; cursor: pointer; }
section.head .link:hover { color: var(--s-900); }
section.head .link .icon { margin-right: 10px; }

section.head-image { position: relative; padding: 0; }
section.head-image:after { content: ""; position: absolute; z-index: 100; top: -1px; left: 0; box-sizing: border-box; width: 100%; height: 62px; background: var(--s-50); border-bottom: 1px solid var(--s-75); }
section.head-image .head-cover { position: relative; z-index: 200; width: 100%; max-height: 400px; object-fit: cover; }
section.head-image .content { position: relative; z-index: 200; }
section.head-image .title-container { position: relative; display: flex; width: 100%; background: var(--black); }
section.head-image .title-container .title-content { display: flex; flex-direction: column; position: absolute; z-index: 300; bottom: 0; left: 0; box-sizing: border-box; width: 100%; padding: 30px; }
section.head-image .title-container h1 { color: var(--white); font-size: 36px; line-height: 48px; font-weight: 700; letter-spacing: -0.6px; }
section.head-image .title-container span { color: var(--white); font-size: 15px; line-height: 22px; }

section.page-head { position: relative; padding: 25px 0 0 0; }
section.page-head:after { content: ""; position: absolute; z-index: -100; top: 0; left: 0; box-sizing: border-box; width: 100%; height: 123px; background: var(--s-50); border-top: 1px solid var(--s-75); border-bottom: 1px solid var(--s-75); }

section.page-hero { position: relative; min-height: 420px; padding: 0; }
section.page-hero:after { content: ""; position: absolute; z-index: 100; top: -1px; left: 0; box-sizing: border-box; width: 100%; height: 62px; background: var(--s-50); border-bottom: 1px solid var(--s-75); }
section.page-hero .content { flex-grow: 1; flex-direction: column; justify-content: center; position: relative; z-index: 200; padding-top: 60px; padding-bottom: 60px; background: var(--black); }
section.page-hero .bg { position: absolute; z-index: 200; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
section.page-hero .headline { display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 250; width: 100%; margin-bottom: 40px; text-align: center; }
section.page-hero .headline h1 { color: var(--white); font-size: 36px; font-weight: 700; line-height: 48px; letter-spacing: -0.6px; }
section.page-hero form { display: flex; position: relative; z-index: 250; box-sizing: border-box; width: 100%; padding: 0 100px; }

section.page-hero + section { padding-top: 10px; }

section.head + section.page-head { padding-top: 0; }
section.head + section.page-head:after { top: -1px; height: 70px; border-top: 0; }

section .title { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; margin-bottom: 10px; }
section .title.centered { flex-direction: column; align-items: center; text-align: center; }
section .title .left { display: flex; flex-wrap: nowrap; align-items: center; padding-right: 20px; }
section .title .left:last-child { padding-right: 0; }
section .title .left .icon { margin-right: 12px; color: var(--violet-400); font-size: 24px; }
section .title .right { flex-shrink: 0; }
section .title h1 { color: var(--s-900); font-size: 36px; font-weight: 700; line-height: 48px; letter-spacing: -0.6px; }
section .title h1.small { font-size: 24px; line-height: 36px; }
section .title h1.medium { font-size: 30px; line-height: 40px; }
section .title h2 { color: var(--s-900); font-size: 30px; font-weight: 700; line-height: 36px; letter-spacing: -0.6px; }
section .title h2.large { font-size: 30px; line-height: 40px; }
section .title h3 { color: var(--s-900); font-size: 24px; font-weight: 700; line-height: 30px; letter-spacing: -0.6px; }
section .title h3 a { color: var(--s-900); }
section .title h3 a:hover { text-decoration: underline; }
section .title .link { transition: color .2s ease-in-out; color: var(--b-700); font-size: 17px; font-weight: 700; line-height: 24px; }
section .title .link:hover { color: var(--b-800); }
.content.grey .title { margin-top: 10px; }

.title-text { display: flex; flex-wrap: nowrap; width: 100%; margin-bottom: 10px; color: var(--s-900); font-size: 16px; font-weight: 700; line-height: 24px; letter-spacing: -0.6px; }
.title-text img { margin-bottom: 20px; background: var(--s-900); }

.breadcrumbs:not(:last-child) { margin-bottom: 10px; }
.breadcrumbs ul { display: flex; flex-wrap: wrap; list-style: none; }
.breadcrumbs ul li { display: flex; align-items: center; margin-right: 10px; color: var(--s-400); font-size: 15px; line-height: 20px; }
.breadcrumbs ul li:last-child { margin-right: 0; }
.breadcrumbs ul li.sep { font-size: 10px; }
.breadcrumbs ul li a { transition: color .2s ease-in-out; color: var(--s-400); }
.breadcrumbs ul li:last-child,
.breadcrumbs ul li:last-child a { color: var(--s-500); }
.breadcrumbs ul li a:hover { color: var(--s-900); }

.hero { position: relative; padding: 0 0 30px 0; }
.hero .content { flex-grow: 1; flex-direction: column; position: relative; }
.hero .bg { position: absolute; z-index: -100; top: 0; left: 0; width: 100%; height: 100%; max-height: 600px; background: var(--black); }
.hero .bg img { opacity: 0.9; width: 100%; height: 100%; object-fit: cover; }
.hero .bg.solid img { opacity: 1; }
.hero .headline { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; min-height: 445px; }
.hero .headline h1 { display: flex; flex-direction: column; align-items: flex-start; }
.hero .headline h1,
.hero .headline span { color: var(--white); font-size: 72px; line-height: 50px; font-weight: 700; letter-spacing: -2.88px; }
.hero .headline span { padding: 20px; background: var(--black); }
.hero .headline span:not(:last-child) { z-index: 1; margin-bottom: -10px; }

.property-search { flex-grow: 0; display: flex; flex-direction: column; position: relative; z-index: 200; width: 100%; }
.property-search .tabs { display: flex; position: relative; z-index: 100; width: 100%; }
.property-search .tabs ul { display: flex; flex-wrap: nowrap; align-items: stretch; list-style: none; }
.property-search .tabs ul li { display: flex; margin: 0 2px; border-top: 4px solid transparent; }
.property-search .tabs ul li.active { border-top-color: var(--b-700); }
.property-search .tabs ul li:first-child { margin-left: 0; }
.property-search .tabs ul li:last-child { margin-right: 0; }
.property-search .tabs ul li a { transition: color .2s ease-in-out; display: flex; box-sizing: border-box; padding: 12px 20px; background: var(--s-100); border: 1px solid var(--s-100); border-bottom: 0; color: var(--s-500); font-size: 17px; font-weight: 500; line-height: 24px; text-align: center; }
.property-search .tabs ul li a:hover { color: var(--s-900); }
.property-search .tabs ul li.active a { background: var(--s-25); color: var(--s-900); }
.property-search .inner { display: flex; flex-direction: column; position: relative; box-sizing: border-box; width: 100%; padding: 15px; background: var(--s-25); border: 1px solid var(--s-100); border-top: 0; }
.property-search .inner:before { content: ""; position: absolute; z-index: -50; top: 0; left: 0; transform: translateY(-100%); width: 100%; height: 0; border-top: 1px solid var(--s-100); }
.property-search .inner .options { margin-bottom: 10px; }
.property-search .inner .options:empty { margin-bottom: 0; }
.property-search .inner .row { display: flex; flex-wrap: nowrap; width: 100%; padding: 5px 0; }
.property-search .inner .row .item { flex-grow: 0; box-sizing: border-box; padding: 0 5px; }
.property-search .inner .row .item:first-child { flex-grow: 1; }
.property-search .inner .selections { display: none; min-height: 38px; margin-top: 10px; }

.selections { display: flex; flex-wrap: wrap; width: 100%; list-style: none; }
.selections li { justify-content: space-between; flex-shrink: 0; display: flex; flex-wrap: nowrap; align-items: center; margin: 5px; padding: 6px 10px; background: var(--s-400); font-size: 13px; white-space: nowrap; user-select: none; }
.selections li .value { position: relative; margin-right: 10px; color: var(--s-25); }
.selections li .value:last-child { margin-right: 0; }
.selections li .value:after { transition: width .2s ease-in; content: ""; position: absolute; top: 50%; left: 0; width: 0; height: 1px; background: var(--white); }
.selections li.delete .value:after { width: 100%; }
.selections li .value strong { margin-right: 5px; font-weight: 500; }
.selections li .remove { transition: color .2s ease-in-out; flex-shrink: 0; display: flex; color: var(--s-200); cursor: pointer; }
.selections li .remove:hover { color: var(--s-25); }

.properties-overview { display: flex; }
.properties-overview .item { display: flex; flex-direction: column; box-sizing: border-box; }
.properties-overview .box { transition: border-color .2s ease-in-out; display: flex; flex-wrap: nowrap; position: relative; box-sizing: border-box; width: 100%; height: 100%; padding: 5px; border: 1px solid var(--s-100); }
.properties-overview .box:hover { border-color: var(--s-400); }
.properties-overview .item:hover .note { border-bottom-color: var(--s-400); border-left-color: var(--s-400); border-right-color: var(--s-400); }
.properties-overview .box a.whole { position: absolute; z-index: 100; top: 0; left: 0; width: 100%; height: 100%; }
.properties-overview .box .image { display: flex; flex-direction: column; }
.properties-overview .box .image img { flex-grow: 1; width: 100%; height: 0; object-fit: cover; background: var(--s-500); }
.properties-overview .box .image .thumbs { display: flex; width: 100%; height: 34%; }
.properties-overview .box .image .thumbs .thumb { display: flex; box-sizing: border-box; width: 50%; padding-top: 4px; }
.properties-overview .box .image .thumbs .thumb:first-child { padding-right: 2px; }
.properties-overview .box .image .thumbs .thumb:last-child { padding-left: 2px; }
.properties-overview .box .image .thumbs .thumb img { height: 100%; }
.properties-overview .box .details { flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; box-sizing: border-box; width: 100%; color: var(--s-500); font-size: 14px; line-height: 22px; }
.properties-overview .box .details .type { font-weight: 500; }
.properties-overview .box .details .price { display: flex; flex-wrap: wrap; align-items: baseline; color: var(--s-900); font-size: 22px; font-weight: 700; line-height: 30px; }
.properties-overview .box .details .price span { margin-left: 5px; font-size: 13px; font-weight: 500; line-height: 22px; }
.properties-overview .box .details .price .original-price { color: var(--red-600); text-decoration: line-through; }
.properties-overview .box .details ul.specs { display: flex; flex-wrap: wrap; list-style: none; }
.properties-overview .box .details ul.specs li { display: flex; align-items: center; color: var(--s-900); }
.properties-overview .box .details ul.specs li:after { content: ""; width: 1px; height: 16px; margin: 0 8px; background: var(--s-100); }
.properties-overview .box .details ul.specs li:last-child:after { content: ""; width: 0; height: 0; margin: 0; background: transparent; }
.properties-overview .box .details ul.specs li sup { align-self: flex-start; font-size: 8px; line-height: 18px; }
.properties-overview .box .details .location { margin-top: 2px; }
.properties-overview .box .details .text-container { max-height: 110px; overflow: hidden; }
.properties-overview .box .details .text-container p { column-count: 1; word-break: break-word; }
.properties-overview .box .details .section { display: flex; flex-direction: column; width: 100%; }
.properties-overview .box .details .section .row { display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; }
.properties-overview .box .details .section .left { display: flex; flex-direction: column; }
.properties-overview .box .details .section .right { flex-shrink: 0; display: flex; flex-direction: column; padding-left: 15px; }
.properties-overview .box .details .section .right .property-tag { margin: 0; }
.properties-overview .box .details .bottom { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-end; width: 100%; padding-top: 12px; }
.properties-overview .box .details .bottom .left-side { display: flex; flex-wrap: nowrap; align-items: center; padding-right: 15px; color: var(--s-900); font-size: 12px; line-height: 19px; }
.properties-overview .box .details .bottom .left-side .logo { display: flex; margin-right: 8px; padding-right: 8px; border-right: 1px solid var(--s-100); }
.properties-overview .box .details .bottom .left-side .logo span { display: flex; justify-content: center; align-items: center; box-sizing: border-box; min-width: 80px; max-width: 100px; height: 40px; padding: 10px 12px; background: var(--client-b-50); border: 1px solid var(--s-75); }
.properties-overview .box .details .bottom .left-side .logo img { width: 100%; height: 100%; object-fit: contain; }
.properties-overview .box .details .bottom .left-side .name { display: flex; flex-direction: column; color: var(--s-900); }
.properties-overview .box .details .bottom .left-side .name .text { color: var(--s-500); }
.properties-overview .box .details .bottom .right-side { flex-shrink: 0; }
.properties-overview .box .details .bottom .right-side .favorite { position: relative; z-index: 150; }

.properties-overview:not(.grid) { flex-direction: column; }
.properties-overview:not(.grid) .item { width: 100%; margin: 5px 0; }
.properties-overview:not(.grid) .item:hover .box { border-color: var(--s-400); }
.properties-overview:not(.grid) .item:hover .box:not(:last-child) { border-bottom-color: var(--s-100); }
.properties-overview:not(.grid) .box { align-items: stretch; }
.properties-overview:not(.grid) .box .image { flex-shrink: 0; width: 340px; min-height: 160px; }
.properties-overview:not(.grid) .box .details { padding: 5px 5px 5px 15px; }

.properties-overview:not(.grid) .item.plus .box .image { min-height: 204px; }
.properties-overview:not(.grid) .item.premium .box .image { min-height: 308px; }

.properties-overview.grid { flex-wrap: wrap; align-items: stretch; padding: 0 90px; }
.properties-overview.grid .item { width: 25%; padding: 10px; }
.properties-overview.grid .box { flex-direction: column; }
.properties-overview.grid .box .image { position: relative; flex-grow: 0; width: 100%; height: 160px; }
.properties-overview.grid .box .image .number { position: absolute; top: 10px; left: 10px; display: flex; justify-content: center; align-items: center; width: 30px; height: 30px; background: var(--black); color: var(--white); font-size: 16px; font-weight: 500; text-align: center; }
.properties-overview.grid .box .details { padding: 10px; }

.model.properties-overview .box .details .type { width: 60px; height: 10px; margin-bottom: 6px; background: var(--s-50); }
.model.properties-overview .box .details .price { width: 100px; height: 20px; margin-bottom: 6px; background: var(--s-200); }
.model.properties-overview .box .details ul.specs { width: 180px; height: 10px; margin-bottom: 4px; background: var(--s-200); }
.model.properties-overview .box .details .location { width: 140px; height: 10px; background: var(--s-50); }
.model.properties-overview .box .details .section { flex-grow: 1; }
.model.properties-overview .box .details .text-container { flex-grow: 1; max-height: none; background: var(--s-50); }
.model.properties-overview .box .details .bottom .left-side .logo { width: 60px; height: 40px; padding-right: 0; background: var(--s-200); border-right: 0; }
.model.properties-overview .box .details .bottom .left-side .name { width: 110px; height: 40px; background: var(--s-50); }
.model.properties-overview .box .details .bottom .right-side { width: 40px; height: 40px; background: var(--s-50); }

.properties-overview .note { transition: border-color .2s ease-in-out; display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 20px; background: var(--s-50); border: 1px solid var(--s-100); border-top: 0; }
.properties-overview .note .headline { display: flex; flex-wrap: nowrap; justify-content: space-between; }
.properties-overview .note .headline .left { display: flex; color: var(--s-900); font-size: 16px; line-height: 20px; font-weight: 700; }
.properties-overview .note .headline .right { flex-shrink: 0; display: flex; justify-content: flex-end; }
.properties-overview .note .headline .right .link-button { margin-left: 20px; }
.properties-overview .note .text-container { margin-bottom: 0; }

.image-boxes { flex-wrap: wrap; align-items: stretch; padding: 0 90px; }
.image-boxes .item { flex-grow: 1; display: flex; box-sizing: border-box; width: 33.33%; padding: 10px; }
.image-boxes.style-1 .item:nth-child(1),
.image-boxes.style-1 .item:nth-child(2) { width: 50%; }
.image-boxes .box { display: flex; flex-direction: column; justify-content: flex-end; position: relative; width: 100%; height: 100%; min-height: 360px; background: var(--black); }
.image-boxes .box a.whole { position: absolute; z-index: 200; top: 0; left: 0; width: 100%; height: 100%; }
.image-boxes .box .bg { transition: opacity .2s ease-in-out; opacity: 0.9; position: absolute; z-index: 100; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.image-boxes .box:hover .bg { opacity: 1; }
.image-boxes .box .details { display: flex; flex-direction: column; justify-content: flex-end; position: relative; z-index: 150; box-sizing: border-box; width: 100%; height: 50%; padding: 30px; background: linear-gradient(0deg, var(--s-900-t20) 0%, rgba(255,255,255,0) 100%); color: var(--white); }
.image-boxes .box .details h3 { font-size: 24px; font-weight: 700; line-height: 36px; letter-spacing: -0.6px; }
.image-boxes .box .details span { font-size: 15px; line-height: 22px; }

.image-box { display: flex; flex-direction: column; justify-content: flex-end; gap: 20px; position: relative; z-index: 10; box-sizing: border-box; width: 100%; min-height: 600px; padding: 40px; background: var(--s-900); }
.image-box:after { content: ""; position: absolute; z-index: -1; bottom: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(50% 100% at 0% 100%, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%); }
.image-box .bg { position: absolute; z-index: -2; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.image-box .headline { display: flex; flex-direction: column; width: 100%; }
.image-box .headline h2 { color: var(--white); font-size: 40px; font-weight: 700; line-height: 48px; letter-spacing: -0.8px; }
.image-box .buttons { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; }

.icon-boxes { flex-wrap: wrap; align-items: stretch; padding: 0 90px; }
.icon-boxes .item { display: flex; box-sizing: border-box; width: 25%; padding: 10px; }
.icon-boxes .box { transition: border-color .2s ease-in-out; display: flex; flex-direction: column; justify-content: space-between; position: relative; box-sizing: border-box; width: 100%; height: 100%; padding: 24px 30px; border: 1px solid var(--s-100); }
.icon-boxes .box:hover { border-color: var(--s-400); }
.icon-boxes .box a.whole { position: absolute; z-index: 200; top: 0; left: 0; width: 100%; height: 100%; }
.icon-boxes .box .icon { display: flex; align-items: center; height: 48px; margin-bottom: 10px; color: var(--s-500); font-size: 30px; }
.icon-boxes .box .headline { display: flex; }
.icon-boxes .box .headline h3 { color: var(--s-900); font-size: 16px; font-weight: 700; line-height: 24px; letter-spacing: -0.6px; }

.info-boxes { flex-wrap: wrap; align-items: stretch; padding: 0 90px; }
.info-boxes:not(:first-child) { padding-top: 10px; }
.info-boxes .item { display: flex; box-sizing: border-box; width: 50%; padding: 10px; }
.info-boxes .item.width-full { width: 100%; }
.info-boxes .box { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; height: 100%; padding: 40px; background: var(--s-25); border: 1px solid var(--s-100); }
.info-boxes .box h2,
.info-boxes .box h4 { margin-bottom: 14px; color: var(--s-900); font-size: 24px; font-weight: 700; line-height: 36px; letter-spacing: -0.6px; }
.info-boxes .box p { margin-bottom: 20px; color: var(--s-500); font-size: 16px; line-height: 26px; }
.info-boxes .box p:last-child { margin-bottom: 0; }
.info-boxes .box a:not(.button) { align-self: flex-start; transition: color .2s ease-in-out; color: var(--b-700); font-size: 16px; font-weight: 700; line-height: 24px; }
.info-boxes .box a:not(.button):hover { color: var(--b-800); }
.info-boxes .box p a { font-size: 15px; font-weight: 400; line-height: 20px; }
.info-boxes .box .button { margin-top: 14px; }
.info-boxes .box .box-icon { display: flex; margin-bottom: 30px; color: var(--b-800); font-size: 40px; }
.info-boxes .box .box-icon.red { color: var(--red-700); }

.info-boxes.platforms .item { width: 33.33%; }
.info-boxes.platforms .box a { transition: color .2s ease-in-out; font-size: 15px; }
.info-boxes.platforms .box h4:after { content: ".cy"; font-weight: 400; }
.info-boxes.platforms .item:nth-child(1) .box h4:after { color: var(--home-700); }
.info-boxes.platforms .item:nth-child(2) .box h4:after { color: var(--land-700); }
.info-boxes.platforms .item:nth-child(3) .box h4:after { color: var(--commercial-700); }
.info-boxes.platforms .item:nth-child(1) .box a { color: var(--home-700); }
.info-boxes.platforms .item:nth-child(1) .box a:hover { color: var(--home-800); }
.info-boxes.platforms .item:nth-child(2) .box a { color: var(--land-700); }
.info-boxes.platforms .item:nth-child(2) .box a:hover { color: var(--land-800); }
.info-boxes.platforms .item:nth-child(3) .box a { color: var(--commercial-700); }
.info-boxes.platforms .item:nth-child(3) .box a:hover { color: var(--commercial-800); }

.info-columns { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 120px; width: 100%; padding: 50px 0; }
.info-columns .column-title { flex-shrink: 0; display: flex; flex-direction: column; width: 380px; }
.info-columns .column-title h2 { color: var(--s-900); font-size: 40px; font-weight: 700; line-height: 48px; letter-spacing: -1.6px; }
.info-columns .column-item { flex-grow: 1; display: flex; flex-direction: column; width: 0; max-width: 100%; }
.info-columns .column-item .text-container { margin: 0; }

.articles-overview { flex-wrap: wrap; align-items: stretch; padding: 0 90px; }
.articles-overview .item { display: flex; box-sizing: border-box; width: 33.33%; padding: 10px; }
.articles-overview .box { transition: border-color .2s ease-in-out; display: flex; flex-direction: column; position: relative; box-sizing: border-box; width: 100%; height: 100%; padding: 5px; border: 1px solid var(--s-100); }
.articles-overview .box:hover { border-color: var(--s-400); }
.articles-overview .box a.whole { position: absolute; z-index: 100; top: 0; left: 0; width: 100%; height: 100%; }
.articles-overview .box .image { flex-grow: 0; display: flex; width: 100%; height: 200px; background: var(--s-500); }
.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: 10px; color: var(--s-500); font-size: 15px; line-height: 22px; }
.articles-overview .box .details .date { margin-bottom: 6px; color: var(--s-500); font-size: 15px; line-height: 22px; }
.articles-overview .box .details .headline h4 { color: var(--s-900); font-size: 18px; font-weight: 700; line-height: 26px; }

.presets-overview { display: flex; flex-direction: column; width: 100%; margin-top: 5px; }
.presets-overview .item { display: flex; padding: 5px 0; }
.presets-overview .box { transition: border-color .2s ease-in-out; display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; box-sizing: border-box; width: 100%; padding: 10px; border: 1px solid var(--s-100); }
.presets-overview .box:hover { border-color: var(--s-400); }
.presets-overview .box .details { flex-grow: 1; display: flex; flex-direction: column; }
.presets-overview .box .details .name { padding: 5px 5px 0 5px; color: var(--s-900); font-size: 16px; font-weight: 700; line-height: 24px; }
.presets-overview .box .details .specs { display: flex; flex-wrap: wrap; width: 100%; list-style: none; }
.presets-overview .box .details .specs li { display: flex; flex-wrap: nowrap; align-items: center; padding: 5px; color: var(--s-900); font-size: 15px; line-height: 20px; }
.presets-overview .box .details .specs li:first-child { color: var(--b-700); font-weight: 700; }
.presets-overview .box .details .specs li:after { content: ""; box-sizing: border-box; width: 1px; height: 16px; margin-left: 8px; border-right: 1px solid var(--s-100); }
.presets-overview .box .details .specs li:last-child:after { display: none; }
.presets-overview .box .details .text { padding: 5px; color: var(--s-400); font-size: 15px; line-height: 20px; }
.presets-overview .box .actions { flex-grow: 0; flex-shrink: 0; display: flex; padding: 5px 10px 5px 15px; }

.text-container { display: flex; flex-direction: column; margin: 10px 0; color: var(--s-600); font-size: 16px; line-height: 26px; word-wrap: break-word; }
.text-container.margin-bottom { margin: 0 0 30px 0; }
.text-container.centered { justify-content: center; text-align: center; }
.text-container .underline { text-decoration: underline; }
.text-container h2 { margin: 20px 0; color: var(--s-900); font-size: 24px; font-weight: 700; line-height: 36px; }
.text-container h2:first-child { margin-top: 0; }
.text-container h2:last-child { margin-bottom: 0; }
.text-container h3 { margin-bottom: 5px; color: var(--s-900); font-size: 20px; font-weight: 700; line-height: 30px; }
.text-container p { margin-bottom: 10px; }
.text-container p:last-child { margin-bottom: 0; }
.text-container p.disclaimer { font-size: 14px; line-height: 20px; }
.text-container img { max-width: 100%; }
.text-container .link-button,
.text-container .button { margin-top: 20px; }
.text-container ul { display: flex; flex-direction: column; width: 100%; list-style: none; }
.text-container ul li { display: flex; flex-wrap: nowrap; margin: 5px 0; color: var(--s-500); font-size: 15px; line-height: 22px; letter-spacing: -0.3px; }
.text-container ul li .icon { flex-shrink: 0; margin-right: 10px; color: var(--b-700); font-size: 20px; }
.text-container ul.horizontal { flex-direction: row; }
.text-container ul.horizontal li:after { content: "•"; margin: 0 10px; }
.text-container ul.horizontal li:last-child:after { content: ""; margin: 0; }
.text-container ul.disclaimer { flex-direction: row; }
.text-container ul.disclaimer li { display: inline-block; margin: 0 20px; font-size: 13px; }
.text-container ul.disclaimer li:first-child { margin-left: 0; }
.text-container ul.disclaimer li:last-child { margin-right: 0; }
.text-container ul.disclaimer li span { font-weight: 500; }
.text-container ul li a,
.text-container p a { transition: color .2s ease-in-out; color: var(--b-700); }
.text-container ul li a:hover,
.text-container p a:hover { color: var(--b-800); }
.text-container .collapsed { position: relative; max-height: 110px; overflow: hidden; }
.text-container .collapsed:after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 30px; background: linear-gradient(180deg, rgba(255,255,255,0) 0%, var(--s-25) 100%); }
.text-container .text-preview { margin-bottom: 10px; }
.text-container .text-preview ul { margin: 0 0 10px 20px; list-style: disc; }
.text-container .text-preview ul:last-child { margin-bottom: 0; }
.text-container .text-preview ul li { display: list-item; margin: 2px 0; }
.text-container .text-preview ul li::marker { color: var(--s-300); }
.text-container .icon-item { display: flex; flex-wrap: nowrap; align-items: flex-start; width: 100%; }
.text-container .icon-item .icon { flex-shrink: 0; display: flex; align-items: center; min-height: 22px; margin-right: 8px; }
.text-container .icon-item .icon.green { color: var(--green-700); }
.text-container table.table-simple tr td { padding: 4px; }
.text-container table.table-simple tr td strong { color: var(--s-900); font-weight: 500; }

.properties .text-container { margin-top: 0; }
.properties .text-container .collapsed { max-height: 65px; }

.text-container .heading { margin-bottom: 5px; }
.text-container ol.legal,
.text-container ol.legal li ol { counter-reset: item; list-style: none; }
.text-container ol.legal li { margin: 15px 0; font-weight: 700; color: var(--s-900); font-size: 20px; line-height: 30px; }
.text-container ol.legal li p { color: var(--s-500); font-size: 15px; font-weight: 400; line-height: 22px; }
.text-container ol.legal li ol li { margin: 5px 0; }
.text-container ol.legal li ol li,
.text-container ol.legal li ul li { display: flex; color: var(--s-500); font-size: 15px; font-weight: 400; line-height: 22px; }
.text-container ol.legal li:before { margin-right: 10px; content: counters(item, ".") "."; counter-increment: item; }
.text-container ol.legal li ol li:before { content: counters(item, "."); }
.text-container ol.legal li ul { list-style: none; }
.text-container ol.legal li ul li:before { margin-right: 10px; content: "-"; }

.form-container { display: flex; flex-wrap: wrap; box-sizing: border-box; width: 100%; margin: 10px 0; padding: 15px; background: var(--s-25); border: 1px solid var(--s-100); }
.form-container .item { display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; width: 50%; padding: 5px; }
.form-container .item.width-full { width: 100%; }
.form-container .item.push-down { padding-top: 15px; }
.form-container .item.divider:after { content: ""; width: 100%; height: 1px; background: var(--s-50); }
.form-container .item.split { flex-wrap: nowrap; flex-direction: row; align-items: stretch; }
.form-container .item .split-items { display: flex; flex-wrap: nowrap; width: 100%; }
.form-container .item .split-item { display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box; width: 50%; }
.form-container .item .split-item:first-child { padding-right: 5px; }
.form-container .item .split-item:last-child { padding-left: 5px; }
.form-container .item .title { margin-bottom: 0; }
.form-container .item .item-heading { margin-bottom: 4px; color: var(--s-900); font-size: 15px; font-weight: 700; line-height: 20px; }
.form-container .item .item-heading.required:after { content: " *"; color: var(--red-700); }
.form-container .item .item-heading.regular { font-weight: 400; }
.form-container .item .item-heading span { font-weight: 400; }
.form-container .item .item-heading sup { font-size: 8px; vertical-align: top; line-height: 16px; }
.form-container .item .link { align-self: flex-start; margin-top: 4px; background: transparent; border: 0; color: var(--b-700); font-size: 15px; cursor: pointer; }
.form-container .item .options .option { padding: 0 10px 10px 0; }
.form-container .item .map { display: flex; width: 100%; height: 220px; background: var(--s-100); }
.form-container .row { display: flex; flex-wrap: nowrap; width: 100%; }
.form-container .row .item { flex-grow: 1; flex-basis: 0; width: auto; }
.form-container .row .item.auto { flex-grow: 0; flex-shrink: 0; flex-basis: auto; }
.form-container .form-split { display: flex; flex-wrap: nowrap; align-items: flex-start; width: 100%; padding-top: 10px; }
.form-container .form-split .column { display: flex; flex-wrap: wrap; box-sizing: border-box; width: 50%; }
.form-container .form-split .column:first-child { padding-right: 5px; }
.form-container .form-split .column:last-child { padding-left: 5px; }
.form-container .button-container { display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; margin-top: 10px; padding-top: 20px; border-top: 1px solid var(--s-50); }
.form-container .button-container .column:first-child { padding-right: 10px; }
.form-container .button-container .column:last-child { padding-left: 10px; }
.form-container .form-section { display: flex; flex-wrap: wrap; width: 100%; padding: 10px 0; }

.content.form-container { width: 66vw; margin: 0; padding: 0 95px; border: 0; }
section.page-head .form-container { margin-top: 0; }

.form-container-2 { display: flex; flex-direction: column; width: 100%; }
.form-container-2 .form-item { display: flex; box-sizing: border-box; width: 100%; padding: 5px; }
.form-container-2 .form-item.split { flex-wrap: nowrap; justify-content: space-between; align-items: center; }
.form-container-2 .form-item .split-item:first-child { padding-right: 10px; color: var(--s-500); font-size: 15px; line-height: 24px; }
.form-container-2 .form-item .split-item:last-child { flex-shrink: 0; padding-left: 10px; }

.button-container-2 { display: flex; flex-wrap: wrap; width: 100%; margin-top: 20px; padding-top: 10px; border-top: 1px solid var(--s-50); }
.button-container-2 .button { margin: 10px 10px 0 0; }

.cta-item { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; position: relative; box-sizing: border-box; width: 100%; padding: 30px; background: var(--b-700); }
.cta-item .text { display: flex; flex-direction: column; position: relative; z-index: 100; padding-right: 30px; }
.cta-item .text h4 { color: var(--white); font-size: 24px; font-weight: 700; line-height: 36px; letter-spacing: -0.6px; }
.cta-item .text p { margin-top: 2px; color: var(--white); font-size: 15px; line-height: 22px; letter-spacing: -0.3px; }
.cta-item .button { align-self: center; position: relative; z-index: 100; }
.cta-item .bg { position: absolute; z-index: 50; top: 0; right: 0; height: 100%; }

.image-upload-container { display: flex; flex-wrap: nowrap; align-items: center; width: 100%; }
.image-upload-container input[type=file] { display: none; }
.image-upload-container .image { flex-shrink: 0; display: flex; padding-right: 20px; }
.image-upload-container .image img { width: 72px; height: 72px; background: var(--s-100); border-radius: 50%; object-fit: cover; }
.image-upload-container .buttons { display: flex; flex-wrap: wrap; }
.image-upload-container .buttons .button { margin: 5px 10px 5px 0; }

.table-container { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; border: 1px solid var(--s-100); }
.table-container .table-headline { display: flex; flex-wrap: nowrap; justify-content: space-between; box-sizing: border-box; width: 100%; padding: 18px 20px; }
.table-container .table-headline .left { display: flex; flex-wrap: nowrap; align-items: center; }
.table-container .table-headline .left .icon { flex-shrink: 0; display: flex; align-items: center; margin-right: 10px; color: var(--s-400); font-size: 20px; }
.table-container .table-headline .left h3 { color: var(--s-900); font-size: 16px; font-weight: 700; line-height: 24px; }
.table-container .table-headline .right { display: flex; justify-content: flex-end; align-items: center; }
.table-container .table-headline .right ul { display: flex; flex-wrap: wrap; justify-content: flex-end; list-style: none; }
.table-container .table-headline .right ul li { display: flex; flex-wrap: nowrap; align-items: center; margin-left: 20px; }
.table-container .table-headline .right ul li .status-icon { margin-right: 6px; }
.table-container .table { display: flex; width: 100%; overflow-x: auto; }
.table-container .table table tr thead { background: var(--s-25); }
.table-container .table table tr thead.sticky { position: sticky; z-index: 100; top: 0; }
.table-container .table table tr th { padding: 14px 10px; background: var(--s-50-t50); border-top: 1px solid var(--s-100); border-bottom: 1px solid var(--s-100); color: var(--s-500); font-size: 15px; font-weight: 400; line-height: 20px; white-space: nowrap; }
.table-container .table table tr th:first-child { padding-left: 20px; }
.table-container .table table tr th:last-child { padding-right: 20px; }
.table-container .table table tr td { position: relative; padding: 14px 10px; background: var(--s-25); color: var(--s-500); font-size: 15px; line-height: 22px; white-space: nowrap; }
.table-container .table table tr td:first-child { padding-left: 0; border-left: 20px solid var(--s-25); }
.table-container .table table tr td:last-child { padding-right: 0; border-right: 20px solid var(--s-25); }
.table-container .table table tr td:after { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: var(--s-50); }
.table-container .table table tr td .input,
.table-container .table table tr td .choices { min-width: 100px; }
.table-container .table-button { display: flex; box-sizing: border-box; width: 100%; padding: 10px 20px 20px 20px; }

.project-admin .table-headline .left { width: 240px; }
.project-admin .table { overflow-x: visible; }

.check-list { display: flex; flex-wrap: nowrap; margin: 10px 0; }
.check-list ul { display: flex; flex-direction: column; box-sizing: border-box; width: 50%; list-style: none; }
.check-list ul li { display: flex; flex-wrap: nowrap; align-items: center; margin: 5px; color: var(--s-500); font-size: 15px; line-height: 22px; }
.check-list ul:first-child li { margin-left: 0; }
.check-list ul:last-child li { margin-right: 0; }
.check-list ul li .icon { flex-shrink: 0; margin-right: 20px; color: var(--b-700); font-size: 20px; }

.accordions { display: flex; flex-direction: column; margin: 20px 0; }
.accordions .accordion { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; margin: 5px 0; background: var(--s-25); border: 1px solid var(--s-100); }
.accordions .accordion .headline { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; box-sizing: border-box; width: 100%; padding: 18px 20px; user-select: none; }
.accordions .accordion .headline[onclick] { cursor: pointer; }
.accordions .accordion .headline .left { display: flex; flex-wrap: nowrap; align-items: center; padding-right: 20px; }
.accordions .accordion .headline .left .icon { transition: color .2s ease-in-out; flex-shrink: 0; display: flex; align-items: center; margin-right: 10px; color: var(--s-400); font-size: 20px; }
.accordions .accordion .headline[onclick]:hover .left .icon { color: var(--b-700); }
.accordions .accordion .headline .left h5 { transition: color .2s ease-in-out; color: var(--s-900); font-size: 17px; font-weight: 700; line-height: 24px; }
.accordions .accordion .headline[onclick]:hover .left h5 { color: var(--b-700); }
.accordions .accordion .headline .right { transition: color .2s ease-in-out; flex-shrink: 0; color: var(--s-500); font-size: 16px; }
.accordions .accordion .headline[onclick]:hover .right { color: var(--b-700); }
.accordions .accordion .headline .right svg { transition: transform .2s ease-in-out; }
.accordions .accordion.open .headline .right svg { transform: rotate(180deg); }
.accordions .accordion .inner { flex-direction: column; display: none; box-sizing: border-box; width: 100%; padding: 0 20px 12px 20px; }
.accordions .accordion.open .inner { display: flex; }
.accordions .accordion .text-container:first-child { margin: 0; padding: 18px 0 6px 0; border-top: 1px solid var(--s-100); }
.accordions .accordion .inner .form-container { margin: 0 0 3px 0; padding: 0; border: 0; }
.accordions .accordion .inner .form-container .item { padding-left: 0; padding-right: 0; }
.accordions .accordion .inner .form-container-2 .form-item { padding-left: 0; padding-right: 0; }
.accordions .accordion .inner .provider-logos { display: flex; flex-wrap: wrap; align-items: stretch; width: 100%; }
.accordions .accordion .inner .provider-logos .logo-item { display: flex; flex-wrap: wrap; box-sizing: border-box; width: 50%; padding: 5px; }
.accordions .accordion .inner .provider-logos .logo-item.width-full { width: 100%; }
.accordions .accordion .inner .provider-logos .logo-item a { transition: border-color .2s ease-in-out; display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 100%; height: 80px; padding: 20px; background: var(--white); border: 1px solid var(--s-75); }
.accordions .accordion .inner .provider-logos .logo-item a:hover { border-color: var(--s-200); }
.accordions .accordion .inner .provider-logos .logo-item a img { width: 100%; height: 100%; object-fit: contain; }
.accordions .accordion .inner .provider-logos .text-divider-item { display: flex; box-sizing: border-box; width: 100%; padding: 5px; }
.accordions .accordion .inner .provider-logos .text-divider-item:first-child { padding-top: 0; padding-bottom: 0; }
.accordions .accordion .inner .provider-logos .text-divider-item .text-divider { padding: 0; }
.accordions .accordion .inner .provider-logos .text-divider-item .text-divider span { text-transform: none; }
.accordions .accordion .inner .providers-container { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding-top: 8px; border-top: 1px solid var(--s-100); }
.accordions .accordion .inner .providers-container .provider-item { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; width: 100%; padding: 10px 0; }
.accordions .accordion .inner .providers-container .provider-item:last-child { padding-bottom: 6px; }
.accordions .accordion .inner .providers-container .provider-item .left { display: flex; flex-wrap: nowrap; align-items: center; padding-right: 20px; }
.accordions .accordion .inner .providers-container .provider-item .left .logo { flex-shrink: 0; display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 150px; height: 80px; padding: 20px; background: var(--white); border: 1px solid var(--s-75); }
.accordions .accordion .inner .providers-container .provider-item .left .logo img { width: 100%; height: 100%; object-fit: contain; }
.accordions .accordion .inner .providers-container .provider-item .left .text { padding-left: 20px; color: var(--s-500); font-size: 15px; line-height: 22px; }
.accordions .accordion .inner .providers-container .provider-item .right { flex-shrink: 0; }

.sort-container { display: flex; flex-wrap: nowrap; align-items: center; width: 100%; margin: 10px 0; }
.sort-container .item:first-child { margin-right: 10px; color: var(--s-500); font-size: 15px; line-height: 20px; }
.sort-container .item:last-child { min-width: 180px; }

.panel-container { display: flex; flex-wrap: nowrap; align-items: flex-start; width: 100%; margin: 5px 0; }
.panel-container .panel { flex-shrink: 0; flex-grow: 1; display: flex; flex-direction: column; box-sizing: border-box; width: 0; padding-right: 20px; }
.panel-container aside { flex-shrink: 0; flex-grow: 0; display: flex; flex-direction: column; width: 280px; }
.panel-container aside.sticky { position: sticky; top: 111px; }
.panel-container aside .group { display: flex; flex-direction: column; }
.panel-container aside .group .group-scroll { flex-grow: 1; display: flex; flex-direction: column; }
.panel-container aside .group.filters .filters-button { display: none; }
.panel-container aside .item { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 10px 0; }
.panel-container aside .item:not(.framed):first-child { padding-top: 5px; }
.panel-container aside .item.framed { margin: 10px 0; border: 1px solid var(--s-100); }
.panel-container aside .item.framed:first-child { margin-top: 5px; }
.panel-container aside .item button.button { align-self: stretch; margin-bottom: 10px; }
.panel-container aside .item button.button:last-child { margin-bottom: 0; }
.panel-container aside .item .item-heading { margin-bottom: 4px; color: var(--s-900); font-size: 15px; font-weight: 700; line-height: 20px; }
.panel-container aside .item .split-items { display: flex; flex-wrap: nowrap; width: 100%; }
.panel-container aside .item .split-items .split-item { box-sizing: border-box; width: 50%; }
.panel-container aside .item .split-items .split-item:first-child { padding-right: 5px; }
.panel-container aside .item .split-items .split-item:last-child { padding-left: 5px; }
.panel-container aside .item .link-button { align-self: center; }
.panel-container aside .options { align-items: stretch; }
.panel-container aside .options .option { width: 50%; }
.panel-container aside .options .option:nth-child(1),
.panel-container aside .options .option:nth-child(2) { padding-top: 0; }
.panel-container aside .options .option:nth-child(odd) { padding-left: 0; }
.panel-container aside .options .option:nth-child(even) { padding-right: 0; }
.panel-container aside .options .option.odd { padding-left: 0; padding-right: 5px; }
.panel-container aside .options .option.even { padding-left: 5px; padding-right: 0; }
.panel-container aside .map-location { padding: 5px; }
.panel-container aside .map-location .map { display: flex; width: 100%; height: 200px; margin-bottom: 4px; background: var(--s-100); }
.panel-container aside .map-location .details { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 10px; color: var(--s-500); font-size: 15px; line-height: 22px; }
.panel-container aside .map-location .details .address { margin-bottom: 10px; }
.panel-container aside .map-location .details a { transition: color .2s ease-in-out; display: flex; align-items: center; color: var(--b-700); font-weight: 700; }
.panel-container aside .map-location .details a:hover { color: var(--b-800); }
.panel-container aside .map-location .details a .icon { margin-left: 6px; }

.map-container { flex-direction: column; display: none; width: 100%; height: 600px; margin: 10px 0; background: var(--s-50); }
.map-container.visible { display: flex; }
.map-container .close-map { flex-grow: 0; flex-shrink: 0; display: none; box-sizing: border-box; width: 100%; padding: 10px; background: var(--s-50); border: 0; border-radius: 0; color: var(--s-500); font-size: 16px; font-weight: 700; line-height: 24px; }
.map-container .close-map .icon { margin-right: 10px; }
.map-container .map { width: 100%; height: 100%; }

.map-container .map .properties-overview.grid { width: 100%; padding: 0; }
.map-container .map .properties-overview.grid .item { width: 100%; padding: 0; }
.map-container .map .mapboxgl-popup-content { width: 100%; padding: 0; background: var(--s-25); border-radius: 0; box-shadow: none; }
.mapboxgl-popup { top: 10px !important; left: 10px !important; transform: none !important; }
.mapboxgl-map { font-family: 'apercu-pro', sans-serif !important; }
.mapboxgl-map .mapboxgl-popup-tip { display: none; }
.mapboxgl-ctrl-bottom-left { display: none !important; }

.campaign { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; border: 1px solid var(--s-100); user-select: none; }
.extension,
.campaign .campaign-inner { display: flex; flex-direction: column; position: relative; box-sizing: border-box; width: 100%; border: 1px solid var(--s-100); user-select: none; }
.extension.reverse,
.campaign.reverse .campaign-inner { flex-direction: column-reverse; }
.extension a.whole,
.campaign a.whole { position: absolute; z-index: 300; top: 0; left: 0; width: 100%; height: 100%; }
.extension .text,
.campaign .text { display: flex; flex-direction: column; justify-content: center; position: relative; box-sizing: border-box; width: 100%; padding: 40px; background: var(--ext-cover-color); }
.extension .text:after,
.campaign .text:after { content: ""; opacity: var(--ext-overlay-opacity); position: absolute; z-index: 100; top: 0; left: 0; width: 100%; height: 100%; background: var(--ext-overlay-color); }
.extension .text .text-content,
.campaign .text .text-content { position: relative; z-index: 200; width: 100%; color: var(--white); font-size: 20px; font-weight: 500; line-height: 30px; word-break: break-word; text-align: center; }
.extension .text .button,
.campaign .text .button { align-self: center; position: relative; z-index: 200; margin-top: 28px; }
.extension .text .bg,
.campaign .text .bg { opacity: var(--ext-cover-opacity); position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.extension .text .extension-icon,
.campaign .text .extension-icon { position: absolute; z-index: 350; top: 8px; right: 10px; background: transparent; border: 0; color: var(--white); font-size: 18px; opacity: 0.8; cursor: pointer; }
.extension .logo,
.campaign .logo { display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 100%; padding: 40px 75px; background: var(--ext-primary); text-align: center; }
.extension .logo img,
.campaign .logo img { width: 100%; height: 100%; max-height: 60px; object-fit: contain; }

.extension.horizontal,
.campaign.horizontal .campaign-inner { flex-direction: row-reverse; }
.extension.horizontal.reverse,
.campaign.horizontal.reverse .campaign-inner { flex-direction: row; }
.extension.horizontal .text .text-content,
.campaign.horizontal .text .text-content { text-align: left; }
.extension.horizontal .text .button,
.campaign.horizontal .text .button { align-self: flex-start; }
.extension.horizontal .logo,
.campaign.horizontal .logo { flex-shrink: 0; width: 280px; }

.campaign .text .text-content { font-size: var(--ext-text-size); }
.campaign .text .text-content,
.campaign.horizontal .text .text-content { text-align: var(--ext-text-alignment); }
.campaign .text .button,
.campaign.horizontal .text .button { align-self: var(--ext-button-alignment); }
.campaign .text .button { background: var(--ext-button-primary); border-color: var(--ext-button-primary); color: var(--ext-button-secondary); }
.campaign .campaign-inner a.whole:hover + .text .button { background: var(--ext-button-hover-primary); border-color: var(--ext-button-hover-primary); color: var(--ext-button-hover-secondary); }

.campaign .campaign-inner { display: flex; flex-direction: column; position: relative; box-sizing: border-box; width: 100%; border: 0; }

.campaign-disclaimer { display: flex; position: relative; box-sizing: border-box; width: 100%; padding: 4px; background: var(--s-50); }
.campaign-disclaimer button.whole { position: absolute; z-index: 300; top: 0; left: 0; width: 100%; height: 100%; background: transparent; border: 0; cursor: pointer; }
.campaign-disclaimer .text-container { margin: 0; padding: 12px 16px; border: 1px solid var(--s-300); color: var(--s-600); }
.campaign-disclaimer .text-container p { font-size: 11px; line-height: 14px; }
.campaign-disclaimer .text-container p .link-button { display: inline; color: var(--ext-btn-disclaimer-color); font-size: 11px; line-height: 14px; }
.campaign-disclaimer:hover .text-container p .link-button { color: var(--ext-btn-disclaimer-hover); }

.paging { display: flex; justify-content: space-between; align-items: center; margin-top: 20px; }
.paging .item { display: flex; flex-wrap: wrap; justify-content: center; }
.paging a { transition: border-color .2s ease-in-out, color .2s ease-in-out; margin: 4px; padding: 8px 14px; border: 1px solid var(--s-100); color: var(--s-500); font-size: 15px; line-height: 20px; }
.paging a.back,
.paging a.next { flex-shrink: 0; display: flex; flex-wrap: nowrap; border-color: var(--s-500); font-weight: 700; }
.paging a.back { margin-left: 0; }
.paging a.back .icon { margin-right: 10px; }
.paging a.next { margin-right: 0; }
.paging a.next .icon { margin-left: 10px; }
.paging a:hover { border-color: var(--s-400); color: var(--s-900); }
.paging a.back:hover,
.paging a.next:hover { border-color: var(--s-700); }
.paging a.disabled { border-color: var(--s-100); color: var(--s-200); pointer-events: none; cursor: default; }
.paging a.active { border-color: var(--b-700); color: var(--b-700); }

.gallery-container { flex-wrap: nowrap; align-items: stretch; position: relative; z-index: 200; height: 408px; margin-bottom: 10px; }
.gallery-container .item { flex-grow: 0; flex-shrink: 0; display: flex; flex-direction: column; position: relative; width: 300px; }
.gallery-container .item:first-child { flex-grow: 1; flex-shrink: 1; width: 100%; }
.gallery-container .item a.image { display: flex; width: 100%; height: 100%; }
.gallery-container .thumb { display: flex; box-sizing: border-box; width: 100%; height: 50%; padding-left: 5px; }
.gallery-container .thumb:first-child { padding-bottom: 2.5px; }
.gallery-container .thumb:last-child { padding-top: 2.5px; }
.gallery-container .item img { position: relative; z-index: 100; width: 100%; height: 100%; max-height: none; object-fit: cover; background: var(--s-500); }

.gallery-container .item .overlay-top { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: flex-start; position: absolute; top: 0; left: 0; box-sizing: border-box; width: 100%; padding: 10px; }
.gallery-container .item .overlay-top .tags { display: flex; flex-wrap: wrap; }
.gallery-container .item .overlay-top .tags .property-tag { position: relative; z-index: 200; }
.gallery-container .item .overlay-top .expand { display: flex; }
.gallery-container .item .overlay-top .expand button { transition: background .2s ease-in-out; display: flex; justify-content: center; align-items: center; position: relative; z-index: 200; width: 36px; height: 36px; margin: 5px; background: var(--black-t40); border: 0; color: var(--white); font-size: 16px; cursor: pointer; }
.gallery-container .item .overlay-top .expand button:hover { background: var(--black); }
.gallery-container .item .overlay-bottom { display: flex; flex-wrap: wrap; position: absolute; bottom: 0; left: 0; box-sizing: border-box; width: 100%; padding: 10px; }
.gallery-container .item .overlay-bottom button { transition: background .2s ease-in-out; flex-shrink: 0; display: flex; flex-wrap: nowrap; align-items: center; position: relative; z-index: 200; margin: 5px; padding: 9px 12px; background: var(--black-t40); border: 0; color: var(--white); font-size: 15px; cursor: pointer; }
.gallery-container .item .overlay-bottom button:hover { background: var(--black); }
.gallery-container .item .overlay-bottom button .icon { flex-shrink: 0; margin-right: 10px; }

.gallery-container .arrow { transition: background .2s ease-in-out, border-color .2s ease-in-out, color .2s ease-in-out; position: absolute; z-index: 300; top: 50%; transform: translateY(-50%); display: flex; justify-content: center; align-items: center; width: 48px; height: 48px; background: transparent; border: 1px solid var(--s-500); color: var(--s-500); font-size: 20px; cursor: pointer; }
.gallery-container .arrow:hover { border-color: var(--s-900); color: var(--s-900); }
.gallery-container .arrow.disabled { border-color: var(--s-100); color: var(--s-200); cursor: default; }
.gallery-container .arrow.prev { left: 30px; }
.gallery-container .arrow.next { right: 30px; }

.property-head { display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; padding: 5px 0 30px 0; border-bottom: 1px solid var(--s-100); }
.property-head .column { display: flex; flex-direction: column; }
.property-head .column:last-child { flex-shrink: 0; padding-left: 20px; }
.property-head .headline { margin-top: 7px; }
.property-head .headline h1 { color: var(--s-500); font-size: 20px; font-weight: 500; line-height: 26px; }
.property-head .price { display: flex; flex-wrap: wrap; align-items: baseline; margin-top: 7px; color: var(--s-900); font-size: 24px; font-weight: 700; line-height: 36px; }
.property-head .price span { margin-left: 5px; font-size: 15px; line-height: 22px; }
.property-head .location { margin-top: 10px; color: var(--s-500); font-size: 16px; line-height: 24px; }
.property-head .original-price { color: var(--red-600); font-size: 16px; line-height: 24px; text-decoration: line-through; }

.property-details { display: flex; flex-direction: column; width: 100%; }
.panel-container:last-child .property-details { padding-bottom: 30px; }
.property-details .columns { display: flex; flex-wrap: nowrap; align-items: flex-start; width: 100%; margin-top: 30px; }
.property-details .columns .left-side { display: flex; flex-direction: column; box-sizing: border-box; width: 60%; padding-right: 20px; }
.property-details .columns .row-item { margin: 0 0 30px 0; }
.property-details .row { display: flex; flex-direction: column; width: 100%; margin-top: 30px; }
.property-details .row:first-child { margin-top: 0; }
.property-details .row .accordions { margin: 0; }
.property-details .row-item { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; margin: 5px 0; }
.property-details .row-item.framed { padding: 10px; border: 1px solid var(--s-100); }
.property-details .row-item:last-child { margin-bottom: 0; }
.property-details .specifications { display: flex; flex-direction: column; box-sizing: border-box; width: 40%; padding: 15px 20px; background: var(--s-50); border: 1px solid var(--s-75); }
.property-details .specifications .spec { display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; margin-bottom: 8px; font-size: 15px; line-height: 22px; }
.property-details .specifications .spec:last-child { margin-bottom: 0; }
.property-details .specifications .spec .name { padding-right: 10px; color: var(--s-500); }
.property-details .specifications .spec .value { color: var(--s-900); font-weight: 500; text-align: right; }
.property-details .specifications .spec .value sup { font-size: 8px; line-height: 18px; }
.property-details .headline h2 { color: var(--s-900); font-size: 20px; font-weight: 700; line-height: 30px; letter-spacing: -0.6px; }
.property-details .headline h3 { color: var(--s-900); font-size: 16px; font-weight: 700; line-height: 24px; letter-spacing: -0.6px; }
.property-details .map { display: flex; width: 100%; height: 246px; margin-bottom: 10px; background: var(--s-50); }
.property-details .map:last-child { margin-bottom: 0; }
.property-details .map #map { width: 100%; height: 100%; }
.property-details .icon-list { display: flex; flex-wrap: wrap; width: 100%; list-style: none; }
.property-details .icon-list li { display: flex; flex-wrap: nowrap; box-sizing: border-box; width: 50%; padding: 10px; font-size: 15px; line-height: 22px; }
.property-details .icon-list li .name { flex-shrink: 0; display: flex; flex-wrap: nowrap; padding-right: 10px; color: var(--s-500); }
.property-details .icon-list li .name .icon { flex-shrink: 0; margin-right: 10px; }
.property-details .icon-list li .name .text { width: 120px; }
.property-details .icon-list li .value { color: var(--s-900); font-weight: 500; }
.property-details .disclaimer { display: flex; flex-direction: column; }
.property-details .disclaimer ul { display: flex; flex-wrap: wrap; width: 100%; list-style: none; }
.property-details .disclaimer ul li { display: flex; flex-wrap: nowrap; box-sizing: border-box; width: 33.33%; padding: 5px; color: var(--s-500); font-size: 13px; line-height: 22px; }
.property-details .disclaimer ul li:nth-child(3n) { padding-right: 0; }
.property-details .disclaimer ul li:nth-child(3n+1) { padding-left: 0; }
.property-details .disclaimer ul li span { box-sizing: border-box; width: 50%; }
.property-details .disclaimer ul li span:first-child { padding-right: 5px; }
.property-details .disclaimer ul li span:last-child { padding-left: 5px; font-weight: 500; }
.property-details .disclaimer p { margin: 14px 0 20px 0; color: var(--s-500); font-size: 12px; line-height: 20px; }

.property-contact { display: flex; flex-direction: column; align-items: center; box-sizing: border-box; width: 100%; padding: 10px 20px; text-align: center; }
.property-contact .image { display: flex; width: 80px; height: 80px; margin-bottom: 10px; }
.property-contact .image img { box-sizing: border-box; width: 100%; height: 100%; border-radius: 50%; background: var(--s-50); border: 1px solid var(--s-75); object-fit: cover; }
.property-contact .headline { display: flex; flex-direction: column; margin-bottom: 20px; }
.property-contact .headline h6 { color: var(--s-900); font-size: 16px; font-weight: 700; line-height: 24px; }
.property-contact .headline span { color: var(--s-500); font-size: 15px; font-weight: 500; line-height: 22px; }
.property-contact .organization { display: flex; flex-direction: column; margin: 15px 0 10px 0; }
.property-contact .organization:nth-child(2) { margin: 10px 0 20px 0; }
.property-contact .organization .name { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; color: var(--s-900); font-size: 15px; font-weight: 700; line-height: 20px; }
.property-contact .organization .name .icon { display: flex; margin-left: 4px; color: var(--green-600); }
.property-contact .organization .branch { color: var(--s-500); font-size: 15px; line-height: 20px; }
.property-contact .organization .rating { justify-content: center; margin-top: 1px; }
.property-contact .logo { display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 160px; height: 60px; margin-bottom: 10px; padding: 10px 14px; background: var(--client-b-50); border: 1px solid var(--s-75); }
.property-contact .logo:first-child { margin-bottom: 0; }
.property-contact .logo img { width: 100%; height: 100%; object-fit: contain; }
.property-contact .button { align-self: stretch; margin-bottom: 5px !important; }
.property-contact .link-button { margin-top: 10px; }

.article { flex-direction: column; padding: 0 200px; }
.article .date { display: flex; width: 100%; margin-bottom: 10px; color: var(--s-500); font-size: 16px; line-height: 24px; }
.article .share { display: flex; flex-wrap: nowrap; justify-content: center; width: 100%; margin-top: 20px; padding: 30px 0 10px 0; border-top: 1px solid var(--s-100); text-align: center; }

.article .text-container { font-size: 16px; color: var(--s-700); line-height: 24px; }
.article .text-container h3 { margin-bottom: 10px; }
.article .text-container p:not(:last-child) { margin-bottom: 16px; }
.article .text-container ul { width: auto; margin: 0 0 20px 20px; list-style: disc; }
.article .text-container ol { width: auto; margin: 0 0 20px 40px; }
.article .text-container ul:last-child,
.article .text-container ol:last-child { margin-bottom: 0; }
.article .text-container ul li,
.article .text-container ol li { display: list-item; margin: 2px 0; font-size: 16px; color: var(--s-700); line-height: 24px; letter-spacing: 0; }
.article .text-container ul li::marker { color: var(--s-300); }

.text-box { flex-wrap: nowrap; justify-content: space-between; align-items: center; padding-top: 30px; padding-bottom: 40px; }
.text-box .text-holder:first-child { padding-right: 120px; }
.text-box .text-holder:last-child { padding-left: 120px; }
.text-box.slim .text-holder:first-child { padding-right: 40px; }
.text-box.slim .text-holder:last-child { padding-left: 40px; }
.text-box .image { flex-shrink: 0; }
.text-box .image img { max-width: 100%; }
.text-box .image .qr-mobile-container { display: flex; position: relative; box-sizing: border-box; width: 100%; padding-left: 108px; overflow: hidden; }
.text-box .image .qr-mobile-container .qr-code { position: absolute; z-index: 10; top: 41px; left: 0; }
.text-box .form-container { flex-shrink: 0; width: 50%; max-width: 480px; margin: 0; }
.text-box .buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }

.text-box.bottom-offset { padding-bottom: 0; }
.text-box.bottom-offset .text-holder { padding-bottom: 140px; }
.text-box.bottom-offset .image { align-self: flex-end; }

.platforms-logos { position: relative; display: flex; width: 320px; height: 320px; margin: 30px; }
.platforms-logos .circle { position: absolute; z-index: 100; top: 50%; left: 50%; transform: translate(-50%, -50%); border: 1px solid transparent; border-radius: 50%; }
.platforms-logos .circle.large { width: 100%; height: 100%; border-color: var(--s-50); }
.platforms-logos .circle.medium { width: 75%; height: 75%; border-color: var(--s-75); }
.platforms-logos .circle.small { width: 50%; height: 50%; border-color: var(--s-100); }
.platforms-logos img { flex-shrink: 0; position: absolute; z-index: 200; }
.platforms-logos img.logo-1 { top: 21%; left: 15%; width: 37.5%; height: 37.5%; box-shadow: 4px 10px 20px var(--home-800-t20); }
.platforms-logos img.logo-2 { top: 39%; right: 16%; width: 25%; height: 25%; box-shadow: 2px 4px 16px var(--land-800-t20); }
.platforms-logos img.logo-3 { bottom: 23%; left: 40%; width: 12.5%; height: 12.5%; box-shadow: 2px 4px 16px var(--commercial-800-t20); }

.platforms-logos.horizontal { flex-wrap: nowrap; justify-content: center; align-items: center; }
.platforms-logos.horizontal img { position: static; width: 25%; height: 25%; margin: 0 15px; }
.platforms-logos.horizontal img.logo-1 { order: 2; width: 37.5%; height: 37.5%; }
.platforms-logos.horizontal img.logo-2 { order: 3; }
.platforms-logos.horizontal img.logo-3 { order: 1; }

.app-buttons { position: relative; display: flex; flex-direction: column; width: 340px; margin: 50px 20px; }
.app-buttons .item { position: relative; z-index: 200; display: flex; background: var(--s-25); }
.app-buttons .item:nth-child(1) { align-self: flex-end; margin-bottom: -20px; padding: 0 0 20px 20px; }
.app-buttons .item:nth-child(2) { align-self: flex-start; padding: 20px 20px 0 0; }
.app-buttons .item .button-2 { align-self: flex-start; min-width: 160px; }
.app-buttons:after { content: ""; position: absolute; z-index: 100; top: 50%; left: 50%; transform: translate(-50%, -50%); box-sizing: border-box; width: 50%; height: 56%; border: 1px solid var(--s-100); border-radius: 25px; }
.app-buttons .circle { position: absolute; z-index: 150; border-radius: 50%; }
.app-buttons .circle.circle-1 { top: 7%; left: 6%; width: 20px; height: 20px; background: var(--home-700); box-shadow: 2px 2px 10px var(--home-700-t20); }
.app-buttons .circle.circle-2 { top: -16%; left: 33%; width: 10px; height: 10px; background: var(--s-400); box-shadow: 2px 2px 10px var(--s-400-t20); }
.app-buttons .circle.circle-3 { bottom: -16%; right: 33%; width: 10px; height: 10px; background: var(--commercial-700); box-shadow: 2px 2px 10px var(--commercial-700-t20); }
.app-buttons .circle.circle-4 { bottom: 7%; right: 6%; width: 20px; height: 20px; background: var(--land-700); box-shadow: 2px 2px 10px var(--land-700-t20); }

.columns-container { flex-wrap: wrap; margin-top: 20px; padding: 0 90px; }
.columns-container.icons { margin-top: 0; padding: 0 85px; }
.columns-container .item { display: flex; flex-direction: column; box-sizing: border-box; width: 33.33%; padding: 10px; }
.columns-container.icons .item { padding: 15px; }
.columns-container .item .icon { margin-bottom: 20px; color: var(--b-700); font-size: 40px; }
.columns-container .item .text-container { margin: 0; }
.columns-container .item .text-container .link-button { transition: opacity .2s ease-in-out; opacity: 0; margin-top: 10px; }
.columns-container .item:hover .text-container .link-button { opacity: 1; }

.counters { display: flex; flex-wrap: nowrap; align-items: center; }
.counters .item { flex-grow: 1; flex-basis: 0; display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; padding: 10px; }
.counters .item .number { margin-right: 20px; color: var(--s-900); font-size: 72px; line-height: 72px; }
.counters.small .item .number { font-size: 48px; line-height: 60px; }
.counters .item .text { display: flex; flex-direction: column; font-size: 16px; line-height: 24px; }
.counters .item .text span:first-child { color: var(--s-900); font-weight: 700; }
.counters .item .text span:last-child { color: var(--s-500); }

.counters-2 { display: flex; flex-wrap: wrap; width: 100%; }
.counters-2 .item { display: flex; flex-direction: column; box-sizing: border-box; width: 50%; padding: 30px 20px 0 0; }
.counters-2 .item:nth-child(even) { padding-right: 0; }
.counters-2 .item .number { color: var(--s-900); font-size: 36px; line-height: 48px; }
.counters-2.large .item .number { font-size: 48px; line-height: 68px; }
.counters-2 .item .text { color: var(--s-900); font-size: 16px; line-height: 24px; }
.counters-2.large .item .text { font-size: 17px; }

.packages { display: flex; flex-direction: column; width: 100%; }
.packages .package { display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; padding: 20px 0; }
.packages .package .properties-overview { box-sizing: border-box; width: 100%; padding-right: 20px; }
.packages .package .properties-overview .item { margin: 0; padding: 0; }
.packages .package .package-specs { flex-basis: 38%; box-sizing: border-box; padding: 0 20px; }
.packages .package .package-specs .headline { display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; margin-bottom: 5px; }
.packages .package .package-specs .headline .right { color: var(--s-500); font-size: 15px; line-height: 30px; }
.packages .package .package-specs .headline .right span { color: var(--s-900); font-size: 20px; font-weight: 700; }
.packages .package .package-specs .headline h3 { color: var(--s-400); font-size: 20px; font-weight: 700; line-height: 30px; }
.packages .package .package-specs .text-container { margin: 0; }
.packages .package .package-specs ul li .icon { color: var(--s-400); }

.packages .package.plus .package-specs .headline h3 { color: var(--lime-700); }
.packages .package.plus .package-specs ul li .icon { color: var(--lime-700); }
.packages .package.premium .package-specs .headline h3 { color: var(--yellow-700); }
.packages .package.premium .package-specs ul li .icon { color: var(--yellow-700); }

.packages .boost-option { display: flex; position: relative; width: 100%; margin: 10px 0; }
.packages .boost-option:last-child { margin-bottom: 5px; }
.packages .boost-option .boost-label { position: absolute; z-index: 200; top: 0; left: 0; width: 100%; height: 100%; cursor: pointer; }
.packages .boost-option input { display: none; }
.packages .boost-option .package { transition: border-color .2s ease-in-out; padding: 20px; border: 1px solid var(--s-100); }
.packages .boost-option:hover .package { border-color: var(--s-400); }
.packages .boost-option input:checked + .package { border-color: var(--b-700); outline: 3px solid var(--b-700-t20); }
.packages .boost-option .package .package-specs { padding: 0; }

.partners { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; width: 100%; margin: 20px 0; }
.partners .item { padding: 25px 15px; }
.partners .item img { transition: opacity .2s ease-in-out; opacity: 0.6; max-width: 160px; max-height: 60px; }
.partners .item img:hover { opacity: 1; }

.icon-box { display: flex; flex-wrap: nowrap; margin-bottom: 20px; }
.icon-box:last-child { margin-bottom: 0; }
.icon-box .icon { flex-shrink: 0; padding-right: 20px; color: var(--b-700); font-size: 30px; }
.icon-box .text { display: flex; flex-direction: column; padding-top: 3px; }
.icon-box .text .text-container { margin: 0; }

.clients-overview { display: flex; flex-direction: column; }
.clients-overview .item { display: flex; box-sizing: border-box; width: 100%; padding: 5px 0; }
.clients-overview .box { transition: border-color .2s ease-in-out; display: flex; flex-wrap: nowrap; align-items: stretch; position: relative; box-sizing: border-box; width: 100%; padding: 5px; border: 1px solid var(--s-100); }
.clients-overview .box:hover { border-color: var(--s-400); }
.clients-overview .box a.whole { position: absolute; top: 0; left: 0; z-index: 100; width: 100%; height: 100%; }
.clients-overview .box .image { flex-shrink: 0; display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 180px; height: 100%; min-height: 90px; padding: 16px 24px; background: var(--s-500); border: 1px solid var(--s-75); }
.clients-overview .box .image img { width: 100%; height: 100%; max-height: 50px; object-fit: contain; }
.clients-overview .box .details { flex-shrink: 1; flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; padding: 10px 0 10px 15px; }
.clients-overview .box .details .name h3 { display: inline; color: var(--s-900); font-size: 16px; font-weight: 700; line-height: 24px; }
.clients-overview .box .details .name .icon { margin-left: 4px; color: var(--green-600); }
.clients-overview .box .details .branch { color: var(--s-500); font-size: 15px; line-height: 20px; }
.clients-overview .box .details .bottom { margin-top: 6px; }
.clients-overview .box .arrow { transition: color .2s ease-in-out; flex-shrink: 0; display: flex; align-items: center; padding: 15px; color: var(--s-200); font-size: 20px; }
.clients-overview .box:hover .arrow { color: var(--s-500); }

section.head-image.client-cover .content { padding: 0; background: var(--client-cover-color); }
section.head-image.client-cover .content:after { content: ""; opacity: var(--client-overlay-opacity); position: absolute; z-index: 300; top: 0; left: 0; width: 100%; height: 100%; background: var(--client-overlay-color); }
section.head-image.client-cover .head-cover { opacity: 0.9; opacity: var(--client-cover-opacity); }

.client-head { padding: 20px 0 10px 0; }
.client-head .content { flex-wrap: nowrap; justify-content: space-between; }
.client-head .left { display: flex; flex-wrap: nowrap; padding-right: 15px; }
.client-head .left .image { flex-shrink: 0; display: flex; position: relative; z-index: 200; box-sizing: border-box; width: 140px; height: 140px; margin-top: -48px; padding: 5px; background: var(--s-25); border: 1px solid var(--s-100); }
.client-head .left .image img { width: 100%; height: 100%; object-fit: contain; background: var(--client-b-25); }
.client-head .left .details { padding-left: 20px; }
.client-head .left .details .name h1 { display: inline; color: var(--s-900); font-size: 24px; font-weight: 700; line-height: 36px; }
.client-head .left .details .name .icon { margin-left: 6px; color: var(--green-600); font-size: 22px; }
.client-head .left .details .branch { color: var(--s-500); font-size: 16px; line-height: 24px; }
.client-head .left .details .rating { margin-top: 10px; }
.client-head .right { display: flex; flex-wrap: wrap; justify-content: flex-end; }
.client-head .right .button { margin: 0 0 10px 10px; }
.client-head .right .button:first-child { margin-left: 0; }

.tabs-container .content { flex-direction: column; }
.tabs-container .tabs { position: relative; display: flex; width: 100%; }
.tabs-container .tabs:after { content: ""; position: absolute; z-index: 50; bottom: 0; left: 0; width: 100%; height: 1px; background: var(--s-100); }
.tabs-container .tabs ul { display: flex; flex-wrap: nowrap; align-items: stretch; box-sizing: border-box; width: 100%; list-style: none; overflow-x: auto; }
.tabs-container .tabs ul li { flex-shrink: 0; display: flex; align-items: stretch; position: relative; z-index: 100; padding: 0 8px; }
.tabs-container .tabs ul li:first-child { padding-left: 0; }
.tabs-container .tabs ul li:last-child { padding-right: 0; }
.tabs-container .tabs ul li a,
.tabs-container .tabs ul li button { transition: border-color .2s ease-in-out, color .2s ease-in-out; display: flex; align-items: center; padding: 10px 10px 16px 10px; background: transparent; border: 0; border-bottom: 4px solid transparent; color: var(--s-500); font-size: 16px; font-weight: 500; line-height: 24px; cursor: pointer; }
.tabs-container .tabs ul li a:hover,
.tabs-container .tabs ul li button:hover { border-bottom-color: var(--s-200); }
.tabs-container .tabs ul li a .icon,
.tabs-container .tabs ul li button .icon { margin-right: 8px; }
.tabs-container .tabs ul li.active a,
.tabs-container .tabs ul li.active button { border-bottom-color: var(--b-700); color: var(--s-900); }
.client .tabs-container .tabs ul li.active a,
.client .tabs-container .tabs ul li.active button { border-bottom-color: var(--client-b-75); }
.client .tabs-container .tabs ul li.pro.active a,
.client .tabs-container .tabs ul li.pro.active button { border-bottom-color: var(--violet-400); }
.tabs-container .tab-content { display: none; flex-direction: column; width: 100%; padding-top: 30px; }
.tabs-container .tab-content.visible { display: flex; }
.tabs-container .tab-content .tab-inner { display: flex; flex-direction: column; width: 100%; }

.tabs-container .tab-content .message:first-child { margin-top: 0; }
.tabs-container .tab-content .panel-container .panel .form-container:first-child { margin-top: 5px; }

.requests-overview { display: flex; flex-direction: column; width: 100%; }
.requests-overview .item { display: flex; box-sizing: border-box; width: 100%; padding: 5px 0; }
.requests-overview .box { display: flex; flex-wrap: nowrap; box-sizing: border-box; width: 100%; padding: 20px; border: 1px solid var(--s-100); }
.requests-overview .box .avatar { flex-shrink: 0; display: flex; padding-right: 20px; }
.requests-overview .box .avatar img { width: 48px; height: 48px; background: var(--s-200); border-radius: 50%; }
.requests-overview .box .details { flex-grow: 1; display: flex; flex-direction: column; }
.requests-overview .box .details .requestor { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.requests-overview .box .details .requestor .name { display: flex; flex-wrap: nowrap; align-items: center; margin-right: 10px; color: var(--s-900); font-size: 15px; font-weight: 700; line-height: 24px; }
.requests-overview .box .details .requestor .name span { color: var(--s-500); font-weight: 400; }
.requests-overview .box .details .requestor .name .icon { margin-right: 10px; font-size: 15px; }
.requests-overview .box .details .requestor .name .icon.green { color: var(--lime-600); }
.requests-overview .box .details .requestor .name .icon.red { color: var(--red-600); }
.requests-overview .box .details .requestor .timestamp { color: var(--s-500); font-size: 12px; line-height: 18px; }
.requests-overview .box .details .specifications { display: flex; flex-wrap: wrap; width: 100%; list-style: none; }
.requests-overview .box .details .specifications li { margin-right: 20px; color: var(--s-500); font-size: 13px; font-weight: 500; line-height: 22px; }
.requests-overview .box .details .specifications li:last-child { margin-right: 0; }
.requests-overview .box .details .specifications li span { font-weight: 400; }
.requests-overview .box .details .description { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--s-50); color: var(--s-500); font-size: 15px; line-height: 22px; }

.users-overview { display: flex; flex-wrap: wrap; align-items: stretch; width: 100%; margin-bottom: 25px; }
.users-overview .item { display: flex; box-sizing: border-box; width: 33.33%; padding: 5px; }
.users-overview .item:nth-child(3n+1) { padding-left: 0; }
.users-overview .item:nth-child(3n) { padding-right: 0; }
.users-overview .box { display: flex; flex-wrap: nowrap; align-items: center; box-sizing: border-box; width: 100%; height: 100%; padding: 20px; border: 1px solid var(--s-100); }
.users-overview .box .avatar { flex-shrink: 0; display: flex; padding-right: 20px; }
.users-overview .box .avatar img { width: 48px; height: 48px; background: var(--s-200); border-radius: 50%; }
.users-overview .box .details { flex-grow: 1; display: flex; flex-direction: column; color: var(--s-500); font-size: 15px; font-weight: 500; line-height: 22px; }
.users-overview .box .details .name { color: var(--s-900); font-size: 16px; font-weight: 700; line-height: 24px; }

.reviews-overview { display: flex; flex-direction: column; width: 100%; }
.reviews-overview .item { display: flex; box-sizing: border-box; width: 100%; padding: 5px 0; }
.reviews-overview .box { display: flex; flex-wrap: nowrap; box-sizing: border-box; width: 100%; padding: 20px; border: 1px solid var(--s-100); }
.reviews-overview .box .avatar { flex-shrink: 0; display: flex; padding-right: 20px; }
.reviews-overview .box .avatar img { width: 48px; height: 48px; background: var(--s-200); border-radius: 50%; }
.reviews-overview .box .details { flex-grow: 1; display: flex; flex-direction: column; }
.reviews-overview .box .details .name { margin-bottom: 4px; color: var(--s-900); font-size: 15px; font-weight: 700; line-height: 24px; }
.reviews-overview .box .details .description { margin-top: 10px; color: var(--s-500); font-size: 15px; line-height: 22px; }
.reviews-overview .box .details .actions { display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; margin-top: 20px; }
.reviews-overview .box .details .actions .link-button { font-size: 14px; }
.reviews-overview .box .details .actions .left { display: flex; flex-wrap: nowrap; padding-right: 10px; }
.reviews-overview .box .details .actions .left .link-button { margin-right: 20px; }
.reviews-overview .box .details .actions .left .link-button:last-child { margin-right: 0; }
.reviews-overview .box .details .actions .right { display: flex; }
.reviews-overview .box .details .actions .right .link-button { margin-left: 20px; }
.reviews-overview .box .details .reply { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; margin-top: 20px; padding-left: 16px; border-left: 1px solid var(--s-100); }
.reviews-overview .box .details .reply .name { display: flex; font-size: 15px; line-height: 20px; }
.reviews-overview .box .details .reply .name span:first-child { margin-right: 10px; }
.reviews-overview .box .details .reply .name .date { color: var(--s-500); font-size: 12px; font-weight: 400; }
.reviews-overview .box .details .reply .text { color: var(--s-500); font-size: 15px; line-height: 22px; }
.reviews-overview .box .details .reply .link-button { margin-top: 10px; }

.reviews-summary { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 10px 20px; }
.reviews-summary .score { color: var(--s-900); font-size: 36px; font-weight: 500; line-height: 48px; }
.reviews-summary .total { margin-top: 10px; color: var(--s-400); font-size: 15px; line-height: 20px; }
.reviews-summary .count-bars { display: flex; flex-direction: column; width: 100%; margin-top: 5px; }
.reviews-summary .count-bars .bar { display: flex; flex-wrap: nowrap; align-items: center; width: 100%; padding: 5px 0; }
.reviews-summary .count-bars .bar .number { flex-shrink: 0; padding-right: 10px; color: var(--s-500); font-size: 13px; line-height: 20px; }
.reviews-summary .count-bars .bar .line { flex-grow: 1; position: relative; height: 4px; background: var(--s-50); }
.reviews-summary .count-bars .bar .line span { position: absolute; top: 0; left: 0; height: 100%; background: var(--yellow-500); }

.team-overview { display: flex; flex-wrap: wrap; align-items: stretch; width: 100%; margin-top: 5px; }
.team-overview .item { display: flex; box-sizing: border-box; width: 33.33%; padding: 5px; }
.team-overview .item:nth-child(3n) { padding-right: 0; }
.team-overview .item:nth-child(3n+1) { padding-left: 0; }
.team-overview .box { display: flex; flex-direction: column; align-items: center; box-sizing: border-box; width: 100%; height: 100%; padding: 20px; border: 1px solid var(--s-100); text-align: center; }
.team-overview .box .image { display: flex; margin-bottom: 10px; }
.team-overview .box .image img { width: 60px; height: 60px; background: var(--s-200); border-radius: 50%; }
.team-overview .box .details { display: flex; flex-direction: column; font-size: 15px; }
.team-overview .box .details h4 { color: var(--s-900); font-weight: 700; line-height: 20px; }
.team-overview .box .details span { color: var(--s-500); line-height: 22px; }

.branches-overview { display: flex; flex-wrap: wrap; align-items: stretch; width: 100%; }
.branches-overview .item { display: flex; box-sizing: border-box; width: 33.33%; padding: 10px; }
.branches-overview .item:nth-child(3n) { padding-right: 0; }
.branches-overview .item:nth-child(3n+1) { padding-left: 0; }
.branches-overview .box { display: flex; flex-direction: column; justify-content: stretch; box-sizing: border-box; width: 100%; height: 100%; padding: 5px; border: 1px solid var(--s-100); }
.branches-overview .box .map { flex-shrink: 0; flex-grow: 0; display: flex; width: 100%; height: 200px; margin-bottom: 4px; background: var(--s-100); }
.branches-overview .box .details { flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; box-sizing: border-box; width: 100%; padding: 10px; }
.branches-overview .box .details .name h4 { color: var(--s-900); font-size: 20px; font-weight: 700; line-height: 30px; }
.branches-overview .box .details .address { color: var(--s-500); font-size: 15px; line-height: 22px; }
.branches-overview .box .details .bottom { margin-top: 20px; }
.branches-overview .box .details .bottom a { transition: color .2s ease-in-out; color: var(--b-700); font-size: 15px; font-weight: 700; line-height: 20px; }
.branches-overview .box .details .bottom a:hover { color: var(--b-800); }

.links-container { display: flex; flex-direction: column; width: 100%; padding: 30px 0 15px 0; }
.links-container .title { margin-bottom: 5px; }
.links-container .links { display: flex; flex-wrap: wrap; width: 100%; }
.links-container .links ul { width: 100%; padding: 10px 0; list-style: none; column-count: 4; }
.links-container .links.two-columns ul { column-count: 2; }
.links-container .links ul li { display: flex; padding: 5px 20px 5px 0; }
.links-container .links ul li a { color: var(--s-500); font-size: 15px; line-height: 24px; }
.links-container .links ul li a:hover { color: var(--s-900); text-decoration: underline; }

.statistics { display: flex; flex-wrap: nowrap; align-items: stretch; width: 100%; margin-bottom: 25px; }
.statistics .statistic { flex-grow: 1; flex-basis: 0; display: flex; box-sizing: border-box; padding: 5px; }
.statistics .statistic:first-child { padding-left: 0; }
.statistics .statistic:last-child { padding-right: 0; }
.statistics .statistic .box { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; height: 100%; padding: 20px; border: 1px solid var(--s-100); }
.statistics .statistic .icon { display: flex; justify-content: center; align-items: center; width: 40px; height: 40px; margin-bottom: 20px; background: var(--violet-50); color: var(--violet-400); font-size: 20px; }
.statistics .statistic .value { display: flex; flex-wrap: nowrap; align-items: center; margin-bottom: 4px; color: var(--s-900); }
.statistics .statistic .value .value-1 { margin-right: 10px; font-size: 36px; font-weight: 700; line-height: 48px; }
.statistics .statistic .value .value-2 { display: flex; flex-wrap: nowrap; align-items: center; font-size: 16px; font-weight: 500; line-height: 24px; }
.statistics .statistic .value .value-2.red { color: var(--red-600); }
.statistics .statistic .value .value-2.green { color: var(--lime-600); }
.statistics .statistic .value .value-2 .arrow { display: flex; margin-right: 4px; font-size: 10px; }
.statistics .statistic .text { display: flex; flex-direction: column; text-transform: uppercase; }
.statistics .statistic .text .text-1 { margin-bottom: 2px; color: var(--s-900); font-size: 16px; font-weight: 700; line-height: 24px; }
.statistics .statistic .text .text-2 { color: var(--s-400); font-size: 12px; font-weight: 500; line-height: 20px; }

.button-boxes { display: flex; flex-direction: column; width: 100%; }
.button-boxes .item { display: flex; width: 100%; padding: 5px 0; }
.button-boxes .item:first-child { padding-top: 0; }
.button-boxes .item:last-child { padding-bottom: 0; }
.button-boxes .box { transition: border-color .2s ease-in-out; display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; box-sizing: border-box; width: 100%; padding: 15px; border: 1px solid var(--s-100); }
.button-boxes .box:hover { border-color: var(--s-400); }
.button-boxes .box .left { display: flex; flex-wrap: nowrap; align-items: center; }
.button-boxes .box .left .image { flex-shrink: 0; display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 52px; height: 52px; background: var(--white); border: 1px solid var(--s-100); font-size: 24px; color: var(--white); }
.button-boxes .box .left .image.facebook { background: #1877F2; }
.button-boxes .box .left .image.apple { background: #1F1F1D; }
.button-boxes .box .left .image.apple img { fill: #fff; }
.button-boxes .box .left .image img { width: 100%; max-width: 24px; height: 100%; max-height: 24px; object-fit: contain; }
.button-boxes .box .left .details { display: flex; flex-direction: column; padding-left: 20px; }
.button-boxes .box .left .headline { display: flex; flex-wrap: wrap; align-items: center; font-weight: 700; }
.button-boxes .box .left .headline .name { margin-right: 10px; color: var(--s-900); font-size: 16px; line-height: 24px; }
.button-boxes .box .left .headline .name:last-child { margin-right: 0; }
.button-boxes .box .left .headline .text { display: flex; align-items: center; color: var(--lime-600); font-size: 15px; line-height: 20px; }
.button-boxes .box .left .headline .text .icon { display: flex; margin-right: 6px; }
.button-boxes .box .left .info { display: flex; flex-wrap: wrap; margin-top: 2px; list-style: none; }
.button-boxes .box .left .info li { margin-right: 10px; color: var(--s-500); font-size: 13px; line-height: 22px; }
.button-boxes .box .left .info li:last-child { margin-right: 0; }
.button-boxes .box .left .info li strong { font-weight: 500; }
.button-boxes .box .right { flex-shrink: 0; display: flex; justify-content: flex-end; padding-left: 15px; }

.message { display: flex; flex-wrap: nowrap; box-sizing: border-box; width: 100%; margin: 10px 0 15px 0; padding: 10px 14px; background: var(--blue-50); border: 1px solid var(--blue-75); color: var(--blue-600); font-size: 15px; line-height: 20px; }
.message.warning { background: var(--orange-50); border-color: var(--orange-75); color: var(--orange-600); }
.message.pro { background: var(--violet-50); border-color: var(--violet-75); color: var(--violet-600); }
.message .icon { flex-shrink: 0; margin-right: 14px; font-size: 16px; }

.errors { display: flex; box-sizing: border-box; width: 100%; margin-bottom: 10px; padding: 10px 14px; background: var(--red-50); border: 1px solid var(--red-75); }
.errors ul { display: flex; flex-direction: column; width: 100%; list-style: none; }
.errors ul li { color: var(--red-600); font-size: 15px; line-height: 24px; }

.dropzone { transition: border-color .2s ease-in-out, color .2s ease-in-out; display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; box-sizing: border-box; width: 100%; min-height: 120px; padding: 20px; border: 1px dashed var(--s-100); color: var(--s-400); font-size: 15px; line-height: 20px; text-align: center; cursor: pointer; }
.dropzone:hover { border-color: var(--s-400); color: var(--s-500); }
.dropzone .highlight { color: var(--b-700); font-weight: 700; }
.dropzone .icon { margin-left: 10px; }

.placements-illustration { position: relative; display: flex; flex-wrap: nowrap; align-items: stretch; flex-basis: 60%; height: 430px; }
.placements-illustration:before { content: ""; position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 25%; background: linear-gradient(180deg, var(--s-25) 0%, rgba(255, 255, 255, 0) 100%); }
.placements-illustration:after { content: ""; position: absolute; z-index: 50; bottom: 0; left: 0; width: 100%; height: 25%; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, var(--s-25) 100%); }
.placements-illustration .placements-column { display: flex; flex-direction: column; box-sizing: border-box; }
.placements-illustration .placements-column:first-child { width: 69%; padding-right: 20px; }
.placements-illustration .placements-column:last-child { width: 31%; }
.placements-illustration .placements-column .placement-tile { flex-basis: 0; flex-grow: 1; display: flex; justify-content: center; align-items: center; position: relative; margin-bottom: 10px; background: var(--s-50); border: 1px solid var(--s-75); color: var(--white); font-size: 30px; }
.placements-illustration .placements-column .placement-tile:last-child { margin-bottom: 0; }
.placements-illustration .placements-column .placement-tile.highlighted { z-index: 100; background: var(--b-700); border-color: var(--b-800); box-shadow: 10px 10px 20px var(--b-700-t20); }

.graph-illustration { display: flex; flex-wrap: nowrap; position: relative; box-sizing: border-box; width: 380px; height: 182px; margin: 30px 0; background: linear-gradient(0deg, rgba(255,255,255,0) 0%, var(--b-700-t20) 50%); border-top: 1px solid var(--s-50); border-bottom: 1px solid var(--s-50); overflow: hidden; }
.graph-illustration:before,
.graph-illustration:after { content: ""; position: absolute; z-index: 150; left: 0; width: 100%; height: 1px; background: var(--s-200); opacity: .2; }
.graph-illustration:before { top: 33%; }
.graph-illustration:after { bottom: 33%; }

.graph-illustration .graph-section { position: absolute; transform: rotate(-45deg); box-sizing: border-box; width: 140px; height: 120%; background: var(--s-25); border-bottom: 3px solid var(--b-700); }
.graph-illustration .graph-section:nth-child(1) { z-index: 100; top: -52px; left: -96px; }
.graph-illustration .graph-section:nth-child(2) { z-index: 80; top: -97px; left: 47px; }
.graph-illustration .graph-section:nth-child(3) { z-index: 70; top: -143px; left: 193px; }

.graph-illustration .graph-section:nth-child(1):before,
.graph-illustration .graph-section:nth-child(3):before { content: ""; position: absolute; bottom: -10px; box-sizing: border-box; width: 17px; height: 17px; background: var(--white); border: 5px solid var(--b-700); box-shadow: 4px 4px 10px var(--b-700-t20); }
.graph-illustration .graph-section:nth-child(1):before { right: -1px; }
.graph-illustration .graph-section:nth-child(3):before { left: -8px; }

.graph-illustration .graph-section:nth-child(1):after,
.graph-illustration .graph-section:nth-child(3):after { content: ""; position: absolute; width: 3px; height: 63px; background: var(--b-700); }
.graph-illustration .graph-section:nth-child(1):after { bottom: -72px; right: 6px; }
.graph-illustration .graph-section:nth-child(3):after { bottom: 3px; left: -1px; }

.graph-illustration .graph-section:nth-child(2):before,
.graph-illustration .graph-section:nth-child(2):after { content: ""; position: absolute; bottom: -5px; width: 8px; height: 8px; background: var(--b-700); box-shadow: 2px 2px 10px var(--b-700-t20); }
.graph-illustration .graph-section:nth-child(2):before { left: -5px; }
.graph-illustration .graph-section:nth-child(2):after { right: 0; }

.platforms-integration { display: flex; flex-direction: column; align-items: center; width: 100%; }
.platforms-integration .line { position: absolute; z-index: 50; }
.platforms-integration .platform-logo { position: relative; z-index: 100; display: flex; margin-bottom: 40px; }
.platforms-integration .platform-logo img { width: 120px; height: 120px; box-shadow: 4px 10px 20px var(--b-800-t20); }
.platforms-integration .platform-logo .line { bottom: 0; transform: translate(-50%, 100%); width: 3px; height: 16px; background: var(--b-900); }
.platforms-integration .platform-logo .line:nth-child(1) { left: 25%; }
.platforms-integration .platform-logo .line:nth-child(2) { left: 50%; }
.platforms-integration .platform-logo .line:nth-child(3) { left: 75%; }
.platforms-integration .tiles { display: flex; flex-wrap: nowrap; justify-content: center; width: 100%; }
.platforms-integration .tiles .tile { position: relative; z-index: 100; display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 60px; height: 60px; }
.platforms-integration .tiles .tile.tile-1 { background: var(--home-700); box-shadow: 2px 4px 16px var(--home-800-t20); }
.platforms-integration .tiles .tile.tile-1 .icon { width: 24px; height: 24px; background: var(--white); }
.platforms-integration .tiles .tile.tile-2 { background: var(--land-700); box-shadow: 2px 4px 16px var(--land-800-t20); }
.platforms-integration .tiles .tile.tile-2 .icon { width: 0; height: 0; border-left: 12px solid transparent; border-right: 12px solid transparent; border-bottom: 21px solid var(--white); }
.platforms-integration .tiles .tile.tile-3 { background: var(--commercial-700); box-shadow: 2px 4px 16px var(--commercial-800-t20); }
.platforms-integration .tiles .tile.tile-3 .icon { width: 30px; height: 30px; background: var(--white); border-radius: 50%; }
.platforms-integration .tiles .tile.tile-1 .line { top: 50%; right: 0; transform: translate(100%, -50%); width: 16px; height: 3px; background: var(--home-700); }
.platforms-integration .tiles .tile.tile-2 .line { top: 0; left: 50%; transform: translate(-50%, -100%); width: 3px; height: 16px; background: var(--land-700); }
.platforms-integration .tiles .tile.tile-3 .line { top: 50%; left: 0; transform: translate(-100%, -50%); width: 16px; height: 3px; background: var(--commercial-700); }
.platforms-integration .tiles .line-grey { transform: translateY(-50%); width: 60px; height: 60px; }
.platforms-integration .tiles .line-grey.line-1 { border-right: 1px solid var(--s-100); border-bottom: 1px solid var(--s-100); }
.platforms-integration .tiles .line-grey.line-2 { position: relative; }
.platforms-integration .tiles .line-grey.line-2:after { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-100%); width: 1px; height: 80px; background: var(--s-100); }
.platforms-integration .tiles .line-grey.line-3 { border-left: 1px solid var(--s-100); border-bottom: 1px solid var(--s-100); }

.qr-code { display: flex; flex-direction: column; align-items: center; gap: 10px; box-sizing: border-box; width: 174px; padding: 15px 15px 10px 15px; background: var(--s-25); border: 1px solid var(--s-100); box-shadow: 10px 10px 30px 0px rgba(0,0,0,0.2); color: var(--s-900); font-size: 14px; line-height: 22px; text-align: center; }
.qr-code svg { width: 100%; }

.sharing-platforms { display: flex; flex-direction: column; width: 100%; padding-top: 15px; }
.sharing-platforms .item { display: flex; width: 100%; padding: 5px 0; }
.sharing-platforms .box { transition: border-color .2s ease-in-out; display: flex; flex-wrap: nowrap; align-items: center; position: relative; box-sizing: border-box; width: 100%; padding: 10px; border: 1px solid var(--s-100); }
.sharing-platforms .box:hover { border-color: var(--s-400); }
.sharing-platforms .box a.whole { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.sharing-platforms .box .icon { flex-shrink: 0; display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 40px; height: 40px; margin-right: 14px; border: 1px solid var(--s-100); color: var(--white); font-size: 20px; }
.sharing-platforms .box .name { display: flex; color: var(--s-900); font-size: 16px; font-weight: 700; line-height: 24px; }

.sharing-platforms .platform-facebook .box .icon { background: #1877F2; }
.sharing-platforms .platform-messenger .box .icon { background: linear-gradient(45deg, #0099FF 0%, #A033FF 54.42%, #FF5280 85.26%, #FF7061 100%); }
.sharing-platforms .platform-whatsapp .box .icon { background: #128C7E; }
.sharing-platforms .platform-telegram .box .icon { background: linear-gradient(180deg, #2AABEE 0%, #229ED9 100%); }
.sharing-platforms .platform-vk .box .icon { background: #2787F5; }
.sharing-platforms .platform-email .box .icon { color: var(--s-900); }

.error-page { flex-grow: 1; justify-content: center; align-items: center; text-align: center; }
.error-page .error-code { display: flex; margin-bottom: 20px; color: var(--s-50); font-size: 200px; font-weight: 900; line-height: 200px; font-feature-settings: 'zero' on; letter-spacing: -0.6px; -webkit-text-stroke: 1px var(--s-75); }
.error-page .error-code.small { font-size: 80px; line-height: 100px; }
.error-page .text-container { margin-top: 0; }
.error-page .text-container .button { align-self: center; margin-top: 30px; }

.cta { display: flex; flex-direction: column; align-items: center; width: 100%; padding: 100px 0; background: var(--b-700); }
.cta .content { justify-content: center; align-items: center; gap: 60px; }
.cta h4 { color: var(--white); font-size: 36px; font-weight: 700; line-height: 48px; letter-spacing: -0.6px; }

footer { flex-grow: 0; display: flex; flex-direction: column; align-items: center; width: 100%; padding-top: 100px; background: var(--s-50); border-top: 1px solid var(--s-75); }
footer .content { display: flex; flex-direction: column; }
footer .logo { display: flex; padding-bottom: 72px; }
footer .logo a { display: flex; }
footer .logo img { height: 48px; }
footer .hashtag { padding-bottom: 40px; }
footer .hashtag svg { width: 100%; }
footer .top { display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; padding-bottom: 86px; }
footer .top .item { display: flex; flex-direction: column; box-sizing: border-box; padding: 0 20px; }
footer .top .item:first-child { padding-left: 0; }
footer .top .item:last-child { padding-right: 0; }
footer .top h5 { margin-bottom: 12px; color: var(--s-900); font-size: 20px; font-weight: 700; line-height: 30px; letter-spacing: -0.6px; }
footer .top ul.links { list-style: none; }
footer .top ul.links li { margin: 5px 0; }
footer .top ul.links li a { transition: color .2s ease-in-out; color: var(--s-500); font-size: 15px; line-height: 24px; }
footer .top ul.links li a:hover { color: var(--s-900); text-decoration: underline; }
footer .top ul.socials { display: flex; margin-top: 26px; list-style: none; }
footer .top ul.socials li { margin: 0 10px; font-size: 20px; }
footer .top ul.socials li:first-child { margin-left: 0; }
footer .top ul.socials li:last-child { margin-right: 0; }
footer .top ul.socials li a { transition: color .2s ease-in-out; color: var(--s-500); }
footer .top ul.socials li a:hover { color: var(--s-900); }
footer .top .buttons { align-self: flex-start; display: flex; flex-direction: column; margin-top: 4px; }
footer .top .buttons .button-item { display: flex; }
footer .top .button-2 { flex-grow: 1; margin: 5px 0; }
footer .bottom { display: flex; flex-wrap: nowrap; justify-content: space-between; width: 100%; padding: 18px 0; border-top: 1px solid var(--s-100); color: var(--s-500); font-size: 15px; line-height: 24px; }
footer .bottom .left { display: flex; padding-right: 20px; }
footer .bottom .left span { margin-right: 20px; }
footer .bottom .left ul { display: flex; list-style: none; }
footer .bottom .left ul li:after { content: "•"; margin: 0 10px; }
footer .bottom .left ul li:last-child:after { content: ""; margin: 0; }
footer .bottom .left ul li a { transition: color .2s ease-in-out; color: var(--s-500); }
footer .bottom .left ul li a:hover { color: var(--s-900); text-decoration: underline; }
footer .bottom .right { display: flex; }
footer .bottom .right ul { display: flex; list-style: none; }
footer .bottom .right ul li { position: relative; margin: 0 10px; }
footer .bottom .right ul li .submenu-button { transition: color .2s ease-in-out; background: transparent; border: 0; color: var(--s-500); font-size: 15px; line-height: 24px; text-decoration: underline; cursor: pointer; }
footer .bottom .right ul li .submenu-button:hover { color: var(--s-900); }
footer .bottom .right ul li .icon { margin-right: 10px; }
footer .bottom .right ul li .submenu ul li { margin: 5px 0; }
footer .bottom .right ul li .submenu ul li a { text-decoration: none; }
footer .bottom .theme { display: flex; flex-wrap: nowrap; margin-left: 30px; }
footer .bottom .theme .icon { transition: color .2s ease-in-out; padding-right: 8px; cursor: pointer; }
footer .bottom .theme:hover .icon { color: var(--s-900); }
footer .bottom .theme .toggle { transition: background .2s ease-in-out; background: var(--b-700); }
footer .bottom .theme:hover .toggle { background: var(--b-800); }

.marker-container { width: 36px; height: 45px; }
.branded-marker { position: relative; box-sizing: border-box; width: 36px; height: 36px; background-size: contain; background-repeat: no-repeat; border: 1px solid var(--s-75); }
.branded-marker:before,
.branded-marker:after { position: absolute; content: ""; top: 100%; left: 50%; width: 0; height: 0; border: solid transparent; pointer-events: none; }
.branded-marker:after { margin-left: -8px; border: solid transparent; border-color: rgba(255, 0, 0, 0); border-top-color: var(--marker-b-25); border-width: 8px; }
.branded-marker:before { margin-left: -9px; border-color: rgba(0, 0, 0, 0); border-top-color: var(--s-75); border-width: 9px; }

.sum-container { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; padding: 14px 14px 10px 14px; background: var(--s-50); border: 1px solid var(--s-75); }
.sum-container .text { margin-bottom: 4px; color: var(--s-500); font-size: 15px; font-weight: 700; line-height: 20px; }
.sum-container .autonumeric { background: transparent; border: 0; color: var(--s-900); font-size: 24px; font-weight: 700; line-height: 36px; }

.text-divider { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; width: 100%; padding: 10px 0; }
.text-divider:before,
.text-divider:after { content: ""; flex-grow: 1; height: 1px; background: var(--s-100); }
.text-divider span { flex-shrink: 0; padding: 0 20px; background: var(--s-25); color: var(--s-400); font-size: 12px; line-height: 20px; text-transform: uppercase; text-align: center; }

.rating { display: flex; flex-wrap: nowrap; align-items: center; line-height: 20px; }
.rating .score { margin-right: 3px; color: var(--s-900); font-size: 15px; font-weight: 500; }
.rating .text { margin-left: 9px; color: var(--s-400); font-size: 13px; }
.rating .star { opacity: 0.4; min-height: 20px; margin: 1px; color: var(--yellow-500); font-size: 10px; }
.rating .star.active { opacity: 1; }
.rating.medium .star { font-size: 15px; }
.rating.large .star { margin: 2px; font-size: 16px; }

.rating-input { display: flex; flex-wrap: nowrap; flex-direction: row-reverse; justify-content: flex-end; align-items: center; line-height: 20px; }
.rating-input input { display: none; }
.rating-input .star { padding: 2px; color: var(--s-100); font-size: 20px; cursor: pointer; }
.rating-input .star:hover,
.rating-input .star:hover ~ .star { color: var(--yellow-400); }
.rating-input input:checked + .star,
.rating-input input:checked + .star ~ .star { color: var(--yellow-700) !important; }

.grade-steps { display: flex; flex-wrap: nowrap; align-items: center; width: 100%; margin-top: 10px; }
.grade-steps .step { display: flex; justify-content: center; align-items: center; width: 36px; height: 6px; margin: 2px; color: var(--white); font-size: 0; font-weight: 700; line-height: 0; text-align: center; }
.grade-steps .step:first-child { margin-left: 0; }
.grade-steps .step:last-child { margin-right: 0; }
.grade-steps .step.active { height: 36px; font-size: 16px; line-height: 24px; }
.grade-steps .step:nth-child(1) { background: var(--green-800); }
.grade-steps .step:nth-child(2) { background: var(--green-600); }
.grade-steps .step:nth-child(3) { background: var(--green-400); }
.grade-steps .step:nth-child(4) { background: var(--yellow-200); }
.grade-steps .step:nth-child(5) { background: var(--yellow-400); }
.grade-steps .step:nth-child(6) { background: var(--orange-400); }
.grade-steps .step:nth-child(7) { background: var(--red-600); }

.link-button { flex-shrink: 0; align-self: flex-start; display: flex; transition: color .2s ease-in-out; background: transparent; border: 0; color: var(--s-500); font-size: 17px; font-weight: 700; line-height: 24px; text-align: left; cursor: pointer; }
.link-button.light { color: var(--s-200); }
.link-button.medium { color: var(--s-400); }
.link-button:hover { color: var(--s-900); }
.link-button.blue { color: var(--b-700); }
.link-button.blue:hover { color: var(--b-800); }
.link-button.violet { color: var(--violet-400); }
.link-button.violet:hover { color: var(--violet-500); }
.link-button .icon { margin-right: 10px; }
.link-button .icon.right { margin: 0 0 0 10px; }
.link-button.report .icon svg { margin-bottom: -2px; }

.favorite { transition: background .2s ease-in-out, border-color .2s ease-in-out, color .2s ease-in-out; display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 40px; height: 40px; background: transparent; border: 1px solid var(--s-100); color: var(--s-200); font-size: 14px; cursor: pointer; }
.favorite:not(.deleted):hover { color: var(--pink-600); }
.favorite.active { background: var(--pink-50); border-color: var(--pink-75); color: var(--pink-600); }
.favorite.pulse svg { animation-name: pulse; animation-duration: .2s; animation-timing-function: ease-in-out; animation-direction: alternate; animation-iteration-count: 2; }

@keyframes pulse {
    0% { transform: none; }
    100% { transform: scale(1.3); }
}

.status-icon { display: inline-block; width: 10px; height: 10px; background: var(--lime-600); border-radius: 50%; }
.status-icon.reserved { background: var(--yellow-700); }
.status-icon.sold { background: var(--red-700); }

.price-tag { align-self: center; margin-left: 8px !important; padding: 0 5px; background: var(--red-600); color: var(--s-25); font-size: 12px !important; font-weight: 700; line-height: 18px !important; }

.property-tag { margin: 5px; padding: 5px 10px; background: var(--s-25); border: 1px solid var(--s-500); color: var(--s-500); font-size: 12px; font-weight: 500; line-height: 19px; text-transform: uppercase; }
.property-tag.plus { background: var(--lime-50); border-color: var(--lime-75); color: var(--lime-700); }
.property-tag.premium { background: var(--yellow-50); border-color: var(--yellow-75); color: var(--yellow-700); }

.options { display: flex; flex-wrap: wrap; align-items: center; width: 100%; }
.options .option { flex-shrink: 0; display: flex; box-sizing: border-box; padding: 5px; }
.options .option input { display: none; }
.options .option .btn { transition: background .2s ease-in-out, border-color .2s ease-in-out, color .2s ease-in-out; flex-grow: 1; display: flex; justify-content: center; align-items: center; box-sizing: border-box; padding: 10px 12px; border: 1px solid var(--s-100); color: var(--s-500); font-size: 15px; font-weight: 500; line-height: 16px; text-align: center; user-select: none; cursor: pointer; }
.options .option .btn:hover { border-color: var(--s-400); color: var(--s-900); }
.options .option input:checked + .btn { background: var(--s-900); border-color: var(--s-900); color: var(--s-25); }
.options .action { background: transparent; border: 0; color: var(--s-500); font-size: 12px; cursor: pointer; }
.options .link { transition: color .2s ease-in-out; margin: 0 10px; color: var(--s-500); font-size: 12px; cursor: pointer; }
.options .link:hover { color: var(--s-600); }

.button { transition: background .2s ease-in-out, border-color .2s ease-in-out, color .2s ease-in-out; align-self: flex-start; flex-shrink: 0; display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; box-sizing: border-box; min-height: 48px; padding: 11px 20px; background: var(--b-700); border: 1px solid var(--b-700); color: var(--white); font-size: 17px; font-weight: 700; line-height: 24px; text-align: center; cursor: pointer; user-select: none; }
.button:hover { background: var(--b-800); border-color: var(--b-800); }
.button.square { height: 36px; }
.button.width-full { align-self: stretch; width: 100%; }
.button.small { min-height: 36px; padding: 7px 12px; font-size: 15px; line-height: 20px; }
.button.white { background: var(--white); border-color: var(--white); color: var(--black); }
.button.white:hover { background: var(--s-50); border-color: var(--s-50); }
.button.white-2 { background: var(--s-25); border-color: var(--s-500); color: var(--s-500); }
.button.white-2:hover { border-color: var(--s-600); color: var(--s-900); }
.button.white-red { background: var(--s-25); border-color: var(--red-700); color: var(--red-700); }
.button.white-red:hover { border-color: var(--red-800); color: var(--red-800); }
.button.grey { background: var(--s-50); border-color: var(--s-50); color: var(--s-400); }
.button.grey:hover { background: var(--s-75); border-color: var(--s-75); color: var(--s-500); }
.button.violet { background: var(--violet-400); border-color: var(--violet-400); }
.button.violet:hover { background: var(--violet-500); border-color: var(--violet-500); }
.button .icon { flex-shrink: 0; display: flex; align-items: center; margin-right: 10px; }
.button .icon.right { margin: 0 0 0 10px; }
.button.google .icon img, .button.apple .icon img { width: 16px; height: 16px; }
.button.facebook .icon { color: #1877F2; font-size: 16px; }
.button.whatsapp { background: #128C7E; border-color: #128C7E; }
.button.whatsapp:hover { background: #075E54; border-color: #075E54; }
.button.whatsapp .icon { font-size: 16px; }
.button.show-filters { display: none; }
.button.sticky { display: none; position: sticky; z-index: 500; bottom: 0; left: 0; width: 100%; }

.button-2 { transition: background .2s ease-in-out, border-color .2s ease-in-out, color .2s ease-in-out; display: flex; flex-wrap: nowrap; align-items: center; box-sizing: border-box; min-width: 148px; max-width: 100%; min-height: 48px; padding: 8px 22px 8px 10px; background: var(--s-25); border: 1px solid var(--s-100); color: var(--s-900); text-align: left; }
.button-2:hover { border-color: var(--s-400); color: var(--s-900); }
.button-2 .icon { display: flex; align-items: center; margin-right: 10px; font-size: 26px; }
.button-2 .icon svg { height: 28px; }
.button-2 .text { display: flex; flex-direction: column; }
.button-2 .text span:first-child { font-size: 8px; font-weight: 500; line-height: 10px; text-transform: uppercase; }
.button-2 .text span:last-child { font-size: 16px; font-weight: 700; line-height: 18px; letter-spacing: -0.32px; }

.button-2.black { padding: 12px 14px; background: var(--s-900); border-color: var(--s-600); color: var(--s-25); box-shadow: 10px 10px 20px var(--s-800-t20); }
.button-2.black:hover { background: var(--s-800); }
.button-2.black .icon { font-size: 28px; }
.button-2.black .text span:first-child { font-size: 10px; line-height: 12px; }
.button-2.black .text span:last-child { font-size: 16px; line-height: 20px; }

.button-3 { transition: border-color .2s ease-in-out, color .2s ease-in-out; display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; box-sizing: border-box; width: 100%; padding: 8px 20px; background: var(--s-25); border: 1px dashed var(--s-100); color: var(--s-400); font-size: 15px; line-height: 20px; text-align: center; cursor: pointer; }
.button-3:hover { border-color: var(--s-400); color: var(--s-500); }
.button-3 .icon { display: flex; align-items: center; margin-right: 10px; }

.icon-button { transition: color .2s ease-in-out; background: transparent; border: 0; color: var(--s-200); font-size: 18px; cursor: pointer; }
.icon-button:hover { color: var(--s-300); }

.toggle-container { display: flex; }
.toggle-container input { display: none; }
.toggle-container .toggle { transition: background .2s ease-in-out; display: flex; box-sizing: border-box; width: 44px; height: 24px; padding: 2px; background: var(--s-200); cursor: pointer; }
.toggle-container .toggle .switch { transition: transform .2s ease-in-out; width: 50%; height: 100%; background: var(--white); }
.toggle-container input:checked + .toggle { background: var(--b-700); }
.toggle-container input:checked + .toggle .switch { transform: translateX(100%); }
.toggle-container input:disabled + .toggle { background: var(--s-400); }

.toggles-container { display: flex; flex-direction: column; width: 100%; }
.toggles-container .item { display: flex; flex-wrap: nowrap; width: 100%; padding: 10px 0; border-bottom: 1px solid var(--s-100); }
.toggles-container .item:last-child { padding-bottom: 0; border-bottom: 0; }
.toggles-container .item .text { padding-right: 60px; }
.toggles-container .item .text h6 { margin-bottom: 4px; color: var(--s-900); font-size: 16px; font-weight: 700; line-height: 24px; letter-spacing: -0.6px; }
.toggles-container .item .text h6 span { color: var(--s-500); font-weight: 400; }
.toggles-container .item .text p { color: var(--s-500); font-size: 15px; line-height: 22px; letter-spacing: -0.3px; }
.toggles-container .item .toggle { flex-shrink: 0; }

.input { transition: border-color .2s ease-in-out; box-sizing: border-box; width: 100%; height: 48px; padding: 0 16px; background: var(--s-25); border: 1px solid var(--s-100); color: var(--s-900); font-size: 17px; }
.input:hover { border-color: var(--s-400); }
.input:focus,
.input-container.open .input { outline: 3px solid var(--b-700-t20); border-color: var(--b-700); }
.input[disabled] { background: var(--s-50); border-color: var(--s-100); color: var(--s-400); }
.input.slim { height: 36px; padding: 0 12px; font-size: 15px; }
.error .input { border-color: var(--red-700); outline-color: var(--red-700-t20); }

.textarea { transition: border-color .2s ease-in-out; box-sizing: border-box; width: 100%; height: 100px; padding: 15px 20px; background: var(--s-25); border: 1px solid var(--s-100); color: var(--s-900); font-size: 15px; resize: none; }
.textarea:hover { border-color: var(--s-400); }
.textarea:focus { outline: 3px solid var(--b-700-t20); border-color: var(--b-700); }
.textarea.slim { padding: 8px 12px; font-size: 15px; }
.error .textarea { border-color: var(--red-700); outline-color: var(--red-700-t20); }

.input-container { position: relative; width: 100%; }
.input-container .result { display: none; position: absolute; z-index: 800; top: 100%; left: 0; box-sizing: border-box; width: 100%; margin-top: 5.5px; background: var(--s-25); border: 1px solid var(--b-700); border-top: 0; outline: 3px solid var(--b-700-t20); }
.input-container.open .result { display: block; }
.input-container .result:after { content: ""; position: absolute; z-index: 50; top: -6px; left: -1px; width: 100%; height: 6px; background: var(--s-25); border-right: 1px solid var(--b-700); border-left: 1px solid var(--b-700); }
.input-container .result .result-content { flex-grow: 1; display: flex; flex-direction: column; position: relative; z-index: 100; width: 100%; max-height: 410px; margin-top: -5.5px; overflow-y: auto; }
.input-container .result .result-content.result-split { flex-direction: row; flex-wrap: nowrap; align-items: stretch; border-top: 1px solid var(--s-100); }
.input-container .result ul { display: flex; flex-direction: column; width: 100%; list-style: none; }
.input-container .result ul li { box-sizing: border-box; width: 100%; padding: 12px 16px; color: var(--s-500); font-size: 15px; line-height: 24px; cursor: pointer; user-select: none; }
.input-container .result ul li:not(.no-option):hover { background: var(--s-50); color: var(--s-900); }
.input-container .result ul li:not(.no-option):hover .checkbox-container .checkbox-label { color: var(--s-900); }
.input-container .result ul li.no-option { cursor: auto; }
.input-container .result ul li .checkbox-container { padding: 0; }
.input-container .result ul li .checkbox-container .checkbox-label { flex-grow: 1; }
.input-container .result .result-headline { display: flex; box-sizing: border-box; width: 100%; padding: 20px; color: var(--s-900); font-size: 15px; font-weight: 700; line-height: 20px; }
.input-container .result .result-nav { display: flex; flex-direction: column; position: relative; width: 30%; overflow-y: auto; }
.input-container .result .result-nav:after { content: ""; position: absolute; z-index: 50; top: 0; right: 0; width: 1px; height: 100%; background: var(--s-100); }
.input-container .result .result-nav ul { position: relative; z-index: 100; }
.input-container .result .result-nav ul li { padding-right: 20px; padding-left: 20px; background: transparent; border-right: 4px solid transparent; color: var(--s-500); font-size: 16px; font-weight: 500; user-select: none; }
.input-container .result .result-nav ul li:hover { background: transparent; border-color: var(--s-200); }
.input-container .result .result-nav ul li.active { background: var(--s-50); border-color: var(--b-700); color: var(--s-900); }
.input-container .result .result-selections { display: flex; flex-direction: column; box-sizing: border-box; width: 70%; padding-bottom: 15px; overflow-y: auto; }
.input-container .result .result-selections ul { display: block; column-count: 2; }
.input-container .result .result-selections ul li { position: relative; padding: 5px 20px; }
.input-container .result .result-selections ul li:hover { background: transparent; }
.input-container .result .result-selections ul li.select-all { width: 100%; padding-top: 0; padding-bottom: 15px; }
.input-container .result .result-selections ul li.group-item { padding-left: 50px; }
.input-container .result .result-selections ul li.group-item:before { content: ""; position: absolute; bottom: 5px; left: 30px; width: 0; height: 100%; border-left: 1px solid var(--s-100); }
.input-container .result .result-selections ul li:not(.group-item) + li.group-item:before { bottom: -5px; }
.input-container .result .result-selections ul li.group-item + li:not(.group-item):before { content: ""; position: absolute; top: -5px; left: 0; width: 100%; height: 10px; background: var(--s-25); }
.input-container .close { display: none; justify-content: center; align-items: center; position: absolute; top: 0; right: 0; width: 48px; height: 48px; background: transparent; border: 0; color: var(--s-900); font-size: 24px; cursor: pointer; }
.input-container .result-button { flex-shrink: 0; display: none; box-sizing: border-box; width: 100%; padding: 10px; }
.input-container .result-button .button { width: 100%; }

.input-icon-container { display: flex; position: relative; width: 100%; }
.input-icon-container .icon { display: flex; justify-content: center; align-items: center; position: absolute; z-index: 100; top: 0; left: 0; width: 32px; height: 100%; color: var(--s-400); font-size: 15px; text-align: center; user-select: none; }
.input-icon-container .input { padding-left: 32px; }

.phone-container { display: flex; flex-direction: column; box-sizing: border-box; width: 100%; margin-top: 6px; padding-left: 12px; border-left: 4px solid var(--b-700); color: var(--s-900); font-size: 24px; font-weight: 700; line-height: 36px; }
.phone-container.secondary { border-left-color: var(--s-75); font-size: 20px; line-height: 30px; }
.phone-container a { color: var(--s-900); }

.code-container { display: flex; flex-direction: column; justify-content: center; align-items: center; box-sizing: border-box; width: 100%; margin-top: 6px; padding: 20px; background: var(--s-50); border: 1px solid var(--s-75); color: var(--s-900); font-size: 36px; font-weight: 700; line-height: 48px; letter-spacing: 6px; text-align: center; }

.checkbox-container { display: flex; flex-wrap: nowrap; padding: 10px 0; }
.checkbox-container input { display: none; }
.checkbox-container .checkbox { transition: border-color .2s ease-in-out; flex-shrink: 0; display: flex; justify-content: center; align-items: center; box-sizing: border-box; width: 20px; height: 20px; border: 1px solid var(--s-100); cursor: pointer; }
.checkbox-container .checkbox:hover { border-color: var(--s-400); }
.checkbox-container .checkbox span { display: none; color: var(--white); font-size: 12px; }
.checkbox-container.active .checkbox { background: var(--s-300); border-color: var(--s-300); }
.checkbox-container.active .checkbox span { display: block; }
.checkbox-container input:checked + .checkbox { background: var(--b-700); border-color: var(--b-700); }
.checkbox-container input:checked + .checkbox span { display: block; }
.checkbox-container .checkbox-label { padding-left: 10px; color: var(--s-500); font-size: 15px; line-height: 20px; cursor: pointer; user-select: none; }
.checkbox-container .checkbox-label:hover + .checkbox { border-color: var(--s-400); }
.checkbox-container .checkbox-label a { color: var(--b-700); font-weight: 700; }
.error .checkbox-container .checkbox { border-color: var(--red-700); }

.submenu { display: none; position: absolute; z-index: 600; top: 100%; left: 0; min-width: 100%; padding-top: 16px; }
.submenu.above { top: auto; bottom: 100%; padding: 0 0 16px 0; }
.submenu.visible { display: flex; }
.submenu ul { display: flex; flex-direction: column; align-items: flex-start; box-sizing: border-box; width: 100%; padding: 15px 20px; background: var(--s-25); border: 1px solid var(--s-100); list-style: none; }
.submenu ul li { display: flex; margin: 5px 0; }
.submenu ul li a,
.submenu ul li button { transition: color .2s ease-in-out; display: flex; width: 100%; background: transparent; border: 0; color: var(--s-500); font-size: 15px; line-height: 24px; white-space: nowrap; cursor: pointer; }
.submenu ul li a:hover,
.submenu ul li button:hover { color: var(--s-900); }
.submenu.user-menu ul li:last-child { margin-top: 15px; }
.submenu.user-menu ul li:last-child a,
.submenu.user-menu ul li:last-child button { color: var(--red-700); }
.submenu.user-menu ul li:last-child a:hover,
.submenu.user-menu ul li:last-child button:hover { color: var(--red-800); }

.hidden { display: none !important; }

::placeholder { color: var(--s-400); opacity: 1; }

.modal { display: flex; justify-content: center; align-items: center; position: fixed; z-index: 2000; top: 0; left: 0; width: 100%; height: 100%; }
.modal:after { content: ""; position: absolute; z-index: 50; top: 0; left: 0; width: 100%; height: 100%; background: var(--s-600); opacity: 0.6; }
.modal .modal-content { display: flex; flex-direction: column; position: relative; z-index: 100; box-sizing: border-box; width: 580px; max-height: 100%; padding: 24px 30px 30px 30px; background: var(--s-25); overflow-y: auto; }
.modal .modal-content.slim { width: 380px; }
.modal .modal-content .modal-view { display: none; flex-direction: column; width: 100%; }
.modal .modal-content .modal-view.visible { display: flex; }
.modal .modal-content .head { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; width: 100%; padding: 6px 0 30px 0; }
.modal .modal-content .head .logo { display: flex; }
.modal .modal-content .head .logo img { width: 36px; }
.modal .modal-content .head .language { position: relative; }
.modal .modal-content .head .language .submenu-button { display: flex; flex-wrap: nowrap; align-items: center; background: transparent; border: 0; color: var(--s-500); font-size: 15px; line-height: 24px; text-decoration: underline; cursor: pointer; }
.modal .modal-content .head .language .submenu-button .icon { flex-shrink: 0; margin-right: 10px; font-size: 16px; }
.modal .modal-content .head .language .submenu { left: auto; right: 0; }
.modal .modal-content .title { display: flex; flex-wrap: nowrap; justify-content: space-between; margin-bottom: 2px; }
.modal .modal-content .title h2 { color: var(--s-900); font-size: 24px; font-weight: 700; line-height: 36px; letter-spacing: -0.6px; }
.modal .modal-content .title h2 span { color: var(--b-700); font-weight: 400; }
.modal .modal-content .title .right { padding-left: 20px; }
.modal .modal-content .title .right button { transition: color .2s ease-in-out; background: transparent; border: 0; color: var(--s-400); font-size: 24px; line-height: 36px; cursor: pointer; }
.modal .modal-content .title .right button:hover { color: var(--s-500); }
.modal .modal-content .text { margin: 8px 0 20px 0; color: var(--s-500); font-size: 16px; line-height: 24px; }
.modal .modal-content .text button { background: transparent; border: 0; color: var(--b-700); font-size: 16px; font-weight: 700; line-height: 24px; cursor: pointer; }
.modal .modal-content .links { display: flex; flex-direction: column; width: 100%; margin-bottom: 10px; }
.modal .modal-content .links .item { flex-grow: 1; flex-basis: 0; display: flex; padding-bottom: 10px; }
.modal .modal-content .links .item:last-child { padding-bottom: 0; }
.modal .modal-content .button-container { display: flex; flex-wrap: wrap; justify-content: flex-end; }
.modal .modal-content .button-container .button { margin: 20px 0 0 10px; }
.modal .modal-content .form-container { margin: 0; padding: 0; border: 0; }
.modal .modal-content .form-container .item { width: 100%; padding-left: 0; padding-right: 0; }
.modal .modal-content .form-container:last-child .item:last-child { padding-bottom: 0; }
.modal .modal-content .logos-container { display: flex; flex-direction: column; align-items: center; width: 100%; margin-top: 15px; padding-top: 20px; border-top: 1px solid var(--s-100); color: var(--s-400); font-size: 15px; line-height: 20px; text-align: center; }
.modal .modal-content .logos-container span { display: flex; flex-wrap: wrap; align-items: center; }
.modal .modal-content .logos-container img { width: 24px; height: 24px; margin: 12px 5px 0 5px; }
.modal .modal-content .accordions:last-child { margin-bottom: 0; }
.modal .modal-content .accordions .accordion .message { margin: 5px 0; }

.modal .modal-loader { position: relative; z-index: 90; animation: spinner 1s ease infinite; color: var(--s-25); font-size: 40px; }

@keyframes spinner {
    100% { transform: rotate(360deg); }
}

.alert-container { display: flex; position: fixed; z-index: 1000; top: 0; left: 50%; transform: translate(-50%, -100%); max-width: 66vw; animation: bounce 2s ease-in-out; animation-direction: alternate; animation-iteration-count: 2; }
.alert { display: flex; flex-wrap: nowrap; align-items: flex-start; box-sizing: border-box; padding: 16px 24px; background: var(--s-700-t80); color: var(--s-25); font-size: 16px; line-height: 24px; user-select: none; }
.alert .icon { flex-shrink: 0; display: flex; align-items: center; margin: 5px 10px 0 0; }

@keyframes bounce {
    0% { transform: translate(-50%, -100%); }
    20% { transform: translate(-50%, 0%); top: 80px; }
    35%, 100% { transform: translate(-50%, 0%); top: 60px; }
}

#progressbar { display: none; position: fixed; z-index: 700; top: 0; left: 0; width: 100%; height: 3px; }
#progressbar span { transition: width .2s ease-in-out; display: block; width: 0; height: 100%; background: var(--b-700); }

@media (max-width: 1788px) {
    .alert-container { max-width: 1180px; }
}

@media (max-width: 1180px) {
    html { min-width: 0; }

    .content.form-container,
    .content { width: 100%; min-width: 0; padding: 0 25px; }
    .columns-container,
    .articles-overview,
    .info-boxes,
    .image-boxes,
    .icon-boxes,
    .properties-overview.grid { padding: 0 15px; }
    .columns-container.icons { padding: 0 10px; }

    header nav ul li .submenu { left: auto; right: 0; }
    
    section.page-hero form { padding: 0 25px; }
    
    .hero .headline h1,
    .hero .headline span { font-size: 62px; }

    .gallery-container .arrow { background: var(--black-t40); border-color: transparent; color: var(--white); }
    .gallery-container .arrow:hover { background: var(--black); border-color: transparent; color: var(--white); }
    .gallery-container .arrow.disabled { border-color: transparent; color: var(--white); }
    .gallery-container .arrow.prev { left: 40px; }
    .gallery-container .arrow.next { right: 340px; }
    .gallery-container .arrow.next:nth-child(3) { right: 40px; }

    .alert-container { justify-content: center; box-sizing: border-box; width: 100%; padding: 0 10px; max-width: none; }
}

@media (max-width: 1000px) {
    section .title { flex-direction: column; align-items: flex-start; }
    section .title .left { padding-right: 0; padding-bottom: 10px; }
    section .title .left:last-child { padding-bottom: 0; }
    section .title .right { display: flex; flex-direction: column; width: 100%; }
    section .title .right .button { width: 100%; margin-bottom: 10px; }
    section .title .right .button:last-child { margin-bottom: 0; }

    .paging a.back,
    .paging a.next { font-size: 0; }
    .paging a.back .icon,
    .paging a.next .icon { font-size: 14px; }
    .paging a.back .icon { margin-right: 0; }
    .paging a.next .icon { margin-left: 0; }

    .gallery-container { height: 40vw; }
    .gallery-container .item { width: 30%; }
    .gallery-container .arrow.next { right: 30%; margin-right: 25px; }
    .gallery-container .arrow.next:nth-child(3) { margin-right: 0; }

    .panel-container { flex-direction: column; }
    .panel-container.reverse { flex-direction: column-reverse; }
    .panel-container .panel { width: 100%; padding: 0 0 20px 0; }
    .panel-container aside { width: 100%; }
    .panel-container aside.sticky { position: static; }
    .panel-container aside .group.filters { display: none; }

    .panel-container aside .group.filters.open { position: fixed; top: 0; left: 0; z-index: 800; display: flex; box-sizing: border-box; width: 100%; height: 100%; padding: 5px 7px 0 7px; background: var(--s-25); }
    .panel-container aside .group.filters.open .group-scroll { overflow-y: auto; }
    .panel-container aside .group.filters.open .item { padding-left: 3px; padding-right: 3px; }
    .panel-container aside .group.filters.open .filters-button { display: flex; }
    
    .info-columns { flex-direction: column; gap: 10px; padding: 30px 0; }
    .info-columns .column-title { width: 100%; }
    .info-columns .column-item { width: 100%; }
    
    .properties-overview.grid .item { width: 50%; }
    .properties-overview.grid .box .image { height: 27vw; }

    .map-container { position: fixed; z-index: 800; top: 0; left: 0; height: 100%; margin: 0; }
    .map-container.visible .close-map { display: flex; }
    .map-container .map .properties-overview.grid .box .image { height: 132px; }

    .articles-overview .box .image { height: 17vw; }

    .image-boxes .item { flex-basis: 0; width: auto; }
    .image-boxes .box { height: 35vw; min-height: 260px; }
    .image-boxes .box .details { white-space: nowrap; }
    .image-boxes.style-1 .item:nth-child(1),
    .image-boxes.style-1 .item:nth-child(2) { width: auto; }

    .icon-boxes .item { flex-basis: 200px; flex-grow: 1; width: auto; }

    .links-container .links ul { column-count: 3; }

    .text-box .text-holder:first-child { padding-right: 60px; }
    .text-box .text-holder:last-child { padding-left: 60px; }
    .text-box .image { max-width: 380px; }

    .counters { flex-wrap: wrap; }
    .counters .item { white-space: nowrap; }

    .packages .package { flex-direction: column; }
    .packages .package .properties-overview { padding-right: 0; padding-bottom: 10px; }
    .packages .package .package-specs { padding: 0; }

    .users-overview .item { width: 50%; }
    .users-overview .item:nth-child(3n+1) { padding-left: 5px; }
    .users-overview .item:nth-child(3n) { padding-right: 5px; }
    .users-overview .item:nth-child(odd) { padding-left: 0; }
    .users-overview .item:nth-child(even) { padding-right: 0; }

    .statistics { flex-wrap: wrap; }
    .statistics .statistic { flex-basis: 50%; }
    .statistics .statistic:nth-child(odd) { padding-left: 0; }
    .statistics .statistic:nth-child(even) { padding-right: 0; }

    .button.show-filters { display: flex; }
    .button.show-more-filters { display: none; }
}

@media (max-width: 800px) {
    body.scroll-lock-mobile { overflow: hidden; }

    section { padding: 15px 0; }
    section.extra-top { padding-top: 20px; }
    section.extra-bottom { padding-bottom: 20px; }
    section.head { padding: 10px 0; }
    section.page-head { padding-top: 10px; }
    section.page-head::after { height: 97px; }
    section.head-image .head-cover { height: 50vw; }

    .page { padding-bottom: 0; }
    .content.form-container,
    .content { padding: 0 10px; }
    .content.grey { padding-top: 15px; padding-bottom: 15px; }
    .content.grey.style-2 { padding-bottom: 10px; }
    .content.grey.text-box { padding-top: 20px; padding-bottom: 20px; }

    .scroll-horizontal { position: relative; overflow-x: auto; }
    .scroll-horizontal:after { transition: opacity .4s ease-in-out; pointer-events: none; content: ""; position: absolute; z-index: 150; top: 0; right: 0; width: 20vw; height: 100%; background: linear-gradient(90deg, rgba(255,255,255,0) 0%, var(--s-25) 100%); }
    .scroll-horizontal.scrolled:after { opacity: 0; }
    .scroll-horizontal .team-overview,
    .scroll-horizontal .branches-overview,
    .scroll-horizontal .content { flex-wrap: nowrap; overflow-x: auto; }
    .scroll-horizontal .team-overview::-webkit-scrollbar,
    .scroll-horizontal .branches-overview::-webkit-scrollbar,
    .scroll-horizontal .content::-webkit-scrollbar { width: 0; }
    .scroll-horizontal .team-overview::-webkit-scrollbar:horizontal,
    .scroll-horizontal .branches-overview::-webkit-scrollbar:horizontal,
    .scroll-horizontal .content::-webkit-scrollbar:horizontal { height: 0; }
    .scroll-horizontal .team-overview::-webkit-scrollbar-track,
    .scroll-horizontal .branches-overview::-webkit-scrollbar-track,
    .scroll-horizontal .content::-webkit-scrollbar-track { background: transparent; }
    .scroll-horizontal .team-overview::-webkit-scrollbar-thumb,
    .scroll-horizontal .branches-overview::-webkit-scrollbar-thumb,
    .scroll-horizontal .content::-webkit-scrollbar-thumb { background: transparent; }
    .scroll-horizontal .team-overview::-webkit-scrollbar-corner,
    .scroll-horizontal .branches-overview::-webkit-scrollbar-corner,
    .scroll-horizontal .content::-webkit-scrollbar-corner { background: transparent; }
    .scroll-horizontal .properties-overview .item,
    .scroll-horizontal .articles-overview .item,
    .scroll-horizontal .image-boxes .item { flex-shrink: 0 !important; flex-basis: auto !important; width: 250px !important; max-width: 80vw !important; }
    .scroll-horizontal .properties-overview .box .image { height: 132px !important; }
    .scroll-horizontal .articles-overview .item { width: 314px !important; }
    .scroll-horizontal .articles-overview .box .image { height: 180px !important; }
    .scroll-horizontal .branches-overview .item { flex-shrink: 0 !important; width: 326px !important; max-width: 80vw !important; }
    .scroll-horizontal .team-overview .item { flex-shrink: 0 !important; width: 226px !important; max-width: 80vw !important; }
    .scroll-horizontal .branches-overview .item:nth-child(odd):not(:first-child),
    .scroll-horizontal .team-overview .item:nth-child(3n+1):not(:first-child) { padding-left: 5px; }
    .scroll-horizontal .branches-overview .item:nth-child(even):not(:last-child),
    .scroll-horizontal .team-overview .item:nth-child(3n):not(:last-child) { padding-right: 5px; }

    .columns-container,
    .articles-overview,
    .info-boxes,
    .image-boxes,
    .icon-boxes,
    .properties-overview.grid { padding: 0 5px; }

    .content.divider::after { margin-bottom: 20px; }
    .content.divider.small::after { margin-bottom: 10px; }

    .image-boxes .item { padding: 5px; }
    .image-boxes .item:first-child { flex-basis: 100%; }
    .image-boxes .box .details { height: 100%; padding: 20px; }
    .image-boxes .box .details h3 { font-size: 20px; line-height: 28px; }

    .columns-container { margin-top: 5px; }
    .columns-container .item { width: 100%; }
    .columns-container .item .text-container .link-button { opacity: 1; margin-top: 0; }

    .columns-container.icons { padding: 0; }
    .columns-container.icons .item { padding: 10px; }

    header { height: 60px; }
    header .inner { height: 60px; padding: 10px 0; }
    header .logo img { width: 38.4px; height: 38.4px; margin-right: 16px; }
    header .logo a { font-size: 25.6px; line-height: 38.4px; letter-spacing: -0.48px; }
    header nav { transition: visibility .2s ease-in-out; visibility: hidden; position: fixed; z-index: 600; top: 0; left: 0; width: 100%; height: 100%; }
    header nav.open { visibility: visible; }
    header nav:after { transition: opacity .2s ease-in-out; content: ""; position: absolute; z-index: 100; top: 0; left: 0; width: 100%; height: 100%; background: var(--s-600); opacity: 0; }
    header nav.open:after { opacity: 0.6; }
    header nav ul { display: flex; flex-direction: column; align-items: flex-start; position: absolute; top: 0; right: 0; z-index: 200; transform: translateX(100%); box-sizing: border-box; width: 280px; max-width: 90%; height: 100%; padding-top: 75px; background: var(--s-25); overflow-y: auto; }
    header nav.open ul { animation: slide-in 200ms; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
    header nav ul li { flex-direction: column; box-sizing: border-box; width: 100%; margin: 0; }
    header nav ul li:nth-last-child(2) { flex-grow: 1; }
    header nav ul li:last-child { padding: 30px; border-top: 1px solid var(--s-100); }
    header nav ul li a { box-sizing: border-box; width: 100%; padding: 15px 30px; }
    header nav ul li .submenu-button { padding: 0; }
    header nav ul li button { width: 100%; }
    header .mobile-menu { display: block; }
    header nav.open + .mobile-menu { position: fixed; top: 20px; right: 10px; }
    header nav ul li .submenu { position: relative; top: auto; left: auto; right: auto; width: 100%; padding-top: 25px; }
    header nav ul li .submenu ul { animation: none; position: static; transform: none; padding: 0; border: 0; }
    header nav ul li .submenu ul li:nth-last-child(2) { flex-grow: 0; }
    header nav ul li .submenu ul li:last-child { padding: 0; border: 0; }
    header nav ul li .submenu ul li a { padding: 0; }

    @keyframes slide-in {
        0% { transform: translateX(100%); }
        100% { transform: translateX(0%); }
    }

    section .title { margin-bottom: 5px; }
    section .title h1 { font-size: 20px; line-height: 28px; }
    section .title h1.small,
    section .title h1.medium,
    section .title h2 { font-size: 20px; line-height: 28px; }
    section .title h2.large { font-size: 20px; line-height: 28px; }
    section .title .link { font-size: 15px; line-height: 20px; }
    section .title .left .icon { margin-right: 6px; font-size: 18px; }

    section.head-image .title-container .title-content { padding: 20px; }
    section.head-image .title-container h1 { font-size: 30px; line-height: 40px; }
    
    section.page-hero { min-height: 320px; }
    section.page-hero .headline { margin-bottom: 20px; }
    section.page-hero .headline h1 { font-size: 24px; line-height: 30px; }
    section.page-hero form { padding: 0; }
    
    .title-text { margin-bottom: 0; font-size: 15px; line-height: 22px; }

    .text-container h2 { margin: 5px 0; font-size: 18px; line-height: 24px; }
    .text-container .button { margin-top: 10px; }

    .article .text-container p:not(:last-child) { margin-bottom: 10px; }
    .article .share { margin-top: 10px; padding-top: 15px; }

    .hero { padding-bottom: 10px; }
    .hero .bg { max-height: 60vw; }
    .hero .headline { box-sizing: border-box; min-height: 60vw; margin-bottom: -53px; padding-bottom: 53px; }
    .hero .headline h1,
    .hero .headline span { font-size: 30px; line-height: 30px; letter-spacing: -0.8px; }
    .hero .headline span { padding: 10px; }

    .property-search { z-index: auto; }
    .property-search .tabs ul { width: 100%; }
    .property-search .tabs ul li { flex-grow: 1; flex-basis: 0; }
    .property-search .tabs ul li a { justify-content: center; width: 100%; }
    .property-search .inner { padding: 5px; }
    .property-search .inner:before { display: none; }
    .property-search .inner .options { margin-bottom: 0; }
    .property-search .inner .options .option { flex-grow: 1; flex-basis: 30%; }
    .property-search .inner .row { flex-wrap: wrap; }
    .property-search .inner .row .item { flex-grow: 1; flex-basis: 0; padding-top: 10px; }
    .property-search .inner .row .item:first-child { flex-basis: auto; width: 100%; padding-top: 0; }
    .property-search .inner .row .item .button { width: 100%; }

    .selections li { flex-basis: 0; flex-grow: 1; }

    .gallery-container { flex-direction: column; height: 88vw; }
    .gallery-container .item { flex-direction: row; width: 100%; height: 36%; }
    .gallery-container .item:first-child { height: 64%; }
    .gallery-container .thumb { width: 50%; height: 100%; padding-left: 0; padding-top: 5px; }
    .gallery-container .thumb:first-child { padding-bottom: 0; padding-right: 2.5px; }
    .gallery-container .thumb:last-child { padding-top: 5px; padding-left: 2.5px; }
    .gallery-container .arrow { top: 30%; width: 36px; height: 36px; font-size: 16px; }
    .gallery-container .arrow.prev:nth-child(2),
    .gallery-container .arrow.next:nth-child(3) { top: 50% }
    .gallery-container .arrow.prev { left: 25px; }
    .gallery-container .arrow.next { right: 25px; margin-right: 0; }
    .gallery-container .arrow.next:nth-child(3) { right: 25px; }

    .property-details .columns { flex-direction: column; }
    .property-details .columns .left-side { width: 100%; padding-right: 0; padding-bottom: 20px; }
    .property-details .specifications { width: 100%; }
    .property-details .icon-list li { justify-content: space-between; width: 100%; }
    .property-details .disclaimer ul li { width: 50%; }
    .property-details .disclaimer ul li:nth-child(3n) { padding-right: 5px; }
    .property-details .disclaimer ul li:nth-child(3n+1) { padding-left: 5px; }
    .property-details .disclaimer ul li:nth-child(odd) { padding-left: 0; }
    .property-details .disclaimer ul li:nth-child(even) { padding-right: 0; }

    .form-container { padding: 5px; }
    .form-container .row { flex-wrap: wrap; }
    .form-container .row .item { min-width: 260px; }
    .form-container .row .item.auto { min-width: 0; }
    .form-container .form-split { flex-direction: column; }
    .form-container .form-split .column { width: 100%; }
    .form-container .form-split .column:first-child { padding-right: 0; padding-bottom: 10px; }
    .form-container .form-split .column:last-child { padding-left: 0; }
	
	.cta-item { padding: 20px; }
	.cta-item .text { padding-right: 20px; }
	.cta-item .text h4 { font-size: 20px; line-height: 30px; }
	.cta-item .text p { margin-top: 0; }

    .check-list { flex-wrap: wrap; }
    .check-list ul { flex-basis: 0; flex-grow: 1; min-width: 260px; }
    .check-list ul:last-child li { margin-left: 0; }

    .info-boxes .item { width: 100%; padding: 5px; }
    .info-boxes .box { padding: 20px; }
    .info-boxes .box h2,
    .info-boxes .box h4 { margin-bottom: 5px; font-size: 20px; line-height: 28px; }
    .info-boxes .box p { margin-bottom: 10px; }
    .info-boxes .box a:not(.button) { font-size: 15px; line-height: 20px; }

    .info-boxes.platforms .item { width: 100%; }
    
    .icon-boxes .item { padding: 5px; }
    .icon-boxes .box { padding: 14px 20px; }
    
    .info-columns .column-title h2 { font-size: 26px; line-height: 32px; }
    
    .image-box { gap: 10px; min-height: 60vw; padding: 30px; }
    .image-box .headline h2 { font-size: 26px; line-height: 32px; }
    
    .properties-overview.grid .item { padding: 5px; }
    .properties-overview:not(.grid) .box { flex-direction: column; }
    .properties-overview:not(.grid) .box .image { flex-shrink: 1; width: 100%; height: 43vw; min-height: 0; }
    .properties-overview:not(.grid) .item.plus .box .image { height: 56vw; min-height: 0; }
    .properties-overview:not(.grid) .item.premium .box .image { height: 83vw; min-height: 0; }
    .properties-overview:not(.grid) .box .details { padding-left: 5px; }

    .properties-overview .note { padding: 10px; }

    .articles-overview .item { width: 100%; padding: 5px; }
    .articles-overview .box .image { height: 50vw; }

    .branches-overview .item { width: 50%; padding: 5px; }
    .branches-overview .item:nth-child(3n) { padding-right: 5px; }
    .branches-overview .item:nth-child(3n+1) { padding-left: 5px; }
    .branches-overview .item:nth-child(even) { padding-right: 0; }
    .branches-overview .item:nth-child(odd) { padding-left: 0; }

    .clients-overview .box .arrow { display: none; }

    .presets-overview { margin-top: 0; }

    .accordions { margin: 5px 0; }
    .accordions .accordion .inner .providers-container .provider-item { flex-direction: column; }
    .accordions .accordion .inner .providers-container .provider-item .left { flex-direction: column; padding-right: 0; padding-bottom: 10px; text-align: center; }
    .accordions .accordion .inner .providers-container .provider-item .left .text { padding-left: 0; padding-top: 10px; }

    .accordions .accordion .headline:hover .left .icon { color: var(--s-400); }
    .accordions .accordion .headline:hover .left h5 { color: var(--s-900); }
    .accordions .accordion .headline:hover .right { color: var(--s-500); }

    .partners { margin: 5px; }
    .partners .item { padding: 5px; }
    .partners .item img { max-width: 128px; max-height: 48px; }

    .extension .logo,
    .campaign .logo { padding: 30px 45px; }
    .extension .logo img,
    .campaign .logo img { max-width: 160px; }
    .extension .text,
    .campaign .text { padding: 30px; }
    .campaign .text { min-height: 240px; }
    .extension .text .text-content,
    .campaign .text .text-content { font-size: 16px; line-height: 22px; }

    .extension.horizontal,
    .campaign.horizontal .campaign-inner { flex-direction: column; }
    .extension.horizontal.reverse,
    .campaign.horizontal.reverse .campaign-inner { flex-direction: column-reverse; }
    .extension.horizontal .logo,
    .campaign.horizontal .logo { width: 100%; }
    .extension.horizontal .text .text-content,
    .campaign.horizontal .text .text-content { text-align: center; }
    .extension.horizontal .text .button,
    .campaign.horizontal .text .button { align-self: center; }

    .links-container { padding: 0 0 10px 0; }
    .links-container .links ul { padding: 0; }
    .links-container .links ul { column-count: 2; }

    .text-box .text-holder:first-child { padding-right: 20px; }
    .text-box .text-holder:last-child { padding-left: 20px; }
    .text-box.bottom-offset .text-holder { padding-bottom: 20px; }
    
    .counters-2 .item { width: 100%; padding: 10px 0 0 0; }
    .counters-2 .item .number { font-size: 30px; line-height: 40px; }
    .counters-2 .item .text { font-size: 15px; line-height: 20px; }
    
    .client-head { padding-top: 10px; }
    .client-head .content { flex-direction: column; }
    .client-head .left { flex-direction: column; align-items: center; padding-right: 0; text-align: center; }
    .client-head .left .details { padding-left: 0; padding-top: 10px; }
    .client-head .left .details .name h1 { font-size: 20px; line-height: 28px; }
    .client-head .left .details .name .icon { font-size: 16px; }
    .client-head .left .details .branch { font-size: 15px; line-height: 20px; }
    .client-head .left .details .rating { justify-content: center; }
    .client-head .right { justify-content: center; }
    .client-head .right .button,
    .client-head .right .button:first-child { margin: 10px 5px 0 5px; }

    .tabs-container .tabs ul::-webkit-scrollbar { width: 0; }
    .tabs-container .tabs ul::-webkit-scrollbar:horizontal { height: 0; }
    .tabs-container .tabs ul::-webkit-scrollbar-track { background: transparent; }
    .tabs-container .tabs ul::-webkit-scrollbar-thumb { background: transparent; }
    .tabs-container .tabs ul::-webkit-scrollbar-corner { background: transparent; }
    
    .users-overview .item { width: 100%; padding-left: 0; padding-right: 0; }
    .users-overview .item:nth-child(3n+1) { padding-left: 0; }
    .users-overview .item:nth-child(3n) { padding-right: 0; }

    .button-boxes .box { padding: 10px; }
    .button-boxes .box .left .details { padding-left: 10px; }

    .error-page .error-code { font-size: 120px; line-height: 120px; }
    .error-page .error-code.small { font-size: 60px; line-height: 80px; }

    .cta { padding-top: 40px; padding-bottom: 40px; }
    .cta .content { flex-direction: column; gap: 10px; text-align: center; }
    .cta .item:first-child { padding-right: 0; padding-bottom: 20px; }
    .cta h4 { font-size: 24px; line-height: 30px; }

    footer { padding-top: 10px; }
    footer .logo { padding-bottom: 10px; }
    footer .hashtag { padding-bottom: 10px; }
    footer .top { flex-wrap: wrap; padding-bottom: 10px; }
    footer .top h5 { margin-bottom: 0; }
    footer .top .item { width: 50%; padding: 5px; }
    footer .top .item:nth-child(odd) { padding-left: 0; }
    footer .top .item:nth-child(even) { padding-right: 0; }
    footer .top .button-2 { align-self: flex-start; }
    footer .bottom { flex-direction: column; padding-bottom: 30px; }
    footer .bottom .left { justify-content: space-between; padding-right: 0; padding-bottom: 10px; }
    footer .bottom .right { justify-content: space-between; }
    footer .bottom .right ul li:first-child { margin-left: 0; }

    .placements-illustration { flex-basis: 40%; height: 300px; }
    .graph-illustration { transform: scale(0.8); }
    .platforms-integration { transform: scale(0.8); }
    .platforms-logos { width: 200px; height: 200px; margin-top: 10px; margin-bottom: 10px; }

    .app-buttons { margin: 20px 10px; }

    .button.sticky { display: flex; }

    .input-container.open { display: flex; flex-direction: column; position: fixed; z-index: 750; top: 0; left: 0; height: 100%; }
    .input-container.open .input { flex-shrink: 0; padding-right: 48px; border-bottom-color: transparent; }
    .input-container.open .result { display: flex; flex-direction: column; }
    .input-container .result { flex-grow: 1; flex-shrink: 1; position: static; height: 0; margin-top: 0; outline: none; }
    .input-container .result ul li { padding-top: 8px; padding-bottom: 8px; }
    .input-container .result .result-content { max-height: 100%; margin-top: 0; }
    .input-container .result .result-content.result-split { flex-direction: column; }
    .input-container .result .result-headline { display: none; }
    .input-container .result .result-nav { flex-shrink: 0; width: 100%; border-bottom: 1px solid var(--s-100); }
    .input-container .result .result-nav::after { display: none; }
    .input-container .result .result-nav ul { flex-direction: row; flex-wrap: wrap; box-sizing: border-box; padding: 5px; }
    .input-container .result .result-nav ul li { flex-basis: 0; flex-grow: 1; min-width: 30%; margin: 5px; padding: 6px 12px; border: 1px solid var(--s-100); font-size: 15px; line-height: 24px; text-align: center; }
    .input-container .result .result-nav ul li.active { background: var(--s-900); border-color: var(--s-900); color: var(--s-25); }
    .input-container .result .result-selections { width: 100%; padding: 10px 5px 5px 5px; }
    .input-container .result .result-selections ul { column-width: 200px; }
    .input-container .result .result-selections ul li { padding-left: 5px; padding-right: 5px; white-space: nowrap; }
    .input-container .result .result-selections ul li.group-item { padding-left: 35px; }
    .input-container .result .result-selections ul li.group-item:before { left: 15px; }
    .input-container.open .close { display: flex; }
    .input-container .result-button { display: flex; }

    .checkbox-container .checkbox-label { font-size: 13px; }

    .modal .modal-content,
    .modal .modal-content.slim { width: 100%; height: 100%; }

    .alert-container { top: auto; bottom: 0; transform: translate(-50%, 100%); }

    @keyframes bounce {
        0% { transform: translate(-50%, 100%); }
        20% { transform: translate(-50%, 0%); bottom: 80px; }
        35%, 100% { transform: translate(-50%, 0%); bottom: 60px; }
    }
}

@media (max-width: 600px) {
    .selections { flex-direction: column; }

    .properties-overview.grid .item { width: 100%; }
    .properties-overview.grid .box .image { height: 47vw; }

    .clients-overview .box .image { width: 120px; min-height: 72px; padding: 12px 20px; }
    .clients-overview .box .image img { max-height: 40px; }

    .text-box { flex-direction: column; }
    .text-box.flip-mobile { flex-direction: column-reverse; }
    .text-box.flip-mobile .image,
    .text-box:not(.flip-mobile) .image:first-child { margin-bottom: 20px; }
    .text-box .text-holder:first-child,
    .text-box.slim .text-holder:first-child { padding-right: 0; }
    .text-box .text-holder:last-child,
    .text-box.slim .text-holder:last-child { padding-left: 0; }
    .text-box .form-container { width: 100%; max-width: 100%; margin-top: 10px; }
    .text-box .image { display: flex; flex-direction: column; align-items: center; max-width: 100%; }
    .text-box .image.placements-illustration { flex-direction: row; align-items: stretch; }

    .placements-illustration { flex-basis: auto; width: 100%; }

    .button-boxes .box { flex-direction: column; align-items: center; }
    .button-boxes .box .left { flex-direction: column; }
    .button-boxes .box .left .details { padding-left: 0; padding-top: 10px; }
    .button-boxes .box .left .headline .name { margin-left: 0; }
    .button-boxes .box .left .headline { justify-content: center; text-align: center; }
    .button-boxes .box .left .info { justify-content: center; text-align: center; }
    .button-boxes .box .left .info li,
    .button-boxes .box .left .info li:last-child { margin: 0 5px; }
    .button-boxes .box .right { padding-left: 0; padding-top: 10px; }
}

@media (max-width: 500px) {
    .form-container .item { width: 100%; }
    
    .form-container .item .split-items .split-item { width: 50% !important; }
    .form-container .item .split-items .split-item:first-child { padding: 0 5px 0 0 !important; }
    .form-container .item .split-items .split-item:last-child { padding: 0 0 0 5px !important; }
	
	.cta-item { flex-direction: column; }
	.cta-item .text { padding-right: 0; padding-bottom: 20px; text-align: center; }

    .property-details .disclaimer ul li { justify-content: space-between; width: 100%; padding-left: 0; padding-right: 0; }
    .property-details .disclaimer ul li:nth-child(3n) { padding-right: 0; }
    .property-details .disclaimer ul li:nth-child(3n+1) { padding-left: 0; }
    .property-details .disclaimer ul li span { width: auto; }

    .links-container .links ul { column-count: 1; }
    .links-container .links.two-columns ul { column-count: 1; }

    .statistics { flex-direction: column; }
    .statistics .statistic { padding-left: 0; padding-right: 0; }

    footer .bottom .left { flex-direction: column; align-items: center; text-align: center; }
    footer .bottom .left span { margin-right: 0; margin-bottom: 10px; }
    footer .bottom .right { flex-direction: column; align-items: center; text-align: center; }
    footer .bottom .right ul { margin-bottom: 10px; }
    footer .bottom .theme { margin-left: 0; }

    .modal .modal-content .form-container .item.split { flex-direction: column; }
    .modal .modal-content .form-container .item .split-item { width: 100%; }
    .modal .modal-content .form-container .item .split-item:first-child { padding: 0 0 5px 0; }
    .modal .modal-content .form-container .item .split-item:last-child { padding: 5px 0 0 0; }
}

@media (max-width: 300px) {
    footer .logo { justify-content: center; }
    footer .top { flex-direction: column; }
    footer .top .buttons { align-self: center; }
    footer .top .item { justify-content: center; width: 100%; padding-left: 0; padding-right: 0; text-align: center; }
    footer .top .button-2 { align-self: center; }
    footer .top ul.socials { justify-content: center; }
}
