@charset "UTF-8";
@font-face {
  font-family: "FontAwesome";
  src: url("/resources/fonts/fontawesome-webfont.woff2?v=4.6.3") format("woff2"), url("/resources/fonts/fontawesome-webfont.woff?v=4.6.3") format("woff");
  font-weight: normal;
  font-style: normal;
}
/*
  ===============================================================================
  RESET DEFAULTS AND BROWSER STANDARDISATION
  ===============================================================================
*/
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, main, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, canvas {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* force a vertical scrollbar to prevent a jumpy page, and text size adjust fix when changing page orientation */
html {
  overflow-y: scroll;
}

body {
  margin: 0;
}

/* border box model */
*,
*:before,
*:after {
  box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
video,
canvas,
progress {
  display: inline-block;
}

/* Prevents modern browsers from displaying 'audio' without controls.
   Remove excess height in iOS 5 devices. */
audio:not([controls]) {
  display: none;
  height: 0;
}

/*
  ==========================
  images / objects
  ==========================
*/
/* Responsive images and other embedded objects
   Note: keeping IMG here will cause problems when using foreground images as sprites.
   If this default setting for images is causing issues replace with a .responsive class instead. */
img,
object,
embed {
  max-width: 100%;
}

img {
  border: 0;
  border-style: none;
}

/*
  ==========================
  quotes
  ==========================
*/
blockquote, q {
  quotes: none;
}

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

/*
  ==========================
  links
  ==========================
*/
* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-decoration-skip: objects;
}

a:active, a:hover {
  outline: none;
  outline-width: 0;
}

a:focus {
  outline: thin dotted;
}

/*
  ==========================
  marked up copy
  ==========================
*/
del {
  text-decoration: line-through;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

dfn {
  font-style: italic;
}

/*
  ==========================
  tables
  ==========================
*/
table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: inherit;
}

th {
  font-weight: bold;
  vertical-align: bottom;
}

td {
  font-weight: normal;
  vertical-align: top;
}

td img {
  vertical-align: top;
}

/*
  ==========================
  forms
  ==========================
*/
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  font: inherit; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold;
}

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

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

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

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

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
  ==========================
  pre copy
  ==========================
*/
pre {
  white-space: pre; /* CSS2 */
  white-space: pre-wrap; /* CSS 2.1 */
  white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
  word-wrap: break-word; /* IE */
}

/*
  ==========================
  character styles
  ==========================
*/
small {
  font-size: 80%;
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/*
  ==========================
  monospaced elements
  ==========================
*/
pre, code, kbd, samp {
  font-family: monospace, sans-serif;
}

/*
  ==========================
  lightweight clearfix
  ==========================
*/
.cf:before,
.cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

/*
  ==========================
  visibility options
  ==========================
*/
.hidden {
  display: none !important;
  visibility: hidden;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 0;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 0;
}

.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.invisible {
  visibility: hidden;
}

/*
  ==========================
  css transition page load fix
  ==========================
*/
.preload * {
  transition: none !important;
}

html,
body {
  height: 100%;
}

body {
  background: url("/resources/images/body-bg.png") top center repeat-y #e7f1f9;
  min-width: 320px;
}

body,
input,
select,
textarea {
  color: #333333;
  font: 400 18px/1.5 "Raleway", sans-serif;
}

::-moz-selection {
  background: #346d92;
  color: #fff;
  text-shadow: none;
}

::selection {
  background: #346d92;
  color: #fff;
  text-shadow: none;
}

@media screen and (max-width: 1000px) {
  body,
  input,
  select,
  textarea {
    font-size: 16px;
  }
}
@media screen and (max-width: 580px) {
  body,
  input,
  select,
  textarea {
    font-size: 14px;
  }
}
h1, .h1,
h2, .h2, .accordion-trigger,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Dosis", sans-serif;
  font-weight: 500;
}

h1, .h1 {
  color: #346d92;
  font-size: 44px;
  line-height: 1.1;
}
h1.visuallyhidden + *, .h1.visuallyhidden + * {
  margin-top: 0 !important;
}

h2, .h2, .accordion-trigger {
  color: #184558;
  font-size: 30px;
  line-height: 1.2;
}

h3, .h3 {
  color: #184558;
  font: 600 22px/1.2 "Raleway", sans-serif;
}

h4, h5, h6 {
  font-size: 10px;
  font-weight: 400;
}

h2 + *,
h3 + *,
h4 + *,
h5 + *,
h6 + * {
  margin-top: 8px !important;
}

* + h2,
* + h3,
* + h4,
* + h5,
* + h6 {
  margin-top: 40px !important;
}

h2 + h3,
h2 + h4,
h2 + h5,
h2 + h6,
h3 + h4,
h3 + h5,
h3 + h6,
h4 + h5,
h4 + h6,
h5 + h6 {
  margin-top: 8px !important;
}

hr + h2,
hr + h3,
hr + h4,
hr + h5,
hr + h6 {
  margin-top: 40px !important;
}

.heading-with-link + * {
  margin-top: 8px !important;
}
.heading-with-link > .inner {
  display: table;
  margin: 0;
  padding: 0;
  width: 100%;
}
.heading-with-link > .inner > * {
  display: table-cell;
  padding-left: 26px;
  text-align: right;
}
.heading-with-link > .inner > *:first-child {
  padding-left: 0;
  text-align: left;
}

* + .heading-with-link {
  margin-top: 40px !important;
}

* + .element {
  margin-top: 40px !important;
}

.intro,
.intro > * {
  color: #535353;
  font-family: "Dosis", sans-serif;
  font-size: 24px;
  line-height: 1.35;
}

.typography-greblies {
  font-size: 15px;
  font-weight: 700;
}
.typography-greblies span {
  display: inline-block;
}
.typography-greblies span.label {
  font-weight: 500;
}
.typography-greblies span + span:before {
  content: "|";
  display: inline-block;
  margin-left: 2px;
  margin-right: 5px;
}
.typography-greblies + .typography-greblies {
  margin-top: 5px;
}

.typography-width {
  max-width: 740px;
  width: 100%;
}
.typography-width + .tiles {
  margin-top: 40px;
}

* + .intro,
* + p {
  margin-top: 16px;
}

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

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

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

.typography-wrapper a {
  color: #0C6899;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.3s;
}
.typography-wrapper a:hover, .typography-wrapper a:focus {
  color: #00aeac;
  text-decoration: underline;
}
.typography-wrapper a.external-link:before {
  background-color: #00aeac;
  border-radius: 50%;
  color: #fff;
  content: "\f08e";
  display: inline-block;
  font-family: FontAwesome;
  font-size: 13px;
  height: 24px;
  line-height: 24px;
  margin-right: 0.25em;
  position: relative;
  text-align: center;
  text-decoration: none;
  top: -2px;
  width: 24px;
}
.typography-wrapper a.external-link:hover:before, .typography-wrapper a.external-link:focus:before {
  text-decoration: underline;
}
.typography-wrapper a.external-link:hover:before, .typography-wrapper a.external-link:focus:before {
  text-decoration: none;
}

a.see-all {
  color: #333333;
  font: 600 14px "Raleway", sans-serif;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
a.see-all:after {
  color: #00aeac;
  content: " \f138";
  font-family: FontAwesome;
  font-size: 16px;
}
a.see-all:hover, a.see-all:focus {
  text-decoration: none;
}

.jump-link {
  border: dotted 1px #00aeac;
  font: 600 18px/1.2 "Raleway", sans-serif;
  margin-top: 30px;
  padding: 14px;
}
.jump-link a {
  display: table;
  text-decoration: none;
  width: auto;
}
.jump-link a > * {
  display: table-cell;
  vertical-align: middle;
}
.jump-link a .icon {
  padding-right: 10px;
  text-decoration: none;
}
.jump-link a .icon:before {
  background-color: #00aeac;
  border-radius: 50%;
  color: #fff;
  content: "\f107";
  display: block;
  font: normal 28px/34px FontAwesome;
  height: 34px;
  text-align: center;
  text-decoration: none;
  width: 34px;
}
.jump-link a:hover, .jump-link a:focus {
  text-decoration: none;
}
.jump-link a:hover span, .jump-link a:focus span {
  text-decoration: underline;
}
.jump-link a:hover .icon, .jump-link a:focus .icon {
  text-decoration: none;
}

.bookmarks {
  border: dotted 1px #00aeac;
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 50px;
       column-gap: 50px;
  font-family: "Raleway", sans-serif;
  font-size: 15px;
  font-weight: 400;
  list-style-type: none;
  margin-left: 0;
  margin-top: 26px !important;
  padding: 34px 14px 12px 14px;
  position: relative;
}
.bookmarks:before {
  content: "Skip to...";
  display: block;
  left: 14px;
  position: absolute;
  top: 12px;
}
.bookmarks li {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  page-break-inside: avoid;
}
.bookmarks li a {
  display: inline-block;
  padding-left: 14px;
  position: relative;
}
.bookmarks li a:before {
  content: "\f107";
  display: block;
  font-family: FontAwesome;
  font-size: 17px;
  left: 0;
  line-height: 1;
  position: absolute;
  top: 2px;
}

figure {
  display: block;
  margin: 0;
  padding: 0;
  width: auto;
}
figure img {
  display: block;
  max-width: none;
  width: 100%;
}

@media screen and (max-width: 580px) {
  .typography-wrapper * + figure {
    margin-top: 24px;
  }
}
figure figcaption {
  display: block;
  font-size: 14px;
  line-height: 1.2;
  margin: 2px 0 0 0;
  padding: 12px 8px;
  width: auto;
}
figure.small {
  clear: both;
  float: left;
  margin-bottom: 12px;
  margin-right: 30px;
  max-width: 280px;
  width: 34%;
}

.typography-wrapper * + ol,
.typography-wrapper * + ul {
  margin-top: 16px;
}

ol {
  padding-left: 30px;
}

ul {
  padding-left: 30px;
}

.typography-wrapper * + table,
.typography-wrapper * + .table-wrapper {
  margin-top: 16px;
}

.table-wrapper {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: auto;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 16px;
  line-height: 1.25;
  width: 100%;
}
table thead th {
  border-left: solid 1px rgba(61, 61, 99, 0.3);
}
table thead th:first-child {
  border-left: 1px solid #00aeac;
}
table thead th:last-child {
  border-right: 1px solid #00aeac;
}
table thead::after {
  color: transparent;
  content: "";
  display: block;
  height: 5px;
}
table th, table td {
  font-weight: normal;
  padding: 6px 22px;
  vertical-align: top;
}
table td {
  border: solid 1px rgba(61, 61, 99, 0.3);
}
table th {
  text-align: left;
  vertical-align: bottom;
}

hr {
  border: 0;
  border-top: 1px solid #333333;
  display: block;
  height: 1px;
  margin: 16px 0;
  padding: 0;
}

* + .media {
  margin-top: 26px;
}

@media screen and (max-width: 1000px) {
  h1, .h1 {
    font-size: 42px;
  }
  h2, .h2, .accordion-trigger {
    font-size: 30px;
  }
  h3, .h3 {
    font-size: 20px;
  }
  .intro {
    font-size: 22px;
  }
  .intro > * {
    font-size: 22px;
  }
  .intro figure {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
  }
  .intro figure img {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
  }
}
@media screen and (max-width: 580px) {
  h1, .h1 {
    font-size: 32px;
  }
  h2, .h2, .accordion-trigger {
    font-size: 26px;
  }
  h3, .h3 {
    font-size: 18px;
  }
  .intro,
  .intro > * {
    font-size: 20px;
  }
  .jump-link {
    border-left: none;
    border-right: none;
    font-size: 16px;
    margin-left: -16px;
    margin-right: -16px;
    padding: 14px 16px;
  }
  .jump-link a .icon {
    padding-right: 8px;
  }
  .bookmarks {
    -moz-column-count: 1;
         column-count: 1;
    border-left: none;
    border-right: none;
    margin-left: -16px;
    margin-right: -16px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .bookmarks:before {
    left: 16px;
  }
}
.figure-link:after, .typography-wrapper .feature a:before, .aside-icon:before, .aside-links li:before {
  align-items: center;
  background-color: #00aeac;
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-family: FontAwesome;
  font-size: 22px;
  font-weight: 500;
  height: 46px;
  justify-content: center;
  line-height: 1;
  margin-right: 0;
  min-width: 46px;
  width: 46px;
}

#page-wrapper {
  border-collapse: collapse;
  display: table;
  height: 100%;
  overflow: hidden;
  min-height: 0;
  table-layout: fixed;
  width: 100%;
}

#page-wrapper-inner,
#page-foot {
  display: table-row;
  height: 1px;
  width: 100%;
}

#page-wrapper-inner {
  height: auto;
}

.wrapper {
  margin: 0 auto;
  padding: 0 50px;
  max-width: 1140px !important;
}

.wrapper-cols {
  display: grid;
  gap: 60px;
  grid-template-columns: 1fr 240px;
}
@media screen and (max-width: 1000px) {
  .wrapper-cols {
    gap: 20px;
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 1000px) {
  .wrapper {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 580px) {
  .wrapper {
    padding-left: 16px;
    padding-right: 16px;
  }
}
#page-head > .upper {
  background: #3a7fae;
  background: linear-gradient(to bottom, #356e93 0%, #3a7fae 100%);
  padding: 30px 0 22px 0;
}
#page-head > .upper > .wrapper > .inner {
  display: table;
  width: 100%;
}
#page-head > .upper > .wrapper > .inner > * {
  display: table-cell;
  vertical-align: middle;
}
#page-head > .lower {
  background: #3777a1;
  background: linear-gradient(to bottom, #356e93 0%, #3777a1 100%);
}

#header-logo a {
  display: block;
  height: auto;
  margin: 0;
  padding: 0;
  width: 214px;
}
#header-logo a:focus {
  outline: dotted 1px #fff;
}
#header-logo a img {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
}
#header-logo > img {
  display: none;
}

#header-search {
  position: relative;
  text-align: right;
  width: 1px;
}

#header-search-toggle {
  display: none;
  height: 50px;
  position: absolute;
  margin-top: -25px;
  overflow: hidden;
  right: 16px;
  top: 50%;
  width: 50px;
  z-index: 5;
}
#header-search-toggle a {
  border-radius: 50%;
  color: #fff;
  display: block;
  margin: 0;
  padding: 0;
  font-family: "FontAwesome";
  font-size: 24px;
  height: 50px;
  line-height: 49px;
  overflow: hidden;
  text-align: center;
  text-decoration: none;
  width: 50px;
}
#header-search-toggle a:before {
  color: rgba(255, 255, 255, 0.5);
  content: "\f002";
  display: inline-block;
}

#header-search-form-wrapper {
  color: #fff;
  height: 50px;
  min-width: 50px;
  position: relative;
  white-space: nowrap;
  z-index: 1;
}
#header-search-form-wrapper:after {
  border: solid 2px rgba(255, 255, 255, 0.4);
  border-radius: 25px;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: border-color 0.3s;
  z-index: 1;
}
#header-search-form-wrapper.active:after {
  border-color: rgba(255, 255, 255, 0.8);
}
#header-search-form-wrapper form {
  border-collapse: collapse;
  display: table;
  height: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 2;
}
#header-search-form-wrapper form > * {
  display: table-cell;
  text-align: right;
  vertical-align: middle;
}
#header-search-form-wrapper form > *.button-holder {
  width: 1px;
}
#header-search-form-wrapper input {
  border: none;
  background-color: transparent;
  color: #fff;
  font-family: "Raleway", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  margin: 0;
  padding: 0 38px 0 16px;
  width: 230px;
}
#header-search-form-wrapper input:focus {
  outline: none;
}
#header-search-form-wrapper button {
  border: none;
  background-color: transparent;
  color: #fff;
  cursor: pointer;
  display: block;
  font: normal 24px/36px "FontAwesome";
  height: 38px;
  position: absolute;
  margin: -19px 0 0 0;
  padding: 0 0 2px 0;
  right: 5px;
  text-align: center;
  top: 50%;
  width: 40px;
}
#header-search-form-wrapper button:before {
  content: "\f002";
  opacity: 0.5;
  transition: opacity 0.3s;
}
#header-search-form-wrapper button:hover, #header-search-form-wrapper button:focus {
  outline: none;
}
#header-search-form-wrapper button:hover:before, #header-search-form-wrapper button:focus:before {
  opacity: 0.8;
}

#alt-title {
  background: #00a9e2;
  background: linear-gradient(to bottom, #3777a1 0%, #00a9e2 300px);
  min-height: 60px;
  position: relative;
}
#alt-title:before {
  background: url("/resources/images/imagestrip.png") top center repeat-x transparent;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  opacity: 0.7;
  position: absolute;
  right: 0;
  top: -4px;
  z-index: 1;
}
#alt-title > .wrapper {
  position: relative;
  z-index: 2;
}
#alt-title .h1 {
  color: #fff;
  padding: 36px 0;
}

@media screen and (max-width: 1000px) {
  #alt-title {
    min-height: 45px;
  }
  #alt-title:before {
    top: -18px;
  }
  #alt-title .h1 {
    padding: 22px 0;
  }
}
@media screen and (max-width: 580px) {
  #page-head > .upper > .wrapper > .inner {
    display: block;
    width: auto;
  }
  #page-head > .upper > .wrapper > .inner > * {
    display: block;
  }
  #header-logo a {
    width: 150px;
  }
  #header-search {
    padding: 0 16px;
    position: absolute;
    right: 0;
    top: 30px;
    transition: width 0.3s;
    width: 82px;
    z-index: 5;
  }
  #header-search #header-search-toggle {
    display: block;
  }
  #header-search.active {
    width: 100%;
  }
  #header-search.active #header-search-toggle {
    display: none !important;
  }
  #header-search.active #header-search-form-wrapper input {
    padding: 0 38px 0 16px;
    width: 100%;
  }
  #header-search.active #header-search-form-wrapper button {
    opacity: 1;
  }
  #header-search-form-wrapper {
    overflow: hidden;
    width: 100%;
  }
  #header-search-form-wrapper:after {
    background-color: #346d92;
  }
  #header-search-form-wrapper input {
    margin: 0;
    padding: 0;
    width: 0;
  }
  #header-search-form-wrapper button {
    opacity: 0;
  }
  #alt-title {
    min-height: 26px;
  }
  #alt-title:before {
    top: -32px;
  }
  #alt-title .h1 {
    padding: 18px 0;
  }
}
#main-page-area {
  padding-bottom: 40px;
  padding-top: 36px;
}
#main-page-area > nav,
#main-page-area > #lhs {
  float: left;
  margin: 0 -300px 0 0;
  padding: 0;
  width: 245px;
}
#main-page-area > nav + main,
#main-page-area > #lhs + main {
  margin-left: 300px;
  width: auto;
}

@media screen and (max-width: 1000px) {
  #main-page-area {
    padding-bottom: 30px;
    padding-top: 28px;
  }
  #main-page-area > nav,
  #main-page-area > #lhs {
    display: none;
    float: none;
    margin: 0;
    width: auto;
  }
  #main-page-area > nav + main,
  #main-page-area > #lhs + main {
    float: none;
    margin-left: 0;
  }
}
@media screen and (max-width: 580px) {
  #main-page-area {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}
#page-foot {
  color: #fff;
  font-size: 14px;
  font-weight: 500;
}
#page-foot > .outer {
  background-color: #397caa;
  background-image: linear-gradient(to bottom, #3f94cf 0%, #397caa 100%);
  border-bottom: solid 4px #346d92;
  position: relative;
}
#page-foot > .outer:before {
  background: url("/resources/images/multiline-imagestrip.png") 0 0 repeat;
  bottom: 0;
  content: "";
  display: block;
  height: auto;
  left: 0;
  opacity: 0.3;
  position: absolute;
  right: 0;
  top: 48px;
  width: auto;
  z-index: 1;
}
#page-foot > .outer > .wrapper {
  padding-bottom: 52px;
  padding-top: 64px;
}
#page-foot > .outer > .wrapper > .inner {
  border-collapse: collapse;
  display: table;
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  z-index: 2;
}
#page-foot > .outer > .wrapper > .inner > * {
  display: table-cell;
  padding-left: 20px;
  text-align: right;
  vertical-align: middle;
}
#page-foot > .outer > .wrapper > .inner > *:first-child {
  padding-left: 0;
  text-align: left;
}

#footer-logos {
  white-space: nowrap;
}
#footer-logos > .inner > div {
  display: inline-block;
  height: 60px;
  margin: 0 20px 0 0;
  padding: 0;
  vertical-align: middle;
}
#footer-logos a {
  display: block;
  height: 60px;
  margin: 0;
  opacity: 0.8;
  padding: 0;
  transition: opacity 0.3s;
}
#footer-logos a:hover, #footer-logos a:focus {
  opacity: 1;
}
#footer-logos a:focus {
  outline: thin dotted #fff;
}
#footer-logos img {
  display: block;
  height: 60px;
  margin: 0;
  padding: 0;
  width: auto;
}

#footer-nav > .lower {
  margin-top: 8px;
}
#footer-nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#footer-nav ul li {
  display: inline-block;
  margin: 0;
  padding: 0;
}
#footer-nav ul li + li {
  margin-left: 1em;
}
#footer-nav a {
  color: #fff;
  text-decoration: none;
}
#footer-nav a:hover, #footer-nav a:focus {
  text-decoration: underline;
}

.footer-date {
  border-top: dotted 1px #00aeac;
  color: #333333;
  font-size: 14px;
  padding: 15px 0 13px 0;
}

@media screen and (max-width: 1000px) {
  #page-foot > .outer:before {
    top: 86px;
  }
  #page-foot > .outer > .wrapper {
    padding-bottom: 32px;
    padding-top: 38px;
  }
  #page-foot > .outer > .wrapper > .inner {
    display: block;
    width: auto;
  }
  #page-foot > .outer > .wrapper > .inner > * {
    display: block;
    padding: 0;
    text-align: center;
    vertical-align: top;
  }
  #page-foot > .outer > .wrapper > .inner > *:first-child {
    text-align: center;
  }
  #footer-logos {
    white-space: normal;
  }
  #footer-logos > .inner > div {
    margin: 0 10px 24px 10px;
  }
  #footer-nav > .lower {
    margin-top: 8px;
  }
  #footer-nav ul li {
    margin: 0 0.6em;
  }
  #footer-nav ul li + li {
    margin-left: 0.6em;
  }
}
@media screen and (max-width: 580px) {
  #page-foot {
    font-size: 14px;
  }
  #page-foot > .outer:before {
    top: 80px;
  }
  #page-foot > .outer > .wrapper {
    padding-top: 30px;
  }
  #footer-logos {
    margin-bottom: 20px;
    margin-left: -6px;
    margin-right: -6px;
  }
  #footer-logos > .inner {
    display: table;
    margin: 0;
    padding: 0;
    width: 100%;
  }
  #footer-logos > .inner > div {
    display: table-cell;
    padding: 0 6px;
  }
  #footer-logos a {
    height: auto;
    margin: 0;
    padding: 0;
    width: auto;
  }
  #footer-logos img {
    height: auto;
    width: 100%;
  }
}
aside h3 {
  background-color: #ddf3f3;
  font: 700 18px/1 Dosis;
  margin-top: 25px !important;
  padding: 20px;
  text-transform: uppercase;
}

.aside-block {
  background-color: #e7f1f9;
  font-size: 16px;
  font-weight: 700;
  margin-top: 5px !important;
  padding: 15px;
}
.aside-block.typography-wrapper a {
  display: block;
  font-weight: 700;
}

.aside-icon, .aside-links li {
  display: flex;
  gap: 10px;
}
.aside-icon:before, .aside-links li:before {
  font-family: "Material Symbols Outlined";
  font-size: 14px;
  content: "\e0ba";
  height: 24px;
  min-width: 24px;
  width: 24px;
}

.aside-links {
  list-style-type: none;
  padding: 0;
}
.aside-links li {
  padding: 15px;
}
.aside-links li:not(:first-child) {
  border-top: 4px solid #fff;
}
.aside-links li:before {
  content: "\e941";
  font-size: 18px;
}
.aside-links li.external:before {
  content: "\f08e";
  font-family: FontAwesome;
  font-size: 13px;
}
.aside-links li.external a:before {
  display: none;
}
.aside-links li.download:before {
  content: "\e258";
}

.aside-filedetails {
  color: #333333;
  font-weight: 500;
}

* + .accordion {
  margin-top: 10px;
}

.accordion h2 {
  line-height: 1.2;
}
.accordion h2 a {
  border: solid 4px #e7f1f9;
  border-radius: 4px;
  display: block;
  margin: 0;
  padding: 8px 60px 11px 12px;
  position: relative;
  text-decoration: none;
  transition: all 0.3s;
}
.accordion h2 a:before {
  background-color: #00aeac;
  border-radius: 50%;
  color: #fff;
  content: "\f067";
  display: block;
  font: normal 17px/35px FontAwesome;
  height: 34px;
  overflow: hidden;
  position: absolute;
  right: 12px;
  text-align: center;
  top: 11px;
  transition: all 0.3s;
  width: 34px;
}
.accordion h2 a:hover, .accordion h2 a:focus {
  background-color: #414351;
  border-color: #414351;
  color: #fff;
  outline: none;
  text-decoration: none;
}
.accordion h2 a:hover:before, .accordion h2 a:focus:before {
  background-color: #fff;
  color: #00aeac;
}
.accordion + .accordion {
  margin-top: 5px;
}
.accordion .content {
  display: none;
  margin: 0 !important;
  overflow: hidden;
}
.accordion .content > .inner {
  padding: 12px 0 24px 0;
}
.accordion.open .accordion-trigger:before {
  content: "\f068";
}

.accordion-trigger {
  background-color: transparent;
  border: solid 4px #e7f1f9;
  border-radius: 4px;
  color: #0C6899;
  cursor: pointer;
  display: block;
  line-height: 1.2;
  margin: 0;
  padding: 8px 60px 11px 12px;
  position: relative;
  text-align: left;
  text-decoration: none;
  transition: all 0.3s;
  width: 100%;
}
.accordion-trigger:before {
  background-color: #00aeac;
  border-radius: 50%;
  color: #fff;
  content: "\f067";
  display: block;
  font: normal 17px/35px FontAwesome;
  height: 34px;
  overflow: hidden;
  position: absolute;
  right: 12px;
  text-align: center;
  top: 11px;
  transition: all 0.3s;
  width: 34px;
}
.accordion-trigger:hover, .accordion-trigger:focus {
  background-color: #414351;
  border-color: #414351;
  color: #fff;
  outline: none;
  text-decoration: none;
}
.accordion-trigger:hover:before, .accordion-trigger:focus:before {
  background-color: #fff;
  color: #00aeac;
}

@media screen and (max-width: 580px) {
  .accordion h2 a:before {
    top: 8px;
  }
}
.article-abstract {
  border-bottom: solid 4px #e7f1f9;
  border-top: solid 4px #e7f1f9;
  margin-top: -4px;
  padding: 20px 0;
}
.article-abstract .image-holder {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: -24px;
  width: 100%;
  padding: 0 0 66.9% 0;
}
.article-abstract .image-holder + .h3 {
  margin-top: 10px !important;
}
.article-abstract .content {
  margin-top: 4px !important;
}

.article-abstract-rows > * {
  float: left;
}
.article-abstract-rows.of-two {
  margin-left: -18px;
  margin-right: -18px;
}
.article-abstract-rows.of-two > * {
  padding-left: 18px;
  padding-right: 18px;
  width: 50%;
}
.article-abstract-rows.of-two > *:nth-child(2n+1) {
  clear: left;
}
.article-abstract-rows.of-three {
  margin-left: -20px;
  margin-right: -20px;
}
.article-abstract-rows.of-three > * {
  padding-left: 20px;
  padding-right: 20px;
  width: 33.333%;
}
.article-abstract-rows.of-three > *:nth-child(3n+1) {
  clear: left;
}

* + .article-abstract-rows {
  margin-top: 32px;
}

@media screen and (max-width: 1000px) {
  .article-abstract-rows.of-two {
    margin-left: -13px;
    margin-right: -13px;
  }
  .article-abstract-rows.of-two > * {
    padding-left: 13px;
    padding-right: 13px;
  }
  .article-abstract-rows.of-three {
    margin-left: 0;
    margin-right: 0;
  }
  .article-abstract-rows.of-three > * {
    float: none;
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
  .article-abstract-rows.of-three > *:nth-child(3n+1) {
    clear: none;
  }
  .article-abstract-rows.of-three .article-abstract {
    overflow: hidden;
  }
  .article-abstract-rows.of-three .article-abstract .image-holder {
    float: left;
    margin-top: 0;
    padding: 0 0 32.1% 0;
    width: 47.9%;
  }
  .article-abstract-rows.of-three .article-abstract .image-holder + .h3 {
    margin-top: 0 !important;
  }
  .article-abstract-rows.of-three .article-abstract .h3 {
    overflow: hidden;
    padding-left: 26px;
  }
  .article-abstract-rows.of-three .article-abstract .content {
    margin-top: 4px !important;
    overflow: hidden;
    padding-left: 26px;
  }
}
@media screen and (max-width: 580px) {
  .article-abstract-rows > * {
    float: none;
  }
  .article-abstract-rows.of-two {
    margin-left: 0;
    margin-right: 0;
  }
  .article-abstract-rows.of-two > * {
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
  .article-abstract-rows.of-two > *:nth-child(2n+1) {
    clear: none;
  }
  .article-abstract-rows.of-three {
    margin-left: 0;
    margin-right: 0;
  }
  .article-abstract-rows.of-three > * {
    padding-left: 0;
    padding-right: 0;
    width: auto;
  }
  .article-abstract-rows.of-three > *:nth-child(3n+1) {
    clear: none;
  }
  .article-abstract-rows.of-three .article-abstract {
    overflow: visible;
  }
  .article-abstract-rows.of-three .article-abstract .image-holder {
    float: none;
    margin-top: -24px;
    padding: 0 0 66.9% 0;
    width: 100%;
  }
  .article-abstract-rows.of-three .article-abstract .image-holder + .h3 {
    margin-top: 10px !important;
  }
  .article-abstract-rows.of-three .article-abstract .h3 {
    overflow: hidden;
    padding-left: 0;
  }
  .article-abstract-rows.of-three .article-abstract .content {
    padding-left: 0;
  }
}
.typography-wrapper .back-to-top {
  text-align: right;
}
.typography-wrapper .back-to-top a {
  color: #333333;
  font: 600 14px "Raleway", sans-serif;
  text-decoration: none;
  text-transform: uppercase;
}
.typography-wrapper .back-to-top a:before {
  content: "\f139 ";
  display: inline-block;
  font: 400 16px FontAwesome;
  color: #00aeac;
  text-decoration: none;
}
.typography-wrapper .back-to-top a:hover, .typography-wrapper .back-to-top a:focus {
  color: #00aeac;
  text-decoration: none;
}

.columns {
  margin-left: -4px;
  margin-right: -4px;
}
.columns > .inner {
  border-collapse: collapse;
  display: table;
  margin: 0;
  padding: 0;
  table-layout: fixed;
  width: 100%;
}
.columns > .inner > .column {
  display: table-cell;
  padding-left: 4px;
  padding-right: 4px;
  vertical-align: top;
}

@media screen and (max-width: 580px) {
  .columns {
    margin-left: 0;
    margin-right: 0;
  }
  .columns > .inner {
    display: block;
    margin: 0;
    padding: 0;
    width: auto;
  }
  .columns > .inner > .column {
    display: block;
    padding-left: 0;
    padding-right: 0;
    vertical-align: text-bottom;
  }
  .columns > .inner > .column + .column {
    margin-top: 30px;
  }
}
.downloads ul {
  display: flex;
  flex-direction: column;
  gap: 5px;
  list-style-type: none;
  padding-left: 0;
}
.typography-wrapper .downloads ul a:before {
  content: "\e258";
  font-family: "Material Symbols Outlined";
  font-size: 30px;
}
.typography-wrapper .downloads ul span {
  display: flex;
  flex-direction: column;
}
.typography-wrapper .downloads ul span.download-size {
  color: #333333;
  font-weight: 400;
}

.feature a {
  align-items: center;
  background-color: #ddf3f3;
  border-radius: 8px;
  display: flex;
  gap: 14px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  padding: 26px;
}
@media screen and (max-width: 1000px) {
  .feature a {
    font-size: 18px;
    padding: 16px;
  }
}
.feature a:before {
  content: "\f0c1";
}
.feature a:focus, .feature a:hover {
  background-color: #e7f1f9;
  text-decoration: none;
}
.feature + .feature {
  margin-top: 5px !important;
}

.figure img {
  height: auto;
}
.figure + .feature {
  margin-top: 20px !important;
}

.figure-caption {
  background-color: rgba(231, 241, 249, 0.5);
  font-size: 15px;
  font-weight: 500;
  display: flex;
  gap: 8px;
  padding-left: 12px;
}
.figure-caption:before {
  color: rgba(24, 69, 88, 0.51);
  content: "\e88e";
  font-family: "Material Symbols Outlined";
  font-size: 20px;
  font-variation-settings: "FILL" 1;
  line-height: 1;
  position: relative;
  top: -2px;
}

.figure-video {
  display: block;
}

.figure-link {
  display: block;
  outline: 3px dashed transparent;
  outline-offset: 2px;
  position: relative;
}
.typography-wrapper .figure-link {
  transition: all 0.3s ease;
}
.figure-link:after {
  bottom: 15px;
  content: "\f00e";
  position: absolute;
  right: 15px;
  transition: all 0.3s;
}
.figure-link:focus, .figure-link:hover {
  outline: 3px dashed #0C6899;
}
.figure-link:focus:after, .figure-link:hover:after {
  background-color: #414351;
}
.block-halves .figure-link {
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.figure-text::after {
  content: "";
  clear: both;
  display: table;
}
@media screen and (min-width: 581px) {
  .figure-text figure {
    float: left;
    margin-bottom: 15px;
    margin-right: 20px;
    max-width: 250px;
    width: 100%;
  }
  .figure-text figure.figure-right {
    float: right;
    margin-left: 20px;
    margin-right: 0;
  }
  .figure-text .figure-link:after {
    font-size: 18px;
    height: 38px;
    min-width: 38px;
    width: 38px;
  }
}

.figure-double {
  align-items: flex-start;
  display: grid;
}
@media screen and (min-width: 581px) {
  .figure-double {
    gap: 20px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.figure-double img {
  display: flex;
}

.grid.grid-two-cols {
  margin-left: -18px;
  margin-right: -18px;
}
.grid.grid-two-cols .grid-item {
  padding-left: 18px;
  padding-right: 18px;
  width: 50%;
}
.grid.grid-three-cols {
  margin-left: -20px;
  margin-right: -20px;
}
.grid.grid-three-cols .grid-item {
  padding-left: 20px;
  padding-right: 20px;
  width: 33.33%;
}

* + .grid {
  margin-top: 32px;
}

@media screen and (max-width: 1000px) {
  .grid.grid-two-cols, .grid.grid-three-cols {
    margin-left: -13px;
    margin-right: -13px;
  }
  .grid.grid-two-cols .grid-item, .grid.grid-three-cols .grid-item {
    padding-left: 13px;
    padding-right: 13px;
    width: 50%;
  }
}
@media screen and (max-width: 580px) {
  .grid.grid-two-cols, .grid.grid-three-cols {
    margin-left: 0;
    margin-right: 0;
  }
  .grid.grid-two-cols .grid-item, .grid.grid-three-cols .grid-item {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }
}
.resource-abstract {
  padding-bottom: 20px;
}
.resource-abstract .content ul {
  list-style-type: none;
  margin: 8px 0 0 0;
  padding: 0;
}
.resource-abstract .content ul li {
  margin: 0;
  padding: 0;
}
.resource-abstract .content ul li + li {
  margin-top: 4px;
}
.resource-abstract .content ul li a {
  background-color: #e7f1f9;
  border-radius: 4px;
  display: block;
  font: 500 18px/1.2 "Raleway";
  margin: 0;
  padding: 14px 12px 14px 56px;
  position: relative;
}
.resource-abstract .content ul li a:before {
  background-color: #00aeac;
  border-radius: 50%;
  color: #fff;
  content: "";
  display: block;
  font-family: FontAwesome;
  font-size: 19px;
  height: 36px;
  left: 12px;
  line-height: 36px;
  margin: 0;
  padding: 0 0 0 2px;
  position: absolute;
  top: 7px;
  text-align: center;
  vertical-align: middle;
  width: 36px;
}
.resource-abstract .content ul li a.internal.document:before {
  content: "\f0f6";
}
.resource-abstract .content ul li a.external:before {
  content: "\f08e";
}
.resource-abstract .content ul li a.internal.page:before {
  content: "\f016";
}
.resource-abstract .content ul li a span {
  color: #535353;
  transition: color 0.3s;
}
.resource-abstract .content ul li a:hover span, .resource-abstract .content ul li a:focus span {
  color: #00aeac;
}

@media screen and (max-width: 580px) {
  .resource-abstract .content ul li a {
    font-size: 16px;
    padding: 14px 10px 14px 52px;
  }
  .resource-abstract .content ul li a:before {
    left: 10px;
    top: 5px;
  }
}
.table-wrapper {
  margin-bottom: 30px;
  margin-top: 30px;
  overflow-x: auto;
}
.table-wrapper th {
  background-color: #00aeac;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  padding-bottom: 5px;
  padding-top: 7px;
}
.table-wrapper tr:nth-child(even) {
  background-color: rgba(221, 243, 243, 0.6);
}
.table-wrapper:focus {
  background-color: #e7f1f9;
}
.table-wrapper:before {
  content: "Scroll for more content >";
  display: none;
  font-size: 10px;
  margin-top: -15px;
  position: absolute;
  right: 20px;
}
.table-wrapper.table-wrapper-overflow:before {
  display: block;
}

form.userform {
  clear: none;
}
form.userform .action, form.userform ul.step-buttons .step-button-prev,
form.userform ul.step-buttons .step-button-next, form.userform div.userform-progress .step-button-jump {
  background-color: #fff;
  border: solid 2px rgba(52, 109, 146, 0.4);
  border-radius: 25px;
  cursor: pointer;
  display: block;
  height: 50px;
  padding: 0 20px;
  transition: border-color 0.3s;
}
form.userform .action:hover, form.userform ul.step-buttons .step-button-prev:hover,
form.userform ul.step-buttons .step-button-next:hover, form.userform div.userform-progress .step-button-jump:hover, form.userform .action:focus, form.userform ul.step-buttons .step-button-prev:focus,
form.userform ul.step-buttons .step-button-next:focus, form.userform div.userform-progress .step-button-jump:focus {
  border-color: rgba(52, 109, 146, 0.8);
  outline: none;
}
form.userform .btn-toolbar {
  display: flex;
  gap: 20px;
  justify-content: space-between;
}
form.userform div.userform-progress {
  font-weight: 600;
  font-style: italic;
}
form.userform div.userform-progress p {
  margin: 0 0 5px;
}
form.userform div.userform-progress > nav {
  height: 20px;
}
form.userform div.userform-progress .progress,
form.userform div.userform-progress .progress-bar {
  height: 5px;
  margin-bottom: 5px;
}
form.userform div.userform-progress .step-button-jump {
  height: auto;
}
form.userform .progress-title {
  margin-bottom: 20px;
}
form.userform ul.step-buttons {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-left: 0;
}
form.userform ul.step-buttons li:before {
  display: none;
}
form.userform .error-container {
  border: 2px solid #e5243e;
  margin-bottom: 20px;
  padding: 10px;
}
form.userform .error-container h4 {
  color: #e5243e;
  font-size: 18px;
}

.field {
  margin-bottom: 20px;
}
.field input.text,
.field input.file,
.field select.dropdown,
.field textarea.textarea {
  display: block;
  border: solid 2px rgba(52, 109, 146, 0.4);
  border-radius: 5px;
  padding: 10px;
  transition: border-color 0.3s;
  width: 100%;
}
.field input.text:focus,
.field input.file:focus,
.field select.dropdown:focus,
.field textarea.textarea:focus {
  border-color: rgba(52, 109, 146, 0.8);
  outline: none;
}
.field .optionset .middleColumn > div,
.field .userformsoptionset .middleColumn > div,
.field .checkbox .middleColumn > div {
  margin-bottom: 10px;
}
.field .optionset input,
.field .userformsoptionset input,
.field .checkbox input {
  display: block;
  left: -99999em;
  margin: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  width: 0;
}
.field .optionset input + label,
.field .userformsoptionset input + label,
.field .checkbox input + label {
  cursor: pointer;
  display: inline-block;
  padding-left: 30px;
  position: relative;
}
.field .optionset input + label:before,
.field .userformsoptionset input + label:before,
.field .checkbox input + label:before {
  background-color: transparent;
  border: solid 1px #00aeac;
  color: transparent;
  content: "\f00c";
  display: block;
  font: 400 18px/22px FontAwesome;
  height: 24px;
  left: 0;
  position: absolute;
  top: -1px;
  text-align: center;
  transition: all 0.3s;
  width: 24px;
}
.field .optionset input:focus + label,
.field .userformsoptionset input:focus + label,
.field .checkbox input:focus + label {
  outline: dotted 1px rgba(0, 174, 172, 0.6);
}
.field .optionset input:checked + label:before,
.field .userformsoptionset input:checked + label:before,
.field .checkbox input:checked + label:before {
  color: #fff;
  background-color: #00aeac;
}
.field .optionset.requiredField.checkbox label:after,
.field .userformsoptionset.requiredField.checkbox label:after,
.field .checkbox.requiredField.checkbox label:after {
  margin-left: 20px;
}
.field .optionset.requiredField:not(.checkbox) label:after,
.field .userformsoptionset.requiredField:not(.checkbox) label:after,
.field .checkbox.requiredField:not(.checkbox) label:after {
  display: none;
}
.field .optionset.requiredField:not(.checkbox) legend,
.field .userformsoptionset.requiredField:not(.checkbox) legend,
.field .checkbox.requiredField:not(.checkbox) legend {
  align-items: center;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.field .optionset.requiredField:not(.checkbox) legend:after,
.field .userformsoptionset.requiredField:not(.checkbox) legend:after,
.field .checkbox.requiredField:not(.checkbox) legend:after {
  color: #e5243e;
  content: "Required";
  font-size: 14px;
  font-weight: 400;
  text-align: right;
}
.field .userformsoptionset label:before {
  border-radius: 50%;
}
.field .composite .middleColumn {
  background-color: #e7f1f9;
  padding: 10px;
}

.requiredField label {
  display: flex;
  justify-content: space-between;
}
.requiredField label:after {
  color: #e5243e;
  content: "Required";
  font-size: 14px;
  font-weight: 400;
  text-align: right;
}
.requiredField.error {
  position: relative;
}
.requiredField.error:before {
  background-color: #e5243e;
  bottom: 0;
  content: "";
  display: block;
  left: -15px;
  position: absolute;
  top: 0;
  width: 6px;
}
.requiredField .message {
  color: #e5243e;
  font-size: 14px;
}

#accessibility-links {
  display: block;
  font-size: 14px;
  height: 0;
  left: -99999em;
  position: absolute;
  top: 0;
  opacity: 0;
  overflow: hidden;
  width: 0;
  z-index: -1;
}
#accessibility-links a {
  text-decoration: none;
}
#accessibility-links a:hover, #accessibility-links a:focus {
  outline: none;
  text-decoration: underline;
}
#accessibility-links.active {
  background-color: #fff;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);
  clip: auto;
  height: auto;
  left: 0;
  margin: 0;
  opacity: 1;
  padding: 30px;
  position: fixed;
  width: auto;
  z-index: 1000;
}

#primary-navigation {
  background: linear-gradient(to bottom, #356e93 0%, #3777a1 100%);
  color: #fff;
  font: 600 16px/1.2 "Raleway", sans-serif;
  position: relative;
  z-index: 9999;
}
#primary-navigation nav {
  padding: 20px 0;
  position: relative;
  z-index: 10;
}
#primary-navigation nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#primary-navigation nav ul li {
  margin: 0;
  padding: 0;
}
#primary-navigation nav > ul {
  color: #fff;
  margin-left: -15px;
  margin-right: -15px;
  margin-top: -10px;
}
#primary-navigation nav > ul > li {
  float: left;
  margin-top: 10px;
  padding: 0 15px;
  position: relative;
  text-transform: uppercase;
  white-space: nowrap;
  z-index: 10;
}
#primary-navigation nav > ul > li > a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s;
}
#primary-navigation nav > ul > li > a:hover, #primary-navigation nav > ul > li > a:focus, #primary-navigation nav > ul > li > a.current, #primary-navigation nav > ul > li > a.section {
  color: #4cd2ff;
}
#primary-navigation nav > ul > li > a:hover + .caret a, #primary-navigation nav > ul > li > a:focus + .caret a, #primary-navigation nav > ul > li > a.current + .caret a, #primary-navigation nav > ul > li > a.section + .caret a {
  color: #4cd2ff;
}
#primary-navigation nav > ul > li > .caret {
  display: inline-block;
  margin-left: 6px;
  transition: transform 0.3s;
  vertical-align: bottom;
}
#primary-navigation nav > ul > li > .caret a {
  color: #fff;
  display: block;
  text-decoration: none;
  text-align: center;
  transition: color 0.3s;
}
#primary-navigation nav > ul > li > .caret a:before {
  content: "\f0d7";
  display: block;
  font-family: FontAwesome;
  font-size: 20px;
  height: 16px;
  line-height: 16px;
  width: 16px;
}
#primary-navigation nav > ul > li > .dropdown-menu {
  left: 0;
  padding-top: 6px;
  position: absolute;
  top: 100%;
  visibility: hidden;
  width: 320px;
  z-index: 12;
}
#primary-navigation nav > ul > li > .dropdown-menu > ul {
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 0 12px #404351;
  font-size: 18px;
  font-weight: 500;
  padding: 6px 0;
  text-transform: none;
  width: 100%;
}
#primary-navigation nav > ul > li > .dropdown-menu > ul > li {
  white-space: normal;
}
#primary-navigation nav > ul > li > .dropdown-menu > ul > li + li {
  border-top: solid 1px #ccc;
}
#primary-navigation nav > ul > li > .dropdown-menu > ul > li a {
  color: #333333;
  display: block;
  margin: 0;
  padding: 10px 18px;
  text-decoration: none;
  transition: background-color 0.3s;
}
#primary-navigation nav > ul > li > .dropdown-menu > ul > li a:hover, #primary-navigation nav > ul > li > .dropdown-menu > ul > li a:focus {
  background-color: rgba(0, 174, 172, 0.15);
  color: #333333;
  outline: none;
}
#primary-navigation nav > ul > li.open {
  z-index: 12;
}
#primary-navigation nav > ul > li.open > .caret {
  transform: rotate(180deg);
}
#primary-navigation nav > ul > li.open > .dropdown-menu {
  visibility: visible;
}

@media screen and (max-width: 580px) {
  #primary-navigation {
    font-size: 14px;
  }
  #primary-navigation > nav {
    padding: 14px 0;
  }
}
#secondary-nav {
  font: 400 14px/1.2 "Raleway", sans-serif;
}
#secondary-nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#secondary-nav ul li {
  margin: 0;
  padding: 0;
}
#secondary-nav ul li + li {
  border-top: solid 1px #ccc;
}
#secondary-nav a {
  color: #333333;
  display: block;
  margin: 0;
  padding: 10px 18px;
  text-decoration: none;
  transition: background-color 0.3s;
}
#secondary-nav a.current {
  color: #00aeac;
  font-weight: 600;
}
#secondary-nav a.section {
  color: #184558;
  font-weight: 600;
}
#secondary-nav a:hover, #secondary-nav a:focus {
  background-color: rgba(0, 174, 172, 0.15);
  outline: none;
}
#secondary-nav > ul {
  border-bottom: solid 4px #e7f1f9;
  border-top: solid 4px #e7f1f9;
  margin: 10px 0 0 0;
}
#secondary-nav > ul > li ul {
  border-top: solid 1px #ccc;
}
#secondary-nav > ul > li > ul > li > a {
  padding-left: 36px;
}
#secondary-nav > ul > li > ul > li ul li a {
  padding-left: 54px;
}

#breadcrumbs {
  border-bottom: dotted 1px #00aeac;
  color: #333333;
  font: 500 12px "Raleway", sans-serif;
  padding: 15px 0 13px 0;
  line-height: 1.2;
}
#breadcrumbs a {
  color: #333333;
  text-decoration: none;
}
#breadcrumbs a:hover, #breadcrumbs a:focus {
  text-decoration: underline;
}

@media screen and (max-width: 580px) {
  #breadcrumbs a.home span {
    display: inline-block;
    height: 0;
    overflow: hidden;
    width: 0;
  }
  #breadcrumbs a.home:before {
    content: "\f015";
    display: inline-block;
    margin-right: 2px;
    font-family: FontAwesome;
    font-size: 14px;
  }
}
.MetEventPage figure + .wrapper-cols {
  margin-top: 20px;
}
.MetEventPage .h2-event {
  font-size: 15px;
  font-weight: 700;
  margin-top: 20px !important;
  text-transform: uppercase;
}

.HomePage #alt-title {
  color: #fff;
}
.HomePage #alt-title:before {
  background-image: url("/resources/images/multiline-imagestrip.png");
  opacity: 0.7;
}

.home-banner {
  max-width: 810px;
}
.home-banner.h2, .home-banner.accordion-trigger {
  padding-bottom: 26px;
  color: #fff;
}

.sector-link-buttons {
  margin-left: -4px;
  margin-right: -4px;
  padding-bottom: 36px;
}
.sector-link-buttons > div {
  float: left;
  padding: 0 4px 8px 4px;
}
.sector-link-buttons > div a {
  background-color: #fff;
  border-radius: 25px;
  color: #184558;
  display: block;
  font: 500 18px/50px "Raleway", sans-serif;
  height: 50px;
  margin: 0;
  padding: 0 25px 0 58px;
  position: relative;
  text-decoration: none;
  transition: all 0.3s;
  white-space: nowrap;
}
.sector-link-buttons > div a:before, .sector-link-buttons > div a:after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 14px;
  border-radius: 50%;
  content: "";
  display: block;
  height: 24px;
  left: 22px;
  position: absolute;
  top: 13px;
  width: 24px;
  z-index: 1;
}
.sector-link-buttons > div a:before {
  background-color: #00aeac;
  background-image: url("/resources/images/arrow-thin-right-white.png");
}
.sector-link-buttons > div a:after {
  background-color: #fff;
  background-image: url("/resources/images/arrow-thin-right-aqua.png");
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 2;
}
.sector-link-buttons > div a:hover, .sector-link-buttons > div a:focus {
  background-color: #184558;
  color: #fff;
  outline: none;
}
.sector-link-buttons > div a:hover:after, .sector-link-buttons > div a:focus:after {
  opacity: 1;
}

@media screen and (max-width: 580px) {
  .home-banner {
    font-size: 24px;
  }
  .sector-link-buttons {
    padding-bottom: 30px;
    padding-top: 10px;
  }
  .sector-link-buttons > div a {
    border-radius: 20px;
    font-size: 16px;
    height: 40px;
    line-height: 40px;
    padding: 0 18px 0 38px;
  }
  .sector-link-buttons > div a:before, .sector-link-buttons > div a:after {
    background-size: 12px;
    height: 20px;
    left: 12px;
    top: 10px;
    width: 20px;
  }
}
.landing-image {
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 360px;
}

.tiles {
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 50px;
       column-gap: 50px;
}
.tiles .tile {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  display: table;
  font-size: 18px;
  page-break-inside: avoid;
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
}
.tiles .tile a {
  border: solid 4px #e7f1f9;
  border-radius: 5px;
  color: #333333;
  display: block;
  position: relative;
  margin: 0 0 25px 0;
  padding: 20px;
  text-decoration: none;
  transition: all 0.3s;
}
.tiles .tile a:before, .tiles .tile a:after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 26px;
  border-radius: 50%;
  content: "";
  display: block;
  font-family: FontAwesome;
  height: 46px;
  position: absolute;
  right: 20px;
  top: 15px;
  transition: all 0.3s;
  width: 46px;
}
.tiles .tile a:before {
  background-color: #fff;
  background-image: url("/resources/images/arrow-thin-right-aqua.png");
  opacity: 0;
  z-index: 2;
}
.tiles .tile a:after {
  background-color: #00aeac;
  background-image: url("/resources/images/arrow-thin-right-white.png");
  opacity: 1;
  z-index: 1;
}
.tiles .tile a .h2, .tiles .tile a .accordion-trigger {
  padding-right: 60px;
  transition: color 0.3s;
}
.tiles .tile a:hover, .tiles .tile a:focus {
  background-color: #414351;
  border-color: #414351;
  color: #fff;
  outline: none;
  text-decoration: none;
}
.tiles .tile a:hover:before, .tiles .tile a:focus:before {
  opacity: 1;
}
.tiles .tile a:hover:after, .tiles .tile a:focus:after {
  opacity: 0;
}
.tiles .tile a:hover .h2, .tiles .tile a:hover .accordion-trigger, .tiles .tile a:focus .h2, .tiles .tile a:focus .accordion-trigger {
  color: #fff;
}

.element + .tiles {
  margin-top: 40px !important;
}

@media screen and (max-width: 1000px) {
  .landing-image {
    height: 300px;
  }
  .tiles {
    -moz-column-gap: 26px;
         column-gap: 26px;
  }
}
@media screen and (max-width: 580px) {
  .landing-image {
    height: 180px;
  }
  .tiles {
    -moz-column-count: 1;
         column-count: 1;
  }
  .tiles .tile {
    font-size: 16px;
  }
  .tiles .tile a {
    margin-bottom: 16px;
    padding: 14px;
  }
  .tiles .tile a:before, .tiles .tile a:after {
    background-size: 19px;
    height: 33px;
    right: 14px;
    top: 13px;
    width: 33px;
  }
  .tiles .tile a .h2, .tiles .tile a .accordion-trigger {
    padding-right: 48px;
  }
}
#page-search-wrapper {
  margin-top: 20px;
  position: relative;
}
#page-search-wrapper input {
  display: block;
  border: solid 2px rgba(52, 109, 146, 0.4);
  border-radius: 25px;
  height: 50px;
  padding-left: 20px;
  padding-right: 54px;
  transition: border-color 0.3s;
  width: 100%;
}
#page-search-wrapper input:focus {
  border-color: rgba(52, 109, 146, 0.8);
  outline: none;
}
#page-search-wrapper button {
  background-color: transparent;
  border: none;
  color: rgba(52, 109, 146, 0.5);
  cursor: pointer;
  height: 46px;
  position: absolute;
  margin: 0;
  padding: 0 4px;
  right: 16px;
  top: 2px;
  transition: color 0.3s;
}
#page-search-wrapper button:hover, #page-search-wrapper button:focus {
  color: rgba(52, 109, 146, 0.8);
  outline: none;
}
#page-search-wrapper button:before {
  content: "\f002";
  font: normal 24px/1 FontAwesome;
}

.search-filters {
  border-top: solid 4px #e7f1f9;
  margin-top: 10px;
}
.search-filters > h2 {
  border-bottom: dotted 1px #00aeac;
  color: #184558;
  font: 600 18px "Raleway", sans-serif;
  padding: 10px 0;
}
.search-filters > h2 + form {
  margin-top: 0 !important;
}
.search-filters > h2 a {
  display: none;
}
.search-filters form,
.search-filters fieldset {
  border: none;
  margin: 0;
  padding: 0;
}
.search-filters div.optionset {
  padding: 8px 0 12px 0;
}
.search-filters div.optionset > label.left {
  color: #184558;
  font: 600 15px "Raleway", sans-serif;
}
.search-filters div.optionset ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.search-filters div.optionset ul ul {
  margin-left: 30px;
}
.search-filters div.optionset + div.optionset {
  border-bottom: solid 4px #e7f1f9;
  border-top: solid 4px #e7f1f9;
}

ul.optionset {
  color: #333333;
  list-style-type: none;
  font-family: "Raleway", sans-serif;
  font-size: 15px;
  margin: 0;
  padding: 0;
}
ul.optionset li {
  margin: 4px 0 0 0;
  min-height: 24px;
  padding: 0;
}
ul.optionset li input:not(oldbrowsers) {
  display: block;
  left: -99999em;
  margin: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  width: 0;
}
ul.optionset li input:not(oldbrowsers) + label {
  cursor: pointer;
  display: inline-block;
  padding-left: 30px;
  position: relative;
}
ul.optionset li input:not(oldbrowsers) + label:before {
  background-color: transparent;
  border: solid 1px #00aeac;
  color: transparent;
  content: "\f00c";
  display: block;
  font: 400 18px/22px FontAwesome;
  height: 24px;
  left: 0;
  position: absolute;
  top: -1px;
  text-align: center;
  transition: all 0.3s;
  width: 24px;
}
ul.optionset li input:not(oldbrowsers):focus + label {
  outline: dotted 1px rgba(0, 174, 172, 0.6);
}
ul.optionset li input:not(oldbrowsers):checked + label:before {
  color: #fff;
  background-color: #00aeac;
}

.btn-apply-filters {
  margin: 8px 0;
}

.search-filters input.action, .search-filters form.userform div.userform-progress input.step-button-jump, form.userform div.userform-progress .search-filters input.step-button-jump, .search-filters form.userform ul.step-buttons input.step-button-prev, form.userform ul.step-buttons .search-filters input.step-button-prev,
.search-filters form.userform ul.step-buttons input.step-button-next,
form.userform ul.step-buttons .search-filters input.step-button-next {
  background-color: #fff;
  border: solid 2px rgba(52, 109, 146, 0.4);
  border-radius: 25px;
  cursor: pointer;
  display: block;
  height: 50px;
  padding: 0 20px;
  transition: border-color 0.3s;
}
.search-filters input.action:hover, .search-filters form.userform div.userform-progress input.step-button-jump:hover, form.userform div.userform-progress .search-filters input.step-button-jump:hover, .search-filters form.userform ul.step-buttons input.step-button-prev:hover, form.userform ul.step-buttons .search-filters input.step-button-prev:hover,
.search-filters form.userform ul.step-buttons input.step-button-next:hover,
form.userform ul.step-buttons .search-filters input.step-button-next:hover, .search-filters input.action:focus, .search-filters form.userform div.userform-progress input.step-button-jump:focus, form.userform div.userform-progress .search-filters input.step-button-jump:focus, .search-filters form.userform ul.step-buttons input.step-button-prev:focus, form.userform ul.step-buttons .search-filters input.step-button-prev:focus,
.search-filters form.userform ul.step-buttons input.step-button-next:focus,
form.userform ul.step-buttons .search-filters input.step-button-next:focus {
  border-color: rgba(52, 109, 146, 0.8);
  outline: none;
}

#mobile-filters {
  position: absolute;
  right: 0;
  top: 100%;
  width: 300px;
  z-index: 12;
}
#mobile-filters .search-filters {
  background-color: #fff;
  border-bottom-color: transparent;
  margin-top: 0;
}
#mobile-filters .search-filters h2 {
  position: relative;
  padding-left: 16px;
  padding-right: 20px;
}
#mobile-filters .search-filters h2 a {
  display: block;
  position: absolute;
  right: 6px;
  top: 10px;
  text-decoration: none;
}
#mobile-filters .search-filters h2 a:before {
  color: #00aeac;
  content: "\f055";
  font-family: FontAwesome;
  font-size: 20px;
  line-height: 1;
  text-decoration: none;
}
#mobile-filters .search-filters form {
  height: 0;
  overflow: hidden;
  overflow-y: auto;
}
#mobile-filters .search-filters div.optionset {
  padding-left: 16px;
  padding-right: 20px;
}
#mobile-filters.open {
  right: -20px;
  width: 320px;
}
#mobile-filters.open .search-filters {
  border-bottom-color: #e7f1f9;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
  max-height: 560px;
  overflow-y: auto;
}
#mobile-filters.open .search-filters h2 a {
  right: 26px;
}
#mobile-filters.open .search-filters h2 a:before {
  content: "\f056";
}
#mobile-filters.open .search-filters form {
  height: auto;
}

#site-search-results {
  list-style-type: none;
  margin: 20px 0 0 0;
  padding: 0;
}
#site-search-results > li {
  border-bottom: solid 4px #e7f1f9;
  margin: 0;
  padding: 20px 0;
}
#site-search-results > li:first-child {
  border-top: solid 4px #e7f1f9;
}
#site-search-results > li .linked-resources {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#site-search-results > li .linked-resources > li {
  margin-top: 6px;
}
#site-search-results > li .linked-resources > li a {
  font-weight: 500;
  display: inline-block;
  padding-left: 32px;
  position: relative;
}
#site-search-results > li .linked-resources > li a:before {
  background-color: #00aeac;
  border-radius: 50%;
  color: #fff;
  content: "";
  display: block;
  font: 400 13px/24px FontAwesome;
  height: 24px;
  left: 0;
  margin: 0;
  overflow: hidden;
  padding: 0 0 0 1px;
  position: absolute;
  text-align: center;
  top: 0;
  width: 24px;
}
#site-search-results > li .linked-resources > li a.internal.document:before {
  content: "\f0f6";
}
#site-search-results > li .linked-resources > li a.internal.page:before {
  content: "\f016";
}
#site-search-results > li .linked-resources > li a.external:before {
  content: "\f08e";
}

.pagination {
  margin: 30px 0 0 0;
  padding: 0;
  text-align: center;
}
.pagination > * {
  display: inline-block;
  padding: 0 0 6px 2px;
}
.pagination > *:first-child {
  padding-left: 0;
}
.pagination > * > * {
  background-color: #e7f1f9;
  color: #333333;
  display: block;
  height: 34px;
  font: 500 16px/32px "Raleway", sans-serif;
  min-width: 34px;
  overflow: hidden;
  text-align: center;
  text-decoration: none;
}
.pagination > * > *.current {
  background-color: #184558;
  color: #fff;
}
.pagination > * > a {
  text-decoration: none;
  transition: all 0.3s;
}
.pagination > * > a:hover, .pagination > * > a:focus {
  background-color: #00aeac;
  color: #fff;
  outline: none;
  text-decoration: none;
}

@media screen and (max-width: 1000px) {
  .h2.summary, .summary.accordion-trigger,
  .h2.results-help,
  .results-help.accordion-trigger {
    padding-right: 330px;
  }
  #mobile-filters {
    padding: 12px 0 0 0;
  }
}
@media screen and (max-width: 580px) {
  .h2.summary, .summary.accordion-trigger,
  .h2.results-help,
  .results-help.accordion-trigger {
    padding-right: 0;
    padding-top: 80px;
  }
  #mobile-filters {
    left: 0;
    right: 0;
    width: auto;
  }
  #mobile-filters .search-filters h2 {
    padding-left: 0;
    padding-right: 16px;
  }
  #mobile-filters .search-filters h2 a {
    right: 6px;
    top: 10px;
  }
  #mobile-filters .search-filters div.optionset {
    padding-left: 16px;
    padding-right: 16px;
  }
  #mobile-filters.open {
    left: -16px;
    right: -16px;
    width: auto;
  }
  #mobile-filters.open .search-filters {
    max-height: 520px;
  }
  #mobile-filters.open .search-filters h2 {
    padding-left: 16px;
  }
  #mobile-filters.open .search-filters h2 a {
    right: 22px;
  }
  #site-search-results {
    margin-top: 14px;
  }
  #site-search-results > li .linked-resources > li a:before {
    top: -2px;
  }
}