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

/*general*/
html {/* font-size: 62.5%*/ font-size: 10px; outline: none; }
body { font-family: "Nunito", sans-serif; color: #050505; 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: #050505; outline: none }
a:focus, input:focus, textarea:focus, select:focus, label:focus {outline: none!important }
p, ul, li { line-height: 1.8; font-size: 1.6rem; }
.container { max-width: 200rem; margin: 0 auto; padding: 0 2%; width: 100%; }
.container2 { max-width: 142rem; margin: 0 auto; padding: 0 2%; width: 100%; }
button { color: #050505; font-size: 1.6rem; cursor: pointer; background-color: transparent; border: none; font-family: "Nunito", sans-serif;}
input, textarea, select { font-size: 1.8rem; ; font-weight: 600; font-family: "Nunito", sans-serif;}

.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; }
.font { font-family: "Titillium Web", sans-serif; }

/*colors*/
.fff {color: #fff}
.green { color:#4BAA05 }
.bgfff { background-color: #fff }
.bgb { background-color:#050505 }
.bgg { background-color:#505257 }
.bggra { background: rgb(5,5,5); background: linear-gradient(180deg, rgba(5,5,5,1) 0%, rgba(80,82,88,1) 100%);  }
.bggra2 { background: rgb(5,5,5); background: linear-gradient(0deg, rgba(5,5,5,1) 0%, rgba(80,82,88,1) 100%);  }
.red { color:#E1001E }
.bgred { background-color:#E1001E }
.gray { color:#969AA3 }
.gray2 { color:#D3D9E6 }
.gray3 { color:#505257 }
.bggreen { background-color:#639F63 }

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

.t70 { font-size:7rem; line-height:1.2; }
.t40 { font-size: 4rem; }
.t30 { font-size: 3rem; line-height:1.3 }
.t20 { font-size: 2rem; line-height:1.2 }
.t92 { font-size:9.2rem; line-height:1.2 }
.t80 { font-size:8rem; line-height:1.2 }
.t50 { font-size:5rem; line-height:1.2 }
.t55 { font-size:5.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 }
.mb7 { margin-bottom:7rem }
.mb8 { margin-bottom:8rem }
.mb10 { margin-bottom:10rem }

.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: 6.4rem }

.ctabig { transition: .6s; display: inline-block; font-size: 3rem; font-weight: 600; padding:1.5rem 3.5rem; border-radius:4.4rem }
.ctabig:hover { opacity:0.8; padding:1.5rem 5rem; box-shadow: 0 0 10px rgba(0, 0, 0, .3); }

.cta { transition: .6s; display: inline-block; font-size: 1.8rem; font-weight: 600; padding:1rem 3rem; border-radius:4.4rem }
.cta:hover { opacity:0.8; padding:1rem 4rem; }

/*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:#E1001E; padding:2rem 1.5rem; border-radius:.5rem }
.back-to-top:hover {cursor: pointer; }

header { position: relative; z-index: 10; padding-top: 2rem; display: flex; align-items: center; z-index: 8; justify-content:space-between; }
header .logo { padding-left:6% }
header .logo img { transition: .3s; width: 28rem }
header .menu { width: auto; padding: 1.5rem 0; padding-right: 6%; background-color: #505257; position: relative; display: flex; align-items: center; min-height: 8.2rem}
header .menu .bg { background-color:#505257; position:absolute; left:-4rem; top:0; height:100%; width:7.5rem; border-radius:50% }
header .menu li a { color: #fff; font-size: 1.6rem; text-transform: uppercase; font-weight: 400; }
header .menu li { display:inline-block; padding:0 2.5rem; position:relative; }
header .menu li .active { font-weight: 600; position:relative; }
header .menu li .active:after { content: url('../img/after.svg'); height:3px; width:3px; position:absolute; bottom:-12px; left:-7px; right:0; margin:0 auto; }
header .boxmenu { width: 100%; display:flex; justify-content: flex-end;}
header .call img { border:1rem solid #050505; border-radius:50% }

.sticky header { padding-top:0 }
.sticky .logo img { width: 16rem; margin-top:.5rem }
.sticky { box-shadow: 0 3px 20px rgba(0,0,0,0.6); border-radius: 0 0 2rem 2rem; right: 0; transition: 0.3s; position: fixed; top: 0; left: 0; z-index: 30; width: 100%; max-width: 300rem; margin: 0 auto; background-color: #010101 }
.hidden-sticky { height: 10rem }

.dropbtn { transition: all 0.3s ease 0s; padding-bottom:5rem }
.dropdown {display: inline-block; position: relative; }
.dropdown img { width: 1rem; vertical-align: middle; }
.dropdown button { position: relative; z-index: 2; }
.dropdown-content { position: absolute;
  background-color: #191919;
  width: 29rem; border-radius: 6rem;
  z-index: 2;
  left: -6.5rem; margin: 2.7rem auto 0;
  height: 0; overflow: hidden;
  transition: all 0.3s ease-in-out; opacity: 0; }
.dropdown-content.n2 { left:-4.2rem }
.dropdown-content.n3 { left:-2.2rem }
.dropdown-content { display: flex; justify-content: center; text-align: center; }
.dropdown-content .cl { margin: 4rem; display: flex;
  flex-direction: column;
  align-items: center;}
.dropdown-content .cl .promo { display: flex; align-items: center; }
.dropdown-content .cl .promo img { width: 2rem; margin-right: 0.5rem }
.dropdown-content a { display: flex; transition: all 0.3s ease 0s; text-decoration: none; margin-top: 1rem }
.dropdown-content a:hover { color: #E1001E; opacity: 1!important}
.dropdown:hover .dropdown-content { height: auto; margin-left: 0; opacity: 1}
.dropdown:hover .dropbtn:after { content: url('../img/after.svg'); height:3px; width:3px; position:absolute; bottom:-9px; left:-7px; right:0; margin:0 auto; }
.dropdown .dropbtn.active { color: #E1001E }
header .dropdown .active::after { content:none!important; }
header .dropdown .active { color:#E1001E!important}

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

.slidehome { padding: 0 5rem 5rem; position:relative; }
.slidehome .arrow img { z-index: 1; width: 25rem!important; position:absolute; transform:translate(-50%,-50%); top:70%; left:75% }
/*splide1*/
#splide1 { width:70%; margin:0 auto; }
#splide1 .splide__pagination { text-align: center; width: 100%!important; bottom: 3rem; height: 6rem; z-index: 1}
#splide1 .splide__pagination__page { border-radius: 0; background: #505257; width: 1rem; height: 3.2rem; margin: .6rem; border-radius: 5rem; cursor: pointer;display: block;}
#splide1 .splide__pagination__page:focus {outline: none;}
#splide1 .splide__pagination__page.is-active {background: #E1001E; opacity: 1; transform: inherit;}
#splide1 img { width:100%; max-height:90rem; border-radius:4rem }
#splide1 .splide__track { width:100% }

.txtslide { padding:0 5rem 10rem }
.mw100 { max-width:100rem; margin:0 auto; }
.mw60 { max-width:60rem; }

.dnone { display:none; }
.p_boxes { position:relative; margin:5rem 0 }
.p_boxes .box { transition: .6s; overflow-y: hidden; margin: 2%; padding: 7rem 6rem; display: flex; align-items: flex-end; width: 46%; height: 40vw; max-height:76rem; max-width:76rem; background-size:cover; background-position:center; background-repeat:no-repeat; }
.p_boxes .box2 { padding-left: 21rem; }
.p_boxes .box2 .s { margin-right:10rem; width:11rem; position:absolute; left:6rem; top:20rem }
.p_boxes .box2r { justify-content: flex-end; padding-right: 8%;}
.p_boxes .txt { display:block; max-width:100rem; padding:10rem 0 }
.p_boxes .txt.dnone { display:none; }
.p_boxes.reverse { margin-top:-5rem }
.p_boxes.reverse .box2 .s { right:6rem; left:inherit; margin-left:10rem; margin-right: 0}
.p_boxes.reverse .box2 { padding-right: 21rem; padding-left:0 }
.p_boxes.reverse .box2r { padding-left: 8%; padding-right: 0; flex-direction: row-reverse;}
.p_boxes .box:hover { box-shadow: 0 0 20px rgba(0, 0, 0, .4); }
.p_boxes .txt:hover { box-shadow:none }

.video { margin:8rem 0 0 }
.video video { width:100%; height:80vh; background-color:#ccc }

.eco { margin-top: -1rem; background-image: url(../img/bggreen.jpg); background-size: cover; min-height:80vh; display:flex; align-items:center; justify-content:center; }
.eco .txt { width:40% }
.eco .logo { width:43rem }
.eco .img { position:absolute; right:0; margin-top: -4rem; width:60%; max-width: 120rem;  }
.eco .aright { position:absolute; right:10%; bottom:10% }

.flex-r { display:flex; justify-content:flex-end; }

.valori { padding:14rem 0 10rem }

.footer2 p, .footer2 a { font-size:1.4rem; color:#fff }
.footer2 a:hover { color: #E1001E }
.footer2 { padding:10rem 0 }
.footer2 .credits { padding:4rem 0 0; border-top:1px solid #505258; }
.footer2 .info { line-height: 2.3; margin:3rem 0 4rem }
.footer2 ul { font-size: 1.8rem }
.footer2 ul a { font-size: 1.6rem; font-weight:600; margin:0 .5rem }
footer .gray, footer .gray a { color:#969AA3 }
footer .logos { display:flex; align-items:center; justify-content:center; }
footer .logos img:first-child { width:28rem; border-right:1px solid #505258; padding-right:3rem; margin-right:3rem }
footer .logos img:last-child { width: 7.9rem; }

footer .flexinfo { justify-content:space-between; }
footer .flexinfo .info { width:48% }

/*pages*/
.bread { color:#fff; font-size:1.6rem }
.bread a { color:#fff }
.bread a:last-child { font-weight:bold; }
.banner_title { background-color: #adb0b7; margin-top: -1rem; background-image: url(../img/bggray.jpg); background-size: cover; padding:8rem 4% }
.bgpage { height: 45rem; margin-top:-14rem }
.bgpage .bggra3 { background: rgb(5,5,5); background: linear-gradient(180deg, rgba(5,5,5,1) 0%, rgba(5,5,5,0) 100%);  position:absolute; opacity: .9; top:0; left:0; width:100%; height:80% }

.img-txt { min-height:90vh; position:relative; }
.img-txt .txt { display: flex; flex-direction: column; justify-content: center; margin-left: 50%; width: 50%; background-image: url(../img/bggreen.jpg); background-size: cover; padding:8rem 4% }
.img-txt .img { width:50%; height:100% ; position: absolute; top: 0; left: 0}
.img-txt .txt .logo { width:43rem }

.gallery { margin:6rem 0 0 6rem }
.gallery.inverse { margin:6rem 6rem 0 0 }

.caratteristiche { padding:20rem 0; height:110rem; margin:10rem 0 }
.caratteristiche .txt { width:72%; z-index:2 }
.caratteristiche .img { width:40%; position:absolute; right:0; top:4rem }
.caratteristiche .txt .info { height: 21rem; padding-top: 4rem; overflow:hidden; }
.caratteristiche .txt .info img { position:absolute; top:0rem; right:0 }
.caratteristiche .txt .info .t80 { max-width:73rem; display:inline-block; z-index:2; position:relative; padding-right:2rem }
.caratteristiche .txt .info .p { max-width:73rem }

.punti { background-image: url(../img/bggreen.jpg); background-size: cover; padding:10rem 4% }
.punti .container2.flex { align-items: center; justify-content:space-between; }
.punti .t55 { width:44% }
.punti .txt { width:50%; padding: 3rem 0 3rem 10rem; border-left:5px solid rgba(255, 255, 255, 0.5); }
.punti .txt .flex { flex-wrap: nowrap; align-items:flex-start; margin:2rem 0 }
.punti .txt .flex i { vertical-align:top; display:inline-block; margin:-10px 3rem 0 0 }

.altri_servizi { padding:8rem 0 }
.altri_servizi .flex { justify-content:center; align-items:center; }
.altri_servizi .box { transition: .6s; overflow-y: hidden; margin: 2%; padding: 4rem 5rem; display: flex; align-items: flex-end; width: 46%; height: 40vw; max-height:45rem; max-width:45rem; background-size:cover; background-position:center; background-repeat:no-repeat; }

.pad { padding:6rem 1rem }
.border { background-color: #f4f5fa; padding: 6rem 4rem}
.icone { align-items: flex-start; justify-content:center; }
.icone .box { width:20%; margin:1%; max-width:30rem; }
.icone .box img { height:10rem; margin-top:1rem }
.icone .t20 { line-height:1.2; margin-top:1rem }

.img-txt.grigio .txt, .punti.bgblack { background-image: url(../img/bgblack.jpg); }
.punto { flex-wrap:nowrap; align-items:flex-start; }
.punto img { margin-right:1.5rem; margin-top:-2.5px }

.accordion { position: relative; width:100%; text-align:left; }
.accordion li { font-size:2rem }
.accordion .btnmore { left: 0; top: 0; width: 100%; position: absolute; height: 7.5rem; cursor: pointer; }
.accordion .showhidenew img { margin: 0; transition: 1s; width: 1.8rem; position: absolute; right: 0; top: 3rem}
.accordion .text_opennew .title { padding:.5rem 1rem; border-radius:3px }
.accordion .text_opennew a { display:block; padding: 1rem 1rem 0 1rem }
.accordion .text_opennew a { font-size:1.6rem!important }
.accordion .text_opennew .settore { margin-top:2rem }
.accordion .text_opennew .settore:first-child { margin-top:0 }
.accordion .bggreen { background-color: #82CDC1; }
.accordion .bgblu { background-color: #5D6EA7; }
.accordion .bggreen2 { background-color: #5AB0A1; }
.accordion .text_opennew {margin: -1rem 0px 3rem;}

.punti .txt .accordion { padding:1.5rem 0 }
.punti .txt .accordion .btnmore { height:4rem }
.punti .txt .accordion .showhidenew img { top:1.7rem; background:#E1001E; padding:1rem; width:4rem; border-radius:50% }
.punti .txt .accordion .text_opennew { margin:1rem 0 0 }
.punti .txt .accordion .t30 { width:calc(100% - 6rem); }

/*form1*/
.contact_form { max-width: 100rem; margin:0 auto 10rem; padding:4rem; background-color:#f4f5fa }
.contact_form .content { max-width:55rem; margin:0 auto; border-radius: 3px; border:1px solid rgba(255, 255, 255, .9); padding:3rem }
.form1 input, .form1 textarea { font-size: 1.8rem; margin-bottom: 2rem; border: 0; width:100%; background-color:rgba(255, 255, 255, .9); border-radius:1rem; padding:1.5rem; }
.form1 .cl50 { width:49% }
.form1 .inputs { justify-content:space-between; }

.risorse { justify-content: center; margin:7rem 0 }
.risorse .box { text-align: center; height: 45vw; max-height: 60rem; width:48%; margin:1%; padding:3rem; align-items:center; justify-content:center; }
.risorse .box img { transition: .4s; position:absolute; top:0; left:0 }
.risorse .box:hover img { transform:scale(1.1); }
.risorse .box .t30 { z-index:1; padding:2rem 3rem }

.percorso { padding:8rem 0 }
.percorso .box { margin-top: 10rem; flex-wrap: nowrap; max-width:51rem; align-items:center; justify-content:space-between; }
.percorso .box .txt { margin-left:3rem }
.percorso .icons .line { width: 28rem; position:absolute; transform:translate(-50%, -50%); top:50%; left:50% }
.percorso .icons { margin-top: 6rem; align-items: flex-start; justify-content:space-between; }
.percorso .box:nth-child(even) { margin-top: 0}
.percorso .box img { width:18rem }

.bglg { background-color:#f4f5fa; }

.percorso.per3 .box { margin-top:0; width:47%; max-width:100%; justify-content:flex-start; }
.percorso.per3 .box:nth-child(2n) { margin-top:10rem }

.cl30 ul li::before { content:url('../img/check.svg'); display: inline-block; position: absolute; left: 0; top: -5px; width:3rem; height:3rem }
.cl30 ul li { padding-left:4rem; position:relative; font-size:1.6rem; line-height:1.7; margin:2rem 0 }
.sec1 .cl30 { overflow: hidden; width:31.33%; margin:2rem 1% }
.sec1 .cl30 img { width:100% }
.sec1 .cl30 .txt { padding:3rem }
.sec1 .flex { justify-content:center; margin-top:3rem }

.risorse .box { align-items: flex-end; text-align: left;}
.bggra4 { background: rgb(5,5,5); background: linear-gradient(0deg, rgba(5,5,5,1) 0%, rgba(5,5,5,0) 100%); }
.risorse .box .bggra4 { position:absolute; bottom:0; left:0; width:100%; height:80% }

.txt-pillar { padding:5rem 6rem; margin-bottom:7rem }
.txt-pillar a { transition: .3s }
.txt-pillar a:hover { margin-left:.6rem }

.sitemap a { color:#fff; text-transform:uppercase; }
.sitemap .menu3 { text-align:left; }
.sitemap li { border-bottom:2px solid rgba(255, 255, 255, .4); padding:1rem 0 }
.sitemap .accordion .showhidenew img { top:2rem }
.sitemap .accordion .btnmore { height:5.5rem }
.sitemap .accordion .text_opennew .settore:first-child { margin-top:1.5rem }

.error.banner_title { background-image: url(../img/bgblack.jpg); }
.error p { font-size:15vw }

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

.autorizzazioni .checkmark { height:100%; width:100%; background-color:transparent; border:2px solid #fff; border-radius:5px }
.autorizzazioni .containercheck { float: left; width: auto; padding: 0; margin: 0 1rem 1rem 0; padding: 1rem 2rem; display:flex; align-items:center; }
.autorizzazioni .containercheck img { position:relative; z-index:1; margin-right:5px }
.autorizzazioni .containercheck p { font-size: 1.6rem; font-weight: 500; position:relative; z-index:1; }
.autorizzazioni { align-items: flex-start; margin:1rem 0 3rem }
.autorizzazioni .p { font-size:1.8rem; font-weight: 500; letter-spacing :1px; margin-bottom:1rem }
.autorizzazioni .containercheck .checkmark:after { height:0; width:0; border:0 }

@media (max-width: 1800px) {
html { font-size:9.5px }
header .logo { padding-left:2% }
header .menu { padding-right:2% }
header .menu li { padding: 0 1.5rem }
}

@media (max-width: 1400px) {
html { font-size:9.5px }
/*sidenav*/
header { z-index:1000; position:relative; }
header .menu { background-color:transparent; }
header .menu li, header .menu .bg { display: none; }
header .menu li.call { display: inline-block; }
header { display:flex; justify-content:space-between; align-items:center; padding:2rem 0 }
header .logo img { width:24rem }
header .logo { padding-left:4% }
header .active { color:#E1001E!important }
.menuresponsive, .sidenav { display: block; }
.menuresponsive { display: flex; }
.menuresponsive img { width:3rem; position:relative; }
#mySidenav { display: block; z-index: 1000;}
#mySidenav .closebtn img { width: 3rem; position:absolute; left: 0;margin: 0 auto; right:0; top:3rem; z-index:1000 }
#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-color: rgba(0, 0, 0, .9); overflow-y: scroll; width: 100%; margin: 0; height:100vh; padding:8rem 4rem }
#mySidenav .bg a, #mySidenav .bg p { color:#fff }
#mySidenav .closebtn { position: absolute; top: 0; right: 0; padding: 2.7rem 1rem; text-align: right; margin:0; width:100% }
#mySidenav .bg a { text-transform: uppercase; transition: .3s; font-size:2.5rem }
#mySidenav .bg li { transition: .3s; margin:2rem 0; border-top:2px solid rgba(255, 255, 255, .2); padding-top:2rem }
#mySidenav .bg a:hover { padding-left:1rem }
#mySidenav .bg a:hover { opacity:0.5 }
#mySidenav .bg a.active { font-weight:700 }

.sticky .info, .sticky .logo { top:inherit; }
.sticky .logo { width:20rem }
.sticky header { padding:0.5rem 0 }

.p_boxes .box2 .s { display:none; }
.dnone { display:block; margin:8rem 2% 0 }
.p_boxes .box2 { padding-left:0 }
.p_boxes .box2r { padding-right:0 }
.p_boxes.reverse .box2 { padding-right:0 }
.p_boxes.reverse .box2r { padding-left:0 }
.p_boxes .txt { max-width:76rem; padding:8rem 2% }
}

@media (max-width: 1200px) {
.slidehome .arrow img { width:12.5rem!important }
.eco { height:auto; padding:10rem 0 }
.eco .txt { width:100%; text-align:center; }
.eco .txt p { max-width:70rem; margin:0 auto 3rem; }
.eco .img { position:relative; margin-top:0; width:100% }
.eco .aright { width:12.5rem; right:8%; bottom:4% }

.percorso .icons .line { display:none; }
.percorso.per2 .box { background-color:#f4f5fa; border-radius:2rem; padding:4rem 2rem }

.caratteristiche .txt { width:100%; text-align:center; }
.caratteristiche .txt .info { height:auto; margin:3rem 0 }
.caratteristiche .txt .info img { display:none; }
.caratteristiche .txt .info .p { margin:0 auto; }
.caratteristiche .img { position:relative; width:37rem; margin:0 auto; }
.caratteristiche { height:auto; padding: 6rem 0 0 }

.punti { text-align:center; }
.punti .t55 { width:100% }
.punti .txt .flex { align-items:center; flex-wrap:wrap; justify-content:center; }
.punti .txt { width:100%; padding: 4rem 0 0; margin-top: 6rem; display: flex; align-items: center; flex-direction: column; border-left:0; border-top:5px solid rgba(255, 255, 255, 0.5); }
}

@media (max-width: 1024px) {
.mw100 { padding:0 4% }
.t92 { font-size:5rem }
.valori .flex, .flex-r { justify-content:center; }
#splide1 { width:100% }
#splide1 .splide__pagination { bottom:-2rem }
.ctabig { font-size:1.6rem }
.p_boxes .box { padding:4rem }
.t55 { font-size:4rem }
.p_boxes .txt { padding:0 }

.img-txt .img { width:100%; position:relative; }
.img-txt { height:auto; }
.img-txt .txt { width:100%; margin: 0; text-align:center; justify-content:center; align-items:center; }
.gallery.inverse { margin-top:3rem }
.punto img { display:none; }

.icone .box { width:100%; margin:2%; max-width:100% }

.percorso .box { justify-content: flex-start; width:100%; max-width:100%; margin-top:3rem!important }
.txt_page { flex-direction:column; }
.txt_page .img { width:100%; max-width:60rem; margin-bottom:4rem }
.txt_page .txt { width:100%; text-align:center; max-width:90rem }
.percorso .icons { margin-top:3rem }
.percorso.per3 .box { width:100% }

.sec1 .cl30 { width:48% }

.txt-pillar .punto img { display:inline-block; width:3rem; margin-top:1.5px }

header .boxmenu { padding-right:4% }
}

@media (max-width: 768px) {
.t70 { font-size:5rem }
.t30 { font-size:2.5rem }
.p_boxes .box2 { display:block; }
.p_boxes .box { width:80%; height:78vw; margin: 4% 2% }
.p_boxes .box:nth-child(2) { margin-left:18%; }
.p_boxes .box2r { display:block; }
.p_boxes .box2r .box.br { margin-left:18%; }
.p_boxes .txt { width:100%; margin:0!important; text-align:center; height:auto; }
.p_boxes .txt.mnone { display:none; }
.p_boxes .box4r .box:nth-child(2) { margin:2% }
.p_boxes .box4r .box:nth-child(3) { margin-left:18% }
.video video { height:auto; }
.eco .logo { width:28rem }
.p_boxes.reverse { margin-top:0 }

.img-txt .txt .logo { width:28rem }
.t80 { font-size:6rem }

.altri_servizi .box { width:27rem; height:27rem; padding:3rem }
.br { border-radius:5rem }
.caratteristiche .img { top:0 }
.risorse .box { width:100%; margin:1rem 0; max-height:90vw; height:90vw }

.txt-pillar { padding:4rem }

.t50 { font-size:4rem }
.t40 { font-size:3.5rem }

.p_boxes .txt.dnone { display:block; margin-top:6rem!important }

footer .flexinfo .info { width:100% }
footer .flexinfo .info:first-child { margin-bottom:0 }
}

@media (max-width: 500px){
.slidehome { padding: 0 0 10rem }
header .logo img { width:18rem }
header .menu li { padding: 0 0 0 1rem }
.p_boxes .txt { margin:6rem 0 10rem!important }
.valori { padding:10rem 0 }
#mySidenav .bg a { transition: .3s; font-size:1.8rem }
#mySidenav .bg { padding:8rem 3rem }

/*.punti .txt { align-items:flex-start; }
.punti .txt .flex { flex-wrap:nowrap; text-align:left; }
.punti .txt .flex p { line-height:1.2 }*/
.punti .txt .flex i { margin-right:2rem }

.border { padding:5rem 3rem }
.contact_form { padding:4rem 3rem }
.form1 .cl50 { width:100% }

.percorso { text-align:center; }
.percorso .icons { margin-top:3rem }
.percorso .box { justify-content:center; flex-direction:column; text-align:center; }
.percorso .box .txt { margin:3rem 0 }
.banner { padding:4rem }
.txt_page { margin: 8rem 0 }
.percorso { padding:7rem 0 }

.sec1 .cl30 { width:100% }

.risorse .box .t30 { padding:0 }

.error p { font-size:20vw }

footer .logos { flex-direction:column; flex-wrap:wrap; }
footer .logos img:first-child { border:0; margin: 0 0 3rem; padding:0 }
}