@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&display=swap");
/* FONTS */
/* WEIGHTS */
/* COLORS */
/* ===================================
    GENERAL
=================================== */
*,
:after,
:before {
  box-sizing: border-box; }

*:focus {
  outline: none; }

::-moz-focus-inner {
  border: 0; }

body {
  box-sizing: border-box;
  font-family: "Montserrat", sans-serif; }
  body b {
    font-weight: 700; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0; }

a {
  text-decoration: none;
  color: inherit; }

p:first-child {
  margin-top: 0; }

p:last-child {
  margin-bottom: 0; }

input,
select,
textarea {
  font-family: "Montserrat", sans-serif;
  appearance: none;
  -webkit-appearance: initial;
  border-radius: 0;
  box-shadow: none; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  background-color: #fff;
  background-image: none;
  color: #000;
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
  -webkit-text-fill-color: #000 !important; }

textarea {
  resize: none; }

.fa-phone {
  transform: scaleX(-1); }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal; }
  .flex .flex-content {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }

.customRow {
  -ms-flex-direction: row;
  flex-direction: row; }

.customColumn {
  -ms-flex-direction: column;
  flex-direction: column; }

.wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.nowrap {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; }

.content-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.content-center-row {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.content-center-column {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.content-start {
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start; }

.content-start-column {
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start; }

.content-start-row {
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  justify-content: flex-start; }

.content-end {
  -webkit-box-pack: flex-end;
  -ms-flex-pack: flex-end;
  justify-content: flex-end; }

.content-end-column {
  -webkit-box-align: flex-end;
  -ms-flex-align: flex-end;
  align-items: flex-end; }

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

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.space-between {
  justify-content: space-between; }

.center {
  margin-left: auto;
  margin-right: auto; }

.height-100 {
  height: 100%; }

.width-100 {
  width: 100%; }

.width-90 {
  width: 90%; }

.width-80 {
  width: 80%; }

.width-75 {
  width: 75%; }

.width-70 {
  width: 70%; }

.width-66 {
  width: 66.66%; }

.width-60 {
  width: 60%; }

.width-50 {
  width: 50%; }

.width-40 {
  width: 40%; }

.width-33 {
  width: 33.333%; }

.width-30 {
  width: 30%; }

.width-25 {
  width: 25%; }

.width-20 {
  width: 20%; }

.width-10 {
  width: 10%; }

.fixed {
  position: fixed; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.display-none {
  display: none; }

.image-background {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

ul {
  margin: 0;
  padding: 0;
  list-style: none; }

.bg-img {
  object-fit: cover; }

body {
  padding-top: 82px;
  font-family: "Montserrat", sans-serif; }

#header {
  padding: 6px !important;
  border-bottom: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  box-shadow: 0px 2px 20px 0 rgba(21, 24, 36, 0.5); }
  #header .navbar-brand-img {
    height: 60px;
    min-height: auto;
    max-height: auto; }
  #header .btn-arancio {
    border-radius: 50px;
    background: #7BDA89;
    padding: 12px 24px;
    color: #034C3C;
    font-weight: 600;
    transition: background 0.3s;
    border: 2px solid #7BDA89; }
    #header .btn-arancio:hover {
      background: #034C3C;
      color: #ffffff; }
  #header .dropdown-menu {
    min-width: auto;
    top: calc(100% + 12px);
    border-radius: 5px;
    box-shadow: 0 0.5rem 1rem rgba(3, 76, 60, 0.3) !important;
    border: 0; }

.overlay {
  top: 82px; }
  .overlay a {
    padding: 24px; }

.paragrafo img {
  margin-left: 0; }

.cover-page {
  position: relative;
  height: calc(40vh + 38px); }
  .cover-page .titolo-pagina {
    padding: 24px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: end;
    align-items: center;
    background: #01005c;
    background: linear-gradient(0deg, rgba(1, 0, 92, 0.8) 0%, rgba(1, 0, 92, 0.5) 40%, rgba(255, 255, 255, 0) 100%); }
    .cover-page .titolo-pagina h2 {
      font-family: "Montserrat", sans-serif;
      font-size: 36px;
      line-height: 42px;
      color: #eee;
      font-weight: 600; }
    .cover-page .titolo-pagina .breadcrumb {
      max-width: calc(100% - 24px); }
    .cover-page .titolo-pagina nav[aria-label="breadcrumb"] {
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background: #010060;
      padding: 12px; }
      .cover-page .titolo-pagina nav[aria-label="breadcrumb"] ol li {
        font-size: 14px;
        line-height: 14px;
        font-weight: 600;
        color: #007bff; }
        .cover-page .titolo-pagina nav[aria-label="breadcrumb"] ol li:before {
          color: #007bff !important; }
        .cover-page .titolo-pagina nav[aria-label="breadcrumb"] ol li a {
          text-decoration: underline;
          transition: color 0.3s; }
          .cover-page .titolo-pagina nav[aria-label="breadcrumb"] ol li a:hover {
            color: #007bff; }

.footer-box {
  padding: 48px 0 !important; }
  .footer-box iframe {
    max-width: 100% !important; }
  .footer-box .navbar-brand-img,
  .footer-box h5 {
    margin-top: 0;
    font-weight: 600;
    margin-bottom: 24px; }
  .footer-box .iv {
    margin-top: 24px; }
  .footer-box i {
    font-size: 24px;
    line-height: 24px; }

.analytics-consent {
  background: #306FAC;
  background-color: #306FAC !important; }
  .analytics-consent .content a {
    font-weight: 300;
    font-size: 14px; }
  .analytics-consent .submit button,
  .analytics-consent .dismiss button {
    border-radius: 50px !important;
    padding-left: 24px;
    padding-right: 24px;
    text-transform: uppercase;
    font-weight: 600 !important; }
  .analytics-consent .submit button {
    background: #7BDA89 !important;
    color: #034C3C !important;
    border: 2px solid #7BDA89 !important; }
    .analytics-consent .submit button:hover {
      background: #034C3C !important;
      color: #fff !important; }
  .analytics-consent .dismiss button {
    background: #01005C !important;
    color: #fff !important;
    border: 2px solid #01005C !important; }
    .analytics-consent .dismiss button:hover {
      background: rgba(1, 0, 92, 0.5) !important;
      color: #fff !important; }

.container #content p a, .container #content ul > li a, .container .paragrafo p a, .container .paragrafo ul > li a {
  color: #306FAC;
  text-decoration: underline; }
  .container #content p a:hover, .container #content ul > li a:hover, .container .paragrafo p a:hover, .container .paragrafo ul > li a:hover {
    color: #010060; }

@media screen and (max-width: 991px) {
  #header .btn-arancio {
    border-radius: 0;
    font-size: 22px; } }

@media screen and (max-width: 767px) {
  body {
    padding-top: 62px; }
  #header .navbar-brand-img {
    height: 40px;
    margin-left: 8px; }
  #header .dropdown-menu {
    border-radius: 0;
    margin-top: 6px;
    margin-bottom: 6px; }
  .cover-page {
    height: calc(35vh + 36px); }
    .cover-page .titolo-pagina {
      padding: 12px; }
      .cover-page .titolo-pagina h2 {
        font-size: 25px;
        line-height: 26px; }
      .cover-page .titolo-pagina nav[aria-label="breadcrumb"] ol li {
        font-size: 10px;
        line-height: 12px; }
  .navbar-light .fas {
    font-size: 1.5rem; }
  .navbar-light .navbar-nav .nav-link {
    font-size: 18px;
    line-height: 18px; }
  .navbar-light .social-button {
    padding-right: 10px;
    padding-left: 10px; }
    .navbar-light .social-button a {
      padding-left: 0;
      padding-right: 0; }
      .navbar-light .social-button a i {
        font-size: 1.5rem !important; }
  .overlay {
    top: 62px; }
    .overlay .overlay-content.mainmenu a.dropdown-item {
      font-size: 18px;
      line-height: 18px;
      padding: 12px; }
  .footer-box {
    padding: 36px 0 !important; }
    .footer-box .navbar-brand-img {
      height: 60px;
      margin-bottom: 12px; }
    .footer-box h5 {
      margin-top: 48px;
      margin-bottom: 18px;
      font-size: 16px; }
    .footer-box .first,
    .footer-box .second,
    .footer-box .third {
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      align-items: center; }
    .footer-box .first {
      flex-direction: row;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      line-height: 16px; }
      .footer-box .first .navbar-brand-img {
        margin-bottom: 0; } }
