@import url(https://p.typekit.net/p.css?s=1&k=uuj6ibr&ht=tk&f=171.172.175.176.25136.15759.15760.22737.22740&a=232821&app=typekit&e=css);@charset "UTF-8";

/*! 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.
 */

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

/* 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.
 */

/**
 * 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.
 */

/**
 * 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.
 */

/* 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,
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 { /* 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.
 */

/**
 * 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.
 */

/**
 * 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.
 */

/*
 * Add the correct display in all browsers.
 */

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

/**
 * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
 * A thin layer on top of normalize.css that provides a starting point more
 * suitable for web applications.
 */

/**
 * Removes the default spacing and border for appropriate elements.
 */


dl,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
p {
  margin: 0;
}

button {
  background-color: transparent;
  background-image: none;
  padding: 0;
}

/**
 * Work around a Firefox/IE bug where the transparent `button` background
 * results in a loss of the default `button` focus styles.
 */

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/**
 * Tailwind custom reset styles
 */

/**
 * 1. Use the user's configured `sans` font-family (with Tailwind's default
 *    sans-serif font stack as a fallback) as a sane default.
 * 2. Use Tailwind's default "normal" line-height so the user isn't forced
 *    to override it to ensure consistency even when using the default theme.
 */

html {
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 1 */
  line-height: 1.5; /* 2 */
}

/**
 * 1. Prevent padding and border from affecting element width.
 *
 *    We used to set this in the html element and inherit from
 *    the parent element for everything else. This caused issues
 *    in shadow-dom-enhanced elements like <details> where the content
 *    is wrapped by a div with box-sizing set to `content-box`.
 *
 *    https://github.com/mozdevs/cssremedy/issues/4
 *
 *
 * 2. Allow adding a border to an element by just adding a border-width.
 *
 *    By default, the way the browser specifies that an element should have no
 *    border is by setting it's border-style to `none` in the user-agent
 *    stylesheet.
 *
 *    In order to easily add borders to elements by just setting the `border-width`
 *    property, we change the default border-style for all elements to `solid`, and
 *    use border-width to hide them instead. This way our `border` utilities only
 *    need to set the `border-width` property instead of the entire `border`
 *    shorthand, making our border utilities much more straightforward to compose.
 *
 *    https://github.com/tailwindcss/tailwindcss/pull/116
 */

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e2e8f0; /* 2 */
}

/*
 * Ensure horizontal rules are visible by default
 */

/**
 * Undo the `border-style: none` reset that Normalize applies to images so that
 * our `border-{width}` utilities have the expected effect.
 *
 * The Normalize reset is unnecessary for us since we default the border-width
 * to 0 on all elements.
 *
 * https://github.com/tailwindcss/tailwindcss/issues/362
 */

img {
  border-style: solid;
}

textarea {
  resize: vertical;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #a0aec0;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #a0aec0;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #a0aec0;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #a0aec0;
}

input::placeholder,
textarea::placeholder {
  color: #a0aec0;
}

button,
[role="button"] {
  cursor: pointer;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/**
 * Reset links to optimize for opt-in styling instead of
 * opt-out.
 */

a {
  color: inherit;
  text-decoration: inherit;
}

/**
 * Reset form element properties that are easy to forget to
 * style explicitly so you don't inadvertently introduce
 * styles that deviate from your design system. These styles
 * supplement a partial reset that is already applied by
 * normalize.css.
 */

button,
input,
textarea {
  padding: 0;
  line-height: inherit;
  color: inherit;
}

/**
 * Use the configured 'mono' font family for elements that
 * are expected to be rendered with a monospace font, falling
 * back to the system monospace stack if there is no configured
 * 'mono' font family.
 */

/**
 * Make replaced elements `display: block` by default as that's
 * the behavior you want almost all of the time. Inspired by
 * CSS Remedy, with `svg` added as well.
 *
 * https://github.com/mozdevs/cssremedy/issues/14
 */

img,
svg,
video,
canvas,
iframe {
  display: block;
  vertical-align: middle;
}

/**
 * Constrain images and videos to the parent width and preserve
 * their instrinsic aspect ratio.
 *
 * https://github.com/mozdevs/cssremedy/issues/14
 */

img,
video {
  max-width: 100%;
  height: auto;
}

.container{
  width: 100%;
}

@media (min-width: 640px){
  .container{
    max-width: 640px;
  }
}

@media (min-width: 768px){
  .container{
    max-width: 768px;
  }
}

@media (min-width: 1024px){
  .container{
    max-width: 1024px;
  }
}

@media (min-width: 1170px){
  .container{
    max-width: 1170px;
  }
}

@media (min-width: 1232px){
  .container{
    max-width: 1232px;
  }
}

@font-face {
  font-family: "proxima-nova";

  src: url("https://use.typekit.net/af/705e94/00000000000000003b9b3062/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3") format("woff2"), url("https://use.typekit.net/af/705e94/00000000000000003b9b3062/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3") format("woff"), url("https://use.typekit.net/af/705e94/00000000000000003b9b3062/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n4&v=3") format("opentype");

  font-display: auto;

  font-style: normal;

  font-weight: 400;

  font-display: swap;
}

@font-face {
  font-family: "proxima-nova";

  src: url("https://use.typekit.net/af/5c70f2/00000000000000003b9b3063/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3") format("woff2"), url("https://use.typekit.net/af/5c70f2/00000000000000003b9b3063/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3") format("woff"), url("https://use.typekit.net/af/5c70f2/00000000000000003b9b3063/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=i4&v=3") format("opentype");

  font-display: auto;

  font-style: italic;

  font-weight: 400;

  font-display: swap;
}

@font-face {
  font-family: "proxima-nova";

  src: url("https://use.typekit.net/af/6e816b/00000000000000003b9b3064/27/l?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n5&v=3") format("woff2"), url("https://use.typekit.net/af/6e816b/00000000000000003b9b3064/27/d?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n5&v=3") format("woff"), url("https://use.typekit.net/af/6e816b/00000000000000003b9b3064/27/a?primer=7fa3915bdafdf03041871920a205bef951d72bf64dd4c4460fb992e3ecc3a862&fvd=n5&v=3") format("opentype");

  font-display: auto;

  font-style: normal;

  font-weight: 500;

  font-display: swap;
}

.tk-proxima-nova {
  font-family: "proxima-nova", sans-serif;
}

.tk-merriweather {
  font-family: "proxima-nova", serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: proxima-nova, Cambria, "Times New Roman", Times, serif;
  font-weight: 400;
  margin-bottom: 1rem;
  line-height: 1.25;
}

section {
  width: 100%;
  float: left;
}

.validation_container, .gform_validation_container {
  display: none;
}

header {
  transition-property: all;
  transition-duration: 100ms;
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

header.fixed-scroll {
  --text-opacity: 1;
  color: #333333;
  color: rgba(51, 51, 51, var(--text-opacity));
  --bg-opacity: 1;
  background-color: #FFFFFF;
  background-color: rgba(255, 255, 255, var(--bg-opacity));
  transition-property: all;
  transition-duration: 100ms;
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

header.fixed-scroll .fixed-logo {
  display: block;
}

header.fixed-scroll .main-logo {
  display: none;
}

header.mobile-active {
  --bg-opacity: 1;
  background-color: #FFFFFF;
  background-color: rgba(255, 255, 255, var(--bg-opacity));
  --text-opacity: 1;
  color: #333333;
  color: rgba(51, 51, 51, var(--text-opacity));
}

header.mobile-active .top-nav {
  display: block;
}

.section-title-black, .section-title, .gform_heading {
  font-size: 0.875rem;
  position: relative;
}

.section-title-black:after, .section-title:after, .gform_heading:after {
  content: "";
  width: 40px;
  height: 3px;
  background-color: #212121;
  position: absolute;
  top: 0px;
  left: 0;
}

.section-title-white {
  font-size: 0.875rem;
}

.section-title-white:after {
  content: "";
  width: 40px;
  height: 3px;
  background-color: #FFF;
  position: absolute;
  top: 0px;
  left: 0;
}

p {
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
}

a.return {
  display: flex;
  align-items: center;
}

a.return:before {
  content: "";
  background: url(../../img/icon/blue-arrow.svg) center no-repeat;
  background-size: 18px;
  width: 20px;
  float: left;
  margin-right: 10px;
  height: 14px;
  transform: rotate(180deg);
}

.title-content h2 span {
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
}

a.learn-more {
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
  font-weight: 700;
  display: flex;
  align-items: center;
}

a.learn-more span {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  font-weight: 300;
}

a.learn-more:after {
  content: "";
  background: url(../../img/icon/blue-arrow.svg) center no-repeat;
  background-size: 18px;
  width: 20px;
  height: 14px;
}

a.learn-more.black {
  --text-opacity: 1;
  color: #333333;
  color: rgba(51, 51, 51, var(--text-opacity));
}

a.learn-more.black:after {
  content: "";
  background: url(../../img/icon/black-arrow.svg) center no-repeat;
  background-size: 16px;
  width: 20px;
  height: 14px;
}

a.learn-more.black:hover {
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

a.learn-more.black:hover:after {
  content: "";
  background: url(../../img/icon/blue-arrow.svg) center no-repeat;
  background-size: 16px;
  width: 20px;
  height: 14px;
}

a.learn-more.white {
  --text-opacity: 1;
  color: #FFFFFF;
  color: rgba(255, 255, 255, var(--text-opacity));
}

a.learn-more.white:after {
  content: "";
  background: url(../../img/icon/white-arrow.svg) center no-repeat;
  background-size: 16px;
  width: 20px;
  height: 14px;
}

.blog-item p {
  font-size: 0.875rem;
}

.pagination {
  padding-top: 6rem;
}

.pagination span, .pagination a {
  --border-opacity: 1;
  border-color: #333333;
  border-color: rgba(51, 51, 51, var(--border-opacity));
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  --bg-opacity: 1;
  background-color: #FFFFFF;
  background-color: rgba(255, 255, 255, var(--bg-opacity));
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}

.pagination span.next, .pagination a.next {
  display: flex;
  align-items: center;
}

.pagination span.next:after, .pagination a.next:after {
  content: "";
  background: url(../../img/icon/blue-arrow.svg) center no-repeat;
  background-size: 18px;
  width: 20px;
  float: right;
  margin-left: 10px;
  height: 14px;
}

.pagination span.prev, .pagination a.prev {
  display: flex;
  align-items: center;
}

.pagination span.prev:before, .pagination a.prev:before {
  content: "";
  background: url(../../img/icon/blue-arrow.svg) center no-repeat;
  background-size: 18px;
  width: 20px;
  float: left;
  margin-right: 10px;
  height: 14px;
  transform: rotate(180deg);
}

.container-xl {
  max-width: 1600px;
}

.container-lg {
  max-width: 1340px;
  position: relative;
}

.container-lg:after {
  height: 100%;
  width: 100%;
  background: #333333;
  content: "";
  position: absolute;
  top: 0;
  left: 99%;
}

.bg-trans-black {
  background: rgba(0, 0, 0, 0.75);
}

.service-content p, .service-content li {
  line-height: 1.625;
}

.service-content a:hover {
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
}

.h-full-width-banner {
  height: 20rem;
}

@media (min-width: 1024px) {
  .h-full-width-banner {
    height: 32rem;
  }
}

.gated-content-w {
  top: 100%;
}

.gated-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 30;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  height: 1000%;
}

#page {
  overflow: hidden;
}

a.apply-now {
  top: 0;
  display: inline-block;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.875rem;
  font-weight: 700;
  transition-property: all;
  transition-duration: 200ms;
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  border-width: 2px;
  border-radius: 9999px;
  --border-opacity: 1;
  border-color: #2196F3;
  border-color: rgba(33, 150, 243, var(--border-opacity));
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
  text-align: center;
  margin-top: -4rem;
  margin-bottom: 2.5rem;
}

a.apply-now:hover {
  --bg-opacity: 1;
  background-color: #2196F3;
  background-color: rgba(33, 150, 243, var(--bg-opacity));
  --text-opacity: 1;
  color: #FFFFFF;
  color: rgba(255, 255, 255, var(--text-opacity));
}

@media (min-width: 1024px) {
  a.apply-now {
    position: absolute;
    margin-top: 19rem;
    right: 0;
    font-size: 1rem;
  }
}

a.anchor {
  display: block;
  position: relative;
  top: -110px;
  visibility: hidden;
}

@media (min-width: 1024px) {
  a.anchor {
    top: -220px;
  }
}

.content.bg-navy p {
  color: #FFF !important;
}

.content .job-opening {
  width: 100%;
  margin-bottom: 1.5rem;
}

.content .job-opening h3 {
  margin-bottom: 0.5rem;
}

.content .job-opening p {
  font-size: 0.875rem;
}

.content p {
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  margin-bottom: 1.25rem;
  font-size: 1.125rem;
  --text-opacity: 1;
  color: #333333;
  color: rgba(51, 51, 51, var(--text-opacity));
  line-height: 1.625;
}

.single .content p {
  --text-opacity: 1;
  color: #333333;
  color: rgba(51, 51, 51, var(--text-opacity));
}

.content a {
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
}

.content ul {
  padding-left: 1rem;
  padding-bottom: 0.5rem;
}

.content ul li {
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  list-style-type: disc;
}

.content ol {
  padding-left: 1rem;
  padding-bottom: 0.5rem;
}

.content ol li {
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  list-style-type: decimal;
}

.content h4 {
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.content h2 {
  font-family: proxima-nova, Cambria, "Times New Roman", Times, serif;
}

.content .sub-content p, .content .sub-content li {
  font-size: 90%;
}

h1 {
  font-size: 2rem;
}

@media (min-width: 1024px) {
  h1 {
    font-size: 4rem;
  }
}

h2 {
  font-size: 1.875rem;
}

@media (min-width: 1024px) {
  h2 {
    font-size: 2rem;
    margin-bottom: 2.5rem;
  }
}

h3 {
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 1024px) {
  h3 {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

h4 {
  font-size: 1.125rem;
}

@media (min-width: 1024px) {
  h4 {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}

h5 {
  font-size: 1rem;
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.embed-container iframe, .embed-container object, .embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
section.text-black .sub-content .embed-container {
  margin-bottom: 20px;
}

#site .validation_error {
  display: none !important;
}

#site .ginput_container {
  margin-top: 0;
}

#site .gfield_error {
  background: transparent;
  border: 0;
}

#site .gform_wrapper .validation_message {
  --text-opacity: 1;
  color: #333333;
  color: rgba(51, 51, 51, var(--text-opacity));
}

#site .gform_wrapper .form-group {
  margin-bottom: 1rem;
}
.checkbox-group {
  display: flex;
  flex-flow: wrap;
}
.checkbox-group label {
  flex: 0 0 50%;
}
#site .gform_wrapper input[type=text], #site .gform_wrapper input[type=email], #site .gform_wrapper input[type=linkedin], #site .gform_wrapper textarea {
  padding: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  width: 100%;
  --bg-opacity: 1;
  background-color: #FFFFFF;
  background-color: rgba(255, 255, 255, var(--bg-opacity));
  font-size: 1rem;
  margin-top: 0;
  --border-opacity: 1;
  border-color: #2196F3;
  border-color: rgba(33, 150, 243, var(--border-opacity));
  border-width: 1px;
  border-radius: 0.125rem;
}
#site .gform_wrapper select.sja-select, #site .gform_wrapper select.sja-select:focus,
#site .gform_wrapper select.sja-select:focus-visible, #site .gform_wrapper select::selection {
  padding: 1rem;
  font-size: 1rem;
  font-family: inherit;
  padding-left: 1.8rem;
  padding-right: 2rem;
  width: 100%;
  --border-opacity: 1;
  border-color: #2196F3;
  border-color: rgba(33, 150, 243, var(--border-opacity));
  border-width: 1px;
  border-radius: 0.125rem;
  color: #a0aec0 !important;
  background-color: #fff;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
#site .gform_wrapper select.sja-select:focus {
  border-width: 2px;
}

#site .gform_wrapper input[type=text]:focus, #site .gform_wrapper input[type=email]:focus, #site .gform_wrapper input[type=linkedin]:focus, #site .gform_wrapper textarea:focus {
  outline: none;
  border-radius: 0;
  border-width: 2px;
  font-weight: 700;
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
  margin-top: -1px;
  margin-bottom: -1px;
}

#site h3.gform_title {
  font-weight: 700;
  text-transform: uppercase;
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 0.875rem;
  padding-top: 0.75rem;
}

#site textarea {
  height: 8rem;
}

#site .gform_wrapper input[type=submit], #site .gform_wrapper button[type=submit] {
  padding: 0.75rem;
  width: 100%;
  float: left;
  text-transform: uppercase;
  padding-left: 4rem;
  padding-right: 4rem;
  --bg-opacity: 1;
  background-color: #2196F3;
  background-color: rgba(33, 150, 243, var(--bg-opacity));
  --border-opacity: 1;
  border-color: #2196F3;
  border-color: rgba(33, 150, 243, var(--border-opacity));
  --text-opacity: 1;
  color: #FFFFFF;
  color: rgba(255, 255, 255, var(--text-opacity));
  font-size: 1rem;
  margin-top: 0;
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-duration: 300ms;
  font-weight: 700;
  border-width: 1px;
  cursor: pointer;
  border-radius: 0.125rem;
}

#site .gform_wrapper input[type=submit]:hover, #site .gform_wrapper button[type=submit]:hover {
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-duration: 300ms;
  --text-opacity: 1;
  color: #FFFFFF;
  color: rgba(255, 255, 255, var(--text-opacity));
  --bg-opacity: 1;
  background-color: #2196F3;
  background-color: rgba(33, 150, 243, var(--bg-opacity));
}

#site .gform_wrapper input[type=submit]:focus, #site .gform_wrapper button[type=submit]:focus {
  outline: none;
  border-radius: 0;
}

@media screen and (max-height: 720px) {
  #subscriptionSection {
    display: none;
  }
}

#subscription input[type=text]#input_4_1 {
  --border-opacity: 1;
  border-color: #FFFFFF;
  border-color: rgba(255, 255, 255, var(--border-opacity));
  --text-opacity: 1;
  color: #333333;
  color: rgba(51, 51, 51, var(--text-opacity));
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  width: 100%;
  border-width: 1px;
  border: 1px solid #FFF !important;
  font-weight: 400;
}

#subscription input[type=text]#input_4_1:focus {
  outline: none !important;
  border: 1px solid #FFF !important;
  margin: 0;
}

#subscription #gform_4 {
  position: relative;
  margin-bottom: 0;
}

#subscription #gform_4 .validation_message {
  --text-opacity: 1;
  color: #FFFFFF;
  color: rgba(255, 255, 255, var(--text-opacity));
  font-size: 0.75rem;
  padding-top: 0.5rem;
}

#subscription #field_4_1 label {
  display: none;
}

#subscription input[type=submit]#gform_submit_button_4 {
  position: absolute;
  right: 0;
  top: 0;
  --text-opacity: 1;
  color: #FFFFFF;
  color: rgba(255, 255, 255, var(--text-opacity));
  --bg-opacity: 1;
  background-color: #092D52;
  background-color: rgba(8, 46, 84, var(--bg-opacity));
  --border-opacity: 1;
  border-color: #2196F3;
  border-color: rgba(33, 150, 243, var(--border-opacity));
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  border-width: 1px;
  font-weight: 700;
  width: auto;
  text-transform: capitalize;
}

#subscription input[type=submit]#gform_submit_button_4:focus {
  outline: none !important;
}

.body-4-columns p {
  font-size: 0.875rem;
}

.body-4-columns span {
  top: -8px;
}

.body-4-columns .body-4-columns-title span {
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
}

input[type=number] {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 0;
  padding-right: 0;
  margin-bottom: 1.25rem;
  text-align: center;
}

.answer p {
  font-size: 0.9rem;
}

.bx-pager {
  display: flex;
  justify-content: center;
  padding-top: 2.5rem;
  padding-left: 5rem;
  padding-right: 5rem;
}

.bx-pager .bx-pager-item {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  font-size: 0.75rem;
}

.bx-pager .bx-pager-item a.bx-pager-link {
  border-radius: 9999px;
  --bg-opacity: 1;
  background-color: #727272;
  background-color: rgba(114, 114, 114, var(--bg-opacity));
  height: 0.5rem;
  width: 0.5rem;
  float: left;
  --text-opacity: 1;
  color: #727272;
  color: rgba(114, 114, 114, var(--text-opacity));
  overflow: hidden;
}

.bx-pager .bx-pager-item a.bx-pager-link.active {
  --bg-opacity: 1;
  background-color: #2196F3;
  background-color: rgba(33, 150, 243, var(--bg-opacity));
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
}

a.btn, button.btn {
  --text-opacity: 1;
  color: #FFFFFF;
  color: rgba(255, 255, 255, var(--text-opacity));
  font-weight: 700;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  --bg-opacity: 1;
  background-color: #9f7aea;
  background-color: rgba(159, 122, 234, var(--bg-opacity));
  font-size: 1.25rem;
}

a.btn:hover, button.btn:hover {
  font-weight: 700;
  --bg-opacity: 1;
  background-color: #6b46c1;
  background-color: rgba(107, 70, 193, var(--bg-opacity));
}

.wp-video {
  width: 100% !important;
  padding-top: 1rem;
}

.services h4 {
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: 700;
}

.services p, .services li {
  font-size: 1.125rem;
}

.services ol, .services ul {
  padding-left: 1.25rem;
  margin-bottom: 1.25rem;
}

.services ul li {
  list-style-type: disc;
}

.services ol li {
  list-style-type: decimal;
}

.banner-min-h {
  min-height: 500px;
}

.top-bottom {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media (min-width: 1024px) {
  .top-bottom {
    padding-top: 12rem;
    padding-bottom: 12rem;
  }
}

.left-right {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

@media (min-width: 768px) {
  .left-right {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

@media (min-width: 1024px) {
  .left-right {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.feature-background {
  position: absolute;
  bottom: 0;
  z-index: 10;
  width: 100%;
  height: 50%;
}

img.full-img {
  width: 100%;
  height: auto;
}

.modal-w, .mobile-menu-enquiry-w {
  display: none;
}

.case-study:last-child() {
  margin-bottom: 0;
}

.testimonial-image img {
  margin-bottom: 1.5rem;
  margin-top: -12rem;
}

@media (min-width: 1024px) {
  .testimonial-image img {
    position: absolute;
    top: -230px;
    left: -60px;
    width: 60%;
    margin-bottom: 0;
    margin-top: 0;
  }
}

.testimonial-content h2 {
  position: relative;
}

.testimonial-content h2:before {
  --text-opacity: 1;
  color: #727272;
  color: rgba(114, 114, 114, var(--text-opacity));
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  content: "\201C";
  font-size: 180px;
  font-weight: 300;
  position: absolute;
  right: 100%;
  top: 0;
  margin-right: 28px;
  line-height: 135px;
}

.testimonial-position {
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
  font-size: 1rem;
  display: flex;
  align-items: center;
}

.testimonial-position:before {
  content: "/";
  margin-left: 1rem;
  margin-right: 1rem;
  --text-opacity: 1;
  color: #D0D0D0;
  color: rgba(208, 208, 208, var(--text-opacity));
  font-size: 1.5rem;
}

ul#menuFooter {
  float: left;
  width: 100%;
}

@media (min-width: 768px) {
  ul#menuFooter li {
    width: 50%;
    float: left;
  }

  ul#menuFooter li:nth-child(even) {
    float: right;
  }
}

@media (min-width: 1024px) {
  ul#menuFooter li {
    text-align: left;
  }
}

.youtube-pop {
  background: url(../images/video-icon@2x.png) center center no-repeat;
  background-size: 60px;
}

.has-dropdown:hover {
  cursor: pointer;
}

.has-dropdown:hover ul.invisible {
  visibility: visible !important;
}

.content-image .max-w-sm {
  max-width: 36rem;
}



.number-lrg {
  font-size: 120px;
  font-weight: 900;
  line-height: 80px;
}

@media (min-width: 1024px) {
  .number-lrg {
    font-size: 150px;
    font-weight: 900;
    line-height: 100px;
  }
}

.faq-q {
  width: 32px;
  height: 32px;
}

#menu .burger-icon {
  position: relative;
  margin-top: 7px;
  margin-bottom: 7px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#menu .burger-icon, #menu .burger-icon::before, #menu .burger-icon::after {
  display: block;
  width: 24px;
  height: 2px;
  background-color: #FFF;
  outline: 1px solid transparent;
  transition-property: background-color, transform;
  transition-duration: 0.3s;
}

#menu .burger-icon::before, #menu .burger-icon::after {
  position: absolute;
  content: "";
}

#menu .burger-icon::before {
  top: -7px;
}

#menu .burger-icon::after {
  top: 7px;
}

#menu .burger-icon.text-black {
  position: relative;
  margin-top: 7px;
  margin-bottom: 7px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

#menu .burger-icon.text-black, #menu .burger-icon.text-black::before, #menu .burger-icon.text-black::after {
  display: block;
  width: 24px;
  height: 2px;
  background-color: #000;
  outline: 1px solid transparent;
  transition-property: background-color, transform;
  transition-duration: 0.3s;
}

#menu .burger-icon.text-black::before, #menu .burger-icon.text-black::after {
  position: absolute;
  content: "";
}

#menu .burger-icon.text-black::before {
  top: -7px;
}

#menu .burger-icon.text-black::after {
  top: 7px;
}

#menu.is-active .burger-icon {
  background-color: #000 !important;
}

#menu.is-active .burger-icon:before, #menu.is-active .burger-icon:after {
  background-color: #000 !important;
}

li.gfield_contains_required {
  position: relative;
}

li.gfield_contains_required .validation_message {
  position: absolute;
  top: 0;
  right: 0;
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
  padding-top: 1.25rem;
  padding-right: 1rem;
  font-size: 0.75rem;
  color: red !important;
}

.text-only-banner {
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
}

.text-only-banner p {
  font-weight: 700;
  font-size: 0.875rem;
}

.text-only-banner h1 {
  font-weight: 700;
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 2rem;
}

@media (min-width: 1024px) {
  .text-only-banner h1 {
    width: 50%;
    font-size: 4rem;
    line-height: 1.25;
  }
}

.page-id-4470 .text-only-banner {
  --text-opacity: 1;
  color: #333333;
  color: rgba(51, 51, 51, var(--text-opacity));
}

.page-id-4470 .text-only-banner h1 {
  font-family: proxima-nova, Cambria, "Times New Roman", Times, serif;
  font-weight: 300;
}

.page-id-4470 .text-only-banner p {
  width: 75%;
  margin-top: 1rem;
  font-weight: 300;
}

@media (min-width: 1024px) {
  .page-id-4470 .text-only-banner p {
    width: 25%;
  }
}

.page-id-4470 .text-only-banner p:last-child {
  width: 100%;
  margin-top: 0;
}

.page-id-4470 .text-only-banner a {
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
  font-weight: 700;
  display: flex;
  align-items: center;
  float: right;
}

@media (min-width: 1024px) {
  .page-id-4470 .text-only-banner a {
    margin-right: 5rem;
  }
}

.page-id-4470 .text-only-banner a:after {
  content: "";
  background: url(../../img/icon/blue-arrow.svg) center no-repeat;
  background-size: 16px;
  width: 20px;
  height: 14px;
}

.page-id-4470 .text-only-banner a span {
  font-weight: 300;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.text-image-banner h1 {
  font-weight: 700;
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 2rem;
  margin-bottom: 0;
  width: 100%;
}

@media (min-width: 768px) {
  .text-image-banner h1 {
    width: 100%;
    font-size: 4rem;
    line-height: 1;
  }
}

.text-image-banner h1 em {
  font-style: normal;
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
}

.page-id-4191 .text-image-banner h1 {
  font-weight: 300;
}

@media (min-width: 1024px) {
  .page-id-4191 .text-image-banner h1 {
    width: 50%;
  }
}

.text-image-banner h2 {
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.875rem;
  font-weight: 300;
  margin-bottom: 0;
  width: 75%;
}

@media (min-width: 768px) {
  .text-image-banner h2 {
    width: 75%;
    font-size: 2.625rem;
    line-height: 1.25;
  }
}

.text-image-banner p {
  margin-top: 1rem;
}

@media (min-width: 1024px) {
  .text-image-banner p {
    width: 33.333333%;
  }
}

.text-image-banner p:last-child {
  width: 100%;
  margin-top: 0;
}

.text-image-banner a {
  --text-opacity: 1;
  color: #FFFFFF;
  color: rgba(255, 255, 255, var(--text-opacity));
  font-weight: 700;
  display: flex;
  align-items: center;
  float: right;
}

@media (min-width: 1024px) {
  .text-image-banner a {
    margin-right: 5rem;
  }
}

.text-image-banner a:after {
  content: "";
  background: url(../../img/icon/white-arrow.svg) center no-repeat;
  background-size: 16px;
  width: 20px;
  height: 14px;
}

.text-image-banner a span {
  font-weight: 300;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.left-constrained {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media (min-width: 1024px) {
  .left-constrained .constrained-content {
    padding-right: 6rem;
  }
}

.right-constrained {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media (min-width: 1024px) {
  .right-constrained .constrained-content {
    padding-left: 6rem;
  }
}

@media (min-width: 768px) {
  .right-half {
    direction: rtl;
  }
  .right-half .text-left {
    direction: ltr;
  }
}

.content-title span {
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
}

.numbers {
  background: #F5F5F5;
  overflow: hidden;
}

.numbers span {
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
}

.numbers .number span {
  --text-opacity: 1;
  color: #333333;
  color: rgba(51, 51, 51, var(--text-opacity));
}

.numbers .number:nth-child(2) {
  background: #D0D0D0;
}

.numbers .number:nth-child(2) .number-lrg {
  opacity: 0.5;
}

.numbers .number:nth-child(3) {
  background: #333333;
  --text-opacity: 1;
  color: #FFFFFF;
  color: rgba(255, 255, 255, var(--text-opacity));
}

.numbers .number:nth-child(3) .number-lrg {
  opacity: 0.25;
}

.numbers .number:nth-child(3) span {
  --text-opacity: 1;
  color: #FFFFFF;
  color: rgba(255, 255, 255, var(--text-opacity));
}

.gform_footer {
  display: flex;
  align-items: center;
}

.hidden_label label {
  display: none;
}

ul.gform_fields {
  padding: 0;
  margin: 0;
}

ul.gform_fields li {
  list-style-type: none;
  margin-bottom: 1rem;
}

.gform_ajax_spinner {
  margin-left: 20px;
  border: 4px solid #d1e7f9;
  border-left: 4px solid #2196F3;
  -webkit-animation: spinner 1.1s infinite linear;
          animation: spinner 1.1s infinite linear;
  border-radius: 100%;
  width: 34px;
  height: 33px;
  float: right;
}

@-webkit-keyframes spinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.bg-fixed{
  background-attachment: fixed;
}

.bg-black{
  --bg-opacity: 1;
  background-color: #333333;
  background-color: rgba(51, 51, 51, var(--bg-opacity));
}

.bg-white{
  --bg-opacity: 1;
  background-color: #FFFFFF;
  background-color: rgba(255, 255, 255, var(--bg-opacity));
}

.bg-gray-300{
  --bg-opacity: 1;
  background-color: #e2e8f0;
  background-color: rgba(226, 232, 240, var(--bg-opacity));
}

.bg-teal-400{
  --bg-opacity: 1;
  background-color: #4fd1c5;
  background-color: rgba(79, 209, 197, var(--bg-opacity));
}

.bg-blue{
  --bg-opacity: 1;
  background-color: #2196F3;
  background-color: rgba(33, 150, 243, var(--bg-opacity));
}

.bg-purple-400{
  --bg-opacity: 1;
  background-color: #b794f4;
  background-color: rgba(183, 148, 244, var(--bg-opacity));
}

.bg-navy{
  --bg-opacity: 1;
  background-color: #092D52;
  background-color: rgba(8, 46, 84, var(--bg-opacity));
}

.bg-lightgrey{
  --bg-opacity: 1;
  background-color: #F5F5F5;
  background-color: rgba(245, 245, 245, var(--bg-opacity));
}

.bg-lightergrey{
  --bg-opacity: 1;
  background-color: #F1F1F1;
  background-color: rgba(241, 241, 241, var(--bg-opacity));
}

.hover\:bg-blue:hover{
  --bg-opacity: 1;
  background-color: #2196F3;
  background-color: rgba(33, 150, 243, var(--bg-opacity));
}

.bg-center{
  background-position: center;
}

.bg-cover{
  background-size: cover;
}

.border-transparent{
  border-color: transparent;
}

.border-black{
  --border-opacity: 1;
  border-color: #333333;
  border-color: rgba(51, 51, 51, var(--border-opacity));
}

.border-white{
  --border-opacity: 1;
  border-color: #FFFFFF;
  border-color: rgba(255, 255, 255, var(--border-opacity));
}

.border-blue{
  --border-opacity: 1;
  border-color: #2196F3;
  border-color: rgba(33, 150, 243, var(--border-opacity));
}

.border-greyborder{
  --border-opacity: 1;
  border-color: #D8D8D8;
  border-color: rgba(216, 216, 216, var(--border-opacity));
}

.border-lightgrey{
  --border-opacity: 1;
  border-color: #F5F5F5;
  border-color: rgba(245, 245, 245, var(--border-opacity));
}

.hover\:border-blue:hover{
  --border-opacity: 1;
  border-color: #2196F3;
  border-color: rgba(33, 150, 243, var(--border-opacity));
}

.border-opacity-25{
  --border-opacity: 0.25;
}

.rounded-full{
  border-radius: 9999px;
}

.border-2{
  border-width: 2px;
}

.border{
  border-width: 1px;
}

.border-t-2{
  border-top-width: 2px;
}

.border-b-2{
  border-bottom-width: 2px;
}

.border-t{
  border-top-width: 1px;
}

.border-b{
  border-bottom-width: 1px;
}

.cursor-pointer{
  cursor: pointer;
}

.block{
  display: block;
}

.inline-block{
  display: inline-block;
}

.flex{
  display: flex;
}

.grid{
  display: grid;
}

.hidden{
  display: none;
}

.flex-wrap{
  flex-wrap: wrap;
}

.items-center{
  align-items: center;
}

.justify-center{
  justify-content: center;
}

.justify-between{
  justify-content: space-between;
}

.flex-shrink-0{
  flex-shrink: 0;
}

.float-right{
  float: right;
}

.float-left{
  float: left;
}

.float-none{
  float: none;
}

.font-sans{
  font-family: proxima-nova, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

.font-serif{
  font-family: proxima-nova, Cambria, "Times New Roman", Times, serif;
}

.font-light{
  font-weight: 300;
}

.font-bold{
  font-weight: 700;
}

.h-8{
  height: 2rem;
}

.h-10{
  height: 2.5rem;
}

.h-32{
  height: 8rem;
}

.h-48{
  height: 12rem;
}

.h-56{
  height: 14rem;
}

.h-64{
  height: 16rem;
}

.h-72{
  height: 19rem;
}

.h-full{
  height: 100%;
}

.h-screen{
  height: 100vh;
}

.text-xs{
  font-size: 0.75rem;
}

.text-sm, .text-sm p {
  font-size: 0.875rem;
}

.text-base{
  font-size: 1rem;
}

.text-xl{
  font-size: 1.25rem;
}

.text-2xl{
  font-size: 1.5rem;
}

.text-3xl{
  font-size: 1.875rem;
}

.text-4xl{
  font-size: 2rem;
}

.text-5xl{
  font-size: 2.625rem;
}

.leading-none{
  line-height: 1;
}

.leading-tight{
  line-height: 1.25;
}

.leading-normal{
  line-height: 1.5;
}

.leading-relaxed{
  line-height: 1.625;
}

.leading-loose{
  line-height: 2;
}

.m-auto{
  margin: auto;
}

.mx-2{
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.mx-auto{
  margin-left: auto;
  margin-right: auto;
}

.mb-0{
  margin-bottom: 0;
}

.mt-2{
  margin-top: 0.5rem;
}

.mr-2{
  margin-right: 0.5rem;
}

.mb-2{
  margin-bottom: 0.5rem;
}

.mt-3{
  margin-top: 0.75rem;
}

.mr-3{
  margin-right: 0.75rem;
}

.mt-4{
  margin-top: 1rem;
}

.mr-4{
  margin-right: 1rem;
}

.mb-4{
  margin-bottom: 1rem;
}

.mt-6{
  margin-top: 1.5rem;
}

.mr-6{
  margin-right: 1.5rem;
}

.mb-6{
  margin-bottom: 1.5rem;
}

.mb-8{
  margin-bottom: 2rem;
}

.mt-10{
  margin-top: 2.5rem;
}

.mr-10{
  margin-right: 2.5rem;
}

.mb-10{
  margin-bottom: 2.5rem;
}

.mb-16{
  margin-bottom: 4rem;
}

.mr-20{
  margin-right: 5rem;
}

.mb-20{
  margin-bottom: 5rem;
}

.mt-24{
  margin-top: 6rem;
}

.mb-24{
  margin-bottom: 6rem;
}

.ml-auto{
  margin-left: auto;
}

.-mb-6{
  margin-bottom: -1.5rem;
}

.max-w-sm{
  max-width: 24rem;
}

.max-w-xl{
  max-width: 36rem;
}

.max-w-4xl{
  max-width: 56rem;
}

.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}

.opacity-0{
  opacity: 0;
}

.opacity-50{
  opacity: 0.5;
}

.opacity-75{
  opacity: 0.75;
}

.hover\:opacity-75:hover{
  opacity: 0.75;
}

.p-2{
  padding: 0.5rem;
}

.p-4{
  padding: 1rem;
}

.p-5{
  padding: 1.25rem;
}

.p-10{
  padding: 2.5rem;
}

.p-20{
  padding: 5rem;
}

.py-0{
  padding-top: 0;
  padding-bottom: 0;
}

.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.px-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.px-10{
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.py-20{
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.py-24{
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.pb-0{
  padding-bottom: 0;
}

.pb-2{
  padding-bottom: 0.5rem;
}

.pt-4{
  padding-top: 1rem;
}

.pb-4{
  padding-bottom: 1rem;
}

.pb-5{
  padding-bottom: 1.25rem;
}

.pt-6{
  padding-top: 1.5rem;
}

.pb-6{
  padding-bottom: 1.5rem;
}

.pb-8{
  padding-bottom: 2rem;
}

.pt-10{
  padding-top: 2.5rem;
}

.pr-10{
  padding-right: 2.5rem;
}

.pb-10{
  padding-bottom: 2.5rem;
}

.pl-10{
  padding-left: 2.5rem;
}

.pl-12{
  padding-left: 3rem;
}

.pt-16{
  padding-top: 4rem;
}

.pb-16{
  padding-bottom: 4rem;
}

.pr-20{
  padding-right: 5rem;
}

.pb-20{
  padding-bottom: 5rem;
}

.pt-24{
  padding-top: 6rem;
}

.pb-24{
  padding-bottom: 6rem;
}

.pt-32{
  padding-top: 8rem;
}

.pt-40{
  padding-top: 10rem;
}

.pt-48{
  padding-top: 12rem;
}

.fixed{
  position: fixed;
}

.absolute{
  position: absolute;
}

.relative{
  position: relative;
}

.inset-0{
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.top-0{
  top: 0;
}

.right-0{
  right: 0;
}

.bottom-0{
  bottom: 0;
}

.left-0{
  left: 0;
}

.shadow-xl{
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.fill-current{
  fill: currentColor;
}

.stroke-current{
  stroke: currentColor;
}

.text-left{
  text-align: left;
}

.text-center{
  text-align: center;
}

.text-black{
  --text-opacity: 1;
  color: #333333;
  color: rgba(51, 51, 51, var(--text-opacity));
}

.text-white{
  --text-opacity: 1;
  color: #FFFFFF;
  color: rgba(255, 255, 255, var(--text-opacity));
}

.text-blue{
  --text-opacity: 1;
  color: #2196F3;
  color: rgba(33, 150, 243, var(--text-opacity));
}

.text-darkgrey{
  --text-opacity: 1;
  color: #727272;
  color: rgba(114, 114, 114, var(--text-opacity));
}

.text-greyer{
  --text-opacity: 1;
  color: #b5b5b5;
  color: rgba(181, 181, 181, var(--text-opacity));
}

.hover\:text-white:hover{
  --text-opacity: 1;
  color: #FFFFFF;
  color: rgba(255, 255, 255, var(--text-opacity));
}

.italic{
  font-style: italic;
}

.uppercase{
  text-transform: uppercase;
}

.hover\:underline:hover{
  text-decoration: underline;
}

.antialiased{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.tracking-wider{
  letter-spacing: 0.05em;
}

.w-8{
  width: 2rem;
}

.w-10{
  width: 2.5rem;
}

.w-12{
  width: 3rem;
}

.w-32{
  width: 8rem;
}

.w-1\/2{
  width: 50%;
}

.w-1\/4{
  width: 25%;
}

.w-3\/4{
  width: 75%;
}

.w-4\/5{
  width: 80%;
}

.w-full{
  width: 100%;
}

.z-10{
  z-index: 10;
}

.z-20{
  z-index: 20;
}

.z-30{
  z-index: 30;
}

.z-70{
  z-index: 70;
}

.z-100{
  z-index: 100;
}

.gap-4{
  grid-gap: 1rem;
  gap: 1rem;
}

.gap-6{
  grid-gap: 1.5rem;
  gap: 1.5rem;
}

.gap-10{
  grid-gap: 2.5rem;
  gap: 2.5rem;
}

.gap-16{
  grid-gap: 4rem;
  gap: 4rem;
}

.gap-20{
  grid-gap: 5rem;
  gap: 5rem;
}

.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.transform{
  --transform-translate-x: 0;
  --transform-translate-y: 0;
  --transform-rotate: 0;
  --transform-skew-x: 0;
  --transform-skew-y: 0;
  --transform-scale-x: 1;
  --transform-scale-y: 1;
  transform: translateX(var(--transform-translate-x)) translateY(var(--transform-translate-y)) rotate(var(--transform-rotate)) skewX(var(--transform-skew-x)) skewY(var(--transform-skew-y)) scaleX(var(--transform-scale-x)) scaleY(var(--transform-scale-y));
}

.transition-all{
  transition-property: all;
}

.transition{
  transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
}

.ease-linear{
  transition-timing-function: linear;
}

.ease-in{
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.duration-100{
  transition-duration: 100ms;
}

.duration-200{
  transition-duration: 200ms;
}

.duration-300{
  transition-duration: 300ms;
}
.sja-icons a {
  float: left;
  margin-right: 10px;
}
.header-social {
  display: none;
}
.header-social-mobile {
  display: inline-block;
  position: absolute;
  right: 70px;
  top: 30px;
}
.to-contact {
  position: fixed;
  bottom: 20px;
  width: 95%;
  z-index: 99999;
  right: 20px;
  background-color: #2196f3;
  height: 60px;
  width: 60px;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  float: right;
}
.to-contact svg {
  width: 38px;
}
.video-hero {
  width: 100%;
  position: relative;
  padding: 0;
  position: relative;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
}
.video-hero .overlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}
.video-hero .overlay video {
  min-width: 100%;
  min-height: 100%;
  max-width: inherit;
}
.video-overlay {
  position: absolute;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
}
.alignleft {
  float: left;
}
.announcement-banner {
  overflow: hidden;
}
.announcement-inner {
  display: flex;
  align-items: center;
  background-color: #eee;
}
.announcement-banner .bg-cover {
  height: 160px;
  min-width: 100%;
  background-repeat: no-repeat;
}
.announcement-content {
  padding: 25px;
  max-width: 30rem;
}
.announcement-content h4 {
  font: normal normal 600 12px 'proxima-nova';
  margin-bottom: 20px;
}
.announcement-content img {
  margin-bottom: 17px;
}
.announcement-content p {
  font: normal normal 300 18px 'proxima-nova';
  color: #2196F3;
}
.mobile-img {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position:center;
}
.hbspt-form {margin-top:25px;}
.hbspt-form .hs-input {
  padding: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  width: 100% !important;
  background-color: #FFFFFF;
  background-color: rgba(255, 255, 255, 1);
  font-size: 1rem;
  margin-top: 0;
  border-color: #2196F3;
  border-color: rgba(33, 150, 243, 1);
  border-width: 1px;
  border-radius: 0.125rem;
}
.hbspt-form form fieldset {
  max-width: none;
  width: 100%;
}
.hbspt-form form .input {
  margin-bottom: 1rem;
}
.hbspt-form form label span {
  text-transform: lowercase;
  font-size: 0.875rem;
}
.hbspt-form form .hs-button {
  background-color: rgba(33, 150, 243, 1);
  padding: 0.75rem;
  width: 100%;
  text-transform: uppercase;
  padding-left: 4rem;
  padding-right: 4rem;
  color: rgba(255, 255, 255, 1);
  font-size: 1rem;
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
  transition-duration: 300ms;
  font-weight: 700;
  border-width: 1px;
  cursor: pointer;
  border-radius: 0.125rem;
}
.hbspt-form .no-list, .hbspt-form form .no-list li {
  list-style: none;
  padding-left: 0;
}
@media (min-width: 768px){
  .announcement-banner .bg-cover {
    height: 280px;
    background-size: cover;
  }
  .md\:block{
    display: block;
  }

  .md\:inline-block{
    display: inline-block;
  }

  .md\:flex{
    display: flex;
  }

  .md\:grid{
    display: grid;
  }

  .md\:hidden{
    display: none;
  }

  .md\:flex-row-reverse{
    flex-direction: row-reverse;
  }

  .md\:flex-wrap{
    flex-wrap: wrap;
  }

  .md\:items-center{
    align-items: center;
  }

  .md\:float-none{
    float: none;
  }

  .md\:h-64{
    height: 16rem;
  }

  .md\:h-auto{
    height: auto;
  }

  .md\:text-sm{
    font-size: 0.875rem;
  }

  .md\:text-base{
    font-size: 1rem;
  }

  .md\:text-2xl{
    font-size: 1.5rem;
  }

  .md\:text-5xl{
    font-size: 2.625rem;
  }

  .md\:mx-3{
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }

  .md\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }

  .md\:-mx-1{
    margin-left: -0.25rem;
    margin-right: -0.25rem;
  }

  .md\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }

  .md\:-mx-10{
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }

  .md\:mb-0{
    margin-bottom: 0;
  }

  .md\:ml-6{
    margin-left: 1.5rem;
  }

  .md\:max-w-sm{
    max-width: 24rem;
  }

  .md\:p-5{
    padding: 1.25rem;
  }

  .md\:p-10{
    padding: 2.5rem;
  }

  .md\:p-20{
    padding: 5rem;
  }

  .md\:px-1{
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }

  .md\:px-5{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .md\:px-10{
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .md\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .md\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .md\:px-20{
    padding-left: 5rem;
    padding-right: 5rem;
  }

  .md\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .md\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .md\:pt-0{
    padding-top: 0;
  }

  .md\:pr-10{
    padding-right: 2.5rem;
  }

  .md\:pb-20{
    padding-bottom: 5rem;
  }

  .md\:pt-48{
    padding-top: 12rem;
  }

  .md\:text-center{
    text-align: center;
  }

  .md\:w-auto{
    width: auto;
  }

  .md\:w-1\/2{
    width: 50%;
  }

  .md\:w-1\/3{
    width: 33.333333%;
  }

  .md\:w-2\/3{
    width: 66.666667%;
  }

  .md\:w-1\/4{
    width: 25%;
  }

  .md\:w-1\/5{
    width: 20%;
  }

  .md\:w-3\/5{
    width: 60%;
  }

  .md\:gap-8{
    grid-gap: 2rem;
    gap: 2rem;
  }

  .md\:gap-10{
    grid-gap: 2.5rem;
    gap: 2.5rem;
  }

  .md\:gap-16{
    grid-gap: 4rem;
    gap: 4rem;
  }

  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .md\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .to-contact {
    display: none;
  }
}

@media (min-width: 1024px){
  .lg\:bg-transparent{
    background-color: transparent;
  }

  .lg\:border-t-0{
    border-top-width: 0;
  }

  .lg\:border-b-0{
    border-bottom-width: 0;
  }

  .lg\:block{
    display: block;
  }

  .lg\:inline-block{
    display: inline-block;
  }

  .lg\:flex{
    display: flex;
  }

  .lg\:hidden{
    display: none;
  }

  .lg\:items-center{
    align-items: center;
  }

  .lg\:float-right{
    float: right;
  }

  .lg\:h-8{
    height: 2rem;
  }

  .lg\:h-10{
    height: 2.5rem;
  }

  .lg\:h-24{
    height: 6rem;
  }

  .lg\:h-48{
    height: 12rem;
  }

  .lg\:h-72{
    height: 19rem;
  }

  .lg\:h-screen{
    height: 100vh;
  }

  .lg\:text-sm{
    font-size: 0.875rem;
  }

  .lg\:text-base{
    font-size: 1rem;
  }

  .lg\:text-5xl{
    font-size: 2.625rem;
  }

  .lg\:text-7xl{
    font-size: 4.2rem;
  }

  .lg\:mt-0{
    margin-top: 0;
  }

  .lg\:mb-0{
    margin-bottom: 0;
  }

  .lg\:ml-6{
    margin-left: 1.5rem;
  }

  .lg\:mt-8{
    margin-top: 2rem;
  }

  .lg\:mb-20{
    margin-bottom: 5rem;
  }

  .lg\:-ml-48{
    margin-left: -12rem;
  }

  .lg\:max-w-4xl{
    max-width: 56rem;
  }

  .lg\:p-0{
    padding: 0;
  }

  .lg\:py-0{
    padding-top: 0;
    padding-bottom: 0;
  }

  .lg\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .lg\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .lg\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .lg\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .lg\:px-24{
    padding-left: 6rem;
    padding-right: 6rem;
  }

  .lg\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .lg\:pt-0{
    padding-top: 0;
  }

  .lg\:pr-0{
    padding-right: 0;
  }

  .lg\:pt-20{
    padding-top: 5rem;
  }

  .lg\:pl-20{
    padding-left: 5rem;
  }

  .lg\:pr-24{
    padding-right: 6rem;
  }

  .lg\:pb-32{
    padding-bottom: 8rem;
  }

  .lg\:pt-48{
    padding-top: 12rem;
  }

  .lg\:pb-48{
    padding-bottom: 12rem;
  }

  .lg\:pt-56{
    padding-top: 14rem;
  }

  .lg\:absolute{
    position: absolute;
  }

  .lg\:w-8{
    width: 2rem;
  }

  .lg\:w-10{
    width: 2.5rem;
  }

  .lg\:w-40{
    width: 10rem;
  }

  .lg\:w-auto{
    width: auto;
  }

  .lg\:w-1\/2{
    width: 50%;
  }

  .lg\:w-2\/3{
    width: 66.666667%;
  }

  .lg\:w-1\/4{
    width: 25%;
  }

  .lg\:w-3\/4{
    width: 75%;
  }

  .lg\:w-2\/5{
    width: 40%;
  }

  .lg\:w-3\/5{
    width: 60%;
  }

  .lg\:w-11\/12{
    width: 91.666667%;
  }

  .lg\:gap-16{
    grid-gap: 4rem;
    gap: 4rem;
  }

  .lg\:gap-20{
    grid-gap: 5rem;
    gap: 5rem;
  }

  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lg\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lg\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .header-social {
    display: inline-block;
  }
  .header-social-mobile {
    display: none;
  }
}

@media (min-width: 1170px){
  .mobile-img {
    display: none;
  }
  .video-hero {
    height: 100vh;
  }
  .xl\:text-5xxl{
    font-size: 3.2rem;
  }

  .xl\:mx-6{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
  }
  .xl\:mx-11{
    margin-left: 1.1rem;
    margin-right: 1.1rem;
  }

  .xl\:pr-5{
    padding-right: 1.25rem;
  }

  .xl\:pb-48{
    padding-bottom: 12rem;
  }

  .xl\:gap-16{
    grid-gap: 4rem;
    gap: 4rem;
  }

  .xl\:gap-32{
    grid-gap: 8rem;
    gap: 8rem;
  }
.services .xl\:gap-32 {
  grid-gap: 4rem;
  gap: 4rem;
}

  .xl\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .xl\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
.header-social {
  margin-left: 5px;
}

@media (min-width: 1232px){

  .xxl\:-mx-5{
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }
}

@media (max-width: 767px){
  section.services .flex > .w-full.mb-4 {
    width: auto;
    margin-right: 15px;
  }
}

.header-spacer {
  height: 144px;
  float: left;
  width: 100%;
}

@media (max-width: 1170px) {
  .video-hero {
    height: 75vh;
    margin-bottom: 20px;
  }
  .video-hero video#hero {
    display: none;
  }
  .video-hero .overlay {
    top: 0;
  }
  .header-spacer {
    
    height: 96px;
  }
}