:root{
  --text-color: #666;
  --primary-color: #2B305A;
  --bg-color-1:#f5ba28;
  --bg-color-2:#f8f3eb;
  --bg-color-3:#e8e0d4;
  --bg-color-4:#333;
  --bg-color-white:#fff;
  --bg-opened-menu: rgba(37, 42, 80, 0.8);
}

body{ font-weight:400; color:var(--text-color); font-size:1.4rem; font-family: 'DM Sans', sans-serif; font-weight: 300; overflow-x:hidden; scroll-behavior: smooth; }
body.no-carousel { padding-top:80px; }
@media (min-width: 992px) {
  body { font-size:1.25rem; }
  body.no-carousel { padding-top:105px; }
}
.skip-link { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; z-index: -1; }
/* Stile per rendere visibile il link quando riceve il focus */
.skip-link:focus { position: absolute; left: auto; width: auto; height: auto; overflow: auto; z-index: 9999; display: inline-block; padding: 10px 15px; background-color: var(--primary-color); color: var(--bg-color-white); text-decoration: none; border: 2px solid var(--bg-color-white); margin: 10px; }

a { text-decoration:none; }
b, strong { font-weight:700; }

.scroll-disabled { overflow: hidden; }

.anchor { scroll-margin-top: 80px; }

.section-padding { padding:60px 0; }

.container { width:100%; max-width: 1600px; }
.container-fluid { max-width:1920px; margin:0px auto; }

.section__maintitle { color:var(--bg-color-4); margin-bottom:30px; font-size:4.4rem; font-weight:700; line-height:4.5rem; }
.section__subtitle { color:var(--bg-color-1); font-size: 1.6rem; font-weight:400; }
.section__subtitle:before { font-family:flaticon_tecno_impianti !important; content: "\f109"; margin-right: 10px; display: inline-block; font-size: 1.2em; vertical-align: middle; }
.section__subtitle-big { font-size:2rem; color:#38407a; margin-bottom:15px; }

.btn-cta { display:inline-flex; align-items:center; justify-content:center; padding:18px 38px; background:var(--bg-color-1); color:var(--bg-color-white); font-size: 22px; font-weight: 600; text-transform: uppercase; text-decoration: none; transition: 0.3s all; border:0px; clip-path: polygon(14px 0, 100% 0, calc(100% - 14px) 100%, 0 100%); }
.btn-cta::after, .btn-cta-2::after { font-family:flaticon_tecno_impianti !important; content: "\f108"; margin-left: 10px; font-size: 28px; line-height: 1; transition: transform 0.3s; }
.btn-cta:hover,
.btn-cta:focus { text-decoration: none !important; background:var(--primary-color); color:var(--bg-color-white) !important; }
.btn-cta:hover::after, .btn-cta-2:hover::after { transform: translateX(4px); }

.btn-cta-2 { display:inline-flex; align-items:center; justify-content:center; padding:12px 5px; background:transparent; color:var(--bg-color-4); font-size: 1.7rem; font-weight: 600; text-transform: uppercase; text-decoration: none; transition: 0.3s all; border:0px; }
.btn-cta-2:hover,
.btn-cta-2:focus { text-decoration: none; color:var(--bg-color-1); }

.bg-custom { background-color:var(--primary-color); color:var(--bg-color-white); }
.bg-custom .section__maintitle,
.bg-custom .wrapper-custom-arrows .custom-arrow,
.bg-custom a { color:var(--bg-color-white); }
.bg-custom a:hover { opacity:0.8; }
.bg-custom .order-list li { border-bottom: 1px solid #666c99; }
.bg-custom .btn-cta:hover,
.bg-custom .btn-cta:focus { background:var(--bg-color-3); color:var(--primary-color) !important; }

.bg-custom-2 { background:#e5e8eb url('../images/bg-decoration-section.png') no-repeat top right / auto; }

.order-list { list-style:none; padding-left:0; counter-reset:item; font-weight:500; font-size:2rem; padding:35px 0; }
.order-list li { counter-increment:item; display:flex; align-items:center; gap:15px; padding:20px 0; border-bottom:1px solid var(--bg-color-4); }
.order-list li::before { content:counter(item)"."; flex-shrink:0; font-weight:600; }
.order-list a { flex:1; display:inline-flex; justify-content:space-between; align-items:center; gap:10px; }
.order-list a::after { font-family:flaticon_tecno_impianti !important; content:"\f104"; flex-shrink:0; display:inline-block; font-size:0.8em; transition:transform 0.3s; }
.order-list a:hover::after { transform:translateX(4px); }

.gallery-show__head { margin-bottom:30px; }
.gallery-show__col { margin-bottom:30px; }
.gallery-show__item { display:block; overflow:hidden; }
.gallery-show__item img { width:100%; aspect-ratio:4 / 3; object-fit:cover; transition:transform 0.4s ease; }
.gallery-show__item:hover img { transform:scale(1.05); }
.gallery-show__wrap-back { margin-top:30px; text-align:center; }

@media (max-width: 991px) {
  .section__maintitle { font-size:3.2rem; line-height:3.2rem; }
}

/* HEADER */

.noscroll { overflow: hidden; }

header { background: var(--bg-opened-menu); position: fixed; width: 100%; top: 0; left: 0; right: 0; z-index: 101; padding: 0; color: #00292e; transition: background, 0.2s; }
.fixed-header header,
.no-carousel header { background: var(--primary-color); box-shadow: 0px -5px 15px rgba(0, 0, 0, 0.3); }
header .header-container { display: flex; flex-direction: row; flex-wrap: wrap; align-content: center; }

header .header-col { flex: 0 0 40%; display: flex; align-items:center; justify-content: center; }
header .header-col.col-n1 { justify-content: flex-start; position: relative; }
header .header-col.col-n2 { flex: 0 0 20%; flex-direction: column; }
header .header-col.col-n3 { justify-content: flex-end; }


.wrapper-menu-toggle { background-color: var(--primary-color); color: var(--bg-color-white); text-align: center; padding: 0 12px 10px; transition: background-color 0.05s linear; cursor: pointer; z-index: 2; position: relative; }
.menu-toggle { border: 0; padding: 0; background-color: transparent; overflow: hidden; outline: none; cursor: pointer; height: 70px; width: 80px; background-color: none; border-radius: 50%; transition: background-color 0.05s linear; display: flex; flex-direction: column; }
.menu-toggle i { width: 80px; height: 80px; display: block; font-size: 20px; line-height: 2.5; line-height: 1; transition: transform 0.2s ease-in-out; transform: translateY(0); color: #fff; padding: 44px 0 20px; text-align: center; }
.menu-toggle .barra { width: 40px; height: 1px; margin:0px auto 7px; background-color: var(--bg-color-white); transition: transform .2s ease, opacity .2s ease, margin .2s ease; transform-origin: center; }
.menu-toggle i.icon-open { padding: 32px 0; }
/* Stato aperto: diventa X */
.menu-toggle.menu-toggle-open .barra:nth-child(1){ transform: translateY(8px) rotate(45deg); }
.menu-toggle.menu-toggle-open .barra:nth-child(2){ opacity: 0; }
.menu-toggle.menu-toggle-open .barra:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }

.header-top__link { display: inline-flex; align-items: center; position: relative; left: 0px; padding: 7px 20px; font-size: 18px; color: var(--bg-color-white); text-decoration: none; transition: color 0.2s linear; }
.header-top__link:hover { color: var(--bg-color-1); }
.header-top__link i { display: inline-block; font-size: 32px; line-height: 1; color: var(--bg-color-white); transition: color 0.2s linear; }
.header-contact-divider { border-left: 1px solid var(--bg-color-white); }

@media (max-width: 991px) {
  header .hidden-mobile { display:none; }
  .menu-toggle-text { display:none; }
  .header-top__link i { font-size: 28px; }
}

/* MENU */

#extended-menu { margin: 0; height: 100%; }
#extended-menu .menu-list { margin: 0; padding:0; height: 100%; display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch; }

#extended-menu .menu-item { display: flex; align-items: stretch; margin: 0; }
#extended-menu .menu-item a { display: flex; align-items: center; height: 100%; color: var(--bg-color-white); padding: 0 40px 0 10px; font-size: 18px; text-transform: uppercase; font-weight:400; background: transparent; }

#extended-menu .submenu-container { position: relative; }
#extended-menu .submenu-list { top: 100%; left: 0; right: auto; width: auto; min-width: 300px; padding: 10px 0; background: var(--primary-color); }
#extended-menu .submenu-list .submenu-item a { height: auto; padding: 8px 20px; font-size: 16px; color: var(--bg-color-white); }
#extended-menu .submenu-list .submenu-item a:hover,
#extended-menu .submenu-list .submenu-item.menu-active a { color: var(--bg-color-1); }
#extended-menu .submenu-container .submenu-list { transform: translateY(10px); transform-origin: top; }
#extended-menu .submenu-container.open-submenu .submenu-list { transform: translateY(0); }

.menu-canvas { position: fixed; z-index: 99; left: 0; width: 100%; height: 100%; top: auto; background-color: rgba(37, 42, 80, 0.7); display: flex; align-items: center; transition: opacity 0.1s linear; opacity: 0; transform: translateY(-120%); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); }
.menu-canvas.menu-open { transform: translateY(0); opacity: 1; }
.menu-canvas ul { padding-left:0px; list-style:none; }
.menu-canvas ul a { text-decoration:none; }

.submenu-item.menu-active a { color: var(--bg-color-1); }

.submenu-container > a:before { content: ""; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); font-size: 24px; font-family: flaticon_tecno_impianti !important; font-style: normal; font-weight: normal !important; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; content: "\f102"; }
.submenu-container:hover > a { color: var(--bg-color-1); }
.submenu-container:hover:after { color: #fff; }
.submenu-container a { position: relative; }

.submenu-item { text-align: left; list-style-type:none; }
.submenu-item a { font-size: 20px; text-transform: uppercase; padding: 8px 0; }

.container-button-menu { background-color: #44a0a5; text-align: center; padding: 0 12px 10px; transition: background-color 0.05s linear; cursor: pointer; border-radius: 50%; z-index: 2; position: relative; }

.menu-open .label-menu { opacity: 0; }

.submenu-container.open-submenu > a:after { transform: scaleX(1); }

.open-submenu > a { color: #fff; }

.submenu-list { text-transform: initial; position: absolute; top: 0; width: 20vw; padding-left: 4.43vw; right: -24.43vw; }
.submenu-container .submenu-list { opacity: 0; transform: translateX(45px) scale(0.95); transform-origin: right; transition: opacity 0.15s linear, transform 0.2s linear; }
.submenu-container.open-submenu .submenu-list { opacity: 1; transform: translateX(0) scale(1); z-index: 99; }

.noscroll .menu-canvas,  .noscroll header { width: calc(100% - 17px); }

@media (max-width: 1199px) {
  .noscroll .menu-canvas,  .noscroll header { width: 100%; }
}

.main-navigation { flex-basis: 50%; padding-top: 70px; padding-top: 7.2vh; padding-right: 4.43vw; }

.menu-list { list-style:none; padding-top:60px; }
.menu-list > .menu-item { text-align: right; }
.menu-item { position: relative; }
.menu-item a { text-decoration: none; color:var(--bg-color-white); font-size: 30px; font-weight: 300; line-height: 1; text-transform: initial; padding-bottom: 13px; display: inline-block; transition: color 0.2s linear; }
.menu-item a:hover,
.menu-item.menu-active a { color: var(--bg-color-1); }

@media (max-width: 1399px) {
  .menu-canvas { align-items: initial; }

  .main-navigation { font-size: 20px;  flex-basis: 100%;  padding: 160px 0 30px;  overflow-y: scroll; }
  .menu-list > .menu-item { text-align: center; }
  .menu-item a { font-size: 25px; padding-bottom: 10px; display: block; }

  .submenu-list { position: relative; width: 100%; right: 0; padding: 0; display: block; padding: 15px 0 15px; }
  .submenu-container.open-submenu .submenu-list { background-color: rgba(60, 52, 51, 0.3); margin-bottom: 20px; }
  .submenu-container .submenu-list { transform: initial; }
  .submenu-container > a:before { right: 10px; top: -2px; transform: rotate(90deg); }
  .submenu-list.hide-menu { display: none; }
  .submenu-item { text-align: center; }
  .visible-desktop { display: none; }
  .visible-mobile { display: initial; }
}


/* Carousel */
.section-carousel__wrapper { position: relative; }
.section-carousel__wrapper:has(.wrap-carousel__text)::before { content: ""; position: absolute; inset: 0; background: url('../images/bg-text-carousel.png') left center / auto 100% no-repeat, linear-gradient(to right, rgb(37, 42, 80)0, rgba(37, 42, 80, .5) 60%, rgba(37, 42, 80, 0) 80%); z-index: 2; pointer-events: none; }
.section-carousel .carousel,
.section-carousel .carousel .swiper,
.section-carousel .carousel .swiper-wrapper,
.section-carousel .carousel .swiper-slide { width: 100%; height: 100%; }
.section-carousel .carousel { position: relative; z-index: 1; }
.section-carousel .carousel__picture { display: block; width: 100%; height: 100%; }
.section-carousel .carousel .swiper-slide { height: 100svh; }
.section-carousel .carousel__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center center; }
.wrap-carousel__text { position: absolute; z-index: 100; top: 50%; transform: translateY(-50%); width: 60%; margin: 0 5%; text-align: left; color:var(--bg-color-white); text-shadow: 4px 3px 30px #333; }
.wrap-carousel__title { font-size: 7.5rem; line-height: 6.5rem; display:block; margin-top:25px; }
.wrap-carousel__description { font-size: 20px; margin: 20px 0; font-weight: 500; }

@media (max-width:991px){
  .wrap-carousel__text { width: 80%; margin: 0 10%; bottom:15%; top: auto; transform: translateY(0); text-align: center; }
  .wrap-carousel__title { font-size: 3.5rem; line-height: 3.5rem; }
  .wrap-carousel__description { font-size: 16px; }
}

/* CONTENT */
/*#main-content a:hover { color:var(--primary-color); text-decoration:underline; }*/
.bg-top-right { background:url('../images/bg-decoration-section.png') top right no-repeat; min-height: 396px; }
.blockquote { font-weight: 500 !important;
  font-size: 1.3rem !important;
  background-color: #f0f0ef;
  border-left: 5px solid #ccc;
  margin: 2rem 0;
  padding: 1rem 1.25rem;
  font-style: italic;
  color: #333;
  line-height: 1.5; }

/* 2 Colonne Testo e Immagine */
.section-with-image__wrap-text{ padding:25px 20px; }
.section-with-image__wrap-text p:last-child{ margin-bottom:0; }
.section-with-image__wrap-text ul:last-child{ margin-bottom:0; }
.section-with-image__wrap-button { margin-top:30px; }

.section-with-image .col-image { --img-gap:0px 0px 0px 4rem; position:relative; align-self:stretch; padding:var(--img-gap); }
.section-with-image .col-image .wrap-image,
.section-with-image .col-image .wrap-album { position:absolute; inset:var(--img-gap); overflow:hidden; border-radius:300px 0 0 300px; }
.section-with-image .col-image .wrap-album .album,
.section-with-image .col-image .wrap-album .swiper,
.section-with-image .col-image .wrap-album .swiper-wrapper,
.section-with-image .col-image .wrap-album .swiper-slide,
.section-with-image .col-image .wrap-album .album__image,
.section-with-image .col-image .wrap-album .album__image a { height:100%; }
.section-with-image .col-image .wrap-image img,
.section-with-image .col-image .wrap-album img { width:100%; height:100%; object-fit:cover; display:block; }
.section-with-image .col-image .wrapper-custom-arrows { position:absolute; right:40px; bottom:25px; left:auto; z-index:10; margin:0; }

.section-with-image.sinistra .col-image .wrap-image,
.section-with-image.sinistra .col-image .wrap-album { border-radius:0 300px 300px 0; }

@media (max-width: 1199px){
 .section-with-image__wrap-text { padding:25px 10px; }

 .section-with-image .col-image { position:static; align-self:auto; padding:0 calc(var(--bs-gutter-x, 1.5rem) * .5); }
 .section-with-image .col-image .wrap-image,
 .section-with-image .col-image .wrap-album { position:static; overflow:visible; border-radius:0; }
 .section-with-image .col-image .wrap-album .album,
 .section-with-image .col-image .wrap-album .swiper,
 .section-with-image .col-image .wrap-album .swiper-wrapper,
 .section-with-image .col-image .wrap-album .swiper-slide,
 .section-with-image .col-image .wrap-album .album__image,
 .section-with-image .col-image .wrap-album .album__image a { height:auto; }
 .section-with-image .col-image .wrap-image img,
 .section-with-image .col-image .wrap-album img { width:auto; height:auto; object-fit:initial; }
 .section-with-image .col-image .wrapper-custom-arrows,
 .section-with-image.sinistra .col-image .wrapper-custom-arrows { position:static; left:auto; right:auto; bottom:auto; margin:0; }

 .section-with-image.sinistra .col-image .wrap-image,
 .section-with-image.sinistra .col-image .wrap-album { border-radius:0; }
}

/* 2 Colonne Testo e Multi Immagine */
.col-multi-image { position:relative; background:url('../images/bg-decoration-img.png') no-repeat top center; min-height:520px; padding-top:40px; padding-bottom:40px; }
.col-multi-image .wrap-image { position:absolute; top:40px; left:0; width:45%; z-index:1; }
.col-multi-image .wrap-image img { width:100%; height:auto; display:block; }
.col-multi-image .wrap-album { position:relative; width:70%; margin-left:auto; margin-top:140px; z-index:2; border:4px solid var(--bg-color-white); }
.col-multi-image .wrap-album img { width:100%; }

@media (max-width: 991px){
 .col-multi-image { min-height:0; padding-top:0; padding-bottom:0; }
 .col-multi-image .wrap-image { position:static; width:100%; }
 .col-multi-image .wrap-album { width:100%; margin-left:0; margin-top:20px; box-shadow:none; }
}

.bg-decoration-index { background: url('../images/bg-intro-index.png') no-repeat bottom right; }
.bg-decoration-impianti-carburanti { background: url('../images/bg-intro-impianti-carburanti.jpg') no-repeat bottom right; }
.bg-decoration-impianti-autolavaggio { background: url('../images/bg-impianti-autolavaggio.jpg') no-repeat bottom right; }
.bg-decoration-bonifica-serbatoi { background: url('../images/bg-bonifica-serbatoi.jpg') no-repeat bottom right; }
.bg-decoration-servizi-manutenzione { background: url('../images/bg-servizi-manutenzione.jpg') no-repeat bottom right; }

/* Slider boxes */
.slider-boxes__box { text-align: center; }
.slider-boxes__box-icon { font-size: 3rem; line-height: 3rem; color: #38407a; }
.slider-boxes__box-title { font-size:2rem; color:#38407a; margin-bottom:15px; }

/* Frecce custom slider colonna */
.wrapper-custom-arrows { display:flex; flex-direction:row; justify-content:flex-start; align-items:center; gap:20px; margin-top:15px; }
.wrapper-custom-arrows .custom-arrow { cursor:pointer; color:var(--primary-color); font-size:3rem; line-height:1; transition:opacity 0.2s linear; }
.wrapper-custom-arrows .custom-arrow i { display:inline-block; }
.wrapper-custom-arrows .custom-arrow:hover { opacity:0.7; }
.section-slider-boxes .wrapper-custom-arrows, .section-minigallery .wrapper-custom-arrows { justify-content:center; }

/* Slider Realizzazioni */
.slider-realizzazioni__wrap-image { position:relative; }
.slider-realizzazioni__wrap-image img { width:100%; }
.slider-realizzazioni__wrap-text { position:absolute; bottom:-4px; left:-4px; width:60%; min-height:160px; border:4px solid var(--bg-color-white); padding:15px 20px; background:var(--bg-color-1); display:flex; flex-direction:column; }
.slider-realizzazioni__wrap-title { color:var(--bg-color-4); font-size: 2rem; font-weight:900; padding-bottom:15px; }
.slider-realizzazioni__wrap-link { margin-top:auto; padding-top:15px; border-top:1px solid var(--bg-color-white); font-weight:600; text-transform: uppercase; }
.slider-realizzazioni__wrap-link a { display:flex; justify-content:space-between; align-items:center; gap:10px; text-align:left; color:var(--bg-color-white); }
.slider-realizzazioni__wrap-link a::after { font-family:flaticon_tecno_impianti !important; content:"\f104"; flex-shrink:0; display:inline-block; transition:transform 0.3s; }
.slider-realizzazioni__wrap-link a:hover::after { transform:translateX(4px); }
.section-slider-realizzazioni .wrapper-custom-arrows { justify-content:center; margin:0 0 25px 0; }

/* Effetto di apertura album */
.album, .slider-realizzazioni { clip-path: inset(0 0 100% 0); transition: clip-path 2s cubic-bezier(0.77, 0, 0.18, 1); }
.album.vista, .slider-realizzazioni.vista { clip-path: inset(0 0 0% 0); }
.footer-middle__content { clip-path: inset(0 0 0 100%); transition: clip-path 2s cubic-bezier(0.77, 0, 0.18, 1); }
.footer-middle__content.vista { clip-path: inset(0 0 0 0); }

/* Form Contatti */
.section-contatti { background:#f4f6f9; padding:60px 0px; }
.section-contatti h2 { text-align:center; }
.section-contatti__description { text-align:center; margin-bottom:30px; }

.contact-form .form-control {border-radius:0;}
.wrap_eta.hidden{display:none;}

.contact-form .form-group { margin-bottom:15px; }
.contact-form .form-check a { color:#222; text-decoration:none; }


/* Mappa */
#map-map{width:100%;height:650px; }
.map__infowindow{padding:10px;font-weight:400; text-align: center;}
.map__title{margin-bottom:5px; font-size: 18px;}
.map__description p{margin-bottom:0;}
.map-route { margin-top:12px; padding-top:12px; border-top:1px solid var(--bg-color-3); text-align:left; }
.map-route__label { display:block; margin-bottom:6px; font-size:13px; font-weight:600; color:var(--bg-color-4); text-transform:uppercase; }
.map-route__row { display:flex; align-items:stretch; gap:6px; }
.map-route__input { flex:1; min-width:0; padding:8px 10px; font-size:14px; border:1px solid var(--bg-color-3); border-radius:4px; color:var(--bg-color-4); }
.map-route__input:focus { outline:none; border-color:var(--bg-color-1); }
.map-route__btn { flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; width:40px; padding:0; background:var(--bg-color-1); color:var(--bg-color-white); border:0; border-radius:4px; cursor:pointer; transition:background 0.3s; }
.map-route__btn::after { font-family:flaticon_tecno_impianti !important; content:"\f108"; font-size:20px; line-height:1; transition:transform 0.3s; }
.map-route__btn:hover { background:var(--primary-color); }
.map-route__btn:hover::after { transform:translateX(3px); }

/* Parallax */
.parallax{min-height:680px;position: relative;display:flex;  background-attachment: fixed; background-position: center; background-repeat: no-repeat;  background-size: cover;}
.parallax:before{content: ' ';display: block;position:absolute;left:0;right:0;top:0;bottom:0;background-color:rgba(12, 103, 196, .40);   }
.parallax__container{position: absolute; left: 0; top: 50%; width: 100%; margin-top:-75px; text-align: center; color: #000;}
.parallax__title{font-size:60px;margin-bottom:30px;color:#ffffff; }
.parallax__btn{border-color:#fff;border-radius:50px;padding-left:30px;padding-right:30px;color:#fff;font-weight:700;text-transform:uppercase; }
.parallax__btn:hover{background:#fff;color:#0b2247}

/* POPUP */

.popup-dynamic .modal-header img { margin:0px auto; }
.popup-dynamic__header-logo { background-color: #0137a1; }
.popup-dynamic__header-logo button { position: absolute; top:5px; right:15px; color:#fff; }
.popup-dynamic__wrap-image img { margin:0px auto; }
.popup-dynamic__wrap-image + .popup-dynamic__wrap-text { margin-top:20px; }
.popup-dynamic__wrap-text h2,
.popup-dynamic__wrap-text h3 { color:#0137a1; }

@media (min-width: 576px){
  .popup-dynamic .modal-dialog { max-width: 600px; }
}

/* MINIGALLERY */
.section-minigallery .album__image {padding: 0px 3px;}

/* GALLERY */
.section-main-gallery { padding-top:30px; }
.main-gallery__col { margin-bottom:30px; }
.album-card { display:flex; flex-direction:column; height:100%; background:var(--bg-color-white); }
.album-card__image { display:block; position:relative; overflow:hidden; }
.album-card__image img { width:100%; aspect-ratio:4 / 3; object-fit:cover; transition:transform 0.4s ease; }
.main-gallery__col a:hover .album-card__image img { transform:scale(1.05); }
.album-card__title { position:absolute; z-index:2; bottom:-4px; left:-4px; width:75%; margin:0; padding:15px 20px; border:4px solid var(--bg-color-white); background:var(--bg-color-1); color:var(--bg-color-white); font-size:2rem; font-weight:900; line-height:1.2; }

/* GRID BOXES */
.grid-boxes__link { position:relative; display:block; }
.grid-boxes__box-image { position:relative; overflow:hidden; }
.grid-boxes__box-image::before { content:""; position:absolute; inset:0; background:rgba(0, 0, 0, 0.45); opacity:0; transition:opacity 0.25s ease; z-index:2; pointer-events:none; }
.grid-boxes__box-image img { transition:opacity 0.25s ease; }
.grid-boxes__hover-label { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); z-index:3; opacity:0; transition:opacity 0.25s ease; pointer-events:none; }
.grid-boxes__link:hover .grid-boxes__box-image img { opacity:0.5; }
.grid-boxes__link:hover .grid-boxes__box-image::before { opacity:1; }
.grid-boxes__link:hover .grid-boxes__box-image .grid-boxes__hover-label { opacity:1; }
.grid-boxes__box-title { font-size:1.6rem; font-weight:700; text-transform:uppercase; }

 .responsive-aspect-ratio { position: relative; overflow: hidden; width: 100%; padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */ }

/* Then style the iframe to fit in the container div with full height and width */
.responsive-iframe { position: absolute; top: 0; left: 0; bottom: 0; right: 0; width: 100%; height: 100%; }

/* ACCORDION */
.accordionItems .accordion-button:not(.collapsed) { background-color: var(--primary-color); color: var(--bg-color-white); }
.accordion-button:not(.collapsed)::after { background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); }
.accordionItems .accordion-button { font-weight: 500; font-size: 2rem; padding:2rem 1.3rem; }
.accordionItems .accordion-body a { color:var(--primary-color); }
.accordionItems .accordion-body a:hover { color:var(--bg-color-4); text-decoration:underline; }

@keyframes accordion-fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.accordion-item--animate {
  opacity: 0;
  animation: accordion-fade-up 0.4s ease forwards;
}
.accordionItems .accordion-item--animate:nth-child(1)  { animation-delay: 0ms; }
.accordionItems .accordion-item--animate:nth-child(2)  { animation-delay: 100ms; }
.accordionItems .accordion-item--animate:nth-child(3)  { animation-delay: 200ms; }
.accordionItems .accordion-item--animate:nth-child(4)  { animation-delay: 300ms; }
.accordionItems .accordion-item--animate:nth-child(5)  { animation-delay: 400ms; }
.accordionItems .accordion-item--animate:nth-child(6)  { animation-delay: 500ms; }
.accordionItems .accordion-item--animate:nth-child(7)  { animation-delay: 600ms; }
.accordionItems .accordion-item--animate:nth-child(8)  { animation-delay: 700ms; }
.accordionItems .accordion-item--animate:nth-child(9)  { animation-delay: 800ms; }
.accordionItems .accordion-item--animate:nth-child(10) { animation-delay: 900ms; }

/* FOOTER */
.footer-top { background:url('../images/bg-footer.jpg') no-repeat center right / cover; padding:50svh 0px 0px 0px; }
#address { background:linear-gradient(to right, var(--bg-color-white) 50%, transparent 50%); color:var(--bg-color-4); font-weight:500; padding:35px 0px; letter-spacing:-.05rem; }
#address a { color:var(--bg-color-4); }
#address a:hover { color:var(--bg-color-1); text-decoration:underline; transition: color 0.2s linear;}
.footer__title { font-weight:900; font-size:2rem; }
.footer__subtitle { color:var(--text-color); font-size:1.3rem; font-weight:300; }

.footer-middle { background:var(--primary-color) url('../images/bg-decoration-footer.png') repeat-x top left / auto; color:var(--bg-color-white); padding:60px 0; }
.footer-middle .footer__title { color:var(--bg-color-white); }
.footer-middle .btn-cta-2 { color:var(--bg-color-white); }
.footer-middle .btn-cta-2:hover { color:var(--bg-color-1); }

.footer-bottom { font-size:1rem; padding:15px 0; text-align:center; }
@media (max-width: 991px) {
  
  #address { background:rgba(255,255,255,.85); }
}