* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {/* font-size: 62.5%*/ font-size: 10px; outline: none; }
body { font-family: 'Nunito', sans-serif; color: #707070; font-weight: 500; background-color: #ddd; letter-spacing: 0.2px }
.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: #707070; outline: none }
a:focus, input:focus, textarea:focus, select:focus, label:focus {outline: none!important }
b { }
p { line-height: 1.5; font-size: 1.6rem;  }
.container { max-width: 150rem; margin: 0 auto; padding: 0; width: 94%!important; }
button { cursor: pointer; background-color: transparent; border: none; font-family: 'Nunito', sans-serif; }
input, textarea, select { letter-spacing: 0.4px ; font-family: 'Nunito', sans-serif; }
.center { text-align: center; }
.clear { clear: both; }
.flex { display: flex; flex-wrap: wrap; }
.clearfix::after { content:""; display: table; clear: both; }
.upper { text-transform: uppercase; }
.fff {color: #fff}
.bgfff { background-color: #fff; }
.bgred { background-color: #D70022 }
.red { color: #D70022 }
.bggray { background-color: #707070 }
.green { color: #339441 }
.bgeee { background-color: #eee }
.bggreen { background-color: #339441 }
.pr { position: relative; z-index: 1 }
.ac { align-items: center!important; }
.blu1 { color: #3784CB }
.blu2 { color: #7EADC5 }
.bgblu1 { background-color: #3784CB }
.bgblu2 { background-color: #7EADC5 }
.cta.bggreen:hover { background-color: #246C2E }

/*TOP BUTTON*/
.div-back-to-top { max-width: 300rem; width: 100%; left: 0; right: 0; bottom: 0; margin: 0 auto; position: fixed; z-index: 3 }
.back-to-top { text-align: center; position: absolute; z-index: 200; bottom: 0.8rem; right: 0.5rem; display: inline-block; padding: 1.6rem 1.2rem 1.5rem; margin: 1em; background-color: #339441; border-radius: 5px; }
.back-to-top img { width: 2.1rem; }
.back-to-top:hover {cursor: pointer; background-color: #246C2E; }

.cta { display: inline-block; font-weight: 700; border-radius: 5rem; font-size: 1.6rem; transition: 0.5s; text-align: center; padding: 1.5rem; text-transform: uppercase;}
.cta:hover { box-shadow: 0 0 5px rgba(0,0,0,0.2) }
.cta2 { font-weight: 700; border-bottom: 4px solid; padding-bottom: 0.5rem; font-size: 1.6rem; transition: 0.5s; text-align: center; text-transform: uppercase;}
.cta:hover { box-shadow: 0 3px 20px rgba(0,0,0,0.17) }
.cta img { margin-left: 6px }
.cta.flex { display: inline-flex; padding: 1rem 1rem 1rem 1.5rem }
.cta.flex img { margin-left: 8px }
.ctas .cta { margin: 0 0.3rem }

.t1 { font-size: 4.5rem; font-weight: lighter; }
b { font-weight: bold!important }
.t2 { font-size: 3.5rem; font-weight: lighter; }
.t3 { font-size: 2.5rem; font-weight: lighter; }
.line { height: 5px; border-radius: 2rem; width: 8rem; margin: 2rem auto }

.shadow { box-shadow: 0 3px 20px rgba(0,0,0,0.17)}
.tshadow { text-shadow: 0 3px 20px rgba(0,0,0,0.7) }

.preheader { padding: 1rem }
.preheader .flex { justify-content: space-between; align-items: center;}
.preheader a, .preheader p { font-size: 1.3rem; margin: 0 1rem }
.preheader img { margin-right: 1rem }

header { z-index:3; width: 100%; position: relative; }
.header .flex { padding: 2rem 0; width: 100%; justify-content: space-between; align-items: center; }
header .header .logo { width: 28rem; transition: 0.2s; background-image: url(../img/logo.svg); background-size: cover; height: 7rem; background-size: cover; }
.menu { display: flex; }
.menu li { padding: 0 0 1rem 4rem; }
.menu li a { font-size: 1.8rem; }
.menu li a img { vertical-align: middle; margin-left: 2px; }
.menu li a.active { color: #339441 }
.dropdown { position: relative; cursor: pointer; color: #fff;}
.dropdown img { object-fit: contain; margin-left: 2px }
img.loghino { vertical-align: top; margin-top: -5px }
.dropdown .down { width: 1rem }
.dropdown:hover .dropdown-content {display: block;}
header .dropdown-content { background-color: transparent; text-align: left; display: none; position: absolute; min-width: 10rem; z-index: 3; left: 0; padding-top: 1.5rem}
header .dropdown-content a { background-color: #fff; line-height: 1.2; width: 30rem; padding: 1rem 2rem; display: block; transition: all 0.2s ease 0s; }
header .dropdown-content a:last-child { border-radius: 0 0 1rem 1rem }
header .dropdown-content a:hover { color: #339441 }
header .dropdown-content .flex { align-items: center; justify-content: flex-end; }
.menuresponsive, .sidenav { display: none; }
.headermobile { display: none; }
.preheader .cta { display: none; }

.sticky { height: 7.8rem; border-bottom: 5px solid #339441; position: fixed; width: 100%; background-color: #fff; top: 0; max-width: 300rem; }
.sticky .logo { width: 14rem!important; height: 3.5rem!important; margin-top: -6px }

.hidden-sticky { height: 10rem }

.call { position: fixed; top: 18rem; right: 0; padding: 1rem 2rem 1rem 1rem; border-radius: 4rem 0 0 4rem; align-items: center; }
.call span { font-size: 1.8rem; margin-left: 1rem }
.call.wa { transition: 0.4s; margin-right: -12.4rem; padding: 1rem 2rem 1rem 1.5rem; bottom: 10rem; top: inherit; width: 19rem; display: flex; flex-wrap: nowrap; line-height: 1.2; font-size: 1.2rem }
.call.tell { transition: 0.4s; margin-right: -12.4rem; padding: 1rem 2rem 1rem 1.5rem; top: 18rem; width: 19rem; display: flex; flex-wrap: nowrap; line-height: 1.2; font-size: 1.2rem }
.call.wa span { font-size: 1.5rem; margin-left: 1.5rem; display: inline-block; }
.call.tell span { font-size: 1.5rem; margin-left: 1.5rem; display: inline-block; }
.call.wa:hover { margin-right: 0 }
.call.tell:hover { margin-right: 0 }

.blocchi { margin: 2rem 0; justify-content: space-between; }
.blocchi .bl { overflow: hidden; position: relative; width: 49%; background-color: #eee; height: 48rem; border-radius: 1rem; margin-bottom: 3rem}
.blocchi .bl .bg { position: absolute; left: 0; top: 0; object-fit: cover; object-position: center; height: 100%; width: 100% }
.blocchi .bl .txt { position: absolute; width: 92%; top: 5%; left: 4%; border-radius: 1rem; height: 90%; padding: 2rem; justify-content: space-between; align-items:flex-end; }
.blocchi .bl .txt .title { width: 100%; position: absolute; left: 0; right: 0; top: 18rem; text-align: center; }
.blocchi .bl .txt p { width: 56%; line-height: 1.3 }
/*.blocchi .bl .txt .div_descrizione { width: 56%; line-height: 1.3 }*/
.blocchi .bl .txt.bgblu1 { transition: 0.4s; background-color: rgba(126,173,197,0.6); }
.blocchi .bl:hover .txt.bgblu1 { background-color: rgba(126,173,197,0.9); }
.blocchi .bl .txt.bgblu2 { transition: 0.4s; background-color: rgba(47,133,209,0.6); }
.blocchi .bl:hover .txt.bgblu2 { background-color: rgba(47,133,209,0.9); }
.blocchi .bl:nth-last-child(1):nth-child(odd) {
  margin-left: auto;
  margin-right: auto;
}
/*



.blocchi { margin: 2rem 0; justify-content: space-between; }
.blocchi .bl { background-size: cover; background-position: center; position: relative; align-items: center; justify-content:center; width: 49%; background-color: #eee; height: 48rem; border-radius: 1rem; margin-bottom: 3rem}
.blocchi .bl .title { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; text-align: center; }
.blocchi .bl .txt { width: 92%; border-radius: 1rem; height: 88%; padding: 2rem; justify-content: space-between; align-items:flex-end; }
.blocchi .bl .txt p { width: 56%; line-height: 1.3 }
.blocchi .bl .txt.bgblu1 { transition: 0.4s; background-color: rgba(126,173,197,0.6); }
.blocchi .bl:hover .txt.bgblu1 { background-color: rgba(126,173,197,0.9); }
.blocchi .bl .txt.bgblu2 { transition: 0.4s; background-color: rgba(47,133,209,0.6); }
.blocchi .bl:hover .txt.bgblu2 { background-color: rgba(47,133,209,0.9); }*/

.lafarm { border-radius: 1rem; padding: 3rem; justify-content: space-between; align-items: center; margin-bottom: 4rem }
#slide { width: 49%; border-radius: 1rem; overflow: hidden; }
.lafarm .txt { width: 48%; padding: 4rem }
.lafarm .txt p { margin-bottom: 3rem } 
#slide .my-arrows {position: absolute; bottom: 45%; width: 100%; z-index: 1; margin: 0 auto; left: 0; right: 0;}
#slide .my-arrows button:focus {outline: none;}
#slide .my-prev { transform: rotate(180deg); }
#slide .my-next { right: 0; position: absolute; }
#slide .my-next svg { width: 6rem; }
#slide .my-prev svg, #slide .my-next svg path {fill:#fff; cursor: pointer;}
#slide img { width: 100%; height: 25vw; object-fit: cover; }

.servizi { padding: 2rem 20rem 6rem }
.servizi .bl { width: 21rem; margin: 0 1% 2% }
.servizi .bl img { transition: 0.8s; width: 100% }
.servizi .flex { justify-content: center; align-items: flex-start; }
.servizi .bl .title { font-size: 2rem; line-height: 1.2 }
.servizi .bl:hover img { transform: rotate(5deg); }

.banner { margin-bottom: 4rem; border-radius: 1rem; position: relative; padding: 4rem; justify-content: space-between; align-items: center;}
.banner .txt { width: calc(100% - 45rem) }
.banner .txt .p { margin: 1rem 0 2rem }
.banner img { width: 44rem}

.bannerinfo { margin-bottom: 4rem; position: relative; padding: 5rem; background-image: url(../img/bggreen.svg); background-size: cover; background-position: center; border-radius: 1rem }
.bannerinfo p { margin: 1rem 0 2rem }
.bannerinfo .cta.flex img { margin-right: 8px; margin-left: 0 }
.bannerinfo .cta { padding: 1rem 1.5rem 1rem 1rem }
.bannerinfo .croce { position: absolute; left: 5%;  height: 125%; width: auto; object-fit: cover; object-position: center; top: -2rem }
.lower { text-transform: lowercase; }
.bannerinfo .txt { z-index: 2; position: relative; }

footer { padding: 3rem 0; position: relative; z-index: 2; border-top: 5px solid #339441 }
footer, footer a, footer p { color: #444; font-size: 1.5rem; line-height: 1.4 }
footer a:hover { color: #339441 }
footer h4 { font-size: 1.6rem;font-weight: 600; margin-bottom: 1rem }
footer b { font-weight: 600 }
footer .flex { justify-content: space-between; }
footer .flex .cl { width: 30% }
footer .cl:last-child { text-align: right; }
footer .loghi p { margin: 1rem 0 1.4rem }
.credits { position: relative; z-index: 2; background-color: #707070; padding: 1rem 0 }
.credits p, .credits a { font-size: 1.4rem; }
footer .flex .cl .logo2 { display: none; }
footer .logo1, footer .logo2 { width: 25rem }

.form ::-webkit-input-placeholder { /* Edge */color:#707070; font-style: normal; opacity: 0.5;}
.form :-ms-input-placeholder { /* Internet Explorer 10-11 */color: #707070; font-style: normal; opacity: 0.5;}
.form ::placeholder {color: #707070; font-style: normal; opacity: 0.5;}
.form input, .form textarea { width: 100%; margin: 0; padding: 1.5rem 0; background-color: transparent; color: #707070; font-size: 1.6rem; font-family: 'Nunito', sans-serif; border:none; border-radius: 0; border-bottom: 1px solid #bbb }
.form {max-width: 80rem; width: 100%; margin: 3rem auto 0 }
.form .cta { position: relative; margin-top: 3rem; width: 100%; justify-content: center; padding: 2rem}
.form .cta img { position: absolute; right: 1rem }
.form .ca { font-size: 1.3rem; margin-top: 3rem }

/*pages*/
.step { text-align: center; }
.step .flex { justify-content: center; padding: 0 }
.step .flex span { opacity: 0.3; color: #fff; display: flex; margin-left: 0.5rem; align-items: center; justify-content: center; font-size: 1.6rem; border-radius: 50%; width: 2.3rem; height: 2.3rem }
.step .flex span.active { opacity: 1 }

.booking { position: relative; min-height: 100vh; padding: 8rem; }
.booking .img { opacity: 0.8; position: fixed; top: 0; left: 0; width: 100%; filter: blur(6px); height: 100%; object-fit: cover; }
.booking .content { width: 100%; max-width: 90rem; margin: 0 auto; padding: 3rem 4rem; border-radius: 1rem; background-color: rgba(255,255,255,0.8); position: relative; }
.booking .content .day { margin: 5rem 0 1rem }
.booking .content .day .t2 { border-bottom: 1px solid #ccc; padding-bottom: 2rem }
.booking .content .calendar { max-width: 45rem; width: 100%; margin: 2rem auto 0; }
.booking .content .row { justify-content: space-between; width: 100%; align-items: center; margin: 1rem 0}
.booking .content .row .mese { font-size: 2rem }
.booking .content .row span { width: 14.2%; display: inline-block; font-size: 1.8rem; color: #339441 }
.booking .content .row.week span { font-weight: bold; color: #707070; }
.booking .content .row span.no { color: #707070; opacity: 0.5 }
.booking .dati p { margin: 1rem 0 }
.booking .dati .cta { margin-top: 2rem }
.booking .dati .smile { margin: 2rem 0 1rem }

.orari { justify-content: center; margin: 2.5rem 0 }
.orari .box { border: 2px solid #fff; width: 17rem; margin: 1rem; padding: 1.5rem 2rem; border-radius: 1rem; box-shadow: 0 0 15px rgba(0,0,0,0.2) }
.orari .box .orario { font-size: 2.2rem; font-weight: bold; }
.orari .box p { font-size: 1.4rem; }
.orari .box.no { opacity: 0.3 }
.orari .box:hover { border: 2px solid #339441 }
.orari .box.no:hover { border: 2px solid #fff }

.longline { width: 100%; height: 5px; margin: 1rem 0 2rem }
.topservice { padding: 4rem 0 3.5rem; margin-top: 2rem; position: relative; overflow: hidden; }
.topservice .bg { opacity: 0.5; width: 100%; height: 110%; object-fit: cover; object-position: center; filter: blur(8px); position: absolute; left: 0; top: -1rem; }
.topservice .container { position: relative; }
.topservice .breadcrumbs a { color: #fff }
.topservice .breadcrumbs a:last-child { font-weight: bold; }
.topservice .breadcrumbs img { width: 1.3rem; margin: 0 0.4rem; vertical-align: middle; }
.infoservizio { justify-content: space-between; margin: 5rem 0; }
.infoservizio .img { width: 50%; border-radius: 1rem; object-fit: cover; object-position: center; }
.infoservizio .txt { width: 48% }
.infoservizio .txt img { width: 10rem; margin-bottom: 1rem }
.infoservizio .txt .t2 { margin-bottom: 1rem }
.infoservizio .txt .txtcms p {}
.infoservizio .txt .txtcms, .txtcms li, .txtcms ul, .txtcms span  { line-height: 1.5; font-size: 1.6rem;}
.txtcms ul { margin: 2rem 0 2rem 1.35rem }
.txtcms li { list-style: square; }
.txtcms p { margin-bottom: 1.5rem; }
.infoservizio .txt .txtcms a { color: #339441; text-decoration: underline; }

.contatti .ctas { margin-top: 2rem }
.contatti .ctas .cta {align-items: center; padding: 1rem 1.5rem 1rem 1rem; margin-top: 1rem}
.contatti .ctas .cta img { margin: 0 1rem 0 0 }
.contatti .form { border: 5px solid #ddd; padding: 4rem; border-radius: 1rem; margin: 0 auto }

.form select { border:none; margin: 0 0 0 -3px; border-radius: 0; border-bottom: 1px solid #ccc; width: 100%; font-size: 1.5rem; padding: 1.5rem 0;
  -webkit-appearance: none; font-weight: 300; color: #707070;
  -moz-appearance: none;
  appearance: none;
  background: url(../img/down.svg) 100% / 13px no-repeat #fff;
}

.maps { margin-top: 6rem; width: 100%; height: 50rem; margin-bottom: -4px }

.card .img { width: 90%; max-width: 40rem; margin: 4rem auto 3rem }
.card .cta { margin-top: 3rem }

.farmacia #slide { text-align: left; width: 100%; max-width: 60rem; margin: 3rem auto }
.farmacia p { width: 100%; max-width: 80rem; margin: 0 auto }
.farmacia h2 { margin: 15px 0; font-size: 3.5rem; font-weight: lighter;}
.team { padding: 5rem 14% 3rem;  }
.team .flex { justify-content: center; }
.team .box { width: 27rem; margin: 0.5% 0.5% 3rem }
.team .box img { width: 24rem; height: 24rem; object-fit: cover; object-position: center; border-radius: 50%; border: 5px solid #fff; }
.team .box .t3 { margin: 1rem 0 0 }

.number { font-size: 20rem; font-weight: bold;}

/*style check box*/
.containercheck { text-align: left;
  margin-top: 3rem; 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: 0.2rem;
  border: 1px solid;
}

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

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

/* 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.2rem;
  width: 0.5rem;
  height: 1rem;
  border: solid white;
  border-width: 0 0.3rem 0.3rem 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

[type="radio"]:checked,
[type="radio"]:not(:checked) {
    position: absolute;
    left: -9999px;
}
[type="radio"]:checked + label,
[type="radio"]:not(:checked) + label
{
    position: relative;
    padding-left: 33px;
    cursor: pointer;
    line-height: 20px;
    display: flex; align-items: center; font-size: 1.4rem; margin-right: 2rem; margin-bottom: 2rem; /*border-right: 1px solid #444; padding-right: 1.5rem*/
}

[type="radio"]:checked + label:before,
[type="radio"]:not(:checked) + label:before {
    content: '';
    position: absolute;
    left: 0px;
    top: 0;
    width: 22px;
    height: 22px;
    border: 0;
    border-radius: 6px;
    background: transparent; border: 3px solid #D9000D;
}
[type="radio"]:checked + label:after,
[type="radio"]:not(:checked) + label:after {
    content: '';
    width: 22px;
    height: 22px;
    background: #D9000D;
    position: absolute;
    top: 3px;
    left: 3px;
    border-radius: 3px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
[type="radio"]:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
}
[type="radio"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.flatpickr-day {max-width: 100%!important;}
.dayContainer {width:100%!important; min-width: 100%!important; max-width: 100%!important;}
.flatpickr-days {width:100%!important;}
.flatpickr-weekdays {width:100%!important;}
.flatpickr-rContainer{width: 100%!important;}
.flatpickr-calendar {width:auto!important;}
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay
{background: #339441!important;border-color: #339441!important;}
@media (max-width: 1150px) {
html { font-size: 9px }
.blocchi .bl .title { top: 40% }
.t1 { font-size: 4rem }
}

@media (max-width: 1050px) {
header .menu { display: none; }
.header .flex { text-align: center; justify-content: center; }
.preheader .flex p { display: none; }
.preheader .wapp { position: fixed; top: 1rem; right: 6rem; z-index: 3 }
/*sidenav*/
.menuresponsive { display: block; z-index: 3; background-color: transparent; position: fixed; top: 1.3rem; right: 1.5rem; border-radius: 2px; padding: 5px 5px 2px }
.menuresponsive img { width: 3.5rem }
.sticky { background-color: #339441; height: 7rem }
.sticky .logo { margin-top: 0!important; background-image: url(../img/logofff.svg)!important; z-index: 3; width: 20rem!important; height: 5rem!important}
.sticky .flex.container { padding: 0.7rem 0; width: 100%; justify-content: flex-start; }
#mySidenav { display: block; z-index: 1000;}
.sidenav { height: 100%; width: 0; position: fixed; z-index:1; top: 0; right: 0; overflow-x: hidden; transition: 0.5s; }
.sidenav li a { padding: 0.5rem 0; text-decoration: none;font-size: 2.3rem; display: block;transition: 0.3s; }
.sidenav li a img { vertical-align: top; margin-top: 3px }
.sidenav .closebtn { background-color: #339441; width: 100%; display: flex; justify-content: flex-end; padding: 2rem; position: absolute; top: 0; right: 0; left: 0; margin: 0 auto; text-align: center;}
.sidenav .closebtn img { width: 4rem; height: 3rem }
.sidenav .logonav { width: 20rem; padding-bottom: 2rem }
.sidenav .flexnav { background-color: #fff; width: 100%; }
.sidenav .flexnav .bg { margin: 0 auto; padding: 10rem 0; width: 90%; min-height: 100vh; height: 100%; }
.sidenav .flexnav .bg .divblock { display: block; padding: 2rem 0; font-weight: lighter; }
.sidenav li { width: 100%; font-size: 1.8rem; text-align: left; padding: 1rem 0; border-bottom: 2px solid #ddd }
.sidenav li:last-child { border-bottom: 0 }
.sidenav a.active { color: #339441 }
.sidenav .cta { font-weight: lighter; margin-top: 2rem; width: 100%; justify-content: space-between; padding: 1rem 1.5rem 1rem 1rem; font-size: 2rem }
.sidenav .cta.n {font-size: 3rem}
.blocchi .bl { width: 100% }
.blocchi .bl .title { top: 50% }
.blocchi { margin: 0.5rem 0 0 }
.call, .call.wa { display: none; }
.call, .call.tell { display: none; }
.lafarm { background-color: #fff; flex-direction: column-reverse; padding: 0 }
.lafarm .txt { width: 100% }
.lafarm #slide { width: 100%; max-width: 80rem; height: auto; }
#slide img { height: auto; }
.servizi { padding: 2rem 0 6rem }
.containermobile { width: 100%!important; padding: 0; text-align: center; }
.banner { border-radius: 0; flex-direction: column;margin-bottom: 0 }
.banner img { width: 100%; max-width: 44rem; margin-top: 4rem }
.bannerinfo { overflow: hidden; border-radius: 0; margin-bottom: 0 }
.bannerinfo .croce { left: 0; right: 0; margin: 0 auto; opacity: 0.4 }
.t2 { line-height: 1.2; margin-bottom: 0.5rem }

#prenota .preheader .wapp { right: 0.5rem }
.datepicker {display: inline-block;}

.step { width: 100%; text-align: center; margin-top: 3rem; border-top: 2px solid #eee; padding: 2rem 0 0.5rem }

.booking { height: auto; min-height: auto }

.topservice { text-align: center; }
.infoservizio { justify-content: center; text-align: center; }
.infoservizio .img { width: 100%; max-width: 60rem }
.infoservizio .txt { width: 100%; margin: 4rem 0 0 }

.team { padding: 5rem 0 3rem; }
.txtcms ul { margin-left: 3rem }
.txtcms ul, .txtcms li { text-align: left; }
}

@media (max-width: 900px) {
.banner .txt { width: 100% }
.ctas .cta { margin-bottom: 1rem; font-size: 1.4rem; }
footer .flex .cl { width: 100%!important; text-align: center; margin: 2rem 0 }
footer .flex .cl .logo1 { display: none; }
footer .flex .cl .logo2 { display: inline-block; }
.booking { padding: 5rem 3rem }
.booking .content { padding: 3rem }
}

@media (max-width: 600px) {
html { font-size: 8.5px }
.servizi .bl { width: 19rem; }
.blocchi .bl { height: auto; flex-direction: column;}
.blocchi .bl .bg { position: relative; width: 100%; height: 50vw; }
.blocchi .bl .txt { position: relative; top: inherit; left: inherit; height: auto; width: 100%; border-radius: 0 0 1rem 1rem; }
.blocchi .bl .txt .title { position: relative; z-index: 1; top: inherit; margin-bottom: 1.5rem }
.blocchi .bl .txt p { width: 100%; text-align: center; }
.blocchi .bl .txt .cta { margin: 2rem auto 0 }
.t1 { line-height: 1 }
.blocchi .bl .t1 { width: 90% }
.booking { padding: 2rem 1rem }
.booking .t2 { margin-bottom: 1rem; font-size: 3rem }
.step .flex { margin-top: 1rem }
.orari .box { width: 13rem }
.orari .box .orario { margin-bottom: 0.6rem }
.orari .box p { line-height: 1 }
.breadcrumbs { margin-bottom: 0.6rem }
.contatti .form { padding: 1.5rem 2rem 2.5rem }
.fa { width: 20rem; padding: 0.6rem 0 }
.team .box { width: 25rem }
.team .box img { width: 22rem; height: 22rem }
.blocchi .bl .txt.bgblu1 {background-color: rgba(126,173,197,1);}
.blocchi .bl .txt.bgblu2 {background-color: rgba(47,133,209,1);}
.number { font-size: 22vw; margin-bottom: 1.5rem }
}

@media (max-width: 400px) {
}

