body {
 background: #fff;
 color: #2f3138;
 font-family: "Open Sans", sans-serif;
}
a {
 color: #f7095d;
 text-decoration: none;
 transition: 0.5s;
}
a:hover,
a:active,
a:focus {
 color: #f8234a;
 outline: none;
 text-decoration: none;
}
p {
 padding: 0;
 margin: 0 0 30px 0;
}
h1,
h2,
h3,
h4,
h5,
h6 {
 font-family: "Raleway", sans-serif;
 font-weight: 400;
 margin: 0 0 20px 0;
 padding: 0;
 color: #0e1b4d;
}
.main-page {
 margin-top: 70px;
}
#preloader {
 position: fixed;
 left: 0;
 top: 0;
 z-index: 999;
 width: 100%;
 height: 100%;
 overflow: visible;
 background: #fff url("../img/preloader.svg") no-repeat center center;
}
.back-to-top {
 position: fixed;
 visibility: hidden;
 opacity: 0;
 right: 15px;
 bottom: 15px;
 z-index: 996;
 background: #f7095d;
 width: 40px;
 height: 40px;
 border-radius: 50px;
 transition: all 0.4s;
}
.back-to-top i {
 font-size: 28px;
 color: #fff;
 line-height: 0;
}
.back-to-top:hover {
 background: #f94a6a;
 color: #fff;
}
.back-to-top.active {
 visibility: visible;
 opacity: 1;
}
.section-header {
 margin-bottom: 60px;
 position: relative;
 padding-bottom: 20px;
}
.section-header::before {
 content: "";
 position: absolute;
 display: block;
 width: 60px;
 height: 5px;
 background: #f7095d;
 bottom: 0;
 left: calc(50% - 25px);
}
.section-header h2 {
 font-size: 36px;
 text-transform: uppercase;
 text-align: center;
 font-weight: 700;
 margin-bottom: 10px;
}
.section-header p {
 text-align: center;
 padding: 0;
 margin: 0;
 font-size: 18px;
 font-weight: 500;
 color: #9195a2;
}
.section-with-bg {
 background-color: #f6f7fd;
}
#header {
 height: 90px;
 position: fixed;
 left: 0;
 top: 0;
 right: 0;
 transition: all 0.5s;
 z-index: 997;
}
#header.header-scrolled,
#header.header-inner {
 background: rgba(6, 12, 34, 0.98);
 height: 70px;
}
#header #logo h1 {
 font-size: 36px;
 margin: 0;
 font-family: "Raleway", sans-serif;
 font-weight: 700;
 letter-spacing: 3px;
 text-transform: uppercase;
}
#header #logo h1 span {
 color: #f7095d;
}
#header #logo h1 a,
#header #logo h1 a:hover {
 color: #fff;
}
#header #logo img {
 padding: 0;
 margin: 0;
 max-height: 40px;
}
@media (max-width: 992px) {
 #header #logo img {
 max-height: 30px;
 }
}
.buy-tickets {
 color: #fff;
 background: #f7095d;
 padding: 7px 22px;
 margin: 0 0 0 15px;
 border-radius: 50px;
 border: 2px solid #f7095d;
 transition: all ease-in-out 0.3s;
 font-weight: 500;
 line-height: 1;
 font-size: 13px;
 white-space: nowrap;
}
.buy-tickets:hover {
 background: none;
 color: #fff;
}
.buy-tickets:focus {
 color: #fff;
}
@media (max-width: 992px) {
 .buy-tickets {
 margin: 0 15px 0 0;
 }
}
.navbar {
 padding: 0;
}
.navbar ul {
 margin: 0;
 padding: 0;
 display: flex;
 list-style: none;
 align-items: center;
}
.navbar li {
 position: relative;
}
.navbar>ul>li {
 white-space: nowrap;
 padding: 10px 0 10px 12px;
}
.navbar a,
.navbar a:focus {
 display: flex;
 align-items: center;
 justify-content: space-between;
 color: rgba(202, 206, 221, 0.8); 
 font-family: "Raleway", sans-serif;
 font-weight: 600;
 font-size: 14px;
 white-space: nowrap;
 transition: 0.3s;
 position: relative;
 padding: 6px 4px;
}
.navbar a i,
.navbar a:focus i {
 font-size: 12px;
 line-height: 0;
 margin-left: 5px;
}
.navbar>ul>li>a:before {
 content: "";
 position: absolute;
 width: 0;
 height: 2px;
 bottom: -6px;
 left: 0;
 background-color: #f7095d;
 visibility: hidden;
 transition: all 0.3s ease-in-out 0s;
}
.navbar a:hover:before,
.navbar li:hover>a:before,
.navbar .active:before {
 visibility: visible;
 width: 100%;
}
.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover>a {
 color: #fff;
}
.navbar .dropdown ul {
 display: block;
 position: absolute;
 left: 12px;
 top: calc(100% + 30px);
 margin: 0;
 padding: 10px 0;
 z-index: 99;
 opacity: 0;
 visibility: hidden;
 background: #fff;
 box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
 transition: 0.3s;
}
.navbar .dropdown ul li {
 min-width: 200px;
}
.navbar .dropdown ul a {
 padding: 10px 20px;
 font-size: 14px;
 text-transform: none;
 color: #060c22;
}
.navbar .dropdown ul a i {
 font-size: 12px;
}
.navbar .dropdown ul a:hover,
.navbar .dropdown ul .active:hover,
.navbar .dropdown ul li:hover>a {
 color: #f7095d;
}
.navbar .dropdown:hover>ul {
 opacity: 1;
 top: 100%;
 visibility: visible;
}
.navbar .dropdown .dropdown ul {
 top: 0;
 left: calc(100% - 30px);
 visibility: hidden;
}
.navbar .dropdown .dropdown:hover>ul {
 opacity: 1;
 top: 0;
 left: 100%;
 visibility: visible;
}
@media (max-width: 1366px) {
 .navbar .dropdown .dropdown ul {
 left: -90%;
 }
 .navbar .dropdown .dropdown:hover>ul {
 left: -100%;
 }
}
.mobile-nav-toggle {
 color: #fff;
 font-size: 28px;
 cursor: pointer;
 display: none;
 line-height: 0;
 transition: 0.5s;
}
@media (max-width: 991px) {
 .mobile-nav-toggle {
 display: block;
 }
 .navbar ul {
 display: none;
 }
}
.navbar-mobile {
 position: fixed;
 overflow: hidden;
 top: 0;
 right: 0;
 left: 0;
 bottom: 0;
 background: rgba(0, 0, 0, 0.9);
 transition: 0.3s;
 z-index: 999;
}
.navbar-mobile .mobile-nav-toggle {
 position: absolute;
 top: 15px;
 right: 15px;
}
.navbar-mobile ul {
 display: block;
 position: absolute;
 top: 55px;
 right: 15px;
 bottom: 15px;
 left: 15px;
 padding: 10px 0;
 background-color: #fff;
 overflow-y: auto;
 transition: 0.3s;
}
.navbar-mobile>ul>li {
 padding: 0;
}
.navbar-mobile a:hover:before,
.navbar-mobile li:hover>a:before,
.navbar-mobile .active:before {
 visibility: hidden;
}
.navbar-mobile a,
.navbar-mobile a:focus {
 padding: 10px 20px;
 font-size: 15px;
 color: #060c22;
}
.navbar-mobile a:hover,
.navbar-mobile .active,
.navbar-mobile li:hover>a {
 color: #f7095d;
}
.navbar-mobile .getstarted,
.navbar-mobile .getstarted:focus {
 margin: 15px;
}
.navbar-mobile .dropdown ul {
 position: static;
 display: none;
 margin: 10px 20px;
 padding: 10px 0;
 z-index: 99;
 opacity: 1;
 visibility: visible;
 background: #fff;
 box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);
}
.navbar-mobile .dropdown ul li {
 min-width: 200px;
}
.navbar-mobile .dropdown ul a {
 padding: 10px 20px;
}
.navbar-mobile .dropdown ul a i {
 font-size: 12px;
}
.navbar-mobile .dropdown ul a:hover,
.navbar-mobile .dropdown ul .active:hover,
.navbar-mobile .dropdown ul li:hover>a {
 color: #f7095d;
}
.navbar-mobile .dropdown>.dropdown-active {
 display: block;
}
#hero {
 width: 100%;
 height: 100vh;
 background: url(../../images/shaker/ponte_pietra_neve_azzurro_light_2.jpg) top center;
 background-size: cover;
 overflow: hidden;
 position: relative;
}
@media (min-width: 1024px) {
 #hero {
 background-attachment: fixed;
 }
}
#hero:before {
 content: "";
 background: rgba(10, 25, 50, 0.65); 
 position: absolute;
 bottom: 0;
 top: 0;
 left: 0;
 right: 0;
}
#hero .hero-container {
 position: absolute;
 bottom: 0;
 left: 0;
 top: 90px;
 right: 0;
 display: flex;
 justify-content: center;
 align-items: center;
 flex-direction: column;
 text-align: center;
 padding: 0 15px;
}
@media (max-width: 991px) {
 #hero .hero-container {
 top: 70px;
 }
}
#hero h1 {
 color: #fff;
 font-family: "Raleway", sans-serif;
 font-size: 56px;
 font-weight: 600;
 text-transform: uppercase;
}
#hero h1 span { 
 color: #f7095d; 
}
@media (max-width: 991px) {
 #hero h1 {
 font-size: 34px;
 }
}
#hero h2 {
 color: #fff;
 font-family: "Raleway", sans-serif;
 font-size: 54px;
 font-weight: 600; 
}
#hero h2 span {
 color: #f7095d;
}
@media (max-width: 991px) {
 #hero h2 {
 font-size: 32px;
 }
}
#hero p {
 color: #ebebeb;
 font-weight: 700;
 font-size: 22px;
}
@media (max-width: 991px) {
 #hero p {
 font-size: 18px;
 }
}
#hero .play-btn {
 width: 94px;
 height: 94px;
 background: radial-gradient(#f7095d 50%, rgba(101, 111, 150, 0.15) 52%);
 border-radius: 50%;
 display: block;
 position: relative;
 overflow: hidden;
}
#hero .play-btn::after {
 content: "";
 position: absolute;
 left: 50%;
 top: 50%;
 transform: translateX(-40%) translateY(-50%);
 width: 0;
 height: 0;
 border-top: 10px solid transparent;
 border-bottom: 10px solid transparent;
 border-left: 15px solid #fff;
 z-index: 100;
 transition: all 400ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
#hero .play-btn:before {
 content: "";
 position: absolute;
 width: 120px;
 height: 120px;
 -webkit-animation-delay: 0s;
 animation-delay: 0s;
 -webkit-animation: pulsate-btn 2s;
 animation: pulsate-btn 2s;
 -webkit-animation-direction: forwards;
 animation-direction: forwards;
 -webkit-animation-iteration-count: infinite;
 animation-iteration-count: infinite;
 -webkit-animation-timing-function: steps;
 animation-timing-function: steps;
 opacity: 1;
 border-radius: 50%;
 border: 2px solid rgba(163, 163, 163, 0.4);
 top: -15%;
 left: -15%;
 background: rgba(198, 16, 0, 0);
}
#hero .play-btn:hover::after {
 border-left: 15px solid #f7095d;
 transform: scale(20);
}
#hero .play-btn:hover::before {
 content: "";
 position: absolute;
 left: 50%;
 top: 50%;
 transform: translateX(-40%) translateY(-50%);
 width: 0;
 height: 0;
 border: none;
 border-top: 10px solid transparent;
 border-bottom: 10px solid transparent;
 border-left: 15px solid #fff;
 z-index: 200;
 -webkit-animation: none;
 animation: none;
 border-radius: 0;
}
#hero .about-btn {
 font-family: "Raleway", sans-serif;
 font-weight: 500;
 font-size: 14px;
 letter-spacing: 1px;
 display: inline-block;
 padding: 12px 32px;
 border-radius: 50px;
 transition: 0.5s;
 line-height: 1;
 margin: 10px;
 color: #fff;
 -webkit-animation-delay: 0.8s;
 animation-delay: 0.8s;
 border: 2px solid #f7095d;
}
#hero .about-btn:hover {
 background: #f7095d;
 color: #fff;
}
@-webkit-keyframes pulsate-btn {
 0% {
 transform: scale(0.6, 0.6);
 opacity: 1;
 }
 100% {
 transform: scale(1, 1);
 opacity: 0;
 }
}
@keyframes pulsate-btn {
 0% {
 transform: scale(0.6, 0.6);
 opacity: 1;
 }
 100% {
 transform: scale(1, 1);
 opacity: 0;
 }
}
#about {
 background: url("../../images/shaker/arena_fiori_S.jpg"); 
 background-size: cover;
 overflow: hidden;
 position: relative;
 color: #fff;
 padding: 60px 0 40px 0;
}
@media (min-width: 1024px) {
 #about {
 background-attachment: fixed;
 }
}
#about:before {
 content: "";
 background: rgba(0, 0, 0, 0.7); 
 position: absolute;
 bottom: 0;
 top: 0;
 left: 0;
 right: 0;
}
#about h2 {
 font-size: 42px;
 font-weight: bold;
 margin-bottom: 10px;
 color: #fff;
}
#about h2 span { 
 color: #f7095d; 
}
#about h3 {
 font-size: 26px;
 font-weight: bold;
 text-transform: uppercase;
 margin-bottom: 10px;
 color: #fff;
}
#about p {
 font-size: 20px;
 margin-bottom: 20px;
 color: #fff;
}
#about p span { 
 color: #f7095d; 
 text-transform: uppercase;
}
#about link { 
 color: green;
  background-color: transparent;
  text-decoration: none;
}
#speakers {
 padding: 60px 0 30px 0;
}
#speakers .speaker {
 position: relative;
 overflow: hidden;
 margin-bottom: 30px;
}
#speakers .speaker .details {
 background: rgba(6, 12, 34, 0.76);
 position: absolute;
 left: 0;
 bottom: -40px;
 right: 0;
 text-align: center;
 padding-top: 10px;
 transition: all 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
#speakers .speaker .details h3 {
 color: #fff;
 font-size: 22px;
 font-weight: 600;
 margin-bottom: 5px;
}
#speakers .speaker .details p {
 color: #fff;
 font-size: 15px;
 margin-bottom: 10px;
 font-style: italic;
}
#speakers .speaker .details .social {
 height: 40px;
}
#speakers .speaker .details .social i {
 line-height: 0;
 margin: 0 2px;
}
#speakers .speaker .details a {
 color: #fff;
}
#speakers .speaker .details a:hover {
 color: #f7095d;
}
#speakers .speaker:hover .details {
 bottom: 0;
}
#speakers-details {
 padding: 60px 0;
}
#speakers-details .details h2 {
 color: #112363;
 font-size: 28px;
 font-weight: 700;
 margin-bottom: 10px;
}
#speakers-details .details .social {
 margin-bottom: 15px;
}
#speakers-details .details .social a {
 background: #e9edfb;
 color: #112363;
 line-height: 1;
 display: inline-block;
 text-align: center;
 border-radius: 50%;
 width: 36px;
 height: 36px;
 display: inline-flex;
 align-items: center;
 justify-content: center;
}
#speakers-details .details .social a:hover {
 background: #f7095d;
 color: #fff;
}
#speakers-details .details .social a i {
 font-size: 16px;
 line-height: 0;
}
#speakers-details .details p {
 color: #112363;
 font-size: 15px;
 margin-bottom: 10px;
}
#schedule {
 padding: 60px 0 60px 0;
}
#schedule .nav-tabs {
 text-align: center;
 margin: auto;
 display: block;
 border-bottom: 0;
 margin-bottom: 30px;
}
#schedule .nav-tabs li {
 display: inline-block;
 margin-bottom: 0;
}
#schedule .nav-tabs a {
 border: none;
 border-radius: 50px;
 font-weight: 600;
 background-color: #0e1b4d;
 color: #fff;
 padding: 10px 100px;
}
@media (max-width: 991px) {
 #schedule .nav-tabs a {
 padding: 8px 60px;
 }
}
@media (max-width: 767px) {
 #schedule .nav-tabs a {
 padding: 8px 50px;
 }
}
@media (max-width: 480px) {
 #schedule .nav-tabs a {
 padding: 8px 30px;
 }
}
#schedule .nav-tabs a.active {
 background-color: #f7095d;
 color: #fff;
}
#schedule .sub-heading {
 text-align: center;
 font-size: 18px;
 font-style: italic;
 margin: 0 auto 30px auto;
}
@media (min-width: 991px) {
 #schedule .sub-heading {
 width: 75%;
 }
}
#schedule .tab-pane {
 transition: ease-in-out 0.2s;
}
#schedule .schedule-item {
 border-bottom: 1px solid #cad4f6;
 padding-top: 15px;
 padding-bottom: 15px;
 transition: background-color ease-in-out 0.3s;
}
#schedule .schedule-item:hover {
 background-color: #fff;
}
#schedule .schedule-item time {
 padding-bottom: 5px;
 display: inline-block;
}
#schedule .schedule-item .speaker {
 width: 60px;
 height: 60px;
 overflow: hidden;
 border-radius: 50%;
 float: left;
 margin: 0 10px 10px 0;
}
#schedule .schedule-item .speaker img {
 height: 100%;
 transform: translateX(-50%);
 margin-left: 50%;
 transition: all ease-in-out 0.3s;
}
#schedule .schedule-item h4 {
 font-size: 18px;
 font-weight: 600;
 margin-bottom: 5px;
}
#schedule .schedule-item h4 span {
 font-style: italic;
 color: #19328e;
 font-weight: normal;
 font-size: 16px;
}
#schedule .schedule-item p {
 font-style: italic;
 color: #152b79;
 margin-bottom: 0;
}
#venue {
 padding: 60px 0;
}
#venue .container-fluid {
 margin-bottom: 3px;
}
#venue .venue-map iframe {
 background: url("../../images/shaker/arena_fiori_S.jpg") top center no-repeat;
 width: 100%;
 height: 100%;
 min-height: 300px;
}
#venue .venue-info {
 background: url("../../images/shaker/arena_fiori_S.jpg") top center no-repeat;
 background-size: cover;
 position: relative;
 padding-top: 60px;
 padding-bottom: 60px;
}
#venue .venue-info:before {
 content: "";
 position: absolute;
 bottom: 0;
 top: 0;
 left: 0;
 right: 0;
}
#venue .venue-info h3 {
 font-size: 36px;
 font-weight: 700;
 color: #fff;
}
@media (max-width: 574px) {
 #venue .venue-info h3 {
 font-size: 24px;
 }
}
#venue .venue-info p {
 color: #fff;
 margin-bottom: 0;
}
#venue .venue-gallery-container {
 padding-right: 12px;
}
.venue-gallery img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 border-radius: 8px;
 transition: all ease-in-out 0.4s;
}
#venue .venue-gallery:hover img {
 transform: scale(1.1);
}
@media (min-width: 992px) {
 .venue-gallery-container {
 height: 100vh;
 }
 .col-lg-6.d-flex.flex-column.gap-3 .venue-gallery {
 flex: 1;
 }
 .col-lg-6 .venue-gallery.h-100 img {
 height: 100%;
 }
}
#hotels {
 padding: 60px 0;
}
#hotels .hotel {
 border: 1px solid #e0e5fa;
 background: #fff;
 margin-bottom: 30px;
}
#hotels .hotel:hover .hotel-img img {
 transform: scale(1.1);
}
#hotels .hotel-img {
 overflow: hidden;
 margin-bottom: 15px;
}
#hotels .hotel-img img {
 transition: 0.3s ease-in-out;
}
#hotels h3 {
 font-weight: 600;
 font-size: 20px;
 margin-bottom: 5px;
 padding: 0 20px;
}
#hotels a {
 color: #152b79;
}
#hotels a:hover {
 color: #f7095d;
}
#hotels .stars {
 padding: 0 20px;
 margin-bottom: 5px;
}
#hotels .stars i {
 color: rgb(255, 195, 29);
}
#hotels p {
 padding: 0 20px;
 margin-bottom: 20px;
 color: #060c22;
 font-style: italic;
 font-size: 15px;
}
#gallery {
 padding: 60px;
 overflow: hidden;
}
#gallery .swiper-pagination {
 margin-top: 20px;
 position: relative;
}
#gallery .swiper-pagination .swiper-pagination-bullet {
 width: 12px;
 height: 12px;
 background-color: #fff;
 opacity: 1;
 border: 1px solid #f7095d;
}
#gallery .swiper-pagination .swiper-pagination-bullet-active {
 background-color: #f7095d;
}
#gallery .swiper-slide-active {
 text-align: center;
}
@media (min-width: 992px) {
 #gallery .swiper-wrapper {
 padding: 40px 0;
 }
 #gallery .swiper-slide-active {
 border: 5px solid #f7095d;
 padding: 4px;
 background: #fff;
 z-index: 1;
 transform: scale(1.15);
 margin-top: 6px;
 }
}
#supporters {
 padding: 60px 0;
}
#supporters .supporters-wrap {
 margin-bottom: 30px;
}
#supporters .supporter-logo1 {
 padding: 110px;
 display: flex;
 justify-content: center;
 align-items: center;
 overflow: hidden;
 background: rgba(255, 255, 255, 0.5);
 height: 200px;
}
#supporters .supporter-logo1:hover img {
 transform: scale(1.2);
}
#supporters .supporter-logo2 {
 padding: 60px;
 display: flex;
 justify-content: center;
 align-items: center;
 overflow: hidden;
 background: rgba(255, 255, 255, 0.5);
 height: 200px;
}
#supporters .supporter-logo2:hover img {
 transform: scale(1.2);
}
#supporters .supporter-logo3 {
 padding: 0px;
 display: flex;
 justify-content: center;
 align-items: center;
 overflow: hidden;
 background: rgba(255, 255, 255, 0.5);
 height: 200px;
}
#supporters .supporter-logo3:hover img {
 transform: scale(1.2);
}
#supporters .supporter-logo4 {
 padding: 90px;
 display: flex;
 justify-content: center;
 align-items: center;
 overflow: hidden;
 background: rgba(255, 255, 255, 0.5);
 height: 200px;
}
#supporters .supporter-logo4:hover img {
 transform: scale(1.2);
}
#supporters img {
 transition: all 0.4s ease-in-out;
}
#faq {
 padding: 60px 0;
}
#faq .faq-list {
 padding: 0;
 list-style: none;
}
#faq .faq-list li {
 border-bottom: 1px solid #e9eaed;
 margin-bottom: 20px;
 padding-bottom: 20px;
}
#faq .faq-list .question {
 display: block;
 position: relative;
 font-family: #f7095d;
 font-size: 18px;
 line-height: 24px;
 font-weight: 400;
 padding-left: 25px;
 cursor: pointer;
 color: #e0072f;
 transition: 0.3s;
}
#faq .faq-list i {
 font-size: 16px;
 position: absolute;
 left: 0;
 top: -2px;
}
#faq .faq-list p {
 margin-bottom: 0;
 padding: 10px 0 0 25px;
}
#faq .faq-list .icon-show {
 display: none;
}
#faq .faq-list .collapsed {
 color: black;
}
#faq .faq-list .collapsed:hover {
 color: #f7095d;
}
#faq .faq-list .collapsed .icon-show {
 display: inline-block;
 transition: 0.6s;
}
#faq .faq-list .collapsed .icon-close {
 display: none;
 transition: 0.6s;
}
#subscribe {
 padding: 60px;
 background: url(../img/subscribe-bg.jpg) center center no-repeat;
 background-size: cover;
 overflow: hidden;
 position: relative;
}
#subscribe:before {
 content: "";
 background: rgba(6, 12, 34, 0.6);
 position: absolute;
 bottom: 0;
 top: 0;
 left: 0;
 right: 0;
}
@media (min-width: 1024px) {
 #subscribe {
 background-attachment: fixed;
 }
}
#subscribe .section-header h2,
#subscribe p {
 color: #fff;
}
#subscribe input {
 background: #fff;
 color: #060c22;
 border: 0;
 outline: none;
 margin: 0;
 padding: 9px 20px;
 border-radius: 50px;
 font-size: 14px;
}
@media (min-width: 767px) {
 #subscribe input {
 min-width: 400px;
 }
}
#subscribe button {
 border: 0;
 padding: 9px 25px;
 cursor: pointer;
 background: #f7095d;
 color: #fff;
 transition: all 0.3s ease;
 outline: none;
 font-size: 14px;
 border-radius: 50px;
}
#subscribe button:hover {
 background: #e0072f;
}
@media (max-width: 460px) {
 #subscribe button {
 margin-top: 10px;
 }
}
#buy-tickets {
 padding: 60px 0;
}
#buy-tickets .card {
 border: none;
 border-radius: 5px;
 transition: all 0.3s ease-in-out;
 box-shadow: 0 10px 25px 0 rgba(6, 12, 34, 0.1);
}
#buy-tickets .card:hover {
 box-shadow: 0 10px 35px 0 rgba(6, 12, 34, 0.2);
}
#buy-tickets .card hr {
 margin: 25px 0;
}
#buy-tickets .card .card-title {
 margin: 10px 0;
 font-size: 14px;
 letter-spacing: 1px;
 font-weight: bold;
}
#buy-tickets .card .card-price {
 font-size: 48px;
 margin: 0;
}
#buy-tickets .card ul li {
 margin-bottom: 20px;
}
#buy-tickets .card .text-muted {
 opacity: 0.7;
}
#buy-tickets .card .btn {
 font-size: 15px;
 border-radius: 50px;
 padding: 10px 40px;
 transition: all 0.2s;
 background-color: #f7095d;
 border: 0;
 color: #fff;
}
#buy-tickets .card .btn:hover {
 background-color: #e0072f;
}
#buy-tickets #buy-ticket-modal input,
#buy-tickets #buy-ticket-modal select {
 border-radius: 0;
}
#buy-tickets #buy-ticket-modal .btn {
 font-size: 15px;
 border-radius: 50px;
 padding: 10px 40px;
 transition: all 0.2s;
 background-color: #f7095d;
 border: 0;
 color: #fff;
}
#buy-tickets #buy-ticket-modal .btn:hover {
 background-color: #e0072f;
}
#contact {
 padding: 60px 0;
}
#contact .contact-info {
 margin-bottom: 20px;
 text-align: center;
}
#contact .contact-info i {
 font-size: 48px;
 display: inline-block;
 margin-bottom: 10px;
 color: #f7095d;
}
#contact .contact-info address,
#contact .contact-info p {
 margin-bottom: 0;
 color: #112363;
}
#contact .contact-info h3 {
 font-size: 18px;
 margin-bottom: 15px;
 font-weight: bold;
 text-transform: uppercase;
 color: #112363;
}
#contact .contact-info a {
 color: #4869df;
}
#contact .contact-info a:hover {
 color: #f7095d;
}
#contact .contact-address,
#contact .contact-phone,
#contact .contact-email {
 margin-bottom: 20px;
}
@media (min-width: 768px) {
 #contact .contact-address,
 #contact .contact-phone,
 #contact .contact-email {
 padding: 20px 0;
 }
}
@media (min-width: 768px) {
 #contact .contact-phone {
 border-left: 1px solid #ddd;
 border-right: 1px solid #ddd;
 }
}
#contact .php-email-form .error-message {
 display: none;
 color: #fff;
 background: #ed3c0d;
 text-align: left;
 padding: 15px;
 font-weight: 600;
}
#contact .php-email-form .error-message br+br {
 margin-top: 25px;
}
#contact .php-email-form .sent-message {
 display: none;
 color: #fff;
 background: #18d26e;
 text-align: center;
 padding: 15px;
 font-weight: 600;
}
#contact .php-email-form .loading {
 display: none;
 background: #fff;
 text-align: center;
 padding: 15px;
}
#contact .php-email-form .loading:before {
 content: "";
 display: inline-block;
 border-radius: 50%;
 width: 24px;
 height: 24px;
 margin: 0 10px -6px 0;
 border: 3px solid #18d26e;
 border-top-color: #eee;
 -webkit-animation: animate-loading 1s linear infinite;
 animation: animate-loading 1s linear infinite;
}
#contact .php-email-form input,
#contact .php-email-form textarea {
 border-radius: 0;
 box-shadow: none;
 font-size: 14px;
}
#contact .php-email-form input:focus,
#contact .php-email-form textarea:focus {
 border-color: #f7095d;
}
#contact .php-email-form input {
 padding: 10px 15px;
}
#contact .php-email-form textarea {
 padding: 12px 15px;
}
#contact .php-email-form button[type=submit] {
 background: #f7095d;
 border: 0;
 padding: 10px 40px;
 color: #fff;
 transition: 0.4s;
 border-radius: 50px;
 cursor: pointer;
}
#contact .php-email-form button[type=submit]:hover {
 background: #e0072f;
}
@-webkit-keyframes animate-loading {
 0% {
 transform: rotate(0deg);
 }
 100% {
 transform: rotate(360deg);
 }
}
@keyframes animate-loading {
 0% {
 transform: rotate(0deg);
 }
 100% {
 transform: rotate(360deg);
 }
}
#committee {
 padding: 60px 0;
}
#committee .committee-info {
 margin-bottom: 20px;
 text-align: center;
}
#committee .committee-info i {
 font-size: 48px;
 display: inline-block;
 margin-bottom: 10px;
 color: #f7095d;
}
#committee .committee-info address,
#committee .committee-info p {
 font-size: 22px;
 margin-bottom: 40px;
 color: #112363; 
}
#committee .committee-info institution {
 font-size: 20px;
 margin-bottom: 40px;
 color: #2c3248; 
}
#committee .committee-info p span {
 font-size: 18px;
 margin-bottom: 40px;
 text-transform: uppercase;
 color: #f7095d;
}
#committee .committee-info h3 {
 font-size: 24px;
 margin-bottom: 10px;
 font-weight: bold;
 text-align: left;
 text-transform: uppercase;
 color: #112363;
}
#committee .committee-info a {
 color: #4869df;
}
#committee .committee-info a:hover {
 color: #f7095d;
}
#committee .committee-address,
#committee .committee-phone,
#committee .committee-email {
 margin-bottom: 20px;
}
@media (min-width: 768px) {
 #committee .committee-address,
 #committee .committee-phone,
 #committee .committee-email {
 padding: 20px 0;
 }
}
@media (min-width: 768px) {
 #committee .committee-phone {
 border-left: 1px solid #ddd;
 border-right: 1px solid #ddd;
 }
}
#committee .php-email-form .error-message {
 display: none;
 color: #fff;
 background: #ed3c0d;
 text-align: left;
 padding: 15px;
 font-weight: 600;
}
#committee .php-email-form .error-message br+br {
 margin-top: 25px;
}
#committee .php-email-form .sent-message {
 display: none;
 color: #fff;
 background: #18d26e;
 text-align: center;
 padding: 15px;
 font-weight: 600;
}
#committee .php-email-form .loading {
 display: none;
 background: #fff;
 text-align: center;
 padding: 15px;
}
#committee .php-email-form .loading:before {
 content: "";
 display: inline-block;
 border-radius: 50%;
 width: 24px;
 height: 24px;
 margin: 0 10px -6px 0;
 border: 3px solid #18d26e;
 border-top-color: #eee;
 -webkit-animation: animate-loading 1s linear infinite;
 animation: animate-loading 1s linear infinite;
}
#committee .php-email-form input,
#committee .php-email-form textarea {
 border-radius: 0;
 box-shadow: none;
 font-size: 14px;
}
#committee .php-email-form input:focus,
#committee .php-email-form textarea:focus {
 border-color: #f7095d;
}
#committee .php-email-form input {
 padding: 10px 15px;
}
#committee .php-email-form textarea {
 padding: 12px 15px;
}
#committee .php-email-form button[type=submit] {
 background: #f7095d;
 border: 0;
 padding: 10px 40px;
 color: #fff;
 transition: 0.4s;
 border-radius: 50px;
 cursor: pointer;
}
#committee .php-email-form button[type=submit]:hover {
 background: #e0072f;
}
#footer {
 background: #101522;
 padding: 0 0 25px 0;
 color: #eee;
 font-size: 14px;
}
#footer .footer-top {
 background: #040919;
 padding: 60px 0 30px 0;
}
#footer .footer-top .footer-info {
 margin-bottom: 30px;
}
#footer .footer-top .footer-info h3 {
 font-size: 26px;
 margin: 0 0 20px 0;
 padding: 2px 0 2px 0;
 line-height: 1;
 font-family: "Raleway", sans-serif;
 font-weight: 700;
 color: #fff;
}
#footer .footer-top .footer-info img {
 height: 40px;
 margin-bottom: 10px;
}
#footer .footer-top .footer-info p {
 font-size: 14px;
 line-height: 24px;
 margin-bottom: 0;
 font-family: "Raleway", sans-serif;
 color: #fff;
}
#footer .footer-top .social-links a {
 display: inline-block;
 background: #222636;
 color: #eee;
 line-height: 1;
 margin-right: 4px;
 border-radius: 50%;
 width: 36px;
 height: 36px;
 transition: 0.3s;
 display: inline-flex;
 align-items: center;
 justify-content: center;
}
#footer .footer-top .social-links a i {
 line-height: 0;
 font-size: 16px;
}
#footer .footer-top .social-links a:hover {
 background: #f7095d;
 color: #fff;
}
#footer .footer-top h4 {
 font-size: 14px;
 font-weight: bold;
 color: #fff;
 text-transform: uppercase;
 position: relative;
 padding-bottom: 12px;
 border-bottom: 2px solid #f7095d;
}
#footer .footer-top .footer-links {
 margin-bottom: 30px;
}
#footer .footer-top .footer-links ul {
 list-style: none;
 padding: 0;
 margin: 0;
}
#footer .footer-top .footer-links ul i {
 padding-right: 5px;
 color: #f7095d;
 font-size: 18px;
}
#footer .footer-top .footer-links ul li {
 border-bottom: 1px solid #262c44;
 padding: 10px 0;
}
#footer .footer-top .footer-links ul li:first-child {
 padding-top: 0;
}
#footer .footer-top .footer-links ul a {
 color: #eee;
}
#footer .footer-top .footer-links ul a:hover {
 color: #f7095d;
}
#footer .footer-top .footer-committee {
 margin-bottom: 30px;
}
#footer .footer-top .footer-committee p {
 line-height: 26px;
}
#footer .footer-top .footer-newsletter {
 margin-bottom: 30px;
}
#footer .footer-top .footer-newsletter input[type=email] {
 border: 0;
 padding: 6px 8px;
 width: 65%;
}
#footer .footer-top .footer-newsletter input[type=submit] {
 background: #f7095d;
 border: 0;
 width: 35%;
 padding: 6px 0;
 text-align: center;
 color: #fff;
 transition: 0.3s;
 cursor: pointer;
}
#footer .footer-top .footer-newsletter input[type=submit]:hover {
 background: #e0072f;
}
#footer .copyright {
 text-align: center;
 padding-top: 30px;
}
#footer .credits {
 text-align: center;
 font-size: 13px;
 color: #ddd;
}
.pretty-list {
 list-style: none;
 margin: 1.5rem 0;
 padding: 0;
 font-size: 1.05rem;
 line-height: 1.6;
 color: #333; 
}
.pretty-list {
 list-style: none;
 margin: 0; 
 padding-left: 0; 
 font-size: 1.05rem;
 line-height: 1.6;
 color: #333;
}
.pretty-list {
 list-style: none;
 margin: 0;
 padding-left: 0;
 font-size: 1.05rem;
 line-height: 1.6;
 color: #333;
}
.pretty-list > li {
 position: relative;
 padding-left: 2rem;
 margin-bottom: 1rem;
 transition: all 0.3s ease;
}
.pretty-list > li::before {
 content: "▸";
 position: absolute;
 left: 0;
 top: 0;
 color: #0077b6;
 font-weight: bold;
 font-size: 1.2rem;
 transition: transform 0.3s ease, color 0.3s ease;
}
.pretty-list > li:hover {
 transform: translateX(5px);
 color: #000;
}
.pretty-list > li:hover::before {
 color: #0096c7;
 transform: scale(1.2);
}
.inner-list {
 list-style: square;
 margin-top: 0.5rem;
 margin-left: 2rem;
 color: #555;
}
.inner-list li {
 margin-bottom: 0.3rem;
}
.pretty-list a {
 color: #0077b6;
 text-decoration: none;
 font-weight: 500;
}
.pretty-list a:hover {
 color: #0096c7;
 text-decoration: underline;
}
.pretty-list strong {
 font-weight: 600;
 color: #000;
}
.confirmation-text {
 margin-top: 1rem;
 font-size: 1.05rem;
 color: #000;
}

/* --- Modern overrides --- */

/* =================
   Modern & Creative (Light)
   Overrides and enhancements
   ================= */

/* Base typography */
:root{
  --primary: #0077b6;
  --accent: #00b4d8;
  --muted: #6b7280;
  --bg: #ffffff;
  --card: #f8fbff;
}

body {
  font-family: 'Poppins', 'Open Sans', sans-serif;
  background: var(--bg);
  color: #1e2a36;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  transition: background 0.3s ease, color 0.3s ease;
}

/* Hero modern */
.modern-hero {
  position: relative;
  height: 75vh;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem 1rem;
  background: linear-gradient(135deg, rgba(0,119,182,0.12) 0%, rgba(0,180,216,0.06) 50%, rgba(0,119,182,0.08) 100%);
  overflow: hidden;
}

.modern-hero .hero-container {
  position: relative;
  z-index: 2;
  max-width: 1100px;
  margin: 0 auto;
  color: #073b57;
}

.modern-hero h1, .modern-hero h2 {
  color: #073b57;
  text-shadow: none;
}

.modern-hero h1 {
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.6px;
}

.modern-hero h2 {
  font-size: 1.15rem;
  font-weight: 500;
  margin-top: 0.6rem;
  color: #244a66;
}

/* Hero button glow */
.about-btn, .buy-tickets, .btn {
  background: linear-gradient(90deg, var(--primary), var(--accent));
  border: none;
  color: #fff;
  padding: 10px 26px;
  border-radius: 999px;
  box-shadow: 0 6px 18px rgba(0,119,182,0.16);
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.about-btn:hover, .buy-tickets:hover, .btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0,180,216,0.18);
}

/* Sections spacing */
section {
  padding: 60px 0;
}

/* Alternate section backgrounds for rhythm */
.section-with-bg, .section-bg {
  background: #fbfdff;
}

/* Cards and images */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

.venue-gallery img, .supporter-logo1 img, .supporter-logo2 img {
  border-radius: 10px;
  box-shadow: 0 6px 20px rgba(16, 30, 63, 0.06);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.venue-gallery:hover img, .supporter-logo1:hover img, .supporter-logo2:hover img {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 18px 40px rgba(16, 30, 63, 0.10);
}

/* Pretty list refinement */
.pretty-list > li::before {
  content: "▸";
  color: var(--primary);
  left: 0;
  top: 2px;
  font-size: 1.1rem;
}

/* Footer modern */
#footer {
  background: #f7fbff;
  color: #11263b;
  padding: 22px 0 28px 0;
  border-top: 1px solid rgba(7,55,87,0.06);
}

#footer .footer-top { padding-bottom: 6px; }
.footer-logo { filter: none; opacity: 1; }

#footer .credits { color: #244a66; font-weight: 600; }

/* Navbar tweaks */
.navbar a { color: rgba(14,27,77,0.9); }
.navbar .active { color: var(--primary); }

/* Make gallery asymmetrical behave nicer on small screens */
@media (max-width: 992px) {
  .modern-hero { height: auto; padding: 4rem 1rem; min-height: 360px; }
  .section-header { margin-bottom: 30px; }
  .venue-gallery img { height: auto !important; }
  #header { position: relative; background: transparent; }
  .navbar ul { display: none; } /* mobile toggled by mobile-nav-toggle */
}

/* Compact mobile adjustments */
@media (max-width: 576px) {
  .modern-hero h1 { font-size: 1.5rem; }
  .modern-hero h2 { font-size: 0.95rem; }
  section { padding: 28px 0; }
  .about-btn { padding: 8px 18px; font-size: 0.95rem; }
}

/* subtle page load fade */
.page-fade {
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.page-fade.show { opacity: 1; transform: none; }




/* =============================== */
/* Navbar – gradiente blu elegante */
/* =============================== */

#header {
  background: linear-gradient(90deg, #023e8a, #0077b6);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

/* Link del menu */
.navbar a {
  color: #ffffff;
  font-weight: 500;
  transition: color 0.3s ease, opacity 0.3s ease;
}

/* Hover e link attivo */
.navbar a:hover,
.navbar .active {
  color: #caf0f8; /* azzurro chiaro per hover */
  text-decoration: none;
}

/* Dropdown menu */
.navbar .dropdown ul {
  background: #ffffff;
  border: 1px solid rgba(2, 62, 138, 0.15);
}

.navbar .dropdown ul a {
  color: #023e8a;
}

.navbar .dropdown ul a:hover {
  color: #0077b6;
}

/* Icona toggle per mobile */
.mobile-nav-toggle {
  color: #ffffff;
}

/* Navbar mobile (sfondo scuro semitrasparente) */
.navbar-mobile {
  background: rgba(2, 62, 138, 0.95);
}

.navbar-mobile a,
.navbar-mobile a:focus {
  color: #ffffff;
}

.navbar-mobile a:hover,
.navbar-mobile .active,
.navbar-mobile li:hover > a {
  color: #90e0ef;
}


/* ========================================= */* ========================================= */
/* Miglioramento spaziature e ritmo visivo   */
/* ========================================= */

/* Spaziature globali tra le sezioni */
section {
  padding: 80px 0; /* più aria, più eleganza */
}

@media (max-width: 992px) {
  section {
    padding: 60px 0;
  }
}

@media (max-width: 576px) {
  section {
    padding: 50px 0;
  }
}

/* Stacco visivo alternato per sezioni consecutive */
section:nth-of-type(odd) {
  background-color: #ffffff;
}

section:nth-of-type(even) {
  background-color: #f9fbfd;
}

/* Header delle sezioni */
.section-header {
  margin-bottom: 50px;
  text-align: center;
}

.section-header h2 {
  font-size: 2rem;
  font-weight: 700;
  color: #003566;
  margin-bottom: 10px;
}

.section-header p {
  color: #5a6a7a;
  font-size: 1.05rem;
  margin-bottom: 0;
}

/* Spazi specifici migliorati */
#buy-tickets {
  background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
  padding-top: 70px;
  padding-bottom: 70px;
}

#supporters {
  padding-top: 90px;
  padding-bottom: 90px;
}

#venue {
  padding-top: 90px;
  padding-bottom: 90px;
}

#hero {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Contenitori interni */
.container, .container-fluid {
  margin-left: auto;
  margin-right: auto;
}

/* Margine più armonioso tra righe interne */
.row + .row {
  margin-top: 40px;
}

/* Card e immagini */
.venue-gallery img {
  margin-bottom: 20px;
}

/* Stacco visivo tra Buy Tickets e Sponsors */
#buy-tickets::after {
  content: "";
  display: block;
  height: 60px;
  background: linear-gradient(to bottom, rgba(0,180,216,0.1), rgba(255,255,255,0));
}

/* Fine miglioramento spaziature */



/* ========================================= */
/* Correzione contorno bianco nella gallery  */
/* ========================================= */

/* Elimina sfondo e padding della galleria */
#venue .venue-gallery-container {
  background: none !important;
  padding: 0 !important;
  margin: 0 auto;
}

/* Elimina eventuale margine tra immagini */
#venue .venue-gallery {
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Immagini aderenti senza bordo bianco */
#venue .venue-gallery img {
  display: block;
  border: none;
  box-shadow: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
}



/* --- Correzione: rimozione sfondo bianco dietro le immagini venue --- */

#venue {
  background: url("images/shaker/arena.jpg") center center / cover no-repeat fixed;
  padding: 60px 0;
  position: relative;
  z-index: 1;
}

#venue .container {
  background: none !important;
  padding: 0 !important;
  margin: 0 auto;
  box-shadow: none;
}

#venue .venue-gallery-container {
  background: none !important;
  padding: 0 !important;
  margin: 0 auto;
}

#venue .venue-gallery {
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

#venue .venue-gallery img {
  display: block;
  border: none;
  box-shadow: none;
  margin: 0;
  padding: 0;
  border-radius: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}



/* ========================================= */
/* Rimuove sfondo azzurro dalla sezione Sponsor */
/* ========================================= */

#supporters.section-with-bg {
  background: #ffffff !important;
}



/* =============================== */
/* NAVBAR UNDERLINE BUG FIX        */
/* Ensure only hovered item shows underline.
   Remove persistent underline on .active while keeping active color.
   This avoids two items showing underline simultaneously. */
/* =============================== */

/* Disable the persistent underline for active items */
.navbar .active:before {
  visibility: hidden !important;
  width: 0 !important;
  transition: none !important;
}

/* Keep active link visually distinct by color (no underline) */
.navbar .active {
  color: #fff !important; /* keep active color - adjust if needed */
}

/* Keep hover underline behavior */
.navbar a:hover:before,
.navbar li:hover>a:before {
  visibility: visible;
  width: 100%;
  transition: all 0.3s ease-in-out;
}

/* Mobile menu: ensure no underline on active in mobile view either */
.navbar-mobile .active:before {
  visibility: hidden !important;
  width: 0 !important;
}

/* If you prefer the active item to have a subtle underline only when not hovering any item,
   a JS-based toggle would be required for full cross-browser behavior. This CSS approach
   is robust and avoids simultaneous underlines. */

/* Migliora leggibilità su mobile per Registration, Speakers e Committee */
@media (max-width: 576px) {
  #registration .container,
  #speaker .container,
  #committee .container {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }

  #registration p,
  #speaker p,
  #committee p,
  #registration h3,
  #speaker h4,
  #committee p {
    text-align: left;
    line-height: 1.6;
  }

  #registration .pretty-list,
  #committee .committee-info,
  #speaker .committee-info {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

/* ========================= */
/* Migliora leggibilità su mobile */
/* ========================= */
@media (max-width: 576px) {
  #registration .container,
  #speaker .container,
  #committee .container {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }

  #registration p,
  #speaker p,
  #committee p,
  #registration h3,
  #speaker h4,
  #committee p {
    text-align: left;
    line-height: 1.6;
  }

  #registration .pretty-list,
  #committee .committee-info,
  #speaker .committee-info {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

/* ========================= */
/* Fix visuale menu mobile   */
/* ========================= */
@media (max-width: 991px) {
  #navbar.navbar-mobile ul {
    display: block !important;
    background: #ffffff;
    position: absolute;
    top: 70px;
    left: 0;
    right: 0;
    padding: 1rem 0;
    text-align: center;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
  }
  #navbar.navbar-mobile ul li {
    display: block;
    margin: 0.8rem 0;
  }
  #navbar.navbar-mobile a {
    color: #003566;
    font-size: 1.1rem;
    font-weight: 500;
  }
}

/* =============================== */
/* FIX VISUALIZZAZIONE DESKTOP     */
/* =============================== */

/* Ripristina visibilità normale su schermi grandi */
@media (min-width: 992px) {
  #navbar {
    position: static;
    background: transparent;
  }
  #navbar ul {
    display: flex !important;
  }
  #navbar.navbar-mobile {
    position: static !important;
    background: transparent !important;
  }
  #navbar.navbar-mobile ul {
    display: flex !important;
    position: static !important;
    background: none !important;
    box-shadow: none !important;
  }
}

/* Assicura che l’header non copra il contenuto */
body {
  overflow-x: hidden;
}

/* === FIX: Menu sempre visibile e maggiori spazi laterali su mobile === */

/* Mantieni il menu sempre visibile su mobile e desktop */
#header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
}

/* Evita che il contenuto venga coperto dal menu */
body {
  padding-top: 90px;
}

/* Migliora la leggibilità su schermi piccoli */
@media (max-width: 768px) {
  section,
  .container,
  .container-fluid {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .section-header h2,
  .section-header p {
    padding-left: 10px;
    padding-right: 10px;
  }

  p, li {
    margin-left: 5px;
    margin-right: 5px;
  }
}
/* =============================== */
/* Venue section custom title styles */
/* =============================== */
.venue-text {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 40px;
}

.venue-title {
  font-size: 1.9rem;
  font-weight: 700;
  color: #003566;
  margin-bottom: 0.4rem;
}

.venue-subtitle {
  font-size: 1.1rem;
  color: #495057;
  margin-top: 0.3rem;
}

/* =============================== */
/* Venue label style (colored like 2025 in About) */
/* =============================== */
.venue-label {
  color: #f7095d;
  font-weight: 700;
}

/* ========================================= */
/* Full-width map image inside Venue section */
/* ========================================= */
.venue-map-full {
  text-align: center;
  margin-bottom: 40px;
}

.venue-map-full img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}

/* ===================================================== */
/*                 Sponsors Section – Enhanced            */
/* ===================================================== */

#supporters {
  padding: 100px 0;
  background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
}

#supporters .section-header h2 {
  font-size: 2.2rem;
  font-weight: 700;
  color: #003566;
  margin-bottom: 50px;
}

#supporters .supporters-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}

#supporters .supporter-logo {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  padding: 20px;
  height: 240px;
  width: 320px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
}

#supporters .supporter-logo img {
  max-height: 200px;
  width: auto;
  object-fit: contain;
  transition: transform 0.3s ease, filter 0.3s ease;
  filter: brightness(1) contrast(1.1);
}

#supporters .supporter-logo:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}

#supporters .supporter-logo:hover img {
  transform: scale(1.08);
  filter: brightness(1.05);
}

/* Responsive adjustments */
@media (max-width: 992px) {
  #supporters .supporter-logo {
    width: 45%;
    height: 200px;
  }
  #supporters .supporter-logo img {
    max-height: 160px;
  }
}

@media (max-width: 576px) {
  #supporters .supporter-logo {
    width: 90%;
    height: 180px;
  }
  #supporters .supporter-logo img {
    max-height: 140px;
  }
}