* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {/* font-size: 62.5%*/ font-size: 10px }
/*body { font-family: 'Acumin', sans-serif; color: #17427f; background-color: #d7d9d8; }*/
body { font-family: 'Roboto', sans-serif; color: #17427f; background-color: #d7d9d8; letter-spacing: 0.5px }
.body { background-color: #fff; font-weight: 300; max-width: 600rem; margin: 0 auto; overflow: hidden; }
ul, li, h1, h2, h3, h4, h5, p { list-style: none; }
a { text-decoration: none; color: #17427f; outline: none }
:focus { outline: none!important; }
:active { outline: none!important; }

p { line-height: 1.5; font-size: 1.8rem;  }
.container { max-width: 130rem; margin: 0 auto; padding: 0 1%; width: 90%; }
button { background-color: transparent; border: none; font-family: 'Roboto', sans-serif; }
select, input, textarea { font-family: 'Roboto', sans-serif; color: #17427f }
.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; }
.orange { color: #F9960E }
.blu { color: #17427f }
.red { color: #dc1c2d }
.bgg { background-color: #d7d9d8 }
.bgb { background-color: #17427f}
.bgblu { background-color: #17427f }
.bgred { background-color:#dc1c2d }
.bgfff { background-color:#fff }
b { font-weight: 600 }

/*TOP BUTTON*/
/*.back-to-top { text-align: center; position: fixed; z-index: 200; bottom: 0.5rem; right: 0.5rem; display: inline-block; margin: 1em; border-radius: 50%; }
.back-to-top img { width: 5rem; }
.back-to-top:hover {cursor: pointer; }*/

.hidden-sticky { height: 10rem }

.cta { text-transform: uppercase; transition: 0.5s; display: inline-block; padding: 1.6rem 4rem; font-size: 1.8rem; font-weight: 500 }
.cta.bgb:hover { background-color: #6383b6 }
.cta:hover { padding: 1.6rem 5rem }

header { position: fixed; top: 0; left: 0; right: 0; margin: 0 auto; max-width: 600rem; width: 100%; z-index: 11; background-color: #fff; align-items: center; justify-content: center; padding: 1rem 2rem .4rem}
header .logo { width: 14rem; transition: 0.3s }
header .logo img { width: 100% }
header .lang { position: absolute; right: 0; height: 100%; top: 0; width: 6rem; display: flex; align-items: center; justify-content: center; }
header .menuresp { transition: 0.3s; position: absolute; left: 1.8rem; top: 1.8rem }
header .menuresp button img { width: 3.8rem }

.bluline { z-index: 10; width: 7rem; height: 100vh; position: fixed; left: 0; top: 0; }

.dropdown2 { position: relative; cursor: pointer; font-size: 1.8rem}
.dropdown2:hover .dropdown-content2 {display: block;}
.dropdown2 img { margin-top: -2px; vertical-align: middle; width: 1.1rem }
.dropdown-content2 { background-color: transparent; text-align:center; display: none; position: absolute; width: 6rem; z-index: 3; right: 0rem; padding-top: 1rem; top: 4.9rem}
.dropdown-content2 a { background-color: #dc1c2d; color: #fff; font-size: 1.8rem; line-height: 1.2; width: auto; padding: 2rem 2rem; display: block; transition: all 0.2s ease 0s; }
.dropdown-content2 a:hover { background-color: #ba1222 }

.content-menu { position: relative; }
.dropdown { cursor: pointer; font-size: 1.6rem; width: 50rem; }
.dropdown img { margin-top: 0; vertical-align: middle; width: 1.1rem; position: absolute; right: 0; transition: .5s; }
.dropdown:hover .dropdown-content {display: block; left: 0; opacity: 1; z-index: 4}
.dropdown-content { transition: .5s; background-color: transparent;text-align: left;display: block;position: absolute;margin-left: 25rem; z-index: 3;left: -.5rem;top: 0; opacity: 0; width: 50rem;height: 100%; border-left: 1px solid #dc1c2d;}
.dropdown:hover {background-color:  }
.dropdown-content p { font-size: 1.6rem; padding: 1rem 2rem; line-height: 1 }
.dropdown-content a { background-color: ; color: #fff; font-size: 1.6rem; line-height: 1.2; width: auto; padding: 1rem 2rem; display: block; transition: all 0.2s ease 0s; }
.dropdown-content a:hover { color: #dc1c2d; background-color: ; }
.dropdown .pre-dropbtn { width: 25rem; }
.dropdown .dropbtn { transition: .5s; border-bottom: 4px solid transparent; text-transform: uppercase; position: relative; text-align: left; padding: 1rem 0; margin: 1rem 0; width: 80%;}
.dropdown:hover .dropbtn { width: 90%; border-bottom: 4px solid #fff; }
.dropdown:hover .dropbtn { color: #dc1c2d }

.video { width: 60rem; height: 40rem; position: absolute; bottom: 9rem; right: 9rem; }
.video .img { transition: 1s; object-position: center; object-fit: cover; width: 100%; height: 100% }
.video .play { transition: .3s; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); height: 10rem }
.video:hover .img { opacity: 0.7 }
.video:hover .play { height: 10.5rem }

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

.open-close-box { position: relative; margin: 2rem 0;}
.open-close-box .btnmore { right: 0; top: 0.5rem; width: 100%; position: absolute; height: 3rem; cursor: pointer; }
.open-close-box img { transition: 1s; width: 2rem; position: absolute; right: 1.2rem; top: 1rem}
.open-close-box .text_open { padding: 1rem 0 }
.open-close-box .text_open a { padding: 0 0 1rem 1rem; }

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

/*main*/
main { margin-top: 5.9rem }
.wapp { position: fixed; width: 7rem; top: 90vh; right: 2rem; border-radius: 50%; box-shadow: 0 0 10px rgba(0,0,0,0.2) }
.slidedesk { margin-left: 7rem; min-height: 70rem; height: calc(100vh - 6rem); display: flex; background-color: #17427f; }
.slidedesk .col { overflow: hidden; position: relative; width: 100%; transition: 1s; padding: 5rem; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; }
.slidedesk .col .txt { left: 10vw; bottom: 3rem; width: 30vw; position: absolute; opacity: 0; transition: 1s;}
.slidedesk .col:hover .txt  { opacity: 1; left: 3rem; }
.slidedesk .col:hover { width: 300vw; }
.slidedesk .col:hover .img { object-position: center!important; opacity: 0.6; filter: saturate(50%); }
.slidedesk .col .img { transition: 1s; position: absolute; height: 100%; width: 100%; object-fit: cover; top: 0; left: 0 }
.slidedesk .col video { transition: 0.5s; opacity: 0; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.slidedesk .col:hover video { opacity: 1; }
.slidedesk .col .bgblut { padding: 1.5rem 5rem; background-color: rgba(36,75,130,0.8); color: #fff; display: inline-block; }
.slidedesk .col .bgbt { padding: 2rem 5rem; line-height: 1.2; background-color: rgba(0,0,0,0.5); color: #fff }
.slidedesk .col .bgblut p { font-size: 1.5rem }
.t1 { font-size: 4rem; font-weight: 400 }
.t4 { font-size: 3.1rem; font-weight: 400; line-height: 1.1; margin: 1rem 0 }
.t3 { font-size: 2rem; font-weight: 500 }
.t2 { font-size: 3.5rem; font-weight: 400 }
.slidedesk .col .bgbt span { transition: 0.5s; display: inline-block; margin-top: 1.5rem; font-size: 1.5rem }
.slidedesk .col .bgbt span:hover { opacity: 0.8; text-decoration: underline; }

.tbig { font-size: 8.5rem; font-weight: 300; line-height: 1.1 }
.tbig span { display: block; }
.tbig b { font-weight: 500 }
.pbig { font-size: 2.2rem; line-height:1.5 }

.sec1 { padding: 12rem 0; margin-left: 4rem; }
.page .sec1 { padding: 8rem 0; margin-left: 0}
.sec1 .secflex { justify-content: space-between; align-items: center; }
.sec1 .img-eff { position: relative; width: 45%; text-align: center; }
.sec1 .img-eff .shape { position: absolute; }
.sec1 .img-eff .sh1 { left: -3rem; bottom: -3rem; width: 21.5rem; }
.sec1 .img-eff .sh2 { left: 60%; bottom: -3rem; width: 16rem; }
.sec1 .img-eff .png { max-width: 45rem }
.sec1 .txt { width: 50% }
.sec1 .pbig { margin-top: 4rem }
.sec1 .cta { margin-top: 5rem }

.sec1.chisiamo .img-eff .sh1 { left: 3rem; }
.sec1.carri .img-eff .sh1 { left: 4rem; }

.sec1.corp .img-eff .sh1 { left: 4rem; width: 88%; top: 3rem; bottom: inherit; }
.sec1.corp .img-eff .sh2 { left: 4rem; bottom: 1rem; }

.sec1.sost .img-eff .sh1 { left: 4rem; width: 28.5rem }
.sec1.sost .img-eff .sh2 { left: 38%; bottom: inherit; top: 4rem}

.sec1.stra .img-eff .sh1 { left: inherit; right: 14%; top: 8rem; width: 30% }
.sec1.stra .img-eff .sh2 { left: 4rem; width: 50%; bottom: 0;}


.sec1.reverse .jpg { max-width: 42rem }
.sec1.reverse .secflex { flex-direction: row-reverse; }

.bannernews .curva { width: 100%; position: absolute; top: 0; left: 0; height: 20rem; object-fit: cover; object-position: center bottom; }
.bannernews { margin-top: -10rem; margin-left: 4rem; min-height: 50vh; padding: 35rem 0 13rem; margin-top: -6rem; width: 100%; position: relative; background-size: cover; background-position: top center;}
.bannernews p { font-size: 2.2rem; font-weight: bolder; margin-top: 5rem }
.bannernews p img { width: 3rem; vertical-align: middle; margin-top: -7px }

.indexdati { justify-content: space-between; }
.indexdati .dato { transition: 0.3s; width: 33.33%; padding: 2rem 5rem; border-right: 2px solid #e3e8ef }
.indexdati .dato:last-child { border: 0 }
.indexdati .dato:hover { box-shadow: 15px 0 10px rgba(0,0,0,0.1); margin-top: -1rem; border-right: 2px solid #e3e8ef }

.indexdati .dato .icon .svg { width: 90%; margin: 2rem 0 4rem}
.indexdati .dato .icon .p { font-size: 3.5rem; font-weight: 600; text-transform: uppercase; }
.indexdati .dato .t3 { margin-bottom: 1rem }
.indexdati .dato .icon .number { font-size: 8.5rem; font-weight: 500; margin-top: -1.5rem }

.form .input p { margin: 1.5rem 0 .5rem; }
.form .input input { font-size: 1.8rem; width: 100%; background-color: #f4f6f8; border: 0; border-radius: 0; padding: 1.5rem; }
.form .flex { justify-content: space-between; }
.form .flex .input { width: 48% }

.newsletter .info { font-size: 1.3rem; margin: 3rem 0 0; }
.newsletter .info a:hover { color: #5881b7 }

footer .container { position: relative; justify-content: space-between; }
footer { padding: 5rem 0 }
footer .cl img { width: 14rem; margin-bottom: 2rem }
footer p, footer a, .credits p, .credits a { font-size: 1.5rem; color: #fff }
footer .player p { font-size: 2.5rem; text-align: center; font-weight: bolder; padding: .56rem; width: 33rem; position: absolute; top: -9.8rem; right: 0 }
footer .cl { width: 50% }
footer .cl2 { width: 50%; }
footer .cl2 .social { display: flex; align-items: center; justify-content: flex-end; }
footer .cl2 .social img { width: 4rem; margin-left: 1rem }
footer .cl2 ul { margin: 4rem 0; justify-content: space-between; }
footer .cl2 .icons { width: 100%; padding-left: 20%; margin-top: 1rem }
.credits { padding: 0 0 5rem }

/*pages*/
.pagebg { position: relative; }
.pagebg .imgmob { display: none; }
.pagebg .imgdesk { width: 100%; height: 50vh; object-fit: cover; object-position: center; }
.pagebg video { position: absolute; top: 0; left: 0; width: 100%; height: 50vh; object-fit: cover; object-position: center; }
.sec1 .flexstart { align-items: flex-start; }
.sec1 .flexstart .png { margin-top: 10rem }
.sec1 .flexstart .t4 { margin-bottom: 4rem }
.sec1.reverse { padding-left: 6rem }
.sec1.reverse .flexstart .png { margin-top: 0rem }

.brands .title { align-items: center; display: flex; justify-content: space-between;}
.brands .title .line { width: 100%; background-color: rgba(255,255,255,0.3); height: 5px }
.brands .t2 { min-width: 36rem; text-align: center; }
.brands .brandimg { align-items: center; justify-content: center; margin-top: 6rem }
.brands .brandimg a { padding: 2rem; width: 25%; text-align: center; }
.brands .brandimg img { max-width: 22rem; width: 100%; }
.bannernews.brands { margin-left: 0 }

.ulnumber { margin: 4rem 0 }
.ulnumber li { display: flex; font-size: 2.2rem; margin: 1.5rem 0; }
.ulnumber li span:first-child { margin-right: 1rem; font-weight: bolder; }
.smallp { font-size: 1.3rem; line-height: 2 }
.fancybox-bg { background-color: #17427f!important }
.fancybox-slide--html { padding: 2rem!important }

.bgcontatti { position: relative; }
.bgcontatti .bglblu { width: 100%; height: 30vw; background-color: #668dbe }
.bgcontatti .img { height: 28vw; position: absolute; top: 20%; width: 50%; left: 0; right: 0; margin: 0 auto }
.bgcontatti .img img { width: 100%; object-fit: contain; height: 100%; }

.formcontatti { margin: 14rem auto 8rem; max-width: 100rem; padding: 0 4rem }
.form.formcontatti input, .form.formcontatti textarea { width: 100%; background-color: #fff; border-radius: .5rem; border: 1px solid #000 }
textarea { min-height: 10rem; padding: 1rem; font-size: 1.8rem; }
.formcontatti .input p { font-weight: 500 }
.formcontatti .tbig { margin-bottom: 3rem }
.formcontatti .containercheck { font-size: 1.7rem; line-height: 1.5 }
.bright { margin-top: 4rem; width: 100%; display: flex; justify-content: flex-end!important; }
.bright button { font-size: 2.5rem }

.sedi { justify-content: center; max-width:60rem; width: 100%; margin:16rem auto 0; }
.sedi .sede { width: 100%; border-bottom: 2px solid; margin: 2rem 0; padding-bottom: 4rem; }
.sedi .sede.line { display: flex; flex-direction: column; align-items: flex-end; border-right: 3px solid }
.sedi .t2 { font-size: 5rem; font-weight: 300; margin-bottom: 2rem }

.maps { width: 100%; background-color: #f0f2f8; height: 80vh;}

.page footer { margin-top: -5px; position: relative; z-index: 2; }

.bannernews .boxes { justify-content: space-between; }
.bannernews .boxes .box { transition: 0.3s; width: 33.33%; padding: 5rem; border-right: 3px solid rgba(255,255,255,0.2); }
.bannernews .boxes .box:nth-child(3), .bannernews .boxes .box:nth-child(6) { border: 0 }
.bannernews .boxes .box p { font-weight: lighter; }
.bannernews .boxes .box img { width: 17rem; margin-top: 5rem }
.bannernews .boxes .box .t2 { text-transform: uppercase; }
.bannernews .boxes .box:hover { box-shadow: 15px 15px 10px rgba(0,0,0,0.3); }

.tappe { margin: 8rem 0 26rem; position: relative; }
.tappe .line { position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; width: 1.2rem; height: 100%; background-color: #17427f; border-radius: 1rem; }
.tappe .step { position: relative; margin-bottom: 8rem; width: 50%; align-items: center; flex-direction: row-reverse; margin-left: 7.5rem }
.tappe .step .circle { position: relative; z-index: 2; background-color: #fff; display: flex; align-items: center; justify-content: center; border: 1.2rem solid; border-radius: 50%; height: 15rem; width: 15rem }
.tappe .step .circle .arrow { width: 3rem; position: absolute; left: -3.7rem }
.tappe .step .circle p { font-size: 3.5rem }
.tappe .step .txt { width: calc(100% - 15rem); padding-right: 5rem; text-align: right; }
.tappe .step.revers { flex-direction: row; margin-left: calc(50% - 7.5rem) }
.tappe .step.revers .txt { text-align: left; padding-right: 0; padding-left: 5rem }
.tappe .step.revers .circle .arrow { right: -3.7rem; left: inherit; }
.tappe .step .img { position: absolute;width: 25rem; right: -26rem; }
.tappe .step.revers .img { right: inherit; left: -26rem }
.tappe .step.revers .img.s { right: inherit; left: -28rem }
 
.bannernews.bcorp p { font-weight: 300; width: 90%; margin: 0 auto }
.bannernews.bcorp { margin-left: 0 }

.bannernews .pplus { font-weight: 300; width: 90%; margin: 0 auto 10rem }

.perc { display: flex; flex-direction: column;
align-content: center;
justify-content: center;
align-items: center; }
.corp-sec { margin: 4rem 0 }
.corp-sec .title { align-items: center; display: flex; justify-content: space-between;}
.corp-sec .title .line { width: 100%; background-color: #17427f; height: 4px }
.corp-sec .t2 { width: 110%; text-align: center; }
.corp-sec { padding: 5rem 0 }
.perc .cir { width: 20rem; margin-top: 8rem }
.perc .cir.notop { margin-top: 2rem }
.perc .arr { width: 3.8rem; margin-bottom: 1rem }
.perc .circle { position: relative; z-index: 2; background-color: #fff; display: flex; align-items: center; justify-content: center; border: 1.2rem solid; border-radius: 50%; height: 18rem; width: 18rem }
.perc .circle .arrow { width: 3rem; position: absolute; left: -3.7rem }
.perc .circle p { font-size: 1.9rem; font-weight: 400 }
.perc .line-o { height: 3.8px; background-color: #17427f; width: 72.4rem; margin: 0 auto}
.perc .group { justify-content: space-between; width: 90rem; margin: 0 auto }
.perc .t5 { padding: 1rem; border-radius: 1rem; /*border: 2px solid #17427f;*/ max-width: 90rem; width: 95%; margin: 0 auto; text-align: center; font-size: 2.2rem; margin-bottom: 1rem; font-weight: 400 }
.perc .t5.margin { margin-top: 8rem }

.perc.ruoli .group { justify-content: center; }
.perc.ruoli .div { width: 33.33% }

.accordions { border-top: 2px solid #17427f; margin: 2rem 0 18rem; margin-left: 3rem }
.accordions .numb { font-weight: 500 }
.accordions .t1 { margin-left: 3rem; width: 50% }
.open-close-boxblu { padding: 3rem; border-bottom: 2px solid #17427f; position: relative;}
.open-close-boxblu .btnmore { right: 0; top: 0; width: 100%; position: absolute; height: 12rem; cursor: pointer; }
.open-close-boxblu img { transition: 1s; width: 6rem; position: absolute; right: 2rem; top: 5.5rem}
.open-close-boxblu .text_openblu { width: 45%; margin-left: 50%; margin-top: -4rem }

.banner_carriere.bannernews .boxes .box .t2 { text-transform: inherit; margin-top: 2rem }
.banner_carriere.bannernews .boxes .box .t2 span { display: block; }
.banner_carriere .tbig { margin-bottom: 6rem }
.banner_carriere .pbig { margin: 6rem 0 0; font-weight: 300 }

.carriere_acc { margin: 15rem 0 25rem }
.carriere_acc .open-close-boxblu { padding: 4rem }
.carriere_acc .open-close-boxblu img { top: 5rem }
.carriere_acc.accordions .t1 { margin-left: 0!important; width: 80% }
.carriere_acc .open-close-boxblu .text_openblu { width: 80%; margin: 2rem 0 0 }

.pulsanti_ab { align-items:flex-start; }
.pulsanti_ab .open-close-box { width:auto; margin-right:2rem; }
.pulsanti_ab .open-close-box a { font-size:1.8rem; font-weight: 500; color:#fff; padding:2rem 3.5rem 2rem 2rem; display:inline-block; }
.pulsanti_ab .open-close-box img { width: 1.3rem; top: 2.2rem; right: 1.5rem; -webkit-filter: invert(1); filter: invert(1); }
.pulsanti_ab .open-close-box .text_open { padding:0 }
.pulsanti_ab .open-close-box .text_open a { width: 100%; display: block; border-top:1px solid rgba(255, 255, 255, .3); }
.pulsanti_ab .open-close-box .text_open a img { position:relative!important; top:3px; width:2rem; right: auto; margin-right:5px }
.pulsanti_ab .open-close-box .btnmore { height:6rem }
.pulsanti_ab .open-close-box .text_open a:hover { background-color:rgba(0, 0, 0, .2); }

.candidatibg { padding: 10rem 0; position: relative; justify-content: center; align-items: center; background-image: url(../img/bgcarriere.jpg); width: 100%; height: 100%; background-size: cover; background-position: center; }
.candidatibg .back { position: absolute; top: 4rem; left: 12rem; color: #fff; display: flex; }
.candidatibg .back img { width: 5rem; margin-right: 1rem; }
.candidatibg .txt img { width: 16rem; margin-bottom: 2rem }

.candy { padding-top: 6rem; padding-bottom: 16rem }
.candy .candidatura .txt { width: 50%; }
.candy .candidatura .txt p { margin-top: 2rem }
.candy .candidatura { margin-left: 4rem; padding: 4rem 0; justify-content: space-between; align-items: flex-start; border-bottom: 2px solid }
.candipop { overflow: hidden!important }
.popup .formcontatti { margin: 0 }
.popup .formcontatti .input.allega input { padding: 0; border:0; }

.img-eff .number { width: 90%; max-width: 45rem; margin: 3rem 0 0 }

.table .ans { margin: 1rem .8rem }
.table { margin-top: 2rem }
.table .qp { margin-bottom: 1rem }
.table .box { padding: 1rem 1rem 0.1rem 1rem; background: #def0ff; margin-bottom: 1.5rem }
.button { display: flex; justify-content: flex-end; margin-top: 2rem }
.button button { font-size: 2.5rem }

.fancybox-infobar, .fancybox-navigation { display: none!important }

.txtprivacy { padding: 5rem 0rem 12rem 4rem }
.t3.bglblu { background-color: #def0ff; padding: 1rem; margin-top: 4rem }

/*whistleblowing*/
.secfull { padding-left:6rem; margin-top:6rem }
.mt2 { margin-top:2rem }
.mt4 { margin-top:4rem }

/*iso*/
.iso { padding:4rem 0; justify-content:center; }
.iso img { width:100%; border:2px solid #ccc; transition:.3s }
.iso a { width:16rem; margin:1rem}
.iso img:hover { border:2px solid #dc1c2d; }

/*style check box*/
.containercheck { text-align: left;
  margin-top: 4rem; 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: 2px;
  left: 0;
  height: 1.8rem;
  width: 1.6rem;
  background-color: #E5E7EA;
  border-radius: 0.2rem;
  border: 1px solid #17427f; border-radius: 0;
}

/* 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: #17427f;
}

/* 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.2rem;
  width: 0.3rem;
  height: 0.8rem;
  border: solid white;
  border-width: 0 0.2rem 0.2rem 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

[type="radio"]:checked,
[type="radio"]:not(:checked) {
    position: absolute;
    left: -9999px;
}
[type="radio"]:checked + label,
[type="radio"]:not(:checked) + label
{
    position: relative;
    padding-left: 22px;
    cursor: pointer;
    line-height: 20px;
    display: inline-block;
    font-size: 1.6rem; margin-right: 2rem;
}
[type="radio"]:checked + label:before,
[type="radio"]:not(:checked) + label:before {
    content: '';
    position: absolute;
    left: -5px;
    top: -2px;
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 100%;
    background: #fff;
    border: 1px solid;
}
[type="radio"]:checked + label:after,
[type="radio"]:not(:checked) + label:after {
    content: '';
    width: 14px;
    height: 14px;
    background: #17427f;
    position: absolute;
    top: 2px;
    left: -1px;
    border-radius: 100%;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
[type="radio"]:not(:checked) + label:after {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
}
[type="radio"]:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

/*slideresp*/
.slideindex { display: none; }

@media (max-width: 1600px) {
.wapp { top: 84vh }
}

@media (max-width: 1200px) {
html { font-size: 9.5px }
.bannernews { text-align: center; }
.tbig { font-size: 7.5rem }
}

@media (max-width: 1024px) {
.bluline, .wrapper, .slidedesk { display: none; }
header { justify-content: flex-start; padding: 1.5rem 2rem 1rem }

.sec1.corp .img-eff .sh1 { left: 4rem; width: 88%; top: 0rem; bottom: inherit; }
.sec1.corp .img-eff .sh2 { left: 4rem; bottom: -3rem; }

.bannernews { margin-left: 0 }
.sec1 .secflex { flex-direction: column; align-items: center; }
.sec1.reverse .secflex { flex-direction: column; }
.sec1 .img-eff { width: 100% }
.sec1 .img-eff.scomposta { width: auto; margin-bottom: 2rem }
.sec1 .txt { text-align: center; width: 90%; margin-top: 8rem }
.sec1 { margin-left: 0 }
.container { width: 100% }

.secfull { padding:0 }

/*slideresp*/
.slideindex { display: block; position: relative; height: 90vh; width: 100%; min-height: 65rem; margin: 0 auto; overflow: hidden; }
.slidehome .splide__slide .imgd { height: 90vh; min-height: 65rem; position: absolute; top: 0; right: 0; width: 100%; object-fit: cover; object-position: center; }
.slidehome .splide__slide video { height: 100%; width: 100%; position: absolute; left: 0; top: 0; object-fit: cover; object-position: center; }
.slidehome .splide__slide { height: 90vh; min-height: 65rem; display: flex; align-items: flex-end; justify-content: flex-start; position: relative; }
.slideindex .container { display: flex; align-items: center; height: 100% }
.slideindex .tslide { z-index: 1; position: relative; color: #fff; font-size: 4rem; text-shadow: 0 0 10px rgba(0,7,90,0.2); font-weight: 400; }
#slidehome { position: absolute; top: 0; left: 0; width: 100%; }
.slidehome .splide__slide .txt { padding: 4rem 3rem; max-width: calc(100% - 16rem); position: relative; z-index: 1; }
.slidehome .splide__slide .txt p { font-size: 1.4rem; margin-top: 3rem }
.slidehome .splide__slide .txt .t4 { margin-top: 1rem }
.slidehome .my-arrows {position: absolute; bottom: 20%; width: 12rem; height: 2rem; z-index: 2; right: 2rem; margin: 0 auto }
.slidehome .my-arrows button:focus {outline: none;}
.slidehome .my-arrows button { height: 3rem; width: 3rem }
.slidehome button.my-prev { cursor: pointer; background-image: url(../img/arrow_slide_prev.svg); background-repeat: no-repeat; }
.slidehome button.my-next { cursor: pointer; background-image: url(../img/arrow_slide.svg); background-repeat: no-repeat; position: absolute; right: 0 }
.slidehome .my-prev svg, .slidehome .my-next svg { display: none; }
.slidehome .my-prev svg, .slidegen .my-next svg path {fill:#5B3838; cursor: pointer;}
#slidehome .splide__pagination { display: none; }
 
 /*sidenav*/
.menuresponsive { display: block; position: absolute; top: 2.5rem; right: 8rem;}
.menuresponsive img { width: 3rem; }
#mySidenav { display: block; z-index: 1000;}
.sidenav { height: 100%; width: 0; position: fixed; z-index:1; top: 0; left: 0; overflow-x: hidden; transition: 0.5s; }
.sidenav a { text-transform: uppercase; font-weight: 400; color: #000; text-decoration: none; font-size: 2rem; display: block; transition: 0.3s; }
.sidenav .closebtn { width: 3rem; opacity: 1; position: absolute; top: 2.2rem; right: 8rem; }
.sidenav .logonav { width: 20rem; padding-bottom: 2rem }
.sidenav .flexnav { width: 100%; }
.sidenav .flexnav .bgcolor { background-color: rgba(0,0,0,0.2); width: 6rem; height: 100%; position: absolute; right: 0; top: 0 }
.sidenav .flexnav .bg { background-color: #fff; padding: 1.5rem 2rem; width: calc(100% - 6rem); margin-left: 0; 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; border-bottom: 1px solid rgba(255,255,255,0.3) }
.sidenav li a.flex { display: flex; justify-content: space-between; flex-wrap: nowrap; align-items: center; }
.sidenav li a.flex img { width: 4rem }
.sidenav ul { padding: 4rem 0 }
.sidenav .open-close-box { border-bottom: 4px solid #000 }
.c-social { justify-content: space-between; align-items: center;}
.c-social img { width: 4rem; margin-left: 5px }
.c-social .imgs { display: flex; align-items: center; }
.bannernews .t2 { padding: 0 4rem; }

/*pages*/
.sec1 .flexstart .png { margin-top: 0 }
.pagebg .imgdesk, .pagebg video { height: 50vh }
.page .sec1 { padding: 8rem 0 }

.bannernews .boxes .box { width: 50% }
.bannernews .boxes .box:nth-child(2), .bannernews .boxes .box:nth-child(4) { border: 0 }
.bannernews .boxes .box:nth-child(3) { border-right: 3px solid rgba(255,255,255,0.2); }

.tappe .step .circle .arrow { transform: rotate(-90deg); left: 0; right: 0; margin: 0 auto; bottom: -4.4rem }
.tappe .step.revers .circle .arrow { transform: rotate(90deg); left: 0; right: 0;}
.tappe .line { display: none; }
.tappe .step { margin-bottom: 10rem; justify-content: center; flex-direction: column!important; width: 100%!important; margin: 0 0 4rem!important;  }
.tappe .step .txt { max-width: 80rem; text-align: center!important; padding: 4rem 1rem 2rem!important; width: 100% }
.tappe .step .img { position: relative; left: inherit!important; right: inherit; margin-bottom: 4rem }

.perc .line-o, .perc .cg .arr { display: none; }
.perc .group { width: 100%; justify-content: center; }
.perc .group .div { margin: 2rem 2rem 0 2rem }
.corp-sec .title .line { display: none; }
.perc.ruoli .div { width: 25% }

.accordions { margin-left: 0 }
.open-close-boxblu .text_openblu { width: 100%; margin: 1rem 0 0 3rem; width: 80% }
.accordions .t1 { width: 100% }

.bannernews.banner_carriere .boxes .box { width: 31.33%; margin: 1%; padding: 3rem; border:2px solid rgba(255,255,255,0.2)!important; }
.bannernews.banner_carriere .t2 { padding: 0; font-size: 2.5rem }
.bannernews.banner_carriere .boxes .box img { width: 14rem; margin-top: 1rem }

.candy .candidatura { margin: 0 1rem }
.candidatibg .back { left: 2rem }
.candy { padding-top: 0 }
.txtprivacy { padding: 5rem 2rem 12rem 2rem }

.sec1.reverse { padding-left: 0rem; } 

.sec1.sost .img-eff .sh1 { width: 60%; left: 2rem }
.sec1.sost .img-eff .sh2 { left: 35%; top: -4rem }
}

@media (max-width: 768px) {
html { font-size: 9px }
.bannernews .curva { height: 14rem }
.bannernews { padding: 24rem 0 8rem }
.indexdati .dato { width: 100%; padding: 4rem }
.indexdati .dato .icon .svg { max-width: 30rem }
.indexdati .dato:hover { margin-top: 0 }
footer { padding: 4rem; position: relative; }
footer .cl, footer .cl2 { width: 100% }
footer .cl2 { display: flex; flex-direction: column-reverse; }
footer .cl2 .social { position: absolute; top: 0; right: 0 }
footer .cl2 .icons { padding: 0; margin: 4rem 0 }
.credits { text-align: center; padding: 0 0 2rem }
footer .player p { top: -8.9rem; right: -4.1rem }

.brands { padding: 24rem 0 14rem }
.brands .title .line { display: none; }
.brands .title { justify-content: center; }
.brands .brandimg a { width: 33.33% }

.bannernews .boxes .box { width: 100%; margin: 0 auto; border-right: 0!important; border-bottom: 3px solid rgba(255,255,255,0.2)!important;} 

.pagebg { display: none; }

.bannernews.banner_carriere .boxes .box { width: 30rem; margin: 2rem }
.bannernews.banner_carriere .boxes {justify-content: center;}
.banner_carriere .pbig { padding: 0 2rem }

.candy .candidatura .txt { width: 100% }
.candy .candidatura .cta { margin-top: 3rem }
.candipop .formcontatti { padding: 0 }
.candidatibg { padding: 12rem 0 6rem }
.candipop .tbig { font-size: 3rem; font-weight: 500; margin-top: 3rem }

.sec1.stra .img-eff .sh1 { top: 0; right: 3% }

.sedi { flex-direction: column; align-items: center; text-align: center; }
.sedi .sede { padding: 4rem; width: 90% }
.sedi .sede.line { align-items: center; border-right: 0; border-bottom: 3px solid }

.secfull { padding:0; margin-top:3rem }
.pagebg.fix { display:block; }
.pagebg.fix .imgdesk { height:auto; }

.sedi { margin-top:4rem }
}  

@media (max-width: 500px) {
.slideindex, .slidehome .splide__slide .imgd, .slidehome .splide__slide { height: 80vh;min-height: 65rem;  }
.sec1 { padding: 8rem 0 }
.sec1 .img-eff .png { width: 90% }
.sec1 .img-eff .sh1 { width: 44%; left: 2rem; }
.sec1 .img-eff .sh2 { width: 34% }
.sec1 .img-eff.scomposta .png { margin-left: 3rem }
.tbig { font-size: 5.5rem }
.sec1 .img-eff .png { max-width: 40rem }
.t2 { font-size: 2.5rem }
.bannernews .t2 { padding: 0 3rem }
.slidehome .my-arrows { width: 9rem }
.slidehome .splide__slide .txt { max-width: calc(100% - 15rem); }
footer .player p { padding: 0.57; font-size: 2rem; top: -8.1rem; width: 28rem }
.bannernews .curva { height: 10rem }
.bannernews { padding-top: 20rem }
footer { margin-top: 2rem }
footer span { display: block; opacity: 0.6 }
footer .cl2 ul { flex-direction: column; justify-content: flex-start; margin: 0 }
footer .cl2 ul a { margin-bottom: 1rem }
.brands .brandimg a { width: 50% }
.fancybox-content { padding: 2rem!important }
.formcontatti { padding: 0 2rem }
.bgcontatti .bglblu { height: 60vw }
.bgcontatti .img {height: 56vw; width: auto;}
.formcontatti { margin: 10rem 0 }
.maps { height: 50vh }
.perc .arr { display: none; }
.perc.ruoli .div { width: 100% }
.perc .t5 { margin-top: 3.5rem }
.perc .t5.margin { margin-top: 2rem }
.perc.ruoli { margin-bottom: 6rem }

.accordions .t1, .open-close-boxblu .text_openblu { margin-left: 0; width: 80% }
.accordions .t1 { font-size: 3rem }
.open-close-boxblu { padding: 3rem 2rem }
.carriere_acc .open-close-boxblu { padding: 4rem 2rem }

.table .ans { flex-direction: column; }
.table .ans p { margin: .25rem 0 }

.sec1.corp .img-eff.scomposta .png { margin-left: 0 }
.sec1.corp .img-eff .sh1 { left: 1rem; width: 94% }
.sec1.corp .img-eff .sh2 { left: 1rem; }

.pulsanti_ab .open-close-box { width:100%; margin:2rem 0 0 }
}