/* Theme font combo: DM Sans (all text) + Geist Mono (code) */
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Geist+Mono:wght@100..900&display=swap");
/*! 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;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * 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
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 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
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, 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;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
  margin: auto;
}

/* 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 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 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;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 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, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}
*, *:before, *:after {
  box-sizing: border-box;
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1240px;
}

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

.dnd-section,
.content-wrapper--vertical-spacing {
  padding: 80px 20px;
}

.dnd-section > .row-fluid {
  margin: 0 auto;
  max-width: 1240px;
}

.dnd-section .dnd-column {
  padding: 0 20px;
}

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

/* For global DND areas */
.kl-dnd-header:before {
  content: '';
  position: relative;
  display: block;
  height: 100%;
}

.kl-dnd-header-area {
  z-index: 99;
  position: fixed;
  width: 100%;
  /* Specifically for the header navbar */
}

.kl-dnd-header-area header.kl-header {
  position: relative;
}

.kl-dnd-header-area div.kl-header-placeholder {
  height: 0;
}

.kl-dnd-header-spacer {
  height: 100px;
}
/* Responsive Grid */
.row-fluid {
  width: 100%;
  *zoom: 1;
}

.row-fluid:before, .row-fluid:after {
  display: table;
  content: "";
}

.row-fluid:after {
  clear: both;
}

.row-fluid [class*="span"] {
  display: block;
  float: left;
  width: 100%;
  margin-left: 2.127659574%;
  *margin-left: 2.0744680846382977%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.row-fluid [class*="span"]:first-child {
  margin-left: 0;
}

.row-fluid .span12 {
  width: 99.99999998999999%;
  *width: 99.94680850063828%;
}

.row-fluid .span11 {
  width: 91.489361693%;
  *width: 91.4361702036383%;
}

.row-fluid .span10 {
  width: 82.97872339599999%;
  *width: 82.92553190663828%;
}

.row-fluid .span9 {
  width: 74.468085099%;
  *width: 74.4148936096383%;
}

.row-fluid .span8 {
  width: 65.95744680199999%;
  *width: 65.90425531263828%;
}

.row-fluid .span7 {
  width: 57.446808505%;
  *width: 57.3936170156383%;
}

.row-fluid .span6 {
  width: 48.93617020799999%;
  *width: 48.88297871863829%;
}

.row-fluid .span5 {
  width: 40.425531911%;
  *width: 40.3723404216383%;
}

.row-fluid .span4 {
  width: 31.914893614%;
  *width: 31.8617021246383%;
}

.row-fluid .span3 {
  width: 23.404255317%;
  *width: 23.3510638276383%;
}

.row-fluid .span2 {
  width: 14.89361702%;
  *width: 14.8404255306383%;
}

.row-fluid .span1 {
  width: 6.382978723%;
  *width: 6.329787233638298%;
}

.container-fluid {
  *zoom: 1;
}

.container-fluid:before, .container-fluid:after {
  display: table;
  content: "";
}

.container-fluid:after {
  clear: both;
}

@media (max-width: 767px) {
  .row-fluid {
    width: 100%;
  }
  .row-fluid [class*="span"] {
    display: block;
    float: none;
    width: auto;
    margin-left: 0;
  }
}

@media (min-width: 768px) and (max-width: 1139px) {
  .row-fluid {
    width: 100%;
    *zoom: 1;
  }
  .row-fluid:before, .row-fluid:after {
    display: table;
    content: "";
  }
  .row-fluid:after {
    clear: both;
  }
  .row-fluid [class*="span"] {
    display: block;
    float: left;
    width: 100%;
    margin-left: 2.762430939%;
    *margin-left: 2.709239449638298%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }
  .row-fluid [class*="span"]:first-child {
    margin-left: 0;
  }
  .row-fluid .span12 {
    width: 99.999999993%;
    *width: 99.9468085036383%;
  }
  .row-fluid .span11 {
    width: 91.436464082%;
    *width: 91.38327259263829%;
  }
  .row-fluid .span10 {
    width: 82.87292817100001%;
    *width: 82.8197366816383%;
  }
  .row-fluid .span9 {
    width: 74.30939226%;
    *width: 74.25620077063829%;
  }
  .row-fluid .span8 {
    width: 65.74585634900001%;
    *width: 65.6926648596383%;
  }
  .row-fluid .span7 {
    width: 57.182320438000005%;
    *width: 57.129128948638304%;
  }
  .row-fluid .span6 {
    width: 48.618784527%;
    *width: 48.5655930376383%;
  }
  .row-fluid .span5 {
    width: 40.055248616%;
    *width: 40.0020571266383%;
  }
  .row-fluid .span4 {
    width: 31.491712705%;
    *width: 31.4385212156383%;
  }
  .row-fluid .span3 {
    width: 22.928176794%;
    *width: 22.874985304638297%;
  }
  .row-fluid .span2 {
    width: 14.364640883%;
    *width: 14.311449393638298%;
  }
  .row-fluid .span1 {
    width: 5.801104972%;
    *width: 5.747913482638298%;
  }
}

@media (min-width: 1280px) {
  .row-fluid {
    width: 100%;
    *zoom: 1;
  }
  .row-fluid:before, .row-fluid:after {
    display: table;
    content: "";
  }
  .row-fluid:after {
    clear: both;
  }
  .row-fluid [class*="span"] {
    display: block;
    float: left;
    width: 100%;
    margin-left: 2.564102564%;
    *margin-left: 2.510911074638298%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
  }
  .row-fluid [class*="span"]:first-child {
    margin-left: 0;
  }
  .row-fluid .span12 {
    width: 100%;
    *width: 99.94680851063829%;
  }
  .row-fluid .span11 {
    width: 91.45299145300001%;
    *width: 91.3997999636383%;
  }
  .row-fluid .span10 {
    width: 82.905982906%;
    *width: 82.8527914166383%;
  }
  .row-fluid .span9 {
    width: 74.358974359%;
    *width: 74.30578286963829%;
  }
  .row-fluid .span8 {
    width: 65.81196581200001%;
    *width: 65.7587743226383%;
  }
  .row-fluid .span7 {
    width: 57.264957265%;
    *width: 57.2117657756383%;
  }
  .row-fluid .span6 {
    width: 48.717948718%;
    *width: 48.6647572286383%;
  }
  .row-fluid .span5 {
    width: 40.170940171000005%;
    *width: 40.117748681638304%;
  }
  .row-fluid .span4 {
    width: 31.623931624%;
    *width: 31.5707401346383%;
  }
  .row-fluid .span3 {
    width: 23.076923077%;
    *width: 23.0237315876383%;
  }
  .row-fluid .span2 {
    width: 14.529914530000001%;
    *width: 14.4767230406383%;
  }
  .row-fluid .span1 {
    width: 5.982905983%;
    *width: 5.929714493638298%;
  }
}

/* Clearfix */
.clearfix {
  *zoom: 1;
}

.clearfix:before, .clearfix:after {
  display: table;
  content: "";
}

.clearfix:after {
  clear: both;
}

/* Visibilty Classes */
.hide {
  display: none;
}

.show {
  display: block;
}

.invisible {
  visibility: hidden;
}

.hidden {
  display: none;
  visibility: hidden;
}

/* Responsive Visibilty Classes */
.visible-phone {
  display: none !important;
}

.visible-tablet {
  display: none !important;
}

.hidden-desktop {
  display: none !important;
}

@media (max-width: 767px) {
  .visible-phone {
    display: inherit !important;
  }
  .hidden-phone {
    display: none !important;
  }
  .hidden-desktop {
    display: inherit !important;
  }
  .visible-desktop {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1139px) {
  .visible-tablet {
    display: inherit !important;
  }
  .hidden-tablet {
    display: none !important;
  }
  .hidden-desktop {
    display: inherit !important;
  }
  .visible-desktop {
    display: none !important;
  }
}
button, .button, .button_cta a {
  background-color: rgba(95, 81, 255, 1.0);
  border: 1px solid rgba(95, 81, 255, 1);
  border-radius: 3px;
  color: rgba(255, 255, 255, 1);
  padding: 15px 25px;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: bold;
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0;
  cursor: pointer;
  line-height: 1.1;
  letter-spacing: 0.03em;
  white-space: normal;
  word-break: break-word;
  text-align: center;
  text-decoration: none;
  position: relative;
  transition: all 0.15s linear;
  /* To affect HubSpot CTAs */
}

button:hover, button:focus, button:active, .button:hover, .button:focus, .button:active, .button_cta a:hover, .button_cta a:focus, .button_cta a:active {
  background-color: rgba(95, 81, 255, 1.0);
  border-color: rgba(95, 81, 255, 1.0);
  color: rgba(255, 255, 255, 1);
  text-decoration: none;
  transform: scale(1.05);
}

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

button a, .button a, .button_cta a a {
  color: rgba(255, 255, 255, 1);
}

button a:hover, .button a:hover, .button_cta a a:hover {
  color: white;
  text-decoration: none;
}

/* 
 This class allows the use of CTAS 
 */
.button_cta, .button_cta.button--outlined, .button_cta.button--arrow {
  padding: 0;
  border: none;
  display: inline-block;
}

.button_cta:after, .button_cta.button--outlined:after, .button_cta.button--arrow:after {
  display: none;
}

@media screen and (max-width: 767px) {
  .button_cta, .button_cta.button--outlined, .button_cta.button--arrow {
    text-align: center;
  }
}

.widget-type-cta {
  background-color: rgba(95, 81, 255, 1.0);
  border: 1px solid rgba(95, 81, 255, 1);
  border-radius: 3px;
  color: rgba(255, 255, 255, 1);
  padding: 15px 25px;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: bold;
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0;
  cursor: pointer;
  line-height: 1.1;
  letter-spacing: 0.03em;
  white-space: normal;
  word-break: break-word;
  text-align: center;
  text-decoration: none;
  position: relative;
  transition: all 0.15s linear;
  /* To affect HubSpot CTAs */
}

.widget-type-cta:hover, .widget-type-cta:focus, .widget-type-cta:active {
  background-color: rgba(95, 81, 255, 1.0);
  border-color: rgba(95, 81, 255, 1.0);
  color: rgba(255, 255, 255, 1);
  text-decoration: none;
  transform: scale(1.05);
}

.widget-type-cta:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

.widget-type-cta a {
  color: rgba(255, 255, 255, 1);
}

.widget-type-cta a:hover {
  color: white;
  text-decoration: none;
}

.widget-type-cta a {
  color: white;
}

.widget-type-cta a:hover, .widget-type-cta a:focus, .widget-type-cta a:active {
  color: white;
  text-decoration: none;
}

.button--outlined, .button_cta.button--outlined a {
  background-color: transparent;
  color: #5f51ff;
  border: 2px solid #5f51ff;
  font-weight: bold;
  /* To affect HubSpot CTAs */
}

.button--outlined a, .button_cta.button--outlined a a {
  color: inherit;
}

.button--arrow, .button_cta.button--arrow a {
  color: #000000;
  background: none;
  border: none;
  padding: 0;
  transition: none;
  /* To affect HubSpot CTAs */
}

.button--arrow:after, .button_cta.button--arrow a:after {
  content: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 13'%3E%3Cpath d='M37.5303 7.0303a.75.75 0 000-1.0606l-4.7729-4.773a.75.75 0 00-1.0607 1.0607L35.9393 6.5l-4.2426 4.2426a.75.75 0 001.0607 1.0607l4.7729-4.773zM0 7.25h37v-1.5H0v1.5z' fill='%23000000'/%3E%3C/svg%3E");
  width: 36px;
  margin-left: 6px;
  display: inline-block;
  vertical-align: middle;
  transition: margin .15s linear;
}

.button--arrow:hover, .button--arrow:focus, .button--arrow:active, .button_cta.button--arrow a:hover, .button_cta.button--arrow a:focus, .button_cta.button--arrow a:active {
  background: none;
  border: none;
  text-decoration: none;
  color: #5f51ff;
  transform: none;
}

.button--arrow:hover:after, .button--arrow:focus:after, .button--arrow:active:after, .button_cta.button--arrow a:hover:after, .button_cta.button--arrow a:focus:after, .button_cta.button--arrow a:active:after {
  /* Really nasty way of chaning the color of the arrow */
  content: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 38 13'%3E%3Cpath d='M37.5303 7.0303a.75.75 0 000-1.0606l-4.7729-4.773a.75.75 0 00-1.0607 1.0607L35.9393 6.5l-4.2426 4.2426a.75.75 0 001.0607 1.0607l4.7729-4.773zM0 7.25h37v-1.5H0v1.5z' fill='%235f51ff'/%3E%3C/svg%3E");
  margin-left: 10px;
}

.button--arrow:hover a, .button--arrow:focus a, .button--arrow:active a, .button_cta.button--arrow a:hover a, .button_cta.button--arrow a:focus a, .button_cta.button--arrow a:active a {
  color: inherit;
}

.button--arrow:disabled, .button_cta.button--arrow a:disabled {
  background: none;
  border: none;
  color: #aeaeae;
  cursor: auto;
}

.button--arrow a, .button_cta.button--arrow a a {
  color: inherit;
}
#hubspot-messages-iframe-container {
  z-index: 13 !important;
}
/* Form */
form, .submitted-message {
  font-family: 'DM Sans', sans-serif;
}

.hs-form-field {
  margin: 0 0 1rem;
}

/* Labels */
form label {
  color: #000000;
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  padding-top: 0;
  margin-bottom: 0.35rem;
  text-align: left;
  width: auto;
}

/* Help text - legends */
form legend {
  color: #33475B;
  font-size: 0.875rem;
}

/* Inputs */
.input {
  position: relative;
}

input[type=text],
input[type=email],
input[type=password],
input[type=tel],
input[type=number],
input[type=file],
select,
textarea {
  background-color: #FFF;
  border: 1px solid #DADADA;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: normal;
  padding: .75rem 1rem;
  width: 100%;
  border-color: #DADADA;
  color: #000000;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus,
input[type=tel]:focus,
input[type=number]:focus,
input[type=file]:focus,
select:focus,
textarea:focus {
  outline: none;
  border: 1px solid #5f51ff;
}

fieldset {
  max-width: 100% !important;
}

fieldset.form-columns-0, fieldset.form-columns-1, fieldset.form-columns-2, fieldset.form-columns-3 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

fieldset.form-columns-0 > div, fieldset.form-columns-1 > div, fieldset.form-columns-2 > div, fieldset.form-columns-3 > div {
  width: 100%;
}

fieldset.form-columns-0 .hs-form-field, fieldset.form-columns-1 .hs-form-field, fieldset.form-columns-2 .hs-form-field, fieldset.form-columns-3 .hs-form-field {
  flex-grow: 1;
  flex-basis: 135px;
}

fieldset.form-columns-0 .hs-form-field .input, fieldset.form-columns-1 .hs-form-field .input, fieldset.form-columns-2 .hs-form-field .input, fieldset.form-columns-3 .hs-form-field .input {
  margin-right: 0;
}

fieldset.form-columns-0 .hs-form-field .hs-input, fieldset.form-columns-1 .hs-form-field .hs-input, fieldset.form-columns-2 .hs-form-field .hs-input, fieldset.form-columns-3 .hs-form-field .hs-input {
  width: 100% !important;
  /* Style specifically for the international phone selector */
}

fieldset.form-columns-0 .hs-form-field .hs-input.hs-fieldtype-intl-phone, fieldset.form-columns-1 .hs-form-field .hs-input.hs-fieldtype-intl-phone, fieldset.form-columns-2 .hs-form-field .hs-input.hs-fieldtype-intl-phone, fieldset.form-columns-3 .hs-form-field .hs-input.hs-fieldtype-intl-phone {
  display: flex;
  align-items: center;
}

fieldset.form-columns-0 .hs-form-field .hs-input.hs-fieldtype-intl-phone select, fieldset.form-columns-1 .hs-form-field .hs-input.hs-fieldtype-intl-phone select, fieldset.form-columns-2 .hs-form-field .hs-input.hs-fieldtype-intl-phone select, fieldset.form-columns-3 .hs-form-field .hs-input.hs-fieldtype-intl-phone select {
  flex: 1 1 25%;
  margin-right: 10px;
}

fieldset.form-columns-0 .hs-form-field input[type=checkbox],
fieldset.form-columns-0 .hs-form-field input[type=radio], fieldset.form-columns-1 .hs-form-field input[type=checkbox],
fieldset.form-columns-1 .hs-form-field input[type=radio], fieldset.form-columns-2 .hs-form-field input[type=checkbox],
fieldset.form-columns-2 .hs-form-field input[type=radio], fieldset.form-columns-3 .hs-form-field input[type=checkbox],
fieldset.form-columns-3 .hs-form-field input[type=radio] {
  width: auto !important;
}

/* Form placeholder text */
::-webkit-input-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
:-moz-placeholder,
::placeholder,
.hs-fieldtype-date .input .hs-dateinput:before {
  color: #E4E4E4;
}

/* Inputs - checkbox/radio */
form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.inputs-list > li {
  display: block;
  margin: 0.7rem 0;
  padding: 0;
  width: 100%;
}

.inputs-list input,
.inputs-list span {
  font-size: 0.875rem;
  vertical-align: middle;
}

.hs-input[type=checkbox],
.hs-input[type=radio] {
  border: none;
  cursor: pointer;
  height: auto;
  line-height: normal;
  margin-right: 0.35rem;
  padding: 0;
  width: auto;
}

.hs-input[type=checkbox] + label,
.hs-input[type=radio] + label {
  display: inline-block;
  vertical-align: top;
}

/* Inputs - datepicker */
.hs-fieldtype-date .input .hs-dateinput:before {
  color: #E4E4E4;
  content: '\01F4C5';
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.fn-date-picker button, .fn-date-picker .button {
  min-width: auto;
}

.fn-date-picker .pika-table thead th {
  color: #FFF;
  background-color: #5f51ff;
}

.fn-date-picker td.is-today .pika-button {
  color: #5f51ff;
}

.fn-date-picker td.is-selected .pika-button {
  background: #5f51ff;
  border-radius: 0;
  box-shadow: none;
}

.fn-date-picker td .pika-button:hover {
  background: #5f51ff !important;
  border-radius: 0 !important;
  color: #FFF;
}

/* Inputs - file picker */
input[type=file] {
  background-color: transparent;
  border: initial;
  box-shadow: none;
  line-height: initial;
  padding: initial;
}

/* Headings and text */
form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875rem;
  margin: 0 0 1.4rem;
}

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

form .header {
  background-color: transparent;
  border: none;
}

h3.form-title {
  color: #000000;
}

/* GDPR */
.legal-consent-container {
  margin: 0;
}

.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  font-size: 0.875rem;
}

/* Validation */
.hs-form-required {
  color: red;
}

.hs-input.invalid.error {
  border-color: #EF6B51;
}

.hs-error-msg {
  color: #EF6B51;
  margin-top: 0.35rem;
  font-weight: normal;
}

/* Submit button */
form input[type=submit],
form .hs-button {
  background-color: rgba(95, 81, 255, 1.0);
  border: 1px solid rgba(95, 81, 255, 1);
  border-radius: 3px;
  color: rgba(255, 255, 255, 1);
  padding: 15px 25px;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.75rem;
  font-weight: bold;
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0;
  cursor: pointer;
  line-height: 1.1;
  letter-spacing: 0.03em;
  white-space: normal;
  word-break: break-word;
  text-align: center;
  text-decoration: none;
  position: relative;
  transition: all 0.15s linear;
  /* To affect HubSpot CTAs */
}

form input[type=submit]:hover, form input[type=submit]:focus, form input[type=submit]:active,
form .hs-button:hover,
form .hs-button:focus,
form .hs-button:active {
  background-color: rgba(95, 81, 255, 1.0);
  border-color: rgba(95, 81, 255, 1.0);
  color: rgba(255, 255, 255, 1);
  text-decoration: none;
  transform: scale(1.05);
}

form input[type=submit]:disabled,
form .hs-button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

form input[type=submit] a,
form .hs-button a {
  color: rgba(255, 255, 255, 1);
}

form input[type=submit] a:hover,
form .hs-button a:hover {
  color: white;
  text-decoration: none;
}

/* Captcha */
.grecaptcha-badge {
  margin: 0;
  max-width: 100%;
}
body {
  scroll-behavior: auto;
}
/* Table */
table {
  background-color: rgba(255, 255, 255, 1.0);
  border: 1px solid #000000;
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

tbody + tbody {
  border-top: 2px solid #000000;
}

/* Table Cells */
th,
td {
  border: 1px solid #000000;
  color: #000000;
  padding: 0.75rem;
  vertical-align: top;
}

/* Table Header */
thead th,
thead td {
  background-color: rgba(95, 81, 255, 1);
  color: #FFFFFF;
  vertical-align: bottom;
}

/* Table footer */
tfoot td {
  background-color: rgba(255, 255, 255, 1.0);
  color: #000000;
}
.kl-tooltip {
  position: relative;
}

.kl-tooltip > div {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 100%;
  min-width: 120px;
  left: -22px;
  width: max-content;
  display: block;
  max-width: 360px;
  border-radius: 6px;
  padding: 20px 16px;
  margin-top: 12px;
  background-color: white;
  z-index: 9;
  box-shadow: 0 8px 40px 0px #e6e6e6;
}

.kl-tooltip > div:after {
  content: ' ';
  position: absolute;
  bottom: 100%;
  /* At the top of the tooltip */
  left: 32px;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent white transparent;
}

.kl-tooltip:hover > div {
  visibility: visible;
  opacity: 1;
}

.kl-tooltip--dark > div {
  background-color: black;
}

.kl-tooltip--dark > div h1, .kl-tooltip--dark > div h2, .kl-tooltip--dark > div h3, .kl-tooltip--dark > div h4, .kl-tooltip--dark > div h5, .kl-tooltip--dark > div h6, .kl-tooltip--dark > div p {
  color: white;
}

.kl-tooltip--dark > div:after {
  border-color: transparent transparent black transparent;
}
html {
  font-size: 16px;
}

body {
  font-family: 'DM Sans', sans-serif;
  color: #000000;
  margin: 0;
  line-height: 1.4;
  word-break: break-word;
}

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

/* Paragraphs */
p {
  font-size: 16px;
  line-height: 1.375;
  margin: 0 0 1.4rem;
}

strong {
  font-weight: 700;
}

/* Anchors */
a {
  color: #0270e0;
  cursor: pointer;
  text-decoration: none;
}

a:hover, a:focus {
  text-decoration: underline;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'DM Sans', serif;
  font-weight: 700;
  margin: 0 0 1.4rem;
}

h1 {
  font-family: 'DM Sans', sans-serif;
  font-size: 40px;
  color: #000000;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}

h2 {
  font-family: 'DM Sans', sans-serif;
  font-size: 32px;
  color: #000000;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}

h3 {
  font-family: 'DM Sans', sans-serif;
  font-size: 24px;
  color: #000000;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
}

h4 {
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  color: #000000;
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
}

h5 {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: #000000;
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
}

h6 {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  color: #000000;
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
}

/* Lists */
ul,
ol {
  margin: 0 0 1.5rem;
  padding: 0 0 0 1.1rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 4px 0;
}

ul.no-list {
  list-style: none;
}

/* Code blocks */
code {
  vertical-align: bottom;
}

/* Blockquotes */
blockquote {
  border-left: 2px solid #070C10;
  margin: 0 0 1.4rem;
  padding-left: 15px;
}

/* Horizontal rules */
hr {
  background-color: #CCC;
  border: none;
  color: #CCC;
  height: 1px;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Focus styles */
:focus {
  outline: auto;
  outline-color: #5f51ff;
}

.disable-focus-styles :focus {
  outline: none;
}
/* Blog subscribe — contained CTA card instead of a full-bleed band.
   The module sets the band color as an inline style on .blog-subscribe,
   so it takes !important to clear; the surface moves to the wrapper. */
.blog-subscribe {
  background-color: transparent !important;
  padding: 0 20px 48px;
}

.blog-subscribe__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 48px;
  max-width: 1240px;
  margin: 0 auto;
  padding: 56px 64px;
  background-color: #F0F5FF;
  border: 0.5px solid rgba(152, 157, 159, 0.2);
  box-shadow:
    0 1px 2px rgba(95, 81, 255, 0.04),
    0 12px 24px -12px rgba(95, 81, 255, 0.10);
}

.blog-subscribe__header {
  flex-basis: 465px;
  flex-grow: 1;
  max-width: 560px;
}

.blog-subscribe__header > :last-child {
  margin-bottom: 0;
}

/* The portal's rich-text content ends with stray &nbsp;-only <p>/<h3> tags
   that inflate the card; anything after the intro paragraph is junk. */
.blog-subscribe__header > p ~ * {
  display: none;
}

.blog-subscribe__form {
  flex-basis: 400px;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .blog-subscribe__wrapper {
    display: block;
    padding: 40px 28px;
  }

  .blog-subscribe__header {
    max-width: none;
  }

  .blog-subscribe__form {
    margin: 32px 0 0;
  }
}
.kl-card-grid > div {
  display: flex;
  flex-wrap: wrap;
  margin: -26px;
}

.kl-card-grid__card-wrapper {
  display: flex;
  flex-basis: calc(100% / 3);
  padding: 26px;
}

@media screen and (max-width: 768px) {
  .kl-card-grid__card-wrapper {
    flex-basis: calc(100% / 2);
  }
}

@media screen and (max-width: 520px) {
  .kl-card-grid__card-wrapper {
    flex-basis: calc(100% / 1);
  }
}

.kl-card-grid__card {
  width: 100%;
  border: 0.5px solid rgba(152, 157, 159, 0.2);
  box-shadow: 0px 11px 30px rgba(95, 81, 255, 0.2);
  background-color: rgba(255, 255, 255, 1.0);
  border-radius: 9px;
  overflow: hidden;
}

.kl-card-grid__image {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  display: block;
  height: 260px;
  width: 100%;
}

.kl-card-grid__preheader {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #5f51ff;
  display: block;
  margin: 0 0 .5rem;
}

.kl-card-grid__content {
  display: block;
  padding: 20px 24px;
  color: #000000;
  text-decoration: none;
}

.kl-card-grid__content h3, .kl-card-grid__content h4 {
  margin: 0 0 .5rem;
}

.kl-card-grid__content p {
  margin: 0;
}

.kl-card-grid__content:hover, .kl-card-grid__content:focus {
  color: #000000;
  text-decoration: none;
}

.kl-card-grid--4-columns > div {
  margin: -24px -12px;
}

.kl-card-grid--4-columns .kl-card-grid__card-wrapper {
  flex-basis: calc(100% / 4);
  padding: 24px 12px;
}

@media screen and (max-width: 920px) {
  .kl-card-grid--4-columns .kl-card-grid__card-wrapper {
    flex-basis: calc(100% / 3);
  }
}

@media screen and (max-width: 768px) {
  .kl-card-grid--4-columns .kl-card-grid__card-wrapper {
    flex-basis: calc(100% / 2);
  }
}

@media screen and (max-width: 520px) {
  .kl-card-grid--4-columns .kl-card-grid__card-wrapper {
    flex-basis: calc(100% / 1);
  }
}

.kl-card-grid--4-columns .kl-card-grid__image {
  height: 220px;
}
/* HubSpot cookie consent banner: square corners, no hover motion.
   The banner markup is injected by HubSpot with its own styles (often
   !important), hence the ID selectors and !important overrides. */

#hs-eu-cookie-confirmation,
#hs-eu-cookie-confirmation-inner,
#hs-eu-cookie-confirmation button {
  border-radius: 0 !important;
}

#hs-eu-cookie-confirmation button,
#hs-eu-cookie-confirmation button:hover,
#hs-eu-cookie-confirmation button:focus,
#hs-eu-cookie-confirmation button:active {
  transform: none !important;
  transition: none !important;
}
.kl-cards-slider {
  position: relative;
  max-width: 848px;
  margin: 0 auto;
}

.kl-cards-slider-wrapper {
  padding: 0 15px;
}

.kl-cards-slider__arrow {
  position: absolute;
  top: 20px;
  display: block;
  width: 30px;
  height: 30px;
  padding: 8px;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0px 11px 30px rgba(95, 81, 255, 0.2);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kl-cards-slider__arrow svg {
  fill: #3A3A3A;
  display: block;
  width: 100%;
}

.kl-cards-slider__arrow--prev {
  left: 0;
  transform: translateX(-50%);
}

.kl-cards-slider__arrow--next {
  right: 0;
  transform: translateX(50%);
}

.kl-cards-slider__card {
  display: none;
  overflow: hidden;
  border: 0.5px solid rgba(152, 157, 159, 0.2);
  box-shadow: 0px 11px 30px rgba(95, 81, 255, 0.2);
  border-radius: 9px;
}

.kl-cards-slider__card--active {
  display: block;
}

.kl-cards-slider__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-color: #F3F3F3;
  padding: 16px 48px;
}

@media screen and (max-width: 360px) {
  .kl-cards-slider__header {
    display: block;
    padding: 16px 32px;
  }
}

.kl-cards-slider__image {
  margin: 0 15% 0 0;
}

.kl-cards-slider__button {
  display: flex;
}

@media screen and (max-width: 360px) {
  .kl-cards-slider__button {
    margin: 16px 0 0;
  }
}

.kl-cards-slider__content {
  padding: 16px 48px;
  background-color: rgba(255, 255, 255, 1.0);
  margin: 0 -22px;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 360px) {
  .kl-cards-slider__content {
    padding: 16px 32px;
  }
}

@media screen and (max-width: 580px) {
  .kl-cards-slider__content {
    display: block;
  }
}

.kl-cards-slider__content > div {
  margin: 0 22px;
  flex-grow: 1;
  flex-basis: 200px;
}

.kl-cards-slider__content h5 {
  color: #5f51ff;
}

.kl-cards-slider__content ul {
  padding-inline-start: 1.1em;
}
.kl-custom-anchor {
  scroll-margin-top: 82px;
}
.kl-custom-image {
  display: block;
}

.kl-custom-image img {
  display: block;
}

.kl-custom-image--center img {
  margin: 0 auto;
}

.kl-custom-image--right img {
  margin: 0 0 0 auto;
}
.kl-rich-text__preheader {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #5f51ff;
  display: block;
  margin: 0 0 .75rem;
}

.kl-rich-text img {
  max-width: 100%;
}

.kl-rich-text h1 {
  color: #000000;
}

.kl-rich-text p {
  margin: 0 0 1rem;
}

.kl-rich-text p:last-child {
  margin: 0 0 2rem;
}

.kl-rich-text__buttons {
  margin: -10px;
}

.kl-rich-text__buttons .button, .kl-rich-text__buttons .button_cta {
  margin: 10px;
}

@media screen and (max-width: 480px) {
  .kl-rich-text__buttons .button, .kl-rich-text__buttons .button_cta {
    display: block;
  }
}

.kl-rich-text__form {
  max-width: 600px;
}

.kl-rich-text--center {
  text-align: center;
  margin: 0 auto;
}

.kl-rich-text--center .kl-rich-text__form {
  max-width: 600px;
  margin: 0 auto;
}

.kl-rich-text--right {
  text-align: right;
  margin: 0 0 0 auto;
}

.kl-rich-text--right .kl-rich-text__form {
  margin: 0 0 0 auto;
}
.kl-faq {
  background: #FFFFFF;
  border: 3px solid #F3F3F3;
  border-radius: 9px;
}

.kl-faq__entry + .kl-faq__entry {
  border-top: 3px solid #F3F3F3;
}

.kl-faq__entry--active .kl-faq__icon {
  transform: rotate(90deg);
}

.kl-faq__entry--active .kl-faq__icon:before {
  opacity: 0;
}

.kl-faq__header {
  padding: 24px 42px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 480px) {
  .kl-faq__header {
    padding: 24px 16px;
  }
}

.kl-faq__header:hover {
  cursor: pointer;
}

.kl-faq__header h3 {
  margin: 0;
}

.kl-faq__icon {
  position: relative;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-left: 32px;
  transition: transform .2s ease-out;
}

.kl-faq__icon:before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-color: #000000;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity .2s ease-out;
}

.kl-faq__icon:after {
  content: '';
  display: block;
  height: 100%;
  width: 2px;
  background-color: #000000;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.kl-faq__description {
  padding: 0 42px;
  height: 0;
  transition: height .25s ease-out;
  overflow: hidden;
}

@media screen and (max-width: 480px) {
  .kl-faq__description {
    padding: 0 16px;
  }
}

.kl-faq__description .kl-faq__inner {
  margin: 0 0 2rem;
}
.kl-featured-cards__wrapper {
  display: flex;
  flex-wrap: wrap;
  margin: -12px;
}

.kl-featured-cards__column {
  flex-basis: 360px;
  flex-grow: 1;
  display: flex;
  flex-wrap: wrap;
}

.kl-featured-cards__card-wrapper {
  flex-grow: 2;
  flex-basis: 360px;
  display: flex;
  padding: 12px;
}

.kl-featured-card {
  border: 0.5px solid rgba(152, 157, 159, 0.2);
  box-shadow: 0px 11px 30px rgba(95, 81, 255, 0.2);
  border-radius: 9px;
  background-color: rgba(255, 255, 255, 1.0);
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}

.kl-featured-card__preheader {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #5f51ff;
  display: block;
  line-height: 1rem;
  margin: 0 0 .75rem;
}

.kl-featured-card__content h1, .kl-featured-card__content h2, .kl-featured-card__content h3, .kl-featured-card__content h4, .kl-featured-card__content h5, .kl-featured-card__content h6 {
  font-weight: bold;
  margin: 0 0 1rem;
}

.kl-featured-card__content p {
  margin: 0 0 2rem;
}

.kl-featured-card__body {
  padding: 32px 25px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
  flex-basis: 250px;
  flex-grow: 99;
}

.kl-featured-card__text {
  flex-grow: 1;
}

.kl-featured-card__image {
  width: 100%;
  flex-basis: 360px;
  flex-grow: 1;
}

.kl-featured-card__image a {
  display: block;
  height: 100%;
}

.kl-featured-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* body-prefixed to outrank the parent theme's .kl-footer border (parent main.css loads later via child.css @import) */
body .kl-footer {
  background-color: #fff;
  border-top: none;
}

.kl-footer h1, .kl-footer h2, .kl-footer h3, .kl-footer h4, .kl-footer h5, .kl-footer h6, .kl-footer p, .kl-footer a, .kl-footer div, .kl-footer span {
  color: #1a1a2e;
}

/* Border on the wrapper (content max-width) instead of the full-bleed footer */
.kl-footer__wrapper {
  width: 100%;
  border-top: 1px solid #e6e6e6;
  padding-top: 32px;
  padding-bottom: 32px;
}

.kl-footer__legal {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.625rem 2rem;
  font-size: 0.875rem;
}

/* !important needed: portal rich-text content has inline color/margin styles */
.kl-footer__legal > span {
  color: #1a1a2e !important;
  margin: 0 !important;
}

/* © year + "All rights reserved" stay left together; the rest are pushed right */
.kl-footer__legal > span:nth-child(2) {
  margin-right: auto !important;
}

.kl-footer__legal a {
  color: #1a1a2e !important;
}

@media screen and (max-width: 680px) {
  .kl-footer__legal {
    justify-content: center;
  }

  .kl-footer__legal > span:nth-child(2) {
    margin-right: 0 !important;
  }
}

.kl-footer__legal a:hover, .kl-footer__legal a:focus, .kl-footer__legal a:active {
  color: rgba(95, 81, 255, 1.0);
  text-decoration: none;
}

.kl-footer__byline {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 0.75rem;
  margin: -0.625rem -1.25rem;
}

@media screen and (max-width: 680px) {
  .kl-footer__byline {
    justify-content: center;
  }
}

.kl-footer__byline > span {
  margin: 0.625rem 1.25rem;
  color: rgba(255, 255, 255, 1.0);
  text-align: center;
}

.kl-footer__byline a {
  color: rgba(255, 255, 255, 1.0);
}

.kl-footer__byline a:hover, .kl-footer__byline a:focus, .kl-footer__byline a:active {
  color: #5f51ff;
  text-decoration: none;
}

.kl-footer__content {
  display: flex;
  justify-content: space-between;
  padding: 120px 0;
}

@media screen and (max-width: 1024px) {
  .kl-footer__content {
    padding: 0 0 32px !important;
  }
}

@media screen and (max-width: 680px) {
  .kl-footer__content {
    display: block;
  }
}

.kl-footer__address {
  margin: 32px 0 16px;
}

.kl-footer__address p {
  color: rgba(255, 255, 255, 1.0);
}

.kl-footer__info {
  flex-basis: 250px;
}

.kl-footer__info img {
  display: block;
  width: auto;
  height: auto;
  margin: 0;
}

.kl-footer__info p {
  font-size: 0.875em;
}

.kl-footer__social {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 -16px;
}

.kl-footer__social span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  margin: 8px 16px;
}

.kl-footer__social svg {
  display: block;
  width: 25px;
  height: 25px;
  fill: rgba(255, 255, 255, 1.0);
  transition: all .25s ease-in-out;
}

.kl-footer__social a:hover svg {
  fill: #5f51ff;
}

.kl-footer__menu {
  display: flex;
  flex-wrap: wrap;
  margin: -16px 0;
}

@media screen and (max-width: 680px) {
  .kl-footer__menu {
    margin: 16px -16px 0;
  }
}

.kl-footer__menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.kl-footer__menu h3 {
  font-size: 1.125rem;
  font-weight: bold;
  margin: 0 0 2rem;
  color: rgba(255, 255, 255, 1.0);
}

.kl-footer__menu a {
  display: block;
  font-size: 0.875em;
  font-weight: 500;
  line-height: 17px;
  color: rgba(255, 255, 255, 1.0);
  margin: 0 0 1.375em;
}

.kl-footer__menu a:hover, .kl-footer__menu a:focus, .kl-footer__menu a:active {
  color: #5f51ff;
  text-decoration: none;
}

.kl-footer__group {
  margin: 16px 42px;
}

@media screen and (max-width: 680px) {
  .kl-footer__group {
    margin: 16px;
  }
}
.kl-hero-01 {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 70vh;
  padding: 64px 0;
}

.kl-hero-01__content {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  position: relative;
  padding: 20px;
  padding-right: 50%;
}

@media screen and (min-width: 1380px) {
  .kl-hero-01__content {
    padding: 0px;
  }
}

@media screen and (max-width: 768px) {
  .kl-hero-01__content {
    padding: 20px;
  }
}

@media screen and (min-width: 1240px) {
  .kl-hero-01__content {
    padding: 0;
  }
}

.kl-hero-01__content > div {
  max-width: 430px;
}

@media screen and (max-width: 768px) {
  .kl-hero-01__content > div {
    max-width: none;
  }
}

.kl-hero-01__image {
  position: absolute;
  width: 45%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right;
  right: 0;
  transition: opacity .2s, width .5s;
}

@media screen and (max-width: 768px) {
  .kl-hero-01__image {
    opacity: .3;
    width: 100%;
  }
}
.kl-hero-02 {
  display: flex;
  padding: 64px 0;
  min-height: 50vh;
}

.kl-hero-02__content {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  display: flex;
  align-items: center;
}

@media screen and (min-width: 1380px) {
  .kl-hero-02__content {
    padding: 0px;
  }
}

@media screen and (max-width: 960px) {
  .kl-hero-02__content {
    display: block;
  }
}

.kl-hero-02__content .kl-rich-text {
  flex-basis: 300px;
  flex-grow: 1;
}

.kl-hero-02__image {
  margin-left: 32px;
  display: flex;
  flex-grow: 1;
  flex-basis: 480px;
  height: 100%;
}

@media screen and (max-width: 960px) {
  .kl-hero-02__image {
    max-width: 720px;
    margin: 32px auto 0;
    height: auto;
  }
}

.kl-hero-02__image img {
  max-width: 100%;
  display: block;
}

.kl-hero-02__image--left {
  justify-content: flex-start;
}

.kl-hero-02__image--center {
  justify-content: center;
}

.kl-hero-02__image--right {
  justify-content: flex-end;
}

.kl-hero-02__image--top {
  align-items: flex-start;
}

.kl-hero-02__image--middle {
  align-items: center;
}

.kl-hero-02__image--bottom {
  align-items: flex-end;
}
.kl-hero-03 {
  padding: 120px 0;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .kl-hero-03 {
    padding: 64px 0;
  }
}

.kl-hero-03__content {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  position: relative;
}

@media screen and (min-width: 1380px) {
  .kl-hero-03__content {
    padding: 0px;
  }
}

.kl-hero-03__content .kl-rich-text {
  max-width: 50%;
}

@media screen and (max-width: 768px) {
  .kl-hero-03__content .kl-rich-text {
    max-width: 100%;
  }
}

.kl-hero-03__image {
  position: absolute;
  left: calc(50% + 64px);
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .kl-hero-03__image {
    position: static;
    transform: none;
    margin-top: 32px;
  }
}

@media screen and (max-width: 360px) {
  .kl-hero-03__image {
    display: none;
  }
}

.kl-hero-03__image img {
  display: block;
}
.kl-logos {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .kl-logos {
    flex-wrap: wrap;
  }
}

.kl-logos--1 {
  flex-wrap: wrap;
}

.kl-logos--1 .kl-logos__item {
  flex-basis: calc(100% / 1);
}

.kl-logos--2 {
  flex-wrap: wrap;
}

.kl-logos--2 .kl-logos__item {
  flex-basis: calc(100% / 2);
}

.kl-logos--3 {
  flex-wrap: wrap;
}

.kl-logos--3 .kl-logos__item {
  flex-basis: calc(100% / 3);
}

@media screen and (max-width: 340px) {
  .kl-logos--3 .kl-logos__item {
    flex-basis: calc(100% / 2);
  }
}

.kl-logos--4 {
  flex-wrap: wrap;
}

.kl-logos--4 .kl-logos__item {
  flex-basis: calc(100% / 4);
}

@media screen and (max-width: 480px) {
  .kl-logos--4 .kl-logos__item {
    flex-basis: calc(100% / 3);
  }
}

@media screen and (max-width: 340px) {
  .kl-logos--4 .kl-logos__item {
    flex-basis: calc(100% / 2);
  }
}

.kl-logos--5 {
  flex-wrap: wrap;
}

.kl-logos--5 .kl-logos__item {
  flex-basis: calc(100% / 5);
}

@media screen and (max-width: 768px) {
  .kl-logos--5 .kl-logos__item {
    flex-basis: calc(100% / 4);
  }
}

@media screen and (max-width: 480px) {
  .kl-logos--5 .kl-logos__item {
    flex-basis: calc(100% / 3);
  }
}

@media screen and (max-width: 340px) {
  .kl-logos--5 .kl-logos__item {
    flex-basis: calc(100% / 2);
  }
}

.kl-logos--6 {
  flex-wrap: wrap;
}

.kl-logos--6 .kl-logos__item {
  flex-basis: calc(100% / 6);
}

@media screen and (max-width: 768px) {
  .kl-logos--6 .kl-logos__item {
    flex-basis: calc(100% / 4);
  }
}

@media screen and (max-width: 480px) {
  .kl-logos--6 .kl-logos__item {
    flex-basis: calc(100% / 3);
  }
}

@media screen and (max-width: 340px) {
  .kl-logos--6 .kl-logos__item {
    flex-basis: calc(100% / 2);
  }
}

.kl-logos--7 {
  flex-wrap: wrap;
}

.kl-logos--7 .kl-logos__item {
  flex-basis: calc(100% / 7);
}

@media screen and (max-width: 920px) {
  .kl-logos--7 .kl-logos__item {
    flex-basis: calc(100% / 6);
  }
}

@media screen and (max-width: 768px) {
  .kl-logos--7 .kl-logos__item {
    flex-basis: calc(100% / 4);
  }
}

@media screen and (max-width: 480px) {
  .kl-logos--7 .kl-logos__item {
    flex-basis: calc(100% / 3);
  }
}

@media screen and (max-width: 340px) {
  .kl-logos--7 .kl-logos__item {
    flex-basis: calc(100% / 2);
  }
}

.kl-logos--8 {
  flex-wrap: wrap;
}

.kl-logos--8 .kl-logos__item {
  flex-basis: calc(100% / 8);
}

@media screen and (max-width: 920px) {
  .kl-logos--8 .kl-logos__item {
    flex-basis: calc(100% / 6);
  }
}

@media screen and (max-width: 768px) {
  .kl-logos--8 .kl-logos__item {
    flex-basis: calc(100% / 4);
  }
}

@media screen and (max-width: 480px) {
  .kl-logos--8 .kl-logos__item {
    flex-basis: calc(100% / 3);
  }
}

@media screen and (max-width: 340px) {
  .kl-logos--8 .kl-logos__item {
    flex-basis: calc(100% / 2);
  }
}

.kl-logos--9 {
  flex-wrap: wrap;
}

.kl-logos--9 .kl-logos__item {
  flex-basis: calc(100% / 9);
}

@media screen and (max-width: 920px) {
  .kl-logos--9 .kl-logos__item {
    flex-basis: calc(100% / 6);
  }
}

@media screen and (max-width: 768px) {
  .kl-logos--9 .kl-logos__item {
    flex-basis: calc(100% / 4);
  }
}

@media screen and (max-width: 480px) {
  .kl-logos--9 .kl-logos__item {
    flex-basis: calc(100% / 3);
  }
}

@media screen and (max-width: 340px) {
  .kl-logos--9 .kl-logos__item {
    flex-basis: calc(100% / 2);
  }
}

.kl-logos--10 {
  flex-wrap: wrap;
}

.kl-logos--10 .kl-logos__item {
  flex-basis: calc(100% / 10);
}

@media screen and (max-width: 920px) {
  .kl-logos--10 .kl-logos__item {
    flex-basis: calc(100% / 6);
  }
}

@media screen and (max-width: 768px) {
  .kl-logos--10 .kl-logos__item {
    flex-basis: calc(100% / 4);
  }
}

@media screen and (max-width: 480px) {
  .kl-logos--10 .kl-logos__item {
    flex-basis: calc(100% / 3);
  }
}

@media screen and (max-width: 340px) {
  .kl-logos--10 .kl-logos__item {
    flex-basis: calc(100% / 2);
  }
}

.kl-logos--11 {
  flex-wrap: wrap;
}

.kl-logos--11 .kl-logos__item {
  flex-basis: calc(100% / 11);
}

@media screen and (max-width: 920px) {
  .kl-logos--11 .kl-logos__item {
    flex-basis: calc(100% / 6);
  }
}

@media screen and (max-width: 768px) {
  .kl-logos--11 .kl-logos__item {
    flex-basis: calc(100% / 4);
  }
}

@media screen and (max-width: 480px) {
  .kl-logos--11 .kl-logos__item {
    flex-basis: calc(100% / 3);
  }
}

@media screen and (max-width: 340px) {
  .kl-logos--11 .kl-logos__item {
    flex-basis: calc(100% / 2);
  }
}

.kl-logos--12 {
  flex-wrap: wrap;
}

.kl-logos--12 .kl-logos__item {
  flex-basis: calc(100% / 12);
}

@media screen and (max-width: 920px) {
  .kl-logos--12 .kl-logos__item {
    flex-basis: calc(100% / 6);
  }
}

@media screen and (max-width: 768px) {
  .kl-logos--12 .kl-logos__item {
    flex-basis: calc(100% / 4);
  }
}

@media screen and (max-width: 480px) {
  .kl-logos--12 .kl-logos__item {
    flex-basis: calc(100% / 3);
  }
}

@media screen and (max-width: 340px) {
  .kl-logos--12 .kl-logos__item {
    flex-basis: calc(100% / 2);
  }
}

.kl-logos__item {
  padding: 16px 24px;
}

.kl-logos__item a {
  display: block;
}

.kl-logos__item img {
  width: 100%;
  display: block;
}

@media screen and (max-width: 768px) {
  .kl-logos__item {
    flex-basis: 25%;
  }
}

@media screen and (max-width: 480px) {
  .kl-logos__item {
    flex-basis: 33%;
  }
}

@media screen and (max-width: 340px) {
  .kl-logos__item {
    flex-basis: 50%;
  }
}
.kl-about-modal {
  position: fixed;
  z-index: 12;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  padding: 64px 16px;
  visibility: hidden;
  overscroll-behavior: contain;
}

.kl-about-modal__overlay {
  content: '';
  background-color: black;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 12;
  opacity: 0;
  transition: all .25s ease-in-out;
  visibility: hidden;
}

.kl-about-modal__close {
  position: absolute;
  z-index: 13;
  top: 25px;
  right: 25px;
  display: block;
  background: white;
  padding: 4px;
}

@media screen and (max-width: 768px) {
  .kl-about-modal__close {
    top: 0;
    right: 0;
  }
}

.kl-about-modal__close svg {
  display: block;
}

.kl-about-modal__wrapper {
  overflow: hidden;
  position: relative;
  background: white;
  display: flex;
}

@media screen and (max-width: 768px) {
  .kl-about-modal__wrapper {
    display: block;
  }
}

.kl-about-modal__container {
  max-width: 980px;
  width: 100%;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  z-index: 13;
  transition: top .25s ease-in-out;
  visibility: hidden;
  opacity: 0;
}

.kl-about-modal:target {
  visibility: visible;
}

.kl-about-modal:target .kl-about-modal__overlay {
  opacity: .5;
  visibility: visible;
}

.kl-about-modal:target .kl-about-modal__container {
  visibility: visible;
  opacity: 1;
}

.kl-about-modal__image {
  width: 330px;
}

@media screen and (max-width: 768px) {
  .kl-about-modal__image {
    width: 100%;
  }
}

.kl-about-modal__image img {
  max-width: 100%;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .kl-about-modal__image img {
    object-fit: unset;
  }
}

.kl-about-modal__content {
  padding: 42px 50px;
  flex-basis: 650px;
}

.kl-about-modal__header {
  margin: 0 0 30px;
}

.kl-about-modal__header h1, .kl-about-modal__header h2, .kl-about-modal__header h3, .kl-about-modal__header h4, .kl-about-modal__header h5, .kl-about-modal__header h6 {
  margin: 0 0 10px;
  font-weight: bold;
}

.kl-about-modal__header h4 {
  color: #5f51ff;
}

.kl-about-modal__social {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 -8px;
}

.kl-about-modal__social span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
  height: 25px;
  margin: 8px;
}

.kl-about-modal__social svg {
  display: block;
  width: 25px;
  height: 25px;
  fill: #000000;
  transition: all .25s ease-in-out;
}

.kl-about-modal__social a:hover svg {
  fill: #5f51ff;
  /*fill: $secondary-color;*/
}
.kl-offer-modal {
  position: fixed;
  z-index: 12;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  padding: 64px 16px;
  visibility: hidden;
  overscroll-behavior: contain;
}

.kl-offer-modal__overlay {
  content: '';
  background-color: black;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 12;
  opacity: 0;
  transition: all .25s ease-in-out;
  visibility: hidden;
}

.kl-offer-modal__close {
  position: absolute;
  z-index: 13;
  top: 25px;
  right: 25px;
  display: block;
  background: white;
  padding: 4px;
}

@media screen and (max-width: 768px) {
  .kl-offer-modal__close {
    top: 0;
    right: 0;
  }
}

.kl-offer-modal__close svg {
  display: block;
}

.kl-offer-modal__wrapper {
  overflow: hidden;
  position: relative;
  background: white;
  display: flex;
}

@media screen and (max-width: 768px) {
  .kl-offer-modal__wrapper {
    display: block;
  }
}

.kl-offer-modal__container {
  max-width: 980px;
  width: 100%;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  z-index: 13;
  transition: top .25s ease-in-out;
  visibility: hidden;
  opacity: 0;
}

.kl-offer-modal:target {
  visibility: visible;
}

.kl-offer-modal:target .kl-offer-modal__overlay {
  opacity: .5;
  visibility: visible;
}

.kl-offer-modal:target .kl-offer-modal__container {
  visibility: visible;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .kl-offer-modal__close {
    top: 8px;
    right: 8px;
  }
}

.kl-offer-modal__wrapper {
  padding: 48px 64px;
}

@media screen and (max-width: 480px) {
  .kl-offer-modal__wrapper {
    padding: 32px;
  }
}

.kl-offer-modal__wrapper--center {
  align-items: center;
}

.kl-offer-modal__wrapper--bottom {
  align-items: flex-end;
}

.kl-offer-modal__content {
  flex-basis: 400px;
  flex-grow: 1;
}

.kl-offer-modal__form {
  margin-left: 36px;
  flex-basis: 50%;
  flex-grow: 1;
}

@media screen and (max-width: 768px) {
  .kl-offer-modal__form {
    margin: 36px 0 0;
  }
}
.kl-header {
  z-index: 12;
  width: 100%;
  background-color: rgba(255, 255, 255, 1.0);
}

/* header.kl-header out-ranks the parent theme's equal-specificity rules
   (parent main.css loads after css/main.css via child.css).
   position: relative keeps the header in flow (not fixed/sticky) and
   anchors the absolute dropdown panel below. */
header.kl-header {
  box-shadow: none;
  position: relative;
}

/* No fixed header, so no spacer is needed. */
div.kl-header-placeholder {
  display: none;
}

.kl-navbar {
  display: flex;
  align-items: center;
}

header.kl-header .kl-navbar {
  height: 72px;
}

@media screen and (max-width: 920px) {
  .kl-navbar {
    justify-content: space-between;
  }
  /* Must beat header.kl-header .kl-navbar__content hidden-state rule below. */
  header.kl-header .kl-navbar--active .kl-navbar__content {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
  }
}

.kl-navbar__logo {
  width: auto;
  height: 40px;
  display: block;
  margin-right: 42px;
}

.kl-navbar__mobile {
  display: flex;
}

.kl-navbar__mobile .hs_cos_wrapper_type_language_switcher {
  display: none;
}

@media screen and (max-width: 920px) {
  .kl-navbar__mobile .hs_cos_wrapper_type_language_switcher {
    display: block;
  }
}

.kl-navbar__mobile .hs_cos_wrapper_type_language_switcher + .kl-navbar__hamburger {
  margin-left: 32px;
}

.kl-navbar__content {
  flex: 1 1 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

@media screen and (max-width: 920px) {
  header.kl-header .kl-navbar__content {
    background-color: rgba(255, 255, 255, 1.0);
    position: fixed;
    width: 100%;
    height: calc(100% - 72px);
    left: 0;
    bottom: 0;
    padding: 8px 24px calc(28px + env(safe-area-inset-bottom, 0px));
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    visibility: hidden;
    opacity: 0;
    transform: translateY(8px);
    transition: transform .25s ease-in-out, opacity .25s ease-in-out;
  }
}

.kl-navbar__menu {
  list-style: none;
  display: flex;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 920px) {
  header.kl-header .kl-navbar__menu {
    display: block;
    margin: 8px 0 0;
    width: 100%;
    border-top: 1px solid rgba(152, 157, 159, 0.2);
  }
  /* Full-width list rows, hairline-separated */
  header.kl-header .kl-navbar__item {
    margin: 0;
    border-bottom: 1px solid rgba(152, 157, 159, 0.2);
  }
}

.kl-navbar__item {
  position: relative;
  margin: 0 32px;
}

.kl-navbar__item--active .kl-navbar__panel {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

@media screen and (max-width: 920px) {
  .kl-navbar__item--active .kl-navbar__panel {
    max-height: 100vh;
  }
}

.kl-navbar__item--active .kl-navbar__button {
  color: #5f51ff;
}

.kl-navbar__item--active .kl-navbar__button > span:after {
  visibility: visible;
  width: 100%;
}

@media screen and (max-width: 1024px) {
  .kl-navbar__item {
    margin: 0 16px;
  }
}

.kl-navbar__button {
  font-weight: bold;
  font-size: 12px;
  font-family: 'DM Sans', sans-serif;
  line-height: 2em;
  word-break: normal;
  color: #000000;
  display: inline-block;
}

@media screen and (max-width: 920px) {
  header.kl-header .kl-navbar__button {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 16px 2px;
    font-size: 1.5rem;
    line-height: 1.1;
  }
  /* External-link icon for leaf links; parents keep their existing chevron */
  header.kl-header .kl-navbar__item:not(.kl-navbar__parent) .kl-navbar__button::after {
    content: '';
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    margin-left: auto;
    flex-shrink: 0;
    background-color: #989d9f;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") center / contain no-repeat;
    transform: translate(0, 0);
    transition: transform .25s cubic-bezier(.2, .7, .2, 1), background-color .2s ease;
  }
  header.kl-header .kl-navbar__parent > .kl-navbar__button::after {
    margin-left: auto;
    align-self: center;
  }
  /* Row-level tap/keyboard feedback (no :hover — sticky on touch) */
  header.kl-header .kl-navbar__item:not(.kl-navbar__parent) .kl-navbar__button:focus::after,
  header.kl-header .kl-navbar__item:not(.kl-navbar__parent) .kl-navbar__button:active::after {
    background-color: #5f51ff;
    transform: translate(3px, -3px);
  }
  /* Neutralize global :hover rules below — they stick after tap on touch */
  header.kl-header .kl-navbar__button:hover {
    color: #000000;
  }
  header.kl-header .kl-navbar__button:hover > span:after {
    visibility: hidden;
    width: 0;
  }
  header.kl-header .kl-navbar__item:not(.kl-navbar__parent) .kl-navbar__button:hover::after {
    background-color: #989d9f;
    transform: translate(0, 0);
  }
  header.kl-header .kl-navbar-submenu__item a:hover {
    color: #000000;
  }
}

.kl-navbar__button > span {
  position: relative;
  display: inline-block;
  padding: 8px 0;
}

.kl-navbar__button > span:after {
  content: '';
  width: 0px;
  height: 2px;
  background-color: #5f51ff;
  position: absolute;
  left: 0;
  bottom: 2px;
  visibility: hidden;
  transition: width .2s ease-in-out;
}

.kl-navbar__button:hover, .kl-navbar__button:focus, .kl-navbar__button:active, .kl-navbar__button--active {
  text-decoration: none;
  color: #5f51ff;
}

.kl-navbar__button:hover > span:after, .kl-navbar__button:focus > span:after, .kl-navbar__button:active > span:after, .kl-navbar__button--active > span:after {
  visibility: visible;
  width: 100%;
}

.kl-navbar__end {
  display: flex;
  align-items: center;
}

/* Navbar CTA (e.g. Subscribe): square corners, no hover motion or color shift */
.kl-navbar__end .button {
  border-radius: 0;
  transition: none;
}

.kl-navbar__end .button:hover,
.kl-navbar__end .button:focus,
.kl-navbar__end .button:active {
  transform: none;
  background-color: rgba(95, 81, 255, 1.0);
  border-color: rgba(95, 81, 255, 1);
  color: rgba(255, 255, 255, 1);
}

.kl-navbar__end > span + a {
  margin-left: 25px;
}

@media screen and (max-width: 920px) {
  .kl-navbar__end > span + a {
    margin-left: 0;
  }
}

.kl-navbar__end > a + a, .kl-navbar__end > a:not(:first-child) {
  margin-left: 25px;
}

/* Mobile: anchor the CTA in the bottom thumb-zone as a full-width primary action */
@media screen and (max-width: 920px) {
  header.kl-header .kl-navbar__end {
    margin-top: auto;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    padding-top: 28px;
  }
  header.kl-header .kl-navbar__end .button {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 24px;
    font-size: 1rem;
    letter-spacing: 0.08em;
  }
}

@media screen and (max-width: 920px) {
  .kl-navbar__end .hs_cos_wrapper_type_language_switcher {
    display: none;
  }
}

.kl-navbar__end > .button_cta:not(:first-child) {
  margin-left: 25px;
}

.kl-navbar__panel {
  background-color: rgba(255, 255, 255, 1.0);
  visibility: hidden;
  opacity: 0;
  transform: translateY(8px);
  transition: all .25s ease-in-out;
  position: fixed;
  left: 0;
  width: 100%;
}

/* Anchor the panel to the in-flow header (position: relative above),
   not the viewport, since the header is no longer fixed. */
header.kl-header .kl-navbar__panel {
  position: absolute;
  top: 72px;
}

@media screen and (max-width: 920px) {
  .kl-navbar__panel {
    position: static;
    max-height: 0;
    overflow: hidden;
  }
}

.kl-navbar__panel-wrapper {
  display: flex;
  flex-wrap: wrap;
  max-width: 960px;
  margin: 0 auto;
  padding: 32px 0;
  justify-content: space-between;
}

.kl-navbar__panel-wrapper > div {
  flex-basis: none;
}

.kl-navbar__categories {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-basis: 650px;
  flex-grow: 1;
  flex-shrink: 1;
}

@media screen and (max-width: 920px) {
  .kl-navbar__categories p {
    display: none;
  }
}

.kl-navbar__description {
  flex-basis: 250px;
  margin: 0 16px;
  color: #000000;
}

@media screen and (max-width: 920px) {
  .kl-navbar__description {
    margin: 0;
    flex-basis: 50%;
  }
}

@media screen and (max-width: 920px) {
  .kl-navbar__description--full {
    flex-basis: auto;
  }
}

.kl-navbar__description h1, .kl-navbar__description h2, .kl-navbar__description h3, .kl-navbar__description h4, .kl-navbar__description h5, .kl-navbar__description h6 {
  color: inherit;
}

.kl-navbar__description h2 {
  font-size: 1.125rem;
  font-weight: bold;
  margin: 0 0 .5rem;
}

.kl-navbar__description h3 {
  font-size: 0.875rem;
  font-weight: bold;
  margin: 0 0 .5rem;
}

.kl-navbar__description p {
  font-size: 0.875rem;
  margin: 0 0 1.75rem;
}

.kl-navbar__description a {
  color: #000000;
}

.kl-navbar__description a:hover, .kl-navbar__description a:focus {
  text-decoration: none;
  color: #5f51ff;
}

.kl-navbar .hamburger {
  display: none;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  min-width: auto;
}

@media screen and (max-width: 920px) {
  .kl-navbar .hamburger {
    display: block;
  }
}

.kl-navbar .hamburger:focus {
  outline: none;
}

.kl-navbar .hamburger-box {
  width: 24px;
  height: 19px;
  display: inline-block;
  position: relative;
}

.kl-navbar .hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1.5px;
}

.kl-navbar .hamburger-inner, .kl-navbar .hamburger-inner::before, .kl-navbar .hamburger-inner::after {
  width: 24px;
  height: 3px;
  background-color: #000000;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.kl-navbar .hamburger-inner::before, .kl-navbar .hamburger-inner::after {
  content: "";
  display: block;
}

.kl-navbar .hamburger-inner::before {
  top: -8px;
}

.kl-navbar .hamburger-inner::after {
  bottom: -8px;
}

.kl-navbar .hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.kl-navbar .hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}

.kl-navbar .hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.kl-navbar .hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.kl-navbar .hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}

.kl-navbar .hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* Navbar submenu */
.kl-navbar-submenu-wrapper {
  position: absolute;
  left: -24px;
  visibility: hidden;
}

@media screen and (max-width: 920px) {
  .kl-navbar-submenu-wrapper {
    position: static;
    visibility: visible;
    display: none;
  }
}

.kl-navbar__item:hover > .kl-navbar-submenu-wrapper {
  visibility: visible;
}

.kl-navbar-submenu {
  background-color: rgba(255, 255, 255, 1.0);
  box-shadow: 0px 5px 10px rgba(154, 161, 177, 0.1);
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
  width: 160px;
}

@media screen and (max-width: 920px) {
  .kl-navbar-submenu {
    box-shadow: none;
    margin: 12px 0;
    width: auto;
  }
}

.kl-navbar-submenu .kl-navbar-submenu {
  position: absolute;
  top: 0px;
  left: 100%;
  transform: translateX(0);
  margin: 0;
  visibility: hidden;
}

@media screen and (max-width: 920px) {
  .kl-navbar-submenu .kl-navbar-submenu {
    position: static;
    visibility: visible;
    display: none;
    margin-left: 20px;
  }
}

.kl-navbar-submenu__item {
  position: relative;
}

.kl-navbar-submenu__item:hover > .kl-navbar-submenu {
  visibility: visible;
}

.kl-navbar-submenu__item a {
  display: block;
  padding: 12px 24px;
  font-weight: bold;
  font-size: 12px;
  font-family: 'DM Sans', sans-serif;
  line-height: 1rem;
  word-break: normal;
  color: #000000;
}

.kl-navbar-submenu__item a:hover, .kl-navbar-submenu__item a:focus {
  color: #5f51ff;
  text-decoration: none;
}

@media screen and (max-width: 920px) {
  .kl-navbar-submenu__item a {
    padding: 12px 0;
  }
}

.kl-navbar__parent {
  cursor: pointer;
}

@media screen and (min-width: 920px) {
  .kl-navbar__parent:hover > a:after {
    transform: rotate(225deg);
  }
}

.kl-navbar__parent > a {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 920px) {
  .kl-navbar__parent > a {
    pointer-events: none;
  }
}

.kl-navbar__parent > a:after {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  margin-left: 16px;
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  transform: rotate(45deg);
  transform-origin: 3px 3px;
  transition: transform .25s ease-in-out;
}

.kl-navbar__parent--active > .kl-navbar-submenu-wrapper,
.kl-navbar__parent--active > .kl-navbar-submenu {
  display: block;
}

.kl-navbar__parent--active > a:after {
  transform: rotate(225deg);
}

.kl-navbar__parent--active > a {
  color: #5f51ff;
}

.kl-navbar__parent--active > a > span:after {
  visibility: visible;
  width: 100%;
}

/* Mobile menu — staggered slide-up entrance when the panel opens */
@keyframes klNavItemIn {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media screen and (max-width: 920px) {
  header.kl-header .kl-navbar--active .kl-navbar__item,
  header.kl-header .kl-navbar--active .kl-navbar__end {
    animation: klNavItemIn .45s cubic-bezier(.2, .7, .2, 1) backwards;
  }
  header.kl-header .kl-navbar--active .kl-navbar__item:nth-child(1) { animation-delay: .05s; }
  header.kl-header .kl-navbar--active .kl-navbar__item:nth-child(2) { animation-delay: .11s; }
  header.kl-header .kl-navbar--active .kl-navbar__item:nth-child(3) { animation-delay: .17s; }
  header.kl-header .kl-navbar--active .kl-navbar__item:nth-child(4) { animation-delay: .23s; }
  header.kl-header .kl-navbar--active .kl-navbar__item:nth-child(5) { animation-delay: .29s; }
  header.kl-header .kl-navbar--active .kl-navbar__item:nth-child(6) { animation-delay: .35s; }
  header.kl-header .kl-navbar--active .kl-navbar__end { animation-delay: .4s; }
}

@media (prefers-reduced-motion: reduce) {
  header.kl-header .kl-navbar--active .kl-navbar__item,
  header.kl-header .kl-navbar--active .kl-navbar__end {
    animation: none;
  }
}
.kl-offer-01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  padding: 32px 36px 0;
  border: 1px solid rgba(152, 157, 159, 0.2);
  border-radius: 9px;
  background-color: rgba(255, 255, 255, 1.0);
  box-shadow: 0px 11px 30px rgba(95, 81, 255, 0.1);
}

.kl-offer-01__content {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  flex-basis: 320px;
  flex-grow: 1;
  margin-bottom: 32px;
}

.kl-offer-01__preheader {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #5f51ff;
  display: block;
  margin: 0 0 1rem;
}

.kl-offer-01__text {
  flex-basis: 420px;
  flex-grow: 1;
  margin-right: 50px;
}

@media screen and (max-width: 480px) {
  .kl-offer-01__text {
    margin: 0;
  }
}

.kl-offer-01__text h1, .kl-offer-01__text h2, .kl-offer-01__text h3, .kl-offer-01__text h4, .kl-offer-01__text h5, .kl-offer-01__text h6 {
  margin: 0 0 1.125rem;
}

.kl-offer-01__button {
  flex-shrink: 0;
}

.kl-offer-01__image {
  flex-basis: 260px;
  margin: 0 auto;
  padding-right: 20px;
}

@media screen and (max-width: 480px) {
  .kl-offer-01__image {
    padding: 0;
  }
}

.kl-offer-01__image img {
  display: block;
  width: 100%;
  max-width: 420px;
}
.kl-pricing {
  display: flex;
  align-items: flex-start;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .kl-pricing {
    display: block;
  }
}

.kl-pricing__card {
  position: relative;
  padding: 36px 32px;
  border: 0.5px solid rgba(152, 157, 159, 0.2);
  box-shadow: 0px 11px 30px rgba(95, 81, 255, 0.1);
  background-color: rgba(255, 255, 255, 1.0);
  border-radius: 9px;
  flex-basis: 346px;
  flex-grow: 1;
  transition: box-shadow .25s ease-in-out;
}

.kl-pricing__card--featured {
  box-shadow: 0px 11px 30px rgba(95, 81, 255, 0.2);
}

.kl-pricing__card:hover {
  box-shadow: 0px 11px 30px rgba(95, 81, 255, 0.2);
}

.kl-pricing__card + .kl-pricing__card {
  margin-left: 72px;
}

@media screen and (max-width: 1024px) {
  .kl-pricing__card + .kl-pricing__card {
    margin-left: 16px;
  }
}

@media screen and (max-width: 768px) {
  .kl-pricing__card + .kl-pricing__card {
    margin: 24px 0 0;
  }
}

.kl-pricing__badge {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.625rem;
  font-weight: bold;
  line-height: 1;
  min-width: 120px;
  padding: 10px 12px;
  border-radius: 40px;
  background-color: #EBF1FF;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.kl-pricing__icon {
  height: 28px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0 0 1.5rem;
}

.kl-pricing__icon img {
  max-height: 100%;
  display: block;
}

.kl-pricing__price {
  color: #5f51ff;
}

.kl-pricing__price h1, .kl-pricing__price h2, .kl-pricing__price h3, .kl-pricing__price h4, .kl-pricing__price h5, .kl-pricing__price h6 {
  color: inherit;
}

.kl-pricing__description p {
  font-size: 0.875rem;
  margin: 0 0 0.75rem;
}

.kl-pricing__features {
  text-align: left;
  list-style: none;
  margin: 0 0 2.625rem;
  padding: 0;
}

.kl-pricing__features li {
  font-size: 0.875rem;
  margin: 0 0 1rem;
  display: flex;
}

.kl-pricing__bullet {
  display: block;
  width: 1rem;
  height: 1rem;
  margin: 2px 0.75rem 0 0;
  flex-shrink: 0;
}

.kl-pricing__bullet img {
  display: block;
}

.kl-pricing__button .button_cta {
  width: 100%;
}

.kl-pricing__button .button_cta a {
  padding-left: 0;
  padding-right: 0;
}

.kl-pricing__button a {
  width: 100%;
}

.kl-pricing hr {
  margin: 1.75rem 0;
  color: #F3F3F3;
  background-color: #F3F3F3;
  height: 2px;
}
.kl-pricing-table {
  overflow-x: auto;
}

.kl-pricing-table > table {
  border: none;
  margin: 0;
  background: transparent;
  table-layout: fixed;
  height: 100%;
  width: 100%;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table > table {
    width: 100%;
  }
}

.kl-pricing-table__features {
  position: relative;
  width: 250px;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table__features {
    width: 50%;
  }
}

.kl-pricing-table__plans {
  text-align: left;
  padding: 32px;
}

.kl-pricing-table__plans .button {
  width: 100%;
}

.kl-pricing-table__plans h3 {
  font-size: 18px;
}

.kl-pricing-table__plans h4, .kl-pricing-table__plans h5 {
  font-weight: bold;
  color: #5f51ff;
}

.kl-pricing-table__plans > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.kl-pricing-table th, .kl-pricing-table td {
  vertical-align: middle;
  border: none;
}

.kl-pricing-table th {
  font-weight: normal;
  background: transparent;
  text-align: left;
}

.kl-pricing-table th p {
  color: #000000;
}

.kl-pricing-table th.kl-pricing-table__featured {
  background: #5f51ff;
  color: white;
  border-top-left-radius: 9px;
  border-top-right-radius: 9px;
}

.kl-pricing-table th.kl-pricing-table__featured h1, .kl-pricing-table th.kl-pricing-table__featured h2, .kl-pricing-table th.kl-pricing-table__featured h3, .kl-pricing-table th.kl-pricing-table__featured h4, .kl-pricing-table th.kl-pricing-table__featured h5, .kl-pricing-table th.kl-pricing-table__featured p {
  color: white;
}

.kl-pricing-table th.kl-pricing-table__featured .button {
  border-color: white;
  color: white;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table thead .kl-pricing-table__features {
    display: none;
  }
}

.kl-pricing-table tbody tr:first-child .kl-pricing-table__features {
  border-top-left-radius: 9px;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table tbody tr:first-child .kl-pricing-table__features {
    border-top-left-radius: 0;
  }
}

.kl-pricing-table tbody tr:first-child td:before {
  content: '';
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  top: 0;
  right: 0;
  background: #E0E9FF;
}

.kl-pricing-table tbody tr:first-child .kl-pricing-table__featured:before {
  display: none;
}

.kl-pricing-table tbody tr:last-child .kl-pricing-table__featured {
  border-bottom-left-radius: 9px;
  border-bottom-right-radius: 9px;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table tbody tr:last-child .kl-pricing-table__featured {
    border-bottom-left-radius: 0;
  }
}

.kl-pricing-table tbody tr:last-child .kl-pricing-table__features {
  border-bottom-left-radius: 9px;
}

.kl-pricing-table tbody tr + tr .kl-pricing-table__features:after {
  content: '';
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  top: 0;
  right: 0;
  background: #E0E9FF;
}

.kl-pricing-table tbody .kl-pricing-table__features {
  position: relative;
  background: #5f51ff;
  color: white;
  padding: 12px 38px 12px 32px;
}

.kl-pricing-table td {
  position: relative;
  text-align: center;
  vertical-align: middle;
  padding: 12px 16px;
}

.kl-pricing-table td img {
  display: block;
  margin: 0 auto;
}

.kl-pricing-table td:after {
  content: '';
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  bottom: 0;
  right: 0;
  background: #E0E9FF;
  z-index: -1;
}

.kl-pricing-table td.kl-pricing-table__featured {
  background: #5f51ff;
  color: white;
}

.kl-pricing-table td.kl-pricing-table__featured h3, .kl-pricing-table td.kl-pricing-table__featured h4, .kl-pricing-table td.kl-pricing-table__featured h5, .kl-pricing-table td.kl-pricing-table__featured p {
  color: white;
}

.kl-pricing-table td.kl-pricing-table__featured:after, .kl-pricing-table td.kl-pricing-table__featured:before {
  display: none;
}

.kl-pricing-table__navbar {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
  border-radius: 3px;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table__navbar {
    display: flex;
  }
}

@media screen and (max-width: 480px) {
  .kl-pricing-table__navbar {
    display: block;
  }
}

.kl-pricing-table__navbar .kl-pricing-table__featured {
  background: #5f51ff;
  border: none;
}

.kl-pricing-table__navbar .kl-pricing-table__featured h1, .kl-pricing-table__navbar .kl-pricing-table__featured h2, .kl-pricing-table__navbar .kl-pricing-table__featured h3, .kl-pricing-table__navbar .kl-pricing-table__featured h4, .kl-pricing-table__navbar .kl-pricing-table__featured h5, .kl-pricing-table__navbar .kl-pricing-table__featured p {
  color: white;
}

.kl-pricing-table__navbar .kl-pricing-table__featured:hover {
  background: #5f51ff;
}

.kl-pricing-table__tab {
  flex-basis: 200px;
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 24px;
  border: 1px solid #e0e9ff;
}

.kl-pricing-table__tab h1, .kl-pricing-table__tab h2, .kl-pricing-table__tab h3, .kl-pricing-table__tab h4, .kl-pricing-table__tab h5, .kl-pricing-table__tab h6, .kl-pricing-table__tab p {
  margin: 0;
}

.kl-pricing-table__tab:hover {
  background: #e0e9ff;
  transition: background .25s ease-in-out;
  cursor: pointer;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table__hide {
    display: none;
  }
}

.kl-pricing-table__tooltip {
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' focusable='false' data-prefix='fal' data-icon='info-circle' role='img' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='white' d='M256 40c118.621 0 216 96.075 216 216 0 119.291-96.61 216-216 216-119.244 0-216-96.562-216-216 0-119.203 96.602-216 216-216m0-32C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm-36 344h12V232h-12c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h48c6.627 0 12 5.373 12 12v140h12c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12h-72c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12zm36-240c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z'%3E%3C/path%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  height: 20px;
  width: 20px;
  position: absolute;
  right: 12px;
  top: 15px;
}
.kl-pricing-table-02 {
  overflow-x: auto;
}

.kl-pricing-table-02 > table {
  border: none;
  margin: 0;
  background: transparent;
  table-layout: fixed;
  height: 100%;
  width: 100%;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table-02 > table {
    width: 100%;
  }
}

.kl-pricing-table-02__features {
  width: 250px;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table-02__features {
    width: 50%;
  }
}

.kl-pricing-table-02__plans {
  text-align: left;
  padding: 32px;
}

.kl-pricing-table-02__plans .button {
  width: 100%;
}

.kl-pricing-table-02__plans h3 {
  font-size: 18px;
}

.kl-pricing-table-02__plans h4, .kl-pricing-table-02__plans h5 {
  font-weight: bold;
  color: #5f51ff;
}

.kl-pricing-table-02__plans > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.kl-pricing-table-02 th, .kl-pricing-table-02 td {
  vertical-align: middle;
  border: 1px solid #5f51ff;
}

.kl-pricing-table-02 th {
  font-weight: normal;
  background: transparent;
  text-align: center;
}

.kl-pricing-table-02 th p {
  color: #000000;
}

.kl-pricing-table-02 thead .kl-pricing-table-02__features {
  border-top: none;
  border-left: none;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table-02 thead .kl-pricing-table-02__features {
    display: none;
  }
}

.kl-pricing-table-02 tbody .kl-pricing-table-02__features {
  position: relative;
  padding: 20px 20px 20px 32px;
}

.kl-pricing-table-02 td {
  position: relative;
  text-align: center;
  vertical-align: middle;
  padding: 12px 12px;
}

.kl-pricing-table-02 td img {
  display: block;
  margin: 0 auto;
}

.kl-pricing-table-02__navbar {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #5f51ff;
  border-left: 1px solid #5f51ff;
  border-right: 1px solid #5f51ff;
}

@media screen and (max-width: 920px) {
  .kl-pricing-table-02__navbar {
    display: flex;
  }
}

@media screen and (max-width: 480px) {
  .kl-pricing-table-02__navbar {
    display: block;
  }
}

.kl-pricing-table-02__tab {
  flex-basis: 200px;
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 24px;
}

.kl-pricing-table-02__tab h1, .kl-pricing-table-02__tab h2, .kl-pricing-table-02__tab h3, .kl-pricing-table-02__tab h4, .kl-pricing-table-02__tab h5, .kl-pricing-table-02__tab h6, .kl-pricing-table-02__tab p {
  margin: 0;
}

.kl-pricing-table-02__tab:hover {
  cursor: pointer;
}

.kl-pricing-table-02__tab--active {
  background-color: #5f51ff;
  color: white;
}

.kl-pricing-table-02__tab--active h1, .kl-pricing-table-02__tab--active h2, .kl-pricing-table-02__tab--active h3, .kl-pricing-table-02__tab--active h4, .kl-pricing-table-02__tab--active h5, .kl-pricing-table-02__tab--active p {
  color: inherit;
}

.kl-pricing-table-02__tab + .kl-pricing-table-02__tab {
  border-left: 1px solid #5f51ff;
}

@media screen and (max-width: 480px) {
  .kl-pricing-table-02__tab + .kl-pricing-table-02__tab {
    border-left: none;
    border-top: 1px solid #5f51ff;
  }
}

@media screen and (max-width: 920px) {
  .kl-pricing-table-02__hide {
    display: none;
  }
}

.kl-pricing-table-02__highlight {
  background: #F2F5FB;
}

.kl-pricing-table-02__highlight th {
  font-weight: bold;
}
.kl-features-01 {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .kl-features-01 {
    display: block;
  }
}

.kl-features-01__card {
  flex-basis: 225px;
  flex-grow: 1;
}

.kl-features-01__card h4 {
  margin: 0 0 1rem;
}

.kl-features-01__card p {
  font-weight: 500;
}

.kl-features-01__card + .kl-features-01__card {
  margin-left: 64px;
}

@media screen and (max-width: 768px) {
  .kl-features-01__card + .kl-features-01__card {
    margin: 32px 0 0;
  }
}

.kl-features-01__image {
  min-height: 50px;
  margin: 0 0 24px;
  display: flex;
  align-items: center;
}

.kl-features-01__image img {
  display: block;
  width: auto;
  max-height: 50px;
  margin: 0;
}

.kl-features-01__image > span {
  display: block;
}

.kl-features-01__image svg {
  max-height: 50px;
  width: 50px;
  fill: #5f51ff;
}
.kl-features-02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 -16px;
}

@media screen and (max-width: 530px) {
  .kl-features-02 {
    display: block;
  }
}

.kl-features-02-wrapper {
  overflow: hidden;
}

.kl-features-02__card {
  flex-basis: 225px;
  flex-grow: 1;
  margin: 16px;
  display: block;
}

.kl-features-02__card h4 {
  margin: 0;
  display: inline;
  vertical-align: top;
}

.kl-features-02__card p {
  font-weight: 500;
  margin: 1rem 0 0;
}

.kl-features-02__card-header {
  display: flex;
}

.kl-features-02__image {
  min-height: 24px;
  margin: 0 16px 0 0;
  display: inline-block;
}

.kl-features-02__image img {
  display: block;
  width: auto;
  max-height: 24px;
}

.kl-features-02__image > span {
  display: block;
}

.kl-features-02__image svg {
  max-height: 24px;
  width: 24px;
  fill: #5f51ff;
}
.kl-features-03__titles li.active h4, .kl-features-03__titles li h4:hover, .kl-features-03__titles li h4:focus {
  cursor: pointer;
  color: #5f51ff;
}

.kl-features-03__titles {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .kl-features-03__titles {
    display: block;
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  .kl-features-03__titles li {
    background-color: #f3f3f3;
    text-align: center;
  }
  .kl-features-03__titles li + li {
    border-top: 1px solid #dadada;
  }
}

.kl-features-03__titles li.active h4:after {
  visibility: visible;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .kl-features-03__titles li.active h4:after {
    visibility: hidden;
  }
}

.kl-features-03__titles li h4 {
  position: relative;
  display: inline-block;
  padding: 8px 0;
  margin: 0;
}

.kl-features-03__titles li h4:after {
  content: '';
  width: 0px;
  height: 2px;
  background-color: #5f51ff;
  position: absolute;
  left: 0;
  bottom: 2px;
  visibility: hidden;
  transition: width .2s ease-in-out;
}

.kl-features-03__section {
  background-color: #F3F3F3;
  display: none;
}

.kl-features-03__section.active {
  display: flex;
  flex-wrap: wrap;
}

.kl-features-03__image {
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  flex-basis: 360px;
  flex-grow: 1;
  display: flex;
}

.kl-features-03__image--left {
  justify-content: flex-start;
}

.kl-features-03__image--center {
  justify-content: center;
}

.kl-features-03__image--right {
  justify-content: flex-end;
}

.kl-features-03__image--top {
  align-items: flex-start;
}

.kl-features-03__image--middle {
  align-items: center;
}

.kl-features-03__image--bottom {
  align-items: flex-end;
}

.kl-features-03__image--cover {
  align-items: unset;
}

.kl-features-03__image--cover img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: cover;
}

.kl-features-03__image--contain img {
  object-fit: contain;
}

.kl-features-03__content {
  padding: 54px 78px;
  flex-basis: 400px;
  flex-grow: 3;
}

@media screen and (max-width: 580px) {
  .kl-features-03__content {
    padding: 30px;
  }
}

.kl-features-03__text h3 {
  margin: 0 0 28px;
  max-width: 480px;
}

.kl-features-03__text p {
  margin: 0 0 64px;
  max-width: 600px;
}

.kl-features-03__buttons {
  display: flex;
  align-items: center;
}

.kl-features-03__primary-cta {
  margin: 0 35px 0 0;
}
.kl-card {
  border: 0.5px solid rgba(152, 157, 159, 0.2);
  box-shadow: 0px 11px 30px rgba(95, 81, 255, 0.2);
  border-radius: 9px;
  background-color: rgba(255, 255, 255, 1.0);
  width: 100%;
  padding: 32px 25px;
  background-color: rgba(255, 255, 255, 1.0);
}

.kl-card__preheader {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #5f51ff;
  display: block;
  line-height: 1rem;
  margin: 0 0 .75rem;
}

.kl-card__content h1, .kl-card__content h2, .kl-card__content h3, .kl-card__content h4, .kl-card__content h5, .kl-card__content h6 {
  font-weight: bold;
  margin: 0 0 1rem;
}

.kl-card__content p {
  margin: 0 0 2rem;
}

.kl-card__image {
  margin: 0 0 1.75rem;
}

.kl-card__form {
  max-width: 600px;
}
.kl-testimonials {
  display: flex;
}

@media screen and (max-width: 920px) {
  .kl-testimonials {
    display: block;
  }
}

.kl-testimonial {
  padding: 18px 25px 25px;
  border: 0.5px solid rgba(152, 157, 159, 0.2);
  box-shadow: 0px 11px 30px rgba(95, 81, 255, 0.2);
  border-radius: 9px;
  background-color: rgba(255, 255, 255, 1.0);
  flex-grow: 1;
  flex-basis: 300px;
}

.kl-testimonial + .kl-testimonial {
  margin-left: 64px;
}

@media screen and (max-width: 1024px) {
  .kl-testimonial + .kl-testimonial {
    margin-left: 16px;
  }
}

@media screen and (max-width: 920px) {
  .kl-testimonial + .kl-testimonial {
    margin: 16px 0 0;
  }
}

.kl-testimonial__quote {
  margin: 0 0 25px;
}

.kl-testimonial__quote svg {
  fill: #5f51ff;
  height: 32px;
  max-height: 32px;
}

.kl-testimonial__content {
  font-weight: 500;
}

.kl-testimonial__footer {
  display: flex;
  align-items: center;
}

.kl-testimonial__footer img {
  display: block;
  object-fit: cover;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  margin: 0 16px 0 0;
}

.kl-testimonial__author {
  font-weight: bold;
}

.kl-testimonial__author span {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #5f51ff;
  display: block;
  font-size: 0.75rem;
  margin: 0 0 8px;
}
.kl-timeline__entry {
  position: relative;
  padding-bottom: 50px;
}

.kl-timeline__entry h1, .kl-timeline__entry h2, .kl-timeline__entry h3, .kl-timeline__entry h4, .kl-timeline__entry h5 {
  color: #5f51ff;
}

.kl-timeline__entry p {
  margin: 0 0 1rem;
}

.kl-timeline__entry--odd {
  margin-right: 50%;
  padding-right: 50px;
  text-align: right;
}

.kl-timeline__entry--odd:before {
  content: '';
  background-color: #1C2630;
  display: block;
  position: absolute;
  top: 10px;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  transform: translateX(4px);
  right: 0;
}

@media screen and (max-width: 580px) {
  .kl-timeline__entry--odd:before {
    transform: translateX(-5px);
    left: 0;
  }
}

.kl-timeline__entry--odd:after {
  content: '';
  background-color: #1C2630;
  display: block;
  position: absolute;
  top: 10px;
  width: 1px;
  height: 100%;
  right: 0;
}

@media screen and (max-width: 580px) {
  .kl-timeline__entry--odd:after {
    left: 0;
  }
}

.kl-timeline__entry--even {
  margin-left: 50%;
  padding-left: 50px;
}

.kl-timeline__entry--even:before {
  content: '';
  background-color: #1C2630;
  display: block;
  position: absolute;
  top: 10px;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  transform: translateX(-5px);
  left: -1px;
}

@media screen and (max-width: 580px) {
  .kl-timeline__entry--even:before {
    transform: translateX(-5px);
    left: 0;
  }
}

.kl-timeline__entry--even:after {
  content: '';
  background-color: #1C2630;
  display: block;
  position: absolute;
  top: 10px;
  width: 1px;
  height: 100%;
  left: -1px;
}

@media screen and (max-width: 580px) {
  .kl-timeline__entry--even:after {
    left: 0;
  }
}

.kl-timeline__entry--last:after {
  display: none;
}

@media screen and (max-width: 580px) {
  .kl-timeline__entry {
    margin: 0;
    padding: 0 0 50px 50px;
    text-align: left;
  }
}

@media screen and (max-width: 420px) {
  .kl-timeline__entry {
    padding: 0 0 20px 20px;
  }
}
/***************************************************************************/
/************************   Menu and simple menu   *************************/
/***************************************************************************/
.hs-menu-wrapper ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Horizontal menu */
.hs-menu-wrapper.hs-menu-flow-horizontal .hs-menu-children-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-horizontal ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

/* Vertical menu */
.hs-menu-wrapper.hs-menu-flow-vertical ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* Flyouts */
.hs-menu-wrapper.hs-menu-flow-vertical.flyouts ul {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

@media (max-width: 767px) {
  .hs-menu-wrapper.hs-menu-flow-vertical ul {
    display: -webkit-box;
    display: -ms-flexbox;
    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;
  }
}

.lang_switcher_class {
  display: flex !important;
}

.lang_list_class {
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
  padding: 0 !important;
  margin-top: 20px !important;
}

.lang_list_class:before {
  border: none !important;
  background: white;
  box-shadow: 0px 5px 10px rgba(154, 161, 177, 0.1);
}

.lang_list_class:after {
  top: -23px !important;
}

.lang_list_class li {
  word-break: keep-all;
  border-left: none !important;
  border-right: none !important;
}

.lang_list_class li:first-child {
  border-top: none !important;
}

.lang_list_class li:last-child {
  border-bottom: none !important;
}
/* Blog header */
.blog-header {
  Display: None !important;
  background-color: rgba(242, 245, 251, 1.0);
  padding: 82px 0;
  /* Blog header - author listing */
}

.blog-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .blog-header__inner {
    display: block;
  }
}

.blog-header--author {
  background-color: transparent;
}

.blog-header--author .blog-header__inner {
  justify-content: flex-start;
  flex-wrap: nowrap;
}

@media screen and (max-width: 768px) {
  .blog-header--author .blog-header__inner {
    display: block;
  }
}

.blog-header__title {
  margin: 0 0 32px;
  max-width: 380px;
  flex-basis: 380px;
  flex-shrink: 0;
}

@media screen and (max-width: 768px) {
  .blog-header__title {
    max-width: none;
  }
}

.blog-header__title span {
  color: #5f51ff;
}

.blog-header__preheader {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #5f51ff;
  display: block;
  margin: 0 0 .75rem;
}

.blog-header__image {
  margin-left: 32px;
}

@media screen and (max-width: 768px) {
  .blog-header__image {
    margin: 0 auto;
    max-width: 360px;
  }
}

.blog-header__image img {
  width: 100%;
}

.blog-header__author {
  flex-basis: 720px;
}

@media screen and (max-width: 768px) {
  .blog-header__author {
    margin: 32px 0 0;
  }
}

.blog-header__avatar {
  display: block;
  height: 360px;
  width: 100%;
  margin-right: 64px;
  max-width: 360px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
  .blog-header__avatar {
    margin: 0 auto;
  }
}

@media screen and (max-width: 360px) {
  .blog-header__avatar {
    height: 300px;
  }
}

.blog-header__author-social-links {
  margin: 0 -8px;
}

.blog-header__author-social-links a {
  display: inline-block;
  border-radius: 50%;
  height: 24px;
  width: 24px;
  margin: 0 8px;
  position: relative;
}

.blog-header__author-social-links svg {
  fill: #000000;
  height: 100%;
  width: auto;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.blog-filter {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 32px;
  /* No bottom padding: .blog-index's 32px top padding alone sets the
     tags→cards gap, matching the 32px gap between cards */
  padding: 16px 0 0;
}

.blog-tags {
  position: relative;
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
  /* Edge-fade scroll cue: when the chips overflow, the inline script sets
     --fade-l / --fade-r to a non-zero width and that edge fades out, hinting
     "more tags this way". At 0px the transparent stops collapse to zero width,
     so the mask is fully opaque and nothing changes when the chips fit. */
  --fade-l: 0px;
  --fade-r: 0px;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 var(--fade-l), #000 calc(100% - var(--fade-r)), transparent 100%);
  /* Folder-tab baseline: 1px line across the full content width. Tabs are
     transparent so they sit "behind" it; the active tab / pill covers it. */
  background-image: linear-gradient(rgba(152, 157, 159, 0.2), rgba(152, 157, 159, 0.2));
  background-size: 100% 1px;
  background-position: 0 100%;
  background-repeat: no-repeat;
}

.blog-tags::-webkit-scrollbar {
  display: none;
}

.blog-tags li {
  flex: 0 0 auto;
  margin: 0;
}

.blog-tags__link {
  background-color: rgba(95, 81, 255, 1.0);
  border: 1px solid rgba(95, 81, 255, 1);
  border-radius: 3px;
  color: rgba(255, 255, 255, 1);
  padding: 15px 25px;
  font-family: 'Geist Mono', 'Consolas', 'Monaco', monospace;
  font-size: 0.75rem;
  font-weight: 400;
  display: inline-block;
  width: auto;
  height: auto;
  margin: 0;
  cursor: pointer;
  line-height: 1.1;
  letter-spacing: 0.03em;
  white-space: normal;
  word-break: break-word;
  text-align: center;
  text-decoration: none;
  position: relative;
  transition: all 0.15s linear;
  /* To affect HubSpot CTAs */
  padding: 7px 12px;
  border-radius: 0;
  text-transform: uppercase;
  line-height: 1;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
  background-color: transparent;
  color: rgba(26, 26, 46, 0.7);
  border: 1px solid transparent;
}

.blog-tags__link:hover, .blog-tags__link:focus, .blog-tags__link:active {
  background-color: rgba(95, 81, 255, 1.0);
  border-color: rgba(95, 81, 255, 1.0);
  color: rgba(255, 255, 255, 1);
  text-decoration: none;
  transform: scale(1.05);
}

.blog-tags__link:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

.blog-tags__link a {
  color: rgba(255, 255, 255, 1);
}

.blog-tags__link a:hover {
  color: white;
  text-decoration: none;
}

.blog-tags__link--current {
  background-color: #5f51ff;
  border-color: #5f51ff;
  color: white;
}

/* Sliding tab indicator — a single indigo pill travels from the active tag
   to the hovered/focused one (positioned by inline JS in blog-index.html).
   Without JS the static --current / :hover styles above still apply. */
.blog-tags__indicator {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  background-color: #5f51ff;
  pointer-events: none;
  z-index: 0;
}

.blog-tags__indicator--animated {
  transition:
    transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    width 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
  .blog-tags__indicator--animated {
    transition: none;
  }
}

.blog-tags--has-indicator .blog-tags__link {
  z-index: 1;
  /* Same duration/curve as the pill so the label whitens as it arrives */
  transition:
    color 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

/* The pill provides the fill; chips themselves stay transparent */
.blog-tags--has-indicator .blog-tags__link--current,
.blog-tags--has-indicator .blog-tags__link:hover,
.blog-tags--has-indicator .blog-tags__link:focus,
.blog-tags--has-indicator .blog-tags__link:active {
  background-color: transparent;
  border-color: transparent;
  color: #1a1a2e;
  transform: none;
}

/* Chip the pill is currently under (or travelling to) */
.blog-tags--has-indicator .blog-tags__link--lit,
.blog-tags--has-indicator .blog-tags__link--lit:hover,
.blog-tags--has-indicator .blog-tags__link--lit:focus {
  color: #fff;
  border-color: transparent;
}

/* Blog listing — gap-based grid so outer cards align flush with the content max-width */
.blog-index, .blog-more-posts {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  padding: 32px 0;
}

.blog-index__post-wrapper, .blog-more-posts__post-wrapper {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
}

@media screen and (min-width: 768px) {
  .blog-index__post-wrapper, .blog-more-posts__post-wrapper {
    flex-basis: calc((100% - 32px) / 2);
  }
}

@media screen and (min-width: 1000px) {
  .blog-index__post-wrapper, .blog-more-posts__post-wrapper {
    flex-basis: calc((100% - 64px) / 3);
  }
}

.blog-index__post, .blog-more-posts__post {
  display: flex;
  flex-direction: column;
  border: 0.5px solid rgba(152, 157, 159, 0.2);
  box-shadow:
    0 1px 2px rgba(95, 81, 255, 0.04),
    0 12px 24px -12px rgba(95, 81, 255, 0.10);
  border-radius: 0;
  height: 100%;
  overflow: hidden;
  position: relative;
}

/* Stretched link: the title link covers the whole card, so the full card is
   clickable and hovering anywhere on it triggers the title's hover state */
.blog-index__post-content h3 a::after, .blog-more-posts__post-content h3 a::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}

.blog-index__post img, .blog-more-posts__post img {
  height: auto;
  max-width: 100%;
}

.blog-index__post-content, .blog-more-posts__post-content {
  padding: 30px;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  flex-grow: 1;
}

.blog-index__post-content h3, .blog-more-posts__post-content h3 {
  margin: 0 0 1rem;
  font-size: 1.25rem;
  line-height: 1.35;
}

.blog-index__post-content p, .blog-more-posts__post-content p {
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgba(26, 26, 46, 0.7);
}

.blog-index__post-content h3 a, .blog-more-posts__post-content h3 a {
  color: #000000;
}

.blog-index__post-content h3 a:hover, .blog-index__post-content h3 a:focus, .blog-index__post-content h3 a:visited, .blog-more-posts__post-content h3 a:hover, .blog-more-posts__post-content h3 a:focus, .blog-more-posts__post-content h3 a:visited {
  color: #000000;
  text-decoration-color: #5f51ff;
}

.blog-index__post-preheader, .blog-more-posts__post-preheader {
  font-family: 'Geist Mono', 'Consolas', 'Monaco', monospace;
  font-size: 14px;
  font-weight: 400;
  color: #5f51ff;
  display: block;
  margin: 0 0 .75rem;
}

.blog-index__post-meta, .blog-more-posts__post-meta {
  display: flex;
  justify-content: space-between;
  margin: 32px 0 0;
  color: #C6C6C6;
  font-family: 'Geist Mono', 'Consolas', 'Monaco', monospace;
  font-size: .75rem;
  text-transform: uppercase;
}

.blog-index__post-meta span, .blog-more-posts__post-meta span {
  display: inline-block;
}

.blog-index__post-author, .blog-more-posts__post-author {
  text-align: left;
}

.blog-index__post-date, .blog-more-posts__post-date {
  margin-left: 1rem;
  text-align: right;
}

.blog-index__post-image, .blog-more-posts__post-image {
  display: block;
  background-image: url('https://39718632.fs1.hubspotusercontent-na1.net/hubfs/39718632/raw_assets/public/@marketplace/kalungicom/atlas-theme/images/grayscale-mountain.png');
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 63%;
}

.blog-index__author h2, .blog-more-posts__author h2 {
  margin: 32px 0 1.5rem;
}

.blog-index__author hr, .blog-more-posts__author hr {
  height: 2px;
  background-color: #DCDCDC;
}

/* Blog pagination */
.blog-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 2rem;
  padding-top: 0;
}

.blog-pagination__status {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.6875rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(26, 26, 46, 0.55);
}

.blog-pagination__controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.blog-pagination__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 6px;
  font-family: 'DM Sans', sans-serif;
  font-weight: bold;
  font-size: 0.875rem;
  line-height: 1;
  color: #1a1a2e;
  border: 1px solid transparent;
  text-decoration: none;
  transition: border-color 0.15s linear, background-color 0.15s linear, color 0.15s linear;
}

.blog-pagination__link:hover, .blog-pagination__link:focus {
  color: #1a1a2e;
  border-color: rgba(26, 26, 46, 0.55);
  text-decoration: none;
}

.blog-pagination__link:focus-visible {
  outline: 2px solid #5f51ff;
  outline-offset: 2px;
}

.blog-pagination__link--active,
.blog-pagination__link--active:hover,
.blog-pagination__link--active:focus {
  background-color: #5f51ff;
  border-color: #5f51ff;
  color: #fff;
  cursor: default;
}

.blog-pagination__link--arrow {
  border-color: rgba(26, 26, 46, 0.55);
}

.blog-pagination__link--arrow:hover, .blog-pagination__link--arrow:focus {
  background-color: #5f51ff;
  border-color: #5f51ff;
  color: #fff;
}

.blog-pagination__link--disabled {
  border-color: rgba(26, 26, 46, 0.15);
  color: rgba(26, 26, 46, 0.25);
  pointer-events: none;
}

.blog-pagination__ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 38px;
  color: rgba(26, 26, 46, 0.45);
  font-size: 0.875rem;
  line-height: 1;
}

@media screen and (max-width: 600px) {
  .blog-pagination {
    justify-content: center;
  }

  .blog-pagination__status {
    width: 100%;
    text-align: center;
  }
}

/* Blog post */
.blog-header--post {
  min-height: 520px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

/* Two-column post: a narrow header rail (left) that stays sticky on desktop
   while the body column (right) scrolls and fills remaining container width. */
.blog-post {
  display: grid;
  grid-template-columns: 400px minmax(0, 1fr);
  gap: 64px;
  padding: 3.5rem 0 4.5rem;
}

/* Left rail sticks to the top of the viewport as the body scrolls.
   align-self: start keeps the cell from stretching full-height (which would
   defeat sticky). top: 2rem works because the site header isn't fixed —
   it scrolls away, so there's no header offset to clear. */
.blog-post__aside {
  position: sticky;
  top: 2rem;
  align-self: start;
}

/* min-width: 0 lets the grid track shrink so wide children
   (code blocks, images) scroll inside instead of blowing out the column. */
.blog-post__main {
  min-width: 0;
}

/* Below 960px collapse to a single column: rail stacks above the body,
   no longer sticky. */
@media (max-width: 960px) {
  .blog-post {
    display: block;
  }

  .blog-post__aside {
    position: static;
    margin-bottom: 2.5rem;
  }
}

.blog-post__meta {
  display: flex;
  align-items: center;
  gap: 12px;
}

.blog-post__meta a {
  color: #1a1a2e;
  font-weight: bold;
  font-size: 0.9375rem;
  transition: color .25s ease-in;
}

.blog-post__meta a:hover {
  color: #5f51ff;
  text-decoration: none;
}

/* Author + date on one compact line: "Bill Brock · Jun 2, 2026" */
.blog-post__author {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: 10px;
}

.blog-post__timestamp {
  color: rgba(26, 26, 46, 0.55);
  font-size: 0.875rem;
}

.blog-post__timestamp::before {
  content: '\00B7';
  margin-right: 10px;
  color: rgba(26, 26, 46, 0.35);
}

.blog-post__avatar {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
}

.blog-post__preheader {
  font-family: 'Geist Mono', 'Consolas', 'Monaco', monospace;
  font-size: 0.75rem;
  font-weight: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #5f51ff;
  display: block;
  margin: 0 0 0.875rem;
}

.blog-post__title {
  margin: 0 0 1rem;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.2;
}

.blog-post__summary {
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 400;
  color: rgba(26, 26, 46, 0.7);
  margin: 0 0 1.75rem;
}

.blog-post__body img {
  max-width: 100%;
}

.blog-post__tags {
  display: flex;
  flex-wrap: wrap;
}

.blog-post__tag-link {
  color: #5f51ff;
  background-color: #e6edff;
  border-radius: 3px;
  font-size: 0.75rem;
  padding: 5px 10px;
  margin: 0 8px 8px 0;
}

/* Blog related posts */
.blog-more {
  padding: 2rem 0;
}

.blog-more--centered h2 {
  text-align: center;
}

/* Blog comments */
.blog-comments {
  margin: 0 auto;
  max-width: 680px;
}

.blog-comments form {
  max-width: 100%;
}

.blog-comments .hs-submit {
  text-align: center;
}

.blog-comments .comment-reply-to {
  border: 0 none;
  outline: none;
}

.blog-comments .comment-reply-to:hover {
  background-color: transparent;
  text-decoration: underline;
  color: #000000;
}
.kl-documentation__container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  position: relative;
  display: flex;
  align-items: flex-start;
}

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

@media screen and (max-width: 680px) {
  .kl-documentation__container {
    display: block;
  }
}

.kl-documentation__toc {
  width: 250px;
  position: -webkit-sticky;
  /* for Safari */
  position: sticky;
  top: 82px;
  height: calc(100vh - 82px);
  overflow-y: scroll;
  padding: 16px 16px 0 0;
  margin-right: 20px;
}

@media screen and (max-width: 680px) {
  .kl-documentation__toc {
    position: static;
    width: 100%;
    padding: 16px 0 0;
    margin: 0;
    overflow-y: auto;
    border-bottom: 1px solid #ececec;
    height: auto;
  }
}

.kl-documentation__toc ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.kl-documentation__toc li {
  margin-bottom: 16px;
}

@media screen and (max-width: 680px) {
  .kl-documentation__toc li {
    margin-bottom: 8px;
  }
}

.kl-documentation__toc a {
  color: #000000;
}

.kl-documentation__contents {
  padding: 16px 0;
  width: calc(100% - 269px);
}

@media screen and (max-width: 680px) {
  .kl-documentation__contents {
    width: 100%;
  }
}

.kl-documentation__module {
  position: relative;
  margin: 0 0 32px;
  padding: 0 0 32px;
  scroll-margin-top: 82px;
}

.kl-documentation__module:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #ececec;
}

.kl-documentation__module-preview {
  margin: 0 0 32px;
}

.kl-documentation__fields {
  table-layout: fixed;
  width: 100%;
  margin: 0;
}

.kl-documentation__fields .depth0 {
  background-color: #f5f5f5;
}

.kl-documentation__fields thead th {
  font-size: 14px;
  padding: 12px;
  font-weight: bold;
  text-align: left;
  color: black;
  background-color: #d7ddec;
}

.kl-documentation__fields th, .kl-documentation__fields td {
  border: 1px solid #c0cbe4;
  padding: 6px 12px;
  font-size: 12px;
}

.kl-documentation .content-wrapper {
  padding: 0 20px !important;
}
/* Error pages */
.kl-error-page {
  padding: 100px 0;
  text-align: center;
}

.kl-error-page__preheader {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #5f51ff;
  display: block;
  margin: 0 0 0.5rem;
}

.kl-error-page__heading {
  margin: 0 0 1rem;
}

/* System pages */
.systems-page__content {
  margin: 0 auto;
  max-width: 620px;
  padding: 120px 20px;
}

.systems-page .success {
  color: #34A853;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
}

.systems-page h1 {
  margin: 0 0 4rem;
  text-align: center;
}

@media screen and (max-width: 360px) {
  .systems-page h1 {
    margin: 0 0 2rem;
    font-size: 2rem;
  }
}

.systems-page--membership {
  background-image: url(https://39718632.fs1.hubspotusercontent-na1.net/hubfs/39718632/raw_assets/public/@marketplace/kalungicom/atlas-theme/images/Hero-Background-2.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.systems-page--membership h1 {
  margin: 0 0 1rem;
}

.systems-page--membership p {
  margin: 0 0 3rem;
  text-align: center;
}

.systems-page--membership form .hs-submit input, .systems-page--membership form input[type="submit"] {
  width: 100%;
}

.systems-page--subscription-confirmation h1 {
  display: none;
  margin: 0 0 1.5rem;
}

.systems-page--subscription-confirmation h2 {
  color: #3A3A3A;
  font-size: 1rem;
  margin: 0;
}

.systems-page--subscription-confirmation .page-header {
  text-align: center;
  margin: 0 0 2rem;
}

.systems-page--subscription-preferences .page-header {
  text-align: center;
  margin: 0 0 2rem;
}

.systems-page--subscription-preferences h1 {
  margin: 0 0 1.5rem;
}

.systems-page--subscription-preferences h2 {
  color: #3A3A3A;
  font-size: 1rem;
  margin: 0;
}

.systems-page--subscription-preferences .email-prefs {
  padding: 32px;
  border: 1px solid #DAE3F9;
  box-shadow: 0px 11px 30px rgba(95, 81, 255, 0.1);
  border-radius: 10px;
}

.systems-page--subscription-preferences .email-prefs p, .systems-page--subscription-preferences .email-prefs span, .systems-page--subscription-preferences .email-prefs label {
  font-size: 0.875rem;
  line-height: 1rem;
  vertical-align: text-top;
  font-weight: normal;
}

@media screen and (max-width: 360px) {
  .systems-page--subscription-preferences .email-prefs {
    padding: 18px;
  }
}

.systems-page--subscription-preferences input[type="checkbox"] {
  margin-right: 12px;
}

.systems-page__preheader {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: #5f51ff;
  display: block;
  margin: 0 0 0.5rem;
  text-align: center;
}

.systems-page form {
  position: relative;
}

.systems-page form .hs-form-field {
  position: relative;
}

.systems-page form .form-input-validation-message ul {
  padding: 0;
}

.systems-page form .form-input-validation-message label {
  color: #929292;
  font-size: 0.875rem;
  font-weight: normal;
}

.systems-page form .hs-login-widget-show-password,
.systems-page form .hs-register-widget-show-password,
.systems-page form .hs-reset-widget-show-password {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 0.75rem;
  line-height: 1rem;
  text-transform: uppercase;
  font-weight: bold;
  color: #5f51ff;
}

.systems-page form .hs-login-widget-show-password:hover, .systems-page form .hs-login-widget-show-password:focus,
.systems-page form .hs-register-widget-show-password:hover,
.systems-page form .hs-register-widget-show-password:focus,
.systems-page form .hs-reset-widget-show-password:hover,
.systems-page form .hs-reset-widget-show-password:focus {
  color: #5f51ff;
  text-decoration: none;
}

.systems-page form #hs_login_reset {
  position: absolute;
  top: 100%;
  left: 0;
  display: block;
  margin: 1rem 0 0;
  z-index: 1;
  color: #5f51ff;
  font-size: 0.875rem;
  font-weight: bold;
  width: 100%;
  text-align: center;
}

.systems-page form input {
  max-width: 100%;
}

.systems-page .form-container {
  max-width: 380px;
  margin: 0 auto 3rem;
}

.systems-page .form-container .label {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  margin: 0 0 0.75rem;
}

#email-prefs-form .header {
  background-color: transparent;
}

/* Password prompt */
.password-prompt input[type=password] {
  display: block;
  height: auto !important;
  margin-bottom: 1.4rem;
}

/* Backup unsubscribe */
.backup-unsubscribe h3 {
  font-size: 0.875rem;
  font-weight: bold !important;
  line-height: 1rem;
  margin: 0 0 0.75rem;
}

.backup-unsubscribe #email-prefs-form {
  padding: 42px 32px;
  border: 1px solid #DAE3F9;
  box-shadow: 0px 11px 30px rgba(95, 81, 255, 0.1);
  border-radius: 10px;
}

.backup-unsubscribe #email-prefs-form div {
  padding-bottom: 0 !important;
}

@media screen and (max-width: 360px) {
  .backup-unsubscribe #email-prefs-form {
    padding: 32px 18px;
  }
}

.backup-unsubscribe input[type=email] {
  margin-bottom: 1.5rem;
  padding: 0.7rem !important;
  font-size: 0.875rem !important;
  border: 1px solid #DADADA;
}

/* Search pages */
.hs-search-field {
  max-width: 750px;
}

.hs-search-field input[type=text] {
  padding-right: 48px;
}

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

.hs-search-field__bar:after {
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 19a8 8 0 100-16 8 8 0 000 16zM21 21l-4-4' stroke='%23C6C6C6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
}

.hs-search-field__suggestions {
  background-color: #FFF;
  max-width: 360px;
  position: absolute;
  right: 0;
  top: 100%;
  transform: translateY(8px);
  border-radius: 9px;
  width: 100%;
}

.hs-search-field__suggestions a, .hs-search-field__suggestions #results-for {
  padding: 8px 16px;
}

.hs-search-field--open .hs-search-field__suggestions {
  border: 1px solid #dedede !important;
}

.kl-search-results {
  padding: 80px 0;
}

.hs-search-results {
  margin-top: 3.5rem;
}

.hs-search-results__featured-image {
  margin-bottom: 1rem;
}

.hs-search-results__featured-image img {
  display: block;
  max-width: 100%;
  width: 100%;
}

.hs-search-results__title {
  color: #000000;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: 'DM Sans', sans-serif;
}

.hs-search-results__title:hover, .hs-search-results__title:focus {
  color: #5f51ff;
  text-decoration: none;
}

.hs-search-results__description {
  padding-top: 1.25rem;
  margin: 0 0 2.5rem;
}

.hs-search-results__pagination a {
  color: #000000;
  font-family: 'DM Sans', sans-serif;
  font-weight: bold;
}

.hs-search-results__listing {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -20px !important;
}

.hs-search-results__listing li {
  flex-basis: calc(100% / 2);
  padding: 0 20px !important;
}

@media screen and (max-width: 620px) {
  .hs-search-results__listing li {
    flex-basis: 100%;
  }
}

.hs-search-highlight {
  font-weight: bold;
}
.no-scroll {
  overflow: hidden;
}
/* Font combo enforcement: DM Sans (text) + Geist Mono (code).
   body-prefixed selectors out-rank the parent theme's element-level
   font rules, which load *after* this stylesheet via child.css's @import. */

html body,
body button,
body input,
body select,
body textarea,
body .button,
body .button_cta a,
body .kl-navbar__button,
body .kl-navbar__link,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  font-family: 'DM Sans', sans-serif;
}

body code,
body pre,
body kbd,
body samp,
body .blog-index__post-meta,
body .blog-more-posts__post-meta,
body .blog-tags__link,
body .blog-index__post-preheader,
body .blog-more-posts__post-preheader,
body .blog-post__preheader {
  font-family: 'Geist Mono', 'Consolas', 'Monaco', monospace;
}


/*****************************************/
/* code block component for blog posts   */
/*****************************************/

/* Base styles for the code block */
code {
    display: block;
    background-color: #EDEDEB; /* Updated background color */
    color: #681FC4; /* Updated font color */
    padding: 1em;
    border-radius: 4px;
    font-family: 'Geist Mono', 'Consolas', 'Monaco', 'Andale Mono', 'Ubuntu Mono', monospace;
    font-size: 14px;
    line-height: 1.5;
    overflow-x: auto;
}

/* Inline code styles */
code.inline {
    display: inline-block;
    background-color: #EDEDEB; /* Updated background color */
    color: #681FC4; /* Updated font color */
    border-radius: 4px;
    padding: 2px 6px;
    font-family: 'Geist Mono', 'Courier New', Courier, monospace;
    font-weight: bold;
    font-size: 85%;
    line-height: normal;
    overflow-x: visible;
}

/* Remove the language indicator */
code::before {
    content: none;
}

/* Syntax highlighting */
.keyword {
    color: #569cd6;
}

.function {
    color: #dcdcaa;
}

.parameter {
    color: #9cdcfe;
}

.string {
    color: #ce9178;
}

.comment {
    color: #6a9955;
}

.type {
    color: #4ec9b0;
}

/* Specific styles for the "Expected edit appearance" line */
.edit-comment {
    color: #6a9955;
    display: inline-block;
    margin-left: 10px;
}

/* Style for the function signature line */
.function-signature {
    color: #dcdcaa;
}

/* Style for square brackets */
.brackets {
    color: #d4d4d4;
}


/*****************************************/
/* modifications to the search box       */
/*****************************************/


.hs_cos_wrapper_type_icon {
display: none;
color: #FFFFFF
}

.hs-search-field__button {
margin-left: 10px;
}

.kl-footer__byline-wrapper { 
 display:none;
}

.hs-search-field__input { 
 border:1px solid #dadada;
 border-radius: 3px;
}