/* MODIFICHE NAVBAR */
@media screen and (max-width: 991px) {
    .navbar {
        background: transparent !important;
    }
}

.navbar {
    z-index: 20 !important;
    position: fixed !important;
    transition: none;
}

.navbar .navbar-nav>.nav-item>.nav-link {
    color: #fff !important;
}

.navbar .navbar-nav>.nav-item>.nav-link:hover {
    color: #FEBC5E !important;
}

.navbar.scrolled .navbar-nav>.nav-item>.nav-link:hover {
    color: #fa7407 !important;
}

.navbar.scrolled {
    background: #0A041B !important;
}

.navbar-toggler-icon {
    filter: brightness(0) invert(1);
    /* Rende l'icona hamburger bianca */
}

@media screen and (max-width: 991px) {
    .navbar-collapse {
        background: #0A041B;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        padding: 10px 0;
    }

    .navbar.navbar-open {
        background: #0A041B !important;
    }
}




/* PARALLAX */
.parallax-container {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.layer {
    position: absolute;
    width: 100%;
    height: auto;
    max-height: 100vh;
    /* Evita che le immagini siano più alte della finestra */
    object-fit: cover;
    /* Mantiene le proporzioni senza distorsioni */
    top: 0;
    left: 0;
}

.clouds-background {
    opacity: 70%;
}

.background {
    z-index: 1;
}

.clouds-background {
    z-index: 2;
}

.mountains {
    z-index: 3;
}

.ground {
    z-index: 4;
}

.trees-sx {
    z-index: 5;
}

.foreground {
    z-index: 6;
}

.t1 {
    z-index: 7;
}

.trees-dx {
    z-index: 11;
}

.cloud-front {
    z-index: 9;
}

.mongolfiera {
    z-index: 10;
}

.main-title {
    display: flex;
    flex-direction: column;
    z-index: 3;
    margin-top: 6%;
    left: 10%;
}

.main-title h1 {
    font-family: "Bungee", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 5rem;
    color: #fff;
    line-height: 0.9;
}

.main-title p {
    font-family: "Space Mono", monospace;
    font-weight: 400;
    font-style: normal;
    font-size: 1.5rem;
    color: #fff;
}

@media screen and (max-width: 1400px) {
    .main-title {
        left: 10%;
        margin-top: 7%;
    }

    .main-title h1 {
        font-size: 4.5rem;
    }

    .main-title p {
        font-size: 1.5rem;
    }

}

@media screen and (max-width: 1200px) {
    .main-title {
        left: 8%;
        margin-top: 8%;
    }

    .main-title h1 {
        font-size: 4rem;
    }

    .main-title p {
        font-size: 1.2rem;
    }

    .background {
        transform: scale(1.2) translateY(0);
    }

    .clouds-background {
        transform: scale(1.2) translateY(0);
    }

    .mountains {
        transform: scale(1.2) translateY(40px);
    }

    .ground {
        transform: scale(1.4) translateX(0);
    }

    .trees-sx {
        transform: scale(1.4) translateX(100px);
    }

    .foreground {
        transform: scale(1.4) translateX(125px);
    }

    .t1 {
        transform: scale(1.4) translateX(15px);
    }

    .trees-dx {
        transform: scale(1.4) translateX(-40px);
    }

    .mongolfiera {
        transform: scale(1.3) translateX(-120px) translateY(20px);
    }
}

@media screen and (max-width: 991px) {
    .main-title {
        left: 5%;
        margin-top: 8%;
    }

    .background {
        transform: scale(1.4) translateY(0);
    }

    .clouds-background {
        transform: scale(1.4) translateY(0);
    }

    .mountains {
        transform: scale(1.4) translateY(40px);
    }

    .ground {
        transform: scale(1.7) translateX(0);
    }

    .trees-sx {
        transform: scale(1.7) translateX(130px) translateY(10px);
    }

    .foreground {
        transform: scale(1.7) translateX(170px);
    }

    .t1 {
        transform: scale(1.5) translateX(30px) translateY(30px);
    }

    .trees-dx {
        transform: scale(1.7) translateX(-40px);
    }

    .mongolfiera {
        transform: scale(1.7) translateX(-180px) translateY(40px);
    }
}

@media screen and (max-width: 576px) {
    .parallax-container {
        height: 80vh;
    }

    .main-title {
        text-align: center;
        left: 0;
        margin-top: 15%;
        z-index: 5;
    }

    .main-title h1 {
        font-size: 4rem;
    }

    .main-title p {
        font-size: 1.2rem;
    }

    .background {
        transform: scale(3) translateY(60px);
    }

    .clouds-background {
        transform: scale(2.5) translateX(-70px) translateY(60px);
    }

    .mountains {
        transform: scale(2) translateX(-40px) translateY(90px);
    }

    .ground {
        transform: scale(2.5) translateX(30px) translateY(70px);
    }

    .trees-sx {
        transform: scale(3) translateX(0) translateY(0);
    }

    .foreground {
        transform: scale(4) translateX(-10px) translateY(20px);
    }

    .t1 {
        transform: scale(3) translateX(-45px) translateY(40px);
    }

    .trees-dx {
        transform: scale(3) translateX(0);
    }

    .mongolfiera {
        transform: scale(1.3) translateX(0) translateY(0);
    }
}




/* SEZIONE EVENTO */
.evento {
    position: relative;
    width: 100vw;
    height: 90vh;
    margin-top: 0vh;
    background-color: #0A041B;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
}

.evento .content {
    display: flex;
    flex-direction: column;
    gap: 70px;
    width: 100%;
    max-width: 1200px;
    padding: 20px;
    border-radius: 12px;
    align-items: center;
    justify-content: center;
    margin: 4%;
}

.content .top-section {
    text-align: center;
}

.top-section h3 {
    font-family: "Space Mono", monospace;
    font-weight: 400;
    font-style: normal;
    font-size: 1.3rem;
    color: #D384D0;
    margin: 0;
    margin-bottom: 2%;
}

.top-section h1 {
    margin: 10px 0;
    font-family: "Bungee", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 4rem;
    color: #fff;
    line-height: 0.9;
    margin-bottom: 2.5%;
}

.top-section p {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 1rem;
    color: #fff;
    padding: 0 150px;
    opacity: 0.7;
}

.top-section .bold {
    font-weight: 600;
    font-style: bold;
    opacity: 1;
    color: #fff;
}

.content .grid-section {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
}

.grid-section .grid-item {
    display: flex;
    width: 30%;
    min-width: 250px;
    box-sizing: border-box;
    padding: 5px;
}

.grid-section img {
    width: 90%;
    top: 0;
    margin: 0;
}

.grid-section h4 {
    font-family: "Space Mono", monospace;
    font-weight: 600;
    font-style: bold;
    font-size: 1.3rem;
    color: #fff;
}

.grid-section p {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 1rem;
    color: #ffffff94;
    line-height: 1.2;
}

@media screen and (max-width: 1400px) {
    .evento {
        margin-top: -10vh;
        height: 100vh;
    }

    .evento .content {
        margin-top: 8%;
    }
}

@media screen and (max-width: 1200px) {
    .evento {
        margin-top: -10vh;
    }

    .evento .content {
        padding: 40px;
        gap: 40px;
    }
}

@media screen and (max-width: 576px) {
    .evento {
        margin-top: -10vh;
        height: fit-content;
    }

    .evento .content {
        margin-top: 10%;
        gap: 20px;
    }

    .content .top-section {
        margin-top: 10%;
    }

    .content .top-section h3 {
        padding: 5%;
    }

    .content .top-section p {
        padding-top: 10px;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 0;
    }

    .content .grid-section {
        width: 100%;
        gap: 0;
    }

    .grid-section .grid-item {
        width: 100%;
        min-width: 250px;
        padding: 5px;
    }

    .grid-section img {
        width: 75%;
        top: 0;
        margin: 0;
    }
}





















/* SEZIONE PROGRAMMA */
.programma {
    position: relative;
    width: 100%;
    background-color: #0A041B;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 3rem 1rem;
}

.programma h1 {
    font-family: "Bungee", sans-serif;
    font-size: 4rem;
    font-weight: 400;
    color: #fff;
    line-height: 0.9;
    margin-bottom: 2rem;
    text-align: center;
}

.timeline-container {
    width: 100%;
    max-width: 800px;
    padding: 2rem 1rem;
    position: relative;
    -webkit-overflow-scrolling: touch;
}

.timeline-line {
    position: relative;
    height: 4px;
    background-color: #653491;
    margin: 50px auto;
    width: 100%;
    touch-action: pan-x;
}

.dot {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 36px;
    height: 36px;
    background-color: #D384D0;
    border-radius: 50%;
    color: white;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    cursor: pointer;
}

#bus {
    position: absolute;
    top: -50px;
    width: 100px;
    cursor: grab;
    z-index: 3;
    transition: left 0.3s ease-out, transform 0.3s;
}

#bus:active {
    transform: scale(1.05);
}

#bus::selection, .timeline-container::selection {
    background: transparent;
    color: inherit;
}

.programma-content {
    width: 100%;
    max-width: 800px;
    background: #13092f;
    padding: 2rem;
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    margin-top: 2rem;
    transition: height 0.3s ease;
}

.programma-content h3 {
    font-family: "Space Mono", monospace;
    font-size: 1.6rem;
    font-weight: bold;
    color: #ffffff;
    margin-bottom: 1.5rem;
    text-align: center;
}

.programma-content .testino {
    position: relative;
    font-family: "Space Mono", monospace;
    font-size: 1.1rem;
    margin-bottom: 0.8rem;
    padding-left: 1.4rem;
    color: #fff;
}

.programma-content .testino::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #653491;
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1;
}

.programma-content a {
    text-decoration: none;
    color: #a94ef4;
    font-weight: bold;
    transition: color 0.2s;
    font-size: 1.3rem;
}

.programma-content a:hover {
    color: #7e2fd6;
    text-decoration: underline;
}
.programma-generale {
    padding: 1.5rem;
    border-radius: 1rem;
    max-width: 800px;
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.programma-generale h3 {
    font-family: "Space Mono", monospace;
    color: #7d41b1;
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
    font-weight: bold;
}

.programma-generale-list {
    list-style-type: disc;
    padding-left: 1.5rem;
}

.programma-generale-list p {
    font-family: "Space Mono", monospace;
    font-size: 1.1rem;
    margin-bottom: 0.6rem;
    color: #ffffff;
}
.programma-disclaimer {
    max-width: 800px;
    text-align: center;
    padding: 2rem 1rem;
    color: #bbb;
    font-family: "Space Mono", monospace;
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 0.2rem;
}

.programma-disclaimer p {
    margin-bottom: 0.6rem;
    color: #ffffff;
}

.programma-disclaimer strong {
    color: #ffffff;
    font-weight: bold;
}
@media screen and (max-width: 576px) {
    .programma h1 {
        font-size: 2.5rem;
        padding: 0 1rem;
    }

    .programma-content,
    .programma-generale {
        padding: 1.2rem;
    }

    .programma-content h3 {
        font-size: 1.4rem;
    }

    .programma-content .testino {
        font-size: 1rem;
    }
}
@media screen and (max-width: 768px) {
    .timeline-container {
        padding: 1rem;
    }

    .dot {
        width: 28px;
        height: 28px;
        font-size: 0.9rem;
    }

    #bus {
        width: 80px;
        top: -40px;
    }

    .programma-generale h3,
    .programma-content h3 {
        font-size: 1.3rem;
    }

    .programma-generale-list p,
    .programma-content .testino {
        font-size: 1rem;
    }

    .programma-content a {
        font-size: 1.1rem;
    }

    .programma-disclaimer {
        font-size: 0.95rem;
        padding: 1.5rem 0.5rem;
    }
}

@media screen and (max-width: 480px) {
    .programma h1 {
        font-size: 2.2rem;
    }

    .programma-content,
    .programma-generale,
    .programma-disclaimer {
        padding: 1rem;
    }

    .timeline-line {
        margin: 30px 0;
    }

    .dot {
        width: 24px;
        height: 24px;
        font-size: 0.75rem;
    }

    #bus {
        width: 70px;
        top: -35px;
    }
}

/* SEZIONE FAQ */
.faq {
  background-color: #0A041B;
  padding: 4rem 1rem;
  color: #fff;
}

.faq-title {
  font-family: "Bungee", sans-serif;
  font-size: 3rem;
  margin-bottom: 2rem;
  color: #b368f5;
}

.faq-container {
  max-width: 800px;
  margin: 0 auto;
  text-align: left;
}

.faq-group {
  margin-bottom: 1rem;
  border-radius: 1rem;
  overflow: hidden;
  background: #13092f;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.faq-question {
  width: 100%;
  background: #653491;
  color: #fff;
  font-family: "Space Mono", monospace;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 1rem;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background 0.3s;
}

.faq-question:hover {
  background: #7d41b1;
}

.faq-answer {
  padding: 1rem 1.5rem;
  display: none;
  font-family: "Space Mono", monospace;
  font-size: 1rem;
  color: #ddd;
}

.faq-answer p {
  margin-bottom: 0.8rem;
  color: #ffffff;
}
.faq-answer strong{
  font-size: 1rem;
  font-weight: bold;
}

.faq-answer ul {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}

.faq-answer li {
  list-style: disc;
  margin-bottom: 0.5rem;
}

.faq-answer a {
  color: #a94ef4;
  font-weight: bold;
  text-decoration: none;
}

.faq-answer a:hover {
  text-decoration: underline;
}







/* SEZIONE SPONSOR */
.sponsor {
    position: relative;
    width: 100vw;
    height: 115vh;
    margin-top: 0vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    background: linear-gradient(#0A041B 65%,
            #653491);
}

.sponsor .container h1 {
    margin-top: 3%;
    font-family: "Bungee", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 4rem;
    color: #fff;
    line-height: 0.9;
}

.sponsor .container p {
    font-family: "Space Mono", monospace;
    font-weight: 400;
    font-style: normal;
    font-size: 1.2rem;
    color: #fff;
}

.sponsor .descrizioni h4 {
    font-weight: 400;
    font-style: normal;
    font-size: 2.3rem;
    color: #fff;
}

.sponsor .descrizioni li {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1rem;
    color: #ffffffd1;
    line-height: 1.4;
    margin: 30px 0;
}

.sponsor .descrizioni ul {
    margin: 30px 0;
}

.sponsor .descrizioni strong {
    font-weight: 700;
    font-style: bold;
    color: #b368f5;
}

.sponsor .descrizioni p {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.3rem;
    color: #fff;
}

.hidden {
    display: none;
}

.sponsor .card {
    border-radius: 1rem;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    background: linear-gradient(to bottom,
            #FB885A 2%,
            #713B9E 20%,
            #472581,
            #30165D,
            #0E072F);
    color: #fff;
}

.sponsor .card .form-select {
    background-color: #0A041B;
    border-color: #0A041B;
    color: #fff;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23fff' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 0.65rem auto;
}

.sponsor .card .form-control {
    background: #0A041B;
    border-color: #0A041B;
    color: #fff;
}

.form-control:focus,
.form-select:focus {
    border-color: #D384D0;
    box-shadow: 0 0 0 0.2rem rgba(211, 132, 208, 0.5);
}

.form-check-input {
    background-color: #0A041B;
    border: 1px solid transparent;
    width: 1.2em;
    height: 1.2em;
}

.form-check-input:checked {
    background-color: #D384D0;
    border-color: #D384D0;
}

.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(211, 132, 208, 0.5);
    outline: none;
}

.sponsor .btn {
    background-color: #653491;
    color: #fff;
}

.sponsor .btn:hover {
    background-color: #D384D0;
    color: #fff;
}

@media screen and (max-width: 1400px) {
    .sponsor .text-center {
        padding: 0 25px;
    }

    .descrizioni {
        text-align: center;
        padding: 0 25px;
    }
}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 576px) {
    .sponsor {
        height: fit-content;
    }

    .card {
        margin-bottom: 3%;
    }
}

#chiudiModuloBtn {
    background-color: transparent;
    border: 2px solid #fff;
    color: #fff;
}

#chiudiModuloBtn:hover {
    background-color: #D384D0;
    color: #fff;
    border-color: #D384D0;
}



















/* I NOSTRI SPONSOR */
.inostrisponsor {
    position: relative;
    width: 100vw;
    height: 40vh;
    margin-top: 0vh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    background: linear-gradient(#653491,
            #0A041B);
}

.powered-sponsor {
    font-family: "Space Mono", monospace;
    font-weight: 400;
    font-style: normal;
    font-size: 2rem;
    color: #fff;
    margin-bottom: 2%;
    margin-top: 0;
    opacity: 0.8;
}

.sponsor-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
}

.sponsor-container img {
    max-width: 120px;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.8;
    transition: all 0.3s ease;
}

.sponsor-container img:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.05);
}

@media screen and (max-width: 576px) {
    .inostrisponsor {
        height: fit-content;

    }

    .sponsor-container {
        gap: 1rem;
    }

    .powered-sponsor {
        margin-bottom: 2%;
        margin-top: 5%;
        font-size: 1.5rem;
    }

    .sponsor-container img {
        max-width: 70px;
    }
}






















/* MODIFICHE FOOTER */
.footer {
    background-color: #0A041B;
}

.footer a:hover {
    color: #fa7407;
}

.footer-social li a:hover {
    color: #fa7407;
}