/* Site Presets */
:root {
	--header_height:79px;
}
ul:not([class]) {
	list-style:disc outside;
	padding-left: 20px;
	display: flex;
	flex-direction: column;
	position: relative;
	row-gap:15px;
}
ul:not([class]) li {
	position: relative;
}
html, body {
	scroll-behavior:smooth;
	overflow-x:clip !important;
	font-family: "TikTok Sans", sans-serif;
	font-weight: 400;
	font-size:16px;
	line-height:1.4;
}
body {
	background-color:var(--body_bg);
	color:var(--body_color);
}
h1,h2,h3,h4,h5,h6,p {
	margin:0;
}
h1,h2,h3,h4,h5,h6 {
	line-height:1.2;
	color:var(--heading_color);
}
p:not(:last-child) {
	margin-bottom:20px;
}
h1,
.h1 {
	display:block;
	font-weight: 400;
	font-size: 80px;
	text-align: center;
	text-transform: uppercase;
	color: #FFFFFF;
}
.section--title,
.h2,
h2 {
	display:block;
	font-weight: 400;
	font-size: 25px;
	text-transform: uppercase;
}
.h3,
h3 {
	display:block;
	font-weight: 400;
	font-size: 20px;
	text-transform: uppercase;
}
.h4,
h4 {
	display:block;
	font-weight: 400;
	font-size: 18px;
	text-transform: uppercase;
}
.net22-image {
	width:45px;
	display: block;
}
.net22-image svg {
	height:100%;
	width:100%;
}
.cta--border {
	display:flex;
	padding:15px 30px;
	max-width:max-content;
	justify-content:center;
	align-items:center;
	text-align:center;
	font-weight: 500;
	font-size: 13px;
	line-height: 16px;
	color: var(--cta_bg);
	border:1px solid var(--cta_color);
	color:var(--cta_color);
	text-transform:uppercase;
}
.cta--border:hover {
	color:var(--cta_bg);
	background-color:var(--cta_color);
}
.cta--border.reverse {
	color:var(--cta_bg);
	background-color:var(--cta_color);
}
.cta--border.reverse:hover {
	background-color:transparent;
	color:var(--cta_color);
}
[data-slider-count="1"] .owl-carousel {
	pointer-events:none;
}
[data-slider-count="1"] .owl-dots,
[data-slider-count="1"] .slider--controls {
	display:none !important;
}
#parallax {
	margin-top: 120px;
	height: 850px;
	max-height: 90svh;
}
#parallax .parallax--element {
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	background-attachment:fixed;
}
.text.editor.has--read-more:not(.full) p:not(:first-child):not(:nth-child(2)) {
	display:none;
}
.read--more-button {
	display: flex;
	max-width: max-content;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--cta_color);
	margin-block: 25px 45px;
	color: var(--cta_color);
}
#fixed--book-button {
	display:none;
}
/* End Site Presets */

/* Navigation */
#header {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:10;
	padding:15px 30px;
	transition:all linear 400ms;
	border-bottom:1px solid transparent;
}
#header.style_1 {
	background-color: #fff;
}
#header.style_2 {
	background-color: #fff;
}
#header.style_2 .col--right {
	column-gap:10px;
}
#header.style_3 {
	background-color: #fff;
}
#header.style_3 .col--right {
	column-gap:25px;
}
.header--logo.header--logo-scrolled {
	width: 115px;
	height: 43px;
	opacity:0;
}
.header--logo {
	height: 220px;
	width: 110px;
	transition:all linear 400ms;
	position: absolute;
	top:20px;
}
#header.scrolled {
	border-color: #C8C8C8;
}
#header.scrolled .header--logo {
	opacity:0;
	pointer-events:none;
}
#header.scrolled .header--logo.header--logo-scrolled  {
	opacity:1;
	pointer-events:auto;
}
#burger {
	color:var(--body_color);
	display:flex;
	max-width:max-content;
	justify-content:center;
	align-items:center;
	min-width:77px;
	min-height:13px;
}
#burger svg {
	width:77px;
	height:13px;
}
#header.style_2 #burger {
	padding: 10px;
	border: 1px solid #000000;
	align-self: stretch;
}
#header.style_2 #burger:hover {
	background-color:#000;
	color:#fff;
}
.languages--wrapper.dropdown .languages--next {
	position: absolute;
	top: 100%;
	background-color: #fff;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
	transition:all linear 300ms;
	opacity:0;
	border: 1px solid var(--body_color);
}
.languages--wrapper.dropdown:hover .languages--next {
	opacity:1;
}
.languages--wrapper.next .next--lang {
	font-weight: 500;
	font-size: 16px;
	line-height: 1;
	color: var(--body_color);
	text-transform:uppercase;
}
.languages--wrapper {
	max-width: max-content;
}
.languages--wrapper.dropdown .next--lang {
	font-size: 15px;
	color: var(--body_color);
	padding: 10px 25px;
}
#header.style_4 {
	padding-block:0;
	padding-right:0;
}
#header.style_4 .col--right {
	align-items:stretch;
	max-width: max-content;
	background-color:#fff;
}
#header.style_4 .col--right-inner {
	padding-inline:25px 35px;
	column-gap:30px;
}
.logo--wrapper {
	display: flex;
	max-width: max-content;
}
#header.style_4 .col--right-inner {
	padding: 21px 35px 21px 25px;
	column-gap: 30px;
}
#header.style_4 .cta--border.reverse:hover {
	border-block-color: transparent;
	border-right-color: transparent;
}
#header.style_4.scrolled {
	background-color: #fff;
}
.nagivation--wrapper {
	position: fixed;
	top: 0;
	right: 0;
	height: 100%;
	z-index: 12;
	padding: 175px 60px 80px;
	width: 525px;
	transition:all linear 400ms;
	transform: translateX(100%);
	background-color:var(--menu_bg);
}
html.menu--visible,
html.menu--visible body {
	overflow:hidden !important;
}
html.menu--visible .nagivation--wrapper {
	transform: translateX(0);
}
.nagivation--wrapper .main--menu {
	row-gap:15px;
}
.nagivation--wrapper .main--menu li a {
	font-weight: 400;
	font-size: 22px;
	color:var(--menu_color);
	line-height: 1;
	text-transform: uppercase;
	display:flex;
	max-width:max-content;
	position:relative;
	padding-bottom:5px;
}
.nagivation--wrapper .main--menu li a::after {
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	background-color:#000;
	transition:all ease-in-out 250ms;
}
.nagivation--wrapper .main--menu li a:hover::after {
	width:100%;
}
.nagivation--wrapper .navigation {
	margin-bottom:80px;
}
.menu--contact.contact--list li a {
	font-size:18px;
	padding-bottom:5px;
}
.menu--contact.contact--list .inner--flex {
	justify-content: flex-start;
	max-width: max-content;
}
.menu--contact.contact--list .contact--item-title {
	text-transform:uppercase;
	margin-bottom:5px;
	display:block;
}
.menu--contact.contact--list {
	row-gap:30px;
	margin-bottom:70px;
}
.menu--contact.contact--list li a::after {
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	transition:all ease-in-out 250ms;
}
.menu--contact.contact--list li a:hover::after {
	width:100%;
}
.socials--list.menu li a  {
	color:#000;	
}
.socials--list.menu {
	margin-bottom:70px;
}
#close--menu {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index:1;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 10px;
	min-width: 140px;
	font-weight: 500;
	height: calc(var(--header_height) - 20px);
	font-size: 16px;
	line-height: 1;
	text-transform: uppercase;
	color:var(--menu_color);
	background-color: var(--menu_bg);
	border:1px solid var(--menu_color);
}
#close--menu:hover {
	color:var(--menu_bg);
	background-color: var(--menu_color);
}
.nagivation--wrapper .menu--contact.contact--list .contact--item-title,
.nagivation--wrapper .menu--contact.contact--list li a {
	color:var(--menu_color);
}
.nagivation--wrapper .menu--contact.contact--list li a::after,
.nagivation--wrapper .main--menu li a::after {
	background-color:var(--menu_color);
}
.nagivation--wrapper .socials--list.menu li a {
	color:var(--menu_color);
}
.nagivation--wrapper.style_2 {
	height:auto;
}
#menu--overlay {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#000;
	opacity:.4;
	cursor:pointer;
	display:none;
	z-index:11;
	transition:unset;
}
#header.transparent--header:not(.scrolled) {
	background-color: transparent;
}
/* End Navigation */

/* Homepage */
#hero {
	min-height:100svh;
}
#hero .image {
	position:relative;
	overflow:hidden;
	height:100svh;
}
#hero .image img {
	transition: all 6s cubic-bezier(.46,.03,.52,.96);
	transform: scale(1.2);
}
#hero .image::before {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#000;
	z-index:1;
	opacity:.2;
}
#hero.style_1 .content {
	position:absolute;
	bottom:110px;
	left:50%;
	transform:translateX(-50%);
	max-width:1000px;
	z-index:1;
}
#hero.style_1 .slider--controls {
	display:none;
}
.owl-nav {
	display:none;
}
#hero .owl-item.active .image img {
	transform: translateY(-45px) scale(1.2);
}
#hero .content .subtitle {
	margin-top:10px;
}
.owl-carousel .owl-dots {
	display:flex;
	align-items:center;
	column-gap:5px;
}
.owl-carousel .owl-dots .owl-dot span {
	display:none;
}
.owl-carousel .owl-dots .owl-dot {
	border:1px solid #fff;
	border-radius:50%;
	min-width:10px;
	max-width:10px;
	min-height:10px;
	max-height:10px;
	transition:all ease-in-out 250ms;
}
.owl-carousel .owl-dots .owl-dot.active {
	background-color:#fff;
}
#hero.style_1 .owl-dots {
	position:absolute;
	bottom:70px;
	z-index:1;
	left:50%;
	transform:translateX(-50%);
}
.oel-3columns--wrapper,
.oel--wrapper {
	margin-top: 150px;
}
.page--header-wrapper .cols .col--left {
	max-width: 600px;
}
.page--header-wrapper.column .cols {
	row-gap:25px;
	flex-direction:column;
	align-items:flex-start;
}
.page--header-wrapper .cols .col--left .section--title {
	margin-bottom:25px;
}
.container {
	width:100%;
	padding-inline:30px;
	max-width:1450px;
	margin-inline:auto;
}
.container--large {
	width: 100%;
	padding-inline: 30px;
	max-width: 1680px;
	margin-inline: auto;
}
.container--full {
	width: 100%;
	padding-inline: 30px;
	margin-inline: auto;
}
.oel-3columns--wrapper .loop,
.oel--wrapper .carousel--parent {
	margin-top: 80px;
}
.oel--wrapper .owl-carousel .image {
	height: 850px;
	max-height: 90svh;
}
.oel--wrapper.overflow-visible .container--full {
	max-width: 1450px;
}
.oel--wrapper.overflow-visible .owl-stage-outer {
	overflow:visible;
}
.slider--controls > span {
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	z-index:1;
	width:50px;
	height:50px;
}
.slider--controls > span svg {
	height:100%;
	width:100%;
	transition:all ease-in-out 250ms;
}
.slider--controls > span.prev {
	left:20px;
}
.slider--controls > span.next {
	right:20px;
}
.slider--controls > span.next:hover svg {
	transform:translateX(5px);
}
.slider--controls > span.prev:hover svg {
	transform:translateX(-5px);
}
.oel-3columns--wrapper .loop {
	gap:20px;
}
.text--on-image-preview__card .image {
	height: 725px;
	position:relative;
}
.text--on-image-preview__card .image::after {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#000;
	opacity:.2;
}
.text--on-image-preview__card:nth-child(2) .image {
	height:600px;
}
.text--on-image-preview__card .content {
	position: absolute;
	z-index:1;
	width:100%;
	left:0;
	padding-inline:30px;
}
.text--on-image-preview__card .content .title {
	font-weight: 400;
	text-transform: uppercase;
	color: #FFFFFF;
}
.text--on-image-preview__card .content .title .icon {
	display:none;
}
.text--on-image-preview__card.style_1 .content {
	top: 60px;
	left:0;
}
.text--on-image-preview__card.style_1 .content .title {
	text-align: center;
}
.text--on-image-preview__card.style_2 .content {
	bottom:30px;
}
.text--on-image-preview__card.style_2 .content .title {
	display:flex;
	justify-content:space-between;
}
.text--on-image-preview__card.style_2 .content .title .icon {
	display:flex;
	width:15px;
	min-width:15px;
	height:15px;
}
.left--right-wrapper .cols > div {
	min-width: 100%;
	max-width: 100%;
}
.left--right-wrapper .cols .image {
	height: 850px;
	max-height: 90svh;
}
.oel--wrapper .owl-dots {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
#hero.style_2 .content {
	position: absolute;
	bottom: 60px;
	z-index: 1;
	left: 40px;
	max-width:500px;
}
#hero.style_2 .content .subtitle,
#hero.style_2 .content .title {
	text-align:left;
}
#hero.style_2 .slider--controls > span.prev {
	left:40px;
}
#hero.style_2 .slider--controls > span.next {
	right:40px;
}
#hero.style_2 .slider--controls > span svg circle,
#hero.style_2 .slider--controls > span svg path {
	stroke:#fff;
}
#hero.style_2 .owl-dots {
	position: absolute;
	bottom: 60px;
	right: 40px;
	z-index: 1;
}
.left--right-wrapper .slider--controls > span.prev {
	left:40px;
}
.left--right-wrapper .slider--controls > span.next {
	right:40px;
}
.left--right-wrapper .slider--controls > span svg circle,
.left--right-wrapper .slider--controls > span svg path {
	stroke:#fff;
}
.left--right-wrapper .slider--controls > span {
	top:unset;
	transform:unset;
	bottom:30px;
}
.left--right-wrapper .owl-dots {
	position:absolute;
	bottom:50px;
	left:50%;
	transform:translateX(-50%);
	z-index:1;
}
.left--right-wrapper .cols .col--left .inner {
	max-width:calc(100% - 300px);
	margin-inline:auto;
}
.left--right-wrapper .cols .col--left .inner .section--title {
	margin-bottom:30px;
}
.left--right-wrapper .cols .col--left .inner .cta--border {
	margin-top:60px;
}
.left--right-wrapper.reverse .col--right { 
	grid-area: 1 / 1 / 2 / 2; 
}
.left--right-wrapper.reverse .col--left { 
	grid-area: 1 / 2 / 2 / 3;
} 
.text--on-image-preview__card.style_3 .content {
	top: 50%;
	transform: translateY(-50%);
}
.text--on-image-preview__card.style_3 .content .title {
	text-align:center;
}
#hero.style_3 .content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	max-width: 500px;
}
#hero.style_3 .slider--controls > span svg path,
#hero.style_3 .slider--controls > span svg circle {
	stroke:#fff;
}
#hero:not(.style_3) #scroll--about {
	display:none;
}
#hero.style_3 #scroll--about {
	padding-bottom:55px;
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	z-index:1;
	bottom:20px;
	text-align:center;
	font-weight: 400;
	font-size: 14px;
	line-height: 1;
	text-transform: uppercase;
	color: #FFFFFF;
}
#hero.style_3 #scroll--about::after {
	content: '';
	position: absolute;
	top: calc(100% - 45px);
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 45px;
	transition: all linear 300ms;
	background-color: #fff;
}
#hero.style_3 #scroll--about:hover::after {
	height:35px;
}
.triple--image-wrapper {
	margin-top: 150px;
}
.triple--image-wrapper .content {
	max-width: 700px;
	margin: 0 auto 85px;
}
.triple--image-wrapper .content .section--title {
	margin-bottom:20px;
}
.triple--image-wrapper .grid {
	gap:35px;
}
.triple--image-wrapper .grid .image:not(:nth-child(2)) {
	margin-top:80px;
}
.triple--image-wrapper .grid .image {
	height:500px;
}
.triple--image-wrapper .cta--border {
	margin: 50px auto 0;
}
#header.style_1 .header--content .col--right {
	column-gap: 25px;
}
.languages--current {
	column-gap: 3px;
	padding-block: 8px;
}
.current--lang {
	font-size: 15px;
}
.languages--current .icon:first-child {
	min-width: 13px;
	max-width: 13px;
}
.languages--current .icon:last-child {
	min-width: 9px;
	max-width: 9px;
}
.header--content {
	max-width:1920px;
	margin-inline:auto;
	min-height:48px;
}
#hero.style_3 .slider--controls > span.prev {
	left:40px;
}
#hero.style_3 .slider--controls > span.next {
	right:40px;
}
.villa-slider-wrapper {
	margin-top: 200px;
}
.villa-slider-wrapper .slider--controls {
	display:flex;
	align-items:center;
	column-gap:15px;
	max-width:max-content;
	margin-left:auto;
	margin-top: -50px;
}
.villa-slider-wrapper .slider--controls > span {
	position:static;
	transform:unset;
}
.villa-slider-wrapper .page--header-wrapper .cols {
	max-width: 1680px;
}
.villas--slider-carousel {
	margin-top: 70px;
}
.villas--slider-nav {
	column-gap:40px;
	transform: translateY(50px);
}
.villas--slider-nav > span {
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	text-transform: uppercase;
	display:block;
	color:#D0D0D0;
	padding-bottom:5px;
	border-bottom:1px solid transparent;
}
.villas--slider-nav > span:hover {
	color:#000;
}
.villas--slider-nav > span.active {
	border-color:#000;
	color: #000000;
}
.villas--slider-carousel .single .image {
	height: 825px;
	min-width:900px;
	max-width:900px;
}
.villas--slider-carousel .single .cols {
	column-gap:130px;
}
.villas--slider-carousel .single .cols .col--right {
	max-width: 500px;
	width: 100%;
	padding-bottom:130px;
}
.villas--slider-carousel .single .cols .col--right .text.editor {
	margin-block:25px 30px;
}
.villas--slider-carousel .single .cols .col--right .title {
	font-weight: 400;
	font-size: 30px;
	line-height: 1;
	text-transform: uppercase;
	color: #000000;
}
.villas--slider-nav__wrapper {
	display:flex;
	column-gap:130px;
	position:relative;
	z-index:2;
}
.villas--slider-nav__wrapper .spacer {
	min-width:900px;
	max-width:900px;
}
.oel--center-wrapper .owl-carousel .image {
	height: 850px;
	max-height: 90svh;
}
.oel--center-wrapper {
	margin-top: 200px;
}
.oel--center-header {
	max-width:660px;
	width:100%;
	margin:0 auto 55px;
	text-align:center;
}
.oel--center-header .section--title {
	margin-bottom:20px;
}
.oel--center-wrapper .slider--controls > span svg circle,
.oel--center-wrapper .slider--controls > span svg path {
	stroke:#fff;
}
.oel--center-wrapper .cta--border {
	margin:30px auto 0;
}
.oel--center-wrapper .owl-dots {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.villa-list-wrapper .page--header-wrapper .cols {
	max-width: 1680px;
}
.villa-list-wrapper {
	margin-top:200px;
}
.villas--list-content {
	margin-top: 65px;
}
.villas--list-loop .single {
	padding: 50px 40px;
	border-block: 1px solid #C8C8C8;
}
.villa-list-wrapper .single .image {
	min-width: 540px;
	max-width: 540px;
	height: 320px;
}
.villa-list-wrapper .single .col--middle {
	max-width:550px;
	width:100%;
	margin-left: -45px;
}
.villa-list-wrapper .single .title {
	font-weight: 400;
	font-size: 20px;
	margin-bottom:20px;
	line-height: 1;
	text-transform: uppercase;
	color: #000000;
}
.cta--arrow {
	display: flex;
	align-items: center;
	font-weight: 500;
	font-size: 14px;
	line-height: 1;
	text-transform: uppercase;
	color: #000000;
	column-gap: 6px;
	border-bottom:1px solid #000000;
	padding-bottom:4px;
}
.cta--arrow .icon {
	width:13px;
	min-height:13px;
	height:13px;
	transform: rotate(135deg);
}
.cta--arrow .icon svg {
	transition:all ease-in-out 250ms;
}
.cta--arrow:hover .icon svg {
	transform: translateX(-3px);
}

.villa-slider-big__wrapper .page--header-wrapper .cols {
	max-width: 1680px;
}
.villa-slider-big__wrapper {
	margin-top:200px;
}
.villas--slider-big__content {
	margin-top: 65px;
}
.villa-slider-big__wrapper .single .image {
	height: 850px;
	max-height: 90svh;
	position:relative;
}
.villa-slider-big__wrapper .single .image::before {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#000;
	z-index:1;
	opacity:.4;
}
.villa-slider-big__wrapper .single .title {
	font-weight: 400;
	font-size: 26px;
	line-height: 1;
	text-transform: uppercase;
	color: #FFF9F9;
	text-align:center;
}
.villa-slider-big__wrapper .single .content {
	max-width:800px;
}
.villa-slider-big__wrapper .owl-dots {
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
.villa-slider-big__wrapper .slider--controls > span svg circle, 
.villa-slider-big__wrapper .slider--controls > span svg path {
	stroke: #fff;
}
.page--header-wrapper.row .cols {
	justify-content: space-between;
}
.left--right-wrapper.with--space {
	margin-top: 100px;
}
.has--mobile-gallery .owl-carousel.mobile {
	display: none;
}
/* End Homepage */

/* Testimonials */
#testimonials {
	margin-top: 120px;
}
#testimonials .cols {
	column-gap:100px;
}
#testimonials .col--left .image {
	height: 740px;
}
#testimonials .cols .col--right .section--title {
	margin-bottom:100px;
}
#testimonials .cols .col--right {
	max-width:540px;
}
#testimonials .single .name {
	font-weight: 600;
	font-size: 18px;
	line-height: 1;
	color: var(--heading_color);
	margin-top: 15px;
	display: block;
}
#testimonials .testimonials--actions {
	margin-top:130px;
}
#testimonials .testimonials--actions .slider--controls {
	column-gap:40px;
}
#testimonials .testimonials--actions .slider--controls > span {
	position:static;
	transform:unset;
}
#testimonials.style_1 .cols {
	align-items:center;
}
/* End Testimonials */

/* Footer */
#footer {
	background-color:var(--footer_bg);
	margin-top: 200px;
}
.footer--menu li a {
	font-weight: 400;
	font-size: 22px;
	line-height: 1;
	text-transform: uppercase;
	display:flex;
	max-width:max-content;
	padding-bottom:5px;
	position:relative;
	color: var(--footer_color);
}
.footer--logo {
	width: 188px;
	height: 130px;
}
.footer--menu li a::after {
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	background-color:var(--footer_color);
	transition:all ease-in-out 250ms;
}
.footer--menu li a:hover::after {
	width:100%;
}
.contact--list.style_1 {
	row-gap:35px;
}
.contact--list.style_1 li {
	padding-bottom:8px;
	border-bottom:1px solid rgba(255, 255, 255, .4);
}
.contact--list.style_1 li .inner--flex {
	row-gap:10px;
}
.contact--list.style_1 li .contact--item-title {
	font-weight: 400;
	font-size: 20px;
	line-height: 1;
	text-transform: uppercase;
	color: var(--footer_color);
}
.contact--list li a {
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	color: var(--footer_color);
	position:relative;
	max-width:max-content;
}
#footer .contact--list li a {
	color: var(--footer_color);
}
.contact--list.style_1 li a:hover {
	opacity:.7;
}
.socials--list {
	column-gap: 15px;
}
#footer .socials--list li a {
	color: var(--footer_color);
}
#footer.style_1 .contact--list.style_1 {
	margin-bottom:115px;
}
#footer.style_1 .footer--cols .col--right {
	max-width: 850px;
	min-width: 850px;
}
#footer.style_1 {
	padding-block:120px 30px;
}
#footer.style_1 .footer--menu {
	row-gap:20px;
}
#back--top-top {
	font-weight: 400;
	font-size: 13px;
	line-height: 1;
	text-transform: uppercase;
	color: var(--footer_color);
	column-gap: 10px;
}
#back--top-top .icon svg {
	transition:all ease-in-out 250ms;
}
#back--top-top:hover .icon svg {
	transform:translateY(-10px);
}
.sub-footer {
	font-size: 13px;
	line-height: 1;
	text-transform:uppercase;
	color: var(--footer_color);
}
.sub-footer.style_1 {
	margin-top: 120px;
}
#footer.style_2 {
	padding-block:100px 30px;
}
#footer.style_2 .contact--list {
	column-gap:60px;
	margin-block:40px 80px;
}
#footer.style_2 .footer--menu {
	column-gap:80px;
}
.contact--list.style_2 li a {
	font-size: 18px;
	padding-bottom:5px;
}
#footer.style_2 .col--main .navigation {
	margin-bottom: 100px;
}
.contact--list.style_2 li a::after {
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	background-color:#fff;
	transition:all ease-in-out 250ms;
}
.contact--list.style_2 li a:hover::after {
	width:100%;
}
.sub-footer.style_2 {
	padding-top:40px;
	margin-top:40px;
	border-top:1px solid rgba(255, 255, 255, .2);
}
#footer.style_3 .footer--menu {
	row-gap:15px;
}
/* #footer.style_3 .footer--logo {
filter: invert(1);
} */
.contact--list.style_3 li a {
	color:#000;
}
.contact--list.style_3 li a::after {
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:1px;
	background-color:#000;
	transition:all ease-in-out 250ms;
}
.contact--list.style_3 li a:hover::after {
	width:100%;
}
.contact--list.style_3 li a {
	font-size: 18px;
	padding-bottom:5px;
}
.contact--list.style_3  {
	row-gap:10px;
}
#footer.style_3 .footer--cols > .col--middle {
	margin-block: 50px;
	padding-block: 40px;
	border-block: 1px solid rgba(0, 0, 0, .1);
}
.socials--list.style_3 li a {
	color:#000;
}
#footer.style_3 {
	padding-block: 50px 20px;
}
#footer.style_1 .footer--cols {
	padding-inline: 100px;
}
.created-by a {
	color:var(--footer_color);
}
.created-by {
	display: flex;
	align-items: center;
	column-gap: 6px;
}
.be--on-holidays {
	color: var(--footer_color);
	display: block;
	font-size: 13px;
	max-width: 165px;
}
/* End Footer */

/* Template About */

/* End Template About */

/* Template Services */
#hero.style_4 .content {
	position: absolute;
	bottom: 160px;
	z-index: 1;
	display: flex;
	flex-direction:column;
	width: 1550px;
	left: 50%;
	transform: translateX(-50%);
}
#hero.style_4 .content .subtitle {
	font-weight: 400;
	font-size: 20px;
	line-height: 1;
	text-transform: uppercase;
	margin-top: 0;
	align-self: flex-end;
	color: #FFFFFF;
	text-align:right;
}
#hero.style_4 .content .title {
	align-self: stretch;
	text-align: left;
	border-bottom: 1px solid #fff;
	padding-bottom: 10px;
	margin-bottom: 15px;
}
/* End Template Services */

/* Template Gallery */
.gallery--wrapper {
	margin-top:200px;
}
.gallery--wrapper .gallery--content.grid a {
	display:flex;
	height:720px;
	width:100%;
}
.gallery--wrapper .gallery--content.grid a:nth-child(3n - 1) {
	transform:translateY(-120px);
}
.gallery--wrapper .gallery--content.grid {
	gap:20px;
}
.enable-lightbox a {
	display: flex;
	position: relative;
}
.enable-lightbox a::before {
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
	background-image: url('../images/open-image.svg');
	background-repeat: no-repeat;
	background-size: contain;
	width: 50px;
	height: 50px;
	z-index: 1;
	transition: all ease-in-out 650ms;
}
.enable-lightbox a::before, .enable-lightbox a::after {
	content: '';
	position: absolute;
	opacity: 0;
	visibility: hidden;
}
.enable-lightbox a::after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	transition: all ease-in-out 350ms;
}
.enable-lightbox a:hover::before {
	opacity: 1;
	visibility: visible;
}
.enable-lightbox a:hover::after {
	opacity: .25;
	visibility: visible;
}
.gallery--tabs-wrapper.gallery--wrapper {
	margin-top: 100px;
}
.gallery--tabs-buttons {
	margin-bottom: 200px;
	column-gap: 20px;
}
.gallery--tabs-loop > div:not(#gallery--1) {
	display:none;
}
.cta--border.active {
	background-color: var(--cta_color);
	color: var(--cta_bg);
}
/* End Template Gallery */

/* Template Location */
.location--map-wrapper {
	display: flex;
	max-width: 1920px;
	margin: 100px auto 0;
	border: 1px solid #000;
}
.location--map-wrapper #location-map {
	width: 100%;
}
.location--map-tabs {
	background-color:#fff;
	padding: 45px 16px 16px;
	min-width: 350px;
	display: flex;
	flex-direction: column;
	border-right: 1px solid #000;
}
.location--map-tabs__title {
	margin-bottom: 10px;
}
.location--map-tabs .location--map-panel__collapse {
	display: none;
	margin: 5px 0;
}
.location--map-panel__title a,
.location--map-panel__title {
	font-size: 16px;
	font-weight: 400;
	text-transform: uppercase;
	transition: all ease-in-out 250ms;
}
.location--map-panel__title a {
	display: flex;
	justify-content: center;
	padding: 10px 0;
	color: #000;
}
.location--map-panel:nth-child(1) .location--map-panel__title a {
	border-top: 1px solid #ddd;
}
.location--map-panel:nth-child(even) .location--map-panel__title a {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
.location--map-panel:last-child .location--map-panel__title a {
	border-bottom: 1px solid #ddd;
}
.location--map-directions {
	margin-top: auto;
	text-align: center;
}
.location--map-panel__body a {
	display: flex;
	justify-content: center;
	padding: 5px;
	color: #1a1a1a;
	font-size: 14px;
}
.dir_link {
	margin-top: 20px;
	background: #000;
	font-weight: 600;
	color: #fff;
	padding: 12px;
	display: flex;
	justify-content: center;
	border-radius: 5px;
	position: relative;
	border: 1px solid #000;
}
.dir_link:hover {
	color:#000;
	background-color:transparent;
}
.text-center {
	text-align: center;
}
.location--map-panel__body a.active {
	background-color:#1a1a1a;
	color:#fff;
}
.location--map-directions__text > h3, .location--map-directions__text > h2, .location--map-directions__text > p {
	display: none;
}
.location--map-panel:first-child .location--map-panel__collapse {
	display: block;
}
.location--map-panel__title .tab--active {
	background-color: var(--cta_color);
	color: var(--cta_bg);
}
.location--map-tabs__subtitle.site__letter-spacing.text-center.section-title {
	margin-bottom: 20px;
}
#location-map {
	height:700px;
	z-index:0;
}
.locations__items-wrapper.simple__preview-card__section {
	margin-block: 60px;
}
.leaflet-popup-content img {
	width: 100%;
	height: 70px;
	object-fit: cover;
	border-radius:5px;
	overflow:hidden;
	margin-top: 8px;
}
.leaflet-popup-content .text_desc {
	font-size: 75%;
	text-align: center;
	display: block;
	margin-block: 5px;
}
.leaflet-popup-content {
	font-size: 18px;
}
.location--map-tabs__subtitle {
	margin-bottom: 20px;
}
.leaflet-control-attribution {
	display: none;
}
.location--map-wrapper.no--hero {
	margin-top: var(--header_height);
}
.location--map-wrapper.no--hero #location-map {
	height: calc(100svh - var(--header_height));
}
/* End Template Location */

/* Template The Villa */
.template--the-villa__information {
	column-gap: 60px;
	margin-top: 60px;
}
.template--the-villa__information .single {
	row-gap:10px;
	font-weight: 400;
	font-size: 18px;
	line-height: 1;
	text-align: center;
	color: #FFFFFF;
}
.template--the-villa__amenities {
	margin-top: 140px;
}
.template--the-villa__amenities .section--title {
	margin-bottom:80px;
}
.template--the-villa__amenities .content .text.editor ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 140px;
	row-gap: 15px;
}
.template--the-villa__amenities .content .text.editor ul li {
	line-height:1.3;
	padding-bottom:8px;
	border-bottom:1px solid #C4C4C4;
}
.gallery--wrapper .section--title {
	margin-bottom: 180px;
}
body.page-template-template-the-villa .gallery--wrapper {
	margin-top:120px;
}
.gallery--wrapper .owl-carousel a {
	height: 850px;
	max-height: 90svh;
}
.gallery--wrapper.owl-carousel--parent .section--title {
	margin-bottom:80px;
}
.gallery--wrapper.owl-carousel--parent .owl-dots {
	position: absolute;
	bottom: 70px;
	z-index: 1;
	left: 50%;
	transform: translateX(-50%);
}
.gallery--wrapper.owl-carousel--parent .slider--controls > span svg circle, 
.gallery--wrapper.owl-carousel--parent .slider--controls > span svg path {
	stroke: #fff;
}
.template--the-villa__about--info {
	margin-top: 100px;
}
.template--the-villa__about--info .cols {
	column-gap:100px;
	margin-top:25px;
}
.template--the-villa__about--info .cols .col--right {
	max-width: 520px;
	min-width: 520px;
}
.template--the-villa__about--info .cols .col--right .information {
	margin-bottom: 25px;
	display:flex;
	flex-wrap:wrap;
	column-gap:8px;
}
.template--the-villa__about--info .cols .col--right .information .single {
	display: inline-flex;
	padding-block:5px;
	column-gap: 4px;
}
.template--the-villa__about--info .cols .col--right .information .single .value {
	font-weight:600;
}
.template--the-villa__about--info .cols .col--right .information .single:not(:last-child) {
	padding-right:8px;
	border-right:1px solid #B5B994;
}
.template--the-villa__about--info .cols .col--right .cta--border {
	max-width: 100%;
}
.gallery--categories-wrapper {
	margin-top:145px;
}
.gallery--categories-wrapper .section--title {
	margin-bottom:30px;
}
.gallery--categories-wrapper .owl-carousel a {
	height: 850px;
	max-height: 90svh;
}
.gallery--categories-wrapper .gallery--categories-main:not(:last-child) {
	margin-bottom:100px;
}
.gallery--categories-wrapper .owl-carousel .owl-stage-outer {
	overflow: visible;
}
.gallery--categories-wrapper .gallery--categories-inner {
	max-width: 1050px;
	clip-path: inset( -100vw -100vw -100vw 0 );
}
.gallery--categories-wrapper .slider--controls {
	position: absolute;
	z-index: 2;
	/* 	background-color: #fff; */
	bottom: 30px;
	right: 30px;
	column-gap: 25px;
	/* 	padding: 10px; */
	border-radius: 37px;
	/* 	overflow: hidden; */
}
.gallery--categories-wrapper .slider--controls > span {
	top:unset !important;
	position:static !important;
	transform:unset !important;
	right:unset !important;
	left:unset !important;
}
.gallery--categories-wrapper .slider--controls > span circle, .gallery--categories-wrapper .slider--controls > span path {
	stroke: var(--cta_color);
}
.template--the-villa__amenities-facilities .section--title {
	margin-bottom: 30px;
}
.template--the-villa__amenities-facilities .cols.grid {
	column-gap:185px;
}
.facilities--loop-single .cols {
	column-gap: 130px;
}
.facilities--loop {
	row-gap: 15px;
	padding-top:20px;
}
.facilities--loop .facilities--loop-single:not(:last-child) {
	padding-bottom:15px;
	border-bottom:1px solid #D9D9D9;
}
.facilities--loop .facilities--loop-single .cols .title {
	display:block;
	min-width:max-content;
}
.facilities--loop .facilities--loop-single .cols ul {
	row-gap:10px;
}
.facilities--loop .facilities--loop-single .cols ul li {
	text-align:right;
}
.facilities--loop .facilities--loop-single .cols ul li span:not([class]) {
	bottom: 0;
	font-size:12px;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
.facilities--loop .facilities--loop-single .cols ul li .view--more {
	max-width: max-content;
	font-weight: 400;
	font-size: 15px;
	line-height: 1;
	color: #000;
	display: flex;
	margin-left: auto;
	border-bottom: 1px solid #000;
	padding-bottom: 5px;
}
.template--the-villa__amenities-facilities .cols .col--left .sticky {
	position: sticky;
	top: 100px;
}
.facilities--loop .facilities--loop-single .toggle:hover {
	opacity:.7;
}
.template--the-villa__amenities-facilities {
	margin-top: 150px;
}
.template--the-villa__amenities-facilities .cols .col--left .sticky .cta--border {
	max-width: 100%;
	margin-top: 30px;
}
/* End Template The Villa */

/* Template Contact */
#hero.smaller {
	min-height:500px;
}
#hero.smaller .image {
	height: 500px;
}
.template--contact-wrapper {
	margin-top: 120px;
}
.template--contact-header.style_1 .template--contact-header__flex {
	padding-bottom: 70px;
	border-bottom: 1px solid #C7C7C7;
}
.template--contact-header.style_1 .template--contact-header__flex .contact--list {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.template--contact-header.style_1 .template--contact-header__flex .contact--list .contact--item.license-item {
	display: flex !important;
}
.template--contact-header.style_1 {
	margin-bottom: 100px;
}
.template--contact-wrapper.style_1 .template--contact-main__header {
	max-width:620px;
}
.contact--form-wrapper {
	margin-top:60px;
}
.template--contact-main__header .section--title {
	margin-bottom:40px;
	max-width:260px;
}
.contact--form input,
.contact--form textarea {
	display:block;
	width:100%;
	border:none;
	outline:none;
	border-bottom:1px solid #C7C7C7;
	height:45px;
	padding-bottom:10px;
}
.contact--form textarea {
	resize:none;
	height:170px;
}
.contact--form > div:not(:last-child) {
	margin-bottom:30px;
}
.contact--form .contact--form-item__double {
	gap: 15px;
}
.contact--form .contact--form-item.submit {
	padding-top: 20px;
}
.contact--form .contact--form-item.submit .cta--border {
	cursor:pointer;
	margin-left:auto;
	transition:all ease-in-out 250ms;
	padding: 20px 60px;
}
.contact--form .contact--form-item.submit .cta--border:not(:hover) {
	background-color: transparent;
}
.wpcf7-response-output {
	display:none !important;
}
.wpcf7-not-valid-tip {
	font-size: 14px;
	line-height:1;
	margin-top: 10px;
}
.message__sent-actions > .flex {
	column-gap: 20px;
	flex-wrap: wrap;
}
#contact-map {
	height: 650px;
	position: relative;
	z-index: 0;
	margin-top: 60px;
}
.contact--form-map {
	margin-top: 140px;
}
.contact--form-map .section--title {
	max-width: 160px;
}
.template--contact-wrapper.style_2 .template--contact-main__header .section--title {
	margin-inline: auto;
}
.template--contact-wrapper.style_2 .template--contact-main__header {
	max-width: 600px;
	width: 100%;
	margin-inline: auto;
	text-align: center;
}
.contact--form-map.style_2 .template--contact-header__flex {
	padding-bottom: 0;
	border-bottom: unset;
	margin-top: 100px;
}
.template--contact-wrapper.style_2 .template--contact-header {
	margin-block: 100px 0;
}
.template--contact-wrapper.style_2 .template--contact-header .template--contact-header__flex {
	padding-bottom:0;
	border-bottom:unset;
}
#contact--hero {
	margin-top:var(--header_height);
}
#contact--hero .menu--contact.contact--list li a {
	color: #000;
}
#contact--hero .image {
	width:100%;
	height: calc(100svh - var(--header_height));
}
#contact--hero .title {
	text-align: left;
	color: #000;
	margin-bottom: 55px;
}
#contact--hero .cols .col--left .inner {
	max-width: 400px;
	margin-inline: auto;
	width: 100%;
}
.template--contact-header.style_1 .socials--list.style_3 li a {
	color: var(--cta_color);
}
#hero.smaller .content {
	bottom: 60px;
}
/* End Template Contact */

/* Template Villas Archive */
.villa-list-wrapper.template--villas-archive__list {
	margin-top: 0;
}
/* End Template Villas Archive */