/* Theme base styles */

/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/

/* Generic
This is where reset, normalize & box-sizing styles go.
*/

*, *:before, *:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/



ul.hs-language-switcher__menu {
    padding-left: 0px !important;
}

/* 1) blocca qualsiasi overflow orizzontale a livello pagina  */
html, body, .body-wrapper, .body-container-wrapper {
  max-width: 100%;
  overflow-x: clip; /* meglio di hidden: niente scrollbar e niente reflow */
}

/* 2) protezione per qualsiasi "glow" enorme fuori dallo schermo */
[class*="pointer-events-none"].absolute {
  max-width: 100vw;         /* non superare la larghezza del viewport */
  contain: layout paint;     /* evita che il contenuto influenzi il layout esterno */
}

/* 3) immagini e svg sempre “contenute” su mobile */
img, svg {
  max-width: 100%;
  height: auto;
}

/* 4) utility per wrapper assoluti dentro container con padding */
@media (max-width: 767px) {
  .absolute.w-full {
    width: calc(100vw - 2rem); /* compensa px-4 dei container mobile */
    left: 50%;
    transform: translateX(-50%);
  }
}


/* CSS variables */

:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

/* Fade + slide-up */
.fx-fadeup{opacity:0;transform:translateY(18px);
  transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .6s}
.fx-fadeup.in{opacity:1;transform:translateY(0)}

/* Zoom-in immagini */
.fx-zoomin{opacity:0;transform:scale(.96);
  transition:transform .8s ease-out,opacity .8s ease-out}
.fx-zoomin.in{opacity:1;transform:scale(1)}

/* Linee che “crescono” orizzontalmente */
.fx-line{transform-origin:left center;transform:scaleX(0);opacity:.5}
.fx-line.in{transform:scaleX(1);opacity:1;transition:transform .7s ease-out,opacity .7s}

/* Tiles pop */
.fx-tile{opacity:0;transform:translateY(12px) scale(.96);
  transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s}
.fx-tile.in{opacity:1;transform:translateY(0) scale(1)}

@media (prefers-reduced-motion: reduce){
  .fx-fadeup,.fx-zoomin,.fx-line,.fx-tile{transition:none;transform:none;opacity:1}
}


/* Blob fluttuante */
.ghost-fx {
  filter: blur(6px);
  opacity: .85;
  animation: ghost-float 16s ease-in-out infinite;
  transform-origin: 50% 50%;
}
@keyframes ghost-float {
  0%   { transform: translate3d(0,0,0) scale(1); opacity:.7; }
  25%  { transform: translate3d(8px,10px,0) scale(1.03); opacity:.85; }
  50%  { transform: translate3d(0,18px,0) scale(1.06); opacity:.95; }
  75%  { transform: translate3d(-8px,8px,0) scale(1.03); opacity:.85; }
  100% { transform: translate3d(0,0,0) scale(1); opacity:.7; }
}

/* Entrata fade + slide-up */
.fx-fadeup {
  opacity: 0;
  transform: translateY(20px);
  transition: transform .6s cubic-bezier(.2,.8,.2,1), opacity .6s;
}
.fx-fadeup.in {
  opacity: 1;
  transform: translateY(0);
}

/* Zoom-in per immagini */
.fx-zoomin {
  opacity: 0;
  transform: scale(0.96);
  transition: transform .8s ease-out, opacity .8s ease-out;
}
.fx-zoomin.in {
  opacity: 1;
  transform: scale(1);
}

/* Ridurre il movimento per utenti sensibili */
@media (prefers-reduced-motion: reduce) {
  .fx-fadeup, .fx-zoomin {
    transition: none;
    transform: none;
    opacity: 1;
  }
}


.section-scroll {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
  will-change: opacity, transform;
}

.section-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ==== DAVI Scrollbar Style ==== */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #1B1A1A; /* Sfondo scuro coerente con bg-primary-100 */
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(to bottom, #E6000C, #645F63); /* Rosso DAVI → Grigio */
  border-radius: 4px;
  border: 2px solid #1B1A1A; /* Padding effect dentro il track */
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(to bottom, #FF3B41, #7E7B7C); /* Hover: rosso chiaro → grigio più chiaro */
}

/* Firefox compatibility */
* {
  scrollbar-width: thin;
  scrollbar-color: #E6000C #1B1A1A;
}


html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px; /* offset fisso */
}


.blurred-ball {
  position: absolute;
  top: -20%;
  left: -20%;
  width: 500px;
  height: 500px;
  border-radius: 848px;
  background: radial-gradient(50% 50% at 50% 50%, rgba(230, 0, 12, 0.10) 0%, rgba(230, 0, 12, 0.00) 100%);
  filter: blur(100px);
  animation: floatY 12s ease-in-out infinite;
  animation-delay: 2s;
  z-index: 0;
  pointer-events: none;
}


.blurred-ball-static {
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 848px;
  filter: blur(100px);
  pointer-events: none;
  z-index: 0;
}

/* Rossa */
.blurred-ball--red {
  background: radial-gradient(
    50% 50% at 50% 50%,
    rgba(230, 0, 12, 0.10) 0%,
    rgba(230, 0, 12, 0.00) 100%
  );
}

/* Bianca */
.blurred-ball--white {
  background: radial-gradient(
    50% 50% at 50% 50%,
    rgba(255, 255, 254, 0.05) 0%,
    rgba(255, 255, 254, 0.00) 100%
  );
}



@keyframes floatY {
  0% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(100px);
  }
  100% {
    transform: translateX(-50%) translateY(0);
  }
}


/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}


.row-fluid .span1,
.row-fluid .span2,
.row-fluid .span3,
.row-fluid .span4,
.row-fluid .span5,
.row-fluid .span6,
.row-fluid .span7,
.row-fluid .span8,
.row-fluid .span9,
.row-fluid .span10,
.row-fluid .span11,
.row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  
  .row-fluid .span1 {
    width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span2 {
    width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span3 {
    width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span4 {
    width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span5 {
    width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span6 {
    width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span7 {
    width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span8 {
    width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span9 {
    width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span10 {
    width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
  }
  
  .row-fluid .span11 {
    width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
  }
  
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 1rem;
}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.dnd-section .dnd-column {
  padding: 0 1rem;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

/* Elements
Base HMTL elements are styled in this section (<body>, <h1>, <a>, <p>, <button> etc.)
*/

/* ========================================
Global styles & base reset
======================================== */

body {
  line-height: 1.4 !important;
  overflow-wrap: anywhere !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-weight: 300;
}

/* Handle word breaking for CJK languages */
html[lang^="ja"] body,
html[lang^="zh"] body,
  line-break: strict !important;
  overflow-wrap: normal !important;
  word-break: break-all !important;
}

/* ========================================
Typography
======================================== */

/* Paragraphs */
p {
  font-size: 1rem !important; /* 16px */
  line-height: 1.6 !important;
  font-family: 'Roboto Condensed', sans-serif !important;
  font-weight: 300;
}

.text-base p {
  font-size: 1rem !important; /* 16px */
  line-height: 1.6 !important;
}


/* Display (hero headline MAXI) */
.display {
  font-size: clamp(3rem, 7.2vw, 32rem) !important; /* 48px → 160px */
  line-height: 1.05 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700;
  margin: 0 !important;
}


/* Headings */

h1, .h1 {
  font-size: clamp(2.5rem, 4vw, 4rem) !important;   /* 40px → 64px */
  line-height: 1.2 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700;
  margin: 0 !important;
}

h2 {
  font-size: clamp(2rem, 3.5vw, 3.25rem) !important; /* 32px → 52px */
  line-height: 1.2 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

h3 {
  font-size: clamp(1.75rem, 3vw, 2.5rem) !important; /* 28px → 40px */
  line-height: 1.3 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600;
  margin: 0 !important;
}

h4 {
  font-size: clamp(1.5rem, 2.5vw, 2.25rem) !important; /* 24px → 36px */
  line-height: 1.3 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600;
  margin: 0 !important;
}

h5 {
  font-size: clamp(1.25rem, 2vw, 1.875rem) !important; /* 20px → 30px */
  line-height: 1.3 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 ;
  margin: 0 !important;
}

h6 {
  font-size: clamp(1.125rem, 1.8vw, 1.625rem) !important; /* 18px → 26px */
  line-height: 1.4 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 500 ;
  margin: 0 !important;
}

/* Anchors */
a {
  cursor: pointer !important;
  text-decoration: none !important;
  color: inherit !important;
}

/* ========================================
Lists
======================================== */

ul,
ol {
  margin: 0 0 1.4rem !important;
  padding-left: 1.25rem !important;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 0 !important;
}

ul.no-list {
  list-style: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
}

/* ========================================
Code & Pre
======================================== */

pre {
  overflow: auto !important;
}

code {
  font-family: monospace !important;
  vertical-align: bottom !important;
}

/* ========================================
Blockquotes
======================================== */

blockquote {
  border-left: 2px solid !important;
  margin: 0 0 1.4rem !important;
  padding-left: 0.7rem !important;
  font-style: italic !important;
}

/* ========================================
Horizontal rules
======================================== */

hr {
  border: none !important;
  border-bottom: 1px solid #ccc !important;
  margin: 2rem 0 !important;
}

/* ========================================
Images
======================================== */

img {
  font-size: 0.583rem !important; /* fallback for alt text rendering */
  word-break: normal !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}
/* =============================
BUTTON BASE
============================= */

button,
.button,
.hs-button {
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 25.6px */
  transition: all 0.3s ease;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  border: none;
}

/* =============================
PRIMARY BUTTON
============================= */

.btn-primary {
  background-color: var(--color-secondary-100);
  color: var(--color-neutral-white) !important;
  border: 1px solid transparent;
}

.btn-primary:hover {
  background-color: var(--color-secondary-110);
  color: var(--color-neutral-white) !important;
}

/* =============================
SECONDARY BUTTON
============================= */

.btn-secondary {
  background-color: var(--color-neutral-white);
  color: var(--color-primary-100) !important;
  border: 1px solid transparent;
}

.btn-secondary:hover {
  background-color: var(--color-neutral-10);
  color: var(--color-primary-100) !important;
}

/* =============================
TERTIARY BUTTON
============================= */

.btn-tertiary {
  background-color: transparent !important;
  color: var(--color-neutral-white) !important;
  border: 1px solid var(--color-neutral-white) !important;
}

.btn-tertiary:hover {
  background-color: var(--color-secondary-110) !important;
  color: var(--color-neutral-white) !important;
  border-color: var(--color-secondary-110) !important;
}

@keyframes shimmer-down {
  0%   { background-position: 0 -200%; }
  100% { background-position: 0 200%; }
}

.animate-shimmer-down {
  background-size: 100% 200%;
  animation: shimmer-down 3s linear infinite;
  mix-blend-mode: screen; /* effetto luce */
}


/* =============================
DISABLED
============================= */

button:disabled,
.button:disabled,
.hs-button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

/* =============================
NO BUTTON STYLE
============================= */

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active {
  background: none;
  border: none;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  text-decoration: none;
  transition: none;
}
.hsfc-Step__Banner{
  background: transparent !important;
}

[data-hsfc-id=Renderer] .hsfc-Step {
  background: transparent !important;
}

/* ================== BASE HUBSPOT (come da tua partenza) ================== */
/* Fields */
.hs-form-field { margin-bottom: 1.4rem; }
/* Labels */
form label { display: block; font-size: .875rem; margin-bottom: .35rem; }
/* Form Title */
.form-title { margin-bottom: 0; }
/* Help text */
form legend { font-size: .875rem; }
/* Inputs */
form input[type=text],
form input[type=search],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea,
[data-hsfc-id=Renderer] .hsfc-TextareaInput{
  display: inline-block;
  font-size: .875rem;
  padding: .7rem;
  width: 100%;
  font-family: 'Roboto Condensed' !important;
}
form textarea { resize: vertical; }
form fieldset { max-width: 100% !important; }
/* Inputs - checkbox/radio */
form .inputs-list { margin: 0; padding: 0; list-style: none; }
form .inputs-list>li { display: block; margin: .7rem 0; }
form .inputs-list input, form .inputs-list span { vertical-align: middle; }
form input[type=checkbox], form input[type=radio] { cursor: pointer; margin-right: .35rem; }
/* Inputs - date picker */
.hs-dateinput { position: relative; }
.hs-dateinput:before {
  content:'\01F4C5'; position:absolute; right:10%; top:50%; transform:translateY(-50%);
}
.fn-date-picker .pika-table thead th { color: #FFF; }
.fn-date-picker td.is-selected .pika-button { border-radius:0; box-shadow:none; }
.fn-date-picker td .pika-button:hover,.fn-date-picker td .pika-button:focus {
  border-radius:0!important; color:#FFF;
}
/* Inputs - file picker */
form input[type=file], [data-hsfc-id=Renderer] .hsfc-TextareaInput{ background-color:transparent; border:initial; padding:initial; }
/* Headings and text */
form .hs-richtext, form .hs-richtext p { font-size:.875rem; margin:0 0 1.4rem; }
form .hs-richtext img { max-width:100%!important; }
/* GDPR */
.legal-consent-container .hs-form-booleancheckbox-display>span,
.legal-consent-container .hs-form-booleancheckbox-display>span p { 
  margin-left:1rem!important; 
  font-size: 16px;
  font-weight: 300;
}

.legal-consent-container .hs-form-booleancheckbox-display>span a{ 
  text-decoration: underline !important;
}

.hs-input.invalid.error { 
  border-color: var(--secondary-100); 
}
.hs-error-msg, .hs-main-font-element, .legal-consent-container .hs-error-msgs label, .hs-main-font-element label { 
  color: var(--secondary-100) !important; 
  margin-top: .35rem; 
}
/* Submit button */
form input[type=submit], form .hs-button {
  cursor:pointer; display:inline-block; text-align:center;
  transition: all .15s linear; white-space: normal;
}
/* Captcha */
.grecaptcha-badge { margin: 0 auto; }

/* Search invariato */
.body-container-wrapper .hs-search-field__button { padding: 15px; }
.body-container-wrapper .hs-search-field__bar--button-inline .hs-search-field__button { margin-left: 6px; margin-bottom: 0; }
.body-container-wrapper .hs-search-field__button svg { height: 15px; fill: #fff; }
.body-container-wrapper .hs-search-field__bar>form>.hs-search-field__input { padding: 10px; }
.body-container-wrapper .hs-search-field__suggestions li a {
  color: #494A52; padding: .35rem .7rem; text-decoration:none; transition: background-color .3s;
}



/* ================== DAVI OVERRIDES ================== */
/* Scope: solo dentro .davi-form */

/* Labels */
.davi-form form label,
.davi-form form .hs-field-desc,
[data-hsfc-id=Renderer] .hsfc-FieldLabel {
  color: var(--color-neutral-white) !important;
  font-size: 20px;    /* text-xl */
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 8px;
}

/* Asterisco required */
.davi-form form .hs-form-required,
.davi-form form label .hs-form-required {
  color: var(--color-secondary-100);
  margin-left: 4px;
}

/* Input text */
.davi-form form input[type=text] {
  width: 100% !important;
  border: 1px solid var(--color-primary-60);
  background: var(--color-primary-90);
  color: var(--color-neutral-white);
  font-size: 16px;
  line-height: 1.4;
  padding: 12px 16px;
  border-radius: 0;
  outline: none;
}

/* Input email */
.davi-form form input[type=email] {
  width: 100% !important;
  border: 1px solid var(--color-primary-60);
  background: var(--color-primary-90);
  color: var(--color-neutral-white);
  font-size: 16px;
  line-height: 1.4;
  padding: 12px 16px;
  border-radius: 0;
  outline: none;
}


/* Wrapper */
.hs_submit {
  display: flex;
  align-items: center;
  margin-top: 1rem;
}

/* Bottone submit */
.hs-submit input[type=submit],
.hs-submit .hs-button {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  font-family: 'Roboto Condensed', sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%; /* 25.6px */
  transition: all 0.3s ease;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  border: none;
  background-color: var(--color-secondary-100);
  color: var(--color-neutral-white) !important;
}

/* Hover */
.hs-submit input[type=submit]:hover,
.hs-submit .hs-button:hover {
  background-color: var(--color-secondary-110);
  color: var(--color-neutral-white) !important;
}

/* Disabled */
.hs-submit input[type=submit]:disabled,
.hs-submit .hs-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background-color: var(--color-secondary-100);
}


/* Input tel */
.davi-form form input[type=tel] {
  width: 100% !important;
  border: 1px solid var(--color-primary-60);
  background: var(--color-primary-90);
  color: var(--color-neutral-white);
  font-size: 16px;
  line-height: 1.4;
  padding: 12px 16px;
  border-radius: 0;
  outline: none;
}


/* Select */
.davi-form form select {
  width: 100% !important;
  border: 1px solid var(--color-primary-60);
  background: var(--color-primary-90);
  color: var(--color-neutral-white);
  font-size: 16px;
  line-height: 1.4;
  padding: 12px 16px;
  border-radius: 0;
  outline: none;
}

/* Textarea */
.davi-form form textarea, [data-hsfc-id=Renderer] .hsfc-TextareaInput {
  width: 100% !important;
  border: 1px solid var(--color-primary-60) !important;
  background: var(--color-primary-90) !important;
  color: var(--color-neutral-white) !important;
  font-size: 16px !important;
  line-height: 1.4;
  padding: 12px 16px;
  border-radius: 0;
  outline: none;
  resize: vertical;
  border-radius: inherit !important;
}


[data-hsfc-id=Renderer] .hsfc-ProgressBar__Progress {
    background-color: white !important;
}

.hsfc-DropdownOptions__Search input::placeholder {
  color: white !important;
}

/* Placeholder */
.davi-form form input::placeholder,
.davi-form form textarea::placeholder,
.davi-form form select::placeholder,
[data-hsfc-id=Renderer] .hsfc-TextInput::placeholder {
  color: var(--color-neutral-50) !important;
  font-size: 16px !important;
}

/* Focus state */
.davi-form form input:focus,
.davi-form form textarea:focus,
.davi-form form select:focus {
  border-color: var(--color-primary-60);
}

.legal-consent-container ul.inputs-list {
  padding-left: 0px !important;
}

/* Base */
.davi-form form input[type=checkbox]{
  -webkit-appearance:none; appearance:none;
  position: relative;
  width:22px; height:22px; min-width:22px; min-height:22px;
  border:1px solid var(--color-neutral-white);
  background: transparent;
  cursor:pointer;
  vertical-align:middle;
  margin-right: 8px;
}

/* rimuove qualsiasi check di default residuo */
.davi-form form input[type=checkbox]:checked{
  background-image:none !important;
  background: var(--color-neutral-white);
}

/* Spunta via mask: usa il tuo SVG */
.davi-form form input[type=checkbox]:checked::after{
  content:"";
  position:absolute; inset:0;
  margin:auto;
  width:13px; height:10px;           /* dimensioni reali del tuo SVG */
  background: var(--color-secondary-100); /* colore spunta */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 10'><path d='M0.0129395 5.01253C0.0129395 4.78953 0.0909394 4.60053 0.246939 4.44453L1.38694 3.30453C1.54194 3.14953 1.73194 3.07153 1.95494 3.07153C2.17794 3.07153 2.36794 3.14853 2.52494 3.30453L4.98494 5.77453L10.4769 0.274527C10.6329 0.118527 10.8229 0.0405273 11.0449 0.0405273C11.2689 0.0405273 11.4579 0.117527 11.6149 0.273527L12.7529 1.41353C12.9089 1.56853 12.9869 1.75853 12.9869 1.98153C12.9869 2.20553 12.9089 2.39553 12.7529 2.55153L6.69294 8.61153L5.55294 9.75153C5.39794 9.90653 5.20794 9.98453 4.98494 9.98453C4.76194 9.98453 4.57194 9.90653 4.41494 9.75053L3.27694 8.61053L0.246939 5.58053C0.0909394 5.42453 0.0129395 5.23453 0.0129395 5.01053V5.01253Z'/></svg>") no-repeat center / 100% 100%;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 10'><path d='M0.0129395 5.01253C0.0129395 4.78953 0.0909394 4.60053 0.246939 4.44453L1.38694 3.30453C1.54194 3.14953 1.73194 3.07153 1.95494 3.07153C2.17794 3.07153 2.36794 3.14853 2.52494 3.30453L4.98494 5.77453L10.4769 0.274527C10.6329 0.118527 10.8229 0.0405273 11.0449 0.0405273C11.2689 0.0405273 11.4579 0.117527 11.6149 0.273527L12.7529 1.41353C12.9089 1.56853 12.9869 1.75853 12.9869 1.98153C12.9869 2.20553 12.9089 2.39553 12.7529 2.55153L6.69294 8.61153L5.55294 9.75153C5.39794 9.90653 5.20794 9.98453 4.98494 9.98453C4.76194 9.98453 4.57194 9.90653 4.41494 9.75053L3.27694 8.61053L0.246939 5.58053C0.0909394 5.42453 0.0129395 5.23453 0.0129395 5.01053V5.01253Z'/></svg>") no-repeat center / 100% 100%;
}

/* Hover/Focus opzionali */
.davi-form form input[type=checkbox]:hover{ border-color: var(--color-neutral-60); }
.davi-form form input[type=checkbox]:focus-visible{
  outline:2px solid var(--color-secondary-100); outline-offset:2px;
}

ul.inputs-list.multi-container {
  padding-left: 0px !important;
}

/* Radio */
.davi-form form input[type=radio] {
  width: 20px;
  height: 20px;
  margin-right: 12px;
  border: 1px solid var(--color-primary-60);
  background: var(--color-primary-90);
  accent-color: var(--color-secondary-100);
}

/* Errori */
.davi-form form .hs-error-msg {
  margin-top: 8px;
  color: var(--color-secondary-100);
  font-size: 14px;
}
.davi-form form .field.error input,
.davi-form form .field.error textarea,
.davi-form form .field.error select {
  border-color: var(--color-secondary-100);
}

/* Submit button */
.davi-form form .hs-button.btn-primary {
  width: 100%;
}
@media (min-width: 768px) {
  .davi-form form .hs-button.btn-primary {
    width: auto;
  }
}


<script>
hbspt.forms.create({
  portalId: 'YOUR_PORTAL_ID',
    formId: '',
    onFormReady: function($form) {
      const formEl = $form.get(0);
      const submitBtn = $form.find('.hs-button').prop('disabled', true);
      const requiredFields = formEl.querySelectorAll('[required]');

      function validateForm() {
        const allFilled = Array.from(requiredFields).every(field => field.value.trim() !== '');
        submitBtn.prop('disabled', !allFilled);
      }

      requiredFields.forEach(field => {
        field.addEventListener('input', validateForm);
        field.addEventListener('change', validateForm);
      });
  }
});
</script>
/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}

/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/

/* Footer links - esclusi i bottoni */
.footer a:not(.hs-button):not(.btn-primary):not(.btn-tertiary) {
  position: relative;
  text-decoration: none;
  color: inherit;
  transition: color 0.3s ease;
}

/* underline animata */
.footer a:not(.hs-button):not(.btn-primary):not(.btn-tertiary)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0%;
  height: 1px;
  background-color: currentColor;
  transition: width 0.3s ease;
}

.footer a:not(.hs-button):not(.btn-primary):not(.btn-tertiary):hover {
  color: var(--color-neutral-white);
}

.footer a:not(.hs-button):not(.btn-primary):not(.btn-tertiary):hover::after {
  width: 100%;
}



/* Header DND sections */

.header .dnd-section {
  padding: 0;
}

/* Header container */

.header__container {
  display: flex;
  justify-content: space-between;
}

.header__row-1 {
  padding-top: 1rem;
}

.header__row-1,
.header__row-2 {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  width: 100%;
}

@media (max-width: 1150px) and (min-width: 767px) {
  .header__column {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .header__container {
    flex-direction: column;
    padding: 1rem 0 0;
  }

  .header__column {
    position: relative;
  }

  .header__row-1 {
    padding-top: 0;
  }

  .header__row-2 {
    justify-content: center;
    padding: 1.05rem;
  }
}

/* Navigation skipper */

.header__skip {
  height: 1px;
  left: -1000px;
  overflow: hidden;
  position: absolute;
  text-align: left;
  top: -1000px;
  width: 1px;
}

.header__skip:hover,
.header__skip:focus,
.header__skip:active {
  height: auto;
  left: 0;
  overflow: visible;
  top: 0;
  width: auto;
}

/* Logo */

.header__logo {
  align-items: center;
  display: flex;
  height: auto;
  margin-right: auto;
  max-width: 200px;
  overflow: hidden;
}

@media (max-width: 767px) {
  .header__logo {
    margin: 0 auto;
    width: 100%;
  }
}

.header__logo img {
  max-width: 100%;
}

.header__logo .logo-company-name {
  font-size: 1.167rem;
  margin-top: 0.7rem;
}

.header__logo--main {
  padding-top: 1rem;
}

/* Search bar */

.header__search {
  padding: 0 1rem;
  width: auto;
}



  .hs-search-field__form {
    position: relative;
  }

  .header__search .hs-search-field__label {
    flex-basis: auto;
  }



.header__search .hs-search-field__input {
  
  height: 45px;
  padding: 0 0.7rem;
}



  .header__search .hs-search-field__button {
    padding: 0;
    fill: #000;
    background-color: transparent;
    border: none;
    padding: 10px;
    position: absolute;
    top: 0;
    right: 0;
  }

  .header__search .hs-search-field__button svg {
    height: 25px;
  }


.header__search .hs-search-field--open .hs-search-field__input {
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  max-width: 100%;
}

.header__search .hs-search-field--open .hs-search-field__suggestions {
  background-color: #FFF;
  border: 2px solid #D1D6DC;
  border-radius: 0 0 6px 6px;
  border-top-width: 1px;
  position: absolute;
  width: 100%;
  z-index: 10;
}

.header__search .hs-search-field__suggestions li {
  border-top: 1px solid #D1D6DC;
  font-size: 0.875rem;
}

.header__search .hs-search-field__suggestions li a {
  color: #494A52;
  padding: 0.35rem 0.7rem;
  text-decoration: none;
  transition: background-color 0.3s;
}

.header__search .hs-search-field__suggestions #results-for {
  display: none;
}

@media (min-width: 767px) {
  .header__search form {
    align-items: center;
    display: flex;
    flex-direction: row;
  }

  .header__search label {
    margin: 0 1rem 0 0;
  }

  .header__search .hs-search-field__input {
    width: auto;
  }
}

@media (max-width: 767px) {
  .header__search {
    border-top: 2px solid #CED4DB;
    order: 1;
    padding: 1.05rem;
  }
}

/* Language switcher */

.header__language-switcher {
  cursor: pointer;
  padding-right: 1.4rem;
}

.header__language-switcher .lang_switcher_class {
  position: static;
}

.header__language-switcher .lang_list_class {
  border: 2px solid;
  border-radius: 3px;
  box-shadow: 0 2px 9px 0 rgba(0, 0, 0, 0.2);
  display: block;
  left: calc(100% - 24px);
  opacity: 0;
  min-width: 100px;
  padding-top: 0;
  text-align: left;
  top: 100%;
  transition: opacity 0.3s;
  visibility: hidden;
}

.header__language-switcher:hover .lang_list_class,
.header__language-switcher:focus .lang_list_class {
  opacity: 1;
  transition: opacity 0.3s;
  visibility: visible;
}

.header__language-switcher .lang_list_class:before {
  left: 70%;
  top: -25px;
}

.header__language-switcher .lang_list_class:after {
  left: 70%;
  top: -22px;
}

.header__language-switcher .lang_list_class.first-active::after {
  top: -22px;
  transition: 0.3s;
}

.header__language-switcher .lang_list_class li {
  border: none;
  font-size: 18px;
  padding: 0.35rem 0.7rem;
}

.header__language-switcher .lang_list_class li:first-child {
  border-radius: 6px 6px 0 0;
  border-top: none;
}

.header__language-switcher .lang_list_class li:last-child {
  border-bottom: none;
  border-radius: 0 0 6px 6px;
}

.header__language-switcher .lang_list_class li:hover {
  transition: background-color 0.3s;
}

.header__language-switcher--label {
  display: flex;
  position: relative;
}

.header__language-switcher--label-current {
  align-items: center;
  display: flex;
  font-size: 0.75rem;
  margin-bottom: 0.175rem;
  margin-left: 0.7rem;
}

.header__language-switcher--label-current:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 6px solid #494A52;
  content: "";
  display: block;
  height: 0px;
  margin-left: 0.7rem;
  margin-top: 0.175rem;
  width: 0px;
}

@media (max-width: 767px) {
  .header__language-switcher {
    border-top: 2px solid #CED4DB;
    padding-left: 1.05rem;
    padding-right: 0;
  }

  .header__language-switcher .lang_list_class {
    border: none;
    box-shadow: unset;
    display: block;
    left: 30px;
    opacity: 1;
    padding: 0 1.05rem;
    top: 0;
    visibility: visible;
  }

  .header__language-switcher .lang_list_class li {
    background-color: inherit;
    font-size: 0.917rem;
  }

  .header__language-switcher--label-current {
    display: none;
  }

  .header__language-switcher .globe_class {
    background-image: none;
  }

  .header__language-switcher .lang_list_class li:hover{
    background-color: inherit;
  }

  .header__language-switcher .lang_list_class:before,
  .header__language-switcher .lang_list_class:after {
    content: none;
  }
    /* V1 lang switcher updates to keep "in line" w/ v0 mobile styles */
    .header__language-switcher .hs-language-switcher__menu {
        display: block;
        box-shadow:none!important;
        background: transparent;
    }
    .header__language-switcher .hs-language-switcher__menu a {
        font-size: 20px!important;
    }
    .header__language-switcher .hs-language-switcher__button {
        display: none;
    }
  }

/* Navigation */

#nav-toggle {
  display: none;
}

/* Mobile toggles */

@media (max-width: 767px) {
  .header__navigation,
  .header__search,
  .header__language-switcher {
    display: none;
    width: 100%;
  }

  .header__navigation.open,
  .header__search.open,
  .header__language-switcher.open {
    background-color: #F8FAFC;
    display: block;
    left: 0;
    min-height: calc(100vh - 115px);
    position: absolute;
    right: 0;
    top: 75px;
    z-index: 2;
  }

  .header__navigation--toggle,
  .header__search--toggle,
  .header__language-switcher--toggle,
  .header__close--toggle {
    cursor: pointer;
    margin: 0 5vw;
    position: relative;
  }

  .header__navigation--toggle.hide,
  .header__search--toggle.hide,
  .header__language-switcher--toggle.hide {
    display: none;
  }

  .header__navigation--toggle.open,
  .header__search--toggle.open,
  .header__language-switcher--toggle.open {
    display: block;
    margin-left: 0;
    margin-right: auto;
  }

  .header__navigation--toggle:after,
  .header__search--toggle:after,
  .header__language-switcher--toggle:after {
    display: none;
    font-size: 1.083rem;
    font-weight: 600;
    position: absolute;
    left: 40px;
    text-transform: uppercase;
    top: -10px;
  }

  .header__navigation--toggle.open:after,
  .header__search--toggle.open:after,
  .header__language-switcher--toggle.open:after {
    display: block;
    word-break: normal;
  }

  .header__navigation--toggle {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAxOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5oYW1idXJnZXI8L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGcgaWQ9ImhhbWJ1cmdlciIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+ICAgICAgICA8ZyBpZD0iR3JvdXAiIHN0cm9rZT0iIzQ5NEE1MiIgc3Ryb2tlLXdpZHRoPSIzIj4gICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjUiPjwvcmVjdD4gICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLUNvcHktNCIgeD0iMS41IiB5PSI5LjUiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxIiByeD0iMC41Ij48L3JlY3Q+ICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1Db3B5LTUiIHg9IjEuNSIgeT0iMTcuNSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjUiPjwvcmVjdD4gICAgICAgIDwvZz4gICAgPC9nPjwvc3ZnPg==);
    background-size: cover;
    height: 25px;
    width: 25px;
  }

  .header__navigation--toggle:after {
    content: "Menu";
  }

  .header__language-switcher--toggle {
    background-image: url(//static.hsappstatic.net/cos-LanguageSwitcher/static-1.1/img/globe.png);
    background-size: cover;
    height: 25px;
    width: 25px;
  }

  .header__language-switcher--toggle:after {
    content: "Language";
  }

  .header__search--toggle {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5TZWFyY2g8L3RpdGxlPiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4gICAgPGRlZnM+ICAgICAgICA8cGF0aCBkPSJNOS4xMzg2MTUzNCwxNS44OTI1Njg1IEM1LjQxMzk1NzQyLDE1Ljg5MjU2ODUgMi4zODM4ODUyNywxMi44NjM0NDc1IDIuMzgzODg1MjcsOS4xMzkwMDM3NiBDMi4zODM4ODUyNyw1LjQxNDU2MDA1IDUuNDEzOTU3NDIsMi4zODM4ODUyNyA5LjEzODYxNTM0LDIuMzgzODg1MjcgQzEyLjg2MzI3MzMsMi4zODM4ODUyNyAxNS44OTI1Njg1LDUuNDE0NTYwMDUgMTUuODkyNTY4NSw5LjEzOTAwMzc2IEMxNS44OTI1Njg1LDEyLjg2MzQ0NzUgMTIuODYzMjczMywxNS44OTI1Njg1IDkuMTM4NjE1MzQsMTUuODkyNTY4NSBNOS4xMzg3NTI0NSwyLjQzMzYwODg3ZS0xMyBDMTQuMTc3OTk1NSwyLjQzMzYwODg3ZS0xMyAxOC4yNzY0NTM3LDQuMTAwMzI0NzEgMTguMjc2NDUzNyw5LjEzOTI3Nzk2IEMxOC4yNzY0NTM3LDExLjIyOTgyMTEgMTcuNTcxMDE2OSwxMy4xNTg0NDM0IDE2LjM4NTYzMTMsMTQuNjk5NjY5NiBMMjMuNjUwODg4MSwyMS45NjUyMjY2IEMyNC4xMTYzNzA2LDIyLjQzMDcwOTIgMjQuMTE2MzcwNiwyMy4xODU0MDU1IDIzLjY1MDg4ODEsMjMuNjUwODg4MSBDMjMuMTg1NDA1NSwyNC4xMTYzNzA2IDIyLjQzMDcwOTIsMjQuMTE2MzcwNiAyMS45NjUyMjY2LDIzLjY1MDg4ODEgTDE0LjY5OTgxMzMsMTYuMzg1NDcxMyBDMTMuMTU4NDQwNSwxNy41NzA5NTA5IDExLjIyOTU3MzgsMTguMjc2NDUzNyA5LjEzODc1MjQ1LDE4LjI3NjQ1MzcgQzQuMDk5NTA5MzgsMTguMjc2NDUzNyAtMy43MzAzNDkzNmUtMTQsMTQuMTc4MjMxMiAtMy43MzAzNDkzNmUtMTQsOS4xMzkyNzc5NiBDLTMuNzMwMzQ5MzZlLTE0LDQuMTAwMzI0NzEgNC4wOTk1MDkzOCwyLjQzMzYwODg3ZS0xMyA5LjEzODc1MjQ1LDIuNDMzNjA4ODdlLTEzIFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4gICAgPC9kZWZzPiAgICA8ZyBpZD0iU2VhcmNoIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4gICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPiAgICAgICAgPC9tYXNrPiAgICAgICAgPHVzZSBpZD0iSWNvbnMvQWN0aW9ucy9TZWFyY2giIGZpbGw9IiM0OTRBNTIiIHhsaW5rOmhyZWY9IiNwYXRoLTEiPjwvdXNlPiAgICA8L2c+PC9zdmc+);
    background-size: cover;
    height: 25px;
    width: 25px;
  }

  .header__search--toggle:after {
    content: "Search";
  }

  .header__close--toggle {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjE5cHgiIHZpZXdCb3g9IjAgMCAyNCAxOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4gICAgICAgIDx0aXRsZT5jbG9zZTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZyBpZD0iY2xvc2UiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9Ikdyb3VwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyLjAwMDAwMCwgLTEuMDAwMDAwKSIgc3Ryb2tlPSIjNDk0QTUyIiBzdHJva2Utd2lkdGg9IjMiPiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwLjAwMDAwMCwgMTAuNTAwMDAwKSByb3RhdGUoLTQ1LjAwMDAwMCkgdHJhbnNsYXRlKC0xMC4wMDAwMDAsIC0xMC41MDAwMDApICIgeD0iLTAuNSIgeT0iMTAuNSIgd2lkdGg9IjIxIiBoZWlnaHQ9IjEiIHJ4PSIwLjUiPjwvcmVjdD4gICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLUNvcHktNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMDAwMDAwLCAxMC41MDAwMDApIHJvdGF0ZSg0NS4wMDAwMDApIHRyYW5zbGF0ZSgtMTAuMDAwMDAwLCAtMTAuNTAwMDAwKSAiIHg9Ii0wLjUiIHk9IjEwLjUiIHdpZHRoPSIyMSIgaGVpZ2h0PSIxIiByeD0iMC41Ij48L3JlY3Q+ICAgICAgICA8L2c+ICAgIDwvZz48L3N2Zz4=);
    background-repeat: no-repeat;
    background-size: 110%;
    display: none;
    height: 25px;
    margin-right: 0;
    width: 25px;
  }

  .header__close--toggle.show {
    display: block;
  }
}
/* Menu and simple menu */

.hs-menu-wrapper ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */

.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    flex-direction: column;
  }
}

/* Vertical menu */

.hs-menu-wrapper.hs-menu-flow-vertical ul {
  flex-direction: column;
}

/* Flyouts */

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: flex;
  }
}

.hs-menu-wrapper.flyouts .hs-item-has-children {
  position: relative;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.hs-menu-wrapper.flyouts .hs-menu-children-wrapper a {
  display: block;
  white-space: nowrap;
}

.hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 0;
  opacity: 1;
  top: 100%;
}

.hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
  left: 100%;
  opacity: 1;
  top: 0;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.flyouts .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-horizontal.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper,
  .hs-menu-wrapper.hs-menu-flow-vertical.flyouts .hs-item-has-children:hover > .hs-menu-children-wrapper {
    left: 0;
    opacity: 1;
    position: relative;
    top: auto;
  }
}

/* CTA, logo, and rich text images */

.hs_cos_wrapper_type_cta img,
.hs_cos_wrapper_type_logo img,
.hs_cos_wrapper_type_rich_text img {
  height: auto;
  max-width: 100%;
}

/* Utilities
Helper classes with ability to override anything that comes before it
*/

/* For content that needs to be visually hidden but stay visible for screenreaders */

.show-for-sr {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 767px) {
  .show-for-sr--mobile {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}