section {
    text-align: center;
    margin: 5vw auto;
}

h2 {
    margin-bottom: 2vw;
}
@media screen and (max-width: 600px) {
    section {
        margin: 10vw auto;
    }
    h2 {
        margin-bottom: 4vw;
    }
}

.messagePopup {
    cursor: pointer;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #f4f4f4;
    padding: 40px;
    border: 1px solid #ccc;
    border-radius: 5px;
    z-index: 1000;
    display: block;
}

/*------------- SECTION form -------------*/
.form {
    width: 70%;
}

.form p {
    margin-bottom: 1vw;
}

/*------------- SECTION contatti -------------*/
.contatti p:nth-child(3) {
    margin: 1vw auto 2vw auto;
}

.contatti p:nth-child(4) {
    font-size: 1.6vw;
    font-family: 'Aboreto', sans-serif;
}

.contatti .f-icons {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 3vw auto 0 auto;

}
.contatti a {
    color:#212121;
}

.contatti .f-icons a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4vw;
    height: 4vw;
    background-color: #212121;
    color: #ffffff;
    margin: 0 1vw;
    border-radius: 50%;
    border: 1px solid #212121;
    transition: all 0.3s ease-in-out;
}

.contatti .f-icons a:hover {
    background-color: #ffffff;
    color: #212121;
}

.contatti .f-icons .icon-circle {
    text-align: center;
}

.contatti .f-icons a:nth-child(1) .icon-circle {
    font-size: 2vw;
}

.contatti .f-icons a:nth-child(2) .icon-circle {
    font-size: 2.5vw;
}

@media screen and (max-width: 600px) {
    .contatti p:nth-child(3) {
        margin: 3vw auto 5vw auto;
    }
    
    .contatti p:nth-child(4) {
        font-size: 3.6vw;
        font-family: 'Aboreto', sans-serif;
    }

    .contatti .f-icons {
        margin: 6vw auto 0 auto;
    }

    .contatti .f-icons a {
        width: 14vw;
        height: 14vw;
        margin: 0 3vw;
    }

    .contatti .f-icons a:nth-child(1) .icon-circle {
        font-size: 6vw;
    }

    .contatti .f-icons a:nth-child(2) .icon-circle {
        font-size: 8vw;
    }

}

/*------------- SECTION dove siamo -------------*/
.dovesiamo div {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 85%;
    margin-left: 7.5%;
    margin-top: 1vw;
}

.dovesiamo div div {
    flex: 1;
    display: block;
}

.dovesiamo .indirizzo {
    text-align: left;
}

.dovesiamo .bold {
    font-weight: 400;
}

.dovesiamo .bold:first-child {
    font-family: 'Aboreto', sans-serif;
    margin-bottom: 2vw;
}

.dovesiamo .phone {
    margin: 1.8vw auto;
}

@media screen and (max-width: 600px) {
    .dovesiamo div {
        flex-direction: column;
        margin: 3vw auto;

    }

    .dovesiamo .indirizzo {
        text-align: center;
    }

}


/* ------------- SECTION SEDI ------------- */

section.sedi h2 {
    margin-bottom: 1vw;
}

section.sedi .absolute {
    width: 80%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    text-align: center;
    color: #fff;
}

section.sedi .absolute .sedi-pos {
    display: flex;
    margin: 0 auto;
    width: 100%;
    height: auto;
    align-items: flex-start;
    justify-content: space-around;
}

section.sedi .sedi-pos img {
    width: 3vw;
}

section.sedi .sedi-pos .city-pos {
    margin: 2.3vw auto;
    font-family: 'Aboreto', sans-serif;
    text-transform: uppercase;
    font-size: 2vw;
}

section.sedi .sedi-pos .city-pos span {
    font-size: 1.4vw;
}

section.sedi .sedi-pos .sede:nth-child(2) .city-pos {
    margin: 2vw auto 0 auto;
}

section.sedi img.responsive {
    display: inline;
}

@media screen and (max-width: 600px) {
    

    section.sedi h2 {
        margin-bottom: 4vw;
    }

    section.sedi .absolute .sedi-pos {
        flex-direction: column;
        align-items: center;
    }

    section.sedi .absolute .sedi-pos .sede {
        margin: 3vw auto;
    }

    section.sedi .sedi-pos img {
        width: 8vw;
    }

    section.sedi .sedi-pos .city-pos {
        margin: 2vw auto 1vw auto;
        font-size: 4.5vw;
    }

    section.sedi .sedi-pos .city-pos span {
        font-size: 3.5vw;
    }
}