html { scroll-behavior: smooth; }

.swal2-container.swal2-shown {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

.swal2-container.swal2-backdrop-show {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

.swal2-popup-wide {
  min-width: 650px !important;
  background-size: 650px 110px !important;
}

input:invalid,
select:invalid,
textarea:invalid,
.invalid {
  border: 1px dashed #ff0000 !important;
}

html.swal2-shown,
body.swal2-shown {
  overflow-y: hidden !important;
}

:root {
  --verde_flextax: #2DAB66;
  --flex_verde_scuro: #0f8549;
  --flex_verde_scuro_hover: #118f4a;
  --flex_verde_chiaro: #f3faf6;
  --flex_verdone: #0f5e33;
  --flex_arancione: #fd8059;
  --flex_arancione_hover: #ed6338;
  --flex_grigio: #707070;
  --flex_verde_rgba: rgba(45, 171, 102, 0.5);
  --azzurro_chiaro: #73b1f4;
  --azzurrino_bg: #edf6ff;
  --verde_chiaro: #38cd70;
  --verde_chiaro_rgb: 56, 205, 112;
  --verde_smeraldo: #2dc0b7;
  --verde_smeraldo_rgb: 1, 167, 163;
  --verde-namirial: #00857e;
  --verdino: #57cb82;
  --verdino_rgb: 87, 203, 130;
  --color-font-menu: #7b7f9e;
  --color-flex: var(--flex_verde_scuro);
  --color-flex-opc: rgba(var(--verde_chiaro_rgb), 0.1);
  --color-flex-opc2: rgba(var(--verde_chiaro_rgb), 0.3);
  --color-flex2: var(--verde_chiaro);
  --color-flex2-opc: rgba(var(--verde_chiaro_opc), 0.1);
  --color-flex2-opc2: rgba(var(--verde_chiaro_opc), 0.3);
  --color-flex3: #59d6b4;
  --color-flex3-opc-opc: rgba(89, 214, 180, 0.1);
  --color-flex3-opc2: rgba(89, 214, 180, 0.3);
  --color-flex3-opc3: rgba(89, 214, 180, 0.6);
  --color-flex-dark: #98ded4;
  --color-flex-opc-esa: #eaf6ef;
  --color-flex-opc2-esa: #c0e6d1;
  --color-service: #967adc;
  --color-service-opc: rgba(150, 122, 220, 0.1);
  --color-service-opc2: rgba(150, 122, 220, 0.3);
  --color-service-sfumato: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(101deg, #73b1f4, #967adc);
  --color-service-sfumato2: linear-gradient(
      rgba(255, 255, 255, 0.8),
      rgba(255, 255, 255, 0.8)
    ),
    linear-gradient(101deg, #73b1f4, #967adc);
  --color-support: #8bc34a;
  --color-support-dark: #8bc34a;
  --color-support2: #559f01;
  --color-support-opc: rgba(85, 159, 1, 0.1);
  --color-support-opc2: rgba(85, 159, 1, 0.3);
  --color-support-opc-dark: rgba(139, 195, 74, 0.1);
  --color-support-opc-esa: #e5eee0;
  --color-support-opc2-esa: #c5dcae;
  --color-tools: #967adc;
  --color-tools2: #b3a5ef;
  --color-tools-dark: #c4adff;
  --color-tools-opc: rgba(150, 122, 220, 0.1);
  --color-tools-opc2: rgba(150, 122, 220, 0.3);
  --color-tools-opc-esa: #f4f1fb;
  --color-tools-opc2-esa: #dfd7f4;
  --color-invoice: #4a89dc;
  --color-invoice2: #73b1f4;
  --color-invoice-dark: #73b1f4;
  --color-invoice-opc: rgba(74, 137, 220, 0.1);
  --color-invoice-opc2: rgba(74, 137, 220, 0.3);
  --color-invoice-opc-esa: #edf3fb;
  --color-invoice-opc2-esa: #c8dbf4;
  --color-economy: #37bc9b;
  --color-economy2: #62ddbb;
  --color-economy-dark: #62ddbb;
  --color-economy-opc: rgba(55, 188, 155, 0.1);
  --color-economy-opc2: rgba(55, 188, 155, 0.3);
  --color-economy-opc-esa: #ebf8f5;
  --color-economy-opc2-esa: #c3ebe1;
  --color-ambassador: #df9b01;
  --color-ambassador2: #f7bd17;
  --color-ambassador-dark: #fcd277;
  --color-ambassador-opc: rgba(246, 187, 66, 0.1);
  --color-ambassador-opc2: rgba(246, 187, 66, 0.3);
  --color-ambassador-opc-esa: #fef8ec;
  --color-ambassador-opc2-esa: #fceac6;
  --color-doc: #f72e62;
  --color-doc2: #f5557e;
  --color-doc-dark: #f5557e;
  --color-doc-opc: rgba(245, 85, 126, 0.1);
  --color-doc-opc2: rgba(245, 85, 126, 0.3);
  --color-doc-opc-esa: #feeef2;
  --color-doc-opc2-esa: #fcccd8;
  /*--color-coupon: #df9b01;
	--color-coupon2: #F7BD17;
	--color-coupon-dark: #FCD277;
	--color-coupon-opc: rgba(246,187,66,0.1);
	--color-coupon-opc2: rgba(246,187,66,0.3);
	--color-coupon-opc-esa: #fef8ec;
	--color-coupon-opc2-esa: #fceac6;*/
  --color-coupon: #a135c3;
  --color-coupon2: #c54beb;
  --color-coupon-dark: #c54beb;
  --color-coupon-opc: rgba(161, 53, 195, 0.1);
  --color-coupon-opc2: rgba(161, 53, 195, 0.3);
  --color-coupon-opc-esa: #fef8ec;
  --color-coupon-opc2-esa: #fceac6;
  --color-dichiarazioni: #3bafda;
  --color-dichiarazioni2: #66d3f0;
  --color-dichiarazioni-dark: #66d3f0;
  --color-dichiarazioni-opc: rgba(59, 175, 218, 0.1);
  --color-dichiarazioni-opc2: rgba(59, 175, 218, 0.13);
  --color-dichiarazioni-opc-esa: #ebf7fb;
  --color-dichiarazioni-opc2-esa: #e6f5fa;
  --color-inviato: #467fcf;
  --color-nonnecessario: #999797;
  --bs-body-bg: #ebeff2;
  --arancione-chiaro: #fff1ec;
  --arancione-scuro: #f76537;
  --arancione-rgb: 253, 128, 89;
  --grigio-scuro: #343a40;
  --grigio: #595959;
  --grigio_chiaro: #d1d1d1;
  --grigio_nav: #6e768e;
  --grigio-tab: #ebeff2;
  --verde: #00b900;
  --verde_lime: #cdf054;
  --verde_lime_rgba: 205, 240, 84;
  /*--azzurro: #247fcf;*/
  --azzurro: #016fd0;
  --azzurro2: #247fcf;
  --azzurro-chiaro: #e9fbff;
  --giallo: #ffbc11;
  --giallo-chiaro: #fff5dd;
  --giallino: #f8f8cc;
  --bianco: #ffffff;
  --bianco_rgb: 255, 255, 255;
  --bianco_opc: rgba(255, 255, 255, 0.3);
  --bianco_sporco: #f0f0f0;
  --bianco_sporco_rgba: rgba(240, 240, 240, 0.3);
  --bianco_grigio: #f8f8f8;
  --grigio-btn: #e3e3e3;
  --rosso: #f14e4e;
  --rosso-scuro: #e73333;
  --rosso-rgb: 271, 78, 78;
  --rosso-chiaro: #f9ecec;
  --blu: #0170b9;
  --blu_service: #295599;
  --blu_service_hover: #2f68c0;
  --blu_service-opc: rgba(41, 85, 153, 0.1);
  --blu-scuro: #1c2446;
  --blu-scrollbar: #001c3c;
  --ocra: #dd9833;
  --gold: #d6991c;
  --sfondo_principale: #f5f5f5;
  --sfondo_sidebar: var(--sfondo_principale);
  --nero: rgba(0, 0, 0, 1);
  --nero-opc: rgba(0, 0, 0, 0.3);
  --sfondo_scroll_messaggi: rgba(253, 128, 80, 0.95);
  --testo_scroll_messaggi: #fff;
  --font-principale: "Be Vietnam Pro", sans-serif;
  --font-secondario: "Poppins", sans-serif;
  --font-numeri: "Roboto", sans-serif;
  --radius-small: 4px;
  --radius-medium: 10px;
  --radius-big: 30px;
  --radius-extra-big: 300px;
  --max-width: 1320px;
  --max-width-home: 1620px;
  --width-submenu: 300px;
  --width-submenu-condensed: 70px;
  --h-menu-header: 70px;
  --h-menu-header-mbl: 50px;
  --height-input: 40px;
  --size-p: 1rem;
  --size-p-big: 1.25rem;
  --size-p-big-promo: 1.6rem;
  --size-p-extra-big: 70px;
  --size-p-small: 0.81rem;
  --size-icon-menu: 1.2rem;
  --size-p-table: 0.85rem;
  --size-p-table-big: 1rem;
  --size-p-table-small: 0.813rem;
  --size-p-btn-small: 0.813rem;
  --size-price: 3.5rem;
  --size-h1: 4rem; /*4.5rem;*/
  --size-titolo-promo: 3.7rem;
  --size-h2: 2.25rem;
  --size-h3: 1.65rem;
  --size-h4: 1.125rem;
  --size-h5: 0.9375rem;
  --size-h6: 0.75rem;
  --size-testo-assistenza: 2.7rem;
  --scrollbarBG: #f3faf6;
  --bg-left-sidebar-light: #ffffff;
  --color-scrollbar-leftsidebar-light: rgba(45, 171, 102, 0.5);
  --grigio_scuro: #343a40;
  --bg-text-hover-sidebar-light: rgba(45, 170, 102, 0.1);
  --color: #2dab66;
  --bg-text-sidebar-hover-light: rgba(45, 170, 102, 0.1);
  --bg-left-sidebar-dark: #052c58;
  --color-scrollbar-leftsidebar-dark: rgba(205, 240, 84, 1);
  --color-text-sidebar-dark: #ffffff;
  --color-text-sidebar-submenu-dark: #343a40;
  --bg-text-hover-sidebar-dark: rgba(205, 240, 84, 0.1);
  --color-text-sidebar-hover-dark: #cdf054;
  --bg-text-sidebar-hover-dark: rgba(205, 240, 84, 0.1);
  --bg-messaggi: #f9999a;
  --bg-messaggi-hover: #f97374;
  --bg-messaggi-opc: rgba(249, 154, 153, 1);
  --bg-preferiti: #e73272;
  --bg-giallo2: #f9b232;
  --grigio-before-tab: #e8ecee;
  --w-bordo-card-sx: 15px;
  --color: var(--color-flex);
  --color2: var(--color-flex2);
  --barBG: var(--color-flex);
  --color-hover: var(--color-flex2);
  --color-opc: var(--color-flex-opc);
  --color-opc2: var(--color-flex-opc2);
  --color-opc-esa: var(--color-flex-opc-esa);
  --color-opc2-esa: var(--color-flex-opc2-esa);
  --color-dark: var(--color-flex-dark);
  --color-inviato: #467fcf;
  --color-nonnecessario: #999797;
  --fa-style-icon: "Font Awesome 5 Pro";
  --radius-small: var(--radius-big);
  --color-flex-sfumato: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(101deg, var(--azzurro_chiaro), var(--verde_chiaro));
  --color-flex-sfumato_hover: linear-gradient(
    50deg,
    var(--verde_smeraldo),
    var(--verde_chiaro) 0%
  );
  --color-sfumato2: linear-gradient(
    101deg,
    var(--azzurro_chiaro),
    var(--color-tools)
  );
  --color-sfumato2_hover: linear-gradient(
    101deg,
    var(--azzurro_chiaro),
    var(--color-tools) 0%
  );
  --color-flex-sfumato2: linear-gradient(
      rgba(255, 255, 255, 0.8),
      rgba(255, 255, 255, 0.8)
    ),
    linear-gradient(101deg, var(--azzurro_chiaro), var(--verde_chiaro));
  --color-flex-sfumato1: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(101deg, var(--verdino), var(--verde_smeraldo));
  --color-flex-sfumato3: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(180deg, rgb(255 255 255 / 0%), #ffffff);
  --color-flex-sfumato4: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(0deg, rgb(255 255 255 / 0%), #ffffff);
  --color-service-sfumato: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(101deg, var(--azzurro_chiaro), var(--color-tools));
  --color-service-sfumato_hover: linear-gradient(
    50deg,
    var(--color-tools-dark),
    var(--color-tools) 0%
  );
  --blu-nexi: #2f38ac;
  --blu-nexi-rgb: 47 56 172;
  --blu-nexi-opc-esa: #eaebf7;
  --blu-scrollbar: #001c3c;
  --viola: #a135c3;
  --azzurro-nexi: #26bcaa;
  --azzurro-nexi-rgb: 38 188 170;
  --azzurro-iubenda: #1cc691;
  --verde-namirial: #00423f;
  --azzurro-bg: #e0eefb;
  --width-icone: 70px;
  --size-font-icone: 30px;
}

/********** CLASSI GENERICHE *********/
img {
  height: auto;
  max-width: 100%;
}

.header_testi_scuri * {
  text-shadow: none;
  color: var(--nero) !important;
}

.header_testi_scuri .testata h1 {
  color: var(--nero) !important;
  line-height: 1;
}

/******** COLORI SEZIONE **********/
.flex {
  --color: var(--color-flex);
  --color2: var(--color-flex2);
  --color-dark: var(--color-flex-dark);
  --color-hover: var(--color-flex2);
  --color-opc: var(--color-flex-opc);
  --color-opc2: var(--color-flex-opc2);
  --color-opc-esa: var(--color-flex-opc-esa);
  --color-opc2-esa: var(--color-flex-opc2-esa);
  --barBG: var(--color-flex);
}

.support {
  --color: var(--color-support);
  --color2: var(--color-support2);
  --color-dark: var(--color-support-dark);
  --color-hover: var(--color-support2);
  --color-opc: var(--color-support-opc);
  --color-opc2: var(--color-support-opc2);
  --color-opc-esa: var(--color-support-opc-esa);
  --color-opc2-esa: var(--color-support-opc2-esa);
  --barBG: var(--color-support);
  --color-flex-sfumato: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(101deg, var(--color), var(--color2));
  --color-flex-sfumato_hover: linear-gradient(
    50deg,
    var(--color-hover),
    var(--color-hover) 0%
  );
}

.invoice {
  --color: var(--color-invoice2);
  --color2: var(--color-invoice);
  --color-dark: var(--color-invoice-dark);
  --color-hover: var(--color-invoice);
  --color-opc: var(--color-invoice-opc);
  --color-opc2: var(--color-invoice-opc2);
  --color-opc-esa: var(--color-invoice-opc-esa);
  --color-opc2-esa: var(--color-invoice-opc2-esa);
  --barBG: var(--color-invoice);
  --color-flex-sfumato: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(101deg, var(--color), var(--color2));
  --color-flex-sfumato_hover: linear-gradient(
    50deg,
    var(--color),
    var(--color-hover) 0%
  );
}

.tools {
  --color: var(--color-tools2);
  --color2: var(--color-tools);
  --color-dark: var(--color-tools-dark);
  --color-hover: var(--color-tools);
  --color-opc: var(--color-tools-opc);
  --color-opc2: var(--color-tools-opc2);
  --color-opc-esa: var(--color-tools-opc-esa);
  --color-opc2-esa: var(--color-tools-opc2-esa);
  --barBG: var(--color-tools);
  --color-flex-sfumato: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(101deg, var(--color), var(--color2));
  --color-flex-sfumato_hover: linear-gradient(
    50deg,
    var(--color),
    var(--color-hover) 0%
  );
}

.economy {
  --color: var(--color-economy2);
  --color2: var(--color-economy);
  --color-dark: var(--color-economy-dark);
  --color-hover: var(--color-economy);
  --color-opc: var(--color-economy-opc);
  --color-opc-esa: var(--color-economy-opc-esa);
  --color-opc2: var(--color-economy-opc2);
  --color-opc2-esa: var(--color-economy-opc2-esa);
  --barBG: var(--color-economy);
  --color-flex-sfumato: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(101deg, var(--color), var(--color2));
  --color-flex-sfumato_hover: linear-gradient(
    50deg,
    var(--color),
    var(--color-hover) 0%
  );
}

.doc {
  --color: var(--color-doc2);
  --color2: var(--color-doc);
  --color-dark: var(--color-doc-dark);
  --color-hover: var(--color-doc);
  --color-opc: var(--color-doc-opc);
  --color-opc2: var(--color-doc-opc2);
  --color-opc-esa: var(--color-doc-opc-esa);
  --color-opc2-esa: var(--color-doc-opc2-esa);
  --barBG: var(--color-doc);
  --color-flex-sfumato: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(101deg, var(--color-hover), var(--color-tools));
  --color-flex-sfumato_hover: linear-gradient(
    50deg,
    var(--color-hover),
    var(--color-hover) 0%
  );
}

.ambassador {
  --color: var(--color-ambassador2);
  --color2: var(--color-ambassador);
  --color-dark: var(--color-ambassador-dark);
  --color-hover: var(--color-ambassador);
  --color-opc: var(--color-ambassador-opc);
  --color-opc2: var(--color-ambassador-opc2);
  --color-opc-esa: var(--color-ambassador-opc-esa);
  --color-opc2-esa: var(--color-ambassador-opc2-esa);
  --barBG: var(--color-ambassador);
  --color-flex-sfumato: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(101deg, var(--color-hover), var(--color-flex));
  --color-flex-sfumato_hover: linear-gradient(
    50deg,
    var(--color),
    var(--color-hover) 0%
  );
}
.plus {
  --color: var(--azzurro);
  --color2: var(--azzurro2);
  --color-dark: var(--azzurro-scuro);
  --color-hover: var(--azzurro2);
  --color-opc: var(--color-flex-opc);
  --barBG: var(--azzurro);
}

.coupon {
  --color: var(--color-coupon2);
  --color2: var(--color-coupon);
  --color-dark: var(--color-coupon-dark);
  --color-hover: var(--color-coupon);
  --color-opc: var(--color-coupon-opc);
  --color-opc2: var(--color-coupon-opc2);
  --color-opc-esa: var(--color-coupon-opc-esa);
  --color-opc2-esa: var(--color-coupon-opc2-esa);
  --barBG: var(--color-coupon);
  --color-flex-sfumato: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(101deg, var(--color-hover), var(--color-flex));
  --color-flex-sfumato_hover: linear-gradient(
    50deg,
    var(--color-hover),
    var(--color-hover) 0%
  );
}

.dichiarazioni {
  --color: var(--color-dichiarazioni2);
  --color2: var(--color-dichiarazioni);
  --color-dark: var(--color-dichiarazioni-dark);
  --color-hover: var(--color-dichiarazioni);
  --color-opc: var(--color-dichiarazioni-opc);
  --color-opc2: var(--color-dichiarazioni-opc2);
  --color-opc-esa: var(--color-dichiarazioni-opc-esa);
  --color-opc2-esa: var(--color-dichiarazioni-opc2-esa);
  --barBG: var(--color-dichiarazioni);
  --color-flex-sfumato: linear-gradient(
      rgba(255, 255, 255, 0),
      rgba(255, 255, 255, 0)
    ),
    linear-gradient(101deg, var(--color-hover), var(--color-invoice));
  --color-flex-sfumato_hover: linear-gradient(
    50deg,
    var(--color-hover),
    var(--color-hover) 0%
  );
}

.service {
  --color-flex-sfumato: var(--color-service-sfumato);
  --color: var(--color-tools);
  --color2: var(--color-tools2);
  --color-dark: var(--color-tools-dark);
  --color-hover: var(--color-tools);
  --color-opc: var(--color-tools-opc);
  --color-opc2: var(--color-tools-opc2);
  --color-opc-esa: var(--color-tools-opc-esa);
  --color-opc2-esa: var(--color-tools-opc2-esa);
  --barBG: var(--color-tools);
}

.color,
.color i {
  color: var(--color) !important;
}

.color2,
.color2 i {
  color: var(--color2) !important;
}

.bg_color {
  background-color: var(--color) !important;
}

.bg_color2 {
  background-color: var(--color2) !important;
}

.bg_color_esa {
  background-color: var(--color-opc-esa) !important;
}

.bg_color_esa2 {
  background-color: var(--color-opc2-esa) !important;
}

.bg_color_opc {
  background-color: var(--color-opc) !important;
}

.bg_color_opc2 {
  background-color: var(--color-opc2) !important;
}

* {
  font-family: var(--font-secondario);
  font-weight: 300;
}

body {
  line-height: 1.1;
  background: white;
}

::-webkit-scrollbar-button {
  height: 0;
  width: 0;
  color: var(--grigio_scuro);
}

body::-webkit-scrollbar {
  width: 12px !important;
}

body {
  scrollbar-width: thin !important;
  scrollbar-color: var(--barBG) var(--scrollbarBG) !important;
}

body::-webkit-scrollbar-track {
  background: var(--grigio_chiaro);
}

body::-webkit-scrollbar-thumb {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3) !important;
  background-color: var(--barBG) !important;
  border-radius: 6px !important;
}

::-webkit-scrollbar {
  height: 12px;
  width: 12px;
}

::-webkit-scrollbar-track {
  background: var(--grigio_chiaro);
}

::-webkit-scrollbar-thumb {
  background-clip: padding-box;
  background-color: var(--barBG);
  border: 0;
  border-radius: 10px;
  min-height: 20px;
  min-width: 20px;
  height: 5px;
  width: 5px;
}

::-webkit-file-upload-button {
  background: var(--barBG);
  color: white;
  padding: 4px;
  border: none;
  border-radius: var(--radius-small);
  min-height: 34px;
}

input::-webkit-calendar-picker-indicator {
  cursor: pointer;
}

::placeholder {
  color: var(--color);
  font-family: var(--font-principale);
  font-size: var(--size-p-small);
}

input:active,
input:focus,
textarea:active,
textarea:focus {
  outline: none;
  ie-dummy: expression(this.hideFocus=true);
}

menu {
  display: inherit;
}

a {
  text-decoration: none;
}

a:hover {
  color: var(--color-verde) !important;
}

b,
strong {
  font-weight: 700 !important;
}

sup {
  line-height: 1;
  font-size: 100%;
  vertical-align: top !important;
  top: -8px;
  color: red;
  font-weight: bold;
}

.clear {
  clear: both;
}

.titolo_pagina {
  color: white;
  font-weight: bold;
  font-size: 30px;
  text-transform: uppercase;
  line-height: 15px;
  margin: 0;
  padding: 0;
}

.titolo_pagina i {
  color: white;
}

.breadcrumbs {
 /* width: 100%;
  position: relative;*/ 
  flex-wrap: wrap; 
  display: flex; margin: 20px 0!important;
  align-items: center;
  list-style: none;
  justify-content: flex-start;
   padding: 0;
}

.breadcrumbs li {
  margin-right: 5px;
  color: black;
}


.breadcrumbs li a , .breadcrumbs li .btn strong,  .breadcrumbs li .btn i{
  color: black!important;
}
.breadcrumbs li a:hover i, .breadcrumbs li a:hover span, .breadcrumbs li .btn:hover strong{color:white!important}
.breadcrumbs li a:hover {
  color: var(--color) !important;
}

.breadcrumbs li:last-child {
  font-weight: bold;
  color: var(--color);
  font-size: var(--size-p-big);
}
.breadcrumbs li span {
    font-weight: 700;
    color: #000!important;
}

/*
.breadcrumbs:before {
  margin-right: 10px;
}

.breadcrumbs:before,
.breadcrumbs:after {
  background-color: var(--color-invoice-opc);
  content: "";
  border-radius: 5px;
  display: inline-flex;
  height: 10px;
  position: relative;
  vertical-align: middle;
  min-width: 30px;
}

.breadcrumbs:after {
  flex: 1;
}
*/
.breadcrumbs i {
  padding: 0 3px 0 7px;
}

.breadcrumbs li:hover a,
.breadcrumbs li:hover:before {
  text-decoration: none;
  color: var(--color);
}

/****** bordi *********/
.bordo-grigio-scuro {
  border: 1px solid var(--grigio_scuro);
}

.bordo-rosso {
  border: 1px solid var(--rosso);
}

.radius_big {
  border-radius: var(--radius-big) !important;
}

.radius_medium {
  border-radius: var(--radius-medium);
}
.radius_small {
  border-radius: var(--radius-small);
}

.img_thumbnail {
  padding: 0.25rem;
}

.pointer {
  cursor: pointer;
}

.sottolineato {
  border-bottom: 2px solid var(--color);
}

.line_top {
  border-top: 1px solid var(--grigio_chiaro);
}

.linesx {
  border-left: 1px solid rgba(255, 255, 255, 0.5);
}

.line_bottom {
  border-bottom: 1px solid var(--grigio_chiaro);
}

.line_bottom_color {
  border-bottom: 1px solid var(--color);
}

.line_bottom_color_opc {
  border-bottom: 1px solid var(--color-opc);
}

.line_bottom_color_opc2 {
  border-bottom: 1px solid var(--color-opc2);
}

.line_bottom3px {
  border-bottom: 3px solid var(--grigio_chiaro);
}

.line_bottom_blu {
  border-bottom: 1px solid var(--blu);
}

.line_bottom3px_white {
  border-bottom: 3px solid white;
}

.linea_top_bottom3px {
  border: 3px solid var(--color);
  border-width: 3px 0;
}

.linea_top_bottom_opc_3px {
  border: 3px solid var(--color-opc);
  border-width: 3px 0;
}

.linea_top_bottom_opc2_3px {
  border: 3px solid var(--color-opc2);
  border-width: 3px 0;
}

.bordo {
  border: 1px solid var(--color);
}

.bordo_2px_opc2 {
  border: 2px solid var(--color-opc2) !important;
}

.bordo_bianco {
  border: 1px solid white;
}

.ombra {
  -webkit-box-shadow: var(--color-invoice-opc2) 0px 0px 30px;
  -moz-box-shadow: var(--color-invoice-opc2) 0px 0px 30px;
  box-shadow: var(--color-invoice-opc2) 0px 0px 30px;
}

/*** float / align / justify ***/
.hide {
  display: none !important;
}

.show {
  display: block !important;
}

.position_relative {
  position: relative;
}

.position_absolute {
  position: absolute;
}

.float_left {
  float: left;
}

.float_right {
  float: right;
}

.align_center {
  text-align: center !important;
}

.align_left {
  text-align: left !important;
}

.align_right {
  text-align: right !important;
}

.display_none {
  display: none;
}

.display_block {
  display: block;
}

.display_inline_block {
  display: inline-block !important;
}

.display_inline_flex {
  display: inline-flex !important;
}

.display_flex {
  display: flex;
  display: -webkit-flex;
}

.display_flex_end {
  display: flex;
  display: -webkit-flex;
  justify-content: flex-end;
}

.display_flex_center {
  display: flex;
  display: -webkit-flex;
  align-content: center;
  align-items: center;
  justify-content: center;
}

.display_flex_imp {
  display: flex !important;
}

.overflow_auto {
  overflow: auto;
}

.overflow_hidden {
  overflow: hidden !important;
}

.overflow_y_scroll {
  overflow-y: scroll;
}

.flex_wrap {
  flex-wrap: wrap;
}

.flex_flow_row_wrap {
  flex-flow: row wrap;
}

.flex_dir_row {
  flex-direction: row !important;
}

.flex_dir_column {
  flex-direction: column;
}

.flex_flow_row {
  flex-flow: row;
}

.flex_auto {
  flex: auto;
}

.flex_direction_column_reverse {
  flex-direction: column-reverse;
}

.flex_direction_row_reverse {
  flex-direction: row-reverse;
}

.justify_content_center {
  justify-content: center !important;
}

.justify_content_start {
  justify-content: flex-start !important;
}

.justify_content_stretch {
  justify-content: stretch;
}

.justify_content_end {
  justify-content: flex-end !important;
}

.justify_content_space_between {
  justify-content: space-between;
}

.justify_content_space_around {
  justify-content: space-around;
}

.vertical_align_bottom {
  vertical-align: bottom;
}

.vertical_align_center {
  vertical-align: center !important;
}

.align_content_center {
  align-content: center;
}

.align_items_center {
  align-items: center !important;
}

.align_items_start {
  align-items: flex-start !important;
}

.align_items_end {
  align-items: flex-end !important;
}

.flex_grow1 {
  flex-grow: 1;
}

.gap5 {
  gap: 5px;
}

.gap10 {
  gap: 10px;
}

.gap20 {
  gap: 20px;
}

.txt_justify {
  text-align: justify;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.list_style_type_none {
  list-style-type: none;
}

.pos_relative {
  position: relative;
}

.top1 {
  top: 1px;
}

.bg_position_right_bottom {
  background-position: right bottom;
}

.flip_orrizzontale {
  transform: scaleX(-1);
}
/***** font ******/

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-weight: 300;
  line-height: 1.1;
  font-family: var(--font-secondario);
  color: white;
}

h1 b,
h1 strong {
  font-weight: 900;
  color: white;
}

.h1,
h1 {
  font-size: var(--size-h1) !important;
}

h1 {
  text-shadow: 0px 0px 5px var(--color2);
}

.h2,
h2 {
  font-size: var(--size-h2) !important;
}

.h3,
h3 {
  font-size: var(--size-h3) !important;
}

.h4,
h4 {
  font-size: var(--size-h4) !important;
}

.h5,
h5 {
  font-size: var(--size-h4) !important;
}

.h6,
h6 {
  font-size: var(--size-h5) !important;
}

.header_title {
  font-size: 1rem;
  margin: 0 0 7px 0;
}

.bg_onde_blu .testata h1,
.bg_onde_blu .testata p {
  color: white;
}

.testata h1 b {
  background: var(--bianco);
  color: var(--color);
  padding: 0 10px;
  border-radius: var(--radius-medium);
  font-size: var(--size-h2);
}

.normal {
  font-size: var(--size-p) !important;
}

.p_big,
.big {
  font-size: var(--size-p-big) !important;
}

.p_big_promo {
  font-size: var(--size-p-big-promo);
}

.titolo_promo {
  font-size: var(--size-titolo-promo) !important;
  line-height: 1;
}

.p_extra_big,
.extra_big {
  font-size: var(--size-p-extra-big) !important;
}

.p_small,
.small {
  font-size: var(--size-p-small) !important;
}

.number,
.number pdf,
.number span,
.number b,
#form_anno,
#form_anno option {
  font-family: var(--font-numeri);
}

.fw400 {
  font-weight: 400;
}
.fw500 {
  font-weight: 500;
}

.bold {
  font-weight: bold !important;
}

.bold_black {
  font-weight: 900 !important;
}

.italic {
  font-style: italic;
}

.blink {
  animation: blink-animation 1s steps(5, start) infinite;
  -webkit-animation: blink-animation 1s steps(5, start) infinite;
}

.lh1 {
  line-height: 1;
}

.lh15 {
  line-height: 1.5;
}

.lspace4px {
  letter-spacing: 4px;
}

@keyframes blink-animation {
  to {
    visibility: hidden;
  }
}

@-webkit-keyframes blink-animation {
  to {
    visibility: hidden;
  }
}

.w3-dropdown-hover:first-child,
.w3-dropdown-click:hover {
  background-color: transparent;
}

/******** button ***********/
.btn,
.inizia_ora .menu-link {
  padding: 25px;
  font-size: var(--size-p);
  min-width:220px;
  display: inline-flex;
  flex-direction:row-reverse;
  border-radius: var(--radius-small);
  text-align: center;
  align-content: center;
  height: 34px;
  min-height: 34px;
  justify-content: center;
  align-items: center;
  position: relative;
  color: black;
  border: 2px solid black;
  cursor: pointer !important;
  background:var(--color2);
  transform: translate(0, 0);
  -webkit-transition: ease-out 0.14s;
  -moz-transition: ease-out 0.14s;
  transition: ease-out 0.14s;
  margin: auto !important;
}

.btn:focus {
  color: var(--bianco) !important;
}

.btn i{
    margin: 0 5px;
    border-radius: var(--radius-small) !important;
    display: flex;
    align-items: center;
    justify-content: center;
}
/*
.btn i,
.inizia_ora .menu-link i {
  margin: 0;
  background-color: rgba(255, 255, 255, 0.15);
  color: white;
  width: 30px;
  height: 30px;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: var(--radius-small) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px;
}*/

.btn .fa:before,
.btn .fa-brands:before,
.btn .fa-solid:before,
.inizia_ora .menu-link .fa:before {
  text-align: center;
  display: inline-flex;
  align-items: center;
  align-content: center;
  height: 100%;
  font-size: 1.2rem;
}

.btn span,
.inizia_ora .menu-link span {
  color: black;
  display: inline-flex;
  align-items: center;
  width: calc(100% - 30px);
  text-align: center;
  margin: 0;
  justify-content: center;
  align-content: center;
  text-transform: uppercase;
  font-family: var(--font-secondario);
  font-weight: 500;
}

button.btn span {
  width: 100%;
}

.btn:hover,
.prezzo_servizio:hover .btn,
.inizia_ora .menu-link:hover {
  /*background: var(--color-flex-sfumato_hover) !important;*/
  color: white !important;
  border-color: white;
  transform: translate(4px, 4px);
}

.btn:hover i, .btn:hover span,
.prezzo_servizio:hover .btn i, .prezzo_servizio:hover .btn span,
.inizia_ora .menu-link:hover i {
  color: white !important;
}

.btn.negativo,
.btn.btn_service.negativo {
  /*box-shadow: 2px 1000px 1px #fff inset;
  color: var(--color2) !important;*/
	border:2px solid black;
	background:white;
	transform: translate(0, 0);
	text-decoration: none !important;
}

.btn.negativo * {
  color:black;
}

.btn.negativo i {
  border-radius: var(--radius-small) !important;
}

.btn.negativo:hover {
	border-color: white;
	background:var(--color-hover);
	color:white !important;
	transform: translate(4px, 4px);
	text-decoration: none !important;
}

.btn.negativo:hover i {
  background: var(--color-hover) !important;
  color: white !important;
}

.btn.negativo:hover span {
  color: white !important;
}

.clip {
  color: var(--color);
}

.btn.btn_small {
  padding: 10px;
  min-width: 70px;
  font-size: var(--size-p-btn-small);
  text-transform: uppercase;
  height: 34px;
  min-height: 25px;
  max-width: fit-content;
  cursor: pointer;
}

/*.btn.btn_small i {
  width: 30px;
  height: 30px;
  padding: 0px;
}*/

.btn.btn_small i:before {
  font-size: var(--size-p-btn-small);
  line-height: 0.5;
}

.btn.btn_small span {
  height: 25px;
  margin: 0 5px;
  width: calc(100% - 25px);
  font-size: var(--size-p-small);
  text-transform: uppercase;
}

.btn.btn_service {
  background: var(--blu_service);
}

.btn.btn_service:hover {
  background: var(--blu_service_hover) !important;
  border-color: var(--bianco) !important;
}

.btn.btn_service:hover i:before {
  color: var(--blu_service_hover) !important;
}

.prezzo_servizio:hover .btn.btn_service {
  background: var(--color-hover);
}

.btn.btn_service.negativo i {
  background: var(--blu_service-opc);
  color: var(--blu_service);
}

.btn.btn_service.negativo * {
  color: var(--blu_service) !important;
}

.btn.btn_service.negativo:hover {
  border-color: var(--color-hover);
  background-color: white !important;
}

.btn.btn_service.negativo:hover i {
  background: var(--color-hover);
  color: white;
}

.btn.btn_service.negativo:hover i:before {
  color: white;
}

.top_menu .btn.btn_service.negativo:hover span {
  color: var(--color-hover) !important;
}

.btn.btn_small.mini {
  height: 20px;
  min-height: 20px;
}

.btn.btn_small.mini i {
  height: 21px;
  width: 20px;
}

.btn.btn_small.mini b {
  color: white;
}

.btn.btn_small.mini span {
  width: 100%;
  font-size: 11px;
  line-height: 1;
  margin: 0 0 0 15px;
  height: auto;
}

.btn.btn_small.btn_icona {
  max-width: 25px;
  min-width: 25px;
}

.btn_small_icon {
  font-size: 0.875rem;
  max-width: 110px;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  border-radius: var(--radius-small);
  text-align: center;
  height: 30px;
  width: 30px;
  color: white;
}

.btn_small_icon i {
  font-size: 1.1rem;
  color: white;
  padding: 0;
}

.btn.link i,
.btn.link span b {
  color: var(--color) !important;
  align-content: flex-start !important;
}

.btn.link span {
  margin: 0 0 0 10px;
}

.btn.link,
.btn.link:hover {
  background: none !important;
  min-width: 100px;
  border-color: transparent;
}

.btn.link:hover span b {
  text-decoration: underline !important;
  color: var(--verdino) !important;
}

.btn.link:hover i {
  color: var(--verdino) !important;
}

.btn.btn_icona {
  min-width: 34px;
  padding: 0 !important;
}

.btn.btn_icona i {
  padding: 0 !important;
}

.link {
  color: var(--color);
  font-weight: bold;
}

.link:hover {
  text-decoration: underline;
}

.btn.disabled {
  background: var(--grigio_chiaro);
}

.btn.disabled:hover {
  background: var(--grigio) !important;
  cursor: not-allowed !important;
  border-color: var(--grigio);
}

.btn.disabled:hover i {
  color: var(--grigio) !important;
}

.btn.btn_small.mini.btn_cart {
  max-width: 24px;
  min-width: 24px;
  height: 24px;
}

.btn.btn_cart:hover {
  border-color: var(--color-hover);
}

.btn.btn_cart:hover i {
  background: initial;
  color: var(--bianco) !important;
}

/******** tab ********/
.btn.tab {
  background: var(--azzurro-bg) !important;
  color: var(--color) !important;
  border-radius: var(--radius-medium) var(--radius-medium) 0 0;
  border: 3px solid var(--color-opc2);
  border-width: 3px 3px 0;
  margin: 0 5px 0 0 !important;
  padding: 18px;
  font-weight: 400;
  font-size: var(--size-p-big);
  font-family: var(--font-secondario) !important;
  cursor: pointer;
  opacity: 0.8;
  min-height: 40px;
  -webkit-transition: all 0.2s;
  -ms-transition: all 0.2s;
  transition: all 0.2s;
}

.btn.tab i {
  background: none;
  padding: 0;
  position: relative;
}

.btn.tab:last-child {
  margin-right: 0!important;
}

.pagina_dettaglio .btn.tab.mbl {
  display: none;
}

.btn.tab.active {
  background:var(--color2)!important;
  color: var(--bianco) !important;
  margin-bottom: 0 !important;
  opacity: 1;
  border-color: transparent;
  padding: 18px;
  min-height: 40px;
}

.btn.tab span,
.btn.tab i,
.btn.tab.active:hover,
.btn.tab:hover,
.btn.tab.active:hover i,
.btn.tab.active:hover span {
  margin: 0;
  color: var(--color) !important;
}

.btn.tab.active:hover,
.btn.tab:hover {
  background: white !important;
  color: var(--color) !important;
  border-color: var(--color) !important;
  transform:translate(0px,0px);
}

.btn.tab.active span,
.btn.tab.active i {
  color: var(--bianco) !important;
}

.colTab,
.colTesto {
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 5px 6px 15px #153d7752;
  border-radius: 0 var(--radius-big) var(--radius-big);
}

/* Go from zero to full opacity */
.@keyframes fadeEffect {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.colTestoTab {
  border: 5px solid var(--color2);
  border-radius: var(--radius-big);
  padding: 20px;
  box-shadow: 2px 100000px 1px #fff inset;
  background:white;
}

.colTesto.pagina_carrello {
  border-radius: var(--radius-big);
  margin-bottom: 40px;
}

.colTesto {
  line-height: 1.5;
}

.step_scheda {
  font-size: var(--size-h3);
  color: var(--color) !important;
  border-bottom: 6px solid var(--color-opc2);
  text-transform: uppercase;
  margin: 40px 0 10px;
  line-height: 1.2;
}

.testo_scheda .step_scheda:first-child {
  margin-top: 20px;
}

.numero_scheda {
  color: var(--color-opc2);
  font-weight: 900 !important;
}
/*** background ****/
.bg_triangoli_top_left {
  background-image: url(../img/triangoli_colorati_small.svg);
  background-position: top left;
  background-repeat: no-repeat;
  padding-top: 120px;
}

.bg_triangoli_bottom_right {
  background-image: url(../img/triangoli_colorati_small.svg);
  background-position: bottom right;
  background-repeat: no-repeat;
}

.bg_geometric_azzurro {
  background: var(--azzurro-bg);
  /*background-image: url(../img/geometric_bianco.svg);*/
  background-position: bottom left;
  background-repeat: repeat-x;
  background-size: 70%;
}

.bg_geometric_verdino {
  background: var(--color-opc);
  background-image: url(../img/geometric_bianco.svg);
  background-position: bottom left;
  background-repeat: no-repeat;
}

.bg_namirial {
  background-image: linear-gradient(50deg, #00423f 35%, #272a39 100%);
}

.bg_green {
  background-color: green !important;
}

.bg_blu {
  background-color: var(--blu) !important;
}

.bg_red {
  background-color: red !important;
}

.bg_verde {
  background-color: var(--flex_verde_scuro) !important;
}

.bg_verde_scuro {
  background-color: var(--flex_verdone) !important;
}

.bg_verde_chiaro {
  background-color: var(--flex_verde_chiaro) !important;
}

.bg_verde_smeraldo {
  background-color: var(--verde_smeraldo) !important;
}

.bg_azzurro {
  background-color: var(--azzurro) !important;
}

.bg_azzurro_chiaro {
  background-color: var(--azzurro-chiaro) !important;
}

.bg_verde_lime {
  background-color: var(--verde_lime) !important;
}

.bg_bianco_grigio {
  background-color: var(--bianco_grigio) !important;
}

.bg_bianco,
.bg_white {
  background-color: var(--bianco) !important;
}

.bg_bianco_imp {
  background-color: var(--bianco) !important;
}

.bg_arancione {
  background-color: var(--flex_arancione) !important;
}

.bg_arancione_chiaro {
  background-color: var(--arancione-chiaro) !important;
}

.bg_rosso {
  background: var(--rosso) !important;
}

.bg_rosso_chiaro {
  background-color: var(--rosso-chiaro) !important;
}

.bg_giallo {
  background-color: var(--giallo) !important;
}

.bg_giallo_chiaro {
  background-color: var(--giallo-chiaro) !important;
}

.bg_grigio_chiaro {
  background-color: var(--grigio_chiaro) !important;
}

.bg_grigio_form {
  background-color: var(--bs-body-bg);
}

.bg_contenuti {
  background: rgba(255, 255, 255, 0.5);
  padding: 20px;
  border-radius: var(--radius-small);
  margin-top: 20px;
  position: relative;
}

.bg_messaggi_importanti {
  background-color: var(--bg-messaggi) !important;
}

.bg_grigio_ricerca {
  background-color: var(--grigio-before-tab);
}

.bg_image_none {
  background-image: none;
}

.bg-aliceblue {
  background-color: var(--azzurro-bg) !important;
}

.bg-color {
  background-color: var(--color);
}

.bg-color2 {
  background-color: var(--color2);
}

.bg-color-opc {
  background-color: var(--color-opc) !important;
}

.bg-color-opc2 {
  background-color: var(--color-opc2) !important;
}

.bg-color-support {
  background-color: var(--color-support);
}

.bg-color-support-opc {
  background-color: var(--color-support-opc);
}

.bg-color-support2 {
  background-color: var(--color-support2);
}

.bg-color-invoice {
  background-color: var(--color-invoice);
}

.bg-color-invoice-opc {
  background-color: var(--color-invoice-opc) !important;
}

.bg-color-invoice-opc2 {
  background-color: var(--color-invoice-opc2) !important;
}

.bg-color-tool {
  background-color: var(--color-tools);
}

.bg-color-tool-opc {
  background-color: var(--color-tools-opc);
}

.bg-color-economy {
  background-color: var(--color-economy);
}

.bg-color-economy-opc {
  background-color: var(--color-economy-opc);
}

.bg-color-ambassador {
  background-color: var(--color-ambassador);
}

.bg-color-ambassador-opc {
  background-color: var(--color-ambassador-opc);
}

.bg-color-coupon {
  background-color: var(--color-coupon);
}

.bg-color-coupon-opc {
  background-color: var(--color-coupon-opc);
}

.bg-color-doc {
  background-color: var(--color-doc);
}

.bg-color-doc-opc {
  background-color: var(--color-doc-opc);
}

.bg-color-dichiarazioni {
  background-color: var(--color-dichiarazioni);
}

.bg-color-dichiarazioni-opc {
  background-color: var(--color-dichiarazioni-opc);
}

.bg-blu-nexi {
  background-color: var(--blu-nexi);
}

.bg-azzurro-nexi-opc {
  background-color: rgb(var(--azzurro-nexi-rgb) / 10%);
}

.bg-iubenda {
  background-color: var(--azzurro-iubenda);
}

.bg-namirial {
  background-color: var(--verde-namirial);
}

.bg-flextax {
  background-color: var(--color);
}
/**** color *******/
.red,
font.red,
.red b {
  color: red;
}

.azzurro {
  color: var(--azzurro) !important;
}

.azzurro-nexi {
  color: var(--azzurro-nexi) !important;
}

.verde-namirial {
  color: var(--verde-namirial);
}

.bianco,
.white {
  color: white !important;
}

.blu {
  color: var(--blu_service);
}

.nero,
.nero b,
.black {
  color: black !important;
}
.grigio,
.grigio b {
  color: var(--grigio_scuro) !important;
}
.nero,
.nero b {
  color: var(--nero) !important;
}

.flex_grigio {
  color: var(--flex_grigio) !important;
}

.grigio_chiaro {
  color: var(--grigio_chiaro) !important;
}

.grigio_scuro {
  color: var(--grigio-scuro) !important;
}

.verde_scuro {
  color: var(--flex_verde_scuro) !important;
}

.verde,
.green,
font.green {
  color: var(--verde) !important;
}

.arancione,
.arancione b,
.arancione .spinner {
  color: var(--flex_arancione) !important;
}

.rosso {
  color: var(--rosso) !important;
}

.giallo {
  color: var(--giallo) !important;
}

.color-support {
  color: var(--color-support) !important;
}

.color-support2 {
  color: var(--color-support2) !important;
}

.color-invoice {
  color: var(--color-invoice) !important;
}

.color-tool {
  color: var(--color-tools) !important;
}

.color-economy {
  color: var(--color-economy) !important;
}

.color-doc {
  color: var(--color-doc) !important;
}

.color-dichiarazioni {
  color: var(--color-dichiarazioni) !important;
}

.color-ambassador {
  color: var(--color-ambassador) !important;
}

.color-coupon {
  color: var(--color-coupon) !important;
}

/*** margin | padding | position ***/
.bottom35 {
  bottom: 35px;
}

.bottom0 {
  bottom: 0px;
}

.left0 {
  left: 0;
}

.margin-5dx {
  margin: auto;
}

.margin-5dx {
  margin-right: -5px;
}

.margin-14dx {
  margin-right: -14px;
}

.margin-30top {
  margin-top: -30px !important;
}

.margin0 {
  margin: 0 !important;
}

.margin0bottom {
  margin-bottom: 0;
}

.margin0top {
  margin-top: 0 !important;
}

.margin1bottom {
  margin-bottom: 1px;
}

.margin3sx {
  margin-left: 3px;
}

.margin4 {
  margin: 4px;
}

.margin4top {
  margin-top: 4px;
}

.margin5 {
  margin: 5px;
}

.margin5top {
  margin-top: 5px;
}

.margin5bottom {
  margin-bottom: 5px;
}

.margin5dx {
  margin-right: 5px;
}

.margin5sx {
  margin-left: 5px;
}

.margin8 {
  margin: 8px;
}

.margin8dx {
  margin-right: 8px;
}

.margin10 {
  margin: 10px;
}

.margin10dx {
  margin-right: 10px;
}

.margin10sx {
  margin-left: 10px;
}

.margin10top {
  margin-top: 10px;
}

.margin10bottom {
  margin-bottom: 10px !important;
}

.margin10top10bottom {
  margin: 10px 0;
}

.margin16top {
  margin-top: 16px;
}

.margin20 {
  margin: 20px;
}

.margin20topbottom {
  margin: 20px 0;
}

.margin20auto {
  margin: 20px auto;
}

.margin20top {
  margin-top: 20px;
}

.margin20sx {
  margin-left: 20px;
}

.margin20dx {
  margin-right: 20px;
}

.margin20bottom {
  margin-bottom: 20px !important;
}

.margin20top40bottom {
  margin: 20px 0 40px 0;
}

.margin30sx {
  margin-left: 30px;
}

.margin40bottom {
  margin-bottom: 40px;
}

.margin40top {
  margin-top: 40px;
}

.margin50dx {
  margin-right: 50px;
}

.margin50sx {
  margin-left: 50px;
}

.margin80top {
  margin-top: 80px;
}

.margin_auto {
  margin: auto;
  left: 0;
  right: 0;
}

.padding0 {
  padding: 0;
}

.padding0imp {
  padding: 0 !important;
}

.padding0bottom {
  padding-bottom: 0px;
}

.padding0left {
  padding-left: 0;
}

.padding0right {
  padding-right: 0;
}

.padding3 {
  padding: 3px;
}

.padding4 {
  padding: 4px;
}

.padding5 {
  padding: 5px;
}

.padding5top {
  padding-top: 5px;
}

.padding5right {
  padding-right: 5px;
}

.padding5bottom {
  padding-bottom: 5px;
}

.padding6 {
  padding: 6px;
}

.padding8 {
  padding: 8px;
}

.padding8top {
  padding-top: 8px;
}

.padding10 {
  padding: 10px;
}

.padding10imp {
  padding: 10px !important;
}

.padding10sx {
  padding-left: 10px;
}

.padding10dx {
  padding-right: 10px;
}

.padding10right {
  padding-right: 10px;
}

.padding10sxdx {
  padding: 0 10px !important;
}

.padding10bottom {
  padding-bottom: 10px;
}

.padding10topbottom20sxdx {
  padding: 10px 20px;
}

.padding10top {
  padding-top: 10px;
}

.padding10bottomImp {
  padding: 0 0 10px 0 !important;
}

.padding10topbottom {
  padding: 10px 0;
}

.padding15 {
  padding: 15px;
}

.padding15bottom {
  padding-bottom: 15px;
}

.padding20 {
  padding: 20px;
}

.padding20bottom {
  padding-bottom: 20px;
}

.padding20top {
  padding-top: 20px;
}

.padding20left,
.padding20sx {
  padding-left: 20px;
}

.padding20right,
.padding20dx {
  padding-right: 20px;
}

.padding20sxdx {
  padding: 0 20px;
}

.padding40 {
  padding: 40px;
}

.padding40bottom {
  padding-bottom: 40px;
}

.padding40top {
  padding-top: 40px;
}

.padding40left {
  padding-left: 40px;
}

.padding40right {
  padding-right: 40px;
}

.padding60 {
  padding: 60px;
}

/***** colonne ******/
.col_10 {
  width: 10%;
}

.col_15 {
  width: 15%;
}

.col_20 {
  width: 20%;
}

.col_25 {
  width: 25%;
}

.col_30 {
  width: 30%;
}

.col_33 {
  width: 33%;
}

.col_33_imp {
  width: 33.3% !important;
}

.col_40 {
  width: 40%;
}

.col_50 {
  width: 50%;
}

.col_60 {
  width: 60%;
}

.col_66 {
  width: 66%;
}

.col_70 {
  width: 70%;
}

.col_75 {
  width: 75%;
}

.col_80 {
  width: 80%;
}

.col_85 {
  width: 85%;
}

.col_90 {
  width: 90%;
}

.col_100 {
  width: 100%;
}

.col_100_imp {
  width: 100% !important;
}

.col_100-20px {
  width: calc(100% - 20px);
  margin: auto;
}

/***** larghezze ******/
.w20 {
  width: 20px;
}

.w40 {
  width: 40px;
}

.w50 {
  width: 50px;
}

.w100 {
  width: 100px !important;
}

.w110 {
  width: 110px;
}

.w120 {
  width: 120px;
}

.w140 {
  width: 140px;
}

.w150 {
  width: 150px !important;
}

.h100perc {
  height: 100%;
}

.h98perc {
  height: 98%;
}

.h40px {
  height: 40px;
}
.mh50px {
  min-height: 50px !important;
  height: 50px !important;
}

.mh80px {
  min-height: 80px !important;
  height: 80px !important;
}
.mh100px {
  min-height: 100px !important;
  height: 100px !important;
}

.mh200px {
  min-height: 200px !important;
  height: 200px !important;
}

.mh250px {
  min-height: 250px !important;
  height: 250px !important;
}

.mh310px {
  min-height: 310px !important;
  height: 310px !important;
}

.h40px {
  height: 40px !important;
}

.h50px {
  height: 50px !important;
}

.mw50px {
  min-width: 50px !important;
}

.mw90px {
  min-width: 90px !important;
}

.mw100px {
  min-width: 100px !important;
}

.mw110px {
  min-width: 110px !important;
}

.mw120px {
  min-width: 120px !important;
}

.mw130px {
  min-width: 130px !important;
}

.mw140px {
  min-width: 140px !important;
}

.mw160px {
  min-width: 160px !important;
}

.mw180px {
  min-width: 180px !important;
}

.mw200px {
  min-width: 200px !important;
}

.mw250px {
  min-width: 250px !important;
}

.mw300px {
  min-width: 300px !important;
}

.maxw200px {
  max-width: 200px !important;
}

/******* box *******/

.icon_card i {
  color: var(--color);
}

.icon_card {
  height: 50px;
  width: 50px;
  min-width: 50px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  -webkit-transition: all 0.5s;
  -ms-transition: all 0.5s;
  transition: all 0.5s;
  border-radius: var(--radius-small);
  line-height: 80px;
  text-align: center;
  margin-right: 0.8rem;
  position: relative;
  border: 4px solid var(--bs-body-bg);
  background: white;
}

.icon_card:before {
  background-color: var(--color);
  font-family: var(--fa-style-icon);
  color: white !important;
  position: absolute;
  bottom: -12px;
  right: -10px;
  border-radius: 100%;
  padding: 5px;
  line-height: 15px;
  height: 25px;
  width: 25px;
}

.icon_card .fa {
  margin-right: 0 !important;
}

.icon_card .fa:before {
  font-size: 28px;
}

.card.tutorial.tutti,
.card.guide.tutti {
  background: white;
}

.card.tutorial.tutti:hover .h3,
.card.guide.tutti:hover .h3 {
  color: white !important;
}

.card.tutti {
  background-color: white;
  border: 3px solid var(--grigio-before-tab);
}

.card.tutti:hover {
  background-color: var(--color);
  border: 3px solid transparent;
}

.card.tutti:hover a.btn i {
  color: white;
  background: var(--color);
}

.card.tutti:hover a.btn span {
  color: var(--color);
}

.card.tutti:hover a.btn {
  background: white;
  border-color: white;
}

.card {
  margin: 10px 0;  
  transition: all 0.1s ease-in-out;
  position: relative;
  /*border: 2px solid var(--color-opc2)*/
  border-radius: var(--radius-big);
  box-shadow: 0px 0px 15px 0px rgb(160 44 250 / 4%);
  min-height: 70px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  justify-content: center;
  -webkit-transition: all 0.5s;
  -ms-transition: all 0.5s;
  transition: all 0.5s;
}

#elenco-gruppo-servizi .scheda{
	cursor:pointer
}

#elenco-gruppo-servizi .card {
	background-color: #fff;    
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	transition: all 0.5s;
}
#elenco-gruppo-servizi .card:hover{
    box-shadow: var(--color-invoice) 0px 0px 30px;
    transform: translate(0px, -6px);
    background: white !important;
}


.card a:hover {
  cursor: pointer;
}

.card:hover {
  box-shadow: 0px 0px 15px 0px var(--color-opc2);
  border-color: var(--color-hover) !important;
}

.card:hover .icon_card {
  border-color: var(--color-hover);
  background-color: var(--color-hover);
}

.card:hover .icon_card i {
  color: white;
}

.info_card .h3 {
  font-weight: 600;
  font-family: var(--font-numeri);
}

.testo_scheda ul,
.elenco {
  list-style: none;
  margin: 20px 0 0 30px;
}

.testo_scheda li,
.elenco li {
  line-height: 1.2;
  margin-bottom: 15px;
  position: relative;
}

.testo_scheda li:before,
.elenco li:before {
  content: "\f111";
  font-size: var(--size-p-small);
  color: var(--color);
  font-family: FontAwesome;
  width: 30px;
  position: absolute;
  left: -30px;
  top: 5px;
}

.elenco_check {
  list-style: none;
  margin-left: 40px !important;
  width: 100%;
}

.elenco_check li {
  line-height: 1.2;
  margin-bottom: 25px;
  position: relative;
  width: calc(100% - 40px);
}

.elenco_check li:before {
  content: "\f00c";
  font-size: var(--size-p-big);
  color: var(--color);
  font-family: FontAwesome;
  width: 30px;
}

.sotto_elenco {
  list-style: none;
  margin: 20px 0 20px 40px;
}

.sotto_elenco li {
  line-height: 1.2;
  margin-bottom: 15px;
  position: relative;
}

.sotto_elenco li:before {
  content: "\f111";
  font-size: var(--size-p-small);
  color: var(--color);
  font-family: FontAwesome;
  width: 30px;
  position: absolute;
  left: -30px;
  top: 5px;
}

#wrapper .card,
#wrapper .style2 .card {
  border: 1px solid var(--bs-body-bg);
  border-radius: var(--radius-medium);
}

#wrapper .col_25,
#wrapper .col_33 {
  position: relative;
}

#wrapper .style2 .col_25:nth-child(-n + 3):after,
#wrapper .style2 .col_33:nth-child(-n + 2):after,
#wrapper .style2 .col_33:nth-child(n + 4):nth-child(-n + 5):after {
  content: "";
  position: absolute;
  right: -10px;
  top: 0px;
  bottom: 0;
  height: 98%;
}

#wrapper .style2 .card {
  height: 130px;
}

.card_body {
  padding: 20px !important;
}

.card_body .h3 {
  letter-spacing: -1px;
}

.card_body .icona_info {
  position: absolute;
  right: 10px;
  top: 10px;
}

.card_body.in_evidenza {
  border-radius: var(--radius-small);
  height: 130px;
  min-height: 130px;
  background: transparent;
}

.card_body.in_evidenza .icon_card {
  background-color: var(--color);
  border-color: var(--color);
}

.card_body.in_evidenza .icon_card .fa {
  color: white;
}

.card_body.in_evidenza span,
.card_body.in_evidenza h3 {
  color: var(--color) !important;
}

.card_body:hover .icon_card {
  background-color: var(--color-hover);
  border-color: var(--color-hover);
}

.card_body:hover .icon_card i {
  color: white;
}

.card_body.in_evidenza:hover .icon_card {
  background-color: var(--color-hover);
  border-color: var(--color-hover);
}

.bg_evidenza {
  background-color: var(--color-opc);
}

.dato_mancante {
  background-color: var(--giallo-chiaro);
}

.percentuale .h100perc {
  background-color: var(--color);
}

.media {
  align-items: center;
  display: flex;
  width: 100%;
}

.card > div {
  display: flex;
  display: -webkit-flex;
  align-items: center;
}

.card > p {
  padding-top: 0.7rem;
}

.percentuale {
  content: " ";
  background: var(--grigio_chiaro);
  height: 5px;
  width: 100%;
  border-radius: var(--radius-small);
}

.intestazione {
  overflow: hidden;
  min-height: 34px;
  display: flex;
  align-content: center;
  align-items: center;
  width: 100%;
  position: relative;
  color: var(--blu);
}

.intestazione:before,
.intestazione:after {
  background-color: var(--color-opc2);
  content: "";
  display: inline-flex;
  height: 10px;
  position: relative;
  vertical-align: middle;
  min-width: 30px;
}

.evidenziatore .intestazione:after,
.evidenziatore .intestazione:before {
  background-color: var(--color);
}

.bianco.intestazione:after,
.bianco.intestazione:before {
  background-color: var(--bianco);
}

.intestazione:before {
  right: 0.3em;
}

.intestazione b {
  color: var(--blu);
}

.intestazione:after {
  left: 0.3em;
  flex: 1 !important;
}

.row_intestazione,
.row_intestazione_fatt {
  width: 100%;
  display: flex;
  align-items: center;
  padding-bottom: 15px;
}

.descrizione_sezione {
  margin-left: 55px;
}

.intestazione b,
.intestazione span {
  font-family: var(--font-secondario);
  font-weight: 400;
  padding: 0;
}

.intestazione b {
  font-weight: 600 !important;
  display: inline-flex;
  line-height: 1.3;
}

.box_btn {
  flex: 2;
}

.box_btn .btn {
  margin-left: 5px;
}

.box_btn .btn_crea_fattura {
  margin-left: 0px;
}

.banner_errore b {
  color: yellow;
}

/****** wrapper *****/
#wrapper {
  height: 100%;
  overflow: hidden;
  width: 100%;
  background: white;
}

.content {
  margin: 130px 0 0;
  width: var(--max-width);
  max-width: var(--max-width);
  padding: 0 20px;
}

.content2 {
  margin: 20px auto 0;
  max-width: var(--max-width);
  /*padding: 0 20px;*/
}

section.testata {
  display: flex;
  position: relative;
  align-content: center;
  align-items: center;
  justify-content: center!important;
  margin-bottom:20px;
  flex-direction:row-reverse
}

#header_home section.testata,
#header_registrazione section.testata,
#header_fatture_elettroniche section.testata {
  background-image: url(../img/geometric_bianco.svg);
  background-position: bottom left;
  background-repeat: repeat-x;
  padding-bottom: 40px;
}

section .img_testata {
  padding: 0 20px 0 0;
}

section .img_testata_dettaglio {
  margin-top: -30px;
  position: absolute;
  right: 0px;
  height: 230px;
  z-index: 99;
}

section .img_testata_carrello {
  margin-top: -30px;
  position: absolute;
  right: 0;
  height: 190px;
  z-index: 99;
}

section .img_testata_ordine {
  margin-top: -25px;
  position: absolute;
  right: 0;
  height: 170px;
  z-index: 99;
}

.testata .col_60 {
  margin-bottom: 20px;
}

#content_page {
  overflow: hidden;
  min-height: calc(100vh - var(--h-menu-header));
  width: 100%;
}

.scroll_messaggi {
  display: none;
  position: absolute;
  background: var(--flex_arancione);
  padding: 10px 20px;
  margin-bottom: 10px;
  color: white;
  font-size: var(--size-p-small);
  top: 70px;
  z-index: 1195;
  width: 100%;
  text-align: center;
  height: 40px;
}

/********** HEADER *********/
#page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: var(--azzurro-bg);
}

.popup_dettagli_account_profilo {
  overflow-y: auto;
  max-height: 90vh;
}

.navbar_custom {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: saturate(100%) blur(8px);
  position: fixed;
  left: 0;
  right: 0;
  height: var(--h-menu-header);
  z-index: 1200;
  display: flex;
  align-items: center;
  height: 75px !important;
}

.navbar_custom nav ul {
  list-style: none;
  column-gap: 0.2rem;
  align-items: center;
}


accedi {
  display: flex;
}

.logo_box {
  height: var(--h-menu-header);
  width: var(--width-submenu);
  transition: all 0.1s ease-out;
  display: inline-flex;
  justify-content: flex-start;
  align-content: stretch;
  padding-left: 30px;
}

.logo_box span {
  position: absolute;
  left: 110px;
  top: 18px;
  padding: 6px 20px;
  border-radius: var(--radius-small) 0;
  color: white;
  font-family: var(--font-secondario);
  font-weight: 500;
}

.logo_box img {
  top: 0;
  bottom: 0;
  position: absolute;
  margin: auto;
}

.button_menu_mobile {
  display: none;
  background: transparent;
  border: none;
  position: absolute;
  left: 25px;
  top: -15px;
  cursor: pointer;
}

.button_menu_mobile i {
  color: var(--blu);
}

.fa-bars::before {
  font-size: 21px;
}

#menu-menu-mobile {
  height: 70vh;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}

/********** top menu ****/
.menu_header {
  width: var(--max-width);
  margin: auto;
  padding: 0;
}

.menu_header .row_social_cart {
  min-height: 30px;
  margin-top: 10px;
}

.top_menu {
  background: white;
  border-radius: 50px;
  padding: 10px 20px;
  margin-top: 5px;
  box-shadow: 0 0 10px 0 var(--color-opc2);
  align-items: center !important;
  position: relative;
  border:3px solid var(--verde_flextax);
}

.navbar_custom nav ul {
  margin: 0;
}

.top_menu li,
.menu_impostazioni li {
  border-radius: var(--radius-medium);
  border: 1px solid transparent;
  position: relative;
  min-height: 34px;
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
  padding: 0 5px;
  font-size: 1rem;
  font-family: var(--font-secondario);
  font-weight: 500;
  color: var(--color-font-menu);
}

.top_menu li i {
  font-size: var(--size-icon-menu);
  padding: 4px;
  display: flex;
  align-content: center;
  justify-content: center;
  margin-right: 0;
}

.top_menu li.active {
  opacity: 1;
}

.top_menu li.active {
  opacity: 1;
  background-color: var(--color-opc);
  border: 1px solid var(--color);
}

.top_menu li.active i,
.top_menu li.active span {
  color: var(--color);
}

.top_menu li:hover {
  color: var(--blu);
}

.inizia_accedi li {
  padding: 0;
}

.row_social_cart {
  margin-top: 5px;
}

.menu_impostazioni i {
  padding: 6px;
  display: flex;
  background-color: var(--bianco_grigio);
  color: var(--grigio_scuro);
  font-size: var(--size-icon-menu);
  border-radius: var(--radius-medium);
}

.menu_impostazioni li:hover {
  opacity: 1;
}

.menu_impostazioni li i {
  border: 1px solid transparent;
}

.menu_impostazioni li:hover i {
  opacity: 1;
  border: 1px solid var(--grigio_scuro);
}

.top_menu .active {
  color: var(--color);
}

.top_menu .active:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: var(--color);
  position: absolute;
  bottom: -5px;
  margin: auto;
  left: 0;
  right: 0;
  border-radius: 50px;
}

.top_menu .active i,
.top_menu .active span {
  color: var(--color-dark);
}

.top_menu .non_attivo i {
  color: var(--grigio_chiaro);
}

.top_menu .non_attivo:hover i {
  color: var(--grigio_chiaro);
}

.top_menu .non_attivo:hover {
  border-color: var(--grigio_chiaro);
}

.menu_social,
.carrello {
  margin: 5px 0 0;
}

ul.row.menu_social {
  margin-left: 20px;
}

.menu_social li i {
  color: var(--grigio_scuro);
  padding: 5px;
  font-size: var(--size-p-big);
}
.menu_social li i:before,
.carrello a {
  display: flex;
  align-items: center;
  justify-content: center;
}

.carrello a {
  padding: 0;
  position: relative;
  color: var(--grigio_scuro);
}

.carrello a:hover span {
  color: var(--color-hover);
}

.carrello {
  display: flex;
  align-items: center;
}

.carrello span {
  font-size: var(--size-p);
  font-weight: bold !important;
}

.carrello .nome_utente_loggato {
  color: var(--color);
  text-align: right !important;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding-right: 5px;
}

.carrello bdi {
  font-size: var(--size-p-small);
  font-weight: bold !important;
}

.home_flextax_mbl b,
.home_flextax_mbl i {
  color: var(--grigio_scuro);
}

.menu_social a:hover i,
.home_flextax_mbl:hover {
  color: var(--color-hover);
  border-radius: var(--radius-big);
}

.home_flextax_mbl:hover b,
.home_flextax_mbl:hover i {
  color: var(--bianco);
}

.carrello.bianco .n_cart {
  color: var(--color2) !important;
  border-color: var(--color2) !important;
}

.menu_social.bianco li i,
.carrello.bianco i,
.menu_social.bianco a:hover i,
.carrello.bianco:hover i,
.carrello.bianco a:hover i,
.carrello.bianco:hover .n_cart {
  color: white !important;
}

/****** menu popup *****/

.menu li a {
  border: 2px solid transparent;
  font-weight: 500;
  color: var(--grigio_scuro);
}

.menu li a:hover {
  color: var(--verde) !important;
}

.menu > li > a:hover span,
.menu > li > a:hover i,
#main_menu_sidebar > .active *,
#main_menu_sidebar > .active i {
  color: var(--color);
}

.menu > li > a:hover .icon_card {
  border-color: var(--color);
}

/*********** popup menu ******/

/**** switch button *****/
*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

/******* box-round ******/
/******** pagina invoice *****/
.row_dati {
  width: calc(100% + 10px);
  margin: 0 0 0 -10px;
  display: inline-flex;
  flex-wrap: wrap;
}

.row {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}

.row .col_85 {
  width: calc(85% - 10px);
}

.row .col_80 {
  width: calc(80% - 10px);
}

.row .col_75 {
  width: calc(75% - 10px);
}

.row .col_70 {
  width: calc(70% - 10px);
}

.row .col_60 {
  width: calc(60% - 10px);
}

.row .col_50 {
  width: calc(50% - 10px);
}

.row .col_40 {
  width: calc(40% - 10px);
}

.row .col_33 {
  width: calc(33.3% - 10px);
}

.row .col_30 {
  width: calc(30% - 10px);
}

.row .col_25 {
  width: calc(25% - 10px);
}

.row .col_20 {
  width: calc(20% - 10px);
}

.row .col_10 {
  width: calc(10% - 10px);
}

.legenda {
  padding-top: 20px;
  text-align: right;
  font-size: var(--size-p-small);
}

.asterisco {
  color: red;
  padding: 2px;
  font-weight: bold;
  vertical-align: top;
}

/***** simboli vari | stati ******/

input:disabled,
select:disabled,
textarea:disabled {
  background-color: var(--grigio-btn) !important;
  color: var(--grigio) !important;
  border-color: var(--grigio_chiaro) !important;
}

.text_attivo input[type="file"] {
  padding: 0 !important;
}

span.select2.select2-container.select2-container--default.select2-container--focus {
  padding: 0 !important;
  border: 0;
  width: calc(100% - 6px) !important;
}

span.nav_ricerca {
  display: flex;
  align-content: center;
  align-items: center;
}

section#servizi-gratuiti {
  margin: 60px auto 40px !important;
}

.servizi-gratuiti .bg_color,
#servizi-plus .bg_color_opc {
  padding: 100px 30px 30px !important;
  border-radius: var(--radius-big) var(--radius-big) var(--radius-big) 0;
  margin: 60px 0 20px;
  position: relative;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
}

.servizi-gratuiti .bg_color h3,
.servizi-gratuiti .bg_color span,
.servizi-gratuiti .bg_color p {
  color: white !important;
}

.servizi-gratuiti .img_sezione,
#servizi-plus .img_sezione {
  position: absolute;
  top: -60px;
  height: 140px;
  width: 140px;
  right: 40px;
  background: var(--color2);
  border-radius: 100px 100px 0 100px;
  padding: 20px;
}

.img_sezione img {
  position: absolute;
  top: 40px;
  right: 0px;
  height: 120px;
  width: auto;
  object-fit: contain;
}

#servizi-plus .img_sezione .foto {
  position: absolute;
  top: 0;
  right: 0px;
  object-fit: contain;
  height: 140px;
  border-radius: 20px;
  margin: 0;
  border-radius: var(--radius-extra-big) var(--radius-extra-big) 0;
}

#servizi-plus h3.h1.grigio_scuro {
  letter-spacing: -2px;
}

#elenco-servizi .foto {
  border-radius: 0 var(--radius-extra-big) var(--radius-extra-big)
    var(--radius-extra-big);
}

.thumb_attiva_account {
  margin: 40px 0 0 60px;
}

.home_flextax_mbl {
  display: none;
}

.home_flextax,
.home_eservice {
  border-left: 1px solid var(--grigio_chiaro) !important;
  border-radius: 0 !important;
  padding-left: 15px !important;
  margin-left: 15px !important;
}

.home_eservice .btn.btn_small span {
  min-width: fit-content;
  margin-left: 20px !important;
}

.box_dettagli {
  justify-content: space-around;
}

/*********** FORM **********/
input,
select,
textarea {
  border: 2px solid var(--color-opc2);
  border-radius: var(--radius-big);
  background: var(--color-opc);
  padding: 5px 10px;
  color: var(--color) !important;
  height: 40px;
  font-size: var(--size-p) !important;
}

textarea {
  min-height: 100px;
}

input::placeholder {
  font-size: var(--size-p) !important;
  color: var(--grigio);
}

/*********** HOME PAGE ***********/
.testata h1 {
  font-size: var(--size-h1) !important;
  line-height: 1.1;
  color: white;
}

#header_registrazione .img_testata_homepage {
  margin-top: -170px !important;
  position: absolute;
  min-width: calc(100% + 70px);
  left: -50px;
}

#header_fatture_elettroniche .img_testata_homepage {
  min-width: calc(100% + 110px);
  margin-top: -135px !important;
  position: absolute;
  left: -110px;
}

#header_fatture_elettroniche h2 {
  letter-spacing: -1px;
}

.box h2 {
  margin: 50px 0 100px;
}

.box .col_1,
#servizi-plus .bg_color_opc {
  background: white;
  padding: 30px;
  text-align: center;
  border-radius: var(--radius-big) var(--radius-big) var(--radius-big) 0;
  margin: 20px 0 60px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.box .col_1 p,
#servizi-plus .bg_color_opc p {
  font-weight: 300;
  line-height: 1.2;
  min-height: 120px;
}

.nav-tab {
  border: 5px solid var(--color-opc);
  border-radius: 100px;
  padding: 0px 5px;
  display: flex;
  justify-content: center;
  width: calc(var(--max-width) - 40px);
  background: white;
}

.nav-tab a {
  color: var(--color);
  background-color: var(--color-opc-esa);
  font-size: var(--size-p);
  font-weight: 500 !important;
  text-transform: capitalize;
  padding: 10px 20px;
  margin: 7px 3px;
  border-radius: 50px;
  flex: 1;
  text-align: center;
  cursor: pointer;
  border: 3px solid var(--color-opc-esa);
  max-width: calc(var(--max-width) - 40px) !important;
  box-shadow: inset 0 0 0 0 var(--color2);
  -webkit-transition: ease-out 0.4s;
  -moz-transition: ease-out 0.4s;
  transition: ease-out 0.4s;
}

.nav-tab a span {
  font-weight: 500;
}

.nav-tab a:hover {
  border-color: var(--color2);
}

.nav-tab a.active {
  background-color: var(--color2);
  border-color: var(--color2);
}

.nav-tab a.active span {
  color: white;
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 70px;
  z-index: 99;
  width: calc(var(--max-width) - 80px);
  border-radius: 0 0 30px 30px;
  border-color: var(--color-opc-esa);
  background-color: var(--color-opc-esa);
  border-width: 0 5px 5px;
  padding: 15px 5px 5px;
  box-shadow: -1px 7px 10px 0 var(--color-opc2);
}

.sticky.nav-tab a.active,
.sticky.nav-tab a:hover {
  border-color: var(--color2);
}

.sticky.nav-tab a {
  border-color: white;
}

.box_quot {
  background-image: var(--color-flex-sfumato);
  background-origin: border-box;
  background-clip: content-box, border-box;
  border-radius: 20px;
  padding: 5px;
  margin: 40px auto;
  width: calc(100% - 40px);
}

.box_quot div {
  background: white;
  border-radius: 18px;
  padding: 60px 60px 40px;
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  position: relative;
}

#la-mission .box_quot div {
  display: block;
}

img.quot {
  position: absolute;
  top: -65px;
  background: white;
  padding: 15px;
}

.titolo_mission {
  font-size: var(--size-h1);
  font-weight: 700;
  background: var(--color-flex-sfumato);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/******* card prezzi *******/
.card.prezzi {
  justify-content: flex-start;
  height: calc(100% - 20px);
}

.card.prezzi .descrizione_servizio,
.card.prezzi .descrizione_servizio p {
  color: var(--grigio_scuro);
  line-height: 1.1;
  font-size: var(--size-p);
  font-weight: 400;
}

.card.prezzi .dettagli_servizio ul {
  margin: 0;
}

.card.prezzi .dettagli_servizio li {
  color: var(--grigio_scuro);
  line-height: 1.1;
  font-size: var(--size-p);
  background: white;
  padding: 5px 5px 5px 25px;
  border-radius: 20px;
  position: relative;
  margin-bottom: 10px;
  min-height:50px;
  width: 100%;
}

.card.prezzi .dettagli_servizio li p {
  font-family: var(--font-secondario);
  font-weight: 400;
}

.descrizione_servizio p.padding20top.bold.small {
  display: none;
}

.card.prezzi h3 {
  /*border-bottom: 2px solid var(--bianco_grigio);*/
  padding-bottom: 10px;
  margin-bottom: 0 !important;
  line-height: 1.1;
  font-weight: 500;
}

.card.prezzi h3 b {
  color: var(--color2);
  /*background: var(--color-flex-sfumato);
	color: white;
	padding: 0 10px;
	border-radius: var(--radius-medium);*/
}

.card.prezzi .action_card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-width: 100%;
  margin-top: 20px;
}

.card.prezzi .action_card .btn {
  min-width: 200px;
}

.card.prezzi .action_card aggiungi_al_carrello,
.card.prezzi .action_card url_esterno {
  width: 50%;
}

.card.prezzi .action_card aggiungi_al_carrello .btn,
.card.prezzi .action_card url_esterno .btn {
  width: 100% !important;
}

.card.prezzi .media img {
  margin: auto;
  /*margin-top: 20px;*/
}

.card.prezzi:hover h3 {
  color: var(--color2) !important;
}

.card.prezzi.fatture {
  min-height: 350px;
}

.card.prezzi .card_body {
  height: 100%;
  align-items: stretch;
}

.bg-garanzia{
   background: white;
    padding: 10px;
    border-radius: 20px;
    text-align: center;
    margin-top: 50px;
    border: 3px solid var(--color-opc2);
}

#elenco-gruppo-servizi .card .bg-garanzia{border:none;}


.totale_carrello .card_body {
  align-items: flex-start !important;
}

.pagina_dettaglio {
  margin-bottom: 20px;
}

.pagina_dettaglio .bg_color_opc {
  display: block;
}

.pagina_dettaglio .card.prezzi {
  height: auto;
  box-shadow:none;
}
.pagina_dettaglio .col_30{
	border-radius: 20px;
    background: var(--color-invoice-opc);
}

.descrizione_servizio .btn_small {
  margin: 0 !important;
}

.star_rating {
  padding-bottom: 10px;
}

.star_rating img {
  width: 15px;
}

.rating_anno {
  padding: 0 0 0 30px;
}

.prezzo_servizio {
  position: relative;
  min-height: 180px;
  display: flex;
  border-radius: 0 var(--radius-big) var(--radius-big) var(--radius-big);
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border: 3px dashed black;
  background: var(--bianco);
}

#elenco-gruppo-servizi .scheda:hover .prezzo_servizio, .prezzo_servizio:hover {
  border-color: var(--verdino);
  color: var(--verdino);
  cursor: pointer;
}
#elenco-gruppo-servizi .scheda:hover .prezzo_servizio .price, #elenco-gruppo-servizi .scheda:hover .prezzo_servizio .price small,
.prezzo_servizio:hover .price, .prezzo_servizio:hover .price small{
	color: var(--verdino);
}
.prezzo_servizio .price,
.prezzo_servizio .price small {
  margin-bottom: 0 !important;
  font-weight: bold;
  color: var(--grigio_scuro);
}

.sidebar .prezzo_servizio {
  min-height: 200px;
}

.sidebar .prezzo_servizio p {
  margin-bottom: 0px;
}

.sidebar .prezzo_servizio .risparmio {
  margin-bottom: 25px;
}

.sidebar .card.prezzi .media img {
  margin-top: 30px !important;
}

.price {
  text-align: center;
  font-family: var(--font-secondario);
  font-size: var(--size-price);
  font-weight: bold;
  line-height: 1;
}

.price.paga_rate {
  font-size: 24px;
}

.price.paga_rate b.price {
  font-size: var(--size-h2) !important;
}

#abonamento_fatture_elettroniche .price,
#attivazione_fatturazione_elettronica .price {
  font-size: var(--size-price) !important;
}

#abonamento_fatture_elettroniche span,
#attivazione_fatturazione_elettronica span {
  font-weight: 400;
}

#prezzo_pieno {
  font-size: 1.5rem !important;
  color: var(--grigio);
  margin-bottom: 5px;
  text-align: center;
  background: linear-gradient(
    to left top,
    transparent 47.75%,
    currentColor 49.5%,
    currentColor 50.5%,
    transparent 52.25%
  );
}

.btn_carrello .col_1 {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  border-right: 1px dashed var(--grigio_chiaro);
  padding-right: 10px;
}

.btn_carrello .col_2 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0 10px;
  justify-content: flex-end;
}

#risparmio span {
  width: 100%;
  background: var(--color-opc2) !important;
  display: block;
  padding: 5px 10px;
  border-radius: var(--radius-small);
  color: var(--color);
  font-weight: bold;
  text-align:center
}

.btn_carrello .align_right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.iva_compresa_esclusa {
  font-weight: 400;
  text-align: center;
  margin: 0;
}

.add_cart {
  position: absolute;
  bottom: -30px;
  left: 10px;
  right: 10px;
}

.sidebar url_esterno .btn {
  min-width: 100%;
}

.sidebar url_esterno {
  position: absolute;
  bottom: -28px;
  left: 20px;
  right: 20px;
}

.dettagli_servizio {
/*  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
  border-top: 2px solid var(--bianco_grigio);*/
  padding-top: 20px;
}

.dettagli_servizio li {
  list-style: none;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin:0 0 10px 0;
  width: calc(50% - 25px);
  font-size: var(--size-p-small);
  text-align: left;
}

.dettagli_servizio li:before {
  /*content: "\f005";*/
  content: "\f35a";
  display: inline-block;
  font-size: var(--size-p-big);
  min-width: 30px;
  font-family: "Font Awesome 5 Pro", FontAwesome;
  font-weight: 400 !important;
  letter-spacing: normal;
  color: var(--color2);
  margin: 0 6px 0 -18px;
  font-size:24px;
}

.dettagli_servizio.col_100 {
  margin-top: 0;
  border-top: none;
}

.dettagli_servizio.col_100 li {
  width: 100%;
  margin-bottom: 5px;
}

.dettagli_servizio.col_100 li p {
  margin-bottom: 0;
}

.elenco_servizi li {
  list-style: none;
  margin-left: 0px;
  line-height: 1.5;
  margin: 10px 0 15px;
  display: flex;
  flex-wrap: wrap;
}

.elenco_servizi > li {
  flex-wrap: nowrap;
}

.elenco_servizi li::before {
  content: "\f058";
  display: flex;
  align-items: center;
  font-size: var(--size-h3);
  width: 30px;
  height: 20px;
  margin-right: 5px;
  font-family: FontAwesome;
  font-weight: 700;
  letter-spacing: normal;
  color: var(--color);
}

li.sottoelenco {
  flex-flow: wrap;
}

.elenco_servizi li span {
  width: 100%;
}

.elenco_servizi li ul {
  width: 100%;
}

.elenco_servizi li ul li {
  flex-wrap: nowrap;
  align-items: center;
}

.elenco_servizi li ul li:before {
  content: "\f111";
  font-size: var(--size-p-small);
  font-family: FontAwesome;
  width: 30px;
  color: var(--grigio_scuro);
}

.testo_scheda {
  animation: fadeEffect 1s;
  margin-top: 20px;
  font-size: var(--size-p-big);
  line-height: 1.5;
}

.testo_scheda {
  display: none;
}

.testo_scheda h2 {
  color: var(--grigio_scuro);
}

.testo_scheda:first-child {
  display: block;
}

.dettagli_servizio li.col_100 {
  width: 100% !important;
  justify-content: center;
}

.garanzia {
  text-align: center;
  width: 100%;
  padding: 5px 0;
  color: var(--grigio_scuro);
  font-size: var(--size-p-small) !important;
  font-weight: bold !important;
}
.card.prezzi.sidebar .garanzia {
  text-align: left;
}
.garanzia a {
  color: var(--grigio_scuro);
  font-size: var(--size-p);
  font-weight: bold;
}

.garanzia a:hover {
  color: var(--color2) !important;
  text-decoration: underline !important;
}

.garanzia i {
  color:  var(--color2);
  font-size: var(--size-h3);
  margin-right:5px;
}


.filtri.dsk {
  display: block;
}

.filtri.mbl {
  display: none;
  position: relative;
}

.filtri {
  margin: 20px 0;
}

.filtri button {
  margin: 0 5px 5px 0;
}

.filtri.mbl select {
  -webkit-appearance: none;
  border-radius: var(--radius-big);
  background: transparent;
  margin: 3px 0;
  padding: 10px;
  border: 2px solid var(--color);
  width: 100%;
  z-index: 2;
  cursor: pointer;
  font-family: var(--font-secondario);
  font-weight: bold;
  color: var(--color);
}

.filtri.mbl select :target,
.filtri.mbl select :focus {
  border-color: var(--color) !important;
}

.filtri.mbl .freccia {
  position: absolute;
  right: 20px;
  top: 10px;
  z-index: 1;
}

.filtri.mbl .freccia:after {
  font-family: FontAwesome;
  content: "\f107";
  font-size: 25px;
  font-weight: bold;
}

.acquisto_servizio {
  padding: 0 0px;
  margin: 10px 0 20px 0px;
  width: 100% !important;
  display: flex;
  align-items: center;
  box-shadow: none;
}

.acquisto_servizio .prezzo_servizio {
  min-height: 130px;
  width: calc(100% + 15px);
  margin-bottom: 10px;
}

.tab_pagamento {
  list-style: none;
  display: inline-flex;
  font-size: var(--size-p-small);
  font-weight: 900 !important;
}

.tab_pagamento li {
  font-weight: 700 !important;
  padding: 8px 10px 5px;
  border-radius: var(--radius-medium) var(--radius-medium) 0 0;
  background: var(--bianco_grigio);
  color: var(--grigio_chiaro);
  margin: 0 2px 0 0;
  cursor: pointer;
}

.tab_pagamento li.active {
  color: var(--color-flex2);
  box-shadow: 0px 0px 30px 10px var(--color-flex-opc2);
  background: var(--bianco);
}

.tab_pagamento.hover li.active {
  background: var(--verdino);
  color: white;
}

.tab_pagamento li:hover {
  color: var(--color2);
}

.tab_pagamento li.active:hover {
  color: var(--color2);
}

.n_rate {
  text-align: right;
  font-weight: bold;
  background: var(--color2);
  color: white !important;
  padding: 1px 5px;
}

.prezzo_servizio:hover .n_rate {
  background: var(--verde_smeraldo);
  color: var(--bianco) !important;
}

.breve_descrizione {
  margin-left: 20px;
  padding: 20px;
  border: 2px solid var(--grigio_chiaro);
  border-width: 0 0 0 2px;
}

.aggiungi_carrello {
  position: absolute;
  bottom: -20px;
  margin: auto;
  left: 0;
  right: 0;
}

.sottotitolo {
  font-size: var(--size-h4);
  font-weight: bold;
  margin: 30px 0 5px 0;
}

.sottotitolo b {
  color: var(--grigio_chiaro);
  display: inline-block;
  min-width: 30px;
}

/**** footer ****/

.tp-widget-wrapper {
  margin: 0 !important;
}

.menu_footer {
  margin: 20px auto 0;
  max-width: var(--max-width);
  padding: 0;
}

.menu_footer ul {
  padding-top: 10px;
  margin: 0 0 0 -10px;
}

.menu_footer li {
  list-style: none;
  line-height: 1.5;
  color: var(--grigio);
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  border-radius: var(--radius-small);
}

.menu_footer li a {
  color: var(--grigio_scuro);
}

.menu_footer li:before {
  content: "\f105";
  font-family: FontAwesome;
  font-weight: 900;
  padding: 0 10px 0 10px;
  font-size: 18px;
  color: var(--color2);
  left: 0;
}

.menu_footer li:hover:before {
  color: var(--color);
  left: 20px;
}

.menu_footer li:hover a {
  color: var(--color);
}

.dati_aziendali_flextax {
  min-height: 370px;
  display: flex;
  align-items: center;
  padding: 20px 20px 40px;
}
.dati_aziendali_flextax .row.content2 {
  padding: 0;
  margin-top: 0 !important;
}

.dati_aziendali_flextax .indirizzo {
  padding: 40px 20px 20px;
  border-radius: var(--radius-big) var(--radius-big) 0 var(--radius-big);
}
.col_100.row.loghi_supporto {
  margin-top: 20px;
}

footer {
  margin-bottom: 100px !important;
}

footer .altri_dati {
  border: 3px dashed black;
  border-radius: var(--radius-big) var(--radius-big) var(--radius-big) 0;
  padding: 20px;
}
footer .menu_social {
  justify-content: flex-start;
  margin: 0 !important;
  padding: 0;
}

footer .menu_social li {
  list-style: none;
  margin: 0 5px 0 0;
}

footer .menu_social li i {
  color: black;
  padding: 5px 10px;
  font-size: var(--size-p-big);
  border-radius: var(--radius-big);
}

footer .menu_social li a {
  border-color: black;
}

footer h4 {
  color: var(--grigio_scuro);
  font-weight: 500;
}
.footer_submenu a:hover {
  color: var(--color2) !important;
  border: 3px dashed var(--color2);
  border-width: 0 0 3px !important;
}
.footer-dropdown {
  padding: 20px;
  border: 3px dashed #000;
  border-radius: var(--radius-small);
  position: relative;
  -webkit-transition: ease-out 0.2s;
  -moz-transition: ease-out 0.2s;
  transition: ease-out 0.2s;
}

.footer-dropdown:hover {
  transform: translate(0, -4px);
  border-color: var(--color2);
  background: white;
}
.footer-dropdown i {
  position: absolute;
  top: -40px;
  right: 20px;
}

footer .bordo_logo {
  border: 2px solid #000;
  padding: 10px;
  display: flex;
  align-content: center;
  align-items: center;
  border-radius: 10px;
  margin: 0;
  justify-content: center;
}
.evidenzia-box {
  background: linear-gradient(180deg, transparent 70%, var(--color2) 70%);
  padding-bottom: 0;
  margin: -10px 0 0 !important;
}

.icona_stella_viola:before {
  background: var(--color);
  min-width: var(--width-icone);
  height: var(--width-icone);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--size-font-icone);
  color: var(--viola) !important;
  border-radius: 50px;
  right: -80px;
  top: 0;
  z-index: 5;
}
.icona_bg_azzurro:before {
  background: var(--azzurro);
  min-width: var(--width-icone);
  height: var(--width-icone);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--size-font-icone);
  color: var(--color) !important;
  border-radius: 50px;
  right: -80px;
  top: 0;
  z-index: 5;
}

.icona_freccia_verde:before {
  background: var(--color2);
  min-width: var(--width-icone);
  height: var(--width-icone);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--size-font-icone);
  color: white !important;
  border-radius: 50px;
  right: -80px;
  top: 0;
  z-index: 5;
}
.icona_bg_viola::before {
  min-width: var(--width-icone);
  height: var(--width-icone);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--size-font-icone);
  right: -80px;
  top: 0px;
  z-index: 5;
  color: white !important;
  background: var(--viola);
  border-radius: 50px;
}
.link_footer {
  margin: 10px 0;
}

.link_footer a {
  padding: 5px 10px;
  border: 1px solid white;
  color: white;
  display: inline-block;
  line-height: 1 !important;
  border-radius: var(--radius-big);
  font-size: var(--size-p-small);
  font-weight: bold;
  margin: 0 5px 5px 0;
}

.link_footer a:focus {
  color: white;
}

.link_footer a:hover,
footer .menu_social li i:hover {
  background: white;
  color: var(--color-hover) !important;
}

.logo_stripe {
  max-width: 100%;
}

.btn_carrello {
  position: fixed;
  display: inline-flex;
  bottom: 0px;
  z-index: 99;
  background: white;
  padding: 20px 10px 10px;
  left: 0;
  right: 0px;
  box-shadow: 0px 10px 20px 30px var(--color-flex-opc2);
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: saturate(100%) blur(8px);
}

.btn_carrello .btn {
  margin: 0 !important;
}

.btn_carrello:hover {
  border-top: 2px solid var(--verdino);
  background: rgba(255, 255, 255, 1);
  backdrop-filter: none;
}

.btn_carrello:hover .price,
.btn_carrello:hover .price small {
  color: var(--verdino) !important;
}

.btn_carrello .add_cart {
  position: relative !important;
  bottom: 0;
}

.btn_carrello p,
.btn_carrello a {
  min-width: max-content;
  margin-bottom: 0;
}

.btn_carrello p {
  line-height: 0.9;
}

.btn_carrello_smart {
  -moz-box-shadow: 0px 15px 30px 10px var(--color-flex-opc2);
  -webkit-box-shadow: 0px 15px 30px 10px var(--color-flex-opc2);
  box-shadow: 0px 15px 30px 10px var(--color-flex-opc2);
  position: fixed;
  border-radius: var(--radius-big) var(--radius-big) 0 !important;
  bottom: 60px;
  left: 40px;
  z-index: 99999997;
}

.btn_carrello_smart a {
  border: 2px solid transparent;
  background-image: var(--color-flex-sfumato);
  background-origin: border-box;
  background-clip: content-box, border-box;
  box-shadow: 2px 1000px 1px #fff inset;
  cursor: pointer;
  padding: 30px 25px 20px;
  border-radius: var(--radius-big) var(--radius-big) 0 !important;
  -moz-border-radius: var(--radius-big) var(--radius-big) 0 !important;
  -webkit-border-radius: var(--radius-big) var(--radius-big) 0 !important;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.n_cart {
  position: absolute;
  top: 10px;
  background: var(--blu);
  border-radius: var(--radius-big);
  padding: 1px 4px;
  font-size: 11px;
  height: 20px;
  width: 20px;
  text-align: center;
  color: white;
  font-weight: 800;
  right: 13px;
  border: 2px solid var(--color);
}

url_esterno .btn span, url_esterno .btn {
    width: fit-content !important;
}

.carrello .n_cart {
  left: 23px;
  top: -10px;
  background: white;
  color: var(--grigio_scuro);
  border-color: var(--grigio_scuro);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px !important;
}

.carrello:hover .n_cart {
  background: var(--color-hover);
  color: var(--bianco);
  border-color: var(--bianco);
}

.carrello:hover .fa-cart-shopping {
  color: var(--color-hover);
}

.carrello a:hover i {
  color: var(--color-hover);
}

.n_cart:hover i {
  color: var(--bianco) !important;
}

.btn_carrello_smart a:hover {
  background-image: var(--color-flex-sfumato1);
}

.btn_carrello_smart a:hover i {
  color: var(--verdino);
}

.btn_carrello_smart a .n_cart {
  background: var(--bianco);
  border-color: var(--color-hover);
  color: var(--color);
}

.btn_carrello_smart a:hover .n_cart {
  background: var(--color-hover);
  border-color: var(--bianco);
  color: var(--bianco);
}

.btn_carrello_smart i {
  color: var(--color2);
  font-size: 20px;
}

/***** pagina carrello *****/
.txt_mbl {
  display: none;
}

.carrello .titolo_testata .col_100 {
  display: flex;
  flex-direction: column !important;
}

.messaggio_carrello {
  background: var(--color-flex3-opc2);
  border: 2px solid var(--color-flex3-opc2);
  border-radius: var(--radius-big);
  padding: 10px 10px 5px;
  text-align: center;
}

.messaggio_carrello i {
  color: var(--color-flex3);
  font-size: 26px;
  margin: 0 10px;
}

.codice_promo,
.box_dati_ordine {
  display: flex;
  box-shadow: 0px 0px 20px 0px var(--color-flex-opc2);
  border: 2px solid var(--color-flex-opc2);
  border-radius: var(--radius-big);
  padding: 10px;
  align-items: center;
  justify-content: space-between;
  background: var(--bianco);
  margin: 10px 0;
}

.codice_promo * {
  flex: 1;
}

.codice_promo input {
  margin-right: 5px;
}

.messaggio_carrello h2 {
  font-weight: 300;
}

.messaggio_carrello h2,
.messaggio_carrello h2 b {
  color: var(--black);
  font-size: 16px;
}

.messaggio_login {
  display: flex;
  background: var(--color-invoice-opc);
  border: 2px solid var(--color-invoice-opc);
  border-radius: var(--radius-big);
  padding: 10px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.messaggio_login .icona_messaggio {
  color: var(--color-invoice);
  font-size: 26px;
  margin: 0 10px;
}

.messaggio_ordine_inviato {
  display: flex;
  background: var(--color);
  border: 2px solid var(--color-opc);
  border-radius: var(--radius-big);
  padding: 10px;
  align-items: center;
  align-content: center;
  justify-content: center;
  margin-bottom: 20px;
  text-align: center;
}

.messaggio_ordine_inviato .icona_messaggio,
.messaggio_ordine_inviato b {
  color: var(--bianco);
  font-size: 26px;
  margin: 0 10px;
}

textarea::placeholder {
  font-size: var(--size-p) !important;
  color: var(--grigio) !important;
  padding: 10px 5px;
}

.elementor-screen-only,
.screen-reader-text,
.screen-reader-text span,
.ui-helper-hidden-accessible {
  position: absolute;
  top: -10000em;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.quantity {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
}

.quantity .qty {
  width: 45px;
  text-align: center;
  min-height: 35px;
  border: none !important;
}

input[type="number"][name="codice_pin"]::-webkit-outer-spin-button,
input[type="number"][name="codice_pin"]::-webkit-inner-spin-button,
input[type="number"][name="cellulare"]::-webkit-outer-spin-button,
input[type="number"][name="cellulare"]::-webkit-inner-spin-button,
.quantity .qty::-webkit-outer-spin-button,
.quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type="number"][name="codice_pin"],
input[type="number"][name="cellulare"],
.quantity .qty {
  -moz-appearance: textfield;
}

.head_elenco_carrello p {
  display: none;
}

.head_elenco_carrello {
  border-bottom: 1px solid var(--color);
  margin: 20px 0 10px 0;
}

.head_elenco_carrello ul,
.body_elenco_carrello ul,
.body_elenco_carrello_upselling ul {
  display: flex;
  list-style: none;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.head_elenco_carrello li {
  color: var(--grigio_scuro);
  font-weight: bold;
  font-size: var(--size-p-small) !important;
  text-transform: uppercase;
}

.body_elenco_carrello ul,
.body_elenco_carrello_upselling ul,
.head_elenco_carrello ul {
  padding: 0 10px;
}

.head_elenco_carrello li,
.body_elenco_carrello li,
.body_elenco_carrello_upselling li {
  padding: 10px 0;
  line-height: 1.1;
}

.head_elenco_carrello li:last-child {
  padding-right: 50px;
  text-align: right;
  width: 20%;
}

.body_elenco_carrello ul,
.body_elenco_carrello_upselling ul {
  box-shadow: 0px 0px 20px 10px var(--color-flex-opc);
  margin-bottom: 10px;
  border: 2px solid transparent;
}

.body_elenco_carrello .elimina.btn {
  position: absolute;
  right: 10px;
}

.subtotale .elimina {
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
}

.body_elenco_carrello ul:hover,
.body_elenco_carrello_upselling ul:hover {
  box-shadow: 0px 0px 20px 0px var(--color-flex2-opc2);
  border-color: var(--color-hover) !important;
}

.body_elenco_carrello ul:hover b,
.body_elenco_carrello_upselling ul:hover b {
  color: var(--color-hover) !important;
}

.body_elenco_carrello ul.totale:hover b {
  color: white !important;
}

.body_elenco_carrello li.subtotale,
.body_elenco_carrello_upselling li.subtotale {
  padding-right: 40px;
  text-align: right;
  line-height: 0.9 !important;
}

.body_elenco_carrello .totale li.subtotale,
.body_elenco_carrello_upselling .totale li.subtotale {
  padding-right: 30px;
}

.body_elenco_carrello li.subtotale small,
.body_elenco_carrello_upselling li.subtotale small {
  font-size: var(--size-p-small);
}

.totale .row_prodotto {
  padding: 10px 10px 10px 20px;
}

.card.prezzi.totale_carrello {
  height: inherit;
}

.totale_carrello ul {
  list-style: none;
}

.totale_carrello ul li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--color-opc);
  border-radius: var(--radius-medium);
  padding: 5px 10px;
  margin-top: 5px;
  text-align: left;
  line-height: 1.2;
}

.totale_carrello .prezzo_servizio {
  border: 3px dashed black;
  min-height: 160px;
  padding-bottom: 20px;
}

.totale_carrello .prezzo_servizio:hover {
  border-color: var(--verdino);
}

.totale_carrello .prezzo_servizio:hover .price,
.totale_carrello .prezzo_servizio:hover .price small {
  color: var(--color2) !important;
}

.totale_carrello.ordine {
  border: 3px solid var(--color) !important;
}

.totale_carrello.ordine .subtotale span,
.totale_carrello.ordine .iva span {
  color: var(--color) !important;
  font-weight: bold;
}

.totale_carrello.ordine .totale_ordine {
  background-color: var(--color) !important;
}

.totale_carrello.ordine .totale_ordine span {
  font-weight: bold;
  color: var(--bianco);
}

loggato p {
  border: 1px solid var(--color);
  border-width: 1px 0;
  padding: 5px 0;
  margin: 20px 0 0;
}

.paypal_rate {
  display: flex;
  align-items: center;
  align-content: center;
}

.paypal_rate span {
  line-height: 1.2;
  text-align: left;
  padding-top: 5px;
}

.paypal_rate img {
  margin: 0 15px 0 0 !important;
}

span.qty_prd {
  padding: 5px;
  background: var(--color);
  width: 37px;
  height: 30px;
  text-align: center;
  color: var(--bianco);
  border-radius: var(--radius-big);
  margin-right: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: var(--size-p-big);
}

.row_form {
  border-radius: var(--radius-medium);
  padding: 10px 0 0;
  display: flex;
  justify-content: space-between;
}

form.checkout label,
.box_dati_ordine label {
  color: var(--grigio);
  padding-left: 2px;
  font-size: var(--size-p-small);
  font-weight: bold;
  text-transform: uppercase;
  position: relative;
}

form.checkout label sup {
  color: var(--color);
  font-weight: bold;
  font-size: var(--size-p);
}

.row_form input,
.row_form select {
  flex: 1;
  margin: 0;
}

.row_form .col_100 {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
}

.row_form .col_50 {
  display: flex;
  flex-direction: column;
}

.payment_box {
  background: var(--color-opc2);
  margin-top: 12px;
  padding: 20px;
  border-radius: var(--radius-medium);
}

.payment_box::before {
  content: "";
  display: block;
  border: 1em solid var(--color-opc2);
  border-right-color: transparent;
  border-left-color: transparent;
  border-top-color: transparent;
  position: absolute;
  top: 25px;
  left: 0;
  margin: -1em 0 0 2.5em;
}

.payment_box input {
  background: var(--bianco);
  width: 100%;
  margin: 0;
}

.payment_box label {
  color: var(--grigio-scuro) !important;
}

.riepilogo .payment_box::before {
  display: none;
}

.ordine [type="checkbox"] {
  margin: 0 5px 0 0;
}

.box_dati_ordine b {
  color: var(--color) !important;
}

.box_dati_ordine p:nth-child(n + 2) {
  border-left: 1px solid var(--color-opc2) !important;
  padding-left: 10px;
}

.box_dati_ordine p {
  flex: auto;
}

.box_dati_ordine.row_form {
  padding: 20px;
}

.button_menu_mobile {
  position: relative;
}

.input-radio {
  height: 15px;
}
/**
  Hamburger
**/
.hamburger {
  position: absolute;
  top: 0;
  left: -14px;
  margin-left: -20px;
  margin-top: 0px;
  width: 32px;
  height: 37px;
  z-index: 5;
  cursor: pointer;
}

.hamburger div {
  position: relative;
  width: 32px;
  height: 4px;
  border-radius: 3px;
  background-color: var(--grigio_scuro);
  margin-top: 5px;
  transition: all 0.3s ease-in-out;
}

/**
Nav Styles
**/
.nav {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.95);
  top: -100%;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
  transform: scale(0);
}

.nav-wrapper {
  position: relative;
  overflow: hidden;
  overflow-y: auto;
  height: 100%;
}

.nav-wrapper nav {
  text-align: left;
  padding-top: 140px !important;
}

.nav-wrapper nav li {
  font-size: 2rem;
  padding: 10px;
  margin: 0 20px;
  font-weight: 300;
  width: 90%;
}
.nav-wrapper nav a {
  position: relative;
  text-decoration: none;
  color: var(--blu);
  font-size: 1.6rem;
  font-family: var(--font-secondario);
  font-weight: 300;
  display: inline-block;
  transition: color 0.2s ease-in-out;
  letter-spacing: 1px;
  width: 80%;
  text-align: center;
  padding: 15px;
}

.nav-wrapper nav a:hover {
  background: var(--color-hover);
  border-radius: var(--radius-small);
  color: white !important;
}

.button_menu_mobile .btn i {
  color: white !important;
}

.button_menu_mobile .btn:hover i {
  color: var(--color-hover) !important;
}

.nav-wrapper nav .btn:before {
  display: none;
}

/**
Animations
**/

#toggle {
  display: none;
}

#toggle:checked + .hamburger .top-bun {
  transform: rotate(-45deg);
  margin-top: 10px;
}

#toggle:checked + .hamburger .bottom-bun {
  opacity: 0;
  transform: rotate(45deg);
}

#toggle:checked + .hamburger .meat {
  transform: rotate(45deg);
  margin-top: -4px;
}

#toggle:checked + .hamburger + .nav {
  top: 0;
  transform: scale(1);
  height: 100vh;
}

.non_incluso {
  border: 2px solid var(--bianco_sporco_rgba);
  border-radius: var(--radius-medium);
  background: var(--bianco_sporco_rgba);
}

.non_incluso p:first-child {
  margin-bottom: 20px;
}

.testo_scheda a {
  color: var(--color);
  font-weight: bold;
}

.testo_scheda a:hover {
  background-color: var(--color);
  color: white !important;
}

.non_incluso .elenco li:before {
  content: "\f057";
  color: var(--grigio_scuro);
  font-family: FontAwesome;
  font-size: var(--size-p);
  top: 0;
  font-weight: 400 !important;
  position: absolute;
  left: -30px;
  top: 3px;
}

/***** ricerca sito ******/

.overlay {
  height: 100%;
  width: 100%;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  backdrop-filter: saturate(100%) blur(8px);
  background-color: rgba(217, 226, 241, 0.9);
  z-index: 1500 !important;
}

.overlay-content {
  position: relative;
  top: 35%;
  width: 800px;
  max-width: 100%;
  text-align: center;
  margin-top: 30px;
  margin: auto;
}

.overlay .closebtn {
  font-size: 50px;
  cursor: pointer;
  color: var(--grigio_scuro);
}

.overlay .closebtn:hover {
  color: var(--color-hover) !important;
}

.overlay input[type="text"] {
  background: white;
  width: 740px;
  max-width: 100%;
  height: 50px;
  font-size: var(--size-h4) !important;
  padding: 5px 15px;
}

.overlay input[type="text"]::placeholder {
  font-size: var(--size-h4) !important;
  font-weight: 400;
}

.overlay input[type="text"]:hover {
  background: #f1f1f1;
}

.overlay .btn {
  min-width: 160px;
  height: 50px;
  font-size: var(--size-p-big);
}

.overlay .btn {
  min-width: 160px;
  height: 50px;
  font-size: var(--size-p-big);
}

.overlay .btn i {
  min-width: 46px;
  height: 46px;
}

.overlay .btn span {
  width: calc(100% - 30px);
  margin: 0 0px 0 46px;
}

.tag_ricerca_mega {
  padding: 5px 7px;
  border-radius: 4px;
  margin: 10px;
  text-decoration: underline;
  cursor: pointer;
  background: white;
  text-decoration: none;
  font-size: var(--size-p-small);
}

.tag_ricerca_mega:hover {
  background-color: var(--color);
  text-decoration: none;
  color: var(--bianco);
}

#mega_ricerca_overlay .fa-search {
  font-size: 25px;
  color: var(--color);
  margin-left: 0;
}

#mega_ricerca_overlay input {
  border-radius: 8px;
  background-color: white !important;
  background-image: url(../img/cerca.webp);
  background-size: 31px 30px;
  background-repeat: no-repeat;
  background-position: 5px 7px;
  padding: 5px 5px 5px 40px;
  font-weight: 400;
  margin-top: 10px;
}

#mega_ricerca_overlay input:focus {
  border-color: var(--color);
}

#mega_ricerca_invia {
  position: absolute;
  right: 15px;
  top: 13px;
}

.mega_ricerca_risultati {
  width: 720px;
  max-width: calc(100% - 18px);
  max-height: 80vh;
  overflow-y: scroll;
  overflow-x: hidden;
  text-align: left;
  border: 2px solid white;
  padding: 10px;
  border-radius: 0 0 8px 8px;
  background: rgba(255, 255, 255, 1);
  color: var(--grigio_scuro);
  margin: 0 9px !important;
  display: none;
}

div#mega_ricerca_risultati {
  max-height: calc(100vh - 260px) !important;
}

.mega_ricerca_risultati p {
  font-size: var(--size-p-big);
}

.articolo_risultato {
  background-color: transparent;
  cursor: pointer;
  padding: 6px;
  border-radius: 4px;
  color: var(--grigio_scuro);
  display: flex;
  justify-content: space-between;
}

.articolo_risultato:hover {
  color: var(--grigio-scuro) !important;
  background-color: var(--color-opc);
}

.articolo_risultato td {
  font-weight: 400;
  color: var(--grigio);
}

.articolo_risultato:hover td {
  color: var(--grigio-scuro) !important;
}

.articolo_risultato:hover td i {
  color: var(--color-hover) !important;
}

/****************************/

.home #fatture_elettroniche {
  min-height: 460px;
}

.box_logo {
  border-radius: var(--radius-big);
  padding: 20px;
  background: white;
  display: flex;
  align-items: center;
  border: 3px dashed black;
  justify-content: center;
  border-radius: var(--radius-big) var(--radius-big) var(--radius-big) 0;
  -webkit-transition: ease-out0.4s;
  -moz-transition: ease-out 0.4s;
  transition: ease-out0.4s;
}

/****************************/

.fixedPosition {
  overflow-y: hidden !important;
  margin-right: 6px;
}

/****** E-service ********/

section#e-service {
  min-height: 480px;
}

.pag_eservice {
  /*min-height: 250px;*/
  padding-top: 10px;
}

.pagine_generiche {
  min-height: 350px;
}

section#e-service img {
  position: absolute;
  right: 0;
  top: -30px;
}

section#e-service h1,
.pag_eservice h1 {
  text-shadow: none;
}

.pag_eservice h1,
.pagine_generiche h1 {
/*  margin-top: -80px;*/
  font-size: calc(var(--size-h1) - 0.5rem) !important;
}
.pag_eservice .breadcrumbs{
	justify-content: center;
}

section#e-service .evidenzia {
  background: var(--color-opc2);
  padding: 6px 15px 2px;
  border-radius: var(--radius-small);
}

section#e-service .breadcrumbs li,
section#e-service .breadcrumbs li a {
  color: var(--bianco);
}

section#e-service .breadcrumbs:before,
section#e-service .breadcrumbs:after {
  background: rgba(255, 255, 255, 0.3);
}

.ast-plain-container.ast-no-sidebar #primary {
  margin-top: 0 !important;
}

#elenco-servizi .col_25.bg_color_opc,
#elenco-servizi .col_50.bg_color_opc,
#elenco-servizi .col_33.bg_color_opc,
#elenco-servizi .col_100.bg_color_opc {
  background: white;
  padding: 40px 20px;
  text-align: center;
  border-radius: var(--radius-big);
  margin-bottom: 20px;
  position: relative;
  margin-top: 80px;
  min-height: 230px;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}

#elenco-servizi .col_50.bg_color_opc:hover,
#elenco-servizi .col_33.bg_color_opc:hover {
  box-shadow: var(--color-invoice) 0px 0px 30px;
  transform: translate(0px, -6px);
  background: white !important;
}
#elenco-servizi .col_50.bg_color_opc:hover h3,
#elenco-servizi .col_50.bg_color_opc:hover h3 b,
#elenco-servizi .col_33.bg_color_opc:hover h3,
#elenco-servizi .col_33.bg_color_opc:hover h3 b {
  color: var(--color2) !important;
}
.img_promo {
  margin-top: -130px;
}

#elenco-servizi .col_33.bg_color_opc, #elenco-servizi .col_25.bg_color_opc {
    background: white;
    padding: 20px 20px 60px;
    text-align: center;
    border-radius: var(--radius-big);
    margin-bottom: 20px;
    position: relative;
    margin-top: 10px;
    min-height: 300px;
}

#elenco-servizi .col_33.bg_color_opc h3 {
  min-height: 50px;
}

#elenco-servizi .col_33.bg_color_opc {
  min-height: 280px;
}

#elenco-servizi .col_25.bg_color_opc {
  padding: 40px 14px;
}

#elenco-servizi .col_25.flex.bg_color_opc {
  min-height: 280px;
}

#elenco-servizi .col_25.bg_color_opc p,
#elenco-servizi .col_33.bg_color_opc p,
#elenco-servizi .col_50.bg_color_opc p,
#elenco-servizi .col_100.bg_color_opc p {
  font-weight: 300;
  line-height: 1.2;
  min-height: 150px;
}

#elenco-servizi .baloon_img {
  border-radius: 0 var(--radius-extra-big) var(--radius-extra-big);
}

.baloon_img img {
  margin-top: 60px;
  height: 120px;
}

.baloon_img img.foto {
  object-fit: contain;
  height: 140px;
  border-radius: 20px;
  margin: 0;
  border-radius: var(--radius-extra-big) var(--radius-extra-big) 0;
}

#elenco-gruppo-servizi h3 {
  /*min-height: 80px;letter-spacing: -1px;*/
  color: black;
  font-size: var(--size-h2) !important;
}

#elenco-gruppo-servizi .h2 {
  min-height: auto;
}

#elenco-gruppo-servizi .descrizione_servizio {
  min-height: 30px;
  margin-bottom: 20px;
}

#elenco-gruppo-servizi h3[title="LIB-01"] img, #elenco-gruppo-servizi h3[title="LIB-02"] img{
		margin:0
}
#elenco-gruppo-servizi h3[title="LIB-01"], #elenco-gruppo-servizi h3[title="LIB-02"] {
    display: flex;
    justify-content: space-between;
}

.box_filtri {
  background: var(--color-invoice-opc);
  padding: 6px;
  border: 3px solid var(--color-invoice-opc);
  border-radius: 100px;
}

#altri-servizi .col_50.bg_color_opc {
  background: white !important;
  padding: 40px 20px;
  text-align: center;
  border-radius: var(--radius-big);
  margin-bottom: 20px;
  position: relative;
  min-height: 140px;
}

#altri-servizi .col_50.bg_color_opc p {
  font-weight: 300;
  line-height: 1.2;
}

#elenco-servizi h3,
#altri-servizi h3 {
  margin-bottom: 20px;
}

#elenco-servizi .descrizione_servizio p:first-child {
  min-height: 50px;
}

.filtro_service {
  box-shadow: 2px 1000px 1px #fff inset;
  color: var(--color) !important;
  border: 2px solid var(--color);
  box-shadow: 0px 0px 8px 0px var(--color-flex3-opc3);
  font-weight: bold;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url("http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/br_down.png")
    white no-repeat 98.5% !important;
  background: url("http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/br_down.png")
    white no-repeat calc(100% - 10px) !important;
}

.filtro_service:focus {
  background: white;
  border-color: var(--color-opc);
}

.namirial {
  background: var(--color);
  width: 100%;
  position: absolute;
  bottom: 0px;
  margin: auto;
  border-radius: 0 0 30px 30px;
  right: 0;
  padding: 10px 15px 10px 10px;
  font-size: 10px;
  font-weight: 500;
  text-align: center;
}

.namirial img {
  margin: 0 !important;
  width: 100px !important;
}

.baloon_img {
  z-index: 999;
}

#elenco-servizi .col_33.bg_color_opc:last-child .baloon_img {
  margin: -90px 0 30px 20px !important;
}

.baloon_img {
  background: var(--color);
  width: 140px;
  height: 140px;
  margin: -90px auto 30px;
  border-radius: var(--radius-extra-big) var(--radius-extra-big) 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.pag_eservice {
  align-items: flex-start;
  margin-bottom:40px;
}

.pag_eservice .baloon_img {
  margin-top: 0;
}

.pag_eservice .col_50 .display_flex {
  align-items: center;
}

.pag_eservice img {
  top: 70px !important;
}

.prodotti_correlati {
  margin-top: 30px;
}

.prodotti_correlati .col_50 {
  width: calc(50% - 20px);
}

.prodotti_correlati .col_50 .col_100 {
  width: calc(100% - 80px);
}

.prodotti_correlati article {
  padding: 0 10px 0 20px;
  margin-bottom: 10px;
  min-height: 70px;
  display: flex;
  border-radius: var(--radius-extra-big);
  align-items: center;
  justify-content: space-between;
}

.prodotti_correlati .baloon_img {
  margin: 0 20px 0 -20px;
  width: 70px;
  height: 70px;
}

.prodotti_correlati a.btn {
  margin: 0 !important;
}

.prodotti_correlati a.btn span,
.prodotti_correlati a.btn i {
  color: var(--bianco) !important;
}

.prodotti_correlati a.btn:hover i {
  color: var(--color-hover) !important;
}

.prodotti_correlati .baloon_img img {
  margin-top: 20px;
  height: 80px;
}

/*********** pagina interne *******/
.border_radius_foto {
  border-radius: 0 300px 300px 300px;
  min-height: 600px;
  object-fit: cover;
}

/******** BANNER PROMOZIONALI *********/
.fascia_banner {
  border-radius: var(--radius-small) var(--radius-small) var(--radius-small) 0;
  padding: 10px;
  text-align: center;
  border: 4px solid white;
  margin-left: 40px;
  width: 100%;
  flex-direction: column;
  position: relative;
  min-height: 120px;
  margin-bottom: 10px;
}

.fascia_banner p {
  color: var(--bianco) !important;
  text-align: center;
  font-size: var(--size-p-big);
  margin: 0;
  padding: 0 50px;
}

.fascia_banner img {
  position: absolute;
  left: -45px;
}
.no-logo {
  margin-left: 0;
}

/******** FINE BANNER PROMOZIONALI *********/
.dati_fatturazione {
  padding: 40px 20px 20px;
  margin: 20px 0 60px;
}

.dati_fatturazione p {
  padding-bottom: 20px;
}

.modifica_dati_fatt {
  position: absolute;
  right: 0;
  top: 10px;
}

.evidenzia {
  background: var(--color-opc2);
  padding: 6px 15px 2px;
  border-radius: var(--radius-small);
}

#testata_servizio .content,
.bg_geometric_azzurro .content,
.bg_namirial .content {
  margin: 130px auto 0;
  padding: 0;
}

.home#testata_servizio h1 {
  font-size: var(--size-h1) !important;
}

.bg_geometric_verdino section.testata {
  justify-content: space-between !important;
}

.box_login {
  margin-top: -200px;
  padding: 0;
}

.pagina_login {
  margin-bottom: 40px;
}

.form_login_eservice {
  background: var(--color-opc);
  padding: 40px;
  border-radius: 0 var(--radius-big) var(--radius-big) var(--radius-big);
  margin: 10px 20px 10px 0;
}

.form_login_eservice .input_text_attivo,
.modifica_dati_fatturazione .input_text_attivo,
.modifica_dati_fatturazione .input_select_attivo {
  background: white !important;
  border: 2px solid var(--color-opc2);
  margin-bottom: 10px;
  height: 50px;
  padding: 6px 15px;
}

p.ricordami {
  display: flex;
  align-content: center;
  align-items: center;
}

.recupero a {
  font-size: var(--size-p-small);
  color: var(--color);
  font-weight: bold;
}

.bg_triangoli_y {
  background-image: url(../img/triangoli_colorati_vert.svg);
  background-repeat: repeat-y;
  background-position: 100% 0%;
}

.pagina_login .bg_triangoli_y img {
  margin-right: 7px;
}

.login#testata_servizio {
  min-height: 350px;
}

.modifica_dati_fatturazione label {
  min-height: 30px !important;
  display: flex;
  align-items: flex-end;
}

.box_pagamento {
  border: 3px solid var(--color-opc2);
  border-radius: var(--radius-big);
  padding: 40px;
}

.row_prodotto {
  width: 43%;
}

.col_quantity {
  width: 15%;
}

.row_prezzo.dsk {
  width: 15%;
  text-align: center !important;
}

.row_prezzo.mbl {
  display: none;
}

.n_prodotti {
  width: 15%;
  text-align: center;
}

.subtotale {
  width: 20%;
}

.riga_promo .row_prodotto {
  width: 75%;
  line-height: 1;
}

.body_elenco_carrello .riga_promo li.subtotale,
.body_elenco_carrello_upselling .riga_promo li.subtotale {
  padding-right: 15px;
}

.upselling .row_prodotto {
  width: 63%;
  line-height: 1;
}

.upselling .row_prezzo {
  width: 30%;
  line-height: 0.7;
  display: flex;
  align-items: center;
}

.upselling .row_prezzo .p_big {
  flex: 1;
  margin: 0 10px 0;
}

.upselling .row_prezzo small {
  font-size: var(--size-p-small);
}

.icona_prodotto {
  width: 7%;
}

.quantity {
  max-width: 160px;
}

.body_elenco_carrello .quantity input,
.body_elenco_carrello_upselling .quantity input {
  font-size: var(--size-p-big) !important;
  font-weight: bold;
}

li.icona_prodotto img {
  max-width: 40px;
}

.contenuto_carrello {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  justify-content: flex-start;
}
/********** PAGINA  FATTURE ELETTRONICHE ***********/
#accedi_gratuitamente h1 {
  font-size: 4rem !important;
}

#header_fatture_elettroniche h2 {
  letter-spacing: -1px;
}

#header_fatture_elettroniche h2:nth-child(2) {
  font-size: 2.1rem !important;
}

.testo_FE {
  font-size: 1.2rem !important;
  text-align: justify !important;
}

.box_iscrizione {
  margin-top: 10px;
  background: rgba(var(--bianco_rgb), 0.9);
  border-radius: 0 var(--radius-big) 0 var(--radius-big);
  padding: 20px;
  border: 5px solid rgba(var(--verde_chiaro_rgb), 0.5);
}

.box_iscrizione .ricevi_sms {
  padding: 5px;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 0 !important;
  font-size: calc(var(--size-p-big) - 4px);
  color: var(--color) !important;
  background: var(--color-opc2);
  border-radius: 5px;
  margin-top: 5px;
  letter-spacing: -0.5px;
}

#reg_lan {
  min-height: 270px !important;
  width: 100%;
  border: none;
}

#attivazione_fatturazione_elettronica .col_piano_fattura {
  margin-top: 60px;
}

.note_plus {
  background: var(--color-flex-sfumato);
  border-radius: var(--radius-small);
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  text-align: center;
}

.n_fatture {
  font-size: var(--size-h3) !important;
  font-weight: bold !important;
  padding: 5px 10px;
  border-radius: 5px;
  font-family: var(--font-secondario);
  text-transform: uppercase;
  background: var(--color-opc2);
  display: inline-block !important;
  margin-top: 10px;
}

.col_piano_fattura {
  border-radius: var(--radius-big) var(--radius-big) var(--radius-big) 0;
  text-align: center;
  padding: 20px 20px 30px;
  margin-top: 30px;
}

.col_piano_fattura .p_big {
  color: var(--nero);
  font-weight: 300;
  text-transform:uppercase;
  margin-top:10px;
}

.col_piano_fattura p {
  display: inline;
  font-size: var(--size-p-big);
  color: var(--grigio);
}

.col_piano_fattura h3 {
  text-transform: uppercase;
  font-size: var(--size-p-big);
  padding: 5px 0;
}

.col_piano_fattura h3 b,
.col_piano_fattura h3 strong {
  font-weight: 900 !important;
}

.dettagli_fatturazione {
  list-style: none;
  margin: 0;
}

.dettagli_fatturazione li {
  margin-bottom: 15px;
  display: flex;
  text-align: left;
  font-size: var(--size-p-big);
  align-items: flex-start;
}

.dettagli_fatturazione .pagina_carrello i {
  margin-right: 10px;
  color: var(--color);
  font-size: 26px;
  margin-top: -4px;
  background:white;
  border-radius:50px;
}

.dettagli_fatturazione li span {
  margin-top: -3px;
}

#domande-risposte h4 {
  color: var(--color) !important;
  font-size: var(--size-h3) !important;
  font-weight: bold;
  margin: 10px 0 5px;
}

#domande-risposte a,
#domande-risposte a b {
  text-decoration: underline !important;
  color: var(--grigio-scuro);
}

#domande-risposte a:hover,
#domande-risposte a:hover b {
  color: var(--color) !important;
}

#domande-risposte .n_faq {
  font-size: 80px;
  text-align: center;
  width: 50px;
  color:white;
  font-weight: 900;
  margin: 0;
}

#domande-risposte article {
  display: flex;
  position: relative;
}

#domande-risposte article .col_80 {
  margin-left: 10px;
  width: calc(100% - 60px);
}

#domande-risposte article .col_80 p {
  border-bottom: 5px solid white;
  margin-bottom: 30px;
  padding-bottom: 10px;
}
/************* BANNER DIVISORI PAGINA CON CTA **************/
.inizia_gratis,
.inizia_gratis2 {
  padding: 30px 0px 0px;
  background-image: url(../img/triangoli_colorati.svg);
  background-position: bottom left;
  background-repeat: repeat-x;
  position: relative;
  margin: 0;
  background-size: 60%;
  align-items: center;
  text-align: center;
}

.inizia_gratis {
  min-height: 400px;
  background-size: 40%;
  justify-content: flex-end;
  margin-top: 90px;
}

.bg_azzurro.inizia_gratis {
  justify-content: flex-start;
}

.inizia_gratis .col_100.content2.row {
  min-height: 400px;
  justify-content: flex-end;
}

.inizia_gratis h3,
.inizia_gratis2 h3 {
  font-size: calc(var(--size-h1) - 0.7rem) !important;
  margin-bottom: 20px;
}

.inizia_gratis h3 {
  margin-top: 50px;
}

.bg_azzurro.inizia_gratis .col_50 {
  padding: 0px 0px 0px 100px;
}

.inizia_gratis2 {
  padding-top: 0;
  margin-top: 100px;
  background-size: 40%;
}

.inizia_gratis2 h3 {
  margin-top: 0;
}

.inizia_gratis2 .thumb_accedi_gratis {
  margin-top: -100px;
}

.inizia_gratis .thumb_accedi_gratis {
  position: absolute;
  right: 60px;
  bottom: -20px;
}

.inizia_gratis .btn i,
.inizia_gratis2 .btn i {
  padding: 25px;
}

.inizia_gratis .btn,
.inizia_gratis2 .btn {
  background: var(--blu_service);
  padding: 25px !important;
}

.inizia_gratis2 .btn {
  margin-bottom: 120px !important;
}

.img_inizia_gratis img {
  margin-top: -100px;
}

.img_inizia_gratis {
  position: absolute;
  bottom: 0;
  left: -50px;
  height: 560px;
  object-fit: contain;
}

.bg_azzurro.inizia_gratis .col_100.content2.row {
  justify-content: flex-start;
}

.bg_azzurro.inizia_gratis .img_inizia_gratis {
  right: 20px;
  left: inherit;
}

.img_ricevi_assistenza {
  margin-top: -110px;
  object-fit: contain;
}

.ricevi_assistenza.fai_il_primo_passo {
  margin-top: 120px !important;
}

.titoli_assistenza {
  font-size: var(--size-testo-assistenza) !important;
}

.ricevi_assistenza .btn.negativo {
  border-color: black;
}
.ricevi_assistenza .btn.negativo span,
.ricevi_assistenza .btn.negativo i {
  color: black;
  background: none !important;
}

.ricevi_assistenza .btn.negativo:hover {
  box-shadow: 2px 1000px 1px var(--color-coupon) inset;
  border-color: white;
}

.ricevi_assistenza .btn.negativo:hover i {
  background: none !important;
  color: white !important;
}

.ricevi_assistenza .btn.negativo:hover span {
  color: white !important;
}

section.testata img.testata_dsk {
  margin-right: 20px;
}

/********** PAGINA PEC, FIRMA DIGITALE *******/
section#pec_firma_digitale_spid.testata img {
  margin-top: -10px !important;
  padding-left: 0 !important;
}

.servizi_namirial h3.titolo_servizio {
  min-height: 80px;
  margin: 0px;
  padding: 10px 20px;
  background-color: transparent;
  background-image: linear-gradient(140deg, #00423f 0%, #272a39 93%);
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--radius-small) var(--radius-small) 0 0;
  color: white !important;
  text-align: center;
}

.servizi_namirial p.prezzo_scontato {
  color: var(--verde-namirial);
  font-size: var(--size-h2);
  font-weight: 600;
  text-align: center;
  margin: 20px 0 0;
}

.servizi_namirial p.prezzo_intero {
  font-size: var(--size-p-big);
  text-align: center;
  color: var(--grigio);
  margin: 0;
}

.servizi_namirial .col_50 {
  box-shadow: 0px 0px 14px 0px
    rgba(38.99999999999999, 42.00000000000002, 56.99999999999998, 0.25);
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
  border-radius: var(--radius-small) var(--radius-small) var(--radius-small) 0;
  margin-bottom: 20px;
}

.servizi_namirial .descrizione_servizio {
  padding: 20px;
  background: var(--color-opc);
  margin: 20px;
  border-radius: var(--radius-small);
  display: none;
}

.servizi_namirial p.testo_promo {
  color: var(--color);
  text-align: center;
  line-height: 1;
  margin: 0 0 20px;
  min-height: 40px;
}

.servizi_namirial .cta_servizio {
  margin-bottom: 30px;
}

.cta_servizio .btn {
  min-width: calc(50% - 40px);
}

/************* filtri servizi **********/
.box_filtri .row > * {
  flex: auto;
}

.flipSwitch {
  border-radius: 50px;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-evenly;
  position: relative;
}

.flipSwitch input {
  display: none;
}

.flipSwitch a {
  transition: all 0.5s ease-out;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
}

.flipSwitch input:nth-of-type(1):checked ~ a {
  left: 0%;
  border-radius: 50px;
}

.flipSwitch input:nth-of-type(2):checked ~ a {
  left: 50%;
  border-radius: 50px;
}

.flipSwitch input:checked + label {
  background: var(--color2);
  color: black;
  border-color:black
}

.flipSwitch label {
	z-index: 1;
	font-size: var(--size-p-big);
	text-align: center;
	flex-grow: 1;
	color: #fff;
	font-weight: bold;
	padding: 6px;
	margin: 0;
	display: table-cell;
	cursor: pointer;
	flex: 1;
	min-width: 240px;
	-webkit-transition: all 0.5s;
	-ms-transition: all 0.5s;
	transition: all 0.5s;
}

/* Hide other toggle label */

.flipSwitch input + label {
    color: var(--grigio);
    text-shadow: unset;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 50px;
    border: 2px solid transparent;
}

span#regime_in_titolo {
  color: var(--color);
  font-size: var(--size-h3);
  display: block;
  font-weight: 600;
}

.attenzione {
  border: 3px solid var(--color-opc2);
  border-radius: 7px;
  padding: 5px 0px 4px 0;
  width: 100%;
  font-weight: bold;
}

.attenzione x {
  font-weight: bold;
  color: var(--color);
  padding: 5px 13px;
  margin-right: 10px;
  background: var(--color-opc2);
}

.errore_ordine {
  background-color: var(--rosso);
  padding: 10px 0;
  text-align: center;
  margin-bottom: 10px;
  line-height: 1.1;
  color: white;
  font-size: var(--size-p-big);
  border-radius: var(--radius-big);
  margin: 10px 0 40px;
  padding: 10px;
}

li.no_before:before {
  display: none;
}

.logo_banner {
  position: absolute;
  right: 0px;
  background: aliceblue;
  padding: 20px;
  width: 40%;
  border-radius: 0 0 20px 20px;
  top: 0px;
  left: 0;
  margin: auto;
  min-height: 100px;
  display: flex;
  align-content: center;
  justify-content: center;
}

.testi_promo {
  padding: 130px 40px 30px;
  position: relative;
  text-align: center;
}

#banner .btn {
  min-width: fit-content;
}

section#banner {
  padding-bottom: 40px;
}

div:where(.swal2-container) button:where(.swal2-styled) {
  padding: 0 !important;
}

div:where(.swal2-container)
  div:where(.swal2-actions):not(.swal2-loading)
  .swal2-styled:hover {
  background-image: none !important;
}

div:where(.swal2-container)
  button:where(.swal2-styled).swal2-default-outline:focus {
  box-shadow: none !important;
}

form_pagamento label {
  cursor: pointer;
}

section#elenco-servizi h2 br {
  display: none;
}

div#specifica6 ul {
  margin-left: 0 !important;
}

.tutti_servizi {
  position: absolute;
  right: 0;
  z-index: 999;
}

.prezzo_a_partire {
    border: 3px dashed black;
    padding: 10px 0;
    text-align: center;
    border-radius: var(--radius-big);
    background: white;
	min-width:250px;
	position:relative;
	margin-left:40px
}

.prezzo_a_partire .fa-arrow-down {
    font-size: 30px;
    width: 60px;
    height: 60px;
    padding: 20px;
    border: 3px dashed #000;
    border-radius: var(--radius-extra-big);
    color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-transition: ease-out 0.2s;
    -moz-transition: ease-out 0.2s;
    transition: ease-out 0.2s;
    margin: 20px 0 0;
    position: absolute;
    bottom: 40px;
    margin: auto;
    left: -246px;
    right: 0;
    background: white;
}
.prezzo_a_partire a:hover .fa-arrow-down{
	background:var(--color2);
	transform:translate(0, 10px)
}

.btn_applica_codice_promo.mbl {
  display: none;
}

.btn_applica_codice_promo.dsk {
  display: block;
  min-height: 40px;
}

input#codice_promo::placeholder {
  font-weight: 500;
}

.box_sconti_dedicati,
.risparmia_flextax {
  background: var(--color-opc);
  padding: 35px 20px 30px;
  margin: 40px 0px 20px;
  border-radius: var(--radius-big);
  position: relative;
  border:3px solid var(--color2);
}

.barrato {
  background: linear-gradient(
    to left top,
    transparent 47.75%,
    currentColor 49.5%,
    currentColor 50.5%,
    transparent 52.25%
  );
}

.box_sconti_dedicati i,
.risparmia_flextax i {
  background: var(--color2);
  position: absolute;
  top: -20px;
  padding: 12px;
  border-radius: 0 var(--radius-big) var(--radius-big);
  color: white;
  font-size: var(--size-h3);
}

.risparmia_flextax:after {
  content: "\f4d3";
  display: flex;
  position: absolute;
  top: -20px;
  padding: 12px;
  border-radius: 0 var(--radius-big) var(--radius-big);
  color: white;
  background: var(--color2);
  font-size: var(--size-h3);
  width: 50px;
  height: 50px;
  font-family: "Font Awesome 5 Pro", FontAwesome;
  align-content: center;
  align-items: center;
  font-weight: 900;
}

.box_sconti_dedicati:after {
  content: "\f02c";
  display: flex;
  position: absolute;
  top: -20px;
  padding: 12px;
  border-radius: 0 var(--radius-big) var(--radius-big);
  color: white;
  background: var(--color2);
  font-size: var(--size-h3);
  width: 50px;
  height: 50px;
  font-family: "Font Awesome 5 Pro", FontAwesome;
  align-content: center;
  align-items: center;
  font-weight: 900;
}

garanzia,
pagamento_rate {
  width: 100%;
}

.dati_fatturazione .col_100.display_flex_center .btn {
  margin: 10px !important;
}

.light {
  font-weight: 300 !important;
}

.totale_carrello .prezzo_servizio.paga_subito {
  margin-top: 40px;
  padding: 20px 0 40px;
}

.totale_carrello .prezzo_servizio.paga_subito .oppure,
.pagina_dettaglio .card.prezzi .oppure,
.scheda .oppure {
  display: flex;
  width: 100%;
  align-items: center;
  padding: 10px;
  color: var(--color2);
}
.pagina_dettaglio .card.prezzi .oppure {
  margin-top: -20px;
}
.totale_carrello .prezzo_servizio.paga_subito span.oppure:before,
.totale_carrello .prezzo_servizio.paga_subito span.oppure:after,
.scheda span.oppure:before,
.scheda span.oppure:after,
.pagina_dettaglio .card.prezzi span.oppure:after,
.pagina_dettaglio .card.prezzi span.oppure:before {
  border-bottom: 3px dashed var(--color2);
  content: "";
  display: inline-flex;
  height: 1px;
  position: relative;
  vertical-align: middle;
  min-width: 30px;
  flex: 1;
}

span.oppure:before {
  margin-right: 10px;
}

span.oppure:after {
  margin-left: 10px;
}

.box_pay {
  border: 3px solid var(--grigio-tab);
  border-radius: 10px;
  padding: 10px;
}

.box_pay:hover,
.box_pay:has(input:focus),
.box_pay:has(input:checked) {
  border-color: var(--color2);
}

.box_pay:has(input:focus) label,
.box_pay:has(input:checked) label {
  font-weight: bold;
}

.box_pay:hover label {
  font-weight: bold;
}

.box_pay:hover label b {
  background: var(--color2);
  padding: 2px 5px;
  border-radius: 5px;
}


span.plus_qty.plus {
    background: var(--color-flex2);
}


span.plus_qty.plus:hover {
    border-color:white;
}



#testata_servizio .titolo_testata {
    margin-bottom: 20px;
	width: calc(100% - 300px);
}

#testata_servizio.home .titolo_testata {
	width: 100%;
}

#testata_servizio .content:after {
    content: " ";
    height: 10px;
    background: var(--color-invoice-opc);
    display: block;
    margin: auto;
    border-radius: 60px;
}

.tutti_servizi_pd {
    margin: 0 20px 20px 0;
	text-align:right;
}

.menu_header .dati_carrello .carrello i {
    font-size: 30px;
    margin-right: 15px;
}