@charset "UTF-8";
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, main, input, textarea {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
}

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

ol, ul {
  list-style: none;
}

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

html {
  overflow-y: -moz-scrollbars-vertical;
  overflow-y: scroll;
}

body * {
  box-sizing: border-box;
}

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

@font-face {
  font-family: "Myriad Web Pro";
  src: url("../assets/fonts/MyriadWebPro.woff2") format("woff2"), url("../assets/fonts/MyriadWebPro.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Myriad Web Pro";
  src: url("../assets/fonts/MyriadWebPro-Bold.woff2") format("woff2"), url("../assets/fonts/MyriadWebPro-Bold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../assets/fontsHelveticaNeue-Thin.woff2") format("woff2"), url("../assets/fontsHelveticaNeue-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../assets/fonts/HelveticaNeueW02-45Light.woff2") format("woff2"), url("../assets/fonts/HelveticaNeueW02-45Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Helvetica Neue";
  src: url("../assets/fonts/HelveticaNeue-Medium.woff2") format("woff2"), url("../assets/fonts/HelveticaNeue-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
.button {
  background-color: #73c4e9;
  color: #FFF;
  text-decoration: none;
  border-radius: 4px;
  padding: 0.5rem;
  cursor: pointer;
  display: inline-block;
  margin: 1rem 0;
}
.button:hover {
  background-color: #f2699d;
}

.cta_button {
  background-color: #f2699d;
  color: #FFF;
  text-decoration: none;
  border-radius: 4px;
  padding: 0.5rem;
  cursor: pointer;
}
.cta_button:hover {
  background-color: #73c4e9;
}

#top {
  display: none;
  background-color: #73c4e9;
  padding: 0.5rem;
  border-radius: 4px;
  border: none;
  position: fixed;
  z-index: 99;
  right: 1rem;
  bottom: 1rem;
  cursor: pointer;
}
#top:hover {
  background-color: #f2699d;
}
#top svg {
  width: 1.5rem;
  height: 1.5rem;
}
@media (min-width: 960px) {
  #top {
    right: 3rem;
    bottom: 3rem;
  }
}

a {
  cursor: pointer;
}

/*!
 * baguetteBox.js
 * @author  feimosi
 * @version %%INJECT_VERSION%%
 * @url https://github.com/feimosi/baguetteBox.js
 */
#baguetteBox-overlay {
  display: none;
  opacity: 0;
  position: fixed;
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000000;
  background-color: #222;
  background-color: rgba(0, 0, 0, 0.8);
  transition: opacity 0.5s ease;
}
#baguetteBox-overlay.visible {
  opacity: 1;
}
#baguetteBox-overlay .full-image {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
}
#baguetteBox-overlay .full-image figure {
  display: inline;
  margin: 0;
  height: 100%;
}
#baguetteBox-overlay .full-image img {
  display: inline-block;
  width: auto;
  height: auto;
  max-height: 100%;
  max-width: 100%;
  vertical-align: middle;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
#baguetteBox-overlay .full-image figcaption {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  line-height: 1.8;
  white-space: normal;
  color: #ccc;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.6);
  font-family: sans-serif;
}
#baguetteBox-overlay .full-image:before {
  content: "";
  display: inline-block;
  height: 50%;
  width: 1px;
  margin-right: -1px;
}

#baguetteBox-slider {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  white-space: nowrap;
  transition: left 0.4s ease, transform 0.4s ease;
}
#baguetteBox-slider.bounce-from-right {
  animation: bounceFromRight 0.4s ease-out;
}
#baguetteBox-slider.bounce-from-left {
  animation: bounceFromLeft 0.4s ease-out;
}

@keyframes bounceFromRight {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: -30px;
  }
  100% {
    margin-left: 0;
  }
}
@keyframes bounceFromLeft {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: 30px;
  }
  100% {
    margin-left: 0;
  }
}
.baguetteBox-button#previous-button, .baguetteBox-button#next-button {
  top: 50%;
  top: calc(50% - 30px);
  width: 44px;
  height: 60px;
}

.baguetteBox-button {
  position: absolute;
  cursor: pointer;
  outline: none;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 15%;
  background-color: #323232;
  background-color: rgba(50, 50, 50, 0.5);
  color: #ddd;
  font: 1.6em sans-serif;
  transition: background-color 0.4s ease;
}
.baguetteBox-button:focus, .baguetteBox-button:hover {
  background-color: rgba(50, 50, 50, 0.9);
}
.baguetteBox-button#next-button {
  right: 2%;
}
.baguetteBox-button#previous-button {
  left: 2%;
}
.baguetteBox-button#close-button {
  top: 20px;
  right: 2%;
  right: calc(2% + 6px);
  width: 30px;
  height: 30px;
}
.baguetteBox-button svg {
  position: absolute;
  left: 0;
  top: 0;
}

/*
    Preloader
    Borrowed from http://tobiasahlin.com/spinkit/
*/
.baguetteBox-spinner {
  width: 40px;
  height: 40px;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
}

.baguetteBox-double-bounce1,
.baguetteBox-double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  animation: bounce 2s infinite ease-in-out;
}

.baguetteBox-double-bounce2 {
  animation-delay: -1s;
}

@keyframes bounce {
  0%, 100% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
}
/*-------------------------------------*\
	HINT.css - A CSS tooltip library
\*-------------------------------------*/
/**
 * HINT.css is a tooltip library made in pure CSS.
 *
 * Source: https://github.com/chinchang/hint.css
 * Demo: http://kushagragour.in/lab/hint/
 *
 */
/**
 * source: hint-core.scss
 *
 * Defines the basic styling for the tooltip.
 * Each tooltip is made of 2 parts:
 * 	1) body (:after)
 * 	2) arrow (:before)
 *
 * Classes added:
 * 	1) hint
 */
[class*=hint--] {
  position: relative;
  display: inline-block;
  /**
   * tooltip arrow
   */
  /**
   * tooltip body
   */
}
[class*=hint--]:before, [class*=hint--]:after {
  position: absolute;
  transform: translate3d(0, 0, 0);
  visibility: hidden;
  opacity: 0;
  z-index: 1000000;
  pointer-events: none;
  transition: 0.3s ease;
  transition-delay: 0ms;
}
[class*=hint--]:hover:before, [class*=hint--]:hover:after {
  visibility: visible;
  opacity: 1;
}
[class*=hint--]:hover:before, [class*=hint--]:hover:after {
  transition-delay: 100ms;
}
[class*=hint--]:before {
  content: "";
  position: absolute;
  background: transparent;
  border: 6px solid transparent;
  background-color: hsl(0deg, 0%, 22%);
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%);
  z-index: 1000001;
}
[class*=hint--]:after {
  background: hsl(0deg, 0%, 22%);
  color: white;
  padding: 8px 10px;
  font-size: 1rem;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1rem;
  white-space: nowrap;
}
[class*=hint--][aria-label]:after {
  content: attr(aria-label);
}
[class*=hint--][data-hint]:after {
  content: attr(data-hint);
}

[aria-label=""]:before, [aria-label=""]:after,
[data-hint=""]:before,
[data-hint=""]:after {
  display: none !important;
}

/**
 * source: hint-position.scss
 *
 * Defines the positoning logic for the tooltips.
 *
 * Classes added:
 * 	1) hint--top
 * 	2) hint--bottom
 * 	3) hint--left
 * 	4) hint--right
 */
/**
 * top tooltip
 */
.hint--top {
  --rotation: 135deg;
}
.hint--top:before {
  margin-bottom: -5.5px;
  transform: rotate(var(--rotation));
}
.hint--top:before, .hint--top:after {
  bottom: 100%;
  left: 50%;
}
.hint--top:before {
  left: calc(
			50% - 6px
		);
}
.hint--top:after {
  transform: translateX(-50%);
}
.hint--top:hover:before {
  transform: translateY(-8px) rotate(var(--rotation));
}
.hint--top:hover:after {
  transform: translateX(-50%) translateY(-8px);
}

/**
 * bottom tooltip
 */
.hint--bottom {
  --rotation: -45deg;
}
.hint--bottom:before {
  margin-top: -5.5px;
  transform: rotate(var(--rotation));
}
.hint--bottom:before, .hint--bottom:after {
  top: 100%;
  left: 50%;
}
.hint--bottom:before {
  left: calc(
			50% - 6px
		);
}
.hint--bottom:after {
  transform: translateX(-50%);
}
.hint--bottom:hover:before {
  transform: translateY(8px) rotate(var(--rotation));
}
.hint--bottom:hover:after {
  transform: translateX(-50%) translateY(8px);
}

/**
 * right tooltip
 */
.hint--right {
  --rotation: -135deg;
}
.hint--right:before {
  margin-left: -5.5px;
  margin-bottom: -6px;
  transform: rotate(var(--rotation));
}
.hint--right:after {
  margin-bottom: calc(-1 * (1rem + 16px) / 2);
}
.hint--right:before, .hint--right:after {
  left: 100%;
  bottom: 50%;
}
.hint--right:hover:before {
  transform: translateX(8px) rotate(var(--rotation));
}
.hint--right:hover:after {
  transform: translateX(8px);
}

/**
 * left tooltip
 */
.hint--left {
  --rotation: 45deg;
}
.hint--left:before {
  margin-right: -5.5px;
  margin-bottom: -6px;
  transform: rotate(var(--rotation));
}
.hint--left:after {
  margin-bottom: calc(-1 * (1rem + 16px) / 2);
}
.hint--left:before, .hint--left:after {
  right: 100%;
  bottom: 50%;
}
.hint--left:hover:before {
  transform: translateX(-8px) rotate(var(--rotation));
}
.hint--left:hover:after {
  transform: translateX(-8px);
}

/**
 * top-left tooltip
 */
.hint--top-left {
  --rotation: 135deg;
}
.hint--top-left:before {
  margin-bottom: -5.5px;
  transform: rotate(var(--rotation));
}
.hint--top-left:before, .hint--top-left:after {
  bottom: 100%;
  left: 50%;
}
.hint--top-left:before {
  left: calc(
			50% - 6px
		);
}
.hint--top-left:after {
  transform: translateX(-100%);
}
.hint--top-left:after {
  margin-left: 12px;
}
.hint--top-left:hover:before {
  transform: translateY(-8px) rotate(var(--rotation));
}
.hint--top-left:hover:after {
  transform: translateX(-100%) translateY(-8px);
}

/**
 * top-right tooltip
 */
.hint--top-right {
  --rotation: 135deg;
}
.hint--top-right:before {
  margin-bottom: -5.5px;
  transform: rotate(var(--rotation));
}
.hint--top-right:before, .hint--top-right:after {
  bottom: 100%;
  left: 50%;
}
.hint--top-right:before {
  left: calc(
			50% - 6px
		);
}
.hint--top-right:after {
  transform: translateX(0);
}
.hint--top-right:after {
  margin-left: -12px;
}
.hint--top-right:hover:before {
  transform: translateY(-8px) rotate(var(--rotation));
}
.hint--top-right:hover:after {
  transform: translateY(-8px);
}

/**
 * bottom-left tooltip
 */
.hint--bottom-left {
  --rotation: -45deg;
}
.hint--bottom-left:before {
  margin-top: -5.5px;
  transform: rotate(var(--rotation));
}
.hint--bottom-left:before, .hint--bottom-left:after {
  top: 100%;
  left: 50%;
}
.hint--bottom-left:before {
  left: calc(
			50% - 6px
		);
}
.hint--bottom-left:after {
  transform: translateX(-100%);
}
.hint--bottom-left:after {
  margin-left: 12px;
}
.hint--bottom-left:hover:before {
  transform: translateY(8px) rotate(var(--rotation));
}
.hint--bottom-left:hover:after {
  transform: translateX(-100%) translateY(8px);
}

/**
 * bottom-right tooltip
 */
.hint--bottom-right {
  --rotation: -45deg;
}
.hint--bottom-right:before {
  margin-top: -5.5px;
  transform: rotate(var(--rotation));
}
.hint--bottom-right:before, .hint--bottom-right:after {
  top: 100%;
  left: 50%;
}
.hint--bottom-right:before {
  left: calc(
			50% - 6px
		);
}
.hint--bottom-right:after {
  transform: translateX(0);
}
.hint--bottom-right:after {
  margin-left: -12px;
}
.hint--bottom-right:hover:before {
  transform: translateY(8px) rotate(var(--rotation));
}
.hint--bottom-right:hover:after {
  transform: translateY(8px);
}

/**
 * source: hint-sizes.scss
 *
 * Defines width restricted tooltips that can span
 * across multiple lines.
 *
 * Classes added:
 * 	1) hint--small
 * 	2) hint--medium
 * 	3) hint--large
 * 	4) hint--fit
 *
 */
.hint--small:after,
.hint--medium:after,
.hint--large:after,
.hint--fit:after {
  box-sizing: border-box;
  white-space: normal;
  line-height: 1.4em;
  word-wrap: break-word;
}

.hint--small:after {
  width: 80px;
}

.hint--medium:after {
  width: 150px;
}

.hint--large:after {
  width: 300px;
}

.hint--fit:after {
  width: 100%;
}

/**
 * source: hint-theme.scss
 *
 * Defines basic theme for tooltips.
 *
 */
[class*=hint--] {
  /**
   * tooltip body
   */
}
[class*=hint--]:after {
  text-shadow: 0 1px 0px black;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.3);
}

/**
 * source: hint-color-types.scss
 *
 * Contains tooltips of various types based on color differences.
 *
 * Classes added:
 * 	1) hint--error
 * 	2) hint--warning
 * 	3) hint--info
 * 	4) hint--success
 *
 */
/**
 * Error
 */
.hint--error:after {
  background-color: hsl(1deg, 40%, 50%);
  text-shadow: 0 1px 0px #592726;
}
.hint--error:before {
  background-color: hsl(1deg, 40%, 50%);
}

/**
 * Warning
 */
.hint--warning:after {
  background-color: hsl(38deg, 46%, 54%);
  text-shadow: 0 1px 0px #6c5328;
}
.hint--warning:before {
  background-color: hsl(38deg, 46%, 54%);
}

/**
 * Info
 */
.hint--info:after {
  background-color: hsl(200deg, 50%, 45%);
  text-shadow: 0 1px 0px #1a3c4d;
}
.hint--info:before {
  background-color: hsl(200deg, 50%, 45%);
}

/**
 * Success
 */
.hint--success:after {
  background-color: hsl(121deg, 32%, 40%);
  text-shadow: 0 1px 0px #1a321a;
}
.hint--success:before {
  background-color: hsl(121deg, 32%, 40%);
}

/**
 * source: hint-always.scss
 *
 * Defines a persisted tooltip which shows always.
 *
 * Classes added:
 * 	1) hint--always
 *
 */
.hint--always:after, .hint--always:before {
  opacity: 1;
  visibility: visible;
}
.hint--always.hint--top:before {
  transform: translateY(-8px) rotate(var(--rotation));
}
.hint--always.hint--top:after {
  transform: translateX(-50%) translateY(-8px);
}
.hint--always.hint--top-left:before {
  transform: translateY(-8px) rotate(var(--rotation));
}
.hint--always.hint--top-left:after {
  transform: translateX(-100%) translateY(-8px);
}
.hint--always.hint--top-right:before {
  transform: translateY(-8px) rotate(var(--rotation));
}
.hint--always.hint--top-right:after {
  transform: translateY(-8px);
}
.hint--always.hint--bottom:before {
  transform: translateY(8px) rotate(var(--rotation));
}
.hint--always.hint--bottom:after {
  transform: translateX(-50%) translateY(8px);
}
.hint--always.hint--bottom-left:before {
  transform: translateY(8px) rotate(var(--rotation));
}
.hint--always.hint--bottom-left:after {
  transform: translateX(-100%) translateY(8px);
}
.hint--always.hint--bottom-right:before {
  transform: translateY(8px) rotate(var(--rotation));
}
.hint--always.hint--bottom-right:after {
  transform: translateY(8px);
}
.hint--always.hint--left:before {
  transform: translateX(-8px) rotate(var(--rotation));
}
.hint--always.hint--left:after {
  transform: translateX(-8px);
}
.hint--always.hint--right:before {
  transform: translateX(8px) rotate(var(--rotation));
}
.hint--always.hint--right:after {
  transform: translateX(8px);
}

/**
 * source: hint-rounded.scss
 *
 * Defines rounded corner tooltips.
 *
 * Classes added:
 * 	1) hint--rounded
 *
 */
.hint--rounded:before {
  border-radius: 0 4px 0 0;
}
.hint--rounded:after {
  border-radius: 4px;
}

/**
 * source: hint-effects.scss
 *
 * Defines various transition effects for the tooltips.
 *
 * Classes added:
 * 	1) hint--no-animate
 * 	2) hint--bounce
 *
 */
.hint--no-animate:before, .hint--no-animate:after {
  transition-duration: 0ms;
}

.hint--bounce:before, .hint--bounce:after {
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s cubic-bezier(0.71, 1.7, 0.77, 1.24);
}

@supports (transition-timing-function: linear(0, 1)) {
  .hint--bounce:before, .hint--bounce:after {
    --spring-easing: linear(
    	0,
    	0.009,
    	0.035 2.1%,
    	0.141 4.4%,
    	0.723 12.9%,
    	0.938,
    	1.077 20.4%,
    	1.121,
    	1.149 24.3%,
    	1.159,
    	1.163 27%,
    	1.154,
    	1.129 32.8%,
    	1.051 39.6%,
    	1.017 43.1%,
    	0.991,
    	0.977 51%,
    	0.975 57.1%,
    	0.997 69.8%,
    	1.003 76.9%,
    	1
    );
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.5s var(--spring-easing);
  }
}
.hint--no-shadow:before, .hint--no-shadow:after {
  text-shadow: initial;
  box-shadow: initial;
}

.hint--no-arrow:before {
  display: none;
}

h1, h2, h3, h4 {
  font-family: "Myriad Web Pro";
  font-weight: 400;
  font-style: normal;
  margin: 1rem 0;
}

h1 {
  font-size: 1.5rem;
}
@media (min-width: 960px) {
  h1 {
    font-size: 2rem;
  }
}

h2 {
  font-size: 1.125rem;
  color: #00578b;
  border-bottom: 1px solid #00578b;
}
@media (min-width: 960px) {
  h2 {
    font-size: 1.25rem;
  }
}

h3 {
  margin: 1rem 0;
}

p {
  margin: 1rem 0;
}
p strong {
  font-weight: 500;
}
p em {
  font-style: italic;
}

a {
  color: #00578b;
}

.menu a {
  font-family: "Myriad Web Pro";
  font-weight: 700;
  font-style: normal;
}

.bubble ul {
  margin: 1rem;
}
.bubble ul li strong {
  font-weight: 500;
}
.bubble ul li em {
  font-style: italic;
}
.bubble ul li:not(:last-child) {
  margin-bottom: 0.5rem;
}
.bubble ul li:before {
  content: url("/site/templates/build/assets/img/bubble-small.png");
  margin-right: 0.5rem;
}
.bubble blockquote {
  background-color: #faf9f9;
  border-left: 5px solid #9e9995;
  margin: 1.5rem 10px;
  padding: 0.5rem;
  quotes: "“" "”" "‘" "’";
}
.bubble blockquote:before {
  color: #9e9995;
  content: open-quote;
  font-size: 4rem;
  line-height: 0.1rem;
  vertical-align: -1rem;
}
.bubble blockquote p {
  display: inline-block;
  margin: 0 2rem 1rem 2rem;
  font-style: italic;
}

ol {
  margin: 1rem 0 1rem 2rem;
  text-indent: 0.5rem;
  list-style-type: decimal;
}
ol li:not(:last-child) {
  margin-bottom: 0.5rem;
}

html {
  font-family: "Helvetica Neue", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 18px;
  color: #000;
  line-height: 1.5;
  position: relative;
  height: 100%;
  hyphens: auto;
}

.wrapper {
  max-width: 90%;
  margin: 0 auto;
}
@media (min-width: 1300px) {
  .wrapper {
    max-width: 1300px;
  }
}

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

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
  background: #000;
  color: #fff;
  padding: 0.5rem 1rem;
  z-index: 999;
}

header {
  position: relative;
  padding-top: 100px;
}
@media (min-width: 960px) {
  header {
    padding-top: 0;
    max-width: 90%;
    margin: 0 auto;
  }
}
@media (min-width: 1300px) {
  header {
    max-width: 1300px;
  }
}
header .page-header_logo {
  position: absolute;
  left: 1rem;
  top: 0;
}
header .page-header_logo img {
  width: 200px;
  padding: 0.5rem 0;
}
@media (min-width: 960px) {
  header .page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

.menu label[for=menu-trigger] {
  position: absolute;
  right: 1rem;
  top: 0;
  cursor: pointer;
}
.menu label[for=menu-trigger] svg {
  width: 30px;
}
.menu_trigger, .menu_trigger ~ ul {
  display: none;
}
.menu_trigger:checked ~ ul {
  display: block;
}
.menu_trigger-label {
  position: absolute;
  right: 1rem;
  top: 16px;
  transform: translateY(50%);
  cursor: pointer;
  display: flex;
  justify-content: center;
}
.menu_trigger-label:after {
  content: url("/site/templates/build/assets/svg/plus-white.svg");
  transform-origin: center;
  transition: all 0.3s;
  display: block;
}
.menu_trigger:checked + .menu_trigger-label:after {
  transform: rotate(45deg);
}
.menu > ul {
  background-color: #515256;
  color: #FFF;
  position: relative;
  top: 100%;
  z-index: 1000;
}
.menu > ul li {
  position: relative;
  width: 100%;
  border-bottom: 1px solid #FFF;
}
.menu > ul li:last-child {
  border-bottom: none;
}
.menu > ul a {
  font-family: "Myriad Web Pro";
  font-weight: 400;
  letter-spacing: 1px;
  color: #FFF;
  text-decoration: none;
  display: block;
  padding: 2rem 1rem;
}
.menu > ul ul a {
  padding: 1rem;
  font-weight: 400;
}

@media (min-width: 960px) {
  .menu {
    margin-left: auto;
  }
  .menu_trigger, .menu_trigger-label,
.menu label[for=main-menu-trigger] {
    display: none;
  }
  .menu > ul {
    display: flex;
    justify-content: space-between;
    top: 0;
    background-color: #FFF;
  }
  .menu > ul li {
    width: auto;
    border-bottom: none;
    margin-right: 1.5rem;
  }
  .menu > ul li:last-child {
    margin-right: 0rem;
  }
}
@media (min-width: 960px) and (min-width: 1300px) {
  .menu > ul li {
    margin-right: 3rem;
  }
}
@media (min-width: 960px) {
  .menu > ul li a {
    color: #000;
    padding: 2rem 0;
    text-transform: uppercase;
  }
  .menu > ul li a.active {
    text-decoration: underline;
  }
}
@media (min-width: 960px) {
  .menu > ul > li > ul {
    display: none;
    position: absolute;
    z-index: 1;
    top: 100%;
    padding: 3rem 0;
    transition: all 0.4s ease;
  }
  .menu > ul > li > ul a {
    display: block;
  }
}
@media (min-width: 960px) {
  .menu > ul > li  {
    position: static;
    z-index: 10;
  }
}
@media (min-width: 960px) {
  .menu > ul > li:hover > ul {
    display: block;
    z-index: 10;
    padding: 0rem;
    transition: all 0.5s ease;
  }
  .menu > ul > li:hover > ul li {
    cursor: pointer;
    display: block;
    padding: 0 1rem;
    border-bottom: 1px solid #FFF;
    background: #00578b;
    width: 100%;
    hyphens: none;
  }
  .menu > ul > li:hover > ul li:last-child {
    border-bottom: none;
  }
  .menu > ul > li:hover > ul li a {
    color: #FFF;
  }
}
.hero {
  position: relative;
  margin-bottom: 2rem;
}
.hero a {
  cursor: pointer;
}
.hero_image {
  position: relative;
}
.hero_image img {
  display: block;
  width: 100%;
}
.hero_image span.copyright {
  position: absolute;
  right: 1%;
  bottom: 1%;
  color: #fff;
}
.hero_content {
  background-color: #00578b;
  color: #FFF;
  padding: 2rem 0;
  z-index: 100;
  hyphens: none;
}
.hero_cta {
  position: absolute;
  right: 1rem;
  bottom: 0;
  transform: translateY(50%);
}
@media (min-width: 1300px) {
  .hero_cta {
    right: 20%;
  }
}

.blog {
  margin-top: 1rem;
}
.blog_item {
  margin: 2rem auto;
}
.blog_item:not(:last-child) {
  border-bottom: 1px solid #9e9995;
}
.blog_item > a {
  color: #000;
  text-decoration: none;
}
@media (min-width: 960px) {
  .blog_item > a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 2rem 0;
  }
  .blog_item > a:nth-child(even) {
    flex-direction: row-reverse;
  }
  .blog_item > a span.copyright {
    justify-content: flex-start;
  }
}
.blog_item > a .blog_image {
  display: flex;
  flex-direction: column;
}
@media (min-width: 960px) {
  .blog_item > a .blog_image {
    width: 48%;
  }
}
.blog_item > a .blog_image img {
  object-fit: cover;
}
@media (min-width: 960px) {
  .blog_item > a .blog_info {
    width: 48%;
  }
}
.blog_item > a .blog_info div {
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 100%;
  margin-bottom: 1rem;
}
.blog_item > a .blog_info div img {
  width: 1.5rem;
  margin-left: 1rem;
  transform: rotate(90deg);
}
.blog_pagination {
  margin: 1rem auto;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 0.25rem;
}
.blog_pagination a {
  border: 1px solid #9e9995;
  padding: 0.5rem;
  text-decoration: none;
  background: #FFF;
  color: #000;
  border-radius: 4px;
}
.blog_pagination a.active, .blog_pagination a:hover {
  background: #73c4e9;
  color: #FFF;
  border: 1px solid #00578b;
}
.blog_navigation {
  margin: 2rem auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
.blog_navigation a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.25rem;
  background-color: #73c4e9;
  color: #FFF;
  text-decoration: none;
  border-radius: 4px;
  padding: 0.5rem;
  cursor: pointer;
}
.blog_navigation a:hover {
  text-decoration: underline;
}
.blog_topics {
  display: none;
}
@media (min-width: 960px) {
  .blog_topics {
    margin: 2rem auto;
    display: block;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem 0.25rem;
  }
  .blog_topics li a {
    background-color: #9e9995;
    color: #FFF;
    font-size: 0.75rem;
    text-decoration: none;
    border-radius: 4px;
    padding: 0.25rem;
    cursor: pointer;
  }
  .blog_topics li a:hover {
    text-decoration: underline;
  }
}

.filter {
  display: flex;
  flex-direction: column;
  position: relative;
  background: #515256;
  color: #FFF;
  border-radius: 4px;
  font-family: "Myriad Web Pro";
  font-weight: normal;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  padding: 0.5rem;
}
@media (min-width: 960px) {
  .filter {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
  }
}
.filter_trigger {
  display: none;
}
.filter_label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  gap: 0.5rem;
  background: linear-gradient(to bottom, #95908d 0, #8b8280 6%, #706763 51%, #6a625d 93%, #5d5552 100%);
  border-radius: 4px;
  border: 1px solid #FFF;
  padding: 0.5rem;
  width: 100%;
}
.filter_label svg {
  width: 1rem;
  height: 1rem;
}
@media (min-width: 960px) {
  .filter_label {
    width: auto;
    min-width: 30%;
  }
}
.filter_nav {
  display: none;
  position: static;
  margin-top: 0.5rem;
  list-style: none;
  border: 1px solid #FFF;
  border-radius: 4px;
  background-color: #515256;
  width: 100%;
}
@media (min-width: 960px) {
  .filter_nav {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10;
    width: 30%;
    margin-top: 0;
  }
}
.filter_nav li {
  display: flex;
  height: 40px;
  width: 100%;
  border-bottom: 1px solid #FFF;
}
.filter_nav li:last-child {
  border-bottom: none;
}
.filter_nav li a {
  display: block;
  padding: 0.5rem 1rem;
  color: #FFF;
  text-decoration: none;
}
.filter_nav li a.active {
  text-decoration: underline;
}
.filter_trigger:checked + .filter_label + .filter_nav {
  display: block;
}
.filter_checkboxes {
  margin-top: 1rem;
}
@media (min-width: 960px) {
  .filter_checkboxes {
    width: auto;
    margin-top: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
  }
}
.filter_checkboxes div input[type=checkbox] {
  margin-right: 0.25rem;
}

.no-results {
  margin: 2rem auto;
}

.flyout-badges {
  display: none;
}
@media (min-width: 960px) {
  .flyout-badges {
    display: block;
    position: fixed;
    right: 0;
    top: 10rem;
    z-index: 20;
  }
  .flyout-badges li {
    background-color: #f2699d;
    padding: 0.5rem;
    border-radius: 4px;
    border: none;
  }
  .flyout-badges li:not(:last-child) {
    margin-bottom: 0.5rem;
  }
  .flyout-badges li a {
    display: flex;
    justify-content: center;
    align-content: center;
  }
  .flyout-badges li a svg {
    width: 1rem;
  }
}
@media (min-width: 1300px) {
  .flyout-badges {
    top: 15rem;
  }
  .flyout-badges li a svg {
    width: 1.5rem;
  }
}

footer {
  background-color: #00578b;
  color: #FFF;
  padding-top: 2rem;
  position: relative;
  hyphens: none;
}
@media (min-width: 1300px) {
  footer {
    padding-top: 0;
    margin-top: 1rem;
  }
  footer .footer-columns {
    display: flex;
    justify-content: space-between;
    padding: 2rem 0;
  }
}
footer .footer-columns > div {
  padding: 1rem 0;
}
@media (min-width: 960px) {
  footer .footer-columns > div h4 {
    font-size: 1.125rem;
  }
}
@media (min-width: 1300px) {
  footer .footer-columns > div {
    width: 30%;
  }
}
footer .footer-socials ul {
  display: flex;
  align-items: center;
}
footer .footer-socials ul li:not(:last-child) {
  margin-right: 1rem;
}
footer .footer-socials ul img {
  height: 25px;
  width: auto;
}
footer .footer-menu ul {
  margin-top: 1rem;
}
footer .footer-news {
  padding-bottom: 3rem !important;
}
footer a {
  color: #FFF;
}
footer .footer-legals {
  background-color: #FFF;
}
footer .footer-legals ul {
  display: flex;
}
footer .footer-legals ul li:not(:last-child) {
  margin-right: 0.5rem;
}
footer .footer-legals ul a {
  color: #000;
  font-size: 0.75rem;
}

.accordion {
  margin: 2rem auto;
}
@media (min-width: 960px) {
  .accordion .accordion-list-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: start;
  }
}
@media (min-width: 960px) {
  .accordion .accordion-list {
    width: 49%;
  }
}
.accordion .accordion-list li {
  border-bottom: 1px solid #00578b;
}
.accordion .accordion-list summary {
  outline: none;
  list-style: none;
}
.accordion .accordion-list summary img {
  width: 1.5rem;
}
.accordion .accordion-list details > summary::-webkit-details-marker {
  display: none;
}
.accordion .accordion-list details[open] img.accordion_trigger {
  display: none;
}
.accordion .accordion-list details[open] img.accordion_trigger_close {
  display: block;
  justify-self: end;
  margin: 1rem 0;
}
.accordion .accordion-list_headline {
  display: grid;
  grid-template-columns: 90% 1fr;
}
.accordion .accordion-list_headline:hover {
  cursor: pointer;
}
.accordion .accordion-list_headline h3 {
  border-bottom: none;
}
.accordion .accordion-list_headline img.accordion_trigger {
  display: block;
  justify-self: end;
  margin: 1rem 0;
}
.accordion .accordion-list_headline img.accordion_trigger_close {
  display: none;
}
.accordion .accordion-list_text {
  font-weight: 300;
}
.accordion .accordion-list_text p {
  margin-top: 0;
}
.accordion .accordion-list_text ul li {
  border-bottom: none;
  margin-bottom: 1rem;
}

.cta {
  background-color: #00578b;
  color: #FFF;
  margin: 5rem auto;
  padding: 2rem 0;
  text-align: center;
}
.cta h2 {
  color: #FFF;
}
.cta p {
  margin-bottom: 2rem;
}

.categories {
  margin: 2rem auto;
  padding-bottom: 3rem;
}
@media (min-width: 960px) {
  .categories {
    padding-bottom: 0;
  }
}
.categories ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.categories ul li {
  width: 100%;
  visibility: visible;
  opacity: 1 !important;
}
.categories ul li a {
  color: #000;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1rem;
}
.categories ul li a img {
  margin-bottom: 1rem;
  width: 100px;
  height: auto;
  background-color: #00578b;
}
.categories ul li a img:hover {
  background-color: #e2dedf;
}

.contact {
  margin: 2rem auto;
}
@media (min-width: 720px) {
  .contact_details {
    display: flex;
    gap: 2rem;
  }
}
.contact_details > div {
  display: flex;
  align-items: center;
}
.contact_details > div svg {
  width: 50px;
  margin-right: 1rem;
}

.courses {
  margin: 2rem auto;
}
.courses_item {
  box-shadow: 0 5px 10px 0 rgba(38, 46, 59, 0.15);
  padding: 2rem;
}
.courses_item a {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  text-decoration: none;
  color: #000;
}
.courses_item h3 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.courses_item h3 img {
  width: 30px;
  height: 30px;
}
.courses_item .course-details {
  margin: 1rem 0;
}
.courses_item .course-details li {
  margin: 0.5rem 0;
}
.courses_item ul.course-options {
  margin-bottom: 1rem;
  display: flex;
  justify-content: flex-end;
}
.courses_item ul.course-options li {
  color: #FFF;
  font-size: 0.75rem;
  padding: 0.15rem 0.25rem;
  border-radius: 4px;
  cursor: help;
}
.courses_item ul.course-options li:not(:last-child) {
  margin-right: 0.25rem;
}
.courses_item ul.course-options li.grey {
  background-color: #9e9995;
}
.courses_item ul.course-options li.blue {
  background-color: #00578b;
}
.courses_item ul.course-options li.pink {
  background-color: #f2699d;
}
.courses_item ul.course-options li.violet {
  background-color: #b499d3;
}
.courses_item .course-links {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  color: #00578b;
  text-decoration: underline;
}
.courses_item .course-links img {
  width: 100px;
  background-color: #e2dedf;
}
.courses .course-slider {
  margin-top: 1rem;
  display: flex;
}
.courses .course-slider article {
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
.courses .tns-inner {
  padding: 0rem 0.25rem 1rem 0.25rem;
}
.courses .course-list {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.courses .course-list article {
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
@media (min-width: 720px) {
  .courses .course-list {
    gap: 1rem 1%;
  }
  .courses .course-list article {
    margin: 0 auto;
    width: 32%;
  }
}
@media (min-width: 960px) {
  .courses .course-list {
    gap: 1rem 1%;
  }
  .courses .course-list article {
    margin: 0;
    width: 24%;
  }
}
.courses_cta {
  background-color: #00578b;
  margin: 5rem auto;
  padding: 2rem 0;
  text-align: center;
}

.credentials {
  margin: 2rem auto;
  padding-bottom: 3rem;
}
.credentials_slider {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 960px) {
  .credentials_slider {
    margin: 2rem auto;
  }
}
.credentials_slider li a {
  display: flex;
  justify-content: center;
  align-items: center;
}
.credentials_slider li a img {
  display: block;
  margin: 0 auto;
  height: 100px;
  object-fit: contain;
}
.credentials_logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
@media (min-width: 720px) {
  .credentials_logos {
    gap: 2rem;
  }
}
.credentials_logos li {
  margin: 2rem auto;
  width: 45%;
}
@media (min-width: 720px) {
  .credentials_logos li {
    width: 30%;
  }
}
@media (min-width: 960px) {
  .credentials_logos li {
    width: 20%;
  }
}
.credentials_logos li a {
  display: flex;
  justify-content: center;
  align-items: center;
}
.credentials_logos li a img {
  display: block;
  margin: 0 auto;
  height: 100px;
  width: auto;
  object-fit: contain;
}

.form {
  margin: 2rem auto;
  background-color: #00578b;
  color: #FFF;
  padding: 2rem 0;
  text-align: center;
}
.form h2 {
  color: #FFF;
}
.form_content {
  padding: 1rem 0;
}
.form_content .form_buttons {
  margin: 1rem auto;
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.form a.button {
  background-color: #f2699d;
}
.form .close {
  display: none;
}
.form details summary::-webkit-details-marker,
.form details summary::marker {
  display: none;
  content: "";
}
.form details[open] {
  background-color: white;
  border-radius: 4px;
}
.form details[open] .open {
  display: none;
}
.form details[open] .close {
  display: block;
  width: fit-content;
  margin-left: auto;
  color: #FFF;
  text-decoration: underline;
}
.form details[open] div {
  padding: 2rem;
  background-color: #FFF;
  border-radius: 4px;
}

.gallery {
  margin: 2rem auto;
  padding-bottom: 3rem;
}
.gallery img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.image {
  margin: 2rem auto;
}
@media (min-width: 720px) {
  .image img {
    width: 960px;
  }
}
@media (min-width: 960px) {
  .image img {
    width: 1300px;
  }
}

.text-image {
  margin: 2rem auto;
}
.text-image_image {
  position: relative;
}
.text-image_image span.copyright {
  position: absolute;
  right: 1%;
  bottom: 1%;
}
@media (min-width: 960px) {
  .text-image_item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 2rem 0;
  }
  .text-image_item .text-image_image, .text-image_item .text-image_info {
    width: 48%;
  }
}
@media (min-width: 960px) {
  .text-image_item .text-image_image {
    width: 35%;
  }
  .text-image_item .text-image_info {
    width: 60%;
  }
}

.reverse-order {
  flex-direction: row-reverse;
}

.testimonials {
  margin: 2rem auto;
  padding-bottom: 3rem;
}
.testimonials div:first-child {
  margin-top: 1rem;
}
.testimonials .js-slider {
  margin-top: 1rem;
  display: flex;
}
.testimonials .js-slider article {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.testimonials .testimonial_item {
  border: 1px solid #00578b;
  border-radius: 4px;
  padding: 1rem;
}
.testimonials .testimonial_item blockquote {
  margin-bottom: auto;
}
@media (min-width: 720px) {
  .testimonials .testimonial_item {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    padding: 3rem;
  }
}
.testimonials .testimonial_item p {
  margin: 0;
}
.testimonials .testimonial_item .testimonial_name {
  font-weight: 600;
  margin-top: 1rem;
}
.testimonials .testimonial_item .testimonial_company {
  font-size: 0.75rem;
  font-style: italic;
  color: #515256;
}
.testimonials a {
  color: #00578b;
}

.text {
  margin: 3rem auto;
}
.text h2 {
  border-bottom: none;
}

.embedded-video {
  margin: 3rem auto;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}
.embedded-video iframe {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

#CommentForm label {
  font-weight: 500;
}
#CommentForm input, #CommentForm textarea {
  margin: 0;
  box-sizing: border-box;
  height: 40px;
  max-width: 100%;
  width: 100%;
  padding: 0 10px;
  border: 1px solid #ddd;
  background: #fbfbfb;
  vertical-align: middle;
  display: inline-block;
}
#CommentForm textarea {
  height: 250px;
}
#CommentForm button {
  background-color: #f2699d;
  color: #FFF;
  text-decoration: none;
  border-radius: 4px;
  border: none;
  padding: 0.5rem 1rem;
  cursor: pointer;
  display: inline-block;
  margin: 1rem 0;
  font-size: 16px;
}
#CommentForm button:hover {
  background-color: #73c4e9;
}

.CommentList .CommentHeader .CommentCite {
  font-weight: 500;
  border-bottom: 1px solid #00578b;
}
.CommentList .CommentHeader .CommentCreated {
  font-size: 0.875rem;
  color: #515256;
}
.CommentList .CommentText {
  font-style: italic;
}

span.copyright {
  font-size: 0.75rem;
  color: #9e9995;
  display: flex;
  justify-content: end;
  margin: 0.25rem 0;
}

.tns-outer {
  position: relative;
}
.tns-outer .tns-controls {
  background-color: #73c4e9;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 1rem;
}
.tns-outer .tns-controls > button {
  background-color: #73c4e9;
  border: none;
  border-radius: 4px;
  display: flex;
  padding: 0.5rem;
}
.tns-outer .tns-controls > button svg {
  width: 1rem;
  height: 1rem;
}

.tns-outer {
  position: relative;
}
.tns-outer .tns-nav {
  color: #73c4e9;
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 1rem;
}
.tns-outer .tns-nav > button {
  background-color: #9e9995;
  border: none;
  border-radius: 50%;
  display: flex;
  padding: 0.5rem;
}
.tns-outer .tns-nav > button.tns-nav-active {
  background-color: #73c4e9;
}