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

/*general*/
html {/* font-size: 62.5%*/ font-size: 10px; outline: none; }
body { font-family: "Mulish", sans-serif; color: #4C4E66; 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: #4C4E66; 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: #4C4E66; font-size: 1.6rem; cursor: pointer; background-color: transparent; border: none; font-family: "Mulish", sans-serif;}
input, textarea, select { color: #4C4E66; font-size: 1.4rem; font-weight: 600; font-family: "Mulish", sans-serif;}
select { width: 100%; 
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; color: #111;
  background: url(../img/down.svg) 95% / 13px no-repeat #4C4E66;
}
::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; }
.font { font-family: "Anek Tamil", sans-serif }

/*colors*/
.fff {color: #fff}
.bgfff { background-color: #fff;}
.blu { color:#2E72FB }
.bglblu { background-color:#ECF8FF }
.bgg { background-color:#4C4E66 }
.bggra1 { background: rgb(98,167,252); background: linear-gradient(90deg, rgba(98,167,252,1) 0%, rgba(75,127,251,1) 100%); }
.bggra2 { background: rgb(236,248,255); background: linear-gradient(180deg, rgba(236,248,255,1) 0%, rgba(236,248,255,0) 100%); }
.bggra3 { background: rgb(75,127,251); background: linear-gradient(90deg, rgba(75,127,251,1) 0%, rgba(75,127,251,0) 100%); }
.multiply { mix-blend-mode: multiply; }

.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 }
.w800 { font-weight:800 }
.t25 { font-size:2.5rem; line-height:1.2 }
.t55 { font-size:5.5rem; line-height:1.1 }
.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; line-height:1.1 }
.t35 { font-size:3.5rem; line-height:1.1 }
.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:1rem }
.br18 { border-radius:1.8rem }
.sha { box-shadow: 0 3px 20px rgba(30, 108, 181, .13); }
.txtsha { text-shadow: 0 3px 20px rgba(30, 108, 181, .4); }

.cta { transition: .6s; display: inline-block; font-size: 1.6rem; font-weight: 600; padding:1.4rem 2.4rem; border-radius: 1rem; box-shadow: 0 5px 20px rgba(75, 129, 251, 0.4); }
.cta.bglblu { background-color: #94B6FC }
.cta.bgfff { background-color: rgba(255, 255, 255, .3); }
.cta:hover { background-color:#2E72FB!important }

/*padding/margin*/
.wt100 { width:100% }
.ojf { width:100%; height:100%; object-fit:cover; object-position:center; }
.opt { object-position:center top!important; }
.opb { object-position:center bottom!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: 2; }
.back-to-top { transition: .3s; position: absolute; z-index: 2; bottom: 2rem; right: 2rem; }
.back-to-top img { transition: .3s; width: 5rem; }
.back-to-top:hover {cursor: pointer; }

.bgheader { z-index: 1; position:absolute; top:0; height:50vh; width:100% }
.premenu { transition: .6s; justify-content:space-between; }
.premenu .info { align-items:center; margin-bottom:1.5rem }
.premenu .info img { margin-right:.6rem }
.premenu .info a { margin-right:2rem }
.premenu .social img { margin-left:.2rem }
header { z-index: 10; padding: 1.5rem 0; z-index:10; width: 100%; position: absolute;max-width: 300rem;}
header .logo { transition: .3s; max-width:40rem; }
header .logo img { width:100%;max-height: 7rem;object-fit: contain; }
header .menu { transition: .6s; justify-content:space-between; padding: 3.5rem 3rem}
header .menu2 { transition: .3s; }
header .menu li a { font-weight: 600; transition: .3s; position: relative; font-size:1.6rem; }
header .menu2 li { margin:0 2.5rem }
header .menu2 li:first-child { margin-left:0 }
header .menu li a.active { font-weight: 600; color:#2E72FB }
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; }
header .contattibutton { transition: .3s; width: 16rem; margin-left: 2rem; display:flex; align-items:center;justify-content:center; padding:1rem }
header .cta { margin-left:2.5rem }

.menuresponsive, .sidenav { display: none; }

.sticky { position: fixed; transition: 1s; width: 100%; top: 0; max-width: 300rem; }
.sticky .menu { background-color: rgba(255, 255, 255, .95); padding: 2rem 3rem }
.sticky .premenu { margin-top:-4rem }
.hidden-sticky { }
.sticky .logo { transition: .3s; }
.trans { transition:.6s }

.mainimg { position: relative; height:100vh; min-height: 80rem; padding-top: 24rem; width:100%; overflow:hidden; display:flex; align-items:flex-start; justify-content:center; }
.mainimg .img { position: absolute; top: 0; left: 0; }
.mainimg .img.bgmob { display:none; }
.mainimg .txt { position: relative; z-index: 2; margin: 0 auto; max-width:100rem; width:100% }

.bgsg { background: rgb(68,166,170); background: linear-gradient(0deg, rgba(68,166,170,1) 0%, rgba(9,206,176,1) 100%);  }
.bgsb { background: rgb(75,127,251); background: linear-gradient(0deg, rgba(75,127,251,1) 0%, rgba(98,167,252,1) 100%);  }
.bgsv { background: rgb(76,78,102);background: linear-gradient(0deg, rgba(76,78,102,1) 0%, rgba(141,156,206,1) 100%);  }
.bgsa { background: rgb(75 175 187);background: linear-gradient(0deg, rgb(75 175 187) 0%, rgb(92 221 237) 100%)  }

.mainhome { position:relative; }
.mainhome .bggra2 { position:absolute; top:0; left:0; width:100%; height:100% }
.valori { padding:8rem 0; position:relative; justify-content:space-between;gap: 6rem 0;}
.valori .box {width: 48%;}
.valori .box .iconbox { padding:4rem 2rem 6rem }
.valori .box .iconbox img { width: 8.7rem; height: 8rem; object-fit: contain; }
.valori .p { padding:3rem; width:90%; margin:-4rem auto 0; line-height:1.7 }
.line { height:.4rem; background-color:#fff; width:100%; position:relative; }

.prodotti { padding:6rem 0 }
.prodotti .p { margin:0 auto; max-width:93rem }
.proflex { justify-content:center; }
.prodotti .box { width:23%; flex-direction: column; justify-content: space-between; margin:1rem 1%; padding: 3rem 2rem}
.prodotti .box .img { height: 40vw; max-height: 40rem}
.prodotti .box .linee { width:100% }
.prodotti .box .txt { flex-direction:column; justify-content:space-between; }
.prodotti .box .txt p { line-height:1.5 }
.cta.bord { box-shadow:none; border:2px solid; padding:1rem; width:90%; margin:2rem auto 0; }
.prodotti .box:hover .cta.bord { color:#fff; background: #2E72FB; border:2px solid #2E72FB }

.sede { position:relative; /* padding:20rem 0 */ }
.sede .bg {width: 100%; height: 100%; object-fit: cover; }
/* .sede .bggra3 { position:absolute; left:0; top:0; } */
.sede .flex .box {width: 50%;padding: 0;}
.sede .txt { position:relative;max-width: 71rem;margin: 0 0 0 auto;padding: 15rem 0 15rem 4%;}

.prefooter .mob { display:none; }
.prefooter { position:relative; padding:15rem 0 }
.prefooter .bg { position:absolute; top:0; left:0 }
.prefooter .txt { position:relative; padding-left:35% }
.prefooter .txt p { max-width:55rem }

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

footer p, footer a { font-size:1.4rem; color:#fff }
footer a:hover { color: #3E93FC }
footer { padding: 5rem 0 4rem }
footer .credits { opacity:.5; padding:4rem 0 0; margin-top: 4rem; border-top: 1px solid rgba(255, 255, 255, .4); }
footer .blu { color: #3E93FC }
footer .logo { justify-content:space-between; align-items:flex-start; }
footer .logo img { max-height: 7rem;object-fit: contain;}
footer .social img { margin-left:.4rem }
footer .clflex { justify-content:space-between; }

/*pages*/
.padpage { padding-top:17rem }
.valori.single .box { width:100% }
.valori.single .box .p { max-width:60rem; padding:5rem }
.title-pro { margin:6rem 0 }
.breadcrumbs a { transition: .3s; padding:.8rem 1rem; background-color: #3E93FC; border-radius:1rem; color:#fff }
.breadcrumbs a:hover { background-color: #2E72FB }
.breadcrumbs a:last-child { padding: 0; background-color:transparent; color:inherit; }
.desc-pro { padding:5rem 4rem; margin:0 0 8rem; justify-content:space-between; align-items:flex-start; }
.desc-pro .imgbox { width:48%; }
.desc-pro .imgbox .img { width:100% }
.ctas { justify-content:center; align-items:center; }
.ctas .cta { margin:1rem }
.ctas .cta.border { box-shadow:none; border: 3px solid; display:flex; align-items:center; }
.ctas .cta.border img { margin-right:1rem }
.ctas .cta.bggra1 { padding: 1.6rem 2rem }
.ctas .cta.border:hover { background-color:#fff!important }
.descbox { width:50% }

.ckeditor { font-size:1.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:#2E72FB; text-decoration:underline; font-weight:500 }
.ckeditor ul { padding: 2.5rem }
.ckeditor ul li::before { content:""; background: #2E72FB; height: 15px; width: 15px; border-radius: 4px; position: absolute; top: 6px; left: -25px; }
.ckeditor ul li { line-height:1.6; 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 }

.marchi { padding:8rem 0 }
#marchi .splide__pagination { display: block!important; text-align: center; width: 100%!important; bottom: -5rem; height: 3rem; z-index: 1 }
#marchi .splide__pagination__page { border-radius: 0; background: #2E72FB; opacity: 0.5; width: 1rem; height:1rem; border-radius: 1rem; margin: 5px;cursor: pointer;display: block;}
#marchi .splide__pagination__page:focus {outline: none;}
#marchi .splide__pagination__page.is-active {background: #2E72FB; opacity: 1; transform: inherit;}
#marchi .splide__track, #gallery .splide__track { width:100% }
#marchi img { width:100%; }

.azienda .valori .box .iconbox { padding:4rem; width:100%; display: flex;
  flex-direction: column;
  justify-content: space-between;}
.azienda .valori h2 { display:flex; height:100%; justify-content:center; align-items:center; flex-direction:column; }
.azienda .valori { align-items:stretch; padding-top:5rem }
.azienda .valori .box { display:flex; justify-content:space-between; }
.azienda .valori .box img { height:10rem; opacity:0.8 }
.azienda .text { max-width:90rem; margin:0 auto 8rem; }

.lasede { padding:8rem 0 }
.lasede .img { position: relative; overflow:hidden; width:41% }
.lasede .img .bggra3 { position:absolute; top:0; left:0; opacity:0.6 }
.lasede .txt { width:55% }
.lasede .flex { justify-content:space-between; }

.line.bgblu { background-color:#3E93FC; opacity:0.15 }

.gallery { margin-top:4rem }
.gallery a { width:19%; margin-top:2rem }
.gallery a .img { width:100% }

.box-cont { justify-content:space-between; margin-top:-1rem; padding-bottom:3rem }
.box-cont .txt { position: relative; overflow: hidden; width:38%; padding:4rem 4rem 14rem }
.box-cont .txt a { display:block; border-top: 2px solid #e1eefe; padding:2rem 0 }
.box-cont .txt a.cc { position:absolute; bottom:0; left:0; width:100%; border-top: 0 }
.contact_form { width: 60%; padding:4rem; }
.contact_form .content { max-width:55rem; margin:0 auto; border-radius: 3px; border:1px solid rgba(255, 255, 255, .25); padding:3rem }
.form { margin-top:3rem }
.form input, .form textarea { font-size: 1.8rem; margin-bottom: 2rem; border: 0; width:100%; background-color:rgba(255, 255, 255, .2); border-radius:1rem; padding:1.5rem; color:#fff }
.form::placeholder { color:#fff; }
.form .cl50 { width:49% }
.form .inputs { justify-content:space-between; }

.box-orari { margin-bottom:8rem; padding:5rem }
.box-orari p { display:flex; justify-content:space-between; border-bottom:2px solid #eee; padding:1rem 0 }

.box-cont .box-map { width:49%; padding-bottom:4rem }
.box-cont .box-map iframe { border-radius:1rem; background-color:#eee; margin: 2rem 0 0; height:40rem }
.box-cont .box-map img { width:16px; margin-right:5px }

.sitemap { margin: 4rem auto 8rem; max-width:30rem; width: 100%; background-color:#fff; border-radius:1rem; padding:4rem 4rem 3rem 6rem!important }
.sitemap a { display:block; margin-bottom:1rem; font-weight:500; color:#4C4E66; text-decoration:none; }
.sitemap a:hover { color:#2E72FB }

.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: #2E72FB;
}

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

@media (max-width: 1024px) {
header .menu2 { display:none; }
header .cta { display: none;}
.menuresponsive, .sidenav { display: block; }
#mySidenav { display: block; z-index: 1000;}
#mySidenav .closebtn { position:absolute; top:2rem; right:2rem }
#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; }
#mySidenav .bg { overflow-y: scroll; width: 100%; margin: 0; height:100vh; padding:8rem 4rem }
#mySidenav .bg a, #mySidenav .bg p { color:#fff }
#mySidenav .bg a { font-size:2.6rem }
#mySidenav .bg li { margin:2.4rem 0; padding-bottom: 2.6rem; border-bottom:4px solid rgba(255, 255, 255, 0.2); }

.valori { padding: 6rem 0; }
.prodotti .box { width:48% }
.prodotti .box .img { height:auto; }


.lasede .img { width:100% }
.lasede .txt { width:100%; text-align:center; margin-top:4rem }

.prefooter .bg { display:none; }
.prefooter .mob { display:block; width:100% }
.prefooter { padding:0; background-color: #ecf8ff }
.prefooter .txt { text-align:center; width:100%; padding:8rem 0 }
.prefooter .txt p { margin:1rem auto 2rem; }

footer .logo { flex-direction:column; align-items: center; justify-content:center; margin:0 auto; }
footer .logo .social { margin-top:2rem }
footer .logo .social img { margin:0 .25rem }
footer { text-align:center; }
footer .cl { width:100%; margin-top:3rem }

.desc-pro { background-color:transparent; box-shadow:inherit; padding:0 }
.desc-pro .imgbox { width:100%; text-align:center; }
.desc-pro .imgbox .img { max-width:20rem; box-shadow: 0 3px 20px rgba(30, 108, 181, .13); border-radius: 1.8rem}
.descbox { width:100%; background-color:#fff; padding:4rem; border-radius:1.8rem; box-shadow: 0 3px 20px rgba(30, 108, 181, .13); margin-top:5rem }

.box-cont .box-map { width:100%; margin-bottom:4rem }

.box-cont .txt, .contact_form { width:100%; margin-bottom:4rem }
}

@media (max-width: 768px) {
.cta.bglblu { background-color: #2E72FB }
.gallery a { width:49%; margin-top:2% }
.gallery a img { margin:0 }
.azienda .valori .box { margin:0 auto 4rem; }

.valori {justify-content: center;}
.valori .box { max-width:60rem; width:100%;}

.sede .flex .box {width: 100%;}
.sede .txt { text-align:center; margin:0 auto;padding: 6rem 2%;}
}

@media (max-width: 600px) {
.premenu { display:none; }
.t55 {font-size: 4.5rem}
.mainimg .txt { margin-top:0 }
.mainimg .txt .mb4 { margin-bottom:2rem }
.prodotti .box { width:100%; max-width:45rem; margin:2rem 0 }
.valori .box { max-width:45rem }
.sede { padding:10rem 0 }
.mainimg .img.bgmob { display:block!important; top:inherit; bottom:0; height:auto; }
.mainimg .img { display:none; }
.mainimg { padding-top:20rem }

.padpage { padding-top:12rem }
.valori.single .box .p { padding:3.5rem 2rem }

.descbox { padding:2rem }

#marchi img { width:90%; }

.box-cont .box-map, .box-orari, .box-cont .txt, .contact_form { padding:3rem 2rem }
.form .cl50 { width:100% }

.info.none { display:none; }

.error { font-size:40vw }

.sede .flex .box:last-of-type {min-height: 50rem;}
}