/********************************/
/* CUSTOM : Elements
/********************************/


/*
@media (hover: none) --- to test for touch devices
*/


.fancy-a,
.fancy-b {
	display: inline-block;
	vertical-align: text-bottom;
	line-height: 1; 
	margin-inline: -0.125em;
}
.fancy-a > svg,
.fancy-b > svg {
	height: 0.95em;
}
.fancy-a path,
.fancy-b path {
	fill: none;
    stroke: currentColor;
    stroke-miterlimit: 10;
    stroke-width: 27.93px;
}
.section-heading .fancy-a,
.section-heading .fancy-b {
	color: var(--hover-color);
}




/********************************/
/* SECTIONS: Custom
/********************************/


/* Home */
#home {
	display: flex;
    justify-content: center;
	align-items: flex-end;
	background-color: rgba(4, 67, 73, 1);
}

#home .section-bg {
}
#home .section-bg.animate {
	opacity: 0;
	-webkit-transform: scale(1.2);
			transform: scale(1.2);	
	-webkit-transition: all 2s ease;
			transition: all 2s ease;	
}
#home .section-bg.animated {
	opacity: 1;
	-webkit-transform: none;
			transform: none;	
}

#home .section-main {
	z-index: 6;
	width: 100%;
	height: 100%;
	align-content: center;
	text-align: center;
	background-color: rgba(4, 67, 73, 0.2); 
	/*
	will-change: background;
	-webkit-transition: background 0.2s ease;
			transition: background 0.2s ease;
	*/ 
}
/*
#home .section-main:has(.intro-logo img:hover) {
	background-color: rgba(4, 67, 73, 0.8);
}
*/ 
#home .section-main.animate {
	opacity: 0;
	-webkit-transition: opacity 1.2s ease;
			transition: opacity 1.2s ease;
}
#home .section-main.animated {
	opacity: 1;
}

.intro-logo img {
	max-width: 100%;
}
.intro-logo img.animate {
	opacity: 0;
	-webkit-transform: scale(1.2);
			transform: scale(1.2);	
	-webkit-transition: all 1.2s ease;
			transition: all 1.2s ease;
}
.intro-logo img.animated {
	opacity: 1;
	-webkit-transform: none;
			transform: none;		
}

#home-down-btn {
	position: absolute;
	z-index: 9;
	bottom: max(20px,5vh);
	display: flex;
	align-items: flex-end;
}
#home-down-btn.animate {
	opacity: 0;
	-webkit-transition: opacity 0.4s ease;
			transition: opacity 0.4s ease;
}
#home-down-btn.animated {
	opacity: 1;
}

#home-down-btn > span {
	width: 17px;
	height: 34px;
	background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAiCAYAAAC5gzL5AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACzSURBVHgB7ZVRDQIxDIb/oOAkDAdIOAlIOAlIwMkkgIMLCsDBSQAHP72sIeRoYU2Ot31Jn7Z9a7OlBRxIJomRhUliQBQ9uKSPCHraZGv/BjG2a0jQJE3SJE3yT8kLaX07iZM256vTHu+6niU6SzIyxsEq54IYDyuTTtOt4eaq5xQrJQnfoD203sn4Bf3BRb0goQb6L3VGLSzD/CMLRJFDx4VkQBSWJ5/CZRiiuaw9rS++Nk8EfaUWC4kbEAAAAABJRU5ErkJggg==');
}
#home-down-btn.animate > span {
	-webkit-transform: translateY(-20px);
			transform: translateY(-20px);	
}
#home-down-btn.animated > span {
	-webkit-transform: none;
			transform: none;
}

#home-down-btn:before,
#home-down-btn:after {
	content: '';
	display: inline-block;
	width: 21px;
	height: 25px;
}
#home-down-btn:before {
	background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAZCAYAAADe1WXtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACLSURBVHgB7ZWxEYAgDEUTz142kA11A0fRFZxAN3AUcYIYBBvPFBLseHc/FNw9IEUAUEBEA2enwMgxoCEKnyyggQUbvWMqSEd6aqORihRpkRZpkWaj9oVnYMdLD9+w4o4wwTW0yGUHeeCmYP/o6eGlK+RjRkTne2o4E+lZOdab8T6Cwp+d2lt33TByAhaG9D9DmOLCAAAAAElFTkSuQmCC');
}
#home-down-btn:after {
	background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAZCAYAAADe1WXtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACGSURBVHgB7dXdCYAgFAXgUxPUBm1aTdAKjVAbOEob6Aa3c0V66IdC7c0PDiLC4eKDAiQiPWNDJqTSErkakCJMd2aRoNKG2wNCpBo/KKWltJSW0mwenz7a8J1jFr6Wo99JXtPbpLHaOoyelZYa5LPyXp3eacPMks4wnTYfn5uWc2kQx/kJgx3WdPGrS+B4QQAAAABJRU5ErkJggg==');
}
#home-down-btn.animate:before,
#home-down-btn.animate:after {
	-webkit-transition: transform 0.2s ease;
			transition: transform 0.2s ease;
}
#home-down-btn.animate:before {
	-webkit-transform: translateX(20px);
			transform: translateX(20px);	
}
#home-down-btn.animate:after {
	-webkit-transform: translateX(-20px);
			transform: translateX(-20px);	
}
#home-down-btn.animated:before,
#home-down-btn.animated:after {
	-webkit-transform: none;
			transform: none;	
}

@media (max-width : 768px) {
	#home-down-btn {
		-webkit-transform: scale(0.5);
				transform: scale(0.5);
	}
}

#home-down-btn > span {
	-webkit-transition: all 0.2s ease;
			transition: all 0.2s ease;
}
#home-down-btn:hover > span {
	-webkit-transform: translateY(10px);
			transform: translateY(10px);	
}
#home-down-btn:hover:before {
	-webkit-transform: rotateZ(-90deg);
			transform: rotateZ(-90deg);	
}
#home-down-btn:hover:after {
	-webkit-transform: rotateZ(90deg);
			transform: rotateZ(90deg);	
}
/***/



/* Intro */
#intro {
}
@media (min-width : 1200px) {
	#intro .section-main {
		width: 40%;
		flex: 1 0 auto;
	}
}
/***/



/* About */
#about {
}
@media (min-width : 1200px) {
	#about .section-main {
		width: 40%;
		flex: 1 0 auto;
	}
}
/***/



/* Map */
#map {
}
.map-container.animate {
	opacity: 0;
	-webkit-transform: scale(0.9);
			transform: scale(0.9);
	-webkit-transition: all 1.0s ease;
			transition: all 1.0s ease;
}
.map-container.animated {
	opacity: 1;
	-webkit-transform: none;
			transform: none;	
}
.map-container > img {
	display: block;
	width: 100%;
}
@media (min-width : 1200px) {

}
/***/



/* Katzrin */
#katzrin {
}
#katzrin .section-main {
	background-image: url('../img/section-deco-1.png');
	background-position: 50% 100%;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
#katzrin .section-main.animate {
	background-position: 50% 200%;
	-webkit-transition: all 1s ease;
			transition: all 1s ease;
}
#katzrin .section-main.animated {
	background-position: 50% 100%;
}
@media (min-width : 1200px) {
	#katzrin .section-main {
		width: 41.176470%;
		flex: 1 0 auto;
	}
}
/***/



/* Gallery */
#main-gallery .swiper-slide {
	display: flex;
	/*max-height: calc(100vh - 80px);*/
}

#main-gallery .swiper-button-prev.animate,
#main-gallery .swiper-button-next.animate {
	opacity: 0;	
	-webkit-transition: all 0.4s ease;
			transition: all 0.4s ease;
	-webkit-transform: scale(2);
			transform: scale(2);
	background: rgba(4, 67, 73, 0.8);
}
#main-gallery .swiper-button-prev.animate {
	
}
#main-gallery .swiper-button-next.animate {

}
#main-gallery .swiper-button-prev.animated,
#main-gallery .swiper-button-next.animated {
	opacity: 1;
	-webkit-transform: none;
			transform: none;
	background: none;
}

#main-gallery .section-img-disclaimer {
	position: static;
	padding: 0.5em 1em;
}

@media (max-width : 1200px) {
	#main-gallery .section-img-disclaimer {
		color: #000;
		text-align: center;
	}
}
@media (min-width : 1200px) {
	#main-gallery .swiper-slide img {
	}
	#main-gallery .swiper-slide figcaption {
		/*
		top: calc(var(--gap) + 80px);
		bottom: auto;
		inset-inline-start: var(--gutter);
		width: auto;
		*/
		width: max-content;
		justify-self: center;
		border-radius: 4px;
		margin: 1em auto;
	}
	#main-gallery .section-img-disclaimer {
		position: absolute;
		z-index: 6;
		inset-inline-start: 0;
		bottom: 2em;
		inset-inline-start: var(--gutter);
	}
	
}

/***/



/* Apartments */
#apartments {
	/*min-height: 100vh;*/
}

#apartments .section-bg {
	align-content: end;
}
#apartments .section-bg img {
	display: block;
	height: auto;
	object-fit: revert;
}
#apartments .section-bg.animate img {
	-webkit-transform: translateY(100%);
			transform: translateY(100%);
	-webkit-transition: all 0.8s ease;
			transition: all 0.8s ease;		
}
#apartments .section-bg.animated img {
	-webkit-transform: none;
			transform: none;	
}

.apartments-heading {
	width: 816px;
	max-width: 100%;
	margin-inline: auto; 
	border-radius: 1em;
	padding: 1em var(--gutter); 
}
.apartments-heading.animate {
	opacity: 0;
	-webkit-transform: scale(0.9);
			transform: scale(0.9);
	-webkit-transition: all 0.4s ease;
			transition: all 0.4s ease;	
}
.apartments-heading.animated {
	opacity: 1;
	-webkit-transform: none;
			transform: none;
}

.apartments-intro {
	width: 816px;
	max-width: 100%;
	margin-inline: auto; 
	padding-inline: 0;
	font-weight: 700;
	line-height: 1;
	font-size: round(up, 1.275em, 1px);
}
.apartments-intro.animate {
	opacity: 0;
	-webkit-transform: translateY(1em);
			transform: translateY(1em);
	-webkit-transition: all 0.4s ease;
			transition: all 0.4s ease;
}
.apartments-intro.animated {
	opacity: 1;
	-webkit-transform: none;
			transform: none;
}

.apartments-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 1em -1em 0 -1em;
}


.apts-btn {
	min-width: 12em;
	margin-inline: max(1em,2vw);
	border: 2px solid var(--primary-color);
	border-top-left-radius: 0.285714em;
	border-top-right-radius: 0.285714em;
	padding: 0.285714em 2em;
	font: inherit;
	font-weight: 700;
	background: none;
	color: inherit;
	cursor: pointer;
	-webkit-transition: all 0.2s ease;
			transition: all 0.2s ease;
}
.apts-btn.animate {
	opacity: 0;
	-webkit-transform: translateY(1em);
			transform: translateY(1em);
	-webkit-transition: all 0.8s ease, background 0.2s ease;
			transition: all 0.8s ease, background 0.2s ease;
}
.apts-btn.animated {
	opacity: 1;
	-webkit-transform: none !important;
			transform: none !important;
}
.apts-btn:hover {
	background-color: var(--hover-color);
}
.apts-btn.on {
	background-color: var(--primary-color);
	color: #fff;
}
.apts-btn.not-available:not(.on) > span:nth-child(2),
.apts-btn.not-available.on > span:nth-child(1) {
	display: none;
}


.apts-table-container {
	width: 100%;
	height: 0;
	overflow: hidden;
	margin-bottom: 1em;
	margin-inline: -1em;
	border: 0;
	border-radius: 0.285714em;
	background: var(--hover-color);
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.4s ease, transform 0.4s ease;
}
.apts-table-container.open {
	height: auto;
	opacity: 1;
	transform: none;
	border: 1px solid;
}
.apts-table-container.not-available {
	display: none;
}

.apts-table-wrapper {
	overflow: hidden;
}
.apts-table {
	padding: 4px;
}
.apts-table table {
	width: 100%;
	line-height: 2.5em;
	font-size: round(0.75em,1px);
}
.apts-table thead {
	background: var(--primary-color);
	color: #fff;
}
.apts-table thead th {
	writing-mode: sideways-lr;	
	padding-inline: 0.5em;
	vertical-align: middle;
}
.apts-table thead:not(:first-child) {
	display: none;
}
.apts-table tbody tr {
	position: relative;
}
.apts-table tbody tr:nth-child(n+2):not(:last-child) > td {
	border-bottom: 1px solid;
}
.apts-table tbody tr:first-child {
	border-top: 4px solid var(--hover-color);
	background: var(--primary-color);
	color: #fff;
}
.apts-table tbody td {
	padding-inline: 0.25em;
}
.apts-table tbody td {
	transition: background 0.2s ease;
}
.apts-table tbody td:last-child {
	width: 0;
	padding: 0;
}
.apts-table tbody tr:nth-child(n+2):hover td {
	background: #fff;
}
.apts-table tbody td a {
	position: absolute;
	inset: 0;
}

.apts-table .status-sold {
	color: var(--hot-color);
	font-weight: 700;
}

@media (max-width : 1200px) {
	#apartments .section-main-content {
		padding: max(1em, 3.3333vw);
	}
}

@media (min-width : 1200px) {
	#apartments:before {
		content: '';
		position: absolute;
		top: 100vh;
		bottom: 0;
		left: 0;
		right: 0;
		background-color: var(--primary-color);
	}
	#apartments .section-bg {
		max-height: 100vh;
	}
	
	
	.apartments-intro {
		width: 100%;
	}
	.apartments-intro.animate {
		opacity: 0;
		-webkit-transform: scale(150%,100%);
				transform: scale(150%,100%);
		-webkit-transition: all 0.4s ease;
				transition: all 0.4s ease;
	}
	.apartments-intro.animated {
		opacity: 1;
		-webkit-transform: none;
				transform: none;
	}
	
	.apartments-container {
		width: 75em;
		max-width: 100%;
		margin: 2em auto 0 auto;
		padding-inline: var(--gutter);
	}
	
	.apts-btn {
		order: 0;
	}
	.apts-btn.animate:nth-child(1) {
		-webkit-transform: translateX(50%);
				transform: translateX(50%);
	}
	.apts-btn.animate:nth-child(3) {
		-webkit-transform: translateX(-50%);
				transform: translateX(-50%);
	}
	
	.apts-table-container {
		order: 1;
		margin-bottom: 0;
	}
	.apts-table {
		padding: 2em;
	}
	.apts-table table {
		font-size: round(0.9em,1px);
	}
	.apts-table thead th {
		writing-mode: initial;	
	}
	.apts-table thead th:first-child {
		width: 8em;
	}
	.apts-table thead:not(:first-child),
	.apts-table thead:first-child th:first-child {
		display: revert;
	}
	
}
/***/



/* Company */
#company {
	overflow: hidden;
}
#company .section-main {
}

#company .section-img {
	margin-top: auto;
	margin-bottom: -20%;
	aspect-ratio: 1;
	-webkit-mask-size: 100% 100%;
			mask-size: 100% 100%;  
	-webkit-mask-repeat: no-repeat;
			mask-repeat: no-repeat;
}

@media (min-width : 1200px) {
	#company .section-main {
		width: 50%;
		flex: 1 0 auto;
	}
	#company .section-img {
		margin: auto auto -10% -10%;
	}
}
/***/



/* Contact */
#contact {
}
#contact .section-main-content {
}

#contact .section-main-deco {
}
#contact .section-main-deco img {
	display: block;
	width: 100%;
}
#contact .section-main-deco.animate {
	-webkit-transform: translateY(100%);
			transform: translateY(100%);
	-webkit-transition: all 2s ease;
			transition: all 2s ease;	
}
#contact .section-main-deco.animated {
	-webkit-transform: none;
			transform: none;	
}

@media (min-width : 1200px) {
	#contact {
	}
	#contact .section-main {
		width: 45%;
		flex: 1 0 auto;
	}
	#contact .section-main-content {
		position: relative;
		z-index: 1;
		padding-bottom: 10em;
	}
	#contact .section-main-deco {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
	}
}


.form-intro {
	font-size: round(up, 1.5em, 1px);
	font-weight: 600;
	text-align: center;
	line-height: 1.2;
}
.form-intro.animate {
	opacity: 0;
	-webkit-transform: translateY(1em);
			transform: translateY(1em);
	-webkit-transition: all 0.8s ease;
			transition: all 0.8s ease;
}
.form-intro.animated {
	opacity: 1;
	-webkit-transform: none;
			transform: none;
}

.form-field.animate {
	opacity: 0;
	-webkit-transform: translateX(-1em);
			transform: translateX(-1em);
	-webkit-transition: all 0.8s ease;
			transition: all 0.8s ease;	
}
.form-field.animated {
	opacity: 1;
	-webkit-transform: none;
			transform: none;	
}
/***/



