/* #### Generated By: http://font.download #### */
html, body {
    font-family: "Exo 2", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

.sfondo-principale {
    background-color: #d61a36 !important;
    color: whitesmoke !important
}

.sfondo-secondario {
    background-color: #ededed;
}

.colore-principale {
    color: #d61a36 !important;
}

.logo-img {
    max-width: 120px;
}

.logo-text-img {
    max-width: 350px;
}

.img-news {
    max-height: 40rem;
    width: fit-content;
    align-self: center;
}

.multi-news-img {
    height: 18rem;
    width: fit-content;
    align-self: center;
    max-width: 100%;
}

.footer {
    background-color: #ededed;
    -webkit-box-shadow: 0px -1px 10px 0px rgba(0,0,0,0.8); 
    box-shadow: 0px -1px 10px 0px rgba(0,0,0,0.8);
}

.logo-footer {
    max-width: 150px;
}

.div-text-img-footer-mobile {
    display: none;
}

h4 a {
    text-decoration: none;
    position: relative;
}

h4 a::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border: 5px solid whitesmoke;
    border-radius: 50%;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) scaleY(0);
    transition: all 0.4s;
}

.privacy_button {
    background: none!important;
    border: none;
    padding: 0!important;
    /*optional*/
    font-family: arial, sans-serif;
    /*input has OS specific font-family*/
    color: #069;
    text-decoration: underline;
    cursor: pointer;
}

h4 a:hover::before {
    transform: translateX(-50%) scaleY(1);
}

li {
    padding: 5px;
}

li::marker {
    color: #d61a36;
}

nav ul > li + li {
    margin-left: 5px;
    padding-left: 5px;
    border-left: 3px solid whitesmoke;
    margin-bottom: 15px;
}

.font-etichetta, .font-veditutti {
    font-weight: 300;
}

.font-titoli {
    font-weight: 600;
}

a {
    text-decoration: none;
}

.link_realizazioni {
    transition: transform .2s;
}

.link_realizazioni:hover {
    transform: scale(1.02);
}

.div_separator {
    border-left: 4px solid #d61a36;
}

.border_news {
    border-bottom: 4px solid #d61a36;
}

h5 {
    line-height: inherit;
}

.parallax {
    min-height: 50vh;
    background-attachment: fixed;
    background-position: left;
    background-repeat: no-repeat;
    background-size: cover;
}

.realizzazioni-no-parallax {
    min-height: 40vh;
    background-repeat: no-repeat;
    background-size: 100%;
}

.holographic-card {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    transition: all 0.5s ease;
}

.holographic-card h2 {
    color: rgb(214, 26, 54);
    font-size: 2rem;
    position: relative;
    z-index: 2;
}

.holographic-card::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        0deg, 
        transparent, 
        transparent 30%, 
        rgba(214, 26, 54,0.5)
    );
    transform: rotate(-45deg);
    transition: all 0.5s ease;
    opacity: 0;
}

.holographic-card:hover {
    transform: scale(1.05);
    box-shadow: 0 0 20px rgba(214, 26, 54,0.8);
}

.holographic-card:hover::before {
    opacity: 1;
    transform: rotate(-45deg) translateY(500%);
}

form p:has(> input[type=checkbox]) {
    display: flex;
    flex-flow: row;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: .125rem;
}

form p label {
    order: 2
} 

form p input[type=checkbox] {
    order: 1;
    margin-right: 7px;
} 

form p:has(> input[type=text]), 
form p:has(> input[type=date]),
form p:has(> input[type=email]),  
form p:has(> select) { 
    flex: 0 0 auto;
    width: 50% !important;
}

.right-footer {
    margin-top: 3rem !important;
}

.p-text {
    text-align: justify;
}

.border-responsabili {
    border-bottom: 1px solid white !important;
    border-width: 5px !important;
}

.card-news {
    padding: 3rem !important;
}

.card-gabriele {
    max-height: 30vh;
}

.link-nocolor {
    color: inherit;
}

@media (max-width: 576px) { 
    .p-text {
        text-align: left;
    }

    .card-news {
        padding: 0 !important;
    }

    .border-responsabili {
        border-bottom: 1px solid #d61a36 !important;
        border-width: 5px !important;
    }
    
    .card-responsabile {
        padding-left: 0;
    }

    form p:has(> input[type=text]), 
    form p:has(> input[type=date]), 
    form p:has(> input[type=email]), 
    form p:has(> select)  { 
        flex: 0 0 auto;
        width: 100% !important;
    }

    form p:has(> input[type=checkbox]) {
        padding-left: 0;
    }

    .logo-img {
        max-width: 120%;
    }

    .logo-text-img {
        max-width: 100%;
    }

    .logo-footer {
        max-width: 120%;
    }

    .logo-text-img-footer {
        display: none;
    }

    .div-text-img-footer-mobile {
        display: flex;
    }

    .div_separator {
        border-left: 0 !important;
    }

    nav ul > li + li {
        margin-left: 0px;
        border-left: 0px;
        margin-bottom: 0px
    }

    .border-end {
        border-right: 0px !important;
    }

    h4 a::before {
        border-bottom: 0px;
    }

    .right-footer {
        margin-top: 0 !important;
    }

    .card-gabriele {
        max-height: 60vh;
    }

    .img-news {
        width: stretch;
    }
}

@media (min-width: 576px) and (max-width: 991.98px) { 
    .div_separator {
        border-left: 0 !important;
    }
    .logo {
        justify-content: center;
    }
    .logo-img {
        max-width: 100px;
    }

    .logo-text-img {
        max-width: 250px;
    }

    nav ul > li + li {
        margin-left: 0px;
        border-left: 0px;
        margin-bottom: 0px
    }

    .border-end {
        border-right: 0px !important;
    }

    h4 a::before {
        border-bottom: 0px;
    }
    .img-news {
        width: stretch;
    }
}

