/* Theme base styles */

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

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

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

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

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

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

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

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

body {
  margin: 0;
}

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

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

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

/* 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%;
    min-height: 1px;
    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%;
        min-height: 1px;
        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%;
        min-height: 1px;
        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 ;
    }
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 20px;
}

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

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

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

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

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

body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  color: #212529;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

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

/* Paragraphs */

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

/* Anchors */

a {
  cursor: pointer;
  text-decoration: none;
}

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

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

/* Headings */

h1, 
h2, 
h3, 
h4, 
h5, 
h6 {
  margin-top: 0;
  margin-bottom: 1.5rem;
  font-weight: 500;
  line-height: 1.2;
}

/* Abbr */

abbr[title],
abbr[data-bs-original-title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

/* Address */

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

/* Lists */

ol,
ul {
  padding-left: 2rem;
  list-style-position: inside;
}
 
ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

/* Code blocks */

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: #d63384;
  word-wrap: break-word;
}

a > code {
  color: inherit;
}

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 0.875em;
  color: #fff;
  background-color: #212529;
  border-radius: 0.2rem;
}

kbd kbd {
  padding: 0;
  font-size: 1em;
  font-weight: 700;
}

/* Blockquotes */

blockquote {
  border-left: 4px solid;
  margin: 0 0 1rem;
  padding-left: 15px;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 0.875em;
}

mark {
  padding: 0.2em;
  background-color: #fcf8e3;
}

/* Horizontal rules */

hr {
  margin: 1rem 0;
  color: inherit;
  background-color: #CCC;
  border: 0;
  opacity: 0.25;
}

hr:not([size]) {
  height: 1px;
}

/* Image alt text */

img {
  font-size: 14px;
  word-break: normal;
  max-width: 100%;
  height: auto;
}

img,
svg {
  vertical-align: middle;
}

/* Table */

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #6c757d;
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}
button,
.button,
.hs-button,
.button-outline,
.cta_button {
  cursor: pointer;
  display: inline-block;
  font-size: 1rem;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

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

button:hover,
button:focus,
.button:hover,
.button:focus,
.button-outline:hover,
.button-outline:focus,
.cta_button:hover,
.cta_button:focus {
  text-decoration: none;
}

button:active,
.button:active,
.button-outline:active,
.cta_button:active {
  text-decoration: none;
}

/* No button */

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

button.uiButton {
  box-shadow: none;
}
/* Form fields */

.hs-form-field {
  margin-bottom: 1.4rem;
}

/* Labels */

form label {
  display: block;
  font-size: 0.875rem;
  margin-bottom: 0.35rem;
}

/* Help text - legends */

form legend {
  font-size: 0.875rem;
}

/* Inputs */

form input[type=text],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form input[type=search],
form select,
form textarea {
  display: block;
  width: 100%;
  padding: 10px 12px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: .25rem;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  height: auto !important;
  margin-top: 0 !important;
}

form select {
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto;
}

form textarea {
  min-height: 150px;
}

#email-prefs-form input[type=email] {
  font-size: 16px !important;
  padding: 12px 12px !important;
  width: 100% !important;
  margin-bottom: 20px;
}

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

/* Inputs - checkbox/radio */

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

form .inputs-list > li {
  display: block;
  margin: 0.7rem 0;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type=checkbox],
form input[type=radio] {
  cursor: pointer;
  margin-right: 0.35rem;
}

/* Inputs - datepicker */

.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

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

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

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

/* Inputs - file picker */

form input[type=file] {
  background-color: transparent;
  border: 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;
}

/* GDPR */

.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  margin-left: 1rem !important;
}

/* Validation */

.hs-form-required {
  color: #EF6B51;
}

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

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

/* Submit button */

form input[type=submit],
form .hs-button {
  display: inline-block;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  border-radius: 0.25rem;
  -webkit-transition: background-color 200ms ease;
  transition: background-color 200ms ease;
  white-space: normal;
}

form input[type=submit]:hover,
form .hs-button:hover {}
}

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}
.splide__arrows button.splide__arrow {
  border-radius: 0;
  min-width: auto;
  background-color: transparent;
  opacity: 1;
  box-shadow: none;
  border: none;
  width: auto;
  color: #FFFFFF;
}

.splide__arrows button.splide__arrow svg {
  width: 50px;
  height: 50px;
  padding: 15px;
}

.splide__arrows button.splide__arrow:hover,
.splide__arrows button.splide__arrow:focus,
.splide__arrows button.splide__arrow:active {
  background-color: transparent;
  padding: 0;
  color: #fb5629;
}

ul.splide__pagination {
  bottom: 30px;
}

@media (max-width: 767px) {
  ul.splide__pagination {
    bottom: -60px;
  }
}

.focus_widget-image_slider ul.splide__pagination {
  display: none;
}

.focus_module_testimonial ul.splide__pagination {
  margin-top: 30px;
  bottom: auto;
}

button.splide__pagination__page {
  width: 10px;
  height: 10px;
  margin: 10px;
  min-width: auto;
  border-radius: 50%;
  opacity: 1;
  box-shadow: none;
  border: none;
  padding: 0;
  transition: all 0.15s linear;
}

button.splide__pagination__page:hover,
button.splide__pagination__page:focus,
button.splide__pagination__page:active {
  background-color: #FFFFFF;
  box-shadow: none;
  border: none;
  padding: 0;
  border-radius: 50%;
  color: #FFFFFF;
}

button.splide__pagination__page.is-active {
  background-color: #FFFFFF;
  transform: scale(1);
  width: 30px;
  border-radius: 30px;
  color: #FFFFFF;
}
/* Table */

table {
  border: 1px solid;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table Cells */

th,
td {
  border: 1px solid;
  padding: 0.75rem;
  vertical-align: top;
}

/* Table Header */

thead th,
thead td {
  border-bottom: 2px solid;
  vertical-align: bottom;
}
/* Missing Template at Path: \'V2 client hub\/css\/elements\/_image.css\' */


/* Missing Template at Path: \'V2 client hub\/css\/modules\/_accordion-module.css\' */
/* Missing Template at Path: \'V2 client hub\/css\/modules\/_blog-module.css\' */
/* -------------- Home Page Feature Module --------------- */

.feature-wrapper {
  position: relative;
  overflow: hidden;
}

.feature-slide-wrapper {
  position: relative;
}

.feature-slide-wrapper .slick-track {
  display: flex;
  flex-flow: row nowrap;
}

.feature-video-wrap {
  display: none;
}

.shader {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
}

.feature-dots {
  list-style-type: none;
  margin: 0;
  padding: 0;
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 20px;
  width: 100%;
  z-index: 5;
}

.feature-dots li {
  display: inline-block;
  margin: 0 4px;
  padding: 0;
}

.feature-dots button,
.feature-dots button:visited {
  border: none;
  display: block;
  border-radius: 12px;
  height: 12px;
  width: 12px;
  text-indent: -9999px;
  padding: 0;
}

.feature-dots button:hover,
.feature-dots button:focus {
  cursor: pointer;
  outline: none;
}

.feature-slide,
.feature-item {
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}

.feature-slide.slick-slide {
  height: auto;
  float: none;
  min-width: 100vw;
}

.feature-slide.reg-padding,
.feature-item.reg-padding {
  padding: 100px 0;
}

.feature-slide.extra-padding,
.feature-item.extra-padding {
  padding: 180px 0;
}

.feature-slide.full-height,
.feature-item.full-height {
  min-height: 100vh;
  padding: 100px 0;
}

.feature-wrapper .page-content {
  width: 100%;
}

.feature-content {
  text-align: center;
  margin: 0;
  padding: 20px 0 0 0;
}

.feature-content.arrow-padding {
  padding: 20px 20px 0;
}

.feature-content h1 {
  margin: 0 0 20px;
  text-transform: none;
  position: relative;
}

.feature-content h1:before {
  content: "";
  display: none;
  width: 50px;
  height: 5px;
  position: absolute;
  top: -20px;
  left: calc(50% - 25px);
}

.feature-content p {
  font-size: 18px;
  margin: 0 0 25px;
}

.two-buttons-flex {
  display: flex;
  flex-flow: column;
  align-items: center;
}

.feature-pager,
.feature-page:visited {
  display: block;
  height: 38px;
  width: 38px;
  position: absolute;
  top: calc(50% - 19px);
  z-index: 5;
}

.feature-pager:hover,
.feature-pager:focus {
  cursor: pointer;
}

.feature-next,
.feature-next:visited {
  right: 0;
  padding: 0 0 0 12px;
}

.feature-prev,
.feature-prev:visited {
  left: 0;
  padding: 0 0 0 8px;
}

.feature-pager span {
  display: block;
  height: 2px;
  width: 16px;
  position: relative;
  transition: all .1s ease 0s;
}

.feature-next span.first {
  transform: rotate(45deg);
  top: 12px;
}

.feature-next span.second {
  transform: rotate(-45deg);
  top: 21px;
}

.feature-prev span.first {
  transform: rotate(-45deg);
  top: 12px;
}

.feature-prev span.second {
  transform: rotate(45deg);
  top: 21px;
}

@media (min-width: 768px) {
  .feature-video-wrap {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
  }
  
  .feature-video-wrap video {
    height: auto;
    width: auto;
    min-width: 100%;
    min-height: 100%;
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  .feature-slide.reg-padding,
  .feature-item.reg-padding {
    padding: 150px 0;
  }

  .feature-slide.extra-padding,
  .feature-item.extra-padding {
    padding: 220px 0;
  }

  .feature-slide.full-height,
  .feature-item.full-height {
    padding: 150px 0;
  }

  .two-buttons-flex {
    flex-flow: row nowrap;
    justify-content: center;
  }

  .two-buttons-flex a {
    margin: 0 10px;
  }
  
  .feature-item.left-side .two-buttons-flex a,
  .feature-item.right-side .two-buttons-flex a,
  .feature-slide.left-side .two-buttons-flex a,
  .feature-slide.right-side .two-buttons-flex a {
    margin: 0 20px 0 0;
  }
  
  .feature-content.arrow-padding {
    padding: 20px 40px 0;
  }
}

@media (min-width: 992px) {
  .feature-slide.reg-padding,
  .feature-item.reg-padding {
    padding: 150px 0;
  }

  .feature-slide.extra-padding,
  .feature-item.extra-padding {
    padding: 240px 0;
  }

  .feature-slide.full-height,
  .feature-item.full-height {
    padding: 150px 0;
  }

  .feature-slide .page-content,
  .feature-item .page-content {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
  }

  .feature-slide.left-side .page-content,
  .feature-item.left-side .page-content {
    justify-content: flex-start;
  }

  .feature-slide.right-side .page-content,
  .feature-item.right-side .page-content {
    justify-content: flex-end;
  }

  .feature-content {
    width: 66%;
  }
  
  .feature-content.arrow-padding {
    padding: 20px 0px 0;
  }
  
  .feature-slide.left-side .feature-content,
  .feature-item.left-side .feature-content {
    width: 50%;
    padding: 0 3% 0 5%;
    text-align: left;
  }

  .feature-slide.right-side .feature-content,
  .feature-item.right-side .feature-content {
    width: 50%;
    padding: 0 5% 0 3%;
    text-align: left;
  }

  .feature-slide.left-side .two-buttons-flex,
  .feature-slide.right-side .two-buttons-flex,
  .feature-item.left-side .two-buttons-flex,
  .feature-item.right-side .two-buttons-flex {
    justify-content: flex-start;
  }

  .feature-slide.left-side .feature-content h1:before,
  .feature-slide.right-side .feature-content h1:before,
  .feature-item.left-side .feature-content h1:before,
  .feature-item.right-side .feature-content h1:before {
    left: 0;
  }

  .feature-content p {
    font-size: 19px;
  }
}

@media (min-width: 1200px) {
  .feature-slide.reg-padding,
  .feature-item.reg-padding {
    padding: 200px 0;
  }

  .feature-slide.extra-padding,
  .feature-item.extra-padding {
    padding: 290px 0;
  }

  .feature-slide.full-height,
  .feature-item.full-height {
    padding: 150px 0;
  }
  
  .feature-pager,
  .feature-page:visited {
    height: 50px;
    width: 50px;
    top: calc(50% - 25px);
  }

  .feature-next,
  .feature-next:visited {
    right: 0;
    padding: 0 0 0 16px;
  }

  .feature-prev,
  .feature-prev:visited {
    left: 0;
    padding: 0 0 0 12px;
  }

  .feature-pager span {
    width: 20px;
  }

  .feature-next span.first {
    top: 17px;
  }

  .feature-next span.second {
    top: 28px;
  }

  .feature-prev span.first {
    top: 17px;
  }

  .feature-prev span.second {
    top: 28px;
  }
}
/* ----------- Hubspot Base Modules styling, shouldn't really be used ----------*/

.hs_cos_wrapper > .hs_cos_wrapper_type_rich_text,
.hs_cos_wrapper > .hs_cos_wrapper_type_linked_image,
.hs_cos_wrapper > .hs_cos_wrapper_type_header,
.hs_cos_wrapper > .hs_cos_wrapper_type_cta,
.hs_cos_wrapper > .hs_cos_wrapper_type_form,
.hs_cos_wrapper > .hs_cos_wrapper_type_gallery {
  display: block;
  max-width: 1150px;
  margin: 0 auto;
}

.hs_cos_wrapper > .hs-button {
  display: inline-block;
  margin: 0 auto;
  left: 50%;
  transform: translateX(-50%);
}
/* Missing Template at Path: \'V2 client hub\/css\/modules\/_icons-services-module.css\' */
/* --------------- Interior CTA Module -------------- */

.interior-cta {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 40px 30px;
  position: relative;
  width: 100%;
  z-index: 5;
}

@media(min-width: 768px) {
  .interior-cta {
    justify-content: flex-start;
    padding: 50px 40px;
  }

  .interior-cta.center-align {
    justify-content: center;
  }

  .interior-cta.right-align {
    justify-content: flex-end;
  }

  .interior-cta .column-content.forty {
    width: 40%;
  }

  .interior-cta .column-content.fifty {
    width: 50%;
  }

  .interior-cta .column-content.sixty {
    width: 60%;
  }
}

@media(min-width: 992px) {
  .interior-cta {
    padding: 65px 65px;
  }
}

@media(min-width: 1200px) {
  .interior-cta {
    padding: 90px 90px;
  }
}

@media(min-width: 1200px) {
  .interior-cta {
    padding: 110px;
  }
}
/* --------------- Marketing CTAs Module --------------- */

.marketing-ctas-flex {
  display: flex;
  flex-flow: column;
  margin: 0 auto 15px;
  padding: 0 0 0px 0;
  position: relative;
}

.marketing-ctas-flex.no-margin {
  margin: 0 auto 15px;
}

.marketing-cta,
.marketing-cta:visited {
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 0 5px 0px rgba(0, 0, 0, 0.15);
  padding: 22px 22px 50px;
  position: relative;
  margin: 0 auto 35px;
  width: 100%;
  max-width: 400px;
}

a.marketing-cta:hover,
a.marketing-cta:focus {
  background: #f0f0f0;
  text-decoration: none;
}

.marketing-cta-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding-bottom: 65%;
  overflow: hidden;
  transition: all 0.1s ease 0s;
}

.marketing-cta-content {
  position: relative;
  padding: 25px 0 0 0;
  text-align: center;
}

.marketing-cta-content p {
  color: ;
  font-size: 17px;
}

a.marketing-cta:hover .marketing-cta-content p {
  color: ;
}

.marketing-cta-content p.marketing-cta-title {
  font-size: 23px;
  margin: 0 0 20px 0;
  text-align: center;
  transition: all .1s ease 0s;
}

@media (min-width: 992px) {
  
  .marketing-ctas-flex {
    flex-flow: row wrap;
    margin: 0 auto 15px;
    padding: 0 0 0px 0;
    justify-content: center;
    align-items: stretch;
  }
  
  .marketing-ctas-flex.justify-left {
    justify-content: flex-start;
    margin: 0 0 15px -35px;
  }
  
  .marketing-ctas-flex.three.justify-left .marketing-cta,
  .marketing-ctas-flex.three.justify-left .marketing-cta:visited {
    margin: 0 0 35px 35px;
    width: calc(33.333333% - 35px);
  }
  
  .marketing-ctas-flex.four.justify-left .marketing-cta,
  .marketing-ctas-flex.four.justify-left .marketing-cta:visited {
    margin: 0 0 35px 35px;
    width: calc(50% - 35px);
  }

  .marketing-ctas-flex.three .marketing-cta,
  .marketing-ctas-flex.three .marketing-cta:visited {
    width: 30%;
    max-width: none;
  }
  
  .marketing-ctas-flex.four .marketing-cta,
  .marketing-ctas-flex.four .marketing-cta:visited {
    width: 45%;
    max-width: none;
  }
  
  .marketing-cta,
  .marketing-cta:visited {
    transition-delay: .15s;
  }
  
  .marketing-ctas-flex.three .marketing-cta:nth-child(3n+2),
  .marketing-ctas-flex.three .marketing-cta:visited:nth-child(3n+2) {
    transition-delay: .25s;
  }
  
  .marketing-ctas-flex.three .marketing-cta:nth-child(3n+3),
  .marketing-ctas-flex.three .marketing-cta:visited:nth-child(3n+3) {
    transition-delay: .35s;
  }
  
  .marketing-ctas-flex.four .marketing-cta:nth-child(4n+2),
  .marketing-ctas-flex.four .marketing-cta:visited:nth-child(4n+2) {
    transition-delay: .25s;
  }
  
  .marketing-ctas-flex.four .marketing-cta:nth-child(4n+3),
  .marketing-ctas-flex.four .marketing-cta:visited:nth-child(4n+3) {
    transition-delay: .35s;
  }
  .marketing-ctas-flex.four .marketing-cta:nth-child(4n+4),
  .marketing-ctas-flex.four .marketing-cta:visited:nth-child(4n+4) {
    transition-delay: .45s;
  }
}

@media (min-width: 1200px) {
  .marketing-ctas-flex.four .marketing-cta,
  .marketing-ctas-flex.four .marketing-cta:visited {
    width: 23%;
    max-width: none;
  }
  
  .marketing-ctas-flex.four.justify-left .marketing-cta,
  .marketing-ctas-flex.four.justify-left .marketing-cta:visited {
    margin: 0 0 35px 35px;
    width: calc(25% - 35px);
  }
}

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

/* Menu and simple menu */

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

/* Horizontal menu */

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

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

/* Vertical menu */

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

/* Flyouts */

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

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

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

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

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

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

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

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

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

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

.hs_cos_wrapper_type_rich_text img ,
.hs_cos_wrapper_type_linked_image img{
  border-radius: 20px;
}
/* -------------- Header, off-canvas structure, and utility bar ---------------- */

/* please note that the utility can be toggled on or off and customized with the creator's choices */

.header {
  height: auto;
  padding: 0;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 500;
  transition: all 0.25s ease 0s;
}

.header-flex {
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start; /* Change align-items to flex-start */
  justify-content: space-between;
  padding: 5px 20px; /* reduced padding */
  width: 97%; /* reduced width */
  transition: all 0.25s ease 0s;
}

.logo,
.logo:visited {
  line-height: 1;
  display: block;
}

.logo img {
  max-height: 50px; /* adjust as needed */
}

.logo {
  margin-left: 30px;
  margin-top: -30px; /* Add margin-top to move the logo closer to the top */
}

.header-large {
  display: none;
}

.header-nav {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}

.header-logo.switch .reg-logo {
  display: inline-block;
  opacity: 1;
}

.header-logo.switch .scrolled-logo {
  transition: all .15s ease 0s;
  opacity: 0;
  display: none;
}

.header.sticky-header .header-logo.switch .reg-logo {
  display: none;
  opacity: 0;
  transition: all .15s ease 0s;
}

.header.sticky-header .header-logo.switch .scrolled-logo {
  display: block;
  opacity: 1;
}

.header-cta > span {
  margin: 0 0 0 15px;
}

/* ----------- Navbar Toggle and Off Canvas -------------- */

.navbar-toggle {
  background: transparent;
  border: none;
  border-radius: 0;
  display: flex;
  flex-flow: column;
  align-items: flex-end;
  float: none;
  color: #fff;
  margin-bottom: 0px;
  margin-right: -10px;
  margin-top: -25px;
  margin-left: 30px;
  padding: 10px 10px;
  position: relative;
  width: 50px;
  height: auto;
  z-index: 1001;
}

.navbar-toggle .icon-bar {
  border-radius: 1px;
  display: block;
  height: 5px;
  margin: 0px;
  width: 37px;
  transition: all 0.15s linear 0s;
}

.navbar-toggle .icon-bar.middle {
  margin: 6px 0;
  width: 100%;
}

.navbar-toggle:hover,
.navbar-toggle:focus {
  cursor: pointer;
  background: transparent;
}

.navbar-toggle.active,
.navbar-toggle.active:focus {
  background: transparent;
}

.navbar-toggle.active {
  opacity: 0;
}

.navbar-collapse {
  position: fixed;
  right: -100vw;
  top: 0;
  height: 100vh;
  padding: 90px 0px 85px 0px;
  width: 100vw;
  z-index: 700;
  transition: all 0.25s ease 0s;
}

.navbar-collapse.active {
  right: 0;
  transition: all 0.25s ease 0s;
}

.off-canvas-inner {
  padding: 0 25px;
  height: 100%;
  overflow-y: scroll;
}

.navbar-close,
.navbar-close:visited {
  display: block;
  height: 40px;
  width: 40px;
  position: absolute;
  top: 25px;
  right: 20px;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  transition: all 0.6s ease 0s;
}

.navbar-close .icon-bar {
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  position: relative;
}

.navbar-collapse.dark .navbar-close .icon-bar {
  background: #111111;
}

.navbar-close .icon-bar.first {
  transform: rotate(45deg);
  top: 1px;
  transition: all 0.1s linear 0s;
}

.navbar-close .icon-bar.last {
  transform: rotate(-45deg);
  top: -1px;
  transition: all 0.1s linear 0s;
}

.navbar-close:hover {
  transform: rotate(90deg);
  cursor: pointer;
}

@media (min-width: 768px) {
  .header-nav .button,
  .header-nav .button:visited {
    padding: 7px 25px;
    margin: 0 40px 0 0;
  }
  
  .navbar-collapse {
    right: -500px;
    width: 500px;
  }
  
  .off-canvas-inner {
    padding: 0 40px;
  }
}

@media (min-width: 1200px) {
  .header-flex {
    padding: 50px 0 20px;
  }

  .header-logo {
    height: auto;
  }

  .header-nav {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
  }
}

@media (max-width: 768px) {
  .header-flex {
    flex-flow: column; /* Change to a vertical layout */
    align-items: center; /* Center the elements */
  }

  .logo {
    margin-top: 0; /* Reset the margin-top for smaller screens */
  }
}

/* ------------- Header Bar / Utility ------------ */

.header-utility {
  display: none;
}

.utility-nav ul {
  border-top: 1px solid rgba(255,255,255,.5);
  padding: 25px 0 0 0;
  margin: 0;
  list-style-type: none;
}

.utility-nav li {
  display: block;
  margin: 0 0 10px 0;
}

.utility-nav a,
.utility-nav a:visited {
  color: #fff;
}


@media(min-width: 768px) {
  .header-utility {
    display: block;
    padding: 0px 0 3px;
  }

  .header-utility .page-content {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    width: 100%;
  }

  .header-utility .page-content.right-side {
    justify-content: flex-end;
  }
  
  .utility-nav.off-canvas {
    display: none;
  }

  .utility-nav ul {
    border-top: none;
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  .utility-nav li {
    display: inline-block;
    margin: 0;
  }

  .utility-nav a,
  .utility-nav a:visited {
    display: inline-block;
    font-size: 13px;
    line-height: 1;
    margin: 0 26px 0 0px;
    position: relative;
  }

  .page-content.right-side .utility-nav a,
  .page-content.right-side .utility-nav a:visited {
    margin: 0 0 0 26px;
  }
}
/* this file contains the basic structure for the off-canvas navigation experience and the standard horizontal rule IF that option is selected in the global header module */

/* ----------- Vertical / Off-canvas Navigation Styles Only -------------- */

.nav {
  margin: 0 0 25px 0;
  padding: 0;
}

.nav ul,
.nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul {
  list-style: none outside none;
  margin: 0 0 0px 0;
  padding: 0;
  display: block;
}

.nav ul li,
.nav ul li:visited,
.nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-1 {
  background: transparent;
  display: block;
  padding: 0;
  float: none;
  position: relative;
  margin: 0 0 10px 0;
}

.nav ul li a,
.nav ul li a:visited,
.nav ul li a:focus,
.nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li a {
  background: transparent;
  display: block;
  font-size: 18px;
  line-height: 1.3;
  max-width: none;
  overflow: visible;
  padding: 7px 20px 7px 0px;
  position: relative;
  margin: 0;
  outline: none;
}

.nav ul li a:hover,
.nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li a:hover {
  background: transparent;
  text-decoration: none;
}

.nav li.arrow > a:after,
.nav li.arrow > a:visited:after {
  content: "\f0d7";
  display: inline-block;
  position: relative;
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  font-size: 13px;
  line-height: 1;
  margin: 0 0 0 10px;
  transition: all 0.1s linear 0s;
}


/* ----------- Second Level Nav ------------- */

.nav ul ul,
.nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s linear 0s;
  list-style-type: none;
  margin: 0 0 10px 0;
  padding: 0 0 0 20px;
  visibility: hidden;
  opacity: 0;
  position: relative;
}

.nav li.arrow.drop ul,
.nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children.drop ul.hs-menu-children-wrapper {
  max-height: 900px;
  visibility: visible;
  opacity: 1;
}

.nav li.arrow ul li {
  margin: 0;
  padding: 0;
  text-transform: none;
}

.nav li.arrow ul li a,
.nav li.arrow ul li a:visited,
.nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > a,
.nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > a:visited {
  padding: 7px 10px 7px 0px;
  text-transform: none;
  font-size: 17px;
  font-weight: 400;
  margin: 3px 0;
  max-width: none;
  width: auto;
}

/* --------- Third Level Nav --------- */

.nav li.arrow ul ul li,
.nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li.hs-item-has-children ul.hs-menu-children-wrapper {
  text-transform: none;
  left: auto;
}

.nav li.arrow ul ul li a,
.nav li.arrow ul ul li a:visited,
.nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > ul > li > a,
.nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > ul > li > a:visited {
  font-size: 16px;
  font-weight: 400;
  padding: 5px 10px 5px 0;
  margin: 8px 0;
  text-transform: none;
  font-style: italic;
}

.nav li.arrow ul ul li a:hover,
.nav li.arrow ul ul li a:focus,
.nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li ul li ul li.active > a {
  background: transparent;
}

@media (min-width: 768px) {
  .nav ul li a,
  .nav ul li a:visited {
    padding: 10px 15px 10px 0px;
  }

  /* ----------- Second Level Nav SMALL ------------- */

  .nav li.arrow ul li a,
  .nav li.arrow ul li a:visited,
  .nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > a,
  .nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > a:visited {
    padding: 10px 10px 10px 0px;
    margin: 0;
    text-transform: none;
  }

  /* --------- Third Level Nav SMALL --------- */

  .nav li.arrow ul ul li a,
  .nav li.arrow ul ul li a:visited,
  .nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > ul > li > a,
  .nav .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > ul > li > a:visited {
    padding: 7px 10px 7px 0px;
    margin: 0;
  }
}


/* -------------- Standard Horizontal Nav ------------ */

@media(min-width: 1200px) {
  .nav.standard {
    margin: 0;
    padding: 0;
  }

  .nav.standard ul,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul {
    list-style: none outside none;
    margin: 0 0 0px 0;
    padding: 0;
    display: block;
  }

  .nav.standard ul li,
  .nav.standard ul li:visited,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-menu-depth-1 {
    background: transparent;
    display: inline-block;
    padding: 0;
    float: none;
    position: relative;
    margin: 0 0 0 10px;
  }

  .nav.standard ul li a,
  .nav.standard ul li a:visited,
  .nav.standard ul li a:focus,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li a {
    background: transparent;
    display: block;
    font-size: 16px;
    line-height: 1.3;
    max-width: none;
    overflow: visible;
    padding: 5px 12px 5px 0px;
    position: relative;
    margin: 0;
    outline: none;
  }

  .nav.standard ul li a:hover,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li a:hover,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.active > a {
    background: transparent;
    text-decoration: none;
  }

  .nav.standard li.arrow > a:after,
  .nav.standard li.arrow > a:visited:after {
    content: "\f0d7";
    display: inline-block;
    position: relative;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    right: auto;
    top: auto;
    margin: 0 0 0 10px;
    font-size: 15px;
    line-height: 1;
    transition: all 0.1s linear 0s;
  }
  
  /* ----------- Second Level Nav ------------- */

  .nav.standard ul ul,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper {
    max-height: none;
    overflow: visible;
    transition: all 0.15s ease 0s;
    list-style-type: none;
    margin: 0;
    padding: 15px 0;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    width: 250px;
  }
  
  .nav.standard ul li:last-child ul,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children:last-child ul.hs-menu-children-wrapper {
    left: auto;
    right: 0;
  }
  
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children:last-child > ul.hs-menu-children-wrapper:before {
    left: auto;
    right: 20px;
  }
  
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children > ul.hs-menu-children-wrapper:before {
    content: '';
    display: block;
    height: 8px;
    width: 8px;
    transform: rotate(45deg);
    position: absolute;
    top: -3px;
    left: 20px;
    transition: all 0.15s ease 0s;
    opacity: 0;
    visibility: hidden;
  }

  .nav.standard li.arrow.drop ul,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children.drop ul.hs-menu-children-wrapper {
    max-height: none;
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  .nav.standard li.arrow.drop > ul:before,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children.drop > ul.hs-menu-children-wrapper:before {
    opacity: 1;
    visibility: visible;
  }

  .nav.standard li.arrow ul li {
    display: block;
    margin: 0;
    padding: 0;
    text-transform: none;
  }

  .nav.standard li.arrow ul li a,
  .nav.standard li.arrow ul li a:visited,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > a,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > a:visited {
    display: block;
    padding: 5px 15px 5px 15px;
    text-transform: none;
    font-size: 17px;
    font-weight: 400;
    margin: 3px 0;
    max-width: none;
    width: auto;
  }
  
  /* --------- Third Level Nav --------- */
  
  .nav.standard ul ul ul,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper ul {
    padding: 0;
    position: relative;
    top: auto;
    left: auto;
  }
  
  .nav.standard ul ul ul:before,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper ul:before {
    display: none;
  }

  .nav.standard li.arrow ul ul li,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper li.hs-item-has-children ul.hs-menu-children-wrapper {
    text-transform: none;
    position: relative;
    top: auto;
    left: auto;
  }

  .nav.standard li.arrow ul ul li a,
  .nav.standard li.arrow ul ul li a:visited,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > ul > li > a,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > ul > li > a:visited {
    display: block;
    font-size: 16px;
    font-weight: 400;
    padding: 5px 10px 5px 25px;
    margin: 5px 0;
    text-transform: none;
    font-style: italic;
  }

  .nav li.arrow ul ul li a:hover,
  .nav li.arrow ul ul li a:focus,
  .nav.standard .hs-menu-wrapper.hs-menu-flow-horizontal > ul li.hs-item-has-children ul.hs-menu-children-wrapper > li > ul > li.active > a {
    background: transparent;
  }
}

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

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

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

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

/* Lightgallery
A plugin for lighbox interaction in portfolio module.
*/

/* Lightgallery */

button.lg-close.lg-icon:after,
.lg-prev.lg-icon:after,
.lg-next.lg-icon:before {
  content: "";
}

.lg-close.lg-icon svg {
  fill: white;
}

.mportfolio-item img {
  width: 100%;
}

.work-clicker {
  cursor: pointer;
}

.focus-prev,
.focus-next,
.focus-close {
  width: 32px;
  height: 32px;
  filter: brightness(0) invert(1);
  background-size: 32px 32px;
}

.focus-prev {
  background-image: url(//22255530.fs1.hubspotusercontent-na1.net/hubfs/22255530/raw_assets/public/V2%20client%20hub/images/lightgallery/chevron-left.svg);
}

.focus-next {
  background-image: url(//22255530.fs1.hubspotusercontent-na1.net/hubfs/22255530/raw_assets/public/V2%20client%20hub/images/lightgallery/chevron-right.svg);
}

.focus-close {
  background-image: url(//22255530.fs1.hubspotusercontent-na1.net/hubfs/22255530/raw_assets/public/V2%20client%20hub/images/lightgallery/cross.svg);
}

.lg button.lg-next,
.lg button.lg-prev {
  border-radius: 0;
  box-shadow: none;
  border: none;
  padding: 0;
  border-bottom: 0;
}