/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
::before,
::after {
  box-sizing: border-box;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the line height in all browsers.
3. Prevent adjustments of font size after orientation changes in iOS.
4. Use a more readable tab size (opinionated).
*/
html {
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; /* 1 */
  line-height: 1.15; /* 2 */
  -webkit-text-size-adjust: 100%; /* 3 */
  tab-size: 4; /* 4 */
}

/*
Sections
========
*/
/**
Remove the margin in all browsers.
*/
body {
  margin: 0;
}

/*
Text-level semantics
====================
*/
/**
Add the correct font weight in Chrome and Safari.
*/
b,
strong {
  font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, 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;
}

/*
Tabular data
============
*/
/**
Correct table border color inheritance in Chrome and Safari. (https://issues.chromium.org/issues/40615503, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
  border-color: currentcolor;
}

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

/**
Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
  padding: 0;
}

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

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-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.
*/
::-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 Chrome and Safari.
*/
summary {
  display: list-item;
}

:root {
  --tms-border-radius: 20px;
  --tms-border-radius--inner: 18px;
  --tms-gutter-x-sm: 16px;
  --tms-gutter-x: 24px;
  --tms-block-padding-y: 56px;
  --tms-container-max-width: 1160px;
  --tms-black: #000;
  --tms-white: #ffffff;
  --tms-dark: #000;
  --tms-light: #F9F8F5;
  --tms-purple-dark: #6B00D0;
  --tms-purple-mid: #AC4FC6;
  --tms-purple-light: #FC75FC;
  --tms-blue-dark: #0047BB;
  --tms-blue-mid: #007ACA;
  --tms-blue-light: #00DBFF;
  --tms-green: #E0FF00;
  --tms-red: #FE5000;
  --tms-yellow: #FFCE00;
  --tms-yellow-dark: #FEA62F;
  --tms-grad-blue-dark--blue-light: linear-gradient(90deg, var(--tms-blue-dark), var(--tms-blue-light));
  --tms-grad-blue-light--green: linear-gradient(90deg, var(--tms-blue-light), var(--tms-green));
  --tms-grad-blue-dark--purple-light: linear-gradient(90deg, var(--tms-blue-dark), var(--tms-purple-light));
  --tms-grad-blue-dark--purple-dark: linear-gradient(90deg, var(--tms-blue-dark), var(--tms-purple-dark));
  --tms-grad-purple-light--yellow: linear-gradient(90deg, var(--tms-purple-light), var(--tms-yellow));
  --tms-grad-blue-light--purple-mid: linear-gradient(90deg, var(--tms-blue-light), var(--tms-purple-mid));
  --tms-font-primary: "proxima-nova", sans-serif;
  --tms-font-secondary: "benton-modern-display", serif;
  --header-height: 58px;
}
@media (min-width: 992px) {
  :root {
    --header-height: 90px;
  }
}

html {
  max-width: 100%;
  overflow-x: hidden;
  font-size: 16px;
}
html.noscroll {
  overflow: hidden;
}

body {
  background-color: #fff;
  overflow-x: hidden;
}

#page {
  position: relative;
  z-index: 2;
}

#content {
  width: 100%;
}

::-moz-selection {
  color: #000;
  background: #00AFD7;
}

::selection {
  color: #000;
  background: #00AFD7;
}

.admin-bar .site-header {
  padding-top: 32px;
}

/* Grid container */
.container, .container-narrow,
.container-narrow-left,
.container-narrow-right {
  width: 100%;
  max-width: var(--tms-container-max-width); /* optional max width */
  margin: 0 auto;
  padding: 0 16px;
}
.container.--xl, .--xl.container-narrow,
.--xl.container-narrow-left,
.--xl.container-narrow-right {
  max-width: 1440px;
}

.row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0;
}

[class^=col-] {
  min-width: 0;
}

/* Column spans */
.col-1 {
  grid-column: span 1;
}

.col-2 {
  grid-column: span 2;
}

.col-3 {
  grid-column: span 3;
}

.col-4 {
  grid-column: span 4;
}

.col-5 {
  grid-column: span 5;
}

.col-6 {
  grid-column: span 6;
}

.col-7 {
  grid-column: span 7;
}

.col-8 {
  grid-column: span 8;
}

.col-9 {
  grid-column: span 9;
}

.col-10 {
  grid-column: span 10;
}

.col-11 {
  grid-column: span 11;
}

.col-12 {
  grid-column: span 12;
}

@media (min-width: 768px) {
  .row {
    gap: var(--tms-gutter-x);
  }
  .col-md-1 {
    grid-column: span 1;
  }
  .col-md-2 {
    grid-column: span 2;
  }
  .col-md-3 {
    grid-column: span 3;
  }
  .col-md-4 {
    grid-column: span 4;
  }
  .col-md-5 {
    grid-column: span 5;
  }
  .col-md-6 {
    grid-column: span 6;
  }
  .col-md-7 {
    grid-column: span 7;
  }
  .col-md-8 {
    grid-column: span 8;
  }
  .col-md-9 {
    grid-column: span 9;
  }
  .col-md-10 {
    grid-column: span 10;
  }
  .col-md-11 {
    grid-column: span 11;
  }
  .col-md-12 {
    grid-column: span 12;
  }
}
@media (min-width: 992px) {
  .col-lg-1 {
    grid-column: span 1;
  }
  .col-lg-2 {
    grid-column: span 2;
  }
  .col-lg-3 {
    grid-column: span 3;
  }
  .col-lg-4 {
    grid-column: span 4;
  }
  .col-lg-5 {
    grid-column: span 5;
  }
  .col-lg-6 {
    grid-column: span 6;
  }
  .col-lg-7 {
    grid-column: span 7;
  }
  .col-lg-8 {
    grid-column: span 8;
  }
  .col-lg-9 {
    grid-column: span 9;
  }
  .col-lg-10 {
    grid-column: span 10;
  }
  .col-lg-11 {
    grid-column: span 11;
  }
  .col-lg-12 {
    grid-column: span 12;
  }
}
:is(.container-narrow, .container-narrow-left, .container-narrow-right) .content-narrow {
  max-width: 880px;
  width: 100%;
}

.container-narrow .content-narrow {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.container-narrow-left .content-narrow {
  margin-left: 0;
  margin-right: auto;
}

.container-narrow-right .content-narrow {
  margin-left: auto;
  margin-right: 0;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes navDropRound {
  0%, 100% {
    border-radius: 0 0 var(--tms-border-radius) var(--tms-border-radius);
  }
  50% {
    border-radius: 0 0 0 0;
  }
}
@keyframes scaleIn {
  from {
    transform: scale3d(0, 0, 0);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
:focus-visible {
  outline: 2px solid #fff; /* inner light ring */
  outline-offset: 2px;
  box-shadow: 0 0 0 4px #000; /* outer dark ring */
}

.visuallyhidden,
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  word-wrap: normal !important;
  border: 0;
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/**
 * Reduce motion
 */
html.reduce-motion [data-aos][data-aos][data-aos] {
  transition: 0s;
  opacity: 1;
  transform: none;
}
html.reduce-motion * {
  animation-duration: 0s !important;
  animation-delay: 0s !important;
  transition-duration: 0s !important;
  transition-delay: 0s !important;
}
html.reduce-motion .nomotion-alt {
  display: block;
}

* {
  scroll-padding-top: 150px;
  scroll-padding-bottom: 150px;
}

.nomotion-alt {
  display: none;
  font-size: 1rem;
  color: var(--text-color, var(--tms-black));
  margin-top: 8px;
}

.skip-link {
  position: fixed;
  top: 0;
  left: 0;
  display: inline-block;
  padding: 15px 10px;
  margin: 10px;
  background-color: var(--tms-white);
  border-radius: 10px;
  color: var(--tms-black);
}
.skip-link:focus {
  position: fixed;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  overflow: visible;
  z-index: 10000;
}

#ot-sdk-btn-floating {
  display: none !important;
  left: auto !important;
  right: 15px !important;
}
@media (min-width: 768px) {
  #ot-sdk-btn-floating {
    display: block !important;
  }
}
#ot-sdk-btn-floating button {
  text-align: center;
}
#ot-sdk-btn-floating .ot-floating-button__close {
  display: none;
}
#ot-sdk-btn-floating.ot-hide {
  display: none !important;
}
#ot-sdk-btn-floating.ot-pc-open .ot-floating-button__close {
  display: block;
}
#ot-sdk-btn-floating.ot-pc-open .ot-floating-button__open {
  display: none;
}

#onetrust-consent-sdk #onetrust-banner-sdk .ot-sdk-container {
  width: auto;
  padding: 20px 24px;
}
#onetrust-consent-sdk #onetrust-banner-sdk .onetrust-close-btn-ui {
  top: 0;
  right: 0;
}
#onetrust-consent-sdk #onetrust-banner-sdk .ot-sdk-row {
  display: flex;
  flex-direction: column;
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-group-container {
  flex: 1;
  padding-right: 16px;
  width: auto;
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-button-group-parent {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  width: auto;
  transform: none;
  padding-left: 0;
  padding-right: 0;
  margin: 0 -8px;
  display: flex;
  padding-top: 12px;
}
#onetrust-consent-sdk #onetrust-banner-sdk *:focus, #onetrust-consent-sdk #onetrust-banner-sdk:focus {
  outline: 2px solid #fff; /* inner light ring */
  outline-offset: 2px;
  box-shadow: 0 0 0 4px #000;
}
#onetrust-consent-sdk #onetrust-banner-sdk .ot-bnr-logo {
  position: absolute;
  top: 5px;
  transform: none;
  left: 0px;
  width: 70px;
  height: auto;
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-button-group {
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin: 0;
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-close-btn-container {
  right: 0;
  height: 44px;
  top: 10px;
  right: 10px;
  transform: none;
}
@media (min-width: 640px) {
  #onetrust-consent-sdk #onetrust-banner-sdk #onetrust-button-group {
    display: flex;
    flex-direction: row;
  }
}
@media (min-width: 1200px) {
  #onetrust-consent-sdk #onetrust-banner-sdk .ot-sdk-row {
    flex-direction: row;
  }
  #onetrust-consent-sdk #onetrust-banner-sdk #onetrust-group-container {
    padding: 10px 20px 0;
    min-width: auto;
    width: auto;
  }
  #onetrust-consent-sdk #onetrust-banner-sdk #onetrust-button-group-parent {
    padding: 20px 20px 20px;
    min-width: 610px;
    padding-right: 44px;
  }
  #onetrust-consent-sdk #onetrust-banner-sdk #onetrust-button-group {
    justify-content: flex-end;
    align-self: center;
  }
  #onetrust-consent-sdk #onetrust-banner-sdk #onetrust-close-btn-container {
    display: flex;
    flex: 1;
    right: 0;
    height: 100%;
    top: 0;
    right: 10px;
    transform: none;
  }
  #onetrust-consent-sdk #onetrust-banner-sdk .ot-bnr-logo {
    left: 20px;
    position: absolute;
    top: 5px;
    transform: none;
  }
  #onetrust-consent-sdk #onetrust-banner-sdk.ot-bnr-w-logo #onetrust-policy {
    margin-left: 0;
    margin-top: 60px;
  }
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-policy-title {
  font-family: var(--tms-font-secondary) !important;
  font-size: 1.5rem;
  line-height: 1;
  font-style: italic;
  color: var(--tms-black) !important;
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-policy {
  margin: 0;
}
#onetrust-consent-sdk #onetrust-banner-sdk.ot-bnr-w-logo #onetrust-policy {
  margin-left: 0;
  margin-top: 60px;
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-policy-text {
  color: var(--tms-black) !important;
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-policy-text a {
  margin-left: 0;
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-pc-btn-handler,
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-reject-all-handler,
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-accept-btn-handler {
  display: inline-block;
  position: relative;
  border: none;
  background-color: transparent;
  font-weight: normal;
  color: #000;
  white-space: nowrap;
  line-height: 25px;
  font-size: 14px;
  padding: 10px 18px;
  margin: 8px;
  width: auto;
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-pc-btn-handler:before,
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-reject-all-handler:before,
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-accept-btn-handler:before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  background-image: var(--tms-grad-blue-dark--purple-dark);
  border-radius: 15px;
  z-index: -2;
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-pc-btn-handler:after,
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-reject-all-handler:after,
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-accept-btn-handler:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: white;
  border-radius: 14px;
  z-index: -1;
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-pc-btn-handler:hover,
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-reject-all-handler:hover,
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-accept-btn-handler:hover {
  opacity: 1;
  color: #fff;
}
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-pc-btn-handler:hover:after,
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-reject-all-handler:hover:after,
#onetrust-consent-sdk #onetrust-banner-sdk #onetrust-accept-btn-handler:hover:after {
  left: 100%;
}

body {
  font-family: var(--tms-font-primary);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}

h1,
.h1 {
  font-size: min(3rem, 70px);
  line-height: 1.2;
  font-weight: 400;
  overflow-wrap: break-word;
}

h2,
.h2 {
  font-size: min(2.5rem, 70px);
  line-height: 1.2;
  font-weight: 400;
  overflow-wrap: break-word;
}

h3,
.h3 {
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 400;
  overflow-wrap: break-word;
}

h4,
.h4 {
  font-size: 1.75rem;
  line-height: 1.1;
  font-weight: 400;
  overflow-wrap: break-word;
}

h5,
.h5 {
  font-size: 1.5rem;
  line-height: 1.1;
  font-weight: 400;
}

h6,
.h6 {
  font-size: 1.25rem;
  line-height: 1.1;
  font-weight: 400;
}

p,
li,
td {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
}

p.tag {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 500;
}

@media (min-width: 768px) {
  h1,
  .h1 {
    font-size: 4.375rem;
    line-height: 1;
  }
  h2,
  .h2 {
    font-size: 3.75rem;
    line-height: 1;
  }
  h3,
  .h3 {
    font-size: 2.5rem;
    line-height: 1.2;
  }
  h4,
  .h4 {
    font-size: 1.25rem;
    line-height: 1.2;
  }
  h5,
  .h5 {
    font-size: 1.125rem;
    line-height: 1.25;
  }
  h6,
  .h6 {
    font-size: 1.125rem;
    font-family: var(--tms-font-secondary);
    font-style: italic;
    line-height: 1.25;
  }
  p,
  li,
  td {
    font-size: 1.125rem;
    line-height: 1.5;
  }
  p.tag {
    font-size: 0.75rem;
    line-height: 1;
  }
}
strong,
.text-strong {
  font-weight: 700;
}

.text-light {
  font-weight: 300;
}

em {
  font-family: var(--tms-font-secondary);
  font-style: italic;
}

.p-xl {
  font-size: 1.5rem;
  line-height: 1.375;
}

.p-lg {
  font-size: 1.5rem;
  line-height: 1.375;
  font-weight: 400;
}

.p-sm {
  font-size: 1rem;
  line-height: 1.375;
  font-weight: 400;
}

@media (min-width: 768px) {
  .p-xl {
    font-size: 2.5rem;
  }
}
li {
  margin: 0.25em 0;
}

.table th {
  font-weight: 600;
  text-align: left;
}
.table.table-striped tr:nth-child(even) {
  background-color: rgba(32, 33, 36, 0.2);
}
.table.table-grid th,
.table.table-grid td {
  border: 1px solid #fff;
}
.table.table-lined th,
.table.table-lined td {
  border-bottom: 1px solid #fff;
}

.block-theme-white .table.table-striped tr:nth-child(even) {
  background-color: rgba(32, 33, 36, 0.1);
}
.block-theme-white .table.table-grid th,
.block-theme-white .table.table-grid td {
  border: 1px solid #000;
}
.block-theme-white .table.table-lined th,
.block-theme-white .table.table-lined td {
  border-bottom: 1px solid #000;
}

/**
 * Alignment
 */
.align-center {
  text-align: center;
}

.align-left {
  text-align: left;
}

.align-right {
  text-align: right;
}

.content-text img.aligncenter {
  margin: 0 auto;
  display: block;
}

.content-text img.alignleft {
  margin-right: auto;
  float: none;
  display: block;
}

.content-text img.alignright {
  margin-left: auto;
  float: none;
  display: block;
}

.text-grid {
  display: grid;
}
.text-grid.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

.site-header {
  background-color: var(--tms-blue-dark);
  color: var(--tms-white);
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  border-radius: 0 0 var(--tms-border-radius) var(--tms-border-radius);
}
.site-header::after {
  content: "";
  display: block;
  z-index: -1;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: var(--tms-blue-dark);
  background-image: var(--tms-grad-blue-dark--purple-dark);
  border-radius: 0 0 var(--tms-border-radius) var(--tms-border-radius);
  overflow: hidden;
}
.site-header .header-container {
  display: flex;
  position: relative;
  max-width: 1340px;
  padding: 0 40px 0 30px;
  margin: 0 auto;
}
.site-header .logo {
  display: block;
  position: relative;
  padding-top: 16px;
  padding-bottom: 15px;
  padding-left: 0;
  width: 66px;
  height: 58px;
}
.site-header .logo a {
  display: block;
}
.site-header .logo img {
  max-width: 100%;
  height: auto;
}
.site-header .logo .logo-animated {
  width: 100%;
  height: 100%;
}
@media (min-width: 992px) {
  .site-header .logo {
    padding-top: 26px;
    padding-bottom: 26px;
    padding-left: 0;
    width: 75px;
    height: 90px;
  }
}

.header-nav-toggle {
  position: absolute;
  top: 2px;
  right: 5px;
  height: 55px;
  width: 55px;
  z-index: 2000;
}
.header-nav-toggle .toggle-nav {
  height: 100%;
  width: 100%;
  padding: 13px 16px 13px 16px;
}
@media (min-width: 992px) {
  .header-nav-toggle {
    display: none;
  }
}

.nav-toggle-close {
  position: relative;
  display: block;
  width: 23px;
  height: 21px;
  background-color: transparent;
}
.nav-toggle-close span {
  height: 3px;
  border-radius: 3px;
  width: 100%;
  background-color: #fff;
  display: block;
  position: absolute;
  left: 0;
}
.nav-toggle-close span:nth-of-type(1) {
  top: 1px;
}
.nav-toggle-close span:nth-of-type(2) {
  top: 9px;
}
.nav-toggle-close span:nth-of-type(3) {
  bottom: 1px;
}

.nav-toggle-open {
  display: none;
}
.nav-toggle-open img {
  margin-top: 0;
  margin-right: 0;
  vertical-align: baseline;
}

.nav-toggle-close {
  display: block;
}

.mobile-nav-open .nav-toggle-open {
  display: block;
}
.mobile-nav-open .nav-toggle-close {
  display: none;
}

.site-nav {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 13px 0 0;
}
.site-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  display: block;
}
.site-nav li {
  position: relative;
}

.drop {
  position: fixed;
  height: 25rem;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  background-color: var(--tms-blue-dark);
  background-image: var(--tms-grad-blue-dark--purple-dark);
  border-radius: 0 0 var(--tms-border-radius) var(--tms-border-radius);
  transform: translate3d(0, -25rem, 0);
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), border-radius 0.6s cubic-bezier(0.22, 1.31, 0.69, 1) 0.375s;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
}

.social-links {
  display: none;
}

.teaser {
  font-style: italic;
  font-size: 1rem;
  line-height: 1.5rem;
}

.site-header:has(.subnav-open) .drop {
  transform: translate3d(0, 0, 0);
}
@media (min-width: 992px) {
  .site-header:has(.subnav-open) .drop {
    transform: translate3d(0, -90px, 0);
  }
}

@media (max-width: 991px) {
  .site-header .header-container {
    padding: 0 16px;
  }
  .site-header .logo {
    position: relative;
    width: 53px;
    top: 1px;
    z-index: 3;
    max-width: 20%;
  }
  .header-container::before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 70px;
    border-radius: 0 0 var(--tms-border-radius) var(--tms-border-radius);
    z-index: 2;
    background: var(--tms-grad-blue-dark--purple-dark);
    mask-image: linear-gradient(to bottom, rgb(0, 0, 0) 70%, rgba(0, 0, 0, 0) 100%);
    mask-repeat: no-repeat;
    mask-size: cover;
  }
  .nav-menu {
    display: none;
    position: fixed;
    width: 100vw;
    height: 100dvh;
    left: 0;
    top: 0;
    padding: 70px 20px 20px;
    overflow: scroll;
  }
  .nav-menu .language-selector,
  .nav-menu .menu {
    transition: opacity 0.2s ease-in 0s;
    opacity: 0;
  }
  .nav-menu a,
  .nav-menu button {
    display: flex;
    width: 100%;
    padding: 0.625rem 0;
    color: #fff;
    font-size: min(2.75rem, 70px);
    line-height: 1;
    text-decoration: none;
    overflow-wrap: break-word;
  }
  .nav-menu .level-1 {
    opacity: 0;
    animation: fadeOut 0.25s ease;
  }
  .nav-menu .level-1 a,
  .nav-menu .level-1 button {
    display: flex;
    width: 100%;
    padding: 5px 0;
    color: #fff;
    font-size: 1rem;
    line-height: 1.375rem;
    text-decoration: underline;
    overflow-wrap: break-word;
  }
  .nav-menu .subnav-menu.level-1 {
    display: none;
  }
  .nav-menu .menu-item-has-children {
    position: relative;
  }
  .nav-menu .menu-item-has-children .subnav-toggle::after {
    content: " ";
    width: 22px;
    min-width: 22px;
    height: 13px;
    background-repeat: no-repeat;
    background-image: url(../../assets/img/chevron-down.svg);
    background-size: 100%;
    position: relative;
    top: 1.3125rem;
    margin-left: 12px;
  }
  .nav-menu .hidden-label > a {
    display: none;
  }
  .nav-menu .level-2 {
    padding: 8px 0 20px;
    display: block;
  }
  .nav-menu .level-2 .active a {
    font-weight: 500;
  }
  .nav-menu .locations-label ul {
    columns: inherit;
  }
  .nav-menu .locations-label ul li {
    display: inline-block;
    margin-right: 15px;
  }
  .nav-menu .subnav-open .subnav-toggle {
    font-family: var(--tms-font-secondary);
    font-weight: 600;
    font-style: italic;
  }
  .nav-menu .subnav-open .level-1 {
    animation: fadeIn 0.25s ease both 0.1s;
  }
  .drop {
    height: 58px;
    top: 0;
    transform: translate3d(0, 0, 0);
    transition: height 0.4s cubic-bezier(0.5, 1.17, 0.37, 1.24);
    animation: navDropRound 0.4s cubic-bezier(0.5, 1.17, 0.37, 1.26) both;
  }
  .site-options {
    height: 100%;
    z-index: 10;
  }
  .site-options .language-selector {
    display: none;
  }
  .site-options .toggle-reduce-motion {
    position: absolute;
    right: 60px;
    top: 0;
    max-width: 39%;
    flex-wrap: wrap;
    height: 70%;
    top: 15%;
  }
  .social-links {
    display: block;
    margin-top: auto;
  }
  .social-links .menu {
    display: flex;
    flex-direction: row;
    margin-top: 20px;
    column-gap: 12px;
  }
  .mobile-nav-visible .header-container::before {
    content: "";
  }
  .mobile-nav-visible .nav-menu {
    display: flex;
    flex-direction: column;
  }
  .mobile-nav-visible .drop {
    height: 100dvh;
    border-radius: 0;
  }
  /** Nav Open **/
  .mobile-nav-open .language-selector,
  .mobile-nav-open .menu {
    opacity: 1;
    transition: opacity 0.2s ease-in 0.2s;
  }
}
@media (min-width: 992px) {
  .drop {
    top: 90px;
  }
  .nav-menu {
    display: flex;
    position: relative;
    padding-top: 5px;
    margin-left: auto;
  }
  .nav-menu a,
  .nav-menu button {
    display: block;
    color: #fff;
    cursor: pointer;
    margin: 0;
    padding: 8px 24px 8px 24px;
    font-size: 1.25rem;
    line-height: 1.25rem;
    text-decoration: none;
  }
  .nav-menu .menu {
    display: flex;
  }
  .nav-menu .language-selector {
    display: none;
  }
  .nav-menu .subnav-menu {
    padding: 30px 0 30px 24px;
    left: 0;
    right: 0;
  }
  .nav-menu .menu .subnav-menu a {
    white-space: nowrap;
    line-height: 1.25;
    padding: 0;
    margin: 0 0 30px;
    text-decoration: underline;
  }
  .nav-menu .menu .subnav-menu.level-2 {
    padding: 0;
    border: none;
  }
  .nav-menu .menu .subnav-menu.level-2 a {
    font-size: 1rem;
    line-height: 1.375rem;
    padding: 5px 0;
    margin: 0;
  }
  .nav-menu .menu .subnav-menu.level-2 .active a,
  .nav-menu .menu .subnav-menu.level-2 a:hover {
    font-weight: 500;
  }
  .nav-menu .sub-menu,
  .nav-menu .level-1 {
    position: absolute;
    left: 0;
    display: grid;
    visibility: hidden;
    transition: all 0.2s ease 0s;
    opacity: 0;
    z-index: 10;
  }
  .nav-menu .menu .subnav-open .subnav-toggle,
  .nav-menu .menu .active .subnav-toggle,
  .nav-menu .menu :hover .subnav-toggle {
    font-family: var(--tms-font-secondary);
    font-weight: 600;
    font-style: italic;
    margin-top: 0.5px;
  }
  .nav-menu .menu > .menu-item-has-children {
    position: relative;
  }
  .nav-menu .menu > .menu-item-has-children .subnav-toggle {
    padding-right: 24px;
  }
  .nav-menu .menu > .menu-item-has-children .subnav-toggle::after {
    content: " ";
    width: 9px;
    height: 6px;
    background-repeat: no-repeat;
    background-image: url(../../assets/img/chevron-down.svg);
    position: absolute;
    right: 7px;
    bottom: 11px;
  }
  .nav-menu .menu > .menu-item-has-children.subnav-open .subnav-toggle::after {
    background-image: url(../../assets/img/chevron-up.svg);
  }
  .nav-menu .menu > .menu-item-has-children.subnav-open .level-1 {
    opacity: 1;
    visibility: visible;
    transition: all 0.2s ease 0.1s;
  }
  .mega-menu {
    display: grid;
    min-width: 38.75rem;
    max-width: 38.75rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 1fr 1fr;
    column-gap: 60px;
    padding-top: 36px;
  }
  .mega-menu .teaser {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 1rem;
  }
  .mega-menu .hidden-label > a {
    display: none;
  }
  .mega-menu .menu-item:nth-of-type(2) {
    grid-column: 1;
    grid-row: 2;
  }
  .mega-menu .menu-item:nth-of-type(3) {
    grid-column: 2;
    grid-row: 1/span 2;
  }
  .mega-menu .locations-label .nav-label {
    font-size: 1.25rem;
    line-height: 1;
    padding-bottom: 10px;
  }
  .mega-menu .locations-label ul {
    columns: 3;
  }
  .site-options {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 24px;
    line-height: 24px;
  }
  .menu-item-who-we-are {
    min-width: 153px;
  }
  .menu-item-work {
    min-width: 94px;
  }
  .menu-item-services {
    min-width: 123px;
  }
  .menu-item-trending {
    min-width: 126px;
  }
  .menu-item-values {
    min-width: 108px;
  }
  .menu-item-careers {
    min-width: 118px;
  }
  .menu-item-careers ul {
    width: 135px;
  }
  .menu-item-careers .menu-item a {
    white-space: wrap !important;
  }
  .menu-item-qui-nous-sommes {
    min-width: 190px;
  }
  .menu-item-case-study {
    min-width: 146px;
  }
  .menu-item-news {
    min-width: 98px;
  }
  .menu-item-nos-valeurs {
    min-width: 152px;
  }
  .menu-item-carrieres {
    min-width: 130px;
  }
  .menu-item-carrieres ul {
    width: 135px;
  }
  .menu-item-carrieres .menu-item a {
    white-space: wrap !important;
  }
}
.toggle-reduce-motion {
  display: flex;
  position: relative;
  margin-left: 24px;
  justify-content: flex-end;
  align-items: center;
  font-weight: 400;
  cursor: pointer;
}
.toggle-reduce-motion .label {
  margin-right: 0;
  font-size: 0.9375rem;
  line-height: 20px;
}
.toggle-reduce-motion .label span {
  position: relative;
  display: inline-block;
  text-align: right;
  padding-right: 3px;
  width: 1.75rem;
}
.toggle-reduce-motion input[type=checkbox] {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 36px;
  top: 50%;
  right: 0px;
  height: 20px;
  margin-top: -10px;
}
.toggle-reduce-motion input[type=checkbox]:focus, .toggle-reduce-motion input[type=checkbox]:focus-visible + .toggle {
  outline: 2px solid #fff; /* inner light ring */
  outline-offset: 2px;
  box-shadow: 0 0 0 4px #000;
}
.toggle-reduce-motion .toggle {
  position: relative;
  display: block;
  width: 36px;
  height: 18px;
  border-radius: 9px;
  border: 1px solid #fff;
  margin: 3px 0 3px 8px;
}
.toggle-reduce-motion .toggle::before {
  content: " ";
  display: block;
  transition: all 0.15s ease-out;
  height: 14px;
  width: 14px;
  border: 1px solid #fff;
  position: absolute;
  top: 8px;
  right: 1px;
  transform: translateY(-50%);
  background: #fff;
  border-radius: 50%;
}
.toggle-reduce-motion input:checked + .toggle::before {
  right: 19px;
}

.language-selector .language-switcher {
  display: flex;
}
.language-selector a {
  display: block;
  color: var(--tms-white);
  font-size: 0.875rem;
  line-height: 1;
  text-decoration: none;
  padding: 0 5px;
}
.language-selector a:hover {
  text-decoration: underline;
}
.language-selector li {
  line-height: 14px;
  margin: 0;
}
.language-selector li:last-child {
  border-left: 1px solid #fff;
}
.language-selector .active a {
  font-weight: bold;
}

.site-footer {
  background-color: var(--tms-blue-dark);
  background-image: var(--tms-grad-blue-dark--purple-dark);
  color: #fff;
  position: relative;
  z-index: 110;
  border-radius: var(--tms-border-radius) var(--tms-border-radius) 0 0;
  padding: 50px 0 30px;
  margin-top: calc(var(--tms-border-radius) * -1);
  /* Custom UI */
}
.site-footer .container, .site-footer .container-narrow,
.site-footer .container-narrow-left,
.site-footer .container-narrow-right {
  max-width: 1350px;
}
.site-footer .footer-content {
  padding: 0 4px;
}
.site-footer .footer-tagline {
  margin-bottom: 20px;
  overflow-wrap: break-word;
}
.site-footer .footer-tagline p {
  margin: 0;
  font-weight: 500;
  font-size: 4.5rem;
  line-height: 4.25rem;
  font-weight: 600;
}
@media (min-width: 768px) {
  .site-footer .footer-tagline p {
    font-size: 5.625rem;
    line-height: 5.875rem;
  }
}
.site-footer .footer-nav-block {
  padding-bottom: 25px;
}
.site-footer .footer-nav-block h3 {
  font-size: 1rem;
  line-height: 1;
  font-weight: 600;
  margin: 0;
  margin-top: 4px;
  margin-bottom: 16px;
}
.site-footer .footer-nav-block li {
  margin: 10px 0;
}
.site-footer .footer-nav-block a {
  font-size: 0.875rem;
  color: var(--tms-white);
  display: block;
  line-height: 1.7;
}
.site-footer .footer-nav-block .btn-fluid,
.site-footer .footer-nav-block .btn-fluid-x {
  display: inline-block;
}
.site-footer .footer-nav-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.site-footer .contact-nav,
.site-footer .footer-nav,
.site-footer .csr-nav {
  grid-column: 1/-1;
}
.site-footer .contact-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 10px;
}
.site-footer .contact-nav li {
  margin: 0;
}
.site-footer .social-nav {
  padding: 0;
}
.site-footer .social-nav ul {
  display: flex;
  gap: 8px;
}
.site-footer .social-nav li {
  margin: 0;
}
.site-footer .social-nav a {
  display: block;
}
.site-footer .social-nav img {
  vertical-align: bottom;
}
.site-footer .footer-legals {
  text-align: right;
  font-size: 0.875rem;
  margin-top: auto;
}
.site-footer .cppa img {
  max-width: 30px;
  vertical-align: middle;
  margin-left: 10px;
}
.site-footer .ot-sdk-show-settings {
  font-size: 0.875rem;
  color: var(--tms-white);
  display: block;
  line-height: 1.4;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .site-footer .footer-content {
    padding: 0 10px;
  }
  .site-footer .footer-nav-wrapper {
    max-width: 320px;
    padding: 20px 0;
    margin-left: auto;
  }
}
@media (min-width: 992px) {
  .site-footer .footer-tagline {
    padding: 0 5px;
  }
  .site-footer .footer-nav-wrapper {
    max-width: 540px;
    align-items: start;
    grid-template-columns: auto 250px;
    grid-template-rows: 11.25rem auto auto;
  }
  .site-footer .footer-nav-wrapper li {
    margin: 10px 0;
  }
  .site-footer .contact-nav {
    grid-column: 1;
    grid-row: 1;
  }
  .site-footer .contact-nav h3 {
    margin-bottom: 16px;
  }
  .site-footer .contact-nav ul {
    display: block;
    padding: 0 0;
  }
  .site-footer .contact-nav li {
    margin: 2px 0;
  }
  .site-footer .footer-nav {
    grid-column: 2;
    grid-row: 1/3;
    margin-bottom: 150px;
  }
  .site-footer .social-nav {
    grid-column: 1;
    grid-row: 2;
  }
  .site-footer .social-nav h3 {
    margin-bottom: 16px;
  }
  .site-footer .social-nav li {
    margin: 0;
  }
  .site-footer .footer-legals {
    text-align: left;
    grid-column: 2;
    grid-row: 3;
  }
}

.menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.menu ul,
.menu li,
.menu a,
.menu button {
  margin: 0;
  position: relative;
}

.block-content h1, .block-content .h1,
.block-content h2, .block-content .h2,
.block-content h3, .block-content .h3,
.block-content h4, .block-content .h4,
.block-content h5, .block-content .h5,
.block-content h6, .block-content .h6 {
  scroll-margin-top: 150px;
  margin-top: 0;
  margin-bottom: 0.5em;
}

.bg-panel {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  border-radius: var(--tms-border-radius);
  overflow: hidden;
  will-change: transform;
}
.bg-panel canvas {
  height: 100% !important;
}

.hover-shadow {
  transform-style: preserve-3d;
  position: relative;
}

.elastic-image-group {
  position: relative;
  height: auto;
  overflow: visible;
  will-change: transform;
  aspect-ratio: 550/363;
}
@media (min-width: 992px) {
  .elastic-image-group {
    aspect-ratio: 550/663;
  }
}
.elastic-image-group svg {
  position: relative;
  will-change: transform;
}
.elastic-image-group.layout-five {
  aspect-ratio: 1562/532;
}
@media (min-width: 992px) {
  .elastic-image-group.layout-five {
    aspect-ratio: 1562/532;
  }
}
.elastic-image-group .elastic-img {
  width: var(--w-sm);
  aspect-ratio: calc(var(--w-sm) / var(--h-sm));
  left: var(--x-sm);
  top: var(--y-sm);
  position: absolute;
  border-radius: var(--tms-border-radius);
  overflow: hidden;
}
.elastic-image-group .elastic-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 992px) {
  .elastic-image-group .elastic-img {
    width: var(--w);
    aspect-ratio: calc(var(--w) / var(--h));
    left: var(--x);
    top: var(--y);
  }
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-full {
  width: 100%;
  max-width: none;
  height: auto;
}

.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

figure {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
}
figure figcaption {
  margin-top: 4px;
}
figure figcaption p {
  font-size: 0.875rem;
  margin: 0;
}

form {
  margin-bottom: 32px;
}
form label {
  color: var(--text-color, var(--tms-black));
  display: block;
  font-size: 1rem;
  line-height: 1rem;
  margin-bottom: 0.5rem;
}
form label a {
  display: inline-block;
}
form li {
  list-style: none;
  padding: 0;
}

input[type=text],
input[type=password],
input[type=email],
textarea,
select {
  display: block;
  width: 100%;
  padding: 12px;
  color: var(--text-color, var(--tms-black));
  background-color: transparent;
  border: 1px solid var(--text-color, var(--tms-black));
  border-radius: 10px;
  font-size: 1rem;
  line-height: 1.5rem;
}
input[type=text].error,
input[type=password].error,
input[type=email].error,
textarea.error,
select.error {
  border: 1px solid var(--error-color) !important;
}
input[type=text]:focus, input[type=text]:focus-visible,
input[type=password]:focus,
input[type=password]:focus-visible,
input[type=email]:focus,
input[type=email]:focus-visible,
textarea:focus,
textarea:focus-visible,
select:focus,
select:focus-visible {
  outline: none;
  box-shadow: 0 0 5px 1px var(--tms-blue-light);
}

select {
  appearance: initial;
}

input[type=submit] {
  display: inline-block;
  box-sizing: border-box;
  width: 100%;
  background-color: transparent;
  border-radius: 10px;
  border: 1px solid #fff;
  padding: 9px 24px 10px;
  line-height: 1rem;
  font-size: 1rem;
  font-weight: 400;
  color: #fff;
  text-decoration: none;
  text-align: center;
  border-width: 2px;
  padding: 18px 20px;
  font-size: 1.5rem;
}
input[type=submit]:hover {
  background-color: #fff;
  color: #000;
}
@media (min-width: 576px) {
  input[type=submit] {
    width: auto;
  }
}
input[type=submit]:hover {
  font-weight: 600;
}

.block-theme-white input[type=submit] {
  border-color: var(--tms-black);
  color: var(--tms-black);
}
.block-theme-white input[type=submit]:hover {
  background-color: var(--tms-black);
  color: var(--tms-white);
}

select option {
  color: var(--text-color, var(--tms-white));
  background-color: var(--bg-color, var(--tms-dark));
}

.input-required,
.hs-form-required {
  color: #F20;
  font-weight: bold;
  margin-left: 2px;
}

.hs-form-field {
  display: block;
  margin-top: 14px;
}
@media (min-width: 768px) {
  .hs-form-field {
    margin-top: 20px;
  }
}

.hs-form-booleancheckbox {
  font-size: 16px;
  padding: 10px 0;
}
.hs-form-booleancheckbox a, .hs-form-booleancheckbox label {
  font-size: inherit;
  color: var(--text-color, var(--tms-white));
  display: inline-block;
  padding: 0;
  margin-bottom: auto;
  line-height: 20px;
}
.hs-form-booleancheckbox label {
  padding-left: 30px;
  display: block;
  position: relative;
}
.hs-form-booleancheckbox a {
  font-weight: 600;
  text-decoration: underline;
}
.hs-form-booleancheckbox label span {
  margin-left: 0 !important;
}
.hs-form-booleancheckbox input[type=checkbox] {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 20px;
  height: 20px;
  top: 0;
  left: 0;
}
.hs-form-booleancheckbox input[type=checkbox]:focus, .hs-form-booleancheckbox input[type=checkbox]:focus-visible + span {
  outline: 2px solid #fff; /* inner light ring */
  outline-offset: 2px;
  box-shadow: 0 0 0 4px #000;
}
.hs-form-booleancheckbox input + span:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border: 1px solid var(--text-color, var(--tms-white));
  border-radius: 3px;
}
.hs-form-booleancheckbox input:checked + span:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border: none;
  box-sizing: border-box;
  border-radius: 4px;
  background: var(--hover-shadow);
}
.hs-form-booleancheckbox input:checked + span:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border: 1px solid transparent;
  border-radius: 3px;
  background-image: url("../../assets/img/ticks/tick-black.svg");
  background-size: 18px 18px;
}

.hs-error-msgs {
  margin-top: 6px;
  padding-left: 0;
}
.hs-error-msgs li {
  margin-top: 0;
}
.hs-error-msgs label,
.hs-error-msgs .hs-error-msg {
  color: var(--error-color);
  margin-top: 0;
  font-size: 14px;
  line-height: 18px;
  font-weight: bold;
}

.hs-submit {
  margin-top: 24px;
}

.legal-consent-container {
  margin-top: 15px;
}
.legal-consent-container .hs-richtext,
.legal-consent-container p {
  font-size: 14px;
  line-height: 1.25;
}

.block-theme-white input:checked + span:after {
  background-image: url("../../assets/img/ticks/tick-white.svg");
}

.block-theme-white {
  --error-color: #DB0007;
}

.block-theme-dark {
  --error-color: #ff2200;
}

.hs-fieldtype-booleancheckbox .inputs-list {
  margin-bottom: 0;
  padding-left: 0;
}

.hs-form-field .input {
  border-radius: 10px;
  padding: 1px;
  background: var(--text-color);
}
.hs-form-field .input input,
.hs-form-field .input select,
.hs-form-field .input textarea {
  border: none;
  border-radius: 9px;
  background-color: var(--bg-color, var(--tms-light));
}
.hs-form-field .input input:focus, .hs-form-field .input input:focus-visible,
.hs-form-field .input select:focus,
.hs-form-field .input select:focus-visible,
.hs-form-field .input textarea:focus,
.hs-form-field .input textarea:focus-visible {
  box-shadow: none;
}
.hs-form-field .input input.error {
  border: none !important;
}
.hs-form-field .input:focus-within {
  box-shadow: 0 0 3px 0px var(--tms-blue-light);
  background: var(--hover-shadow);
}
.hs-form-field .input:has(.error) {
  background: var(--error-color);
}

.hs-fieldtype-booleancheckbox .input {
  background: transparent !important;
  box-shadow: none !important;
}

button {
  background-color: transparent;
  border: none;
  font-weight: inherit;
  padding: 0;
  text-align: left;
  color: inherit;
}

button,
a,
input[type=button],
input[type=submit] {
  cursor: pointer;
}

.btn-default,
.btn-fluid {
  position: relative;
  text-decoration: none;
  display: inline-block;
  height: 57px;
  cursor: pointer;
  font-family: "proxima-nova", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  line-height: 1rem;
  padding: 19px 40px;
  border-radius: 20px;
  white-space: nowrap;
  border: 2px solid transparent;
  background: var(--tms-grad-blue-dark--purple-dark) border-box;
  background-clip: border-box;
  color: var(--tms-black);
  isolation: isolate;
}
.btn-default::before,
.btn-fluid::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: calc(var(--tms-border-radius) - 1px);
  background: var(--tms-light);
  z-index: -1;
}
.btn-default:hover,
.btn-fluid:hover {
  color: var(--tms-white);
}
.btn-default:hover::before,
.btn-fluid:hover::before {
  background: transparent;
}
.btn-default.theme-dark,
.btn-fluid.theme-dark {
  background: var(--tms-grad-blue-light--green) border-box;
  color: var(--tms-white);
}
.btn-default.theme-dark::before,
.btn-fluid.theme-dark::before {
  background-color: var(--tms-dark);
}
.btn-default.theme-dark:hover,
.btn-fluid.theme-dark:hover {
  color: var(--tms-black);
}
.btn-default.theme-dark:hover::before,
.btn-fluid.theme-dark:hover::before {
  background: transparent;
}
.btn-default.theme-white,
.btn-fluid.theme-white {
  background: transparent;
  border-color: var(--tms-white);
  color: var(--tms-white);
}
.btn-default.theme-white::before,
.btn-fluid.theme-white::before {
  display: none;
}
.btn-default.theme-white:hover,
.btn-fluid.theme-white:hover {
  background: var(--tms-white);
  color: var(--tms-black);
}
.btn-default.theme-black,
.btn-fluid.theme-black {
  background: transparent;
  border-color: var(--tms-black);
  color: var(--tms-black);
}
.btn-default.theme-black::before,
.btn-fluid.theme-black::before {
  display: none;
}
.btn-default.theme-black:hover,
.btn-fluid.theme-black:hover {
  background: var(--tms-black);
  color: var(--tms-white);
}
.btn-default.btn-sm,
.btn-fluid.btn-sm {
  height: 37px;
  border-width: 1px;
  border-radius: 10px;
  font-size: 1rem;
  line-height: 1rem;
  padding: 9px 18px;
}
.btn-default.btn-sm span,
.btn-fluid.btn-sm span {
  line-height: 1rem;
}
.btn-default.btn-sm::before,
.btn-fluid.btn-sm::before {
  border-radius: 9px;
}

.btn-fluid-x {
  text-decoration: none;
  display: inline-block;
  min-height: 57px;
  cursor: pointer;
  /* 
  - Holds both labels
  - Has clipping applied 
  */
  /* Circle */
  /* Accessibility */
  /* variant:medium  */
}
.btn-fluid-x .fb-root {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  display: block;
}
.btn-fluid-x svg.fb-border {
  position: absolute;
  pointer-events: none;
}
.btn-fluid-x .fb-contents {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.btn-fluid-x .fb-label-0,
.btn-fluid-x .fb-label-1 {
  display: block;
  letter-spacing: 0px;
  font-family: "proxima-nova", sans-serif;
  font-style: normal;
  font-size: 1.5rem;
  line-height: 0.9375rem;
  letter-spacing: 0%;
  /* white-space: nowrap; */
  /* Improve webfont rendering  */
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  font-weight: 400;
  padding: 29px 43px;
  /* Was 20px 28px */
  line-height: 1.2;
}
.btn-fluid-x .fb-label-1 {
  position: absolute;
  pointer-events: none;
  opacity: 0;
}
.btn-fluid-x .fb-circle .fb-label-0,
.btn-fluid-x .fb-circle .fb-label-1 {
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn-fluid-x .fb-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.btn-fluid-x .fb-variant-small .fb-label-0,
.btn-fluid-x .fb-variant-small .fb-label-1 {
  font-size: 1rem;
  line-height: 1rem;
}
.btn-fluid-x .fb-variant-small .fb-label-0,
.btn-fluid-x .fb-variant-small .fb-label-1 {
  padding: calc((27px - 1rem) * 0.5 + 20px) calc((37px - 1rem) * 0.5 + 23px);
}
.btn-fluid-x .fb-variant-medium .fb-label-0,
.btn-fluid-x .fb-variant-medium .fb-label-1 {
  font-size: 1.25rem;
}
.btn-fluid-x .fb-variant-medium .fb-label-0,
.btn-fluid-x .fb-variant-medium .fb-label-1 {
  padding: 25px 41px; /* Must be 15px bigger that config.borderBleed */
}

.block .text a:not(.btn-fluid):not(.btn-fluid-x):not(.vartxt-root),
.block .accordion-item-content a,
.block .caption a,
.block .link-fluid {
  display: inline-block;
  text-decoration: none;
  color: var(--text-color, --tms-black);
  font-weight: 600;
}
.block .text a:not(.btn-fluid):not(.btn-fluid-x):not(.vartxt-root):hover,
.block .accordion-item-content a:hover,
.block .caption a:hover,
.block .link-fluid:hover {
  background: var(--text-gradient, --tms-grad-blue-dark--purple-dark);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.block .text a:not(.btn-fluid):not(.btn-fluid-x):not(.vartxt-root)::after,
.block .accordion-item-content a::after,
.block .caption a::after,
.block .link-fluid::after {
  position: relative;
  content: "";
  display: block;
  height: 2px;
  bottom: 0.1em;
  background: var(--text-gradient, --tms-grad-blue-dark--purple-dark);
}
.block .text a:not(.btn-fluid):not(.btn-fluid-x):not(.vartxt-root).sm::after,
.block .accordion-item-content a.sm::after,
.block .caption a.sm::after,
.block .link-fluid.sm::after {
  bottom: 0;
}

.tms-cols {
  display: grid;
  gap: var(--tms-gutter-x-sm);
  grid-template-columns: 1fr;
}
.tms-cols.cols-4, .tms-cols.cols-5 {
  grid-template-columns: repeat(2, 1fr);
}
.tms-cols.cols-6, .tms-cols.cols-7, .tms-cols.cols-8 {
  grid-template-columns: repeat(3, 1fr);
}
@media (min-width: 576px) {
  .tms-cols.cols-4, .tms-cols.cols-5 {
    grid-template-columns: repeat(2, 1fr);
  }
  .tms-cols.cols-6, .tms-cols.cols-7, .tms-cols.cols-8 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 768px) {
  .tms-cols {
    grid-gap: var(--tms-gutter-x);
  }
  .tms-cols.cols-1, .tms-cols.cols-2 {
    grid-template-columns: repeat(1, 1fr);
  }
  .tms-cols.cols-3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .tms-cols.cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .tms-cols.cols-5 {
    grid-template-columns: repeat(3, 1fr);
  }
  .tms-cols.cols-6 {
    grid-template-columns: repeat(4, 1fr);
  }
  .tms-cols.cols-7 {
    grid-template-columns: repeat(4, 1fr);
  }
  .tms-cols.cols-8 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 992px) {
  .tms-cols.cols-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .tms-cols.cols-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .tms-cols.cols-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .tms-cols.cols-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .tms-cols.cols-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .tms-cols.cols-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .tms-cols.cols-8 {
    grid-template-columns: repeat(8, 1fr);
  }
}
.tms-cols.cols-flexi {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 24px;
}
.tms-cols.cols-flexi .tms-tile {
  flex: 1;
  min-width: 292px;
  max-width: 293px;
}
.tms-cols.cols-centred {
  justify-content: center;
}
.tms-cols .col-wrapper-accordion + .col-wrapper-accordion {
  margin-top: -2px;
}
@media (min-width: 992px) {
  .tms-cols .col-wrapper-accordion + .col-wrapper-accordion {
    margin-top: 0;
  }
}

.tms-tile-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 calc(var(--tms-gutter-x) * -0.5);
}
.tms-tile-grid .tms-tile-wrapper {
  padding: calc(var(--tms-gutter-x) * 0.5);
  display: flex;
  flex: 0 0 100%;
}
@media (min-width: 576px) {
  .tms-tile-grid .tms-tile-wrapper {
    flex: 0 0 50%;
  }
}
@media (min-width: 992px) {
  .tms-tile-grid.cols-3 .tms-tile-wrapper {
    flex: 0 0 33.3333333333%;
  }
  .tms-tile-grid.cols-4 .tms-tile-wrapper {
    flex: 0 0 33.3333333333%;
  }
}
@media (min-width: 1200px) {
  .tms-tile-grid.cols-4 .tms-tile-wrapper {
    flex: 0 0 25%;
  }
}

.category-filter {
  position: relative;
  display: flex;
  flex-direction: column;
}
.category-filter .filter-by {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-left: auto;
  width: 100%;
  align-items: flex-start;
}
.category-filter fieldset {
  border: none;
}
.category-filter .filter-by--active_tags {
  padding: 0 10px 0 0;
}
.category-filter .filter-label {
  font-size: 1.5rem;
}
.category-filter .filters-clear {
  display: none;
}
.category-filter .filter-by--active,
.category-filter .category-filter-toggle--active {
  display: none;
}
.category-filter.filtered .filters-clear {
  display: inline-block;
}
.category-filter.filtered .filter-by--active,
.category-filter.filtered .category-filter-toggle--active {
  display: block;
}
.category-filter.filtered .category-filter-toggle--inactive {
  display: none;
}
@media (min-width: 768px) {
  .category-filter.filtered .filter-by--active {
    display: flex;
  }
  .category-filter .filter-by--active_tags {
    display: block;
    padding: 5px 15px 0 10px;
  }
}

.filter-by--active_label {
  line-height: 40px;
  height: 40px;
  display: block;
  white-space: nowrap;
}

.category-filter-actions {
  position: relative;
  margin-top: 16px;
  display: flex;
  gap: 10px;
  z-index: 10;
}

.category-filters-modal {
  display: none;
  padding: 20px 0;
  position: relative;
  width: 100%;
}
.category-filters-modal-title {
  font-size: 24px;
  line-height: 32px;
  font-weight: 400;
  position: relative;
  padding-right: 24px;
  margin-bottom: 20px;
}
.category-filters-modal .category-group {
  padding: 0;
  margin: 12px 0 0;
}
.category-filters-modal .category-group legend {
  font-size: 1.25rem;
  line-height: 1.25;
  margin-bottom: 4px;
}
.category-filters-modal .category-group .tags {
  padding-top: 5px;
}
@media (min-width: 768px) {
  .category-filters-modal {
    display: none;
    position: relative;
    background-color: var(--background-color);
    right: 0;
    left: auto;
    top: 20px;
    height: min-content;
    padding: 0 16px;
  }
  .category-filters-modal-title {
    display: none;
  }
}

.category-filter.open .category-filters-modal {
  display: block;
}

.tags {
  position: relative;
  z-index: 2;
  padding: 12px 0;
}
.tags ul, .tags li {
  padding: 0;
  margin: 0;
}
.tags .tags-list {
  display: inline-flex;
  flex-wrap: wrap;
  margin: -4px -4px;
  padding: 0;
  list-style-type: none;
}
.tags .hidden-mobile {
  display: none;
}
@media (min-width: 768px) {
  .tags .hidden-mobile {
    display: block;
  }
  .tags .hidden {
    display: none;
  }
}
.tags .tag {
  position: relative;
  display: inline-block;
  padding: 5px 10px;
  margin: 4px;
  border-radius: 50px;
  background-color: transparent;
  border: 1px solid var(--text-color, --tms-black);
  color: var(--text-color, --tms-black);
  font-family: var(--tms-font-secondary);
  letter-spacing: 0.02em;
  font-weight: 600;
  font-style: italic;
  font-size: 1rem;
  line-height: 1rem;
  text-decoration: none;
  white-space: nowrap;
}
.tags .more-tags {
  display: inline-block;
}
@media (min-width: 768px) {
  .tags .more-tags.hidden {
    display: none;
  }
}
.tags .more {
  display: inline-block;
  font-size: 1rem;
  line-height: 1rem;
  font-weight: 600;
  margin-left: 4px;
  font-family: var(--tms-font-secondary);
  font-style: italic;
  border: 1px solid var(--text-color, --tms-black);
  border-radius: 50px;
  cursor: pointer;
}
.tags .more .num-mobile {
  display: inline;
}
.tags .more .num-desktop {
  display: none;
}
@media (min-width: 768px) {
  .tags .more .num-mobile {
    display: none;
  }
  .tags .more .num-desktop {
    display: inline;
  }
}
.tags.tags-xs .tag,
.tags.tags-xs .more {
  font-size: 0.875rem;
  line-height: 0.875rem;
  padding: 3px 14px;
}
.tags.tags-sm .tag,
.tags.tags-sm .more {
  font-size: 1rem;
  line-height: 1rem;
  padding: 5px 14px;
}
.tags.show-hidden .hidden-mobile,
.tags.show-hidden .hidden {
  display: inline-block;
}
.tags.show-hidden .more {
  display: none;
}
.tags .tag.off {
  border-color: #656A70;
}
.tags .tag.off:hover {
  background: var(--hover-shadow);
}
.tags .tag-toggle-wrapper {
  position: relative;
}
.tags .tag-toggle-wrapper input[type=checkbox] {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
}
.tags .tag-toggle-wrapper input[type=checkbox] + .tag {
  cursor: pointer;
  border-color: var(--text-color, --tms-black);
}
.tags .tag-toggle-wrapper input[type=checkbox] + .tag:hover {
  background-color: var(--text-color, --tms-white);
  color: var(--bg-color, --tms-black);
}
.tags .tag-toggle-wrapper input[type=checkbox]:checked + .tag {
  background-color: var(--text-color, --tms-white);
  color: var(--bg-color, --tms-black);
}
.tags .tag-toggle-wrapper input[type=checkbox]:focus, .tags .tag-toggle-wrapper input[type=checkbox]:focus-visible + label {
  outline: 2px solid #fff; /* inner light ring */
  outline-offset: 2px;
  box-shadow: 0 0 0 4px #000;
}
.tags a.tag:hover {
  text-decoration: none;
  border-color: transparent;
  background: var(--text-color);
  color: var(--bg-color);
}

.otgs-development-site-front-end {
  display: none;
}

.video-wrapper {
  position: relative;
  display: flex;
  width: 100%;
  padding-bottom: 56.25%;
  border-radius: var(--tms-border-radius);
  overflow: hidden;
}
.video-wrapper a {
  display: none;
}
.video-wrapper iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: none;
}

.video-thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  pointer-events: none;
}
.video-thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video-thumbnail .btn-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  pointer-events: all;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
}
.video-thumbnail .btn-wrapper .btn-play:hover {
  cursor: pointer;
  height: 65px;
  border-radius: 50%;
}
.video-thumbnail .btn-wrapper .btn-play:hover svg {
  fill: white;
}
.video-thumbnail .btn-wrapper .btn-play:hover .bubble {
  left: -16px;
  top: -24px;
}
.video-thumbnail .btn-play {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 65px;
  height: 52px;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 5px;
  overflow: hidden;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.video-thumbnail .btn-play svg {
  position: relative;
  z-index: 10;
}
.video-thumbnail .bubble {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background-color: rgb(0, 0, 0);
  position: absolute;
  top: 52px;
  left: 65px;
  transition: all 0s ease-in;
}

.bg-video-wrapper {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.bg-video-wrapper iframe {
  min-height: 100%;
  object-fit: cover;
  position: absolute;
  min-width: 100%;
  aspect-ratio: 16/9;
}
.bg-video-wrapper.aspect-16_9 iframe {
  aspect-ratio: 16/9;
}
.bg-video-wrapper.aspect-9_16 iframe {
  aspect-ratio: 9/16;
}
.bg-video-wrapper.aspect-square iframe {
  aspect-ratio: 1/1;
}
.bg-video-wrapper .overlay {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: transparent;
  pointer-events: none;
}
.bg-video-wrapper .overlay--white {
  background-color: #fff;
}
.bg-video-wrapper .overlay--black {
  background-color: #000;
}

.bg-video .video-controls {
  z-index: 5;
  position: absolute;
  right: 10px;
  bottom: 30px;
}

.video-default .video-info {
  position: relative;
  display: flex;
}
.video-default .caption {
  margin: 8px 0 0;
  max-width: 100%;
}
.video-default .transcript-link {
  margin-left: auto;
  padding: 8px 0 8px 12px;
}
.video-default .transcript-content {
  display: none;
  padding: 8px 0;
}

.video-header .video-wrapper {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  padding: 0; /* mobile default */
  overflow: hidden;
}
@media (min-width: 768px) {
  .video-header .video-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-bottom: 0;
    aspect-ratio: auto;
    height: calc(100vh - 90px);
  }
}
.video-header iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  object-fit: cover;
  aspect-ratio: 16/9;
  transform: translate(-50%, -50%);
  pointer-events: none; /* optional: controls provided externally */
  z-index: 100;
}
.video-header .video-controls {
  display: flex;
  position: absolute;
  top: 30px;
  right: 10px;
  z-index: 1000;
}
.video-header .transcript-content {
  display: none;
  padding: 8px 0;
  max-width: 1168px;
}

.video-controls .mute-button,
.video-controls .play-button,
.video-controls .transcript-button {
  display: flex;
  width: 36px;
  height: 36px;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  cursor: pointer;
  margin: 2px;
  transform: scale3d(0, 0, 0);
  animation: scaleIn 0.3s ease 0.5s forwards;
}
.video-controls .mute-button svg,
.video-controls .play-button svg,
.video-controls .transcript-button svg {
  width: 24px;
  height: 24px;
  fill: white;
}
.video-controls .mute-button:hover,
.video-controls .play-button:hover,
.video-controls .transcript-button:hover {
  background-color: rgb(0, 0, 0);
}
.video-controls .mute-button:focus,
.video-controls .play-button:focus,
.video-controls .transcript-button:focus {
  outline: var(--tms-white) solid 2px;
  outline-offset: 0;
  background-color: var(--tms-blue-dark);
}

.video .icon-mute,
.video .icon-play,
.video .icon-transcript {
  display: block;
}
.video .icon-unmute,
.video .icon-pause,
.video .icon-no-transcript {
  display: none;
}

.video.playing .icon-pause {
  display: block;
}
.video.playing .icon-play {
  display: none;
}

.video.muted .icon-unmute {
  display: block;
}
.video.muted .icon-mute {
  display: none;
}

.video.transcript-open .transcript-content {
  display: block;
}
.video.transcript-open .icon-no-transcript {
  display: block;
}
.video.transcript-open .icon-transcript {
  display: none;
}

.loader-wrapper {
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
}

.loader {
  width: 80px;
  height: 80px;
  display: none;
  margin: 40px auto;
}
@media (min-width: 768px) {
  .loader {
    width: 120px;
    height: 120px;
  }
}

.reduce-motion .loader-anim {
  display: none;
}

.loader-message {
  font-size: 2rem;
  text-align: center;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  background-color: rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal .modal-wrapper {
  max-width: 760px;
  width: 100%;
  margin: 15px;
}
.modal .modal-header {
  position: relative;
  background-color: #202124;
  color: #fff;
  padding: 7px 24px 13px;
  font-size: 18px;
  line-height: 28px;
}
@media (min-width: 768px) {
  .modal .modal-header {
    font-size: 32px;
    line-height: 40px;
    padding: 24px 48px 37px;
    padding-right: 120px;
  }
}
.modal .modal-header:before {
  content: " ";
  position: absolute;
  display: block;
  left: 0;
  height: 6px;
  bottom: 0;
  width: 100%;
  background-color: #009A44;
}
.modal .modal-header:after {
  content: " ";
  position: absolute;
  display: block;
  left: 0;
  height: 6px;
  bottom: 0;
  width: 35%;
  background-color: #C0DF16;
}
@media (min-width: 768px) {
  .modal .modal-header:before, .modal .modal-header:after {
    height: 13px;
  }
}
.modal .btn-close {
  position: absolute;
  right: 24px;
  top: 14px;
  width: 15px;
  height: 15px;
}
.modal .btn-close img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
@media (min-width: 768px) {
  .modal .btn-close {
    top: 29px;
    right: 48px;
    width: 30px;
    height: 30px;
  }
}
.modal .modal-content {
  background-color: #fff;
  padding: 24px 24px;
  display: flex;
  flex-direction: column;
}
.modal .modal-content .modal-text {
  margin-bottom: 24px;
  flex: 1;
}
.modal .modal-content .modal-image {
  max-width: 500px;
  text-align: center;
  margin: 0 auto;
  flex: 1;
}
.modal .modal-content .modal-image img {
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  .modal .modal-content {
    padding: 24px 48px;
    display: flex;
    flex-direction: row;
  }
  .modal .modal-content .modal-text {
    width: 50%;
  }
  .modal .modal-content .modal-image {
    width: 50%;
  }
}
.modal.blue .modal-header:before {
  background-color: #0047BB;
}
.modal.blue .modal-header:after {
  background-color: #00AFD7;
}
.modal.purple .modal-header:before {
  background-color: #4E008E;
}
.modal.purple .modal-header:after {
  background-color: #AC4FC6;
}
.modal.orange .modal-header:before {
  background-color: #FE5000;
}
.modal.orange .modal-header:after {
  background-color: #FF9800;
}

.vartxt-root {
  position: relative;
  font-weight: 400;
  white-space: nowrap;
  border: 0.01px solid rgba(255, 255, 255, 0); /* For Safari 200% */
}

.vartxt-overlay {
  font-weight: 400;
  position: absolute;
  left: 50%;
  top: 50%;
  line-height: 1em;
  transform: translate(-50%, -50%);
}

.vartxt-underline {
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 5px;
  /* background: linear-gradient(to right, #f00, #00f); */
}

.vartxt-font-preload {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}

.vartxt-font-preload-500 {
  font-weight: 500;
}

.vartxt-font-preload-600 {
  font-weight: 600;
}

.vartxt-font-preload-700 {
  font-weight: 700;
}

.vartxt-font-preload-800 {
  font-weight: 800;
}

/* gradient hover */
.vartxt-overlay {
  padding: 4px 0;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background-size: 300% 100%;
  background-position: top left;
  transition: background-position 0.3s ease-in-out;
}

/* Firefox bug */
@supports (-moz-appearance: none) {
  .vartxt-overlay {
    bottom: -38%;
    will-change: transform;
  }
}
.vartxt-root:hover .vartxt-overlay {
  background-position: top left 100%;
}

.block {
  position: relative;
  background-color: var(--tms-light);
  scroll-margin-top: 150px;
}
.block .block-header {
  padding-top: 0;
  padding-bottom: 1.5rem;
  max-width: 1200px;
}
.block .block-header h2 {
  margin: 0;
}
.block .block-container {
  z-index: 3;
  position: relative;
}
.block .content-text {
  overflow-wrap: break-word;
}
.block .content-text img,
.block .content-text iframe:not(.instagram-media),
.block .content-text video,
.block .content-text picture {
  max-width: 100%;
  height: auto;
  border-radius: var(--tms-border-radius);
}
.block.pt-none .block-container {
  padding-top: 0px;
}
.block.pt-xs .block-container {
  padding-top: 20px;
}
.block.pt-sm .block-container {
  padding-top: 40px;
}
.block.pt-md .block-container {
  padding-top: 60px;
}
.block.pt-lg .block-container {
  padding-top: 100px;
}
.block.pt-xl .block-container {
  padding-top: 140px;
}
.block.pb-none .block-container {
  padding-bottom: 0px;
}
.block.pb-xs .block-container {
  padding-bottom: 20px;
}
.block.pb-sm .block-container {
  padding-bottom: 40px;
}
.block.pb-md .block-container {
  padding-bottom: 60px;
}
.block.pb-lg .block-container {
  padding-bottom: 100px;
}
.block.pb-xl .block-container {
  padding-bottom: 140px;
}
.block.rounded-top {
  border-top-left-radius: var(--tms-border-radius);
  border-top-right-radius: var(--tms-border-radius);
}
.block.rounded-top::after {
  content: "";
  height: var(--tms-border-radius);
  background: transparent;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: -1;
}
.block.rounded-bottom {
  border-bottom-left-radius: var(--tms-border-radius);
  border-bottom-right-radius: var(--tms-border-radius);
}
.block.rounded-bottom + .block::before {
  content: " ";
  display: block;
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  height: var(--tms-border-radius);
  background: var(--bg-color, var(--tms-light));
  z-index: -1;
}

.block.block-theme-white {
  background-color: var(--tms-light);
  color: var(--tms-black);
  --bg-color: var(--tms-light);
  --text-color: var(--tms-black);
  --accent-color: var(--tms-blue-dark);
  --hover-color: var(--tms-white);
  --hover-shadow: var(--tms-grad-blue-dark--purple-dark);
  --text-gradient: var(--tms-grad-blue-dark--purple-dark);
}
.block.block-theme-dark {
  background-color: var(--tms-dark);
  color: var(--tms-white);
  --bg-color: var(--tms-dark);
  --text-color: var(--tms-white);
  --accent-color: var(--tms-green);
  --hover-color: var(--tms-black);
  --hover-shadow: var(--tms-grad-blue-light--green);
  --text-gradient: var(--tms-grad-blue-light--green);
}
.block.block-theme-dark + .rounded-top::after {
  background: var(--tms-dark, var(--tms-dark));
}
.block.block-theme-blue {
  background-color: var(--tms-blue-dark);
  background-image: var(--tms-grad-blue-dark--purple-dark);
  color: var(--tms-white);
  --bg-color: var(--tms-grad-blue-dark--purple-dark) var(--tms-blue-dark);
  --text-color: var(--tms-white);
  --accent-color: var(--tms-white);
  --hover-color: var(--tms-white);
  --text-gradient: var(--tms-white);
}
.block.block-theme-green {
  background-color: var(--tms-green);
  background-image: var(--tms-grad-blue-light--green);
  color: var(--tms-black);
  --bg-color: var(--tms-grad-blue-light--green) var(--tms-green);
  --text-color: var(--tms-black);
  --accent-color: var(--tms-black);
  --hover-color: var(--tms-black);
  --text-gradient: var(--tms-black);
}
.block.block-theme-purple {
  background-color: var(--tms-purple-light);
  background-image: var(--tms-grad-blue-dark--purple-light);
  color: var(--tms-white);
  --bg-color: var(--tms-grad-blue-dark--purple-light) var(--tms-purple-light);
  --text-color: var(--tms-white);
  --accent-color: var(--tms-white);
  --hover-color: var(--tms-white);
  --text-gradient: var(--tms-white);
}
.block.block-theme-blue-light {
  background-color: var(--tms-blue);
  background-image: var(--tms-grad-blue-dark--blue-light);
  color: var(--tms-white);
  --bg-color: var(--tms-grad-blue-dark--blue-light) var(--tms-blue);
  --text-color: var(--tms-white);
  --accent-color: var(--tms-white);
  --hover-color: var(--tms-white);
  --text-gradient: var(--tms-white);
}
.block.block-theme-purple-light {
  background-color: var(--tms-purple-mid);
  background-image: var(--tms-grad-blue-light--purple-mid);
  color: var(--tms-black);
  --bg-color: var(--tms-grad-blue-light--purple-mid) var(--tms-purple-mid);
  --text-color: var(--tms-black);
  --accent-color: var(--tms-black);
  --hover-color: var(--tms-black);
  --text-gradient: var(--tms-black);
}
.block.block-theme-red {
  background-color: var(--tms-red);
  background-image: var(--tms-grad-purple-light--yellow);
  color: var(--tms-black);
  --bg-color: var(--tms-grad-purple-light--yellow) var(--tms-red);
  --text-color: var(--tms-black);
  --accent-color: var(--tms-black);
  --hover-color: var(--tms-black);
  --text-gradient: var(--tms-black);
}

.sub-block > * {
  height: 100%;
}
.sub-block .block-theme-white {
  background-color: var(--tms-light);
  color: var(--tms-black);
  --bg-color: var(--tms-light);
  --text-color: var(--tms-black);
  --accent-color: var(--tms-blue-dark);
  --hover-color: var(--tms-white);
  --hover-shadow: var(--tms-grad-blue-dark--purple-dark);
  --text-gradient: var(--tms-grad-blue-dark--purple-dark);
}
.sub-block .block-theme-dark {
  background-color: var(--tms-dark);
  color: var(--tms-white);
  --bg-color: var(--tms-dark);
  --text-color: var(--tms-white);
  --accent-color: var(--tms-green);
  --hover-color: var(--tms-black);
  --hover-shadow: var(--tms-grad-blue-light--green);
  --text-gradient: var(--tms-grad-blue-light--green);
}
.sub-block .block-theme-blue {
  background-color: var(--tms-blue-dark);
  background-image: var(--tms-grad-blue-dark--purple-dark);
  color: var(--tms-white);
  --bg-color: var(--tms-grad-blue-dark--purple-dark) var(--tms-blue-dark);
  --text-color: var(--tms-white);
  --accent-color: var(--tms-white);
  --hover-color: var(--tms-white);
  --text-gradient: var(--tms-white);
}
.sub-block .block-theme-green {
  background-color: var(--tms-green);
  background-image: var(--tms-grad-blue-light--green);
  color: var(--tms-black);
  --bg-color: var(--tms-grad-blue-light--green) var(--tms-green);
  --text-color: var(--tms-black);
  --accent-color: var(--tms-black);
  --hover-color: var(--tms-black);
  --text-gradient: var(--tms-black);
}
.sub-block .block-theme-purple {
  background-color: var(--tms-purple-light);
  background-image: var(--tms-grad-blue-dark--purple-light);
  color: var(--tms-white);
  --bg-color: var(--tms-grad-blue-dark--purple-light) var(--tms-purple-light);
  --text-color: var(--tms-white);
  --accent-color: var(--tms-white);
  --hover-color: var(--tms-white);
  --text-gradient: var(--tms-white);
}
.sub-block .block-theme-blue-light {
  background-color: var(--tms-blue);
  background-image: var(--tms-grad-blue-dark--blue-light);
  color: var(--tms-white);
  --bg-color: var(--tms-grad-blue-dark--blue-light) var(--tms-blue);
  --text-color: var(--tms-white);
  --accent-color: var(--tms-white);
  --hover-color: var(--tms-white);
  --text-gradient: var(--tms-white);
}
.sub-block .block-theme-purple-light {
  background-color: var(--tms-purple-mid);
  background-image: var(--tms-grad-blue-light--purple-mid);
  color: var(--tms-black);
  --bg-color: var(--tms-grad-blue-light--purple-mid) var(--tms-purple-mid);
  --text-color: var(--tms-black);
  --accent-color: var(--tms-black);
  --hover-color: var(--tms-black);
  --text-gradient: var(--tms-black);
}
.sub-block .block-theme-red {
  background-color: var(--tms-red);
  background-image: var(--tms-grad-purple-light--yellow);
  color: var(--tms-black);
  --bg-color: var(--tms-grad-purple-light--yellow) var(--tms-red);
  --text-color: var(--tms-black);
  --accent-color: var(--tms-black);
  --hover-color: var(--tms-black);
  --text-gradient: var(--tms-black);
}

.site-main .block:first-child {
  padding-top: 38px;
}
@media (min-width: 992px) {
  .site-main .block:first-child {
    padding-top: 70px;
  }
}
.site-main .block:last-child {
  padding-bottom: 100px;
}

.block-columns .tms-cols {
  grid-gap: 0;
}
@media (min-width: 992px) {
  .block-columns .tms-cols {
    grid-gap: var(--tms-gutter-x);
  }
}

.block-image .image {
  padding: 0;
  position: relative;
  overflow: hidden;
  z-index: 2;
}
.block-image .image img,
.block-image .image picture {
  position: relative;
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
}
.block-image .image picture {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
}
.block-image .image-auto img,
.block-image .image-auto picture {
  position: relative;
  width: 100%;
  height: auto;
}
.block-image img {
  vertical-align: bottom;
}
.block-image .caption {
  width: 100%;
  max-width: 1160px;
  margin: 8px auto 0;
}
.block-image .caption a {
  color: var(--text-color);
}
.block-image .caption a:hover {
  color: var(--accent-color);
}
.block-image .image img,
.block-image .image picture {
  border-radius: var(--tms-border-radius);
  overflow: hidden;
}

.sub-block-image {
  vertical-align: bottom;
}
.sub-block-image img {
  border-radius: var(--tms-border-radius) !important;
  overflow: hidden;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.block-text_image .content-text,
.block-text_image .content-media {
  position: relative;
  width: 100%;
}
.block-text_image .gutter {
  display: none;
}
.block-text_image .content-text {
  margin-bottom: 40px;
}
.block-text_image .content-text p:first-child,
.block-text_image .content-text h1:first-child,
.block-text_image .content-text h2:first-child,
.block-text_image .content-text h3:first-child,
.block-text_image .content-text h4:first-child {
  margin-top: 0;
}
.block-text_image .text-image-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
}
.block-text_image .media-wrapper {
  display: block;
  position: relative;
  border-radius: var(--tms-border-radius);
}
.block-text_image .media-wrapper video,
.block-text_image .media-wrapper picture,
.block-text_image .media-wrapper img {
  vertical-align: bottom;
}
.block-text_image .media-wrapper.image, .block-text_image .media-wrapper.video, .block-text_image .media-wrapper.map {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.block-text_image .media-wrapper.image_group {
  width: 100%;
  height: auto;
  border-radius: 0;
  max-width: 550px;
  margin: 0 auto;
  overflow: visible;
  will-change: transform;
}
.block-text_image .caption {
  margin-top: 8px;
}
.block-text_image.block-bg-panel .text-image-wrapper {
  max-width: 1128px;
  margin: 0 auto;
  padding: 20px;
}
@media (min-width: 992px) {
  .block-text_image .content-text,
  .block-text_image .content-media {
    width: 50%;
    align-self: flex-start;
  }
  .block-text_image .text-image-wrapper {
    display: flex;
    flex-direction: row;
  }
  .block-text_image .gutter {
    display: block;
    min-width: 70px;
  }
  .block-text_image .content-text {
    margin-bottom: 0;
    align-self: center;
  }
  .block-text_image .bg-panel + .content-text {
    align-self: flex-start;
  }
  .block-text_image .media-wrapper.image_group {
    margin-top: -40px;
  }
  .block-text_image.block-bg-panel .text-image-wrapper {
    padding: 40px;
  }
}
@media (min-width: 992px) {
  .block-text_image .reverse .text-image-wrapper {
    flex-direction: row-reverse;
  }
}
.block-text_image .inverse .text-image-wrapper {
  flex-direction: column-reverse;
}
@media (min-width: 992px) {
  .block-text_image .inverse .text-image-wrapper {
    flex-direction: row;
  }
}
@media (min-width: 992px) {
  .block-text_image .inverse.reverse .text-image-wrapper {
    flex-direction: row-reverse;
  }
}
.block-text_image .elastic-images {
  width: 100%;
}

.block-video .caption {
  font-style: italic;
}
.block-video .container-fluid .video {
  margin: 0;
}
.block-video .container-fluid .caption {
  padding: 0;
}
.block-video:first-child .video-wrapper {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.tms-accordion {
  position: relative;
}
.tms-accordion .accordion-item {
  border-top: 2px solid #202124;
  border-bottom: 2px solid #202124;
}
.tms-accordion .accordion-item + .accordion-item {
  border-top-width: 0;
}
.tms-accordion .accordion-item-title {
  margin: 0;
  width: 100%;
  padding: 24px 40px 24px 0;
  position: relative;
}
.tms-accordion .accordion-item-title span {
  line-height: 30px;
}
.tms-accordion .accordion-item-title button {
  display: block;
}
.tms-accordion .accordion-item-panel {
  display: none;
}
.tms-accordion .accordion-item-content {
  padding-bottom: 20px;
}
.tms-accordion .accordion-item-content p:first-child {
  margin-top: 0;
}
.tms-accordion .expander {
  position: absolute;
  width: 32px;
  height: 32px;
  right: 0;
  top: 24px;
  transition: transform 0.3s ease-in-out;
}
.tms-accordion .accordion-item.open .expander {
  transform: rotate(-315deg);
}
.tms-accordion.content-theme-white .accordion-item {
  border-top-color: #fff;
  border-bottom-color: #fff;
}
@media (max-width: 991px) {
  .tms-accordion .accordion-image {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .tms-accordion.layout-imaged {
    overflow: hidden;
  }
  .tms-accordion.layout-imaged .accordion-item {
    width: calc(50% - 15px);
  }
  .tms-accordion.layout-imaged .content-image {
    display: block;
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
    right: 0;
    padding-left: 15px;
    padding-bottom: 0;
  }
  .tms-accordion.layout-imaged .accordion-image {
    width: 100%;
    height: auto;
    max-height: 100%;
    display: none;
    border-radius: var(--tms-border-radius);
    overflow: hidden;
  }
  .tms-accordion.layout-imaged .accordion-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: top center;
  }
}

.block-gallery .grid {
  display: grid;
  margin: -8px;
}
@media (min-width: 768px) {
  .block-gallery .grid-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .block-gallery .grid-2 .w-2 {
    grid-column-end: span 2;
  }
  .block-gallery .grid-2 .h-2 {
    grid-row-end: span 2;
  }
}
@media (min-width: 768px) {
  .block-gallery .grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .block-gallery .grid-3 .w-2 {
    grid-column-end: span 2;
  }
  .block-gallery .grid-3 .w-3 {
    grid-column-end: span 3;
  }
  .block-gallery .grid-3 .h-2 {
    grid-row-end: span 2;
  }
  .block-gallery .grid-3 .h-3 {
    grid-row-end: span 3;
  }
}
.block-gallery .gallery-image,
.block-gallery .gallery-video {
  height: auto;
  position: relative;
  overflow: hidden;
  margin: 8px;
}
.block-gallery .gallery-image picture,
.block-gallery .gallery-image img,
.block-gallery .gallery-video picture,
.block-gallery .gallery-video img {
  border-radius: var(--tms-border-radius);
  position: relative;
  width: 100%;
  height: auto;
}
.block-gallery .gallery-image picture,
.block-gallery .gallery-video picture {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
}
@media (min-width: 768px) {
  .block-gallery .gallery-image,
  .block-gallery .gallery-video {
    height: 245px;
  }
  .block-gallery .gallery-image picture,
  .block-gallery .gallery-image img,
  .block-gallery .gallery-video picture,
  .block-gallery .gallery-video img {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
  .block-gallery .gallery-image.h-1,
  .block-gallery .gallery-video.h-1 {
    height: 245px;
  }
  .block-gallery .gallery-image.h-2,
  .block-gallery .gallery-video.h-2 {
    height: 506px;
  }
  .block-gallery .gallery-image.h-3,
  .block-gallery .gallery-video.h-3 {
    height: 767px;
  }
}
@media (min-width: 992px) {
  .block-gallery .gallery-image.h-1,
  .block-gallery .gallery-video.h-1 {
    height: 310px;
  }
  .block-gallery .gallery-image.h-2,
  .block-gallery .gallery-video.h-2 {
    height: 636px;
  }
  .block-gallery .gallery-image.h-3,
  .block-gallery .gallery-video.h-3 {
    height: 962px;
  }
}
@media (min-width: 1200px) {
  .block-gallery .gallery-image.h-1,
  .block-gallery .gallery-video.h-1 {
    height: 375px;
  }
  .block-gallery .gallery-image.h-2,
  .block-gallery .gallery-video.h-2 {
    height: 766px;
  }
  .block-gallery .gallery-image.h-3,
  .block-gallery .gallery-video.h-3 {
    height: 1157px;
  }
}
.block-gallery .gallery-video {
  aspect-ratio: 16/9;
  height: auto !important;
}

.block-social-gallery .cols {
  display: flex;
  flex-wrap: wrap;
  margin: -8px;
  justify-content: center;
  position: relative;
  margin: 0 auto;
}
.block-social-gallery .grid-1 {
  max-width: 388px;
}
.block-social-gallery .grid-2 {
  max-width: 776px;
}
.block-social-gallery .grid-3 {
  max-width: 1164px;
}
.block-social-gallery .gallery-embed {
  height: auto;
  position: relative;
  overflow: hidden;
  padding: 8px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 345px;
}
.block-social-gallery .gallery-embed .inner {
  height: auto;
  width: 100%;
  text-align: center;
}
@media (min-width: 992px) {
  .block-social-gallery .gallery-embed {
    padding: 12px;
    width: 364px;
  }
}
.block-social-gallery .inner.tiktok {
  width: max-content;
}
.block-social-gallery .inner.vimeo,
.block-social-gallery .inner.yt-short,
.block-social-gallery .inner.tiktok {
  aspect-ratio: 9/16;
  width: 100%;
}
.block-social-gallery .inner.vimeo iframe,
.block-social-gallery .inner.yt-short iframe,
.block-social-gallery .inner.tiktok iframe {
  width: 100%;
  height: 100%;
}
.block-social-gallery .youtube-embed iframe {
  width: 100%;
  height: auto;
  max-width: 100%;
  aspect-ratio: 9/16;
}
.block-social-gallery .instagram-media {
  width: 100% !important;
}

.block-html::before {
  content: none;
}

.block-spacer {
  height: 0;
}

.block-page-hero {
  position: relative;
  overflow: hidden;
}
.block-page-hero .bg-video,
.block-page-hero .bg-image {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: -20px;
  z-index: 1;
}
.block-page-hero .bg-video picture,
.block-page-hero .bg-video img,
.block-page-hero .bg-image picture,
.block-page-hero .bg-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.block-page-hero .container, .block-page-hero .container-narrow,
.block-page-hero .container-narrow-left,
.block-page-hero .container-narrow-right {
  z-index: 3;
  pointer-events: none;
}
.block-page-hero .content-wrapper {
  position: relative;
  max-width: 720px;
  min-height: 400px;
  display: flex;
  flex-direction: column-reverse;
  color: var(--tms-black);
}
@media (min-width: 768px) {
  .block-page-hero .content-wrapper {
    min-height: 665px;
  }
}
.block-page-hero .title-wrapper {
  position: relative;
  display: inline-block;
  align-self: flex-start;
  background-color: var(--tms-white);
  border-radius: var(--tms-border-radius);
  pointer-events: all;
  margin: 0 6px 120px;
}
.block-page-hero .title-wrapper h1,
.block-page-hero .title-wrapper h2 {
  margin: 6px 0 0;
}
.block-page-hero .title-wrapper p {
  margin-top: 16px;
  margin-bottom: 0;
}
.block-page-hero .title-wrapper {
  padding: 40px 40px 50px;
}
@media (min-width: 768px) {
  .block-page-hero .content-wrapper {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 0;
  }
  .block-page-hero .title-wrapper {
    margin: 0;
    padding: 50px 60px 60px;
  }
}

.block-page-header {
  position: relative;
  overflow: hidden;
}
.block-page-header .page-header-content {
  margin: 50px 0;
}
@media (min-width: 768px) {
  .block-page-header .page-header-content {
    margin: 80px 0;
  }
}
.block-page-header .title-wrapper {
  display: flex;
  flex-direction: column-reverse;
}
.block-page-header .title h1 {
  margin: 0;
  padding: 0;
  margin: 0;
}
.block-page-header .page-details {
  font-size: 1rem;
  display: flex;
  flex-wrap: wrap;
  margin-top: 24px;
}
.block-page-header .page-details .author-date {
  display: flex;
}
.block-page-header .page-details .author {
  padding-right: 12px;
  position: relative;
}
.block-page-header .page-details .date {
  position: relative;
}
.block-page-header .page-details .author + .date {
  padding-left: 12px;
}
.block-page-header .page-details .author + .date::before {
  content: " ";
  position: absolute;
  height: 18px;
  border-left: 1px solid #fff;
  left: 0;
  top: 6px;
}
.block-page-header .page-details .tags {
  position: relative;
  width: 100%;
}
@media (min-width: 992px) {
  .block-page-header .page-details .tags {
    width: auto;
    margin-left: auto;
    max-width: 400px;
    padding-top: 0;
    margin-top: -7px;
  }
}
.block-page-header .blurb {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 15px;
  padding-right: 120px;
  max-width: 880px;
}
@media (min-width: 992px) {
  .block-page-header .blurb {
    font-size: 18px;
    line-height: 1.78;
    margin-bottom: 15px;
  }
}
.block-page-header.type-default {
  padding: 20px 0;
}
.block-page-header.type-default.pb-none {
  padding-bottom: 0;
}
.block-page-header.type-default.pb-xs {
  padding-bottom: 10px;
}
.block-page-header.type-default.pb-sm {
  padding-bottom: 15px;
}
.block-page-header.type-default.pb-md {
  padding-bottom: 20px;
}
.block-page-header.type-default.pb-lg {
  padding-bottom: 30px;
}
.block-page-header.type-default.pb-xl {
  padding-bottom: 40px;
}
.block-page-header.type-default .page-header-content {
  position: relative;
  max-width: 900px;
}
.block-page-header.type-detailed .page-header-content {
  position: relative;
}
.block-page-header.type-detailed .blurb {
  margin-top: 20px;
  margin-bottom: 32px;
  max-width: 500px;
}
.block-page-header.type-detailed .page-header-image {
  display: block;
  position: relative;
  height: 100%;
  border-radius: var(--tms-border-radius);
  overflow: hidden;
}
@media (min-width: 992px) {
  .block-page-header.type-detailed .page-header-image {
    margin-left: 20px;
  }
}

.block-quote .quote {
  max-width: 1050px;
  padding: 25px 12px 25px;
  margin: 0 auto;
  position: relative;
}
@media (min-width: 768px) {
  .block-quote .quote {
    padding: 25px 25px 40px;
  }
}
.block-quote .quote-content {
  position: relative;
  z-index: 2;
  padding: 4rem 0;
}
.block-quote .quote-content p {
  font-size: 32px;
  line-height: 1.25;
  margin: 0;
}
.block-quote .quote-content p + p {
  margin-top: 1rem;
}
@media (min-width: 768px) {
  .block-quote .quote-content p {
    font-size: 40px;
    line-height: 1.25;
  }
}
.block-quote .quote-content .quote-mark {
  display: inline;
  width: 16px;
  flex: 0 0 auto;
  height: auto;
  vertical-align: top;
  margin-top: 8px;
  fill: var(--text-color);
}
.block-quote .quote-content .quote-mark-right {
  position: absolute;
}
@media (min-width: 768px) {
  .block-quote .quote-content .quote-mark {
    width: 20px;
    margin-top: 10px;
  }
}
.block-quote .quote-text {
  overflow-wrap: break-word;
}
.block-quote .author {
  font-size: 1.5rem;
  line-height: 1;
  position: relative;
  z-index: 2;
  text-align: right;
  max-width: 20rem;
  margin-left: auto;
}
.block-quote .author-name {
  margin-bottom: 5px;
}
.block-quote .author-description {
  font-family: var(--tms-font-secondary);
  font-style: italic;
  font-weight: 600;
  line-height: 1.2;
}
.block-quote.quote--chapter {
  background: var(--tms-light);
}
.block-quote.quote--chapter .quote-wrapper {
  background: var(--bg-color);
  border-radius: var(--tms-border-radius);
}
.block-quote.quote--chapter .attribution {
  margin-left: 0;
  text-align: left;
}
.block-quote .attribution {
  position: relative;
  z-index: 2;
  text-align: right;
}
.block-quote .attribution p {
  font-size: 1.5rem;
  line-height: 1;
  margin: 0;
}
.block-quote .attribution a,
.block-quote .attribution a:hover {
  font-size: 0.875rem;
  color: var(--text-color);
}

.sub-block-quote .quote-wrapper {
  border-radius: var(--tms-border-radius);
}
.sub-block-quote .quote {
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 25px 25px 25px;
  margin: 0;
}
.sub-block-quote .quote-mark {
  width: 16px;
}
.sub-block-quote .quote-content {
  margin: auto 0;
  position: relative;
  z-index: 2;
  padding: 3rem 0;
}
.sub-block-quote .quote-content p {
  font-size: 1.75rem;
  line-height: 1.1;
  margin-bottom: 2rem;
}
.sub-block-quote .author {
  margin-top: 0;
  font-size: 1.125rem;
  line-height: 1.25;
  position: relative;
  z-index: 2;
}
.sub-block-quote .author-name {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
.sub-block-quote .attribution {
  margin-top: 0;
  position: relative;
  z-index: 2;
  text-align: right;
}
.sub-block-quote .attribution p {
  font-size: 1.25rem;
  line-height: 1;
  margin: 0;
}
.sub-block-quote .attribution a,
.sub-block-quote .attribution a:hover {
  font-size: 0.875rem;
  color: var(--text-color);
}

.block-tiles .tiles-action {
  margin-top: 48px;
  text-align: center;
}
.block-tiles .tiles-action-more {
  flex: 0 0 100%;
}
.block-tiles .show-image .tile-image {
  display: block;
}
.block-tiles .show-tags .tile-tags {
  display: block;
}
.block-tiles .show-blurb .tile-blurb {
  display: block;
}
.block-tiles .show-date .tile-date {
  display: block;
}
.block-tiles .tiles-fixed-grid {
  row-gap: 0;
}
.block-tiles .tiles-fixed-grid .tile-content {
  background-color: transparent;
  padding: 0 0 24px;
}
.block-tiles .tiles-image-grid {
  gap: 16px;
}
.block-tiles .tiles-image-grid .tms-tile {
  margin-bottom: 0;
}
.block-tiles .tiles-image-grid .tms-tile .tile-image {
  margin: 0;
}
@media (min-width: 768px) {
  .block-tiles .tiles-image-grid {
    gap: 24px;
  }
}
.block-tiles.card-theme-transparent {
  --card-bg-color: transparent;
  --accent-color: var(--tms-blue-dark);
  --card-text-color: var(--tms-black);
  --card-text-gradient: var(--tms-grad-blue-dark--purple-dark);
}
.block-tiles.card-theme-white {
  --card-bg-color: var(--tms-white);
  --card-text-color: var(--tms-black);
  --card-text-gradient: var(--tms-grad-blue-dark--purple-dark);
  --accent-color: var(--tms-blue-dark);
}
.block-tiles.card-theme-dark {
  --card-bg-color: var(--tms-dark);
  --card-text-color: var(--tms-white);
  --card-text-gradient: var(--tms-grad-blue-light--green);
  --accent-color: var(--tms-green);
}

.tms-tile {
  display: flex;
  flex-direction: column;
  position: relative;
  background-color: transparent;
  transform-style: preserve-3d;
  position: relative;
  color: var(--card-text-color, var(--tms-white));
  border-radius: var(--tms-border-radius);
  --text-color: var(--card-text-color, var(--tms-white));
}
.tms-tile .tile-title {
  margin-top: 0;
  margin-bottom: 8px;
  font-size: 1.875rem;
  line-height: 1.2;
  font-weight: 400;
}
.tms-tile .tile-title a {
  text-decoration: none;
  display: inline-block;
  color: inherit;
}
.tms-tile .tile-title a:before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.tms-tile .tile-image {
  display: none;
  position: relative;
  margin-bottom: 16px;
  border-radius: var(--tms-border-radius);
  overflow: hidden;
}
.tms-tile .tile-image img {
  vertical-align: bottom;
  position: relative;
  width: 100%;
  height: auto;
}
.tms-tile .tile-date {
  display: none;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
}
.tms-tile .tile-blurb {
  display: none;
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 8px;
}
.tms-tile .tile-blurb a {
  color: inherit;
}
.tms-tile .tile-tags {
  display: none;
  padding: 8px 0 0;
  pointer-events: none;
}
.tms-tile .tile-read-more {
  margin-top: auto;
  padding: 16px 0 0;
  pointer-events: none;
  --text-color: var(--card-text-color);
  --text-gradient: var(--card-text-gradient);
}
.tms-tile .hover-shadow:hover .tile-read-more .link-fluid {
  background: var(--card-text-gradient, --tms-grad-blue-dark--purple-dark);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.tms-tile a:hover {
  text-decoration: underline;
}
.tms-tile .tile-content {
  display: block;
  flex: 1;
  padding: 8px 20px 24px;
}
.tms-tile.tile-default .tile-image, .tms-tile.tile-fixed .tile-image {
  display: block;
  position: relative;
  margin-bottom: 12px;
  height: auto;
}
.tms-tile.tile-default .tile-image img, .tms-tile.tile-fixed .tile-image img {
  position: relative;
  object-fit: initial;
  width: 100%;
  height: auto;
}
.tms-tile.tile-default .tile-title,
.tms-tile.tile-default .tile-blurb, .tms-tile.tile-fixed .tile-title,
.tms-tile.tile-fixed .tile-blurb {
  display: block;
}
.tms-tile.tile-fixed {
  margin-bottom: 16px;
  --card-bg-color: transparent;
}
.tms-tile .tile-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
  background-color: var(--card-bg-color, var(--bg-color));
  z-index: 2;
  border-radius: 21px 21px var(--tms-border-radius) var(--tms-border-radius);
}
.tms-tile .tile-content-wrapper {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.tms-tile .tile-tags {
  order: -1;
  padding-top: 0;
  padding-bottom: 12px;
}

.tile-image-grid {
  margin-bottom: 0;
}
.tile-image-grid .tile-image {
  height: auto;
  margin-bottom: 0;
}
.tile-image-grid .tile-image img {
  position: relative;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.has-hero .tms-tile-wrapper:first-child {
  flex: 0 0 100%;
  --card-text-color: var(--tms-black);
  --text-gradient: var(--tms-grad-blue-dark--purple-dark);
  --card-text-gradient: var(--tms-grad-blue-dark--purple-dark);
  --card-bg-color: var(--tms-white);
  --accent-color: var(--tms-blue-dark);
}
.has-hero .tms-tile-wrapper:first-child .tile-image {
  z-index: 5;
  margin-bottom: -20px;
}
.has-hero .tms-tile-wrapper:first-child .tile-content {
  position: relative;
  z-index: 3;
  background-color: var(--card-bg-color);
  background-color: transparent;
  padding: 0;
}
.has-hero .tms-tile-wrapper:first-child .tile-content .tile-content-wrapper {
  content: "";
  display: flex;
  flex-direction: column;
  padding: 24px;
  z-index: 2;
  background-color: var(--card-bg-color);
  border-radius: var(--tms-border-radius);
  overflow: hidden;
  padding-top: 40px;
}
.has-hero .tms-tile-wrapper:first-child .tile-content .tile-tags {
  display: none;
  order: -1;
  padding-top: 0;
  padding-bottom: 8px;
}
@media (min-width: 768px) {
  .has-hero .tms-tile-wrapper:first-child .tile-image {
    margin-bottom: 0;
    z-index: 2;
  }
  .has-hero .tms-tile-wrapper:first-child .tile-content {
    position: absolute;
    bottom: 24px;
    left: 24px;
    min-width: 320px;
    width: 50%;
    padding: 0;
  }
  .has-hero .tms-tile-wrapper:first-child .tile-tags {
    display: block;
  }
  .has-hero .tms-tile-wrapper:first-child .tag {
    padding: 7px 14px;
    font-size: 12px;
  }
}

.block-tiles .page-header {
  padding: 0 0 30px;
}
.block-tiles .page-header .page-header-content {
  position: relative;
  margin-top: 50px;
}
@media (min-width: 768px) {
  .block-tiles .page-header .page-header-content {
    margin-top: 80px;
  }
}
.block-tiles .page-header h1 {
  margin: 0;
}
.block-tiles .page-header .blurb {
  font-size: 20px;
  margin-top: 30px;
  margin-bottom: 0;
  padding-right: 120px;
  max-width: 880px;
}
.block-tiles .page-header .page-header-filters {
  position: relative;
  margin-top: 10px;
}
@media (min-width: 768px) {
  .block-tiles .page-header {
    padding: 0 0 80px;
  }
  .block-tiles .page-header .page-header-content {
    position: relative;
  }
  .block-tiles .page-header .title-content {
    position: relative;
    display: inline-block;
  }
  .block-tiles .page-header .blurb {
    margin-top: 45px;
  }
  .block-tiles .page-header .page-header-filters {
    position: relative;
    top: 0;
    padding: 0;
    width: 100%;
  }
}
@media (min-width: 992px) {
  .block-tiles .page-header {
    padding: 0 0 0;
  }
  .block-tiles .page-header .page-header-filters {
    right: 15px;
    top: -60px;
  }
}

.block-tiles .tile-case-study .tile-title,
.block-tiles .tile-article .tile-title {
  margin-top: 0;
  font-size: 1.5rem;
}

.block-tiles-results .tiles-header {
  margin-bottom: 32px;
}
.block-tiles-results .tms-cols {
  margin: 0 -12px;
  grid-gap: 0;
  display: flex;
  flex-wrap: wrap;
}
.block-tiles-results .tms-tile {
  display: flex;
  position: relative;
  text-align: center;
  flex: 1;
}
.block-tiles-results .tms-tile .tile-inner {
  display: flex;
  flex-direction: column;
  flex: 1;
  align-items: center;
  padding: 50px 12px;
}
.block-tiles-results .tms-tile .title {
  font-size: min(3.75rem, 70px);
  font-family: var(--tms-font-secondary);
  font-style: italic;
  line-height: 1.1;
  padding: 0 10px;
  font-weight: 700;
  display: block;
  background: var(--text-gradient);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.block-tiles-results .tms-tile .subtitle {
  font-size: min(1.875rem, 70px);
  line-height: 1.1;
  font-weight: 400;
  padding: 0;
  margin-top: 6px;
  margin-bottom: 8px;
  display: block;
}
.block-tiles-results .tms-tile .result-outcome {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.block-tiles-results .tms-tile .result-description {
  margin-top: 0;
  line-height: 1.2;
  font-size: 1.125rem;
  font-weight: 500;
  padding: 0 15px;
}
.block-tiles-results .tile-layout-reverse .tms-tile {
  padding-top: 100px;
}
.block-tiles-results .tile-layout-reverse .result-outcome {
  flex-direction: column-reverse;
}
.block-tiles-results.tile-theme-blue .tms-tile {
  background: var(--tms-grad-blue-dark--blue-light);
  border-radius: var(--tms-border-radius);
  --card-text-color: var(--tms-black);
}
.block-tiles-results.tile-theme-blue .tile-inner {
  margin: 2px;
  border-radius: var(--tms-border-radius--inner);
  background-color: var(--tms-light);
  --text-gradient: var(--tms-grad-blue-dark--blue-light);
}
.block-tiles-results.tile-theme-green .tms-tile {
  background: var(--tms-grad-blue-light--green);
  border-radius: var(--tms-border-radius);
  --card-text-color: var(--tms-white);
}
.block-tiles-results.tile-theme-green .tile-inner {
  margin: 2px;
  border-radius: var(--tms-border-radius--inner);
  background-color: var(--tms-dark);
  --text-gradient: var(--tms-grad-blue-light--green);
}
.block-tiles-results.tile-theme-black .tms-tile {
  background: var(--tms-black);
  border-radius: var(--tms-border-radius);
}
.block-tiles-results.tile-theme-black .tile-inner {
  margin: 2px;
  border-radius: var(--tms-border-radius--inner);
  background-color: var(--tms-light);
  --text-gradient: var(--tms-black);
}
.block-tiles-results.tile-theme-white .tms-tile {
  background: var(--tms-light);
  border-radius: var(--tms-border-radius);
}
.block-tiles-results.tile-theme-white .tile-inner {
  margin: 2px;
  border-radius: var(--tms-border-radius--inner);
  background-color: var(--tms-dark);
  --text-gradient: var(--tms-white);
}

.block-carousel {
  min-height: 200px;
}
.block-carousel .glide {
  position: relative;
}
.block-carousel .glide__slide {
  width: 33%;
  margin: 0;
}
.block-carousel .glide__arrows {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}
.block-carousel .glide__arrow {
  position: absolute;
  top: calc(50% - 20px);
  pointer-events: all;
}
.block-carousel .glide__arrow img {
  width: 30px;
  height: 30px;
}
@media (min-width: 768px) {
  .block-carousel .glide__arrow img {
    width: 56px;
    height: 56px;
  }
}
.block-carousel .glide__arrow--disabled {
  display: none;
}
.block-carousel .glide__arrow--left {
  left: 0;
}
.block-carousel .glide__arrow--right {
  right: 0;
}
.block-carousel .glide__bullets {
  left: 0;
  right: 0;
  bottom: -20px;
  display: flex;
  justify-content: center;
}
.block-carousel .glide__bullets .glide__bullet {
  width: 17px;
  height: 17px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  border: 1px solid #000;
  margin: 6px;
}
.block-carousel .glide__bullets .glide__bullet--active, .block-carousel .glide__bullets .glide__bullet.active {
  background-color: #fff;
}
.block-carousel .glide__bullets .glide__bullet:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
.block-carousel .caption {
  margin-top: 8px;
  line-height: 1.1;
  font-size: 1.2rem;
}
@media (min-width: 768px) {
  .block-carousel .caption {
    font-size: 1.5rem;
  }
}
.block-carousel .tms-carousel--styled .glide__track,
.block-carousel .tms-carousel--styled .glide__slides {
  overflow: visible;
}
@media (min-width: 992px) {
  .block-carousel .tms-carousel--styled .glide__arrows {
    opacity: 0;
    transition: opacity 0.2s linear;
  }
  .block-carousel .tms-carousel--styled:focus-within .glide__arrows, .block-carousel .tms-carousel--styled:hover .glide__arrows {
    opacity: 1;
  }
}
.block-carousel .slide-basic picture {
  display: block;
  border-radius: var(--tms-border-radius);
  overflow: hidden;
}
.block-carousel .slide-basic img {
  vertical-align: bottom;
}
.block-carousel .slide-extended {
  display: block;
  position: relative;
  overflow: visible;
  z-index: 2;
}
.block-carousel .slide-extended img {
  width: 100%;
  height: auto;
  margin-bottom: 18px;
  vertical-align: bottom;
}
.block-carousel .slide-extended .title {
  margin-bottom: 8px;
}
.block-carousel .slide-extended .extra-crosses {
  display: none;
  z-index: 100;
  bottom: auto;
  zoom: 0.7;
}
.block-carousel .slide-extended .crosses-1 {
  background-image: url("../../assets/img/crosses/crosses-green.svg");
  width: 135px;
  height: 108px;
  top: 28px;
  left: -49px;
  z-index: -1;
}
.block-carousel .slide-extended .crosses-2 {
  background-image: url("../../assets/img/crosses/crosses-white.svg");
  width: 135px;
  height: 81px;
  top: 210px;
  right: -59px;
  z-index: 1;
}
.block-carousel .slide-extended .crosses-3 {
  background-image: url("../../assets/img/crosses/crosses-green-light.svg");
  width: 135px;
  height: 81px;
  top: -48px;
  right: 120px;
}
.block-carousel .slide-extended .crosses-5 {
  background-image: url("../../assets/img/crosses/crosses-green.svg");
  width: 135px;
  height: 108px;
  top: 200px;
  left: -36px;
}
@media (min-width: 768px) {
  .block-carousel .slide-extended .crosses-1,
  .block-carousel .slide-extended .crosses-2,
  .block-carousel .slide-extended .crosses-3,
  .block-carousel .slide-extended .crosses-5 {
    display: block;
  }
  .block-carousel .slide-extended .extra-crosses {
    zoom: 1;
  }
}
@media (min-width: 992px) {
  .block-carousel .slide-extended .extra-crosses {
    zoom: 0.8;
  }
}
@media (min-width: 1200px) {
  .block-carousel .slide-extended .extra-crosses {
    zoom: 1;
  }
}
.block-carousel .show_arrows .glide__track {
  margin: 0 30px;
}
@media (min-width: 768px) {
  .block-carousel .show_arrows .glide__track {
    margin: 0 56px;
  }
}
.block-hubspot-form .block-form-wrapper h2 {
  margin-bottom: 1em;
}
.block-hubspot-form .block-content-wrapper {
  flex-direction: column-reverse;
}
.block-hubspot-form .media-wrapper {
  position: relative;
  margin-bottom: 100px;
}
.block-hubspot-form .media-wrapper img {
  border-radius: var(--tms-border-radius);
  overflow: hidden;
}
.block-hubspot-form form {
  max-width: 480px;
}
@media (min-width: 768px) {
  .block-hubspot-form .block-content-wrapper {
    flex-direction: row;
  }
  .block-hubspot-form .content-text {
    padding-right: 35px;
  }
  .block-hubspot-form .content-decoration {
    padding-left: 35px;
  }
}
.block-hubspot-form .big-plus {
  margin-bottom: 32px;
  text-align: center;
}
.block-hubspot-form .big-plus img {
  width: 56px;
  height: 56px;
}
@media (min-width: 992px) {
  .block-hubspot-form .big-plus {
    margin-bottom: 65px;
  }
  .block-hubspot-form .big-plus img {
    width: 130px;
    height: 130px;
  }
}

/*
Expanding: 
- Each card takes same amount of width as defined by flex basis % 
- The card children overflow to 200% when .is-snapped class is present on the slide
- To accomodate the expanded card, all cards to the right of the snapped card have their position offset by 1x width
*/
.embla {
  --slide-inner-spacing: 24px;
  --slide-outer-spacing: 20px;
  --slide-size: calc(290 / 345 * 100%);
  /* See: https://cubic-bezier.com/ */
  --slide-expand-ease: none;
  --slide-expand-dur: 0s; /*0.8s;*/
  --alpha-dur: 0.4s;
  /* overflow: hidden; */
  position: relative;
  margin: auto;
  width: calc(var(--tms-container-max-width) - 2 * var(--slide-outer-spacing));
  max-width: calc(100vw - 2 * var(--slide-outer-spacing));
  backface-visibility: hidden;
}

/* These break points need to be reflected in style.css, CarouselCardLockedWidth, useEmblaCarousel settings */
/* sm+ */
@media (min-width: 640px) {
  .embla {
    /* 2 cols */
    --slide-size: calc(1 / 2 * 100%);
  }
}
/* md+ */
/* @media (min-width: 768px) {

} */
/* lg+ */
@media (min-width: 992px) {
  .embla {
    --slide-size: calc(1 / 3 * 100%);
  }
}
.embla.embla__reducedmotion {
  --slide-expand-ease: none;
  --slide-expand-dur: 0s;
  --alpha-dur: 0s;
}

.embla__container {
  display: flex;
  margin-left: calc(var(--slide-inner-spacing) * -0.5);
  margin-right: calc(var(--slide-inner-spacing) * -0.5);
}

.embla__slide {
  transform: translate3d(0, 0, 0);
  min-width: 0;
  flex: 0 0 var(--slide-size);
  padding-left: calc(var(--slide-inner-spacing) / 2);
  padding-right: calc(var(--slide-inner-spacing) / 2);
  max-width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
}

.embla__slide .carousel__card {
  height: 100%;
  border-radius: var(--tms-border-radius);
}

/* Expand mode */
/*
- .embla__slide: Fixed width from flex basis %, overflow visible
- - (optional) .carousel__card-shift: Position shifting for expand mode
- - .carousel__card: Main card without margins
*/
.embla .embla__slide .carousel__card-shift {
  height: 100%;
  display: flex;
  position: relative;
}

.embla .embla__slide .carousel__card-shift .carousel__card {
  width: 100%;
}

@media (max-width: 767px) {
  .embla.embla__expandmode .embla__container {
    height: auto !important;
  }
}
@media (min-width: 768px) {
  .embla.embla__expandmode .embla__slide .carousel__card-shift {
    height: 100%;
    display: flex;
    transform-origin: left;
    transform: translateX(0);
    transition: transform var(--slide-expand-dur) var(--slide-expand-ease);
  }
  .embla.embla__expandmode .embla__slide .carousel__card {
    position: absolute;
    width: 100%;
    transition: width var(--slide-expand-dur) var(--slide-expand-ease);
  }
  .embla.embla__expandmode .embla__slide.is-snapped {
    z-index: 1;
  }
  .embla.embla__expandmode .embla__slide:not(.is-snapped) .carousel__card-shift {
    transform: translateX(calc(100% + var(--slide-inner-spacing)));
  }
  .embla.embla__expandmode .embla__slide.is-pre-snapped .carousel__card-shift {
    transform: translateX(0);
  }
  .embla.embla__expandmode .embla__slide .carousel__card-shift {
    width: 100%;
    position: relative;
    overflow: visible;
  }
  .embla.embla__expandmode .embla__slide.is-snapped .carousel__card {
    width: calc(200% + var(--slide-inner-spacing));
  }
}
/* Toggle expander card internal based on screen size */
/* Dim card when off screen */
.embla__slide {
  opacity: 1;
  transition: opacity var(--alpha-dur) ease;
}

.embla__slide:not(.is-in-view) {
  opacity: 0.3;
}

@media (max-width: 639px) {
  .embla__slide:not(.is-snapped) {
    opacity: 0.3;
  }
}
/* Buttons */
.carousel__btn {
  width: 50px;
  height: 50px;
  border: 1px solid #000;
  border-radius: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.carousel__btn:active {
  opacity: 0.5 !important;
}

.block-carousel-elastic {
  /**
  Slide types
  */
}
.block-carousel-elastic .block-header {
  padding-bottom: 14px;
}
.block-carousel-elastic .block-header h2 {
  padding-right: 120px;
  margin: 0;
}
.block-carousel-elastic .header-link {
  padding-right: 120px;
  margin-top: 16px;
  margin-bottom: 16px;
}
.block-carousel-elastic .blurb {
  max-width: 560px;
  padding-bottom: 4px;
}
.block-carousel-elastic .blurb p {
  padding-right: 120px;
  margin-bottom: 0;
}
.block-carousel-elastic .has-header-link h2 {
  padding-right: 0;
}
.block-carousel-elastic .carousel-buttons-wrapper .col-12 {
  position: relative;
  height: 0;
  display: flex;
  justify-content: flex-end;
}
.block-carousel-elastic .carousel-buttons {
  position: absolute;
  top: -65px;
  display: flex;
  gap: 10px;
}
@media (min-width: 768px) {
  .block-carousel-elastic .block-header {
    padding-bottom: 26px;
  }
  .block-carousel-elastic h2,
  .block-carousel-elastic .header-link {
    display: inline-block;
  }
  .block-carousel-elastic .header-link {
    margin-top: 0;
    margin-left: 20px;
    margin-bottom: 0;
  }
  .block-carousel-elastic .carousel-buttons {
    gap: 10px;
    top: -80px;
  }
}
.block-carousel-elastic .slides {
  display: flex;
  opacity: 0;
  flex-wrap: no-wrap;
  max-width: 1128px;
  margin: 0 auto;
  overflow-x: scroll;
}
.block-carousel-elastic .slide {
  display: flex;
  margin: 0 10px 20px;
  width: calc(33.3333% - 20px);
  border-radius: var(--tms-border-radius);
  overflow: hidden;
}
.block-carousel-elastic .slide .tms-tile-wrapper {
  height: 100%;
}
.block-carousel-elastic .slide .tms-tile {
  height: 100%;
}
.block-carousel-elastic .tms-carousel-wrapper.cols-2 .slide {
  width: calc(50% - 20px);
}
.block-carousel-elastic .tms-carousel-wrapper.cols-3 .slide {
  width: calc(33.3333% - 20px);
}
.block-carousel-elastic .tms-carousel-wrapper.cols-4 .slide {
  width: calc(25% - 20px);
}
.block-carousel-elastic .tms-carousel-wrapper.cols-5 .slide {
  width: calc(20% - 20px);
}
.block-carousel-elastic .tms-carousel-wrapper.cols-6 .slide {
  width: calc(16.66% - 20px);
}
.block-carousel-elastic .tms-carousel-wrapper.carousel-elastic_expander .slide {
  width: calc(66.66% - 20px);
}
.block-carousel-elastic .cols-2 .embla {
  --slide-size: calc(1 / 1 * 100%);
}
.block-carousel-elastic .cols-5 .embla {
  --slide-size: calc(1 / 2 * 100%);
}
.block-carousel-elastic .cols-6 .embla {
  --slide-size: calc(1 / 3 * 100%);
}
@media (min-width: 768px) {
  .block-carousel-elastic .block-header {
    padding-right: 130px;
  }
  .block-carousel-elastic .cols-2 .embla {
    --slide-size: calc(1 / 1 * 100%);
  }
  .block-carousel-elastic .cols-3 .embla,
  .block-carousel-elastic .cols-4 .embla {
    --slide-size: calc(1 / 2 * 100%);
  }
  .block-carousel-elastic .cols-5 .embla,
  .block-carousel-elastic .cols-6 .embla {
    --slide-size: calc(1 / 3 * 100%);
  }
}
@media (min-width: 992px) {
  .block-carousel-elastic .cols-3 .embla {
    --slide-size: calc(1 / 3 * 100%);
  }
  .block-carousel-elastic .cols-4 .embla {
    --slide-size: calc(1 / 4 * 100%);
  }
  .block-carousel-elastic .cols-5 .embla {
    --slide-size: calc(1 / 5 * 100%);
  }
  .block-carousel-elastic .cols-6 .embla {
    --slide-size: calc(1 / 6 * 100%);
  }
}
.block-carousel-elastic.card-theme-transparent {
  --card-bg-color: transparent;
  --card-text-color: var(--tms-black);
  --card-text-gradient: var(--tms-grad-blue-dark--purple-dark);
  --card-text-accent: var(--tms-blue-dark);
}
.block-carousel-elastic.card-theme-transparent .tms-tile {
  --accent-color: var(--tms-blue-dark);
}
.block-carousel-elastic.card-theme-white {
  --card-bg-color: var(--tms-white);
  --card-text-color: var(--tms-black);
  --card-text-gradient: var(--tms-grad-blue-dark--purple-dark);
  --card-text-accent: var(--tms-blue-dark);
}
.block-carousel-elastic.card-theme-white .tms-tile {
  --accent-color: var(--tms-blue-dark);
}
.block-carousel-elastic.card-theme-dark {
  --card-bg-color: var(--tms-dark);
  --card-text-color: var(--tms-white);
  --card-text-gradient: var(--tms-grad-blue-light--green);
  --card-text-accent: var(--tms-green);
}
.block-carousel-elastic.card-theme-dark .tms-tile {
  --accent-color: var(--tms-green);
}
.block-carousel-elastic .tms-tile {
  background-color: var(--card-bg-color, var(--tms-dark));
  color: var(--card-text-color, var(--tms-white));
  border-radius: var(--tms-border-radius);
}
.block-carousel-elastic .tms-tile .tile-image {
  display: block;
}
.block-carousel-elastic .tms-tile .tile-tags,
.block-carousel-elastic .tms-tile .tile-blurb,
.block-carousel-elastic .tms-tile .tile-date {
  display: none;
}
.block-carousel-elastic .card-content {
  padding: 24px;
}
.block-carousel-elastic .carousel__card {
  display: flex;
  background-color: var(--card-bg-color, var(--tms-dark));
  color: var(--card-text-color, var(--tms-white));
}
.block-carousel-elastic .carousel-card__basic {
  height: 100%;
  border-radius: var(--tms-border-radius);
}
.block-carousel-elastic .carousel-card__basic .card-image {
  width: 100%;
  aspect-ratio: 380/250;
  overflow: hidden;
  border-radius: var(--tms-border-radius);
}
.block-carousel-elastic .carousel-card__basic .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block-carousel-elastic .carousel-card__basic .card-content h3 {
  font-size: 1.875rem;
  line-height: 2.5rem;
}
.block-carousel-elastic .carousel-card__basic .card-content h3, .block-carousel-elastic .carousel-card__basic .card-content p {
  margin-top: 0;
}
.block-carousel-elastic .carousel__card .tile-case-study,
.block-carousel-elastic .carousel__card .tile-article {
  height: 100%;
}
.block-carousel-elastic .carousel__card .tile-case-study .tile-image,
.block-carousel-elastic .carousel__card .tile-article .tile-image {
  display: block;
}
.block-carousel-elastic .carousel__card .tile-case-study .tile-title,
.block-carousel-elastic .carousel__card .tile-article .tile-title {
  font-size: 1.5rem;
}
.block-carousel-elastic .carousel-card__expander-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: var(--tms-border-radius);
}
.block-carousel-elastic .carousel-card__expander {
  display: none;
}
.block-carousel-elastic .carousel-card__expander .card-content {
  padding: 24px 24px 24px 0;
}
.block-carousel-elastic .carousel-card__expander.preview {
  position: relative;
  display: block;
}
.block-carousel-elastic .carousel-card__expander.preview .card-image {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  height: 424px;
  width: 50%;
  border-radius: var(--tms-border-radius);
}
.block-carousel-elastic .carousel-card__expander.preview .card-image img {
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.block-carousel-elastic .carousel-card__expander.preview .card-content-wrapper {
  width: 100%;
  padding-left: calc(50% + 24px);
  height: 424px;
}
.block-carousel-elastic .carousel-card__expander-compact .card-image {
  position: relative;
  height: 200px;
  width: 100%;
}
.block-carousel-elastic .carousel-card__expander-compact .card-image img {
  border-radius: var(--tms-border-radius);
  overflow: hidden;
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .block-carousel-elastic .carousel-card__expander-compact {
    display: none;
  }
  .block-carousel-elastic .carousel-card__expander {
    display: block;
  }
  .block-carousel-elastic .carousel-card__expander-image {
    height: 100%;
    position: absolute;
    z-index: 1;
    border-radius: var(--tms-border-radius);
    overflow: hidden;
  }
  .block-carousel-elastic .carousel-card__expander-image img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .block-carousel-elastic .carousel-card__expander-content {
    height: 100%;
    position: absolute;
    right: 0;
  }
}
.block-carousel-elastic .carousel-card__hero {
  width: 100%;
  padding: 8px 8px 30px;
  position: relative;
  will-change: transform;
  border-radius: var(--tms-border-radius);
}
.block-carousel-elastic .carousel-card__hero .card-image {
  position: relative;
  aspect-ratio: 275/345;
  border-radius: var(--tms-border-radius);
  overflow: hidden;
}
.block-carousel-elastic .carousel-card__hero .card-image img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  padding: 1px;
  border-radius: 21px;
}
.block-carousel-elastic .carousel-card__hero .card-image::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  background: var(--tms-grad-purple-light--yellow);
}
.block-carousel-elastic .carousel-card__hero .card-content {
  padding: 0;
}
.block-carousel-elastic .carousel-card__hero .job-title {
  font-size: 1rem;
  line-height: 1.25rem;
  margin: 8px 0;
  color: var(--card-text-color, --tms-white);
}
.block-carousel-elastic .carousel-card__hero .name {
  font-size: 1.875rem;
  line-height: 1.1;
  margin: 8px 0;
  color: var(--card-text-color, --tms-white);
}
.block-carousel-elastic .carousel-card__hero .office {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.25rem;
  margin: 0 0 8px;
  color: var(--card-text-accent, --tms-green);
}
.block-carousel-elastic .carousel-card__hero.size-square .card-image {
  aspect-ratio: 1/1;
}
.block-carousel-elastic .carousel-card__hero.theme-green .card-image::before {
  background: var(--tms-grad-blue-light--green);
}
.block-carousel-elastic .carousel-card__hero.theme-pink .card-image::before {
  background: var(--tms-grad-purple-light--yellow);
}
.block-carousel-elastic .carousel-card__hero.theme-red .card-image::before {
  background: var(--tms-grad-blue-light--purple-mid);
}
.block-carousel-elastic .carousel-card__hero.theme-blue .card-image::before {
  background: var(--tms-grad-blue-dark--blue-light);
}
.block-carousel-elastic .carousel-elastic_hero .card-0 .card-image::before {
  background: var(--tms-grad-blue-light--green);
}
.block-carousel-elastic .carousel-elastic_hero .card-1 {
  padding-top: 76px;
}
.block-carousel-elastic .carousel-elastic_hero .card-1 .card-image {
  aspect-ratio: 1/1;
}
.block-carousel-elastic .carousel-elastic_hero .card-1 .card-image::before {
  background: var(--tms-grad-blue-light--purple-mid);
}
.block-carousel-elastic .carousel-elastic_hero .card-2 {
  padding-top: 12px;
}
.block-carousel-elastic .carousel-elastic_hero .card-2 .card-image {
  aspect-ratio: 1/1;
}
.block-carousel-elastic .carousel-elastic_hero .card-2 .card-image::before {
  background: var(--tms-grad-blue-dark--blue-light);
}
.block-carousel-elastic .carousel-elastic_hero .card-3 {
  padding-top: 16px;
}
.block-carousel-elastic .carousel-elastic_hero .card-3 .card-image::before {
  background: var(--tms-grad-purple-light--yellow);
}
.block-carousel-elastic .carousel-elastic_hero .card-4 {
  padding-top: 34px;
}
.block-carousel-elastic .carousel-elastic_hero .card-4 .card-image {
  aspect-ratio: 1/1;
}
.block-carousel-elastic .carousel-elastic_hero .card-4 .card-image::before {
  background: var(--tms-grad-blue-light--purple-mid);
}

.block-ticker .ticker-controls {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 0;
  top: 0;
  width: 55px;
  height: 100%;
  z-index: 2;
}
.block-ticker .ticker-playpause {
  width: 35px;
  height: 35px;
  border: 1px solid var(--tms-black);
  border-radius: 50%;
  padding: 5px;
}
.block-ticker .ticker-playpause svg path,
.block-ticker .ticker-playpause svg rect {
  fill: var(--tms-black);
}
.block-ticker .ticker-content {
  position: relative;
  overflow: hidden;
  padding: 10px 0;
  margin-left: 45px;
  min-height: 50px;
  line-height: 2rem;
  font-size: 1.25rem;
  font-weight: 500;
  white-space: nowrap;
}
.block-ticker .ticker-content span span {
  white-space: nowrap;
  padding: 0 10px;
}
.block-ticker .ticker-track {
  display: inline-block;
  padding-left: 0;
  animation: ticker-scroll 10s linear infinite;
}
.block-ticker .ticker .ticker-track {
  animation-play-state: paused;
}
.block-ticker .ticker .ticker-playpause .pause {
  display: none;
}
.block-ticker .ticker.playing .ticker-content:hover .ticker-track {
  animation-play-state: paused;
}
.block-ticker .ticker.playing .ticker-track {
  animation-play-state: running;
}
.block-ticker .ticker.playing .ticker-playpause .play {
  display: none;
}
.block-ticker .ticker.playing .ticker-playpause .pause {
  display: block;
}

.reduce-motion .ticker .ticker-track {
  transform: none !important;
}
.reduce-motion .ticker .ticker-track > span + span {
  display: none;
}
.reduce-motion .ticker-content {
  white-space: normal !important;
  margin: 0 12px !important;
}
.reduce-motion .ticker-content span span {
  white-space: normal !important;
}
.reduce-motion .ticker-playpause {
  display: none !important;
}

@keyframes ticker-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.block-locations {
  /* Takes up space, used for screen readers */
}
.block-locations .content {
  max-width: 600px;
}
.block-locations .grid {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}
.block-locations .location {
  padding: 6px 0;
}
.block-locations .location a {
  display: inline-block;
}
@media (min-width: 576px) {
  .block-locations .location {
    padding: 20px 0px;
  }
}
.block-locations .introduction {
  font-size: 0.75rem;
}
.block-locations .greeting {
  margin-left: 4px;
}
.block-locations .city-code {
  font-size: 64px;
  margin-left: -0.06em;
  line-height: 54px;
  letter-spacing: -0.02em;
}
.block-locations .location {
  flex: 0 0 clamp(160px, 25%, 50%);
}
.block-locations svg {
  display: block;
}
.block-locations .ss-pretext,
.block-locations .ss-subtext {
  display: block;
  font-family: "proxima-nova", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 0px;
  /* Improve webfont rendering  */
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.block-locations .ss-pretext {
  font-weight: 400;
  margin-bottom: 5px;
}
.block-locations .ss-root:hover .ss-subtext .ss-gradient-text {
  font-weight: 800;
}
.block-locations .ss-subtext {
  font-weight: 600;
  position: relative;
  padding-bottom: 6px;
  display: inline-block;
  font-size: 1rem;
  white-space: nowrap;
}
.block-locations .ss-subtext-underline {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  /* background: linear-gradient(to right, #f00, #00f); */
}
.block-locations .ss-sr-only {
  display: none;
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.block-locations .ss-gradient-text {
  position: absolute;
  left: 50%;
  top: 0;
  line-height: 1.2;
  transform: translateX(-50%);
  display: block;
  color: #000;
  /* background-image: linear-gradient(
    to right,
    #000,
    #000 33.33333%,
    #ff3300 66.66666%,
    #01bfd8
  ); */
  background-clip: text;
  -webkit-background-clip: text;
  -text-fill-color: transparent;
  -webkit-text-fill-color: transparent;
  background-size: 300% 100%;
  background-position: top left;
  transition: background-position 0.2s ease-in-out;
}
.block-locations .ss-root:hover .ss-gradient-text {
  background-position: top left 100%;
}
.block-locations .ss-subtext .ss-spacertext {
  visibility: hidden;
}
.block-locations .ss-font-preload {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}
.block-locations .ss-font-preload-700 {
  font-weight: 700;
}
.block-locations .ss-font-preload-800 {
  font-weight: 800;
}
.block-locations svg,
.block-locations .ss-pretext {
  visibility: hidden !important;
  height: 0;
}
@media (min-width: 768px) {
  .block-locations svg,
  .block-locations .ss-pretext {
    height: auto;
    visibility: visible !important;
    display: block;
  }
  .block-locations .ss-subtext {
    font-size: 0.75rem;
  }
  .block-locations .ss-sr-only {
    display: block;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .block-locations .introduction {
    display: flex;
  }
  .block-locations .city-code {
    display: block;
  }
  .block-locations .location {
    flex: 0 0 25%;
  }
  .block-locations .location:nth-child(1),
  .block-locations .location:nth-child(2),
  .block-locations .location:nth-child(4),
  .block-locations .location:nth-child(5),
  .block-locations .location:nth-child(7),
  .block-locations .location:nth-child(8) {
    flex-basis: 37.5%;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .block-locations .introduction {
    display: flex;
  }
  .block-locations .city-code {
    display: block;
  }
  .block-locations .location {
    flex: 0 0 20%;
  }
  .block-locations .location:nth-child(1),
  .block-locations .location:nth-child(2),
  .block-locations .location:nth-child(3),
  .block-locations .location:nth-child(5),
  .block-locations .location:nth-child(6),
  .block-locations .location:nth-child(7) {
    flex-basis: 26.66666667%;
  }
}
@media (min-width: 1200px) {
  .block-locations .introduction {
    display: flex;
  }
  .block-locations .city-code {
    display: block;
  }
  .block-locations .location {
    flex: 0 0 17.142857%;
  }
  .block-locations .location:nth-child(n+6) {
    flex-basis: 14.28571429%;
  }
}

.block-impact .impact-wrapper {
  position: relative;
}
@media (min-width: 992px) {
  .block-impact .impact-wrapper {
    margin: 50px;
  }
}
.block-impact .impact-inner {
  padding: 60px 40px;
  position: relative;
  pointer-events: all;
}
.block-impact .bg-color {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  border-radius: var(--tms-border-radius);
  overflow: hidden;
  z-index: -1;
}
.block-impact .bg-color.gradient-theme-swirl-orange {
  background-color: var(--tms-yellow-dark);
}
.block-impact .bg-color.gradient-theme-swirl-red {
  background: var(--tms-grad-purple-light--yellow);
}
.block-impact .bg-color.gradient-theme-swirl-blue {
  background: var(--tms-grad-blue-dark--blue-light);
}
.block-impact .bg-color.gradient-theme-swirl-blueGreen {
  background-color: var(--tms-green);
}
.block-impact .bg-color.block-theme-dark + .impact-inner, .block-impact .bg-color.block-theme-blue + .impact-inner, .block-impact .bg-color.block-theme-purple + .impact-inner, .block-impact .bg-color.block-theme-blue-light + .impact-inner {
  color: var(--tms-white);
}
.block-impact .heading h2 {
  margin: 0 0 40px;
}
.block-impact .grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  justify-content: start; /* keeps columns left-aligned */
  align-items: start;
}
@media (min-width: 576px) {
  .block-impact .grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 992px) {
  .block-impact .grid {
    gap: 60px;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1200px) {
  .block-impact .grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.block-impact .statistic .number {
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
  margin: 0;
}
.block-impact .statistic .detail {
  font-family: var(--tms-font-secondary);
  font-style: italic;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1;
  margin: 0;
}
@media (min-width: 768px) {
  .block-impact .statistic .number {
    font-size: 48px;
  }
}
@media (min-width: 992px) {
  .block-impact .statistic .number {
    font-size: 72px;
  }
}
.block-impact .image {
  position: absolute;
  bottom: -130px;
  right: -20px;
  width: 148px;
  height: 184px;
}
.block-impact .image img {
  position: absolute;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.25s ease-in-out;
  transform: scale3d(0, 0, 0);
  border-radius: var(--tms-border-radius);
  overflow: hidden;
}
.block-impact .image img.active {
  transform: scale3d(1, 1, 1);
}
@media (min-width: 576px) {
  .block-impact .image {
    bottom: -150px;
    width: 270px;
    height: 210px;
  }
}

.block-join-us .background-images {
  position: relative;
  max-width: 1532px;
  margin: 0 auto;
  opacity: 50%;
  z-index: 1;
}
.block-join-us .elastic-image-group {
  position: relative;
  width: 100%;
  min-width: 576px;
  left: 50%;
  transform: translateX(-50%);
}
.block-join-us .block-heading {
  position: relative;
}
.block-join-us .heading {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto 20px auto;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 5;
  text-wrap: balance;
}
.block-join-us .block-content {
  position: relative;
  max-width: 460px;
  margin: 0 auto 0;
  padding: 0 var(--tms-gutter-x);
  text-align: center;
  z-index: 5;
}
.block-join-us .block-content .content {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .block-join-us .heading {
    bottom: 100px;
  }
  .block-join-us .block-content {
    margin: -80px auto 0;
  }
}

.block-vertical-scroller .container.--xl, .block-vertical-scroller .--xl.container-narrow,
.block-vertical-scroller .--xl.container-narrow-left,
.block-vertical-scroller .--xl.container-narrow-right {
  padding: 0;
}
@media (min-width: 1200px) {
  .block-vertical-scroller .container.--xl, .block-vertical-scroller .--xl.container-narrow,
  .block-vertical-scroller .--xl.container-narrow-left,
  .block-vertical-scroller .--xl.container-narrow-right {
    padding: 0 16px;
  }
}
.block-vertical-scroller .block-header {
  padding: 0;
  padding-top: 36px;
  padding-bottom: 24px;
}
.block-vertical-scroller .block-header h2 {
  margin: 0;
}
.block-vertical-scroller .block-header h2,
.block-vertical-scroller .block-header .header-link {
  display: block;
}
.block-vertical-scroller .block-header .header-link {
  margin-top: 16px;
}
@media (min-width: 768px) {
  .block-vertical-scroller .block-header h2,
  .block-vertical-scroller .block-header .header-link {
    display: inline-block;
  }
  .block-vertical-scroller .block-header .header-link {
    margin-top: 0;
    margin-left: 20px;
  }
}
.block-vertical-scroller .scroll-tiles {
  position: relative;
  width: 100%;
  height: 100vh;
  max-height: 500px;
  margin: 0 auto;
}
@media (min-width: 576px) {
  .block-vertical-scroller .scroll-tiles {
    height: 100vh;
    max-height: 620px;
  }
}
.block-vertical-scroller .scroll-tile {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
}
@media (min-width: 576px) {
  .block-vertical-scroller .scroll-tile {
    flex-direction: row;
  }
}
.block-vertical-scroller .reduced-motion .scroll-tiles {
  height: auto;
  max-height: none;
}
.block-vertical-scroller .reduced-motion .scroll-tile {
  position: relative;
  top: auto;
  min-height: 0px;
  margin-bottom: 20px;
}
@media (min-width: 576px) {
  .block-vertical-scroller .reduced-motion .scroll-tile {
    min-height: 620px;
  }
}
.block-vertical-scroller .reduced-motion .content {
  height: auto;
}
.block-vertical-scroller .scroll-tile {
  display: flex;
  align-items: flex-end;
}
.block-vertical-scroller .background-image {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 16/11;
  background-size: cover;
  background-position: center;
  z-index: 0;
  border-radius: var(--tms-border-radius) var(--tms-border-radius) 0 0;
}
@media (min-width: 576px) {
  .block-vertical-scroller .background-image {
    position: absolute;
    height: 100%;
    border-radius: var(--tms-border-radius);
  }
}
.block-vertical-scroller .tile-content {
  display: block;
  width: 100%;
  height: auto;
  max-width: 1168px;
  margin: 0 auto;
  margin-top: -20px;
  position: relative;
  z-index: 1;
  background-color: transparent;
  transform-style: preserve-3d;
  position: relative;
}
@media (min-width: 576px) {
  .block-vertical-scroller .tile-content {
    display: flex;
    margin-top: 0;
    padding: 40px 20px 80px;
  }
}
.block-vertical-scroller .content-wrapper {
  position: relative;
}
.block-vertical-scroller .content {
  position: relative;
  z-index: 2;
  background-color: var(--tms-white);
  border-radius: var(--tms-border-radius);
  padding: 20px;
  width: 100%;
  height: 224px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
@media (min-width: 576px) {
  .block-vertical-scroller .content {
    height: auto;
    max-width: min(31rem, 1000px);
    min-width: 260px;
  }
}
.block-vertical-scroller .tile-title {
  order: 2;
  margin: 10px 0;
  padding: 0;
}
.block-vertical-scroller .tile-tags {
  order: 1;
  margin: 0;
  padding: 0;
}
.block-vertical-scroller .tile-link {
  order: 3;
  line-height: 1.5rem;
  align-self: flex-start;
  margin-top: auto;
  --text-gradient: var(--tms-grad-blue-dark--purple-dark);
}

.chapter-tiles .block-header {
  text-align: center;
  background: var(--card-text-gradient);
  color: var(--card-bg-color);
  border-radius: var(--tms-border-radius);
  margin-bottom: 40px;
  padding: 20px 0 20px;
}
.chapter-tiles .block-header h2 {
  font-weight: 600;
}
.chapter-tiles .tile-counter {
  padding: 30px 0 20px;
  font-size: max(6rem, 90px);
  font-weight: 800;
  text-align: center;
}
.chapter-tiles .tile-counter span {
  background: var(--card-text-gradient);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.chapter-tiles .tile-blurb {
  display: block;
}