/* Generale */

body {
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    line-height: 1.5;
    font-size: 1em;
    color: #333;
    padding-top: 130px;
}

header {
    z-index: 1030; 
    background-color: #fff; 
    border-bottom: 1px solid #ddd;
    height: 140px;
}

/* Logo */
.logo img {
    height: 100px;
    max-width: 100%;
    transition: height 0.3s ease;
}

/* Navbar */
nav ul {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}


/* Navbar */
nav {
    font-weight: bold;
}

.nav-link {
    font-weight: bold; 
    color: #d9534f; 
    transition: color 0.3s ease-in-out, transform 0.3s ease-in-out; ; 
}

.nav-link:hover {
    color: #fff; 
    border-radius: 5px; 
    padding: 0.5rem 1rem; 
    transform: scale(1.1); 
}

/* Offset per la navbar fissa */
.anchor-offset {
    position: relative;
    top: -130px; 
    padding-top: 130px; 
    margin-top: -130px; 
}

/* Offset per le sezioni sotto la navbar fissa */
section {
    scroll-margin-top: 140px; /* Imposta un margine superiore equivalente all'altezza della navbar */
}


h1 {
    font-size: 2.7em;
    margin-bottom: 0.5rem;
    font-family: sans-serif;
    font-weight: bold;
}

h2 {
    font-size: 2rem;
    color: #d9534f;
    margin-bottom: 1rem;
    font-weight: bold;
}

p {
    font-size: 1.1rem;
}

/* Hero Section */
#hero {
    background-image: url('sfondohome.png');
    background-size: contain; 
    background-position: center; 
    background-repeat: no-repeat; 
    height: 120vh; 
    width: 100%; 
    min-height: 600px;
    display: flex;
    position: relative;
    transition: transform 0.5s ease-in-out;
}


#hero:hover {
    transform: scale(1.05);
}


/* Carousel */

.carousel {
    width: 100%; 
    margin: 0 auto;
}
.carousel-inner img {
    width: 100%; 
    height: 700px; 
}

/* Carosello controls */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: #d9534f;
    border-radius: 50%;
}

/* Servizi Section */
#servizi {
    text-align: center; 
}

.list-group-item {
    transition: transform 0.3s ease-in-out, font-size 0.3s ease-in-out;
}

.list-group-item:hover {
    transform: scale(1.1);
    font-size: 1.2rem;
}

/* Mappa */
.embed-responsive {
    position: relative;
    width: 100%;
    max-width: 300px; 
    margin: 0 auto;
}

.embed-responsive::before {
    content: "";
    display: block;
    padding-top: 100%; 
}

.embed-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



/* Contatti Section */
#contatti {
    text-align: center;
}

/* Sezione Chi Siamo */
#chi-siamo {
    background-color: #fdfdfd; 
    margin-top: 15%;
    border-radius: 0.5rem;
    box-shadow: 0 0 10px rgba(0,0,0,0.1); 
}

#chi-siamo h2, #dove-siamo h2, #contatti h2 {
    color: #d9534f; 
    font-size: 2.5rem;
    margin-top: 15%;
   
}

#chi-siamo p {
    font-size: 1.1rem;
    line-height: 1.8;
    margin-bottom: 10%;
}


/* Footer */
footer {
    background-color: #d9534f; 
    color: #fff; 
    text-align: center;
    padding: 1rem;
}

/* Media Query per schermi medi e piccoli */
@media (max-width: 835px) {
    .logo img {
        height: 60px; 
    }

    header {
        height: auto; 
    }

    .nav-link {
        font-size: 0.9rem; 
    }
}


@media (max-width: 672px) {
    header {
        padding: 10px;
    }

    nav ul {
        flex-direction: column;
        padding-left: 0;
    }

    .nav-link {
        padding: 0.8rem;
        font-size: 0.8rem; 
    }

    #hero {
        height: 60vh;
    }

    .hero-overlay h1 {
        font-size: 1.8rem; 
    }

    .hero-overlay p {
        font-size: 1rem;
    }
}

.carousel-inner img {
    width: 100%; 
    height: auto;
    max-height: 520px; 
}

@media (max-width: 835px) {
    .carousel-inner img {
        max-height: 500px; 
    }
}

/* Adatta l'immagine su schermi più piccoli */
@media (max-width: 835px) {
    #hero {
        height: 80vh; 
        background-size: contain; 
    }
}

@media (max-width: 672px) {
    #hero {
        height: 60vh; 
        background-size: contain; 
    }
}

