/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/
/*.no-tel { display: none !important; }*/

/* =====================================================
   VARIABILI TIMING PER SLIDER HERO HOME PAGE 
   Modifica qui tutto: in questo esempio le slide sono 4
   ===================================================== */
:root {
                                /* durata permanenza slide = 5s; durata transizione = 0.8s */
  --slide-duration: 23.2s;      /* Durata ciclo totale = (durata permanenza slide + durata transizione) × numero slide */
  --slide-delay: 5.8s;          /* Delay tra una slide e l'altra = durata ciclo totale / numero totale slide */
  --smartphone-offset: 0.35s;   /* Ritardo smartphone rispetto a background */
  --fade-duration: 0.8s;        /* Durata del fade-in / fade-out */
}

/* ============================================================
   KEYFRAMES - Con fade IN e fade OUT PER SLIDER HERO HOME PAGE
   ============================================================ */
@keyframes slideLoop {
  0% { opacity: 0; }
  3.45% { opacity: 1; }
  25% { opacity: 1; }
  28.45% { opacity: 0; }
  100% { opacity: 0; }
}

/* =======================================================
   BACKGROUND SLIDER HERO HOME PAGE - Disabilita Swiper JS
   ======================================================= */
.home .awb-background-slider.swiper-fade .swiper-wrapper {
  transition: none !important;
  height: 100% !important;
}

.home .awb-background-slider.swiper-fade .swiper-slide {
  transition: none !important;
  transform: translate3d(0, 0, 0) !important;
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/* Animazioni background slide */
.home .awb-background-slider .swiper-slide:nth-child(1) {
  z-index: 4;
  animation: slideLoop var(--slide-duration) infinite backwards;
  animation-delay: calc(0s - var(--fade-duration));
}

.home .awb-background-slider .swiper-slide:nth-child(2) {
  z-index: 3;
  animation: slideLoop var(--slide-duration) infinite backwards;
  animation-delay: calc(var(--slide-delay) - var(--fade-duration));
}

.home .awb-background-slider .swiper-slide:nth-child(3) {
  z-index: 2;
  animation: slideLoop var(--slide-duration) infinite backwards;
  animation-delay: calc(var(--slide-delay) * 2 - var(--fade-duration));
}

.home .awb-background-slider .swiper-slide:nth-child(4) {
  z-index: 1;
  animation: slideLoop var(--slide-duration) infinite backwards;
  animation-delay: calc(var(--slide-delay) * 3 - var(--fade-duration));
}

/* ========================================
   SMARTPHONE SLIDE HERO HOME PAGE
   ======================================== */
#maschera-smartphone .fusion-column-wrapper {
  position: relative;
}

.fusion-image-element:has(.slide) {
  position: absolute;
}

.fusion-image-element:not(.slide) {
  z-index: 10;
}

.fusion-image-element:has(.slide.slide-01) {
  z-index: 4;
  animation: slideLoop var(--slide-duration) infinite backwards;
  animation-delay: calc(var(--smartphone-offset) - var(--fade-duration));
}

.fusion-image-element:has(.slide.slide-02) {
  z-index: 3;
  animation: slideLoop var(--slide-duration) infinite backwards;
  animation-delay: calc(var(--slide-delay) + var(--smartphone-offset) - var(--fade-duration));
}

.fusion-image-element:has(.slide.slide-03) {
  z-index: 2;
  animation: slideLoop var(--slide-duration) infinite backwards;
  animation-delay: calc(var(--slide-delay) * 2 + var(--smartphone-offset) - var(--fade-duration));
}

.fusion-image-element:has(.slide.slide-04) {
  z-index: 1;
  animation: slideLoop var(--slide-duration) infinite backwards;
  animation-delay: calc(var(--slide-delay) * 3 + var(--smartphone-offset) - var(--fade-duration));
}

/* ==================================================================
   MEDIA QUERY - Nella Hero in Home Page Nascondi smartphone < 1024px
   senza bloccare le animazioni CSS
   ================================================================== */
@media (max-width: 1024px) {
  #maschera-smartphone {
    display: block !important;
    visibility: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
  /* su dispositivo mobile immagine fissa */
  #hero-image .swiper-wrapper::before {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    content: "";
    background-position: right center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("https://www.viperpro.it/wp-content/uploads/2026/02/hero-immobile.jpg");
  }
}

 /* ########## nasconde badge iubenda "created with iubenda" - start ########## */
body #iubenda-cs-banner.iubenda-cs-default-floating.iubenda-cs-bottom .iubenda-cs-brand-badge-outer, 
body #iubenda-cs-banner.iubenda-cs-default.iubenda-cs-bottom .iubenda-cs-brand-badge-outer {
    display: none !important;
}
/* ########## nasconde badge iubenda "created with iubenda" - end ########## */
.settore-operativo span,
.settore-operativo select {
  display: block;
  width: 100%;
}
.settore-operativo select {
  font-size: 17px !important;
  color: #000000 !important;
  padding: 0 40px 0 15px; /* spazio a destra per la freccia */
  cursor: pointer;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  background-image:
    linear-gradient(45deg, transparent 50%, #666 50%),
    linear-gradient(135deg, #666 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%;
  background-size:
    6px 6px,
    6px 6px;
  background-repeat: no-repeat;
}
.width-full { 
  padding: 0 50px !important;
 }
 
@media screen and (max-width: 1024px) {
  .width-full {     
    padding: 0 40px !important;
    left: -30px;
    width: 100vw;
 }
}
.mw-900 {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.grecaptcha-badge {
  z-index: 999999 !important;
}
.fusion-theme-sharing-box.fusion-sharing-box {
  display: flex;
}
/* ############## PULSANTI ACCEDI E PROVALO GRATIS ############## */
#menu-mainmenu,
#menu-mainmenu-inglese {
  position: relative;
  top: 12px;
}

#menu-item-1155,
#menu-item-2398 {
  padding-right: 15px;
}

#menu-item-1155,
#menu-item-2398,
#menu-item-900,
#menu-item-2399 {
  line-height: 83px;
}

#menu-item-1155 a,
#menu-item-2398 a,
#menu-item-900 a,
#menu-item-2399 a,
#mobile-menu-item-1155 a,
#mobile-menu-item-2398 a,
#mobile-menu-item-900 a,
#mobile-menu-item-2399 a {
  border: 1px solid #008dcf;
  height: auto !important;
  padding: 13px 20px;
  border-radius: 2px;
  display: inline-block;
}

#mobile-menu-item-1155 a,
#mobile-menu-item-2398 a,
#mobile-menu-item-900 a,
#mobile-menu-item-2399 a {
  width: 250px;
}

#menu-item-1155 a,
#menu-item-2398 a {
  color: #008dcf;
}

#menu-item-900 a,
#menu-item-2399 a {
  background-color: #008dcf;
  color: #ffffff;
}

#menu-item-1155 a:hover,
#menu-item-900 a:hover,
#mobile-menu-item-1155 a:hover,
#mobile-menu-item-900 a:hover,
#menu-item-2398 a:hover,
#menu-item-2399 a:hover,
#mobile-menu-item-2398 a:hover,
#mobile-menu-item-2399 a:hover {
  background-color: #ffffff;
  color: #272d3a;
  border-color: #272d3a;
}

#mobile-menu-item-1155 a:hover,
#mobile-menu-item-2398 a:hover {
  background-color: transparent !important;
}

#mobile-menu-item-1155,
#mobile-menu-item-900,
#mobile-menu-item-1155 a,
#mobile-menu-item-900 a,
#mobile-menu-item-2398,
#mobile-menu-item-2399,
#mobile-menu-item-2398 a,
#mobile-menu-item-2399 a {
  line-height: normal !important;
}

#mobile-menu-item-1155,
#mobile-menu-item-2398 {
  padding-top: 30px;
  padding-bottom: 5px;
}

#mobile-menu-item-1155 a,
#mobile-menu-item-2398 a {
  color: #ffffff;
  border-color: #ffffff;
}

#mobile-menu-item-900 a,
#mobile-menu-item-2399 a {
  color: #008dcf;
  border-color: #ffffff;
  background-color: #ffffff;
}

#mobile-menu-item-900,
#menu-item-2399 {
  padding-right: 25px;
}

#menu-item-wpml-ls-13-it {
  padding-right: 20px;
}

#mobile-menu-item-wpml-ls-13-it,
#mobile-menu-item-wpml-ls-13-en {
  display: inline-block;
  width: auto !important;
  margin-top: 20px;
}

body #mobile-menu-mainmenu {
  padding-top: 0;
}

/* ############## PULSANTI ACCEDI E PROVALO GRATIS ############## */

.mezza_colonna {
  width: 100%;
  float: none;
  margin-right: 0;
  margin-bottom: 30px;
  background-color: #f6faff;
  padding: 15px 30px;
}

@media screen and (min-width: 768px) {
  .mezza_colonna {
    width: 48%;
    float: left;
    margin-right: 2%;
    margin-bottom: 0;
  }

  .mezza_colonna:last-child {
    margin-right: 0;
  }
}

.clear {
  clear: both;
}

#iubenda-pp {
  z-index: 9999999 !important;
}

body #iubenda-pp-overlay {
  z-index: 10200 !important;
}

.cc-revoke.cc-bottom {
  display: none !important;
}

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

.desktop {
  display: none !important;
}
@media screen and (min-width: 768px) {
  .mobile {
    display: none !important;
  }

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

/* BOX FUNZIONI
#box-elenco-funzioni .box-funzioni>div {background-color: rgb(255, 255, 255);overflow: hidden;box-shadow: rgb(0, 118, 254) 0px 0px 18px -5px;padding: 40px 30px 30px;background-position: left top;background-repeat: no-repeat;background-size: cover;border-radius: 15px;}
*/

p.risalto {
    /*background-color: #04A9F4;*/
    background-color: #F1F6FC;
    /*color: #ffffff;*/
    padding: 30px;
}
a.cc-link {
  color: #ffffff !important;
  opacity: 1 !important;
}

a.cc-link:hover {
  opacity: 0.8 !important;
}

.box-funzioni .fusion-title {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

/*body.home header { border-bottom: 1px solid #2095F2; }*/
body.home header {
  border-bottom: 0px !important;
}

body header a {
  text-transform: uppercase !important;
}

.wpcf7-form-control.wpcf7-acceptance {
  position: relative;
  top: -1px;
}

.wpcf7-form-control.wpcf7-acceptance span {
  margin-left: 0;
}

body .fusion-mobile-nav-holder {
  z-index: 9999999 !important;
}

body .fusion-mobile-nav-holder .fusion-mobile-current-nav-item a span {
  border-bottom: 1px solid #ffffff;
  box-shadow: 0px -3px 0px #ffffff inset;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  font-style: italic;
}

body .border-color-blue {
  border-color: #008dcf !important;
}

body .border-color-blue:hover {
  border-color: #ffffff !important;
}

.fusion-copyright-content {
  border: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.postid-939 h2 {
  margin-top: 1.8em;
  margin-bottom: 0.6em;
}

@media screen and (max-width: 480px) {
  body .pulsanti_hero_homepage {
    padding: 13px 0px !important;
    line-height: 17px !important;
    font-size: 13px !important;
    width: 45% !important;
    margin: 0 2.5% !important;
  }
}

@media screen and (min-width: 300px) and (max-width: 767px) {
  .cc-window {
    position: fixed !important;
    width: 90% !important;
    top: 56% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    height: 40%;
    z-index: 100 !important;
    border-radius: 10px !important;
    box-shadow: 0px 0px 80px 15px #555 !important;
  }
}

.indice a:hover {
  text-decoration: underline;
}

.requisiti {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.requisiti li i {
  color: #008dcf;
  margin-right: 15px;
  width: 20px;
  position: relative;
  top: 6px;
  text-align: center;
  pointer-events: none;
}

.requisiti li span {
  width: calc(100% - 35px);
  padding-bottom: 10px;
}

.requisiti li i,
.requisiti li span {
  float: left;
}

.TOC {
  padding: 15px;
  background-color: #eeeeee;
  margin: 35px 15px auto;
}

@media screen and (min-width: 768px) {
  .TOC {
    padding: 20px;
    margin: 35px 30px auto;
  }
}

#pulsanti_teleassistenza {
  text-align: center !important;
}

#pulsanti_teleassistenza .fusion-alignleft {
  float: none !important;
  margin: 0 10px 20px 10px !important;
  display: inline-block !important;
}

#pulsanti_teleassistenza .fusion-alignleft a {
  width: 250px !important;
}

.testo_teleassistenza p {
  font-size: 22px;
}

/* pagina 404 */
body.error404 .error-menu .menu-item.wpml-ls-slot-13 {
  display: none;
}

body.error404 #fusion-checklist-1 {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

body.error404 #fusion-checklist-1 li .fusion-li-item-content {
  margin: 0 0 5px 0 !important;
  display: inline-block;
}

body.page-id-1161 main {
  padding-bottom: 0 !important;
}

body.page-id-962 .riga-loghi-compagnie {
  background-color: #ffffff !important;
}

#titolo-chi-siamo {
  font-size: 45px !important;
}

@media screen and (max-width: 480px) {
  #contenuto-chi-siamo .fusion-column-wrapper {
    padding: 0 !important;
  }

  #titolo-chi-siamo {
    font-size: 40px !important;
  }
}

/* modifiche del 04/06/2020 */
body .fusion-secondary-header {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  /*background-color: #2548990a;*/
  border-top: 0 !important;
  border-bottom: 1px solid #63626236;
}

body .fusion-secondary-header #menu-item-1344 i,
body .fusion-secondary-header #menu-item-1361 i,
body .fusion-secondary-header #menu-item-2393 i,
body .fusion-secondary-header #menu-item-2394 i {
  transform: rotate(135deg);
  margin-right: 4px !important;
}

body .fusion-secondary-header a i {
  margin-right: 10px;
  font-size: 18px;
}

body .fusion-secondary-header a {
  font-size: 15px !important;
  padding: 0 !important;
  color: #636262 !important;
}

body .fusion-secondary-header ul {
  text-align: right;
}

body .fusion-secondary-header ul li {
  position: relative;
  padding: 0 15px;
}

body .fusion-secondary-header ul li#menu-item-1344,
body .fusion-secondary-header ul li#menu-item-2393 {
  padding-right: 0;
}

body .fusion-secondary-header ul li#menu-item-1361,
body .fusion-secondary-header ul li#menu-item-2394 {
  display: none;
}

body .fusion-secondary-header ul li a {
  position: relative;
  height: unset !important;
  text-align: center;
}

/*
body .fusion-secondary-header ul li a::before { position: absolute; left:50%; transform: translateX(-50%); bottom:3px; width: 100%; height: 2px; content: " "; background-color: #333333; opacity: 0;
    -webkit-transition: opacity 0.3s ease-in-out;
    -moz-transition: opacity 0.3s ease-in-out;
    -ms-transition: opacity 0.3s ease-in-out;
    -o-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
 }
 */
body .fusion-secondary-header ul li a:hover span {
  color: #008dcf !important;
}

/*body .fusion-secondary-header ul li a:hover::before { opacity: 1; }*/
/*
body .fusion-secondary-header ul li:first-child::after { content:"|"; font-weight: 900; color: #008dcf !important; position: absolute; right:0; top:50%; transform: translateY(-50%); }
*/
/*
body .fusion-secondary-header ul li:first-child::before,
body .fusion-secondary-header ul li::after { content: ""; font-weight: 900; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1px; height: 90%; background-color: #333333; }
*/
body .fusion-secondary-header ul li:first-child::before {
  right: unset;
  left: 0;
}

footer.fusion-widget-area {
  border-bottom: 1px solid #242a39;
  padding-top: 90px !important;
  padding-bottom: 90px !important;
}

footer .fusion-columns-4 .fusion-column h4,
footer h3 {
  font-size: 18px !important;
  margin-bottom: 18px !important;
  color: #ffffff;
}

footer .fusion-columns-4 .fusion-column ul li {
  padding: 0;
  border: 0 !important;
  margin-bottom: 3px !important;
}

footer .fusion-columns-4 .fusion-column ul li a {
  font-size: 16px;
  display: inline-block;
}

footer .fusion-columns-4 .fusion-column ul li a::before {
  display: none !important;
}

/*
footer .fusion-columns-4 .fusion-column { width: 20% }
footer .fusion-columns-4 .fusion-column:first-child { width: 40%; }
footer .fusion-columns-4 .fusion-column:first-child section { text-align: center; margin-bottom: 0 }
footer .fusion-columns-4 .fusion-column:first-child section p { text-align: center; margin-top: 0; color: #ffffff !important; }
footer .fusion-columns-4 .fusion-column:first-child section p.testo-piccolo { font-size: 13px !important; line-height: 25px !important; margin-bottom: 0 !important; }
footer .fusion-columns-4 .fusion-column:first-child section p.testo-piccolo img { vertical-align: top; width: 150px; }
footer .fusion-columns-4 .fusion-column:first-child section .testo-sotto-logo { margin-bottom: 40px; }
*/
footer .fusion-columns-4 .fusion-column {
  width: 20%;
}

footer .fusion-columns-4 .fusion-column.fusion-column-last {
  width: 40%;
}

footer .fusion-columns-4 .fusion-column.fusion-column-last section {
  text-align: center;
  margin-bottom: 0;
}

footer .fusion-columns-4 .fusion-column.fusion-column-last section p {
  text-align: center;
  margin-top: 0;
  color: #ffffff !important;
}

footer
  .fusion-columns-4
  .fusion-column.fusion-column-last
  section
  p.testo-piccolo {
  font-size: 13px !important;
  line-height: 25px !important;
  margin-bottom: 0 !important;
}

footer
  .fusion-columns-4
  .fusion-column.fusion-column-last
  section
  p.testo-piccolo
  img {
  vertical-align: top;
  width: 150px;
}

footer
  .fusion-columns-4
  .fusion-column.fusion-column-last
  section
  .testo-sotto-logo {
  margin-bottom: 40px;
}

footer #social_links-widget-2 h4 {
  font-weight: normal !important;
  font-size: 15px !important;
  margin-top: 15px !important;
  margin-bottom: 10px !important;
}

footer .fusion-social-network-icon {
  margin: 0 15px !important;
  opacity: 0.85 !important;
}

footer h4.seguici-su {
  font-size: 15px !important;
  margin-bottom: 18px !important;
  color: #ffffff;
}

footer .fusion-social-network-icon:hover {
  opacity: 1 !important;
}

footer .fusion-social-network-icon::before {
  color: #ffffff !important;
}

.page-id-12 article h2 {
  margin-top: 0 !important;
  margin-bottom: 20px;
}

.page-id-12 article {
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 50px;
}

.page-id-12 article .fusion-clearfix {
  display: block !important;
  width: 100% !important;
}

.page-id-12 article .fusion-meta-info {
  width: calc(100% - 320px - 25px) !important;
  position: absolute;
  bottom: 0;
  right: 0;
  border: 0;
}

.page-id-12 article .fusion-meta-info .fusion-alignleft,
.page-id-12 article .fusion-meta-info .fusion-alignright {
  width: 50% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
}

.page-id-12 article .fusion-meta-info .fusion-alignright {
  text-align: right !important;
}

.page-id-12 article .fusion-meta-info .fusion-read-more {
  font-size: 18px;
}

.page-id-12 article .fusion-meta-info .fusion-alignleft span {
  color: #000000;
  font-style: italic;
}

#termini-e-condizioni .iub_content.legal_pp {
  padding: 0 !important;
}

#termini-e-condizioni .iub_content.legal_pp h1 {
  display: none !important;
}

.page-id-1365 #main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.page-id-2386 #main,
.page-id-2431 #main {
  padding-bottom: 0 !important;
}
body .fusion-logo {
  width: 220px;
}
@media screen and (max-width: 1120px) {
  body .fusion-logo {
    width: 170px;
  }
}

@media screen and (max-width: 1060px) {
  body .fusion-logo {
    width: 184px;
  }
}
#menu-item-11102 a span {
  background: linear-gradient(90deg, #004aad, #cb6ce6);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

#menu-item-11102 a:hover span {
  background: none;
  color: var(--menu_hover_first_color);
  -webkit-text-fill-color: var(--menu_hover_first_color);
}
.fusion-logo a {
  width: 245px !important;
}
@media screen and (max-width: 1060px) {
  #hero-image {
    padding-top: 0 !important;
  }
}

@media screen and (max-width: 1000px) {
  body .fusion-secondary-header ul li {
    display: none !important;
  }

  body .fusion-secondary-header ul li#menu-item-1361,
  body .fusion-secondary-header ul li#menu-item-2394 {
    display: inline-block !important;
    padding-right: 0 !important;
  }

  .fusion-logo {
    margin-top: 14px !important;
    margin-bottom: 14px !important;    
  }

  .fusion-logo a {
    max-width: 184px !important;
    position: relative;
    top: 1.5px;
  }

  footer.fusion-widget-area {
    padding-top: 40px !important;
    padding-bottom: 0px !important;
  }
}

@media screen and (max-width: 800px) {
  .page-id-12 article .fusion-flexslider,
  .page-id-12 article .fusion-post-content,
  .page-id-12 article .fusion-meta-info {
    display: block !important;
    width: 100% !important;
    margin-right: 0 !important;
  }

  .page-id-12 article .fusion-flexslider {
    margin-bottom: 30px !important;
  }

  .page-id-12 article {
    padding-bottom: 30px;
  }
}

@media screen and (max-width: 480px) {
  body .fusion-secondary-header ul li {
    position: relative;
    padding: 0 5px !important;
  }
}

@media screen and (max-width: 360px) {
  footer .fusion-widget-area #text-3 img {
    top: 0 !important;
  }
}

#pulsante-windows {
  background-position: 15px center;
  background-image: url("https://www.viperpro.it/wp-content/uploads/2020/06/logo-windows.png");
  background-size: 20px;
}

#pulsante-mac {
  background-position: 13px center;
  background-image: url("https://www.viperpro.it/wp-content/uploads/2020/06/logo-apple.png");
}

#pulsante-windows,
#pulsante-mac {
  background-repeat: no-repeat;
  position: relative;
  padding: 17px 0px 17px 0px;
}

#pulsante-windows::before,
#pulsante-mac::before {
  content: "";
  position: absolute;
  left: 50px;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: #ffffff;
}

#pulsante-windows span,
#pulsante-mac span {
  display: block;
  width: calc(100% - 50px);
  text-align: center;
  margin-left: 50px;
}

#box-elenco-funzioni.homepage .fusion-layout-column.box-funzioni {
  margin-right: 2% !important;
  margin-top: 0 !important;
  margin-bottom: 2% !important;
  width: 23.5% !important;
}

#box-elenco-funzioni.homepage .fusion-layout-column.box-funzioni h2 {
  color: #008dcf;
  /*font-size: 34px !important;*/
  font-size: 32px !important;
  line-height: 1.15 !important;
}

#box-elenco-funzioni.homepage .fusion-layout-column.box-funzioni h3 {
  color: #008dcf;
}

#box-elenco-funzioni.homepage .fusion-layout-column.box-funzioni p {
  font-size: 16px;
  line-height: 24px;
}

#box-elenco-funzioni.homepage
  .fusion-layout-column.box-funzioni
  p
  strong:first-child {
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 10px;
}

#box-elenco-funzioni.homepage .fusion-layout-column.box-funzioni span.blue {
  color: #254899;
  display: block;
}

#box-elenco-funzioni.homepage
  .fusion-layout-column.box-funzioni
  .fusion-column-wrapper {
  padding: 40px 15px 15px;
}

#box-elenco-funzioni.homepage .fusion-button {
  padding: 18px 36px;
  line-height: 18px;
  font-size: 20px;
}

#box-elenco-funzioni.homepage
  .fusion-layout-column.box-funzioni.fusion-column-last {
  margin-right: 0 !important;
}

.big {
  font-size: 60px;
  line-height: 1.3;
  font-weight: 800;
}

#box-elenco-funzioni.homepage.ombra-elenco .box-funzioni {
  box-shadow: rgb(0 118 254 / 35%) 0px 3px 15px 1px !important;
}

#box-elenco-funzioni.homepage.ombra-elenco .box-funzioni h2 {
  margin-bottom: 30px !important;
  line-height: 1.3 !important;
}

#form-registrazione .fusion-layout-column .fusion-flex-column-wrapper-legacy {
  margin: 0 auto;
  max-width: 900px;
}

#form-registrazione .fusion-layout-column:last-child .fusion-column-wrapper {
  padding: 50px !important;  
}

#form-registrazione .fusion-separator-border,
#form-registrazione .fusion-separator,
.wpcf7-form textarea, .wpcf7-captchar, .wpcf7-form .wpcf7-date, .wpcf7-form .wpcf7-number, .wpcf7-form .wpcf7-quiz, .wpcf7-form .wpcf7-select, .wpcf7-form .wpcf7-text {
      border-color: #c5c5c5 !important;
}

.wpcf7-form input,
.wpcf7-form textarea {
  font-size: 17px !important;
}

@media screen and (max-width: 1000px) {
  #box-elenco-funzioni.homepage .fusion-layout-column.box-funzioni {
    width: 49% !important;
  }

  #box-elenco-funzioni.homepage .fusion-layout-column.box-funzioni.seconda,
  #box-elenco-funzioni.homepage .fusion-layout-column.box-funzioni.quarta {
    margin-right: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  #box-elenco-funzioni.homepage .fusion-layout-column.box-funzioni {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 8% !important;
  }

  #box-elenco-funzioni.homepage {
    padding-top: 25% !important;
    padding-bottom: 25% !important;
  }

  #form-registrazione .fusion-layout-column:last-child .fusion-column-wrapper {
    padding: 25px !important;  
  }
  #sezione-comunicazioni-hp,
  .sezione-comunicazioni-hp {
    margin-bottom: -20% !important;
    padding-bottom: 0;
    padding-top: 0;
  }
  .sezione-comunicazioni-hp {
    margin-bottom: 0 !important;
  }
}
@media screen and (max-width: 768px) {
  #company-profile {
    padding-top: 22% !important;
    padding-bottom: 22% !important;
  }
  #box-elenco-funzioni {
    margin-top: 50px;
  }
  .sezione-comunicazioni-hp #numero-video-perizie h2,
  #sezione-comunicazioni-hp #numero-video-perizie h2 {
    font-size: 50px !important;
  }
}

@media screen and (max-width: 580px) {
  .sezione-comunicazioni-hp h2,
  #sezione-comunicazioni-hp h2 {
    font-size: 26px !important;
  }
  .sezione-comunicazioni-hp p,
  #sezione-comunicazioni-hp p,
  .sezione-comunicazioni-hp p a,
  #sezione-comunicazioni-hp p a {
    font-size: 18px !important;
  }
  .sezione-comunicazioni-hp #company-profile p,
  #sezione-comunicazioni-hp #company-profile p {
    font-size: 19px !important;
  }
}

/*
.fusion-secondary-menu .menu .wpml-ls-item:nth-last-child(1),
.fusion-secondary-menu .menu .wpml-ls-item:nth-last-child(2) { border: 1px solid green; }
*/

#menu-premenu #menu-item-wpml-ls-10-it {
  padding-left: 50px !important;
  padding-right: 0 !important;
  position: relative;
}

#menu-premenu #menu-item-wpml-ls-10-it::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 0;
  height: 100%;
  width: 1px;
  background-color: #63626236;
}

#menu-premenu #menu-item-wpml-ls-10-en {
  padding-right: 0 !important;
  padding-left: 15px !important;
}

#menu-premenu-inglese .wpml-ls-item:nth-last-child(2) {
  padding-left: 50px !important;
  padding-right: 0 !important;
  position: relative;
}

#menu-premenu-inglese .wpml-ls-item:nth-last-child(2)::before {
  content: "";
  position: absolute;
  left: 24px;
  top: 0;
  height: 100%;
  width: 1px;
  background-color: #63626236;
}

#menu-premenu-inglese .wpml-ls-item:nth-last-child(1) {
  padding-right: 0 !important;
  padding-left: 15px !important;
}

#menu-premenu-inglese .wpml-ls-item:nth-last-child(1),
#menu-premenu-inglese .wpml-ls-item:nth-last-child(2) {
  opacity: 0;
  animation: fadein 0.3s linear forwards;
  animation-delay: 0.6s;
}

@keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.menu-item.wpml-ls-slot-10 {
  display: inline-block !important;
}

body .wpml-ls-current-language a {
  color: #254899 !important;
  font-weight: bold;
}

#menu-item-2399,
#mobile-menu-item-900 {
  padding-right: 0;
}

.related-posts .fusion-carousel-wrapper {
  overflow: visible !important;
}

.related-posts .fusion-carousel-wrapper ul {
  position: relative !important;
}

.single-post .post-content h2,
.single-post .post-content h3 {
  margin-top: 1.3em !important;
  margin-bottom: 8px !important;
}

.single-post .fusion-page-title-wrapper {
  justify-content: center;
}

.single-post #content h2 {
  font-size: calc(
    28px + (32 - 28) * ((100vw - 320px) / (1920 - 320))
  ) !important;
}

.single-post #content h3 {
  font-size: calc(
    22px + (26 - 22) * ((100vw - 320px) / (1920 - 320))
  ) !important;
}

.single-post #content p {
  font-size: calc(
    17px + (19 - 17) * ((100vw - 320px) / (1920 - 320))
  ) !important;
}

/* articolo blog */
.single-post .fusion-text a {
  text-decoration: underline;
}

@media screen and (min-width: 1921px) {
  .single-post #content h2 {
    font-size: 32px !important;
  }

  .single-post #content h3 {
    font-size: 26px !important;
  }

  .single-post #content p {
    font-size: 19px !important;
  }
}

.single-post #content h2,
.single-post #content h3,
.single-post #content p,
.single-post #content ul,
.single-post #content ol {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.not-fix-width {
  max-width: unset !important;
}
.single-post #content ul,
.single-post #content ol {
  padding-left: 20px;
  margin-top: 0;
}

.single-post #content p:has(img) {
  max-width: unset;
  margin: 65px auto;
}

.loghi-assicurazioni .awb-carousel {
  min-height: 115px !important;
}

.colonna-novita a span.underline {
  text-decoration: underline;
  transition: 0.4s;
}

.colonna-novita a:hover span.underline {
  text-decoration: none;
}

br.no-desktop {
  display: none !important;
}

form div > p:first-child,
form p[style="margin-bottom: 30px;"] {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 480px) {
  br.no-desktop {
    display: block !important;
  }

  .single-post #content p:has(img) {
    margin: 45px auto;
  }
  #quattro-vantaggi {
    margin-bottom: 10px !important
  }
}

/* verifica file */
html:has(body.page-id-4437) {
  font-size: 10px !important;
}
body.page-id-4437 .fusion-page-title-bar {  
  background: linear-gradient(to right, #254899, #008dcf);
}
#faq {
  max-width: unset !important;
}
#faq h2 {
  font-weight: 900;
  color: #008dcf !important;
  font-family: var(--awb-typography1-font-family);
  font-size: 3.8rem;
  margin-bottom: 20px;
}
#faq .fusion-toggle-heading {
  font-weight: 600;
  color: #4b4e5f;
  display: flex;
  flex-direction: row;
  font-size: 2.6rem;
  line-height: 1.3;
}
#faq.custom-font {
    --faq-rem: 10px;
}

#faq.custom-font h2 {
    font-size: calc(3.8 * var(--faq-rem));
}

#faq.custom-font .fusion-toggle-heading {
    font-size: calc(2.6 * var(--faq-rem));
    line-height: calc(3.6 * var(--faq-rem));
}
#faq.custom-font .fusion-panel ul li, 
#faq.custom-font .fusion-panel ol li, 
#faq.custom-font .fusion-panel p {
  font-size: calc(2.2 * var(--faq-rem));
  line-height: calc(3.2 * var(--faq-rem));
}

#faq .fusion-toggle-heading::before {
  content: "";
  width: 25px;
  height: 22px;
  min-width: 25px;
  min-height: 22px;
  background-image: url("https://www.viperpro.it/wp-content/uploads/2025/09/arrow-faq.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 25px 22px;
  top: 5px;
  position: relative;
  margin-right: 8px;
  transition: .4s;
}
#faq .fusion-panel {
  background-image: url("https://www.viperpro.it/wp-content/uploads/2025/09/spacer-error.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
body.page-id-4437 h1 {
  font-size: 4.6rem !important;
  margin: 30px 0 30px 0 !important;
  font-family: Inter, Arial, Helvetica, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: -1px !important;
}
body.page-id-4437 .fusion-text p,
body.page-id-4437 .fusion-text ol li,
body.page-id-4437 .fusion-text ul li,
#faq .fusion-panel ul li,
#faq .fusion-panel ol li,
#faq .fusion-panel p {
  font-size: 2.2rem;
    color: #4b4e5f;
    line-height: 3.2rem;
}
#faq .fusion-panel .panel-body p:not(:last-child) {
  margin-bottom: 10px !important;
}
#faq .fusion-panel ul li:not(:last-child),
#faq .fusion-panel ol li:not(:last-child) {
  margin-bottom: 5px;
}
#faq .fusion-panel:has(a.active) .fusion-toggle-heading::before {
  transform: rotate(90deg);
}
#faq .fusion-panel .panel-title {
  margin-top: 0;
}
#faq .panel-collapse {
  padding-left: 35px;
}
#faq .panel-collapse ol,
#faq .panel-collapse ul {
  padding-left: 40px;
}
body.page-id-4437 .iconed {
  padding-left: 0px;
  list-style-type: none;
}
body.page-id-4437 .iconed li {
  position: relative;
  padding-left: 30px;
}
body.page-id-4437 .iconed li:not(:last-child) {
  margin-bottom: 10px;
}
body.page-id-4437 .iconed li::before {
  content: "";
  width: 21px;
  height: 22px;
  min-width: 21px;
  min-height: 22px;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  position: absolute;
  left: 0;
  top: 6px;
}
body.page-id-4437 .iconed li:first-child::before {
  background-image: url("https://www.viperpro.it/wp-content/uploads/2025/09/check-icon.svg");
}
body.page-id-4437 .iconed li:nth-child(2)::before {
  background-image: url("https://www.viperpro.it/wp-content/uploads/2025/09/info-icon.svg");
}
body.page-id-4437 .iconed li:last-child::before {
  background-image: url("https://www.viperpro.it/wp-content/uploads/2025/09/verify-icon.svg");
}
.full-img,
.full-img img {
  width: 100% !important;
}

@media (max-width: 1220px) {
  html:has(body.page-id-4437) {
    font-size: 9.5px !important;
  }
  body.page-id-4437 h1 {
    font-size: 4rem !important;
  }
}

@media (max-width: 768px) {
   html:has(body.page-id-4437) {
    font-size: 8px !important;
  }
}

/* nuova homepage */
/*
.border-gradient .fusion-column-wrapper {
  box-shadow: unset !important;  
  background-color: transparent !important;
  position: relative;
  z-index: 0;
  overflow: visible !important;
  border-radius: 0 !important;
}
.border-gradient .fusion-column-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 4px;
  box-sizing: border-box;
  border-radius: 25px;
  background: linear-gradient(to bottom, #254899, #008dcf);
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
  pointer-events: none;
  z-index: -1;
}
.border-gradient .fusion-column-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  background-color: #ffffff;
  padding: 4px; 
  box-sizing: border-box;
  border-radius: 25px;
}
*/
.avada-flyout-menu-direction-right .fusion-header-has-flyout-menu .fusion-flyout-menu, .avada-flyout-menu-direction-right .fusion-header-has-flyout-menu .fusion-flyout-menu-bg, .avada-flyout-menu-direction-right .fusion-header-has-flyout-menu .fusion-flyout-search,
.avada-flyout-menu-direction-right .fusion-header-has-flyout-menu .fusion-flyout-menu,
.avada-flyout-menu-direction-right .fusion-header-has-flyout-menu.fusion-flyout-active .fusion-flyout-menu-bg,
.avada-flyout-menu-direction-right .fusion-header-has-flyout-menu .fusion-flyout-menu {
  transition: none !important
}
.custom-h1 h1,
body.page-id-792 h1,
body.page-id-2262 h1 {
  font-family: Inter, Arial, Helvetica, sans-serif !important;
  font-size: 2.6rem !important;
  line-height: 1.2 !important;
  margin-bottom: 0 !important;
  letter-spacing: 0.1px !important;
}
.custom-h1 h1 .light,
body.page-id-792 h1 .light,
body.page-id-2262 h1 .light {
  font-weight: 100;
  font-size: 2.2rem !important;
}
.custom-h1 .intro-text p,
#hero-image .custom-intro .intro-text p,
body.page-id-792 #hero-image .intro-text p,
body.page-id-2262 #hero-image .intro-text p {
  font-size: 1.4rem;
  line-height: 1.4rem;
}
.three-elemets {
  margin-top: 20px !important;
  margin-bottom: 40px !important;
}
.three-elemets p {
  display: flex;
  gap: 30px;
  font-weight: bold;
  font-size: 1.05rem;
  line-height: 1;
}
.page-id-2262 .three-elemets p {
  gap: 20px;
}
.three-elemets p span {  
  display: flex;
  align-items: center;
}
.three-elemets p span i {
  font-style: unset;
  font-size: .8rem;
  width: 18px;
  height: 18px;
  text-align: center;
  line-height: 18px;
  border: 1px solid #254899;
  border-radius: 50%;
  margin-right: 5px;
  font-weight: 900;
}
.pulsanti-hero p {
  display: flex; 
  gap: 30px 
}
.pulsanti-hero a {
  font-size: 1.2rem;
  line-height: 1;
  color: #254899;
  border: 2px solid #254899;
  border-radius: 5px;
  padding: 8px;
  letter-spacing: -1px;
  font-weight: bold;
  width: 100%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pulsanti-hero p a:hover,
.pulsanti-hero p a:last-child {
  background-color: #254899;
  color: #ffffff;
}
.pulsanti-hero p a:last-child:hover {
  background-color: transparent;
  color: #254899;
}
/*
.frase-principale {
  background: linear-gradient(to right, #c4d4e9 0%, #eef9ff 62%, #FFFFFF 100%) !important;
}
  */

.industries * {
  color: #ffffff !important;
}
.industries .fusion-column-wrapper .fb-icon-element {
  background: transparent !important;
}
.industries .fusion-column-wrapper:has(.fb-icon-element) {
  border-radius: 8px;
}
.industries .fusion-column-wrapper:has(.fb-icon-element) h4 {
  margin: 10px 0 !important;
}
.industries .fusion-column-wrapper:has(.fb-icon-element) p {
  line-height: 26px;
}
.industries h3 {
  margin-bottom: 0;
}
.industries .box h3 {
  font-size: 18px !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}
.blog-home h3 {
  font-size: 22.4px !important;
}
.blog-home .fusion-posts-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px
} 
.blog-home a,
.blog-home a::after {
  color: #254899 !important;
}
.blog-home a:hover,
.blog-home a:hover::after {
  color: #008dcf !important;
}
.blog-home .fusion-posts-container article {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.blog-home .fusion-posts-container article  .fusion-meta-info {
  margin-top: auto;
}
.blog-home .fusion-meta-info {
  border: 0;
}
.blog-home .fusion-meta-info .fusion-alignright {
  float: none;
  margin-left: 0;
}
.blog-home .fusion-meta-info .fusion-alignleft,
.blog-home .pagination {
  display: none !important;
}
.blog-home h4 {
  font-size: 1.4rem !important;
  margin: 20px 0 10px !important;
}
.blog-home .fusion-post-slideshow {
  margin-bottom: 0 !important;
}
.blog-home .fusion-posts-container p {
  line-height: 26px !important;
}
.blog-home .fusion-posts-container .fusion-read-more {
  text-decoration: underline;
  font-size: 1rem;
}
.blog-home .fusion-posts-container .fusion-read-more:hover {
  text-decoration: none;
}
body.page-id-792 .fusion-text a:hover span,
body.page-id-792 .fusion-text a:hover,
body.page-id-2262 .fusion-text a:hover span,
body.page-id-2262 .fusion-text a:hover {
  text-decoration: none !important
}
body.page-id-792 #box-elenco-funzioni ul,
body.page-id-2262 #box-elenco-funzioni ul {
  list-style: none; /* Rimuove i bullet neri */
  padding-left: 0px;  /* Rimuove l'indentazione predefinita */  
}

body.page-id-792 #box-elenco-funzioni ul li,
body.page-id-2262 #box-elenco-funzioni ul li {
  position: relative; 
  padding-left: 20px; /* Spazio per il simbolo > */
  line-height: 24px;
  margin-bottom: 10px;
}

/* Inserisce il simbolo > prima di ogni li */
body.page-id-792 #box-elenco-funzioni ul li::before,
body.page-id-2262 #box-elenco-funzioni ul li::before {
  content: '>';       /* Qui mettiamo il simbolo */
  position: absolute;
  left: 0;  
}

body.page-id-792 #box-elenco-funzioni .border-gradient .fusion-column-wrapper,
body.page-id-2262 #box-elenco-funzioni .border-gradient .fusion-column-wrapper {
  position: relative;
  border-radius: 30px;
  box-shadow: unset;
  z-index: 0;
  overflow: visible;
  position: relative;
}
body.page-id-792 #box-elenco-funzioni .fusion-column-wrapper h2,
body.page-id-2262 #box-elenco-funzioni .fusion-column-wrapper h2 {
  margin-bottom: 80px !important;
}
body.page-id-792 #box-elenco-funzioni .border-gradient .fusion-column-wrapper *,
body.page-id-2262 #box-elenco-funzioni .border-gradient .fusion-column-wrapper * {
  font-weight: bold !important;
}
body.page-id-792 #box-elenco-funzioni .border-gradient .fusion-column-wrapper li,
body.page-id-792 #box-elenco-funzioni .border-gradient .fusion-column-wrapper p,
body.page-id-2262 #box-elenco-funzioni .border-gradient .fusion-column-wrapper li,
body.page-id-2262 #box-elenco-funzioni .border-gradient .fusion-column-wrapper p {
  font-weight: bold !important;
  line-height: 1.6rem;
  font-size: 1.3rem;
}
/* Bordo gradiente */
body.page-id-792 #box-elenco-funzioni .border-gradient .fusion-column-wrapper::before,
body.page-id-2262 #box-elenco-funzioni .border-gradient .fusion-column-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 30px;
  background: linear-gradient(to bottom, #254899, #008dcf);
  padding: 6px; /* spessore del bordo */
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude; 
  z-index: -2;
}

/* Sfondo bianco interno */
body.page-id-792 #box-elenco-funzioni .border-gradient .fusion-column-wrapper::after,
body.page-id-2262 #box-elenco-funzioni .border-gradient .fusion-column-wrapper::after {
  content: '';
  position: absolute;
  top: 6px;
  left: 6px;
  right: 6px;
  bottom: 6px;
  border-radius: 24px; /* 30px - 6px di bordo */
  background-color: #ffffff;
  z-index: -1;
}

body.page-id-792 #viperpro-e .fusion-column-wrapper:has(.img-icon),
body.page-id-2262 #viperpro-e .fusion-column-wrapper:has(.img-icon) {
  display: flex;
  flex-direction: column;
}
body.page-id-792 #viperpro-e .fusion-column-wrapper:has(.img-icon) img,
body.page-id-2262 #viperpro-e .fusion-column-wrapper:has(.img-icon) img {
  margin-bottom: 20px;
}
body.page-id-792 #viperpro-e img,
body.page-id-792 #box-elenco-funzioni img,
body.page-id-2262 #viperpro-e img,
body.page-id-2262 #box-elenco-funzioni img {
  height: 70px;
  object-fit: contain;
}

body.page-id-792 #box-elenco-funzioni .border-gradient .fusion-column-wrapper img,
body.page-id-2262 #box-elenco-funzioni .border-gradient .fusion-column-wrapper img {
  width: 125px;
  height: 125px !important;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -96%);
}
body.page-id-792 #box-elenco-funzioni .border-gradient .fusion-column-wrapper .img-icon + div,
body.page-id-2262 #box-elenco-funzioni .border-gradient .fusion-column-wrapper .img-icon + div {
  margin-top: 65px;
}
body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper,
body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper {
  position: relative;
  border-radius: 30px;
  box-shadow: unset;
  z-index: 0;
  overflow: visible;
  position: relative;
  box-shadow: 0px 0px 10px rgb(0, 195, 255, 0.4);
  padding: 30px;
  margin-left: 175px;
  padding-left: 175px;
  margin-right:20px;
}
body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper p,
body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper p {
  margin-bottom: 0;
}
/* Bordo gradiente */
body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper::before,
body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 30px;
  background: linear-gradient(to right, #008dcf, #254899);
  padding: 2px; /* spessore del bordo */
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: destination-out;
  mask-composite: exclude; 
  z-index: -2;
}
body.page-id-792 .border-gradient-orizzontale.icon-right .fusion-column-wrapper::before,
body.page-id-2262 .border-gradient-orizzontale.icon-right .fusion-column-wrapper::before {  
  background: linear-gradient(to right, #254899, #008dcf);
}
body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper li,
body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper p,
body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper li,
body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper p {      
  line-height: 1.6rem;
  font-size: 1.3rem;
}
.h2-funzioni h2 {
  font-size: 3.3rem !important;
  line-height: 120% !important;
}
/* Sfondo bianco interno */
body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper::after,
body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  right: 2px;
  bottom: 2px;
  border-radius: 28px; /* 30px - 6px di bordo */
  background-color: #ffffff;
  z-index: -1;
}
body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper .img-icon,
body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper .img-icon {
  margin: 0 !important;
  height: 0;
}
body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper img,
body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper img {
  position: absolute;
  left: -175px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  width: 350px;
  height: 350px !important;
}

body.page-id-792 .border-gradient-orizzontale.icon-right img,
body.page-id-2262 .border-gradient-orizzontale.icon-right img {
  left: unset;
  right: -175px;
}

body.page-id-792 .border-gradient-orizzontale.icon-right .fusion-column-wrapper,
body.page-id-2262 .border-gradient-orizzontale.icon-right .fusion-column-wrapper {
  margin-right: 175px;
  padding-right: 175px;
  margin-left: 20px;
  padding-left: 30px;
}
body.page-id-792 #viperpro-e,
body.page-id-2262 #viperpro-e {
  padding-bottom: 10% !important;
}
@media (max-width: 1280px) {
  .custom-h1 h1,
  body.page-id-792 h1,
  body.page-id-2262 h1 {    
    font-size: 2.4rem !important;        
  }
  .custom-h1 h1 .light,
  body.page-id-792 h1 .light,
  body.page-id-2262 h1 .light {    
    font-size: 2rem !important;
  }
  .three-elemets p {
    gap: 15px;
  }
  .custom-h1 .intro-text p,
  body.page-id-792 #hero-image .intro-text p,
  body.page-id-2262 #hero-image .intro-text p {
    font-size: 1.2rem;    
  }
  .pulsanti-hero a {
    font-size: 1.0rem;
  }
  .h2-funzioni h2 {
    font-size: 3rem !important;
  }
}

@media (max-width: 1120px) {
  .custom-h1 h1,
  body.page-id-792 h1,
  body.page-id-2262 h1 {    
    font-size: 2.2rem !important;        
  }
  .custom-h1 h1 .light,
  body.page-id-792 h1 .light,
  body.page-id-2262 h1 .light {    
    font-size: 1.8rem !important;
  }
  .three-elemets p {
    gap: 10px;
  }
  body.page-id-792 h2 *,
  body.page-id-2262 h2 * {
    font-size: 1.6rem !important;
  }
  body.page-id-792 h3,
  body.page-id-2262 h3 {
    font-size: 1.4rem !important;
  }
}
@media (max-width: 1024px) {
   body.page-id-792 h2,
   body.page-id-2262 h2 {
    margin-bottom: 0 !important
  }
  body.page-id-792 .blog-home h2,
  body.page-id-2262 .blog-home h2 {
    margin-top: 0 !important;
  }
  body.page-id-792 .fusion-fullwidth:has(#company-profile),
  body.page-id-2262 .fusion-fullwidth:has(#company-profile) {
    background-image: unset;
    background: linear-gradient(to right, #c4d4e9 0%, #eef9ff 62%, #FFFFFF 100%) !important;
  }
  .h2-funzioni h2 {
    font-size: 2.8rem !important;
  }
}
@media (max-width: 1000px) {
  body.page-id-792 #viperpro-e .fusion-column-wrapper h4,
  body.page-id-792 #viperpro-e .fusion-column-wrapper .img-icon p,
  body.page-id-2262 #viperpro-e .fusion-column-wrapper h4,
  body.page-id-2262 #viperpro-e .fusion-column-wrapper .img-icon p {
    text-align: center;
  }
  body.page-id-792 #viperpro-e .fusion-column-wrapper .img-icon p img,
  body.page-id-2262 #viperpro-e .fusion-column-wrapper .img-icon p img {
    float: none;
    margin: 0 auto;
  }
  body.page-id-792 #box-elenco-funzioni .border-gradient:not(:last-child),
  body.page-id-2262 #box-elenco-funzioni .border-gradient:not(:last-child) {
    margin-bottom: 100px;
  }
}
@media (max-width: 769px) {
  .border-gradient-orizzontale img.mobile {
    display: inline-block !important;
  }

  .border-gradient-orizzontale img.desktop {
    display: none !important;
  }
  .h2-funzioni h2 {
    font-size: 2.6rem !important;
  }
}
@media (max-width: 768px) {
  .blog-home .fusion-posts-container {
    grid-template-columns: 1fr 1fr;
  }
  .blog-home .fusion-posts-container article {
    margin-bottom: 40px;
  }
  .blog-home .fusion-posts-container article:last-child {
    margin-bottom: 0;
  }
  .padding-22 {
    margin-top: 22% !important;
    margin-bottom: 22% !important;
    padding-top: 22% !important;
    padding-bottom: 22% !important;
  }
  body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper li,
  body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper p,
  body.page-id-792 #box-elenco-funzioni .border-gradient .fusion-column-wrapper li,
  body.page-id-792 #box-elenco-funzioni .border-gradient .fusion-column-wrapper p,
  body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper li,
  body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper p,
  body.page-id-2262 #box-elenco-funzioni .border-gradient .fusion-column-wrapper li,
  body.page-id-2262 #box-elenco-funzioni .border-gradient .fusion-column-wrapper p{
    font-weight: bold !important;
    line-height: 1.4rem;
    font-size: 1.1rem;
  }
  body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper li,
  body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper p,
  body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper li,
  body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper p{
    font-weight: unset !important;
  }
  body.page-id-792 #viperpro-e .border-gradient-orizzontale .fusion-column-wrapper,
  body.page-id-2262 #viperpro-e .border-gradient-orizzontale .fusion-column-wrapper {
    padding-top: 75px !important;
  }
  body.page-id-792 #viperpro-e .border-gradient-orizzontale .fusion-column-wrapper img,
  body.page-id-2262 #viperpro-e .border-gradient-orizzontale .fusion-column-wrapper img {    
    right: unset;
    left: 50%;
    top: -62.5px;
    transform: translateX(-50%);
    width: 125px !important;
    height: 125px !important;
  }
  body.page-id-792 #viperpro-e .border-gradient-orizzontale .fusion-column-wrapper img.mobile,
  body.page-id-2262 #viperpro-e .border-gradient-orizzontale .fusion-column-wrapper img.mobile {    
    width: 165px !important;
    height: 165px !important;
    top: -82px;
  }
  body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper,
  body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper {
    margin-left: 10px !important;
    margin-right: 10px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }
  body.page-id-792 .border-gradient-orizzontale .fusion-column-wrapper h3,
  body.page-id-2262 .border-gradient-orizzontale .fusion-column-wrapper h3 {
    text-align: center !important;
    margin-top: 15px !important;
    margin-bottom: 0px !important;
  }
}
@media (max-width: 767px) {
  .mb-mobile-0 {
    margin-bottom: 0 !important;
    padding-top: 50px !important;
  }
  .mb-mobile-50 {
    margin-bottom: 10px !important;
  }
  body.page-id-792 .rotating-text,
  body.page-id-2262 .rotating-text {
    text-align: center !important;
    font-size: 2rem !important; 
  }  
  body.page-id-2262 .rotating-text { 
    font-size: 1.8rem !important; 
  }
  body.page-id-2262 .rotating-text .ticker-wrapper,
  body.page-id-2262 .rotating-text .ticker-wrapper * {
    width: 100%;
  }
  body.page-id-792 #company-profile,
  body.page-id-2262 #company-profile {
    padding-top: 6% !important;
    padding-bottom: 6% !important;    
  }
  body.page-id-792 #box-elenco-funzioni.homepage,
  body.page-id-2262 #box-elenco-funzioni.homepage {
    padding-top: 18% !important;
    padding-bottom: 15% !important;
    margin-top: 0;
  }
}

@media (max-width: 640px) {
  .blog-home .fusion-posts-container {
    grid-template-columns: 1fr;
  }
  .mb-0 {
    padding-bottom: 0 !important;
  }
  body.page-id-792 #hero-image,
  body.page-id-2262 #hero-image {
    background-position: 60%;
  }
  .custom-h1 h1,
  body.page-id-792 h1,
  body.page-id-2262 h1 {    
    font-size: 1.8rem !important;           
  }
  .custom-h1 h1 .light,
  body.page-id-792 h1 .light,
  body.page-id-2262 h1 .light {    
    font-size: 1.6rem !important;
  }
  body.page-id-792 h2,
  body.page-id-792 h2 *,
  body.page-id-2262 h2,
  body.page-id-2262 h2 * {
    font-size: 1.6rem !important;
  }
  body.page-id-792 h3,
  body.page-id-2262 h3 {
    font-size: 1.2rem !important;
  }
  body.page-id-792 .sezione-comunicazioni-hp #company-profile p,
  body.page-id-2262 .sezione-comunicazioni-hp #company-profile p {
    font-size: 1.4rem !important;
    line-height: 2rem !important;
  }  
  .three-elemets {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .page-id-2262 .three-elemets p,
  .three-elemets p {
    gap: 0px;
    flex-direction: column;
  }
  .three-elemets p span:not(:last-child()) {
    margin-bottom: 30px;
  }
  .caratteristiche p {
    font-size: 1.2rem !important;
    line-height: 1.8rem !important;
  }
  body.page-id-792 #viperpro-e .fusion-column-wrapper,
  body.page-id-2262 #viperpro-e .fusion-column-wrapper {
    padding: 0 !important;
    /*pointer-events: none !important;*/
  }
  body.page-id-792 #viperpro-e .border-gradient-orizzontale .fusion-column-wrapper,
  body.page-id-2262 #viperpro-e .border-gradient-orizzontale .fusion-column-wrapper {
    padding: 75px 25px 25px 25px !important;
  }
  body.page-id-792 .hover-type-liftup::before,
  body.page-id-2262 .hover-type-liftup::before {    
    opacity: 0 !important
  }
  body.page-id-792 #viperpro-e img,
  body.page-id-792 #box-elenco-funzioni img,
  body.page-id-2262 #viperpro-e img,
  body.page-id-2262 #box-elenco-funzioni img{
    height: 55px !important;    
  } 
  .h2-funzioni h2 {
    font-size: 1.8rem !important;
  }
}


.rotating-text {
    text-align: center;
    max-width: 100%;
    margin: 0 auto !important;
    font-size: 28px;
    line-height: 1.4;
}

.rotating-word-item,
.rotating-word {
    font-weight: bold;
    display: inline-block;
    transition: transform 0.6s ease-in-out;
    min-width: 10ch;
    text-align: right;
}
.rotating-word-item {
  font-weight: normal;
  min-width: unset;
}
.rotating-word-item.bold {
  font-weight: bold;
}
.slide-up {
    animation: slideUp 0.6s ease-in-out;
}

@keyframes slideUp {
    0% {
        transform: translateY(100%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.slide-down {
    animation: slideDown 0.6s ease-in-out;
}

@keyframes slideDown {
    0% {
        transform: translateY(0);
        opacity: 1;
    }
    100% {
        transform: translateY(-100%);
        opacity: 0;
    }
}

/* nuova versione testo rotante */
.rotating-text {
    line-height: 1.4 !important;
}

.ticker-wrapper {
    position: relative;
    display: inline-block;
}

.ticker-placeholder {
    visibility: hidden;
    font-weight: bold;
}

.ticker-window {
    position: absolute;
    left: 0;
    top: 0;
    height: 1.4em;
    overflow: hidden;
    font-weight: bold;
    color: #008dcf;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
}

.ticker-content {
    display: block;
}

.ticker-item {
    display: block;
    height: 1.4em;
    line-height: 1.4em;
    transition: .4s;    
}
.page-id-2262 .ticker-item {
  width: max-content;
}
.rotating-text .ticker-window:hover .ticker-item {
  color: #254899;
}
/* nuova versione testo rotante */
/* pagina di antifrode */
.page-id-7041 .fusion-page-title-bar,
.page-id-6956 .fusion-page-title-bar,
.page-id-4686 .fusion-page-title-bar,
body .fusion-page-title-bar {
  background: linear-gradient(to right, #254899, #008dcf);
  /*min-height: 200px;*/
  height: unset;
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}
.page-id-7041 .fusion-page-title-bar h1,
.page-id-6956 .fusion-page-title-bar h1,
.page-id-4686 .fusion-page-title-bar h1,
body .fusion-page-title-bar {
  line-height: 1.3 !important;
}
.blu {
  color: #254899;
}
.bullet-azzurri ul li::marker,
.azzurro {
  color: #008dcf;
}
.bianco {
  color: #ffffff;
}
.page-id-4686 #main {
  background-image: url("https://www.viperpro.it/wp-content/uploads/2025/09/bg-pagina-antifrode.png");  
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
}

.icon-image-text {
  display: flex;
  align-items: center;
  justify-content: stretch;
  margin-bottom: 15px !important;
}
.icon-image-text .icon-image {
  margin-right: 30px
}
.icon-image-text .icon-image img {
  max-width: 70px;
}
.page-id-4686 h2 {
  margin-bottom: 20px !important
}
.page-id-4686 h3 {
  margin-top: 0;
  margin-bottom: 10px;
}
.page-id-7041 h1,
.page-id-6956 h1,
.page-id-13 h1,
.page-id-2358 h1,
.page-id-4686 h1 {
  font-size: 2.9rem !important;
  font-family: Inter, Arial, Helvetica, sans-serif !important;
}
.page-id-6956 .fusion-text h2,
.page-id-4686 .fusion-text h2 {
    font-size: 2.8rem !important;
}
.page-id-7041 .fusion-text h2 {
    font-size: 2.4rem !important;
}
.page-id-4686 .fusion-text h3 {
  font-size: 1.5rem;
}
.fusion-text p.h3 {
  font-size: 1.6rem;
}
.page-id-4686 .fusion-text ul li,
.page-id-4686 .fusion-text p {
  font-size: 1.35rem;
  line-height: 1.8rem;
}
.page-id-4686 .fusion-text ul li:not(:last-child) {
  margin-bottom: 15px;
}
.page-id-4686 .fusion-text a:hover,
.page-id-4686 .fusion-text a:hover u,
.page-id-4686 .fusion-text a:hover span {
  text-decoration: none !important;
}
#specifiche-api {
    background: linear-gradient(300deg,
    #ffffff 0%, 
    #ffffff 30%, 
    #ebf3fd 50%, 
    #ffffff 70%, 
    #ffffff 100%
  );
}
.page-id-7041 .fusion-text p,
.page-id-6956 .fusion-text p,
.page-id-7041 .fusion-text ul li,
.page-id-6956 .fusion-text ul li {
  line-height: 140%;
}
.fusion-text p.h3 {
  line-height: 140% !important;
}
.page-id-7041 .fusion-text ul,
.page-id-6956 .fusion-text ul {
  margin-bottom: 0;
  padding-left: 30px;
}
.page-id-7041 .fusion-text ul li:not(:last-child),
.page-id-6956 .fusion-text ul li:not(:last-child) {
  margin-bottom: 5px;
}
.separatore-tabella-vp .fusion-imageframe {  
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1600px) {
    .page-id-7041 h1,
  .page-id-6956 h1,
  .page-id-13 h1,
  .page-id-2358 h1,
  .page-id-4686 h1 {
    font-size: 2.8rem !important;
  }
  
.page-id-6956 .fusion-text h2,
  .page-id-4686 .fusion-text h2 {
      font-size: 2.7rem !important;
  }
  .page-id-7041 .fusion-text h2 {
      font-size: 2.2rem !important;
  }  
  .page-id-4686 .fusion-text h3 {
    font-size: 1.4rem;
  }
  .fusion-text p.h3 {
    font-size: 1.5rem;
  }
  .page-id-4686 .fusion-text ul li,
  .page-id-4686 .fusion-text p {
    font-size: 1.25rem;
    line-height: 1.7rem;
  }
}

@media (max-width: 1024px) {
    .page-id-7041 h1,
    .page-id-6956 h1,
    .page-id-13 h1,
  .page-id-2358 h1,
  .page-id-4686 h1 {
    font-size: 2.7rem !important;
  }
.page-id-6956 .fusion-text h2,
  .page-id-4686 .fusion-text h2 {
      font-size: 2.6rem !important;
  }
  .page-id-7041 .fusion-text h2 {
      font-size: 2rem !important;
  }  
  .page-id-4686 .fusion-text h3 {
    font-size: 1.3rem;
  }
  .fusion-text p.h3 {
    font-size: 1.4rem;
  }
  .page-id-4686 .fusion-text ul li,
  .page-id-4686 .fusion-text p {
    font-size: 1.15rem;
    line-height: 1.6rem;
  }
  #specifiche-api img {
      max-width: 250px;
  }
  #cosa-puoi-fare .fusion-column-wrapper {
    border-radius: 0;
        box-shadow: 0px 7px 12px 0px rgba(25, 96, 155, 0.1), 
                    0px -7px 12px 0px rgba(25, 96, 155, 0.1);
  }
  .freccia-vp {
    transform: rotate(90deg);
    max-width: 20px !important;
  }
}

@media (max-width: 768px) {
    .page-id-7041 h1,
    .page-id-6956 h1,
    .page-id-13 h1,
  .page-id-2358 h1,
  .page-id-4686 h1 {
    font-size: 2.3rem !important;
  }
  .page-id-7041 .fusion-text h2,
.page-id-6956 .fusion-text h2,
  .page-id-4686 .fusion-text h2 {
      font-size: 2rem !important;
  }  
  .page-id-4686 .fusion-text h3 {
    font-size: 1.3rem;
  }
  .page-id-4686 .fusion-text ul li,
  .page-id-4686 .fusion-text p {
    font-size: 1.15rem;
    line-height: 1.6rem;
  }
}

@media (max-width: 640px) {
  .icon-image-text {
    display: flex;
    flex-direction: column;
    margin-bottom: 35px !important;
  }
  .icon-image-text:first-child {
    margin-top: 35px !important
  }
  .icon-image-text:last-child {
    margin-bottom: 0 !important
  }
  .icon-image-text .icon-image {
    margin-right: 0;
  }
  .icon-image-text .icon-image  img {
    max-width: 60px;
  }
  .page-id-7041 h1,
  .page-id-6956 h1,
  .page-id-13 h1,
  .page-id-2358 h1,
  .page-id-4686 h1 {
    font-size: 1.8rem !important;
  }
  .page-id-7041 .fusion-text h2,
.page-id-6956 .fusion-text h2,
  .page-id-4686 .fusion-text h2 {
      font-size: 1.6rem !important;
  }  
  .page-id-4686 .fusion-text h3 {
    font-size: 1.2rem;
  }
  .page-id-4686 .fusion-text ul li,
  .page-id-4686 .fusion-text p {
    font-size: 1.2rem;
    line-height: 1.7rem;
  }
  .img-full-mobile .fusion-image-element {
    width: 100vw;
    position: relative;
    left: calc(50% - 50vw);
  }
  .page-id-4686 .fusion-text ul {
    padding-left: 30px;
  }
  #specifiche-api img {
      max-width: 180px;
  }
}

body .intro-about a {
 color: #000000;
border-bottom: 1px solid #008dcf;
 box-shadow: 0px -2px 0px #008dcfc7 inset;
 -webkit-transition: all 0.2s ease-in-out;
 -moz-transition: all 0.2s ease-in-out;
 -ms-transition: all 0.2s ease-in-out;
 -o-transition: all 0.2s ease-in-out;
 transition: all 0.2s ease-in-out;
}
body .intro-about a:hover {
letter-spacing:0.5px;
  font-style: italic;
 color: #000000;
  box-shadow: 0px -4px 0px #008dcfc7 inset;
}
.single.single-post .contenitore-cta-prefooter {
    padding-top: 0 !important;
}

/* nuova pagina funzioni */
.page-id-7886 h1 {
  line-height: 120% !important;
}
#tasti-funzione {  
  position: relative;
}

#tasti-funzione::before,
#tasti-funzione::after {
  content: "";
  position: absolute;
  top: 0;
  width: 10%;
  height: 100%;
  z-index: 99;
}

#tasti-funzione::before {
  left: -2px;
  background: linear-gradient(to right, rgba(255,255,255,1) 70%, rgba(255,255,255,0) 100%);
}
#tasti-funzione::after {
  right: -2px;
  background: linear-gradient(to left, rgba(255,255,255,1) 70%, rgba(255,255,255,0) 100%);
}

#tasti-funzione .fusion-text {  
  height: 100%;
}
#tasti-funzione .no-pointer p {
  pointer-events: none;
}
#tasti-funzione p {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  margin: 0;
  border-radius: 10px;  
  z-index: 1;
  background-clip: padding-box;
  line-height: 120%;
  overflow: hidden;
}
#tasti-funzione p a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 18px 10px 15px 10px;  
  cursor: pointer;
}
#tasti-funzione p::before {
  content: "";
  position: absolute;
  inset: 0; /* top:0; right:0; bottom:0; left:0 */
  border-radius: 10px;
  padding: 3px; /* spessore bordo */
  background: linear-gradient(to right, #254899, #008dcf);
  -webkit-mask:
    linear-gradient(#ffffff 0 0) content-box,
    linear-gradient(#ffffff 0 0);
  -webkit-mask-composite: destination-out;
          mask-composite: exclude;
  pointer-events: none;
  z-index: 0;
}

#tasti-funzione p:hover {
  background: linear-gradient(to right, #254899, #008dcf);  
  transition: background 1.3s ease; /* per una transizione morbida */
}
#tasti-funzione p:hover strong {
  color: #ffffff !important; 
}

.custom-style-type {
  list-style: none;
  padding-left: 1.8em; /* aggiusta se serve */
}
.custom-style-type li {
  position: relative;
  line-height: 125%;
  margin-bottom: 10px;
}
.custom-style-type li::before {
  content: "";
  position: absolute;
  left: -1.2em; /* aggiusta in base alla spaziatura desiderata */
  top: 0.25em;  /* centra verticalmente se necessario */
  width: 13px;
  height: 13px;
  background: url('https://www.viperpro.it/wp-content/uploads/2025/11/rombo.svg') no-repeat center center;
  background-size: 100%;
}

/* css per fix larghezza tasti funzione */
/* questo css deve essere dato al contenitore #tasti-funzione */
#tasti-funzione {
  width: calc(140% - 20px) !important;
  max-width: 1590px;    
  padding-left: 15px;
  padding-right: 15px;
  left: 50%;
  transform: translateX(-47.85%);
}
body .video-funzioni {
  width: auto;
}
@media (max-width: 1024px) {
  #tasti-funzione {
    width: 100vw !important;
    max-width: unset;
    padding-left: 30px;
    padding-right: 30px;
    left: unset;
    transform: unset;
  }
  #tasti-funzione::before,
  #tasti-funzione::after {
    display: none;
  }
  #tasti-funzione p {
    font-size: 16px;
  }
}
.single-post #loghi-prefooter {
  width: calc(100vw + 15px) !important;
}
.single-post #loghi-prefooter > .fusion-column-wrapper {
  margin: 0 !important;
}
.text-icon .fusion-column-wrapper {
    flex-wrap: nowrap !important;
}

.text-icon .fusion-column-wrapper .fusion-image-element {
    width: 100px;
    min-width: 100px;
    flex-shrink: 0;
}

.text-icon .fusion-column-wrapper .fusion-text {
    flex: 1;
    min-width: 0;
}

.text-icon .fusion-column-wrapper .fusion-text p {
  line-height: 135%;
}
.text-icon .fusion-column-wrapper .fusion-text p strong:first-child {
  margin-bottom:8px;
  display: inline-block;
}

.cosa-fa-evidenza .fusion-column-wrapper {
  border-left: 4px solid #008dcf !important;
}
ul.bullet-ai {
    list-style: none;
    padding-left: 5px;
}

ul.bullet-ai li {
    background-image: url("https://www.viperpro.it/wp-content/uploads/2026/04/bullet-ai.png");
    background-repeat: no-repeat;
    background-size: 24px 24px;
    background-position: left 6px;
    padding-left: 36px;
    margin-bottom: 15px;
}

ul.bullet-ai li p {
    margin: 0 !important;
    padding: 0 !important;
}

.vantaggi-plus .fusion-column-wrapper::before {
    content: ">";
    display: block;
    width: 36px;
    height: 36px;
    line-height: 34px;
    text-align: center;
    background-color: #254899;
    color: #ffffff;
    border-radius: 50%;
    font-size: 24px;
    font-weight: 300;
    margin-bottom: 10px;
    transform: translateY(-2px);
}
ul.custom-format.custom-tpl,
ul.bullet-ai.custom-tpl {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 40px;
    margin-bottom: 0;
}

ul.custom-format.custom-tpl li,
ul.bullet-ai.custom-tpl li {
    border-bottom: 1px solid #e0e0e0;
    padding-top: 15px;
    padding-bottom: 15px;
    background-position: left 20px; /* 15px padding-top + 5px offset */
}

ul.custom-format.custom-tpl li::before {
  width: 18px;
  height: 18px;
  top: 18px;
  left: -26px;
}

.pretitle {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #008dcf;
  margin-bottom: 5px;
}
/*
.pretitle::before {
  content: '';
  display: block;
  width: 28px;
  height: 2px;
  background-color: #008dcf;
  flex-shrink: 0;
}
*/
@media (max-width: 1060px) {
  .page-id-9998 #main {
    padding-top: 0;
  }
  #faq.custom-font {
      --faq-rem: 9.5px;     
      margin-top: 60px;
      margin-bottom: 60px;
  }
}

@media (max-width: 768px) {
  ul.custom-format.custom-tpl,
  ul.bullet-ai.custom-tpl {
    grid-template-columns: 1fr;    
  }
  ul.custom-format.custom-tpl li:last-child,
  ul.bullet-ai li:last-child {
    margin-bottom: 0;
  }
  #faq.custom-font {
      --faq-rem: 8px;      
  }
}

@media (max-width: 600px) {
  .text-icon .fusion-column-wrapper {      
      flex-direction: column !important;
      margin-bottom: 20px;
  }
  .fusion-builder-row .text-icon:not(:has(~ .text-icon)) {
    margin-bottom: 0;    
  }
  .text-icon .fusion-column-wrapper .fusion-image-element {
    margin-right: 0;
    margin-bottom: 15px;
  }
  .text-icon .fusion-column-wrapper p {
    text-align: center;
  }
}

.custom-format li strong:first-child {
  display: block;
  text-transform: uppercase;
}




/* ############################################################# */
/* ############################################################# */
/* #####################                   ##################### */
/* ##################### NUOVO MENU MOBILE ##################### */
/* #####################                   ##################### */
/* ############################################################# */
/* ############################################################# */
  :root{
    --blue:    #008dcf;
    --blue-2:  #254899;
    --ink:     #071B3C;
    --divider: #DCE5F0;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0;height:100%}
  body{
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    color: var(--ink);
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FBFF 100%);
    -webkit-font-smoothing: antialiased;
  }
  a{color:inherit; text-decoration:none}
  button{font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; padding:0}

  /* ---------- menu wrapper ---------- */
  .mmenu{
    width: 100%;    
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    margin: 0 auto;
    display: flex; 
    flex-direction: column;    
  }

  /* ---------- top bar ---------- */
  .mmenu__top{
    padding: 18.5px 20px 15.5px 30px;
    display:flex; align-items:center; gap: 14px;
    position: sticky;
    top: 0;
    z-index: 99;
    background-color: #ffffff;
  }
  .brand{
    display:flex; align-items:center;width: 184px; height: 38px;    
  }
  .brand a { display: block; width: 184px; height: 38px; }
  .brand__logo{ display:block; width: 184px; height: 38px; object-fit: contain; }

  .mmenu__right{ margin-left:auto; display:flex; align-items:center; gap: 14px }
  .mmenu__lang{ position: relative; }
  .pill{
    border: 1.1px solid var(--blue);
    color: var(--ink);
    background: #fff;
    padding: 8px 12px;
    border-radius: 6px;
    display:inline-flex; align-items:center; gap:6px;
    font-weight: 700; font-size: 14px;
  }
  .pill__chev{ transition: transform .15s ease; }
  .mmenu__lang.is-open .pill__chev{ transform: rotate(180deg); }
  .mmenu__lang-menu{
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 100%;
    border: 1.1px solid var(--blue);
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
    z-index: 20;
  }
  .mmenu__lang.is-open .mmenu__lang-menu{ display: block; }
  .mmenu__lang-option{
    display: block;
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 700;
    color: var(--ink);
    text-align: left;
  }
  .mmenu__lang-option + .mmenu__lang-option{ border-top: 1px solid #dce5f0; }
  .mmenu__lang-option.is-active{
    color: var(--blue);
    pointer-events: none;
  }
  .mmenu__close{
    width: 36px; height: 36px;
    display:flex; align-items:center; justify-content:center;
    color: var(--ink); border-radius: 8px;
  }
  .mmenu__close:hover{ background:#EEF4FF }

  /* ---------- list ---------- */
  .mmenu__list{ display:flex; flex-direction:column }
  .mmenu__item{
    display:flex; align-items:center; gap: 15px;
    padding-block: clamp(8px, 1.6dvh, 40px);
    padding-inline: 30px;
    border-top: 1px solid var(--divider);
    color: var(--ink);
    font-weight: 700; font-size: 16px;
    transition: background .12s;
  }
  .mmenu__item:hover, .mmenu__item:active{ background: #EEF4FF }
  .mmenu__item.is-active{
    color: var(--blue);
    background: #EEF4FF;
  }
  .mmenu__item:last-child{ border-bottom: 1px solid var(--divider) }
  .mmenu__icon{
    width: 32px; height: 32px; flex: 0 0 32px;
    color: var(--blue);
    display:flex; align-items:center; justify-content:center;
  }
  .mmenu__icon svg{ width: 100%; height: 100%; display:block }
  .mmenu__label { 
    flex: 1; 
    letter-spacing: 0; 
    font-size: clamp(13px, 1.8vh, 16px);
    line-height: 1.25; 
    display:inline-flex; 
    align-items:center; 
    gap: 10px;
    position: relative;
    top: 1px;
  }
  .badge{
    display:inline-flex; align-items:center; justify-content:center;
    width: auto; height: auto;
    box-sizing: border-box;
    border: 1.5px solid var(--blue);
    color: var(--blue);
    background: #fff;
    font-size: 10px; font-weight: 700; letter-spacing: .04em;
    border-radius: 4px;
    line-height: 1;
    padding: 4px 8px 3px 8px;
    flex: 0 0 auto;
  }
  .mmenu__chev{
    color: var(--blue);
    width: 7px;
    height: 14px;
    min-width: 7px;
    min-height: 14px;
    flex: 0 0 7px;
    display: block;
    overflow: visible;
  }
  
  /* ---------- menu-bottom ---------- */
  #menu-bottom {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-evenly;
    overflow-y: scroll;
  }

  /* ---------- actions ---------- */
  .mmenu__actions{
    padding: 12px 30px;
    margin: 0;
    display:flex; flex-direction:column; 
    gap: 12px;
  }
  .btn{
    width: 100%;
    max-width: 342px;
    margin: 0 auto;
    height: clamp(45px, 6vh, 55px);
    padding: 0 16px;
    border-radius: 8px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 600;
    font-size: clamp(13px, 1.8vh, 16px);
    line-height: 24px;
    letter-spacing: 0;
    transition: transform .15s, box-shadow .15s;
  }
  .btn__icon{ justify-self: start; display:inline-flex; align-items:center }
  .btn__label{ justify-self: center; text-align:center }
  .btn__arrow{ justify-self: end; display:inline-flex; align-items:center }
  .btn-primary{
    background: linear-gradient(90deg, var(--blue) 0%, var(--blue-2) 100%);
    color: #fff;
    box-shadow: 0 10px 22px -10px rgba(0,109,255,.6);
  }
  .btn-primary:hover{ transform: translateY(-1px); box-shadow: 0 14px 26px -10px rgba(0,109,255,.55) }
  .btn-outline{
    border: 1px solid var(--blue);
    color: var(--blue); background:#fff;
  }
  /* Support link styled as ghost button under â€œAccediâ€ */
  .mmenu__support{
    width: 100%;
    max-width: 342px;
    margin: 0 auto;
    height: auto;
    padding: 0 16px;
    border-radius: 8px;
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    color: var(--blue);
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0;
  }
  .mmenu__support:hover{ background:#EEF4FF }

  /* Hide default Avada menu blocks inside same Off Canvas to avoid duplicated links */
  .mmenu-host .fusion-menu-element-wrapper,
  .mmenu-host .fusion-mobile-menu-design-modern,
  .mmenu-host .fusion-mobile-nav-holder,
  .mmenu-host .fusion-menu-hamburger-container,
  .mmenu-host .awb-menu,
  .mmenu-host nav.fusion-menu-wrapper:not(.mmenu){
    display: none !important;
  }

/* Nasconde il tuo offcanvas sopra 1060px */
@media (min-width: 1061px) {
  #off-canvas-mobile-menu,
  .off-canvas-mobile-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* Lo rende disponibile fino a 1060px */
@media (max-width: 1060px) {
  #off-canvas-mobile-menu,
  .off-canvas-mobile-menu {
    display: block !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}

@media (max-width: 1060px) {
  html:has(#off-canvas-mobile-menu.awb-show),
  body:has(#off-canvas-mobile-menu.awb-show) {
    overflow: hidden !important;
    height: 100% !important;
  }
}

body .fusion-toggle-icon-line {
  animation: unset !important;
  transform: unset !important;
  transition: unset !important;
}

@media screen and (max-width: 1060px) and (min-width: 1024px) {  
  .fusion-logo a { margin-left: 1px }
}

.off-canvas-content > p:empty {
    display: none;
}


/* animazione nuovo menu mobile */
#off-canvas-mobile-menu:not(.awb-show) {
  display: none !important;
}

.vp-stagger {
  opacity: 0;
  transform: translateX(22px);
  transition: opacity .3s ease, transform .35s cubic-bezier(.22,1,.36,1);
}
.vp-stagger.in {
  opacity: 1;
  transform: translateX(0);
}

.vp-backdrop {
  position: fixed; inset: 0;
  background: rgba(7,27,60,.45);
  display: none;
  z-index: 9998;
}
.vp-backdrop.on { display: block; }