* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@font-face {
    font-family: 'Learning'; src: url('../font/LearningCurve.woff') format('woff'); font-style: normal;
}

@font-face {
    font-family: 'Gill Sans'; src: url('../font/GillSans.woff') format('woff'); font-style: normal;
}

/*general*/
html {/* font-size: 62.5%*/ font-size: 10px; outline: none; }
body { font-family: "Inter", sans-serif; color: #1d1d1b; font-weight: 400; background-color: #fff; }
.body { background-color: #fff; max-width: 300rem; margin: 0 auto; overflow: hidden; }
ul, li, h1, h2, h3, h4, h5, p { list-style: none; }
a { font-size: 1.6rem; text-decoration: none; color: #1d1d1b; outline: none }
a:focus, input:focus, textarea:focus, select:focus, label:focus {outline: none!important }
p, ul, li { line-height: 1.7; font-size: 1.6rem; }
.container { max-width: 150rem; margin: 0 auto; padding: 0 2%; width: 100%; }
button { color: #1d1d1b; font-size: 1.6rem; cursor: pointer; background-color: transparent; border: none; font-family: "Inter", sans-serif;}
input, textarea, select { font-size: 1.8rem; ; font-weight: 600; font-family: "Inter", sans-serif; }
/*select { width: 100%; 
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; color: #111;
  background: url(../img/select.svg) 97% / 13px no-repeat #fff; background-color: transparent;
}*/
.center { text-align: center; }
.clear { clear: both; }
.float { float:left; }
.floatr { float:right; }
.flex { display: flex; flex-wrap: wrap; }
.clearfix::after { content:""; display: table; clear: both; }
.upper { text-transform: uppercase; }
.pr { position:relative; }
.oh { overflow:hidden; }

/*colors*/
.fff {color: #fff}
.bgbe { background-color: #ece0cf }
.bggreen { background-color:#585e2b }
.red { color:#9e1915 }
.bgred { background-color:#9e1915 }
.bgfff {background-color: #fff}
.beige { color:#f0d19e }
.green { color:#585e2b }
.lgreen { color:#a8a75f }
.orange { color:#ea7135 }
.bgorange { background-color:#ea7135 }

.times { font-family: "Libre Baskerville", serif; }
.lea { font-family: "Learning", serif; }
.gill { font-family: "Gill Sans", serif; font-weight:600!important }
.gill b { font-weight:600!important }

/*fontsize*/
.w300 { font-weight:300 }
.w400 { font-weight:400 }
.w500 { font-weight:500 }
.w600 { font-weight:600 }
.w700 { font-weight:700 }
.w800 { font-weight:800 }
.space { letter-spacing:3px }

.t75 { font-size:7.5rem; line-height:1.2; }
.t20 { font-size: 2rem; }
.t25 { font-size: 2.5rem; }
.t16 { font-size: 1.6rem }
.t14 { font-size: 1.4rem }
.t30 { font-size: 3rem }
.t40 { font-size: 4rem }
.t50 { font-size: 5rem; line-height:1.2 }
.t60 { font-size: 6rem; line-height:0.8 }
.t12 { font-size: 1.2rem }

.txtsha { text-shadow: 0 2px 6px rgba(0, 0, 0, .6); }

.mw80 { max-width:80rem; margin:0 auto; }

.mt1 { margin-top:1rem }
.mt2 { margin-top:2rem }
.mt3 { margin-top:3rem }
.mt4 { margin-top:4rem }
.mt5 { margin-top:5rem }
.mt6 { margin-top:6rem }
.mt8 { margin-top:8rem }
.mt10 { margin-top:10rem }
.mb1 { margin-bottom:1rem }
.mb2 { margin-bottom:2rem }
.mb3 { margin-bottom:3rem }
.mb4 { margin-bottom:4rem }
.mb5 { margin-bottom:5rem }
.mb6 { margin-bottom:6rem }
.mb8 { margin-bottom:8rem }
.pb8 { padding-bottom:8rem }
.mb10 { margin-bottom:10rem }
.mb12 { margin-bottom:12rem }
.p0 { padding:0rem!important }

.opt { object-position:top center; }
.opb { object-position:bottom center; }
.ojf { object-fit:cover; object-position:center; height:100%; width:100% }
.multi { mix-blend-mode: multiply; }
.blur { filter: blur(8px); }

.br { border-radius: 1rem }

.cta { min-width: 15rem; transition: .6s; box-shadow: 0 3px 6px rgba(0, 0, 0, .16); display: inline-block; font-size: 1.6rem; font-weight: 600; padding:1.5rem 2.5rem; line-height: 1.4; border-radius:5rem }
.cta:hover { opacity: .9; box-shadow: 0 3px 16px rgba(0, 0, 0, .3); }

/*padding/margin*/
.wt100 { width:100% }
.ojf { width:100%; height:100%; object-fit:cover; }
.opt { object-position:center top!important; }

/*TOP BUTTON*/
.div-back-to-top { transition: .3s; max-width: 300rem; width: 100%; left: 0; right: 0; bottom: 0; margin: 0 auto; position: fixed; z-index: 10000; }
.back-to-top { transition: .3s; position: absolute; z-index: 2; bottom: 2rem; right: 2rem; }
.back-to-top img { transition: .3s; width: 5.2rem; background-color:#9e1915; padding:2rem 1.5rem; border-radius:.5rem }
.back-to-top:hover {cursor: pointer; }

header { position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; max-width: 300rem; text-align: center; z-index: 10; }
header .header-top { transition: .6s; padding-top: 2rem; padding-bottom:2rem }
header .container { align-items:center; justify-content:space-between; }
header .logo { transition: .5s; z-index: 1; width: 20rem; }
header .menu { padding-right: 3rem; align-items:center; }
header .menu li a { font-size: 1.6rem; font-weight: 400; text-transform: uppercase; padding: 0 1.8rem }
header .menu li a:hover { opacity:.7 }
header .menu li a.active { color:#585e2b }
header .menu-top { transition: .3s; padding: 2rem 0; align-items:center; justify-content:space-between; width:100% }
header .comune { display:flex; align-items:center; gap:1.5rem }
header .comune img { width:4.8rem }

.lente { width:2.5rem }

.header-search {
  display: none;

  position: absolute;
  top: 100%;
  left: 0;

  width: 100%;

  z-index: 100;
}

.header-search.is-open {
  display: block;
}

.header-search form {
  width: 70rem;
  margin: 0 auto;

  display: flex;
  gap: .5rem;

  background: #585e2b;
  padding: 1rem;
  border-radius: 1rem;
}

.header-search form input { padding: 1rem;
  border-radius: .5rem; font-weight: 400;
  border: 0; width: calc(100% - 17rem) }
.header-search form button { width:16.5rem; background-color:#ea7135; color:#fff; border-radius:.5rem }

.sticky { background-color: #fff; box-shadow: 0 3px 16px rgba(0, 0, 0, .06); transition: 0.3s; position: fixed!important; top: 0; left: 0; right: 0; z-index: 30; width: 100%; max-width: 300rem; margin: 0 auto; }

/*sidenav*/
.menuresponsive, .sidenav { display: none; }

.hero { padding-top: 20vh; display: flex; align-items: flex-start; justify-content: center; position:relative; top:0; left:0; width:100%; height:100vh; min-height:80rem }
.hero .bg { position:absolute; top:0; left:0 }
.hero .txt { position:relative; text-align:center; }
.hero .txt .t75.lea { line-height: 0.8; margin:4rem 0 2.5rem }

.video-bg {
    width: 100%;
    height: 100vh;
    overflow: hidden;

    /* fallback */
    background-image: url('../img/bg.jpg');
    background-size: cover;
    background-position: center;
}
.video-content {
    position: relative;
    z-index: 2;
}

.esperienze { position: relative; z-index: 2; margin-top:-20.2rem }
.esperienze .title { position:absolute; text-align: center; top:-6rem; margin:0 auto; left:0; right:0 }
.esperienze .boxes { gap:.5rem; flex-wrap:nowrap; }
.esperienze .box { border: 2px solid #585e2b; width:20% }
.esperienze .box .img .times, .exp .box .img .times { font-size: 2.1rem; left: 0; right: 0; margin: 0 auto; position:absolute; bottom:0; padding:1rem; background-color:rgba(0, 0, 0, .4); }
.esperienze .box .img, .exp .box .img { overflow: hidden; width:100%; height:20rem }
.esperienze .box .img img, .exp .box .img img { transition:.3s }
.esperienze .box:hover img, .exp .box:hover img { transform:scale(1.05); }
.esperienze .box .txt, .exp .box .txt { padding:1.5rem }
.esperienze .box .txt .cta, .exp .box .txt .cta { font-size: 1.4rem; min-width: auto; margin:1.5rem 0 .5rem; padding:1.1rem 3rem }
.esperienze .box .txt p, .exp .box .txt p { line-height: 1.5; font-size:1.8rem }
.exp .box .txt .t25 { line-height:1.2; margin-bottom:1rem }
.exp .box { display: flex; flex-direction: column; border: 2px solid #585e2b; background-color:#fff; border-radius:1rem; overflow:hidden; }

.box-exp .pics { display:flex; flex-wrap: wrap; gap:1rem; justify-content:center; }
.box-exp .pic {width: calc(25% - 1rem); border-radius: 1rem 1rem 0 0}
.box-exp .pic img { width:100%; transition:.3s }
.box-exp .pic:hover img { transform: scale(1.05); }
.tit { min-width: 40rem; line-height: 1.2; font-weight: 600; font-size:3rem; letter-spacing:2px; padding:1rem 0; border:1.5px solid #9e1915; display:inline-block; border-left:0; border-right:0 }
.box-exp .pic.box { height: 25rem; position:relative; display: flex; align-items: flex-end; justify-content:center; }
.box-exp .pic.box img { position:absolute; top:0; left:0 }
.box-exp .pic.box .txt { padding: 1rem 2rem 2rem; z-index: 1; position:relative; height:auto; }
.box-exp .pic.box .sfuma { background: #000000;
background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%); position:absolute; bottom:0; left:0; width:100%; height:50%; }

.passport .flex { gap: 2%; justify-content:center; align-items:center; }
.passport .flex img { width:45%; max-height:48rem }
.passport .flex .txt { width:45%; text-align:left; }
.passport.percorsi .txt span { display:block; }
.passport.percorsi .flex { margin-top: 4rem; position:relative; }
.passport.percorsi img { width:65%; }
.passport.percorsi .txt { position:absolute; top:0; left:50% }

.partner .newsletter .mail { display: flex; border-radius: 5rem; padding: 1rem 2rem; align-items: center; border:2px solid #585e2b; width:50% }
.partner .newsletter .mail img { width:4rem }
.partner .newsletter button { width:24% }
.partner .newsletter { display:flex; align-items:stretch; justify-content:center; gap:2rem }
.partner .newsletter input { background-color:transparent; width:100%; border:0 }
.partner .newsletter input::placeholder { color:#1f1f1f }

.pad { padding: 8rem 0 }

footer { background-color: #fff; padding: 6rem 0 }
footer .logo img { width:15rem }
footer .cl { margin-right: 2rem; max-width:30rem }
footer .credits { padding:3rem 0 0; margin-top: 4rem; border-top: 1px solid #ECECEC; }
footer .credits a { color: #9e1915 }
footer .clflex { justify-content:space-between; flex-wrap:nowrap; gap:4% }
footer a.flex { align-items:center; flex-wrap: nowrap;}
footer .cl p { line-height:1.1 }
footer .social img { width:4rem; margin-left:2px }
footer .loghi .row:first-child { gap: 10rem; margin-bottom: -2rem; justify-content:flex-end; align-items:flex-end; }
footer .loghi .row p { width:100%; font-size:2rem; border-bottom:2px solid #9e1915; padding:1rem 0; margin:3rem 0 2rem }
footer .loghi .row .flex-img { gap:4rem }
footer .loghi .row .flex-img img { object-fit: contain; max-width: 30rem; max-height:10rem }
footer .loghi .row img.small { object-fit: contain; max-width: 15rem; max-height:10rem }
footer .loghi .row img.small2 { object-fit: contain; max-height:10rem; max-width:10rem }
footer .loghi .row:nth-child(2) .flex-img { width:100%; justify-content:space-between; }

/*pages*/
.heropage { padding-top: 11rem; top: inherit; align-items: center; overflow: hidden; min-height:auto; height: 50vh; height: 50rem; position: relative;}
.heropage .sfuma { position:absolute; left:0; width:100%; object-fit:cover; bottom: 0; height: 50%; top: inherit; background: #88540F;
background: linear-gradient(0deg, rgba(136, 84, 15, 1) 0%, rgba(136, 84, 15, 0) 100%); }
.page header { background-color:rgba(244, 236, 228, .95); box-shadow: 0 2px 20px rgba(0, 0, 0, .1); }

/*filtri*/
#da-TBWrap { width: 100%; text-align: center; padding: 8rem 0 4rem; }
.controls { display: inline-flex;
  flex-wrap: wrap;
  justify-content: center; background-color: #ece0cf; padding: .5rem; border-radius: 1rem; display: inline-flex; gap: .5rem; text-align: center; margin: 0 auto }
label { font-weight: 300; margin: 0 .4em 0 0; }
#da-TBWrap button { border: 2px solid #585e2b; background-color: #fff; color: #1d1d1b; display: inline-block; padding: 2rem 3rem; min-width: 10rem; font-size: 1.6rem; font-weight: 600; border-radius: 6px; cursor: pointer; margin: 0; transition: .3s; }
#da-TBWrap button:hover { opacity: 1; }
#da-TBWrap button.active { background-color: #585e2b; color: #fff; }
#da-TBWrap button:focus { outline: 0; }
#da-TBWrap button + label { margin-left: 1em; }

.container-filter { padding: 0; margin: 0 auto; -webkit-backface-visibility: hidden; }
.container-filter:after { content: ''; display: inline-block; width: 100%; }
.container-filter .mix,
.container-filter .gap { display: inline-block; }
.container-filter .mix { text-align: left; display: none; }
.container-filter .mix { content: ''; display: none; padding: 0; text-align: center; }
.container-filter .mix,
.container-filter .gap { vertical-align: top; }

.page .esperienze { margin-top:-11.5rem }
.page .esperienze .boxes .mix { overflow: hidden; border-radius: 1rem; border: 2px solid #585e2b; background-color: #fff; width: calc(24.5% - 4px); margin: 0 0.25% 0.7%; }
.page .esperienze .boxes { padding: 6rem 0; flex-wrap:wrap; }
.page .esperienze .boxes .txt .t25 { margin-bottom:.5rem }
.page .esperienze .boxes .txt p { font-size:1.6rem }
.page .esperienze .boxes .box { border:0; width:100% }

.esperienza { padding: 20rem 0 10rem }
.esperienza .bl1 { margin-bottom: 3rem; justify-content:space-between; }
.esperienza .bl1 .img { width:48.5% }
.esperienza .bl1 .txt { width:48.5% }
.esperienza .bl2 { justify-content:space-between; align-items: flex-start; }
.lea.t50 { font-weight: 400; font-size:5rem; line-height:1 }
.esperienza .bl2 .info { width: 100%; border-bottom:1px solid rgba(0, 0, 0, .2); padding-bottom:1rem; margin-bottom:1rem }
.esperienza .bl2 .info:last-child { margin-bottom:0 }
.esperienza .bl2 .info img { width:2rem }
.esperienza .bl2 .info p:first-child { align-items:center; display:flex; gap:0.6rem; margin-right:.5rem }
.esperienza .bl2 .info p:last-child { font-weight:500; margin-top:4.6px }
.esperienza .bl2 .txt { width:48.5% }
.esperienza .bl2 .all { display: flex; justify-content: space-between; flex-direction: column; padding:3rem; width:48.5% }
.esperienza .bl2 .all .price span { font-family: "Inter", sans-serif; line-height: .2; font-size:3rem; color:#1d1d1d }
.esperienza .bl2 .all .price { background-color: #eee; border-radius: .5rem; margin: 0 1rem 1rem 0; padding: 1rem; display:flex; align-items:center; gap:.5rem }

.esperienza .bl2 .all .prezzi .t20 { display: flex; align-items: center; gap: .6rem; width:100% }
.esperienza .bl2 .all .prezzi .t20 img { width:2rem }
.esperienza .bl2 .all .cta { display:flex; gap: .5rem; align-items:center; justify-content:center; }

.back { gap:.5rem; display:flex; align-items:center; margin:-1rem 0 2rem }

.pad-top { padding-top:20rem }
.pad-top2 { padding-top:12rem }

.mappa img { width:100% }

.ricerca .hero {
  height: auto;
  padding: 18rem 0 7rem;}

.accordion-content { gap:1%; align-items:flex-start; }
.accordion-content .box { margin-bottom: 1%; padding: 2rem; border-radius: 1rem; position: relative; width:32.33% }
.accordion-content .box .gill.t20 { width:90%; line-height:1.2 }
.accordion-content .box .city { width: 100%!important; display:inline-block; padding:.5rem 1rem; text-align: center; min-width: 10rem; letter-spacing:2px }
.accordion-content .box .img { width:50%; margin-bottom:.5rem }
.accordion { margin-top: 1rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(0, 0, 0, .2); position: relative; width:100%; text-align:left; }
.accordion .btnmore { left: 0; top: 0; width: 100%; position: absolute; height: 2.5rem; cursor: pointer; }
.accordion .showhidenew img { margin: 0; transition: 1s; width: 2rem; height: 2rem; position: absolute; right: 0; top: .3rem}
.accordion .text_opennew { padding:1rem 0 0 }
.accordion:last-child { border:none; padding-bottom:0; margin-bottom:0 }
.accordion p { line-height:1.4 }
.accordion p.t12 { margin-top: .6rem; font-size:1.2rem; color: #936325}

header .accordion .showhidealt img { display:none; }
header .accordion { margin-top: 0; right: 0; position: absolute; width:auto;  }
header .accordion .btnmore { left: -10px; top: -10px; width:5rem }
header .accordion .text_openalt { display: flex; justify-content: space-between; position: absolute;
  background: #585e2b;
  padding: 2rem;
  border-radius: 1rem;
  right: 0;
  width: 70rem;
  top: 5rem; color:#fff }
header .accordion input { padding: 1rem;
  border-radius: .5rem; font-weight: 400;
  border: 0; width: calc(100% - 17rem) }
header .accordion button { width:16.5rem; background-color:#ea7135; color:#fff; border-radius:.5rem }

.accordion-content { padding:4rem }
.accordion-content .accordion { margin-top: 1rem; border-bottom:1px solid #1d1d1b; padding-bottom:1rem }
.accordion-content .accordion .title { width:calc(100% - 4rem); }

.divi { background-color:rgba(0, 0, 0, .1); height:1px; width:100% }

.banner .img { max-width:40rem; margin:0 auto; }
.banner .loghi { justify-content: center; margin-top: .5rem; gap:2rem }
.banner .loghi img { margin-top:2rem }

.aziende { display:flex; align-items:center; justify-content:center; min-height:50vh }
.aziende img { position:absolute; top:0; left:0; }
.progetto .contact_form2 { margin:0; padding-bottom:8rem }
.aziende .contact_form2 { margin-top:0 }

.blog .img { box-shadow: 0 5px 20px rgba(0, 0, 0, .2); float:left; width: 40%; min-width: 40rem; margin:0 3rem 3rem 0 }

.ricerca .hero { height:30rem }
.ricerca-section { padding: 0 0 6rem; }
.ricerca-section:first-of-type { padding-top: 4.5rem; }
.ricerca .ricerca-esperienze-list { margin-top: 0; }
.ricerca .ricerca-esperienze-list .boxes { padding: 0; }
.box-ricerca { gap:1%; justify-content:center; }
.box-ricerca .box { background-color: #fff; width:24%!important; overflow:hidden; }
.box-exp.esperienze { padding-top:4.5rem; }

.ckeditor { font-size:1.6rem;}
.ckeditor h1,.ckeditor h2,.ckeditor h3,.ckeditor h4, .ckeditor h5, .ckeditor h6 { font-weight: 500; font-size:3rem; color:#ea7135 ; margin:3rem 0 2rem }
.ckeditor a { color:#ea7135; text-decoration:underline; font-weight:600 }
.ckeditor ul, .ckeditor ol { margin:1.5rem 0 }
.ckeditor li { text-align: left; position:relative; padding: 0 0 0 2.5rem; font-weight:400; margin-bottom:.5rem }
.ckeditor li::before { content:url('../img/list.svg'); width: 2rem; height: 1.9rem; position:absolute; left:0; top:2.3px }
.ckeditor li b { font-size:2rem; display:block; }
.ckeditor ol { padding-left:2.5rem }
.ckeditor ol li::before { display:none; }
.ckeditor ol li { list-style:decimal; padding-left: 0; margin-left: 1rem; }
.ckeditor ol li::marker { color: #ea7135; opacity: .5; font-weight: bold; font-size: 3rem; line-height:1 }

.dettaglio .ckeditor ul { margin:0 }
.dettaglio .ckeditor ul li { padding:2rem 7rem; border-radius:1rem; background-color:#C4D1AE; margin:2rem 0 }
.dettaglio .ckeditor li::before { left:4rem }

.center .ckeditor ol { max-width:70rem; margin:2rem auto; text-align:left; width:90% }

.center .ckeditor ul { max-width:70rem; margin:2rem auto; text-align:left; width:90% }

.tronca1 { width: 100%; display: -webkit-box;
  -webkit-box-orient: vertical;
  /*Il conenuto viene troncato alla terza riga*/
  -webkit-line-clamp: 1; 
  overflow: hidden; }

.tronca2 { width: 100%; display: -webkit-box;
  -webkit-box-orient: vertical;
  /*Il conenuto viene troncato alla terza riga*/
  -webkit-line-clamp: 2; 
  overflow: hidden; }

/*form2*/
.contact_form2 { margin: 10rem 0 0; padding:6rem 2rem; }
.contact_form2 .content { background-color: #fff; max-width:100rem; width: 90%; margin:0 auto; border-radius: 1rem; border:1px solid rgba(255, 255, 255, .25); padding:3rem }
.button_invia { text-align:center; }
.form2 input, .form2 textarea, .form2 select { font-weight: 500; font-size: 1.8rem; letter-spacing: .5px; margin-bottom: 2rem; border:1px solid #eee; width:100%; background-color:rgba(88, 94, 43, .1); border-radius:5px; padding:1.5rem; }
.form2::placeholder { color:#666 }
::placeholder { color:#888; opacity:0.9 }
.form2 .cl50 { width:49% }
.form2 .cl33 { width:32% }
.form2 .cl100 { width:100% }
.form2 .inputs { justify-content:space-between; }
.voce p { opacity: .5; font-style: italic; font-size:1.8rem; font-weight: 500; letter-spacing :1px; margin-bottom:0.8rem }
.select-wrapper { position: relative; display: inline-block; }
.custom-select { width: 200px; padding: 10px; font-size: 16px; background-color: rgba(0, 0, 0, .1); border: 1px solid #fff; border-radius: 5px; appearance: none; }
.custom-select option { color: #000; background-color: #fff; }
.select-wrapper::after { content: ''; position: absolute; top: 59%; right: 10px; width: 13px; height: 8px; transform: translateY(-50%); background: url(../img/select.svg) center/contain no-repeat; pointer-events: none; }

.form-message { margin:0 0 2rem; padding:1.4rem 1.6rem; border-radius:.5rem; font-size:1.7rem; text-align:center; }
.form-message.success { color:#35531f; background:#edf6e6; border:1px solid #b9d8a4; }
.form-message.error { color:#8c2424; background:#fff0f0; border:1px solid #e3b0b0; }
.recaptcha-wrap { width:100%; margin:1.5rem 0 2rem; text-align:center; }
.recaptcha-wrap .g-recaptcha { display:inline-block; max-width:100%; }

.booking-calendar-field { margin-bottom:2rem; }
.booking-calendar-label { margin:0 0 1rem; color:#666; font-size:1.8rem; font-style:italic; font-weight:500; letter-spacing:1px; }
.booking-calendar { width:100%; max-width:54rem; margin:0 auto; padding:1.8rem; border:1px solid #e2e3d9; border-radius:1rem; background:#f7f7f2; outline:none; }
.booking-calendar.invalid { border-color:#b52c2c; box-shadow:0 0 0 2px rgba(181,44,44,.12); }
.booking-calendar-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; color:#585e2b; font-size:2rem; text-transform:capitalize; }
.booking-calendar-nav { display:flex; align-items:center; justify-content:center; width:3.8rem; height:3.8rem; padding:0; border:0; border-radius:50%; color:#fff; background:#585e2b; font-size:2.6rem; line-height:1; cursor:pointer; }
.booking-calendar-nav:disabled { opacity:.25; cursor:default; }
.booking-calendar-weekdays, .booking-calendar-days { display:grid; grid-template-columns:repeat(7, 1fr); gap:.6rem; }
.booking-calendar-weekdays { margin-bottom:.7rem; color:#6d6d66; font-size:1.3rem; font-weight:700; text-align:center; text-transform:uppercase; }
.booking-calendar-day, .booking-calendar-empty { display:flex; align-items:center; justify-content:center; min-height:4.2rem; border-radius:50%; color:#aaa; font-size:1.6rem; }
.booking-calendar-day.available { border:1px solid #585e2b; color:#585e2b; background:#fff; font-weight:700; cursor:pointer; transition:.2s; }
.booking-calendar-day.available:hover, .booking-calendar-day.available:focus { color:#fff; background:#7c833e; outline:none; }
.booking-calendar-day.selected { color:#fff; border-color:#df7e38; background:#df7e38; box-shadow:0 0 0 3px rgba(223,126,56,.2); }
.booking-calendar-selection { min-height:2.2rem; margin:.9rem 0 0; color:#585e2b; font-size:1.5rem; font-weight:600; text-align:center; }
.booking-calendar-selection.error { color:#a62929; }

.gallery-page { gap:1% }
.gallery-page a { border-radius: 1rem; overflow: hidden; margin-bottom: 1%; width:24.25%; height: auto; max-height: 23rem; object-fit: cover; }
.gallery-page img, .gallery-page video { transition: .5s; object-fit:cover; height:100%; width:100% }
.gallery-page a:hover img, .gallery-page a:hover video { transform:scale(1.05); }
.gallery-page a.video_esperienza { position: relative; background-color: #5c6230; width: 49.5%; max-height: inherit;}
.gallery-page a.video_esperienza::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6.5rem;
  height: 6.5rem;
  background: url('../img/play.svg') center / contain no-repeat;
  z-index: 2;
  pointer-events: none;
}

.la-mappa { width:100%; margin:4rem auto 14rem }
.la-mappa .carta .cartina { width:100%; }
.la-mappa .carta .citta { width:100%; position:absolute; top:0; left:0 }
.la-mappa .timbro { z-index: 3; width:15%; height: 20vh; position:absolute;}
.la-mappa .timbro img { width:100% }
.la-mappa .tm1 { top:0; left:18%; }
.la-mappa .tm2 { top:32%; right:12%; }
.la-mappa .tm3 { bottom:-5%; left:27%; }
.la-mappa .tm4 { bottom:-9%; right:10%; }
.la-mappa .timbro .img { z-index: 1; position:absolute; }
.la-mappa .timbro.circle { position:absolute; top:0; left:0 }
.la-mappa-mob { display:none; }

.sapori.accordion-content .box {  }
.sapori.accordion-content .foto { width:100%; height:25rem; border-radius: 1rem 1rem 0 0; margin-bottom:-4px }
p.lh { line-height:1.4 }
.sapori.accordion-content a { display:block; margin:.5rem 0; font-weight:500; font-size:1.4rem }

.la-mappa.ciclovie { margin:-10rem auto 0; width:100%; max-width:80rem }

.aziende .txt { width:46% }
.aziende .contact_form2 { width:50%; padding:0; }
.aziende .contact_form2 .content { width:100% }
.aziende .t18 { max-width:50rem }
.aziende .container { justify-content:space-between; }

/*splide1*/
.splide .splide__track { width:100% }
.splide.esperienze .boxes { flex-wrap:nowrap; }
.splide.esperienze { margin-top:0 }
.splide.esperienze .boxes .box { border: 2px solid #585e2b; width: auto; display: flex; flex-direction: column; border-radius: 1rem; overflow: hidden; background-color:#fff }
.splide.esperienze .boxes .box .txt { background-color:#fff }
.splide.esperienze .boxes .box .txt .t25 { line-height:1.2 }

#settori .splide__pagination { bottom:-3rem }
#settori .splide__pagination__page { background:#5a602e }
#settori .splide__pagination__page.is-active { background:#9e1915 }

/* VIDEO 2 in HOME */
.banner-video-row {
    display: flex;
    align-items: center;
    gap: 60px;
}

.banner-video-text {
    width: 50%;
    text-align: left;
}

.banner-video-text p {
    max-width: none;
}

.banner-video-media {
    width: 50%;
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    cursor: pointer;
}

.banner-video-media video {
    display: block;
    width: 100%;
    height: auto;
    background-image: url(../img/bg-video.jpg);
    background-repeat: no-repeat; background-size: cover;
}

/* PLAY */
.video-play-button {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 85px;
    height: 85px;
    border: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s ease;
}

.video-play-button img { width:8.5rem }

.video-play-button:hover {
    transform: translate(-50%, -50%) scale(1.08);
}

.video-play-button span {
    width: 0;
    height: 0;
    border-top: 13px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 21px solid #000;
    margin-left: 5px;
}


/*-------------------------style check & radio box-------------------------*/
/*style check box*/
.containercheck { text-align: left; width: 100%;
  margin: 1rem 0 2rem; font-size: 1.4rem;
  display: block;
  position: relative;
  padding-left: 3rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.containercheck input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: -1px;
  left: 0;
  height: 2rem;
  width: 2rem;
  background-color: #fff;
  border-radius: 1px; border: 1px solid #E3E3E3;
}

/* On mouse-over, add a grey background color */
.containercheck:hover input ~ .checkmark {
  background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.containercheck input:checked ~ .checkmark {
  background-color: #4BAA05;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.containercheck input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
.containercheck .checkmark:after {
  left: 0.6rem;
  top: 0.3rem;
  width: 0.4rem;
  height: .8rem;
  border: solid white;
  border-width: 0 0.2rem 0.2rem 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media (max-width: 1200px) {
html { font-size:9px }
header .menu li a {padding: 0 1rem}
header .menu { padding-right:4rem }
header .accordion .text_openalt { width:63rem }
}

@media (max-width: 1024px) {

header .menu li { display:none; }
header .menu li:last-child { display:block; }
header .menu li:last-child img { width:2.5rem; margin-top:5px }
header .menu li a { padding:0 1.5rem }
header .comune { top: .6rem; position:absolute; left:1rem; }
header .comune img { width:4rem }
header .comune p { display:none; }
header .container { justify-content:flex-end; }
header .logo { position:absolute; left:0; top: 1.5rem; right:0; margin:0 auto; }
header .header-top { padding-top:3rem; padding-bottom:3rem }
header .accordion { margin-top:1px; right:1.5rem; }
header .accordion .text_openalt { width:40rem; right:-5rem; top:6.3rem }
header .accordion input { width: calc(100% - 8rem); }
header .accordion button { width:7.5rem }
.sticky .logo { top:1rem }
/*sidenav*/

.menuresponsive img { width:3rem }
.menuresponsive, .sidenav { display: block; position: relative;}
#mySidenav { display: block; z-index: 1000;}
#mySidenav .closebtn img { width:2.5rem }
#mySidenav { height: 100%; width: 0; position: fixed; z-index:200; top: 0; right: 0; overflow-x: hidden; transition: 0.2s; }
.sidenav .bgcolor { opacity: .7; width:10%; height:100vh; overflow: hidden; position:absolute; left:0 }
#mySidenav .bg { overflow-y: scroll; width: 90%; margin-left: 10%; height:100vh; padding:8rem 4rem }
#mySidenav .bg a, #mySidenav .bg p { font-size: 1.8rem; font-weight: 600; }
#mySidenav .closebtn { position: absolute; top: 3rem; right: 3rem; text-align: right; margin:0; }
#mySidenav .bg li { text-transform: uppercase; margin:2rem 0; padding-bottom: 2rem; border-bottom:1px solid rgba(0, 0, 0, .1); }
#mySidenav .bg ul { text-align:left; }
#mySidenav .lang { padding-left:0; border:0 }
#mySidenav .bg a.active { color:#585e2b }

.esperienze { margin:0; padding-top:8rem }
.esperienze .boxes { justify-content: center; flex-wrap:wrap; gap:1% }
.esperienze .box { width:32.33%; margin-bottom:1% }

.box-exp .pics { gap:1% }
.box-exp .pic { width:32.33%; margin-bottom:1% }

.passport .flex { gap: 4rem; flex-direction:column-reverse; }
.passport.percorsi .txt { position:relative; left:inherit; }
.partner .lea { line-height:.75; margin:3rem 0 4rem }

footer .clflex { flex-direction:column; text-align:center; align-items:center; }
footer .loghi { text-align:center; margin-bottom:4rem }
footer .loghi .row { justify-content:center!important; }
footer .cl { margin:0; margin-bottom:3rem }
footer .loghi .row:first-child { align-items:flex-end; gap:1rem; margin:2rem 0 1rem }
footer .loghi .row .flex-img { gap: 3%; justify-content:space-between; }
footer .loghi .row:first-child img { max-width:90% }
.page .esperienze .boxes .mix { width: calc(48% - 4px); }

.esperienza { padding-top:15rem }
.esperienza .bl1 { flex-direction:column-reverse; }
.esperienza .bl1 .txt, .esperienza .bl1 .img { width:100%; margin-bottom:2rem }

footer .loghi .row:nth-child(2) .flex-img { justify-content:center; }

.box-ricerca .box { width:32.33%!important }

.ricerca .hero { height: auto; padding: 15rem 0 7rem; }

.esperienze .title { font-weight: 600; text-transform: uppercase; text-align: center; color: #9e1915; position:relative; top:inherit; margin:0 auto 3rem; min-width: 40rem;
  font-size: 3rem; line-height: 1.2;
  letter-spacing: 2px;
  padding: 1rem 0;
  border: 1.5px solid #9e1915;
  display: inline-block;
  border-left: 0;
  border-right: 0; text-shadow:none }

.gallery-page a { width: 32.66%; margin-bottom:1% }

.pad-top { padding-top:14rem }
.pad-top2 { padding-top:9rem }

.accordion-content { padding:0 }
.accordion-content .box { width:49% }

.mb-mobile { margin-bottom:4rem }

.accordion-content.faq { padding:2rem }
.accordion-content.faq .accordion:last-child { border:0!important; padding-bottom:0!important }

.aziende .t50 { font-size:4rem }

header .menu { padding-right:2rem }

.passport .flex .txt { width:100%; text-align:center; }

.splide.esperienze { padding-top:0 }

.banner-video-row { display: block;}
.banner-video-text, .banner-video-media { width: 100%; text-align: center;}
.banner-video-media {margin-top: 35px;}
.video-play-button { width: 65px;height: 65px;}
}

@media (max-width: 768px) {
html { font-size:9px }
.hero .txt .t75 { font-size:5.5rem }
.esperienze .boxes, .box-exp .pics { gap:2rem }
.esperienze .box, .box-exp .pic { max-width:100%; width:35rem; margin-bottom:0 }
.passport .flex .txt { width:100% }
.passport .flex img { max-width:90%; width:35rem; }
.tit { width:auto; min-width:30rem }
.passport .flex img { width:90%; max-width:90% }
.partner .lea { font-size:5.5rem }
.partner .newsletter .mail { width:100% }
footer .clflex .logo { width:20rem }
.partner .newsletter { flex-direction:column; }
.partner .newsletter button { width:100% }
footer .credits { padding-bottom:4rem; margin-top:0 }
.hero .txt .t20 { font-size:1.8rem }
.hero .txt .t20 br { display:none; }

#da-TBWrap button { font-size:1.4rem; padding:1.5rem 1rem }

.esperienza .bl1 .img { margin-bottom:0 }
.esperienza .bl2 .txt { width:100%; margin-bottom:4rem }
.esperienza .bl2 .all { width:100% }

.blog .img { width:100%; }

.box-ricerca .box { width:35rem!important }

.ricerca .hero .t50 { font-size:3rem }

.t60 { font-size:4.5rem }

.la-mappa-mob { display:block; margin:4rem auto; max-width:100% }
.la-mappa { display:none; }

.aziende .txt { width:100%; margin-bottom:3rem }
.aziende .contact_form2 { width:100%; }
.aziende .t18 { max-width:100% }

.header-search form { width:100% }
.header-search form input { width:calc(100% - 6.5rem); }
.header-search form button { width:6.5rem }
header .menu { padding-right:1rem }

footer a.flex { display:block; }
}

@media (max-width: 600px){
html { font-size:9.5px }
.hero .txt .t75 { font-size:11vw }
.hero .txt .t75.lea { margin:3rem 0 1.5rem }
header .logo { width:18rem }
.sticky .logo { top:1.5rem }
#mySidenav .bg { padding: 8rem 3rem; }
header .menu li a { padding:0 1.5rem }
.sticky { background-color:rgba(255, 255, 255, .8); }
.hero .txt .cta { border:1px solid #ece0cf; }
.passport .flex img { width:90%; max-width:90% }
.partner .lea { font-size:5rem }

.heropage .sfuma.long { height:80% }

.contact_form2 .content { width:98% }
.form2 .cl50 { width:100% }

.t40 { font-size: 3rem }
.t50 { font-size:3.5rem }
.t75 { font-size:5rem }
.lea.t50 { font-size:4.5rem }
.t75.green { margin-bottom:2rem }
.pad-top { padding-top:12rem }
.pad-top2 { padding-top:6rem }

.accordion-content { padding:2rem 2rem 1rem }
.accordion-content .accordion:last-child { border-bottom:0 }

.header-search form input, .header-search form button, .header-search form button a { font-size:1.4rem }
.header-search form { padding:1rem }

.gallery-page { gap: 1% 2% }
.gallery-page a { width:49%; height:44vw; margin-bottom: 2%}
.gallery-page a.video_esperienza { width:100%; height:auto; }

.accordion-content .box { width:100%; margin-bottom:2rem }
.page .accordion-content { padding:0 }
.page .accordion-content .accordion:last-child { border-bottom:1px solid; }
.page .accordion-content.faq { padding:2rem }

.esperienza .bl2 .all { padding:2rem 1rem }
.esperienza { padding-bottom:0 }
}

@media (max-width: 500px){
.page .esperienze .boxes .mix { width:100%; margin:0 0 2rem }
.page .esperienze .boxes { padding:3rem 0 0 }
#da-TBWrap { padding-top:3rem }
.page .esperienze { margin-top:0 }
.contact_form2 .content { padding:2rem }
.booking-calendar { padding:1.2rem .8rem; }
.booking-calendar-weekdays, .booking-calendar-days { gap:.3rem; }
.booking-calendar-day, .booking-calendar-empty { min-height:3.7rem; font-size:1.4rem; }
.recaptcha-wrap { overflow:hidden; }

header .accordion .text_openalt { width:38rem }

.ricerca .hero { padding-bottom:1.5rem; }
.box-ricerca { padding:0 0 8rem!important }

.esperienze .title { min-width:auto }

.lea.t50 { line-height:.7 }
footer .cl { max-width:100% }

.controls { margin:-4rem auto 0rem }
#da-TBWrap { padding-top:0 }

.accordion-content .box { padding:1.5rem }

.container { padding-left:1.5rem; padding-right:1.5rem }
.blog .img { min-width:100% }
}

/*gsap css*/
.fade-left { transform: translateX(-100%); opacity:0 }
.fade-right { transform: translateX(100%); }
.fade-in { transform: translateY(0); opacity: 0; }
.fade-in-down { transform: translateY(-100%); opacity: 0; }
.fade-in-up { transform: translateY(100%); opacity: 0; }
.bounce { transform: translateY(100px); }
.rotate { transform: rotate(-180deg); }
.swing { opacity: 0; transform: rotate(-10deg); }
.shake { opacity: 0; transform: translateX(0); }
.zoom-in { transform: scale(0); }
.zoom-out { transform: scale(2); }
.roll-in { transform: translateX(-100%) rotate(-360deg); }
.mouse-par { will-change: transform; pointer-events: none; }

.typewriter-word::after {
  content: "|";
  animation: blink 0.8s infinite;
}

@keyframes blink {
  0%,50% { opacity:1; }
  51%,100% { opacity:0; }
}
