* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
/*general*/
html {/* font-size: 62.5%*/ font-size: 10px; outline: none; }
body { font-family: "Poppins", sans-serif; color: #161615; font-weight: 400; background-color: #F6F8FA; }
.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: #161615; 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: 135rem; margin: 0 auto; padding: 0 2%; width: 100%; }
button { color: #161615; font-size: 1.6rem; cursor: pointer; background-color: transparent; border: none; font-family: "Poppins", sans-serif;}
input, textarea, select { font-size: 1.8rem; ; font-weight: 600; font-family: "Poppins", 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}
.green { color:#227D26 }
.bggreen { background-color:#227D26 }
.bglg { background-color:#EBF1F1 }
.g2 { color:#BEDEBE }
.bgdark { background-color:#161615 }

.bgs { background: #227D26; background: linear-gradient(-90deg, rgba(34, 125, 38, 1) 0%, rgba(15, 78, 17, 1) 100%); }

/*fontsize*/
.w300 { font-weight:300 }
.w400 { font-weight:400 }
.w500 { font-weight:500 }
.w600 { font-weight:600 }
.w700 { font-weight:700 }

.t50 { font-size:5rem; line-height:1.3; }
.t40 { font-size: 4rem; line-height:1.3 }
.t35 { font-size: 3.5rem; line-height:1.4 }
.t20 { font-size: 2rem; }
.t22 { font-size: 2.2rem; }
.t55 { font-size:5.5rem; line-height:1.2 }
.t66 { font-size:6.6rem; line-height:1.2 }
.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 }
.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; }

.br { border-radius: 2rem }

.cta { transition: .6s; display: inline-block; font-size: 1.6rem; font-weight: 600; padding:1.2rem 2.5rem!important; line-height: 1.4; border-radius:20rem }
.cta.bggreen2 { background-color: rgba(34, 125, 28, .11); border: 1px solid #227D26; }
.cta.bggreen:hover { box-shadow: 0 3px 6px rgba(0, 0, 0, .16); background-color:#fff; color:#227D26 }
.cta.bggreen2:hover { box-shadow: 0 3px 6px rgba(0, 0, 0, .16); background-color: rgba(34, 125, 28, 1); color:#fff }

/*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: 400rem; 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:#227D26; border: 1px solid #BEDEBE; padding:2rem 1.5rem; border-radius:.5rem }
.back-to-top:hover {cursor: pointer; }

#scrolling { position: relative; z-index:30 }
header { transition: 1s; box-shadow: 0 3px 10px rgba(0, 0, 0, .16); padding: 2rem 0; border-radius: 0 0 10rem 10rem; transition: .3s; background: #ECF2F2; background: linear-gradient(90deg, rgba(236, 242, 242, 1) 0%, rgba(207, 211, 212, 1) 53%, rgba(228, 237, 237, 1) 100%); position: absolute; max-width: 300rem; width: 100%; right: 0; margin: 0 auto; top: 0; left: 0; z-index: 1; }
header .container { align-items:center; justify-content:space-between; }
header .logo { transition: .3s; z-index: 1; width: 20rem; }
header .menu { align-items:center; }
header .menu li a { font-size: 1.5rem; font-weight: 400; padding: 1rem 1.2rem }
header .menu li a:hover { color:#227D26 }
header .menu li a.active { font-weight:600; background-color:rgba(34, 125, 28, .11); border-radius:20rem; border:1px solid #227D26; }
header .menu li a.cta { color:#fff; background-color:#312783; }
header .dropdown-content { display: none; position: absolute; min-width: 30rem; z-index: 3; left: 0; padding-top: 1rem}
header .dropdown-content .bg { box-shadow: 0 3px 6px rgba(0, 0, 0, .16); padding: 1.5rem 2.2rem; background-color: #EBF1F1; border-radius: 2rem; }
header .dropdown-content a { transition: .2s; padding:0!important; display:block; }
header .dropdown-content a:hover { color:#227D26; font-weight:600; margin-left:.5rem }

header .dropdown-content p { font-size: 1.6rem; font-weight: 700; border-bottom: 1px solid rgba(112, 112, 112, .5); padding-bottom: .5rem; margin-bottom: .5rem}
.dropdown { position: relative; cursor: pointer; color: #003C79; }
.dropdown img { vertical-align: middle; margin-top:-2px }
.dropdown .dropbtn { display: flex; align-items: center; }
.dropdown .down { width: 1rem }
.dropdown:hover .dropdown-content {display: block;}

.sticky { transition: 0.3s; position: fixed!important; top: 0; left: 0; z-index: 30; width: 100%; max-width: 300rem; margin: 0 auto; }
.sticky header { background:#fff; }
.hidden-sticky { height: 0 }

.lang { flex-direction: column; border-left: 1px solid #666; margin-left: .5rem; padding-left: 2rem; display:flex; align-items:center; gap:1rem }
.lang img { width:3rem; opacity:.5 }
.lang .active img, .lang img:hover { opacity:1 }
.lang a { display:flex; }

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

/*splide1*/
.slidehome { width:100%; height:100vh; display:flex; align-items:center; justify-content:center; }
.slidehome .splide { position: absolute; top: 0; left: 0; width:100%; height:100vh }
.splide .my-arrows { position: absolute; bottom: 5.5rem; width:15.5rem; z-index: 3; margin: 0 auto; right: 2rem}
.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}
.slidehome .splide img { width:100%; min-height:50rem; height:100vh }
.splide .splide__track { width:100% }
.slidehome .icon-bg { overflow: hidden; position:absolute; width: 50%; bottom:0; right:0; height:calc(100% - 8rem); opacity:.2 }
.slidehome .icon-bg img { height: 100%; object-position: top left; object-fit: cover; }
.slidehome .main-txt { margin-top: 5rem; width: 65rem; z-index: 2; position:relative; }
.slidehome .bg { opacity: .6; z-index: 1; height: 100%; position: absolute; width: 70%; left: 0; top: 0; background: #161615;
background: linear-gradient(90deg, rgba(22, 22, 21, 1) 0%, rgba(34, 125, 38, 0) 100%); }

.go-color{
  color:#161615;
  display:inline-block;
  background:linear-gradient(to right, #227D26 50%, #161615 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 }

.img-txt { padding: 10rem 0 8rem }
.img-txt .imgs { width: 50% }
.img-txt .imgs img { max-width:60%; border-radius:2rem }
.img-txt .imgs img:last-child { position:absolute; right:0; top:5.5rem; box-shadow: 0 3px 6px rgba(0, 0, 0, .16); }
.img-txt .txt { max-width: 46rem; margin-left:5% }

.settori { padding:6rem 0; margin:8rem 0 }
.settori .bg-color { top: 0; left: 0; position: absolute; width: 100%; height:50%; background: #E5F0E5; background: linear-gradient(90deg, rgba(229, 240, 229, 1) 0%, rgba(235, 241, 241, 1) 100%); }
.settori .txt { justify-content:space-between; }
.settori .txt .t40, .settori .txt p { width:48% }
#settori .image { width:100%; border-radius: 2rem; height: 20vw; object-fit:cover; display:block; overflow:hidden; }
#settori .image .cta { position:absolute; bottom:2rem; right:2rem }
#settori .image img { transition:.3s }
#settori .box:hover .image img { transform:scale(1.05); }
#settori .tit { display: flex; flex-wrap: nowrap; align-items: center; transition:.3s; gap:1rem }
#settori .tit h3 { font-size:2rem }
#settori .tit img { width: 2rem;}
#settori .box:hover .tit { padding-left:1rem }

.controllo { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:50vh }
.container .controllo { min-height:auto }
.controllo .img { object-fit: cover; position:absolute; width:50%; right:0; top:0; height:100% }
.controllo .txt { width:45% }
.controllo .sfuma { background: #EBF1F1; background: linear-gradient(90deg, rgba(235, 241, 241, 1) 0%, rgba(235, 241, 241, 0) 100%); z-index: 2; height:100%; position:absolute; width:20rem; left:50%; top:0 }
.controllo span.br { display:block; }
.cert .imgs { gap:2rem }
.cert .imgs img { width: 20rem; border-radius:2rem; border:1px solid #D4D9D9; }
.cert .icon { object-fit: cover; object-position: center right; position:absolute; top:0; left:0; width:35%; height:100% }
.cert .t40 { width:45% }
.cert .txt { width:50% }
.cert .container.flex { justify-content:space-between; }

.prefooter { background: #EBF1F1; background: linear-gradient(90deg, rgba(235, 241, 241, 1) 0%, rgba(207, 211, 212, 1) 100%); border-radius: 0 50rem 0 0 }
.mw60 { max-width: 60rem; margin:0 auto; }

footer { background: #227D26; background: linear-gradient(-90deg, rgba(34, 125, 38, 1) 0%, rgba(15, 78, 17, 1) 100%); }
footer p, footer a { font-size:1.4rem; }
footer a { color:#fff }
footer a:hover { color:#BEDEBE }
footer { padding: 5rem 0 4rem; }
footer .credits { color: #fff; padding:3rem 0 0; margin-top: 4rem; border-top: 1px solid rgba(255, 255, 255, .3); }
footer .clflex { justify-content:space-between; flex-wrap:nowrap; }
footer a.flex { align-items:center; flex-wrap: nowrap;}
footer a.flex img { margin-right:1rem }
footer .logo { margin-bottom:3.4rem }
footer .cl:last-child a { display:flex; align-items:center; gap:5px }

/*#pages*/
.ckeditor { font-size:1.6rem;}
.ckeditor h1,.ckeditor h2,.ckeditor h3,.ckeditor h4, .ckeditor h5, .ckeditor h6 { color: #227D26; font-weight: 600; font-size:3.5rem; margin-bottom:1rem }
.ckeditor a { color:#227D26; text-decoration:underline; font-weight:500 }
.ckeditor ul { margin:1rem 0 }
.ckeditor li { position:relative; padding-left:1.5rem; font-weight:600 }
.ckeditor li::before { content:url('../img/list.svg'); width: 2.7rem; position:absolute; left:0; top:0 }
.ckeditor ol li::before { display:none; }
.ckeditor ol li { list-style:decimal; padding-left: 1rem; margin-left: 3rem; }
.ckeditor ol li::marker { color: #614DFF; font-weight: bold; font-size: 2rem; }

.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 0; margin:0; }
.contact_form2 .content { max-width:100rem; width: 90%; margin:0 auto; border-radius: 2rem; border:1px solid rgba(255, 255, 255, .25); padding:3rem }
.form2 input, .form2 textarea, .form2 select { font-weight: 500; font-size: 1.6rem; margin-bottom: 2rem; border: 0; width:100%; background-color:#fff; border-radius:5px; padding:1.5rem; }
.form2::placeholder { color:#161615; opacity:0.6 }
::placeholder { color:#161615; opacity:0.6 }
.form2 .cl50 { width:49% }
.form2 .cl33 { width:32% }
.form2 .sb { justify-content:space-between; }
.form2 .inputs { justify-content:space-between; }
.voce p { font-size:1.8rem; font-weight: 500; letter-spacing :1px; margin-bottom:0.8rem }

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

/*pagine*/
.main-page { display: flex; align-items: center; justify-content: center; min-height:50vh; }
.main-page .img { left: 0; position:absolute; height:100%; width:50%; }
.main-page .sfuma { background: #EBF1F1; background: linear-gradient(-90deg, rgba(235, 241, 241, 1) 0%, rgba(235, 241, 241, 0) 100%); z-index: 2; height:100%; position:absolute; width:20rem; right:50%; top:0 }
.main-page .bg { opacity: .6; z-index: 1; height: 100%; position: absolute; width: 40%; left: 0; top: 0; background: #161615;
background: linear-gradient(90deg, rgba(22, 22, 21, 1) 0%, rgba(34, 125, 38, 0) 100%); }
.main-page .flex { align-items: center; z-index: 2; margin-top: 10rem; padding-top: 10rem; padding-bottom: 10rem; height: 100%; justify-content:space-between; }
.main-page .tit { width:46% }
.main-page .tit h1 { text-shadow: 0 3px 10px rgba(0, 0, 0, .16); }
.main-page .txt { width:46% }

.sec-txt { margin: 4rem 0; padding:4rem; border-radius:2rem }

.pad2 { padding:4rem 0 }

.page .settori .txt.pr p { display:none; }
.page .settori .bg-color { display:none; }
.page .settori { margin:0; padding:0 0 8rem }

.prefoo .sfuma { background: #EBF1F1; background: linear-gradient(90deg, rgba(235, 241, 241, 1) 0%, rgba(235, 241, 241, 0) 100%); z-index: 2; height:100%; position:absolute; width:20rem; left:50%; top:0 }
.prefoo .img { right: 0; top: 0; position:absolute; height:100%; width:50%; }
.prefoo .txt { width:46%; padding:10rem 0 }

.settori-box .boxes { gap:2% }
.settori-box .box { margin: 1% 0; transition: 1s; width: 23.5%; padding: 2rem; border-radius: 2rem; flex-direction:column; }
.settori-box .box .img { margin-bottom: 2rem; width: 100%; height:20vh; border-radius:2rem; overflow:hidden; }
.settori-box .box .scopri, .settori-box .box .img img { transition: .3s; font-weight:600; font-size:1.4rem }
.settori-box .box .scopri img { width:1.3rem; vertical-align: middle; margin-top: -2px; }
.settori-box .box:hover .scopri { color:#227D26; margin-left:1rem}
.settori-box .box.bggreen:hover .scopri { color:#fff; opacity:.6 }
.settori-box .box:hover { box-shadow: 3px 5px 10px rgba(0, 0, 0, .16); }
.settori-box .box:hover .img img { transform:scale(1.05); }

.breadcrumbs { margin-top:4rem; font-size:1.4rem; color:#ccc }
.breadcrumbs a { font-size:1.4rem; color:#666 }
.breadcrumbs a:last-child { font-weight:600; color:#227D26 }
.breadcrumbs a:hover { color:#161615 }

.prodotto .sec-txt { background-color:#227D26; color:#fff }
.prodotto .ckeditor h1,.prodotto .ckeditor h2,.prodotto .ckeditor h3,.prodotto .ckeditor h4, .prodotto .ckeditor h5, .prodotto .ckeditor h6 { color: #fff; }
.prodotto .ckeditor li::before { content: url('../img/list_fff.svg'); }

.main-page2 { height:35rem; display:flex; align-items:center; justify-content:flex-start; }
.main-page2 .img { position:absolute; height:100%; width: 50%; object-position: top left; right:0; bottom:0 }
.main-page2 .tit { padding-top:8rem }
.blog.settori-box .box { padding: 0; width:31.33%; margin:0 0 3% }
.blog.settori-box .bx2 .box { width:48.5% }
.blog.settori-box .boxes { gap: 3% }
.blog.settori-box .box .txt { padding:2rem }
.blog.settori-box .box .img { margin-bottom:0; border-radius: 2rem 2rem 0 0 }
.settori-box .box .t20 { font-weight:600 }
.settori-box .box .cert-img { width:18rem; margin: 1rem 0 1.5rem; border-radius:1rem }

.dett-blog { margin-top:3.5rem; border-radius: 2rem; padding:4rem }
.dett-blog .img { margin: 0 0 4rem 4rem; float:right; width:40%; border-radius:2rem }

#settori.blog.settori-box .box { width:100% }
#settori.blog.settori-box .box .t20 { line-height:1.5 }

#settori .tit h3 { line-height:1.4 }

.img-txt.rev { flex-direction:row-reverse; }
.img-txt.rev .txt { margin:0 5% 0 0; max-width:45% }
 
.valori { padding:4rem 0 8rem }
.valori img { margin-bottom:1rem }
.valori .bx { width:23.5%; border-radius:2rem; padding:3rem }
.valori .flex { gap: 2%; justify-content:center; }

.prefooter .t50 { max-width:80rem; margin:0 auto 2rem; }

.risorse .bx { border-left: 1rem solid #227D26; border-radius: 0 2rem 2rem 0; min-height:20vh; display:flex; align-items:flex-start; justify-content:center; flex-direction:column; }

.error .tit { width:100%; }
.error { height:100vh!important }
.error p { font-size:30rem }

@media (max-width: 1400px) {
html { font-size:9.5px }
}

@media (max-width: 1200px) {
/*sidenav*/
header { z-index: 10; border-radius: 0 0 5rem 5rem; padding: 2rem 1%; display:flex; align-items:center; justify-content:space-between; }
header .logo-resp { transition: .3s; display:block; position:relative; width:20rem }
header .menu { display: none; }
header .bggra { height:37rem }
.sticky header { border-radius:0; padding:1rem 1% }

.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 { width:0; opacity:.4; height:100vh; overflow: hidden; position:absolute; right:0 }
#mySidenav .bg { background: #227D26; background: linear-gradient(-90deg, rgba(34, 125, 38, 1) 0%, rgba(15, 78, 17, 1) 100%); overflow-y: scroll; width: 100%; margin: 0; height:100vh; padding:8rem 4rem }
#mySidenav .bg a, #mySidenav .bg p { font-size: 1.8rem; color:#fff; font-weight: 600; text-transform:uppercase; }
#mySidenav .closebtn { position: absolute; top: 3rem; right: 3rem; text-align: right; margin:0; }
#mySidenav .bg .lang { align-items: flex-start; border-bottom:1px solid rgba(225, 225, 225, .2); padding-bottom:2rem; margin-bottom:2rem }
#mySidenav .bg .lang .list img { margin:.5rem .5rem 0 0; height:2rem; opacity:.4 }
#mySidenav .bg .lang .list .active img { opacity:1 }
#mySidenav .bg li { margin:2rem 0; padding-bottom: 2rem; border-bottom:2px solid rgba(255, 255, 255, .1); }
#mySidenav .lang { padding-left:0; border:0 }

.accordion { border-bottom:2px solid rgba(255, 255, 255, .1); position: relative; width:100%; text-align:left; }
.accordion li { border:0!important; padding-bottom:0!important }
.accordion .btnmore { left: 0; top: 0; margin-left: 50%; width: 50%; position: absolute; height: 3.5rem; cursor: pointer; }
.accordion .text_opennew { margin:-2rem 0 1rem }
.accordion .showhidenew img { margin: 0; transition: 1s; width: 1.8rem; position: absolute; right: 0; top: 0.8rem}
.accordion .text_opennew a { color: #BEDEBE!important; text-transform: none!important; font-weight: 400!important; display:block; }

.img-txt .txt { max-width:45% }
.prefooter { border-radius: 0 20rem 0 0 }

#settori .image { height:39vw }

.settori-box .box .img { height:18vh }

}

@media (max-width: 1024px) {
.main-page { display:block; }
.main-page .img { width:100%; height:50vh; top:0 }
.main-page .tit { padding-top: 5rem; height:50vh; width:100%; display:flex; flex-direction:column; justify-content:center; }
.main-page .bg { height:50vh; width:70% }
.main-page .sfuma { display:none; }
.main-page .txt { width:100%; padding:6rem 0 }
.main-page .flex { padding-top:0; padding-bottom:0; margin:0 }
.sec-txt { padding:3rem }
.pad2 { padding-top:2rem }
.sec-txt { margin: 3rem 0 }
.prefoo .txt { width:100%; text-align:center; }
.prefoo .img { width:100%; position:relative; height:50vh; margin-bottom:-5px }
.prefoo .sfuma { display:none; }

.settori-box .box { width:32% }

.blog.settori-box .box { width:48% }

.valori .bx { width:48.5%; margin-bottom:2% }
}

@media (max-width: 768px) {
html { font-size:9px }
.slidehome { background-color: #EBF1F1; height:auto; flex-direction:column; }
.slidehome .main-txt { text-align: center; display: flex; align-items: center; justify-content: center; flex-direction: column; width:100%; height:50vh; margin-top:0 }
.slidehome .main-txt .t50 { margin-top: 7rem; font-size: 4rem; color:#161615 }
.slidehome .main-txt p { color:#161615 }
.slidehome .main-txt .t20 { color:#227D26 }
.slidehome .bg { display:none; }
.slidehome .splide { height:50vh; position:relative; }
.slidehome .splide img { width:100%; min-height:auto; height:50vh }
.slidehome .icon-bg { height:50vh; width: 50% }
.img-txt { flex-direction:column-reverse; }
.img-txt .txt { max-width:100%; margin: 0; }
.img-txt .imgs { width:100%; margin-top:4rem }
.container { padding: 0 6% }
.settori .txt { flex-direction:column; gap:2rem }
.settori .txt .t40, .settori .txt p { width:100% }
#settori { padding-left: 4% }
.controllo { padding: 6rem 0 0!important }
.controllo .txt { width:100% }
.controllo .img { width:100%; margin: 6rem 0 -2px; position:relative; }
.controllo .sfuma, .cert .icon { display:none; }
.cert .t40 { width:100%; margin-bottom:2rem }
.cert .txt { width:100% }
.prefooter { text-align:left; }
.mw60 { max-width:100% }
footer .cl { width:100%; margin-bottom:2rem }
footer .clflex { flex-direction:column; }
footer .cl:nth-child(2), footer .cl:nth-child(3) { display:none; }

.t50 { font-size:3.5rem }
.ckeditor h1, .ckeditor h2, .ckeditor h3, .ckeditor h4, .ckeditor h5, .ckeditor h6 { font-size:3rem; line-height:1.3 }

.settori-box .box { width:48.5%; margin:2% 0 }
.settori-box .boxes { gap: 3% }

.pad { padding:6rem 0 }

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

.img-txt.rev { flex-direction:column-reverse; }
.img-txt.rev .txt {max-width:100% }
.valori { padding:8rem 0 6rem }
.valori .bx { width:100%; margin-bottom:2rem; padding:3rem 2rem }

.error p { font-size:30vw }

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

@media (max-width: 500px){
.slidehome .main-txt { height:60vh; text-align:left; align-items:flex-start; }
.slidehome .splide img, .slidehome .splide { height:40vh }
.slidehome .icon-bg { display:none; }
.slidehome .main-txt .t50 { font-size: 7vw!important }
header .logo { width:16rem }
header { border-radius:0 0 3rem 3rem; padding:2rem 2% }
.menuresponsive img { width:2.7rem; margin-top:2px }
.splide .my-prev, .splide .my-next { height:5rem; width:5rem }
.splide .my-arrows { width:12.5rem; bottom:4.5rem }
.t40, .t50 { font-size:3rem }
.t20 { font-size:1.8rem }
.prefooter { padding: 7rem 0; border-radius: 0 10rem 0 0 }
footer .credits { margin-top:2rem }
footer .credits p { width:80% }
#mySidenav .bg { padding:8rem 3rem }
#settori .image { max-width:70vw }
.settori .bg-color { height:65% }

#settori .image { height:65vw }
.settori { margin-bottom: 2rem }

span.br { display:block; }

header .container { padding: 0 4% }

.blog.settori-box .box { width:100%; margin-bottom:3rem }

.main-page2 { height:28rem }

.dett-blog { padding:2rem }
.dett-blog .img { margin-bottom:2rem }

.form2 .cl33, .form2 .cl50 { width:100% }
}

@media (max-width: 400px){
.slidehome .main-txt { height:70vh; text-align:left; align-items:flex-start; }
.slidehome .splide img, .slidehome .splide { height:30vh }
.slidehome .main-txt .t50 { font-size: 7vw!important }
.ckeditor h1, .ckeditor h2, .ckeditor h3, .ckeditor h4, .ckeditor h5, .ckeditor h6 { font-size:2.5rem }
.t35 { font-size:2.5rem }
.sec-txt { padding:2.5rem }
.ckeditor li { line-height:1.5; font-size:1.5rem; margin:.5rem 0 }

.settori-box .box { width:100%; margin-bottom:2rem }
.settori-box .box .img { height:25vh }

.blog.settori-box .box .img { height:20vh }
}

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