/* Settings */

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

:root {

    /* HubSpot DND layout grid */
    --hsElevate--column__gap: 2.13%;
    --hsElevate--column__widthMultiplier: 8.333;

    /* Sections */
    --hsElevate--contentWrapper--narrow__maxWidth:  768px ;
    --hsElevate--contentWrapper--medium__maxWidth:  1120px ;
    --hsElevate--contentWrapper--wide__maxWidth:  1296px ;

    --hsElevate--section--extraSmall__verticalPadding:  48px ;
    --hsElevate--section--small__verticalPadding:  64px ;
    --hsElevate--section--medium__verticalPadding:  96px ;
    --hsElevate--section--large__verticalPadding:  128px ;
    --hsElevate--section--extraLarge__verticalPadding:  192px ;

    /* Default section left/right padding */
    --hsElevate--section--horizontalPadding:  32px ;

    /* Gap - default gaps that could be easily leveraged in module styles via class names */
    --hsElevate--gap--extraSmall:  16px ;
    --hsElevate--gap--small:  24px ;
    --hsElevate--gap--medium:  32px ;
    --hsElevate--gap--large:  64px ;
    --hsElevate--gap--extraLarge:  96px ;

    /* Spacing - default spacing values  */
    --hsElevate--spacing--4:  4px ;
    --hsElevate--spacing--8:  8px ;
    --hsElevate--spacing--12:  12px ;
    --hsElevate--spacing--16:  16px ;
    --hsElevate--spacing--20:  20px ;
    --hsElevate--spacing--24:  24px ;
    --hsElevate--spacing--32:  32px ;
    --hsElevate--spacing--40:  40px ;
    --hsElevate--spacing--48:  48px ;
    --hsElevate--spacing--56:  56px ;
    --hsElevate--spacing--64:  64px ;
    --hsElevate--spacing--72:  72px ;
    --hsElevate--spacing--80:  80px ;
    --hsElevate--spacing--88:  88px ;
    --hsElevate--spacing--96:  96px ;
    --hsElevate--spacing--104:  104px ;
    --hsElevate--spacing--112:  112px ;
    --hsElevate--spacing--120:  120px ;
    --hsElevate--spacing--128:  128px ;
    --hsElevate--spacing--136:  136px ;
    --hsElevate--spacing--144:  144px ;
    --hsElevate--spacing--152:  152px ;
    --hsElevate--spacing--160:  160px ;
    --hsElevate--spacing--168:  168px ;
    --hsElevate--spacing--176:  176px ;
    --hsElevate--spacing--184:  184px ;
    --hsElevate--spacing--192:  192px ;

    /* Grids */
    --default-section-padding: var(--hsElevate--section--medium__verticalPadding) var(--hsElevate--section--horizontalPadding);
    --default-section-margin: 0;
    --default-section-max-width: var(--hsElevate--contentWrapper--wide__maxWidth);
    --default-container-padding: 0;
    --default-container-margin: 0;
    --default-container-gap: var(--hsElevate--gap--medium);
    --default-container-row-gap: var(--hsElevate--gap--medium);
    --default-container-column-gap: var(--hsElevate--gap--medium);
    --default-table-padding: 0;
    --default-table-margin: 0;
    --default-table-row-gap: var(--hsElevate--gap--medium);
    --default-table-column-gap: var(--hsElevate--gap--medium);

    /* FileMy Spacing System (4px grid aliases) */
    --space-1:  4px ;
    --space-2:  8px ;
    --space-3:  12px ;
    --space-4:  16px ;
    --space-5:  20px ;
    --space-6:  24px ;
    --space-8:  32px ;
    --space-10:  40px ;
    --space-12:  48px ;
    --space-16:  64px ;
    --space-20:  80px ;
    --space-24:  96px ;

    /* FileMy Layout Defaults */
    --section-padding-default:  80px ;
    --container-max-width-default: 1200px;
}

  

  

  

  

  

  

  

  

  

  

:root {

  /* FileMy Typography System */
  --font-heading: Inter,  sans-serif ;
  --font-body: Inter,  sans-serif ;
  --font-code: JetBrains Mono,  monospace ;

  /* Text spacing */

  --hsElevate--text--extraSmall__margin: 0 0.75rem; /* 12px */
  --hsElevate--text--small__margin: 0 1.25rem; /* 20px */
  --hsElevate--text__margin: 0 2rem; /* 32px */
  --hsElevate--text--large__margin: 0 2.5rem; /* 40px */
  --hsElevate--text--extraLarge__margin: 0 4rem; /* 64px */

  /* Body */

  --hsElevate--baseText__fontSize:  16px ;
  --hsElevate--body__font:  Inter ;
  --hsElevate--body--small__fontSize:  1.000125rem ;
  --hsElevate--body__fontSize:  1.125rem ;
  --hsElevate--body--large__fontSize:  1.499625rem ;
  --hsElevate--body--extraLarge__fontSize:  1.9991249999999998rem ;
  --hsElevate--body__fontWeight:  normal ;
  --hsElevate--body__fontStyle:  normal ;
  --hsElevate--body__lineHeight: 1.55;

  /* Primary links */

  --hsElevate--link--primary__fontColor:  #3B82F6 ;

    
    --hsElevate--link--primary__textDecoration: none;
    --hsElevate--link--primary__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--link--primary__hover--fontColor:  #3B82F6 ;

    
    --hsElevate--link--primary__hover--textDecoration: underline;
    --hsElevate--link--primary__hover--textDecorationColor:  #3B82F6 ;
    

  /* Secondary links */

  --hsElevate--link--secondary__fontColor:  #D2CAFF ;

    
    --hsElevate--link--secondary__textDecoration: none;
    --hsElevate--link--secondary__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--link--secondary__hover--fontColor:  #D2CAFF ;

    
    --hsElevate--link--secondary__hover--textDecoration: underline;
    --hsElevate--link--secondary__hover--textDecorationColor:  #D2CAFF ;
    

  /* Headings */

  /* Percentage change for the heading font sizes on mobile */
  --hsElevate--heading__tablet-modifier: 0.8;

  --hsElevate--heading__lineHeight: 1.2;

  --hsElevate--display1__font:  Inter ;
  --hsElevate--display1__fontSize: 6.313rem;

  --hsElevate--display2__font:  Inter ;
  --hsElevate--display2__fontSize: 4.75rem;

  --hsElevate--h1__font:  Inter ;
  --hsElevate--h1__fontSize:  3.5625rem ;
  --hsElevate--h1__fontWeight:  500 ;
  --hsElevate--h1__fontStyle:  normal ;

  --hsElevate--h2__font:  Inter ;
  --hsElevate--h2__fontSize:  2.6875rem ;
  --hsElevate--h2__fontWeight:  600 ;
  --hsElevate--h2__fontStyle:  normal ;

  --hsElevate--h3__font:  Inter ;
  --hsElevate--h3__fontSize:  2.0rem ;
  --hsElevate--h3__fontWeight:  600 ;
  --hsElevate--h3__fontStyle:  normal ;

  --hsElevate--h4__font:  Inter ;
  --hsElevate--h4__fontSize:  1.5rem ;
  --hsElevate--h4__fontWeight:  600 ;
  --hsElevate--h4__fontStyle:  normal ;

  --hsElevate--h5__font:  Inter ;
  --hsElevate--h5__fontSize:  1.25rem ;
  --hsElevate--h5__fontWeight:  600 ;
  --hsElevate--h5__fontStyle:  normal ;

  --hsElevate--h6__font:  Inter ;
  --hsElevate--h6__fontSize:  1.0rem ;
  --hsElevate--h6__fontWeight:  600 ;
  --hsElevate--h6__fontStyle:  normal ;


  /* Quotes */

  --hsElevate--quotes__font:  Inter ;
  --hsElevate--quotes__fontColor:   ;
  --hsElevate--quotes__fontSize:  1.125rem ;
  --hsElevate--quotes__fontWeight:  400 ;
  --hsElevate--quotes__fontStyle:  normal ;

    /* Captions */

  --hsElevate--captions__font:  Inter ;
  --hsElevate--captions__fontSize:  0.75rem ;
  --hsElevate--captions__fontWeight:  800 ;
  --hsElevate--captions__fontStyle:  normal ;
  --hsElevate--captions__case:  uppercase ;

  /* Images */

  --hsElevate--rteImages__margin: 2rem; /* 32px */

  /* Code font */
  --hsElevate--code__font:  JetBrains Mono ;
  --hsElevate--code__fontSize: 0.875rem;
  --hsElevate--code__fontWeight: 400;
  --hsElevate--code__lineHeight: 1.6;
}

  

  

  

:root {
  /* Base colors */
  --hsElevate--color--base--1:  #FFFFFF ;
  --hsElevate--color--base--2:  #F7F9FC ;
  --hsElevate--color--base--3:  #09152B ;

  /* Accent colors */
  --hsElevate--color--accent--1:  #F4F2FF ;
  --hsElevate--color--accent--2:  #D2CAFF ;
  --hsElevate--color--accent--3:  #3B82F6 ;

  /* FileMy Brand Colors - Primary palette */
  --color-primary-500:  #3B82F6 ;
  --color-primary-600: color-mix(in srgb, #3B82F6 85%, black);
  --color-primary-700: color-mix(in srgb, #3B82F6 70%, black);

  /* FileMy Semantic Colors */
  --color-success-500:  #10B981 ;
  --color-warning-500:  #F59E0B ;
  --color-error-500:  #EF4444 ;
  --color-info-500:  #0EA5E9 ;

  /* Background and foreground */
  --color-background:  #FFFFFF ;
  --color-foreground:  #09152B ;

  /* Focus ring color */
  --color-focus-ring:  #3B82F6 ;
}

  

  

  

  

:root {
  /* Primary button variables  */
  --hsElevate--button--primary__buttonFill:  filled ;

  /* Primary button font */
  --hsElevate--button--primary__font:  Inter ;
  /*
    TODO: Look into why primary_button.text.size ~ primary_button.text.size_unit
    is not evaluating to the correct size_unit, but can still take in px
  */
  --hsElevate--button--primary__fontSize:  1.0rem ;
  --hsElevate--button--primary__fontWeight:  500 ;
  --hsElevate--button--primary__fontStyle:  normal ;

  /* Primary button text color */
  --hsElevate--button--primary__textColor:  #F7F9FC ;
  --hsElevate--button--primary__hover--textColor:  #F7F9FC ;

  /* Primary button shape */
    
      
    

    
    --hsElevate--button--primary__borderRadius: 50px;
    

  /* Primary button background color */
    
    --hsElevate--button--primary__backgroundColor:  #3B82F6 ;
    --hsElevate--button--primary__hover--backgroundColor:  #6854E8 ;
      
    --hsElevate--button--primary__active--backgroundColor:  #4a36ca ;

    

  /* Primary button border */
  --hsElevate--button--primary__borderThickness:  0px ;
  --hsElevate--button--primary__hover--borderThickness:  0px ;

    
  --hsElevate--button--primary__borderColor: transparent;
  --hsElevate--button--primary__hover--borderColor: transparent;
    

  /* Secondary button variables  */
  --hsElevate--button--secondary__buttonFill:  no_fill ;

  /* Secondary button font */
  --hsElevate--button--secondary__font:  Inter ;
  --hsElevate--button--secondary__fontSize:  1.0rem ;
  --hsElevate--button--secondary__fontWeight:  500 ;
  --hsElevate--button--secondary__fontStyle:  normal ;

  /* Secondary button text color */
  --hsElevate--button--secondary__textColor:  #3B82F6 ;
  --hsElevate--button--secondary__hover--textColor:  #6854E8 ;

  /* Secondary button shape */
    
      
    

    
    --hsElevate--button--secondary__borderRadius: 50px;
    

  /* Secondary button background color */
    
    --hsElevate--button--secondary__backgroundColor: transparent;
    --hsElevate--button--secondary__hover--backgroundColor: transparent;
      
    

  /* Secondary button border */
  --hsElevate--button--secondary__borderThickness:  2px ;
  --hsElevate--button--secondary__hover--borderThickness:  2px ;

    
    --hsElevate--button--secondary__borderColor:  #3B82F6 ;
    --hsElevate--button--secondary__hover--borderColor:  #6854E8 ;
      
    

  /* Tertiary button variables  */
  --hsElevate--button--tertiary__buttonFill:  filled ;

  /* Tertiary button font */
  --hsElevate--button--tertiary__font:  Inter ;
  --hsElevate--button--tertiary__fontSize:  1.0rem ;
  --hsElevate--button--tertiary__fontWeight:  500 ;
  --hsElevate--button--tertiary__fontStyle:  normal ;

  /* Tertiary button text color */
  --hsElevate--button--tertiary__textColor:  #09152B ;
  --hsElevate--button--tertiary__hover--textColor:  #09152B ;

  /* Tertiary button shape */
    
      
    

    
    --hsElevate--button--tertiary__borderRadius: 50px;
    

  /* Tertiary button background color */
    
    --hsElevate--button--tertiary__backgroundColor:  #D2CAFF ;
    --hsElevate--button--tertiary__hover--backgroundColor:  #E9E5FF ;
      

    

  /* Tertiary button border */
  --hsElevate--button--tertiary__borderThickness:  0px ;
  --hsElevate--button--tertiary__hover--borderThickness:  0px ;

    
    --hsElevate--button--tertiary__borderColor: transparent;
    --hsElevate--button--tertiary__hover--borderColor: transparent;
    

  /* Accent button variables  */
  --hsElevate--button--accent__buttonFill:  no_fill ;

  /* Accent button font */
  --hsElevate--button--accent__font:  Inter ;
  --hsElevate--button--accent__fontSize:  1.0rem ;
  --hsElevate--button--accent__fontWeight:  500 ;
  --hsElevate--button--accent__fontStyle:  normal ;

  /* Accent button text color */
  --hsElevate--button--accent__textColor:  #D2CAFF ;
  --hsElevate--button--accent__hover--textColor:  #E9E5FF ;

  /* Accent button shape */
    
      
    

    
    --hsElevate--button--accent__borderRadius: 50px;
    

  /* Accent button background color */
    
    --hsElevate--button--accent__backgroundColor: transparent;
    --hsElevate--button--accent__hover--backgroundColor: transparent;
      
    

  /* Accent button border */
  --hsElevate--button--accent__borderThickness:  2px ;
  --hsElevate--button--accent__hover--borderThickness:  2px ;

    
    --hsElevate--button--accent__borderColor:  #D2CAFF ;
    --hsElevate--button--accent__hover--borderColor:  #E9E5FF ;
      
    

}

  

  

:root {
  /* Form field background color */
    
    --hsElevate--formField__backgroundColor:  #F7F9FC ;
    

  /* Form field shape */
    
      
    

    
    --hsElevate--formField__borderRadius: 50px;
    

  /* Form field border -- multiple fields to properly handle field visibility for both fill and no fill */
    
      
    

  /* Proper usage of variables to achieve "All" or "Bottom" will be within CSS */
    
    --hsElevate--formField__borderThickness:  1px ;
    

    
    --hsElevate--formField__borderTop:  1px solid #D3DAE4 ;
    --hsElevate--formField__borderRight:  1px solid #D3DAE4 ;
    --hsElevate--formField__borderLeft:  1px solid #D3DAE4 ;
    

    
    --hsElevate--formField__borderBottom:  1px solid #D3DAE4 ;
    --hsElevate--formField__borderColor:  #D3DAE4 ;
    

    

    

  /* Form field text color */
  --hsElevate--formFieldInput__textColor:  #09152B ;

  /* Form field spacing */
  --hsElevate--formField__marginBottom: var(--hsElevate--spacing--32);

  /* Form textarea border radius */
  --hsElevate--formFieldTextArea__borderRadius: calc(var(--hsElevate--formField__borderRadius) * 0.5);

  /* Form field checkbox/radio */
  --hsElevate--formFieldCheckboxRadio__size: 24px;
  --hsElevate--formFieldCheckboxRadio__fillColor: var(--hsElevate--color--base--3);

  /* Form field placeholder */
  --hsElevate--formFieldPlaceholder__textColor:  #7d8ca5 ;

  /* Form required field color */
  --hsElevate--formRequired__color: var(--color-error-500, #EF4444);

  /* Form field datepicker icon */
  --hsElevate--formField__datepickerIcon: url("data:image/svg+xml,%3Csvg width='24' height='29' viewBox='0 0 24 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_3812_12272)'%3E%3Cpath d='M8.14286 2.07136C8.14286 1.35886 7.56964 0.785645 6.85714 0.785645C6.14464 0.785645 5.57143 1.35886 5.57143 2.07136V4.21422H3.42857C1.5375 4.21422 0 5.75172 0 7.64279V8.49993V11.0714V24.7856C0 26.6767 1.5375 28.2142 3.42857 28.2142H20.5714C22.4625 28.2142 24 26.6767 24 24.7856V11.0714V8.49993V7.64279C24 5.75172 22.4625 4.21422 20.5714 4.21422H18.4286V2.07136C18.4286 1.35886 17.8554 0.785645 17.1429 0.785645C16.4304 0.785645 15.8571 1.35886 15.8571 2.07136V4.21422H8.14286V2.07136ZM2.57143 11.0714H21.4286V24.7856C21.4286 25.2571 21.0429 25.6428 20.5714 25.6428H3.42857C2.95714 25.6428 2.57143 25.2571 2.57143 24.7856V11.0714Z' fill='%2309152B'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_3812_12272'%3E%3Crect width='24' height='27.4286' fill='white' transform='translate(0 0.785645)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");

  /* Form field select icon */
  --hsElevate--formField__selectIcon: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.9407 19.5595C11.5267 20.1454 12.4782 20.1454 13.0642 19.5595L22.0642 10.5595C22.6501 9.97354 22.6501 9.02197 22.0642 8.43604C21.4782 7.8501 20.5267 7.8501 19.9407 8.43604L12.0001 16.3767L4.05947 8.44072C3.47354 7.85478 2.52197 7.85478 1.93604 8.44072C1.3501 9.02666 1.3501 9.97822 1.93604 10.5642L10.936 19.5642L10.9407 19.5595Z' fill='%2309152B'/%3E%3C/svg%3E%0A");

  /* Textarea drag icon */
  --hsElevate--formField__dragIcon: url("data:image/svg+xml,%3Csvg width='11' height='12' viewBox='0 0 22 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline y1='-1' x2='29.5206' y2='-1' transform='matrix(-0.666795 0.745241 -0.806754 -0.590888 19.6843 0)' stroke='%23303F59' stroke-width='2'/%3E%3Cpath d='M21.0005 9.99756L10.5005 21.9976' stroke='%23303F59' stroke-width='2'/%3E%3C/svg%3E%0A");

  /* Label text */
  --hsElevate--formLabel__textColor:  #09152B ;
  --hsElevate--formLabel__font:  Inter ;
  --hsElevate--formLabel__fontSize:  1.125rem ;
  --hsElevate--formLabel__fontWeight:  500 ;
  --hsElevate--formLabel__marginBottom: var(--hsElevate--spacing--8);

  /* Help text */
  --hsElevate--formHelpText__textColor: var(--hsElevate--section--lightSection--1__captionColor, #647390);

  /* Form background color */
    
    --hsElevate--form__backgroundColor:  #FFFFFF ;
    

  /* Form shape */
    
      
    

    
    --hsElevate--form__borderRadius: 24px;
    

  /* Form border */
    
    --hsElevate--form__borderThickness:  1px ;
    --hsElevate--form__borderColor:  #D3DAE4 ;
    

  /* Form spacing */
  --hsElevate--form__padding: var(--hsElevate--spacing--48);

  /* CSS variables for new forms */

  /* Global vars */
  --hsf-global__font-family: var(--hsElevate--formLabel__font);
  --hsf-global__font-size: var(--hsElevate--formLabel__fontSize);
  --hsf-global__color: var(--hsElevate--formLabel__textColor);
  --hsf-global-error__color: var(--hsElevate--formRequired__color);

  /* Form */
  --hsf-background__background-color: var(--hsElevate--form__backgroundColor);
  --hsf-background__padding: var(--hsElevate--form__padding);
  --hsf-background__border-style: solid;
  --hsf-background__border-color: var(--hsElevate--form__borderColor);
  --hsf-background__border-radius: var(--hsElevate--form__borderRadius);
  --hsf-background__border-width: var(--hsElevate--form__borderThickness);

  /* Content */
  --hsf-heading__font-family: var(--hsf-global__font-family);
  --hsf-heading__color: var(--hsf-global__color);
  --hsf-heading__text-shadow: none;
  --hsf-richtext__font-family: var(--hsf-global__font-family);
  --hsf-richtext__font-size: var(--hsf-global__font-size);
  --hsf-richtext__color: var(--hsf-global__color);

  /* Labels */
  --hsf-field-label__font-family: var(--hsf-global__font-family);
  --hsf-field-label__font-size: var(--hsf-global__font-size);
  --hsf-field-label__color: var(--hsf-global__color);
  --hsf-field-label-requiredindicator__color: var(--hsf-global-error__color);
  --hsf-module__vertical-spacing: var(--hsElevate--formLabel__marginBottom);

  /* Help text */
  --hsf-field-description__font-family: var(--hsf-global__color);
  --hsf-field-description__color: var(--hsElevate--formHelpText__textColor);

  /* Errors */
  --hsf-erroralert__font-family: var(--hsElevate--formLabel__font);
  --hsf-erroralert__color: var(--hsf-global-error__color);

  /* Field footer */
  --hsf-field-footer__font-family: var(--hsf-field-description__font-family);
  --hsf-field-footer__color: var(--hsf-field-description__color);

  /* Field */
  --hsf-field-input__font-family: var(--hsf-global__font-family);
  --hsf-field-input__background-color: var(--hsElevate--formField__backgroundColor);
  --hsf-field-input__placeholder-color: var(--hsElevate--formFieldPlaceholder__textColor);
  --hsf-field-input__border-color: var(--hsElevate--formField__borderColor);
    
    --hsf-field-input__border-width: var(--hsElevate--formField__borderThickness);
    ;
  --hsf-field-input__border-style: solid;
  --hsf-field-input__border-radius: var(--hsElevate--formField__borderRadius);
  --hsf-field-input__padding: var(--hsElevate--spacing--20) var(--hsElevate--spacing--32);
  --hsf-field-input__color: var(--hsElevate--formFieldInput__textColor);
  --hsf-row__vertical-spacing: var(--hsElevate--formField__marginBottom);
  --hsf-row__horizontal-spacing: var(--hsElevate--spacing--32);

  /* Textarea */
  --hsf-field-textarea__font-family: var(--hsf-field-input__font-family);
  --hsf-field-textarea__color: var(--hsf-field-input__color);
  --hsf-field-textarea__background-color: var(--hsf-field-input__background-color);
  --hsf-field-textarea__border-color: var(--hsf-field-input__border-color);
  --hsf-field-textarea__border-style: var(--hsf-field-input__border-style);
  --hsf-field-textarea__border-radius: var(--hsElevate--formFieldTextArea__borderRadius);
  --hsf-field-textarea__padding: var(--hsf-field-input__padding);

  /* Checkbox */
  --hsf-field-checkbox__padding: calc(var(--hsElevate--formFieldCheckboxRadio__size) / 2);
  --hsf-field-checkbox__background-color: #fff;
  --hsf-field-checkbox__color: var(--hsElevate--formFieldCheckboxRadio__fillColor);
  --hsf-field-checkbox__border-color: var(--hsf-field-input__border-color);
  --hsf-field-checkbox__border-width: 1px 1px 1px 1px;
  --hsf-field-checkbox__border-style: var(--hsf-field-input__border-style);

  /* Radio */
  --hsf-field-radio__padding: calc(var(--hsElevate--formFieldCheckboxRadio__size) / 2);
  --hsf-field-radio__background-color: #fff;
  --hsf-field-radio__color: var(--hsElevate--formFieldCheckboxRadio__fillColor);
  --hsf-field-radio__border-color: var(--hsf-field-input__border-color);
  --hsf-field-radio__border-width: 1px 1px 1px 1px;
  --hsf-field-radio__border-style: var(--hsf-field-input__border-style);

  /* Progress bar CSS vars:
    - --hsf-progressbar__font-family
    - --hsf-progressbar__font-family
    - --hsf-progressbar__font-size
    - --hsf-progressbar__color
    - --hsf-progressbar__background-color
    - --hsf-progressbar__background
    - --hsf-progressbar__border-color
    - --hsf-progressbar__border-style
    - --hsf-progressbar__border-width
  */

  /* Button */
  --hsf-button__width: 100%;
  --hsf-button__font-family: var(--hsElevate--button--primary__font);
  --hsf-button__font-size: var(--hsElevate--button--primary__fontSize);
  --hsf-button__font-weight: var(--hsElevate--button--primary__fontWeight);
  --hsf-button__color: var(--hsElevate--button--primary__textColor);
  --hsf-button__background-color: var(--hsElevate--button--primary__backgroundColor);
  --hsf-button__background-image: none;
  --hsf-button__border-radius: var(--hsElevate--button--primary__borderRadius);
  --hsf-button__border-width: var(--hsElevate--button--primary__borderThickness);
  --hsf-button__border-style: solid;
  --hsf-button__border-color: var(--hsElevate--button--primary__borderColor);
  --hsf-button__padding: var(--hsElevate--spacing--20) var(--hsElevate--spacing--24);
  --hsf-button__box-shadow: none;
  --hsf-button--hover__color: var(--hsElevate--button--primary__hover--textColor);
  --hsf-button--hover__background-color: var(--hsElevate--button--primary__hover--backgroundColor);
  --hsf-button--hover__border-color: var(--hsElevate--button--primary__hover--borderColor);
  --hsf-button--focus__color: var(--hsElevate--button--primary__hover--textColor);
  --hsf-button--focus__background-color: var(--hsElevate--button--primary__hover--backgroundColor);
  --hsf-button--focus__border-color: var(--hsElevate--button--primary__hover--borderColor);
}

@media (max-width: 600px) {
  :root {
    --hsElevate--form__padding: var(--hsElevate--spacing--24);
  }

  .hsfc-PhoneInput__FlagAndCaret {
    --hsf-field-input__padding: var(--hsElevate--spacing--20) var(--hsElevate--spacing--16);
  }
}

  

  

  

  

  

  

  

  

:root {
  /* Card variant 1 */

  /* Shape */
    
      
    

    
    --hsElevate--card--variant1__borderRadius: 16px;
    --hsElevate--card--variant1__iconBorderRadius: 12px;
    

  /* Border thickness */
  --hsElevate--card--variant1__borderThickness:  1px ;

  /* Colors */
    
    --hsElevate--card--variant1__backgroundColor:  #FFFFFF ;
    

    
    --hsElevate--card--variant1__borderColor:  #D3DAE4 ;
    

  --hsElevate--card--variant1__textColor:  #09152B ;

  /* Links */
    
      
    

  --hsElevate--card--variant1--link__fontColor:  #3B82F6 ;

    
    --hsElevate--card--variant1--link__textDecoration: none;
    --hsElevate--card--variant1--link__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--card--variant1--link__hover--fontColor:  #3B82F6 ;
    
    --hsElevate--card--variant1--link__hover--textDecoration: underline;
    --hsElevate--card--variant1--link__hover--textDecorationColor:  #3B82F6 ;
    

  /* Icon colors */

  --hsElevate--card--variant1__iconColor:  #3B82F6 ;
  --hsElevate--card--variant1__iconBackgroundColor:  #D2CAFF ;

  /* Card variant 2 */

  /* Shape */
    
      
    

    
    --hsElevate--card--variant2__borderRadius: 16px;
    --hsElevate--card--variant2__iconBorderRadius: 12px;
    

  /* Border thickness */
  --hsElevate--card--variant2__borderThickness:  1px ;

  /* Colors */
    
    --hsElevate--card--variant2__backgroundColor:  #F7F9FC ;
    

    
    --hsElevate--card--variant2__borderColor:  #D3DAE4 ;
    

  --hsElevate--card--variant2__textColor:  #09152B ;

  /* Links */
    
      
    

  --hsElevate--card--variant2--link__fontColor:  #3B82F6 ;

    
    --hsElevate--card--variant2--link__textDecoration: none;
    --hsElevate--card--variant2--link__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--card--variant2--link__hover--fontColor:  #3B82F6 ;
    
    --hsElevate--card--variant2--link__hover--textDecoration: underline;
    --hsElevate--card--variant2--link__hover--textDecorationColor:  #3B82F6 ;
    

  /* Icon colors */

  --hsElevate--card--variant2__iconColor:  #3B82F6 ;
  --hsElevate--card--variant2__iconBackgroundColor:  #D3DAE4 ;


  /* Card variant 3 */

  /* Shape */
    
      
    

    
    --hsElevate--card--variant3__borderRadius: 16px;
    --hsElevate--card--variant3__iconBorderRadius: 12px;
    

  /* Border thickness */
  --hsElevate--card--variant3__borderThickness:  1px ;

  /* Colors */
    
    --hsElevate--card--variant3__backgroundColor:  #09152B ;
    

    
    --hsElevate--card--variant3__borderColor:  #303F59 ;
    

  --hsElevate--card--variant3__textColor:  #F7F9FC ;

  /* Links */
    
      
    

  --hsElevate--card--variant3--link__fontColor:  #D2CAFF ;

    
    --hsElevate--card--variant3--link__textDecoration: none;
    --hsElevate--card--variant3--link__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--card--variant3--link__hover--fontColor:  #D2CAFF ;
    
    --hsElevate--card--variant3--link__hover--textDecoration: underline;
    --hsElevate--card--variant3--link__hover--textDecorationColor:  #D2CAFF ;
    

  /* Icon colors */

  --hsElevate--card--variant3__iconColor:  #D2CAFF ;
  --hsElevate--card--variant3__iconBackgroundColor:  #303F59 ;


  /* Card variant 4 */

  /* Shape */
    
      
    

    
    --hsElevate--card--variant4__borderRadius: 16px;
    --hsElevate--card--variant4__iconBorderRadius: 12px;
    

  /* Border thickness */
  --hsElevate--card--variant4__borderThickness:  1px ;

  /* Colors */
    
    --hsElevate--card--variant4__backgroundColor:  #18233B ;
    

    
    --hsElevate--card--variant4__borderColor:  #303F59 ;
    

  --hsElevate--card--variant4__textColor:  #F7F9FC ;

  /* Links */
    
      
    

  --hsElevate--card--variant4--link__fontColor:  #D2CAFF ;

    
    --hsElevate--card--variant4--link__textDecoration: none;
    --hsElevate--card--variant4--link__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--card--variant4--link__hover--fontColor:  #D2CAFF ;
    
    --hsElevate--card--variant4--link__hover--textDecoration: underline;
    --hsElevate--card--variant4--link__hover--textDecorationColor:  #D2CAFF ;
    

  /* Icon colors */
  --hsElevate--card--variant4__iconColor:  #D2CAFF ;
  --hsElevate--card--variant4__iconBackgroundColor:  #303F59 ;
}

  

  

  

  

  

  

  

  

  

  

  

:root {

  /* Light section 1 */
  --hsElevate--section--lightSection--1__backgroundColor:  #FFFFFF ;
  --hsElevate--section--lightSection--1__textColor:  #09152B ;
  --hsElevate--section--lightSection--1__accentColor:  #3B82F6 ;
  --hsElevate--section--lightSection--1__captionColor:  #647390 ;
  --hsElevate--section--lightSection--1--blockquote__textColor:  #09152B ;
  --hsElevate--section--lightSection--1--blockquote__backgroundColor:  #F7F9FC ;
  --hsElevate--section--lightSection--1--blockquote__accentColor:  #3B82F6 ;

    
      
    

  --hsElevate--section--lightSection--1--link__fontColor:  #D2CAFF ;

    
    --hsElevate--section--lightSection--1--link__textDecoration: none;
    --hsElevate--section--lightSection--1--link__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--section--lightSection--1--link__hover--fontColor:  #D2CAFF ;
    
    --hsElevate--section--lightSection--1--link__hover--textDecoration: underline;
    --hsElevate--section--lightSection--1--link__hover--textDecorationColor:  #D2CAFF ;
    

  /* Light section 2 */
  --hsElevate--section--lightSection--2__backgroundColor:  #F7F9FC ;
  --hsElevate--section--lightSection--2__textColor:  #09152B ;
  --hsElevate--section--lightSection--2__accentColor:  #3B82F6 ;
  --hsElevate--section--lightSection--2__captionColor:  #647390 ;
  --hsElevate--section--lightSection--2--blockquote__textColor:  #09152B ;
  --hsElevate--section--lightSection--2--blockquote__backgroundColor:  #F7F9FC ;
  --hsElevate--section--lightSection--2--blockquote__accentColor:  #3B82F6 ;

    
      
    

  --hsElevate--section--lightSection--2--link__fontColor:  #3B82F6 ;

    
    --hsElevate--section--lightSection--2--link__textDecoration: none;
    --hsElevate--section--lightSection--2--link__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--section--lightSection--2--link__hover--fontColor:  #3B82F6 ;
    
    --hsElevate--section--lightSection--2--link__hover--textDecoration: underline;
    --hsElevate--section--lightSection--2--link__hover--textDecorationColor:  #3B82F6 ;
    

  /* Light section 3 */
  --hsElevate--section--lightSection--3__backgroundColor:  #F4F2FF ;
  --hsElevate--section--lightSection--3__textColor:  #09152B ;
  --hsElevate--section--lightSection--3__accentColor:  #3B82F6 ;
  --hsElevate--section--lightSection--3__captionColor:  #4D6080 ;
  --hsElevate--section--lightSection--3--blockquote__textColor:  #09152B ;
  --hsElevate--section--lightSection--3--blockquote__backgroundColor:  #F4F2FF ;
  --hsElevate--section--lightSection--3--blockquote__accentColor:  #3B82F6 ;

    
      
    

  --hsElevate--section--lightSection--3--link__fontColor:  #3B82F6 ;

    
    --hsElevate--section--lightSection--3--link__textDecoration: none;
    --hsElevate--section--lightSection--3--link__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--section--lightSection--3--link__hover--fontColor:  #3B82F6 ;
    
    --hsElevate--section--lightSection--3--link__hover--textDecoration: underline;
    --hsElevate--section--lightSection--3--link__hover--textDecorationColor:  #3B82F6 ;
    


  /* Dark section 1 */
  --hsElevate--section--darkSection--1__backgroundColor:  #09152B ;
  --hsElevate--section--darkSection--1__textColor:  #F7F9FC ;
  --hsElevate--section--darkSection--1__accentColor:  #D2CAFF ;
  --hsElevate--section--darkSection--1__captionColor:  #7D8CA5 ;
  --hsElevate--section--darkSection--1--blockquote__textColor:  #F7F9FC ;
  --hsElevate--section--darkSection--1--blockquote__backgroundColor:  #18233B ;
  --hsElevate--section--darkSection--1--blockquote__accentColor:  #D2CAFF ;

    
      
    

  --hsElevate--section--darkSection--1--link__fontColor:  #D2CAFF ;

    
    --hsElevate--section--darkSection--1--link__textDecoration: none;
    --hsElevate--section--darkSection--1--link__textDecorationColor: transparent;
    

  /* Hover state */

  --hsElevate--section--darkSection--1--link__hover--fontColor:  #D2CAFF ;
    
    --hsElevate--section--darkSection--1--link__hover--textDecoration: underline;
    --hsElevate--section--darkSection--1--link__hover--textDecorationColor:  #D2CAFF ;
    
}

  

:root {
  /* Font */
  --hsElevate--tag__font:  Inter ;
  --hsElevate--tag__fontColor:   ;
  --hsElevate--tag__fontSize:  0.875rem ;
  --hsElevate--tag__fontWeight:  500 ;
  --hsElevate--tag__fontStyle:  normal ;

  /* Text colors */
  --hsElevate--tag__textColor:  #063E95 ;

  /* Background colors */
    
    --hsElevate--tag__backgroundColor:  #E5F0FF ;
    

  /* Shape */
    
      
    

    
    --hsElevate--tag__borderRadius: 50px;
    

  /* Border thickness */
  --hsElevate--tag__borderThickness:  1px ;
  --hsElevate--tag__borderColor:  #E5F0FF ;

  /* Case */
  --hsElevate--tag__case:  none ;
}

:root {
    /* Border radius based on shape */
    --hsElevate-sharp: 0;
    --hsElevate-rounded--extra-small: 4px;
    --hsElevate-rounded--small: 8px;
    --hsElevate-rounded: 16px;
    --hsElevate-rounded--large: 24px;
    --hsElevate-rounded--extra-large: 32px;
    --hsElevate-circle: 50%;
}

:root {
    --hsElevate--icon--small__size: 16px;
    --hsElevate--icon--medium__size: 24px;
    --hsElevate--icon--large__size: 32px;
}

/* Generic */

*,
*: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;
  overflow-x: hidden;
}

/**
 * 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 */
  -webkit-text-decoration: underline dotted;
          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 {
  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 */

.dnd-section {
  padding: var(--hsElevate--section--medium__verticalPadding)
    var(--hsElevate--section--horizontalPadding);
}

.dnd-section > .row-fluid,
.hs-elevate-content-wrapper {
  margin: 0 auto;
  max-width: var(--hsElevate--contentWrapper--wide__maxWidth);
}

.hs-elevate-content-wrapper {
  padding: 0 var(--hsElevate--section--horizontalPadding);
}

/* Helper Classes */

.hs-elevate-content-wrapper--sm {
  max-width: var(--hsElevate--contentWrapper--narrow__maxWidth);
  padding: 0;
}

.hs-elevate-content-wrapper--md {
  max-width: var(--hsElevate--contentWrapper--medium__maxWidth);
  padding: 0;
}

/* Padding for non DND sections */

.hs-elevate-content-padding {
  padding-block: var(--hsElevate--section--medium__verticalPadding);
}

.hs-elevate-content-padding--extra-small {
  padding-block: var(  --hsElevate--section--extraSmall__verticalPadding);
}

.hs-elevate-content-padding--small {
  padding-block: var(--hsElevate--section--small__verticalPadding);
}

.hs-elevate-content-padding--large {
  padding-block: var(--hsElevate--section--large__verticalPadding);
}

.hs-elevate-content-padding--extra-large {
  padding-block: var(--hsElevate--section--extraLarge__verticalPadding);
}

.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%;
}

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

  .row-fluid .span1 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 1 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 11 / 100
    );
  }

  .row-fluid .span2 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 2 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 10 / 100
    );
  }

  .row-fluid .span3 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 3 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 9 / 100
    );
  }

  .row-fluid .span4 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 4 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 8 / 100
    );
  }

  .row-fluid .span5 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 5 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 7 / 100
    );
  }

  .row-fluid .span6 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 6 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 6 / 100
    );
  }

  .row-fluid .span7 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 7 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 5 / 100
    );
  }

  .row-fluid .span8 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 8 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 4 / 100
    );
  }

  .row-fluid .span9 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 9 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 3 / 100
    );
  }

  .row-fluid .span10 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 10 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 2 / 100
    );
  }

  .row-fluid .span11 {
    width: calc(
      var(--hsElevate--column__widthMultiplier) * 1% * 11 -
        var(--hsElevate--column__gap) *
        var(--hsElevate--column__widthMultiplier) * 1 / 100
    );
  }
}

/* Elements */

html {
  font-size: var(--hsElevate--baseText__fontSize);
}

body {
  background-color: var(--hsElevate--section--lightSection--1__backgroundColor);
  color: var(--hsElevate--section--lightSection--1__textColor);
  font-family: var(--hsElevate--body__font);
  font-size: var(--hsElevate--body__fontSize);
  font-style: var(--hsElevate--body__fontStyle);
  font-weight: var(--hsElevate--body__fontWeight);
  line-height: var(--hsElevate--body__lineHeight);
  overflow-wrap: break-word;
}

html[lang^='ja'] body,
html[lang^='zh'] body,
html[lang^='ko'] body {
  line-break: strict;
  overflow-wrap: normal;
  word-break: break-all;
}

/* Paragraphs */

p {
  margin-block: var(--hsElevate--text__margin);
}

a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link),
a.hs-elevate-link--primary,
.hs-elevate-link--primary a {
  color: var(--hsElevate--link--primary__fontColor);
  cursor: pointer;
  -webkit-text-decoration: var(--hsElevate--link--primary__textDecoration);
  text-decoration: var(--hsElevate--link--primary__textDecoration);
  text-decoration-color: var(--hsElevate--link--primary__textDecorationColor);
}

a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):hover,
a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):focus,
a.hs-elevate-link--primary:hover,
.hs-elevate-link--primary a:hover,
a.hs-elevate-link--primary:focus,
.hs-elevate-link--primary a:focus {
  color: var(--hsElevate--link--primary__hover--fontColor);
  -webkit-text-decoration: var(--hsElevate--link--primary__hover--textDecoration);
  text-decoration: var(--hsElevate--link--primary__hover--textDecoration);
  text-decoration-color: var(--hsElevate--link--primary__hover--textDecorationColor);
}

a.hs-elevate-link--secondary,
.hs-elevate-link--secondary a {
  color: var(--hsElevate--link--secondary__fontColor);
  cursor: pointer;
  -webkit-text-decoration: var(--hsElevate--link--secondary__textDecoration);
  text-decoration: var(--hsElevate--link--secondary__textDecoration);
  text-decoration-color: var(--hsElevate--link--secondary__textDecorationColor);
}

a.hs-elevate-link--secondary:hover,
.hs-elevate-link--secondary a:hover a.hs-elevate-link--secondary:focus,
.hs-elevate-link--secondary a:focus {
  color: var(--hsElevate--link--secondary__hover--fontColor);
  -webkit-text-decoration: var(--hsElevate--link--secondary__hover--textDecoration);
  text-decoration: var(--hsElevate--link--secondary__hover--textDecoration);
  text-decoration-color: var(--hsElevate--link--secondary__hover--textDecorationColor);
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6,
.hs-elevate-display-1,
.hs-elevate-display-2 {
  line-height: var(--hsElevate--heading__lineHeight);
  margin-block: var(--hsElevate--text__margin);
}

.hs-elevate-display-1 {
  font-family: var(--hsElevate--display1__font);
  font-size: calc(var(--hsElevate--display1__fontSize) * var(--hsElevate--heading__tablet-modifier));
  font-style: normal;
  font-weight: 400;
}

.hs-elevate-display-2 {
  font-family: var(--hsElevate--display2__font);
  font-size: calc(var(--hsElevate--display2__fontSize) * var(--hsElevate--heading__tablet-modifier));
  font-style: normal;
  font-weight: 400;
}

h1,
.hs-elevate-h1 {
  font-family: var(--hsElevate--h1__font);
  font-size: calc(var(--hsElevate--h1__fontSize) * var(--hsElevate--heading__tablet-modifier));
  font-style: var(--hsElevate--h1__fontStyle);
  font-weight: var(--hsElevate--h1__fontWeight);
}

h2,
.hs-elevate-h2 {
  font-family: var(--hsElevate--h2__font);
  font-size: calc(var(--hsElevate--h2__fontSize) * var(--hsElevate--heading__tablet-modifier));
  font-style: var(--hsElevate--h2__fontStyle);
  font-weight: var(--hsElevate--h2__fontWeight);
}

h3,
.hs-elevate-h3 {
  font-family: var(--hsElevate--h3__font);
  font-size: calc(var(--hsElevate--h3__fontSize) * var(--hsElevate--heading__tablet-modifier));
  font-style: var(--hsElevate--h3__fontStyle);
  font-weight: var(--hsElevate--h3__fontWeight);
}

h4,
.hs-elevate-h4 {
  font-family: var(--hsElevate--h4__font);
  font-size: calc(var(--hsElevate--h4__fontSize) * var(--hsElevate--heading__tablet-modifier));
  font-style: var(--hsElevate--h4__fontStyle);
  font-weight: var(--hsElevate--h4__fontWeight);
}

h5,
.hs-elevate-h5 {
  font-family: var(--hsElevate--h5__font);
  font-size: calc(var(--hsElevate--h5__fontSize) * var(--hsElevate--heading__tablet-modifier));
  font-style: var(--hsElevate--h5__fontStyle);
  font-weight: var(--hsElevate--h5__fontWeight);
}

h6,
.hs-elevate-h6 {
  font-family: var(--hsElevate--h6__font);
  font-size: calc(var(--hsElevate--h6__fontSize) * var(--hsElevate--heading__tablet-modifier));
  font-style: var(--hsElevate--h6__fontStyle);
  font-weight: var(--hsElevate--h6__fontWeight);
}

@media (min-width: 767px) {
  .hs-elevate-display-1 {
    font-size: var(--hsElevate--display1__fontSize);
  }

  .hs-elevate-display-2 {
    font-size: var(--hsElevate--display2__fontSize);
  }

  h1,
  .hs-elevate-h1 {
    font-size: var(--hsElevate--h1__fontSize);
  }

  h2,
  .hs-elevate-h2 {
    font-size: var(--hsElevate--h2__fontSize);
  }

  h3,
  .hs-elevate-h3 {
    font-size: var(--hsElevate--h3__fontSize);
  }

  h4,
  .hs-elevate-h4 {
    font-size: var(--hsElevate--h4__fontSize);
  }

  h5,
  .hs-elevate-h5 {
    font-size: var(--hsElevate--h5__fontSize);
  }

  h6,
  .hs-elevate-h6 {
    font-size: var(--hsElevate--h6__fontSize);
  }
}

/* Lists */

ul,
ol {
  margin-block: var(--hsElevate--text__margin);
}

/* Blockquotes */

blockquote {
  padding: var(--hsElevate--spacing--24, 24px);
  border-radius: var(--hsElevate-rounded--extra-small);
  border-left: 3px solid var(--hsElevate--blockquote__accentColor, var(--hsElevate--section--lightSection--1--blockquote__accentColor));
  background-color: var(--hsElevate--blockquote__backgroundColor, var(--hsElevate--section--lightSection--1--blockquote__backgroundColor));
  color: var(--hsElevate--blockquote__fontColor, var(--hsElevate--section--lightSection--1--blockquote__textColor));
  font-family: var(--hsElevate--quotes__font);
  font-size: var(--hsElevate--quotes__fontSize);
  font-style: var(--hsElevate--quotes__fontStyle);
  font-weight: var(--hsElevate--quotes__fontWeight);
  margin-block: var(--hsElevate--text__margin);
}

:is(.hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) blockquote {
  padding: var(--hsElevate--spacing--24, 24px);
  border-radius: var(--hsElevate-rounded--extra-small);
  border-left: 3px solid var(--hsElevate--blockquote__accentColor, var(--hsElevate--section--lightSection--1--blockquote__accentColor));
  background-color: var(--hsElevate--blockquote__backgroundColor, var(--hsElevate--section--lightSection--1--blockquote__backgroundColor));
  color: var(--hsElevate--blockquote__fontColor, var(--hsElevate--section--lightSection--1--blockquote__textColor));
  font-family: var(--hsElevate--quotes__font);
  font-size: var(--hsElevate--quotes__fontSize);
  font-style: var(--hsElevate--quotes__fontStyle);
  font-weight: var(--hsElevate--quotes__fontWeight);
  margin-block: var(--hsElevate--text__margin);
}

@media (max-width: 767.98px) {
  :is(.hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) blockquote {
    font-size: calc(var(--hsElevate--body__fontSize) + 4px);
    margin-inline: 0;
  }
}

/* Captions */

.hs-elevate-caption {
  color: var(--hsElevate--captions__fontColor, var(--hsElevate--section--lightSection--1--captionColor));
  font-family: var(--hsElevate--captions__font);
  font-size: var(--hsElevate--captions__fontSize);
  font-style: var(--hsElevate--captions__fontStyle);
  font-weight: var(--hsElevate--captions__fontWeight);
  text-transform: var(--hsElevate--captions__case);
}

/* Tags */

.hs-elevate-tag {
  padding: 2px 8px;
  border-color: var(--hsElevate--tag__borderColor);
  border-radius: var(--hsElevate--tag__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--tag__borderThickness);
  background-color: var(--hsElevate--tag__backgroundColor);
  color: var(--hsElevate--tag__textColor);
  font-family: var(--hsElevate--tag__font);
  font-size: var(--hsElevate--tag__fontSize);
  font-style: var(--hsElevate--tag__fontStyle);
  font-weight: var(--hsElevate--tag__fontWeight);
  text-transform: var(--hsElevate--tag__case);
}

/* Images in rich text */

:is(.hs_cos_wrapper_type_rich_text, .hs_cos_wrapper_type_inline_richtext_field) img {
  max-width: 100%;
  margin-block-end: var(--hsElevate--rteImages__margin);
}

.hs-elevate-button:focus {
  outline: 2px solid var(--color-focus-ring, var(--hsElevate--color--accent--3));
  outline-offset: 2px;
}

.hs-elevate-button--primary {
  font-family: var(--hsElevate--button--primary__font);
  font-size: var(--hsElevate--button--primary__fontSize);
  font-weight: var(--hsElevate--button--primary__fontWeight);
  font-style: var(--hsElevate--button--primary__fontStyle);
  color: var(--hsElevate--button--primary__textColor);
  border-width: var(--hsElevate--button--primary__borderThickness);
  background-color: var(--hsElevate--button--primary__backgroundColor);
  border-style: solid;
  border-color: var(--hsElevate--button--primary__borderColor);
  border-radius: var(--hsElevate--button--primary__borderRadius);
  text-decoration: none;
}

.hs-elevate-button--primary:hover {
  color: var(--hsElevate--button--primary__hover--textColor);
  background-color: var(--hsElevate--button--primary__hover--backgroundColor);
  border-color: var(--hsElevate--button--primary__hover--borderColor);
  border-width: var(--hsElevate--button--primary__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--primary:active {
  color: var(--hsElevate--button--primary__hover--textColor);
  background-color:  #4a36ca ;
  border-color:   ;
  border-width: var(--hsElevate--button--primary__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--secondary {
  font-family: var(--hsElevate--button--secondary__font);
  font-size: var(--hsElevate--button--secondary__fontSize);
  font-weight: var(--hsElevate--button--secondary__fontWeight);
  font-style: var(--hsElevate--button--secondary__fontStyle);
  color: var(--hsElevate--button--secondary__textColor);
  border-width: var(--hsElevate--button--secondary__borderThickness);
  background-color: var(--hsElevate--button--secondary__backgroundColor);
  border-style: solid;
  border-color: var(--hsElevate--button--secondary__borderColor);
  border-radius: var(--hsElevate--button--secondary__borderRadius);
  text-decoration: none;
}

.hs-elevate-button--secondary:hover {
  color: var(--hsElevate--button--secondary__hover--textColor);
  background-color: var(--hsElevate--button--secondary__hover--backgroundColor);
  border-color: var(--hsElevate--button--secondary__hover--borderColor);
  border-width: var(--hsElevate--button--secondary__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--secondary:active {
  color: var(--hsElevate--button--secondary__hover--textColor);
  background-color:  transparent ;
  border-color:  #4a36ca ;
  border-width: var(--hsElevate--button--secondary__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--tertiary {
  font-family: var(--hsElevate--button--tertiary__font);
  font-size: var(--hsElevate--button--tertiary__fontSize);
  font-weight: var(--hsElevate--button--tertiary__fontWeight);
  font-style: var(--hsElevate--button--tertiary__fontStyle);
  color: var(--hsElevate--button--tertiary__textColor);
  border-width: var(--hsElevate--button--tertiary__borderThickness);
  background-color: var(--hsElevate--button--tertiary__backgroundColor);
  border-style: solid;
  border-color: var(--hsElevate--button--tertiary__borderColor);
  border-radius: var(--hsElevate--button--tertiary__borderRadius);
  text-decoration: none;
}

.hs-elevate-button--tertiary:hover {
  color: var(--hsElevate--button--tertiary__hover--textColor);
  background-color: var(--hsElevate--button--tertiary__hover--backgroundColor);
  border-color: var(--hsElevate--button--tertiary__hover--borderColor);
  border-width: var(--hsElevate--button--tertiary__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--tertiary:active {
  color: var(--hsElevate--button--tertiary__hover--textColor);
  background-color:  #cbc7e1 ;
  border-color:   ;
  border-width: var(--hsElevate--button--tertiary__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--accent {
  font-family: var(--hsElevate--button--accent__font);
  font-size: var(--hsElevate--button--accent__fontSize);
  font-weight: var(--hsElevate--button--accent__fontWeight);
  font-style: var(--hsElevate--button--accent__fontStyle);
  color: var(--hsElevate--button--accent__textColor);
  border-width: var(--hsElevate--button--accent__borderThickness);
  background-color: var(--hsElevate--button--accent__backgroundColor);
  border-style: solid;
  border-color: var(--hsElevate--button--accent__borderColor);
  border-radius: var(--hsElevate--button--accent__borderRadius);
  text-decoration: none;
}

.hs-elevate-button--accent:hover {
  color: var(--hsElevate--button--accent__hover--textColor);
  background-color: var(--hsElevate--button--accent__hover--backgroundColor);
  border-color: var(--hsElevate--button--accent__hover--borderColor);
  border-width: var(--hsElevate--button--accent__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-button--accent:active {
  color: var(--hsElevate--button--accent__hover--textColor);
  background-color:   ;
  border-color:  #cbc7e1 ;
  border-width: var(--hsElevate--button--accent__hover--borderThickness);
  text-decoration: none;
}

.hs-elevate-card--variant-1 {
  border-color: var(--hsElevate--card--variant1__borderColor);
  border-radius: var(--hsElevate--card--variant1__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--card--variant1__borderThickness);
  background-color: var(--hsElevate--card--variant1__backgroundColor);
  color: var(--hsElevate--card--variant1__textColor);
}

.hs-elevate-card--variant-1 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link) {
    color: var(--hsElevate--card--variant1--link__fontColor);
    -webkit-text-decoration: var(--hsElevate--card--variant1--link__textDecoration);
    text-decoration: var(--hsElevate--card--variant1--link__textDecoration);
    text-decoration-color: var(--hsElevate--card--variant1--link__textDecorationColor);
  }

.hs-elevate-card--variant-1 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):hover, .hs-elevate-card--variant-1 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):focus {
    color: var(--hsElevate--card--variant1--link__hover--fontColor);
    -webkit-text-decoration: var(--hsElevate--card--variant1--link__hover--textDecoration);
    text-decoration: var(--hsElevate--card--variant1--link__hover--textDecoration);
    text-decoration-color: var(--hsElevate--card--variant1--link__hover--textDecorationColor);
  }

.hs-elevate-card--variant-2 {
  border-color: var(--hsElevate--card--variant2__borderColor);
  border-radius: var(--hsElevate--card--variant2__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--card--variant2__borderThickness);
  background-color: var(--hsElevate--card--variant2__backgroundColor);
  color: var(--hsElevate--card--variant2__textColor);
}

.hs-elevate-card--variant-2 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link) {
    color: var(--hsElevate--card--variant2--link__fontColor);
    -webkit-text-decoration: var(--hsElevate--card--variant2--link__textDecoration);
    text-decoration: var(--hsElevate--card--variant2--link__textDecoration);
    text-decoration-color: var(--hsElevate--card--variant2--link__textDecorationColor);
  }

.hs-elevate-card--variant-2 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):hover, .hs-elevate-card--variant-2 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):focus {
    color: var(--hsElevate--card--variant2--link__hover--fontColor);
    -webkit-text-decoration: var(--hsElevate--card--variant2--link__hover--textDecoration);
    text-decoration: var(--hsElevate--card--variant2--link__hover--textDecoration);
    text-decoration-color: var(--hsElevate--card--variant2--link__hover--textDecorationColor);
  }

.hs-elevate-card--variant-3 {
  border-color: var(--hsElevate--card--variant3__borderColor);
  border-radius: var(--hsElevate--card--variant3__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--card--variant3__borderThickness);
  background-color: var(--hsElevate--card--variant3__backgroundColor);
  color: var(--hsElevate--card--variant3__textColor);
}

.hs-elevate-card--variant-3 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link) {
    color: var(--hsElevate--card--variant3--link__fontColor);
    -webkit-text-decoration: var(--hsElevate--card--variant3--link__textDecoration);
    text-decoration: var(--hsElevate--card--variant3--link__textDecoration);
    text-decoration-color: var(--hsElevate--card--variant3--link__textDecorationColor);
  }

.hs-elevate-card--variant-3 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):hover, .hs-elevate-card--variant-3 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):focus {
    color: var(--hsElevate--card--variant3--link__hover--fontColor);
    -webkit-text-decoration: var(--hsElevate--card--variant3--link__hover--textDecoration);
    text-decoration: var(--hsElevate--card--variant3--link__hover--textDecoration);
    text-decoration-color: var(--hsElevate--card--variant3--link__hover--textDecorationColor);
  }

.hs-elevate-card--variant-4 {
  border-color: var(--hsElevate--card--variant4__borderColor);
  border-radius: var(--hsElevate--card--variant4__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--card--variant4__borderThickness);
  background-color: var(--hsElevate--card--variant4__backgroundColor);
  color: var(--hsElevate--card--variant4__textColor);
}

.hs-elevate-card--variant-4 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link) {
    color: var(--hsElevate--card--variant4--link__fontColor);
    -webkit-text-decoration: var(--hsElevate--card--variant4--link__textDecoration);
    text-decoration: var(--hsElevate--card--variant4--link__textDecoration);
    text-decoration-color: var(--hsElevate--card--variant4--link__textDecorationColor);
  }

.hs-elevate-card--variant-4 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):hover, .hs-elevate-card--variant-4 a:not(.hs-elevate-button, .hs-elevate-blog-listing__pagination-link, .hs-elevate-card--blog__link):focus {
    color: var(--hsElevate--card--variant4--link__hover--fontColor);
    -webkit-text-decoration: var(--hsElevate--card--variant4--link__hover--textDecoration);
    text-decoration: var(--hsElevate--card--variant4--link__hover--textDecoration);
    text-decoration-color: var(--hsElevate--card--variant4--link__hover--textDecorationColor);
  }

/* Form */

.hs-form,
.hs-elevate-system-form form,
.hs-elevate-system-form--subscription-preferences form .email-prefs {
  padding: var(--hsElevate--form__padding);
  border-color: var(--hsElevate--form__borderColor);
  border-radius: var(--hsElevate--form__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--form__borderThickness);
  background: var(--hsElevate--form__backgroundColor);
}

/* Form labels */

:is(.hs-form, .hs-elevate-system-form) label,
.hs-elevate-system-form--subscription-preferences .fakelabel {
  display: block;
  color: var(--hsElevate--formLabel__textColor);
  font-family: var(--hsElevate--formLabel__font);
  font-size: var(--hsElevate--formLabel__fontSize);
  font-weight: var(--hsElevate--formLabel__fontWeight);
  margin-block-end: var(--hsElevate--formLabel__marginBottom);
}

/* Form fields */

.hs-form .hs-form-field {
  margin-block-end: var(--hsElevate--formField__marginBottom);
}

:is(.hs-form, .hs-elevate-system-form) input[type='text'],
:is(.hs-form, .hs-elevate-system-form) input[type='email'],
:is(.hs-form, .hs-elevate-system-form) input[type='password'],
:is(.hs-form, .hs-elevate-system-form) input[type='tel'],
:is(.hs-form, .hs-elevate-system-form) input[type='number'],
:is(.hs-form, .hs-elevate-system-form) input[type='search'],
:is(.hs-form, .hs-elevate-system-form) select,
:is(.hs-form, .hs-elevate-system-form) textarea {
  width: 100% !important;
  border-radius: var(--hsElevate--formField__borderRadius);
  border-top: var(--hsElevate--formField__borderTop);
  border-right: var(--hsElevate--formField__borderRight);
  border-bottom: var(--hsElevate--formField__borderBottom);
  border-left: var(--hsElevate--formField__borderLeft);
  background-color: var(--hsElevate--formField__backgroundColor);
  color: var(--hsElevate--formFieldInput__textColor);
  padding-block: var(--hsElevate--spacing--20);
  padding-inline: var(--hsElevate--spacing--32);
}

.hs-input.hs-fieldtype-intl-phone {
  display: flex;
  width: 100% !important;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px; /* matches column margins from form injection */
}

.hs-input.hs-fieldtype-intl-phone > input {
  flex: 1 0 calc(70% - 8px) !important;
}

.hs-input.hs-fieldtype-intl-phone > select {
  flex: 1 0 30% !important;
}

@media (max-width: 600px) {
  .hs-input.hs-fieldtype-intl-phone {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 8px;
  }

  .hs-input.hs-fieldtype-intl-phone > select,
  .hs-input.hs-fieldtype-intl-phone > input {
    min-width: 100%;
    flex: 1 1 100%;
  }

  .hs-input.hs-fieldtype-intl-phone > select {
    padding-inline: var(--hsElevate--spacing--16);
  }
}

.hs-form-field.hs-fieldtype-file .hs-input,
.hs-form fieldset {
  max-width: 100% !important;
}

/* Form fields - textarea */

.hs-form textarea {
  position: relative;
  height: 160px;
  border-radius: var(--hsElevate--formFieldTextArea__borderRadius);
}

.hs-form textarea::-webkit-resizer {
  display: none;
}

.hs-form .hs_multi_line_field .input {
  position: relative;
}

.hs-form .hs_multi_line_field .input:after {
  position: absolute;
  right: var(--hsElevate--spacing--8);
  bottom: var(--hsElevate--spacing--8);
  content: var(--hsElevate--formField__dragIcon);
  pointer-events: none;
}

/* Form fields - select */

.hs-form .hs-fieldtype-select .input {
  position: relative;
}

.hs-form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.hs-form .hs-fieldtype-select .input:after {
  position: absolute;
  top: 50%;
  right: var(--hsElevate--spacing--32);
  content: var(--hsElevate--formField__selectIcon);
  pointer-events: none;
  transform: translateY(-50%);
}

/* Form fields - datepicker */

.hs-form .hs-dateinput {
  position: relative;
}

.hs-form .hs-dateinput:before {
  position: absolute;
  top: 50%;
  right: var(--hsElevate--spacing--32);
  content: var(--hsElevate--formField__datepickerIcon);
  pointer-events: none;
  transform: translateY(-50%);
}

/* Form fields - placeholders */

::-moz-placeholder {
  color: var(--hsElevate--formFieldPlaceholder__textColor);
}

::placeholder {
  color: var(--hsElevate--formFieldPlaceholder__textColor);
}

/* Form fields - checkbox/radio */

.hs-form .inputs-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.hs-form .inputs-list li {
  display: block;
  margin-block-end: var(--hsElevate--spacing--16);
}

.hs-form .inputs-list li:last-of-type {
  margin-block-end: 0;
}

.hs-form .inputs-list :is(input, span) {
  vertical-align: middle;
}

:is(.hs-form, .hs-elevate-system-form) input[type='checkbox'],
:is(.hs-form, .hs-elevate-system-form) input[type='radio'] {
  height: var(--hsElevate--formFieldCheckboxRadio__size);
  width: var(--hsElevate--formFieldCheckboxRadio__size) !important;
  accent-color: var(--hsElevate--formFieldCheckboxRadio__fillColor);
  cursor: pointer;
  margin-inline-end: var(--hsElevate--spacing--12);
}

/* Form help text */

.hs-form legend {
  /* To do: figure out where we should pull this from */
  color: var(--hsElevate--formHelpText__textColor);
  margin-block-end: var(--hsElevate--spacing--8);
}

/* Form rich text */

.hs-form .hs-richtext {
  color: var(--hsElevate--formLabel__textColor);
}

.hs-form .hs-richtext img {
  height: auto;
  max-width: 100% !important;
}

/* Form error messages */

.hs-form .hs-input.error {
  border-color: var(--hsElevate--formRequired__color);
}

.hs-form .hs-error-msg,
.hs-form .hs-error-msgs {
  color: var(--hsElevate--formRequired__color);
  margin-block-start: var(--hsElevate--spacing--4);
}

/* Form button */

:is(.hs-form, .hs-elevate-system-form) .hs-button,
:is(.hs-form, .hs-elevate-system-form) input[type='submit'] {
  display: inline-block;
  width: 100%;
  border-color: var(--hsElevate--button--primary__borderColor);
  border-radius: var(--hsElevate--button--primary__borderRadius);
  border-style: solid;
  border-width: var(--hsElevate--button--primary__borderThickness);
  background-color: var(--hsElevate--button--primary__backgroundColor);
  color: var(--hsElevate--button--primary__textColor);
  cursor: pointer;
  font-family: var(--hsElevate--button--primary__font);
  font-size: var(--hsElevate--button--primary__fontSize);
  font-style: var(--hsElevate--button--primary__fontStyle);
  font-weight: var(--hsElevate--button--primary__fontWeight);
  padding-block: var(--hsElevate--spacing--20);
  padding-inline: var(--hsElevate--spacing--24);
  text-align: center;
  text-decoration: none;
  transition: all 0.15s linear;
  white-space: normal !important;
}

:is(.hs-form, .hs-elevate-system-form) .hs-button:hover,
:is(.hs-form, .hs-elevate-system-form) .hs-button:focus,
:is(.hs-form, .hs-elevate-system-form) input[type='submit']:hover,
:is(.hs-form, .hs-elevate-system-form) input[type='submit']:focus {
  border-color: var(--hsElevate--button--primary__hover--borderColor);
  border-width: var(--hsElevate--button--primary__hover--borderThickness);
  background-color: var(--hsElevate--button--primary__hover--backgroundColor);
  color: var(--hsElevate--button--primary__hover--textColor);
  text-decoration: none;
}

/* Captcha */

.grecaptcha-badge {
  margin-block: 0;
  margin-inline: auto;
}

/* Components */

/* Navigation skipper */

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

.hs-elevate-header__skip:hover,
.hs-elevate-header__skip:focus,
.hs-elevate-header__skip:active {
  z-index: 2;
  top: 0;
  left: 0;
  overflow: visible;
  height: auto;
  width: auto;
}

/*
  TODO: Move this code to the MenuComponent styled-component code -- keeping it here to prevent conflicts with open Menu PRs
  TODO: Remove this file and its references from main.hubl.css
*/

@media (max-width: 767px) {
  .hs-elevate-footer .hs-elevate-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

/*
  Spacing variables are:
  --hsElevate--menuItem__padding
  --hsElevate--menuItem__margin
  --hsElevate--menu--topLevel__gap
  --hsElevate--flyoutSubMenu__top
  --hsElevate--flyoutSubMenu__left
  --hsElevate--flyoutSubMenu__right
  --hsElevate--flyoutSubMenu__bottom
  --hsElevate--firstFlyoutMenu__top
  --hsElevate--firstFlyoutMenu__left
  --hsElevate--firstFlyoutMenu__right
  --hsElevate--firstFlyoutMenu__bottom
 */

.hs-elevate-menu {
  display: flex;
}

.hs-elevate-menu,
.hs-elevate-menu ul {
  list-style: none;
}

.hs-elevate-menu li {
  position: relative;
}

.hs-elevate-menu--horizontal {
  flex-direction: row;
  flex-wrap: wrap;
}

.hs-elevate-menu--vertical {
  flex-direction: column;
}

.hs-elevate-menu {
  gap: var(--hsElevate--menu--topLevel__gap, 0);
}

.hs-elevate-menu--desktop {
  margin: 0;
}

.hs-elevate-menu__flyout-submenu {
  min-width: -moz-max-content;
  min-width: max-content;
  max-width: 250px;
  white-space: nowrap;
  overflow-wrap: break-word;
  padding: 20px;
  border: 1px solid var(--hsElevate--color--base--2);
  border-radius: 8px;
  background-color: var(--hsElevate--color--base--1);
}

.logo-company-name {
  margin-block: 0;
}

/* Offsets margin on ul element inside default image grid */

.hs-image__grid__list {
  margin-block: 0;
}

/* Logo responsive styling */

.widget-type-logo img {
  height: auto;
  max-width: 100%;
}

/* ============================================================================
   FileMy Motion System
   
   This file implements the FileMy motion design system for the Elevate theme.
   It defines spring presets, reveal animations, and utility classes following
   the Motion System Contract.
   
   IMPORTANT: Motion is ONLY allowed on marketing pages.
   Trust/billing/portal pages must NOT load this CSS or use these classes.
   
   MOTION-FORBIDDEN TEMPLATES (Trust Context):
   These templates must NEVER have motion animations:
   - /templates/system/*           (404, 500, error pages, subscription pages)
   - /templates/pricing.hubl.html  (pricing page - trust context)
   - /templates/pages/legal-*      (legal pages when created)
   - /templates/pages/billing-*    (billing pages when created)
   - /templates/pages/security-*   (security pages when created)
   
   To disable motion on a page, add class "fm-motion-forbidden" to the body element.
   
   Spring Presets (from Master Video & Motion Pack):
   - snappy: 0.25 bounce, 0.4s duration - CTAs, buttons, quick reveals
   - smooth: 0.15 bounce, 0.5s duration - Content sections, cards
   - bouncy: 0.35 bounce, 0.6s duration - Characters, playful elements (marketing only)
   - gentle: 0.1 bounce, 0.8s duration - Background elements, subtle motion
   ============================================================================ */

/* ============================================================================
   CSS Custom Properties - Motion Presets
   ============================================================================ */

:root {
  /* FileMy Spring Presets
     These use cubic-bezier approximations of spring physics.
     The bounce value influences the overshoot in the curve. */
  
  /* Snappy: Quick, responsive feel for CTAs and buttons */
  --fm-spring-snappy: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --fm-spring-snappy-duration: 0.4s;
  --fm-spring-snappy-bounce: 0.25;
  
  /* Smooth: Natural, flowing motion for content sections */
  --fm-spring-smooth: 0.5s cubic-bezier(0.15, 0.46, 0.45, 0.94);
  --fm-spring-smooth-duration: 0.5s;
  --fm-spring-smooth-bounce: 0.15;
  
  /* Bouncy: Playful, energetic motion for characters (marketing only) */
  --fm-spring-bouncy: 0.6s cubic-bezier(0.35, 0.68, 0.45, 1.2);
  --fm-spring-bouncy-duration: 0.6s;
  --fm-spring-bouncy-bounce: 0.35;
  
  /* Gentle: Subtle, calm motion for background elements */
  --fm-spring-gentle: 0.8s cubic-bezier(0.1, 0.46, 0.45, 0.94);
  --fm-spring-gentle-duration: 0.8s;
  --fm-spring-gentle-bounce: 0.1;
  
  /* Animation timing durations */
  --fm-duration-fast: 150ms;
  --fm-duration-normal: 250ms;
  --fm-duration-slow: 350ms;
  
  /* Easing functions */
  --fm-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --fm-ease-out: cubic-bezier(0, 0, 0.2, 1);
  --fm-ease-in: cubic-bezier(0.4, 0, 1, 1);
}

/* ============================================================================
   Motion Utility Classes
   
   Use these classes to apply consistent spring presets to elements.
   Format: .fm-motion-{preset}
   ============================================================================ */

.fm-motion-snappy {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-duration: var(--fm-spring-snappy-duration);
}

.fm-motion-smooth {
  transition-timing-function: cubic-bezier(0.15, 0.46, 0.45, 0.94);
  transition-duration: var(--fm-spring-smooth-duration);
}

.fm-motion-bouncy {
  transition-timing-function: cubic-bezier(0.35, 0.68, 0.45, 1.2);
  transition-duration: var(--fm-spring-bouncy-duration);
}

.fm-motion-gentle {
  transition-timing-function: cubic-bezier(0.1, 0.46, 0.45, 0.94);
  transition-duration: var(--fm-spring-gentle-duration);
}

/* ============================================================================
   Reveal Animation Keyframes
   
   These keyframes define entrance animations for scroll-triggered reveals.
   ============================================================================ */

@keyframes fm-fade-in-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fm-fade-in-down {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fm-slide-in-left {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fm-slide-in-right {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fm-scale-in {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes fm-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

/* ============================================================================
   Reveal Animation Classes
   
   Apply these classes to elements for entrance animations.
   Use data-motion attribute for JavaScript-controlled reveals.
   ============================================================================ */

/* Base state for motion-enabled elements (hidden by default) */

.fm-motion-enabled [data-motion] {
  opacity: 0;
}

/* Fade in up - most common reveal animation */

.fm-animate-fade-in-up,
[data-motion="fade-in-up"].fm-motion-visible {
  animation: fm-fade-in-up var(--fm-spring-smooth) forwards;
}

/* Fade in down */

.fm-animate-fade-in-down,
[data-motion="fade-in-down"].fm-motion-visible {
  animation: fm-fade-in-down var(--fm-spring-smooth) forwards;
}

/* Slide in from left */

.fm-animate-slide-in-left,
[data-motion="slide-in-left"].fm-motion-visible {
  animation: fm-slide-in-left var(--fm-spring-smooth) forwards;
}

/* Slide in from right */

.fm-animate-slide-in-right,
[data-motion="slide-in-right"].fm-motion-visible {
  animation: fm-slide-in-right var(--fm-spring-smooth) forwards;
}

/* Scale in */

.fm-animate-scale-in,
[data-motion="scale-in"].fm-motion-visible {
  animation: fm-scale-in var(--fm-spring-smooth) forwards;
}

/* Float animation - marketing only, desktop only */

.fm-animate-float,
[data-motion="float"].fm-motion-visible {
  animation: fm-float 3s var(--fm-ease-in-out) infinite;
}

/* Stagger delay utilities for sequential reveals */

.fm-delay-1 { animation-delay: 0.1s; }

.fm-delay-2 { animation-delay: 0.2s; }

.fm-delay-3 { animation-delay: 0.3s; }

.fm-delay-4 { animation-delay: 0.4s; }

.fm-delay-5 { animation-delay: 0.5s; }

/* ============================================================================
   Interactive Hover Effects
   
   Subtle hover effects for interactive elements.
   ============================================================================ */

.fm-hover-lift {
  transition: transform var(--fm-spring-snappy), box-shadow var(--fm-spring-snappy);
}

.fm-hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.fm-hover-scale {
  transition: transform var(--fm-spring-snappy);
}

.fm-hover-scale:hover {
  transform: scale(1.02);
}

.fm-hover-glow {
  transition: box-shadow var(--fm-spring-snappy);
}

.fm-hover-glow:hover {
  box-shadow: 0 0 20px rgba(59, 130, 246, 0.3);
}

/* Button press feedback */

.fm-press:active {
  transform: scale(0.98);
}

/* ============================================================================
   Reduced Motion Support
   
   CRITICAL: All motion must respect prefers-reduced-motion.
   When reduced motion is preferred, animations are disabled or minimized.
   ============================================================================ */

@media (prefers-reduced-motion: reduce) {
  /* Disable all animations and transitions */
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  
  /* Reset motion utility classes */
  .fm-motion-snappy,
  .fm-motion-smooth,
  .fm-motion-bouncy,
  .fm-motion-gentle {
    transition-duration: 0.01ms !important;
  }
  
  /* Show all content immediately */
  .fm-motion-enabled [data-motion],
  [data-motion] {
    opacity: 1 !important;
    transform: none !important;
  }
  
  /* Disable float animations */
  .fm-animate-float,
  [data-motion="float"] {
    animation: none !important;
  }
  
  /* Disable hover effects that involve motion */
  .fm-hover-lift:hover,
  .fm-hover-scale:hover {
    transform: none !important;
  }
}

/* ============================================================================
   Mobile Constraints
   
   Float animations are desktop-only per Motion System Contract.
   ============================================================================ */

@media (max-width: 1023px) {
  .fm-animate-float,
  [data-motion="float"] {
    animation: none;
  }
}

/* ============================================================================
   CSS Fallback Classes
   
   For graceful degradation when JavaScript fails.
   Content should be visible by default.
   ============================================================================ */

/* Fallback: content visible by default */

[data-motion] {
  opacity: 1;
  transform: none;
}

/* JS adds .fm-motion-enabled class to body to enable motion.
   This hides elements with data-motion until they become visible.
   Note: The base state is defined in the Reveal Animation Classes section. */

/* CSS-only fallback animations (no JS required) */

.fm-motion-fade-in-up {
  animation: fm-fade-in-up var(--fm-spring-smooth) forwards;
}

.fm-motion-fade-in-down {
  animation: fm-fade-in-down var(--fm-spring-smooth) forwards;
}

.fm-motion-slide-in-left {
  animation: fm-slide-in-left var(--fm-spring-smooth) forwards;
}

.fm-motion-slide-in-right {
  animation: fm-slide-in-right var(--fm-spring-smooth) forwards;
}

.fm-motion-scale-in {
  animation: fm-scale-in var(--fm-spring-smooth) forwards;
}

/* ============================================================================
   Motion-Forbidden Context
   
   Apply .fm-motion-forbidden to the body element to completely disable
   all motion on trust/billing/security pages.
   
   This class should be applied to:
   - System templates (404, 500, error pages)
   - Pricing pages
   - Legal pages (legal-*, terms, privacy)
   - Billing pages (billing-*, payment, checkout)
   - Security pages (security-*, compliance)
   
   Content appears instantly with zero animations for maximum clarity and trust.
   ============================================================================ */

.fm-motion-forbidden,
.fm-motion-forbidden * {
  /* Disable all animations */
  animation: none !important;
  animation-duration: 0ms !important;
  animation-delay: 0ms !important;
  
  /* Disable all transitions */
  transition: none !important;
  transition-duration: 0ms !important;
  transition-delay: 0ms !important;
}

/* Ensure all content is immediately visible on motion-forbidden pages */

.fm-motion-forbidden [data-motion],
.fm-motion-forbidden .fm-motion-enabled [data-motion] {
  opacity: 1 !important;
  transform: none !important;
}

/* Disable hover effects on motion-forbidden pages */

.fm-motion-forbidden .fm-hover-lift:hover,
.fm-motion-forbidden .fm-hover-scale:hover,
.fm-motion-forbidden .fm-hover-glow:hover {
  transform: none !important;
  box-shadow: inherit !important;
}

/* Disable float animations on motion-forbidden pages */

.fm-motion-forbidden .fm-animate-float,
.fm-motion-forbidden [data-motion="float"] {
  animation: none !important;
}

/* Disable press feedback on motion-forbidden pages */

.fm-motion-forbidden .fm-press:active {
  transform: none !important;
}

/* Preset-specific styles */

/* Onyx preset specific styles */

  

  

/* ============================================ */
/* LEGAL PAGE STYLES                           */
/* Trust context: no decorative UI, clear       */
/* typography, proper heading hierarchy.        */
/* ============================================ */

.fm-legal-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
}

.fm-legal-page__title {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: var(--heading-color, #111827);
}

.fm-legal-page__effective-date {
  font-size: 0.875rem;
  color: var(--body-light-color, #6b7280);
  margin-bottom: 2.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.fm-legal-page__container h2 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  color: var(--heading-color, #111827);
}

.fm-legal-page__container h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  color: var(--heading-color, #111827);
}

.fm-legal-page__container p {
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 1rem;
  color: var(--body-color, #374151);
}

.fm-legal-page__container ul,
.fm-legal-page__container ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}

.fm-legal-page__container li {
  font-size: 1rem;
  line-height: 1.75;
  margin-bottom: 0.5rem;
  color: var(--body-color, #374151);
}

.fm-legal-page__container a {
  color: var(--link-color, #2563eb);
  text-decoration: underline;
}

.fm-legal-page__container a:hover {
  color: var(--link-hover-color, #1d4ed8);
}

.fm-legal-page__container a:focus-visible {
  outline: 2px solid var(--focus-color, #2563eb);
  outline-offset: 2px;
  border-radius: 2px;
}

@media (max-width: 640px) {
  .fm-legal-page {
    padding: 2rem 1rem 3rem;
  }

  .fm-legal-page__title {
    font-size: 1.5rem;
  }

  .fm-legal-page__container h2 {
    font-size: 1.25rem;
  }

  .fm-legal-page__container h3 {
    font-size: 1.125rem;
  }
}