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

/*general*/
html {/* font-size: 62.5%*/ font-size: 10px; outline: none; }
body { font-family: "Lato", sans-serif; color: #161616; 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: #161616; 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: 146rem; margin: 0 auto; padding: 0 2%; width: 100%; }
button { color: #161616; font-size: 1.6rem; cursor: pointer; background-color: transparent; border: none; font-family: "Lato", sans-serif;}
input, textarea, select { font-size: 1.8rem; ; font-weight: 600; font-family: "Lato", 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}
.bgfff {background-color: #fff}
.bgg { background-color:#F7F7F7 }
.green { color:#93B832 }
.green2 { color:#0D4E4D }
.bggreen { background-color:#93B832 }
.bggreen2 { background-color:#0D4E4D }
.bgdark { background-color:#161616 }
.grey { color:#757485 }

/*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 }

.t50 { font-size:5rem; line-height:1.2; }
.t40 { font-size: 4rem; line-height:1.3 }
.t35 { font-size: 3.5rem; line-height:1.2 }
.t20 { font-size: 2rem; }
.t25 { font-size: 2.5rem; }
.t55 { font-size:5.5rem; line-height:1.2 }
.t65 { font-size:6.5rem; line-height:1 }
.t45 { font-size:4.5rem; line-height:1.2 }
.t18 { font-size: 1.8rem }
.t16 { font-size: 1.6rem }
.t14 { font-size: 1.4rem }

.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 }
.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 { transition: .6s; box-shadow: 0 3px 6px rgba(0, 0, 0, .16); display: inline-block; font-size: 1.6rem; font-weight: 700; padding:1.5rem 2.5rem; line-height: 1.4; border-radius:.3rem }
.cta:hover { opacity: .9; box-shadow: 0 3px 16px rgba(0, 0, 0, .3); }
.ctas { gap:2rem }
.ctaimg { gap:1rem; display:flex; align-items:center; }
.ctaimg img { margin-top:2px }

/*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:#93B832; 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: 1rem; padding-bottom:1rem }
header .container { align-items:center; justify-content:space-between; }
header .logo { transition: .5s; z-index: 1; width: 15.3rem; margin-right:6rem }
header .menu { align-items:center; }
header .menu li a { font-size: 1.6rem; font-weight: 600; padding: 0 2rem }
header .menu li a:hover { opacity:.7 }
header .menu li a.active { color:#93B832 }
header .social { gap:4rem; border-left:1px solid #323625; padding-left:4rem; margin-left:2rem }
header .menu-top { transition: .3s; padding: 2rem 0; align-items:center; justify-content:space-between; width:100% }
header .menu-box .menu { justify-content:flex-end; padding: .6rem 0 }
header .menu-box .menu a { text-transform:uppercase; padding: 0 0 0 3rem }

.sticky { background-color: #f7f7f7; 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; }
.sticky .header-top {  }
.hidden-sticky { height: 3.92rem }
.sticky .menu-top { padding:0 }

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

/*splide1*/
.slidehome { height: 85rem; position: relative; z-index: 3; width:100%; display:flex; align-items:center; justify-content:flex-start; }
.slidehome .splide { position: absolute; top: 50%; left: 46%; transform: translate(-3%, -44%)!important; width:54%; overflow:hidden; }
.slidehome .splide::before { z-index: 10; content:""; background: #F7F7F7; background: linear-gradient(90deg, rgba(247, 247, 247, 1) 0%, rgba(247, 247, 247, 0) 100%); width:6rem; height:100%; position:absolute; top:0; left:0 }
.slidehome .splide img { width:100%; object-fit:contain; }
/*.splide .my-arrows { position: absolute; top: 30%; width:100%; z-index: 3; margin: 0 auto; right: 1rem}
.splide .my-arrows button:focus {outline: none;}
.splide .my-prev { background-image:url(../img/prev.svg);  }
.splide .my-next { right: 0; position: absolute; background-image:url(../img/next.svg); }
.splide .my-prev, .splide .my-next { width: 6.5rem; height: 6.5rem; border-radius: .8rem; background-color: transparent; transition: .3s; opacity: 1; cursor: pointer; background-repeat:no-repeat; background-position: center;}
.splide .my-prev:hover , .splide .my-next:hover { opacity:1 }
.splide .my-prev svg, .splide .my-next svg { fill:transparent; }
.splide .splide__pagination { display: none; text-align: center; width: 100%!important; bottom: 3rem; height: 6rem; z-index: 1}*/
.splide .splide__track { width:100% }
.slidehome .splide .splide__track { overflow:visible; }
.slidehome .shape { position:absolute; object-fit: cover; height: 100%; object-position: top left; right:0; top:0; opacity:.1; width:42% }
.slidehome .txt { width:calc(120rem - 50%) }

.go-color{
  color:#93B832;
  display:inline-block;
  background:linear-gradient(to right, #93B832 50%, #161615 50%);
  background-size:200% 100%;
  background-position:100% 0;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.go-color.fff{
  color:#93B832;
  display:inline-block;
  background:linear-gradient(to right, #93B832 50%, #fff 50%);
  background-size:200% 100%;
  background-position:100% 0;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.pad { padding:8rem 0 }

.veicoli .flex { gap:2%; justify-content:center; align-items:flex-start; }
.veicoli .box { width:23%; margin-bottom:2%; border-radius:1rem }
.veicoli .box .img { object-fit: contain; height: 17rem; width:100%; padding:0 1rem }
.veicoli .box .t25 { padding:2rem 2rem 0 }
.veicoli .box .ckeditor { padding:0 2rem }
.veicoli .box:hover .cta { background-color:#0D4E4D }
.veicoli .box .ctaimg { justify-content:space-between; }

.why .icons { justify-content:center; align-items: flex-start; gap:4% }
.why .icons img { height: 14rem }
.why .icons .bx { position: relative; width:22% }
.why .icons.bx5 .bx { width:18% }
.why .bx::after { content:""; background: url("../img/line.svg") center / contain no-repeat; top: 7.7rem; left: 95%; position: absolute; width:27%; height:3px }
.why .bx:last-child::after { display:none; }

.servizi.bggra { background: #0D4E4C; background: linear-gradient(0deg, rgba(13, 78, 76, 1) 0%, rgba(147, 184, 50, 1) 100%); }
/* CARD */
.servizi .box{
    position:relative;
    overflow:hidden;
    width:31.5%;
    height:55rem;
}

/* FOTO */
.servizi .box .img{
    position:absolute;
    inset:0;
    width:100%;
    height:90%;
    object-fit:cover;
    transition:
        transform .8s cubic-bezier(.22,1,.36,1),
        scale .8s cubic-bezier(.22,1,.36,1);
}

/* BOX TESTO */
.servizi .box .txt{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    background:#fff;
    padding:3rem 2.5rem;
    z-index:2;

    transform:translateY(10%);
    transition:
        transform .7s cubic-bezier(.22,1,.36,1),
        padding .5s ease;
}

/* CONTENUTO NASCOSTO */
.servizi .box .hide{
    overflow:hidden;
    max-height:0;
    opacity:0;
    transform:translateY(2rem);

    transition:
        max-height .7s ease,
        opacity .45s ease,
        transform .7s cubic-bezier(.22,1,.36,1);
}

/* ---------- HOVER ---------- */

.servizi .box:hover .img{
    transform:translateY(-10%);
    scale:1.05;
}

.servizi .box:hover .txt{
    transform:translateY(0);
    padding:3rem 2.5rem 3.5rem;
}

.servizi .box:hover .hide{
    max-height:18rem;
    opacity:1;
    transform:translateY(0);
}

.servizi .box .date { display: flex; gap:1rem; align-items:center; }
.servizi .flex { gap:2.5%; justify-content:center; }

.img100 { width:100% }

.prefooter { padding:10rem 0 }
.prefooter .bg { position: absolute; top: 0; left: 0; background: #0D4E4C; background: linear-gradient(90deg, rgba(13, 78, 76, 1) 0%, rgba(147, 184, 50, 0.2) 100%); }
.prefooter .img { position:absolute; top:0; left:0 }
.prefooter .txt { flex-direction: column; display: flex; align-items: flex-start; width: 54rem }

footer .prodotto-cl { margin-bottom: 1rem; display:flex; width: 100%; flex-direction:column; line-height:2.2 }
footer .prodotto-cl .categoria { font-weight: 600; text-transform:uppercase; }
footer .prodotto-cl .prod::before { content:"•"; color:#FFE500; padding-right:.5rem }
footer a { font-weight: 600; line-height:2.2 }
footer a img { margin-right:1rem; vertical-align:middle; margin-top:-4px }
footer a:hover { color:#93B832!important }
footer { padding: 5rem 0 }
footer .logo img { width:15rem }
footer .cl { max-width:30rem }
footer .credits { color: #757485; padding:3rem 0 0; margin-top: 4rem; border-top: 1px solid #ECECEC; }
footer .credits a { color: #757485 }
footer .clflex { justify-content:space-between; flex-wrap:nowrap; gap:4% }
footer a.flex { align-items:center; flex-wrap: nowrap;}
footer .logo { margin-bottom:3.4rem }
.grey2 { color:#C0C0BF }

/*#pages*/
.ckeditor { font-size:1.6rem;}
.ckeditor h1,.ckeditor h2,.ckeditor h3,.ckeditor h4, .ckeditor h5, .ckeditor h6 { font-weight: 800; font-size:3rem; color:#0d4e4d ; margin:3rem 0 2rem }
.ckeditor a { color:#93B832; text-decoration:underline; font-weight:600 }
.ckeditor ul, .ckeditor ol { margin:1rem 0 1rem 1rem }
.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/check.svg'); width: 2.5rem; height: 1.9rem; position:absolute; left:.7rem; top:50%; transform:translate(-50%, -50%); }
.ckeditor li b { font-size:2rem; display:block; }
.ckeditor ol li::before { display:none; }
.ckeditor ol li { list-style:decimal; padding-left: 0; margin-left: 2rem; }
.ckeditor ol li::marker { color: #93B832; 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 { padding:6rem 2rem; margin:0 0 8rem; }
.contact_form2 .content { max-width:100rem; width: 90%; margin:0 auto; border-radius: 2rem; 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: 1px; margin-bottom: 2rem; border:1px solid rgba(255, 255, 255, .25); width:100%; background-color:rgba(0, 0, 0, .06); border-radius:5px; padding:1.5rem; color:#fff }
.form2::placeholder { color:#fff }
::placeholder { color:#fff; 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; color: #fff; 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; }

/*pages*/
.page header { position:relative; background-color:#F7F7F7; box-shadow: 0 3px 15px rgba(0, 0, 0, .16); }
.main-page::after { content:""; background-image:url(../img/tri.svg); background-size: cover; width: 2.8rem; height: 1.8rem; position:absolute; bottom:-1.8rem; left:0; right:0; margin:0 auto; }
.page .hidden-sticky { height:11.24rem }

.txt-img {align-items: flex-end; gap: 2%}
.txt-img .txt, .txt-img .img { width:49% }

.news { padding:0 0 10rem }
#news .image { height:35rem; position:relative; width:100%; }
#news .image .cta { position:absolute; bottom:2rem; right:2rem }
#news .image img { transition:.3s }
#news .box:hover .cta { background-color:#0D4E4D }
#news .box:hover img { opacity:0.8 }
#news .desc { padding:3rem 4rem }
#news .desc .t30 { line-height:1.3 }
#news.risorse .desc {
  padding: 1rem 4rem 3rem;
  text-align: center;
  width: 100%;
}
#news.risorse .box { margin-bottom:2rem }
#news.risorse .image img { border-radius: 0 }

.blog-page { gap:2% }
.blog-page .box { width:32%; margin-bottom:2% }

.percorso {font-size: 1.6rem;display: flex; align-items: center; gap: 5px}
.percorso a { color:#fff }
.percorso a:last-child { color:#93B832 }

.dett-blog .data img {width: 1.5rem}
.dett-blog .data { display:inline-flex; gap: 5px; align-items: center;}
.dett-blog .img-blog { float:right; width:38%; margin:0 0 2rem 3rem; }
.dett-blog .bgg { padding:3rem }

/*filtri*/
#da-TBWrap { width: 100%; text-align: center; padding: 8rem 0 4rem; }
#da-TBWrap img { height: auto; }
.controls { padding: .5rem; border-radius: 1rem; border: 2px solid #EEEFEF; display: inline-flex; gap: .5rem; text-align: center; margin: 0 auto 6rem; }
label { font-weight: 300; margin: 0 .4em 0 0; }
#da-TBWrap button { background-color: #F7F7F7; color: #555555; display: inline-block; padding: 2rem 3rem; min-width: 15rem; 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: #93B832; 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; width: 100%; }
.container-filter .mix { text-align: left; background: #FFF; display: none; padding: 10px; }
.container-filter .mix:after { content: attr(data-myorder); color: #fff; font-size: 16px; display: inline-block; vertical-align: bottom; padding: 0 6%; font-weight: 700; }
.container-filter .mix { content: ''; display: none; padding: 0; text-align: center; }
.container-filter .mix,
.container-filter .gap { vertical-align: top; }

.filtri .box { width: 100%; padding: .5rem; margin-bottom: 2rem; display: flex; border:2px solid #EEEFEF; border-radius:1rem }
.filtri .details img { width:2rem }
.filtri .details { width: 100%; border-top: 1px solid #EEEFEF; padding-top:2rem; margin-top:2rem }
.filtri .details p { display:flex; align-items:center; gap:1rem }
.filtri .img { display: flex; text-align: center; justify-content: center; text-align: center; padding: 2rem; width:50%; background-color:#F2F3F5; border-radius:1rem; overflow:hidden; }
.filtri .img img { object-fit: contain; width:90% }
.filtri .txt { flex-direction: column; align-items: flex-start; width:50%; padding: 3rem; text-align:left; }
.filtri .price { background-color:#F7F7F7; border-radius:1rem; padding:1rem 2rem; margin-top:2rem; }
.t28 { font-size:2.8rem }
.filtri .tag { z-index: 2; color: #fff; font-weight: 600; background-color: #555555; position:absolute; top:2rem; left:0; border-radius: 0 2px 2px 0; padding:.6rem 1.4rem }
.filtri .tag.available { background-color:#93B832 }

.filtri.service { padding-top:8rem }
.filtri.service .img { display: flex; flex-direction: column; width:35% }
.filtri.service .box { margin-bottom:4rem }
.filtri.service .img img { width:100%; height: 100%; border-radius: 1rem; margin-bottom: 2rem; object-fit:cover; }
.filtri.service .img .parag { text-align: left; width: 100%; padding: 2rem; font-style: italic; border-radius:1rem; background-color:rgba(255, 255, 255, .95); }
.filtri.service .txt { width:65%; background-color:#F2F3F5; margin-left:.5rem; border-radius:1rem }

.txt-form .txt { width:35%; margin-right:5% }
.txt-form .txt p, .txt-form .txt a { font-size:1.8rem }
.txt-form .txt p { padding-bottom:1rem; margin-bottom: 1rem; border-bottom:2px solid #eee; }
.txt-form .contact_form2 .content { background-color: #0d4e4d; max-width:100%; width:100%; }
.txt-form .contact_form2 { width: 60%; padding:0; margin: 0; background-color:transparent; }

.accordion { border-radius: .5rem; border: 1px solid #ddd; border-bottom: 0; position: relative; width:100%; text-align:left; }
.accordion .btnmore { left: 0; top: 0; width: 100%; position: absolute; height: 5rem; cursor: pointer; }
.accordion .showhidenew img { margin: 0; transition: 1s; width: 2rem; height: 2rem; position: absolute; right: 1rem; top: 1.2rem}
.accordion .tit { width: calc(100% - 4rem); padding:1rem }
.accordion .text_opennew { border-top: 1px solid #ddd; padding:1rem }
.accordion-content { padding:4rem; border-radius:2rem }
.tit-img { display:flex; align-items:center; }
.tit-img img { width:5.5rem; height: 5.5rem; margin-right:1rem }

.accordions .accordion:last-child { border-bottom: 1px solid #ddd }

.error .n { font-size:24rem; font-weight:300 }
.error .ctaimg { display:inline-flex; }

/*-------------------------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: 1300px) {
html { font-size:9.5px }
.slidehome .txt { width: calc(112rem - 50%); }
}

@media (max-width: 1200px) {
.slidehome .txt { text-align: center; width:100%; margin-bottom:5rem }
.slidehome .txt .ctas { align-items:center; justify-content:center; }
.slidehome .splide { transform: translate(0)!important; position:relative; width:50%; margin: 0 auto; top:inherit; left:inherit; }
.slidehome { padding: 18rem 0 6rem; height: auto; flex-direction:column-reverse; }
.slidehome .shape { height: 50%; object-position: bottom left; right: -26rem; width: 64%;}
}

@media (max-width: 1024px) {
/*sidenav*/
header { z-index: 10; display:flex; align-items:center; justify-content:space-between; }
header .menu { display: none; }
header .menu-top .cta { display:none; }

.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:1; 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 { margin:2rem 0; padding-bottom: 2rem; border-bottom:1px solid #ECECEC; }
#mySidenav .bg ul { text-align:left; }
#mySidenav .lang { padding-left:0; border:0 }
#mySidenav .bg a.active { color:#93B832 }

.veicoli .box { width:49% }

.servizi .box .hide { max-height:inherit; opacity:1; transform:inherit; }
.servizi .box .txt { transform:inherit; }
.servizi .box:hover .txt { padding:3rem 2.5rem }

footer .clflex { flex-wrap:wrap; }
footer .cl { max-width:100%; width:100%; margin-bottom:3rem }
footer .cl:nth-child(2) { display:none; }
footer .cl:last-child { margin-bottom:0 }
footer .logo { margin-bottom:2rem }
footer .grey2.mb2 { margin-bottom:1rem }

.filtri.service .box { flex-direction:column-reverse; }
.filtri.service .box .txt { margin: 0; width:100% }
.filtri.service .box .img { margin-top: .5rem; gap: 2rem; width:100%; flex-direction:row; }
.filtri.service .img img { margin:0 }

.txt-img .txt, .txt-img .img { width:100% }
.txt-img .img { margin-top:2rem }

#news .desc { padding:2rem }
.blog-page .box { width:49% }
}

@media (max-width: 768px) {
html { font-size:9px }
.container { padding: 0 4% }

.why .icons .bx, .why .icons.bx5 .bx { width:48%; margin-bottom:4rem }
.why .icons .bx:last-child { margin-bottom:0!important }
.why .shape, .txt-img .txt-box .shape, .bgpage .sfuma { display:none; }

.servizi .box { height: auto; width:100% }
.servizi .flex { flex-direction:column; gap:4rem }
.servizi .box .img { transition: inherit; position:relative; height:auto; }
.servizi .box:hover .img { transform: inherit; scale:1 }
.servizi .box .txt { position:relative; margin-top:-2rem }

.why .bx::after { display:none; }

.prefooter .txt { text-align:center; width:100%; align-items:center; }

.slidehome .splide { width:80% }

.filtri .box { flex-direction:column; }
.filtri .img { width:100% }
.filtri .txt { width:100%; margin-top:.5rem }
.controls { width:100%; margin-bottom:4rem }
#da-TBWrap button { min-width:auto; width: calc(33.33% - .15rem); }

.filtri.service .box .img { flex-direction:column; }

.dett-blog .img-blog { float:none; width:100%; margin: 0 0 2.5rem}

.txt-form .txt { width:100%; margin-right: 0; margin-bottom:4rem }
.txt-form .contact_form2 { width:100% }
.accordion-content { padding:2rem }
}

@media (max-width: 600px){
.why .icons .bx, .why .icons.bx5 .bx { width:100%; text-align:center; margin-bottom:5rem }
.t50 { font-size:4rem }

.slidehome { padding: 14rem 0 6rem; flex-direction:column; }
.slidehome .splide { width:100% } 
.slidehome .splide::before { display:none; }
.slidehome .txt { margin:1rem 0 0 }

 .slidehome .shape {
    height: 30rem;
    object-position: bottom left;
    right: -7rem;
    width: 100%;
  }
.slidehome .txt .ctas { flex-direction:column; }
.slidehome .txt .ctas .cta { width:100%; }
.slidehome .txt .ctas .ctaimg { justify-content:center; }
.veicoli .box { width:100%; margin-bottom:4rem }

.filtri .txt { padding:2rem }
#da-TBWrap button { padding:1.5rem}

.page header .header-top { padding-top:0; padding-bottom:0 }
.page .sticky { padding:1.4rem 0px 1rem }

.contact_form2 .content, .form2 .cl50 { width:100% }
.contact_form2 .content { padding: 2rem }
.contact_form2 { padding:4rem 2rem }

.filtri.service, .dett-blog.pad { padding-top:6rem }
.dett-blog .bgg { padding:2rem }

.ckeditor li::before { top:10px }

.blog-page .box { width:100%; margin-bottom:4rem }

.page header .header-top .logo { margin-bottom:-2px; margin-top:2px; }

.error .n { font-size:30vw }
}

@media (max-width: 400px){

}

/*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; }
}
