/* general css ----------------------------------- */
html {
	scroll-behavior:smooth;
	overflow-x: hidden;
	font-size: 16px;
}
body {
	overflow: hidden;
	font-size: 1rem;
	font-weight: 400;
	font-family: "Poppins", sans-serif;
	font-optical-sizing: auto;
	background: #fff;
	color: #000;
}
body::-webkit-scrollbar {width: 6px;}
body::-webkit-scrollbar-track {background: #fff;}
body::-webkit-scrollbar-thumb {
   background-color: #e50004;
   border: 1px solid #e50004;
}
div {
	scrollbar-width: thin;
	scrollbar-color: #E8DDCF #e50004;
}
div::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}
div::-webkit-scrollbar-track {background-color: #fff;}
div::-webkit-scrollbar-thumb {background-color: #e50004;}
div::-webkit-scrollbar-track, div::-webkit-scrollbar-thumb {border-radius: 12px;}
img {max-width:100%;}
a, button, img, header, footer, span, strong, ::before, ::after {
	transition: all 0.3s ease-in-out;
	outline: none;
}
section, .container {position: relative;}



h3 {
	font-size: 2.125rem;
	font-weight: 700;
	margin: 0 0 30px 0;
	position: relative;
	color: #e50004;
	padding-bottom: 10px;
}
h3::before {
	content: "";
	position: absolute;
	border-bottom: solid 2px #e50004;
	width: 40%;
	bottom: 0;
	left: 0;
}
h4 {
	font-size: 1.75rem;
	font-weight: 500;
	margin: 0 0 20px 0;
	position: relative;
	color: #e50004;
}
.lenis.lenis-smooth {scroll-behavior: auto;}
.lenis.lenis-smooth [data-lenis-prevent] {overscroll-behavior: contain;}
.lenis.lenis-stopped {overflow: hidden;}
.lenis.lenis-scrolling iframe {pointer-events: none;}
.landscape, .mobile {display: none !important;}
.sitebar {
	position: fixed;
	top: 0;
	left: 0;
	background: #e50004;
	height: 2px;
	z-index: 1000;
}
.parallax-item, .parallax-img, .sitebar {
  will-change: transform;
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
}
	@keyframes hovermenu { 
		0% {width: 0;}
		100% {width: 100%;}
	}
.blur-active {
	filter: blur(5px); 
	transition: filter 0.3s ease;
	pointer-events: none;
}

/* navigace ----------------------------------- */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 500;
	padding: 10px 0;
	background: linear-gradient(rgba(0,0,0,.8), rgba(0,0,0,0));
}
.logo {
	position: absolute;
	width: 130px;
	left: 0;
	top: 50%;
	z-index: 2;
	transform: translate(0,-50%);
}
header .navbar-toggler, header .navbar-toggler:focus {
	border: none;
	box-shadow: none;
}
header .navbar-nav .nav-item {
	padding: 3px 20px;
	position: relative;
}
header .navbar-nav .nav-link {
	font-weight: 500;
	color: #fff;
	padding-right: 0 !important;
	padding-left: 0 !important;
	position: relative;
}
header .navbar-nav li:last-child .nav-link {color: #e50004;}
header .navbar-nav .nav-link:hover::before, header .navbar-nav .active .nav-link::before {
	background: #e50004;
	width: 100%;
	height: 2px;
	bottom: 5px;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
.hema {
	position: absolute;
	background: #e50004;
	width: 80px;
	min-height: 80px;
	right: 0;
	top: 0;
}
.hema > a {
	position: relative;
	display: block;
	padding: 15px 10px 10px 10px;
	cursor: pointer;
}
.hema > a::before {
	position: absolute;
	border-bottom: solid 3px #fff;
	border-left: solid 3px #fff;
	width: 10px;
	height: 10px;
	content: "";
	left: 50%;
	bottom: 0;
	transform: translate(-50%,2px) rotate(-45deg);
}
.hema > a:hover::before {transform: translate(-50%,5px) rotate(-45deg);}
.custom-collapse {
	transition: all 0.3s ease-in-out;
	opacity: 0;
	display: block;
}
.custom-collapse.is-open {opacity: 1;}
.collapse-inner {padding: 10px 10px 0 10px;}
.custom-collapse .collapse-inner a {
	display: block;
	margin:  0;
	height: 0;
}
.custom-collapse.is-open .collapse-inner a {
	display: block;
	margin: 15px 0;
	height: auto;
}
.custom-collapse.is-open .collapse-inner a:hover {transform: scale(1.1);}

.site-header.header-hidden {transform: translateY(-101%);}
body.scrolled .site-header {
	box-shadow:0 5px 15px rgba(0,0,0,0.15);
	background:#000;
	padding: 0;
	min-height: 80px;
}
body.scrolled .site-header .navbar {padding-top: 18px;}
body.scrolled .logo {width: 110px;}
.hamburger {
	width: 30px;
	height: 30px;
	position: absolute;
	transition: .5s ease-in-out;
	cursor: pointer;
	right: 90px;
	top: 30px;
	z-index: 2;
}
.nav-item:last-child {min-width: 100px;}
.nav-item:last-child .navbar-toggler {display: block;}
.nav-item .hamburger {
	right: 0;
	top: 14px;
}
.hamburger span {
   display: block;
   position: absolute;
   height: 2px;
   width: 100%;
   border-radius: 9px;
   opacity: 1;
   left: 0;
   transform: rotate(0deg);
   transition: .25s ease-in-out;
}
.hamburger span {background: #fff;}
.hamburger span:nth-child(1) {top: 0px;}
.hamburger span:nth-child(2), .hamburger span:nth-child(3) {top: 7px;}
.hamburger span:nth-child(4) {top: 14px;}
.hamburger.open span {height: 2px !important;}
.hamburger.open span:nth-child(1) {
   top: 11px;
   width: 0%;
   left: 50%;
}
.hamburger.open span:nth-child(2) {transform: rotate(45deg);}
.hamburger.open span:nth-child(3) {transform: rotate(-45deg);}
.hamburger.open span:nth-child(4) {
   top: 11px;
   width: 0%;
   left: 50%;
}
.hamburger span:nth-child(4) {
	width: 50%;
	right: 0;
	left: auto;
}
.hamburger:hover span:nth-child(4) {width: 100%;}
.hamburger.open span:nth-child(4), .hamburger.open:hover span:nth-child(4) {width: 0;}

/* home page ------------------------- */
.content01 {
	position: relative;
	height: 65vh;
	overflow: hidden;
	color: #fff;
}
/* Slider */
.slider01 {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
}
.slide {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	opacity: 0;
	z-index: 1;
}
.slide.active {
	opacity: 1;
	z-index: 2;
	animation: kenburns 7s ease-in forwards;
}
@keyframes kenburns {
	0%   { transform: scale(1); }
	100% { transform: scale(1.05); }
}
.content01 img.parallax-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 110%;
	object-fit: cover;
	z-index: -1;
	transform: translateY(0px);
}
/* Navigation dots */
.slider01-dots {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 10;
}
.dot {
	width: 10px;
	height: 10px;
	background: rgba(255,255,255,0.45);
	cursor: pointer;
	transition: background 0.4s, transform 0.4s;
	border: 1px solid rgba(255,255,255,0.7);
}
.dot.active {
	background: #fff;
	transform: scale(1.3);
}
.content02 {
	padding: 80px 0 100px 0;
	background: #000;
	color: #fff;
}
/* Services text cloud */
.services-cloud {
	position: relative;
	height: clamp(440px, 48vw, 560px);
	pointer-events: none;
}
.services-cloud h2,
.services-cloud h3 {
	position: absolute;
	margin: 0;
	line-height: 1;
	white-space: nowrap;
	letter-spacing: -0.02em;
	will-change: transform;
}
.services-cloud h3::before {display: none;}
/* NÁVRH INTERIÉRU */
.services-cloud h2:nth-child(1) {
	font-size: clamp(34px, 6.5vw, 94px);
	font-weight: 100;
	color: #e50004;
	top: 6%;
	left: 0;
}
/* ČALOUNICKÁ VÝROBA */
.services-cloud h3:nth-child(2) {
	font-size: clamp(28px, 5.2vw, 76px);
	font-weight: 100;
	color: #fff;
	top: 34%;
	left: 7%;
}
/* LAKOVNA  */
.services-cloud h3:nth-child(3) {
	font-size: clamp(46px, 9.5vw, 126px);
	font-weight: 100;
	color: #fff;
	top: 10%;
	right: -2%;
}
/* KOVOVÝROBA */
.services-cloud h2:nth-child(4) {
	font-size: clamp(40px, 7.5vw, 88px);
	font-weight: 100;
	color: #e50004;
	top: 38%;
	right: -3%;
}
/* TRUHLÁŘSKÁ VÝROBA */
.services-cloud h2:nth-child(5) {
	font-size: clamp(32px, 6vw, 60px);
	font-weight: 100;
	color: #e50004;
	top: 58%;
	left: -5%;
}
/* NIC NEZADÁVÁME, VŠECHNO SAMI VYRÁBÍME */
.services-cloud h3:nth-child(6) {
	font-size: 58px;
	font-weight: 100;
	color: #fff;
	bottom: 6%;
	left: 0;
	right: 0;
	width: 100%;
	text-align: center;
	letter-spacing: 0.1em;
}
.content02 h1 {
	font-size: 1.85rem;
	font-weight: 700;
	margin-bottom: 20px;
}
.content03 {
	padding: 100px 0;
	background: #525252;
	color: #fff;
}
.content03 ul {
	margin-bottom: 60px;
	line-height: 180%;
	padding: 0;
	list-style-type: none;
}
.content03 ul li {
	padding: 0 0 20px 20px;
	position: relative;
}
.content03 ul li::before {
	content: "";
	position: absolute;
	border-radius: 100%;
	width: 7px;
	height: 7px;
	background: #e50004;
	left: 0;
	top: 10px;
}
.content03 .col-sm-4 > div {
	position: relative;
	height: 100%;
	width: 50vw;
}
.content03 .col-sm-4 > div > img {
	position: absolute;
	left: 0;
	top: 0;
	max-width: none;
	height: 101%;
	 object-fit: cover;
	 width: 100%;
}

/* crossfade slider */
.content03 .col-sm-4 > div.fadeshow > img {
	opacity: 0;
	animation: fadeslide 25s infinite;
}
.content03 .col-sm-4 > div.fadeshow > img:nth-child(1) { animation-delay: 0s; }
.content03 .col-sm-4 > div.fadeshow > img:nth-child(2) { animation-delay: 5s; }
.content03 .col-sm-4 > div.fadeshow > img:nth-child(3) { animation-delay: 10s; }
.content03 .col-sm-4 > div.fadeshow > img:nth-child(4) { animation-delay: 15s; }
.content03 .col-sm-4 > div.fadeshow > img:nth-child(5) { animation-delay: 20s; }


.content04 {
	padding: 100px 0;
	background: #000;
	color: #fff;
}
.content04 .col-sm-4 > div {
	display: flex;
    justify-content: flex-end;
    width: 100%;
	height: 100%;
    position: relative;
}
.content04 .col-sm-4 > div > img {
    flex-shrink: 0;
    max-width: none;
	height: 101%;
	 object-fit: cover;
	 width: 176%;
}

/* crossfade slider */
.content04 .col-sm-4 > div.fadeshow {
	display: block;
	overflow: visible;
}
.content04 .col-sm-4 > div.fadeshow > img {
	position: absolute;
	top: 0;
	right: 0;
	width: 176%;
	height: 101%;
	max-width: none;
	object-fit: cover;
	opacity: 0;
	animation: fadeslide 25s infinite;
}
.content04 .col-sm-4 > div.fadeshow > img:nth-child(1) { animation-delay: 0s; }
.content04 .col-sm-4 > div.fadeshow > img:nth-child(2) { animation-delay: 5s; }
.content04 .col-sm-4 > div.fadeshow > img:nth-child(3) { animation-delay: 10s; }
.content04 .col-sm-4 > div.fadeshow > img:nth-child(4) { animation-delay: 15s; }
.content04 .col-sm-4 > div.fadeshow > img:nth-child(5) { animation-delay: 20s; }

@keyframes fadeslide {
	0%   { opacity: 0; }
	4%   { opacity: 1; }
	20%  { opacity: 1; }
	24%  { opacity: 0; }
	100% { opacity: 0; }
}
.content04 ul {
	padding:  0;
	margin: 0;
	list-style-type: none;
}
.content04 ul li {
	position: relative;
	padding: 0 0 10px 20px;
	line-height: 180%;
}
.content04 ul li::before {
	position: absolute;
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 100%;
	background: #e50004;
	left: 0;
	top: 7px;
}
.content04 p {
	margin-bottom: 40px;
	line-height: 180%;
}
.content04 p strong{font-size: 1.4rem;}
.content03 .col-sm-7 > a {
    color: #525252;
    border: solid 1px #525252;
    display: inline-block;
    text-decoration: none;
    padding: 8px 18px;
    background: #fff;
    margin: 30px 0;
}
.content03 .col-sm-7 > a:hover {
	color: #fff;
	background: #e50004;
}
.content05 {
	padding: 100px 0;
	background: #525252;
	color: #fff;
}
.content05 .col-sm-12 {padding-bottom: 30px;}
.content05 .col-sm-6 div {
	padding: 40px 30px;
	background: #c8c8c8;
	color: #000;
	height: 100%;
	position: relative;
}
.content05 .col-sm-6 {padding-bottom: 50px;}
.content05 .col-sm-6 div img {
	height: 70px;
	margin: 0 0 20px -5px;
}
.content05 .col-sm-6 div p {margin-bottom: 0;}
.content06 {
	padding: 100px 0 0 0;
	background: #000;
	color: #fff;
}
.content06 .col-md-8 {padding-bottom: 30px;}
.content06 .col-sm-4 div {
	padding: 0 30px;
	border-left: solid 2px #e50004;
}
.content06 .col-sm-4 div img {
	width: 80px;
	margin-bottom: 10px;
}
.content06 .col-sm-4 div strong {
	display: block;
	font-weight: 600;
}
.content06 .col-sm-4 div > a {
	color: #e50004;
	text-decoration: none;
	position: relative;
	display: inline-block;
}
.content06 .col-sm-4 div > a:hover::before {
	background: #e50004;
	width: 100%;
	height: 1px;
	bottom: 2px;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
.content06 iframe {
	height: 480px;
	width: 63vw;
	border: none;
	margin-bottom: -7px;
}
footer {
	background: #e50004;
	padding: 40px 0;
	color: #fff;
}
footer hr {
    margin: 40px 0;
    border-top: solid 1px #fff;
    opacity: 1;
}
footer ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	text-align: end;
}
footer ul li {
	display: inline-block;
	padding: 0 10px;
}
footer ul li:last-child {padding-right: 0;}
footer ul li a {
	color: #fff;
	text-decoration: none;
	position: relative;
	display: inline-block;
}
footer ul li:last-child a {color: #000;}
footer ul li a:hover::before, footer ul li.active a::before  {
	background: #fff;
	width: 100%;
	height: 1px;
	bottom: 2px;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
footer ul li:last-child a:hover::before {background: #000;}
footer .col-md-2 img {width: 104px;}
footer .col-md-7 img {width: 74px;}
footer .col-md-7 a {
	display: inline-block;
	margin-right: 20px;
}
footer .col-md-7 a:hover img {transform: scale(1.08);}
footer .col-md-5 {
	align-self: flex-end;
	text-align: end;
}
footer .col-md-5 a {
	color: #fff;
	text-decoration: none;
	position: relative;
	display: inline-block;
}
footer .col-md-5 a:hover::before {
	background: #fff;
	width: 100%;
	height: 1px;
	bottom: 2px;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}

.content07 {
	padding: 50px 0 0 0;
	background: #000;
	color: #fff;
}
.content07 ul {
	display: flex;
	justify-content: space-between;
	list-style: none;
	padding: 40px 0;
	margin: 0;
}
.content07 ul li {
	flex: 1;
	text-align: center;
}
.content07 .col-md-12 ul li a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color: #fff;
	padding-top: 58px;
}
.content07 .col-md-12 ul li a::before {
	position: absolute;
	content: "";
	width: 70px;
	height: 55px;
	background: url("../images/ico02.svg") no-repeat top center;
	background-size: 100% auto;
	top: 0;
	left: 50%;
	margin-left: -35px;
}
.content07 .col-md-12 ul li:nth-child(2) a::before {background-image: url("../images/ico03.svg") }
.content07 .col-md-12 ul li:nth-child(3) a::before {background-image: url("../images/ico04.svg") }
.content07 .col-md-12 ul li:nth-child(4) a::before {background-image: url("../images/ico05.svg") }
.content07 .col-md-12 ul li:nth-child(5) a::before {background-image: url("../images/ico06.svg") }
.content07 .col-md-12 ul li a:hover::before {transform: scale(1.25);}
.content07 .col-md-12 ul li a:hover::after {
	background: #fff;
	width: 100%;
	height: 2px;
	bottom: -3px;
	left: 50%;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
	transform: translate(-50%,0);
}
.realizace  {
	padding-top: 20px;
	padding-bottom: 100px;
}
.realizace .col-md-7 {
	position: relative;
	padding-top: 30px;
	z-index: 2;
}
.realizace .col-md-7 img {
	aspect-ratio: 4 / 3;
}
.realizace .col-md-5 div {
	position: relative;
	padding: 30px 20px;
	min-height: 200px;
}
.realizace .col-md-5 div::before {
	position: absolute;
	content: "";
	background: #525252;
	top: 0;
	left: 0;
	width: 150%;
	height: 100%;
	z-index: 0;
}
.realizace .col-md-5.order-md-1 div::before {
	left: auto;
	right: 0;
}
.realizace .col-md-5 div * {position: relative;}
.realizace .col-md-5 div h5 {
    font-size: 1.75rem;
    font-weight: 500;
    margin: 0 0 20px 0;
    position: relative;
    color: #e50004;
}
.realizace .col-sm-3 {padding-top: 20px;}
.realizace .col-sm-3 a {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}
.realizace .col-sm-3 a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.realizace .col-sm-3 a:hover img {transform: scale(1.1);}



/*
.content02::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 40%;
	background: linear-gradient(#AA9278, #E8DDCF);
}
.content02::after {
	content: "";
	position: absolute;
	left: 0;
	top: 46%;
	width: 100%;
	height: 54%;
	background: url("../images/bg01.svg") no-repeat top center;
	background-size: 113% auto;
	z-index: 0;
}
.content02 .container {z-index: 1;}
.content02 .col-md-6.offset-md-4 {
	position: relative;
	z-index: 3;
}
.content02 .col-md-6.offset-md-4 p {
	font-size: 18pt;
	margin-bottom: 200px;
}
.image-overflow-end-wrapper {
	display: flex;
	justify-content: flex-end; 
	width: 100%;
	transform: translate(calc(var(--bs-gutter-x) * .5),-47%);
	position: relative;
}
.overflow-end-img {
	flex-shrink: 0; 
	max-width: 135%; 
}
.image-overflow-end-wrapper span {
	position: absolute;
	bottom: 0;
	right: 0;
	color: #123524;
	font-size: 280pt;
	font-style: italic;
	font-family: "Cormorant Garamond", serif;
	line-height: 175pt;
}
.image-overflow-start-wrapper {
	display: flex;
	justify-content: flex-start; 
	width: 100%;
	transform: translate(calc(var(--bs-gutter-x) * -.5),0);
}
.overflow-start-img {
	flex-shrink: 0; 
	max-width: 145%; 
}
.content02 .slider-wrapper {margin: 80px calc(-50vw + 50%) 100px 0;}
.slider-benefits .swiper-slide {width: 520px; }
.benefit {
	position: relative;
	padding: 40px 40px 40px 140px;
	color: #E8DDCF;
	font-size: 13.5pt;
}
.benefit::before {
	position: absolute;
	content: "";
	top:0;
	left:0;
	width:50%;
	aspect-ratio:1/1;
	background:#1D4732;
	z-index:-1;
}
.benefit img {
	position: absolute;
	width: 66px;
	left: 40px;
	top: 44px;
}
.para01 {
	position: absolute;
	z-index: 2;
	top: -200px;
}
.para02 {
	position: absolute;
	z-index: 0;
	top: 340px;
	right: -150px;
}
.para03 {
	position: absolute;
	z-index: 2;
	width: 350px;
	animation: butterflyFlutter 3s ease-in-out infinite;
	left: 8%;
	top: 40%;
}
	@keyframes butterflyFlutter {
		0%, 100% { transform: translateY(0) rotate(-2deg); }
		50% { transform: translateY(-8px) rotate(2deg); }
	}
.para04 {
	position: absolute;
	z-index: 2;
	top: -10px;
	left: 25%;
}
.para05 {
	position: absolute;
	z-index: 0;
	bottom: -160px;
	right: 2%;
	width: 400px;
}

/* content03 ------------------------- *
.content03 {
	overflow: hidden;
	height: 100vh;
	color: #fff;
	background: rgba(0,0,0,.3);
	font-size: 16pt;
	padding: 60px 0;
	z-index: 3;
}
.content03 img.parallax-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 110%; 
	object-fit: cover; 
	z-index: -1;
	transform: translateY(0px);
	transition: transform 0.1s linear;
}
.content03 > span {
	position: absolute;
	bottom: 0;
	left: -35px;
	color: #E8DDCF;
	font-size: 270pt;
	font-style: italic;
	font-family: "Cormorant Garamond", serif;
	line-height: 170pt;
	letter-spacing: -3pt;
}
.content03 .container , .content03 .container  .row {height: 100%;}

/* content04 ------------------------- *
.content04 {
	background: linear-gradient(#E8DDCF,#AA9278);
	padding: 140px 0 400px 0;
}
.slider-note {overflow: visible !important;}
.note {
	width: 20%; 
	height: 500px; 
	display: flex;
	align-items: flex-end; 
	transition: width 0.6s ease;
}
.note-content {
	width: 100%;
	height: 400px; 
	transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
}
.note .img-box {
	aspect-ratio: 9 / 12;
	object-fit: cover;
	display: block;
	height: auto;
	width: 100%;
	background: #123524;
	overflow: hidden;
	transition: all 0.3s ease-in-out;
}
.note.swiper-slide-active {width: 45% !important; }
.note.swiper-slide-active .note-content {height: 540px; }
.note.swiper-slide-active .img-box {
	height: 108%;
	aspect-ratio: 9 / 8;
}
.note .img-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.swiper-button-next, .swiper-button-prev {
	background: url("../images/ico05.svg") no-repeat center;
	background-size: 100% auto;
	width: 36px;
	height: 14px;
	position: absolute;
	right: 0 !important;
	top: 15% !important;
	opacity: .5;
	transition: all 0.3s ease-in-out;
}
.swiper-button-prev {
	left: auto !important;
	right: 60px !important;
	top: 15% !important;
	transform: rotate(180deg);
}
.swiper-button-next svg, .swiper-button-prev svg {display: none;}
.swiper-button-next:hover, .swiper-button-prev:hover {opacity: 1;}

/* content05 ------------------------- *
.content05 {
	background: #123524;
	padding: 60px 0;
	font-size: 24pt;
	font-style: italic;
	font-weight: 300;
	font-family: "Cormorant Garamond", serif;
	color: #E8DDCF;
}
.content05 ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.content05 ul li {
	display: inline-block;
	position: relative;
	padding: 5px 24px;
}
.content05 ul li::before {
	content: "";
	position: absolute;
	border-radius: 100%;
	background: #E8DDCF;
	width: 12px;
	height: 12px;
	right: -8px;
	top: calc(50% - 6px);
}
.content05 ul li:last-child:before {display: none;}

/* content06 ------------------------- *
.content06 {padding: 100px 0;}
.content06 .slider-wrapper {margin: 80px calc(-50vw + 50%) 100px 0;}
.slider-milestone .swiper-slide {width: 360px; }
.milestone {
	position: relative;
	text-align: center;
	font-size: 13pt;
}
.milestone span {
	display: inline-block;
	width: 90px;
	height: 90px;
	font-size: 30pt;
	line-height: 90px;
	color: #fff;
	background: #E8DDCF;
	position: relative;
}
.milestone span::before {
	content: "";
	position: absolute;
	background: #E8DDCF;
	width: 300px;
	height: 1px;
	top: 45px;
	left: 80px;
	z-index: -1;
}
.swiper-slide-prev .milestone span::before {display: none;}
.milestone strong {
	display: block;
	font-size: 30pt;
	font-weight: 400;
	padding: 10px 0;
}
.slider-milestone .swiper-slide-active .milestone {color: #1D4732;}
.slider-milestone .swiper-slide-active .milestone span {background: #1D4732;}
.content06 .col-md-12.text-center a {margin: 5px 30px;}

/* content07 ------------------------- *
.content07 {
	background: #E8DDCF;
	padding: 100px 0;
}
.content07 p {
	line-height: 160%;
	padding-bottom: 50px;
	font-size: 16pt;
}
.content07 #map { 
	position: absolute;
    height: 100%; 
    width: 58.35%; 
    background-color: #f5f5f5; 
	right: 0;
	top: 0;
	z-index: 1;
}
.leaflet-tile-container img {filter: grayscale(100%) invert(5%) contrast(1.1) brightness(0.9);}
.leaflet-marker-icon {filter: none !important;}
.content07.contact {
	background: #1D4732;
	color: #E8DDCF;
}
.content07.contact p {
    line-height: 130%;
    padding-bottom: 20px;
    font-size: 13pt;
}
.content0701 {
    line-height: 130%;
    padding-bottom: 40px;
    font-size: 16pt;
}
.content0701 a {
    text-decoration: none;
	color: #E8DDCF;
	position: relative;
}
.content0701 a:hover::before {
	background: #E8DDCF;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}

/* content08 ------------------------- *
.content08 .col-md-5 a, .content08 .col-sm-6 a, .content08 .col-sm-12 a  {
	display: block;
	height: 100%;
	width: 100%;
	position: relative;
	overflow: hidden;
}
.content08 .col-md-5 a img, .content08 .col-sm-6 a img, .content08 .col-sm-12 a img {
	object-fit: cover;
	display: block;
	height: 100%;
	width: 100%;
	position: relative;
	overflow: hidden;
}
.content08 .col-md-7 .row {height: 100%;}
.content08 .col-sm-6, .content08 .col-sm-12 {height: 50%;}
.content08 .col-md-5 a:hover::after, .content08 .col-sm-6 a:hover::after, .content08 .col-sm-12 a:hover::after  {
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	background: rgba(0,0,0,.7) url("../images/ico07.svg") no-repeat center;
	background-size: 60px auto;
}

/* content09 ------------------------- *
.content09 {padding: 100px 0;}
.form-img {
	background: #E8DDCF;
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 70%;
	margin: 10px 0 50px 0;
}
.form-img::after {
	content: "";
	display: block;
	padding-bottom: 100%;
}
.form-img img {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,0);
}
.content09 .col-md-5 > strong {
	display: block;
	font-size: 30pt;
	font-weight: 400;
	margin-bottom: 20px;
}
.content09 .col-md-5 > span {
	display: block;
	font-size: 13pt;
	font-weight: 400;
	margin-bottom: 20px;
}
.content09 .col-md-5 > p a {
	display: inline-block;
	font-size: 19pt;
	color: #1D4732;
	text-decoration: none;
	position: relative;
}
.content09 .col-md-5 > p a:hover::before {
	background: #1D4732;
	width: 100%;
	height: 1px;
	bottom: 4px;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
.content09 .col-md-7 b {
	display: block;
	font-size: 19pt;
	font-weight: 400;
	margin-bottom: 40px;
}

/* footer ----------------------------------- *
footer {
    background: #E8DDCF;
	color: #1D4732;
	font-size: 11pt;
	padding: 150px 0 20px 0;
}
footer .col-lg-12 img {
    width: 240px;
	margin-bottom: 80px;
}
footer ul {
	list-style-type: none;
	margin: 0;
	padding: 0 0 20px 0;
}
footer ul li {padding: 0 0 10px 0;}
footer a {
	color: #1D4732;
	text-decoration: none;
	position: relative;
	font-weight: 700;
}
footer a:hover::before {
	background: #1D4732;
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	animation: hovermenu 0.4s 1;
	content: "";
	position: absolute;
}
footer .offcanvas-rights {
	color: #1D4732;
	padding-top: 60px;
}
footer .offcanvas-contact p a {font-size: 17pt;}
footer .offcanvas-contact div a:first-child {
	display: inline-block;
	margin-right: 30px;
}
.para-footer {
    position: absolute;
    top: -500px; 
    left: 12%; 
    z-index: 10;
    pointer-events: none; 
	width: 270px;
    animation: floatKeys 4s ease-in-out infinite;
    will-change: transform;
}
	@keyframes floatKeys {
		0%, 100% {transform: translateY(0) rotate(0deg);}
		50% {transform: translateY(-15px) rotate(2deg); }
	}

/* sub pages ----------------------------------- *
.content10 {
	height: calc(100vh - 100px);
	overflow: hidden;
	color: #fff;
	margin-top: 100px;
}
.content10 > img, .content01 > video {
	object-fit: cover;
	display: block;
	height: auto;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.content10 .container, .content10 .row {height: 100%;}
.content10 .container {padding-bottom: 5%;}
.content10::before {
	position: absolute;
	content: "";
	z-index: 1;
	height: 30vh;
	bottom: 0;
	left: 0;
	width: 100%;
	background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,.6));
}
.content10 .container {z-index: 2;}
.content10.contact {
	background: #123524 url("../images/bg01.svg") no-repeat top center;
	background-size: 100% auto;
	height: 40vh;
}
.content10.contact .col-md-11.text-center.align-self-end {align-self: center !important;}
.content10.contact .col-md-11.text-center.align-self-end h1 {margin-top: 20px;}
.content10.contact::before {display: none;}
.content10.contact .container {padding-bottom: 0;}

.content11 {padding: 100px 0;}
.content11 table {
	width: 80%;
	border-top: solid 1px #E8DDCF;
	border-bottom: solid 1px #E8DDCF;
	margin: 40px 0;
	font-size: 12pt;
}
.content11 table td {padding: 15px;}
.content11 table tr:first-child td {padding-top: 30px;}
.content11 table tr:nth-last-child(2) td {
	padding-bottom: 30px;
	border-bottom: solid 1px #E8DDCF;
}
.content11 table tr:last-child td {
	padding-bottom: 20px;
	padding-top: 20px;
}
.content11 table tr:last-child td:last-child {
	font-size: 30pt;
	font-weight: 300;
}
.content11 table tr:first-child td:last-child {color: #7BC09D;}
.content11 table tr td:first-child {padding-left: 50px;}
.content11 table tr td:last-child {font-weight: 700;}
.content1101 {padding: 0 0 60px 30px;}
.content1101 .btn04 {margin: 0 0 30px 0;}
.content11 .col-md-3 {padding: calc(var(--bs-gutter-x) * .5);}
.content11 .col-md-3 [data-fancybox] {
	aspect-ratio: 4 / 3;
	display: block;
	position: relative;
	overflow: hidden;
}
.content11 .col-md-3 [data-fancybox] img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.content11 .col-md-3 [data-fancybox]:hover img {
	transform: scale(1.05);
	filter: contrast(1.3);
}
.content11 .col-md-12.text-center > a {
	font-size: 13pt;
	font-weight: 700;
	color: #000;
	display: inline-block;
	margin-top: 30px;
}
.content11 .col-md-12.text-center > a:hover {text-decoration: none;}
.content12 #map { 
    height: 70vh; 
    width: 100%; 
    background-color: #f5f5f5; 
}
.content13 {
	padding: 100px 0;
	background: linear-gradient(rgba(170,146,120,1), rgba(232,221,207,1));
}
.content13a {
	padding-bottom: 0;
	z-index: 3;
}
.content13 small {
	display: block;
	position: relative;
	z-index: 2;
}
.content1301 {
	color: #fff;
	font-family: "Cormorant Garamond", serif;
	font-style: italic;
	font-size: 285pt;
	letter-spacing: -10px;
	line-height: 340pt;
}
.content1302 {
	color: #fff;
	font-family: "Cormorant Garamond", serif;
	font-style: italic;
	font-size: 235pt;
	letter-spacing: -10px;
	line-height: 147pt;
	display: block;
	margin: -20px 0 0 -10px;
}
.content13 .col-md-5.offset-md-1 > div {
	position: relative;
	height: 100%;
}
.content13 .col-md-5.offset-md-1 img {
	max-width: none;
	position: absolute;
	max-height: calc(100% + 100px);
}
.content14 {
	background: #123524;
	color: #E8DDCF;
	padding-bottom: 80px;
}
.content14 .col-12 img {
	margin-top: -210px;
	aspect-ratio: 16 / 7;
	object-fit: cover;
	width: 100%;
	height: auto;
}
.content14 .col-12 h3 {margin: 100px 0;}
.content14 .col-sm-3 {padding: calc(var(--bs-gutter-x) * .5);}
.content14 .col-sm-3 > div {
	border: solid 1px #1D4732;
	padding: 30px 50px;
	height: 100%;
}
.content14 .col-sm-3 > div img {
	width: 80px;
	margin-left: -10px;
}
.content14 .col-sm-3 > div  h5 {
    font-size: 18pt;
    font-weight: 400;
    margin: 10px 0 20px 0;
}
.content15 {
	background: #123524;
	color: #E8DDCF;
	height: 70vh;
	overflow: hidden;
}
.content15 .container, .content15 .container .row {height: 100%;}
.content1501 {
	position: absolute;
	overflow: hidden;
	height: 100%;
	width: 56%;
}
.content1501 img {
	position: absolute;
	max-width: none;
	bottom: -5%;
	left: -60%;
	width: 235%;
}
.content15 .offset-md-4 > div {
	background: rgba(18,53,36,.7);
	padding: 30px 50px;
	font-size: 18pt;
}
.content15 .para02 {
    top: auto;
    right: -15%;
	bottom: -28%;
}
.content15 .para04 {
    top: 50%;
    left: 20%;
}
.content16 {padding: 150px 0;}
.content1601 {
	background: #123524;
	position: absolute;
	right: 0;
	top: 150px;
	bottom: 150px;
	width: 44%;
	overflow: hidden;
}
.content16 .offset-md-1 {
	padding-top: 13%;
	padding-bottom: 13%;
}
.content1601 img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.content16 .para03 {top: -5%;}
.content16 .para05 {
    bottom: -160px;
    right: auto;
	left: 10%;
    width: 380px;
}
.content17 {
    height: 100vh;
	color: #E8DDCF;
	font-size: 13pt;
	padding: 100px 0;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
}
.content17::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 35%;
	height: 100%;
    background: rgba(18,53,36,.7);
}
.content17 .container, .content17 .container .row {height: 100%;}
.content17 p {margin-bottom: 60px;}
.content18 {padding: 200px 0 100px 0;}
.content18 h6 {margin: 0 0 80px 0;}
.content18 ol {
	list-style: none;
	counter-reset: my-counter;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	padding: 0 0 60px 0;
}
.content18 ol li {
	counter-increment: my-counter;
	position: relative;
	padding: 30px 40px 20px 130px;
	background: #fff;
	overflow: hidden; 
	z-index: 1;
	border: solid 1px #D2DAD6;
	color: #1D4732;
	transition: all 0.3s ease-in-out;
}
.content18 ol li::before {
	content: counter(my-counter);
	position: absolute;
	top: 50%;
	left: -23px;
	font-size: 170pt;
	font-weight: 300;
	color: #1D4732;
	z-index: -1;
	line-height: 1;
	opacity: .2;
	transform: translate(0,-50%);
}
.content18 ol li h4 {
	font-size: 19pt;
	margin-bottom: 15px;
}
.content18 ol li:hover {
	background: #1D4732;
	border: solid 1px #1D4732;
	color: #fff;
}
.content18 ol li:hover::before {color: #fff;}
.content19 {
	background: #123524;
	color: #E8DDCF;
	padding: 100px 0;
	overflow: hidden;
}
.content19 .container {z-index: 1;}
.content1901 {
	position: absolute;
	left: -30px;
	bottom: 0;
	font-family: "Cormorant Garamond", serif;
	font-style: italic;
	font-size: 235pt;
	letter-spacing: -10px;
	line-height: 147pt;
	color: #1D4732;
	z-index: 0;
}
.content1902 {
	position: relative;
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
.content1902::before {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	bottom: 0;
	top: 24%;
	background: #1D4732;
}
.content1902 > span {
	position: relative;
	background: #123524;
	display: inline-block;
	width: 70%;
}
.content1902 > span::after {
	content: "";
	padding-bottom: 100%;
	display: block;
}
.content1902 > span img {
	position: absolute;
	left: 10px;
	top: 10px;
	object-fit: cover;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
}
.content1902 a {
	position: relative;
	margin: 30px auto;
}
.content20 {padding: 100px 0;}
.content20 ul {
	padding: 30px 0;
	margin: 0;
	font-size: 30pt;
	list-style-type: none;
}
.content20 ul li {
	display: inline-block;
	margin: 0 20px;
}
.content20 ul li span {text-decoration: underline;}
.content20 ul li a {
	text-decoration: none;
	color: rgba(0,0,0,.5);
}
.content20 ul li a:hover {
	text-decoration: underline;
	color: rgba(0,0,0,.7);
}
.custom-2600 {
    max-width: 1600px;
    margin: 0 auto;
    transition: all 0.3s ease;
}
.side-img {
    object-fit: cover;
    min-height: 200px;
}
.main-img { aspect-ratio: 16 / 10; object-fit: cover; }
.sub-img { aspect-ratio: 4 / 3; object-fit: cover; }
.bottom-img { aspect-ratio: 3 / 2; object-fit: cover; }
.custom-2600 a  {
	display: block;
	position: relative;
	overflow: hidden;
}
.custom-2600 a img {
	object-fit: cover;
	display: block;
	height: 100%;
	width: 100%;
	position: relative;
	overflow: hidden;
}
.custom-2600 a:hover::after  {
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	background: rgba(0,0,0,.7) url("../images/ico07.svg") no-repeat center;
	background-size: 60px auto;
}
.content21 {padding: 100px 0;}
.content21 table {
	width: 100%;
	margin: 20px 0;
	white-space: nowrap;
}
.content21 th {
	padding: 14px;
	font-weight: 300;
	text-align: left;
	border-bottom: solid 1px #E8DDCF;
}
.content21 td {
	padding: 14px;
	font-weight: 700;
	text-align: left;
	border-bottom: solid 1px #E8DDCF;
	transition: all 0.3s ease-in-out;
}
.content21 td > strong {font-weight: 300;}
.content21 tr:hover td {background: #E8DDCF;}
.content21 td:last-child {
	width: 140px;
	text-align: right;
}
.content21 td:last-child a {
	padding: 10px 15px;
	color: #000;
	text-decoration: none;
	display: inline-block;
	border: solid 1px #000;
	font-size: 11pt;
}
.content21 td:last-child a:hover {
	color: #fff;
	background: #000;
}
.content21 td:nth-last-child(2) {width: 98px;}
.content21 td:nth-last-child(2) span {
	padding: 10px 15px;
	color: #1D4732;
	background: #7BC09D;
	display: inline-block;
	border: solid 1px #7BC09D;
	font-size: 11pt;
	min-width: 93px;
	text-align: center;
}
.content21 td:nth-last-child(2) span.sold {
	color: #fff;
	background: #D47272;
	border: solid 1px #D47272;
}
.table-buttons {
	text-align: center;
	padding-bottom: 30px;
}
.table-buttons .radiobox input {
	position: absolute;
	opacity: 0;
	height: 0;
	width: 0;
}
.table-buttons .radiobox {
	display: inline-block;
	padding: 4px;
}
.table-buttons .radiolabel {
	padding: 10px 30px;
	background: #fff;
	border: solid 1px #000;
	cursor: pointer;
	font-size: 13pt;
	font-weight: 700;
	display: inline-block;
}
.table-buttons .radiobox input:checked ~ .radiolabel {
	background: #E8DDCF;
	border: solid 1px #E8DDCF;
}



/* tom 2026 ---------------------------- */