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

html {/* font-size: 62.5%*/ font-size: 10px }
body { font-family: 'Montserrat', sans-serif; color: #818181; background-color: #ccc; letter-spacing: 0.5px }
.body { background-color: #fff; max-width: 200rem; margin: 0 auto; overflow: hidden; }
ul, li, h1, h2, h3, h4, h5, p { list-style: none; }
a { text-decoration: none; color: #818181; outline: none; font-size: 1.6rem; line-height: 1.6; }
a:focus {outline: none!important }
b { font-weight: 600!important; }
p { line-height: 1.6; font-size: 1.5rem; letter-spacing: 0.6px }
.container { max-width: 148rem; margin: 0 auto; padding: 0 2%; width: 90%; }
button { cursor: pointer; background-color: transparent; border: none; font-family: 'Montserrat', sans-serif; color: #818181; letter-spacing: 0.5px}
input, textarea { border: 0; border-radius: 0; font-family: 'Montserrat', sans-serif; }
input:focus { outline: none!important }
.blk { font-weight: 900 }
.center { text-align: center; }
.clear { clear: both; }
.flex { display: flex; flex-wrap: wrap; }
.clearfix::after { content:""; display: table; clear: both; }
.upper { text-transform: uppercase; }
.fff {color: #fff}
.hide { overflow: hidden; }
.bgfff { background-color: #fff }
.bgeee { background-color: #E8E8E8 }
.trans {transition: all 0.3s ease 0s;}
.bold { font-weight: bold; }
.light { font-weight: normal; }
.light b { font-weight: bold; }
.gray { color: #999 }
.blugra { background: rgb(0,95,171); background: linear-gradient(-90deg, rgba(0,95,171,1) 0%, rgba(34,156,216,1) 100%);  }
.blu { color: #005FAB}
.blu1 { color: #161B4B}
.bgblu { background-color: #005FAB }
.bgbluu { background-color: #004881 }
.gray { color: #818181}
.bggray { background-color: #818181}
.sha { text-shadow: 0 0 23px rgba(0,0,0,0.46) }
header .menu a.active { color: #005FAB }

/*TOP BUTTON*/
.back-to-top { text-align: center; position: fixed; z-index: 200; bottom: 1rem; right: 1rem; display: inline-block; padding: 1.6rem 1.5rem; margin: 1em; background-color: #005FAB; }
.back-to-top img { width: 1.8rem; }
.back-to-top:hover {cursor: pointer;}

.cta { font-weight: bold; text-transform: uppercase; transition: all 0.3s ease 0s; display: inline-block; padding: 1.2rem 1.5rem; text-align:center; }
.cta.flex { align-items: center; display: inline-flex!important }
.ctago { padding: 0; text-transform: none; }
.ctago img { margin-left: 0.5rem }
.ctago:hover { margin-left: 0.6rem }
.center .cta.flex { width: 100%; justify-content: center; }
.ctas { justify-content: center; }
.ctas .cta.flex { width: 22rem; margin: 2rem 1rem }
.ctas .cta.flex img { margin-left: 5px }
.ctas .cta.flex:hover { background-color: #ddd }

.headerpage .cta.bgp { background-color: #E5A399!important }

.shadow { box-shadow: 0 0 20px rgba(0,0,0,0.1) }

.preheader .container.flex { align-items: center; z-index: 11; justify-content: space-between; padding-top: 1rem; padding-bottom: 1rem }
.preheader .lingua img { width: 2rem; height: 2rem; margin-right: 3px }
.preheader .lingua { font-size: 1.3rem; margin-right: 1rem }
.preheader .info, .preheader .lingua { align-items: center; }
/*in assenza di lingue*/
.preheader .info { justify-content: flex-end; }
.preheader .info p img { margin-right: 5px }
.preheader .info p {  }

.bggradient { background: rgb(0,95,171); background: linear-gradient(0deg, rgba(0,95,171,0.9) 0%, rgba(34,156,216,0) 100%); }

header { padding: 3rem 0; width: 100%; max-width: 200rem; z-index: 10;}
header .flex { justify-content: space-between; align-items: center; }
header .logo img { transition: 0.3s; width: 33rem; }
header .menu { display: flex; width: calc(100% - 33rem); align-items: center; justify-content: flex-end; }
header .menu li { padding: 0 0 0 3%; }
header .menu li a { font-size: 1.5rem; font-weight: 500; }
header .active { font-weight: 700!important }
.dropdown { margin-top: 2px; position: relative; cursor: pointer; color: #fff; font-size: 1.3rem}
.dropdown .img2 { width: 1rem; margin-left: 0.5rem }
.dropdown-content { text-align: center; display: none; position: absolute; min-width: 15rem; z-index: 3; right: -1.5rem; padding-top: 1rem}
.dropdown-content a { background-color: #9abd45; display: block; font-size: 1.3rem; padding: 1rem;}
.dropdown-content a img { width: 2rem; margin-right: 5px }
.dropdown:hover .dropdown-content {display: block;}
.dropdown-content a:hover { background-color:#879f50}
.dropdown-content { padding-top: 3.5rem; }
.dropdown-content a { background-color: rgba(255,255,255,0.8); padding: 0.5rem 2rem; }
.dropdown-content a:hover { opacity: 1; padding: 0.5rem 2rem; background-color: #005fab;color: #fff; }
header .dropdown-content { background-color: transparent; text-align: center; display: none; position: absolute; min-width: 18rem; z-index: 3; left: -13px; padding-top: 3.9rem}

.sticky { border-top: 5px solid #e8e8e8; padding: 1.5rem 0; box-shadow: 0 10px 20px rgba(0,0,0,0.2); position: fixed; top: 0; width: 100%; left: 0; right: 0; margin: 0 auto; z-index: 1000; background-color: rgba(255,255,255,0.9);}
.hidden-sticky { height: 9rem }
.sticky .logo img { width: 23rem; }
.sticky .dropdown-content { padding-top: 1.9rem; }

.slideindex { position: relative; height:80vh; width: 100%; min-height: 50rem; }
.slideindex .container { display: flex; align-items: flex-end; height: 90% }
.slideindex .bggradient { position: absolute; bottom: 0; height: 50rem; width: 100%; z-index: 1; }
.slideindex .txt { position: relative; z-index: 2; text-shadow: 0 0 10px rgba(0,0,0,0.5) }
.slideindex .txt .t2 { margin: 0.5rem 0 2.5rem }
#slidehome { position: absolute; top: 0; left: 0; width: 100%; }
.slidehome .splide__slide { height: 80vh; min-height: 50rem; display: flex; align-items: center; justify-content: center; position: relative; }
.slidehome .txt { width: 50%; position: relative; z-index: 2; margin-top: 3% }
#slidehome .my-arrows {position: absolute; bottom: 6rem; width: 6rem; height: 2rem; z-index: 9; right: 3rem; }
#slidehome .my-arrows button:focus {outline: none;}
#slidehome .my-prev { transform: rotate(180deg); }
#slidehome .my-next, #slidehome .my-prev { }
#slidehome .my-prev svg { position: absolute; top: -2.6rem; opacity: 0.5 }
#slidehome .my-next svg { position: absolute; right: 0; top: 0 }
#slidehome .my-prev svg, #slidehome .my-next svg path {fill:#fff; cursor: pointer;}
#slidehome .splide__slide img { object-fit: cover; width: 100%; height: 100%; object-position: center; }

.t1 { font-size: 4.8rem }
.t2 { font-size: 2.5rem }
.t3 { font-size: 2rem; margin-bottom: 2rem; font-weight: lighter; }
.tit1 { font-size: 3rem }
.line { height: 0.6rem; width: 7rem; border-radius: 2rem; margin: 2rem auto }

.boxtxt { padding: 8rem 0 }
.boxtxt .txt { width: 100%; max-width: 66rem; margin: 0 auto }
.boxtxt .txt p { margin-bottom: 2rem }

.servizi { padding: 8rem 0 }
.servizi .flex { justify-content: space-between; margin-top: 3rem }
.servizi .box { transition: 0.3s; overflow: hidden; position: relative; text-align: center; width: 32.33%; height: 18vw; }
.servizi .box img { transition: 1s; width: 100%; height: 100%; object-position: center; object-fit: cover; transform: scale(1); }
.servizi .box .title { font-size: 2.4rem; right: 0; width: 100%; align-items: center; justify-content: center; display: flex; position: absolute; z-index: 1; bottom: 4rem; left: 0 }
.servizi .box .title img { width: 2rem; opacity: 0.4; margin-right: 1rem }
.servizi .box .bggradient { position: absolute; bottom: 0; left: 0; width: 100%; height: 60%; opacity: 0.7 }
.servizi .box:hover img { transform: scale(1.05); }
.servizi .box:hover { box-shadow: 0 0 20px rgba(0,0,0,0.3) }
.altro.servizi .box { width: 49% }
.altro.servizi p.bold {font-size: 1.8rem}

.mappa { padding: 5rem 0 }
.mappa .flex { justify-content: space-between; align-items: center; }
.mappa .flex .txt { width: 48%; text-align: right; }
.mappa .flex .cta { margin: 2rem 0;}
.mappa .img { width: 48%; } 
.mappa .img img { max-width: 35rem; width: 100%; opacity: 0.8; transition: 1s; }
.mappa .img img:hover { box-shadow: 0 0 20px rgba(0,0,0,0.4) }

.imgmappa { max-width: 100rem; width: 100%; margin: 0 auto }
.imgmappa img { width: 100% }

/*sidenav*/
.menuresponsive { display: none; }
#mySidenav { display: none;}

footer { padding: 5rem 0; position: relative; }
footer .flex { justify-content: space-between; }
footer .cl { width: auto}
footer .cta { margin-top: 1.4rem } 
footer .logo img { width: 33rem }
footer .isocial { margin: 1rem 3px 0 0 }
footer p, footer a { font-weight: 300; font-size: 1.4rem }
footer a:hover, .credits a:hover { color: #005fab }

.credits .flex { justify-content: space-between; border-top: 1px solid #cdcdcd; padding: 2rem 0 }
.credits p, .credits a { font-size: 1.3rem; }

.open-close-box { position: relative; padding-top: 0 }
.open-close-box .continua { padding:3px 0 0 4rem }
.open-close-box .showhide img { width: 3rem!important; position: relative; }
.open-close-box span.showhide { position: absolute; top: 1rem; width: 100%; cursor: pointer; }
.open-close-box .text_open { padding-top: 0rem; display: flex; flex-direction: column-reverse; }
.maintxt.puretxt { margin-top: 5rem }
.maintxt.puretxt .txt { width: 100% }
header .open-close-box span.showhide { width: 50%; }

.errorpage { position: relative; padding-top: 10rem;}
.errorpage .container { position: relative; z-index: 1; min-height: 60rem; height: 90vh; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.errorpage p { font-weight: lighter; font-size: 3rem; opacity: 0.5 }
.errorpage .er { font-size: 20rem; color: #555; font-weight: bold; opacity: 1 }
.errorpage img { width: 40%; opacity: 0.1; position: absolute; bottom: -10%; left: -4% }

/*pages*/

.certifica { padding: 2rem 1rem 1px;
margin: 2rem 0 0; border-top: 2px solid #005fab }
.certifica h4 { font-size: 2rem;
margin-bottom: 5px; }

.page .servizi { min-height: 84vh; padding-bottom: 14rem; display: flex; justify-content: center; align-items: center; }
.breadcrumb { margin-bottom: 2rem }
.breadcrumb a { position: relative; color: #fff; margin: 0 6px; opacity: 0.7; font-size: 1.4rem }
.breadcrumb a:hover { opacity: 1 }
.breadcrumb img { position: relative; }
.banner { position: relative; padding: 8rem 0 2rem; }
.banner.banner2 { position: relative; padding: 3rem 0 0; border-top: 1rem solid #ccc; position: relative; z-index: 1;}
.banner .bg { filter: blur(3px); object-fit: cover; object-position: center; width: 100%; height: 100%; position: absolute; bottom: 0; right: 0 }
.banner .txt { text-align: right; }
.banner.center .txt { text-align: center; }
.banner .bggradient { position: absolute; bottom: 0; right: 0; width: 100%; height: 70% }
.banner .breadcrumb { margin-bottom: 1rem }

.legenda { justify-content: center; margin-top: 1rem; }
.legenda div span { width: 2rem; height: 2rem; border-radius: 50%; margin-right: 5px }
.legenda div.flex { align-items: center; margin: 0.5rem 1rem }

.lineend { position: absolute; height: 1rem; width: 100%; bottom: -0.8rem }
.openclose-mezzi { padding: 0.2rem 0; }
.openclose-mezzi .open-close-box { margin: 2rem 0; border-radius: 1rem; padding: 2rem; }
.openclose-mezzi .open-close-box .title { display: flex; align-items: center; font-size: 2.5rem }
.openclose-mezzi .open-close-box .title img { margin-right: 1rem }
.openclose-mezzi .open-close-box span.showhide { width: 100%; text-align: right; right: 2rem }
.openclose-mezzi .open-close-box span.showhide img { margin-top: 1.7rem; width: 4rem!important }
.openclose-mezzi .slidetab { display: flex; justify-content: space-between; }

.slidepage .my-arrows {position: absolute; bottom: 6rem; width: 6rem; height: 2rem; z-index: 9; right: 3rem; }
.slidepage .my-arrows button:focus {outline: none;}
.slidepage .my-prev { transform: rotate(180deg); }
.slidepage .my-next, .slidepage .my-prev { }
.slidepage .my-prev svg { position: absolute; top: -2.6rem; opacity: 0.5 }
.slidepage .my-next svg { position: absolute; right: 0; top: 0 }
.slidepage .my-prev svg, .slidepage .my-next svg path {fill:#fff; cursor: pointer;}
.slidepage { width: 40% }
.slidepage img { width: 100% }
.slidepage .splide__list { width: 100% }
.slidetab .txt { width: 58% }
.slidetab { margin-top: 3rem }

.flexbox { margin-top: 3rem }
.flexbox .box { width: 31.33%; margin: 1rem 2% 1rem 0; border: 0.7rem solid #E8E8E8; transition: 0.3s; }
.flexbox .box:hover { box-shadow: 0 0 10px rgba(0,0,0,0.3) }
.flexbox .box img { width: 100%; object-fit: cover;object-position: center; height: 16vw }
.flexbox .box .txt { background-color: #fff; padding: 1rem; z-index: 1; position: relative; }

.bannertxt { position: relative; min-height: 60rem }
.bannertxt.reverse .flex { flex-direction: row-reverse; }
.bannertxt.reverse img { right: inherit; left: 0 }
.bannertxt .flex { min-height: 60rem; justify-content: space-between; align-items: stretch; }
.bannertxt .txt { width: 45%; padding: 8em 0; min-height: 45vh; justify-content: center; align-items: flex-start; display: flex; flex-direction: column; }
.bannertxt .txt .line { margin: 2rem 0 }
.bannertxt .img { position: absolute; top: 0; right: 0; width: 50%; height: 100%; object-fit: cover; object-position: center; } 
.bannertxt .txt .cta { margin-top: 3rem }
.bannertxt .imgsquare { display: flex; background-color: #fff; position: absolute; top: 0; right: 0; width: 50%; height: 100%; object-fit: cover; object-position: center; }
.bannertxt .imgsquare img { position: relative; object-fit: contain; top: inherit;left: inherit; width: 100%; }
.bannertxt .imgsquare video { position: relative; object-fit: cover; width: 100%; height: 100%;}
.bannertxt.reverse .imgsquare { left: 0; right: inherit; }
.bannertxt .splide { position: absolute; right: 0; top: 0; width: 50%; height: 100%; }
.bannertxt.reverse .splide { left: 0; right: inherit;}
.bannertxt .splide img, .bannertxt .splide__track, .bannertxt .splide__list, .bannertxt .splide__slide { width: 100%; height: 100%; object-fit: cover; object-position: center; }

.careers { padding: 6rem 0 8rem }
.careers .row { align-items: center; justify-content: space-between; padding: 3rem 0; border-bottom: 1px solid #ccc }
.careers .row .title { font-size: 2.4rem; margin-bottom: 0.5rem }
.careers .row .info { width: calc(100% - 25rem) }
.careers .txt .bigp { font-size: 2rem;; margin: 1rem 0 }
.careers .txt { margin: 0 0 5rem }

.posizioni { background-color:#f2f2f2; padding:8rem 0 4rem }
.posizioni .box { align-items: flex-end; justify-content: space-between; padding: 3rem; border-radius: 1rem; max-width:90rem; margin:0 auto 4rem; background-color:#fff; box-shadow: 0 0 15px rgba(0, 0, 0, .2); }
.posizioni .box .t { font-size:3rem; margin-bottom:2rem }
.posizioni .box .t18 { font-size:1.8rem; margin-bottom:1rem }
.posizioni .box .t4 { font-size:1.4rem; }
.posizioni .box .txt { width:calc(100% - 25rem); }

.formcontatti ::-webkit-input-placeholder { /* Edge */color: #fff; font-style: normal; opacity: 0.7;}
.formcontatti :-ms-input-placeholder { /* Internet Explorer 10-11 */color: #fff; font-style: normal; opacity: 0.7;}
.formcontatti ::placeholder {color: #fff; font-style: normal; opacity: 0.7;}
/*.formcontatti input, .formcontatti textarea { width: 100%; margin: 1.5rem 0; padding: 1rem 0; background-color: transparent; color: #fff; font-size: 1.8rem; font-family: 'Montserrat', sans-serif; border:none; border-bottom: 1px solid #fff }
.formcontatti {max-width: 60rem; width: 100%; padding: 15rem 0; margin: 0 auto }
.formcontatti p { color: #fff; font-size: 1.4rem; margin: 2rem 0; }
.formcontatti button.cta { margin-top: 4rem; width: 100%; font-size: 1.8rem }
.formcontatti .containercheck a { font-size: 1.3rem }
.fancybox-slide--html .fancybox-close-small { color: #fff!important }
.formcontatti .t2 { margin-bottom: 2rem }
.formcontatti .upload input { margin: 0 0 1.5rem; padding: 0 0 1rem; font-size: 1.4rem }
.formcontatti .upload p { font-size: 1.8rem; padding: 0; margin: 1rem 0; }*/

/*formcareers*/
.formcontatti input, .formcontatti textarea { width: 100%; margin: 1.5rem 0; padding: 1rem 0; background-color: transparent; color: #fff; font-size: 1.8rem; font-family: 'Montserrat', sans-serif; border:none; border-bottom: 1px solid #fff }
.formcontatti { text-align: left; max-width: 90rem; width: 100%; padding: 4rem; margin: 0 auto; border-radius: 1rem; box-shadow: 0 0 10px rgba(0,0,0,0.5) }
.formcontatti p { color: #fff; font-size: 1.4rem; margin: 2rem 0; }
.formcontatti button.cta { margin-top: 4rem; width: 100%; font-size: 1.8rem }
.formcontatti .containercheck a { font-size: 1.3rem }
.fancybox-slide--html .fancybox-close-small { color: #fff!important }
.formcontatti .t2 { margin-bottom: 2rem }
.formcontatti .upload input { margin: 0 0 1.5rem; padding: 0 0 1rem; font-size: 1.4rem }
.formcontatti .upload p { font-size: 1.8rem; padding: 0; margin: 1rem 0; }

.form ::-webkit-input-placeholder { /* Edge */color: #818181; font-style: normal; opacity: 0.7;}
.form :-ms-input-placeholder { /* Internet Explorer 10-11 */color: #818181; font-style: normal; opacity: 0.7;}
.form ::placeholder {color: #818181; font-style: normal; opacity: 0.7;}
.form input, .form textarea { width: 100%; margin: 1.5rem 0; padding: 1rem 0; background-color: transparent; font-size: 1.8rem; font-family: 'Montserrat', sans-serif; border:none; border-bottom: 1px solid #ccc }
.form {width: 49%; padding: 4rem;}
.form p { font-size: 1.4rem; margin: 2rem 0; }
.form button.cta { margin-top: 4rem; width: 100%; font-size: 1.8rem }
.form .containercheck a { font-size: 1.3rem }
.form .ca { margin: 1rem 0 -1.5rem }
.contatti { margin: 6rem 0; }
.contatti .container.flex { justify-content: space-between; align-items: flex-start; }
.contatti .bgbluu { width: 49%; padding: 2rem 4rem }
.contatti .dato { flex-direction: column; width: 100%; border-bottom: 1px solid rgba(255,255,255,0.2); padding:2rem 0 }
.contatti .dato:last-child { border-bottom: 0 }
.contatti .dato a img { height: 2rem }
.contatti .dato .flex { align-items: center; }
.contatti .dato .flex img { width: 3rem; margin-right: 5px; }
.contatti .dato a.flex { margin: 0.4rem 0 0 3.4rem; }
.contatti .dato a.flex img { width: 2rem; margin-right: 9px }
.contatti .dato a:hover { color: #2098d5 }
.contatti .title { margin-bottom: 1rem }
.maps { width: 100%; background-color: #eee; height: 60vh }

.bgpage { height: 60vh; object-position: center; object-fit: cover; width: 100%; margin: -0.3rem 0 }

.slidebanner .flex { justify-content: space-between; align-items: center; }
.slidebanner .flex .txt { text-align: left; width: 49% }
.slidebanner .flex .txt .line { margin: 2rem 0; }
.slidebanner .slidepage { width: 48% } 
.slidebanner .slidepage .my-arrows { width: 11rem }
.slidebanner .cta.flex { justify-content: flex-start; width: 100% }
.ciclo.flex { justify-content: center; }
.ciclo .box { padding: 3rem; width: 40rem; margin: 1%; background-color: #eee; display: flex; flex-direction: column; justify-content: center; align-items: center;}
.ciclo .box .icon { width: 8rem }
.ciclo .box .t2 { margin: 2rem 0 }
.ciclo .box.big { width: 100% }

#image-map-pro-container { max-width: 73rem; margin: -8rem 4% 0 0; }
.boxdivlegenda { width: 30rem; border: 5px solid #ddd; z-index: 2; }
.imgmappacontesto { display: none; }
.divlegenda { width: 100%; height: 40rem; overflow: scroll;}
.imp-shapes-menu-wrap { width: 100%!important }
.mappacontesto { width: 100%; box-shadow: 0 0 20px rgba(0,0,0,0.3); z-index: 2; }
.mappacontainer { justify-content: center; flex-direction: row-reverse; align-items: center; position: relative; margin: 2%; }
.imp-close-responsive-menu { display: none; }
.squares-container p, .squares-container h3 {font-family: 'Montserrat', sans-serif!important}
.squares-container h3 { font-size: 2rem!important; font-weight: bold!important; }
.squares-container p { font-size: 1.3rem!important; line-height: 1.4!important }
.bannercontact { padding: 6rem 0 }
.space { height: 6rem; width: 100% }
.partners { padding: 4rem 0 }
.partners .imgs { justify-content: center; margin: 3rem 0 }
.partners .imgs img { height: 9rem; width: auto; margin: 1%; border:1px solid #ccc; padding: 2rem }

.error {height: auto; min-height: 80vh; display: flex; justify-content: space-between; align-items: center;}
.error.banner { padding: 4rem 0 }
.error .perror { font-size: 12vw }
.pr { position: relative; }

/*style check box*/
.containercheck { text-align: left;
  margin-top: 3rem; font-size: 1.3rem;
  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: 0.2rem;
  border: 1px solid #aaa;
}

/* 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: #005fab;
}

/* 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.5rem;
  top: 0.1rem;
  width: 0.5rem;
  height: 1rem;
  border: solid white;
  border-width: 0 0.3rem 0.3rem 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (max-width: 1380px) {
    header .menu li { padding-left:2.5% }
    header .logo img { width:25rem }
    header .menu { width: calc(100% - 26rem); }
}    

@media screen and (max-width: 1224px) {
html { font-size: 9.5px }
header .logo img { width: 24rem }
header .menu { width: calc(100% - 26rem); }
.container { width: 95% }
}

@media screen and (max-width: 1088px) {
.boxdivlegenda { display: none; }
.imgmappacontesto { display: block; width: 26rem; z-index: 1; position: absolute; top: 5rem; left: 2rem; border-radius: 0.5rem; box-shadow: 0 0 10px rgba(0,0,0,0.2)}
#image-map-pro-container { margin-right: 0; }
}

@media screen and (max-width: 1100px) {
header .menu { display: none; }
/*sidenav*/
.menuresponsive { display: block;}
.menuresponsive img { width: 4rem; }
#mySidenav { display: block; z-index: 1000;}
.sidenav { height: 100%; width: 0; position: fixed; z-index:1; top: 0; right: 0; overflow-x: hidden; transition: 0.5s; }
.sidenav a { text-decoration: none; font-size: 2rem; color: #fff; font-weight: bold; display: block;transition: 0.3s; }
.sidenav .closebtn { width: 3.5rem; opacity: 1; position: absolute; top: 2rem; right: 3rem; }
.sidenav .logonav { width: 20rem; padding-bottom: 2rem }
.sidenav .flexnav { width: 100%; }
.sidenav .flexnav .bgcolor { background-color: rgba(18,155,219,0.3); width: 10%; height: 100%; position: absolute; left: 0; top: 0 }
.sidenav .flexnav .bg { background-color: #005FAB; padding: 8rem 4rem; width: 90%; margin-left: 10%; min-height: 100vh; height: 100%; }
.sidenav .flexnav .bg .divblock { display: block; padding: 2rem 0; font-weight: lighter; }
.sidenav li { width: 100%; text-align: left; padding: 1rem 0; }
.open-close-box { position: relative; }
.open-close-box li { width: 100%; border-bottom: 0 }
.open-close-box li a { display: inline-block; color: #fff; font-weight: bold; }
.open-close-box .btnmore { right: 0; top: 0; width: 50%; position: absolute; height: 5rem; cursor: pointer; }
.sidenav .open-close-box img { width: 2rem; position: absolute; right: 5px; top: 0.2rem}
header .open-close-box .text_open { text-align: left; padding-bottom: 2rem;}
header .open-close-box .text_open a { display: flex; align-items: center; padding:0 0 1rem 0; font-size: 2rem; opacity: 0.6 }
.sidenav .lang { justify-content: flex-start; border-bottom: 1px solid rgba(255,255,255,0.3); margin-bottom: 1.5rem; padding-bottom: 2.5rem }
.sidenav .lang a { font-size: 1.5rem; align-items: center; display: flex; margin-right: 1rem }
.sidenav .lang a img { margin-right: 4px }
.sidenav .cta { margin-top: 2rem }

.servizi .flex { justify-content: center; }
.servizi .box { width: 100%; max-width: 50rem; margin-bottom: 3rem; min-height: 30rem }
.servizi { padding: 8rem 0 4rem }

footer .logo img { width: 20rem }

.page .servizi { min-height: auto; padding-bottom: 4rem; }

.flexbox { margin-top: 1rem }
.altro.servizi .box { width: 100%; max-width: 100%; }
.flexbox .box { width: 48%; margin-top: 2% }
.slidepage { width: 49% }
.slidetab .txt { width: 49% }
.openclose-mezzi .slidetab { align-items: flex-start; }

.form, .contatti .bgbluu { width: 100% }
.contatti .bgbluu { margin-top: 5rem }

.imp-fullscreen-tooltips-container .imp-fullscreen-tooltip.imp-tooltip-visible { background: rgba(129, 129, 129, 0.95)!important; border: 1rem solid #fff!important; }
.squares-container p { font-size: 1.5rem!important; line-height: 1.5!important }

.slidebanner .flex .txt { text-align: center; width: 100% }
.slidebanner .slidepage { width: 100%; margin-top: 4rem }
.slidebanner .cta.flex { justify-content: center; }
.slidebanner .flex .txt .line { margin: 2rem auto }

} 

@media screen and (max-width: 768px) {
.mappa .flex { text-align: center; justify-content: center; align-items: center; flex-direction: column; }
.mappa .flex.cta {flex-direction: row;}
.mappa .flex .txt { text-align: center; width: 100%; margin-bottom: 4rem }
.mappa .flex .txt p { width: 100%; max-width: 100% }
.mappa .flex .img { width: 100% }
footer { padding: 3rem 0 2rem }
footer .cl { width: 100%; text-align: center; margin: 2rem 0 }
footer .logo img { width: 100%; max-width: 35rem }
.credits .flex { flex-direction: column; }
#slidehome { position: relative; }
.slideindex .container { height: auto; }
.slideindex { background-color: #005FAB; flex-direction: column-reverse; display: flex; height:100%; min-height: auto }
.slideindex .txt { padding: 6rem 0 }
.slideindex .txt .cta { opacity: 0.6; width: 100% }
.slideindex .txt { text-shadow: 0 0 30px rgba(0,0,0,0.4); }
#slidehome .my-arrows {display: none; }
.bggradient { background: rgb(0,95,171); background: linear-gradient(0deg, rgba(0,95,171,1) 0%, rgba(34,156,216,0) 100%);  }
.slideindex .bggradient { bottom: inherit; top: 20rem; height: 20rem }
.slidehome .splide__slide { height: 40rem; min-height: auto }

.slidepage { width: 100% }
.slidetab .txt { width: 100%; margin-top: 2rem }
.openclose-mezzi .slidetab { flex-direction: column; }
.openclose-mezzi .open-close-box .title { width: 90%; font-size: 2.4rem }

.bannertxt .txt { width: 100%; padding: 4rem 0; text-align: center; min-height: auto; display: block; }
.bannertxt .img { width: 100%; position: relative; margin-bottom: 6rem; }
.bannertxt .txt .line { margin: 2rem auto }

.careers { text-align: center; }
.careers .row { text-align: center; flex-direction: column; justify-content: center; }
.careers .row .info { width: 100%; margin-bottom: 2rem }
.fancybox-content { padding: 10%!important }

.flexbox .box img { height: 28vw }
.bannertxt .imgsquare, .bannertxt .splide { width: 100%; position: relative; margin-bottom: 4rem }

.imgmappacontesto { width: 20rem; top: 3rem }

.posizioni .box .txt { width:100%; margin-bottom:2rem }
}

@media screen and (max-width: 600px) {
html { font-size: 9px }
.menuresponsive { display: block; position: fixed; top: 1.5rem; right: 2rem }
.preheader .lang { display: none; }
/*.preheader .info { padding: 1.5rem 0 }*/
.preheader .info { padding: 0.5rem 0; justify-content: flex-start; }
.preheader .info .cta.flex { display: none!important }
header .logo { width: 100%; text-align: center; }
header .logo img { width: 85%; padding: 1rem 0 }
.sticky { padding: 1rem 0 0.5rem }
.sticky .logo { text-align: left; width: 50% }
.sticky .logo img { width: 20rem; padding: 0 }
.hidden-sticky { height: 12rem }
/*.slideindex { height: 70vh; overflow: hidden; min-height: 40rem }
*/.bggradient { background: rgb(0,95,171); background: linear-gradient(0deg, rgba(0,95,171,1) 0%, rgba(34,156,216,0) 100%);  }
.t1 { font-size: 4rem; line-height: 1.1 }
.slideindex .txt .t2 { margin: 1.4rem 0 2.5rem }

.slideindex .bggradient { bottom: inherit; top: 15rem; height: 15rem }
.slidehome .splide__slide { height: 30rem; min-height: auto }

.boxtxt { padding: 5rem 0 }
.servizi { padding: 5rem 0 4rem }
.contatti .dato a.flex { margin-left: 2px }
.form { padding: 1rem 2.5rem 2.5rem }
.contatti .bgbluu { padding: 1rem 2.5rem }

.banner .txt { text-align: center; }

.t3 { margin: 2.5rem 0 1rem;}
.slidepage .my-prev { margin-top: 13px }

.formcontatti { padding: 2rem }

.imgmappacontesto {position: relative; margin-bottom: 5rem; left: inherit;} 

.error .perror { font-size: 32vw }
}

@media screen and (max-width: 400px) {
html { font-size: 8.5px }
}