/* Basic Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
h1 {
    font-family: 'DM Sans', sans-serif;
    font-weight: 700; /* Grassetto */
}

h2 {
    font-family: 'DM Sans', sans-serif;
    font-weight: 700; /* Grassetto */
}

h3 {
    font-family: 'DM Sans', sans-serif;
    font-weight: 700; /* Grassetto */
}

p{
    font-family: 'DM Sans', sans-serif;
    font-weight: 300;
    line-height: 1.7;
}

body {
    font-family: Arial, sans-serif;
    background-color:#fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
}

/* Container at full width */
.section{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width:100%;
}
.section1{
    background: #F7F7FB;
}
.container-main {
    text-align: center;
    padding: 0px 20px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    max-width: 1600px;
}
.container-hero-section{
 max-width:800px;
 margin-top:80px;
}

/* Sezione 2*/
.container-section2{
    display: flex;
    flex-direction: row; /* da cambiare nel mobile in column*/
    justify-content: center;
    width: 100%;
    align-items: center;
}
.section2{
    width:100%;
    padding-top:100px;
    padding-bottom:100px;
    max-width:1600px;
}
.column{
    width:100%;
}
.column1{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.column2{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.column1-content{
    width:70%;
}
.column2-content{
    width:70%;
}
.section2-title{
    color: #013571;
    font-size: 25px;
    margin-top:30px;
}
.section2-subtitle{
    color:#0080C8;
    font-size: 17px;
    text-transform: uppercase;
}
.section2-description{
    color:#6F6C90;
    font-size: 18px;
    margin-top:30px;
}
.spot{
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
}
.spot2, .spot3{
    margin-top:40px;
}
.icon{
    background-color:#0080C8;
    border-radius:10px;
    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
}
.icon1{
    padding:10px;
}
.icon-description-content{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 0px 30px 0px 30px;
}
.icon-title{
    font-size:20px;
    color:#040815;
    font-weight:200;
}
.icon-description{
    margin-top: 20px;
    font-size:18;
    color: #6F6C90;
}

/* Section 3 */

/* Section fullwidth */
.fullwidth-img-section {
    width: 100vw;  /* Full width of the viewport */
    margin: 0;     /* Remove any margin or padding to align with the page edges */
    padding: 0;
}

.fullwidth-img-section img {
    width: 100%;   /* Image takes 100% of the section width */
    height: auto;  /* Maintain aspect ratio */
    display: block; /* Remove bottom margin caused by inline elements */
}


/* Container for the image */
.img-hero {
    width: 80%; /* The div will take the full width of the container */
    display: flex;
    justify-content: center; /* Centers the image horizontally */
    margin-top:80px;
}

/* Image styles */
.img-hero img {
    max-width: 100%; /* The image scales down proportionally to fit within the container */
    height: auto;    /* This keeps the image's original aspect ratio */
    display: block;  /* Removes the bottom margin (whitespace) that inline images have */
}


/* Section 4 */

.section4{
    background: linear-gradient(25deg, rgba(14,61,121,1) 35%, rgba(46,179,229,1) 100%);
    width: 100%;
    padding-top: 100px;
    padding-bottom: 100px;
}
.container-section4 {
    text-align: center;
    padding: 0px 30px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    max-width: 1400px;
}
.section4-title{
    color: #fff;
    font-size:25px;
    
}
.section4-subtitle{
    font-size: 18px;
    color:white;
    margin-top:30px;
    text-align: left;
    width: 70%;
}
.container-metaversi{
    margin-top:50px;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
.section4-column{
    display: flex;
    flex-direction: column;
}
.img-ingresso, .img-auditorium, .img-mostra-virtuale{
    width:302px;
    height: 200px;
}
.first-column, .second-column, .third-column{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.sottotitolo-section4{
    margin-top:30px;
    font-size: 20px;
    color:white;
}

/* Footer */
.footer-asi{
    
        width:100%;
        padding-top:100px;
        padding-bottom:30px;
        max-width:1600px;
    
}
.container-footer{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    padding: 0px 50px 0px 50px;
}

.asi-address{
    color:#013571;
}
.asi-website a{
    color:#013571;
    text-decoration: none;
    margin-left: 10px;
}
.asi-social{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    margin-top: 20px;
}
.social-icon img{
    width:auto;
    height:18px;
    margin-left:10px;
}

.asi-subfooter{
    margin:50px 50px 0px 50px;
    border-top: 2px solid #DADADA;
}
.container-subfooter{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-top:30px;
}
.website-maker{
    color:#013571;
}
.website-maker a{
    color:#013571;
    text-decoration: none;
}

.asi-privacy-cookie a{
    color:#013571;
    text-decoration: none;
}

.logo {
    max-width: 150px;
    margin-bottom: 20px;
}

.title-hero-section {
    font-size: 2.5rem;
    color: #1f3c7f;
    margin-bottom: 10px;
}

.subtitle-hero-section {
    font-size: 18px;
    margin-top:30px;
    color: #6F6C90;
    margin-bottom: 30px;
}

.buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    margin-top: 50px;
}

.btn {
    display: block;
    background-color: #0056a1;
    color: white;
    padding: 15px 30px;
    border-radius: 30px;
    text-decoration: none;
    font-size: 1rem;
    transition: background-color 0.3s ease;
    flex-grow: 1;
    text-align: center;
    width: 250px; /* Optional max-width to keep buttons from being too large */
}
.enter-button {
    display: block;
    background-color: white;
    color: #0080C8;
    padding: 15px 30px;
    border-radius: 30px;
    text-decoration: none;
    font-size: 1rem;
    transition: background-color 0.3s ease;
    flex-grow: 1;
    text-align: center;
    width: 250px; /* Optional max-width to keep buttons from being too large */
    margin-top: 25px;
    font-weight: 700;
}

.btn:hover {
    background-color: #003d7a;
}

/* Responsive adjustments */
@media (max-width: 1000px) {
    .container-section2{
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        align-items: center;
    }
    .column2-content{
        margin-top:70px;
    }
    .column1-content, .column2-content {
        width: 80%;
    }
    .container-metaversi {
        margin-top: 50px;
        padding: 0px 30px 0px 30px;
        width: 100%;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;
    }
    .section4-column{
        margin-top:50px;
    }
    .section4-subtitle{
        width: 100%;
    }
    }
@media (max-width: 768px) {
    
.title-hero-section  {
        font-size: 1.5rem;
    }

    .subtitle-hero-section {
        font-size: 1rem;
    }

    .btn {
        font-size: 0.9rem;
        padding: 10px 20px;
    }
    .column1-content, .column2-content {
        width: 85%;
    }
    .icon-description-content {
        padding: 0px 0px 0px 30px;
    }
    .container-footer{
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: space-between;
        align-items: center;

    }
    .asi-address{
        text-align: center;
    }
    .footer-column2, .footer-column3{
        margin-top:30px;
    }
    .asi-website{
        text-align: center;
    }
    .first-column, .second-column, .third-column{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
}


/* Mobile */
@media (max-width: 600px) {
    
.title-hero-section  {
        font-size: 1.5rem;
    }

    .btn {
        font-size: 0.85rem;
        padding: 10px 15px;
    }

    .buttons {
        flex-direction: column;
        gap: 10px;
    }
    .img-hero{
        margin-top:50px;
    }
    .container-subfooter {
    display: flex;
        flex-direction: column-reverse;

    }
}
