/*Open Sans */
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local("Open Sans Italic"), local("OpenSans-Italic"),
    url(../fonts/OpenSans/OpenSansItalic.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Open Sans Regular"), local("OpenSans-Regular"),
    url(../fonts/OpenSans/OpenSans.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Open Sans Bold"), local("OpenSans-Bold"),
    url(../fonts/OpenSans/OpenSansBold.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: local("Open Sans Bold Italic"), local("OpenSans-BoldItalic"),
    url(../fonts/OpenSans/OpenSansBoldItalic.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
    U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
body {
  font-family: "Open Sans", sans-serif;
}
.text-justify {
  text-align: justify;
}
.scroll-to-top:hover {
  background-color: #ec0f18;
}
.alert-info {
  border-color: #ec0f18;
}
.mt-20 {
  margin-top: 25px;
}
/**********************************
CSS NAVBAR SENZA LOGO
**********************************/
@media only screen and (max-width: 767px) {
  .main-header .main-menu {
    margin: 0 !important;
    padding: 20px 0 !important;
  }
}
@media only screen and (max-width: 767px) {
  .main-menu .navbar-header {
    top: 0 !important;
  }
}

/**********************************
CSS PER FOOTER
**********************************/
.main-footer {
  color: white !important;
}
.main-footer a {
  color: #ec0f18 !important;
}

.position-relative {
  position: relative;
}
#btn-repeat-sign {
  right: 0px;
  background-color: #e7e7e7;
  border-color: #d9d9d9;
  border-top-width: 0px;
  border-right-width: 0px;
  border-radius: 0px;
  cursor: pointer;
  position: absolute;
}
#search-view__container__sign {
  background-color: #e7e7e7;
  margin-top: 40px;
}
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  padding-top: 0px;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.w-100 {
  width: 100%;
}
.mt-3 {
  margin-top: 1rem !important;
}

#contract-text {
  width: 100%;
  height: 400px;
  overflow: scroll;
  border: 2px solid #ec0f18;
  text-align: left;
  padding: 10px 20px;
}

.overlay2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* Sfondo semi-trasparente */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000; /* Metti l'overlay sopra gli altri elementi */
}
.loader2 {
  border: 8px solid #f3f3f3; /* Colore di sfondo del loader */
  border-top: 8px solid #ec0f18; /* Colore della parte animata */
  border-radius: 50%;
  width: 50px;
  height: 50px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
