/* Reset di margini e padding per tutta la pagina */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* Assicura che il padding e il bordo non influenzino la larghezza e altezza */
}

/* Imposta il body e l'html per occupare tutta la larghezza e altezza della finestra */
html, body {
    height: 100%;
    width: 100%;
    font-family: Arial, sans-serif; /* Puoi sostituire con il font che preferisci */
    background-color: #3D3D3D;
    ; /* Sfondo della pagina più chiaro */
}

/* Navbar */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #3D3D3D;
    width: 100%;
    z-index: 1000;
    box-shadow: 0px 2px 5px rgba(59, 58, 58, 0.1);
    height: 120px;
    padding: 0 20px;
    box-sizing: border-box;
    margin-bottom:5%;
    margin-top:2%;
}

.navbar .home {
    margin-top: 2%;
    margin-left: 2%;
    width: 7%;
    height: 7%;
}

.navbar .logo {
    display: flex;
    align-items: center;
    gap: 10px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.navbar .logo img {
    height: 100px;
    cursor: pointer;
}

/* Menu a tendina */
.navbar .menu-toggle{
    margin-top: 2%;
    margin-left: 90%;
    width: 5%;
    height: 5%;
}

/* Menu a tendina */
.navbar .dropdown-menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 60px;
    right: 20px;
    background-color: #3D3D3D;
    padding: 10px 15px;
    z-index: 1001;
    width: max-content;
    min-width: 200px;
}

.navbar .dropdown-menu a {
    text-decoration: none;
    color: #ffffff;
    padding: 5px 15px;
    margin: 5px 0;
    transition: background-color 0.3s;
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    font-weight: bold;
    font-size: 20px;
}


/* Voce "Chiudi" */
.navbar .dropdown-menu .close {
    text-decoration: none;
    color: #ffffff;
    padding: 5px 15px;
    font-style: italic;
    display: block;
    text-align: center;
    width: 100%;
    margin-top:25%;
    font-weight: normal;
    font-size: 20px;
}

/* Sezioni */
.sections {
    width: 100%;
    background-color: #3D3D3D;
}

/* Sezione singola */
.section {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 600px;
    width: 90%;
    cursor: pointer;
    margin: 5% auto;
    overflow: hidden;
}

/* Immagini di default e hover */
.section img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    transition: opacity 0.1s ease-in-out;
}

.default-img {
    opacity: 1;
}

.hover-img {
    opacity: 0;
}

/* Effetto hover: cambia immagine e nasconde il testo */
.section:hover .default-img {
    opacity: 0;
}

.section:hover .hover-img {
    opacity: 1;
}

.section:hover .overlay {
    opacity: 0;
}

/* Overlay con titolo e sottotitolo */
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    /*transition: opacity 0.1s ease-in-out;*/
}

.overlay .text-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.overlay .title {
    font-size: 55px;
    color: #fff;
    font-weight: bold;
}

.overlay .subtitle {
    font-size: 35px;
    color: #fff;
}


/* Footer */
.footer {
    background-color: #3D3D3D;
    padding: 2%;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: auto;
    margin-top: 6%;
}

.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.footer h3 {
    color: #ffffff;
    font-weight: bold;
    font-size: 35px;
    margin-bottom: 10px;
}

.footer a {
    color: #ffffff;
    text-decoration: none;
    font-size: 30px;
    margin-bottom: 20px;
}

.footer-social {
    margin-top: 3%;
    margin-bottom:5%;
}

.social-icons {
    display: flex;
    gap: 15px;
}

.icons {
    width: 3%;
    height: auto;
    margin-right: 0.5%;
    margin-left: 0.5%;
}

/* Sezione eventi */
.events-section {
    width: 100%;
    background-color: #3D3D3D;
    color: white;
    text-align: center;
}

.events-category{
    margin-bottom: 15%;
}

/* Titoli delle categorie */
.events-category h2 {
    font-size: 45px;
    margin-bottom: 3%;
    margin-top:3%;
    font-weight: normal;
}

.events-category h2 strong {
    font-weight: bold;
}

.events-category p {
    font-size: 25px;
    margin-bottom: 4%;
    color: #ccc;
    width: 70%;
    margin-left: auto;
    margin-right: auto;
}

/* Contenitore eventi */
.events-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 10px;
}

/* Pannelli eventi */
.event-panel {
    position: relative;
    cursor: pointer;
    width: 40%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    aspect-ratio: 14/9; /* Mantiene la proporzione senza altezza fissa */
    border: none;
    outline: none;
}

/* Immagini */
.event-panel img {
    width: 100%;
    height: 100%;
    aspect-ratio: 14/9;
    object-fit: cover;
}

/* Overlay per il testo */
.event-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-direction: column;
    opacity: 0;
    transition: opacity 0.1s ease-in-out;
    inset: 0;
}

/* Testo evento */
.event-overlay h3 {
    font-size: 30px;
    font-weight: bold;
    text-transform: uppercase;
}

.event-panel:hover .event-overlay {
    opacity: 1;
}

.event-panel:hover {
    transform: none;
}



.container {
    max-width: 80%;
    margin: auto;
    text-align: center;
}

.title {
    font-size: 40x;
    font-weight: bold;
    margin-top: 4%;
    color:white;
}

.subtitle {
    font-size: 30px;
    color: #ccc;
    margin-bottom: 3%;
    font-weight: normal;
}

.main-image {
    width: 91%;
    height: auto;
    margin-bottom: 3%;
}

.description {
    font-size: 25px;
    line-height: 1.6;
    color: #ffffff;
    margin-bottom: 3%;
}

.gallery {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-bottom: 3%;
    object-fit: cover;
}

.gallery img {
    width: 30%;
    height: auto;
    object-fit: cover;
}

.two-columns img {
    width: 45%;
    object-fit: cover;
}

/*---SOCI---*/
.text-container {
    background-color: #3D3D3D;
    color: white;
    padding: 20px;
    width:80%;
    margin: auto;
}

.intro h2, .sconti h2 {
    font-size: 40px;
    margin-bottom: 5px;
    text-transform: uppercase;
    text-align: left;
    font-weight: normal;
}
.outro h2{
    font-size: 40px;
    margin-bottom: 5px;
    text-transform: uppercase;
    text-align: center;
    font-weight: normal;
}
.intro{
    text-align: left;
    width: 55%;
}
.outro{
    text-align: center;
    width: 100%;
}
.bold {
    font-weight: bold;
}
.evento h2{
    text-align: right;
    font-size: 35px;
    font-weight: normal;
}
.intro p, .evento p, .sconti p, .outro p {
    font-size: 25px;
    line-height: 1;
}

.evento {
    margin-top: 3%;
    text-align: right;
    width:65%;
    margin-left:35%;
    margin-bottom:5%;
}


/*.evento::before {
    content: "";
    position: absolute;
    left: 11%;
    top: 70%; 
    width: 28%;
    height: 3px; 
    background-color: white;
    
}*/

.image-container {
    height:500px;
    overflow: hidden;
    display: flex;
    margin-bottom: 5%;
}

.image-container img {
    width: 100%;
    height: 500px;
    object-fit: cover;
}

.sezione {
    margin-top: 20px;
    background-color: #3D3D3D;
    padding: 5px;
}

.sezione h3 {
    font-size: 25px;
    color: #ffffff;
    margin-bottom: 8px;
}

.sezione ul {
    list-style-type: none;
    padding-left: 0;
    font-size: 20px;
    line-height: 1.5;
}

.sezione li {
    margin-bottom: 0.5px;
}

.chi-siamo-container {
    text-align: center;
    background-color: #3D3D3D;
    color: white;
}

.chi-siamo-title {
    font-size: 45px;
    font-weight: normal;
    margin-bottom: 3%;
}

.chi-siamo-title span {
    color: #ffffff;
}

.chi-siamo-main-image {
    width: 90%;
    height: 500px;
    margin-bottom: 3%;
    object-fit: cover;
}

.chi-siamo-description {
    font-size: 25px;
    line-height: 1;
    color: #ffffff;
    margin: 0 auto 3%;
    width: 90%;
}
.chi-siamo-description-bottom {
    font-size: 25px;
    line-height: 1;
    color: #ffffff;
    margin: 0 auto 3%;
    width: 90%;
    text-align: left;
}
.chi-siamo-gallery {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 3%;
}

.chi-siamo-gallery img {
    width: 45%;
    height: auto;
}


/*CONTATTI*/
.contatti-container {
    text-align: center;
    background-color: #3D3D3D;
    color: white;
    padding: 3% 0;
    margin-left:5%;
    margin-right:5%;
}
.contatti-title {
    font-size: 35px;
    font-weight: bold;
    margin-bottom: 1%;
}
.contatti-title p{
    font-size: 25px;
    margin-bottom: 3%;
    margin-top:1%;
    font-weight: normal;
}
.contatti-email, .contatti-social {
    margin-top: 3%;
}
.contatti-email h3, .contatti-social h3 {
    font-size: 30px;
    margin-bottom: 1%;
}
.contatti-email p, .contatti-social p {
    font-size: 25px;
    margin-bottom: 3%;
}
.contatti-icons {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.contatti-icons a {
    text-decoration: none;
    color: white;
    display: flex;
    align-items: center;
    font-size: 20px;
}
.contatti-icons img {
    width: 40px;
    height: 40px;
    margin-right: 10px;
}
/*----SOSTIENI----*/
.sostieni-container {
    width: 80%;
    margin: auto;
    padding: 20px;
    align-content: center;
    text-align: center;
}

.sostieni-title {
    font-size: 35px;
    font-weight: bold;
    margin-bottom: 20px;
}

.sostieni-container h1, .sostieni-container h2, .sostieni-container p{
    color: white;
}

.sostieni-subtitle {
    font-size: 30px;
    font-weight: bold;
    margin-top: 40px;
}

.sostieni-description {
    font-size: 20px;
    line-height: 1.6;
    margin: 10px 0 20px;
    width:60%;
}
.sostieni-description-bottom {
    font-size: 20px;
    line-height: 1.6;
    margin: 10px 0 20px;
}

.sostieni-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 40px;
    gap:5%;
}

#copy-btn {
    background-color: #ffffff;
    color: #3D3D3D;
    padding: 15px 20px;
    font-size: 18px;
    border: none;
    cursor: pointer;
    border-radius: 5px;
    margin-bottom: 20px;
}

#copy-btn:hover {
    background-color: #c5c0bf;
}

/*-----RESPONSIVE-----*/
@media screen and (max-width: 1100px) {
    .event-panel .event-overlay {
        opacity: 1 !important;
        background-color: rgba(0, 0, 0, 0.6);
        flex-direction: column;
        padding: 10px;
    }

    .event-overlay h3 {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .event-overlay .cta-text {
        font-size: 16px;
        font-weight: normal;
        color: #ddd;
        text-transform: none;
    }
}

@media (max-width: 920px) {
    .navbar .logo img {
        height: 80px;
    }
    .navbar .menu-toggle{
        width: 8%;
        height: 8%;
    }
    .navbar .home {
        width: 10%;
        height: 10%;
    }
    .footer h3 {
        font-size: 30px;
    }
    
    .footer a {
        font-size: 25px;
    }
    .gallery{
        flex-direction: column;
        align-items: center;
    }
    .gallery img {
        width: 90%;
        height:400px;
    }
    .two-columns{
        flex-direction: column;
        align-items: center;
    }
    .two-columns img {
        width: 90%;
        height:400px;
    }
    .main-image {
        width: 90%;
    }
    .title {
        font-size: 35x;
    }
    .subtitle {
        font-size: 25px;
    }    
    .description {
        font-size: 20px;
    }

    .intro h2, .sconti h2, .outro h2 {
        font-size: 35px;
    }
    .evento h2{
        font-size: 30px;
    }
    .intro p, .evento p, .sconti p, .outro p {
        font-size: 20px;
    }
    .image-container {
        height:400px;
    }
    
    .image-container img {
        height: 400px;
    }
    .contatti-title {
        margin-bottom: 3%;
    }
    .contatti-title p{
        margin-bottom: 9%;
        margin-top:3%;
    }
    .contatti-email, .contatti-social {
        margin-top: 9%;
    }
    .contatti-email h3, .contatti-social h3 {
        margin-bottom: 3%;
    }
    .contatti-email p, .contatti-social p {
        margin-bottom: 9%;
    }
    .sostieni-content {
        flex-direction: column;
    }
    .sostieni-description {
        width:100%;
    }
}
@media (max-width: 768px) {
    .navbar .logo img {
        height: 70px;
    }
    .navbar .menu-toggle{
        width: 10%;
        height: 10%;
    }
    .navbar .home {
        width: 12%;
        height: 12%;
    }
    .navbar .dropdown-menu {
        top: 0;
        right: 0;
        padding: 20px 30px;
        width:100%;
        height:100%;
    }
    .navbar .dropdown-menu a {
        padding: 10px 30px;
        margin: 10px 0;
        width: 100%;
        font-size: 45px;
    }
    .navbar .dropdown-menu .close {
        padding: 10px 30px;
        font-size: 45px;
    }
    .icons {
        width: 6%;
        margin-right: 1%;
        margin-left: 1%;
    }
    .footer h3 {
        font-size: 25px;
    }
    
    .footer a {
        font-size: 20px;
    }
    .overlay .title {
        font-size: 45px;
    }
    
    .overlay .subtitle {
        font-size: 25px;
    }
    .section {
        height: 450px;
    }
    .events-category h2 {
        font-size: 35px;
    }
    .events-category p {
        font-size: 20px;
    }
    .event-overlay h3 {
        font-size: 25px;
    }
    .event-panel {
        width: 85%; 
    }
    .title {
        font-size: 25x;
    }
    .subtitle {
        font-size: 20px;
    }    
    .description {
        font-size: 18px;
    }
    .intro h2, .sconti h2, .outro h2 {
        font-size: 32px;
    }
    .evento h2{
        font-size: 27px;
    }
    .intro p, .evento p, .sconti p, .outro p {
        font-size: 18px;
    }
    .intro{
        width: 60%;
    }
    .evento{
        width: 65%;
    }
    .image-container {
        height:300px;
    }
    
    .image-container img {
        height: 300px;
    }
    .gallery img {
        height:350px;
    }
    .two-columns img {
        height:350px;
    }

    .chi-siamo-title {
        font-size: 35px;
        margin-bottom: 6%;
    }
    
    .chi-siamo-main-image {
        width: 90%;
        height: 350px;
        margin-bottom: 6%;
    }
    
    .chi-siamo-description {
        font-size: 20px;
    }

    .chi-siamo-gallery {
        flex-direction: column;
        align-items: center;
    }
    .chi-siamo-gallery img {
        width: 90%;
        height:300px;
    }
    .contatti-title {
        margin-bottom: 5%;
    }
    .contatti-title p{
        margin-bottom: 11%;
        margin-top:5%;
    }
    .contatti-email, .contatti-social {
        margin-top: 11%;
    }
    .contatti-email h3, .contatti-social h3 {
        margin-bottom: 5%;
    }
    .contatti-email p, .contatti-social p {
        margin-bottom: 11%;
    }

    #copy-btn {
        margin-right: 20px;
        font-size: 16px;
    }
    .sostieni-title {
        font-size: 30px;
    }
    
    .sostieni-subtitle {
        font-size: 25px;
    }
    
    .sostieni-description {
        font-size: 18px;
    }
    .text-container {
        width:85%;
    }
}
@media (max-width: 600px) {
    .text-container {
        width:90%;
    }
    .navbar .logo img {
        height: 50px;
    }
    .navbar .menu-toggle{
        width: 13%;
        height: 13%;
    }
    .navbar .home {
        width: 15%;
        height: 15%;
    }
    .navbar .dropdown-menu a {
        padding: 8px 24px;
        margin: 8px 0;
        width: 100%;
        font-size: 35px;
    }
    .navbar .dropdown-menu .close {
        padding: 8px 24px;
        font-size: 35px;
    }
    .icons {
        width: 10%;
        margin-right: 1.5%;
        margin-left: 1.5%;
    }
    .footer h3 {
        font-size: 22px;
    }
    .footer a {
        font-size: 18px;
    }
    .overlay .title {
        font-size: 35px;
    }
    
    .overlay .subtitle {
        font-size: 20px;
    }
    .section {
        height: 350px;
    }
    .events-category h2 {
        font-size: 30px;
    }
    .events-category p {
        font-size: 18px;
    }
    .event-overlay h3 {
        font-size: 22px;
    }
    .intro h2, .sconti h2, .outro h2 {
        font-size: 25px;
    }
    .evento h2{
        font-size: 22px;
    }
    .intro p, .evento p, .sconti p, .outro p {
        font-size: 18px;
    }
    .intro{
        width: 75%;
    }
    .evento{
        width: 75%;
        margin-left:25%;
    }
    .image-container {
        height:200px;
    }
    
    .image-container img {
        height: 200px;
    }
    .gallery img {
        height:250px;
    }
    .two-columns img {
        height:250px;
    }

    .chi-siamo-title {
        margin-bottom: 8%;
    }
    
    .chi-siamo-main-image {
        height: 300px;
        margin-bottom: 8%;
    }
    
    .chi-siamo-description {
        font-size: 18px;
    }
    .chi-siamo-gallery img {
        height:250px;
    }
    .contatti-title {
        margin-bottom: 7%;
        font-size:25px;
    }
    .contatti-title p{
        margin-bottom: 13%;
        margin-top:7%;
        font-size:20px;
    }
    .contatti-email, .contatti-social {
        margin-top: 13%;
    }
    .contatti-email h3, .contatti-social h3 {
        font-size:25px;
        margin-bottom: 7%;
    }
    .contatti-email p, .contatti-social p {
        font-size:20px;
        margin-bottom: 13%;
    }
    .contatti-icons {
        flex-direction: row;
        flex-wrap: wrap;
        margin-right:2px;
    }
    .contatti-icons a {
        width: calc(50% - 60px); /* 2 icone per riga, considerando il gap */
        justify-content: center;
        font-size: 17px;
    }
    .sostieni-title {
        font-size: 25px;
    }
    
    .sostieni-subtitle {
        font-size: 22px;
    }
    
    .sostieni-description {
        font-size: 16px;
    }
}