.container-fluid {
max-width: 2000px;
}
@media (min-width: 1600px) {
.container,
.container-lg, 
.container-md,
.container-sm,
.container-xl,
.container-xxl {
max-width: 1500px;
}
}
.bg {
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
}
section {
min-height: 30vh;
display: flex;
flex-direction: column;
justify-content: center;
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation: none !important;
transition: none !important;
}
html {
scroll-behavior: auto !important;
}
}   .splide__pagination button.is-active {
background-color: var(--colore_testo_hover);
opacity: 1 !important;
}
.splide__arrow {
background-color: transparent;
opacity: 1;
}
.splide__arrow i {
font-size: 25px;
color: var(--colore_testo_hover);
}
.splide__pagination {
bottom: -3.5em;
}        [id^="gform_"] .gform_fields {
gap: 25px;
} [id^="gform_"] .gfield_label {
font-size: 16px;
font-weight: 600;
color: #333;
margin-bottom: 8px;
} [id^="gform_"] input[type="text"],
[id^="gform_"] input[type="email"],
[id^="gform_"] input[type="tel"],
[id^="gform_"] textarea {
background-color: #fff !important;
border: 1px solid #e0e0e0 !important;
padding: 16px 18px !important;
font-size: 15px;
color: #000 !important;
-webkit-text-fill-color: #000 !important;
transition: all .2s ease;
box-shadow: none !important;
}    [id^="gform_"] textarea {
min-height: 160px;
resize: vertical;
} [id^="gform_"] .gfield input:focus,
[id^="gform_"] .gfield textarea:focus,
[id^="gform_"] .gfield select:focus {
border-color: var(--colore_primario) !important;
box-shadow: 0 0 0 3px rgba(0,0,0,0.08);
outline: none;
} [id^="gform_"] input:focus-visible,
[id^="gform_"] textarea:focus-visible,
[id^="gform_"] select:focus-visible {
outline: 3px solid var(--colore_primario) !important;
outline-offset: 2px;
} [id^="gform_"] .ginput_container_consent {
display: flex;
align-items: center;
gap: 12px;
}
[id^="gform_"] input[type="checkbox"] {
accent-color: var(--colore_primario);
width: 18px;
height: 18px;
}
[id^="gform_"] .gfield_consent_label {
font-size: 15px;
color: #333;
}
[id^="gform_"] .gfield_consent_label a {
color: var(--colore_primario);
font-weight: 500;
} [id^="gform_submit_button_"] {
width: 100%;
margin-top: 20px;
background: var(--colore_primario) !important;
color: #fff !important;
border-radius: 12px !important;
padding: 18px !important;
text-transform: uppercase !important;
font-family: var(--title-font) !important;
font-size: 16px !important;
font-weight: 600;
letter-spacing: .5px;
transition: all .2s ease;
}
[id^="gform_submit_button_"]:hover {
background: var(--colore_testo_hover) !important;
}
[id^="gform_submit_button_"]:focus-visible {
outline: 3px solid #000;
outline-offset: 2px;
}
[id^="gform_submit_button_"] {
display: block;
width: 100%;
} @media (max-width: 991px) {
.form-wrapper-modern {
padding: 30px;
}
}
@media (max-width: 576px) {
#blocco-form .section-title {
font-size: 28px;
}
} .google-map {
width: 100%;
min-height: 350px;
} .custom-shadow {
box-shadow: 0px 5px 20px #00000033;
} .fade-in {
opacity: 0;
transition: all 2s cubic-bezier(.215, .60, .355, 1);
}
.fade-in.in-page {
opacity: 1;
}
.fade-in-top {
opacity: 0;
transform: translateY(10vh);
transition: all 1s cubic-bezier(.215, .60, .355, 1);
}
.fade-in-top.in-page {
opacity: 1;
transform: translateY(0);
}
.fade-in-top.in-page {
opacity: 1;
transform: translateY(0);
}
.fade-in-left {
opacity: 0;
transform: translateX(-10vw);
transition: all 1s cubic-bezier(.215, .60, .355, 1);
overflow: hidden;
}
.fade-in-left.in-page {
opacity: 1;
transform: translateX(0);
}
.fade-in-right {
opacity: 0;
transform: translateX(10vw);
transition: all 1s cubic-bezier(.215, .60, .355, 1);
overflow: hidden;
}
.fade-in-right.in-page {
opacity: 1;
transform: translateX(0);
}
.transition-delay-0 {
transition-delay: 0ms;
}
.transition-delay-1 {
transition-delay: 100ms;
}
.transition-delay-2 {
transition-delay: 200ms;
}
.transition-delay-3 {
transition-delay: 300ms;
}
.transition-delay-4 {
transition-delay: 400ms;
}
.transition-delay-5 {
transition-delay: 500ms;
}
.transition-delay-6 {
transition-delay: 600ms;
}
.transition-delay-7 {
transition-delay: 700ms;
}
.transition-delay-8 {
transition-delay: 800ms;
}
.transition-delay-9 {
transition-delay: 900ms;
}
.transition-delay-10 {
transition-delay: 1000ms;
}@import url("https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,100..900;1,100..900&family=Manrope:wght@200..800&family=Michroma&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap");
* {
font-family: var(--main-font);
}
.fa-classic,
.fa-light,
.fa-regular,
.fa-solid,
.fa-thin,
.fal,
.far,
.fas,
.fat {
font-family: "Font Awesome 6 Pro" !important;
} :root { --gray-color: #f5f5f5;
--copyright-color: #cfcfcf;
--colore_bianco: #fff; --main-font: "Rubik", Sans-serif;
--title-font: "Rubik", Sans-serif;
--fontawesome-font: "Font Awesome 6 Pro" !important;
} .colore_primario {
color: var(--colore_primario);
}
.color_chiaro {
color: var(--colore_testo_chiaro);
}
.gray-color {
color: var(--gray-color);
}
.copyright-color {
color: var(--copyright-color);
} .bg-first {
background-color: var(--colore_primario);
}
.bg-second {
background-color: var(--colore_secondario);
}
.bg-chiaro {
background-color: var(--colore_testo_chiaro);
}
.bg-black-color {
background-color: var(--colore_sfondo_footer);
}
.bg-gray-color {
background-color: var(--gray-color);
} p {
line-height: 30px;
font-size: 16px;
}
a:hover {
color: var(--colore_primario);
}
.section-title {
text-transform: uppercase;
font-family: var(--title-font);
text-align: center;
font-size: 40px;
letter-spacing: 1px;
font-weight: 600;
color: var(--colore_primario);
line-height: 45px;
}
.section-subtitle {
text-transform: uppercase;
font-family: var(--title-font);
display: block;
text-align: center;
font-size: 18px;
letter-spacing: 1.75px;
font-weight: normal;
color: var(--colore_testo_scuro);
line-height: clamp(28px, 2.5vw, 45px);
}
h1,
.h1 {
font-family: var(--title-font);
font-size: 65px;
letter-spacing: 1.44px;
text-transform: uppercase;
font-weight: 600;
}
h2,
.h2 {
font-family: var(--title-font);
font-size: clamp(30px, 3vw, 24px);
line-height: 1.3 !important;
}
h3,
.h3 {
font-family: var(--title-font);
font-size: 22px;
color:var(--colore_sfondo_footer);
} a {
color: #000;
}
a:hover {
text-decoration: none;
}
main {
min-height: 60vh;
}
main a:hover {
text-decoration: none;
color: var(--colore_testo_hover);
}
.btn-1 {
text-decoration: none;
padding: 12px 30px;
border: 2px solid var(--colore_primario);
background-color: var(--colore_primario);
font-size: 15px;
color: var(--colore_testo_chiaro);
border-radius: 12px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
font-weight: 400;
transition: 0.25s ease-in-out;
}
.btn-1:hover {
border-color: var(--colore_testo_hover);
color: #ffffff;
background-color: var(--colore_testo_hover);
}
.btn-2 {
text-decoration: none;
padding: 12px 30px;
border: 2px solid var(--colore_primario);
background-color: var(--colore_primario);
border-radius: 12px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
color: #ffffff;
font-size: 15px;
font-weight: 400;
transition: 0.15s ease-in-out;
}
.btn-2:hover {
border-color: var(--colore_primario);
color: var(--colore_primario);
background-color: transparent;
}#menu-desktop {
background-color: rgba(255, 255, 255, 0.733);
z-index: 10;
text-transform: uppercase;
backdrop-filter: blur(21px);
}
#menu-desktop .logo {
width: 170px;
}
#menu-desktop .menu-icons a {
text-decoration: none;
}
#menu-desktop .menu-item {
margin: 0 25px;
position: relative;
display: flex;
align-items: center;
gap: 5px;
}
#menu-desktop .menu-item.current-menu-item > a,
#menu-desktop .menu-item.current_page_item > a,
#menu-mobile .menu-item.current-menu-item > a,
#menu-mobile .menu-item.current_page_item > a {
color: var(--colore_primario) !important;
}
#menu-desktop .menu-item:last-child {
margin-right: 0;
}
#menu-desktop .menu-item a {
display: flex;
align-items: center;
gap: 3px;
text-decoration: none;
color: var(--colore_sfondo_footer);
font-size: 16px;
transition: .2s ease-in-out;
}
#menu-desktop .menu-item a:hover {
color: var(--colore_primario);
}
#menu-desktop .icons-menu a{
color: var(--colore_primario);
transition: .2s ease-in-out;
font-size: 1.6vh;
}
#menu-desktop .icons-menu a:hover{
color: var(--colore_testo_hover);
}   #menu-mobile {
height: 90px;
width: 100%;
z-index: 100;
background-color: rgba(255, 255, 255, 0.9);
box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
transition: .1s ease-in-out;
text-transform: uppercase;
}
#menu-mobile a img {
height: 100%;
padding: 0.5vh 1vh;
width: 120px;
}
#menu-mobile .hamburger {
position: absolute;
right: 5vw;
top: 50%;
border: none;
background-color: transparent;
transform: translateY(-50%);
transition: transform 0.3s;
width: 35px;
height: 20px;
}
#menu-mobile .hamburger__line {
height: 1.5px;
width: 100%;
background-color: var(--colore_sfondo_footer);
transition: 0.2s;
position: absolute;
z-index: 100000;
}
#menu-mobile .hamburger__line:nth-child(1) {
top: 0;
left: 0;
}
#menu-mobile .hamburger__line:nth-child(2) {
top: 50%;
left: 0;
transform: translateY(-50%);
}
#menu-mobile .hamburger__line:nth-child(3) {
bottom: 0;
left: 0;
}
#menu-mobile .opened .hamburger__line:nth-child(1) {
transform: rotate(45deg);
top: 50%;
}
#menu-mobile .opened .hamburger__line:nth-child(2) {
opacity: 0;
}
#menu-mobile .opened .hamburger__line:nth-child(3) {
transform: rotate(-45deg);
top: 50%;
}
#menu-mobile .mobile-menu {
display: none;
position: fixed;
top: 90px;
left: 0;
height: calc(100% - 80px);
width: 100%;
background-color: #ffffff;
box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
padding: 2vh;
list-style-type: none;
z-index: 1000000000000;
}
#menu-mobile .open {
left: 0 !important;
}
#menu-mobile .mobile-menu li {
padding: 1.5vh 15px;
display: flex;
justify-content: space-between;
align-items: center;
width: 95%;
border-bottom: 1px solid #f1f3f4;
margin: 0 10px;
}
#menu-mobile .mobile-menu li a {
text-decoration: none;
color: var(--colore_sfondo_footer);
font-weight: normal;
font-size: 15px;
height: 100%;
padding: 8px;
width: 100%;
margin: 0;
}
#menu-mobile .menu-item-has-children:after {
display: none;
}
#menu-mobile .mobile-menu li ul {
background-color: #ffffff;
position: fixed;
z-index: 1000000;
margin: 0;
padding: 20px 0 30px 56px;
top: 80px;
left: 100%;
width: 100%;
transition: 0.2s ease-in-out;
height: calc(100vh - 80px);
overflow: auto;
}
#menu-mobile .mobile-menu li ul ul {
left: 100%;
}
#menu-mobile .mobile-menu li ul ul ul {
left: 200%;
}
#menu-mobile .mobile-menu li ul ul ul ul {
left: 300%;
}
#menu-mobile .openMenu {
left: 0 !important;
}   #mobile-bar-icons {
position: fixed;
right: 10px;
bottom: 10px;
z-index: 10000;
}
.mobile-bar-box {
display: flex;
align-items: center;
background: var(--colore_primario);    
padding: 12px 24px;
border-radius: 12px; box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}
.mobile-icons {
display: flex;
gap: 18px;
}
.mobile-icons a {
color: var(--colore_testo_chiaro);
font-size: clamp(18px, 2vw, 20px);
text-decoration: none;
}
.mobile-cta {
white-space: nowrap;
border-radius: 30px;
}footer .title-footer{
font-weight: 600;
text-transform: uppercase;
}
footer{
color: var(--colore_testo_chiaro);
background-color: var(--colore_sfondo_footer);
}
footer .logo {
width: 10vw;
max-width: 150px;
}
footer p, footer p strong, footer a, footer i {
font-size: clamp(14px, 1.75vh, 16px);
line-height: 1.3;
}
footer a {
transition: .1s ease-in-out;
color: var(--colore_testo_chiaro) !important;
transition: .2s ease-in-out;
}
footer a:hover {
opacity: .7;
}
footer .social {
display: flex;
flex-wrap: wrap;
}
footer .social a {
display: inline-block;
margin-right: 15px;
margin-bottom: 10px;
transition: .2s ease-in-out;
}
footer .social a i {
font-size: 16px;
}
footer .copyright-row {
color: #C1C1C1;
}
footer .copyright-row a, footer .copyright-row p, footer .copyright a, footer .copyright p {
color: #C1C1C1 !important;
transition: .2s ease-in-out;
font-size: clamp(9pt, 10pt, 11pt) !important;
text-decoration: none;
}
footer .copyright-row a:hover {
color: #C1C1C1;
opacity: .7;
}
footer .copyright {
border-top: 1px solid #FFFFFF7A;
font-size: clamp(9pt, 10pt, 11pt) !important;
}
footer .responsabili{
background: #9c9c9c24;
}#intestazione-pagina {
position: relative;
display: flex;
background-color: var(--colore_sfondo_grigio);
align-items: end;
}
#intestazione-pagina.intestazione-height .intestazione-semplice {
padding-top: 150px;
}
#intestazione-pagina .intestazione-semplice .h1 {
color: var(--colore_primario);
}
#intestazione-pagina .hero-slide .h1 {
color: var(--colore_testo_chiaro);
}
#intestazione-pagina.img-bg-testata {
position: relative;
background-repeat: no-repeat;
background-size: cover;
background-position: center;
height: 25vh;
min-height: 250px;
}
#intestazione-pagina.img-bg-testata::before {
content: "";
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.65); z-index: 1;
} #intestazione-pagina.img-bg-testata > * {
position: relative;
z-index: 2;
}
#intestazione-pagina.img-bg-testata h1,
#intestazione-pagina .hero-slide h1 {
color: var(--colore_testo_chiaro);
text-align: center;
}
#intestazione-pagina .hero-slide {
min-height: 50vh;
height: 60vh;
display: flex;
align-items: center;
justify-content: center;
background-size: cover;
background-position: center;
position: relative;
}
#intestazione-pagina .hero-slide::before {
content: "";
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 1;
}
#intestazione-pagina .hero-slide > * {
position: relative;
z-index: 2;
}
#intestazione-pagina .splide__pagination {
position: absolute;
bottom: 3vh;
left: 0;
right: 0;
z-index: 3;
}
#intestazione-pagina .splide__pagination__page {
background: rgba(255, 255, 255, 0.425);
width: 10px;
height: 10px;
}
#intestazione-pagina .splide__pagination__page.is-active {
background: var(--colore_bianco);
width: 10px;
height: 10px;
}
.hero-slide h2 {
color: var(--colore_bianco);
font-weight: 400;
}
.hero-slide .btn-1 {
font-size: clamp(14px, 2vw, 20px);
}   .page-hero {
position: relative;
display: flex;
align-items: flex-end; background-color: var(--colore_sfondo_grigio);
} .page-hero.has-bg {
background-image: var(--hero-bg);
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
min-height: clamp(280px, 35vh, 420px);
}
.page-hero.has-bg::before {
content: "";
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.65); z-index: 1;
}
.page-hero__inner {
position: relative;
z-index: 2;
}
.page-hero__title {
font-size: clamp(35px, 5vw, 55px) !important;
}    #presentazione-servizi .card,
#posizioni-aperte .card {
border-radius: 12px;
overflow: hidden;
transition:
box-shadow 0.4s ease,
transform 0.4s ease;
}
#presentazione-servizi .card-link-wrapper:focus {
box-shadow: inset 0 0 7px 3px rgba(204, 0, 0, 0.5);
border-radius: 12px;
} #presentazione-servizi .card-link-wrapper,
#posizioni-aperte .card-link-wrapper {
display: flex;
flex-direction: column;
height: 100%;
color: inherit;
}
#presentazione-servizi .card-body,
#posizioni-aperte .card-body {
flex: 1;
} #presentazione-servizi .card-img-wrapper {
overflow: hidden;
}
#posizioni-aperte .card-img-wrapper {
overflow: hidden;
padding: 5px;
}
#presentazione-servizi .card-img-wrapper img {
width: 100%;
height: 25vh;
object-fit: cover;
transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
#posizioni-aperte .card-img-wrapper img {
width: 100%;
height: 10vh;
object-fit: contain;
transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
} #presentazione-servizi .card-body,
#presentazione-servizi .card,
#posizioni-aperte .card-body,
#posizioni-aperte .card {
transition:
background-color 0.4s ease,
color 0.4s ease;
} #presentazione-servizi .card-title,
#posizioni-aperte .card-title {
font-size: 16px;
text-transform: uppercase;
font-family: var(--title-font);
font-weight: 500;
color: var(--colore_primario);
transition: color 0.4s ease;
} #presentazione-servizi .card-body p,
#posizioni-aperte .card-body p {
font-size: 0.95rem;
line-height: 1.5;
font-family: var(--title-font);
color: var(--colore_testo_scuro);
transition: color 0.4s ease;
} #presentazione-servizi .read-more,
#dove-servizio .read-more {
font-size: 0.95rem;
font-family: var(--title-font);
color: var(--colore_primario);
transition: color 0.4s ease;
}
.candidati-button {
font-size: 0.95rem;
font-family: var(--title-font);
color: var(--colore_testo_chiaro);
transition:
transform 0.4s ease,
color 0.4s ease;
}
#presentazione-servizi .read-more i,
#dove-servizio .read-more i {
font-size: 0.75rem;
margin-left: 5px;
transition:
transform 0.4s ease,
color 0.4s ease;
}
#dove-servizio .read-more:hover i {
transform: translateX(3px);
}
#dove-servizio .read-more:hover {
color: var(--colore_testo_hover);
} #presentazione-servizi .card:hover,
#posizioni-aperte .card:hover {
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}
#presentazione-servizi .card:hover .card-img-wrapper img,
#posizioni-aperte .card:hover .card-img-wrapper img {
transform: scale(1.1);
}
#presentazione-servizi .card:hover,
#posizioni-aperte .candidati-button:hover {
background-color: var(--colore_testo_hover);
}
#presentazione-servizi .card:hover .card-title,
#presentazione-servizi .card:hover .card-body p,
#presentazione-servizi .card:hover .read-more {
color: var(--colore_testo_chiaro);
}
#presentazione-servizi .card:hover .read-more i {
transform: translateX(3px);
color: var(--colore_testo_chiaro);
}   #introduzione-servizio {
max-width: 1200px;
}
#introduzione-servizio ul {
list-style: none; padding-left: 2.5vw;
}
#introduzione-servizio ul li {
position: relative;
padding-left: 20px; color: inherit; }
#introduzione-servizio ul li::before {
content: "";
position: absolute;
left: 0;
top: 0.6em; width: 8px;
height: 8px;
background-color: var(--colore_primario);
}
#introduzione-servizio ul li::before {
transition: transform 0.3s ease;
}
#introduzione-servizio ul li:hover::before {
transform: scale(1.3);
}   .wrapper-zone-operative ul {
list-style: none;
padding: 0;
margin-top: 30px;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 18px 28px;
}
.wrapper-zone-operative li {
display: flex;
align-items: center;
background: var(--colore_bianco)fff;
padding: 10px 20px;
border-radius: 12px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
font-weight: 600;
font-size: clamp(14px, 1.1vw, 16px);
transition: all 0.3s ease;
}
.wrapper-zone-operative li i {
color: var(--colore_primario);
font-size: 14px;
margin-right: 8px;
transition: transform 0.3s ease;
}
.wrapper-zone-operative li:hover {
transform: translateY(-2px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
}
.wrapper-zone-operative li:hover i {
transform: scale(1.2);
}   .img-zone {
width: 100%;
max-width: 25vh;
}
.img-contenuto {
width: 100%;
display: block;
border-radius: 12px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
}
.img-sezione-azienda {
width: 100%;
height: auto;
border-radius: 12px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
}    #page-azienda .img-sezione-azienda {
width: 100%;
display: block;
}
#page-azienda .row-sezione-azienda p:last-of-type {
margin-bottom: 0 !important;
}    #referenze-carousel .splide__slide {
display: flex;
justify-content: center;
align-items: center;
padding: 6px 0 !important;
} #referenze-carousel .carousel-icon-img {
max-height: 5vh;
max-width: 250px;
width: auto;
object-fit: contain;
transition: transform 0.3s ease;
} #referenze-carousel .carousel-icon-img:hover {
transform: translateY(-3px);
}
#referenze-carousel .splide__track {
max-width: 85% !important;
margin: 0 auto !important;
} #referenze-carousel .splide__arrow {
background: var(--colore_primario);
opacity: 0.85;
transition: transform 0.3s ease;
}
#referenze-carousel .splide__arrow--prev {
left: 2vw;
}
#referenze-carousel .splide__arrow--next {
right: 2vw;
}
#referenze-carousel .splide__arrow:hover {
background: var(--colore_testo_hover);
opacity: 0.85;
}
#referenze-carousel .splide__arrow svg {
fill: var(--colore_testo_chiaro);
} #referenze-carousel .splide__pagination__page {
background: #ccc;
}
#referenze-carousel .splide__pagination__page.is-active {
background: #000;
}   .referenze-section .button-group .button {
border: 2px solid var(--colore_primario);
background: transparent;
padding: 12px 30px;
margin: 5px;
font-weight: 400;
cursor: pointer;
color: var(--colore_primario);
transition: all 0.3s ease;
} .referenze-select-wrapper {
display: none;
} @media (max-width: 768px) {
.referenze-section .button-group {
display: none !important;
}
.referenze-select-wrapper {
display: block;
}
.referenze-select-wrapper select {
width: 100%;
padding: 2vh 4vh !important;
font-weight: 400;
}
} .referenze-section .button-group .button.active {
background: var(--colore_primario);
color: var(--colore_bianco);
} .referenze-section .button-group .button:hover {
background: var(--colore_primario);
color: var(--colore_bianco);
opacity: 0.9;
} .referenze-section .button-group .button:focus-visible {
outline: none;
box-shadow:
0 0 0 1px rgba(204, 0, 0, 0.6),
0 0 12px 1px rgba(204, 0, 0, 0.25);
} #referenze-grid .card {
border-radius: 12px;
display: flex;
flex-direction: column;
width: 100%;
overflow: hidden;
min-height: 30vh;
transition:
box-shadow 0.4s ease,
transform 0.4s ease;
} #referenze-grid .card-link-wrapper {
display: flex;
flex-direction: column;
height: 100%;
color: inherit;
}
#referenze-grid .card-body {
display: flex;
flex-direction: column;
justify-content: space-between;
flex: 1;
} #referenze-grid .card-img-wrapper {
overflow: hidden;
padding: 2vh;
}
#referenze-grid .card-img-wrapper img {
width: 100%;
height: 10vh;
object-fit: contain;
transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
} #referenze-grid .card-body,
#referenze-grid .card {
transition:
background-color 0.4s ease,
color 0.4s ease;
} #referenze-grid .card-title {
font-size: 16px;
text-transform: uppercase;
font-family: var(--title-font);
font-weight: 500;
margin-bottom: 0.75rem;
color: var(--colore_primario);
transition: color 0.4s ease;
} #referenze-grid .card-body p {
font-size: 0.95rem;
line-height: 1.5;
font-family: var(--title-font);
color: var(--colore_testo_scuro);
flex-grow: 1;
transition: color 0.4s ease;
}  #referenze-grid .item {
display: flex;
} #referenze-grid .card:hover {
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
}
#referenze-grid .card:hover .card-img-wrapper img {
transform: scale(1.05);
}    .azienda-contact-block {
padding-right: 40px;
}
.contact-description {
font-size: 18px;
line-height: 1.6;
margin-bottom: 40px;
color: var(--colore_secondario);
} .contact-line {
display: flex;
align-items: flex-start;
margin-bottom: 30px;
}
.icon-box {
width: 1.75vw;
min-width: 40px;
min-height: 40px;
height: 1.75vw;
background: var(--colore_primario);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-right: 0.75vw;
transition: transform 0.3s ease;
}
.icon-box i {
color: var(--colore_bianco);
font-size: 22px;
}
.contact-text strong {
display: block;
font-weight: 600;
}
.contact-text span,
.contact-text a {
font-size: 16px;
color: var(--colore_secondario);
text-decoration: none;
} .contact-line:hover .icon-box {
transform: translateY(-3px);
} .contact-item {
display: flex;
align-items: center;
margin-bottom: 15px;
}
.contact-item i {
color: var(--colore_primario);
margin-right: 12px;
font-size: 18px;
}
.contact-item a {
color: inherit;
text-decoration: none;
} .responsabile-card {
background: var(--colore_bianco)fff;
padding: 25px;
border-radius: 12px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
transition: transform 0.3s ease;
margin-bottom: 20px;
}
.responsabile-card:hover {
transform: translateY(-5px);
}
.responsabile-card h5 {
margin-bottom: 8px;
font-weight: 600;
} .map-card {
border-radius: 12px;
overflow: hidden;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}
.map-card iframe {
width: 100%;
height: 30vh;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
border: 0;
}   #blocco-form {
position: relative;
}
#blocco-form .section-description {
font-size: 16px;
line-height: 1.6;
color: var(--colore_secondario);
} .form-wrapper-modern {
background: var(--colore_bianco)fff;
padding: 30px;
border-radius: 12px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
}   #page-404 .full-height {
height: 40vh;
}    .accessibility-main {
line-height: 1.6;
color: var(--colore_secondario);
margin: 0 auto;
padding: 2.5rem 1.25rem;
font-size: 1rem;
} .accessibility-title {
color: var(--colore_primario);
font-size: 1.8rem;
margin-top: 2.5rem;
margin-bottom: 0.75rem;
border-bottom: 2px solid #999;
padding-bottom: 0.4rem;
line-height: 1.3;
} .accessibility-subtitle {
color: var(--colore_primario);
font-size: 1.4rem;
margin-top: 1.75rem;
margin-bottom: 0.5rem;
line-height: 1.4;
} .accessibility-text,
.accessibility-intro {
margin-bottom: 1rem;
} .accessibility-section ul {
list-style: none; padding-left: 2.5vw;
}
.accessibility-section ul li {
position: relative;
padding-left: 20px; color: inherit; }
.accessibility-section ul li::before {
content: "";
position: absolute;
left: 0;
top: 0.6em; width: 8px;
height: 8px;
background-color: var(--colore_primario);
}
.accessibility-section ul li::before {
transition: transform 0.3s ease;
}
.accessibility-section ul li:hover::before {
transform: scale(1.3);
} .accessibility-link {
color: var(--colore_primario);
text-decoration: underline;
}
.accessibility-link:hover {
opacity: 0.85;
}
.accessibility-link:focus {
outline: 3px solid var(--colore_primario);
outline-offset: 2px;
} .accessibility-section {
margin-bottom: 2.5rem;
} .accessibility-logos {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 1rem;
margin-top: 2rem;
margin-bottom: 2rem;
}
.accessibility-logo {
text-align: right;
}
.accessibility-logo img {
max-width: 160px;
width: 100%;
height: auto;
display: inline-block;
} @media (max-width: 768px) {
.accessibility-title {
font-size: 1.6rem;
}
.accessibility-subtitle {
font-size: 1.25rem;
}
.accessibility-main {
padding: 2rem 1rem;
}
}@media (max-width: 1049.99px) {
#menu-desktop {
display: none;
}
#menu-mobile {
display: flex;
}
.page-hero__inner {
padding-top: 75px;
}
footer .logo {
width: 200px;
}
p {
line-height: 25px;
font-size: 16px;
}
.section-title {
font-size: 30px;
line-height: 35px;
}
h1,
.h1 {
font-size: 35px;
}
h2,
.h2 {
font-size: 24px;
}
h3,
.h3 {
font-size: 20px;
}
#editor h1 {
font-size: 35px;
}
#editor h2 {
font-size: 24px;
}
#editor h3 {
font-size: 20px;
}
#editor a {
font-size: 16px;
}
#intestazione-pagina {
position: relative;
display: flex;
align-items: end;
}
#intestazione-pagina .h1 {
font-size: 24px !important;
padding-top: 30px !important;
}
#intestazione-pagina h2 {
font-size: 18px !important;
}
#intestazione-pagina .hero-slide {
height: 55vh;
}
#intestazione-pagina .hero-slide .btn-1 {
text-transform: uppercase;
}
#intestazione-pagina .splide__pagination__page {
width: 7px;
height: 7px;
}
#page-lavora-con-noi .bg-banner {
position: relative;
}
#page-lavora-con-noi .bg-banner::before {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
height: 110%;
width: 100%;
background-color: var(--gray-color);
z-index: -1;
}
#page-lavora-con-noi #richiedi-informazioni .fade-bg {
position: relative;
}
#page-lavora-con-noi #richiedi-informazioni .fade-bg:after {
content: "";
position: absolute;
top: 0;
right: 0;
height: 100%;
width: 100%;
background: unset;
}
#page-lavora-con-noi #richiedi-informazioni .border-left {
border-left: unset;
}
} @media (min-width: 1050px) and (max-width: 1249.99px) {
.icons-menu {
display: none !important;
}
#mobile-bar-icons {
display: flex;
}
.page-hero__inner {
padding-top: 100px;
}
#menu-desktop {
display: block;
}
#menu-mobile {
display: none;
}
#mobile-bar-icons {
display: flex;
}
} @media (min-width: 1250px) {
.icons-menu {
display: flex;
}
.menu-destop-container {
max-width: 1400px;
}
#mobile-bar-icons {
display: none !important;
}
.page-hero__inner {
padding-top: 100px;
}
#menu-mobile {
display: none;
}
}   @media (max-width: 991.98px) {
.col-img-servizio {
text-align: center;
}
.img-contenuto {
width: 85%; max-width: 420px; height: auto;
margin: 0 auto;
}
}
@media (min-width: 992px) {
.row-servizio {
align-items: stretch;
}
.col-img-servizio {
position: relative;
overflow: hidden;
}
.col-img-servizio .img-contenuto {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
}    @media (min-width: 768px) {
#page-azienda .row-sezione-azienda {
align-items: stretch;
}
#page-azienda .col-img-azienda { position: relative;
}
#page-azienda .col-img-azienda .img-sezione-azienda {
position: absolute;
inset: 0; width: 100%;
height: 100%;
object-fit: cover; }
} @media (max-width: 768px) {
#page-azienda .col-img-azienda .img-sezione-azienda {
position: static;
height: auto;
}
}   @media (max-width: 768px) {
.azienda-contact-block {
padding: 2% 5%;
}
.icon-box {
margin-right: 4.5vw;
}
.contact-line {
padding: 2%;
}
.contact-main-title {
font-size: 28px;
}
.map-card iframe {
height: 35vh;
}
#referenze-carousel .splide__arrow--prev {
left: 10vw;
}
#referenze-carousel .splide__arrow--next {
right: 10vw;
}
#referenze-carousel .splide__pagination {
bottom: -2em !important;
}
}