﻿@charset "UTF-8";
/* 
	Reset:
	Based on http://meyerweb.com/eric/tools/css/reset/ 
   	v2.0 | 20110126	
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* ----- Custom Reset styles ------ */
*,
*:before,
*:after {
  box-sizing: border-box;
}

img,
svg,
video {
  display: block;
  max-width: 100%;
}

button {
  padding: 0;
  background-color: transparent;
  border: none;
}

b,
strong {
  font-weight: bold;
}

iframe {
  border: none;
}

input[type=text],
input[type=search],
input[type=button],
input[type=password] {
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
}

sup {
  font-size: 75%;
  vertical-align: super;
}

/* ----- VARIABLES ----------------------------------------------- */
/* ----- Colours ----- */
/* ----- Fonts ----- */
/* ----- Break points ----- */
/* ----- Grid ----- */
/* ----- CSS easing ----- */
/* ----- Z-indices ----- */
/* ----- FONTS --------------------------------------------------- */
@font-face {
  font-family: "Reglo Bold";
  font-weight: 700;
  src: url("/fonts/reglo-bold-webfont.eot?#iefix");
  src: url("/fonts/reglo-bold-webfont.eot?#iefix") format("eot"), url("/fonts/reglo-bold-webfont.woff2") format("woff"), url("/fonts/reglo-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/* ----- MIXINS -------------------------------------------------- */
/* ----- FUNCTIONS ----------------------------------------------- */
/* ----- JS MEDIA QUERY DETECTION -------------------------------- */
@media (max-width: 667px) {
  html {
    font-family: "mobile";
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  html {
    font-family: "tablet";
  }
}
@media (min-width: 1025px) {
  html {
    font-family: "desktop";
  }
}
@media (min-width: 1600px) {
  html {
    font-family: "desktop-large";
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* ----- GLOBAL -------------------------------------------------- */
body {
  background-color: #F5F6F7;
  color: #3A4559;
  font-family: "din-2014", sans-serif;
  line-height: 1.3;
}
body:before {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(58, 69, 89, 0.9);
  content: "";
  opacity: 0;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  visibility: hidden;
  z-index: 1;
}
body.overlay-is-active {
  overflow: hidden;
}
body.overlay-is-active:before {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 1024px) {
  body.accordion-overlay-is-active:before {
    opacity: 1;
    visibility: visible;
  }
}

body.dev-mode::after {
  position: fixed;
  top: 0;
  right: 0;
  padding: 5px;
  background: rgba(0, 0, 0, 0.75);
  color: white;
  content: "[current breakpoint]";
  z-index: 999;
}
@media (max-width: 667px) {
  body.dev-mode::after {
    content: "mobile";
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  body.dev-mode::after {
    content: "tablet";
  }
}
@media (min-width: 1025px) {
  body.dev-mode::after {
    content: "desktop";
  }
}
@media (min-width: 1600px) {
  body.dev-mode::after {
    content: "desktop-large";
  }
}

input,
textarea {
  border: none;
  color: #3A4559;
  font-family: "din-2014", sans-serif;
}

.text-field,
textarea,
select {
  display: block;
  width: 100%;
  font-family: "din-2014", sans-serif;
  font-size: 16px;
}
.text-field::placeholder,
textarea::placeholder,
select::placeholder {
  color: #B0B5BD;
}

textarea {
  min-height: 48px;
  resize: vertical;
}

a {
  color: inherit;
  text-decoration: none;
}

label a {
  text-decoration: underline;
}
label a:hover {
  text-decoration: none;
}

button {
  cursor: pointer;
}

sub {
  font-size: 0.8em;
}

/* ----- Utility Classes ----- */
.white-page-background {
  background-color: white;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
  -webkit-clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
  overflow: hidden;
  white-space: nowrap;
}

.overflow-hidden {
  overflow: hidden;
}

.align-centre {
  text-align: center;
}

@media (max-width: 667px) {
  .mobile-hide {
    display: none !important;
  }
}

@media (min-width: 668px) {
  .mobile-only {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  .desktop-only {
    display: none !important;
  }
}

@media (min-width: 1025px) {
  .desktop-hide {
    display: none !important;
  }
}

@media (min-width: 668px) and (max-width: 1024px) {
  .tablet-no-bottom-margin {
    margin-bottom: 0 !important;
  }
  .tablet-full-height {
    height: 100% !important;
  }
  .tablet-align-right {
    text-align: right;
  }
}
.disable-transitions * {
  transition: none !important;
}

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

.is-light-text {
  color: white !important;
}

.is-dark-text {
  color: #3A4559 !important;
}

.background-slate,
*[class^=background] .background-slate,
*[class*=" background"] .background-slate {
  background-color: #3A4559;
  color: white;
}
.background-slate .button,
*[class^=background] .background-slate .button,
*[class*=" background"] .background-slate .button {
  border-color: white;
  color: white;
}
.background-slate .button:hover,
*[class^=background] .background-slate .button:hover,
*[class*=" background"] .background-slate .button:hover {
  background-color: white;
  color: #3A4559;
}

.background-blue,
*[class^=background] .background-blue,
*[class*=" background"] .background-blue {
  background-color: #00A3E0;
  color: white;
}
.background-blue .button,
*[class^=background] .background-blue .button,
*[class*=" background"] .background-blue .button {
  border-color: white;
  color: white;
}
.background-blue .button:hover,
*[class^=background] .background-blue .button:hover,
*[class*=" background"] .background-blue .button:hover {
  background-color: white;
  color: #00A3E0;
}
.background-blue .heading-small,
*[class^=background] .background-blue .heading-small,
*[class*=" background"] .background-blue .heading-small {
  color: white;
}

.background-yellow,
*[class^=background] .background-yellow,
*[class*=" background"] .background-yellow {
  background-color: #FFB500;
  color: #3A4559;
}
.background-yellow .button,
*[class^=background] .background-yellow .button,
*[class*=" background"] .background-yellow .button {
  border-color: #3A4559;
  color: #3A4559;
}
.background-yellow .button:hover,
*[class^=background] .background-yellow .button:hover,
*[class*=" background"] .background-yellow .button:hover {
  background-color: #3A4559;
  color: white;
}

.background-white,
*[class^=background] .background-white,
*[class*=" background"] .background-white {
  background-color: white;
  color: #3A4559;
}
.background-white.cta .button,
*[class^=background] .background-white.cta .button,
*[class*=" background"] .background-white.cta .button {
  border-color: #3A4559;
  color: #3A4559;
}
.background-white.cta .button:hover,
*[class^=background] .background-white.cta .button:hover,
*[class*=" background"] .background-white.cta .button:hover {
  background-color: #3A4559;
  color: white;
}

.background-grey,
*[class^=background] .background-grey,
*[class*=" background"] .background-grey {
  background-color: #B0B5BD;
  color: white;
}
.background-grey .button,
*[class^=background] .background-grey .button,
*[class*=" background"] .background-grey .button {
  border-color: white;
  color: white;
}
.background-grey .button:hover,
*[class^=background] .background-grey .button:hover,
*[class*=" background"] .background-grey .button:hover {
  background-color: white;
  color: #B0B5BD;
}

.background-grey-light,
*[class^=background] .background-grey-light,
*[class*=" background"] .background-grey-light {
  background-color: #EBECEE;
  /*	
  	color: slate;

  	.button {
  		border-color: slate;
  		color: slate;
  	}
  */
}

.background-grey-lightest,
*[class^=background] .background-grey-lightest,
*[class*=" background"] .background-grey-lightest,
.pad-on-all-sides.background-grey-lightest {
  background-color: #F5F6F7;
  color: #3A4559;
}
.background-grey-lightest .button,
*[class^=background] .background-grey-lightest .button,
*[class*=" background"] .background-grey-lightest .button,
.pad-on-all-sides.background-grey-lightest .button {
  border-color: #3A4559;
  color: #3A4559;
}
.background-grey-lightest .button:hover,
*[class^=background] .background-grey-lightest .button:hover,
*[class*=" background"] .background-grey-lightest .button:hover,
.pad-on-all-sides.background-grey-lightest .button:hover {
  background-color: #3A4559;
  color: white;
}

.show-current-breakpoint:after {
  position: fixed;
  top: 0;
  left: 0;
  padding: 10px;
  background-color: rgba(0, 0, 0, 0.8);
  color: white;
  z-index: 99999;
}
@media (max-width: 667px) {
  .show-current-breakpoint:after {
    content: "mobile";
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .show-current-breakpoint:after {
    content: "tablet";
  }
}
@media (min-width: 1025px) and (max-width: 1599px) {
  .show-current-breakpoint:after {
    content: "desktop - med";
  }
}
@media (min-width: 1025px) and (max-width: 1280px) {
  .show-current-breakpoint:after {
    content: "desktop - small";
  }
}
@media (min-width: 1600px) {
  .show-current-breakpoint:after {
    content: "desktop - large";
  }
}

.show-guides .constrained {
  outline: 1px dashed red;
}
.show-guides .row {
  outline: 1px dashed yellow;
}
.show-guides .column {
  outline: 1px dotted blue;
}
.show-guides .column > * {
  outline: 1px dashed cyan;
}

/* ----- Grid ----- */
.constrained {
  position: relative;
  box-sizing: content-box;
  max-width: 1700px;
  margin: 0 auto;
}
.constrained .constrained {
  padding-left: 0;
  padding-right: 0;
}
.constrained--medium-large {
  max-width: 1410px;
}
.constrained--medium {
  max-width: 1120px;
}
.constrained--small {
  max-width: 830px;
}
.constrained--extra-small {
  max-width: 395px;
}
@media (max-width: 667px) {
  .constrained:not(.mobile-no-side-padding) {
    padding-left: 22px;
    padding-right: 22px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .constrained {
    padding-left: 50px;
    padding-right: 50px;
  }
}
@media (min-width: 1025px) {
  .constrained {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 1025px) {
  .constrained--margin-on-left {
    max-width: 830px;
    margin-left: 50%;
    border-bottom: 1px solid transparent;
  }
}

@media (min-width: 668px) and (max-width: 1024px) {
  .row.tablet-stack-columns {
    display: block;
  }
  .row.tablet-stack-columns > .column {
    width: auto;
  }
}

@media (min-width: 668px) {
  .row {
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
    margin-right: -20px;
  }
  .column {
    padding-left: 20px;
    padding-right: 20px;
  }
  .full-width {
    width: 100%;
  }
  .one-half {
    width: 50%;
  }
  .one-third {
    width: 33.3333333333%;
  }
  .two-thirds {
    width: 66.6666666667%;
  }
  .two-fifths {
    width: 40%;
  }
  .three-fifths {
    width: 60%;
  }
  .one-sixth {
    width: 16.6666666667%;
  }
  .three-tenths {
    width: 30%;
  }
  .seven-tenths {
    width: 70%;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .tablet-row {
    display: flex;
    margin-left: -20px;
    margin-right: -20px;
  }
  .tablet-column {
    padding-left: 20px;
    padding-right: 20px;
  }
  .tablet-one-half {
    width: 50%;
  }
  .tablet-full-width {
    width: 100%;
  }
}
@media (min-width: 1025px) {
  .desktop-one-half {
    width: 50%;
  }
  .row.equal-height-columns > .column {
    flex: 1;
  }
  .row.equal-height-columns > .column > * {
    height: 100%;
  }
}
/* ------ Typography ----- */
h1,
h2,
h3,
.as-h2,
.heading-large,
.heading-medium,
.heading-small {
  font-family: "Reglo Bold", sans-serif;
}

h1,
h2,
.as-h2 {
  font-weight: bold;
  text-transform: uppercase;
}

h1,
.heading-large {
  margin-bottom: 0.8em;
  font-size: 48px;
  letter-spacing: -2px;
  line-height: 0.9;
}
@media (max-width: 667px) {
  h1,
  .heading-large {
    margin-bottom: 1em;
    font-size: 40px;
    letter-spacing: -1px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  h1,
  .heading-large {
    font-size: 42px;
  }
}
@media (min-width: 1600px) {
  h1,
  .heading-large {
    font-size: 70px;
  }
}

h2,
.as-h2 {
  margin-bottom: 0.8em;
  font-size: 30px;
  line-height: 1.0666666667;
}

h3 {
  margin-bottom: 1em;
}

@media (max-width: 667px) {
  .heading-huge {
    font-size: 40px;
  }
}
@media (min-width: 668px) {
  .heading-huge {
    font-size: 56px;
  }
}
@media (min-width: 1600px) {
  .heading-huge {
    font-size: 100px;
  }
}

.heading-medium,
.heading-small {
  font-weight: bold;
  text-transform: uppercase;
}

.heading-medium {
  font-size: 40px;
  line-height: 1;
}
@media (max-width: 667px) {
  .heading-medium {
    font-size: 30px;
    line-height: 28px;
  }
}

.heading-small {
  color: #00A3E0;
  font-size: 20px;
}
@media (min-width: 1025px) and (max-width: 1280px) {
  .heading-small {
    font-size: 16px;
  }
}

p {
  margin-bottom: 1em;
  line-height: 1.4;
}

p,
.as-paragraph {
  font-size: 20px;
}
@media (min-width: 668px) and (max-width: 1024px) {
  p,
  .as-paragraph {
    font-size: 18px;
  }
}
@media (min-width: 1025px) and (max-width: 1280px) {
  p,
  .as-paragraph {
    font-size: 18px;
  }
}

.paragraph-small {
  font-size: 16px;
}

.rich-text-wrapper {
  font-size: 20px;
}
.rich-text-wrapper h3:not(.as-paragraph) {
  text-transform: uppercase;
}
.rich-text-wrapper ul:not(:last-child),
.rich-text-wrapper ol:not(:last-child) {
  margin-bottom: 1em;
}
.rich-text-wrapper ul li,
.rich-text-wrapper ol li {
  position: relative;
  margin-bottom: 0.5em;
  padding-left: 30px;
}
.rich-text-wrapper ul li:before,
.rich-text-wrapper ol li:before {
  position: absolute;
  left: 0;
  display: block;
}
.rich-text-wrapper ul ul,
.rich-text-wrapper ul ol,
.rich-text-wrapper ol ul,
.rich-text-wrapper ol ol {
  margin-top: 0.5em;
}
.rich-text-wrapper ul {
  list-style-type: none;
}
.rich-text-wrapper ul li:before {
  top: 0.4em;
  width: 8px;
  height: 8px;
  margin-right: 10px;
  border-radius: 50%;
  background-color: #00A3E0;
  content: "";
}
.rich-text-wrapper ol {
  counter-reset: section;
  list-style-position: outside;
}
.rich-text-wrapper ol li {
  position: relative;
}
.rich-text-wrapper ol li:before {
  color: #00A3E0;
  counter-increment: section;
  content: counter(section) ".";
}
.rich-text-wrapper a {
  text-decoration: underline;
}
.rich-text-wrapper a:hover {
  text-decoration: none;
}
.rich-text-wrapper img {
  height: auto;
}

.as-paragraph {
  color: #00A3E0;
  font-family: "din-2014", sans-serif;
  font-weight: normal;
}

.highlighted {
  color: #00A3E0;
}

.faux-heading {
  color: #00A3E0;
  font-family: "Reglo Bold", sans-serif;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
}
.faux-heading:not(:last-child) {
  margin-bottom: 1em;
}
.faux-heading .specialist-position {
  display: block;
  line-height: 1.5;
  max-width: 230px;
  line-height: 1.2;
  text-transform: none;
  color: #3A4559;
}
@media (max-width: 667px) {
  .faux-heading .specialist-position {
    font-size: 16px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .faux-heading .specialist-position {
    font-size: 16px;
  }
}
@media (min-width: 1025px) {
  .faux-heading .specialist-position {
    font-size: 12px;
  }
}
@media (min-width: 1600px) {
  .faux-heading .specialist-position {
    font-size: 16px;
  }
}

/* ------ Global UI Elements ----- */
.button {
  display: inline-block;
  padding: 12px 30px;
  border: 2px solid #00A3E0;
  border-radius: 40px;
  color: #00A3E0;
  cursor: pointer;
  font-size: 16px;
  white-space: nowrap;
}
.button[disabled] {
  border-color: #B0B5BD;
  color: #B0B5BD;
  pointer-events: none;
}
.button:hover {
  background-color: #00A3E0;
  color: white;
}
.button--transparent {
  border-color: white;
  background-color: transparent;
  color: white;
}
.button--transparent:hover {
  background-color: white;
  color: #3A4559;
}
.button--white {
  background-color: white;
}
.button--slate {
  border-color: #3A4559;
  color: #3A4559;
}
.button--slate:hover {
  background-color: #3A4559;
  color: white;
}
.button--grey {
  border-color: #B0B5BD;
  color: #B0B5BD;
}
.button--grey:hover {
  background-color: #B0B5BD;
  color: white;
}
.button--solid {
  background-color: #00A3E0;
  color: white;
}

.button-wrapper {
  text-align: center;
}

.button-scroll {
  position: absolute;
  left: 50%;
  bottom: 25px;
  width: 40px;
  height: 40px;
  background: white url(/images/icon-arrow-jump-link.svg) center center no-repeat;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  transform: translateX(-50%);
  transition: opacity 0.5s ease, visibility 0.5s ease;
  /*
  	@include desktop {
          position: fixed; // TODO: yay or nay?
  		top: calc(100vh - 70px);
  	}

  	@include tablet-and-down {
  		bottom: 10px;
  	}
  */
}
.button-scroll.is-dark {
  background: #3A4559 url(/images/icon-arrow-jump-link-white.svg) center center no-repeat;
}
@media (min-width: 1025px) {
  .button-scroll.hidden {
    opacity: 0;
    visibility: hidden;
  }
}

/*
.button-scroll {
	position: absolute;	
	color: white;
	cursor: pointer;
	font-size: rem(16px);
	transition: opacity 0.5s ease, visibility 0.5s ease; // for .hidden class

	@include desktop {
		right: 50px;
		top: calc(100vh - 70px);
	}

	@include tablet-and-down {
		left: 50%;
		bottom: 10px;
		transform: translateX(-50%);
	}

	@include desktop {
		right: 50px;
		//bottom: 35px;
	}

	@include desktop-large {
		right: 110px;
		//bottom: 55px;
	}

	&:after {
		position: relative;
		top: -6px;

		display: inline-block;
		width: 20px;
		height: 50px;
		margin-left: 20px;
		background: transparent url(/images/icon-mouse.svg) 0 0 no-repeat;
		content: "";
		vertical-align: top;
	}

	&.hidden {
		@include desktop {
			opacity: 0;
			visibility: hidden;
		}
	}
}

.module-hero-detail,
.module-hero-landing {
	.button-scroll {
		@include desktop {
			position: fixed;
		}
	}
}
*/
mark {
  padding: 0.04em 0.1em 0;
  display: inline-block;
  background-color: #00A3E0;
  color: white;
}

.loading-spinner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 80px;
  height: 80px;
  transform: translate(-50%, -50%);
}
.loading-spinner div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  border: 6px solid #fff;
  border-radius: 50%;
  animation: loading-spinner-rotate 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #fff transparent transparent transparent;
}
.loading-spinner div:nth-child(1) {
  animation-delay: -0.45s;
}
.loading-spinner div:nth-child(2) {
  animation-delay: -0.3s;
}
.loading-spinner div:nth-child(3) {
  animation-delay: -0.15s;
}

@keyframes loading-spinner-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.responsive-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.responsive-wrapper iframe,
.responsive-wrapper object,
.responsive-wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.key-value-table {
  font-size: 20px;
}
.key-value-table tr th,
.key-value-table tr td {
  padding-bottom: 0.8em;
}
.key-value-table tr th {
  width: 170px;
  padding-right: 10px;
  color: #00A3E0;
  font-family: "Reglo Bold", sans-serif;
  font-weight: bold;
  text-align: left;
  text-transform: uppercase;
}
.key-value-table tr td {
  color: #707070;
}

/* ----- Forms ----- */
.file-input-wrapper {
  display: flex;
  margin-bottom: 30px;
  padding: 0;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.file-input-wrapper .file-name {
  flex: 1;
  padding: 14px 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
  white-space: nowrap;
}

.text-field:required {
  background-image: url(/images/required-asterisk.svg);
  background-position: calc(100% - 8px) center;
  background-repeat: no-repeat;
}
.text-field:required[type=text] {
  padding-right: 10px !important;
}
.text-field:required[type=number] {
  padding-right: 20px !important;
}

/*select:required {
	background-image: url(/images/required-asterisk.svg);
	background-position: calc(100% - 42px) center;
	background-repeat: no-repeat;
}*/
textarea.text-field:required {
  background-position: calc(100% - 8px) 12px;
}

.toggle-switch {
  position: relative;
  display: block;
  margin-bottom: 17px;
  user-select: none;
}
.toggle-switch .label-text {
  pointer-events: none;
}
.toggle-switch .label-text:before, .toggle-switch .label-text:after {
  position: absolute;
  content: "";
}
.toggle-switch .label-text:before {
  top: 0;
  right: 0;
  width: 40px;
  height: 22px;
  background-color: #B0B5BD;
  border-radius: 40px;
  transition: background-color 150ms ease;
}
.toggle-switch .label-text:after {
  top: 2px;
  right: 18px;
  width: 18px;
  height: 18px;
  margin-right: 2px;
  background-color: white;
  border-radius: 50%;
  transform: translateX(0);
  transition: transform 150ms ease;
}
.toggle-switch input[type=checkbox] {
  position: absolute;
  visibility: hidden;
}
.toggle-switch input[type=checkbox]:checked + .label-text:before {
  background-color: #00A3E0;
}
.toggle-switch input[type=checkbox]:checked + .label-text:after {
  transform: translateX(18px);
}

.styled-checkbox {
  position: relative;
  display: block;
  user-select: none;
}
.styled-checkbox .label-text {
  display: inline-block;
  padding-left: 35px;
  pointer-events: none;
}
.styled-checkbox .label-text:before, .styled-checkbox .label-text:after {
  position: absolute;
  content: "";
}
.styled-checkbox .label-text:before {
  top: 0;
  left: 0;
  width: 22px;
  height: 22px;
  border: 2px solid #00A3E0;
  transition: background-color 150ms ease;
}
.styled-checkbox .label-text:after {
  top: 0px;
  left: 0px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  border-radius: 50%;
  color: #00A3E0;
  content: "✔";
  font-size: 18px;
  opacity: 0;
  text-align: center;
}
.styled-checkbox input[type=checkbox] {
  position: absolute;
  visibility: hidden;
}
.styled-checkbox input[type=checkbox]:checked + .label-text:after {
  animation: bulge-in 0.3s cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes bulge-in {
  0% {
    transform: scale(0.8);
  }
  40% {
    opacity: 1;
    transform: scale(1.3);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.radio-buttons-wrapper {
  display: flex;
}
.radio-buttons-wrapper .styled-radio-button:not(:last-of-type) {
  margin-right: 60px;
}

.styled-radio-button {
  position: relative;
  display: block;
}
.styled-radio-button .label-text {
  margin-left: 30px;
  font-size: 20px;
}
.styled-radio-button .label-text:before, .styled-radio-button .label-text:after {
  position: absolute;
  content: "";
}
.styled-radio-button .label-text:before {
  top: 4px;
  left: 0;
  width: 20px;
  height: 20px;
  border: 2px solid #707070;
  border-radius: 50%;
}
.styled-radio-button .label-text:after {
  top: 8px;
  left: 4px;
  width: 12px;
  height: 12px;
  background-color: #00A3E0;
  border-radius: 50%;
  opacity: 0;
  transform: scale(0.75);
  transition: opacity 150ms ease, transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.styled-radio-button input[type=radio] {
  position: absolute;
  visibility: hidden;
}
.styled-radio-button input[type=radio]:checked + .label-text:after {
  opacity: 1;
  transform: scale(1);
}

.filter-form .text-field,
.filter-form .form-heading,
.filter-form .select-wrapper {
  height: 40px;
  margin-bottom: 20px;
  border-bottom: 2px solid #3A4559;
  color: #616A7A;
  font-family: "din-2014", sans-serif;
  font-size: 20px;
  font-weight: normal;
}
@media (max-width: 667px) {
  .filter-form .text-field,
  .filter-form .form-heading,
  .filter-form .select-wrapper {
    font-size: 16px;
  }
}

.form-heading {
  line-height: 40px;
}

.select-wrapper {
  position: relative;
  display: block;
  background: white;
}
.select-wrapper:before {
  position: absolute;
  right: 9px;
  top: 0px;
  width: 18px;
  height: 100%;
  background: transparent url(/images/icon-arrow-down.svg) center center no-repeat;
  content: "";
  display: block;
  pointer-events: none;
  z-index: 1;
}
.select-wrapper select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  width: 100%;
  height: 100%;
  border-radius: none;
  border: none;
  color: #3A4559;
  font-size: 20px;
  outline: 0;
}
@media (max-width: 667px) {
  .select-wrapper select {
    font-size: 16px;
  }
}
.select-wrapper select:focus {
  border: none;
}

/* ----- Cookie Banner ----- */
.cookie-banner {
  position: fixed;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: #F5F6F7;
  border-top: 1px solid #B0B5BD;
  box-shadow: 0 -3px 6px rgba(0, 0, 0, 0.16);
  display: none;
}
.cookie-banner.visible {
  display: block;
}

.cookie-banner-inner {
  padding: 20px 0;
}
@media (min-width: 1025px) {
  .cookie-banner-inner {
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width: 1025px) and (max-width: 1599px) {
  .cookie-banner-inner {
    padding: 30px 20px;
  }
}
@media (min-width: 1600px) {
  .cookie-banner-inner {
    padding: 50px;
  }
}
.cookie-banner-inner .button-wrapper {
  text-align: left;
}
@media (max-width: 667px) {
  .cookie-banner-inner .button-wrapper {
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .cookie-banner-inner .button-wrapper {
    text-align: right;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .cookie-banner-inner .button-wrapper .button:first-of-type {
    margin-right: 20px;
  }
}
@media (min-width: 1025px) {
  .cookie-banner-inner .button-wrapper .button:first-of-type {
    margin-bottom: 20px;
  }
}

/* ----- Lightbox ----- */
.lightbox {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(58, 69, 89, 0.9);
  color: white;
  transition: all 0.3s ease;
  z-index: 101;
}
.lightbox:not(.is-active) {
  opacity: 0;
  visibility: hidden;
}
.lightbox .button-close {
  position: absolute;
  right: 30px;
  top: 20px;
  box-sizing: content-box;
  padding: 14px 65px 14px 10px;
  background: transparent url(/images/icon-close.svg) 90% center no-repeat;
  background-size: 30px auto;
  color: white;
  cursor: pointer;
  font-size: 20px;
  text-transform: uppercase;
  z-index: 1;
}
.lightbox .constrained {
  height: 100%;
  display: flex;
  align-items: center;
  max-width: 1200px;
}
.lightbox .lightbox-image-wrapper {
  position: relative;
  margin: 0 auto;
}
.lightbox .lightbox-image-wrapper img {
  position: relative;
  max-height: 90vh;
  object-fit: contain;
}
.lightbox .lightbox-caption {
  color: white;
}

/* ----- Error/Utility Pages ----- */
@media (min-width: 668px) {
  .two-column-grid {
    column-count: 2;
    column-gap: 40px;
  }
}

.non-hero-page-wrapper {
  margin: 150px 0 50px;
}
@media (max-width: 667px) {
  .non-hero-page-wrapper {
    margin: 130px 0 50px;
  }
}
@media (min-width: 1600px) {
  .non-hero-page-wrapper {
    margin: 220px 0 100px;
    margin: 220px 0 80px;
  }
}

.heading-error {
  font-size: 90px;
}
@media (max-width: 667px) {
  .heading-error {
    font-size: 60px;
  }
}
@media (min-width: 1025px) and (max-width: 1599px) {
  .heading-error {
    font-size: 110px;
  }
}
@media (min-width: 1600px) {
  .heading-error {
    font-size: 140px;
  }
}

/* ----- Reusable Module Styles ----- */
/* Vertical padding used on the following modules:

	.module-video
	.module-carousel
	.module-form-container
	.module-cta-panel
*/
@media (max-width: 667px) {
  .vertical-pad {
    padding: 50px 0;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .vertical-pad {
    padding: 50px 0;
  }
}
@media (min-width: 1025px) {
  .vertical-pad {
    padding: 60px 0;
  }
}
@media (min-width: 1600px) {
  .vertical-pad {
    padding: 100px 0;
  }
}

@media (max-width: 667px) {
  .bottom-margin-for-modules {
    margin-bottom: 40px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .bottom-margin-for-modules {
    margin-bottom: 48px;
  }
}
@media (min-width: 1025px) {
  .bottom-margin-for-modules {
    margin-bottom: 65px;
  }
}
@media (min-width: 1600px) {
  .bottom-margin-for-modules {
    margin-bottom: 100px;
  }
}

.module-rich-text {
  margin-bottom: 40px;
  /*
  	.rich-text > *:last-child {
  		margin-bottom: 0;
  	}
  */
}
@media (min-width: 1025px) {
  .module-rich-text .downloads-wrapper {
    margin-top: 60px;
  }
}
.module-rich-text .downloads-wrapper .module-small-link {
  display: inline-block;
}
@media (min-width: 1025px) {
  .module-rich-text .downloads-wrapper .module-small-link {
    max-width: 50%;
  }
}
@media (min-width: 1025px) and (max-width: 1280px) {
  .module-rich-text .downloads-wrapper .module-small-link {
    max-width: 70%;
  }
}

/* ----- G1: Main Header & Primary Navigation ---- */
.site-header {
  --header-height: 100px;
  position: fixed;
  top: 0;
  width: 100%;
  height: var(--header-height);
  background-color: white;
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 100;
}
@media (min-width: 1600px) {
  .site-header {
    --header-height: 150px;
  }
}
.site-header > .constrained {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}
@media (min-width: 1025px) {
  .site-header > .constrained {
    padding-left: 30px;
    padding-right: 30px;
  }
}
.site-header .logo-wrapper {
  display: block;
}
@media (max-width: 667px) {
  .site-header .logo-wrapper {
    max-width: 110px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .site-header .logo-wrapper {
    max-width: 150px;
  }
}
@media (min-width: 1025px) {
  .site-header .logo-wrapper {
    width: 160px;
  }
}
@media (min-width: 1600px) {
  .site-header .logo-wrapper {
    width: 235px;
  }
}
.site-header .logo-wrapper svg * {
  transition: opacity 0.25s ease, transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.site-header.is-backgroundless-when-not-collapsed {
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
}
.site-header.is-backgroundless-when-not-collapsed .text-fill,
.site-header.is-backgroundless-when-not-collapsed .decal-fill {
  transition: fill 0.3s ease;
}
.site-header.is-backgroundless-when-not-collapsed .icon-search-stroke {
  transition: stroke 0.3s ease;
}
.site-header.is-backgroundless-when-not-collapsed.is-collapsed .primary-nav > ul > li > a {
  color: #3A4559;
}
.site-header.is-backgroundless-when-not-collapsed:not(.is-collapsed):not(.has-active-mobile-nav) {
  background-color: transparent;
}
.site-header.is-backgroundless-when-not-collapsed:not(.is-collapsed):not(.has-active-mobile-nav).has-light-text {
  color: white;
}
.site-header.is-backgroundless-when-not-collapsed:not(.is-collapsed):not(.has-active-mobile-nav).has-light-text .primary-nav > ul > li > a {
  color: white;
}
.site-header.is-backgroundless-when-not-collapsed:not(.is-collapsed):not(.has-active-mobile-nav).has-light-text .primary-nav > ul > li:hover > a {
  color: #00A3E0;
}
.site-header.is-backgroundless-when-not-collapsed:not(.is-collapsed):not(.has-active-mobile-nav).has-light-text .text-fill {
  fill: white;
}
.site-header.is-backgroundless-when-not-collapsed:not(.is-collapsed):not(.has-active-mobile-nav).has-light-text .icon-search-stroke {
  stroke: white;
}
.site-header.is-backgroundless-when-not-collapsed:not(.is-collapsed):not(.has-active-mobile-nav).has-light-text .icon-burger {
  background-color: white;
}
.site-header.is-backgroundless-when-not-collapsed:not(.is-collapsed):not(.has-active-mobile-nav).has-light-text .icon-burger::before, .site-header.is-backgroundless-when-not-collapsed:not(.is-collapsed):not(.has-active-mobile-nav).has-light-text .icon-burger::after {
  background-color: white;
}
.site-header.is-backgroundless-when-not-collapsed:not(.is-collapsed):not(.has-active-mobile-nav):not(.has-light-text) .primary-nav > ul > li > a {
  color: #3A4559;
}
@media (max-width: 667px) {
  .site-header.is-collapsed {
    --header-height: 70px;
  }
}
@media (min-width: 668px) {
  .site-header.is-collapsed {
    --header-height: 60px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  }
  .site-header.is-collapsed .logo-wrapper svg .decal-wrapper {
    transform: translate(-185px, 20px);
  }
  .site-header.is-collapsed .logo-wrapper svg > *:not(.decal-wrapper) {
    opacity: 0;
  }
}
@media (max-width: 1024px) {
  .site-header:not(.has-active-mobile-nav) .primary-nav {
    opacity: 0;
    visibility: hidden;
  }
}
.site-header:not(.has-active-search) .header-search-panel {
  opacity: 0;
  visibility: hidden;
}
.site-header.has-active-search svg .icon-search-stroke {
  stroke: #00A3E0;
}

.header-right {
  display: flex;
  flex: 1;
  justify-content: flex-end;
}

.primary-nav {
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 1;
}
@media (min-width: 1025px) {
  .primary-nav {
    margin-right: 65px;
  }
}
@media (min-width: 1025px) and (min-width: 1025px) and (max-width: 1280px) {
  .primary-nav {
    margin-right: 0;
  }
}
@media (min-width: 1025px) and (min-width: 1025px) {
  .primary-nav > ul {
    display: flex;
  }
}
@media (min-width: 1025px) {
  .primary-nav > ul > li.no-child-pages .dropdown-wrapper {
    display: none !important;
  }
}
@media (min-width: 1025px) and (min-width: 1025px) {
  .primary-nav > ul > li {
    position: relative;
    display: inline-block;
    font-size: 16px;
  }
  .primary-nav > ul > li:hover {
    color: #00A3E0;
    z-index: 1;
  }
  .is-backgroundless-when-not-collapsed .primary-nav > ul > li:hover {
    background-color: white;
  }
  .primary-nav > ul > li > a {
    display: inline-block;
    padding: 20px;
  }
}
@media (min-width: 1025px) and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1280px) {
  .primary-nav > ul > li > a {
    padding: 12px;
  }
}
@media (min-width: 1025px) and (min-width: 1025px) and (min-width: 1600px) {
  .primary-nav > ul > li > a {
    height: 60px;
  }
}
@media (min-width: 1025px) and (min-width: 1025px) {
  .primary-nav > ul > li:hover:before {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    border-left: 4px solid #00A3E0;
    content: "";
  }
  .primary-nav > ul > li:hover .dropdown-wrapper {
    visibility: visible;
  }
}
@media (min-width: 1025px) {
  .primary-nav > ul > li .dropdown-wrapper {
    position: absolute;
    top: 100%;
    left: 0;
    display: flex;
    width: 600px;
    background-color: white;
    box-shadow: 5px 5px 6px rgba(0, 0, 0, 0.16);
    transform: translateX(-50%);
    visibility: hidden;
  }
}
@media (min-width: 1025px) and (min-width: 1025px) and (max-width: 1280px) {
  .primary-nav > ul > li .dropdown-wrapper {
    width: 450px;
  }
}
@media (min-width: 1025px) {
  .primary-nav > ul > li .dropdown-wrapper:before {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    border-left: 4px solid #00A3E0;
    content: "";
  }
}
@media (min-width: 1025px) {
  .primary-nav > ul > li .dropdown-wrapper .text-pane,
  .primary-nav > ul > li .dropdown-wrapper .nav-pane {
    width: 50%;
  }
}
@media (min-width: 1025px) {
  .primary-nav > ul > li .dropdown-wrapper .text-pane {
    padding: 30px;
    background-color: #3A4559;
    color: white;
  }
  .primary-nav > ul > li .dropdown-wrapper .text-pane .as-h2 {
    margin-bottom: 0;
    font-size: 32px;
    line-height: 1;
  }
}
@media (min-width: 1025px) {
  .primary-nav > ul > li .dropdown-wrapper .nav-pane {
    color: #3A4559;
  }
  .primary-nav > ul > li .dropdown-wrapper .nav-pane > ul > li {
    padding: 15px 20px;
    border-top: 1px solid #F5F6F7;
  }
  .primary-nav > ul > li .dropdown-wrapper .nav-pane > ul a {
    display: block;
    padding: 0.6em 0;
  }
  .primary-nav > ul > li .dropdown-wrapper .nav-pane > ul a:hover {
    color: #00A3E0;
  }
  .primary-nav > ul > li .dropdown-wrapper .nav-pane > ul ul a {
    padding-left: 20px;
  }
  .primary-nav > ul > li .dropdown-wrapper .nav-pane > ul ul a:before {
    margin-right: 3px;
    content: "–";
  }
}
@media (max-width: 1024px) {
  .primary-nav {
    position: absolute;
    left: 0;
    width: 100%;
    top: 100%;
    height: calc(100vh - 100px);
    background-color: white;
    border-top: 1px solid #F5F6F7;
    overflow: auto;
    z-index: 1;
  }
  .is-collapsed .primary-nav {
    height: calc(100vh - 70px);
  }
  .primary-nav > ul > li {
    border-left: 4px solid #00A3E0;
  }
  .primary-nav li {
    display: block;
    color: #3A4559;
    font-size: 20px;
  }
  .primary-nav li.no-child-pages .accordion-nav-toggle:after {
    display: none;
  }
  .primary-nav li a {
    position: relative;
    display: block;
    padding: 22px 50px 22px 22px;
  }
  .primary-nav li a .landing-page-link:hover {
    text-decoration: underline;
  }
  .primary-nav li a.accordion-nav-toggle:after {
    position: absolute;
    right: 40px;
    top: 50%;
    display: block;
    width: 24px;
    height: 12px;
    margin-top: -6px;
    background: url(/images/icon-arrow-down.svg) 0 0 no-repeat;
    content: "";
    transform-origin: 50% 40%;
    transition: transform 0.3s ease;
  }
}
@media (max-width: 1024px) and (max-width: 667px) {
  .primary-nav li a.accordion-nav-toggle:after {
    right: 22px;
  }
}
@media (max-width: 1024px) {
  .primary-nav li .dropdown-wrapper {
    margin-left: -4px;
    padding-left: 4px;
    background-color: #F5F6F7;
    border-top: 1px solid #707070;
    border-bottom: 1px solid #707070;
  }
  .primary-nav li .dropdown-wrapper .text-pane {
    display: none;
  }
  .primary-nav li .dropdown-wrapper .nav-pane ul {
    position: relative;
  }
  .primary-nav li .dropdown-wrapper .nav-pane ul:not(:last-of-type):after {
    position: absolute;
    left: 22px;
    right: 22px;
    border-bottom: 1px solid #B0B5BD;
    content: "";
  }
}
@media (max-width: 1024px) {
  .primary-nav li:not(.is-active) .dropdown-wrapper {
    display: none;
  }
}
@media (max-width: 1024px) {
  .primary-nav li.is-active .accordion-nav-toggle:after {
    transform: rotate(180deg);
  }
}

.link-pdf {
  position: relative;
}
.link-pdf:after {
  position: absolute;
  right: 0;
  top: 4px;
  width: 24px;
  height: 25px;
  background: transparent url(/images/icon-pdf.svg) 0 0 no-repeat;
  content: "";
}
@media (max-width: 1024px) {
  .link-pdf:after {
    right: 22px;
    top: 23px;
  }
}

.link-file {
  position: relative;
}
.link-file:after {
  position: absolute;
  right: 0;
  top: 4px;
  width: 24px;
  height: 25px;
  background: transparent url(/images/icon-file.svg) 0 0 no-repeat;
  content: "";
}
@media (max-width: 1024px) {
  .link-file:after {
    right: 22px;
    top: 23px;
  }
}

.search-trigger {
  cursor: pointer;
  width: 60px;
}
.search-trigger svg {
  margin: 0 auto;
}

.nav-trigger {
  position: relative;
  width: 60px;
  height: 50px;
  margin-left: 30px;
  cursor: pointer;
}
@media (max-width: 667px) {
  .nav-trigger {
    margin-right: -16px;
  }
}

.icon-burger {
  position: absolute;
  left: 50%;
  top: 50%;
  display: inline-block;
  width: 30px;
  margin: -1px 0 0 -15px;
  height: 3px;
  background-color: #3A4559;
  border-radius: 2px;
  transition: background-color 0.25s ease;
}
.icon-burger::before, .icon-burger::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: #3A4559;
  border-radius: 2px;
  content: "";
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.25s ease;
}
.icon-burger::before {
  transform: translateY(-11px) rotate(0deg);
}
.icon-burger::after {
  transform: translateY(11px) rotate(0deg);
}
.has-active-mobile-nav .icon-burger {
  background-color: transparent;
}
.has-active-mobile-nav .icon-burger::before {
  transform: translateY(0) rotate(45deg);
}
.has-active-mobile-nav .icon-burger::after {
  transform: translateY(0) rotate(-45deg);
}

.header-search-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: calc(100vh - var(--header-height));
  border-top: 1px solid #F5F6F7;
  color: #3A4559;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.header-search-panel .header-search-input {
  width: 100%;
  height: 70px;
  margin-top: 20px;
  margin-bottom: 20px;
  border: none;
  font-size: 26px;
  text-align: center;
}
@media (max-width: 667px) {
  .header-search-panel .header-search-input {
    font-size: 26px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .header-search-panel .header-search-input {
    font-size: 34px;
  }
}
@media (min-width: 1025px) {
  .header-search-panel .header-search-input {
    font-size: 46px;
  }
}
.header-search-panel .scroll-wrapper {
  overflow: auto;
  height: calc(100vh - var(--header-height) - 70px - 81px - 40px);
}
@media (min-width: 668px) and (max-width: 1024px) {
  .header-search-panel .scroll-wrapper .listing-item {
    width: auto;
  }
}
.header-search-panel .scroll-wrapper ul.mobile-hide li:last-of-type .listing-item {
  margin-bottom: 0;
}
.header-search-panel .button-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 81px;
}

.search-results-listing {
  padding: 10px 30px;
  background-color: #F5F6F7;
}
@media (max-width: 667px) {
  .search-results-listing {
    padding-left: 22px;
    padding-right: 22px;
  }
}
.search-results-listing li {
  padding: 13px 0;
}
.search-results-listing li:not(:last-of-type) {
  border-bottom: 1px solid #B0B5BD;
}

.search-result {
  display: flex;
  justify-content: space-between;
}
.search-result:hover .search-result-title {
  text-decoration: underline;
}
.search-result .search-result-text {
  width: calc(100% - 80px);
}
.search-result .search-result-text .search-result-title {
  color: #3A4559;
  font-size: 16px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 667px) {
  .search-result .search-result-text .search-result-title {
    font-size: 22px;
  }
}
.search-result .search-result-text .search-result-meta {
  color: #616A7A;
  font-size: 14px;
}
.search-result .highlighted {
  padding-left: 3px;
  padding-right: 3px;
  background-color: #00A3E0;
  color: white;
}
.search-result .search-result-type {
  margin-right: 20px;
  margin-left: 20px;
  width: 40px;
  background-repeat: no-repeat;
  background-position: right center;
}
.search-result .search-result-type.internal-link {
  background-image: url(/images/icon-internal-link.svg);
}
.search-result .search-result-type.external-link {
  background-image: url(/images/icon-external-link.svg);
}
.search-result .search-result-type.pdf-download {
  background-image: url(/images/icon-pdf.svg);
}
.search-result .search-result-type.file-download {
  background-image: url(/images/icon-file.svg);
}

/* ----- G2: Global Footer ----- */
.site-footer {
  position: relative;
  padding: 50px 0;
  background-color: white;
}
@media (min-width: 1025px) {
  .site-footer > .constrained {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 667px) {
  .site-footer {
    padding: 30px 0;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .site-footer {
    padding: 35px 0 25px;
  }
}
@media (max-width: 667px) {
  .site-footer .logo-twma {
    max-width: 190px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .site-footer .logo-twma {
    max-width: 190px;
  }
}
@media (min-width: 1025px) {
  .site-footer .logo-twma {
    max-width: 190px;
  }
}
.site-footer h2 {
  margin-bottom: 0.6em;
  font-size: 20px;
  line-height: 1;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .site-footer h2 {
    margin-bottom: 1.4em;
  }
}
.site-footer.is-dark-background {
  background-color: #3A4559;
  color: white;
}
.site-footer.is-dark-background .logo-twma .text {
  fill: white;
}
@media (min-width: 1025px) {
  .site-footer .footer-upper {
    margin-bottom: 30px;
  }
}
.site-footer .footer-upper .logo-twma {
  margin-bottom: 50px;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .site-footer .footer-upper .logo-twma {
    width: 190px;
  }
}
.site-footer .footer-upper p {
  font-size: 16px;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .site-footer .footer-upper .footer-sitemap {
    margin-top: 124px;
  }
}
.site-footer .footer-upper .footer-sitemap a:hover {
  text-decoration: underline;
}
.site-footer .footer-upper .footer-sitemap .footer-links-list {
  /*margin-bottom: 3em;*/
}
@media (min-width: 668px) and (max-width: 1024px) {
  .site-footer .footer-upper .footer-sitemap .footer-links-list {
    display: none;
  }
}
.site-footer .footer-upper .footer-sitemap .footer-links-list li {
  margin-bottom: 0.8em;
}
.site-footer .footer-upper .footer-sitemap .footer-links-list li:first-child:not(:only-child) {
  font-weight: bold;
}
.site-footer .footer-upper .footer-sitemap .footer-links-list li:last-child:not(:only-child) {
  margin-bottom: 2em;
}
.site-footer .footer-lower {
  font-size: 12px;
}
.site-footer .footer-lower .footer-copyright {
  font-weight: bold;
  line-height: 1.8;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .site-footer .footer-lower .footer-copyright {
    display: block;
    margin-bottom: 10px;
  }
}
@media (max-width: 667px) {
  .site-footer .footer-lower .footer-lower-links {
    margin-top: 10px;
  }
  .site-footer .footer-lower .footer-lower-links a {
    display: block;
    padding: 0.35em 0;
    font-size: 12px;
  }
}
@media (min-width: 668px) {
  .site-footer .footer-lower .footer-lower-links {
    display: inline-block;
  }
  .site-footer .footer-lower .footer-lower-links li {
    display: inline-block;
    margin-bottom: 10px;
  }
  .site-footer .footer-lower .footer-lower-links li:not(:last-of-type) {
    margin-right: 20px;
  }
}
@media (min-width: 1025px) {
  .site-footer .footer-lower .footer-lower-links {
    margin-left: 60px;
  }
}

.icon-social {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 0 15px 30px 0;
  background-position: 0 0;
  background-repeat: no-repeat;
}
@media (max-width: 667px) {
  .icon-social {
    width: 50px;
    height: 50px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .icon-social {
    margin-top: 15px;
  }
}
@media (min-width: 1025px) {
  .icon-social {
    margin-top: 40px;
  }
}

.sub-footer {
  background-color: #00A3E0;
  color: white;
  font-size: 24px;
}
@media (max-width: 667px) {
  .sub-footer {
    padding: 25px 0;
    font-size: 20px;
    text-align: center;
  }
}
@media (min-width: 668px) {
  .sub-footer {
    height: 100px;
    text-align: right;
  }
  .sub-footer .constrained {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: flex-end;
  }
}

/* ----- MODULE-SPECIFIC ---------------------------------------- */
/* ----- HOME -------------------------------- */
.cta p,
.module-contact-small p {
  font-size: 24px;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .cta p,
  .module-contact-small p {
    font-size: 18px;
  }
}
@media (min-width: 1025px) {
  .cta p,
  .module-contact-small p {
    font-size: 20px;
  }
}
@media (min-width: 1600px) {
  .cta p,
  .module-contact-small p {
    font-size: 24px;
  }
}

/* ----- P3: Home Hero Carousel ----- */
.module-hero-home {
  position: relative;
}
@media (min-width: 1025px) {
  .module-hero-home {
    max-height: 100vh;
    overflow: hidden;
  }
}
@media (min-width: 1025px) {
  .module-hero-home .button-scroll {
    top: auto;
    bottom: 12px;
  }
}
@media (min-width: 80rem) {
  .module-hero-home .button-scroll {
    bottom: 52px;
  }
}

.hero-carousel-items li {
  position: relative;
}
.hero-carousel-items li img, .hero-carousel-items li video {
  width: 100%;
}
@media (max-width: 667px) {
  .hero-carousel-items li img, .hero-carousel-items li video {
    height: 50vh;
    object-fit: cover;
    object-position: right;
  }
}
.hero-carousel-items li .text-wrapper {
  position: absolute;
  left: 10%;
  top: 150px;
  width: 60%;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (max-width: 667px) {
  .hero-carousel-items li .text-wrapper {
    top: 100px;
    bottom: 15px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .hero-carousel-items li .text-wrapper {
    top: 110px;
    bottom: 45px;
  }
}
@media (min-width: 1025px) {
  .hero-carousel-items li .text-wrapper {
    bottom: 45px;
  }
}
@media (min-width: 1600px) {
  .hero-carousel-items li .text-wrapper {
    top: 270px;
    bottom: 85px;
  }
}
.hero-carousel-items li .text-wrapper .hero-title {
  line-height: 0.9;
  font-family: "Reglo Bold", sans-serif;
  font-size: 6.5vw;
  font-weight: bold;
  text-transform: uppercase;
}
@media (max-width: 667px) {
  .hero-carousel-items li .text-wrapper .hero-title {
    font-size: 8vw;
  }
}
@media (min-width: 1600px) {
  .hero-carousel-items li .text-wrapper .hero-title {
    font-size: 96px;
  }
}
.hero-carousel-items li .text-wrapper .hero-subline {
  font-family: "Reglo Bold", sans-serif;
  font-size: 20px;
  font-weight: bold;
  text-transform: uppercase;
}
@media (max-width: 667px) {
  .hero-carousel-items li .text-wrapper .hero-subline {
    font-size: 16px;
  }
}

/* ----- Intro Module ----- */
.module-intro {
  text-align: center;
}
@media (max-width: 667px) {
  .module-intro {
    padding: 70px 0 45px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-intro {
    padding: 60px 0;
  }
}
@media (min-width: 1025px) {
  .module-intro {
    padding: 55px 0 50px;
  }
}
@media (min-width: 1600px) {
  .module-intro {
    padding: 90px 0 45px;
  }
}
/* ----- P4: Image CTA Link Panel ----- */
@media (min-width: 668px) {
  .module-image-cta-panel {
    display: flex;
  }
  .module-image-cta-panel .image-cta {
    width: 50%;
    height: auto;
    flex-shrink: 0;
    padding: 3%;
  }
  .module-image-cta-panel--full-width {
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media (min-width: 668px) and (min-width: 1025px) {
  .module-image-cta-panel .image-cta {
    width: 25%;
  }
}

.image-cta {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: space-between;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 667px) {
  .image-cta {
    height: 60vw;
    padding: 20px 22px;
  }
}
@media (min-width: 668px) {
  .image-cta {
    width: 50%;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .image-cta {
    height: 360px;
    padding: 35px 45px;
  }
}
@media (min-width: 1025px) {
  .image-cta {
    height: 430px;
    padding: 55px 65px;
  }
}
@media (min-width: 1600px) {
  .image-cta {
    height: 640px;
    padding: 90px 110px;
  }
}
.image-cta > * {
  position: relative;
}
.image-cta .button {
  transition: background-color 0.3s ease, color 0.3s ease;
}
.image-cta:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  opacity: 0.5;
  transition: opacity 0.3s ease;
}
.image-cta:hover:before {
  opacity: 0 !important;
}
.image-cta:hover .button {
  background-color: white;
  color: #00A3E0 !important;
}
.image-cta.overlay-blue {
  color: white;
}
.image-cta.overlay-blue:before {
  background-color: #00A3E0;
}
.image-cta.overlay-blue .button {
  border-color: white;
  color: white;
}
.image-cta.overlay-slate {
  color: white;
}
.image-cta.overlay-slate:before {
  background-color: #3A4559;
  opacity: 0.7;
}
.image-cta.overlay-slate .button {
  border-color: white;
  color: white;
}

/* ----- Refreshed version - March 2022 ----- */
@media (min-width: 668px) {
  .module-image-cta-panel--constrained > .constrained {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 668px) {
  .module-image-cta-panel--constrained > .constrained .image-cta {
    width: 50%;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-image-cta-panel--constrained > .constrained .image-cta {
    min-height: 200px;
  }
}
@media (min-width: 1025px) {
  .module-image-cta-panel--constrained > .constrained .image-cta {
    min-height: 270px;
  }
}
@media (min-width: 1600px) {
  .module-image-cta-panel--constrained > .constrained .image-cta {
    min-height: 350px;
  }
}

/* ----- P5: News Carousel ----- */
.summary-card {
  border: 2px solid #EBECEE;
  text-align: left;
}
.summary-card .image-wrapper img {
  display: block;
  width: 100%;
}
@media (max-width: 667px) {
  .summary-card .image-wrapper img {
    width: 100%;
  }
}
.summary-card .text-wrapper {
  padding: 15px 20px;
  background-color: white;
}

@media (min-width: 668px) {
  .carousel-items:not(.hero-carousel-items) {
    margin-left: -10px;
    margin-right: -10px;
  }
}
@media (min-width: 668px) {
  .carousel-items:not(.hero-carousel-items) li {
    padding: 0 10px;
  }
}
@media (min-width: 668px) {
  .carousel-items:not(.hero-carousel-items).carousel-items--wide-gutter {
    margin-left: -20px;
    margin-right: -20px;
    overflow: hidden;
  }
}
@media (min-width: 668px) {
  .carousel-items:not(.hero-carousel-items).carousel-items--wide-gutter li {
    padding: 0 20px;
  }
}
@media (max-width: 667px) {
  .carousel-items:not(.slick-initialized) li:not(:first-of-type) {
    display: none;
  }
}
@media (min-width: 668px) {
  .carousel-items:not(.slick-initialized) {
    display: flex;
    overflow: hidden;
  }
  .carousel-items:not(.slick-initialized) li {
    flex-shrink: 0;
  }
  .carousel-items:not(.slick-initialized) li .summary-card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .carousel-items:not(.slick-initialized) li .summary-card .text-wrapper {
    flex: 1;
  }
  .carousel-items:not(.slick-initialized) li .module-specialists-tile-small {
    height: 100%;
  }
}
@media (min-width: 668px) and (min-width: 668px) and (max-width: 1024px) {
  .carousel-items:not(.slick-initialized) li {
    width: 50%;
  }
}
@media (min-width: 668px) and (min-width: 1025px) {
  .carousel-items:not(.slick-initialized).show-2-items li {
    width: 50%;
  }
}
@media (min-width: 668px) and (min-width: 1025px) {
  .carousel-items:not(.slick-initialized).show-3-items li {
    width: 33.3333333333%;
  }
}
@media (min-width: 668px) and (min-width: 1025px) {
  .carousel-items:not(.slick-initialized).show-4-items li {
    width: 25%;
  }
}

.carousel-navigation {
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.carousel-navigation.hidden {
  visibility: hidden;
}
.carousel-navigation--position-absolute {
  position: absolute;
  left: 0;
  right: 0;
}

.slick-dots {
  text-align: center;
}
.slick-dots li {
  display: inline-block;
  margin: 0 7px;
}
.slick-dots li button {
  width: 12px;
  height: 12px;
  border: 2px solid #3A4559;
  border-radius: 50%;
  cursor: pointer;
  overflow: hidden;
  text-indent: -9999px;
  transition: all 150ms ease;
}
.slick-dots li.slick-active button {
  background-color: #3A4559;
}

.slick-arrow {
  position: absolute;
  top: 100%;
  width: 50px;
  height: 50px;
  cursor: pointer;
  overflow: hidden;
  text-indent: -9999px;
  background: transparent url(/images/icon-arrow-left.svg) center center no-repeat;
  z-index: 1;
}
.slick-arrow.slick-disabled {
  opacity: 0.5;
  pointer-events: none;
}
.slick-arrow.slick-prev {
  left: -10px;
}
.slick-arrow.slick-next {
  right: -10px;
  transform: scaleX(-1);
}

/* ----- P6: Full-width Panel ----- */
.background-dark {
  color: white;
}
.background-dark .button {
  color: white;
  border-color: white;
}
.background-dark .button:hover {
  background-color: white;
  color: #00A3E0;
}

.background-light {
  color: #3A4559;
}
.background-light .button {
  border-color: #3A4559;
  color: #3A4559;
}
.background-light .button:hover {
  background-color: #3A4559;
  color: white;
}

.module-full-width-panel {
  height: 640px;
  padding: 220px 20px 100px;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
}
@media (max-width: 667px) {
  .module-full-width-panel {
    height: 550px;
    padding: 150px 0 60px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-full-width-panel {
    height: 580px;
    padding: 190px 20px 80px;
  }
}
.module-full-width-panel > .constrained {
  height: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: space-between;
}

/* ----- P7: 'Text' CTA Link Panel ----- */
.module-cta-panel {
  padding: 100px 0;
}
@media (max-width: 667px) {
  .module-cta-panel {
    padding: 50px 0 20px;
  }
  .module-cta-panel .cta {
    margin-bottom: 30px;
  }
  .module-cta-panel .row .column:last-of-type .cta {
    margin-bottom: 0;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-cta-panel {
    padding: 60px 0;
  }
}
@media (min-width: 1025px) and (max-width: 1280px) {
  .module-cta-panel {
    padding: 70px 0;
  }
}

.cta {
  position: relative;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .tablet-stack-columns .column:not(:last-of-type) .cta {
    margin-bottom: 30px;
  }
}
@media (min-width: 1025px) {
  .cta.has-image {
    display: flex;
  }
  .cta.has-image .image-wrapper {
    width: 34.9397590361%;
  }
  .cta.has-image .image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
  .cta.has-image .text-wrapper {
    flex: 1;
  }
}
.cta .image-wrapper {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.cta .image-wrapper img {
  display: block;
}
.cta .text-wrapper {
  padding: 30px;
}
@media (min-width: 1600px) {
  .cta .text-wrapper {
    padding: 40px 60px;
  }
}
.equal-height-columns > .column .cta .text-wrapper {
  height: 100%;
  flex-direction: column;
  justify-content: space-between;
  align-items: end;
  display: flex;
}

/* ----- P23: Video ----- */
.module-video {
  background-color: #F5F6F7;
}

.video-overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: white url(/images/video-overlay-background.svg) bottom right no-repeat;
  background-size: 100% auto;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
@media (max-width: 667px) {
  .video-overlay {
    padding: 40px 22px;
  }
}
@media (max-width: 320px) {
  .video-overlay {
    padding: 18px 16px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .video-overlay {
    padding: 40px;
  }
}
@media (min-width: 1025px) {
  .video-overlay {
    padding: 60px 80px;
  }
}
@media (min-width: 1600px) {
  .video-overlay {
    padding: 115px 125px;
  }
}
.video-overlay h2 {
  max-width: 50%;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  line-height: 0.9;
  display: inline-block;
}
@media (max-width: 667px) {
  .video-overlay h2 {
    font-size: 6vw;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .video-overlay h2 {
    font-size: 60px;
  }
}
@media (min-width: 1025px) {
  .video-overlay h2 {
    font-size: 90px;
  }
}
@media (min-width: 1600px) {
  .video-overlay h2 {
    font-size: 120px;
  }
}
.video-overlay.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.video-overlay.is-hidden h2 {
  transform: translateX(-100px);
}

.button-video-play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 135px;
  height: 127px;
  transform: translate(-50%, -50%);
  cursor: pointer;
}
@media (max-width: 320px) {
  .button-video-play {
    transform: translate(-50%, -50%) scale(0.8);
  }
}
.button-video-play:before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: transparent url(/images/icon-video-roundel.svg) 0 0 no-repeat;
  background-size: 100% auto;
  content: "";
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.button-video-play:after {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 30px;
  height: 34px;
  margin: -17px 0 0 -11px;
  background: transparent url(/images/icon-play.svg) 0 0 no-repeat;
  content: "";
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.button-video-play:hover:before {
  transform: rotate(180deg);
}
.button-video-play:hover:after {
  transform: scale(1.2);
}
.button-video-play:active:after {
  transform: scale(1.4);
}
.button-video-play .text-label {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  font-family: "Reglo Bold", sans-serif;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  text-transform: uppercase;
  white-space: nowrap;
}

@keyframes bulge {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.4);
  }
  100% {
    transform: scale(1);
  }
}
/* ----- Module that combines Specialist Tile and Small Contact Form ----- */
@media (max-width: 667px) {
  .module-specialist-contact {
    padding: 50px 0 30px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-specialist-contact {
    padding: 60px 0;
  }
}
@media (max-width: 1024px) {
  .module-specialist-contact {
    background-color: white;
  }
}
@media (min-width: 1025px) {
  .module-specialist-contact {
    padding: 70px 0;
  }
}
@media (min-width: 1600px) {
  .module-specialist-contact {
    padding: 100px 0;
  }
}

@media (min-width: 1025px) {
  .specialist-contact-wrapper {
    display: flex;
  }
  .specialist-contact-wrapper .module-specialists-tile {
    flex: 1;
  }
  .specialist-contact-wrapper .module-contact-small {
    width: 31.7647058824%;
  }
}
@media (min-width: 1025px) and (min-width: 1025px) and (max-width: 1280px) {
  .specialist-contact-wrapper .module-contact-small {
    width: 42%;
  }
}

/* ----- P24: Specialists Tile (large) ----- */
.module-specialists-tile {
  position: relative;
  background-color: white;
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 1025px) {
  .module-specialists-tile {
    padding: 30px 65px 15px;
  }
}
@media (min-width: 1600px) {
  .module-specialists-tile {
    padding: 35px 0px 20px 60px;
  }
}
.module-specialists-tile .specialist-headline {
  margin-bottom: 0.5em;
  color: #3A4559;
  line-height: 0.9;
}
@media (max-width: 667px) {
  .module-specialists-tile .specialist-headline {
    font-size: 40px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-specialists-tile .specialist-headline {
    font-size: 42px;
  }
}
@media (min-width: 1025px) {
  .module-specialists-tile .specialist-headline {
    max-width: 67%;
    font-size: 70px;
  }
}
@media (min-width: 1600px) {
  .module-specialists-tile .specialist-headline {
    font-size: 110px;
  }
}
@media (max-width: 1024px) {
  .module-specialists-tile .specialist-content-wrapper {
    display: flex;
  }
  .module-specialists-tile .specialist-content-wrapper .specialist-portrait {
    align-self: flex-end;
  }
}
@media (max-width: 667px) {
  .module-specialists-tile .specialist-quote {
    width: 70%;
  }
}
.module-specialists-tile .specialist-quote p {
  color: #00A3E0;
  font-size: 20px;
}
@media (min-width: 1025px) {
  .module-specialists-tile .specialist-quote p {
    max-width: 64%;
  }
}
@media (min-width: 1600px) {
  .module-specialists-tile .specialist-quote p {
    max-width: 60%;
    font-size: 30px;
  }
}
.module-specialists-tile .specialist-quote p:before {
  content: "“";
}
.module-specialists-tile .specialist-quote p:after {
  content: "”";
}
.module-specialists-tile .specialist-quote cite {
  display: block;
  line-height: 1.5;
}
@media (min-width: 1025px) and (max-width: 1280px) {
  .module-specialists-tile .specialist-quote cite {
    max-width: 63%;
  }
}
@media (min-width: 1600px) {
  .module-specialists-tile .specialist-quote cite {
    font-size: 20px;
  }
}
.module-specialists-tile .specialist-name {
  font-weight: bold;
  text-transform: uppercase;
}
@media (max-width: 1024px) {
  .module-specialists-tile .specialist-portrait {
    width: 45%;
  }
}
@media (min-width: 1025px) {
  .module-specialists-tile .specialist-portrait {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
  }
}
@media (min-width: 1600px) {
  .module-specialists-tile .specialist-portrait {
    width: 42%;
  }
}

/* ----- P8: Contact (Small) ----- */
.module-contact-small {
  background-color: white;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-contact-small {
    padding-bottom: 50px;
  }
}
.module-contact-small h2 {
  color: #00A3E0;
  font-size: 30px;
}
@media (max-width: 667px) {
  .module-contact-small .contact-form-small {
    padding: 35px 0 0;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-contact-small .contact-form-small {
    padding: 20px 0 0;
  }
}
@media (min-width: 1025px) {
  .module-contact-small .contact-form-small {
    padding: 50px 60px;
  }
}
.module-contact-small .contact-form-small .text-field-wrapper {
  margin-bottom: 30px;
}
.module-contact-small .contact-form-small .text-field-wrapper label {
  display: block;
  color: #B0B5BD;
  font-size: 20px;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-contact-small .contact-form-small .text-field-wrapper label {
    height: 30px;
  }
}
.module-contact-small .contact-form-small .text-field-wrapper .text-field {
  padding: 10px 0;
  border: none;
  border-bottom: 2px solid #B0B5BD;
  font-size: 20px;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-contact-small .contact-form-small .text-field-wrapper .text-field {
    background-color: #F5F6F7;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-contact-small #contact-message {
    height: calc(100% - 30px);
  }
}

.module-irdownloads .select-wrapper {
  color: #B0B5BD;
  border-bottom: 2px solid #B0B5BD;
}
.module-irdownloads .select-wrapper select, .module-irdownloads .select-wrapper option {
  color: #B0B5BD;
}
.module-irdownloads img.image-irdownloads {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
@media (max-width: 667px) {
  .module-irdownloads img.image-irdownloads {
    position: relative;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-irdownloads img.image-irdownloads {
    position: relative;
  }
}
.module-irdownloads .headline-irdownloads {
  position: relative;
  z-index: 2;
  color: white;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-irdownloads .headline-irdownloads {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    line-height: 3rem;
    padding: 0 5%;
  }
}
@media (max-width: 667px) {
  .module-irdownloads .headline-irdownloads {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    line-height: 3rem;
    padding: 0 5%;
  }
}
@media (min-width: 1025px) {
  .module-irdownloads .module-contact-irdownloads {
    width: 50%;
  }
}
@media (min-width: 1025px) and (max-width: 1280px) {
  .module-irdownloads .module-contact-irdownloads {
    width: 50%;
  }
}
.module-irdownloads .module-contact-irdownloads .wrapper-terms .label-text p {
  display: inline;
}

/* ----- LANDING PAGES ----------------------- */
/* ----- P9: Landing Header ----- */
.jump-links-heading {
  margin-top: 30px;
  margin-bottom: 20px;
  font-size: 18px;
}
@media (min-width: 1025px) {
  .jump-links-heading {
    margin-top: 50px;
  }
}

.module-hero-landing {
  position: relative;
  background-color: white;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  /*
  	.button-scroll {
  		@include tablet-and-down {
  			bottom: 10px;
  			left: auto;
  			right: 30px;
  			transform: none;	
  		}
  	}
  */
}
@media (max-width: 667px) {
  .module-hero-landing {
    padding-top: 140px;
  }
}
@media (min-width: 668px) {
  .module-hero-landing {
    padding-top: 180px;
  }
}
@media (min-width: 1025px) {
  .module-hero-landing {
    min-height: 75vh;
  }
}
@media (min-width: 1600px) {
  .module-hero-landing {
    padding-top: 270px;
  }
}
.module-hero-landing .text-wrapper {
  position: relative;
  margin-bottom: 50px;
  padding: 30px;
  background-color: white;
  max-width: 540px;
}
@media (min-width: 1025px) {
  .module-hero-landing .text-wrapper {
    margin-bottom: 90px;
  }
}
.module-hero-landing .text-wrapper.is-dark-background {
  background-color: #3A4559;
  color: white;
}
.module-hero-landing .text-wrapper.is-dark-background .jump-link:before {
  background-image: url(/images/icon-arrow-jump-link-white.svg);
  border-color: white;
}
@media (max-width: 667px) {
  .module-hero-landing .jump-link {
    min-width: 240px;
  }
}
@media (max-width: 667px) {
  .module-hero-landing .hero-logo-wrapper {
    position: absolute;
    margin-top: 15px;
    max-width: 100px;
  }
}
@media (min-width: 668px) {
  .module-hero-landing .hero-logo-wrapper {
    position: absolute;
    left: 100%;
    top: 0;
    margin-left: 50px;
    z-index: 2;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-hero-landing .hero-logo-wrapper {
    width: 150px;
  }
}
@media (min-width: 1025px) {
  .module-hero-landing .hero-logo-wrapper {
    width: 185px;
  }
}
@media (min-width: 1600px) {
  .module-hero-landing .hero-logo-wrapper {
    width: 210px;
  }
}
.module-hero-landing .image-wrapper {
  position: relative;
  width: 50%;
  overflow: hidden;
}
@media (max-width: 1024px) {
  .module-hero-landing .image-wrapper {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 70%;
  }
}
@media (max-width: 667px) {
  .module-hero-landing .image-wrapper {
    width: 63%;
  }
}
@media (min-width: 1025px) {
  .module-hero-landing .image-wrapper {
    align-self: flex-end;
  }
}
.module-hero-landing .image-wrapper:after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(100% + 1px);
  height: calc(100% + 1px);
  background: transparent url(/images/hero-landing-mask.png) top right no-repeat;
  background-size: 100% auto;
  content: "";
}
.module-hero-landing .image-wrapper img {
  width: 100%;
}

.jump-links-listing li:not(:last-of-type) {
  margin-bottom: 15px;
}
@media (max-width: 667px) {
  .jump-links-listing li:not(:last-of-type) {
    margin-bottom: 8px;
  }
}

.jump-link {
  display: flex;
  font-size: 16px;
  align-items: center;
}
@media (min-width: 1600px) {
  .jump-link {
    font-size: 20px;
  }
}
.jump-link:before {
  display: block;
  width: 25px;
  height: 25px;
  margin-right: 10px;
  background: transparent url(/images/icon-arrow-jump-link.svg) 50% 50% no-repeat;
  border: 1.5px solid #3A4559;
  border-radius: 50%;
  content: "";
}

.background-slate .jump-link:before {
  background-image: url(/images/icon-arrow-jump-link-white.svg);
  border-color: white;
}

.jump-link-OLD {
  position: relative;
  display: block;
  padding: 10px 80px 10px 15px;
  border: 2px solid #3A4559;
  font-size: 16px;
}
.jump-link-OLD:after {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 45px;
  background: transparent url(/images/icon-arrow-down.svg) 50% 50% no-repeat;
  background-size: 22px 13px;
  border-left: 2px solid #3A4559;
  content: "";
}
.jump-link-OLD:hover {
  background-color: #00A3E0;
  border-color: #00A3E0;
  color: white;
}
.jump-link-OLD:hover:after {
  top: -3px;
  bottom: -3px;
  background-image: url(/images/icon-arrow-down-white.svg);
  border-color: white;
}
@media (max-width: 1024px) {
  .jump-link-OLD {
    border-width: 2px;
  }
  .jump-link-OLD:after {
    width: 45px;
    border-width: 2px;
  }
  .jump-link-OLD:hover:after {
    top: -2px;
    bottom: -2px;
  }
}
@media (max-width: 667px) {
  .jump-link-OLD {
    padding: 12px 80px 12px 15px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .jump-link-OLD {
    padding: 10px 80px 10px 15px;
  }
}
@media (min-width: 1600px) {
  .jump-link-OLD {
    font-size: 20px;
  }
}

/* ----- P10: Section Introduction ----- */
@media (max-width: 667px) {
  .module-section-introduction,
  .module-portal {
    margin-bottom: 50px;
  }
  .module-section-introduction .module-intro,
  .module-portal .module-intro {
    margin-left: -22px;
    margin-right: -22px;
    padding-left: 22px;
    padding-right: 22px;
  }
}
@media (min-width: 1025px) {
  .module-section-introduction,
  .module-portal {
    margin-bottom: 140px;
  }
}
.module-section-introduction .section-introduction-upper,
.module-portal .section-introduction-upper {
  position: relative;
  height: 35vw;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media (max-width: 667px) {
  .module-section-introduction .section-introduction-upper,
  .module-portal .section-introduction-upper {
    height: 100vw;
  }
}
.module-section-introduction .section-introduction-upper .row,
.module-portal .section-introduction-upper .row {
  width: 100%;
}
.module-section-introduction .section-introduction-upper .constrained,
.module-portal .section-introduction-upper .constrained {
  height: 100%;
  display: flex;
  align-items: flex-end;
}
.module-section-introduction .section-introduction-upper .text-wrapper,
.module-portal .section-introduction-upper .text-wrapper {
  padding: 70px 50px;
  background-color: rgba(255, 255, 255, 0.2);
}
@media (max-width: 667px) {
  .module-section-introduction .section-introduction-upper .text-wrapper,
  .module-portal .section-introduction-upper .text-wrapper {
    margin-left: -22px;
    padding: 30px 22px;
  }
}
.module-section-introduction .section-introduction-upper .text-wrapper .heading-large,
.module-portal .section-introduction-upper .text-wrapper .heading-large {
  margin-bottom: 0;
}
@media (max-width: 667px) {
  .module-section-introduction .section-introduction-upper .text-wrapper .heading-large,
  .module-portal .section-introduction-upper .text-wrapper .heading-large {
    font-size: 50px;
  }
}
.module-section-introduction .section-introduction-upper.text-light .text-wrapper,
.module-portal .section-introduction-upper.text-light .text-wrapper {
  color: white;
}
.module-section-introduction .section-introduction-upper.text-dark .text-wrapper,
.module-portal .section-introduction-upper.text-dark .text-wrapper {
  color: #3A4559;
}
@media (max-width: 1024px) {
  .module-section-introduction .section-introduction-lower,
  .module-portal .section-introduction-lower {
    background-color: white;
  }
}
.module-section-introduction .section-introduction-lower .section-introduction-lower-inner,
.module-portal .section-introduction-lower .section-introduction-lower-inner {
  padding: 70px 50px;
  background-color: white;
}
@media (max-width: 667px) {
  .module-section-introduction .section-introduction-lower .section-introduction-lower-inner,
  .module-portal .section-introduction-lower .section-introduction-lower-inner {
    padding: 30px 0;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-section-introduction .section-introduction-lower .section-introduction-lower-inner,
  .module-portal .section-introduction-lower .section-introduction-lower-inner {
    padding: 45px 0;
  }
}
@media (min-width: 668px) {
  .module-section-introduction .section-introduction-lower .section-introduction-lower-inner .column:first-of-type,
  .module-portal .section-introduction-lower .section-introduction-lower-inner .column:first-of-type {
    border-right: 1px solid #00A3E0;
  }
}
@media (max-width: 667px) {
  .module-section-introduction .section-introduction-lower .section-overview,
  .module-portal .section-introduction-lower .section-overview {
    margin-bottom: 30px;
  }
}
.module-section-introduction .about-listing li,
.module-portal .about-listing li {
  width: 100%;
  padding: 0px !important;
}

.module-section-introduction .section-introduction-lower .section-overview p {
  font-size: 26px;
}
@media (min-width: 1600px) {
  .module-section-introduction .section-introduction-lower .section-overview p {
    font-size: 36px;
  }
}

.module-portal .container-search {
  position: absolute;
  right: 0px;
  top: 0px;
}
.module-portal .container-search .search {
  display: inline-block;
  border-bottom: solid 1px #707070;
  margin-right: 30px;
  font-size: 14px;
  width: 125px;
  font-weight: bold;
}
.module-portal .container-search .icon-search, .module-portal .container-search svg {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 20px;
  height: 20px;
  cursor: pointer;
  background: url(/Images/search_icon.svg) no-repeat;
}
.module-portal .container-search .browse {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
}
.module-portal .container-search .divider {
  display: inline-block;
  margin: 0px 5px;
}
.module-portal .container-search .container-search-inner:hover .search {
  color: #00A3E0;
  border-color: #00A3E0;
}
.module-portal .container-search .container-search-inner:hover .search::placeholder {
  color: #00A3E0;
}
.module-portal .container-search .container-search-inner:hover .icon-search, .module-portal .container-search .container-search-inner:hover svg {
  background: url(/Images/search_icon_blue.svg) no-repeat;
}
.module-portal .rightside {
  margin-left: 25px;
}
.module-portal .breadcrumb {
  max-width: none;
  margin: 0px 0px 15px -25px;
}
.module-portal .breadcrumb a {
  font-size: 30px;
}
.module-portal .breadcrumb .divider {
  /*color:$slate;*/
  font-size: 30px;
}
.module-portal .breadcrumb .back {
  color: #3A4559;
  background-image: url("/Images/backArrow_icon.svg");
  display: inline-block;
  width: 20px;
  height: 20px;
}
.module-portal .filelistcontainer {
  margin-top: 75px;
  position: relative;
}
.module-portal .filelistcontainer .foldercrumb {
  font-size: 16px;
  color: #00A3E0;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 15px;
  vertical-align: baseline;
  /*position:absolute;
  left:0px;*/
}
.module-portal .filelistcontainer .foldercrumb .back {
  color: #3A4559;
  background-image: url("/Images/backArrow_icon.svg");
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-left: -18px;
}
.module-portal .section-introduction-upper {
  height: 300px;
}
@media (max-width: 667px) {
  .module-portal .section-introduction-upper {
    height: 220px;
  }
}
@media (min-width: 1600px) {
  .module-portal .section-introduction-upper .logoarea {
    padding: 40px 30px;
  }
}
.module-portal .listing-item {
  margin: 5px 0px;
  position: relative;
  cursor: pointer;
}
.module-portal .listing-item:hover .name {
  color: #00A3E0;
}
.module-portal .listing-item:hover .button {
  background-color: #00A3E0;
  color: white;
}
.module-portal .listing-item .highlighted {
  margin: 0px;
  padding: 0px;
}
.module-portal li.sort {
  margin: 25px 0px;
  text-align: right;
  white-space: nowrap;
}
.module-portal li.sort select {
  width: 100px;
  display: inline;
}
.module-portal li.nofiles {
  margin-top: 30px;
}
.module-portal .updated {
  position: absolute;
  top: 0px;
  right: 0px;
  padding: 15px 20px;
  font-size: 14px;
}
.module-portal .tags {
  font-size: 14px;
  display: none;
}
.module-portal .tags .tag {
  font-weight: bold;
  display: inline-block;
}
.module-portal .portal-intro-header .name {
  color: #3A4559;
  margin: 0px;
}
.module-portal .portal-intro-header .links a {
  color: #3A4559;
  font-size: 18px;
  font-weight: bold;
  text-transform: none;
  display: inline-block;
  margin: 15px 15px;
  text-transform: uppercase;
}
.module-portal .portal-intro-header .links a:first-of-type {
  margin-left: 0px;
}
.module-portal .portal-intro-header .links .logout {
  margin-left: 10px;
}
.module-portal .about-listing--portal, .module-portal .about-listing--staff {
  margin-top: 50px;
}
.module-portal .about-listing--portal li, .module-portal .about-listing--staff li {
  display: block;
  width: 100%;
  margin-bottom: 20px;
}
.module-portal .about-listing--portal .accordion img, .module-portal .about-listing--staff .accordion img {
  align-self: auto;
  object-fit: cover;
}
.module-portal .about-listing--portal .accordion .text-wrapper, .module-portal .about-listing--staff .accordion .text-wrapper {
  padding-right: 18px;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-portal .about-listing--portal .accordion .text-wrapper .as-h2, .module-portal .about-listing--staff .accordion .text-wrapper .as-h2 {
    font-size: 24px;
  }
}
.module-portal .about-listing--portal .accordion .text-wrapper .details, .module-portal .about-listing--staff .accordion .text-wrapper .details {
  margin-top: 10px;
  word-break: break-all;
}
.module-portal .about-listing--portal .accordion .text-wrapper .details li:not(:last-of-type), .module-portal .about-listing--staff .accordion .text-wrapper .details li:not(:last-of-type) {
  margin-bottom: 5px;
}
.module-portal .heading-yourprojects {
  margin-bottom: 25px;
}
.module-portal .heading-client {
  margin-top: 35px;
}
.module-portal .heading-client h2 {
  font-size: 18px;
  margin-bottom: 15px;
  text-transform: uppercase;
}
.module-portal .heading-client .clientlogo {
  width: 100px;
  margin-bottom: 15px;
}
.module-portal .heading-project {
  margin-bottom: 10px;
  display: block;
  padding: 25px;
}
.module-portal .heading-project h3 {
  padding: 0px;
  margin: 0px;
  font-size: 20px;
  /*color: $cerulean;*/
  text-transform: uppercase;
}
.module-portal .heading-project .open {
  position: absolute;
  right: 25px;
  top: 15px;
  font-weight: normal;
}
.module-portal .item-file .listing-item {
  display: block;
}
.module-portal .item-folder {
  font-weight: bold;
  position: relative;
}
.module-portal .item-folder .listing-item {
  display: block;
  height: 100px;
  vertical-align: middle;
  padding: 25px 25px 25px 25px;
}
.module-portal .item-folder .listing-item .info {
  padding-top: 10px;
}
.module-portal .item-folder .listing-item .info .icon-folder {
  width: 25px;
  height: 25px;
  display: inline-block;
  padding-right: 5px;
  vertical-align: bottom;
}
.module-portal .item-folder .listing-item .info .folderitemcount {
  font-weight: normal;
  font-size: 14px;
  padding-left: 10px;
}
.module-portal .item-folder .listing-item .open {
  position: absolute;
  right: 25px;
  top: 25px;
  font-weight: normal;
}
.module-portal .listing-item:hover {
  border-color: #00A3E0;
}
.module-portal a:hover {
  color: #00A3E0 !important;
}
.module-portal a:hover h2, .module-portal a:hover h3 {
  color: #00A3E0 !important;
}

.section-signpost {
  position: relative;
  margin-bottom: 30px;
}
@media (max-width: 667px) {
  .section-signpost {
    margin-bottom: 40px;
  }
}
@media (min-width: 1025px) {
  .section-signpost {
    padding-right: 120px;
  }
}
@media (min-width: 1025px) {
  .section-signpost .text-wrapper {
    max-width: 540px;
  }
}
.section-signpost h3 {
  color: #00A3E0;
  font-size: 30px;
  text-transform: uppercase;
}
@media (max-width: 667px) {
  .section-signpost h3 {
    margin-bottom: 0.5em;
  }
}
@media (min-width: 1025px) {
  .section-signpost .link-wrapper {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}

/* ----- DETAIL PAGES ------------------------ */
/* ----- P12: Detail Hero ----- */
.module-hero-detail {
  position: relative;
  margin-bottom: 100px;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}
@media (max-width: 667px) {
  .module-hero-detail {
    margin-bottom: 57px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-hero-detail {
    margin-bottom: 70px;
  }
}
@media (min-width: 1025px) and (max-width: 1280px) {
  .module-hero-detail {
    margin-bottom: 70px;
  }
}
.module-hero-detail:not(.module-hero-detail--sticky) > .constrained {
  display: flex;
  min-height: 75vh;
  align-items: flex-end;
}
.module-hero-detail--sticky {
  min-height: 75vh;
}
@media (min-width: 1025px) {
  .module-hero-detail--sticky {
    position: sticky;
    top: 0;
    margin-bottom: 0;
  }
}

.fixed-background-wrapper {
  min-height: 100vh;
  background-attachment: fixed;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.hero-text-panel {
  position: relative;
  margin-top: 220px;
  background-color: white;
  background-position: 100% calc(100% + 1px);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
@media (max-width: 667px) {
  .hero-text-panel {
    margin-bottom: 90px;
    padding: 25px 22px 50px;
    min-width: 276px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .hero-text-panel {
    margin: 180px auto 100px;
    padding: 25px 50px 55px;
    width: 65%;
    min-width: 496px;
  }
  .hero-text-panel .jump-links-listing {
    margin-right: 25%;
  }
}
@media (min-width: 1025px) {
  .hero-text-panel {
    max-width: 630px;
    padding: 40px 50px;
  }
}
@media (min-width: 1025px) and (max-width: 1599px) {
  .hero-text-panel {
    margin-top: 160px;
  }
}
.hero-text-panel--detail-page {
  background-color: rgba(255, 255, 255, 0.8);
  /*
  		@include desktop {
  			background-size: 90% auto;
  		}

  		@include tablet {
  			background-size: 75% auto;
  		}
  */
}
@media (min-width: 668px) {
  .hero-text-panel--detail-page {
    background: rgba(255, 255, 255, 0.8);
  }
}
@media (max-width: 667px) {
  .mobile-no-side-padding .hero-text-panel--sticky-page {
    margin-left: 22px;
    margin-right: 22px;
  }
}

@media (min-width: 668px) {
  .hero-text-panel--sticky-page {
    background-color: white;
  }
  .hero-text-panel--sticky-page .jump-links-listing a:not(:hover) {
    background-color: white;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .hero-text-panel--sticky-page {
    background-size: 75% auto;
  }
}
@media (min-width: 1025px) {
  .hero-text-panel--sticky-page {
    width: calc(50% - 100px);
    max-width: 540px;
    max-height: calc(100vh - 100px);
    margin-left: 100px;
    overflow: auto;
    background-size: 90% auto;
  }
}
@media (min-width: 1600px) {
  .hero-text-panel--sticky-page {
    width: 540px;
    margin-left: 145px;
  }
}
.hero-text-panel--listing-page {
  background-image: none;
}
@media (min-width: 668px) {
  .hero-text-panel--listing-page {
    padding: 40px;
  }
}
@media (max-width: 667px) {
  .hero-text-panel--listing-page {
    background-color: rgba(255, 255, 255, 0.8);
  }
}
.hero-text-panel--listing-page > *:last-child {
  margin-bottom: 0;
}
.hero-text-panel--listing-detail-page {
  background-image: none;
}
@media (max-width: 1024px) {
  .hero-text-panel--listing-detail-page {
    margin-left: 0;
    margin-right: 0;
    padding: 0 !important;
    background-color: transparent;
  }
  .hero-text-panel--listing-detail-page .heading-small,
  .hero-text-panel--listing-detail-page .heading-large {
    margin-left: 20px;
    margin-right: 20px;
  }
  .hero-text-panel--listing-detail-page .key-value-table {
    width: 100%;
    background-color: white;
    border: 20px solid white;
  }
}
@media (min-width: 1025px) {
  .hero-text-panel--listing-detail-page {
    padding: 40px;
    background-color: white;
  }
}
.hero-text-panel--listing-detail-page .button-wrapper {
  background-color: white;
}
@media (max-width: 1024px) {
  .hero-text-panel--listing-detail-page .button-wrapper {
    padding: 20px;
  }
}
@media (max-width: 667px) {
  .hero-text-panel--with-unfurler {
    padding-bottom: 0;
  }
}

.header-subheading {
  line-height: 1.3;
}
@media (max-width: 667px) {
  .header-subheading {
    font-size: 20px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .header-subheading {
    font-size: 16px;
  }
}
@media (min-width: 1025px) {
  .header-subheading {
    font-size: 22px;
  }
}
@media (min-width: 1600px) {
  .header-subheading {
    font-size: 36px;
  }
}

/* ----- P13: Image & Text ------ */
.module-image-text {
  background-color: white;
}
@media (max-width: 667px) {
  .module-image-text {
    margin-left: -22px;
    margin-right: -22px;
    padding: 35px 22px;
  }
  .module-image-text .image-wrapper {
    padding-bottom: 30px;
  }
  .module-image-text .column {
    overflow: hidden;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-image-text .text-wrapper {
    padding: 30px 40px 40px;
  }
}
@media (min-width: 1025px) {
  .module-image-text .text-wrapper {
    padding: 40px 0 40px 40px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-image-text .image-wrapper-padding {
    padding: 30px 40px 40px;
  }
}
@media (min-width: 668px) {
  .module-image-text .image-wrapper-padding {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 1025px) {
  .module-image-text .image-wrapper-padding {
    padding: 45px 40px 45px 0;
  }
}
.module-image-text .image-wrapper-padding > p {
  width: 100%;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-image-text .links-wrapper {
    padding: 30px 40px 40px;
  }
}
@media (min-width: 668px) {
  .module-image-text .links-wrapper .row.equal-height-columns .column > div {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  .module-image-text .links-wrapper .row.equal-height-columns .column > div .module-small-link {
    flex: 1;
  }
  .module-image-text .links-wrapper .row.equal-height-columns .column > div .module-small-link.type-download {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .module-image-text .links-wrapper .row.equal-height-columns .column > div .module-small-link + .module-small-link {
    margin-top: 15px;
  }
}
@media (max-width: 667px) {
  .module-image-text .links-wrapper .row .column:first-of-type .module-small-link {
    margin-bottom: 30px;
  }
}

.lightbox-trigger {
  position: relative;
  display: block;
}

.enlarge-icon {
  position: absolute;
  bottom: 15px;
  right: 18px;
  color: #3A4559;
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
}
.enlarge-icon .text-label {
  opacity: 0;
  transform: scale(0.3);
  transition: all 0.3s ease;
}
.enlarge-icon:before, .enlarge-icon:after {
  position: absolute;
  width: 15px;
  height: 15px;
  background: transparent url(/images/icon-enlarge.svg);
  content: "";
}
.enlarge-icon:before {
  position: absolute;
  right: calc(100% - 3px);
  bottom: calc(100% - 7px);
  transform: rotate(180deg) translate(-73px, -15px);
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.enlarge-icon:after {
  position: absolute;
  left: calc(100% - 3px);
  top: calc(100% - 7px);
}

.lightbox-trigger:hover .enlarge-icon:before {
  transform: rotate(180deg);
}
.lightbox-trigger:hover .enlarge-icon .text-label {
  opacity: 1;
  transform: scale(1);
}

/* ----- P14: Icon & Text ----- */
.icon-and-text {
  display: flex;
  align-items: flex-start;
  margin: 15px 0;
}
@media (min-width: 668px) {
  .icon-and-text {
    width: 50%;
  }
}
.icon-and-text .icon-wrapper {
  width: 100px;
  margin-right: 25px;
  flex-shrink: 0;
}
@media (min-width: 1025px) and (max-width: 1599px) {
  .icon-and-text .icon-wrapper {
    margin-right: 17px;
  }
}
.icon-and-text .text-wrapper {
  padding: 0;
  color: #616A7A;
  line-height: 1.3;
}
@media (min-width: 668px) {
  .icon-and-text .text-wrapper {
    margin-right: 20px;
  }
}
.icon-and-text .text-wrapper p {
  line-height: inherit;
}

/* ----- P15: Small Link ----- */
.module-small-link {
  position: relative;
  display: block;
  padding: 10px 45px 10px 12px;
  border: 2px solid #3A4559;
  font-size: 14px;
  line-height: 1.3;
}
.module-small-link:hover {
  border-color: #00A3E0;
  color: #00A3E0;
}
.module-small-link:after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  content: "";
}
.module-small-link.internal-link:after {
  background-image: url(/images/icon-internal-link.svg);
}
.module-small-link.external-link:after {
  background-image: url(/images/icon-external-link.svg);
}
.module-small-link.pdf-download:after {
  background-image: url(/images/icon-pdf.svg);
}
.module-small-link.file-download:after {
  background-image: url(/images/icon-file.svg);
}
.module-small-link .heading-small {
  margin-bottom: 1em;
}
.module-small-link p {
  font-size: inherit;
}

/* ----- P16: Results Carousel ----- */
.module-results-carousel--small {
  padding: 40px 40px 20px;
}
@media (max-width: 667px) {
  .module-results-carousel--small {
    padding: 35px 22px;
  }
}

.summary-card--large {
  position: relative;
  border: 3px solid #EBECEE;
  border-radius: 2px;
}
.summary-card--large .text-wrapper {
  padding: 25px;
  border: none;
  display: flex;
  justify-content: space-between;
}
@media (min-width: 1025px) {
  .summary-card--large .text-wrapper {
    padding: 30px 40px;
  }
}
@media (min-width: 1600px) {
  .summary-card--large .text-wrapper {
    padding: 40px;
  }
}
.summary-card--large .text-wrapper p:last-of-type {
  margin-bottom: 0;
}
.summary-card--large .button {
  align-self: flex-end;
  margin-left: 10px;
}

/* ----- P25: Specialists Tile (small) ----- */
.module-specialists-tile-small {
  position: relative;
  padding: 30px;
  background-color: white;
  border-radius: 2px;
}
@media (min-width: 1600px) {
  .module-specialists-tile-small {
    padding: 35px 40px 40px 40px;
  }
}
.module-specialists-tile-small .specialist-headline {
  margin-bottom: 0.5em;
  color: #3A4559;
  line-height: 0.9;
}
@media (max-width: 667px) {
  .module-specialists-tile-small .specialist-headline {
    font-size: 40px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-specialists-tile-small .specialist-headline {
    font-size: 46px;
  }
}
@media (min-width: 1025px) {
  .module-specialists-tile-small .specialist-headline {
    font-size: 46px;
  }
}
@media (min-width: 1600px) {
  .module-specialists-tile-small .specialist-headline {
    font-size: 70px;
  }
}
.module-specialists-tile-small .specialist-quote {
  margin-bottom: 80px;
}
@media (min-width: 668px) {
  .module-specialists-tile-small .specialist-quote {
    width: 72%;
  }
}
.module-specialists-tile-small .specialist-quote p {
  color: #00A3E0;
  line-height: 1.2;
  text-shadow: 0px 0px 6px white;
}
@media (max-width: 667px) {
  .module-specialists-tile-small .specialist-quote p {
    font-size: 22px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-specialists-tile-small .specialist-quote p {
    font-size: 18px;
  }
}
@media (min-width: 1025px) {
  .module-specialists-tile-small .specialist-quote p {
    font-size: 20px;
  }
}
@media (min-width: 1600px) {
  .module-specialists-tile-small .specialist-quote p {
    font-size: 28px;
  }
}
.module-specialists-tile-small .specialist-quote p:before {
  content: "“";
}
.module-specialists-tile-small .specialist-quote p:after {
  content: "”";
}
.module-specialists-tile-small .specialist-quote cite {
  display: block;
  line-height: 1.5;
  max-width: 230px;
}
@media (max-width: 667px) {
  .module-specialists-tile-small .specialist-quote cite .specialist-name {
    font-size: 20px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-specialists-tile-small .specialist-quote cite .specialist-name {
    font-size: 20px;
  }
}
@media (min-width: 1025px) {
  .module-specialists-tile-small .specialist-quote cite .specialist-name {
    font-size: 16px;
  }
}
@media (min-width: 1600px) {
  .module-specialists-tile-small .specialist-quote cite .specialist-name {
    font-size: 20px;
  }
}
.module-specialists-tile-small .specialist-quote cite .specialist-position {
  line-height: 1.2;
}
@media (max-width: 667px) {
  .module-specialists-tile-small .specialist-quote cite .specialist-position {
    font-size: 16px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-specialists-tile-small .specialist-quote cite .specialist-position {
    font-size: 16px;
  }
}
@media (min-width: 1025px) {
  .module-specialists-tile-small .specialist-quote cite .specialist-position {
    font-size: 12px;
  }
}
@media (min-width: 1600px) {
  .module-specialists-tile-small .specialist-quote cite .specialist-position {
    font-size: 16px;
  }
}
.module-specialists-tile-small .specialist-name {
  font-weight: bold;
  text-transform: uppercase;
}
.module-specialists-tile-small .specialist-portrait {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 52%;
}
.module-specialists-tile-small .specialist-quote,
.module-specialists-tile-small .button {
  position: relative;
  z-index: 1;
}
.module-specialists-tile-small .button {
  position: absolute;
  left: 40px;
  bottom: 40px;
  background-color: white;
}
.module-specialists-tile-small .button:hover {
  background-color: #00A3E0;
  color: white;
}

/* ----- P17: Contact Large ----- */
/*
Used on:
	* detail-dwm.html
	* landing-specialists.html
	* contact.html
*/
.module-contact-large {
  padding: 40px 40px 50px;
}
@media (max-width: 667px) {
  .module-contact-large {
    padding: 40px 22px 30px;
  }
}
.module-contact-large.background-white .text-field {
  background-color: #F5F6F7;
  border-bottom: 2px solid #B0B5BD;
}

.contact-form-large .text-field-wrapper:not(:last-of-type) {
  margin-bottom: 20px;
}
.contact-form-large label:not(.file-input-wrapper):not(.styled-checkbox) {
  display: block;
  margin-bottom: 5px;
  font-size: 16px;
}
@media (min-width: 1025px) {
  .contact-form-large label:not(.file-input-wrapper):not(.styled-checkbox) {
    height: 20px;
  }
}
.contact-form-large .text-field {
  padding: 18px 10px;
  font-size: 16px;
}
.contact-form-large input.text-field,
.contact-form-large select {
  height: 60px;
}
@media (max-width: 667px) {
  .contact-form-large input.text-field,
  .contact-form-large select {
    margin-bottom: 20px;
  }
}
@media (min-width: 668px) {
  .contact-form-large input.text-field:not(:last-of-type),
  .contact-form-large select:not(:last-of-type) {
    margin-bottom: 20px;
  }
}
.contact-form-large textarea {
  min-height: 100%;
}
@media (min-width: 1025px) {
  .contact-form-large textarea {
    min-height: calc(100% - 25px);
  }
}
.contact-form-large .form-lower {
  padding-top: 45px;
}
.contact-form-large .form-lower .column {
  margin-bottom: 20px;
}

.submit-button-wrapper {
  text-align: right;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .submit-button-wrapper:not(.no-top-margin) {
    margin-top: 40px;
  }
}
@media (max-width: 667px) {
  .submit-button-wrapper:not(.no-top-margin) {
    margin-top: 25px;
  }
}
@media (min-width: 1025px) {
  .submit-button-wrapper:not(.no-top-margin) {
    margin-top: 50px;
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .constrained--margin-on-left .module-contact-large .contact-form-large .row {
    display: block;
  }
  .constrained--margin-on-left .module-contact-large .contact-form-large .row .column {
    width: 100%;
  }
}
/* ----- P26: Dual Form Container ----- */
@media (max-width: 667px) {
  .module-multiple-forms-container .module-contact-large {
    padding: 30px 22px;
  }
}
@media (min-width: 668px) {
  .module-multiple-forms-container .module-contact-large .column.one-half:first-of-type {
    padding-right: 10px;
  }
  .module-multiple-forms-container .module-contact-large .column.one-half:last-of-type {
    padding-left: 10px;
  }
}
@media (max-width: 667px) {
  .module-multiple-forms-container .tablet-stack-columns > .column:not(:last-of-type) {
    margin-bottom: 40px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-multiple-forms-container .tablet-stack-columns > .column:not(:last-of-type) {
    margin-bottom: 50px;
  }
}

/* ----- ABOUT PAGE -------------------------- */
.pad-on-all-sides {
  padding: 40px;
  background-color: white;
}
@media (max-width: 667px) {
  .pad-on-all-sides {
    padding-left: 22px;
    padding-right: 22px;
  }
  .pad-on-all-sides .constrained {
    padding-left: 0;
    padding-right: 0;
  }
}

.flex-header {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 667px) {
  .flex-header {
    margin-bottom: 50px;
  }
}

/* ----- P21: Accordion ----- */
@media (max-width: 667px) {
  .about-listing--staff {
    margin-bottom: 50px;
  }
}
@media (min-width: 1600px) {
  .about-listing--staff {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (max-width: 667px) {
  .about-listing--staff li {
    margin-bottom: 10px;
  }
}
@media (min-width: 668px) {
  .about-listing--staff li {
    margin-bottom: 20px;
  }
}
@media (min-width: 1600px) {
  .about-listing--staff li {
    width: 50%;
    padding: 0 0 40px 0;
  }
  .about-listing--staff li:nth-of-type(odd) {
    padding-right: 20px;
  }
  .about-listing--staff li:nth-of-type(even) {
    padding-left: 20px;
  }
}
.about-listing--staff li:nth-of-type(1) {
  z-index: 39;
}
.about-listing--staff li:nth-of-type(2) {
  z-index: 38;
}
.about-listing--staff li:nth-of-type(3) {
  z-index: 37;
}
.about-listing--staff li:nth-of-type(4) {
  z-index: 36;
}
.about-listing--staff li:nth-of-type(5) {
  z-index: 35;
}
.about-listing--staff li:nth-of-type(6) {
  z-index: 34;
}
.about-listing--staff li:nth-of-type(7) {
  z-index: 33;
}
.about-listing--staff li:nth-of-type(8) {
  z-index: 32;
}
.about-listing--staff li:nth-of-type(9) {
  z-index: 31;
}
.about-listing--staff li:nth-of-type(10) {
  z-index: 30;
}
.about-listing--staff li:nth-of-type(11) {
  z-index: 29;
}
.about-listing--staff li:nth-of-type(12) {
  z-index: 28;
}
.about-listing--staff li:nth-of-type(13) {
  z-index: 27;
}
.about-listing--staff li:nth-of-type(14) {
  z-index: 26;
}
.about-listing--staff li:nth-of-type(15) {
  z-index: 25;
}
.about-listing--staff li:nth-of-type(16) {
  z-index: 24;
}
.about-listing--staff li:nth-of-type(17) {
  z-index: 23;
}
.about-listing--staff li:nth-of-type(18) {
  z-index: 22;
}
.about-listing--staff li:nth-of-type(19) {
  z-index: 21;
}
.about-listing--staff li:nth-of-type(20) {
  z-index: 20;
}
.about-listing--staff li:nth-of-type(21) {
  z-index: 19;
}
.about-listing--staff li:nth-of-type(22) {
  z-index: 18;
}
.about-listing--staff li:nth-of-type(23) {
  z-index: 17;
}
.about-listing--staff li:nth-of-type(24) {
  z-index: 16;
}
.about-listing--staff li:nth-of-type(25) {
  z-index: 15;
}
.about-listing--staff li:nth-of-type(26) {
  z-index: 14;
}
.about-listing--staff li:nth-of-type(27) {
  z-index: 13;
}
.about-listing--staff li:nth-of-type(28) {
  z-index: 12;
}
.about-listing--staff li:nth-of-type(29) {
  z-index: 11;
}
.about-listing--staff li:nth-of-type(30) {
  z-index: 10;
}
.about-listing--staff li:nth-of-type(31) {
  z-index: 9;
}
.about-listing--staff li:nth-of-type(32) {
  z-index: 8;
}
.about-listing--staff li:nth-of-type(33) {
  z-index: 7;
}
.about-listing--staff li:nth-of-type(34) {
  z-index: 6;
}
.about-listing--staff li:nth-of-type(35) {
  z-index: 5;
}
.about-listing--staff li:nth-of-type(36) {
  z-index: 4;
}
.about-listing--staff li:nth-of-type(37) {
  z-index: 3;
}
.about-listing--staff li:nth-of-type(38) {
  z-index: 2;
}
.about-listing--staff li:nth-of-type(39) {
  z-index: 1;
}
.about-listing--staff li:nth-of-type(40) {
  z-index: 0;
}

@media (max-width: 667px) {
  .location-group .locations {
    max-height: 100vh;
    overflow: hidden;
    transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s ease, max-height 0.5s ease;
  }
  .location-group .locations:not(.is-active) {
    max-height: 0;
    opacity: 0;
    visibility: hidden;
  }
}
.location-group h3 {
  margin-bottom: 0.5em;
}
@media (max-width: 667px) {
  .location-group h3 {
    margin-bottom: 0;
    padding: 10px 0;
    cursor: pointer;
  }
}
.location-group .location {
  color: #616A7A;
}
.location-group .location h4 {
  margin-bottom: 0.75em;
  color: #3A4559;
  font-size: 24px;
}
.location-group .location p:last-of-type {
  margin-bottom: 0;
}

.location-group-listing {
  margin-left: -20px;
  margin-right: -20px;
}
@media (max-width: 667px) {
  .location-group-listing {
    margin-top: 10px;
  }
}
@media (min-width: 668px) {
  .location-group-listing {
    display: flex;
    flex-wrap: wrap;
  }
}
.location-group-listing .location-group {
  margin-bottom: 50px;
}
@media (max-width: 667px) {
  .location-group-listing .location-group {
    margin-bottom: 10px;
  }
}
.location-group-listing .location-group .heading-small {
  padding-left: 20px;
  padding-right: 20px;
}
.location-group-listing .location-group .location {
  padding-left: 20px;
  padding-right: 20px;
}
@media (min-width: 668px) {
  .location-group-listing .location-group.has-one-location {
    width: 50%;
  }
}
.location-group-listing .location-group.has-one-location .location {
  width: auto;
}
.location-group-listing .location-group:not(.has-one-location) {
  width: 100%;
}
@media (min-width: 668px) {
  .location-group-listing .location-group:not(.has-one-location) .locations {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (max-width: 667px) {
  .location-group-listing .location-group:not(.has-one-location) .locations .location {
    margin-bottom: 50px;
  }
}
@media (min-width: 668px) {
  .location-group-listing .location-group:not(.has-one-location) .locations .location {
    width: 50%;
  }
}

.accordion {
  position: relative;
  display: flex;
}
@media (max-width: 667px) {
  .accordion {
    position: relative;
  }
}
.accordion img {
  flex-shrink: 0;
  align-self: flex-start;
}
.accordion .accordion-trigger {
  cursor: pointer;
}
.accordion img {
  width: 120px;
}
.accordion .text-wrapper {
  padding: 12px 40px 18px 18px;
  background-color: #F5F6F7;
  flex-grow: 1;
  font-size: 14px;
}
@media (max-width: 667px) {
  .accordion .text-wrapper {
    position: static;
  }
}
@media (min-width: 668px) {
  .accordion .text-wrapper {
    position: relative;
  }
}
.accordion .text-wrapper h3 {
  margin-bottom: 12px;
  line-height: 1;
  transition: color 0.3s ease;
}
@media (max-width: 667px) {
  .accordion .text-wrapper h3 {
    font-size: 24px;
  }
}
.accordion .text-wrapper .icon-arrow {
  position: absolute;
  right: 18px;
  top: 18px;
  width: 18px;
  transition: transform 0.3s ease;
}
.accordion .text-wrapper .icon-arrow .arrow-fill {
  transition: fill 0.3s ease;
}
.accordion .text-wrapper .accordion-body {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding: 0 18px;
  background-color: #F5F6F7;
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s ease;
  z-index: 1;
}
@media (max-width: 667px) {
  .accordion .text-wrapper .accordion-body {
    padding: 30px 22px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .accordion .text-wrapper .accordion-body {
    border-bottom: none;
  }
}
.accordion .text-wrapper .accordion-body p {
  font-size: 14px;
}
@media (max-width: 667px) {
  .accordion .text-wrapper .accordion-body p {
    font-size: 16px;
  }
}
.accordion:not(.is-active) .accordion-body {
  opacity: 0;
  transform: translateY(-20px);
  visibility: hidden;
}
.accordion.is-active {
  z-index: 2;
}
.accordion.is-active h3 {
  color: #00A3E0;
}
.accordion.is-active .icon-arrow {
  transform: rotate(180deg);
}
.accordion.is-active .icon-arrow .arrow-fill {
  fill: #00A3E0;
}

/* ----- P22: Image & Text (small) ----- */
.module-image-text-small {
  background-color: #F5F6F7;
}
@media (min-width: 668px) and (max-width: 1024px), (min-width: 1281px) {
  .module-image-text-small {
    display: flex;
  }
}
.module-image-text-small:not(:last-of-type) {
  margin-bottom: 40px;
}
.module-image-text-small .image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 667px), (min-width: 1025px) and (max-width: 1280px) {
  .module-image-text-small .image-wrapper {
    height: 25vw;
    width: auto;
    overflow: hidden;
    position: relative;
  }
}
@media (max-width: 667px) and (max-width: 667px), (min-width: 1025px) and (max-width: 1280px) and (max-width: 667px) {
  .module-image-text-small .image-wrapper {
    height: 56.25vw;
  }
}
@media (max-width: 667px), (min-width: 1025px) and (max-width: 1280px) {
  .module-image-text-small .image-wrapper img {
    /*
    	position: absolute;
    	width: 100%;
    	top: 50%;
    	left: 0;
    	transform: translateY(-50%);
    */
  }
}
@media (min-width: 668px) and (max-width: 1024px), (min-width: 1281px) {
  .module-image-text-small .image-wrapper {
    position: relative;
    overflow: hidden;
    width: 33.3333333333%;
  }
}
@media (min-width: 668px) and (max-width: 1024px) and (min-width: 668px) and (max-width: 1024px), (min-width: 1281px) and (min-width: 668px) and (max-width: 1024px) {
  .module-image-text-small .image-wrapper {
    width: 40%;
  }
}
@media (min-width: 668px) and (max-width: 1024px), (min-width: 1281px) {
  .module-image-text-small .image-wrapper img {
    /*
    	position: relative;
    	left: 50%;
    	height: 100%;
    	max-width: none;
    	transform: translateX(-50%);
    */
  }
}
.module-image-text-small .text-wrapper {
  padding: 35px 40px;
  flex: 1;
}
@media (max-width: 667px) {
  .module-image-text-small .text-wrapper {
    padding: 15px 22px;
  }
}

/* ----- STICKY LEFT-HAND PANEL WITH SCROLLY CONTENT PAGES (LISTINGS / PRIVACY / CAREERS DETAIL / NEWS DETAIL) ----- */
.fixed-background-image {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}

.sticky-panel-scrolling-content-wrapper {
  margin-top: 220px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-attachment: fixed;
  background-size: 100% auto;
}
@media (max-width: 667px) {
  .sticky-panel-scrolling-content-wrapper {
    margin-top: 160px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .sticky-panel-scrolling-content-wrapper {
    margin-top: 190px;
  }
}
@media (min-width: 1025px) and (max-width: 1599px) {
  .sticky-panel-scrolling-content-wrapper {
    margin-top: 160px;
  }
}
@media (max-width: 667px) {
  .sticky-panel-scrolling-content-wrapper--reduce-top-margin {
    margin-top: 100px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .sticky-panel-scrolling-content-wrapper--reduce-top-margin {
    margin-top: 130px;
  }
}
.sticky-panel-scrolling-content-wrapper .hero-text-panel {
  margin-top: 0;
}
@media (max-width: 667px) {
  .sticky-panel-scrolling-content-wrapper .hero-text-panel {
    margin-bottom: 30px;
    padding-top: 50px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .sticky-panel-scrolling-content-wrapper .hero-text-panel {
    margin: 0 0 40px;
    width: auto;
  }
}
@media (min-width: 1025px) {
  .sticky-panel-scrolling-content-wrapper .hero-text-panel {
    width: auto;
    margin-bottom: 40px;
  }
}
@media (min-width: 1025px) and (max-width: 1280px) {
  .sticky-panel-scrolling-content-wrapper .hero-text-panel {
    margin-left: 0;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .sticky-panel-scrolling-content-wrapper .hero-text-panel--listing-page {
    width: 65%;
    min-width: 496px;
    margin-left: auto;
    margin-right: auto;
  }
  .sticky-panel-scrolling-content-wrapper .hero-text-panel--listing-page .listing-header,
  .sticky-panel-scrolling-content-wrapper .hero-text-panel--listing-page .listing-item {
    width: 65%;
    min-width: 496px;
  }
}
@media (min-width: 1025px) {
  .sticky-panel-scrolling-content-wrapper .column-sticky {
    position: sticky;
    top: 220px;
    align-self: flex-start;
  }
}
@media (min-width: 1025px) and (max-width: 1599px) {
  .sticky-panel-scrolling-content-wrapper .column-sticky {
    top: 160px;
  }
}

/* ----- LISTING PAGES ----------------------- */
/* ----- Listings ----- */
@media (max-width: 667px) {
  .listing-header,
  .listing-item {
    border: 2px solid #EBECEE;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .listing-header,
  .listing-item {
    margin-left: auto;
    margin-right: auto;
    width: 65%;
    min-width: 496px;
  }
}

.listing-header {
  margin-bottom: 40px;
  padding: 15px 20px;
  background-color: white;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .listing-header {
    margin-bottom: 70px;
  }
}

.unfurler .unfurler-panel-trigger {
  position: relative;
  display: block;
  width: 100%;
  height: 50px;
  padding: 0 22px;
  text-align: left;
  transition: background-color 0.3s ease;
}
.hero-text-panel .unfurler .unfurler-panel-trigger {
  width: calc(100% + 44px);
  margin: 0 -22px;
}
.unfurler .unfurler-panel-trigger h3 {
  margin-bottom: 0;
}
.unfurler .unfurler-panel-trigger:after {
  position: absolute;
  right: 15px;
  top: 0;
  width: 18px;
  height: 100%;
  background: transparent url(/images/icon-arrow-down.svg) center center no-repeat;
  content: "";
  transition: transform 0.3s ease;
}
.unfurler .unfurler-panel {
  position: absolute;
  left: 0;
  right: 0;
  padding: 15px 22px;
  background-color: white;
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s ease;
  z-index: 2;
}
.unfurler .unfurler-panel .filter-button-wrapper {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
}
.unfurler:not(.is-active) .unfurler-panel {
  opacity: 0;
  transform: translateY(-20px);
  visibility: hidden;
}
.unfurler.is-active .unfurler-panel-trigger {
  background-color: white;
}
.unfurler.is-active .unfurler-panel-trigger:after {
  transform: rotate(180deg);
}

.listing-results-count {
  color: #3A4559;
  font-size: 14px;
}
.listing-results-count.mobile-only {
  margin-bottom: 30px;
  color: white;
  font-size: 16px;
  text-align: center;
}

@media (min-width: 668px) and (max-width: 1024px) {
  .listing-news {
    display: grid;
    grid-template-columns: 50% 50%;
    grid-gap: 20px;
    margin-bottom: 40px;
  }
  .listing-news li {
    overflow: hidden;
  }
}
.listing-news .listing-item--news {
  width: auto;
  min-width: 0;
  border: none;
}
@media (max-width: 1024px) {
  .listing-news .listing-item--news {
    display: block;
  }
  .listing-news .listing-item--news .text-wrapper {
    display: block;
  }
  .listing-news .listing-item--news img {
    width: auto;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .listing-news .listing-item--news {
    margin-bottom: 0;
  }
}

.listing-item {
  margin-bottom: 40px;
  padding: 15px 20px;
  background-color: white;
  border: 2px solid #EBECEE;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .listing-item {
    margin-bottom: 20px;
  }
}
.listing-item h3 {
  color: #3A4559;
}
.listing-item .highlighted {
  margin: 0 -3px;
  padding: 1px 3px 2px;
  background-color: #00A3E0;
  color: white;
}
.listing-item .listing-item-meta {
  color: #00A3E0;
  font-family: "Reglo Bold", sans-serif;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
}
.listing-item .listing-item-meta--bottom-margin {
  margin-bottom: 15px;
}
.listing-item .listing-item-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.listing-item .listing-item-footer .button {
  margin-left: 10px;
}
.listing-item .listing-item-footer .summary {
  padding: 10px 0px 10px 0px;
}
.listing-item--news {
  display: flex;
  padding: 0;
}
.listing-item--news img {
  object-fit: cover;
  object-position: center center;
  width: 38%;
}
.listing-item--news .text-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  padding: 15px 20px;
}

.job-location {
  color: #3A4559;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
}

.item-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.item-footer .button {
  margin-left: 10px;
}

.listing-button-wrapper {
  padding-bottom: 40px;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .listing-button-wrapper {
    padding: 10px 0 30px;
  }
}

.resource-type {
  margin-top: 10px;
  font-size: 14px;
}
.resource-type:before {
  display: inline-block;
  width: 24px;
  height: 26px;
  margin-right: 10px;
  background-position: left center;
  background-repeat: no-repeat;
  content: "";
  vertical-align: middle;
}
.resource-type.type-pdf:before {
  background-image: url(/images/icon-pdf.svg);
}
.resource-type.type-file:before {
  background-image: url(/images/icon-file.svg);
}

/* ----- Search listing ----- */
@media (min-width: 668px) and (max-width: 1024px) {
  .input-search,
  .search-filters-panel {
    width: 65%;
    min-width: 496px;
    margin-left: auto;
    margin-right: auto;
  }
}

.input-search {
  display: block;
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
  padding: 10px;
  border: 1px solid #F5F6F7;
  color: #616A7A;
  font-size: 46px;
  text-align: center;
}
@media (max-width: 667px) {
  .input-search {
    padding: 10px;
    font-size: 26px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .input-search {
    margin-bottom: 40px;
    font-size: 34px;
  }
}
@media (min-width: 1025px) {
  .input-search {
    margin-bottom: 70px;
  }
}

.search-filters-panel {
  background-color: white;
}
@media (max-width: 667px) {
  .search-filters-panel {
    margin-bottom: 0;
    padding: 10px 22px;
    background: #F5F6F7;
  }
  .search-filters-panel .listing-results-count {
    margin: 0;
    padding: 30px 0 10px;
    color: #3A4559;
  }
  .search-filters-panel .unfurler-panel-trigger {
    background-color: white;
  }
  .search-filters-panel .unfurler-panel {
    left: 22px;
    right: 22px;
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .search-filters-panel {
    position: relative;
    margin-bottom: 40px;
  }
}
@media (min-width: 1025px) {
  .search-filters-panel {
    margin-bottom: 40px;
    margin-left: 180px;
    max-width: 360px;
  }
  .search-filters-panel .listing-results-count {
    margin-top: 40px;
  }
}

@media (min-width: 668px) and (max-width: 1024px) {
  .search-filters-panel,
  .input-search {
    width: 65%;
    min-width: 496px;
  }
  .unfurler-panel-trigger {
    background: #F5F6F7;
  }
}
.summary-text p {
  font-size: 16px;
}

/* ----- CALCULATORS ------------------------- */
.module-calculator {
  margin-bottom: 20px;
}
@media (min-width: 1025px) {
  .module-calculator {
    margin-bottom: 40px;
  }
}
@media (min-width: 1600px) {
  .module-calculator {
    margin-bottom: 65px;
  }
}
@media (max-width: 667px) {
  .module-calculator .calculator-fields-wrapper .column {
    margin-bottom: 40px;
  }
}
.module-calculator .text-field-wrapper {
  margin-bottom: 25px;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-calculator .text-field-wrapper {
    margin-bottom: 20px;
  }
}
.module-calculator .text-field-wrapper .text-field {
  height: 60px;
  padding: 10px;
  background-color: #F5F6F7;
  border: none;
  border-bottom: 2px solid #B0B5BD;
  font-size: 20px;
}
@media (min-width: 668px) and (max-width: 1024px) {
  .module-calculator .text-field-wrapper .text-field {
    background-color: #F5F6F7;
  }
}

.calculator-results-wrapper {
  display: none;
  margin-top: 40px;
  padding-top: 30px;
  border-top: 2px solid #EBECEE;
}
.calculator-results-wrapper .key-value-table th {
  width: 210px;
  padding-right: 10px;
}

/* ----- Equal height initialised carousel items ---- */
.module-carousel .equal-heights .summary-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.module-carousel .equal-heights .summary-card .text-wrapper {
  flex: 1;
}
.module-carousel .equal-heights .summary-card:not(.summary-card--large) .text-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.module-carousel .equal-heights .module-specialists-tile-small {
  height: 100%;
}
.module-carousel .equal-heights .module-specialists-tile-small .text-wrapper {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: space-between;
}

/* ----- PORTAL ----------------------- */
/* ----- Portal Login ----- */
.module-portal-login {
  position: relative;
  background-color: white;
  overflow: hidden;
  /*
  	.text-wrapper {
  		@include mobile {
  			padding-bottom: 130px;
  		}

  		@include tablet-and-down {
  			position: relative;
  			z-index: 1; // appear in front of image

  			max-width: 400px;
  		}

  		@include tablet {
  			padding-bottom: 280px
  		}

  		@include desktop {
  			max-width: 500px;
  			padding-bottom: 50px;
  		}

  		@include desktop-large {
  			padding-bottom: 80px;
  		}
  	}
  */
}
@media (max-width: 667px) {
  .module-portal-login {
    padding-top: 140px;
  }
}
@media (min-width: 668px) {
  .module-portal-login {
    padding-top: 180px;
  }
}
@media (min-width: 1600px) {
  .module-portal-login {
    padding-top: 270px;
  }
}
.module-portal-login .text-field-wrapper {
  margin-bottom: 30px;
}
.module-portal-login .text-field-wrapper label {
  display: block;
  color: #B0B5BD;
  font-size: 20px;
  /*
  			@include tablet {
  				height: 30px;
  			}
  */
}
.module-portal-login .text-field-wrapper .text-field {
  padding: 10px 0;
  border: none;
  border-bottom: 2px solid #B0B5BD;
  font-size: 20px;
  /*
  			@include tablet {
  				background-color: $grey-lightest;
  			}
  */
}
.module-portal-login .button {
  background-color: white;
}
.module-portal-login .button:hover {
  background-color: #00A3E0;
  color: white;
}
.module-portal-login .form-error {
  color: #D90000;
  margin-top: 25px;
}

.portal-login-links {
  margin-bottom: 40px;
  padding-top: 20px;
  padding-bottom: 40px;
  background-color: white;
  text-align: center;
}
.portal-login-links a {
  padding: 0 10px;
}
.portal-login-links a:hover {
  color: #00A3E0;
}

.modal-changepassword .helpguide {
  margin: 15px 0px 25px 0px;
}
.modal-changepassword .helpguide a {
  font-weight: bold;
}
.modal-changepassword .modal__footer {
  position: relative;
}
.modal-changepassword .modal__footer .helpguide {
  position: absolute;
  right: 0px;
  top: 0px;
}
.modal-changepassword .qrwrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  text-align: center;
  justify-content: center;
  align-content: center;
  align-items: center;
  margin-right: 40px;
  margin-top: 10px;
}
.modal-changepassword .qrwrapper .left {
  width: 200px;
  flex-shrink: 0;
}

.wrapper-datalinks {
  border: solid 1px rgb(235, 236, 238);
  padding: 10px;
  margin: 10px 0px 30px 0px;
}
.wrapper-datalinks .logo {
  margin-bottom: 15px;
}
.wrapper-datalinks .logo img {
  display: inline;
  width: 100px;
  vertical-align: text-bottom;
}
.wrapper-datalinks .logo h3 {
  font-size: 14px;
  font-weight: normal;
  display: inline;
}
.wrapper-datalinks .datafeed {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 14px;
  display: block;
  margin-bottom: 5px;
  font-weight: normal;
  vertical-align: bottom;
}
.wrapper-datalinks .datafeed .icon-datafeed {
  width: 20px;
  display: inline;
  padding-right: 5px;
  vertical-align: text-top;
}
.wrapper-datalinks .datafeed a {
  font-weight: normal !important;
}

/* ----- Test for Listing page side-by-side page layout with old Detail page hero on mobile/tablet ----- */
.mobile-and-tablet-hero {
  position: relative;
}
@media (max-width: 1024px) {
  .mobile-and-tablet-hero {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .mobile-and-tablet-hero .button-scroll {
    display: block;
    margin: 0 auto;
  }
}
@media (max-width: 667px) {
  .mobile-and-tablet-hero {
    min-height: calc(100vh - 160px);
  }
}
@media (min-width: 668px) and (max-width: 1024px) {
  .mobile-and-tablet-hero {
    min-height: calc(100vh - 190px);
  }
}

/* ----- HERO UPDATE 2022 ----- */
.module-hero-no-image {
  padding: 260px 0 40px;
}
@media (max-width: 667px) {
  .module-hero-no-image {
    padding-top: 140px;
  }
}
.module-hero-no-image:not(.background-slate) {
  background-color: white;
}
.module-hero-no-image .hero-summary {
  max-width: 685px;
  padding-bottom: 30px;
}
