
.modal{
    display:none;
}
body .modal.open{
    display:block;
}

body.fs-modal-open{
    overflow:hidden;
    height:100vh;
}

.f-row{
  display:flex;
  flex-direction: row;
}

.f-col{
  display:flex;
  flex-direction: column;
}

.f-row > *, .f-col > *{
  flex:1;
}

.f-row.h-centered, .f-col.v-centered{
  justify-items: center;
  justify-content: center;
}

.f-row.v-centered, .f-col.h-centered{
  align-items: center;
  align-content: center;
}

.f-row.wrap,f-col.wrap{
  flex-wrap: wrap;
}



@media screen and (min-width: 980px) {
  body.overlay-modal-open .site{
    display:none;
  }

  body.fs-modal-open{
    overflow:auto;
    height:auto;
  }
}


*[data-si-tab]{
  display:none;
}

*[data-si-tab].active{
  display:block;
}


.auth-box{
    border-radius:2px;
    overflow:hidden;
    margin-bottom:50px;
    border-left: 5px solid #0033a1;
    margin-top:25px;
}

.auth-box .auth-box-header {
    color: #fff;
}

.auth-box .auth-box-body{
    background-color:#fff;
    border:1px solid #eee;
}

.auth-box .auth-box-header-switch {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    overflow: hidden;
    
}

.auth-box .auth-box-header-switch > a[data-si-tab-switch] {
    color: #0033a1;
    flex: 1;
    text-align: center;
    display: block;
    padding: 10px;
    background-color: #eee;
    font-weight: bold;
}

.auth-box .auth-box-header-switch > a[data-si-tab-switch].active {
    background-color: #0033a1;
    color:#fff;
    text-decoration: underline;
}

.auth-box .auth-box-header-switch > a[data-si-tab-switch]:focus,
.auth-box .auth-box-header-switch > a[data-si-tab-switch]:hover{
  text-decoration: underline;
}

.auth-box .auth-box-body form{
    display:none;
    flex-wrap:wrap;
    flex-direction: row;
}

.auth-box .auth-box-body form.active{
    display:flex;
}

.auth-box .input-container{
    flex:1 0 50%;
    width:50%;
    padding:25px;
}

.auth-box .input-container > *{
    display:block;
    
}
.auth-box .input-container > input{
    width:80%;
    border:1px solid #ddd;
}
.auth-box .input-container > *[type="submit"]{
    width: 120px;
    border: 1px solid #fff;
    background-color: #0033a1;
    margin-top: 20px;
    display: inline-block;
    color: #fff;
    padding: 10px;
}

.auth-box .input-container > *[type="submit"]:hover,
.auth-box .input-container > *[type="submit"]:focus{
  text-decoration: underline;
}

.auth-box .input-container label{
  font-weight: bold;
}

@media screen and (max-width: 700px) {
    .auth-box .auth-box-body form.active {
      display:block;
    }
    .auth-box .input-container{
        width:100%;
        text-align: center;
        margin:0 auto 0  auto;
    }
    .auth-box .input-container > *{
        width:100%;
    }
    .auth-box .input-container > *[type="submit"]{
        margin-left:auto;
        margin-right:auto;
    }
  }

.si-postsloader{
    flex:1;
}

.hidden{
  display:none;
}

ul.navlinksmulti li.nl a{
  position: relative;
}
ul.navlinksmulti li.active a{
  border-bottom:0;
}

ul.navlinksmulti > li > a .ico{
  transition:transform 0.15s ease;
  transform:rotate(90deg);
  -webkit-transform: rotate(90deg);
  flex:1 1 1;
}

ul.navlinksmulti > li.active > a .ico{
  transform:scale(1, -1) rotate(90deg);
  -webkit-transform:scale(1, -1) rotate(90deg);
}

ul.navlinksmulti > li > a .title{
  flex:1;
}

ul.navlinksmulti ul ul a{
  padding-left:0;
}


ul.navlinksmulti li.nl > a::after{
  content:'';
  border-bottom:3px solid #dbf11e;
  width:0%;
  position:absolute;
  bottom:0;
  left:50%;
  opacity:0.0;
  transition:width 0.5s ease,left 0.5s ease,opacity 0.5s ease;
}

ul.navlinksmulti li.nl.current-menu-item > a::after,
ul.navlinksmulti li.nl.current-menu-ancestor > a::after,
ul.navlinksmulti li.nl > a:active::after,
ul.navlinksmulti li.nl > a:focus::after,
ul.navlinksmulti li.nl > a:hover::after,
ul.navlinksmulti li.nl.active > a::after {
  width:100%;
  left:0;
  opacity:1;
}



ul.navlinksmulti .drop .sub-title a:hover,
ul.navlinksmulti .drop .sub-title a:focus{
    color:#dbf11e;
}

ul.navlinksmulti > li .drop ul.submenu-link li a:focus,
ul.navlinksmulti > li .drop ul.submenu-link li.active a{
    color:#dbf11e;
}

ul.navlinksmulti > li .drop{
  width:100%;
  min-width: auto;
  overflow: hidden;
  transition: min-height 150ms ease-in;
  padding:0;
  min-height:0;
  display:block;
  height:0;
  background: #0033a1dd;
  backdrop-filter: blur(7px);
}

ul.navlinksmulti > li .drop .content{
  padding:60px;
}

@media (min-width: 992px) {
  .header .main-navbar .row .d-flex {
    height: auto;
  }
  .header .main-navbar .row {
    height: auto;
  }
}

.header .main-navbar .head-actions.d-only{
  height:100%;
}

.header .main-navbar .head-actions.d-only > a{
  height:100%;
}

.service-item-box {
    border: 1px solid #ddd;
    display: block;
    padding: 50px;
    margin: 5px;
    text-decoration: none;
    position:relative;
    color:#0033a1;
    background-color:#fff;
    overflow:hidden;
}

.service-item-box .service-item-button{
  color:#0033a1;
  position: relative;
  z-index: 2;
}

.service-item-box .service-title {
    margin-bottom: 10px;
    font-size: 24px;
    max-width: 500px;
    position:relative;
    z-index:9;
    border-bottom:1px solid #eb0028;
}

.service-item-box .service-description {
    padding: 15px;
    font-size: 12px;
    position:relative;
    z-index:9;
}

.service-item-box .service-underlay{
    content:"";
    position:absolute;
    width:10%;
    height:100%;
    left:0;
    top:0;
    
    border-left:2px solid #0033a1;
    transition:width 0.5s ease, border-left 0.5s ease;
    z-index:1;

    background-size:cover;
    background-repeat: no-repeat;
}

.service-item-box .service-underlay .su-over{
  width:100%;
  height:100%;
  background-color: #eee;
  transition: all 0.5s;
}

.service-item-box .service-item-button:hover,
.service-item-box .service-item-button:focus{
    text-decoration: none;
}

.service-item-box .service-item-button:hover .service-title,
.service-item-box .service-item-button:focus .service-title{
    text-decoration: underline;
}

.service-item-box:hover .service-underlay,
.service-item-box:focus .service-underlay,
.service-item-box:focus-within .service-underlay{
    width:100%;
    border-left-width: 20px;
    z-index:0;
}

.service-item-box:hover .service-underlay .su-over,
.service-item-box:focus .service-underlay .su-over,
.service-item-box:focus-within .service-underlay .su-over{
  background-color: #ffffffbb;
}



.hero-banner-f-image{
    min-height:300px;
    display: flex;
    flex-direction: column;
}

.hero-banner-f-image .container{
  flex: 1;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
}

.hero-banner-f-image .title{
    font-size:40px;
    margin-top:15%;
    margin-bottom:5%;
    color:#222;
}



.hero-banner-f-image .title.over-img{
    color:#fff;
}

.hero-banner-f-image .hero-bread{
    position:static;
    padding:0;
    background-color:#ffffff55;
    backdrop-filter: blur(3px);
}

@media screen and (max-width: 700px) {
  .hero-banner-f-image .title{
    font-size:30px;
  }
}


.breadcumb{
  margin: 16px 37px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width:100%;
  padding:0 30px;
  
}

.breadcumb a,
.breadcumb span{
  display: inline-block;
  font-weight: 500;
  font-size: 14px !important;
  line-height: 1;
  color: #000000;
  text-decoration: none;
  vertical-align: middle;
  font-weight: 500;
}

.breadcumb .ico {
  margin: 0 11px;
  display: inline-block;
  height: 14px;
  width: 8px;
  background: url('../images/link-arrow-black.svg') no-repeat;
  background-size: auto;
  background-size: cover;
  vertical-align: middle;
}

.hero-bread .breadcumb{
  padding:15px 30px;
}

.hero-bread .breadcumb a,
.hero-bread .breadcumb span{
  color:#0033a1;
  
}


body{
    display: flex;
    flex-direction: column;
    padding-bottom:0;
}
.container-full.site {
    height: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow:hidden;
}

.sub-hero-area{
  padding-bottom:45px;
}

.sub-hero-area .container .title{
  font-size: 45px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 50px;
}

.wr-main{
    height: 100%;
    flex: 1;
    display:flex;
    flex-direction: column;
    overflow:hidden;
}

body .header{
  position:relative;
  transition:all 0.5s ease-in;
  top:0;
  margin-top:0;
  transition:background-color 0.0s ease,top 0.5s ease;
  background-color:#081677;
}

body.fixed-header .header .main-navbar{
  position:fixed;
  width: 100%;
  z-index:999;
  top:0;
  background-color:#0033a1;
  box-shadow:0 2px 10px rgba(0, 0, 0, 0.0);
  transition:box-shadow 0.5s ease;
}

body.fixed-header.fixed-header-shadow .header .main-navbar{
  box-shadow:0 2px 10px rgba(0, 0, 0, 0.2);
}

body.fixed-header.admin-bar .header .main-navbar{
  margin-top:30px;
}

@media screen and (max-width: 782px) {
  body.fixed-header.admin-bar .header .main-navbar{
    margin-top:46px;
  }
  html {
    margin-top: 0px !important;
  }
}


body.fixed-header .to-pre-header--superheader{
  visibility: hidden;
}

@media screen and (max-width: 768px) {
  body.admin-bar .header{
    padding-top:46px !important;
  }
  body.fixed-header .header .main-navbar{
    position:relative;
    top:0;
    margin-top:0px;
  }
  body.fixed-header{
    padding-top:0 !important;
  }
}

.footer {
    position: static;
}


.footer .decarb-banner {
  margin-right: 50px;
}
.footer .decarb-banner img {
  width: 60px;
}

/* content area */

.wr-page{
    display:flex;
    flex-direction: column;
    flex:1;
    padding:0px;
}
.wr-page .inner-limit{
    width:100%;
    flex:1;
}

.wr-page.limited .inner-limit{
    margin:0  auto 0 auto;
    max-width:1148px;
}

.wr-page .inner-limit.wr-title {
    flex: 0;
    margin-top:50px;
}

.wr-page .inner-limit.wr-content{
    flex:1;
    margin-top:50px;
}


.wr-page .title{
  text-align: left;
}

.wr-page header .title{
    font-size: 45px;
    font-weight: 700;
    margin-bottom: 50px;
}

@media screen and (max-width: 700px) {
  .wr-page .title{
    text-align: center;
  }

  .wr-page header .title{
    font-size:22px;
    text-align: left;
  }
}


.has-favored-image.promo-leaf{
    padding-top:10px;
}



.hero-banner-f-image .title{
    text-shadow: #222 1px 0 10px;
}
.hero-banner-f-image .date{
    text-shadow: #222 1px 0 10px;
    color:#fff;
    font-size:14px;
    padding-left:35px;
}




.hero-banner .swiper .swiper-slide{
  height:542px;
  max-height:100%;
  padding-bottom:150px;
}

@media (min-width: 768px) {
  .hero-banner .swiper .swiper-slide{
    height: 830px;
  }
}

@media (min-width: 992px) {
  .hero-banner .swiper .swiper-slide{
    height: 900px;
  }
}

.hero-banner.home-hero .swiper{
  height:auto;
}

.hero-banner .swiper {
  width: 100%;
}

.hero-banner .swiper .swiper-pagination{
  margin-bottom:90px;
  max-width:100%;
}

.hero-banner .swiper .swiper-pagination .swiper-pagination-bullet{
  width: 50px;
  border-radius: 0;
  background-color: #fff;
  transition: opacity 0.5s ease;
}

.hero-banner .swiper .swiper-pagination .swiper-pagination-bullet:hover,
.hero-banner .swiper .swiper-pagination .swiper-pagination-bullet:focus{
  opacity:1;
}

.hero-banner .swiper-slide{
  background-color:#fff;
  position: relative;
}

.hero-banner .swiper-slide > .container.row{
  height:100%;
  align-content: center;
  align-items: center;
  overflow-y: auto;
  max-height:100%;
  padding:0;
}

.hero-banner .swiper-slide > .container.row >  .col-12 > .content{
  color:#fff;
  font-size:40px;
  margin-bottom:25px;
  font-weight: bold;
  padding:15px 25px;
}
.hero-banner .swiper-slide > .container.row >  .col-12 > .title{
  font-size:30px;
  margin-bottom:25px;
  max-width: 100%;
  font-weight: bold;
  padding:0 25px;
}

.hero-banner .swiper .swiper-wrapper .swiper-slide .overflow{
  top:0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(2, 0, 36, 30%)), to(#001235));
  background: linear-gradient(180deg, rgba(2, 0, 36, 30%) 0%, #001235 100%);
}

.hero-banner .swiper .swiper-wrapper .swiper-slide img[data-src]{
  display:none;
}

.hero-banner .swiper .swiper-wrapper .swiper-slide a.link-arrow{
  display:inline-block;
  padding:0 25px;
}

.hero-banner .swiper-slide > .container.row > .col-12{
  max-height:100%;
  padding:0;
}

@media (max-width: 992px) {
  .hero-banner .swiper-slide > .container.row >  .col-12 > .content{
    font-size:50px;
    padding:15px 25px;
  }
  .hero-banner .swiper-slide > .container.row >  .col-12 > .title{
    font-size:28px;
    padding:0 25px;
  }

  .hero-banner .swiper-arrow{
    display:none;
  }
}

@media (max-width: 768px) {
  .hero-banner .swiper-slide > .container.row > .col-12{
    text-align: center;
    align-items: center;
  }
  .hero-banner .swiper-slide > .container.row >  .col-12 > .content{
    font-size:24px;
    text-align: center;
    margin-top: 30px;
    padding:15px 25px;
  }
  .hero-banner .swiper-slide > .container.row >  .col-12 > .title{
    font-size:36px;
    text-align: center;
    padding:0 25px;
  }
}



.home .wr-page{
  background-color:#0033a1;
}

.wr-page.err-404{
    text-align:center;
}


.si-posts-navigation{
    width:100%;
}

.ajp-link {
    border: 1px solid #eee;
    margin: 5px;
    padding:10px;
  }

  .post-categories{
    padding:0 0 25px 0;
  }

.post-categories .type {
    display: inline-block;
    padding: 3px;
    opacity: 1.0;
  }
  .post-categories .type a{
    color:#fff;
  }
.title-block a{
    color:#222;
}

.title-block .type a{
    color:#fff;
}

  .flex-container{
    flex:1;
    display:flex;
    flex-direction: column;
  }

  .has-child-pages .flex-container{
    flex-direction: row;
    margin:0 auto;
    max-width:1478px;
  }
  .has-child-pages .child-pages-links-wrapper{
    flex:0 1 auto;
    width:320px;
    margin-top:76px;
  }

  .has-child-pages:not(.has-favored-image) .flex-container > .container{
    margin-top:0;
  }

  @media screen and (max-width: 700px) {
    .has-child-pages .flex-container{
        flex-direction: column;
    }

    .has-child-pages .flex-container > .container{
        margin-top:72px;
    }

    .has-child-pages:not(.has-favored-image) .flex-container > .container{
        margin-top:72px;
      }
  }

.archive.contenuto-generico{
    padding-top:0;
}
.archive-title{
    color: #fff;
    padding: 100px;
    position: relative;
    z-index:1;
  }
  .archive-description{
    color: #ddd;
    padding-top:15px;
    max-width:520px;
    position: relative;
    z-index:1;
  }
  .archive-title .container{
    margin-top:0;
  }

  .styler .title {
    margin-left: -25px;
    word-break: break-all;
  }

  .styler .title .sq{
    font-size:14px;
    display:block;
    max-width:440px;
    padding-left:45px;
  }

  .styler{
    border-left: 5px solid #222;
    padding-top: 5px;
    padding-bottom: 5px;
    border-bottom-left-radius: 5px;
    position: relative;
  }

  .styler .deco{
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    font-size: 120px;
    color: #222;
    z-index: -1;
    opacity: 0.2;
    user-select: none;
    border-left: 5px solid #222;
    border-bottom-left-radius: 5px;
  }


  ul a.to-page{
    padding: 9px 24px;
    max-width: 180px;
    -webkit-box-shadow: 2px 2px #fff inset, -2px -2px #fff inset;
    box-shadow: 2px 2px #fff inset, -2px -2px #fff inset;
    margin-top:24px;
  }

  ul a.to-page:hover,
  ul a.to-page:focus{
    background-color: rgba(255, 255, 255, 0.2);
    text-decoration: none;
  }

  div.sub-menu a.to-page{
    margin: 0 auto 20px auto;
    color:#fff;
    display: inline-block;
  }

  .archive-wrapper .search-risultati.container{
    padding-top:50px;
    padding-bottom:50px;
  }

  .archive-wrapper .wr-search-form{
    border-bottom:1px solid #ddd;
    padding:15px;
  }
  .archive-wrapper .wr-search-form .container{
    margin-top:0;
  }

  .archive-wrapper .wr-search-form .search-form{
    text-align: right;
  }
  .archive-wrapper .wr-search-form .search-form input{
    border:1px solid #fff;
    padding:10px;
  }

  .archive-wrapper .wr-search-form .form-inline .form-control{
    padding-bottom: 7px;
    font-size: 40px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #000000;
    margin: 0;
    width: 100%;
    border: 0;
  }

  .archive-wrapper .wr-search-form .form-inline .sbtn{
    outline:none;
    border:none;
    background-color: transparent;
  }

  .archive-wrapper .wr-search-form .form-inline{
    width:100%;
    justify-content: center;
  }

  .archive-wrapper .wr-search-form .container{
    display:flex;
    flex-wrap: wrap;
  }

  .archive-wrapper .container.archive-container{
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding-top:50px;
    padding-bottom:50px;
  }



  .archive-wrapper .archive-card{
    flex:1 1 calc(100% / 2 - 10px);
    margin:5px;
  }
  @media screen and (max-width: 800px){
    .archive-wrapper .archive-card {
        flex: 1 1 calc(100% - 15px);
        margin: 5px;
      }
  }

  .search-card.tile-card{
    flex: 1 1 auto;
    margin: 5px;
    max-width: calc(100% / 4 - 15px);
  }

  @media screen and (max-width: 1248px){
    .search-card.tile-card {
        flex: 1 1 calc(100% / 3 - 15px);
        max-width: calc(100% / 2 - 15px);
        margin: 5px;
      }
  }
  @media screen and (max-width: 800px){
    .search-card.tile-card {
        flex: 1 1 calc(100% / 2 - 15px);
        max-width: calc(100% / 2 - 15px);
        margin: 5px;
      }
  }
  @media screen and (max-width: 480px){
    .search-card.tile-card {
        flex: 1 1 calc(100% - 15px);
        max-width: calc(100% - 15px);
        margin: 5px;
      }
  }

  #wr-results{
    margin-top: 67px;
  }

  #wr-results .hide{
    display:none;
  }

  #wr-results .group{
    margin-bottom:35px;
    border-bottom:1px solid #ddd;
  }


  .wr-results-switches ul.group{
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding:0;
    margin:0;
  }

  .wr-results-switches li {
    flex: 0 0 auto;
    list-style: none;
    margin-top:8px;
    margin-right: 40px;
  }
  .wr-results-switches li a{
    font-size: 18px;
    font-weight: 900;
    font-stretch: normal;
    font-style: normal;
    letter-spacing: normal;
    color: #949494;
    border-bottom:3px solid transparent;
    display:block;
  }

  .wr-results-switches li a .t{
    padding-right: 7px;
  }
  .wr-results-switches li a .n{
    font-size: 12px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
  }

  .wr-results-switches li a.current{
    border-bottom:3px solid #3073f4;
    color:#3073f4;
  }

  *[data-si-role=search-box]{
    display:flex;
    flex-direction: row;
  }



  .oa-carousel-item{
    width:100%;
    -webkit-box-shadow: 2px 2px #708ab8 inset, -2px -2px #708ab8 inset;
    box-shadow: 2px 2px #708ab8 inset, -2px -2px #708ab8 inset;
    min-height: 545px;
    display:flex;
    flex-direction: column;
    overflow: hidden;
  }

  .oa-carousel-item .img-wrap{
    width: 100%;
    height: auto;
    overflow: hidden;
    height:305px;
    background-color: #fff;
  }

  .oa-carousel-item .img-wrap img{
    width: 100%;
    height: 100%;
    margin: 0 auto;
    -webkit-transition: all linear 0.2s;
    transition: all linear 0.2s;
    object-fit: cover;  
  }

  .oa-carousel-item:hover .img-wrap img{
    transform: scale(1.35);
  }

  .oa-carousel-item .info{
    color: #222;
    padding: 0 32px;
    padding-bottom: 0px;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    min-height: 330px;
    padding-bottom: 32px;
    background-color:#fff;
  }

  .oa-carousel-item .info .title{
    font-size: 25px;
    font-weight: 700;
    line-height: 1.43;
    color: #222;
    margin-top: 28px;
    margin-bottom: 14px;
    text-transform: uppercase;
  }
  
  .oa-carousel-item .info .text{
    font-size: 16px;
    line-height: 1.44;
    font-weight: normal;
    color: #222;
  }

  .oa-carousel-item a.link-arrow,
  ul.navlinksmulti .menu-item a.link-arrow,
  .mobile-nav .menu-item a.link-arrow{
    transition:background-color 0.5s ease;
  }



  .oa-carousel-item a.link-arrow .ico,
  ul.navlinksmulti .menu-item a.link-arrow .ico,
  .mobile-nav .menu-item a.link-arrow .ico{
    margin:0;
    min-height: 100%;
    flex: 0 auto;
    padding: 24px;
    transition:background-color 0.5s ease;
    background-color: #081677;
    border-radius: 3px;
    background-size: 10px;
    display: inline-block;
    background-position: center;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    transform: rotate(0);
  }

  ul.navlinksmulti .menu-item a.link-arrow .ico{
    padding:18px;
  }

  .mobile-nav .menu-item a.link-arrow .ico{
    padding:22px;
  }

  .oa-carousel-item a.link-arrow.button,
  ul.navlinksmulti .menu-item a.link-arrow.button,
  .mobile-nav .menu-item a.link-arrow.button{
    margin-top:10px;
    padding:0;
    text-align: center;
    display: flex;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    box-shadow:none;
    border:2px solid rgba(255,255,255,0.7);
    border-top-width: 1px;
    border-bottom-width:1px;
    max-width:200px;
  }

  ul.navlinksmulti .menu-item a.link-arrow.button{
    margin-top:25px;
  }

  .mobile-nav .menu-item a.link-arrow.button{
    margin:0 auto;
  }

  .oa-carousel-item .link-arrow.button:hover,
  .oa-carousel-item .link-arrow.button:focus,
  ul.navlinksmulti .menu-item a.link-arrow.button:hover,
  ul.navlinksmulti .menu-item a.link-arrow.button:focus,
  .mobile-nav .menu-item a.link-arrow.button:hover,
  .mobile-nav .menu-item a.link-arrow.button:focus{
    background-color: rgba(255, 255, 255, 0.2);
    text-decoration: none;
  }

  .sub-hero-area .oa-carousel-item  .info{
    color:#fff;
    background-color:transparent;
  }
  .sub-hero-area .oa-carousel-item  .info .title,
  .sub-hero-area .oa-carousel-item  .info .text{
    color:#fff;
  }

  .sub-hero-area .oa-carousel-item  a.link-arrow .t,
  ul.navlinksmulti .menu-item a.link-arrow .t,
  .mobile-nav .menu-item a.link-arrow .t{
    color:#fff;
    flex: 1;
    padding: 5px;
    text-align: center;
  }

  ul.navlinksmulti .menu-item a.link-arrow .t{
    font-size:14px;
  }

  .mobile-nav .menu-item a.link-arrow .t{
    font-size:14px;
  }

  .oa-carousel-item .link-arrow.button:hover .ico,
  .oa-carousel-item .link-arrow.button:focus .ico,
  ul.navlinksmulti .menu-item .link-arrow.button:hover .ico,
  ul.navlinksmulti .menu-item .link-arrow.button:focus .ico,
  .mobile-nav .menu-item a.link-arrow.button:hover .ico,
  .mobile-nav .menu-item a.link-arrow.button:focus .ico{
    background-color: #2966ee;
  }

  .swiper-button-next,
  .swiper-button-prev{
    background: rgba(255,255,255,0.5);
    color: #ffffff;
    overflow: hidden;
    width: 40px;
    height: 40px;
    border:1px solid #fff;
    box-shadow: 0 0 0 0 #0033a100;
    transition: background-color 0.5s ease,box-shadow 0.5s ease,color 0.5s ease;
    position: static;
    margin:5px 5px;
  }

  .swiper-button-next::after,
  .swiper-button-prev::after{
    font-size:16px;
  }

  .swiper-button-next:hover,
  .swiper-button-prev:hover,
  .swiper-button-next:focus,
  .swiper-button-prev:focus{
    background: rgba(255,255,255,1.0);
    box-shadow: -3px -3px 5px 2px #0033a177;
    color:#0033a1;
  }

  .sub-hero-area .swiper-button-next,
  .sub-hero-area .swiper-button-prev{
    position:absolute;
    top:190px;
  }

  .hero-banner.home-hero{
    padding-top:0;
  }

  /*FIXES*/
  .modal-content {
    min-height: 100%;
  }
  .modal-container-cerca .modal-full-screen .modal-content{
    height:100%;
    overflow-y: auto;
    border:none;
  }

  button.sbtn {
    background: transparent;
    border: none;
    width:48px;
    height:48px;
  }



  .oa-territori-map-wrapper img{
    display:block;
    margin: 20px auto 20px auto;
  }

  .italymap-content{
    margin-top:50px;
  }

  .italymap-content.loading::after{
    content:"";
    width:100%;
    position:absolute;
    top:0;
    left:0;
    height:100%;
    background-color: #ffffffaa;
    z-index:3;
  }

  .italy-map-regions-list{
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    margin-bottom: 0px;
    margin-bottom: 20px;
  }

  .italy-map-regions-list li{
    display:inline-block;
    flex: 1;
    text-align: center;
  }

  .italy-map-regions-list li a {
    padding:30px 10px 30px 10px;
    display:block;
    font-weight:bold;
    border-bottom: 2px solid transparent;
    transition: border-color 0.5s ease;
  }

  .italy-map-regions-list li a.active {
    border-bottom: 2px solid #0033a1;
  }

  .italy-map-cities-box {
    display:none;
    height: 400px;
    overflow-y: auto;
  }

  .italy-map-cities-box.active{
    display:block;
  }

  .italy-map-cities-box ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0;
  }

  .italy-map-cities-box ul li {
    flex: 1 1 auto;
    display: inline-block;
    border: 1px solid #ddd;
    margin: 5px;
    text-align: center;
    transition: border-color 0.5s ease, color 0.5s ease;
  }

  .italy-map-cities-box ul li a {
    display: block;
    padding: 20px;
    word-wrap: break-word;
  }

  .italy-map-cities-box ul li:hover{
    border-color:#0033a1;
    color:#3073f4;
  }

  .featured-home-news .side-column{
    display:block;
  }

  .news-card .card-body .title-block .title{
    max-height:100% !important;
  }

  .cta-btn{
    display:inline-block;
  }

  .cta-btn{
    max-height: 100%;
  }

  .cta-btn a,
  .cta-btn button{
    background: #fff;
    color: #0033a1;
    margin-right: 10px;
    line-height: 25px;
    padding: 0px 10px;
    cursor: pointer;
    display: block;

    border:1px solid #ddd;
  }

  .wr-page.promo-leaf{
    padding-top:90px;
  }

  .container{
    max-width:1140px;
    padding:0 30px;
    margin:0 auto 0 auto;
    transition: padding 0.5s ease;
  }

  .container-full{
    max-width:100%;
    padding:0;
    margin:0 auto 0 auto;
  }

  .container-full.site{
    width: 100%;
  }

  .container{
    overflow: hidden;
  }
  .archive-title .container{
    overflow:visible;
  }

  .modal-full-screen{
    height:100%;
  }

  .modal-header{
    padding-top:32px;
  }

  .modal-header .close img{
    height:32px;
  }

  .contenuto-generico{
    padding-top:90px;
  }

  .contenuto-generico .flex-container{
    margin-top:50px;
  }

  .contenuto-generico.has-favored-image .flex-container{
    margin-top:0px;
  }

  .fs-modal.mobile-nav,
  .fs-modal.mobile-nav .sub-menu{
    display:block;
    visibility: hidden;
    position: fixed;
    width: 100vw;
    top:0;
    right: -100vw;
    left:auto;
    -webkit-transition: right 0.9s ease 0s;
    transition: right 0.9s ease 0s;
    height: 100%;
    overflow-y: scroll;
    z-index: 1000;
    background-color: #0033a1;
    -webkit-transition: right 0.3s,visibility 0.3s;
    transition: right 0.3s,visibility 0.3s;
  }

  .fs-modal.mobile-nav.open,
  .fs-modal.mobile-nav .sub-menu.open{
    right:0;
    visibility: visible;
    overflow-y:auto;
  }

  .mobile-nav li > a{
    display: block;
    font-size: 20px;
    line-height: 24px;
    padding: 35px 50px;
    color: #ffffff;
    text-decoration: none;
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }

  .mobile-nav li > a img{
    position: absolute;
    top: 36px;
    right: 45px;
    width: 10px;
    height: 20px;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  }

  .mobile-nav .sub-menu-description{
    color:#fff;
    margin:0 0 45px 67px;
    max-width:60%;
  }

  .mobile-nav .sub-menu-linkto{
    text-align: center;
  }

  .mobile-nav .back{
    color:#dbf11e;
  }

  .mobile-nav .back .title {
    display: inline-block;
    vertical-align: middle;
  }

  .mobile-nav .back span.ico {
    display: inline-block;
    vertical-align: middle;
  }

  .row{
    margin-right:auto;
    margin-left:auto;
  }

  .col{
    padding-right:0;
    padding-left:0;
  }

.scrollTop{
  top:auto;
  bottom:100px;
  opacity:0.8;
  transition: opacity 0.3s;
}

.scrollTop:hover,
.scrollTop:focus{
  opacity:1.0;
}

.contenuto-faq > main{
  display:flex;
  flex-direction: column;
  flex:1;
}

.contenuto-faq .row[data-vnx-obj=faqs-area] a:link{
  color:#222;
}

@media screen and (max-width: 1024px){
  .contenuto-faq .row[data-vnx-obj=faqs-area]{
    display:block;
  }
}

.contenuto-faq .topic-wr,.si-ajax-target{
  min-height:30px;
}

.contenuto-faq .topic-wr,
[data-si-role=si-loader-target]
{
  position:relative;
}

.contenuto-faq .topic-wr .topic-overlay,
[data-obj=si-postsloader] .si-loader-overlay{
  display:none;
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  z-index:9;
  background:rgba(255,255,255,0.7) url("./ajax-loader.gif") center center no-repeat;
}

.contenuto-faq .topic-wr.loading .topic-overlay,
[data-obj=si-postsloader].loading .si-loader-overlay{
  display:block;
}

.contenuto-faq > main >*{
  flex:1;
  width:100%;
}

.contenuto-faq .topics-area{
  flex:0 1 23%;
  background-color:#f7f7f7;
}

.contenuto-faq .topic-faqs{
  padding:0 15px;
  margin:0;
}

.contenuto-faq .topic-faqs .faq{
  border:1px solid #ddd;
  border-bottom:none;
  display:block;
  margin-bottom:15px;
}

.contenuto-faq .topic-faqs .faq .faq-title{
  padding:10px 30px;
  border-bottom:1px solid transparent;
  color:#222;
  font-weight:bold;
  text-decoration: none;
  display:block;
  cursor:pointer;
}


.contenuto-faq .topic-faqs .faq .faq-content{
  overflow:hidden;
  transition:all 0.5s ease;
  border-bottom:1px solid #ddd;
}

.contenuto-faq .topic-faqs .faq .faq-content .inner{
  padding:10px 30px;
  font-size:14px;
}

.contenuto-faq .topic-title{
  margin-bottom:25px;
}

.contenuto-faq .secondary.container{
  margin-left:0;
}

.contenuto-faq .primary,
.contenuto-faq .secondary.container{
  padding:45px;
  padding-top:75px;
}

.contenuto-faq .primary .title{
  text-align: center;
  margin-bottom:50px;
}

.contenuto-faq .topics-area li.topic{
  list-style: none;
  font-weight: bold;
}
.contenuto-faq .topics-area li.topic a{
  padding:10px;
  display:block;
  font-size:16px;
}
.contenuto-faq .topics-area ul li.topic ul li.topic a{
  font-size:12px;
  font-weight: normal;
}

.contenuto-faq .topics-area li.topic ul{
  padding-left:5%;
}

.contenuto-faq a[data-vnx-role=topic]{
  cursor:pointer;
  transition: all 0.5s ease;
}
.contenuto-faq a[data-vnx-role=topic]{
  color:#0033a1;
}
.contenuto-faq a[data-vnx-role=topic]:hover{
  text-decoration: underline;
}

.contenuto-faq .topic-title .separator{
  margin-left:5px;
  margin-right:5px;
  color:#777;
  user-select: none;
}

.contenuto-faq [data-vnx-role=topics-nav] > ul{
  border-bottom:1px solid #aaa;
  padding:0;
}

.contenuto-faq  .inner-page-header{
  margin-top:0;
}

.contenuto-faq .faq .faq-topics {
  display:block;
  padding:5px 15px;
  margin:0;
}

.contenuto-faq .faq .faq-topics .topic{
  display:inline-block;
  padding:5px;
  border:1px solid #ddd;
  border-radius:3px;
}

.contenuto-faq .c-none{
  margin-top:65px;
}

.contenuto-faq .c-none .content-title > *{
  display:inline-block;
  vertical-align: middle;
  margin:0;
  font-size:24px;
  font-weight: 400;
}

.contenuto-faq .c-none .ico-alert-no-results{
  margin:15px;
}


.search-card.tile-card.faq-card{
    max-width:100%;
}

.search-card.tile-card.faq-card .card-body{
  padding-top:5px;
  padding-bottom:5px;
}
.search-card.tile-card.faq-card .card-body .title-block .title{
  margin-bottom:0;
}
.search-card.tile-card.faq-card .card-body .title-block .title a{
  font-size:14px;
}

.header .main-navbar .head-actions{
  height:100%;
  width: 100%;
  justify-content: end;
}

.header .main-navbar .head-actions .main-nav{
  padding:15px;
  background-color:#081677;
}

.header .main-navbar .head-actions .main-nav span.ico.hamb-menu{
  width:32px;
  height:32px;
}


.header .main-navbar .head-actions > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
  align-items: center;
  align-content: center;
  height:100%;
}

.header .main-navbar .head-actions > a .ico{
  background-size: auto;
  background-size: contain;
  display: block;
  margin: 0 16px;
  margin-right: 16px;
  height: 20px;
  width: 20px;
  background-position: center;
}

.header .main-navbar .head-actions > a.profile-nav{
  color:#000;
  font-weight: bold;
  margin:0;
  gap:10px;
}
.header .main-navbar .head-actions > a.profile-nav.inside{
  background-color:#eb0028;
  color:#fff;
}

.header .main-navbar .head-actions > a.profile-nav .ico.profile{
  margin: 0;
}

.header .main-navbar .head-actions > a.profile-nav .username{
  max-width: 150px;
  overflow: hidden;
}

.header .main-navbar .head-actions > a.faqs .ico.faqs {
  background: url("../images/ico-nav-manuali.svg") no-repeat;
}


.header .main-navbar .head-actions > a.login .ico.login {
  background: url("../images/ico-lock.svg") no-repeat;
}

.header .main-navbar .row > .wr-logo{
    flex:1;
}




@media (min-width: 992px) {
  .header .main-navbar .head-actions > a {
    margin-right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .header .main-navbar .row > .wr-logo{
    flex: 1 1 100%;
  }
}





.ico-alert-no-results {
  height: 25px;
  width: 25px;
  background: url(../images/ico-alert-no-results.svg) center no-repeat;
  background-size: contain;
  margin-bottom: 21px;
  display: block;
  margin: 0 auto 21px auto; }



 .container-2k{
  max-width:2560px;
  margin:0 auto 0 auto;
 }

 .main-navbar > .container-2k{
  padding:0;
 }

 .header .main-navbar {
  height: auto; 
}

.header .top-navbar .navpp{
  margin:0 auto;
}

.header .logo, .footer .logo {
  background-color: #fff;
  padding: 0 10px;
  height: 100%;
  align-content: center;
}

.footer .logo{
  background-color:transparent;
  min-height:120px;
  height:100%;
  flex:0;
}

.footer .main-navbar {
  padding:0;
  background-color: #001235;
}

.footer .main-navbar .nav-wrapper{
  flex:0 1 auto;
  margin:0;
}

.footer .main-navbar .text-logo{
  flex:1 1 auto;
  font-size:22px;
}

.footer .main-navbar .text-logo a{
  color:#fff;
}

.footer .main-navbar .inner{
  gap:10px;
}

.footer .main-navbar .footer-nav{
  list-style: none;
  margin:0;
  padding:0;
  align-content:center;
  justify-content: center;
  gap:5px 25px;
}
.footer .main-navbar .footer-nav > li{
  flex:0 1 auto;
}
.footer .main-navbar .footer-nav > li a{
  color:#fff;
  display: block;
  padding: 15px;
}

.header .text-logo-wr {
  display: flex;
  gap: 10px;
  height: 100%;
  align-items: center;
}

.u-links-wr{
  display:flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin:25px auto;
}

.u-link {
  font-weight: normal;
  margin: 0.16%;
  width: 33%;
  flex: 1 1 auto;
  max-width: 33%;
  border: 1px solid #ddd;
  padding: 15px;
}
.u-link .title a{
  color: #0033a1;
}
.u-link .date {
  padding-left: 2%;
  margin-bottom: 0;
  color: #555;
  font-style: italic;
  font-size: 12px;
}
.u-link .description {
  padding-left: 3%;
}

@media (max-width: 992px) {
  .u-link {
    margin: 1.0%;
    width: 48%;
    max-width: 48%;
  }
}

@media (max-width: 648px) {
  .u-links-wr{
    display:block;
  }
  .u-link {
    margin:10px auto;
    width: 100%;
    max-width: 100%;
  }
}


.wr-news {
  display: flex;
  padding:30px 0;
}
.wr-news .main-column {
  flex: 1 1 500px;
  padding: 0 10px;
}
.wr-news .side-column {
  flex: 1;
  padding: 0 10px;
}
.wr-news .news-card.tile-card {
  width: 100%;
}
.wr-news .main-column .news-card.tile-card:first-of-type .card-image{
  min-height:300px;
}



.page-numbers {
  display: inline-block;
  padding: 13px;
  border-radius: 3px;
  background-color: #001235;
  font-weight: normal;
  color: #fff;
  font-size: 14px;
  vertical-align: bottom;
  transition: background-color 0.5s ease,color 0.5s ease;
}

.page-numbers.current{
  font-size: 22px;
  font-weight: bold;
}

.page-numbers:hover,
.page-numbers:focus{
  background-color: #eee;
  color:#222;
}

.page-numbers.current:hover,
.page-numbers.current:focus{
  background-color: #001235;
  color:#fff;
}

.nav-links {
  padding: 10px;
}


/* COOKIES BAR */


.cookies-bar {
  border-top:1px solid #eee;
  background: #ffffffdd;
  backdrop-filter: blur(7px);
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 9;
}
.cookies-bar .cbar-message p {
  margin: 0;
}
.cookies-bar .cbar-inner {
  padding: 10px;
  position:relative;
}
.cookies-bar .cbar-btn {
  margin: 10px 5px 0 5px;
  border: 1px solid #ddd;
  border-radius: 3px;
  padding: 3px 10px;
  background: #eee;
  font-size: 16px;
  font-weight: bold;
  color: #000;
  display: inline-block;
}

.cookies-bar .cbar-btn:hover,.cookies-bar .cbar-btn:focus{
  text-decoration: underline;
}

.cookies-bar .cbar-overlay{
  display:none;
  position:absolute;
  width:100%;
  height:100%;
  background-color:rgba(255,255,255,0.7);
  z-index:9;
  top:0;
  left:0;
  background-image: url('./ajax-loader.gif');
  background-position: center center;
  background-repeat: no-repeat;
}

.cookies-bar.loading .cbar-overlay{
  display:block;
}

.cookies-bar .cbar-preferences-wr{
  max-width:480px;
  text-align: left;
  margin: 0 auto;
}

.cookies-bar .cbar-section-content {
  padding-left: 28px;
  font-size: 12px;
  border-left: 3px solid #0033a1;
  margin-left: 11px;
}

.cookies-bar .cbar-switch input[type=checkbox]{
  width: 24px;
  height: 24px;
  vertical-align: middle;
}

.cookies-bar .cbar-switch input[type=checkbox]:checked + .cbar-section-name{
  color:#0033a1;
}

.cookies-bar .cbar-section {
  margin-bottom: 8px;
}
.cookies-bar .cbar-switch {
  margin-bottom: 0;
}

.cookies-bar .cbar-section-name{
  display: inline-block;
  vertical-align: middle;
  margin-left:8px;
  transition:color 0.5s ease;
}
.cookies-bar .cbar-switch input[type=checkbox]:not([disabled]){
  cursor:pointer;
}
.cookies-bar .cbar-switch input[type=checkbox]:not([disabled]) + .cbar-section-name:hover,
.cookies-bar .cbar-switch input[type=checkbox]:not([disabled]) + .cbar-section-name:focus{
  color:#0033a1;
  text-decoration: underline;
  cursor:pointer;
}



.wr-main .oa-form{
  width: 320px;
  padding: 50px 0;
  margin: auto;
}

.wr-main .oa-form #oa-form-qr img{
  margin:0 auto;
}


.wr-main .oa-form form{
  margin-top: 20px;
  margin-left: 0;
  padding: 26px 24px 34px;
  font-weight: 400;
  overflow: hidden;
  background: #fff;
  border: 1px solid #c3c4c7;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}

.wr-main .oa-form label{
  font-size: 14px;
  line-height: 1.5;
  display: inline-block;
  margin-bottom: 3px;
}

.wr-main .oa-form select{
  display: block;
  border: 1px solid #999;
  padding: 10px;
  background-color: #fff;
  border-radius: 5px;
}

.wr-main .oa-form form .input, 
.wr-main .oa-form form input[type="checkbox"], 
.wr-main .oa-form form input[type="text"]{
  background: #fff;
}

.wr-main .oa-form form .input, 
.wr-main .oa-form form input[type="password"], 
.wr-main .oa-form form input[type="text"]{
  font-size: 24px;
  line-height: 1.33333333;
  width: 100%;
  border-width: .0625rem;
  padding: .1875rem .3125rem;
  margin: 0 6px 16px 0;
  min-height: 40px;
  max-height: none;
  box-shadow: 0 0 0 transparent;
  border-radius: 4px;
  border: 1px solid #8c8f94;
  background-color: #fff;
  color: #2c3338;
}

.wr-main .oa-form .errors,
.wr-main .oa-form .successes,
.wr-main .oa-form .infos,
.wr-main .oa-form .warnings{
  border-left: 4px solid #d63638;
  padding: 12px;
  margin-left: 0;
  margin-bottom: 20px;
  background-color: #fff;
  box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
  word-wrap: break-word;
  margin-top:50px;
}

.wr-main .oa-form .infos{
  border-left-color:#777;
}
.wr-main .oa-form .successes{
  border-left-color:#2966ee;
}
.wr-main .oa-form .warnings{
  border-left-color:#dbf11e;
}

.wr-main .oa-form .errors .error-list{
  list-style: none;
  padding:0;
  margin:0;
  font-size:14px;
}


.wr-main .oa-form .errors .error-list li{
  color:#222;
}

.wr-main .oa-form .button{
  display: inline-block;
  text-decoration: none;
  font-size: 13px;
  line-height: 2.15384615;
  min-height: 30px;
  margin: 0;
  padding: 0 10px;
  cursor: pointer;
  border-width: 1px;
  border-style: solid;
  -webkit-appearance: none;
  border-radius: 3px;
  white-space: nowrap;
  box-sizing: border-box;

  background: #0033a1;
  border-color: #2966ee;
  color: #fff;
  text-decoration: none;
  text-shadow: none;
}

.wr-main .oa-form form .forgetmenot{
  float:left;
}
.wr-main .oa-form form .submit{
  float:right;
}

.wr-main .oa-logout.oa-form form{
  text-align: center;
  border:none;
}
.wr-main .oa-logout.oa-form .submit{
  float: none;
}

.wr-main .oa-logout.oa-form .button{
  margin:0 auto;
  padding:20px;
}


.wr-main .oa-form.oa-settings{
  width:auto;
}


@media (max-width: 768px) {
  .header .main-navbar .text-logo-wr{
    margin: 20px auto;
    width: 100%;
  }

  .header .main-navbar .text-logo-wr .logo{
    border-bottom-right-radius:5px;
  }

  .header .main-navbar .head-actions .main-nav{
    border-top-left-radius:5px;
  }

  .header .main-navbar .head-actions > a .ico{
    height:28px;
    width:32px;
  }
  

  body.fixed-header .header.public{
    padding-top:0 !important;
  }

  body.fixed-header .header .main-navbar{
    box-shadow:none;
  }

  .header .main-navbar >.row{
    display:block;
  }

  .header .main-navbar .ctas{
    margin: 0 auto;
    width: 100%;
  }
}


.header .main-navbar .head-actions.m-only .search span.ico.search,
.header .main-navbar .head-actions.m-only .faqs span.ico.faqs{
  margin:0 16px;
}