 /**************************
    ROOT 
***************************/
 :root {
     /*** COLOR PALETTE ***/

     --white: #ffffff;
     --black: #202020;
     --bordeaux: #670C00;
     --darker_bordeaux: #561416;
     --bright_gold: #DEAB1D;
     --dark_gold: #8c7338;
     --light_gray: #d6d6d6;
     --dark_gray: #818183;
     --error: #c92432;

     /*** FONT ***/

     --font: 'Assistant', sans-serif;

     /*** SECTION MARGIN ***/

     --m_dk: 8.44rem 0;
     --m_mb: 5rem 0;
 }

 /**************************
    RESET
***************************/
 *,
 ::before,
 ::after {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 .debug {
     border: 1px solid red;
     /* min-height: 150px; */
 }

 a,
 button {
     font-family: inherit !important;
 }

 em {
     font-family: 'Open Sans', sans-serif;
     font-size: 15px;
 }

 .grecaptcha-badge {
     display: none !important;
 }

 .recaptcha {
     padding-top: .5rem;
     color: var(--black);
     /* opacity: .7; */
     text-align: left;
     font-size: 14px;
 }

 .recaptcha a {
     text-decoration: underline;
     color: var(--white);
     padding: 0 .3rem;
 }

 .recaptcha_form {
     color: var(--dark_gray);
     font-size: 15px;
 }

 .recaptcha_form a {
     text-decoration: underline;
     padding: 0 .3rem;
 }

 @media screen and (max-width: 423px) {
     .recaptcha {
         text-align: center;
     }
 }

 /***********************
    GENERAL RULES
************************/
 body {
     font-family: var(--font);

     font-synthesis: none;
     text-rendering: optimizeLegibility;
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
     -webkit-text-size-adjust: 100%;
     scroll-behavior: smooth;

     background-color: var(--white);
     color: var(--black);
 }

 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 p,
 small {
     pointer-events: none;
 }

 .h1 {
     font-size: 4rem;
     font-weight: 700;
     line-height: 6rem;
 }

 .h2 {
     font-size: 2.813rem;
     font-weight: 700;
     line-height: 4.2rem
 }

 .h3 {
     font-size: 2rem;
     font-weight: 600;
     line-height: 3rem;
 }

 .h4 {
     font-size: 1.438rem;
     font-weight: 600;
     line-height: 2.1rem;
 }

 .p {
     font-size: 1rem;
     font-weight: 400;
     line-height: 1.5rem;
 }

 .small {
     font-size: 0.688rem;
     font-weight: 400;
     line-height: 1rem;
 }

 @media screen and (max-width: 430px) {
     .h2 {
         font-size: 2.375rem;
         font-weight: 600;
         line-height: 2.85rem
     }

     .h3 {
         font-size: 1rem;
         font-weight: 400;
         line-height: 1.2rem;
     }

     .small {
         line-height: 0.825rem;
     }
 }

 ul {
     list-style: none;
 }

 a {
     text-decoration: none;
     color: var(--black);
 }

 img {
     width: 100%;
 }

 .fill_btn {
     display: flex;
     justify-content: center;
     align-items: center;
     padding: 0.63rem 1.25rem;
     background-color: var(--bright_gold);
     color: var(--white);
     box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
     font-size: 1rem;
     font-weight: 700;
     line-height: 1.2rem;
     transition: all .3s ease;
     width: fit-content;
     text-transform: uppercase;
     font-family: inherit;
 }

 .fill_btn:hover {
     /* transform: scale(1.02); */
     background-color: var(--dark_gold);
 }

 .carica_altro {
     outline: none;
     border: none;
     cursor: pointer;
 }

 .stroke_btn {
     display: flex;
     justify-content: center;
     align-items: center;
     padding: 0.63rem 1.25rem;
     box-shadow: inset 0 0 0 3px var(--bright_gold),
         0px 4px 4px 0px rgba(0, 0, 0, 0.1);
     background-color: var(--white);
     color: var(--bright_gold);
     font-size: 1rem;
     font-weight: 700;
     line-height: 1.2rem;
     transition: all .3s ease;
     width: fit-content;
     text-transform: uppercase;
     font-family: inherit;
 }

 .stroke_btn:hover {
     /* transform: scale(1.02); */
     box-shadow: inset 0 0 0 3px var(--dark_gold),
         0px 4px 4px 0px rgba(0, 0, 0, 0.1);
     color: var(--dark_gold);
 }

 .fill_btn:active,
 .stroke_btn:active {
     transform: scale(1);
     box-shadow: inset 0 0 0 3px var(--dark_gold);
 }

 .container {
     max-width: 1440px;
     width: 80%;
     margin: 0 auto;
 }

 .page_wrapper {
     margin: 5rem auto;
     margin-bottom: 8rem;
 }

 @media screen and (max-width: 1024px) {
     .page_wrapper {
         margin: 8rem auto;
     }
 }

 @media screen and (max-width: 430px) {
     .page_wrapper {
         margin-bottom: 5rem;
     }
 }

 .page_h3 {
     color: var(--dark_gold);
     text-transform: uppercase;
     font-size: 1.5rem;
     font-weight: 600;
     line-height: 2.5rem;
     text-align: center;
     margin: 5rem 0;
 }

 .title {
     display: flex;
     flex-flow: column nowrap;
     justify-content: center;
     align-items: center;
     gap: 1.12rem;
 }

 .title .section_title_top {
     width: 5rem;
     height: 1.56rem;
     border-width: 8px 8px 0 8px;
     border-style: solid;
     border-color: var(--bordeaux);
 }

 .title .section_title_bottom {
     width: 5rem;
     height: 0.5rem;
     background: var(--bordeaux);
 }

 .title h2 {
     font-size: 4rem;
     font-weight: 600;
     line-height: 4.8rem;
     text-transform: uppercase;
     text-align: center;
 }

 .title h3 {
     font-size: 1rem;
     font-weight: 400;
     line-height: 1.2rem;
     text-transform: uppercase;
     color: var(--dark_gray);
     text-align: center;
 }

 @media screen and (max-width: 1024px) {
     .title h2 {
         font-size: 3.5rem;
     }

     .title h3 {
         line-height: 1.5rem;
     }
 }

 @media screen and (max-width: 768px) {
     .title h2 {
         font-size: 3rem;
     }

     .title h3 {
         line-height: 1.5rem;
     }
 }

 @media screen and (max-width: 604px) {
     .title h2 {
         font-size: 2rem;
         line-height: 2.5rem;
     }

     .title h3 {
         font-size: .85rem;
     }
 }

 @media screen and (max-width: 408px) {
     .title h2 {
         font-size: 1.5rem;
         line-height: 2.3rem;
     }

     .title h3 {
         font-size: .75rem;
     }
 }

 @media screen and (max-width: 320px) {
     .title h2 {
         font-size: 1.5rem;
         line-height: 2.3rem;
     }

     .title h3 {
         display: none;
     }
 }

 /**************************
   LOADER
***************************/
 #loader {
     position: fixed;
     top: 0;
     left: 0;
     width: 100vw;
     height: 100vh;
     background-color: var(--white);
     z-index: 9999;
     display: flex;
     justify-content: center;
     align-items: center;
 }

 #loader .loader-icon {
     width: 70px;
     height: 70px;
     border: 8px solid var(--bordeaux);
     border-top-color: var(--bright_gold);
     border-radius: 50%;
     animation: spin 1s infinite linear;
 }

 @keyframes spin {
     0% {
         transform: rotate(0deg);
     }

     100% {
         transform: rotate(360deg);
     }
 }

 /**************************
   NEWS POPUP
***************************/
 .popup_blur {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100vh;
     background: rgba(32, 32, 32, 0.50);
     /* Sfondo semitrasparente */
     backdrop-filter: blur(5px);
     /* Aggiunge il filtro di sfocatura */
     z-index: 4999;
     /* Posizionalo sotto il popup */
     display: none;
     /* Inizialmente nascosto */
 }

 .popup {
     display: none;
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100vh;
     z-index: 5000;
 }

 .popup_content {
     width: 50%;
     max-height: 90%;
     height: fit-content;
     overflow: hidden;
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     background: var(--white);
     border-radius: 3px;
     padding: 2rem;
     text-align: center;
 }

 .popup_close {
     position: absolute;
     top: 2rem;
     right: 2rem;
     font-size: 1.5rem;
     color: var(--bordeaux);
     cursor: pointer;
 }

 .popup_close:hover {
     color: var(--darker_bordeaux);
 }

 .popup_content h2 {
     margin: 3rem 0;
     font-size: 2rem;
     font-weight: 700;
     text-transform: uppercase;
     text-align: center;
 }

 .popup_row {
     width: 95%;
     margin: 5rem auto;
     display: flex;
     justify-content: space-between;
     align-items: flex-start;
     gap: 3rem;
 }

 .popup_img {
     width: 50%;
     height: 15rem;
     border: 3px solid var(--bright_gold);
     overflow: hidden;
     display: flex;
     justify-content: center;
     align-items: center;
 }

 .popup_row p {
     width: 50%;
     line-height: 1.5rem;
     text-align: justify;
 }

 .popup_content a {
     margin: 0 auto;
     margin-bottom: 1.5rem;
 }

 @media screen and (max-width: 1800px) {
     .popup_img {
         height: 14rem;
     }

     .popup_content h2 {
         font-size: 1.5rem;
     }
 }

 @media screen and (max-width: 1512px) {
     .popup_row {
         margin: 3rem auto;
         gap: 2rem;
     }

     .popup_img {
         height: 12rem;
     }

     .popup_content a {
         margin: 1.5rem auto;
     }
 }

 @media screen and (max-width: 1280px) {
     .popup_img {
         height: 10rem;
     }
 }

 @media screen and (max-width: 1220px) {
     .popup_content {
         width: 55%;
     }

     .popup_content {
         padding: 1rem;
     }

     .popup_close {
         top: 1rem;
         right: 1rem;
     }

     .popup_row {
         align-items: center;
         gap: 3rem;
         flex-direction: column;
     }

     .popup_img {
         width: 100%;
         height: 15rem;
     }

     .popup_row p {
         width: 100%;
         text-align: justify;
     }

     .popup_content h2 {
         font-size: 1.3rem;
     }
 }

 @media screen and (max-width: 920px) {
     .popup_content {
         width: 70%;
     }
 }

 @media screen and (max-width: 600px) {
     .popup_content {
         width: 90%;
     }
 }

 @media screen and (max-width: 445px) {
     .popup_content {
         padding: .5rem;
     }

     .popup_content h2 {
         font-size: 1rem;
         margin-top: 3.5rem;
     }

     .popup_img {
         height: 12rem;
     }
 }

 @media screen and (max-width: 375px) {

     /* .popup_content h2{
        font-size: 1.5rem;
    } */
     .popup_img {
         display: none;
     }

     .popup_row p {
         text-align: center;
     }
 }

 /**************************
   WHATSAPP BTN
***************************/
 .to_wa,
 .to_top {
     background-color: var(--bright_gold);
     outline: 3px solid var(--bright_gold);
     box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.25);
     position: fixed;
     bottom: 100px;
     right: 22px;
     width: 50px;
     height: 50px;
     border-radius: 5px;
     display: flex;
     align-items: center;
     justify-content: center;
     opacity: 0;
     pointer-events: none;
     /* transition: all 450ms; */
     z-index: 1000;
 }

 .to_wa {
     border: 2px solid var(--white);
     border-radius: 8px;
 }

 .to_wa i {
     color: var(--white);
     font-size: 36px;
 }

 .to_wa:hover {
     background-color: #4BEC68;
     outline: 3px solid #4BEC68;
     border: none;
 }

 .to_wa.wa_show {
     opacity: 1;
     pointer-events: auto;
 }

 /**************************
   ARROW UP BTN
***************************/
 .to_top {
     background-color: var(--bordeaux);
     bottom: 30px;
     z-index: 999;
 }

 .to_top.show {
     pointer-events: auto;
     opacity: 1;
 }

 .to_top i {
     color: var(--bright_gold);
     font-size: 30px;
 }

 .to_top:hover {
     background-color: var(--bright_gold);
 }

 .to_top:hover i {
     color: var(--bordeaux);
 }

 .to_top:active,
 .to_wa:active {
     scale: .8;
 }

 @media screen and (max-width: 1024px) {

     .to_wa,
     .to_top {
         display: none;
     }
 }

 /***********************
    HEADER
************************/
 .desktop_top_menu {
     width: 100%;
     height: 3.75rem;
     color: var(--white);
     background-color: var(--bordeaux);
     box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
 }

 .flex {
     height: 100%;
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .numero_verde_top {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: .5rem;
     pointer-events: none;
 }

 .fa-phone {
     rotate: 45deg;
 }

 .numero_verde_top i {
     font-size: 1.5rem;
 }

 .numero_verde_top div {
     display: flex;
     flex-flow: column nowrap;
 }

 .numero_verde_top div span:first-child {
     font-size: 0.75rem;
     font-weight: 600;
 }

 .numero_verde_top div span:nth-child(2) {
     font-size: 1rem;
     font-weight: 700;
 }

 .general_searchbar {
     position: relative;
 }

 .general_searchbar input {
     background-color: var(--white);
     color: var(--dark_gray);
     width: 250px;
     height: 25px;
     padding: .5rem 1.5rem;
     padding-right: 2.3rem;
     border-radius: 50px;
     border: none;
     outline: none;
 }

 .general_searchbar input:focus {
     border: none;
     outline: none;
 }

 .general_searchbar button {
     position: absolute;
     top: 4px;
     right: 15px;
     border: none;
     outline: none;
     background: transparent;
     cursor: pointer;
 }

 .general_searchbar button i {
     color: var(--bordeaux);
     transition: all 150ms linear;
 }

 .general_searchbar button:hover i {
     color: var(--bright_gold);
 }

 .logged_in {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 2rem;
 }

 .logout {
     color: var(--white);
     font-weight: 700;
     font-size: 14px;
 }

 .logout_mb {
     display: none;
 }

 .area_riservata {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 1rem;
     color: var(--white);
 }

 .area_riservata i {
     font-size: 25px;
 }

 .area_riservata div {
     font-size: 14px;
     text-align: center;
     font-weight: 700;
 }

 /************************************/
 .menu_header_dk {
     display: flex;
     flex-flow: column nowrap;
     justify-content: center;
     align-items: space-between;
 }

 .menu_header_dk img {
     align-self: center;
     width: 22rem;
     margin: 3rem 0;
 }

 .desktop_menu,
 .menu_item {
     height: 100%;
 }

 .desktop_menu {
     display: flex;
     justify-content: space-around;
     gap: 1.5rem;
 }

 .desktop_menu .menu_item {
     width: fit-content;
 }

 .desktop_menu .menu_item>a {
     font-size: 1rem;
     font-weight: 400;
     line-height: 1.2rem;
     text-transform: uppercase;
     width: 100%;
     height: 100%;
     display: flex;
     justify-content: center;
     align-items: center;

     border-bottom: 5px solid transparent;
     /* padding-top: 5px; */
     padding-bottom: 1rem;
 }

 /* Menu Border Effect */
 .desktop_menu .menu_item a.menu_active {
     color: var(--bright_gold);
     font-weight: 700;
     border-bottom: 5px solid var(--bright_gold);
     position: relative;
 }

 .desktop_menu .menu_item {
     position: relative;
 }

 .desktop_menu .menu_item a:not(.menu_active)::before {
     content: "";
     position: absolute;
     bottom: 0;
     left: 0;
     height: 5px;
     width: 0;
     background-color: var(--bright_gold);
     transition: width 0.3s ease-in-out;
 }

 .desktop_menu .menu_item:hover a:not(.menu_active)::before {
     width: 100%;
 }

 .desktop_menu .menu_item a:hover {
     color: var(--bright_gold);
     /* font-weight: 700; */
 }

 .hamburger_menu {
     display: none;
 }

 /**** HAMBURGER ****/
 @media screen and (max-width: 1024px) {
     .desktop_top_menu {
         position: fixed;
         left: 0;
         top: 0;
         z-index: 1000;
     }

     .menu_header_dk,
     .numero_verde_top,
     .general_searchbar,
     .area_riservata {
         display: none;
     }

     .general_searchbar_mobile {
         display: block;
         position: relative;
         margin-bottom: 3rem !important;
     }

     .general_searchbar_mobile input {
         background-color: var(--white);
         color: var(--dark_gray);
         width: 40%;
         height: 40px;
         padding: .5rem 1.5rem;
         padding-right: 2.5rem;
         border-radius: 50px;
         border: none;
         outline: none;
     }

     .general_searchbar_mobile input:focus {
         border: none;
         outline: none;
     }

     .general_searchbar_mobile button {
         position: absolute;
         top: 12px;
         right: 32%;
         border: none;
         outline: none;
         background: transparent;
     }

     .general_searchbar_mobile button i {
         font-size: 1rem;
         color: var(--bordeaux);
     }

     .hamburger_menu {
         display: block;
         width: 100%;
         height: 100%;
         display: flex;
         justify-content: space-between;
         align-items: center;
         z-index: 2000;
     }

     .hamburger_menu i {
         font-size: 2.2rem;
         color: var(--white);
         cursor: pointer;
     }

     .hamburger_icon {
         display: flex;
         flex-direction: column;
         align-items: center;
         justify-content: center;
         cursor: pointer;
     }

     .bar {
         width: 30px;
         height: 5px;
         border-radius: 5px;
         background-color: var(--white);
         margin: 3px 0;
         -webkit-transition: all 0.3s ease-in-out;
         transition: all 0.3s ease-in-out;
     }

     /* animazione al click */
     .hamburger_icon.active .bar:nth-child(2) {
         opacity: 0;
     }

     .hamburger_icon.active .bar:nth-child(1) {
         transform: rotate(45deg) translateY(15px);
     }

     .hamburger_icon.active .bar:nth-child(3) {
         transform: rotate(-45deg) translateY(-15px);
     }

     .nav_menu {
         position: fixed;
         left: -100%;
         top: 60px;
         gap: 0;
         flex-direction: column;
         background-color: var(--bordeaux);
         border-top: 2px solid var(--bright_gold);
         box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
         width: 100%;
         text-align: center;
         transition: 0.3s;
         padding: 1.5rem 0;
     }

     .nav_item {
         margin: 1.5rem 0;
         text-transform: uppercase;
     }

     .nav_item a {
         color: var(--white);
         letter-spacing: 2px;
     }

     .nav_menu.active {
         left: 0;
     }

     .nav_item i {
         font-size: 20px;
         padding-right: .5rem;
     }

     .logout {
         display: none;
     }

     .logout_mb {
         display: block;
     }
 }

 @media screen and (max-width: 768px) {
     .general_searchbar_mobile input {
         width: 55%;
         padding-right: 2.8rem;
     }

     .general_searchbar_mobile button {
         right: 25%;
     }
 }

 @media screen and (max-width: 430px) {
     .general_searchbar_mobile input {
         width: 70%;
         padding-right: 3rem;
     }

     .general_searchbar_mobile button {
         /* top: 9px; */
         right: 20%;
     }
 }

 @media screen and (max-width: 375px) {
     .general_searchbar_mobile input {
         padding-right: 2.8rem;
     }
 }

 @media screen and (max-width: 320px) {
     .general_searchbar_mobile input {
         padding-right: 2.5rem;
     }
 }

 /***********************
    FOOTER
************************/
 footer {
     width: 100%;
     padding: 5rem 0;
     background-color: var(--bordeaux);
     color: var(--white);
 }

 .top_footer {
     display: flex;
     justify-content: space-between;
     align-items: flex-start;
 }

 .top_footer img {
     width: 14rem;
 }

 .top_footer_data {
     display: flex;
     justify-content: space-between;
     align-items: flex-start;
     gap: 8rem;
 }

 .breack {
     background-color: var(--bright_gold);
     height: 5px;
     width: 50px;
     margin-top: .5rem;
     margin-bottom: 1.3rem;
 }

 .top_footer_data ul li {
     line-height: 2rem;
     display: flex;
     justify-content: flex-start;
     align-items: baseline;
     gap: 1rem;
     margin-bottom: 1.5rem;
 }

 .top_footer_data ul li span {
     color: var(--white);
 }

 .top_footer_data ul li i {
     color: var(--bright_gold);
 }

 .numero_verde {
     display: flex;
     justify-content: center;
     align-items: center;
     gap: .5rem;
     margin-bottom: 1.3rem;
 }

 .numero_verde i {
     color: var(--bright_gold);
     font-size: 2rem;
     rotate: 45deg;
 }

 .numero_verde div {
     display: flex;
     flex-flow: column nowrap;
     gap: .3rem;
 }

 .numero_verde div span:first-child {
     color: var(--bright_gold);
 }

 .numero_verde div span:nth-child(2) {
     font-size: 1.25rem;
     font-weight: 700;
     color: var(--white);
 }

 .utility_data {
     margin-bottom: 1.5rem;
 }

 .utility_data span {
     margin-left: 1rem;
     color: var(--bright_gold);
     font-weight: 700;
 }

 .hr {
     background-color: var(--bright_gold);
     height: 2px;
     width: 100%;
     margin: 5rem 0;
 }

 .bottom_footer {
     display: flex;
     justify-content: center;
     align-items: flex-start;
     gap: 5rem;
 }

 .footer_img_row {
     display: flex;
     align-items: flex-start;
     gap: .85rem;
 }

 .footer_img_col {
     display: flex;
     flex-flow: column nowrap;
     align-items: flex-start;
     gap: .85rem;
 }

 .footer_img_wrap {
     background-color: var(--white);
     width: 150px;
     height: 60px;
     display: flex;
     justify-content: center;
     align-items: center;
     overflow: hidden;
 }

 .link_utili_flex {
     display: flex;
     justify-content: space-between;
     align-items: flex-start;
     gap: 3rem;
 }

 .link_utili ul li {
     line-height: 2.5rem;
 }

 .link_utili ul li a {
     transition: .3s ease;
 }

 .link_utili ul li:hover a {
     text-decoration: underline;
     color: var(--bright_gold);
 }

 .link_utili ul li i {
     color: var(--bright_gold);
     font-size: .5rem;
     margin-right: .85rem;
 }

 .footer_social {
     display: flex;
     justify-content: space-between;
     align-items: center;
 }

 .footer_social a i {
     font-size: 1.2rem;
     transition: all 250ms linear;
 }

 .footer_social a:hover i {
     color: var(--bright_gold);

 }

 @media screen and (max-width: 1600px) {
     .top_footer img {
         width: 12rem;
     }

     .top_footer_data {
         gap: 5rem;
     }

     .bottom_footer {
         gap: 3rem;
     }

 }

 @media screen and (max-width: 1480px) {
     .top_footer img {
         display: none;
     }
 }

 @media screen and (max-width: 1280px) {
     .top_footer {
         display: flex;
         justify-content: center;
         align-items: flex-start;
         gap: 4rem;
     }

     .top_footer_data {
         gap: 3rem;
     }
 }

 @media screen and (max-width: 1230px) {
     .link_utili_flex {
         gap: 1.5rem;
     }
 }

 @media screen and (max-width: 1170px) {
     .link_utili_flex {
         flex-direction: column;
         gap: 0;
     }
 }

 @media screen and (max-width: 993px) {
     .top_footer_data {
         gap: 3rem;
     }

     .bottom_footer {
         gap: 2.5rem;
     }
 }

 @media screen and (max-width: 948px) {
     .top_footer {
         align-items: center;
         gap: 0;
     }

     .top_footer_data {
         flex-direction: column;
         justify-content: space-between;
         align-items: flex-start;
     }

     .sede_operativa h4,
     .sede_legale h4,
     .partners h4,
     .certificazioni h4,
     .link_utili h4 {
         text-align: center;
     }

     .breack {
         margin: .5rem auto;
     }

     .numero_verde {
         margin-bottom: 5rem;
     }

     .numero_verde i {
         font-size: 2.2rem;
     }

     .numero_verde div span:first-child {
         font-size: 1.1rem;
     }

     .numero_verde div span:nth-child(2) {
         font-size: 1.3rem;
     }

     .bottom_footer {
         flex-direction: column;
         align-items: center;
         gap: 5rem;
     }

     .footer_img_row {
         margin-top: 1.5rem;
         flex-direction: column;
         align-items: center;
         gap: 1;
     }

     .footer_img_col {
         display: flex;
         flex-flow: column nowrap;
         align-items: flex-start;
         gap: 1rem;
     }

     .footer_img_wrap {
         background-color: var(--white);
         width: 150px;
         height: 60px;
     }

     .top_footer_data ul {
         margin-top: 1.5rem;
     }

     .link_utili ul:first-of-type {
         margin-top: 1rem;
     }

     .link_utili ul {
         width: 100%;
         display: flex;
         flex-direction: column;
         justify-content: center;
         align-items: center;
     }

     .link_utili ul li a i {
         display: none;
     }
 }

 @media screen and (max-width: 430px) {
     .top_footer i:not(.footer_social a i, .numero_verde i) {
         display: none;
     }

     .footer_social {
         width: 100%;
         margin-top: 3rem;
     }

     .top_footer_data {
         justify-content: center;
         align-items: center;
     }

     .top_footer_data ul li {
         line-height: 2rem;
         justify-content: center;
         align-items: center;
         gap: 1rem;
         margin-bottom: 1rem;
         text-align: center;
     }

     .utility {
         display: flex;
         flex-direction: column;
         justify-content: center;
         align-items: flex-start;
     }
 }

 @media screen and (max-width: 320px) {
     .link_utili ul li:last-child {
         line-height: 1.5rem;
         margin-top: .5rem;
     }

 }

 /* DEBUG PER SAFARI CHE LEGGE I NUMERI DI TELEFONO COME <a> DA CHIAMARE */
 footer a {
     color: var(--white);
 }

 footer .utility div:nth-child(3) a {
     color: var(--bright_gold);
 }

 /************************************************************************/

 /***********************
    PAGES INFO
************************/
 .r_info_container {
     width: 100%;
     background-color: var(--bright_gold);
     display: flex;
     flex-flow: column nowrap;
     justify-content: center;
     align-items: center;
     padding: 3rem 0;
     position: relative;
     overflow: hidden;
 }

 .r_info {
     text-align: center;
     color: var(--white);
 }

 .r_info form {
     max-width: 700px;
     width: 100%;
     margin: 0 auto;
 }

 .r_info h2 {
     font-size: 4rem;
     font-weight: 600;
     line-height: 4.8rem;
     text-transform: uppercase;
 }

 .r_info h3 {
     font-size: 1.5rem;
     font-weight: 500;
     line-height: 2.5rem;
     margin-top: 2rem;
     margin-bottom: 5rem;
 }

 .r_info input:not([type='checkbox']),
 textarea {
     background: var(--white);
     color: var(--black);
     border: none;
     padding: .5rem 1rem;
     border-radius: 2px;
     width: 100%;
 }

 .r_info input:focus,
 .r_info textarea:focus {
     outline: 2px solid var(--dark_gray);
 }

 .r_info textarea {
     /* margin-bottom: 3rem; */
     line-height: 1.2rem;
     font-family: inherit;
 }

 .r_info label span {
     color: var(--bordeaux);
     margin-right: .1rem;
     font-size: 1.3rem;
 }

 .label_col {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: .5rem;
     width: 100%;
 }

 .r_data_row {
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 1.5rem;
     margin-bottom: 2rem;
 }

 .btn_white {
     border: 3px solid var(--white);
     color: var(--white);
     background: transparent;
     box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
     font-size: 1rem;
     font-weight: 700;
     padding: 0.65rem 1.25rem;
     transition: .3s ease;
     text-transform: uppercase;
     cursor: pointer;
 }

 .btn_white:hover {
     background-color: var(--white);
     color: var(--bright_gold);
 }

 .btn_white:active {
     box-shadow: none;
 }

 @media screen and (max-width: 845px) {
     .r_info h2 {
         font-size: 3rem;
         line-height: 3.5rem;
     }

     .r_info h3 {
         font-size: 1.1rem;
         line-height: 1.5rem;
         margin-bottom: 3rem;
     }
 }

 @media screen and (max-width: 620px) {
     .r_data_row {
         margin-bottom: 1.5rem;
         flex-direction: column;
     }
 }

 @media screen and (max-width: 375px) {
     .r_info h2 {
         font-size: 2rem;
         line-height: 2.5rem;
     }

     .r_info h3 {
         font-size: 1rem;
         line-height: 1.5rem;
         margin-bottom: 3rem;
     }
 }

 /********** CHECKBOX ***********/
 .form_privacy {
     width: fit-content;
     margin: 3rem auto;
     position: relative;
 }

 .form_privacy span {
     margin-left: .5rem;
     font-size: 18px;
 }

 .form_privacy span a {
     text-decoration: underline;
     font-weight: 500;
     color: var(--dark_gray);
 }

 .privacy_data_error {
     position: absolute;
     bottom: -30px;
     left: 15px;
     font-size: 0.85rem;
     font-weight: 700;
     color: var(--error);
     display: block;
     margin: 8px 0;
 }

 /***********************
    MODALE SUCCESS INFO
************************/
 .alert {
     /* background: #b9ebb7; */
     background: var(--white);
     padding: 20px 40px;
     min-width: 420px;
     position: absolute;
     right: 0;
     top: 25px;
     /* overflow: hidden; */
     border-radius: 4px;
     border-left: 6px solid #1fd619;
     box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.10);
     opacity: 0;
     pointer-events: none;
 }

 .alert.showAlert {
     opacity: 1;
     pointer-events: auto;
 }

 .alert .fa-circle-check {
     position: absolute;
     left: 20px;
     top: 50%;
     transform: translateY(-50%);
     color: #1fd619;
     font-size: 30px;
 }

 .alert .msg {
     padding: 0 25px;
     font-size: 18px;
     /* color: #1fd619; */
 }

 .alert .close_btn {
     position: absolute;
     right: 0;
     top: 50%;
     transform: translateY(-50%);
     /* background: var(--bordeaux); */
     border-left: 3px solid var(--bordeaux);
     padding: 20px 16px;
     cursor: pointer;
     transition: all .3s linear;
 }

 .alert .close_btn:hover {
     background: var(--bordeaux);
     border-radius: 0 4px 4px 0;
 }

 .alert .fa-xmark {
     color: var(--bordeaux);
     font-size: 22px;
     /* line-height: 40px; */
 }

 .alert .close_btn:hover .fa-xmark {
     color: var(--white);
 }

 .alert.show {
     animation: show_slide 1s ease forwards;
 }

 @keyframes show_slide {
     0% {
         transform: translateX(100%);
     }

     40% {
         transform: translateX(-10%);
     }

     80% {
         transform: translateX(0%);
     }

     100% {
         transform: translateX(-10px);
     }
 }

 .alert.hide {
     animation: hide_slide 1s ease forwards;
 }

 @keyframes hide_slide {
     0% {
         transform: translateX(-10px);
     }

     40% {
         transform: translateX(0%);
     }

     80% {
         transform: translateX(-10%);
     }

     100% {
         transform: translateX(100%);
     }
 }

 @media screen and (max-width: 1688px) {
     .alert {
         position: static;
         margin-top: 2rem;
         display: flex;
         justify-content: center;
         align-items: center;
         padding: 0;
     }

     .alert .fa-circle-check {
         position: static;
         left: auto;
         top: auto;
         transform: translateY(0);
         padding-left: 1rem;
     }

     .alert .close_btn {
         position: static;
         right: auto;
         top: auto;
         transform: translateY(0);
         padding: 20px 16px;
     }

     @keyframes show_slide {
         0% {
             transform: translateX(100%);
         }

         40% {
             transform: translateX(-10%);
         }

         80% {
             transform: translateX(0%);
         }

         100% {
             transform: translateX(0);
         }
     }

     @keyframes hide_slide {
         0% {
             transform: translateX(-10px);
         }

         40% {
             transform: translateX(0%);
         }

         80% {
             transform: translateX(-10%);
         }

         100% {
             transform: translateX(200%);
         }
     }
 }

 @media screen and (max-width: 530px) {
     .alert {
         width: 90%;
         min-width: auto;
         margin: 0 auto;
         margin-top: 2rem;
         text-align: center;
         padding: 1rem 0;
         flex-direction: column;
         gap: 1rem;
         border-left: none;
         color: #1fd619;
     }

     .alert .close_btn {
         display: none;
     }

     .alert .fa-circle-check {
         font-size: 3rem;
     }
 }