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

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

.loghi_cert {margin: 4rem auto 0;display: flex;justify-content: center;gap: 2rem;}
.loghi_cert img {width: 15rem; height: auto; aspect-ratio: 2/1;object-fit: contain;max-width: 100%;}

/*colors*/
.fff {color: #fff}
.bgfff { background-color: #fff;}
.bggreen { background-color: #67CFC1;}
.green { color: #67CFC1 }
.gre { color: #92B6B1 }
.bggre { background-color: #92B6B1 }
.bgb { background-color: #0F172E }
.blu { color:#576FAC }
.bgblu { background-color:#576FAC }
.bgddd { background-color: #DDDDDD }
.y { color:#FDCD1D }
.bggra { background: rgb(25,25,25); background: linear-gradient(180deg, rgba(25,25,25,1) 0%, rgba(25,25,25,0) 100%); }
.bggrablu { background: rgb(87,111,172); background: linear-gradient(90deg, rgba(87,111,172,1) 0%, rgba(87,111,172,0) 100%); }
.br1 { border-radius:1rem }

.lower { text-transform:lowercase; }
/*fontsize*/
.w300 { font-weight:300 }
.w400 { font-weight:400 }
.w500 { font-weight:500 }
.w600 { font-weight:600 }
.w700 { font-weight:700 }
.t25 { font-size:2.5rem; line-height:1.2 }
.t60 { font-size:5.5rem; line-height:1.2 }
.t45 { font-size:4.5rem; line-height:1.2 }
.t84 { font-size:8.4rem; line-height:1 }
.t26 { font-size:2.6rem }
.t20 { font-size:2rem; line-height:1.2 }
.t18 { font-size:1.8rem; line-height:1.8 }
.punti .t18 { font-size:1.8rem; line-height:1.4 }
.t16 { font-size:1.6rem }
.t14 { font-size:1.4rem }
.t12 { font-size:1.2rem }
.t40 { font-size:4rem }
.t30 { font-size:3rem }
.space { letter-spacing:4px }
.undert { text-transform: uppercase; font-size:1.6rem }
.mt1 { margin-top:1rem }
.mt2 { margin-top:2rem }
.mt3 { margin-top:3rem }
.mt4 { margin-top:4rem }
.mt6 { margin-top:6rem }
.mt7 { margin-top:7rem }
.mt10 { margin-top:10rem }
.mb1 { margin-bottom:1rem }
.mb2 { margin-bottom:2rem }
.mb3 { margin-bottom:3rem }
.mb4 { margin-bottom:4rem }

.opt { object-position:top center; }
.opb { object-position:bottom center; }

.blur { filter:blur(5px); }

.br { border-radius:3px }

.cta { transition: .3s; display: inline-block; font-size: 1.6rem; font-weight: 600; letter-spacing: .6px; padding:1.4rem 2.4rem; border-radius: 5px; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.14); }
.cta img { vertical-align:middle; height:1.3rem; margin:-3.5px .7rem 0 1rem }
.cpad { padding: 2.4rem }
.cta_point { font-size:1.8rem }
.cta_point span { display: inline-block; border-radius: 50%; vertical-align: middle; margin: -4px 1rem 0 0; height:2rem; width:2rem; }

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

.div-back-to-top { display:none; }

/*header { transition: .3s; z-index:10; width: 100%; position: absolute;max-width: 300rem;}
header .flex { padding: 2.4rem 0; align-items:center; justify-content:space-between; position:relative; }
header .logo { transition: .3s; width:43rem }
header .logo img { width:100% }
header .menu { transition: .3s; }
header .menu li a { color: #fff; font-weight: 300; transition: .3s; position: relative; font-size:1.4rem; text-transform:uppercase; }
header .menu li { margin:0 1.4rem }
header .menu li:first-child { margin-left:0 }
header .menu li a.active { font-weight: 600;  }
header .menu li a.active::before { opacity: 1; transition: .3s; content: url(../img/linemenu.svg);position: absolute; left:48%; top:-20px }
header .menu li a:hover { opacity: 0.5; }
header .cta {  }*/

header { z-index: 10; padding: 2.4rem 0; z-index:10; width: 100%; position: absolute;max-width: 300rem;}
header .logo { transition: .3s; max-width:40rem; }
header .logo img { width:100% }
header .menu { justify-content:space-between; padding: 1rem 0}
header .menu2 { transition: .3s;  }
header .menu li a { color: #fff; font-weight: 300; transition: .3s; position: relative; font-size:1.6rem; text-transform:uppercase; }
header .menu2 li { margin:1rem 3.5rem 1rem 0 }
header .menu2 li:first-child { margin-left:0 }
header .menu li a.active { font-weight: 600;  }
header .menu li a.active::before { opacity: 1; transition: .3s; content: url(../img/linemenu.svg);position: absolute; left:48%; top:-20px }
header .menu li a:hover { opacity: 0.5; }
header .linea { height: 1px; width: 100%; background: rgb(103,129,141);
background: linear-gradient(90deg, rgba(103,129,141,0) 0%, rgba(103,129,141,1) 100%);  }
header .allmenu { align-items: center; display: flex; justify-content: flex-end; max-width: calc(100% - 42rem);}
header .contattibutton { transition: .3s; width: 16rem; margin-left: 2rem; display:flex; align-items:center;justify-content:center; padding:1rem }
header .cta { margin-left:3rem }

.dropdown { cursor: pointer; }
.dropdown img { object-fit: contain; height:2.2rem }
.dropdown .down { width: 1rem }
.dropdown:hover .dropdown-content {display: block;}
.dropdown-content { display: none; position: absolute; left: 0; width: 100%; padding-top: 4rem}
.menuresponsive, .sidenav { display: none; }
.dropdown-content .bgfff { background-color:rgba(255,255,255,.9); border-radius:5px }
.dropdown-content .bgf { max-width: 142rem; margin: 0 auto; display: flex; justify-content: center; padding: 4rem 0;  }
.dropdown-content .cl { margin: 0 1rem; padding: 0 2rem; width:25%; display:flex; flex-direction:column; }
.dropdown-content a { color: #0F172E!important; margin-bottom: .8rem; display: inline-block; text-transform:inherit!important; }
.dropdown-content a.flex { font-weight: 400; margin: 5px 0; flex-wrap:nowrap; display:flex!important; }
.dropdown-content a.flex span:first-child { margin-right:5px }
.dropdown-content a.cat { font-size: 1.8rem; text-transform:uppercase!important; font-weight:600; margin:1.5rem 0 2rem }
.dropdown-content a:hover::before { display:none; }
.dropdown-content .cl.cgreen { border-top: 4px solid #82CDC1; }
.dropdown-content .cl.cblu{ border-top: 4px solid #5D6EA7; }
.dropdown-content .cl.cgreen2 { border-top: 4px solid #5AB0A1; }
.menuresponsive, .sidenav { display: none; }
.sticky { box-shadow: 0 0 20px rgba(0, 0, 0, .2); background-color: rgba(15, 23, 46, 0.8); position: fixed; transition: 1s; width: 100%; top: 0; max-width: 300rem; }
.hidden-sticky { }
.sticky .logo { transition: .3s; }
.trans { transition:.6s }

.mainimg { position: relative; z-index: 1; height:112vh; min-height: 100rem; width:100%; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.mainimg .img { position: absolute; top: 0; left: 0; width:100%; object-fit:cover; height:100%; object-position:center top; }
.mainimg .bggra { z-index: 1; opacity: 0.6; position:absolute; left: 0; top:0; width:100%; height:40rem; }
.mainimg b { font-weight:600 }
.mainimg .txt { position: relative; z-index: 2; margin-top: -7rem; justify-content:space-between; align-items:center; max-width:67rem; width:100% }
.mainimg .bggrablu { position:absolute; left: 0; top:0; width:90%; height:100% }
.mainimg .shape { position: absolute; bottom:-1px }

.punti .w50 { width:50% }
.punti .txt { justify-content:space-between; align-items:flex-end; }
.punti .txt .div { margin-bottom: 1.5rem; display:flex; justify-content:flex-end; }
.punti .boxes { align-items:flex-start; margin-top:7rem }
.punti .box { width: 19%; margin-right:1% }
.punti .box img { margin-bottom:3rem; max-width:13rem }

.banner { position:relative; padding:20rem 3% }
.banner .bgbg { left: 0; top: 0; position:absolute; width:100%; height:100%; object-fit:cover; object-position:center; }
.banner .box { display: flex; justify-content: flex-end; min-height: 70rem; width:100%; position:relative; margin:0 auto; overflow:hidden; border-radius:1rem }
.bgblu_40 { background-color: rgba(15, 23, 46, 0.4); position:absolute; top:0; left:0; width:100%; height:100% }
.banner .box .txt { padding: 5rem; padding-right: 8%; flex-direction: column; display:flex; justify-content: center; width: 50%; background-color: rgba(15, 23, 46, 0.8); position:relative; }
.banner .box .txt p { margin:2rem 0; }
.banner .box .txt a { float:right; }
.banner .box .img { position:absolute; top:0; left:0; }
.right { text-align:right; }
.bggrafff { background: rgb(247,247,247); background: linear-gradient(180deg, rgba(247,247,247,1) 0%, rgba(247,247,247,0) 100%); }
.bggrafff.top { width: 100%; position:absolute; top:0; left:0; height:10rem; z-index:1 }
.bggrafff.bottom { width: 100%; transform: rotate(180deg); position:absolute; bottom:0; left:0; height:10rem; z-index:1 }

.soluzioni .txt p { max-width:80rem; margin:0 auto; }
.soluzioni .boxes { justify-content:center; align-items:flex-start; }
.soluzioni .boxes .box { width:31.33%; margin:1% 1% 3rem }
.soluzioni .boxes .box .img { border-radius:1rem; overflow:hidden; height:26vw; min-height:50rem; max-height:50rem }
.soluzioni .boxes .box .img img { transition:.9s }
.soluzioni .boxes .box:hover img { transform:scale(1.06); }
.soluzioni .boxes .box .title { font-size: 3.5rem; align-items:flex-start; margin-top:3rem }
.soluzioni .boxes .box .title span { height:2rem; width:2rem; margin-top: 12px; display:inline-block; border-radius:50%; margin-right:1.4rem }
.soluzioni .boxes .box .title h3 { width:calc(100% - 4rem); }

#realizzazioni { margin:6rem 0 14rem }
#realizzazioni .my-arrows {position: absolute; bottom: 5rem; width: 25rem; max-width: 144rem; z-index: 3; margin: 0 auto; left: 0; right: 0}
#realizzazioni .my-arrows button:focus {outline: none;}
#realizzazioni .my-prev { background-image:url(../img/prev.svg); left:0 }
#realizzazioni .my-next { right: 0; position: absolute; background-image:url(../img/next.svg); }
#realizzazioni .my-prev, #realizzazioni .my-next { width: 10rem; height: 6rem; border-radius: 0; background-size: contain; background-color: transparent; transition: .3s; opacity: 1; cursor: pointer; background-repeat:no-repeat; background-position: center;}
#realizzazioni .my-prev:hover , #realizzazioni .my-next:hover { opacity:1 }
#realizzazioni .my-prev svg, #realizzazioni .my-next svg { fill:transparent; }
#realizzazioni .splide__pagination { display: none; text-align: center; width: 100%!important; bottom: 0; height: 6rem; z-index: 1}
#realizzazioni .splide__pagination__page { border-radius: 0; background: #fff; opacity: 0.5; width: 5rem; height: 3px; margin: 5px;cursor: pointer;display: block;}
#realizzazioni .splide__pagination__page:focus {outline: none;}
#realizzazioni .splide__pagination__page.is-active {background: #fff; opacity: 1; transform: inherit;}
#realizzazioni .splide__track, #gallery .splide__track { width:100% }
#realizzazioni .box { justify-content:space-between; min-height:70rem }
#realizzazioni .box .txt { width:49.3%; display:flex; flex-direction:column; padding:4rem 8rem; justify-content:center; }
#realizzazioni .box img { width:49.3% }

.blog.soluzioni .boxes .box .title { font-size: 2.5rem; line-height:1.3; width:100% }
.blog.soluzioni .boxes .box .cta_point { position:absolute; z-index:2; right:2rem; bottom:2rem }
.soluzioni .boxes .box .img { position:relative; }

.bggrag { background: rgb(128,128,128); background: linear-gradient(0deg, rgba(128,128,128,1) 0%, rgba(128,128,128,0) 100%); }
.bggrag { position:absolute; bottom:0; left:0; height:100%; width:100%; z-index:1; mix-blend-mode: multiply; opacity:0.3 }

.tronca { width: 100%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden; }

.prefooter { min-height: 70rem; position:relative; display:flex; }
.prefooter .bg { position:absolute; top: 0; left: 0; opacity:0.6 }
.prefooter .shape { height:auto; object-fit: cover; object-position: top center; width:100%; position:absolute; left:0; top:-1px; z-index:1 }
.prefooter .txt1 { display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-end; text-align: right; padding: 5rem 5rem 8rem; position:relative; background-color:rgba(15, 23, 46, .8); height:100%; width:50% }
.prefooter .txt2 { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: 5rem 5rem 8rem; position:relative; background-color:rgba(49, 178, 161, .8); height:100%; width:50% }
.prefooter .txt1 p, .prefooter .txt2 p { margin:1.5rem 0 2.6rem; max-width:65rem; width:90% }
.prefooter .flex { width:100% }

footer p, footer a { font-size:1.4rem; color:#fff }
footer a:hover { color: #67cfc1 }
footer { padding:10rem 0 }
footer .credits { opacity:.5; padding:6rem 0 0 }
footer .info { line-height: 2.3; margin:3rem 0 4rem }
footer ul { font-size: 1.8rem }
footer ul a { font-size: 1.6rem; font-weight:600; margin:0 .5rem }

/*pages*/
.bpage { position:relative; height:33rem; display:flex; justify-content:center; align-items:flex-end; }
.bpage img { position:absolute; left:0; top:0; }
.bpage img.cover { mix-blend-mode: multiply; opacity:0.15 }
.bpage .bggra { position:absolute; top:0; width:100%; height:100%; left:0; opacity:0.6 }
.breadcrump { position:relative; padding:2rem 0; color:#fff; font-size:1.6rem }
.breadcrump a { font-size:1.6rem; color:#fff }
.breadcrump a:last-child { font-weight:600 }

.infopage { margin:8rem 0 0}
.mw100 { max-width:100rem; margin:0 auto; }
.imgpage { border-radius:1rem; width:100%; margin:5rem 0; max-height:60rem }

.mw100.ckeditor p { margin-bottom:2rem }

.ckeditor { font-size:1.6rem; margin-bottom:6rem }
.ckeditor h1,.ckeditor h2,.ckeditor h3,.ckeditor h4, .ckeditor h5, .ckeditor h6 { font-size:4rem; font-weight:500; margin: 6rem 0 1rem }
.ckeditor a { color:#67cfc1; text-decoration:underline; font-weight:500 }
.ckeditor ul { padding: 0 7rem }
.ckeditor ul li::before { content:url(../img/before.svg); position: absolute; top: 5px; left: -25px; }
.ckeditor ul li { line-height:2; position:relative; margin-bottom:1rem }
.ckeditor h1,.ckeditor h2, .ckeditor h3, .ckeditor h4, .ckeditor h5, .ckeditor h6 { font-size:3.2rem; font-weight:bold;; margin-bottom:2rem }

.azienda .mw100 { margin-top:6rem }
.blog .mw100, .contatti .mw100 { margin-top:3rem }
.azienda .banner { padding-top:10rem }
.azienda .bggrafff.top { height: 2rem }
.mt0 { margin-top:0!important }

.contact_form { padding:8rem 0; margin-top:10rem }
.contact_form .content { max-width:55rem; margin:0 auto; border-radius: 3px; border:1px solid rgba(255, 255, 255, .25); padding:3rem }
.button_invia { text-align:right; }
.form { margin-top:3rem }
.form input, .form textarea { font-size: 1.8rem; letter-spacing: 1px; margin-bottom: 2rem; border: 0; width:100%; background-color:rgba(255, 255, 255, .2); border-radius:3px; padding:1.5rem; color:#fff }
.form::placeholder { color:#fff }
.form .cl50 { width:49% }
.form .inputs { justify-content:space-between; }

.risorse .soluzioni .boxes .box .img { min-height:40rem; max-height:40rem }

.lavora .contact_form { margin-top:8rem }
.allega { width:100% }
.allega p { font-size:1.6rem; margin-bottom:5px }

#gallery { margin:6rem 0 }
#gallery .my-arrows {position: absolute; bottom: 5rem; width: 25rem; max-width: 144rem; z-index: 3; margin: 0 auto; left: 0; right: 0}
#gallery .my-arrows button:focus {outline: none;}
#gallery .my-prev { background-image:url(../img/prev.svg); left:0 }
#gallery .my-next { right: 0; position: absolute; background-image:url(../img/next.svg); }
#gallery .my-prev, #gallery .my-next { width: 10rem; height: 6rem; border-radius: 0; background-size: contain; background-color: transparent; transition: .3s; opacity: 1; cursor: pointer; background-repeat:no-repeat; background-position: center;}
#gallery .my-prev:hover , #gallery .my-next:hover { opacity:1 }
#gallery .my-prev svg, #gallery .my-next svg { fill:transparent; }
#gallery .splide__pagination { text-align: center; width: 100%!important; bottom: -7rem; height: 8rem; z-index: 1}
#gallery .splide__pagination__page { border-radius: 0; background: #92B6B1; opacity: 0.5; width: 1.5rem; height: 1.5rem; border-radius: 50%; margin: 5px;cursor: pointer;display: block;}
#gallery .splide__pagination__page:focus {outline: none;}
#gallery .splide__pagination__page.is-active {background: #92B6B1; opacity: 1; transform: inherit;}
#gallery .splide__track, #gallery .splide__track { width:100% }
#gallery img { width:100%; height:30vw; min-height:50rem; max-height:50rem; object-fit:cover; object-position:center; border-radius:1rem }

.punti .numbers.boxes { justify-content:center; }
.punti .numbers.boxes .box { margin-bottom:2rem }

.bggray.pad { padding:4rem 0; background: rgb(227,227,227);
background: linear-gradient(180deg, rgba(227,227,227,1) 0%, rgba(255,255,255,0) 100%);  margin-top:8rem }

.settoriapp .boxes { flex-wrap: wrap;  }
.settoriapp .boxes .box { width:25%; min-width:25rem }

.sitemap { margin: 4rem auto 8rem; max-width:30rem; background-color:#eee; border-radius:1rem; padding:4rem }
.sitemap a { display:block; margin-bottom:1rem; font-weight:500; color:#67cfc1; text-decoration:underline; }
.sitemap a.noa { text-decoration:none; color:#aaa; }
.sitemap a.in { margin-left:1rem }

.error { font-size:20vw }

/*-------------------------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: #5D5758;
}

/* 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: 1350px) {
html { font-size:9.5px }
header .logo { width:35rem }
header .allmenu { max-width:auto }
header .menu2 { flex-wrap:nowrap; }
header .cta { margin-left:0; text-align:center; }
}

@media (max-width: 1200px) {
header .menu2 { display:none; }
header .cta { margin-left:2rem;}
.menuresponsive, .sidenav { display: block; }
#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 { 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 .lang { 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 a { font-size:2rem }
#mySidenav .bg li { margin:3rem 0 }

.accordion { position: relative; width:100%; text-align:left; }
.accordion li { font-size:2rem }
.accordion .btnmore { left: 0; top: 0; width: 100%; position: absolute; height: 2.5rem; cursor: pointer; }
.accordion .showhidenew img { margin: 0; transition: 1s; width: 1.8rem; position: absolute; right: 0; top: 0.2rem}
.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; }

.mainimg .txt { text-align:center; max-width:80rem; margin: 0 auto; width: 90%; justify-content:center; }
.punti { margin-top:8rem }
.punti .w50 { width:100%; text-align:center; max-width:80rem; margin: 0 auto; width: 90%;}
.punti .txt .div { justify-content: center; margin-top:3rem }
.punti .box { width:25rem; margin:0 0 5rem }
.punti .box:last-child { margin-bottom:0 }
.punti .boxes { justify-content:center; }
}

@media (max-width: 1024px) {
.banner .box .img {position: relative;}
.banner .box { flex-direction:column; flex-wrap:wrap; }
.banner .box .txt { width:100%; padding: 5rem; text-align:center; }
.banner { padding:10rem 3% }
.banner .right, .banner .box .txt a { text-align:center; float:none; margin-top:1rem }
.soluzioni .boxes { justify-content:center; }
.soluzioni .boxes .box { width:90%; max-width:40rem; margin:0 1.5rem 4rem }
.soluzioni.resp .boxes .box .title span { width:1.5rem; height:1.5rem; margin-top:10px; margin-right: 1rem }
.soluzioni.resp .boxes .box .title { justify-content: center; width: 100%; font-size:3rem; margin-top: 2rem }
.soluzioni.resp .boxes .box .title h3 { width:auto; }
.soluzioni.blog .boxes .box .title span { margin-top:8px }
#realizzazioni .box .txt { padding: 2rem 5rem }
}

@media (max-width: 768px) {
html { font-size:9.8px }
header { padding:1rem 0 }
header .logo { width:27rem }
header .cta { display:none; }
header .sidenav .cta { display:block; margin-left:0 }
.t60 { font-size:4rem; margin-bottom:1rem }
.mainimg .txt .t60 span { display:block; }
.t25 { font-size:2rem }
.t45 { font-size:3.5rem }
.mainimg { min-height:100% }
.banner .box .txt { padding: 5rem 3rem }
#realizzazioni .box { flex-direction:column-reverse; flex-wrap:nowrap; }
#realizzazioni .box .txt { width:100%; border-radius:1rem; margin-top:1.5rem; padding: 5rem 3rem 13rem; text-align:center; }
#realizzazioni .box img { width:100% }
#realizzazioni .right { text-align:center; }
#realizzazioni .my-arrows { max-width:21rem }
#realizzazioni .t45 { margin-bottom:-1rem }
.soluzioni .mt6 { margin: 4rem 0 6rem }
.prefooter .txt1, .prefooter .txt2 { padding: 10rem 3rem; width:100%; height:auto; text-align:center; justify-content:center; align-items:center; }
.prefooter .txt1 { padding-top:20rem }
.prefooter .shape { margin-top:-1px; width:105%; left:-2.5%; right:-2.5% }
}

@media (max-width: 600px) {
.soluzioni .boxes .box { width:100%; max-width:100% }
.banner .box .img, #realizzazioni .box img { min-height:44rem }
footer img { width:30rem }
.sticky { padding:0 }

.pages .ckeditor p, .ckeditor h1, .ckeditor h2, .ckeditor h3, .ckeditor h4, .ckeditor h5, .ckeditor h6 { text-align:center; }
.ckeditor ul { padding: 0 0 0 3rem }
.form .cl50 { width:100% } 
}