/*
Theme Name: Os2
Theme URI: https://www.os2.it
Author: the Os2 team

*/

@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,400;0,500;0,700;1,400;1,600&display=swap');

@font-face {
  font-family: "domus";
  src: url('fonts/domus.woff2?3') format('woff2'),;
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}


/* Webfont: Moniqa */@font-face {
    font-family: 'Moniqa';
    src:
         url('fonts/Moniqa-CondensedHeading.woff') format('woff'), /* Modern Browsers */
         url('fonts/Moniqa-CondensedHeading.woff2') format('woff2'), /* Modern Browsers */
         url('fonts/Moniqa-CondensedHeading.ttf') format('truetype'); /* Safari, Android, iOS */
             font-style: normal;
    font-weight: normal;
    text-rendering: optimizeLegibility;
    font-display: swap;
}
@font-face {
  font-family: "social-networks";
  src: url("fonts/social-networks.woff?3") format("woff"),
    url("fonts/social-networks.ttf?3") format("truetype"),
    url("fonts/social-networks.svg#caronna?3") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

BODY {font-family: 'Raleway', serif;font-weight:400; font-size:90%; color: #000; margin: 0;padding:0;background:#fff; text-align:justify; line-height:1.9; -webkit-text-size-adjust: 100%}
a:link, a:visited, a:before, a:after, a *, a *:before, a *:after, input {text-decoration:none;-webkit-transition: all 0.2s linear; transition: all 0.2s linear}
a:link, a:visited {color:#BB9D7F; display:inline-block}
a:hover {color:#5EA4A4}

/* form e img */
header, main, footer, figure, blockquote {display:block;margin:0}

body > header, main, #footer {position:relative;padding:0; margin:0 auto; text-align:center}
body > header, footer, main {min-width:320px}
main, body > header {margin:0 auto}


/*main {z-index:0}*/

*, *:after, *:before {-webkit-box-sizing: border-box; box-sizing: border-box;-webkit-font-smoothing: antialiased;-webkit-appearance:none}
input[type="checkbox"] {-webkit-appearance:checkbox}
input[type="radio"] {-webkit-appearance:radio}
p {margin:10px 0}
.imgdx {float:right;margin:5px 0 0 5px}
.imgsx {float:left;margin:8px 5px 0 0}
h1, h2, h3, h4 {position: relative;margin:0;font-weight:normal; line-height: 0.9; color:#000; font-family: 'Moniqa', serif;z-index: 0}
h1, h2 {font-size:80px}
#related {
  background-color: #E3EFF2;
  padding: 64px 0;
}
#related h2 {font-size: 80px; padding-bottom: 10px;}
h1:after, h2:after,.testoslider h4:after,.p-motivazioni > .content > header >h3::after{content:''; width:100%; height:22px; position: absolute;/*top:30px*/bottom:0; left:0;z-index: -1;background: #EDF2F4}
.p-motivazioni > .content > header >h3{display: inline-block}
.p-motivazioni:nth-child(2n) > .content > header >h3::after{background: #FEE5BD}
.testoslider h4:after{top:15px}
.testoslider h4{margin-bottom: 25px}
.page-template-local-love h2:after{top:inherit; bottom: 0}

.grecaptcha-badge {display:none}
#recaptcha {font-size: 11px; width:100%}

h3,#welcometext h2,#welcometext h3,#welcometext h4{font-size:57px}
.single-post h3 {font-size:60px}
h4 {font-size:45px}
/* #pagevillas h1,#pagevillas h4{margin-bottom: 5%;display: inline-block} */
#pagevillas h1 {font-size: 55px}
h1.entry-title {margin-bottom:20px}
div.wpcf7 {margin-bottom:30px}
.wpgmza_map {margin-top:10px}

b, strong {font-weight: 500}
img {border:0;display:block}
form {margin:0}
ul {margin:0; padding:0; list-style:none}
.content ul {margin:10px; padding:10px; list-style:initial}
.content img, #welcome img {max-width:100%; height:auto}
*:focus {outline:none}
.clearfix:after {content: ""; display: table; clear: both;*zoom: 1}
.center {text-align:center; clear:both}
.owl-stage {margin:0 auto}
.content a{display: inline-block; font-weight: 500}

/* Alignment */

.alignleft {display: inline;float: left;margin-right: 1.625em}
.alignright {display: inline; float: right;	margin-left: 1.625em}
.aligncenter {clear: both;display: block;	margin-left: auto; margin-right: auto}
.textleft {text-align: left}
.content.textright, .content .textright {text-align: right}

#gallery-2 .gallery-item img {border: 1px solid #cfcfcf}

.pagination {margin: 50px auto}
.pagination .nav-links {display: inline-flex;justify-content: center}
.pagination .nav-links > * {width:40px; height:40px; line-height:40px; display:block; background: #bb9d7f; color:#fff; margin:0 5px; font-weight:500}
.pagination .nav-links a:hover, .pagination .nav-links > .current {background: #69baba}

input[type="text"], input[type="number"], input[type="email"], input[type="date"], input[type="submit"], textarea, select  {font-family: Lato, sans-serif; font-size:15px; margin:0; padding:0; border:0; color:#fff}
input[type="text"], input[type="email"], input[type="number"], input[type="date"], select, textarea {border-bottom: 1px solid #fff;  padding:10px; background: #BB9D7F}
input[type="text"], input[type="email"], input[type="number"], input[type="date"] {height:40px}

.contatti {text-align: left; margin:40px 0 20px 0; color: #fff}
label {text-align: left; display: inline-block}
.contatti > div {margin-top:20px}
.contatti > div input[type="text"], .contatti > div input[type="email"], .contatti > div input[type="date"], textarea {width:100%; margin-top:3px}
.contatti > p {clear:both;width:94%;margin:3%}

#policy {font-size:80%; margin:20px 0}

span.wpcf7-list-item {margin: 0 !important}


input[type="submit"] {height: 50px;padding: 0 40px;text-transform: uppercase; background: none; color: #fff; font-weight: 600;  border: 1px solid #fff;cursor:pointer}

input[type="submit"]:disabled, input[type="submit"]:disabled:hover, input[type="submit"]:disabled:hover {background: none; color: #dacbbd; cursor:text}
input[type="submit"]:hover {background: #fff; color: #BB9D7F}
input[type="submit"]:active {background: #fff; color: #BB9D7F}
::-webkit-input-placeholder {color: #fff; font-style: italic}
:-moz-placeholder { /* Firefox 18- */ color: #fff;opacity: 1;  font-style: italic}
::-moz-placeholder {  /* Firefox 19+ */  color: #fff;opacity: 1;  font-style: italic}
:-ms-input-placeholder { color: #fff;  font-style: italic}

.submit {position:relative; display:inline-block; height: 34px}
.submit input[type="submit"] {padding-right:25px}
.submit:after {font-family:domus; content:'q'; display:block; color:#fff; font-size:15px; position:absolute; top:0; right:10px; line-height:34px; pointer-events: none}

span.wpcf7-not-valid-tip {color: #C62E1F !important}
div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {background:#D1AA66 !important}
div.wpcf7-mail-sent-ok {background:#449037 !important}

.wpml-ls {text-align: left}
.wpml-ls ul {display:inline-flex; justify-content:space-between}
.wpml-ls ul li {margin-right:8px}
.wpml-ls ul li a {display:block;line-height: 30px; font-size: 17px; border-bottom: 1px solid transparent}

.wpsbc-legend {background:none !important; border:none !important; padding:0 !important}
#calendar .wpsbc-container .wpsbc-legend-item-icon-5 div:first-of-type {background-color:#69baba !important}
#calendar .wpsbc-container .wpsbc-legend-item-icon-6 div:first-of-type {background-color:#bfd9d9 !important}
#calendar .wpsbc-container .wpsbc-legend-item-icon-7 div:first-of-type svg, #calendar .wpsbc-container .wpsbc-legend-item-icon-8 div:nth-of-type(2) svg {fill:#69baba !important}
#calendar .wpsbc-container .wpsbc-legend-item-icon-7 div:nth-of-type(2) svg, #calendar .wpsbc-container .wpsbc-legend-item-icon-8 div:first-of-type svg {fill:#bfd9d9 !important}
.wpsbc-date-number {color:#fff}
#calendar .wpsbc-select-container select {-webkit-appearance: auto; background:none; border:none; color:#000}
.wpsbc-calendar-header-navigation {text-align: left}
#calendar .wpsbc-next, #calendar .wpsbc-prev {background: #BB9D7F}

.content {text-align: left; padding:0 10px}
.page #primarytitle .content{text-align: center}


#top {background-color: #ffffff;width:100%;padding:25px;text-align: left; position:relative;z-index: 5}
#logo, #homeheader {position:relative; text-align: center}
#logo a {display:inline-block; margin:0 auto}
#logo a img {height:16px;margin:0 auto}

#homeheader {width:100%; /*height:400px;*/ padding: 75px 0; display: flex; justify-content: center; align-items: center}
#homeheader:before {position: absolute;top:0; left:0;width:100%; height:100%;background: rgba(0,0,0,.3); content:''}
#homeheader:after {position: absolute;bottom:30px; left:0; right:0; margin:0 auto; content:'a'; color:#fff; font-family: domus; font-size: 12px}

#homeheader h1, #homeheader h4 {color:#fff}
#homeheader h1 {font-size: 68px;line-height: 0.85; margin-bottom: 25px}
#homeheader h1 span {display:block}
#homeheader > div {width:90%}
#homeheader h1 a {color:#fff; display:inline-block; margin:0 auto}

ul#destinationsdd {position: relative;margin:20px auto 0 auto; max-width: 300px;z-index: 1}
ul#destinationsdd > li a {position: relative; background: #fff; color:#696969;font-size: 13px; display: block; text-decoration: none; line-height:50px; padding:0 30px 0 15px; display: flex;justify-content: flex-start; align-items: center}
ul#destinationsdd li a:before {content:'m'; font-family: domus; font-size: 16px; margin-right: 10px}
ul#destinationsdd > li > a:after {content:'a'; position: absolute; top:0;right:15px;font-family: domus; font-size: 8px}
ul#destinationsdd li ul {display:none; text-align: left;position: absolute; top: 50px;background:#fff; width:100%}
ul#destinationsdd li:hover ul {display:block; z-index:2}
ul#destinationsdd li ul li a:hover {background: #69baba;color:#fff}


.bglightcyan {background:#E3EFF2}
.bglightcyan > h1, .home .bglightcyan > h3,.page-template-local-love .bglightcyan>h3 {font-size: 60px;text-align: right; padding: 70px 30px 0;line-height: 1;margin: 0 auto;max-width: 1440px}
#pagevillas  .bglightcyan,#nearby{padding: 70px 10%; text-align: left}
#pagevillas  .bglightcyan{padding:0 10% 1% 10%}
#nearby{padding: 120px 10%}
#pagevillas .bglightcyan > h1{text-align: left;padding:0}
.bglightcyan > h1:after {content:none}
.page-template-local-love .bglightcyan > h1 {padding: 0 30px 0 50px}
#contentsxvilla{padding-top: 8%}

.home main header, #welcome header, .villaslisttitle header,.page-template-local-love #servizi header{display: flex;margin-bottom: 20px}
#homelocallove header, #homereviews header, #homeLocalLove header {margin-top:90px; justify-content: flex-end}
main > section {position: relative}

.cat0#primarytitle header {text-align: center}
#primarytitle .bglightcyan header {margin-top:35px}
#primarytitle h1 {display:inline-block}
#primarytitle .bglightcyan .content {padding-top: 0; max-width: 1440px; margin:0 auto}

#homedestinations {position:relative;margin-top:150px;text-align: left}
#homedestinations header {margin:0 100px 20px 0; justify-content: flex-end;z-index: 2}
#homedestinations h2 {text-align: right;display: inline-block}
#homedestinations h2 span, #homedestinations .circletext:before, #homelocallove h2 span, #homeLocalLove h2 span, #owners .circletext:before, #welcome .circletext:before,.circletextleft::before {color:#69baba}
 #owners .circletext{display: inline-block}
 #owners .content { text-align: right}
#homedestinations h2 span, #homedestinations .circletext:before {display: block}
#homelocallove .circletext:before, #primarytitle .circletext:before, #homeLocalLove .circletext:before {color:#69baba}
#homedestinations h2:after, #homelocallove h2:after, #homeLocalLove h2:after {background:#EDF2F4}
#homevillas h2:after, #homeVillas h2:after, #homereviews h2:after, #primarytitle .circletext:after {background:#fee5bd}
#customercare h2:after, #welcome h2:after, .villaslisttitle h2:after {background:#E6F2F4}
#welcometext h2:after {content:none}
#homevillaslist article figure > div, #homeVillasList article figure > div{margin-bottom: 25px}
#homedestinations .content {text-align: left}
.circletext:before {content:'C'; font-family: domus; font-size: 115px;position: absolute;z-index: -1;top: -120px;display: flex;justify-content: center;align-items: center}
.circletextright:before {right:-60px}
.circletextleft:before {left:-30px; text-align: left}
.page-template-local-love .circletextleft::before {left: 0; color: #69baba}
.circletextcenter {text-align: center}
.circletextcenter:before {left:0; right:0;margin:0 auto}
.home #homelocallove .circletextleft::before,.page-template-local-love #homelocallove .circletextleft::before{right: -20px;left: inherit;}
.home #homeLocalLove .circletextleft::before,.page-template-local-love #homelocallove .circletextleft::before{right: -20px;left: inherit;}

.hdestinations .owl-stage {display:flex;width:100%; height:350px}
#sliderdestinations .hdestinations .owl-stage {height:520px}
.hdestinations .owl-stage > div {display: flex; align-items: flex-end}
.hdestinations figure {height:225px; width:224px}
.hdestinations figcaption {margin:0 auto; text-align: center; font-family: Moniqa, serif; font-size: 38px; line-height: 1}
#sliderhomedestinations .hdestinations figcaption {position: absolute; bottom: 25px; left:15px; right:15px;color:#fff}
#sliderdestinations .hdestinations figcaption {color:#000}
#sliderdestinations .hdestinations a > div {height:170px}
#sliderdestinations .hdestinations a > div h2 {width:100%;height:76%; display:flex; justify-content: center;  font-family: Moniqa, serif; align-items: center; font-size: 44px; color:#000; background-size:auto 85px;background-position: center center; background-repeat: no-repeat}
#sliderdestinations .hdestinations a > div h2:after {content:none}
#sliderdestinations .hdestinations a > div span {color:#000; font-size: 16px;height:24%}
.hdestinations .owl-stage .big figure, .hdestinations .owl-stage .active:first-child figure, #sliderdestinations .hdestinations .owl-stage .owl-item:nth-child(odd) figure, .luoghi figure{height:350px; width:224px;border-top-left-radius: 112px;border-top-right-radius: 112px;overflow:hidden;animation-name: hdestinations;  animation-duration: 1s}
/*.hdestinations .owl-stage .big, .hdestinations .owl-stage .active:first-child {margin-left:12px}*/
@keyframes hdestinations {
from {height: 225px}
to {height:350px}
}
#homeheader h1::after{content: inherit}

.hdestinations figure img, #homevillaslist img, #homeVillasList img, #welcomephoto img, .villas img, #hvillas img,.luoghi figure img,.p-motivazioni > div > figure > div img{object-fit: cover; min-width: 100%; min-height: 100%; width: 100%; height: auto; max-width: 100%; max-height: 100%}
.fotoluoghi {height:350px}

#sliderhomedestinations {display: flex; justify-content: flex-end}
#sliderhomedestinations > div {max-width: 330px/*;padding-left: 10%*/}
.content {padding:50px 30px 80px}
#servizi .content {padding:50px 30px 30px}
#homelocallove .slideicone:last-child{margin-bottom: 120px}
#homeLocalLove .content {padding:50px 30px 30px}
#owners .content {padding:50px 30px 30px}
.page #primarytitle .content {padding:0 30px 80px 30px}
a.cta,a.cta2 {width:100%; max-width: 290px;height:50px; line-height:50px; background:#BB9D7F; color:#fff; display: inline-flex;justify-content: center; align-items: center; font-size: 15px; margin: 20px auto}
#pagevillas a.cta {max-width: 100%}
a.cta:after,a.cta2:after, #sliderdestinations .hdestinations a > div span:after{content:'r'; font-family: domus; font-size:14px; margin-left:10px}
#owners a.cta2:after{content: inherit; margin-left:inherit}
a.cta:hover,#pagevillas a:hover.cta2{background: #69baba;color: #fff}
#owners a.cta2::before{font-family: domus; content:'?';font-size: 25px;margin-right:10px}

.halfcircle {width: 100%;overflow:hidden; position: relative;max-width: 960px;margin: 0 auto}
.home .halfcircle,.page-template-default .halfcircle{max-width: 820px}
.halfcircle div {border-radius: 50%; position: relative;margin-top:-50%;overflow: hidden}
.halfcircle img {margin-top:50%; max-width: 100%}

#homevillas, #homeVillas {padding-top:50px}
#homevillaslist, #homeVillasList {padding-top:40px;display: flex; flex-wrap: wrap; justify-content:flex-start; align-items: center;max-width: 1420px;
margin: 0 auto}
#homevillaslist article, #homeVillasList article {margin: 0 0 25px 0}
#homevillaslist article a:hover h3, #homeVillasList article a:hover h3 {color:#BB9D7F}
#homevillaslist article figure,.p-motivazioni > div > figure, #homeVillasList article figure{width:224px; text-align: left}
#homevillaslist article figure > div .p-motivazioni > div > figure > div, #homeVillasList article figure > div .p-motivazioni > div > figure > div{width:100%;overflow: hidden;margin-bottom: 20px}
#homevillaslist h3, #homeVillasList h3 {font-size: 42px}
#homevillaslist span, #homeVillasList span {font-size: 14px;color:#000}

#customercare header, .villaslisttitle header {justify-content: center}

#customercare .content {text-align: center}
.hcustomercare b {display:block; font-family: Moniqa, serif; font-size: 55px; color:#000; position: relative; line-height:85px}
.hcustomercare b:before {font-family: domus; font-size: 85px; line-height: 85px;color:#EFEFEF; position: absolute; top:0; left:0; right:0; margin:0 auto;z-index: -1}
.hcustomercare #assistenza b:before {content:'c'}
.hcustomercare #transfer b:before {content:'t'}
.hcustomercare #noleggio b:before {content:'n'}
.hcustomercare #spesa b:before {content:'s'}
.hcustomercare #babysitter b:before {content:'b'}
.hcustomercare p {width:170px; margin:10px auto;font-size: 13px;line-height: 1.5}

#sliderreviews {width:80%;/*260px;*/margin:60px auto}
.hreviews {height:500px;border:10px solid #B2C4BE}
.hreviews figcaption {height:480px;display: flex;justify-content: center;align-items: center;padding:10px 30px; color:#000}
.hreviews figcaption blockquote {font-size: 20px;font-style: italic;line-height: 1.5}
.hreviews figcaption span {display: block;text-align: right}


#welcome {margin-top: 180px;padding-top: 170px;background: #F6F6F6}
#welcomephoto {position: absolute; top:-130px; right:10px;width:224px;height:300px;border-top-left-radius: 112px;border-top-right-radius: 112px;overflow:hidden}

body > header > img {width:100%; height: auto}

.home body > header:before {height:70px}

a#toggle {width: 40px; height: 40px; text-align: center; display: none; transition: all ease-out 0.3s;top:12px}
a#toggle:before {display:block;font-family:domus; content:'M';font-size:10px; width:40px;height:40px;line-height:40px; background:#dfe8ea; color:#000; text-align:center;border-radius: 50%}

.open-menu a#toggle:before {content:'x';color:#fff; font-size:20px; background: none}
a#toggle:hover:before {color:#31B1C2}

footer {position:relative; width:100%; text-align:left;background: #474E4B; color:#fff; font-size: 13px}
#footer {padding:110px 30px 150px; text-align: left}
#footer a, #credits a{color:#fff; display:inline-block}
#footer a:hover {text-decoration: underline}

#copyright:before {content:'L'; font-family: domus; font-size: 70px;display: block;line-height: 70px; margin-bottom:50px}

#footer h4 {font-size:42px; color:#fff}
#fcontacts {margin:60px 0 30px 0}

#ficons {border-top:1px solid #fff;width:100%; margin-top: 20px}
#ficons ul {margin:30px 0; display: inline-flex; justify-content: center; align-items: center; flex-wrap: wrap}
#ficons ul li {margin-right:20px}
#ficons ul li a {display:block; text-align: center}
#ficons ul li a:hover {text-decoration: none}
#ficons ul li span {position: absolute; top:-999999px; left:-999999px}
#ficons ul li a:before {display:block; font-family: 'domus'; color:#fff; line-height:34px; font-size:25px}
#ficons ul li.tel a:before {content:'T'}
#ficons ul li.email a:before {content:'e';font-size: 21px}
#ficons ul li.fb a:before {content:'f'}
#ficons ul li.instagram a:before {content:'i'}
#ficons ul li a:hover:before {color:#31B1C2; text-decoration: none}

#credits {text-align: center; color:#fff; font-size: 20px}

.category #categorydesc p, .page #desc{text-align: center; max-width: 790px; margin:0 auto}
#primarytitle .bglightcyan header {text-align: center}
/*.category .bglightcyan .content {padding-bottom: 260px}*/
#sliderdestinations {/*margin-top: -220px;*/padding-top:50px; margin-bottom: 100px}
#sliderdestinations > div {margin-left: 50px}

#catmap {margin-top:70px; text-align: center}
#catmap picture {display: inline-block}

.villas article {background-color: #ffffff;}
.villas a {color:#000}
.villas a figure {text-align: left}
.villas a figcaption, .villas a figcaption > div {background-color: #ffffff; display: flex; justify-content: space-between; flex-wrap: wrap; width:100%}
.villas a figcaption {padding:24px 20px 15px;}
.villas a figure > span {position: relative;display:block; overflow: hidden}
.villas a img {transition: all 0.2s linear}
.villas a:hover img {transform: scale(1.2)}
.villas header {text-align: left;width:100%}
.villas a h3 {color:#000; font-size: 40px}
.villas a div > span {font-size: 14px; display: inline-block}

.villas .accommodation,#pagevillas .accommodation{display: flex;align-items: flex-end}
#pagevillas .infovilla .accommodation{justify-content: space-between; flex-wrap: wrap; font-size: 16px}
#pagevillas .infovilla .accommodation > li {text-align: center; width:48%;margin-top: 30px}
#pagevillas .infovilla .accommodation > li:nth-child(odd) {border-right: 1px solid #707070}
#pagevillas .infovilla .accommodation > li.sleeps {margin-left:0}
#pagevillas .infovilla .accommodation li span {position: relative; z-index: 1; display: inline-block; padding: 0 5px}
#pagevillas .infovilla .accommodation li span:after {content:'';width:100%; height:13px; background: #F7F7F7; display: block; position: absolute; bottom:0; left:0; z-index: -1}
#pagevillas .infovilla .accommodation li:first-child b {font-weight: 600}
.villas .accommodation li:before,.v-accommodation li:before{font-family: domus; font-size: 20px; margin-right: 5px}
#pagevillas .infovilla .accommodation li:before{font-size: 25px; margin: 0; display: block; line-height: 25px}
.v-accommodation li:before{font-size: 25px; margin-right: 12px;color:#636363}
.v-accommodation li{display: flex; align-items:center;line-height: 1.5;margin: 10px 0;}
.accommodation li.location:before {content:'D'}
li.cucina:before {content:'g'}
li.lavanderia:before {content:'l'}
#servizi #homelocallove{margin-top: 5%}
#servizi #homeLocalLove{margin-top: 5%}

.singsocio >div{width:80%; height: 80%;max-width:450px; max-height:450px;overflow: hidden;border-radius: 50%;margin: 0 auto}
.singsocio img{width: 100%;height: auto;display: block}
.socio{margin: -50px auto 50px}
.singsocio span{font-family: Moniqa, serif;font-size: 4rem;margin: 30px auto}

#contactlocal{background: #BB9D7F; padding: 30% 8%;text-align: left}
#contactlocal h3 {font-size: 70px}
#contactlocal,#contactlocal a,#contactlocal h3{color: #fff}
#contactlocal #policy a{display: inline-block}
#contactlocal a:hover{text-decoration:underline}

.sicone {display: flex;justify-content: center;flex-wrap: wrap;
text-align: center}
.sicone > div:last-child{width:100%; font-family: Moniqa, serif; font-size: 55px}

#fullgallery {display:none; position: relative; z-index: 99999; top: 0; bottom: 0; left: 0; right: 0; background: rgba(0,0,0,.8)}
#fullgallery.gallery__active {position: fixed; top: 0; bottom: 0; left: 0; right: 0; display: flex;align-items: center;justify-content: center; z-index: 99999999999;}
#fullgallery #closeGallery {position: absolute; top: 2px; right: 2px; padding: 10px;z-index: 5;}
#fullgallery #closeGallery svg {width: 20px; height: 24px}
#fullgallery .gallery__link {position:absolute; bottom: 28px; right: 36px; color: #ffffff; display: flex; align-items: center; font-size: 14px; font-weight: 700; gap: 12px}
#hvillas img {max-width: 100%; height: auto}
#viewallphotos {cursor: pointer; position: relative; width: 100%; position: relative; margin-bottom: 44px; overflow: hidden; border-radius: 10px;}
#viewallphotos img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}
#viewallphotos .gallery__link {
  position:absolute;
  bottom: 28px;
  right: 36px;
  color: #ffffff;
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  gap: 12px;
  text-wrap-mode: nowrap;
  white-space: nowrap;
}
#map{height: 400px; overflow: hidden; margin-top: 20px}
.featuresvilla > div, .transportvilla > div{font-size: 20px;font-weight: 500;margin: 15px 0 5px}
.transportvilla ul {margin-top: 20px}
#ctavilla {display: flex; left: 0; bottom: 0; width: 100%; z-index: 99999; text-align: center}
#ctavilla a.cta,#ctavilla a.cta2 {margin: 0 auto; text-transform: uppercase}
#ctavilla a.cta::after,#ctavilla a.cta2::after{content: inherit}
#ctavilla a.cta2{background: #fff; color:#000}
.featuresvilla ul li:before,.transportvilla ul li:before,#amenities .contentrow li,.resp-tab-content li::before, #amenities ul li:before, .relatedcats li:before { content: 'p';color: #BB9D7F;display: inline-flex;font-size: 16px;line-height: 21px;margin: 4px 10px 0 0}
.featuresvilla ul li,.transportvilla ul li,.resp-tab-content li, #amenities ul li, .relatedcats li {display: flex;align-items: flex-start}

.relatedcats li a {color:#000}

#amenities > div {margin-top: 20px}
/* #pagevillas h4 {font-size: 23px; font-family: raleway;margin-bottom: 10px;font-weight: 500} */


.mapvilla {width:250px; margin: 20px 0 40px 0}
.mapvilla img{max-width: 100%; height: auto; margin: 0 auto}
.contentdxvilla > div{margin: 40px auto 80px auto}
.contentdxvilla h3:before,.featuresvilla ul li:before,.transportvilla ul li:before,#amenities .contentrow li,.resp-tab-content li::before,#nearby .testoslider h3:before, #amenities ul li:before, .relatedcats >h3:before, .relatedcats li:before {font-family:domus}
.v-accommodation >h3:before{content: '5'}
.v-descrizione >h3:before{content: '6'}
.v-amenities >h3:before{content: '7'}
.v-info >h3:before{content: '8'}
.transportvilla >h3:before{content: 'I'; font-size: 60px}
.relatedcats >h3:before{content: 'v'}
.v-price >h3:before{content:'E'}
.contentdxvilla h3:before,#nearby .testoslider h3:before{font-size: 60px; position: absolute;top: -40px;left: -5px;color: #F8FCFD;z-index: -1}
#nearby .testoslider h3:before{content: '9';color:#EFEFEF; height:57px;line-height:57px;}
#nearby .testoslider h3{padding-bottom: 30px}
.v-info > div,.v-price > div{margin-top: 20px; max-width: 800px}
#pagevillas .bglightcyan > h1 {font-size: 70px}
.lightboxed{height:100%}
.resp-tab-content li{list-style: none}
.testoslider {padding: 60px 10px}
.luoghi figure{margin: 0 auto}

.page-id-17 #primarytitle .content {padding: 0 10% 50px 10%}
.page-id-17 #desc {margin-top: 50px}
#post-17 #desc {margin: 20px auto}
#post-17  .content{padding: 0; background: #E3EFF2}
#c-maps > div:last-child{margin-top: 10px}
#c-maps{max-width: 1200px;margin: 0 auto 100px; background: #E3EFF2}
#c-maps > div:last-child {margin-top: 30px}

#slideiconec {max-width:1200px; margin:0 auto}
.riga{display: flex; align-items: flex-start;gap: 100px}
#pagevillas .bglightcyan .v-info,#pagevillas .bglightcyan .v-price{padding: 0}
.riga > div:first-child {font-weight: 700;}
.riga > div:last-child {text-align: right;}
.page-template-owners #desc  h3 {padding-top: 20px}
.p-motivazioni > div:first-child{margin:0 30px}
#owners {margin: 20% auto 10%}
.p-motivazioni > .content > header > figure{max-width: 80px; width:100%;height: 80px;margin-bottom: 12px}
.p-motivazioni:nth-child(2n) > .content > header > figure,.p-motivazioni:nth-child(2n) > div:first-child{height: auto;margin-bottom: 12px;max-width: 100%;display: flex;justify-content: flex-end}
.p-motivazioni > div:nth-child(2n) > .content img {width: 100%; max-width: 80px; height: 80px;  text-align: right;  margin-right: 0}
.p-motivazioni:nth-child(2n) > .content img {width: 100%; max-width: 80px; height: 80px;  text-align: right;  margin-right: 0}
.p-motivazioni:nth-child(2n) > .content{text-align: right}
#cmplz-document h2, #cmplz-document h3 {font-size: 40px !important;text-align: center !important}
#cmplz-document {max-width: 100% !important;text-justify: center !important}
#cmplz-document h2::after{background: transparent !important}
#cmplz-document h2, #cmplz-document h3 {border-bottom: none !important}
#cmplz-document .cmplz-dropdown h3{text-align: left !important}
 #cmplz-document li{list-style-type: none !important}
.category .hdestinations .owl-nav .owl-prev {left: -30px}
#primarytitle .bglightcyan header {margin-top: 130px}

.category-destinations .bglightcyan .content {padding: 50px 30px 100px}

/*blog*/
.tax-categories-blog .circletext::before {color: #42B8C3;top: -90px}
.tax-categories-blog h1.circletext  {display: inline-block; min-width: 110px; margin-top: 70px}
.tax-categories-blog  h1.circletext::after {background: #D4E8EC}
.tax-categories-blog main{text-align: left}
.headercircle {text-align: center}
#h-trending figure {display: flex;flex-direction: column-reverse}
.tax-categories-blog img {object-fit: cover; min-width: 100%; min-height: 100%; width: 100%;
  height: auto;max-width: 100%;max-height: 100%}
.content {padding: 50px 30px 20px}
.tax-categories-blog .content {padding: 0 15px}
.sliderpost h2,.tax-categories-blog #h-trending h2,.sliderpost2 h2,.single-blog-post h1{font-family: 'Raleway', serif; font-weight: 500; font-size: 20px;line-height: 1.2}
.single-blog-post h1{font-size:26px; text-align: center}
.single-blog-post h1::after{content:none}
.tax-categories-blog #h-trending h2{line-height: 1.2;font-size: 23px}
.tax-categories-blog #h-trending h2:after{content: none}
 .tax-categories-blog  h2{margin:13px 0 10px}
 .tax-categories-blog .title-section h2{padding: 0 10px;display: inline-flex}
 .tax-categories-blog .title-section h2::after {width: 100%; left: 0;background: #D4E8EC}
.etichetta{font-size: 13px;color: #000;position: relative}
.etichetta:after{content: '';width: 100%;height: 10px;position: absolute; bottom:-12px;left: 0;background: #FEE5BD}
#h-trending figcaption {margin: 10px 0}
#h-trending p{line-height: 1.7}
#categories-blog{padding: 30px 0}
.tax-categories-blog a{color:#000}
.tax-categories-blog .title-section a{width: 100%}
.title-section {display: flex; flex-wrap: wrap}
.tax-categories-blog .scopri{position: relative;margin-top: 8px}
.tax-categories-blog .scopri:after{content: 'r';font-family: domus;font-size: 14px;margin-left: 10px;margin-top: 5px}
.tax-categories-blog a.cta{margin: 20px auto 60px;color: #fff;}
.sliderpost h2::after,.sliderpost2 h2::after{content: none}
.sliderpost,.sliderpost2 {margin-top: 30px}
#postblog #categories-blog:first-child{position: relative; padding: 15px 0 30px}
#postblog #categories-blog:first-child::before,#headerartimg::before{position: absolute; content: ''; width: 100%; height:250px; top:0; left: 0;z-index: -2; background: #E3EFF2}
#headerartimg::before{height:350px}
.tax-categories-blog .headerblog .content {padding: 40px 15px 20px}
#elencocatblog {text-align: center; margin-bottom: 50px}
#elencocatblog h3{padding:4px 0;  font-size: 53px}
.sliderpost .owl-item > a,.sliderpost2 > a{width: 300px}
.sliderpost, #categories-blog .title-section,.sliderpost2 {padding-left: 15px}
#elencocatblog h2{display: inline-flex}
.introtext-blog{font-size: 15px;line-height: 1.7}
.sliderpost  a{margin-bottom: 50px}
.sliderpost2 a{margin:0 auto 50px}
.sliderpost2  {padding-left: 0;dislay: flex;flex-wrap: wrap; justify-content: flex-start; align-items: flex-start}
.tax-categories-blog .sliderpost2 img {min-height: 385px}
.breadcrumb {display: flex; justify-content: center}
.sottocatblog .breadcrumb {display: flex; justify-content: flex-start;}
.tax-categories-blog .sottocatblog .title-section .breadcrumb a {display: inline-block;width:inherit;}
 #headerartimg.content{padding:20px 30px 0;max-height: 675px;overflow: hidden;}
.single-blog-post #blogbreadcrumb{display: flex; justify-content: center; margin-top: 10px}
#blogbreadcrumb a {color:#000}
#headerartimg img {object-fit: cover;min-width: 100%;min-height: 100%;width: 100%;height: auto;max-width: 100%;max-height: 675px}
ul.sharearticolo {display: flex;align-items: center;justify-content: flex-end;list-style: none;padding: 15px 0}
ul.sharearticolo li a::before {font-family: social-networks; height: 40px; width: 40px; line-height: 40px; display: inline-block; border-radius: 50%; color: #fff; background: #8fc0b9; text-align: center; font-size: 20px}
li.sharewa a::before {content: 'W'}
li.sharefb a::before {content: 'f'}
.sharearticolo span, .mostra span {position: absolute;top: -999999px;left: -999999px}
ul.sharearticolo li {margin: 0 6px}

villaslist.cat0 {}

.v-descrizione .readmore{position:relative; height: 190px;z-index: 2}
  .v-descrizione .readmore > div {height: 115px; overflow: hidden; position: relative}
.v-descrizione .readmore > div:after {content:''; background: linear-gradient(0deg, rgba(227,239,242,1) 30%, rgba(227,239,242,0) 100%); width:100%; height:20px; position: absolute; bottom:0; left:0;}
  .v-descrizione  .readmore,.v-descrizione .readmore:before {overflow:hidden}
  .v-descrizione .readmore.open:after{content:none}
  .v-descrizione .readmore.open, .v-descrizione .readmore.open > div {height:auto}
  .v-descrizione .readmore.open {padding-bottom: 50px}
  .v-descrizione .readmore .readmorebtn {position:absolute; bottom:20px; cursor: pointer; font-size:16px; z-index:2; line-height:34px; color:#42B8C3; text-transform: uppercase; left: 0}
  .v-descrizione .readmore .readmorebtn:after {content:' MORE'}
  .v-descrizione .readmore.open .readmorebtn:after {content:' LESS'}
  .v-descrizione .readmore.open .readmorebtn {top:auto; bottom:20px}

/* iclightbox */
.lcl_fade_oc.lcl_pre_show #lcl_overlay,
.lcl_fade_oc.lcl_pre_show #lcl_window,
.lcl_fade_oc.lcl_is_closing #lcl_overlay,
.lcl_fade_oc.lcl_is_closing #lcl_window {
	opacity: 0 !important;
}
.lcl_fade_oc.lcl_is_closing #lcl_overlay {
	-webkit-transition-delay: .15s !important;
	transition-delay: .15s !important;
}

#hvillas #viewallphotos a {height:100%}

/* New css */
.property__wrapper,
.hero__wrapper {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  padding: 0 5%;
  text-align: left;
  gap: 34px;
}

.property__wrapper-left {
  grid-column: span 8;
}

.property__wrapper-right {
  grid-column: span 4;
}

.property__wrapper-left .toggle__container {
  flex-direction: column;
  align-items: start;
  margin-bottom: 20px;
} 

.property__wrapper-left .toggle__container .toggle_button {
  display: inline-block;
}

.button-container.inquiry__wordpress {
  grid-template-columns: 1fr;
}

#pagevillas h1,
.property__address {
  margin: 0;
  line-height: 1;
}

.property__address {
  color: #BB9D7F;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 5px;
}

.no__decoration::after {
  content: none;
}

.text__container {
  display: -webkit-box;
  line-clamp: 4;
  -webkit-line-clamp: 4; /* Adjust this value to approximate 400 characters */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 10.8em; /* Approximation for 6 lines */
}
.expanded {
  line-clamp: unset;
  -webkit-line-clamp: unset;
  max-height: none;
  display: block;
}
.text__container p {
  margin: 0 0 1em;
}
.text__container p:last-child {
  margin-bottom: 0;
}
.toggle_button {
  display: inline-block;
  margin-top: 15px;
  color: #BB9D7F;
  border: none;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  background-color: transparent;
  padding: 0;
}

.property__amenities-wrapper,
.property__prices-wrapper {
  margin-bottom: 40px;
}

.property__amenities-wrapper h3 {
  margin-bottom: 20px;
}

.property__amenities {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.property__amenities #amenities {
  grid-column: span 3;
}

.property__amenities [class^="icon-"],
.property__amenities [class*=" icon-"] {
  font-size: 24px;
  color: #BB9D7F;
}

.property__infos {
  margin-bottom: 20px;
}

.search__result-item-content .property__infos {
  justify-content: space-between;
  padding: 0 20px;
  background-color: #ffffff;
  border-radius: 5px;
}

.search__result-item-content .featured__point {
  justify-content: flex-start;
  align-items: center;
  padding: 12px 20px;
  background-color: #ffffff;
  border-radius: 5px;
}

.featured__point {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  color: #2C2C2C;
}

.featured__point svg {
  width: 15px;
  height: 15px;
}

.property__infos [class^="icon-"],
.property__infos [class*=" icon-"] {
  font-size: 15px;
  color: #808080;
}

.property__infos-item {
  font-size: 11px;
  font-weight: 700;
  color: #2C2C2C;
  padding: 12px 0;
}

.property__checkin-checkout {
  padding-bottom: 48px;
  margin-bottom: 48px;
  border-bottom: 1px solid #C1DCE3;
}

.property__checkin-checkout-item {
  display: flex;
  align-items: center;
  gap: 6px;
  background-color: #E3EFF2;
  padding: 9px 14px;
  font-size: 14px;
  color: #2C2C2C;
}

.property__featured-infos {
  background-color: #E3EFF2;
  color: #2C2C2C;
  padding-top: 36px;
  padding-bottom: 36px;
}

.transport__info {
  padding: 0 36px;
  flex-basis: 40%;
  max-width: 40%;
  border-right: 1px solid #C1DCE3;
}

.transport__featured {
  padding: 0 36px 0 60px;
  flex-grow: 1;
}

.property__wrapper h3 {
  margin-bottom: 13px;
}

.property__wrapper h4 {
  font-size: 16px;
  font-weight: 700;
  font-family: raleway;
}

.transport__info img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  margin-bottom: 20px;
}

.transport__info ul {
  font-size: 14px;
}

.property__featured-infos,
.property__prices,
.property__more-info,
.property__location {
  margin-bottom: 48px;
}

.property__more-info {
  padding: 0 0 48px 0;
  border-bottom: 1px solid #C1DCE3;
}

.property__location {
  padding-bottom: 48px;
  border-bottom: 1px solid #C1DCE3;
}

.property__codes {
  font-size: 13px;
  margin-bottom: 80px;
}

.property__codes h5 {
  font-size: 13px;
  margin: 0;
  font-family: 'Raleway', serif;
  font-weight: 700;
}

.property__codes p {
  margin: 0;
}

.property__more-info-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

#hvillas.container,
#pagevillas.container,
.container.property__wrapper {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

.hero__slide {
  position: relative;
  width: 100%;
  /*height: 100%;*/
  display: flex;
  align-items: center;
}
.hero__slide .outer { margin:0 auto; max-width:100%;}
.hero__slide #thumb .owl-stage {display: flex; gap: 10px;}
.hero__slide #big { /*margin-bottom: 24px; */}
.hero__slide #big img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100dvh;
  display: block;
  padding: 60px;
}
.hero__slide #big .item {
  color: #FFF;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  padding: 60px;
}
.hero__slide #thumbs .item {
  padding: 0px; color: #FFF; border-radius: 10px; cursor: pointer;
}
.hero__slide #thumbs .item img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}
.hero__slide .owl-theme .owl-nav [class*='owl-'] { transition: all .3s ease; }
.hero__slide #big.owl-theme { position: relative; }
.hero__slide #big.owl-theme .owl-next, #big.owl-theme .owl-prev { background:transparent; width: 22px; line-height:40px; height: 40px; margin-top: -20px; position: absolute; text-align:center; top: 50%; }
.hero__slide #big.owl-theme .owl-prev { left: 10px; }
.hero__slide #big.owl-theme .owl-next { right: 10px; }

.hero__slide #big.owl-theme .owl-prev,
.hero__slide #big.owl-theme .owl-next {
  background: transparent;
  width: 50px;
  line-height: 50px;
  height: 50px;
  margin-top: -25px;
  position: absolute;
  text-align: center;
  top: 50%;
}
.hero__slide #big.owl-theme .owl-prev {
  left: 0;
}
.hero__slide #big.owl-theme .owl-next {
  right: 0;
}
.hero__slide #big.owl-theme .owl-prev:after,
.hero__slide #big.owl-theme .owl-next:after {
  content: none;
}

#big .owl-stage-outer {
  /*aspect-ratio: 16/9;*/
}

#hvillas #big .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#hvillas #thumbs .item {
    aspect-ratio: 1;
    overflow: hidden;
}

#hvillas #thumbs .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.villas {
  max-width: 1440px;
  margin: 0 auto;
  padding-bottom: 50px;
}

.villas article {margin:5%;max-width: 768px; box-shadow: 1px 1px 5px rgba(0,0,0,.1)}
.villas a {color:#000}
.villas a figure {text-align: left}
.villas a figcaption, .villas a figcaption > div {display:flex; justify-content: space-between; flex-wrap: wrap; width:100%}
.villas a figcaption {padding:25px}
.villas a figure > span {position: relative;display:block; overflow: hidden}
.villas a img {transition: all 0.2s linear}
.villas a:hover img {transform: scale(1.2)}
.villas header {text-align: left;width:100%}
.villas a h3 {color:#000; font-size: 40px}
.villas a div > span {font-size: 14px; padding-bottom:10px; border-bottom:6px solid #FEE5BD;display: inline-block}

.villas a p {width:100%; text-align: left; font-size: 16px;margin:20px 0 0 0}

.villas .accommodation,#pagevillas .accommodation{display: flex;align-items: flex-end}

.property__location-related {
  color: #BB9D7F;
  font-size: 14px;
  font-weight: 700;
}

.sleeps,
.bedrooms,
.bathrooms {
  color: #2C2C2C;
  font-weight: 700;
  font-size: 14px;
}

.sleeps span,
.bedrooms span,
.bathrooms span {
  color: #808080;
  font-weight: 400;
  font-size: 14px;
}

.villas .accommodation li.sleeps:before {content:'1'; font-weight: 400;}
.villas .accommodation li.bedrooms:before,li.camera:before {content:'2'; font-weight: 400;}
.villas .accommodation li.bathrooms:before,li.bagno:before {content:'3'; font-weight: 400;}

.hero__listing {
  padding: 110px 15px;
  background-image: url('images/domus-sicily-hero-bg.webp');
  background-position: center right;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 2;
}

.search__result-wrapper {
  display: flex;
  flex-direction: column;
  padding-top: 20px;
  padding-bottom: 100px;
  background-color: #ffffff;
}

.search__results-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0 5%;
  text-align: left;
  width: 100%;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

.search__result-item {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-direction: column;
  /*height: 100%;*/
  border-radius: 10px;
  overflow: hidden;
}

.search__result-item-image {
  width: 100%;
}

.search__result-item-image img {
  width: 100%;
  max-width: 100%;
  min-height: 250px;
  max-height: 250px;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.search__result-item-content {
  display: flex ;
  flex-direction: column;
  justify-content: space-between;
  flex-basis: 100%;
  max-width: 100%;
  padding: 30px;
  background-color: #E3EFF2;
}

.search__result-item-content h3 {
  font-size: 43px;
  margin-bottom: 0;
  text-align: left;
}

.search__result-item-content h3 a {
  color:#2C2C2C;
}

.search__result-item-info {
  font-size: 14px;
  font-weight: 700;
  color: #BB9D7F;
  padding-bottom: 23px;
  margin-bottom: 18px;
  border-bottom: 1px solid #C1DCE3;
  align-items: center;
}

.search__result-item-info .property__infos-item {
  color: #BB9D7F;
}

.search__result-item-info div + div {
  font-size: 14px;
  padding: 2px 10px;
  background: #fff;
  border-radius: 4px;
  color: #2C2C2C;
}

.search__result-item-description {
  font-size: 12px;
  margin-bottom: 20px;
  color: #000000;
  text-align: left;
}

.search__result-item-amenities {
  font-size: 14px;
  font-weight: 700;
  background-color: #ffffff;
  padding: 12px;
}

.search__result-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
}

a.page-numbers,
span.page-numbers {
  font-size: 14px;
  border: 1px solid #C1DCE3;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  width: 40px;
  line-height: 1;
}

.page-numbers.current {
  border-color: #BB9D7F;
}

a.next.page-numbers,
a.prev.page-numbers {
  border: none;
  width: auto;
  height: auto;
  line-height: 1;
}

.open__booking {
  display: none;
  position: fixed;
  bottom: 0;
  z-index: 100;
  left: 0;
  right: 0;
  padding: 8px;
  background-color: #BB9D7F;
}

#openBooking {
  width: 100%;
  background-color: transparent;
  border: 0;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
}

.close__booking-fixed {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 99999999999;
}
.close__booking-fixed button {
  background: white;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.close__booking-fixed button:hover {
  background: #f5f5f5;
}
.open__booking {
  transition: opacity 0.3s ease;
}
.open__booking.hidden {
  opacity: 0;
  pointer-events: none;
}

.expand__amenities {
  display: none;
}

.inquiry__modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
  z-index: 3200;
  background-color: rgba(0, 0, 0, 0.8);
}

.inquiry__modal.modal__active {
  display: block;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 10px; 
}

.inquiry__modal-content {
  position: relative;
  width: 100%;
  max-width: 800px;
  margin: 28px auto;
  pointer-events: none;
}

.inquiry__modal-inner {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 3px;
  outline: 0;
}

.modal__header {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 16px 16px;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.modal__title {
  font-size: 40px;
  margin-bottom: 0;
  line-height: 1;
}

.modal__close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5;
  background-color: transparent;
  border: 0;
  cursor: pointer;
  padding: 16px 16px;
  margin: -16px -16px -16px auto;
}

.modal__body {
  position: relative;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: 16px;
}

.modal__body-intro {
  text-align: left;
  margin-bottom: 16px;
}

.modal__body-intro h5 {
  font-size: 26px;
  font-weight: 700;
  color: #BB9D7F;
  margin: 0;
  margin: 0;
  line-height: 1;
}

.modal__body-intro p {
  font-size: 14px;
}

.inquiry__form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
}

.inquiry__form-field {
  width: 100%;
  display: flex;
  flex-direction: column; 
}

.inquiry__form-field label {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

.inquiry__form-field-textarea {
  grid-column: span 2; 
}

.inquiry__form-field input,
.inquiry__form-field textarea {
  width: 100%;
  background-color: #ffffff;
  border: 1px solid #212121;
  color: #212121;
}

.inquiry__form-footer {
  display: flex;
  flex-direction: column;
  align-items: flex-start; 
}

.inquiry__form-privacy {
  display: flex;
  align-items: center;
  justify-content: flex-start; 
  margin-bottom: 16px;
}

.inquiry__form-btn {
  background-color: #6eb7b8!important;
  border-radius: 5px!important;
  padding: 15px 30px!important;
  color: #ffffff!important;
}

.search__result-item-image .owl-carousel,
.search__result-item-image .owl-carousel .owl-stage-outer,
.search__result-item-image .owl-carousel .owl-stage,
.search__result-item-image .owl-carousel .owl-item,
.search__result-item-image .carousel-item {
  height: 100%;
}

.search__result-item-image .owl-carousel .owl-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 9;
}

.search__result-item-image .owl-carousel .owl-nav {
  margin-top: 0;
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
}

.search__result-item-image .owl-carousel .owl-nav button.owl-prev,
.search__result-item-image .owl-carousel .owl-nav button.owl-next {
  position: absolute;
  background: rgba(255, 255, 255, 0.8);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin: 0 10px;
}

.search__result-item-image .owl-carousel .owl-nav button.owl-prev {
  left: 0;
}

.search__result-item-image .owl-carousel .owl-nav button.owl-next {
  right: 0;
}

.search__result-item-image .owl-carousel .owl-dots {
  position: absolute;
  bottom: 10px;
  width: 100%;
}

.search__result-item .owl-next {
  right: 20px;
}

.search__result-item .owl-prev {
  left: 20px;
}

.hero__slide #big.owl-theme .owl-prev svg,
.hero__slide #big.owl-theme .owl-next svg {
  fill: #ffffff;
}

.search__result-item .owl-next,
.search__result-item .owl-prev {
  width: 36px!important;
  height: 36px!important;
  line-height: 36px!important;
  border-radius: 99999px!important;
  border: 1px solid #ffffff!important;
  transform: translateY(-50%);
}

.search__result-item .owl-nav [class*='owl-']:after {
  font-size: 7px!important;
}

.villas__related {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px;
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  padding: 0 30px;
}

.single-post .villas__related h3 {
  font-size: clamp(2.5rem, 0.65vi + 2.35rem, 3.13rem);
}

.villas__related article {
  background-color: #ffffff;
}

.villas__related article figure img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}

.villas__related figcaption {
  padding: 24px;
  background-color: #ffffff;
  text-align: left;
}

.villas__related-metas {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 26px;
  margin-top: 12px;
  margin-bottom: 26px;
  border-bottom: 1px solid #C1DCE3;
}

.villas__related-metas .accommodation {
  align-items: center;
  gap: 10px;
}

.villas__related p {
  font-size: 16px;
  color: #2C2C2C;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.content__welcome {
  padding: 50px 30px 20px;
  text-align: left;
}

.pagination .nav-links .next.page-numbers,
.pagination .nav-links .prev.page-numbers {
  width: 40px;
  height: 40px;
  line-height: 40px;
  display: block;
  background: #bb9d7f;
  color: #fff;
  margin: 0 5px;
  font-weight: 500;
}

.hdestinations .owl-stage .big figure, .hdestinations .owl-stage .active:first-child figure, #sliderdestinations .hdestinations .owl-stage .owl-item:nth-child(odd) figure, .luoghi figure {
  height: 350px;
  width: 224px;
  border-top-left-radius: 112px;
  border-top-right-radius: 112px;
  overflow: hidden;
  animation-name: hdestinations;
  animation-duration: 1s;
}

.category__content {
  padding: 50px 30px 20px;
}

/* NEW SEARCH RESULT */
.grid__results-wrapper {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}

.grid__results-content {
  grid-column: span 12;
}

.grid__results-map {
  display: none;
  grid-column: span 6;
  height: 100vh;
  position: sticky;
  top: 0;
}

/* Property Map Styles */
#properties-map {
  width: 100%;
  height: 100%;
}

/* Map info window styles */
.property-map-info {
  max-width: 300px;
}

.property-map-info h3 {
  font-size: 28px;
  margin: 0 0 8px 0;
  color: #000!important;
  text-align: left;
  text-decoration: none!important;
}

.property-map-info img {
  width: 100%;
  height: 180px;
  margin-bottom: 8px;
  object-fit: cover;
  aspect-ratio: 16/9;
}

.property-map-info .view-property-btn {
  display: inline-block;
  background: #BB9D7F;
  color: #fff;
  padding: 6px 10px;
  margin-top: 8px;
  font-size: 12px;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.3s;
}

.property-map-info .view-property-btn:hover {
  background-color: #5EA4A4;
}

.search__result-items-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  padding: 15px;
}

.search__result-item-title {
  font-size: 45px;
}

.gm-style .gm-style-iw-c {
  padding: 0;
}

.gm-style-iw-chr {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

.gm-style-iw-ch {
  padding-top: 0;
}

button.gm-ui-hover-effect {
  width: 30px !important;
  height: 30px !important;
  opacity: 1 !important;
  border-radius: 0 8px 0 8px !important;
  background: rgba(0, 0, 0, 0.4) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

button.gm-ui-hover-effect>span {
  background-color: #fff !important;
  margin: 0 !important;
  width: 20px !important;
  height: 20px !important;
}

/* Custom styling for zoom controls */
.gm-bundled-control {
  margin-left: 10px !important;
  margin-top: 10px !important;
}

.gm-bundled-control .gmnoprint > div {
  background-color: white !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
  border: 1px solid #f0f0f0 !important;
  overflow: hidden !important;
}

.gm-bundled-control button {
  width: 40px !important;
  height: 40px !important;
  display: block !important;
  color: #BB9D7F !important;
  font-size: 18px !important;
  font-weight: bold !important;
  background-color: white !important;
  border: none !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}

.gm-bundled-control button:hover {
  background-color: #f9f5f0 !important;
}

.gm-bundled-control button:first-child {
  border-bottom: 1px solid #f0f0f0 !important;
}

.property-map-info__image {
  position: relative;
}

.property-map-price {
  position: absolute;
  top: 50%;
  right: 0;
  padding: 10px;
  background-color: #fff;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  font-size: 14px;
  color: #BB9D7F;
  text-align: left;
  font-weight: bold;
  transform: translateY(-50%);
}

.property-map-info__title {
  padding: 10px;
}

.property-map-info__details {
  display: flex;
  justify-content: flex-start;
  gap: 15px
}

.property-map-info__detail {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 500;
  color: #000;
}

.property-map-info__detail span {
  color: #BB9D7F;
  font-size: 16px;
}

.gm-style-iw-d {
  overflow: auto !important;
}

.right__filters {
  display: flex;
  align-items: center;
  gap: 15px;
}

.no__results-message {
  grid-column: span 12;
  text-align: center;
  padding: 40px 0;
}

@media screen and (max-width: 359px) {

 }
@media screen and (min-width: 360px) {
  #fpreventivo a > span > b {font-size:38px}
}

@media screen and (max-width: 479px) {


    #gallery-2.gallery .gallery-item {width:100%; max-width: 100%}
}

@media screen and (min-width: 480px) {
  .villas a figure > span {height:466px}
  #logo a img {height: 20px}
  a#toggle {top:14px}

  #gallery-2.gallery .gallery-item {padding:10px}

  #homedestinations header {margin: 0 100px 20px}
  h1:after, h2:after {width:120%; left:-10%}

  .luoghi figure{width: 350px; height: 550px; border-top-left-radius: 275px; border-top-right-radius: 275px}
  .fotoluoghi {height:550px}
  #welcomephoto {right: 30px}
  .elencocategorie {display: flex;justify-content: center}
  .elencocategorie .title-section{margin:0 15px}
}

@media screen and (max-width: 580px) {
.sliderpost{display: flex; justify-content: space-between; align-items: flex-start}
.dyn-owl.sliderpost .owl-item{width:46%}
}

@media screen and (max-width: 639px) {
  #footer > div > div > span > span {display: block}

  body:not(.single-post) .readmore {position:relative; height: 230px;z-index: 2}
  body:not(.single-post) .readmore > div {height: 120px; overflow: hidden}
  body:not(.single-post) .readmore, body:not(.single-post) .readmore:before {overflow:hidden}
  body:not(.single-post) .readmore.open:after{content:none}
  body:not(.single-post) .readmore.open, body:not(.single-post) .readmore.open > div {height:auto}
  body:not(.single-post) .readmore.open {padding-bottom: 90px}
  body:not(.single-post) .readmore .readmorebtn {position:absolute; bottom:20px; cursor: pointer; font-size:16px; z-index:2; line-height:34px; color:#42B8C3; display: inline-flex; justify-content: space-between; align-items: center;text-transform: uppercase; text-align:center; white-space: nowrap; left: 50%;  transform: translateX(-50%)}
  body:not(.single-post) .readmore .readmorebtn:after {content:'+'; border: 1px solid #42B8C3; border-radius: 50%; width:16px; height:16px; line-height:16px; display:block; font-size: 20px; padding-right: 2px;margin-left: 10px}
  body:not(.single-post) .readmore.open .readmorebtn:after {content:'-'; line-height: 11px}
  body:not(.single-post) .readmore.open .readmorebtn {top:auto; bottom:20px}

#homevillaslist article, #homeVillasList article {width: 100%;text-align: center}
#homevillaslist article a, #homeVillasList article a {display: inline-block}

#homevillaslist article:nth-child(odd) figure > div, .p-motivazioni > div > figure > div, #homeVillasList article:nth-child(odd) figure > div, .p-motivazioni > div > figure > div{height:300px; border-top-left-radius: 112px;border-top-right-radius: 112px;overflow:hidden}
#homevillaslist article:nth-child(even) figure > div, #homeVillasList article:nth-child(even) figure > div {height:190px}

}

@media screen and (min-width: 640px) {
    #amenities ul {display: flex; flex-wrap: wrap}
    #amenities ul li {width:50%}

  #recaptcha {text-align: center}
  body:not(.single-post) .readmore .readmorebtn {display:none}

  #homedestinations header {position: absolute; top:100px; right:260px}
  #homeheader h1 {font-size: 70px}
  .bglightcyan > h1, .home .bglightcyan > h3 {padding-top:70px}

  .hreviews {height:260px}
  #sliderreviews {width:500px}
  .hreviews figure {display: flex; justify-content: center}
  .hreviews figcaption, .hreviews img {width:50%}

  #homevillaslist article, #homeVillasList article {width: 50%;text-align: center}
  #homevillaslist a, #homeVillasList a {display: inline-block; margin:0 auto}
  #homevillaslist article figure > div, #homeVillasList article figure > div{height:190px}
  #homevillaslist article:first-child figure > div, #homeVillasList article:first-child figure > div, body:not(.category-29) #homevillaslist article:last-child figure > div, body:not(.category-29) #homeVillasList article:last-child figure > div{height:300px; border-top-left-radius:112px;border-top-right-radius: 112px;overflow:hidden}
  .p-motivazioni > div > figure > div{height:250px}

  #footer {display:flex; justify-content: space-between;flex-wrap: wrap}
  #fcontacts, #fmenu, #fmenu ul {margin-top:10px}
  #ficons {display: flex;justify-content: space-between; align-items: center; flex-direction: row-reverse;flex-wrap:wrap}

  #homeheader h1 span {display: inherit}
  .p-motivazioni{display: flex;align-items: center}
  .p-motivazioni:nth-child(2n){flex-direction: row-reverse}
  .p-motivazioni:nth-child(2n) .content{text-align: right}

  .p-motivazioni:nth-child(2n) > div:first-child{width:40%}
  .p-motivazioni:nth-child(2n) > .content{width: 60%}
  .p-motivazioni > div:first-child {margin: 0 30px}
  .p-motivazioni:nth-child(2n) > div:first-child figure {margin: 0}
  #motivazioni .content {padding: 120px 10%}

  .hreviews figcaption {height:240px}
  .tax-categories-blog .sliderpost2 a {width: calc(50% - 8px);}
  .sliderpost2 {display: flex;justify-content: space-between;padding: 0 8px}

    #pagevillas .infovilla .accommodation > li {width:23%}
    #pagevillas .infovilla .accommodation > li:not(:last-child) {border-right: 1px solid #707070}
    .p-motivazioni>div>figure>div {
      height: 250px;
      border-top-left-radius: 112px;
      border-top-right-radius: 112px;
      overflow: hidden;
    }
  }


  @media screen and (max-width: 767px) {
  #homeheader h4, .villas a p {position:absolute; top:-999999px; left:-999999px}
  }
  @media screen and (max-width: 1023px) and (orientation: landscape) {
    .hero__slide #big .item {
      height: 100dvh;
    }
    .hero__slide #big img {
      width: auto;
      max-width: 100%;
      height: 100%;
      display: block;
      object-fit: contain;
      object-position: center;
      margin: 0 auto;
      padding: 0;
    }
  }
@media screen and (min-width: 768px) {
  body:not(.single-post) {font-size: 105%}
  body.single-post {font-size: 100%}
  h1, h2, .villaslisttitle h2,.tax-categories-blog h1 {font-size: 120px}
  #pagevillas h1 {font-size: 80px}
  h3,#welcometext h2,#welcometext h3,#welcometext h4{font-size: 65px}
  h4 {font-size: 50px}
  #customercare h2 {font-size: 110px}
  body:not(.single-post) h1:after, h2:after, #primarytitle h1:after {height: 44px;	/*top: 54px*/}
  #homeheader h4 {font-size: 40px;margin-bottom: 15px}

  .content, #servizi .content{padding: 50px 10% 80px 10%}
  .single-blog-post .content{padding: 50px 10%}
  #headerartimg.content{padding: 20px 10%}
  .tax-categories-blog .content{padding: 30px 10% 20px}
  .sliderpost, #categories-blog .title-section {padding-left: 10%}
  #motivazioni .content {padding: 50px 10%}
  #owners .content {padding:50px 10% 15px}
  .page #primarytitle .content {padding:0 10% 80px 10%}
  .page-template-about-us #primarytitle .content {padding: 0 10% 120px 10%}
  #homevillas .content, #homeVillas .content {padding: 50px 50px 80px 50px}

  .bglightcyan > h1, .home .bglightcyan > h3 {padding:70px 50px 0 40%}

  ul#destinationsdd li a::before {font-size: 25px}
  ul#destinationsdd > li > a::after {font-size: 10px}
  ul#destinationsdd li ul {top: 50px}
  .circletext:before {font-size: 160px;top: -110px}
  .circletextleft:before {left: -100px}
  .circletextright:before {right: -100px}
  .hdestinations figcaption {font-size:65px}

  .home main header {margin-bottom: 50px}
  #homelocallove header, #homereviews header, #homeLocalLove header {margin-top:50px}

  #homevillaslist article figure,.p-motivazioni > div > figure, #homeVillasList article figure {width: 300px}
  #homevillaslist article figure > div, #homeVillasList article figure > div {height:290px}
  .p-motivazioni:nth-child(even)  {height:250px}
  #homevillaslist article:first-child figure > div, body:not(.category-29) #homevillaslist article:last-child figure > div, .p-motivazioni > div > figure > div, #homeVillasList article:last-child figure > div, body:not(.category-29) #homeVillasList article:last-child figure > div {height: 400px;border-top-left-radius: 200px;border-top-right-radius: 200px}

  .category-1 .destinationsdesc {margin-left: 40%; max-width: 1440px;margin:100px auto}

  .singsocio > div{width: 88%;margin: 0 6%;max-width: 450px;max-height: 450px;height: auto}
  .socio{display: flex; max-width: 1200px; justify-content: center; align-items: center; padding: 0 5%; margin: -100px auto 50px;flex-wrap: wrap}
  .singsocio{width:46%; margin: 2%;}

  .contatti {display: -webkit-flex; display: flex; -webkit-justify-content:space-between; justify-content: space-between;margin: 40px 0 30px 0}
  .contatti > div {width:30%; margin: 50px 0}
  #contactlocal {padding: 8%}
  #contactlocal> div{max-width: 1200px; margin: 0 auto}


  .contentdxvilla h3::before, #nearby .testoslider h3::before {left: -35px}
  .p-motivazioni:nth-child(2n) > div:first-child{margin-right: 30px; margin-left: inherit}
  .p-motivazioni > .content > header > figure,.p-motivazioni:nth-child(2n) > .content img {max-width: 100px;height: 100px}
  .p-motivazioni {margin-bottom: 20%}
  .circletext::before {top: -120px;font-size: 140px}
  .circletext::before {top: -140px}
  #primarytitle .bglightcyan header {margin-top: 150px}
  .footerart {display: flex;justify-content: space-between; align-items: center}
  .footerart a.cta{padding: 0 50px}

  .slider__homedestinations-content {
    padding: 50px 10% 80px;
  }
  .home__locallove-content {
    padding: 50px 10% 80px;
  }
  .content__welcome {
    padding: 50px 10% 80px;
  }
  .p-motivazioni>div>figure>div {
    height: 400px;
    border-top-left-radius: 200px;
    border-top-right-radius: 200px;
  }
  .category__content {
    padding: 50px 10% 80px;
  }
}

@media screen and (min-width: 840px) {
  footer {font-size: 18px}
  #copyright p:last-child {margin-top: 30px}
  .villas {display: flex; flex-wrap: wrap; justify-content: flex-start}
  .villas article {width:46%; margin:2%}
}
@media screen and (max-width: 899px) {
/*.cat0 .bglightcyan {padding-bottom: 200px}*/
.sottocatblog .breadcrumb {width: 100%}
}

@media screen and (min-width: 900px) {
  #homeheader {/*height:500px;*/}
  ul#destinationsdd {max-width: 500px}
  .hreviews {height:420px}
  #sliderreviews {width:820px}
  .hreviews figcaption {width:100%; height:400px}
  .hreviews figcaption {padding:10px 60px}
  .hcustomercare b {font-size: 50px; font-weight: 500}
  .hcustomercare p {font-size: 14px}

  .home main header {margin-bottom: 70px}
  #homelocallove header, #homereviews header, #homeLocalLove header {margin-top:70px}

  #homedestinations header {top:300px;right: 400px}
  #sliderhomedestinations > div {max-width: 720px}
  .hdestinations .owl-stage {height:770px}
  .page-template-local-love .hdestinations .owl-stage {height: 565px}
  #sliderdestinations .hdestinations .owl-stage {height:770px}
  .hdestinations figure {width:350px;height:350px}
  .hdestinations .owl-stage .big figure, .hdestinations .owl-stage .active:first-child figure, #sliderdestinations .hdestinations .owl-stage .owl-item:nth-child(odd) figure, .contentluoghi figure {width:350px;height:550px; border-top-left-radius: 275px;border-top-right-radius: 275px}
  @keyframes hdestinations {
  from {height: 350px}
  to {height:550px}
  }
  /*.cat0 .bglightcyan .content {padding-bottom: 550px}*/
  #sliderdestinations .hdestinations a > div {height:220px}
  #sliderdestinations .hdestinations a > div h2 {font-size: 60px}
  #sliderdestinations .hdestinations a > div span {font-size: 24px}
  /* #sliderdestinations {margin-top: -420px} */

  .contentluoghi{display: flex; justify-content: center; align-items: center}
  .testoslider,.contentluoghi figure{width:42%; margin:0 4%}
  .p-motivazioni > div:first-child{margin-left: 10%}
  .p-motivazioni:nth-child(2n) > div:first-child{margin-right: 10%}

  .tax-categories-blog .content{padding: 30px 5% 20px}
  .sliderpost, #categories-blog .title-section{padding-left: 5%}
  #categories-blog .title-section {display: flex;justify-content: space-between;align-items: center; padding-right: 5%}
  .tax-categories-blog .title-section a {width: inherit}
  #h-trending figure {flex-direction: inherit}
  #h-trending figcaption {width: 45%}
  #h-trending .objectfit {width: 50%; margin-left: 5%}
  .tax-categories-blog #ctacontact .content {display: flex; justify-content: flex-end}
  .tax-categories-blog #h-trending h2{font-size: 26px}
  .tax-categories-blog a.cta {margin: 20px 0 60px}
  .tax-categories-blog .circletextcenter::before {left: -270px;top: -20px;z-index: 2}
  .tax-categories-blog .headercircle {text-align: left; margin-left: 5%; padding-left: 125px}
  .tax-categories-blog .headerblog .content {padding: 0 5% 50px 15px}
  .headerblog .content{display: flex; justify-content: space-between;align-items: flex-end}
  .single-blog-post h1 {font-size: 28px}
  .hdestinations .owl-stage .big figure, .hdestinations .owl-stage .active:first-child figure, #sliderdestinations .hdestinations .owl-stage .owl-item:nth-child(odd) figure, .contentluoghi figure {
    width: 350px;
    height: 550px;
    border-top-left-radius: 275px;
    border-top-right-radius: 275px;
  }
}

@media screen and (max-width: 1023px) {
#ctavilla {position: fixed}
.contentdxvilla > div:first-child {margin: inherit}


.hero__slide #big img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
  padding: 0;
}


}

@media screen and (min-width: 1024px) {
     #pagevillas h1 {margin-top: 10px }
h3,#welcometext h2,#welcometext h3,#welcometext h4{font-size: 70px}
h4 {font-size: 60px}
/*.villas {padding-bottom: 100px}*/
#homevillaslist article figure, #homeVillasList article figure {width: 370px}

#homevillaslist article figure > div, #homeVillasList article figure > div {height:390px;margin-bottom: 50px}
#homevillaslist article:first-child figure > div, #homeVillasList article:first-child figure > div,  body:not(.category-29) #homevillaslist article:last-child figure > div, body:not(.category-29) #homeVillasList article:last-child figure > div, .p-motivazioni > div > figure > div{height: 500px;border-top-left-radius:250px;border-top-right-radius: 250px}
#homevillaslist h3,#homeVillasList h3 {font-size:70px}
#homevillaslist span, #homeVillasList span {font-size: 20px}

#welcome {margin-top: 200px;padding-top:0}
#welcomephoto {top: -250px;	right: 40px;width: 336px;	height: 450px;border-top-left-radius: 225px;border-top-right-radius: 225px}
#welcometext {margin:100px 0 150px 0;column-count:2; column-gap: 50px}
#welcometext p:first-child {margin-top: 0}

#catmap {margin-bottom:100px}
.villas a h3 {font-size:40px}
.villas a span {font-size:16px}
#homedestinations header {right: 470px}

#hvillas {display: flex; justify-content: space-between}
#hvillas > div:first-child {width:70%;}
#hvillas #villaheaderdx {width:29%; display: flex; flex-direction: column; justify-content: space-between}
#hvillas #villaheaderdx > div {height:48.5%}

#contentsxvilla{position: sticky;width: 45%;top: 0;left: 0;padding: 0;height: 800px}
.contentdxvilla{margin:0 0 0 10%;width: 45%;padding-top: 70px}
.featuresvilla{margin-bottom: 10%}
#pagevillas .bglightcyan {padding:0 5% 1% 5%}
#hvillas{padding: 0 5% 2% 5%; position: relative}
.infovilla span {font-size: 15px}
#pagevillas .bglightcyan{display: flex; justify-content: space-between; position: relative}
#pagevillas .infovilla {position: absolute; top:10px; right: 5%; width: 43%}
#pagevillas .infovilla .accommodation > li {margin-top: 0}

#c-maps{display: flex}
#c-maps > div{width: 50%}
#c-maps > div:first-child{margin-right: 5px}
#c-maps > div:last-child{margin-left: 5px; margin-top: 0}

.page-template-about-us #primarytitle .content {padding: 0 10% 180px 10%}
.socio {margin: -150px auto 50px}
.p-motivazioni > .content > header > figure,.p-motivazioni:nth-child(2n) > .content img {max-width: 120px;height: 120px}
#welcome .content header {max-width: 400px;margin: 0 0 0 10%}

#h-trending .objectfit {width: 55%; margin-left: 10%}
#h-trending figcaption {width: 35%}
.single-blog-post h1 {font-size: 30px}
  #welcome .content__welcome header {
    max-width: 400px;
    margin: 0 0 0 10%;
  }
  .p-motivazioni>div>figure>div {
    height: 500px;
    border-top-left-radius: 250px;
    border-top-right-radius: 250px;
  }
}

.search-filters-wrapper {
  padding-top: 15px;
}

.search-filters-container {
  border-bottom: 1px solid rgba(0,0,0,0.1);
  padding: 0 15px;
}

.custom-select-wrapper {
  position: relative;
  user-select: none;
  width: 200px;
}

.custom-select {
  position: relative;
  display: flex;
  flex-direction: column;
}

.custom-select__trigger {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  font-size: 14px;
  font-weight: 400;
  color: #000000;
  height: 40px;
  line-height: 40px;
  background: #F4F4F4;
  cursor: pointer;
  border: 1px solid #dae0e5;
  border-radius: 99px;
}

.custom-select__trigger span {
  display: none;
}

.custom-select__trigger span + span {
  display: block;
}

.custom-options {
  position: absolute;
  display: none;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-top: 0;
  transition: all 0.5s;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 2;
}

.custom-options.sortby {
  right: 0;
  left: auto;
}

.custom-select.open .custom-options {
  display: block;
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  min-width: fit-content;
}

.custom-option {
  position: relative;
  display: block;
  padding: 0 22px;
  font-size: 14px;
  color: #3b3b3b;
  line-height: 40px;
  cursor: pointer;
  transition: all 0.5s;
  text-align: left;
  white-space: nowrap;
}

.custom-option:hover {
  cursor: pointer;
  background-color: #f5f5f5;
}

.custom-option.selected {
  color: #3b3b3b;
  background-color: #f5f5f5;
  font-weight: bold;
}

.arrow {
  position: relative;
  height: 10px;
  width: 10px;
}

.arrow::after {
  content: "";
  position: absolute;
  bottom: 0px;
  width: 0.15rem;
  height: 100%;
  transition: all 0.5s;
}

.book-now-button .arrow:after {
  content: none;
}

.arrow::after {
  top: 3px;
  left: 3px;
  display: inline-block;
  margin-left: .255em;
  vertical-align: .255em;
  content: "";
  border-top: .3em solid;
  border-right: .3em solid transparent;
  border-bottom: 0;
  border-left: .3em solid transparent;
  color: #000000;
}

.selected-filters {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}

.filter-tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  background: #fff;
  border: 1px solid #BB9D7F;
  border-radius: 20px;
  font-size: 11px;
  color: #3b3b3b;
}

.filter-text {
  margin-right: 8px;
}

.remove-filter {
  background: none;
  border: none;
  color: #666;
  font-size: 18px;
  padding: 0;
  cursor: pointer;
  line-height: 1;
}

.remove-filter:hover {
  color: #333;
}

.filters-wrapper {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.filters-inner {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.filter-item {
  flex: 0 0 200px;
}

.filter-text {
  margin-right: 8px;
}

.remove-filter {
  background: none;
  border: none;
  color: #666;
  font-size: 18px;
  padding: 0;
  cursor: pointer;
  line-height: 1;
}

.remove-filter:hover {
  color: #333;
}

.search-results-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 15px 0;
}

.search-results-metas {
  padding: 16px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.results-count {
  font-size: 14px;
  color: #000000;
  font-weight: 500;
}

.slider__homedestinations-content {
  padding: 50px 30px 80px;
  text-align: left;
}

.home__locallove-content {
  padding: 50px 30px 20px;
}

.home__locallove-content img, #welcome img {
  max-width: 100%;
  height: auto;
}

#localLoveText.textright {
  text-align: right;
}

#homeVillasList {
  padding-top: 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  max-width: 1420px;
  margin: 0 auto;
}

.p__left {
  text-align: left;
}

/* Landlords */
.villas.landlordslist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  padding-top: 50px;
  padding-bottom: 0;
  padding-left: 2%;
  padding-right: 2%;
  overflow: hidden;
  width: 100%;
}

.villas.landlordslist article {
  width: 100%;
  margin: 0;
}

.villas.landlordslist article .landlord__content {
  background-color: #E3EFF2;
  padding: 20px;
}

.landlord__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.landlord__header img {
  width: 100%;
  height: 62px;
  object-fit: contain;
  max-width: 150px;
  min-width: auto;
}

.villas.landlordslist article .landlord__images {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  padding: 10px;
  margin-top: -5em;
  background-color: #E3EFF2;
  margin-bottom: 30px;
}

.villas.landlordslist article .landlord-image-carousel {
  overflow: hidden;
  width: 100%;
  display: none;
  position: relative;
}

.villas.landlordslist article .landlord-image-carousel img {
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.villas.landlordslist article .landlord__images img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 4 / 3;
}

.villas.landlordslist article .landlord-image-carousel .owl-next,
.villas.landlordslist article .landlord-image-carousel .owl-prev {
  top: 50%;
  transform: translateY(-50%);
  height: 40px;
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  border: 2px solid #ffffff;
  background-color: transparent;
}

.villas.landlordslist article .landlord-image-carousel .owl-next {
    right: 25px;
}

.villas.landlordslist article .landlord-image-carousel .owl-prev {
    left: 25px;
}

.villas.landlordslist article a {
  display: block;
}

.villas.landlordslist article a:hover img {
  transform: none;
}

.villas.landlordslist a figure {
  position: relative;
}

.villas.landlordslist a figure img {
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center;
}

.villas.landlordslist a figure > span {
  height: auto;
  position: relative;
}

.villas.landlordslist article figure img {
  height: auto;
  min-height: 1px;
}

.villas.landlordslist article figcaption {
  position: absolute;
  padding: 20px 25px;
  background-color: rgba(0, 0, 0, 0.8);
  left: 0;
  bottom: 0;
  right: 0;
}

.villas.landlordslist article figure ul span {
  font-size: 14px;
}

.villas.landlordslist article figcaption header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}

.villas.landlordslist article figcaption header h3,
.villas.landlordslist article figcaption p {
  color: #fff;
  text-align: left;
}

.villas.landlordslist article figcaption header + div {
  line-height: 1;
  align-items: flex-start;
  margin-top: 10px;
}

.villas.landlordslist article figcaption header .header__location {
  display: flex;
  gap:4px;
  align-items: center;
}

.villas.landlordslist article figcaption header .header__location span {
  padding-bottom: 0;
  border-bottom: none;
  display: inline-block;
}

.villas.landlordslist article figcaption header .header__location span.icon-pin:before {
  content: "\eb93";
  color: #ffffff;
}

.villas.landlordslist article figcaption p {
  line-clamp: 1;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}

.villaslist.landlord#primarytitle header {
  padding-top: 100px;
  margin-top: 0;
}

.landlord__content .accommodation {
  align-items: center;
  gap:15px;
  background-color: #ffffff;
  border-radius: 5px;
  padding: 5px 20px;
  width: fit-content;
  font-size: 14px;
  font-weight: 700;
  font-family: 'Raleway', serif;
  margin-top: 30px;
}

.landlord__content .accommodation li {
  font-family: 'Raleway', serif!important;
  font-size: 14px;
  font-weight: 700;
}

.landlord__content .accommodation .icon-pin {
  margin-left: -15px;
}

.landlord__content .accommodation li:before {
  color: #808080;
}

.villaslist.landlord#primarytitle #categorydesc {
  margin-top: 20px;
  text-align: center;
}

.villaslist.landlord h1::after,
.villaslist.landlord h1::before {
  content: none;
}

.tax-landlord article {
  width: auto;
  max-width: 100%;
}

.tax-landlord article figure {
  display: flex;
}

.tax-landlord article figure span {
  height: auto;
  flex-basis: 45%;
  flex-grow: 1;
}

.tax-landlord article figcaption {
  flex-basis: 55%;
  flex-direction: column;
  justify-content: space-between;
}

.tax-landlord article figcaption header + div {
  line-clamp: 5;
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tax-landlord article figcaption .guestroomdesc + div {
  width: 100%;
    text-align: right;
    display: flex;
    justify-content: flex-end;
}

.tax-landlord article figcaption .guestroomdesc + div .cta {
  width: 100%;
  max-width: 290px;
  height: 50px;
  line-height: 50px;
  background: #BB9D7F;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  margin-top: 30px;
}

.tax-landlord article figcaption .guestroomdesc + div .cta:after {
  content: 'r';
  font-family: domus;
  font-size: 14px;
  margin-left: 10px;
}

.tax-landlord article figcaption .guestroomdesc + div .cta:hover {
  background: #69baba;
  color: #fff;
}

.tax-landlord .villas a {
  display: block;
}

.landlord__header-location {
  display: none;
  text-align: left;
  color: #BB9D7F;
  margin-top: 10px;
  font-size: 14px;
  font-weight: 700;
}

.landlord__logos-wrapper {
  padding: 5% 0 2%;
  max-width: 1440px;
  margin: 0 auto;
}

.landlord__logos img {
  height: auto;
  max-height: 96px;
  width: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

.landlord__logos .owl-nav [class*='owl-'] {
  width: 44px;
  height: 44px;
  line-height: 44px;
  background-color: #ffffff;
  top: 50%;
  transform: translateY(-50%);
}

.landlord__logos .owl-nav .owl-prev {
  left: 20px;
}

.landlord__logos .owl-nav .owl-next {
  right: 20px;
}

.landlord__logos .owl-nav [class*='owl-']:after{
  font-size: 13px;
  color: #000000;
}

/* Log Term */
.page-template-long-term .villas {
  padding: 5%;
}
.long__term-container {
	display: flex;
  width: 100%;
  gap: clamp(2rem, 1.83vi + 1.55rem, 3.75rem);
}
.long__term-sidebar {
	flex: 0 0 27%;
  position: sticky;
  top: 5%;
}
.long__term-main {
	flex: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 1.83vi + 1.55rem, 3.75rem);
  overflow: hidden;
}
.long__term-main article {
	width: 100%;
  margin: 0;
  max-width: 100%;
}
.long__term-main article a  {
	display: block;
  position: relative;
}

.long__term-main article header a::after {
  content: none;
}

.villas .long__term-main article .article__inner:hover img {transform: scale(1)}
.long__term-main article .article__inner figure {
	display: flex;
  align-items: stretch;
  background-color: #E3EFF2;
}
.long__term-main article .article__inner figure > div {
	flex: 0 0 53%;
  height: auto;
  max-width: 53%;
  position: relative;
}
.long__term-main article a::after,
.landlord-image-carousel a::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: RGBA(0, 0, 0, 0.4);
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.4) 100%);
}
.long__term-main article .article__inner figure .owl-next,
.long__term-main article .article__inner figure .owl-prev {
	top: 50%;
  transform: translateY(-50%);
  height: 40px;
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  border: 2px solid #ffffff;
  background-color: transparent;
}
.long__term-main article .article__inner figure .owl-next:hover,
.long__term-main article .article__inner figure .owl-prev:hover {
  background-color: #ffffff;
}
.long__term-main article .article__inner figure .owl-next {
  right: 25px;
}
.long__term-main article .article__inner figure .owl-prev {
  left: 25px;
}
.long__term-main article .article__inner figure .owl-nav [class*='owl-']:after {
	font-weight: bold;
  font-size: 10px;
}
.long__term-main article .article__inner figure .owl-nav [class*='owl-']:hover:after {
	color: #000000;
}
.long__term-main article .article__inner figure > div *:not(.owl-prev,.owl-next,.own-nav,.fas) {
	height: 100%;
}
.long__term-main article .article__inner figure figcaption {
	flex: 1;
  display: block;
  padding: clamp(1.63rem, 0.86vi + 1.42rem, 2.19rem);
  background-color: #E3EFF2;
  align-content: center;
}
.long__term-main article .article__inner figure figcaption div {
  width: 100%;
  display: flex;
  align-items: center;
  background-color: transparent;
}
.long__term-main article .article__inner figure figcaption h3 {
  font-size: clamp(3.75rem, 0.65vi + 3.59rem, 4.38rem);
}
.long-term-price-wrapper {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #ccc;
}
.villas .long__term-main article .article__inner figcaption .long-term-price,
.long-term-price {
  padding: 5px 10px;
  background-color: #BB9D7F;
  color: #ffffff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.1;
  width: fit-content;
}

.long-term-price span {
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 10px;
  display: block;
}

.long-term-price span span {
  font-weight: 700;
  display: inline;
}

.long__term-main article .article__inner figure figcaption .long-term-info {
  padding-top: 18px;
  margin-top: 18px;
  border-top: 1px solid #BB9D7F;
  flex-direction: column;
  align-items: flex-start;
}

.long-term-info > div {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  font-weight: 700;
  color:#BB9D7F;
  margin-bottom: 10px;
}

.villas .long-term-info > div span {
  padding-bottom: 0;
  border-bottom:0;
  font-size: 18px;
}

.villas .long-term-info > div span:before {
  color: #BB9D7F;
}

.long-term-info .accommodation {
  background-color: #ffffff;
  border-radius: 5px;
  padding: 5px 10px;
  gap: 10px;
}

.long-term-info .accommodation li {
  display: flex;
  align-items: center;
  gap: 5px;
  line-height: 1.2;
}

.long-term-info .accommodation li:before {
  color: #68baba;
}

.villas a figcaption .long-term-price.inloop,
.long-term-price.inloop {
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  margin-top: 20px;
  display: block;
}

.villas a figcaption .long-term-price.inloop span,
.long-term-price.inloop span {
  font-size: 16px;
  font-weight: 700;
  padding-bottom: 0;
  border-bottom: none;
  display: inline-block;
  margin: 0;
}

.long-term-price.single__booking {
  width: 100%;
  padding: 20px 15px;
  text-align: center;
  background-color: #ffffff;
  border: 1px solid #BB9D7F;
  color: #BB9D7F;
  border-radius: 4px;
}

.long-term-price.single__booking span {
  display: inline-block;
  font-weight: 700;
  margin-bottom: 15px;
}

.villas .long__term-main article .article__inner figcaption .long-term-price div + div, .long-term-price div + div {
  display: none;
}

.filter-option {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.filter-container {
  padding: 30px;
  box-shadow: 0 0 10px 2px rgba(0,0,0,0.1);
  text-align: left;
}

.filter-separator {
  margin-top: 30px;
  margin-bottom: 30px;
  border-top: 1px solid #C1DCE3;
}

.filter-container h3 {
  margin-top: 0;
  font-size: 52px;
  margin-bottom: 30px;
}

.filters-section.plus-minus-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.filters-section h4 {
  font-size: 16px;
  font-family: 'Raleway', serif;
  font-weight: 700;
  margin-bottom: 10px;
}

.filters-section.plus-minus-filter h4 {
  margin-bottom: 0;
}

.filter-select {
  width: 100%;
  padding: 11px;
  padding-left: 32px;
  background-color: #E3EFF2;
  background-image: url('images/pin.png');
  background-repeat: no-repeat;
  background-position: 11px center;
  background-size: 10px;
  color: #6B6B6B;
  position: relative;
}

/* Number filter with + and - buttons */
.number-filter {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  background-color: #E3EFF2;
  padding: 11px;
}

.number-btn {
  width: 20px;
  height: 20px;
  background-color: #BB9D7F;
  color: white;
  border: none;
  border-radius: 99px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s;
  line-height: 1;
}

.number-filter input[type="number"] {
  width: 60px;
  text-align: center;
  padding-right: 11px;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 14px;
  background-color: transparent;
  color: #6B6B6B;
  border: 0;
  text-align: center;
  padding-left: 20px;
  height: auto;
}

.amenities-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 16px;
}

/* Mobile Filter Modal */
.mobile-filter-trigger {
  display: none;
  background-color: #FFFFFF;
  width: 100%;
  padding: 20px;
  color: #2C2C2C;
  border: none;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  box-shadow: 0 0 10px 2px rgba(0,0,0,0.1);
}

.filter-icon {
  font-size: 20px;
}

.filter-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

.close-filters {
  display: none;
  background: none;
  border: none;
  font-size: 32px;
  cursor: pointer;
  color: #333;
  line-height: 1;
  padding: 0;
  width: 32px;
  height: 32px;
  position: absolute;
  right: 15px;
  top: 10px;
}

.filter-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}

.apply-filters-btn {
  height: 50px;
    min-width: 200px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #BB9D7F;
    color: #ffffff;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 700;
    border: 0;
    position: relative;
    cursor: pointer;
    width: 100%;
}

.reset-filters-btn {
  text-decoration: none;
  color: #333;
  font-size: 12px;
  margin-top: 10px;
}

@media screen and (max-width: 479px) {
  .long-term-info .accommodation {
    width: 100%;
    justify-content: space-between;
  }
}

@media screen and (max-width: 839px) {
  .villas.landlordslist {
    grid-template-columns: 1fr;
    padding-left: 5%;
    padding-right: 5%;
  }
  .long__term-container {
    flex-direction: column;
  }
  .villas .long__term-main article .article__inner figcaption .long-term-price,
  .long-term-price {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: transparent;
    color: #BB9D7F;
    padding: 0;
    margin-top: 10px;
  }
  .villas .long__term-main article .article__inner figcaption .long-term-price div + div,
  .long-term-price div + div {
    display: flex;
    text-align: right;
    justify-content: flex-end;
    gap: 5px;
  }
  .villas a figcaption .long-term-price.inloop span,
  .long-term-price.inloop span {
    text-transform: capitalize;
  }
  .villas a figcaption .long-term-price.inloop div + div,
  .long-term-price.inloop div + div {
    align-items: center;
    font-size: 14px;
  }
  .villas a figcaption .long-term-price.inloop span:first-of-type,
  .long-term-price.inloop span:first-of-type {
    display: none;
  }
  .villas a figcaption .long-term-price.inloop div + div span:first-of-type,
  .long-term-price.inloop div + div span:first-of-type {
    display: inline-block;
  }
  .villas a figcaption .long-term-price.inloop div + div span:first-of-type:before,
  .long-term-price.inloop div + div span:first-of-type:before {
    color: #BB9D7F;
    font-size: 18px;
  }
  .long__term-main article .article__inner figure figcaption .long-term-info > div {
    display: none;
  }
  .villas.landlordslist article .landlord__images,
  .villas.landlordslist article .landlord-featured-image {
    display: none;
  }

  .villas.landlordslist article .landlord-carousel-wrapper {
    width: 100%;
    overflow: hidden;
    max-width: 100%;
    position: relative;
  }

  .villas.landlordslist article .landlord-image-carousel {
    display: block;
  }

  .villas.landlordslist article .landlord-image-carousel .owl-stage-outer {
    overflow: hidden;
  }

  .villas.landlordslist article .landlord-image-carousel .item img {
    width: 100%;
    height: auto;
    display: block;
  }

  .villas.landlordslist article a > div {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
  }

  .villas.landlordslist article {
    overflow: hidden;
  }

  .landlord__header-location {
    display: block;
  }

  .landlord__content .accommodation {
    width: 100%;
    justify-content: space-between;
    margin-top: 15px;
  }

  .landlord__content .accommodation li.icon-pin,
  .landlord__logos-wrapper {
    display: none;
  }
}

@media screen and (max-width: 1199px) {
  .overlaybg {height:100%; width:100%; position:fixed;left:0;	top:0;z-index:4 !important;background:rgba(110, 184, 184, .85)}
  /* push menu*/
  #menu {-webkit-transition: all 0.2s linear; transition: all 0.2s linear;position: fixed;  overflow: hidden; overflow-y: auto;height: 100%; top: 0; background-color: #BB9D7F; z-index: 10;opacity: 1; text-align:left; width: 100%;right: -100%}

  /* push menu*/
  #menu > ul a {color: #fff;font-size: 18px;display: block;line-height: 40px;text-decoration: none;position: relative;font-weight: 500}
  #menu ul li.open ul li a {font-size: 15px;font-weight: 300}
  #menu ul li.open ul li a:hover {color:#fff}

  #menu > ul {list-style: none}
  #menu > ul > li > a,#menu ul li.open ul li a{border-bottom: 1px solid transparent}
  #menu > ul > li:hover > a:before, #menu > ul > li.menu-item-has-children:hover > a:before {content: '';width: 100%;	height: 26px;	position: absolute;	top: 18px;left: 0;	z-index: -1;background:#edf2f4}
  #menu > ul li.menu-item-has-children a:hover:after {color:#fff}

  #menu > ul li ul {display:none; text-align: left;position: absolute; top: 34px;background:#edf2f4;-webkit-column-count: 2;column-count: 2; -webkit-column-gap: 20px; column-gap: 20px; padding:20px 0}
  #menu > ul.mainmenu li ul {
    position: static;
    top: 34px;
    background: transparent;
    -webkit-column-count: 1;
    column-count: 1;
    -webkit-column-gap: 20px;
    column-gap: 20px;
    padding:20px 0
  }
  #menu > ul li:hover > ul { display: none}
  #menu > ul li.open > ul { display: block}

  html.open-menu a#toggle {right: 5%}
  a#toggle {position:absolute; display: flex; justify-content: center; align-items: center;z-index:5; right:10px}
  .open-menu a:hover#toggle::before {color:#fff;font-size: 25px}
  a#toggle span, nav#fmenu {position: absolute; top: -999999px; left: -999999px}

  html.open-menu {overflow: hidden}
  html.open-menu nav#menu {z-index: 4; right:0; padding: 0 6% 0 6%;display: flex;justify-content: center;align-items: center;flex-wrap: wrap}
  #menu > ul {width: 100%}

  .wpml-ls {padding: 20px 0}
  .wpml-ls ul li a {color:#fff}
  .wpml-ls ul li a:hover{border-bottom: 1px solid #fff}

  .long__term-main {
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: clamp(2rem, 1.83vi + 1.55rem, 3.75rem);
    overflow: visible;
  }

  .long__term-main article .article__inner figure {
    flex-direction: column;
  }
  .long__term-main article .article__inner figure > div {
    flex: 1 0 53%;
    max-width: 100%;
  }
  .mobile-filter-trigger {
    display: flex;
  }

  .long__term-sidebar {
    position: fixed;
    top: 0;
    left: -100%;
    width: 85%;
    max-width: 400px;
    height: 100vh;
    background-color: white;
    z-index: 9999;
    transition: left 0.3s ease;
    overflow-y: auto;
    box-shadow: 2px 0 10px rgba(0,0,0,0.2);
  }

  .long__term-sidebar.active {
    left: 0;
  }

  .filter-container {
    padding: 20px;
    background-color: white;
    border-radius: 0;
  }

  .close-filters {
    display: block;
  }

  /* Overlay quando la modal è aperta */
  .modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9998;
  }

  .modal-overlay.active {
    display: block;
  }
}

@media screen and (min-width: 1200px) {
  #logo a img {height: 30px}
  body:not(.single-post) {font-size: 120%}
  .content{padding: 120px 10% 100px 10%}
  #motivazioni .content {padding: 120px 10%}
  #owners .content {padding:120px 10% 30px}
  .page #primarytitle .content {padding:0 10% 100px 10%}
  .page-template-about-us #primarytitle .content {padding: 0 10% 300px 10%}
    .socio{margin: -260px auto 50px}

  #top {padding: 35px 20px 30px 20px}
  .overlaybg {display:none !important}

  nav#menu {margin-top:15px;position: relative}
  nav#menu > ul {display: -webkit-flex; display: flex;-webkit-justify-content:center; justify-content: center}
  nav#menu > ul > li > a {position: relative; color:#767C8C;font-size: 17px; display: block; text-decoration: none; line-height:34px; padding:0 28px}
  nav#menu > ul > li:hover > a:before, nav#menu > ul > li.menu-item-has-children:hover > a:before {content: '';width: 100%;	height: 26px;	position: absolute;	top: 18px;left: 0;	z-index: -1;background:#edf2f4}
  nav#menu > ul li ul {display:none; text-align: left;position: absolute; top: 34px;background:#edf2f4;-webkit-column-count: 2;column-count: 2; -webkit-column-gap: 20px; column-gap: 20px; padding:20px 0}
  nav#menu > ul li:hover ul {display:block; z-index:2; border-radius: 5px}
  nav#menu > ul li ul li a {color:#767C8C;font-size:13px; line-height: 40px; display: block;padding:0 30px}
  nav#menu > ul li ul li a:hover {color:#BB9D7F}

  .wpml-ls {position: absolute; top:-70px; left:25px}

  #footer {padding: 170px 125px}
  #footerdx, #homedestinations .content, #villastext {display: flex; justify-content: space-between}
  #homedestinations a.cta, #homevillas a.cta, #homeVillas a.cta {margin-left: 10%}
  nav#fmenu {margin-right: 125px}
  nav#fmenu ul li a {line-height: 40px}

  ul#destinationsdd > li a {line-height: 66px}
  ul#destinationsdd li ul {top: 66px}
  #homeheader::after {font-size: 26px}

  .bglightcyan > h1, .home .bglightcyan > h3 {padding: 230px 10% 0 40%; font-size: 85px}
  .page-template-local-love .bglightcyan > h1 {padding: 50px 10% 0 40%}
  #homeheader {/*height:calc(100vh - 144px);*/ padding: 150px 0;}
  #homeheader h1 {font-size: 120px; margin-bottom: 50px;}
  #homeheader h4 {font-size: 70px}

  #categorydesc,.page #desc {max-width: 1000px;font-size: 18px;margin: 70px auto 0 auto}
  .villas a h3 {font-size: 50px}
  .villas a span {font-size: 20px}
  #owners {margin: 15% auto 2%}

  .villas a p {
    font-size: 18px;
  }

  .tax-categories-blog #h-trending h2 {font-size: 28px}
  .sliderpost,.sliderpost2 {padding-left: 5%; padding-right: calc(5% - 8px); display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: wrap}
  .tax-categories-blog .sliderpost a,.tax-categories-blog .sliderpost2  a{width: calc(25% - 8px); margin-right: 8px}
  .sliderpost2 a {margin: 0 0 50px;}
  .tax-categories-blog .sliderpost2 img {min-height: 385px}
.page-template-local-love .bglightcyan>h3{font-size: 85px;    padding: 50px 10% 0 40%;}

  .slider__homedestinations-content {
    padding: 120px 10% 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .home__locallove-content,
  .content__welcome,
  .category__content {
    padding: 120px 10% 100px;
  }
  .villas .long__term-main article .article__inner figcaption .long-term-price,
  .long-term-price {
    white-space: nowrap;
  }
}


@media screen and (max-width: 1279px) {
#primarytitle header{text-align:center}
#primarytitle .landlord__content header {
  text-align: left;
}
}



@media screen and (min-width: 1280px) {
  BODY {line-height: 1.9}

  h1, h2 {font-size: 160px}
  h3,#welcometext h2,#welcometext h3,#welcometext h4{font-size: 80px}
  h4 {font-size: 70px}
  #primarytitle h1 {font-size: 145px}
  /*h1:after, section:not(#customercare) h2:after {top: 84px}*/
  #pagevillas h1::after{top: 54px}
  .page-template-local-love section:not(#customercare) h2::after {top: inherit}
  #welcome h2 {font-size: 145px}
  #homedestinations header {right: 670px}
  #sliderhomedestinations > div {max-width: 720px}
  .hdestinations .owl-stage {height:770px}
  .page-template-local-love .hdestinations .owl-stage {height: 770px}
  #sliderdestinations .hdestinations .owl-stage {height:770px}
  #sliderhomedestinations .hdestinations figure {width:490px;height:470px}
  #sliderhomedestinations .hdestinations .owl-stage .big figure, #sliderhomedestinations .hdestinations .owl-stage .active:first-child figure, #sliderhomedestinations #sliderdestinations .owl-stage .owl-item:nth-child(odd) figure, .contentluoghi figure {width:490px;height:770px; border-top-left-radius: 380px;border-top-right-radius: 380px}
  #sliderhomedestinations .hdestinations .owl-stage .active:first-child a {
    margin-left: 22px;
    position: relative;
  }
  @keyframes hdestinations {
  from {height: 470px}
  to {height:770px}
  }
  .fotoluoghi {height:770px}
  #homereviews header {margin-top: 250px}
  .halfcirclec {display: flex;justify-content: flex-end}
  .halfcirclec .halfcircle {margin:0}
  .circletext::before {font-size: 180px;top: -140px;}
  .circletextright:before {right: -160px}
  .circletextleft:before {left: -230px}
/*#primarytitle:not(.cat0) header {margin-top:-90px}*/
.home #homelocallove .circletextleft::before,.page-template-local-love #homelocallove .circletextleft::before {right: -110px}
.home #welcome .circletextleft::before {top: -180px}
.circletext::before {top: -165px}
 #primarytitle .bglightcyan header {margin-top: 180px}
.circletext::before {top: -170}
.category .halfcirclec {justify-content: center}
}
@media screen and (min-width: 1360px)  and (max-width: 1600px){
/*#primarytitle header, #primarytitle #categorydesc, #primarytitle #desc{margin-left:10%}*/
.cat0#primarytitle header,.cat0#primarytitle #categorydesc,.page #primarytitle #desc,.page:not(.page-template-local-love) #primarytitle header,.page #primarytitle #desc{margin-left:inherit}
}
@media screen and (min-width: 992px) {
  .filters-wrapper {
    justify-content: space-between;
  }
  .custom-select__trigger span {
    display: block;
  }
  
  .custom-select__trigger span + span {
    display: none;
  }
}
@media screen and (min-width: 1360px) {
  h3,#welcometext h2,#welcometext h3,#welcometext h4{font-size: 90px}
  h4 {font-size: 80px}
  #welcome .content {padding: 120px 0% 100px 0%}
  #welcomephoto {right: 10%}
  .tax-categories-blog #h-trending h2 {font-size: 32px}
  .tax-categories-blog .content {padding: 120px 10% 100px 10%}
  .tax-categories-blog .content {padding: 30px 10% 20px}
  .sliderpost, #categories-blog .title-section,.sliderpost2 {padding-left: 10%; padding-right: calc(10% - 15px)}
  .tax-categories-blog .headerblog .content {padding: 0 10% 50px 15px}
  .single-blog-post h1 {font-size: 34px}
  .slider__homedestinations-content {
    max-width: 1340px;
    margin: 0 auto;
  }
  #homeLocalLove {
    max-width: 1340px;
    margin: 0 auto;
  }
  #localLoveText.textright {
    margin-left: 40%;
  }
  #homeVillasList {
    padding: 150px 0 90px;
  }
  #homeVillasList article:first-child figure, #homeVillasList article:last-child figure {
    width: 564px;
  }
  #homeVillasList article:first-child figure>div, body:not(.category-29) #homeVillasList article:last-child figure>div {
    height: 770px;
    border-top-left-radius: 385px;
    border-top-right-radius: 385px;
  }
  #homeVillasList article figure {
    width: 640px;
  }
  #homeVillasList article figure>div {
    height: 450px;
  }
  #homeVillas {
    padding-top: 150px;
    max-width: 1420px;
    margin: 0 auto;
  }
  #homeVillas .textright {
    margin-left: 40%;
  }
  #welcome {
    margin-top: 300px;
    padding-top: 0;
  }
  #welcomephoto {
    top: -250px;
    right: 5%;
    width: 448px;
    height: 600px;
    border-top-left-radius: 300px;
    border-top-right-radius: 300px;
  }
  .content__welcome,
  .category__content {
    max-width: 1340px;
    margin: 0 auto;
  }
  #welcome .content__welcome header {
    max-width: 545px;
  }
  .page-template-local-love .bglightcyan>h3 {
    padding: 50px 10% 0 20%;
  }
  #homelocallove, .page-template-local-love .content {
    max-width: 1340px;
    margin: 0 auto;
  }
  .p-motivazioni>div>figure {
    width: 500px;
  }
  .p-motivazioni>div>figure>div {
    height: 770px;
    border-top-left-radius: 385px;
    border-top-right-radius: 385px;
  }
  .p-motivazioni:nth-child(odd)>div>figure>div {
    height: 600px;
    border-top-left-radius: 385px;
    border-top-right-radius: 385px;
  }
}

@media screen and (max-width: 1365px) {
  .property__wrapper-left {
    grid-column: span 7;
  }

  .property__wrapper-right {
    grid-column: span 5;
  }

  .property__amenities {
    grid-template-columns: repeat(2, 1fr);
  }

  .property__amenities #amenities {
    grid-column: span 2;
  }

  .villas {
    grid-template-columns: 1fr 1fr;
  }

  .hero__slide #big .item {
    padding: 0;
  }
}

@media screen and (max-width: 1023px) {
  .property__wrapper,
  .hero__wrapper {
    grid-template-columns: 1fr;
  }

  .villas__related {
    grid-template-columns: 1fr 1fr;
  }

  .villas__related article:last-child {
    display: none;
  }

  .property__wrapper-left,
  .property__wrapper-right{
    grid-column: span 1;
  }

  .property__featured-infos {
    flex-wrap: wrap;
    gap: 48px
  }

  .transport__info {
    width: 100%;
    max-width: 100%;
    flex-basis: unset;
  }

  .transport__featured {
    width: 100%;
    padding: 0 36px;
  }

  .search__result-item {
    flex-wrap: wrap;
  }

  .search__result-item-image,
  .search__result-item-content {
    width: 100%;
    max-width: 100%;
    flex-basis: unset;
  }

  .search__result-item-content {
    padding: 15px;
  }

  .property__wrapper-right {
    order: 0;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    background-color: #E3EFF2;
    z-index: 10;
    display: none;
    min-height: 100dvh;
    height: 100%;
    padding-bottom: 50px;
    overflow-y: auto;
  }
  .property__wrapper-right.show-booking,
  .open__booking {
    display: block;
    z-index: 9999999999; 
  }

  .property__wrapper-left {
    order: 1;
  }

  .open__booking {
    z-index: 11;
  }

  /* Guestrooms */
  .tax-landlord article figure {
    display: flex;
    flex-direction: column;
  }

  .tax-landlord article figcaption .guestroomdesc + div {
    justify-content: flex-start;
  }

  .tax-landlord article figcaption header + div {
    line-clamp: 3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .long-term-price.single__booking {
    flex-direction: column;
  }
  .long-term-price.single__booking,
  .long-term-price.single__booking span {
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  body.page-template-search-result-page > header {
    position: sticky;
    top: 0;
    z-index: 10;
  }
  .property__amenities {
    grid-template-columns: 1fr;
    height: 200px;
    overflow: hidden;
  }
  .property__amenities #amenities {
    grid-column: span 1;
  }

  .property-type__wrapper {
    width: 100%;
  }
  
  /* Mobile search styles - hide elements until date picker is clicked */
  .destination__wrapper,
  .property-type__wrapper,
  .button__search-wrapper {
    display: none;
  }

  .destination__wrapper.mobile-expanded,
  .property-type__wrapper.mobile-expanded {
    display: block;
  }

  .button__search-wrapper.mobile-expanded {
    display: flex;
  }

  .property__infos [class^="icon-"], .property__infos [class*=" icon-"] {
    font-size: 20px;
  }

  .villas__related {
    grid-template-columns: 1fr;
  }

  .expand__amenities {
    display: block;
    padding: 10px 0 30px;
    margin-top: 17px;
    border-top: 1px solid #BB9D7F;
  }

  #expandAmenities {
    font-family: 'Raleway', serif;
    width: 100%;
    background-color: transparent;
    border: 0;
    color: #BB9D7F;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .hero__listing {
    padding: 30px 15px;
  }

  .search__result-wrapper {
    padding-bottom: 95px;
  }

  .search__result-item-amenities {
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
  }

  .search__result-item-amenities > div {
    flex-basis: 40%;
    flex-grow: 1;
  }

  .property__infos {
    flex-wrap: wrap;
    column-gap: 22px;
    row-gap: 0;
    justify-content: space-between;
  }

  .property__infos > div {
    flex-basis: 40%;
    flex-grow: 1;
  }

  .property__more-info-columns {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .property__codes {
    margin-bottom: 40px;
  }

  .inquiry__modal-content {
    margin: 8px auto;
  }

  .filter-item {
    flex: 0 0 auto;
  }

  .custom-select-wrapper {
    position: relative;
    user-select: none;
    width: auto;
  }
  
  .custom-select {
    position: relative;
    display: flex;
    flex-direction: column;
  }

  .filter-label-icon svg {
    height: 13px;
    width: auto;
    margin-top: 10px;
  }

  .custom-options {
    width: fit-content;
    white-space: nowrap;
    min-width: 100%;
  }

  .custom-option {
    padding: 0 10px;
    font-size: 12px;
    line-height: 26px;
  }

  .search__result-items-wrapper {
    grid-template-columns: 1fr;
  }

  .filters-wrapper {
    justify-content: space-around;
  }

  /* Guestrooms */
  .tax-landlord #homeheader h4, .villas a p {
    position: relative;
    top: unset;
    left: unset;
  }
  .tax-landlord article figcaption .guestroomdesc + div .cta {
    max-width: 230px;
  }

  .landlord__header img {
    width: 100%;
    height: 62px;
    object-fit: contain;
    max-width: 100px;
    min-width: auto;
  }
}

.custom-options.amenities-options {
  padding: 10px;
  max-height: 200px;
  overflow-y: auto;
}

.checkbox-option {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 8px 12px;
  transition: background-color 0.2s;
}

.checkbox-option:hover {
  background-color: #f5f5f5;
}

.checkbox-option input[type="checkbox"] {
  margin-right: 8px;
}

.checkbox-text {
  flex: 1;
}

.checkbox-option input[type="checkbox"]:checked + .checkbox-text {
  font-weight: bold;
  color: #bb9d7f;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .checkbox-option {
    padding: 5px 10px;
  }
  
  .custom-options.amenities-options {
    max-height: 150px;
  }

  .hero__listing {
    position: sticky;
    top: 100px;
  }
}

@media screen and (min-width: 1600px) {
  #welcomephoto {
      right: 10%;
  }
  .content__welcome,
  .category__content {
    padding: 120px 0 100px;
  }
  .grid__results-map {
    display: block;
  }
  .grid__results-content {
    grid-column: span 6;
  }
}
