/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

:root {}

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #222;
}

html {
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 *
 * todo barva selekce
 */

::-moz-selection {
    background: #d8f8fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1rem 0;
    padding: 0;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */

audio,
canvas,
img,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

:root {
	--red: #ed1c24;
	--red-trans: rgba(237, 28, 36, 0.8);
	--red-trans-2: rgba(237, 28, 36, 0.4);
	--gray: #eaeaea;
	--main-title-size: 50px;
	--main-padding: 105px;
	--proplist-padding: 30px;
}

@media screen and (max-width: 1480px) {
	:root {
		--main-padding: 30px
	}
}

@media screen and (max-width: 830px) {
	:root {
		--proplist-padding: 10px;
	}
}

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

html {
	font-size: 100%;
}

body {
	font-size: 1.25rem;
	overflow-x: hidden !important;
}

body, html {
	font-family: 'Barlow Condensed', sans-serif;
	text-shadow: none;
	background-color: #ffffff;
}

button, input, select, textarea {
	font-family: 'Barlow Condensed', sans-serif;
}

a {
	color: #ed1c24;
	text-decoration: none;
	transition: color 0.3s ease, opacity 0.3s ease;
}

a:hover {
	color: #000000;
	text-decoration: none;
}

b, strong {
	font-weight: 500;
}

/* --- project --- */

.content {
	width: 100%;
	margin: 0 auto;
	max-width: 2560px;
	min-width: 320px;
	box-sizing: border-box;
}

.content.content-padded { padding: 0 var(--main-padding) }

.content .content { min-width: 0; }

.content.content-mid {
	max-width: 1920px;
}

.content.content-sm {
	max-width: 1500px;
}

.content.content-sm.content-padded {
	max-width: calc(1500px + 2 * var(--main-padding));
}

.content.content-xs {
	max-width: 1330px;
}

.content.content-xs.content-padded {
	max-width: calc(1330px + 2 * var(--main-padding));
}

.content.content-black {
	background-color: #000000;
	color: #FFFFFF;
}

/* titles */

.main-title {
	font-size: var(--main-title-size);
	color: var(--red);
	margin: 0 0 0.6em 0;
	font-weight: 300;
	line-height: 1.25em;
}

.main-title b, .main-title strong {
	font-weight: 500;
}

.main-title i {
	font-style: normal;
	color: #000000;
}

.main-title i.subtitle {
	display: block;
	font-size: 0.6666666em;
	line-height: normal;
}

.main-title .subtitle-2 {
	display: block;
	font-size: 0.6em;
	line-height: normal;
	text-transform: lowercase;
	color: #000000;
}

.sec-title {
	font-size: 30px;
	color: var(--red);
	margin: 0 0 0.6em 0;
	font-weight: 300;
}

.uc, .sec-title.uc {
	text-transform: uppercase;
}

.sec-title em {
	font-style: normal;
	color: #ffffff;
}

.gallery-title {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 39.6%;
	min-height: 80px;
	box-sizing: border-box;
	margin: 0 0 8px 0;
	padding: 0 95px 0 0.7777em;
	font-weight: 300;
	height: 39.8%;
	min-width: 520px;
	text-transform: uppercase;
	background-color: var(--red);
	color: #FFFFFF;
	font-size: 2em;
	clip-path: polygon(0 0, calc(100% - 80px) 0, 100% 100%, 0% 100%);
}

.gallery-title-menu {
	display: flex;
}

.gallery-title-menu .gallery-title {
	margin-right: 1em;
}

@media screen and (max-width: 1220px) {
	.main-title {
		font-size: 40px;
	}

	.sec-title, .main-title i.subtitle {
		font-size: 26px;
	}
}

@media screen and (max-width: 680px) {
	.main-title {
		font-size: 35px;
	}

	.gallery-title {
		width: 100%;
		font-size: 1.5em;
		min-width: 0;
		min-height: 60px;
		padding-right: 75px;
		clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 100%, 0% 100%);
	}
}

/* utils */

.mb-200 {
	margin-bottom: 200px;
}

.mb-140 {
	margin-bottom: 140px;
}

.mb-100, .main-title.mb-100 {
	margin-bottom: 100px;
}

.mb-50 {
	margin-bottom: 50px;
}

.center {
	text-align: center;
}

.red {
	color: var(--red);
}

.bottom-symbol:after {
	position: absolute;
	display: block;
	content: " ";
	bottom: -35px;
	left: 50%;
	width: 40px;
	height: 74px;
	transform: translateX(-50%);
	background-image: url("../img/meta-symbol-v-black.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}

/* buttons */

.button-content {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 2.5em;
}

.button-content.np {
	padding-top: 0;
	padding-bottom: 0;
}

.buttons {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 35px;
}

.button, input.button {
	white-space: nowrap;
	display: inline-block;
	color: #ffffff;
	border: 1px solid var(--red);
	background-color: var(--red);
	text-transform: uppercase;
	padding: 13px 55px;
	transition: background-color 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}

.button:hover {
	color: #ffffff;
	background-color: rgba(237, 28, 36, 0.6);
}

.button.button-red-text {
	color: var(--red);
}

.button.button-trans {
	background-color: rgba(237, 28, 36, 0.4);
}

.button.button-trans:hover {
	background-color: rgba(237, 28, 36, 0.6);
}

.button.button-outline {
	background-color: rgba(237, 28, 36, 0);
}

.button.button-outline:hover {
	background-color: rgba(237, 28, 36, 0.2);
}

.button.button-black {
	background-color: #000000;
	color: #ffffff;
	border: none;
}

.button.button-black:hover {
	background-color: rgb(70, 70, 70);
	color: #ffffff;
}

.button.button-black-text, .button.button-black-text:hover {
	color: #000000;
}

.button.button-gray {
	background-color: #cccbd6;
	color: #000000;
	border: none;
}

@media screen and (max-width: 360px) {
	.button, input.button {
		padding-left: 30px;
		padding-right: 30px;
	}
}

@media screen and (max-width: 360px) {
	.button-content {
		padding: 1em;
	}
}

/* header */

:root {
	--header-height: 275px;
	--header-body-height: 120px;
}

.content.main-header {
	height: var(--header-height);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: row;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	transition: transform 0.5s ease, height 0.5s ease, background-color 0.5s ease;
	z-index: 7;
	padding: 0 0 0 75px;
	pointer-events: none;
}

.main-header.closed {
	transform: translate(-50%, -200%);
}

.body-header .main-header {
	height: var(--header-body-height);
	background-color: #000000;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
}

.header-logo {
	width: auto;
	height: 64%; /* 177 */
	pointer-events: auto;
}

.header-logo.inactive {
	opacity: 0 !important;
	pointer-events: none;
}

.header-logo img {
	width: auto;
	height: 100%;
}

@media screen and (max-width: 740px) {
	:root {
		--header-height: 165px;
	}

	.content.main-header {
		padding: 0 0 0 50px;
	}

	.header-logo {
		margin-top: 15px;
	}
}

/* over changer */

.over-changer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 5;
}

.over-changer-vr {
	flex-direction: column;
}

.over-changer-vr .button,
.over-changer-vr .button[data-aos^="fade"][data-aos^="fade"].aos-animate
{
	position: absolute;
	bottom: 90px;
	left: 50%;
	transform: translateX(-50%);
}

.hp-claim {
	width: 63%;
	max-width: 1220px;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.75));
}

.vr-symbol {
	width: 25.6%;
	height: 50%;
	max-width: 640px;
	max-width: 640px;
	margin-top: 50px;
}

.changer-br-button {
	position: absolute;
	bottom: 90px;
	right: 90px;
	z-index: 5;
	min-width: 240px;
	box-sizing: border-box;
}

.hp-claim-shift {
	display: none;
}

@media screen and (max-height: 870px) {
	.over-changer-vr .button,
	.over-changer-vr .button[data-aos^="fade"][data-aos^="fade"].aos-animate
	{
		position: static;
		margin: 50px 0;
		transform: none;
	}
}

@media screen and (max-width: 1220px) {
	.changer-br-button,
	.changer-br-button[data-aos^="fade"][data-aos^="fade"].aos-animate
	{
		bottom: 110px;
		left: 50%;
		right: auto;
		transform: translateX(-50%);
		padding-left: 30px;
		padding-right: 30px;
	}
}

@media screen and (max-width: 660px) {
	.hp-claim {
		display: none;
	}

	.hp-claim-shift {
		display: block;
	}
}

/* menu */

.main-nav {
	position: fixed;
	top: 0;
	right: 0;
	width: calc(100% - 80px);
	max-width: 500px;
	min-width: 240px;
	height: 100vh;
	box-sizing: border-box;
	transform: translateX(calc(100% - 12px));
	transition: transform 0.5s ease;
	z-index: 8;
	font-size: 1.25rem;
}

.menu-opened .main-nav {
	transform: translateX(0);
}

.main-nav::before {
	display: block;
	content: " ";
	position: fixed;
	top: 0;
	right: 0;
	background-color: rgba(0,0,0,0.5);
	z-index: 6;
	width: 200vw;
	height: 100vh;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

.menu-opened .main-nav:before {
	opacity: 1;
}

.main-nav-inner {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	background-color: rgba(237, 28, 36, 0.9);
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	box-sizing: border-box;
	padding: 30px 70px 30px 95px;
	overflow: auto;
	z-index: 8;
}

.menu-trigger {
	position: fixed;
	top: 100px;
	left: -80px;
	width: 90px;
	z-index: 6;
	filter: drop-shadow(0 0 3px rgba(0,0,0,0.5));
	clip-path: polygon(-4px -4px, 90.00% -4px, 90% 104%, -4px 104%)
}

.menu-trigger svg {
	width: 100%;
}

.menu-trigger .line {
	fill: #ffffff;
	transition: fill 0.3s ease;
}

.in-content .menu-trigger .line {
	fill: var(--red);
}

.main-nav a {
	color: #ffffff;
}

.main-nav a:hover {
	color: #000000;
}

.main-nav .lang-link {
	color: #000000;
	text-transform: lowercase;
	margin-bottom: 2em; /* 40 */
	align-self: flex-end;
	font-size: 0.9em; /* 18 */
}

.main-nav .lang-link:hover {
	color: #ffffff;
}

.main-nav-contacts, .main-nav-address {
	margin-top: 2em;
	color: #ffffff;
}

.main-nav-contacts a {
	color: #000000;
}

.main-nav-contacts a:hover {
	color: #ffffff;
}

.main-nav-address-inner {
	color: #000000;
}

.social {
	margin-top: 2em;
}

.social .symbol {
	color: #000000;
	margin-right: 3px;
}

.social .social-link {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding-bottom: 0.6em;
}

.social .social-icon {
	height: 25px;
	margin-left: 20px;
}

.social.body-social {
	margin-top: 0;
	font-size: 40px;
	width: 270px;
	margin: 0 auto;
}

.social.body-social .symbol {
	color: var(--red);
	margin-right: 5px;
}

.social.body-social .social-link {
	color: #ffffff;
}

.social.body-social .social-link:hover {
	color: var(--red);
}

.social.body-social .social-icon {
	height: 30px;
	margin-left: 25px;
}

@media screen and (max-width: 880px) {
	.social.body-social {
		font-size: 30px;
	}
}

@media screen and (max-width: 740px) {
	.menu-trigger {
		top: 47px;
	}
}

@media screen and (max-width: 520px) {
	.main-nav-inner {
		padding: 15px 40px 15px 50px;
	}
}

@media screen and (max-height: 950px) {
	.main-nav .lang-link {
		margin-bottom: 0.5em;
	}

	.menu-trigger {
		top: 60px;
	}
}

/* homapage head */

.hp-top {
	display: flex;
}

.hp-hero-text {
	width: calc(100% - 750px);
	max-width: 750px;
}

.hp-top .main-title {
	margin-top: 3em;
}

.hp-top .hot-news {
	position: relative;
	top: -150px;
	z-index: 4;
	margin-right: 140px;
}

@media screen and (max-width: 1480px) {
	.hp-top .hot-news {
		margin-right: 60px;
	}
}

@media screen and (max-width: 1220px) {
	.hp-top {
		flex-direction: column;
		justify-content: flex-start;
		align-items: center;
	}

	.hp-hero-text {
		width: 100%;
		max-width: none;
		margin-bottom: 6em;
		padding: 0 1em;
		box-sizing: border-box;
	}

	.hp-top .main-title {
		margin-top: 0;
	}

	.hp-top .hot-news {
		margin-right: 0;
		top: -50px;
	}
}

/* stages */

.stages {
	position: relative;
	width: 100%;
	aspect-ratio: 2560/1290;
	margin-bottom: 3em;
}

.stages-bcg {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.stages-bcg.stages-bcg-mobile {
	display: none;
}

.stages-points {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.stage-point {
	list-style-type: none;
	position: absolute;
	top: 5.5%;
	left: 0;
	margin: 0;
	padding: 0;
	transform: translateX(-50%);
	text-align: center;
	font-size: 1.25em; /* 25 */
}

.stage-point-inner {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}

.stage-point-inner:before {
	position: absolute;
	display: block;
	content: " ";
	width: 1px;
	height: calc(100% - 80px);
	bottom: 0;
	left: 50%;
	background-color: var(--red);
}

.stage-point-inner:after {
	position: absolute;
	display: block;
	content: " ";
	width: 33px;
	height: 33px;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--red);
	border-radius: 1000px;
}

.stage-point-vltava {
	left: 17.8%;
	height: 37.5%;
}

.stage-point-golf {
	left: 28.7%;
	height: 49.1%;
}

.stage-point-cyklo {
	left: 6.6%;
	height: 63%;
}

.stage-point-mala-strana {
	left: 48.8%;
	height: 16.3%;
}

.stage-point-naplavka {
	left: 58%;
	height: 16.5%;
}

.lang-en .stage-point.stage-point-naplavka {
	font-size: 1em;
}

.lang-en .stage-point.stage-point-naplavka .stage-point-name {
	position: relative;
	top: -15px;
}

.stage-point-centrum {
	left: 69.4%;
	height: 14.5%;
}

.stages .minutes {
	display: block;
	font-size: 0.9em; /* 18 */
}

.stage-marker {
	position: absolute;
	width: 9.8%;
	aspect-ratio: 1/1;
	border-radius: 1000px;
}

.stage-marker a {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #000000;
	text-align: center;
	text-transform: uppercase;
	font-size: 1.0546vw; /* 27 */
	cursor: default;
}

.stage-marker .row-1 {
	display: block;
	font-size: 1.7187vw; /* 44 */
	line-height: 1.4em;
}

.stage-marker .row-2 {
	display: block;
	color: #ffffff;
	font-size: 1.4843vw; /* 38 */
	font-weight: 400;
	letter-spacing: 0.15em;
}

.stage-marker .row-3 {
	display: block;
	padding-top: 0.2734vw; /* 7 */
}

.stage-marker-tworows .row-2 {
	padding-top: 0.4em;
}

.stage-marker-lofts {
	top: 45%;
	left: 57%;
	background-color: var(--red);
}

.stage-marker-court {
	top: 63.5%;
	left: 45.1%;
	background-color: #e1c654;
}

.stage-marker-towers {
	top: 50%;
	left: 33%;
	background-color: #95b0be;
}

.mall-marker {
	position: absolute;
	top: 65.3%;
	left: 77.7%;
	width: 3%;
}

.mall-marker a {
	position: relative;
	display: block;
}

.mall-marker .marker {
	width: 100%;
	height: auto;
}

.mall-marker .symbol {
	width: 34%;
	position: absolute;
	left: 50%;
	top: 18%;
	transform: translateX(-50%);
}

.mall-marker .text {
	position: absolute;
	top: 80%;
	left: 50%;
	transform: translateX(-50%);
	background-color: #000000;
	color: #ffffff;
	padding: 20px;
	width: 200px;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.mall-marker.text-opened .text {
	opacity: 1;
}

@media screen and (min-width: 2560px) {
	.stage-marker a {
		font-size: 27px;
	}

	.stage-marker .row-1 {
		font-size: 44px;
	}

	.stage-marker .row-2 {
		font-size: 38px;
	}

	.stage-marker .row-3 {
		padding-top: 7px;
	}
}

@media screen and (max-width: 1715px) {
	.stage-point {
		font-size: 1em;
	}

	.lang-en .stage-point.stage-point-naplavka {
		font-size: 0.8em;
	}

	.lang-en .stage-point.stage-point-naplavka .stage-point-name {
		top: -11px;
	}
}

@media screen and (max-width: 1320px) {
	.stage-point {
		font-size: 0.8em;
	}

	.lang-en .stage-point.stage-point-naplavka {
		font-size: 0.65em;
	}

	.lang-en .stage-point.stage-point-naplavka .stage-point-name {
		top: -10px;
	}
}

@media screen and (max-width: 1080px) {
	.stages {
		aspect-ratio: 1198/994;
	}

	.stages-points {
		display: none;
	}

	.stages-bcg {
		display: none;
	}

	.stages-bcg.stages-bcg-mobile {
		display: block;
	}

	.stage-marker {
		width: 17%;
	}

	.stage-marker a {
		font-size: 2.03vw; /* 22 */
	}

	.stage-marker .row-1 {
		font-size: 3.05vw; /* 33 */
	}

	.stage-marker .row-2 {
		font-size: 2.77vw; /* 30 */
	}

	.stage-marker-lofts {
		top: 53%;
		left: 73%;
	}

	.stage-marker-court {
		top: 69%;
		left: 39%;
	}

	.stage-marker-towers {
		top: 48%;
		left: 10%;
	}

	.mall-marker {
		display: none;
	}
}

@media screen and (max-width: 500px) {
	.stage-marker {
		width: 23%;
	}

	.stage-marker-lofts {
		top: 51%;
		left: 70%;
	}

	.stage-marker-court {
		top: 69%;
		left: 35%;
	}

	.stage-marker-towers {
		top: 41%;
		left: 10%;
	}

	.stage-marker a {
		font-size: 3.2vw; /* 16 */
	}

	.stage-marker .row-1 {
		font-size: 4.4vw; /* 22 */
	}

	.stage-marker .row-2 {
		font-size: 4.6vw; /* 23 */
	}
}

/* location */

.location-text-container {
	display: flex;
}

.location-text {
	width: 760px;
	margin-right: 200px;
}

.location-image {
	width: auto;
	margin-top: 5em;
}

.location-image img {
	width: 100%;
}

@media screen and (max-width: 1160px) {
	.location-text {
		width: 60%;
		margin-right: 0;
		padding-right: 100px;
	}
}

@media screen and (max-width: 1000px) {
	.location-text-container {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.location-text {
		width: 100%;
		padding-right: 0;
	}

	.location-image {
		width: 100%;
		max-width: 600px;
		margin-top: 3em;
	}
}

#location-schema {
	--loc-anim-incr: 0.4s;
}

#location-schema .anim-ele {
	opacity: 0;
	transition: opacity 0.6s ease;
}

.aos-animate #location-schema .anim-ele {
	opacity: 1;
}

#location-schema .project-area {
	transition-delay: var(--loc-anim-incr);
}

#location-schema .project-outline {
	transition-delay: calc(var(--loc-anim-incr) * 2);
}

#location-schema .project-icons {
	transition-delay: calc(var(--loc-anim-incr) * 3);
}

#location-schema .centrum-icon {
	transition-delay: calc(var(--loc-anim-incr) * 4);
}

#location-schema .amenities {
	transition-delay: calc(var(--loc-anim-incr) * 5);
}

#location-schema .sales-center {
	transition-delay: calc(var(--loc-anim-incr) * 6);
}

#location-schema .centrum {
	transition-delay: var(--loc-anim-incr);
}

#location-schema .vysehrad {
	transition-delay: calc(var(--loc-anim-incr) * 2);
}

#location-schema .podoli {
	transition-delay: calc(var(--loc-anim-incr) * 3);
}

#location-schema .meta-icon-plan {
	transition-delay: calc(var(--loc-anim-incr) * 4);
}

#location-schema .centrum-18 {
	transition-delay: calc(var(--loc-anim-incr) * 5);
}

#location-schema .map-surround {
	transition-delay: calc(var(--loc-anim-incr) * 6);
}

/* lofts */

.lofts {
	margin-bottom: 14.5em;
}

.lofts-text {
	padding-left: 18.75%; /* 360 */
	width: 100%;
	max-width: 690px;
}

.lofts-points {
	position: relative;
	width: 100%;
	max-width: 890px;
	min-width: 320px;
	margin: 8em auto 0 auto;
}

.lofts-points-image {
	width: 100%;
	height: auto;
}

.lofts-point {
	display: block;
	position: absolute;
	width: 49px;
	height: 49px;
	color: #000000;
	cursor: default;
}

.lofts-point:before, .lofts-point:after {
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--red);
	border-radius: 1000px;
	z-index: 3;
}

.lofts-point:after {
	display: none;
	width: 40%;
	height: 40%;
	background-color: #000000;
	z-index: 4;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) translateZ(0.0001px);
}

.lofts-point .sec-title {
	margin-bottom: 1em;
}

.lofts-point-wrapper {
	position: relative;
	height: auto;
	display: flex;
	top: -31px
}

.lofts-point-wrapper:after {
	position: absolute;
	display: block;
	content: " ";
	top: 55px;
	height: 1px;
	background-color: var(--red);
}

.lofts-point-inner {
	width: 355px;
}

.lofts-point-sound {
	top: 31%;
	left: 29%;
}

.lofts-point-sound .lofts-point-wrapper {
	width: 33.3333vw;
	max-width: 640px;
	transform: translateX(calc(-100% + 49px));
	text-align: right;
}

.lofts-point-sound .lofts-point-wrapper:after {
	width: 61%;
	right: 0;
}

.lofts-point-floor {
	top: 26.2%;
	left: 70%;
}

.lofts-point-floor .lofts-point-wrapper {
	width: 29.1vw;
	max-width: 560px;
	justify-content: flex-end;
}

.lofts-point-floor .lofts-point-wrapper:after {
	width: 53%;
	left: 0;
}

.lofts-point-space {
	top: 84%;
	left: 35%;
}

.lofts-point-space .lofts-point-wrapper {
	width: 32.3vw;
	max-width: 620px;
	justify-content: flex-end;
}

.lofts-point-space .lofts-point-wrapper:after {
	width: 58%;
	left: 0;
}

.body-claim {
	text-align: center;
	padding: 6.45em 0 5em 0;
}

.body-claim-img {
	width: 80%;
	max-width: 1195px;
}

.content.single-text {
	padding-top: 4em;
	padding-bottom: 4em;
}

@media screen and (max-width: 1023px) {
	.lofts-text {
		padding-left: 0;
		width: 100%;
		max-width: 690px;
		margin: 0 auto;
		padding: 0 50px;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 1620px) {
	.lofts-point {
		cursor: pointer;
		z-index: 1;
	}

	.lofts-point.active {
		z-index: 2;
	}

	.lofts-point.active:after {
		width: 55%;
		height: 55%;
		animation-name: none;
	}

	.lofts-point:after {
		display: block;
		animation-name: pulse;
		animation-duration: 4s;
		animation-iteration-count: infinite;
		border-radius: 1000px;
		transition: width 0.2s ease, height 0.2s ease;
	}

	.lofts-point.lofts-point-sound:after {
		animation-delay: 0s;
	}

	.lofts-point.lofts-point-floor:after {
		animation-delay: 1.3333s;
	}

	.lofts-point.lofts-point-space:after {
		animation-delay: 2.6666s;
	}

	@keyframes pulse {
		0% {
			width: 40%;
			height: 40%;
		}

		16.6666% {
			width: 55%;
			height: 55%;
		}

		33.3333% {
			width: 40%;
			height: 40%;
		}
	}

	.lofts-point .lofts-point-wrapper {
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
	}

	.lofts-point.active .lofts-point-wrapper {
		opacity: 1;
	}

	.lofts-point .sec-title {
		font-size: 20px;
		margin-bottom: 0.5em;
	}

	.lofts-point-wrapper,
	.lofts-point-sound .lofts-point-wrapper,
	.lofts-point-floor .lofts-point-wrapper,
	.lofts-point-space .lofts-point-wrapper
	{
		top: 24px;
		width: 270px;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		font-size: 15px;
	}

	.lofts-point-space .lofts-point-wrapper {
		transform: translateX(-50%) translateY(-100%);
	}

	.lofts-point-wrapper:after {
		display: none;
	}

	.lofts-point-inner {
		width: 100%;
		background-color: rgba(255,255,255,0.9);
		box-shadow: 0 0 10px rgba(0,0,0,0.3);
		box-sizing: border-box;
		padding: 37px 25px 25px 25px;
	}

	.lofts-point-space .lofts-point-inner {
		padding: 25px 25px 37px 25px;
	}
}

@media screen and (max-width: 1240px) {
	.body-claim {
		padding: 1em 0 5em 0;
	}
}

@media screen and (max-width: 560px) {
	.lofts-point-floor .lofts-point-wrapper {
		left: -70%;
	}
}

@media screen and (max-width: 500px) {
	.lofts-text {
		padding: 0 30px;
	}
}

@media screen and (max-width: 420px) {
	.lofts-point-inner {
		padding: 35px 15px 15px 15px;
	}

	.lofts-point-space .lofts-point-inner {
		padding: 15px 15px 35px 15px;
	}
}

/* locationtexts */

.hero-text {
	width: 100%;
	max-width: 1390px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.location-map {
	position: relative;
}

.location-map svg {
	width: 100%;
	height: auto;
}

/* cards */

.text-cards {
	width: 100%;
	padding-bottom: 1px;
}

.text-submenu {
	--top-border-width: 18px;

	position: relative;
	z-index: 5;
	margin: 0;
	padding: 0;
	height: var(--top-border-width);
	background-color: #000000;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.text-submenu li {
	position: relative;
	margin: 0 2px 0 0;
	padding: 0;
	list-style-type: none;
	pointer-events: none;
}

.text-submenu li:last-of-type {
	margin: 0;
}

.text-submenu a {
	display: block;
	width: 280px;
	padding: 12px;
	box-sizing: border-box;
	position: relative;
	font-size: 20px;
	text-transform: uppercase;
	text-align: center;
	background-color: #000000;
	color: #FFFFFF;
	pointer-events: auto;
}

.text-submenu a:hover {
	color: var(--red);
}

.text-submenu a.active {
	color: #ffffff;
	background-color: var(--red);
}

.text-submenu-l2-item {
	position: absolute;
	margin: 0;
	padding: 0;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.text-submenu-l2-item.active {
	opacity: 1;
	pointer-events: auto;
}

.text-submenu-l2-item a {
	background-color: #343232;
	pointer-events: none;
}

.text-submenu-l2-item.active a {
	pointer-events: auto;
}

@media screen and (max-width: 970px)
{
	.text-submenu {
		height: auto;
		background-color: transparent;
		flex-direction: column;
		align-items: center;
	}

	.text-submenu li {
		margin: 0;
		width: 100%;
		max-width: 280px;
		padding-bottom: 10px;
	}

	.text-submenu a {
		padding: 10px;
	}

	.text-submenu a:after {
		display: none;
	}

	.text-submenu-l2-item li {
		padding-bottom: 0;
	}
}

.sub-cards-menu {
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	position: relative;
}

.sub-cards-menu li {
	list-style-type: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.sub-cards-menu li:after {
	display: block;
	content: " ";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	height: 2em;
	width: 1px;
	background-color: var(--red);
}

.sub-cards-menu li:last-of-type:after {
	display: none;
}

.sub-cards-menu a {
	display: block;
	font-weight: normal;
	text-decoration: none;
	text-transform: lowercase;
	padding: 0 16px;
	transition: color 0.3s ease;
	color: #000000;
}

.sub-cards-menu li:first-of-type a {
	padding-left: 0;
}

.sub-cards-menu li:last-of-type a {
	padding-right: 0;
}

.sub-cards-menu a.active, .sub-cards-menu a:hover { color: var(--red); }

/* lean cards */

.lean-cards, .lean-card {
	padding-bottom: 1px;
}

.lean-submenu {
	--line-height: 23px;

	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	border-bottom: 2px solid #cacaca;
	margin-bottom: 60px;
}

.lean-submenu li {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.lean-submenu a {
	font-size: 30px;
	text-align: center;
	padding: 15px 40px;
	text-transform: uppercase;
	display: block;
	color: #000000;
	position: relative;
}

.lean-submenu a:hover {
	color: var(--red);
}

.lean-submenu a:after {
	display: block;
	position: absolute;
	left: 0;
	top: 100%;
	content: " ";
	background-color: var(--red);
	width: 100%;
	height: var(--line-height);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.lean-submenu a.active:after {
	opacity: 1;
}

.lean-submenu li:first-of-type a:after {
	clip-path: polygon(0 0, 100% 0, 100% 100%, var(--line-height) 100%);
}

.lean-submenu li:last-of-type a:after {
	clip-path: polygon(0 0, 100% 0, calc(100% - var(--line-height)) 100%, 0 100%)
}

.lean-card {
	text-align: center;
}

@media screen and (max-width: 820px)
{
	.lean-submenu a {
		font-size: 1.3rem;
	}

	.lean-submenu {
		--line-height: 15px;
	}
}

@media screen and (max-width: 700px)
{
	.lean-submenu {
		flex-direction: column;
		align-items: center;
		padding-bottom: 5px;
	}

	.lean-submenu a {
		padding: 5px 10px;
		width: 100%;
		box-sizing: border-box;
	}

	.lean-submenu a:after {
		display: none;
	}

	.lean-submenu a.active {
		color: var(--red);
	}
}

/* status */

.status {
	text-transform: uppercase;
	color: #8e8e8e;
	font-weight: 500;
}

.status-4, .status-5, .status-8 {
	color: var(--red);
}

/* currency switch */

.currency-switch {
	display: inline-flex;
	justify-content: flex-start;
	margin: 0;
	padding: 0;
}

.currency-switch li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	margin-right: 6px;
}

.currency-switch li:last-of-type {
	margin-right: 0;
}

.currency-switch a {
	display: block;
	text-align: center;
	text-transform: uppercase;
	background-color: var(--gray);
	color: #000000;
	padding: 2px 10px;
	transition: color 0.3s ease;
	min-width: 30px;
}

.currency-switch a:hover {
	color: #ffffff;
}

.currency-switch .active a {
	background-color: var(--red);
	color: #ffffff;
}

.property-list-tools {
	text-align: right;
	margin-bottom: 1em;
	padding-right: var(--proplist-padding);
}

.property-list-remark {
	font-size: 0.8em;
	margin-top: 5.5em;
	line-height: 1.5625em;
	padding: 0 var(--proplist-padding);
}

@media screen and (max-width: 1120px) {
	.property-list-tools {
		padding-right: 0;
	}
}

/* usp */

.usp {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 115px;
	padding: 0;
}

.usp li {
	width: calc(33.3333% - 77px);
	max-width: 360px;
	aspect-ratio: 1/1;
	border-radius: 1000px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	overflow: hidden;
}

.usp li a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	overflow: hidden;
}

.usp a:after {
	display: block;
	content: " ";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0);
	z-index: 1;
	transition: background-color 0.3s ease;
}

.usp a.active:after {
	background-color: rgba(255,255,255,0.4);
}

.usp-title {
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 3;
	color: #ffffff;
	font-size: var(--main-title-size);
	text-shadow: 0 0 10px rgba(0,0,0,1);
	font-weight: 300;
	text-align: center;
}

.usp-title b, .usp-title strong {
	display: block;
	font-weight: 500;
}

.usp-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	z-index: 1;
}

@media screen and (max-width: 1180px) {
	.usp {
		gap: 50px;
	}

	.usp li {
		width: calc(33.3333% - 33.4px);
	}
}

@media screen and (max-width: 1024px) {
	.usp-title {
		font-size: 4.88vw;
	}
}

@media screen and (max-width: 840px) {
	@media screen and (max-width: 1180px) {
		.usp {
			gap: var(--main-padding);
		}

		.usp li {
			width: calc(33.3333% - (var(--main-padding) / 3) * 2);
		}
	}
}

@media screen and (max-width: 520px) {
	.usp li {
		width: calc(50% - var(--main-padding) / 2);
	}

	.usp-title {
		font-size: 26px;
	}
}

@media screen and (max-width: 400px) {
	.usp li {
		width: 100%;
	}

	.usp-title {
		font-size: 11.25vw;
	}
}

@media screen and (max-width: 320px) {
	.usp-title {
		font-size: 36px;
	}
}

/* kontakt */

.companies-content .lean-card {
	padding-top: 2em;
}

.category-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding-top: 2em;
}

.companies-category {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 180px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.companies-category.single-category {
	width: calc(33.3333% - 100px);
}

.companies-category .company {
	width: 50%;
	height: auto;
	max-width: 310px;
}

.companies-category.single-category .company {
	width: 100%;
}

.companies-category .sec-title {
	width: 100%;
}

.company-logo {
	width: 100%;
	height: 100%;
	max-width: 310px;
	max-height: 100px;
	object-fit: contain;
	object-position: center center;
}

.pr-logo {
	width: 100%;
	max-width: 400px;
	margin-bottom: 2em;
}

@media screen and (max-width: 1290px) {
	.companies-category.single-category {
		width: calc(50% - 100px);
	}
}

@media screen and (max-width: 870px) {
	.companies-category.single-category {
		width: 100%;
	}


	.companies-category .company {
		width: 100%;
	}

	.companies-category.multi-category .company {
		margin-bottom: 2em;
	}
}

.persons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.person {
	display: flex;
	align-items: center;
	border-radius: 1000px;
	overflow: hidden;
	text-align: left;
	line-height: 1.5em;
	margin-bottom: 1em;
	color: #ffffff;
	position: relative;
	background-image: url("../img/contact-person-bcg.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.person:after {
	display: block;
	position: absolute;
	content: " ";
	background-color: rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
}

.person-photo {
	border-radius: 1000px;
	margin-right: 2.75em;
	position: relative;
	z-index: 2;
}

.person-text {
	position: relative;
	z-index: 2;
	padding-right: 5em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
}

.person strong, .person a {
	display: block;
	color: #ffffff;
}

.person a:hover {
	text-decoration: underline;
}

.press-container .sec-title {
	margin-bottom: 2em;
}

.pr-company {
	margin-bottom: 2.5em;
}

@media screen and (max-width: 630px) {
	.person-text {
		letter-spacing: normal;
		padding-right: 2em;
	}

	.person-photo {
		margin-right: 1.5em;
		width: auto;
		height: 160px;
		aspect-ratio: 1/1;
	}
}

@media screen and (max-width: 480px) {
	.person {
		flex-direction: column;
		justify-content: center;
		width: 100%;
		background-image: none;

	}

	.person-text {
		padding: 1em;
		text-align: center;
	}

	.person-photo {
		margin-right: 0;
	}

	.person, .person strong, .person a {
		color: #000000;
	}

	.person:after {
		display: none;
	}
}

.seller-text {
	position: absolute;
	top: 0;
	left: 54.8%;
	height: 84.8%;
	background-color: rgba(237,28,36,0.9);
	color: #e7e8e9;
	width: 520px;
	padding: 3em 2.5em;
	box-sizing: border-box;
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 520px), 0% 100%);
	z-index: 1;
}

.seller-text .sec-title {
	color: #FFFFFF;
}

.seller-text a {
	color: #e7e8e9;
}

.seller-text a:hover {
	color: #000000;
}

.seller-text .contact-link {
	color: #000000;
}

.seller-text .contact-link:hover {
	color: #ffffff;
}

.contact-b-text {
	color: #000000;
}

.seller-text .social .social-link {
	display: inline-flex;
}

@media screen and (max-width: 1980px) {
	.seller-text {
		width: 45.2%;
		max-width: 520px;
		clip-path: none;
	}
}

@media screen and (max-width: 1580px) {
	.seller-text {
		position: static;
		left: auto;
		height: auto;
		color: #e7e8e9;
		width: 100%;
		max-width: none;
		text-align: center;
		background-color: transparent;
		color: #000000;
		padding: 0 var(--main-padding) 2em var(--main-padding);
	}

	.seller-text .sec-title {
		color: var(--red);
	}

	.seller-text a {
		color: var(--red);
	}

	.seller-text .contact-link:hover {
		color: var(--red);
	}
}

/* typical vr */

.typical-vr-wrapper {
	width: 100vw;
	overflow: hidden;
}

.content.typical-vr-category {
	padding-top: 3.5em;
	padding-bottom: 3.5em;
	position: relative;
}

.typical-vr-category .main-title {
	position: relative;
	z-index: 2;
}

.typical-vr-category:after {
	position: absolute;
	display: block;
	content: " ";
	width: 200vw;
	background-color: #000000;
	height: calc(100% - 220px);
	top: 0;
	left: 0;
	z-index: 1;
}

.typical-vr-category-inner {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 100px 60px;
	position: relative;
	z-index: 2;
	justify-items: center;
}

.typical-vr {
	width: 100%;
	max-width: 400px;
	box-shadow: 0 0 15px rgba(0,0,0,0.8);
}

.typical-vr-image {
	position: relative;
}

.typical-vr-image:after {
	position: absolute;
	display: block;
	content: " ";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.3);
	z-index: 1;
}

.typical-vr-image .vr-symbol {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 34%;
	height: auto;
	max-width: 135px;
	z-index: 2;
	margin: 0;
}

.typical-vr-image img {
	width: 100%;
}

.typical-vr-floorplan {
	width: 100%;
}

@media screen and (max-width: 1440px) {
	.typical-vr-category-inner {
		grid-gap: 60px var(--main-padding);
	}
}

@media screen and (max-width: 960px) {
	.typical-vr-category-inner {
		grid-template-columns: 1fr 1fr;
	}
}

@media screen and (max-width: 600px) {
	.typical-vr-category-inner {
		grid-template-columns: 1fr;
	}
}

.disclaimer {
	position: fixed;
	bottom: 0;
	right: 135px;
	background-color: rgba(0,0,0,0.5);
	font-size: 15px;
	width: 50%;
	max-width: 1090px;
	color: #ffffff;
	transform: translateY(100%);
	transition: transform 0.3s ease;
}

.disclaimer.active {
	transform: translateY(0);
}

.disclaimer-body {
	padding: 20px;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	position: relative;
}

.disclaimer-body p:last-of-type {
	margin-bottom: 0;
}

.disclaimer-button {
	display: grid;
	grid-template: 1fr / 1fr;
	justify-items: center;
	align-items: center;
	position: absolute;
	bottom: 100%;
	right: 0;
	background-color: rgba(0,0,0,0.5);
	width: 70px;
	height: 65px;
	overflow: hidden;
}

.disclaimer-button img {
	grid-row: 1 / 1;
	grid-column: 1 / 1;
	transition: opacity 0.3s ease;
	object-fit: contain;
	object-position: center center;
	width: 50%;
	height: 50%;
}

.disclaimer-info {
	opacity: 1;
}

.disclaimer-close {
	opacity: 0;
}

.disclaimer.active .disclaimer-info {
	opacity: 0;
}

.disclaimer.active .disclaimer-close {
	opacity: 1;
}

@media screen and (max-width: 990px) {
	.disclaimer {
		right: var(--main-padding);
		width: 70%;
	}
}

@media screen and (max-width: 720px) {
	.disclaimer {
		right: var(--main-padding);
		width: calc(100% - var(--main-padding) * 2);
	}
}

.vr-nav-buttons {
	position: fixed;
	top: 57px;
	right: 140px;
	z-index: 7;
	pointer-events: none;
}

.vr-nav-buttons .button {
	pointer-events: auto;
}

@media screen and (max-width: 1080px) {
	.vr-nav-buttons {
		top: 135px;
		right: 32px;
	}

	.vr-nav-buttons .button {
		font-size: 80%;
	}

	.vr-nav-buttons .buttons {
		flex-direction: column;
		align-items: flex-end;
		gap: 20px;
	}
}

@media screen and (max-width: 440px) {
	.vr-nav-buttons {
		top: 165px;
	}
}

.vr-frame {
	width: 100%;
	height: 100vh;
	border: none;
}

/* konfigurtor */

.config-frame {
	width: 100%;
	border: none;
	aspect-ratio: 1812 / 1208;
}

/* favorites */

.favorite-mark path {
	fill: transparent;
	stroke: #000000;
	stroke-opacity: 0.2;
	stroke-width: 2px;
}

.in-fav path {
	fill: var(--red);
}

/* property detail */

.property-detail {
	--images-width: 960px;
	--property-detail-padding: 5em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
}

.backlink {
	display: inline-block;
	position: relative;
	text-transform: uppercase;
	color: #000000;
}

.backlink:hover {
	color: var(--red);
}

.backlink:before {
	position: absolute;
	display: block;
	content: " ";
	top: 50%;
	left: -36px;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-right: 16px solid var(--red);
}

.property-left {
	width: 38.5%;
	max-width: var(--images-width);
	display: flex;
	flex-wrap: wrap;
	flex-shrink: 0;
}

.property-detail-image {
	width: 50%;
	aspect-ratio: 960 / 640;
	position: relative;
}

.property-detail-image.first {
	width: 100%;
}

.property-detail-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.property-detail-image .image-count {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	color: #ffffff;
	font-size: 2em;
}

.property-detail-image .vr-cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--red-trans);
}

.property-detail-image .vr-cover .logo-360 {
	width: 70%;
	height: 70%;
}

.property-right {
	width: 61.5%;
	flex-shrink: 1;
	padding: 0 var(--property-detail-padding) 60px var(--property-detail-padding);
	box-sizing: border-box;
}

@media screen and (min-width: 2660px) {
	.property-right {
		padding-right: 0;
	}
}

.property-body {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.property-body-left {
	width: 58%;
	padding-right: var(--property-detail-padding);
	box-sizing: border-box;
}

.property-body-right {
	width: 42%;
	max-width: 500px;
}

.property-body-price-block {
	text-align: right;
}

.property-detail .favorite-link {
	display: inline-block;
	margin-left: 20px;
	position: relative;
	top: -5px;
}

.property-data {
	margin: 0 0 1.6em 0;
	padding: 0;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 15px;
}

.property-data li {
	margin: 0;
	padding: 0;
	background-color: #000000;
	color: #ffffff;
	text-transform: uppercase;
	font-weight: 300;
	padding: 15px 20px;
}

.property-data span {
	text-transform: none;
}

.property-buttons p {
	margin: 0;
}

.property-areas {
	letter-spacing: 0.08em;
}

.property-detail .price {
	font-size: 2em;
	margin-bottom: 0.5em;
}

.status-sm {
	display: block;
	font-size: 70%;
}

.property-body-right .currency-switch {
	margin-bottom: 1em;
}

.property-body-right .button {
	margin-bottom: 1em;
}

.property-plan {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.property-body-left .property-plan {
	max-width: 775px;
}

.property-body-right .property-plan {
	max-width: 500px;
	margin-bottom: 2em;
}

.property-body-right .areas-table {
	margin-bottom: 2em;
}

@media screen and (max-width: 2150px) {
	.property-detail {
		--property-detail-padding: 3em;
	}
}

@media screen and (max-width: 1380px) {
	.property-left {
		width: 100%;
		order: 2;
	}

	.property-right {
		width: 100%;
		padding-left: var(--main-padding);
		padding-right: var(--main-padding);
		order: 1;
	}

	.property-body-right .areas-table {
		margin-top: 2em;
	}

	.property-detail {
		--property-detail-padding: var(--main-padding);
	}

	.backlink {
		margin-left: 2em;
	}

	.property-body-right .property-plan {
		max-width: 680px;
	}
}

@media screen and (max-width: 800px) {
	.property-detail .price {
		font-size: 1.7em;
	}
}

@media screen and (max-width: 780px) {
	.property-body-left {
		width: 100%;
		padding-right: 0;
	}

	.property-body-right {
		width: 100%;
		max-width: none;
		text-align: left;
	}

	.property-price-switch {
		display: flex;
		justify-content: space-between;
		margin-bottom: 2em;
	}

	.property-price-switch .price {
		order: 1;
	}

	.property-price-switch .currency-switch {
		order: 2;
	}

	.property-buttons {
		margin-bottom: 2em;
	}

	.property-buttons br {
		display: none;
	}

	.property-buttons {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 1em;
	}

	.property-buttons .button {
		padding-left: 0;
		padding-right: 0;
		width: calc(50% - 0.5em);
		min-width: 220px;
		box-sizing: border-box;
		text-align: center;
		margin-bottom: 0;
	}
}

@media screen and (max-width: 460px) {
	.property-price-switch {
		flex-direction: column;
	}
}

/* add here */


/* preliminterest */

.fix-content.single-form {
	background-image: none;
	background-color: transparent;
	width: 100%;
}

.single-form .over-content {
	background-color: rgba(255,255,255,0.95);
	color: #000000;
	width: 100%;
	max-width: 100%;
	min-height: 100vh;
	margin-top: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
}

.single-form .bcg-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	z-index: -1;
}

.single-form {
	width: 100%;
	max-width: 835px;
	margin: 0 auto;
	text-align: center;
}

.single-form p {
	margin-top: 0;
}

.single-form .over-content h3 {
	text-transform: uppercase;
	text-align: center;
	max-width: 525px;
	margin: 0 auto 40px auto;
}

.single-form .over-content h3 span {
	display: block;
	text-transform: none;
}

.single-form .over-content a { color: #000000; }

.single-form .over-content a.close {
	top: 32px;
	right: 32px;
	background-color: transparent;
	color: transparent;
	width: 29px;
	height: 29px;
	border-radius: 0;
	margin: 0;
	background-image: url("../img/popup-close.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	box-shadow: none;
}

.single-form .agree-container a {
	color: var(--red);
}

.single-form .form-elements {
	width: 100%;
	max-width: 320px;
	margin: 0 auto;
}

.single-form .form-elements-wide {
	max-width: 480px;
}

.single-form input[type=text], .single-form select, .single-form textarea {
	padding: 10px 0;
	width: 100%;
	margin-bottom: 20px;
	text-align: center;
	background-color: #d1d1d1;
	border: none;
	color: #000000;
	font-weight: normal;
	font-size: 15px;
}

.single-form textarea { height: 5.6em; }

.single-form .agree-container {
	padding: 20px 0 20px 0;
}

.single-form input[type=checkbox], .single-form input[type=radio] {
	width: auto;
	margin-bottom: 0;
	line-height: normal;
	margin-right: 10px;
}

.single-form .radio { margin-bottom: 20px; }

.single-form .radio.radio-nb br { display: none; }

.single-form .radio label, .single-form .checkbox label {
	margin-right: 15px;
	white-space: nowrap;
}

.single-form .radio label:last-of-type { margin-right: 0; }

.single-form strong { font-weight: 500; }

.single-form .changer-interest {
	display: inline-block;
	margin: 25px 0 50px 0;
}

.single-form input[type=submit] {
	width: auto;
	display: inline-block;
}

.single-form .button {
	margin: 45px 0 80px 0;
}

.single-form ::-webkit-input-placeholder { opacity: 0.5; color: #000000; text-transform: uppercase; font-size: 15px; }
.single-form :-moz-placeholder { opacity: 0.5; color: #000000; text-transform: uppercase; font-size: 15px; }
.single-form ::-moz-placeholder { opacity: 0.5; color: #000000; text-transform: uppercase; font-size: 15px; }
.single-form :-ms-input-placeholder { opacity: 0.5; color: #000000; text-transform: uppercase; font-size: 15px; }
.single-form ::-ms-input-placeholder { opacity: 0.5; color: #000000; text-transform: uppercase; font-size: 15px; }
.single-form ::placeholder { opacity: 0.5; color: #000000; text-transform: uppercase; font-size: 15px; }

.single-form .sm-logo {
	width: 240px;
}

#preliminterest .recaptcha-container.absolute {
	bottom: 120px;
}

@media screen and (max-height: 5000px) and (min-width: 800px) {
	.single-form .form-elements {
		max-width: 640px;
	}

	.single-form .row {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
	}

	.single-form .row.row-single {
		justify-content: center;
	}

	.single-form .row input, .single-form .row select {
		width: calc(50% - 10px);
	}
}

@media screen and (max-width: 980px) {
	.fix-content.single-form { width: 100%; }
}

@media screen and (max-width: 720px) {
	.single-form form { width: 100%; }

	.single-form .over-content h3 { padding: 0 50px; }
}

@media screen and (max-width: 580px) {
	.single-form input[type="submit"] {
		font-size: 14px;
	}

	.single-form .changer-interest {
		padding: 0 10px;
		min-width: 0;
	}
}

/* add here */

/* footer */

.main-footer {
	color: #ffffff;
}

.main-footer .main-title {
	font-size: 2rem;
	text-transform: uppercase;
}

.main-footer a {
	color: #ffffff;
}

.main-footer a:hover {
	color: var(--red);
	text-decoration: none;
}

.main-footer a.button:hover {
	color: #FFFFFF;
}

.main-footer .content {
	position: relative;
}

.main-footer .content:before {
	position: absolute;
	display: block;
	content: " ";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background:
			linear-gradient(135deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.5) 45%, rgba(0,0,0,0) 45%),
			linear-gradient(to left, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 55%)
	;
}

.footer-bcg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	z-index: 1;
}

.footer-inner {
	position: relative;
	z-index: 3;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	padding: 4em 9.5em;
}

.footer-contacts {
	font-size: 1.25em;
	padding-bottom: 1em;
}

.footer-contact {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
}

.main-footer .legal {
	padding-bottom: 1em;
}

.main-footer .legal a {
	text-transform: uppercase;
}

.footer-credit {
	text-align: right;
}

.footer-credit .developer-logo {
	width: 80%;
	max-width: 260px;
	display: inline-block;
}

.legal.legal-mobile {
	display: none;
}

@media screen and (max-width: 1520px) {
	.main-footer .content:before {
		background:
				linear-gradient(135deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0) 50%),
				linear-gradient(to left, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 55%)
	;
	}

	.footer-inner {
		padding: 50px;
	}
}

@media screen and (max-width: 1120px) {
	.main-footer .content:before {
		background:
				linear-gradient(135deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.5) 58%, rgba(0,0,0,0) 58%),
				linear-gradient(to left, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 55%)
		;
	}
}

@media screen and (max-width: 820px) {
	.main-footer .content:before {
		background: linear-gradient(135deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.1) 100%);
	}

	.footer-inner {
		justify-content: center;
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.footer-contact, .footer-credit {
		width: 100%;
		text-align: center;
	}

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

	.footer-credit {
		padding-top: 3.5em;
	}

	.main-footer .legal {
		display: none;
	}

	.main-footer .legal.legal-mobile {
		display: block;
		padding-top: 2em;
	}

	.main-footer .sep {
		display: inline-block;
		padding: 0 20px;
	}
}

@media screen and (max-width: 750px) {
	.main-footer .sep {
		display: none;
	}

	.main-footer .legal a {
		text-align: center;
		display: block;
	}
}

/* preload */

#preloader-cover {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000000;
	z-index: 100;
	background-image: url("../img/loader.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 150px 150px;
}

.ajax-loading { position: relative; }

.ajax-loading:after {
	content: " ";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.6);
	background-image: url("../img/loader.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 150px 150px;
	z-index: 5;
}

/* gallery */

.lb-gallery {
	position: fixed;
	display: none;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 1% 0;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.8);
	z-index: 500;
}

.lb-gallery.loading {
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url(../img/gallery/loading.svg);
}

.lb-gallery a.prev, .lb-gallery a.next {
	position: absolute;
	width: 20%;
	height: 100%;
	top: 0;
	background-repeat: no-repeat;
	background-size: 14px auto;
	z-index: 5;
}

.lb-gallery a.prev {
	left: 0;
	background-position: calc(0% + 35px) center;
	background-image: url(../img/gallery/left.png);
}

.lb-gallery a.next {
	right: 0;
	background-position: calc(100% - 35px) center;
	background-image: url(../img/gallery/right.png);
}

.lb-gallery .canvas {
	margin: 0 auto;
	width: calc(100% - 208px);
	height: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
}

.lb-gallery .canvas-image {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	object-fit: contain;
	width: 100%;
	height: 100%;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .lb-gallery .canvas-image {
		transform: translateX(-50%) translateY(-50%);
		width: 100%;
		height: auto;
	}
}

.lb-gallery .thumbnails {
	position: absolute;
	top: 100%;
	width: 100%;
	margin-top: -85px;
	text-align: center;
	z-index: 6;
}

.lb-gallery .thumbnails a {
	display: inline-block;
	margin: 0 10px;
	height: 75px;
	line-height: 75px;
	vertical-align: top;
	margin-bottom: 10px;
}

.lb-gallery .thumbnails a.active {
	opacity: 0.6;
}

.lb-gallery .thumbnails img {
	width: 100px;
	max-height: 75px;
}

.lb-gallery a.close {
	position: absolute;
	top: 25px;
	right: 25px;
	width: 44px;
	height: 44px;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url(../img/gallery/close.png);
	background-size: cover;
	background-color: transparent;
	z-index: 7;
}

@media screen and (max-width: 1023px) {
	.lb-gallery a.prev {
		background-size: 17px 46px;
		background-position: calc(0% + 17px) center;
	}

	.lb-gallery a.next {
		background-size: 17px 46px;
		background-position: calc(100% - 17px) center;
	}

	.lb-gallery .canvas { width: calc(100% - 102px); }

	.lb-gallery a.close {
		width: 22px;
		height: 22px;
		top: 12px;
		right: 12px;
	}

	.lb-gallery .thumbnails img {
		width: 50px;
		max-height: 37px;
	}

	.lb-gallery .thumbnails a {
		height: 50px;
		line-height: 50px;
		margin-bottom: 5px;
	}

	.lb-gallery .thumbnails {
		margin-top: -50px;
	}
}

/* flashes */

figure.flashes {
	position: fixed;
	width: 370px;
	padding: 15px;
	top: 333px;
	left: 50%;
	margin-left: -200px;
	background-color: #019C9E;
	color: #ffffff;
	font-weight: bold;
	z-index: 12;
	border: 1px solid #ffffff;
}

/* recaptcha */

.recaptcha-container {
	display: none;
	position: absolute;
	padding: 10px;
	border-radius: 4px;
	overflow: hidden;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	box-shadow: 0px 0px 40px 10px rgba(0,0,0,0.8);
	background-color: rgba(255,255,255,0.9);
}

.recaptcha-wait {
	display: block;
	text-align: center;
	margin-bottom: 10px;
}

.recaptcha-wait span {
	display: inline-block;
	padding-right: 25px;
	background-image: url("../img/loader-dots.svg");
	background-position: 100% 75%;
	background-repeat: no-repeat;
	background-size: 20px;
}

.recaptcha-container.absolute {
	display: block;
}

/* paginator */

.pagination { text-align: center; }
.pagination ul { display:inline-block;margin:0;padding:0;border-radius:3px;box-shadow:0 1px 2px rgba(0, 0, 0, 0.05); }
.pagination li { display:inline; }
.pagination a { float:left;padding:0 14px;line-height:34px;text-decoration:none;border:1px solid #ddd;border-left-width:0; }
.pagination a:hover,.pagination .active a { background-color:#f5f5f5; }
.pagination .active a { color:#999999;cursor:default; }
.pagination .disabled span,.pagination .disabled a,.pagination .disabled a:hover { color:#999999;background-color:transparent;cursor:default; }
.pagination li:first-child a { border-left-width:1px;border-radius:3px 0 0 3px; }
.pagination li:last-child a { border-radius:0 3px 3px 0; }
.pagination-centered { text-align:center; }
.pagination-right { text-align:right; }

/* errors default */

ul.error, ul.flashes {
	display: block;
	background-color: #ee630f;
	color: #ffffff;
	padding: 0;
	margin: 1rem 0rem;
}

ul.flashes {
	background-color: #a7a7a7;
}

ul.error li, ul.flashes li {
	padding: 5px 10px;
	margin: 0px;
	list-style-type: none;
	list-style-image: none;
}

ul.flashes .error {
	background-color: #ee630f;
}

/* popups */

.fix-content {
	display: none;
	position: fixed;
	z-index: 10;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.8);
	overflow-y: auto;
}

.fix-content.showed { display: block; }

.over-content {
	width: calc(100% - 40px);
	max-width: 30rem;
	padding: 2rem;
	box-sizing: border-box;
	background-color: #ffffff;
	margin: 0 auto;
	margin-top: 6.25rem;
	position: relative;
}

.close {
	position: absolute;
	right: 0;
	top: 0;
	width: 2rem;
	height: 2rem;
	line-height: 1.8rem;
	text-align: center;
	border-radius: 1000px;
	color: #000000;
	text-decoration: none;
	margin: -0.75rem -0.75rem 0 0;
	background-color: #ffffff;
	box-shadow: -1px 1px 4px 0px rgba(0, 0, 0, 0.27);
	font-size: 1.5rem;
}

/* chyby v poupuech */

.fix-content ul.error, .fix-content ul.flashes {
	background-color: transparent;
	color: #000000;
}

ul.flashes .error, .fix-content.single-form .error {
	background-color: #ee630f;
	color: #ffffff;
}

/* - - - */

a[href^="error:"] {
	background: red;
	color: white;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

div.center {
	text-align: center;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}
