@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Open+Sans:wght@300;400;600;700&display=swap");
body {
  font-family: "Open Sans", sans-serif;
  color: #0c0c0c;
  background-color: #ffffff;
  overflow-x: hidden;
}

.layout_padding {
  padding: 90px 0;
}

.layout_padding2 {
  padding: 75px 0;
}

.layout_padding2-top {
  padding-top: 75px;
}

.layout_padding2-bottom {
  padding-bottom: 75px;
}

.layout_padding-top {
  padding-top: 90px;
}

.layout_padding-bottom {
  padding-bottom: 90px;
}

.heading_container {
  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-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.heading_container h2 {
  position: relative;
  font-weight: bold;
  margin-bottom: 0;
}

.heading_container h2 span {
  color: #b19042;
}

.heading_container p {
  margin-top: 10px;
  margin-bottom: 0;
}

.heading_container.heading_center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

a,
a:hover,
a:focus {
  text-decoration: none;
}

a:hover,
a:focus {
  color: initial;
}

.btn,
.btn:focus {
  outline: none !important;
  -webkit-box-shadow: none;
          box-shadow: none;
}

/*header section*/
.hero_area {
  position: relative;
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.hero_area .hero_bg_box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  overflow: hidden;
  z-index: -1;
}

.hero_area .hero_bg_box .bg_img_box {
  min-width: 100%;
  min-height: 100%;
}

.hero_area .hero_bg_box img {
  min-width: 100%;
  min-height: 100%;
}

.sub_page .hero_area {
  min-height: auto;
  background: linear-gradient(130deg, #1719a1, #0f054c);
}

.sub_page .hero_area .hero_bg_box {
  display: none;
}

.header_section {
  padding: 15px 0;
}

.header_section .container-fluid {
  padding-right: 25px;
  padding-left: 25px;
}

.navbar-brand span {
  font-weight: bold;
  font-size: 24px;
  color: #b19042;
}

.custom_nav-container {
  padding: 0;
}

.custom_nav-container .navbar-nav {
  margin-left: auto;
}

.custom_nav-container .navbar-nav .nav-item .nav-link {
  padding: 5px 20px;
  color: #1a0707;
  text-align: center;
  text-transform: uppercase;
  border-radius: 5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.custom_nav-container .navbar-nav .nav-item:hover .nav-link, .custom_nav-container .navbar-nav .nav-item.active .nav-link {
  color: #b19042;
}

.custom_nav-container .navbar-nav .nav-item.active .nav-link {
  font-weight: 600;
}

.custom_nav-container .nav_search-btn {
  width: 35px;
  height: 35px;
  padding: 0;
  border: none;
  color: #ffffff;
}

.custom_nav-container .nav_search-btn:hover {
  color: #00bbf0;
}

.custom_nav-container .navbar-toggler {
  outline: none;
}

.custom_nav-container .navbar-toggler {
  padding: 0;
  width: 37px;
  height: 42px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.custom_nav-container .navbar-toggler span {
  display: block;
  width: 35px;
  height: 4px;
  background-color: #ffffff;
  margin: 7px 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
  border-radius: 5px;
  transition: all 0.3s;
}

.custom_nav-container .navbar-toggler span::before, .custom_nav-container .navbar-toggler span::after {
  content: "";
  position: absolute;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: #ffffff;
  top: -10px;
  border-radius: 5px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.custom_nav-container .navbar-toggler span::after {
  top: 10px;
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] {
  -webkit-transform: rotate(360deg);
          transform: rotate(360deg);
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] span {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.custom_nav-container .navbar-toggler[aria-expanded="true"] span::before, .custom_nav-container .navbar-toggler[aria-expanded="true"] span::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  top: 0;
}

/*end header section*/
/* slider section */
.slider_section {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 45px 0 145px 0;
}

.slider_section .row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.slider_section #customCarousel1 {
  width: 100%;
  position: unset;
}

.slider_section .detail-box {
  color: #00204a;
}

.slider_section .detail-box h1 {
  font-size: 3rem;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 15px;
  color: #b19042;
}

.slider_section .detail-box p {
  color: #000000;
  font-size: 14px;
}

.slider_section .detail-box .btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -5px;
  margin-top: 25px;
}

.slider_section .detail-box .btn-box a {
  margin: 5px;
  text-align: center;
  width: 165px;
}

.slider_section .detail-box .btn-box .btn1 {
  display: inline-block;
  padding: 10px 15px;
  background-color: #00bbf0;
  color: #ffffff;
  border-radius: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
}

.slider_section .detail-box .btn-box .btn1:hover {
  background-color: #007fa4;
}

.slider_section .detail-box .btn-box .btn2 {
  display: inline-block;
  padding: 10px 15px;
  background-color: #000000;
  color: #ffffff;
  border-radius: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
}

.slider_section .detail-box .btn-box .btn2:hover {
  background-color: black;
}

.slider_section .img-box {
  margin: 45px 0;
}

.slider_section .img-box img {
  width: 100%;
  -webkit-animation: upDown 5s infinite;
          animation: upDown 5s infinite;
}

@-webkit-keyframes upDown {
  0% {
    -webkit-transform: translateY(-45px);
            transform: translateY(-45px);
  }
  50% {
    -webkit-transform: translateY(45px);
            transform: translateY(45px);
  }
  100% {
    -webkit-transform: translateY(-45px);
            transform: translateY(-45px);
  }
}

@keyframes upDown {
  0% {
    -webkit-transform: translateY(-45px);
            transform: translateY(-45px);
  }
  50% {
    -webkit-transform: translateY(45px);
            transform: translateY(45px);
  }
  100% {
    -webkit-transform: translateY(-45px);
            transform: translateY(-45px);
  }
}

.slider_section .carousel-indicators {
  position: unset;
  margin: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.slider_section .carousel-indicators li {
  background-color: #ffffff;
  width: 12px;
  height: 12px;
  border-radius: 100%;
  opacity: 1;
}

.slider_section .carousel-indicators li.active {
  width: 20px;
  height: 20px;
  background-color: #b19042;
}

.service_section {
  position: relative;
}

.service_section .box {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  margin-top: 45px;
  background-color: #f8f8f9;
  padding: 20px;
  border-radius: 5px;
}

.service_section .box .img-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 125px;
  min-width: 75px;
  height: 75px;
  margin-bottom: 15px;
}

.service_section .box .img-box img {
  max-width: 100%;
  max-height: 100%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.service_section .box .detail-box h5 {
  font-weight: bold;
  text-transform: uppercase;
}

.service_section .box .detail-box a {
  color: #00204a;
  font-weight: 600;
}

.service_section .box .detail-box a:hover {
  color: ##b19042;
}

.service_section .btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 45px;
}

.service_section .btn-box a {
  display: inline-block;
  padding: 10px 45px;
  background-color: #b19042;
  color: #ffffff;
  border-radius: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
}

.service_section .btn-box a:hover {
  background-color: #b19042;
}

.about_section {
  background-color: #003296;
  color: #ffffff;
}

.about_section .heading_container {
  margin-bottom: 45px;
}

.about_section .row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.about_section .img-box img {
  max-width: 100%;
}

.about_section .detail-box h3 {
  font-weight: bold;
}

.about_section .detail-box p {
  margin-top: 15px;
}

.about_section .detail-box a {
  display: inline-block;
  padding: 10px 45px;
  background-color: #b19042;
  color: #ffffff;
  border-radius: 0px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
  margin-top: 15px;
}

.about_section .detail-box a:hover {
  background-color: #b19042;
}

.why_section .box {
  margin-top: 45px;
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.why_section .box .img-box {
  margin-bottom: 20px;
  width: 120px;
  height: 120px;
  min-width: 120px;
  min-height: 120px;
  border-radius: 100%;
  border: 5px solid #00204a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.why_section .box .img-box img {
  width: 55px;
  height: auto;
  fill: #00204a;
}

.why_section .box h5 {
  font-weight: bold;
  margin-bottom: 10px;
}

.why_section .box p {
  margin-bottom: 0;
}

.why_section .btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 45px;
}

.why_section .btn-box a {
  display: inline-block;
  padding: 10px 45px;
  background-color: #b19042;
  color: #ffffff;
  border-radius: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
}

.why_section .btn-box a:hover {
  background-color: #b19042;
}

/*team section */
.team_section {
  text-align: center;
  background-color: #00204a;
  color: #ffffff;
}

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

.team_section .team_container {
  padding: 0 15px;
}

.team_section .team_container .box {
  padding: 35px 0 0 0;
  border-radius: 5px;
  overflow: hidden;
  -webkit-transition: all .1s;
  transition: all .1s;
  margin-top: 45px;
  background: -webkit-gradient(linear, left top, left bottom, from(#002759), to(#002b64));
  background: linear-gradient(to bottom, #002759, #002b64);
}

.team_section .team_container .box .img-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.team_section .team_container .box .img-box img {
  width: 120px;
  border-radius: 100%;
  border: 5px solid #ffffff;
}

.team_section .team_container .box .detail-box {
  margin: 25px 0;
}

.team_section .team_container .box .detail-box h5 {
  color: #00bbf0;
  font-weight: 600;
  position: relative;
}

.team_section .team_container .box .social_box {
  padding: 10px 45px 20px 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.team_section .team_container .box .social_box a {
  color: #ffffff;
  font-size: 22px;
}

.team_section .team_container .box .social_box a:hover {
  color: #b19042;
}

/*team section end*/
/* client section start */
.client_section .heading_container {
  margin-bottom: 30px;
}

.client_section .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 15px;
}

.client_section .box .img-box {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100px;
  margin-bottom: -50px;
  margin-left: 25px;
  position: relative;
}

.client_section .box .img-box img {
  border-radius: 100%;
}

.client_section .box .client_id {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.client_section .box .client_id .client_info h6 {
  font-weight: 600;
  margin-bottom: 5px;
}

.client_section .box .client_id .client_info p {
  margin-bottom: 0;
  font-size: 15px;
  font-size: 14px;
  margin-bottom: 10px;
}

.client_section .box .detail-box {
  background-color: #ffffff;
  -webkit-box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
  padding: 75px 25px 25px 25px;
}

.client_section .box .detail-box i {
  color: #00204a;
  margin-bottom: 10px;
}

.client_section .owl-carousel .owl-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 45px;
}

.client_section .owl-carousel .owl-nav .owl-prev,
.client_section .owl-carousel .owl-nav .owl-next {
  width: 55px;
  height: 55px;
  background-color: #ffffff;
  color: #000000;
  outline: none;
  bottom: 0px;
  font-size: 24px;
  -webkit-box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.25);
}

.client_section .owl-carousel .owl-nav .owl-prev:hover,
.client_section .owl-carousel .owl-nav .owl-next:hover {
  color: #00204a;
}

/* client section end */
.info_section {
  background-color: #003296;
  color: #ffffff;
  padding: 45px 0 15px 0;
}

.info_section h4 {
  font-weight: 600;
  margin-bottom: 20px;
}

.info_section .info_col {
  margin-bottom: 30px;
}

.info_section .info_contact .contact_link_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.info_section .info_contact .contact_link_box a {
  margin: 5px 0;
  color: #ffffff;
}

.info_section .info_contact .contact_link_box a i {
  margin-right: 5px;
}

.info_section .info_contact .contact_link_box a:hover {
  color: #00bbf0;
}

.info_section .info_social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;
  margin-bottom: 10px;
}

.info_section .info_social a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ffffff;
  border-radius: 100%;
  margin-right: 10px;
  font-size: 24px;
}

.info_section .info_social a:hover {
  color: #b19042;
}

.info_section .info_links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.info_section .info_links a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px;
  color: #ffffff;
}

.info_section .info_links a:hover {
  color: #b19042;
}

.info_section form input {
  border: none;
  border-bottom: 1px solid #ffffff;
  background-color: transparent;
  width: 100%;
  height: 45px;
  color: #ffffff;
  outline: none;
}

.info_section form input::-webkit-input-placeholder {
  color: #ffffff;
}

.info_section form input:-ms-input-placeholder {
  color: #ffffff;
}

.info_section form input::-ms-input-placeholder {
  color: #ffffff;
}

.info_section form input::placeholder {
  color: #ffffff;
}

.info_section form button {
  width: 100%;
  text-align: center;
  display: inline-block;
  padding: 10px 55px;
  background-color: #00bbf0;
  color: #ffffff;
  border-radius: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: none;
  margin-top: 15px;
}

.info_section form button:hover {
  background-color: #007fa4;
}

/* footer section*/
.footer_section {
  position: relative;
  background-color: #ffffff;
  text-align: center;
}

.footer_section p {
  color: #00204a;
  padding: 25px 0;
  margin: 0;
}

.footer_section p a {
  color: inherit;
}

/* Sezione delle immagini */
.service_section .gallery_item img {
  width: 100%;              /* Imposta le immagini a occupare tutto lo spazio disponibile */
  height: 200px;            /* Imposta un'altezza fissa per tutte le immagini */
  object-fit: cover;        /* Ritaglia l'immagine per adattarla senza deformarla */
  border-radius: 8px;       /* Bordo arrotondato per l'immagine */
  transition: transform 0.3s ease; /* Transizione per effetto hover */
}

/* Colonne per le immagini */
.service_section .col-md-2 {
  padding: 0 15px; /* Distanza tra le colonne */
}

.service_section .col-4 {
  padding: 0 10px; /* Distanza tra le colonne per schermi piccoli */
}

/* Aggiungi margine tra le righe di immagini */
.service_section .row {
  margin-top: 30px; /* Aggiungi un po' di spazio tra le righe */
}

/* Effetto hover per ingrandire le immagini */
.service_section .gallery_item:hover img {
  transform: scale(1.05);  /* Ingrandisce l'immagine quando il mouse è sopra */
}

/* Spazio tra le immagini e il testo della descrizione */
.service_section .gallery_item p {
  text-align: center;
  margin-top: 10px;
  font-size: 14px;
}

/* Forza la visualizzazione del menu a discesa sui dispositivi mobili */
@media (max-width: 991px) {
  .navbar-collapse {
    display: block !important;
  }

  .navbar-nav {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .navbar-nav .nav-item {
    margin: 10px 0;
  }
}

/* Centratura orizzontale e verticale per il box */
.service_section .box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center; /* Allinea il testo al centro */
}

/* Gestisci la larghezza dell'immagine per dispositivi mobili */
.service_section .img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%; /* Imposta un limite massimo alla larghezza */
}

.service_section .img-box img {
  max-width: 80%; /* Limita la larghezza dell'immagine per evitare che sia troppo grande */
  height: auto; /* Mantiene le proporzioni corrette */
}

/* Assicurati che le immagini siano centrate orizzontalmente */
.box .img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.box .img-box img {
  max-width: 100%; /* Garantisce che l'immagine non superi la larghezza del contenitore */
  height: auto; /* Mantieni l'aspect ratio corretto */
  margin: 0 auto; /* Centra l'immagine orizzontalmente */
}

/* Modifica per la colonna mobile */
@media (max-width: 768px) {
  .service_section .row {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centra le colonne quando la larghezza è inferiore a 768px */
  }

  .col-md-4 {
    margin-bottom: 20px; /* Distanza tra le colonne su mobile */
    width: 100%; /* Fai sì che le colonne occupino tutta la larghezza su dispositivi mobili */
  }
}

/* Impostiamo una griglia responsive per le immagini */
.gallery_section .row {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 colonne per desktop */
  gap: 15px; /* Spaziatura tra le immagini */
}

/* Griglia responsiva per tablet e dispositivi mobili */
@media (max-width: 992px) {
  .gallery_section .row {
    grid-template-columns: repeat(3, 1fr); /* 3 colonne per tablet */
  }
}

@media (max-width: 768px) {
  .gallery_section .row {
    grid-template-columns: repeat(2, 1fr); /* 2 colonne per dispositivi mobili */
  }
}

@media (max-width: 576px) {
  .gallery_section .row {
    grid-template-columns: 1fr; /* 1 colonna per schermi molto piccoli */
  }
}

/* Modifica per la sezione delle immagini */
.service_section .gallery_item {
  display: flex; /* Aggiungi un flexbox per le immagini */
  flex-direction: row; /* Impostiamo la direzione orizzontale per mobile */
  justify-content: center;
  align-items: center;
}

.service_section .gallery_item img {
  width: 100%;              /* Imposta le immagini a occupare tutto lo spazio disponibile */
  height: 200px;            /* Imposta un'altezza fissa per tutte le immagini */
  object-fit: cover;        /* Ritaglia l'immagine per adattarla senza deformarla */
  border-radius: 8px;       /* Bordo arrotondato per l'immagine */
  transition: transform 0.3s ease; /* Transizione per effetto hover */
}

/* Aggiusta l'aspetto delle immagini in piccoli schermi */
@media (max-width: 768px) {
  .service_section .gallery_item {
    flex-direction: row; /* Assicurati che le immagini siano disposte orizzontalmente su dispositivi mobili */
    justify-content: space-between; /* Permette una spaziatura tra le immagini */
  }
}

/* Assicurati che le immagini siano centrate orizzontalmente */
.box .img-box {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.box .img-box img {
  max-width: 100%; /* Garantisce che l'immagine non superi la larghezza del contenitore */
  height: auto; /* Mantieni l'aspect ratio corretto */
  margin: 0 auto; /* Centra l'immagine orizzontalmente */
}

/* Responsività per le immagini */
.carousel-inner .carousel-item img {
  width: 100%;    /* L'immagine occuperà tutta la larghezza del contenitore */
  height: auto;   /* Mantiene le proporzioni dell'immagine */
  object-fit: cover; /* Assicura che l'immagine copra l'intera area senza distorsioni */
  max-height: 400px; /* Impone un limite di altezza per evitare che l'immagine diventi troppo grande */
}

/* Responsività per schermi piccoli (mobile) */
@media (max-width: 767px) {
  /* Le immagini non si sovrappongono, ciascuna occupa tutta la larghezza */
  .carousel-item {
    text-align: center;
  }

  .carousel-inner .carousel-item img {
    width: 100%;
    height: auto;
    object-fit: cover;
    max-height: 300px;  /* Limita l'altezza per evitare immagini troppo grandi */
  }

  /* Rimuovere gli indicatori per un layout più pulito su mobile */
  .carousel-indicators {
    display: none;
  }

  /* Piccole modifiche per migliorare l'aspetto su schermi piccoli */
  .detail-box {
    margin-bottom: 20px;
  }
}

/* Calendar Section Styles */
.calendar-container {
  margin-top: 30px;
}

.day-card {
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  padding: 15px;
  text-align: center;
  height: 200px;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
  border: 2px solid #f0f0f0;
}

.day-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.day-card.active {
  border-color: #b19042;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);
}

.day-header {
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 15px;
}

.day-header h5 {
  color: #00204a;
  font-weight: bold;
  margin: 0;
  font-size: 16px;
}

.day-card.active .day-header h5 {
  color: #b19042;
}

.day-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.activity h6 {
  color: #b19042;
  font-weight: bold;
  margin-bottom: 8px;
  font-size: 14px;
}

.activity .time {
  color: #00204a;
  font-weight: 600;
  margin-bottom: 5px;
  font-size: 13px;
}

.activity .location {
  color: #666;
  font-size: 11px;
  line-height: 1.3;
  margin: 0;
}

.no-activity {
  color: #999;
  font-style: italic;
  font-size: 14px;
  margin: 0;
}

.calendar-legend {
  margin-top: 40px;
}

.legend-box {
  background-color: #f8f9fa;
  padding: 25px;
  border-radius: 10px;
  text-align: center;
}

.legend-box h5 {
  color: #00204a;
  font-weight: bold;
  margin-bottom: 20px;
}

.legend-item {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-size: 14px;
}

.legend-item i {
  margin-right: 10px;
  font-size: 16px;
}

.legend-item span {
  color: #333;
}

/* Calendar Responsive */
@media (max-width: 768px) {
  .day-card {
    height: 160px;
    margin-bottom: 15px;
  }

.activity h6 {
    font-size: 13px;
  }

.activity .time {
    font-size: 12px;
  }

.activity .location {
    font-size: 10px;
  }

.legend-item {
    justify-content: center;
    text-align: center;
  }
}

@media (max-width: 576px) {
  .row .col-4 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

.weekly-schedule {
  background: #fafafa;
}

.schedule-list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.schedule-item {
  background: white;
  border-radius: 8px;
  padding: 15px 20px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
  border-left: 4px solid #ffc107;
}

.schedule-item.inactive {
  border-left: 4px solid #ddd;
  background: #f3f3f3;
}

.schedule-item h5 {
  margin-bottom: 10px;
  font-weight: 600;
}

.schedule-item ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.schedule-item li {
  margin-bottom: 10px;
  font-size: 0.95rem;
}

.schedule-item .location {
  color: #555;
  font-size: 0.9rem;
}

.schedule-item .note {
  color: #666;
  font-style: italic;
  font-size: 0.85rem;
}

.row.justify-content-center {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch; /* importantissimo per avere colonne alte uguali */
}

.col-md-4 {
  display: flex;
  flex-direction: column;
  /* tolto align-items-center */
}

.box {
  display: flex;
  flex-direction: column;
  height: 100%; /* occupa tutta l'altezza della colonna */
}

/* Dettagli testo in colonna verticale */
.detail-box a {
  display: inline-block;
  background-color: #b39043; /* colore ocra/marrone */
  color: white;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 600;
  transition: background-color 0.3s ease;
}

.content {
  margin-top: auto;
}

