@charset "UTF-8";
/**
 * BASE STYLING
 */
/*------------------------------------*\
    DESIGN SYSTEM BASE
\*------------------------------------*/
/**
 * SETTINGS
 */
/*------------------------------------*\
    COLOUR DEFINITIONS
\*------------------------------------*/
/*------------------------------------*\
    GRID SETTINGS
\*------------------------------------*/
/*------------------------------------*\
    TRANSITION
    Variables and helpers for CSS transitions
\*------------------------------------*/
/*------------------------------------*\
    TYPE
\*------------------------------------*/
/**
 * TOOLS
 */
/*------------------------------------*\
    MIXINS
\*------------------------------------*/
/**
 * Mixin to enforce consistency on block-style links, e.g. search results,
 * category items, etc
 */
/**
 * blocklink variant
 */
/**
 * Animated underscore used on logo images
 */
/**
 * Mixin to enforce consistent margins on "block" elements, e.g. blockquotes,
 * info notes, accordions, etc
 */
/**
 * Mixin to enforce consistent open/close icons,
 * mobile section nav, accordions, etc
 */
#bp-small,
#bp-medium,
#bp-large,
#bp-xlarge {
  display: none; }

@media (min-width: 480px) {
  #bp-small {
    display: block; } }
@media (min-width: 768px) {
  #bp-medium {
    display: block; } }
@media (min-width: 992px) {
  #bp-large {
    display: block; } }
@media (min-width: 1200px) {
  #bp-xlarge {
    display: block; } }
/**
 * GENERIC
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  text-decoration: none; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/*------------------------------------*\
    RESET (INUITCSS)
\*------------------------------------*/
/**
 * As well as using normalize.css, it is often advantageous to remove all
 * margins from certain elements.
 */
body,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
dl, dd, ol, ul,
form, fieldset, legend,
figure,
table, th, td, caption,
hr {
  margin: 0;
  padding: 0; }

/**
 * Give a help cursor to elements that give extra info on `:hover`.
 */
abbr[title],
dfn[title] {
  cursor: help; }

/**
 * Remove underlines from potentially troublesome elements.
 */
u,
ins {
  text-decoration: none; }

/**
 * Apply faux underlines to inserted text via `border-bottom`.
 */
ins {
  border-bottom: 1px solid; }

/*------------------------------------*\
    BOX-SIZING (INUITCSS)
\*------------------------------------*/
/**
 * Set the global `box-sizing` state to `border-box`.
 *
 * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 * paulirish.com/2012/box-sizing-border-box-ftw
 */
html {
  box-sizing: border-box; }

*, *::before, *::after {
  box-sizing: inherit; }

/**
 * HELPERS
 */
/*------------------------------------*\
    MARGIN MODIFIERS
\*------------------------------------*/
.ds_no-margin {
  margin: 0 !important; }

.ds_no-margin--top {
  margin-top: 0 !important; }

.ds_no-margin--right {
  margin-right: 0 !important; }

.ds_no-margin--bottom {
  margin-bottom: 0 !important; }

.ds_no-margin--left {
  margin-left: 0 !important; }

.ds_no-margin--vertical {
  margin-bottom: 0 !important;
  margin-top: 0 !important; }

.ds_no-margin--horizontal {
  margin-left: 0 !important;
  margin-right: 0 !important; }

/*------------------------------------*\
    PADDING MODIFIERS
\*------------------------------------*/
.ds_no-padding {
  padding: 0 !important; }

.ds_no-padding--top {
  padding-top: 0 !important; }

.ds_no-padding--right {
  padding-right: 0 !important; }

.ds_no-padding--bottom {
  padding-bottom: 0 !important; }

.ds_no-padding--left {
  padding-left: 0 !important; }

.ds_no-padding--vertical {
  padding-bottom: 0 !important;
  padding-top: 0 !important; }

.ds_no-padding--horizontal {
  padding-left: 0 !important;
  padding-right: 0 !important; }

/*------------------------------------*\
    VISIBILITY
\*------------------------------------*/
.visually-hidden {
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  overflow: hidden;
  position: absolute !important; }

.fully-hidden {
  display: none !important; }

/*------------------------------------*\
    WRAPPERS
\*------------------------------------*/
.ds_wrapper {
  margin: 0 auto;
  padding: 0 16px;
  width: 100%; }
  .ds_wrapper--no-overflow {
    overflow: hidden; }

@media (min-width: 768px) {
  .ds_wrapper {
    width: 768px; } }
@media (min-width: 992px) {
  .ds_wrapper {
    width: 960px; } }
@media (min-width: 1200px) {
  .ds_wrapper {
    width: 1152px; } }
/**
 * BEHAVIOUR
 */
html,
body {
  scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
  html,
  body {
    scroll-behavior: auto; } }
/**
 * TYPE
 */
/*------------------------------------*\
    BODY
\*------------------------------------*/
html {
  font-size: 16px; }

body {
  background: #ffffff;
  color: #333333;
  font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  line-height: 24px;
  margin: 0;
  text-rendering: optimizeLegibility; }

@media (min-width: 768px) {
  html {
    font-size: 19px; }

  body {
    line-height: 32px; } }
/*------------------------------------*\
    HEADINGS
\*------------------------------------*/
h1, .alpha {
  font-size: 30px;
  font-weight: 700;
  line-height: 40px;
  margin-bottom: 32px;
  text-rendering: optimizeLegibility; }
  @media (min-width: 768px) {
    h1, .alpha {
      font-size: 44px; } }

h2, h3, h4,
.beta, .gamma, .delta {
  font-weight: 700;
  text-rendering: optimizeLegibility; }

h2, .beta {
  font-size: 22px;
  line-height: 32px;
  margin-bottom: 8px; }
  @media (min-width: 768px) {
    h2, .beta {
      font-size: 30px; } }
  h2:not(:first-child), .beta:not(:first-child) {
    margin-top: 32px; }

h3, .gamma {
  font-size: 19px;
  line-height: 24px;
  margin-bottom: 8px; }
  @media (min-width: 768px) {
    h3, .gamma {
      font-size: 22px; } }
  h3:not(:first-child), .gamma:not(:first-child) {
    margin-top: 24px; }

h4, .delta {
  font-size: 16px;
  line-height: 24px; }
  @media (min-width: 768px) {
    h4, .delta {
      font-size: 19px; } }

h5, .epsilon {
  font-size: 14px;
  font-weight: 700;
  line-height: 24px; }
  @media (min-width: 768px) {
    h5, .epsilon {
      font-size: 16px; } }

@media (min-width: 768px) {
  h1, .alpha {
    line-height: 56px; }

  h2, .beta {
    line-height: 40px;
    margin-bottom: 16px; }
    h2:not(:first-child), .beta:not(:first-child) {
      margin-top: 40px; }

  h3, .gamma {
    line-height: 32px; } }
/*------------------------------------*\
    LEADER
\*------------------------------------*/
.ds_leader {
  font-size: 19px;
  font-weight: 300;
  line-height: 32px;
  margin-bottom: 32px; }
  @media (min-width: 768px) {
    .ds_leader {
      font-size: 24px; } }
  .ds_leader--first-paragraph {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    margin-bottom: inherit; }
    .ds_leader--first-paragraph > p:first-child {
      font-size: 19px;
      font-weight: 300;
      margin-bottom: 32px; }
      @media (min-width: 768px) {
        .ds_leader--first-paragraph > p:first-child {
          font-size: 24px; } }

@media (min-width: 768px) {
  .ds_leader {
    line-height: 40px;
    margin-bottom: 40px; }
    .ds_leader--first-paragraph {
      font-size: inherit;
      font-weight: inherit;
      line-height: inherit;
      margin-bottom: inherit; }
      .ds_leader--first-paragraph > p:first-child {
        line-height: 40px;
        margin-bottom: 40px; } }
/*------------------------------------*\
    LINKS
\*------------------------------------*/
a,
.ds_link {
  color: #0065bd;
  text-decoration: underline;
  outline: 2px solid transparent;
  transition: color 0.2s, background-color 0.2s, outline 0.2s; }
  a:hover,
  .ds_link:hover {
    background-color: #d9effc;
    color: #00437e;
    outline: 2px solid #d9effc;
    transition-duration: 0.2s; }
  a:focus,
  .ds_link:focus {
    background-color: #fdd522;
    box-shadow: -2px 5px #333333, 2px 5px #333333;
    color: #333333;
    outline: 2px solid #fdd522;
    outline-offset: 0;
    text-decoration: none;
    transition-duration: 0s; }
  a > svg,
  .ds_link > svg {
    fill: currentColor; }

.ds_link {
  background: transparent;
  border: 0;
  display: inline;
  margin: 0;
  padding: 0; }

.ds_reversed a,
.ds_reversed .ds_link {
  color: currentColor; }
  .ds_reversed a:focus,
  .ds_reversed .ds_link:focus {
    color: #333333; }
  .ds_reversed a:hover,
  .ds_reversed .ds_link:hover {
    color: #00437e; }

a[disabled] {
  pointer-events: none; }

h1 a, h2 a, h3 a, h4 a {
  text-decoration: none; }
  h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover {
    text-decoration: underline; }

/*------------------------------------*\
    LISTS
\*------------------------------------*/
.ds_no-bullets {
  list-style-type: none;
  margin-left: 0; }

/*------------------------------------*\
    SMALL
\*------------------------------------*/
small,
.ds_small {
  font-size: 14px; }
  @media (min-width: 768px) {
    small,
    .ds_small {
      font-size: 16px; } }

.ds_tiny {
  font-size: 12px; }
  @media (min-width: 768px) {
    .ds_tiny {
      font-size: 14px; } }

/*------------------------------------*\
    $BASE SPACING
\*------------------------------------*/
/**
 * Based on the super fantastic work shown here: csswizardry.com/2012/06/single-direction-margin-declarations
 */
/**
 * Elements
 */
h1, h2, h3, h4, h5, h6,
ul, ol, dl,
blockquote, p, address,
table,
fieldset, figure,
pre {
  margin: 0 0 16px; }

/**
 * `hr` elements only take up a few pixels, so we need to give them special
 * treatment regarding vertical rhythm.
 */
hr {
  margin: 0 0 16px; }

/**
 * Where `margin-left` is concerned we want to try and indent certain elements
 * by a consistent amount. Define that amount once, here.
 */
ul, ol, dd {
  margin-left: 24px; }

li {
  margin-bottom: 8px; }

/**
 * ELEMENTS
 */
/*------------------------------------*\
    ICON
\*------------------------------------*/
.ds_icon {
  fill: currentColor;
  height: calc(24em/16);
  vertical-align: middle;
  width: calc(24em/16); }

@media (min-width: 768px) {
  .ds_icon {
    height: calc(24em/19);
    width: calc(24em/19); } }
.ds_icon--12 {
  width: 12px;
  height: 12px; }

.ds_icon--16 {
  width: 16px;
  height: 16px; }

.ds_icon--20 {
  width: 20px;
  height: 20px; }

.ds_icon--24 {
  width: 24px;
  height: 24px; }

.ds_icon--28 {
  width: 28px;
  height: 28px; }

.ds_icon--32 {
  width: 32px;
  height: 32px; }

.ds_icon--36 {
  width: 36px;
  height: 36px; }

.ds_icon--40 {
  width: 40px;
  height: 40px; }

.ds_icon--44 {
  width: 44px;
  height: 44px; }

.ds_icon--48 {
  width: 48px;
  height: 48px; }

.ds_icon--52 {
  width: 52px;
  height: 52px; }

.ds_icon--56 {
  width: 56px;
  height: 56px; }

.ds_icon--60 {
  width: 60px;
  height: 60px; }

.ds_icon--64 {
  width: 64px;
  height: 64px; }

.ds_icon--68 {
  width: 68px;
  height: 68px; }

.ds_icon--72 {
  width: 72px;
  height: 72px; }

.ds_icon--76 {
  width: 76px;
  height: 76px; }

.ds_icon--80 {
  width: 80px;
  height: 80px; }

.ds_icon--fill {
  width: 100%;
  height: 100%; }

/*------------------------------------*\
    ABBREVIATIONS
    Improved display of abbreviation styling with better readability than browser default
\*------------------------------------*/
/*
 * [1] consider limiting this in scope to <article> elements or some other containing element to
 * reduce risk of unintended side-effects
 * [2] only apply this if there is a title attribute
 */
/* [1] */
abbr[title], acronym[title] {
  /* [2] */
  position: relative;
  text-decoration: none; }
  abbr[title]::after, acronym[title]::after {
    border-bottom: 1px dotted currentColor;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: calc(100% - 2px); }

/*------------------------------------*\
    ADDRESS
\*------------------------------------*/
address {
  font-style: normal; }

/*------------------------------------*\
    BUTTONS
\*------------------------------------*/
button,
input[type="button"],
input[type="submit"],
.ds_button {
  background: #0065bd;
  border: 0;
  border-radius: 0;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 24px;
  min-height: 56px;
  min-width: 56px;
  outline-width: 0;
  padding: 16px;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s;
  margin-top: 32px;
  margin-bottom: 32px; }
  @media (min-width: 768px) {
    button,
    input[type="button"],
    input[type="submit"],
    .ds_button {
      font-size: 16px; } }
  button:hover,
  input[type="button"]:hover,
  input[type="submit"]:hover,
  .ds_button:hover {
    background-color: #00437e;
    color: #ffffff;
    transition-duration: 0.2s; }
  button:focus,
  input[type="button"]:focus,
  input[type="submit"]:focus,
  .ds_button:focus {
    background-color: #fdd522;
    box-shadow: 0 3px #333333;
    color: #333333;
    outline-color: #fdd522;
    outline-width: 0;
    transition-duration: 0s; }
  button .ds_icon,
  input[type="button"] .ds_icon,
  input[type="submit"] .ds_icon,
  .ds_button .ds_icon {
    pointer-events: none; }
  button[disabled],
  input[type="button"][disabled],
  input[type="submit"][disabled],
  .ds_button[disabled] {
    background-color: #727272;
    box-shadow: none;
    color: #ffffff;
    font-weight: 400;
    outline: none;
    pointer-events: none; }

.ds_reversed .ds_button {
  background-color: #ffffff;
  color: #0065bd; }
  .ds_reversed .ds_button:focus, .ds_reversed .ds_button:hover:focus {
    background-color: #fdd522; }
  .ds_reversed .ds_button:hover {
    background-color: #d9effc; }
  .ds_reversed .ds_button--secondary {
    background-color: transparent;
    border-color: currentColor;
    color: #ffffff; }
    .ds_reversed .ds_button--secondary:hover:not(:focus) {
      background-color: rgba(0, 101, 189, 0.3);
      color: #ffffff; }

.ds_button--secondary {
  background-color: transparent;
  color: #0065bd;
  outline: 2px solid currentColor;
  outline-offset: -2px; }
  .ds_button--secondary:hover:not(:focus) {
    background-color: #d9effc;
    color: #00437e; }
.ds_button--cancel {
  background-color: transparent;
  color: #333333;
  outline: 2px solid currentColor;
  outline-offset: -2px; }
  .ds_button--cancel:hover:not(:focus) {
    background-color: #ebebeb;
    color: #333333; }

.ds_button--small {
  font-size: 14px;
  min-height: 48px;
  min-width: 48px;
  padding-top: 12px;
  padding-bottom: 12px; }
  @media (min-width: 768px) {
    .ds_button--small {
      font-size: 16px; } }

.ds_button--fixed {
  width: 200px; }
  .ds_button--fixed.ds_button--small {
    width: 160px; }
.ds_button--max {
  max-width: 480px;
  width: 100%; }

.ds_button-group {
  margin-top: 32px;
  margin-bottom: 32px; }
  .ds_button-group > .ds_button {
    margin: 0 0 24px; }
    .ds_button-group > .ds_button:last-child {
      margin-bottom: 0; }

.ds_button .ds_icon {
  bottom: 0;
  box-sizing: initial;
  height: 40px;
  padding: 8px;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  width: 40px; }
.ds_button--small .ds_icon {
  height: 32px;
  padding: 8px;
  width: 32px; }
.ds_button--has-icon {
  padding-right: calc(56px + 16px); }
.ds_button--has-icon--left {
  padding-left: calc(56px + 16px);
  padding-right: 16px; }
  .ds_button--has-icon--left .ds_icon {
    left: 0;
    right: auto; }

/*------------------------------------*\
    LAYOUT
\*------------------------------------*/
.ds_layout {
  margin-right: -32px;
  overflow: hidden;
  margin-bottom: 91px; }
  .ds_layout > *[class] {
    margin-right: 32px; }
  @supports (display: grid) {
    .ds_layout {
      display: grid;
      grid-gap: 0 32px;
      margin-right: 0;
      overflow: visible; }
      .ds_layout > *[class] {
        margin-left: 0;
        margin-right: 0;
        width: auto; } }
  .ds_layout__content img, .ds_layout__partner img {
    max-width: 100%; }

@media (min-width: 768px) {
  .ds_layout__feedback {
    clear: left;
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--article .ds_layout__header {
    clear: left;
    float: left;
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--article .ds_layout__partner {
    float: left;
    width: calc(100% * 0.33333 - 32px); }
  .ds_layout--article .ds_layout__sidebar {
    float: left;
    width: calc(100% * 0.33333 - 32px); }
  .ds_layout--article .ds_layout__content {
    clear: left;
    float: left;
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--guide .ds_layout__header {
    clear: left;
    float: left;
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--guide .ds_layout__partner {
    float: left;
    width: calc(100% * 0.33333 - 32px); }
  .ds_layout--guide .ds_layout__navigation {
    clear: left;
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--guide .ds_layout__content {
    clear: left;
    float: left;
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--guide .ds_layout__sidebar {
    float: left;
    width: calc(100% * 0.25 - 32px);
    margin-left: calc(100% * 0.08333); }
  .ds_layout--guide .ds_layout__feedback {
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--category-list .ds_layout__list {
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--category-list .ds_layout__grid {
    width: calc(100% * 1 - 32px); }
  .ds_layout--search-results .ds_layout__content {
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--search-results .ds_layout__list {
    width: calc(100% * 0.83333 - 32px); } }
@media (min-width: 992px) {
  .ds_layout--article .ds_layout__content {
    clear: left;
    float: left;
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--article .ds_layout__sidebar {
    float: left;
    margin-left: calc(100% * 0.08333);
    width: calc(100% * 0.25 - 32px); }
  .ds_layout--guide .ds_layout__content {
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--guide .ds_layout__sidebar {
    float: left;
    margin-left: calc(100% * 0.08333);
    width: calc(100% * 0.25 - 32px); }
  .ds_layout--guide .ds_layout__feedback {
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--search-results .ds_layout__list {
    width: calc(100% * 0.66667 - 32px); } }
@supports (display: grid) {
  /**
   * GRID KEY
   * c: content
   * f: feedback
   * h: header
   * l: list (e.g. category items, search results)
   * n: navigation (e.g. subpages of a publication or guide)
   * p: partner branding
   * s: sidebar
   */
  body .ds_layout > *[class] {
    margin-left: 0;
    margin-right: 0;
    width: auto; }

  .ds_layout {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
    grid-template-areas: 'h h' 'p p' 'c c' 's s' 'f f';
    margin-right: 0;
    margin-bottom: 0; }
    .ds_layout__content {
      grid-area: c; }
    .ds_layout__feedback {
      grid-area: f; }
    .ds_layout__header {
      grid-area: h; }
    .ds_layout__list {
      grid-area: l; }
    .ds_layout__grid {
      grid-area: g; }
    .ds_layout__navigation {
      grid-area: n; }
    .ds_layout__partner {
      grid-area: p;
      align-self: start;
      margin-top: 32px;
      margin-bottom: 32px; }
    .ds_layout__sidebar {
      grid-area: s; }
    .ds_layout--category-list {
      grid-template-areas: 'h h' 'c c' 'l l' 'g g' 'f f'; }
    .ds_layout--guide {
      grid-template-areas: "h h" "p p" "n n" "c c" "s s" "f f"; }

  @media (min-width: 480px) {
    .ds_layout {
      grid-template-columns: repeat(6, 1fr);
      grid-template-areas: 'h h h h h h' 'p p p p p p' 'c c c c c c' 's s s s s s' 'f f f f f f'; }
      .ds_layout--category-list {
        grid-template-areas: 'h h h h h h' 'c c c c c c' 'l l l l l l' 'g g g g g g' 'f f f f f f'; }
      .ds_layout--guide {
        grid-template-areas: "h h h h h h" "p p p p p p" "n n n n n n" "c c c c c c" "s s s s s s" "f f f f f f"; } }
  @media (min-width: 768px) {
    .ds_layout {
      grid-template-columns: repeat(12, 1fr); }
      .ds_layout--article {
        grid-template-areas: 'h h h h h h h h p p p p' 'c c c c c c c c s s s s' 'f f f f f f f f . . . .'; }
      .ds_layout--guide {
        grid-template-areas: "h h h h h h h h p p p p" "n n n n n n n n . . . ." "c c c c c c c c s s s s" "f f f f f f f f . . . ."; }
      .ds_layout--category-list {
        grid-template-areas: 'h h h h h h h h h h h h' 'c c c c c c c c c c c c' 'l l l l l l l l . . . .' 'g g g g g g g g g g g g' 'f f f f f f f f . . . .'; }
      .ds_layout--search-results {
        grid-template-areas: 'h h h h h h h h h h h h' 'c c c c c c c c . . . .' 'l l l l l l l l l l . .'; } }
  @media (min-width: 992px) {
    .ds_layout--article {
      grid-template-areas: 'h h h h h h h h . p p p' 'c c c c c c c c . s s s' 'f f f f f f f f . . . .'; }
    .ds_layout--guide {
      grid-template-areas: "h h h h h h h h . p p p" "n n n n n n n n . . . ." "c c c c c c c c . s s s" "f f f f f f f f . . . ."; }
    .ds_layout--search-results {
      grid-template-areas: 'h h h h h h h h h h h h' 'c c c c c c c c . . . .' 'l l l l l l l l . . . .'; } } }
/*------------------------------------*\
    PAGE SETUP
    anchor footer to bottom of the viewport on short pages
\*------------------------------------*/
html {
  min-height: 100%;
  position: relative; }

.ds_page {
  min-height: calc(100vh - 360px);
  margin-bottom: 360px; }

.ds_site-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0; }

@supports (display: grid) {
  .ds_page {
    display: grid;
    margin-bottom: 0;
    min-height: 100vh;
    grid-template: 'page-top' auto 'page-middle' 1fr 'page-bottom' auto; }
    .ds_page__top {
      grid-area: page-top; }
    .ds_page__middle {
      grid-area: page-middle; }
    .ds_page__bottom {
      grid-area: page-bottom; }

  .ds_site-footer {
    position: static; } }
/*------------------------------------*\
    CATEGORY PAGE LAYOUT
\*------------------------------------*/
.ds_page__middle {
  display: grid;
  grid-template-rows: auto 1fr;
  position: relative; }

.category-lower {
  padding-bottom: 72px;
  background: #f8f8f8;
  border-top: 1px solid #ebebeb;
  margin-top: -1px; }

/*------------------------------------*\
    DESIGN SYSTEM FORMS
\*------------------------------------*/
/*------------------------------------*\
    FORM VARIABLES
\*------------------------------------*/
/*------------------------------------*\
    FORM MIXINS
\*------------------------------------*/
/*------------------------------------*\
    FORM ELEMENTS (base)
\*------------------------------------*/
legend {
  font-size: 19px;
  font-weight: bold;
  margin-bottom: 8px; }
  @media (min-width: 768px) {
    legend {
      font-size: 22px; } }

fieldset {
  border: 0; }

/*------------------------------------*\
    CHARACTER COUNT
\*------------------------------------*/
.ds_character-count {
  margin-top: -16px; }

/*------------------------------------*\
    CHECKBOXES
\*------------------------------------*/
.ds_checkbox {
  margin-bottom: 24px;
  padding-left: 40px;
  position: relative;
  /**
   * [1] minimum size of radio/checkbox for WCAG AAA
   */
  /* focus */
  /* checked */
  /*
   * [1] this negative margin makes the small checkboxes/radios align left with content
   */
  /* hover */
  /* hover-focus */ }
  .ds_checkbox__input {
    height: 44px;
    /* [1] */
    left: -2px;
    opacity: 0;
    position: absolute;
    top: -2px;
    width: 44px; }
  .ds_checkbox__label {
    display: inline-block;
    padding: 4px 32px 4px 16px; }
  .ds_checkbox__label::before {
    background-color: #ffffff;
    border: 2px solid #333333;
    content: '';
    height: 40px;
    left: 0;
    position: absolute;
    width: 40px; }
  .ds_checkbox__label::after {
    content: "";
    position: absolute;
    bottom: calc(100% - 40px);
    left: 0;
    right: calc(100% - 40px);
    opacity: 0; }
  .ds_checkbox__label::before, .ds_checkbox__label::after {
    top: -4px; }
    @media (min-width: 768px) {
      .ds_checkbox__label::before, .ds_checkbox__label::after {
        top: 0; } }
  .ds_checkbox__input:focus + .ds_checkbox__label::before {
    border-width: 4px;
    box-shadow: 0 0 0 3px #fdd522; }
  .ds_checkbox__input:checked + .ds_checkbox__label::before {
    border-color: #333333; }
  .ds_checkbox__input:checked + .ds_checkbox__label::after {
    opacity: 1; }
  .ds_checkbox--small {
    margin-bottom: 16px;
    margin-left: -8px;
    /* [1] */ }
  .ds_checkbox--small .ds_checkbox__label::before {
    height: 24px;
    left: 8px;
    top: 8px;
    width: 24px; }
  .ds_checkbox--small .ds_checkbox__label::after {
    bottom: calc(100% - 30px);
    left: 10px;
    right: calc(100% - 30px);
    top: 10px; }
  .ds_checkbox--small .ds_checkbox__input:hover + .ds_checkbox__label::before {
    box-shadow: 0 0 0 11px #ccc; }
  .ds_checkbox--small .ds_checkbox__input:hover:focus + .ds_checkbox__label::before {
    box-shadow: 0 0 0 3px #fdd522, 0 0 0 11px #b1b4b6; }
  .ds_checkbox > .ds_hint-text {
    padding-left: 16px; }
  .ds_checkbox__label::after {
    /*
     * [1] for IE11 support, use image without clip path
     */
    background-image: url(../images/icons/icons.stack.svg#checkbox); }
    @supports (-webkit-mask-image: url()) or (mask-image: url()) {
      .ds_checkbox__label::after {
        background-color: currentColor;
        background-image: none;
        -webkit-mask-image: url(../images/icons/icons.stack.svg#checkbox);
        mask-image: url(../images/icons/icons.stack.svg#checkbox); } }

@supports (-webkit-mask-image: url()) or (mask-image: url()) {
  .ds_checkbox {
    /* checked */ }
    .ds_checkbox__label::after {
      background-color: #ffffff; }
    .ds_checkbox__input:checked + .ds_checkbox__label::before {
      background-color: #333333; }
    .ds_checkbox__input:focus:checked + .ds_checkbox__label::before {
      background-color: #fdd522; }
    .ds_checkbox__input:focus:checked + .ds_checkbox__label::after {
      background-color: #333333; } }
/*------------------------------------*\
    CURRENCY WRAPPER
\*------------------------------------*/
.ds_currency-wrapper {
  position: relative; }
  .ds_currency-wrapper::before {
    font-size: 19px;
    content: '£';
    height: 48px;
    font-weight: bold;
    line-height: 48px;
    pointer-events: none;
    position: absolute;
    text-align: center;
    top: 0;
    width: 48px; }
    @media (min-width: 768px) {
      .ds_currency-wrapper::before {
        font-size: 24px; } }
  .ds_currency-wrapper[data-symbol]::before {
    content: attr(data-symbol); }
  .ds_currency-wrapper > .ds_input {
    padding-left: 40px; }
  .ds_currency-wrapper > .ds_input:focus {
    padding-left: 39px; }

/*------------------------------------*\
    $ERROR SUMMARY
\*------------------------------------*/
/* [1] compensate for border */
.ds_error-summary {
  border: 4px solid #d32205;
  padding: 20px 28px;
  /* [1] */
  margin-top: 32px;
  margin-bottom: 32px; }
  .ds_error-summary__title {
    margin-top: 0; }
  .ds_error-summary__list {
    color: #d32205;
    font-weight: bold;
    list-style-type: none;
    margin-left: 0; }
    .ds_error-summary__list a {
      color: #d32205; }
      .ds_error-summary__list a:focus {
        color: #333333; }
    .ds_error-summary__list li {
      margin-left: 0; }
  .ds_error-summary__content > :last-child {
    margin-bottom: 0; }

.flashable {
  transition: background-color 2s; }
  .flashable--flash {
    background-color: #fdd522;
    transition-duration: 0s; }

/*------------------------------------*\
    FIELD GROUP
\*------------------------------------*/
.ds_field-group {
  margin-top: 16px; }
  .ds_field-group--inline {
    display: flex;
    flex-direction: row; }
  .ds_field-group--inline > div:not(:last-child) {
    margin-right: 16px; }

/*------------------------------------*\
    HINT TEXT
\*------------------------------------*/
.ds_hint-text {
  color: #727272;
  margin-bottom: 16px; }
  .ds_hint-text > * {
    margin-bottom: 8px; }

/*------------------------------------*\
    LABEL
\*------------------------------------*/
.ds_label {
  color: #333333;
  display: inline-block;
  font-weight: bold;
  margin-bottom: 8px; }

/*------------------------------------*\
    QUESTION BLOCK (temp)
\*------------------------------------*/
.ds_question {
  margin-bottom: 32px; }
  .ds_question--error {
    border-left: 4px solid #d32205;
    padding-left: 20px; }
  .ds_question__message {
    margin-bottom: 16px; }
  .ds_question__error-message {
    color: #d32205;
    font-weight: bold;
    margin-bottom: 16px; }

@media (min-width: 768px) {
  .ds_question {
    margin-bottom: 48px; } }
/*------------------------------------*\
    RADIO BUTTONS
\*------------------------------------*/
.ds_radio {
  margin-bottom: 24px;
  padding-left: 40px;
  position: relative;
  /**
   * [1] minimum size of radio/checkbox for WCAG AAA
   */
  /* focus */
  /* checked */
  /*
   * [1] this negative margin makes the small checkboxes/radios align left with content
   */
  /* hover */
  /* hover-focus */
  /*
   * [1] for IE11 support, use image without clip path
   */ }
  .ds_radio__input {
    height: 44px;
    /* [1] */
    left: -2px;
    opacity: 0;
    position: absolute;
    top: -2px;
    width: 44px; }
  .ds_radio__label {
    display: inline-block;
    padding: 4px 32px 4px 16px; }
  .ds_radio__label::before {
    background-color: #ffffff;
    border: 2px solid #333333;
    content: '';
    height: 40px;
    left: 0;
    position: absolute;
    width: 40px; }
  .ds_radio__label::after {
    content: "";
    position: absolute;
    bottom: calc(100% - 40px);
    left: 0;
    right: calc(100% - 40px);
    opacity: 0; }
  .ds_radio__label::before, .ds_radio__label::after {
    top: -4px;
    border-radius: 50%; }
    @media (min-width: 768px) {
      .ds_radio__label::before, .ds_radio__label::after {
        top: 0; } }
  .ds_radio__input:focus + .ds_radio__label::before {
    border-width: 4px;
    box-shadow: 0 0 0 3px #fdd522; }
  .ds_radio__input:checked + .ds_radio__label::before {
    border-color: #333333; }
  .ds_radio__input:checked + .ds_radio__label::after {
    opacity: 1; }
  .ds_radio--small {
    margin-bottom: 16px;
    margin-left: -8px;
    /* [1] */ }
  .ds_radio--small .ds_radio__label::before {
    height: 24px;
    left: 8px;
    top: 8px;
    width: 24px; }
  .ds_radio--small .ds_radio__label::after {
    bottom: calc(100% - 31px);
    left: 9px;
    right: calc(100% - 31px);
    top: 9px; }
  .ds_radio--small .ds_radio__input:hover + .ds_radio__label::before {
    box-shadow: 0 0 0 11px #ccc; }
  .ds_radio--small .ds_radio__input:hover:focus + .ds_radio__label::before {
    box-shadow: 0 0 0 3px #fdd522, 0 0 0 11px #b1b4b6; }
  .ds_radio > .ds_hint-text {
    padding-left: 16px; }
  .ds_radio__label::after {
    /*
     * [1] for IE11 support, use image without clip path
     */
    background-image: url(../images/icons/icons.stack.svg#radio); }
    @supports (display: grid) {
      .ds_radio__label::after {
        background-color: #333333;
        background-image: none; } }
    @supports (-webkit-mask-image: url()) or (mask-image: url()) {
      .ds_radio__label::after {
        background-color: currentColor;
        background-image: none;
        -webkit-mask-image: url(../images/icons/icons.stack.svg#radio);
        mask-image: url(../images/icons/icons.stack.svg#radio); } }

/*------------------------------------*\
    REVEAL CONTENT
\*------------------------------------*/
.ds_reveal-content {
  display: none;
  margin-top: 16px;
  padding-left: 16px;
  position: relative; }
  .ds_reveal-content::before {
    background-color: #b3b3b3;
    bottom: 0;
    content: '';
    left: -22px;
    position: absolute;
    top: 0;
    width: 4px; }
  .ds_reveal-content > :last-child {
    margin-bottom: 0; }

:checked ~ .ds_reveal-content {
  display: block; }

/*------------------------------------*\
    SELECT
\*------------------------------------*/
.ds_select {
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #ffffff;
  border-radius: 0;
  border: 0;
  bottom: 0;
  height: 44px;
  left: 0;
  padding: 8px;
  position: absolute;
  right: 0;
  width: 100%;
  top: 0; }
  .ds_select:focus {
    box-shadow: 0 0 0 1px #333333 inset;
    outline: 2px solid #fdd522;
    outline-offset: 2px; }

.ds_select-arrow {
  background: #0065bd;
  bottom: -2px;
  content: '';
  pointer-events: none;
  position: absolute;
  right: -2px;
  top: -2px;
  width: 48px; }
  .ds_select-arrow::before {
    bottom: 0;
    color: #ffffff;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    content: '';
    display: inline-block;
    height: 32px;
    transition: transform 0.2s, top 0.2s;
    width: 32px;
    /*
     * [1] for IE11 support, use image without clip path
     */
    background-image: url(../images/icons/icons.stack.svg#expand_more);
    right: 8px;
    top: 8px; }
    @supports (-webkit-mask-image: url()) or (mask-image: url()) {
      .ds_select-arrow::before {
        background-color: currentColor;
        background-image: none;
        -webkit-mask-image: url(../images/icons/icons.stack.svg#expand_more);
        mask-image: url(../images/icons/icons.stack.svg#expand_more); } }

.ds_select:focus + .ds_select-arrow {
  background-color: #fdd522; }
  .ds_select:focus + .ds_select-arrow::before {
    color: #333333; }

.ds_select-wrapper {
  border: 2px solid currentColor;
  border-radius: 0;
  display: block;
  margin-bottom: 24px;
  min-height: 48px;
  padding: 0;
  position: relative;
  width: 100%; }

.ds_select-wrapper.ds_input--error {
  min-height: 52px; }

/*------------------------------------*\
    TEXT INPUTS
    Covers text-based INPUT elements and TEXTAREA elements
\*------------------------------------*/
.ds_input {
  border: 2px solid currentColor;
  border-radius: 0;
  display: block;
  margin-bottom: 24px;
  min-height: 48px;
  padding: 8px;
  width: 100%; }
  .ds_input:focus {
    outline: 3px solid #fdd522;
    outline-offset: 0;
    box-shadow: inset 0 0 0 2px; }
  .ds_input--error {
    border-color: #d32205;
    border-width: 4px;
    padding: 4px; }
    .ds_input--error:focus {
      border-color: currentColor;
      box-shadow: none; }
  .ds_input + .ds_input__message {
    margin-top: -16px; }
  .ds_input__message--error {
    color: #d32205;
    font-weight: 700; }

/*
 * [1] padding + n character widths
 * [2] additional currency padding + right padding + n character widths
 */
.ds_input--fixed-2 {
  max-width: calc(16px + 2em);
  /* [1] */ }

.ds_currency-wrapper .ds_input--fixed-2 {
  max-width: calc(40px + 8px + 2em);
  /* [2] */ }

.ds_input--fixed-3 {
  max-width: calc(16px + 3em);
  /* [1] */ }

.ds_currency-wrapper .ds_input--fixed-3 {
  max-width: calc(40px + 8px + 3em);
  /* [2] */ }

.ds_input--fixed-4 {
  max-width: calc(16px + 4em);
  /* [1] */ }

.ds_currency-wrapper .ds_input--fixed-4 {
  max-width: calc(40px + 8px + 4em);
  /* [2] */ }

.ds_input--fixed-5 {
  max-width: calc(16px + 5em);
  /* [1] */ }

.ds_currency-wrapper .ds_input--fixed-5 {
  max-width: calc(40px + 8px + 5em);
  /* [2] */ }

.ds_input--fixed-10 {
  max-width: calc(16px + 10em);
  /* [1] */ }

.ds_currency-wrapper .ds_input--fixed-10 {
  max-width: calc(40px + 8px + 10em);
  /* [2] */ }

.ds_input--fixed-20 {
  max-width: calc(16px + 20em);
  /* [1] */ }

.ds_currency-wrapper .ds_input--fixed-20 {
  max-width: calc(40px + 8px + 20em);
  /* [2] */ }

.ds_input--fluid-one-quarter {
  max-width: 25%; }

.ds_input--fluid-one-third {
  max-width: 33.33333%; }

.ds_input--fluid-half {
  max-width: 50%; }

.ds_input--fluid-two-thirds {
  max-width: 67.66667%; }

.ds_input--fluid-three-quarters {
  max-width: 75%; }

.ds_input__wrapper {
  display: block;
  margin-bottom: 24px; }
  .ds_input__wrapper--has-icon {
    position: relative; }
    .ds_input__wrapper--has-icon .ds_input {
      margin-right: -48px;
      padding-right: 56px; }
    .ds_input__wrapper--has-icon .ds_icon {
      height: 32px;
      padding: 8pxpx;
      width: 32px; }
  .ds_input__wrapper > * {
    float: left;
    margin: 0; }
  .ds_input__wrapper > .ds_button {
    margin: 0;
    min-height: 48px;
    min-width: 48px; }

pre {
  overflow: visible; }

code {
  background-color: #f8f8f8 !important;
  font-size: 14px; }
  @media (min-width: 768px) {
    code {
      font-size: 16px; } }

pre > code {
  display: block;
  padding: 4px 8px; }

figure > pre {
  margin-bottom: 0; }

figure {
  margin-top: 32px;
  margin-bottom: 32px;
  border: 1px solid #b3b3b3; }
  figure > img {
    display: block; }

figcaption {
  background-color: #f8f8f8;
  font-size: 14px;
  line-height: 24px;
  padding: 8px 16px; }

/*------------------------------------*\
    SITE PAGE LAYOUTS
\*------------------------------------*/
@media (min-width: 768px) {
  .ds_layout--pl-component > .ds_layout__header {
    float: left;
    width: calc(100% * 0.66667 - 32px); }
  .ds_layout--pl-component > .ds_layout__content {
    float: left;
    width: calc(100% * 0.58333 - 32px); }
  .ds_layout--pl-component > .ds_layout__sidebar {
    clear: left;
    float: left;
    width: calc(100% * 0.25 - 32px); } }
.ds_layout--pl-article > .ds_layout__header {
  float: left;
  width: calc(100% * 0.66667 - 32px); }
.ds_layout--pl-article > .ds_layout__content {
  float: left;
  width: calc(100% * 0.58333 - 32px); }
.ds_layout--pl-article > .ds_layout__sidebar {
  clear: left;
  float: left;
  width: calc(100% * 0.25 - 32px); }

@supports (display: grid) {
  @media (min-width: 768px) {
    .ds_layout--pl-component {
      grid-template-areas: 's s s s h h h h h h h h' 's s s s c c c c c c c c'; }

    .ds_layout--pl-article {
      grid-template-areas: 's s s s h h h h h h h h' 's s s s c c c c c c c c'; } }
  @media (min-width: 992px) {
    .ds_layout--pl-component {
      grid-template-areas: 's s s h h h h h h h . .' 's s s c c c c c c c . .'; }
    .ds_layout--pl-article {
      grid-template-areas: 's s s h h h h h h h . .' 's s s c c c c c c c . .'; } } }
/**
 * HELPERS
 */
@media (min-width: 768px) {
  .overflow--medium--1 {
    margin-right: -66.66667px; }

  .overflow--medium--2 {
    margin-right: -133.33333px; }

  .overflow--medium--3 {
    margin-right: -200px; }

  .overflow--medium--4 {
    margin-right: -266.66667px; } }
@media (min-width: 992px) {
  .overflow--large--1 {
    margin-right: -80px; }

  .overflow--large--2 {
    margin-right: -160px; }

  .overflow--large--3 {
    margin-right: -240px; }

  .overflow--large--4 {
    margin-right: -320px; } }
@media (min-width: 1200px) {
  .overflow--xlarge--1 {
    margin-right: -96px; }

  .overflow--xlarge--2 {
    margin-right: -192px; }

  .overflow--xlarge--3 {
    margin-right: -288px; }

  .overflow--xlarge--4 {
    margin-right: -384px; } }
/**
 * COMPONENTS FROM DESIGN SYSTEM
 */
/*------------------------------------*\
    ACCORDION
\*------------------------------------*/
.ds_accordion {
  margin-top: 32px;
  margin-bottom: 32px;
  position: relative; }
  .ds_accordion__open-all {
    display: none;
    float: right;
    margin-bottom: 8px;
    position: relative;
    text-decoration: none; }
    .ds_accordion__open-all + * {
      clear: both; }

h1 + .ds_accordion, h2 + .ds_accordion, h3 + .ds_accordion {
  margin-top: 0; }

.ds_accordion.js-initialised .ds_accordion__open-all {
  display: block; }

.ds_accordion-item {
  border-bottom: 1px solid #ebebeb;
  border-top: 1px solid #ebebeb;
  /* [1] subtracting the parent's border width */ }
  .ds_accordion-item__header, .ds_accordion-item__header-button {
    display: block;
    position: relative;
    transition: background-color 0.2s, outline-color 0.2s;
    z-index: 1;
    outline: 0 !important;
    background-color: #ffffff;
    color: #0065bd;
    font-size: 1rem;
    line-height: 24px;
    margin: 0;
    padding: 15px 40px 15px 16px;
    /* [1] */
    position: relative;
    text-align: left;
    width: 100%; }
    .ds_accordion-item__header:focus, .ds_accordion-item__header-button:focus {
      background-color: #fdd522;
      box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
    .ds_accordion-item__header:hover:not(:focus), .ds_accordion-item__header-button:hover:not(:focus) {
      background-color: #d9effc; }
    .ds_accordion-item__header:hover:not(:focus), .ds_accordion-item__header-button:hover:not(:focus) {
      color: #00437e; }
  .ds_accordion-item--open .ds_accordion-item__header-button:not(:focus):not(:hover) {
    background-color: #f8f8f8;
    color: #333333; }
  .ds_accordion-item__title {
    font-size: 1rem;
    line-height: 24px;
    margin-bottom: 0; }
  .ds_accordion-item__label {
    cursor: pointer;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  .ds_accordion-item__indicator {
    content: '';
    display: inline-block;
    height: 2em;
    transition: transform 0.2s, top 0.2s;
    width: 2em;
    /*
     * [1] for IE11 support, use image without clip path
     */
    background-image: url(../images/icons/icons.stack.svg#expand_more);
    right: 14px;
    position: absolute;
    pointer-events: none;
    top: 11px; }
    @supports (-webkit-mask-image: url()) or (mask-image: url()) {
      .ds_accordion-item__indicator {
        background-color: currentColor;
        background-image: none;
        -webkit-mask-image: url(../images/icons/icons.stack.svg#expand_more);
        mask-image: url(../images/icons/icons.stack.svg#expand_more); } }
  .ds_accordion-item__body {
    display: none;
    padding: 24px 40px 40px 16px; }
    .ds_accordion-item__body > :last-child {
      margin-bottom: 0; }
  .ds_accordion-item__control:checked ~ .ds_accordion-item__body {
    display: block; }
  .ds_accordion-item__control:checked ~ .ds_accordion-item__header {
    background-color: #f8f8f8;
    color: #333333; }
  .ds_accordion-item__control:checked ~ .ds_accordion-item__header .ds_accordion-item__indicator, .ds_accordion-item__control:checked ~ .ds_accordion-item__header-button .ds_accordion-item__indicator {
    transform: rotateZ(180deg); }
  .ds_accordion-item__control:focus ~ .ds_accordion-item__header, .ds_accordion-item__control:focus:hover ~ .ds_accordion-item__header {
    background: #fdd522;
    box-shadow: 0 3px #333333;
    color: #333333;
    z-index: 2; }
  .ds_accordion-item + .ds_accordion-item {
    margin-top: -1px; }

.ds_accordion.js-initialised .ds_accordion-item__body {
  overflow: hidden;
  padding: 0 40px 0 16px;
  transition: max-height 0.2s, padding 0.2s; }
  @media (min-width: 768px) {
    .ds_accordion.js-initialised .ds_accordion-item__body {
      padding-right: 100px; } }
.ds_accordion.js-initialised .ds_accordion-item__control:checked ~ .ds_accordion-item__body {
  padding-bottom: 32px;
  padding-top: 24px; }

@media (min-width: 768px) {
  .ds_accordion-item__header, .ds_accordion-item__header-button, .ds_accordion-item__body {
    padding-right: 100px; }
  .ds_accordion-item__indicator {
    top: 9px; } }
/*------------------------------------*\
    ARTICLE ASIDE
\*------------------------------------*/
.ds_article-aside {
  margin-top: 32px;
  margin-bottom: 32px;
  font-size: 14px;
  line-height: 20px;
  padding-top: 24px;
  position: relative; }
  @media (min-width: 768px) {
    .ds_article-aside {
      font-size: 16px; } }
  .ds_article-aside:first-child {
    margin-top: 0; }
  .ds_article-aside::before {
    background-color: #0065bd;
    content: '';
    height: 2px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }

@media (min-width: 768px) {
  .ds_article-aside {
    line-height: 24px;
    padding-top: 32px; }
    .ds_article-aside li {
      margin-bottom: 16px; } }
/**
 * [1] default aspect ratio is 16:9
 */
.ds_aspect-box {
  position: relative;
  padding-bottom: calc(900%/16);
  /* [1] */ }
  .ds_aspect-box--square {
    padding-bottom: 100%; }
  .ds_aspect-box--43 {
    padding-bottom: calc(300%/4); }
  .ds_aspect-box--235 {
    padding-bottom: calc(10000%/235); }

.ds_aspect-box__inner {
  height: 100%;
  left: 0;
  position: absolute;
  right: 0; }

/*------------------------------------*\
    $BACK TO TOP
\*------------------------------------*/
.ds_back-to-top {
  display: none; }

@media only screen {
  .ds_back-to-top {
    bottom: 56px;
    display: block;
    pointer-events: none;
    position: absolute;
    right: 8px;
    top: 100vh;
    z-index: 1;
    /*
    [1] fallback for older browsers
    [2] 56px is the button's height plus 8px spacing
    */ }
    .ds_back-to-top__button {
      display: block;
      position: relative;
      transition: background-color 0.2s, outline-color 0.2s;
      z-index: 1;
      outline: 0 !important;
      font-size: 14px;
      background-color: rgba(255, 255, 255, 0.9);
      font-weight: 700;
      margin: 0;
      min-width: 120px;
      pointer-events: all;
      padding: 8px 32px 8px 16px;
      position: fixed;
      /* [1] */
      position: sticky;
      right: 8px;
      top: calc(100vh - 56px);
      /* [2] */ }
      .ds_back-to-top__button:focus {
        background-color: #fdd522;
        box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
      .ds_back-to-top__button:hover:not(:focus) {
        background-color: #d9effc; } }
    @media only screen and (min-width: 768px) {
      .ds_back-to-top__button {
        font-size: 16px; } }
@media only screen {
    .ds_back-to-top__icon {
      position: absolute;
      right: 8px;
      top: 8px; } }
@media only screen and (min-width: 768px) {
  .ds_back-to-top__icon {
    top: 12px; } }
/*------------------------------------*\
    $BREADCRUMBS
\*------------------------------------*/
.ds_breadcrumbs {
  color: #727272;
  font-size: 14px;
  line-height: 24px;
  padding-left: 0;
  margin: 24px 0 16px; }
  .ds_breadcrumbs__item {
    display: inline-block;
    margin-bottom: 0;
    margin-left: 0;
    padding: 0; }
  .ds_breadcrumbs__item:not(:first-child)::before {
    content: '';
    display: inline-block;
    height: 1em;
    transition: transform 0.2s, top 0.2s;
    width: 1em;
    /*
     * [1] for IE11 support, use image without clip path
     */
    background-image: url(../images/icons/icons.stack.svg#chevron_right);
    margin: 0 -2px 0 -1px;
    position: relative;
    top: 3px; }
    @supports (-webkit-mask-image: url()) or (mask-image: url()) {
      .ds_breadcrumbs__item:not(:first-child)::before {
        background-color: currentColor;
        background-image: none;
        -webkit-mask-image: url(../images/icons/icons.stack.svg#chevron_right);
        mask-image: url(../images/icons/icons.stack.svg#chevron_right); } }
  .ds_breadcrumbs__container {
    padding-top: 16px; }
  @media (min-width: 768px) {
    .ds_breadcrumbs__container {
      padding-top: 24px; } }

.ds_reversed .ds_breadcrumbs {
  color: #ffffff; }

/*------------------------------------*\
    NOTIFICATION BANNER
\*------------------------------------*/
.ds_notification.ds_notification--cookie {
  background: #ebebeb;
  color: #333333; }

.ds_notification.ds_notification--cookie-success {
  background: #428542; }

/*------------------------------------*\
    CALLOUT
\*------------------------------------*/
.ds_callout {
  margin-top: 32px;
  margin-bottom: 32px;
  background: #f8f8f8;
  border-left: 4px solid #0065bd;
  padding: 16px 24px; }
  .ds_callout__label.ds_content-label {
    color: #0065bd;
    font-size: 14px; }
  .ds_callout__title {
    font-size: 30px;
    line-height: 32px;
    margin-bottom: 16px; }
    @media (min-width: 768px) {
      .ds_callout__title {
        font-size: 44px; } }
  .ds_callout__label + .ds_callout__title {
    margin-top: 0; }
  .ds_callout__content > :last-child {
    margin-bottom: 0; }

@media (min-width: 768px) {
  .ds_callout {
    padding: 32px; }
    .ds_callout__title {
      line-height: 56px; } }
/*------------------------------------*\
    CARD
\*------------------------------------*/
.ds_card {
  background-color: #ffffff;
  display: block;
  padding: 0;
  position: relative;
  transition: background-color 0.2s, outline-color 0.2s;
  z-index: 1;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.15); }
  .ds_card > :last-child {
    margin-bottom: 0; }
  .ds_card--has-hover:hover {
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.25); }
  .ds_card__media {
    background-color: #333333;
    height: 0;
    margin-bottom: 0;
    overflow: hidden;
    padding-bottom: calc(900%/16);
    pointer-events: none;
    position: relative;
    z-index: 1; }
    .ds_card__media--235 {
      padding-bottom: calc(10000%/235); }
  .ds_card__image {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0; }
  .ds_card__content {
    padding: 24px 16px; }
    .ds_card__content > :first-child {
      margin-top: 0; }
  .ds_card .ds_card__content {
    position: static; }
  .ds_card__cover-link::after {
    bottom: 0;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: background-color 0.2s;
    z-index: 0; }
  .ds_card--small {
    font-size: 14px;
    line-height: 24px; }
    .ds_card--small h2 {
      font-size: 1.105263rem;
      line-height: 32px;
      margin-bottom: 0; }
  .ds_card--transparent {
    background-color: transparent;
    box-shadow: none; }
    .ds_card--transparent .ds_card__content {
      padding-left: 0;
      padding-right: 0; }
  .ds_card--padding {
    padding: 16px; }
  .ds_card--has-hover .ds_card__cover-link:hover::after {
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.25); }

@supports (object-fit: contain) {
  .ds_card__image {
    object-fit: cover;
    width: 100%; } }
@supports (mix-blend-mode: darken) {
  .ds_card__cover-link {
    outline: 0 !important; }
    .ds_card__cover-link:focus, .ds_card__cover-link:hover {
      background-color: transparent;
      box-shadow: none;
      text-decoration: underline; }
    .ds_card__cover-link::after {
      mix-blend-mode: darken; }

  .ds_card__cover-link:hover::after {
    background-color: #d9effc; }

  .ds_card__cover-link:focus::after {
    background-color: #fdd522;
    box-shadow: inset 0 -3px #333333;
    transition-duration: 0s; } }
/*------------------------------------*\
    CATEGORY HEADER
\*------------------------------------*/
.ds_category-header {
  margin-top: 16px;
  margin-bottom: 32px; }
  .ds_category-header__header {
    margin-bottom: 32px; }
  .ds_category-header__title {
    color: #333333;
    font-weight: 300;
    margin-bottom: 8px; }
  .ds_category-header__summary {
    line-height: 24px; }
    .ds_category-header__summary > :last-child {
      margin-bottom: 8px; }
  .ds_category-header__media {
    display: block;
    margin: 0 auto;
    max-height: 360px;
    max-width: 320px; }

.ds_reversed .ds_category-header {
  color: #ffffff; }
  .ds_reversed .ds_category-header__title {
    color: #ffffff; }

.ds_category-header {
  margin-right: -32px;
  overflow: hidden; }
  .ds_category-header > *[class] {
    margin-right: 32px; }
  @supports (display: grid) {
    .ds_category-header {
      display: grid;
      grid-gap: 0 32px;
      margin-right: 0;
      overflow: visible; }
      .ds_category-header > *[class] {
        margin-left: 0;
        margin-right: 0;
        width: auto; } }

.ds_category-header {
  grid-gap: 32px 32px; }

@media (min-width: 768px) {
  .ds_category-header__header {
    float: left;
    width: calc(100% * 0.66667 - 32px);
    margin: 40px 0; }
  .ds_category-header__media-container {
    float: left;
    width: calc(100% * 0.33333 - 32px); }
  .ds_category-header__summary {
    line-height: 32px; } }
@supports (display: grid) {
  .ds_category-header__header {
    margin-bottom: 0; }

  @media (min-width: 768px) {
    .ds_category-header {
      align-items: center;
      grid-template-columns: repeat(12, 1fr); }
      .ds_category-header__header {
        float: none;
        grid-column: 1 / span 8;
        margin: 40px 0; }
      .ds_category-header__media-container {
        float: none;
        grid-column: 9 / span 4;
        margin-right: 0;
        max-width: 100%; } } }
/*------------------------------------*\
    CATEGORY ITEM
    Navigation elements for different levels of category navigation. Includes classes for layout of these elements in a list.
\*------------------------------------*/
.ds_category-item {
  display: block;
  position: relative;
  transition: background-color 0.2s, outline-color 0.2s;
  z-index: 1;
  outline: 0 !important;
  padding: 12px 16px 12px;
  text-decoration: none;
  transition: background-color 0.2s, border-color 0.2s;
  width: 100%; }
  .ds_category-item:focus {
    background-color: #fdd522;
    box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
  .ds_category-item:hover:not(:focus) {
    background-color: #d9effc; }
  .ds_category-item:hover:not(:focus) {
    background: transparent; }
  .ds_category-item .ds_category-item__link::after {
    content: "";
    height: 100%;
    left: 0px;
    position: absolute;
    top: 0px;
    width: 100%;
    z-index: 0;
    transition: background-color 0.2s; }
  .ds_category-item .ds_category-item__link:focus::after {
    transition-duration: 0s; }
  .ds_category-item .ds_category-item__link:focus:hover {
    text-decoration: none; }
  @supports (mix-blend-mode: darken) {
    .ds_category-item .ds_category-item__link {
      outline: 0; }
      .ds_category-item .ds_category-item__link::after {
        mix-blend-mode: darken; }
      .ds_category-item .ds_category-item__link:hover::after {
        background-color: #d9effc; }
      .ds_category-item .ds_category-item__link:focus {
        background-color: transparent;
        box-shadow: none;
        text-decoration: underline; }
      .ds_category-item .ds_category-item__link:focus::after {
        background-color: #fdd522;
        box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
      .ds_category-item .ds_category-item__link:focus:hover {
        text-decoration: underline; } }
  .ds_category-item > :last-child {
    margin-bottom: 0; }
  .ds_category-item__title {
    font-size: 19px;
    line-height: 28px;
    margin: 0 0 16px; }
    @media (min-width: 768px) {
      .ds_category-item__title {
        font-size: 24px; } }
  .ds_category-item .ds_category-item__link::after {
    left: -4px; }
  .ds_category-item__link {
    color: #0065bd; }
    .ds_category-item__link::before {
      background-color: #aecce6;
      bottom: 0;
      content: '';
      left: -4px;
      position: absolute;
      top: 0;
      width: 4px; }
    .ds_category-item__link:focus::before {
      content: none; }
    .ds_category-item__link:hover::before {
      background-color: #00437e; }
  .ds_category-item__summary {
    font-size: 14px;
    color: #727272;
    line-height: 24px;
    margin: 0; }
    @media (min-width: 768px) {
      .ds_category-item__summary {
        font-size: 16px; } }
  .ds_category-item:hover .ds_category-item__summary {
    color: #333333; }

.ds_card > .ds_category-item {
  padding-top: 24px;
  padding-bottom: 24px;
  position: static; }
.ds_card .ds_category-item__link::before {
  left: 0;
  right: 0;
  bottom: 0;
  top: 100%;
  transition: top 0.2s;
  width: 100%; }
.ds_card .ds_category-item__link:hover::before {
  top: calc(100% - 4px); }
.ds_card .ds_category-item__link::after {
  left: 0; }

@media (min-width: 768px) {
  .ds_category-item__title {
    line-height: 32px; }

  .ds_card > .ds_category-item {
    min-height: 192px; } }
/*------------------------------------*\
    CATEGORY LIST
\*------------------------------------*/
.ds_category-list-container {
  margin: 32px 0; }

.ds_category-list {
  margin-right: -32px;
  overflow: hidden;
  list-style-type: none;
  margin-bottom: 32px;
  margin-left: -8px;
  margin-top: -8px;
  padding: 8px; }
  .ds_category-list > *[class] {
    margin-right: 32px; }
  @supports (display: grid) {
    .ds_category-list {
      display: grid;
      grid-gap: 0 32px;
      margin-right: 0;
      overflow: visible; }
      .ds_category-list > *[class] {
        margin-left: 0;
        margin-right: 0;
        width: auto; } }
  .ds_category-list > * {
    margin-bottom: 32px; }
  .ds_category-list--narrow > * {
    margin-bottom: 12px; }

.ds_category-list--narrow {
  margin-right: -12px;
  overflow: hidden; }
  .ds_category-list--narrow > *[class] {
    margin-right: 12px; }
  @supports (display: grid) {
    .ds_category-list--narrow {
      display: grid;
      grid-gap: 0 12px;
      margin-right: 0;
      overflow: visible; }
      .ds_category-list--narrow > *[class] {
        margin-left: 0;
        margin-right: 0;
        width: auto; } }

@media (max-width: 767px) {
  .ds_category-list--grid > * {
    min-height: 0; } }
@media (min-width: 768px) {
  .ds_category-list--grid > * {
    float: left;
    width: calc(100% * 0.5 - 32px); }
    .ds_category-list--grid > *:nth-child(2n+1) {
      clear: left; }
  .ds_category-list--grid.ds_category-list--narrow > * {
    margin-bottom: 12px;
    margin-right: 12px;
    width: calc(100% * 0.5 - 12px); } }
@media (min-width: 992px) {
  .ds_category-list--grid > * {
    width: calc(100% * 0.33333 - 32px); }
    .ds_category-list--grid > *:nth-child(n) {
      clear: none; }
    .ds_category-list--grid > *:nth-child(3n+1) {
      clear: left;
      margin-left: 0; }
  .ds_category-list--grid.ds_category-list--narrow > * {
    width: calc(100% * 0.33333 - 12px); } }
@supports (display: grid) {
  .ds_category-list {
    grid-row-gap: 32px;
    margin-left: 0;
    margin-top: 0;
    padding: 0; }
    .ds_category-list--narrow {
      grid-gap: 12px 12px; }
    .ds_category-list > *[class] {
      margin: 0;
      width: 100%; }

  @media (min-width: 768px) {
    .ds_category-list--grid {
      display: grid;
      grid-template-columns: 1fr 1fr; } }
  @media (min-width: 992px) {
    .ds_category-list--grid {
      grid-template-columns: 1fr 1fr 1fr; } } }
/*------------------------------------*\
    CONTACT DETAILS
\*------------------------------------*/
.ds_contact-details__title {
  display: inline-block;
  margin-bottom: 24px;
  padding-top: 8px;
  position: relative; }
  .ds_contact-details__title::after {
    background-color: #0065bd;
    content: '';
    height: 4px;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }
.ds_contact-details__list dd {
  margin-left: 0; }
.ds_contact-details__list dt {
  font-weight: 700; }
.ds_contact-details__list dt:not(:first-child), .ds_contact-details__list dt + dd.ds_contact-details__social-item {
  margin-top: 24px; }
.ds_contact-details__social-item {
  margin-bottom: 8px;
  padding-left: 32px;
  position: relative; }
.ds_contact-details__social-icon {
  height: 24px;
  pointer-events: none;
  position: absolute;
  left: 0;
  width: 24px; }

@media (min-width: 768px) {
  .ds_contact-details__social-icon {
    top: 4px; } }
/*------------------------------------*\
    CONTENT LABEL
\*------------------------------------*/
.ds_content-label {
  font-size: 14px;
  font-weight: 400;
  line-height: 16px;
  margin: 0;
  text-transform: uppercase; }
  @media (min-width: 768px) {
    .ds_content-label {
      font-size: 16px; } }

/*------------------------------------*\
    CONTENTS NAV
\*------------------------------------*/
.ds_contents-nav {
  margin-bottom: 48px; }
  .ds_contents-nav__title {
    font-size: 1em;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 16px; }
  .ds_contents-nav__list {
    font-size: 14px;
    line-height: 24px;
    list-style-type: none;
    margin-left: 0;
    padding-left: 32px; }
    @media (min-width: 768px) {
      .ds_contents-nav__list {
        font-size: 16px; } }
  .ds_contents-nav__item {
    position: relative; }
    .ds_contents-nav__item::before {
      background: currentColor;
      content: "—";
      height: 1px;
      left: -32px;
      overflow: hidden;
      position: absolute;
      top: 12px;
      width: 20px; }
  .ds_contents-nav__link.ds_current {
    font-weight: 700; }

@media (min-width: 768px) {
  .ds_contents-nav {
    margin-top: 8px; }
    .ds_contents-nav__title {
      font-size: 16px;
      line-height: 32px;
      margin-bottom: 8px; } }
/*------------------------------------*\
    DATE PICKER
\*------------------------------------*/
.ds_datepicker {
  position: relative; }
  .ds_datepicker__dialog {
    background-color: #ffffff;
    box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.15);
    display: none;
    padding: 8px;
    outline: 1px solid #b3b3b3;
    outline-offset: -1px;
    position: absolute;
    top: 0;
    transition: background-color 0.2s, outline-color 0.2s;
    width: 296px;
    z-index: 2; }
    .ds_datepicker__dialog__header {
      text-align: center; }
      .ds_datepicker__dialog__header > :nth-child(1) {
        position: absolute;
        left: 8px;
        top: 8px; }
      .ds_datepicker__dialog__header > :nth-child(3) {
        position: absolute;
        right: 8px;
        top: 8px; }
    .ds_datepicker__dialog__title {
      font-size: 14px;
      margin: 0 !important;
      text-transform: uppercase; }
      @media (min-width: 768px) {
        .ds_datepicker__dialog__title {
          font-size: 16px; } }
    .ds_datepicker__dialog__navbuttons button {
      background-color: transparent;
      color: #333333 !important;
      font-weight: 400;
      min-height: 40px;
      margin: 0;
      padding: 4px;
      min-width: 32px;
      display: inline-block;
      position: relative;
      transition: background-color 0.2s, outline-color 0.2s;
      z-index: 1;
      outline: 0 !important; }
      .ds_datepicker__dialog__navbuttons button:focus {
        background-color: #fdd522;
        box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
      .ds_datepicker__dialog__navbuttons button:hover:not(:focus) {
        background-color: #d9effc; }
      .ds_datepicker__dialog__navbuttons button .ds_icon {
        height: 32px;
        padding: 0;
        position: static;
        width: 24px; }
    .ds_datepicker__dialog__table tbody:focus-within {
      outline: 2px solid #fdd522; }
    .ds_datepicker__dialog__table td {
      border: 0;
      margin: 0;
      outline: 0;
      padding: 0; }
    .ds_datepicker__dialog__table th {
      font-size: 14px;
      color: #727272;
      font-weight: 400; }
      @media (min-width: 768px) {
        .ds_datepicker__dialog__table th {
          font-size: 16px; } }
    .ds_datepicker__dialog__table button {
      background-color: transparent;
      color: #333333;
      font-weight: 400;
      min-height: 40px;
      margin: 0;
      padding: 0;
      min-width: 40px;
      display: block;
      position: relative;
      transition: background-color 0.2s, outline-color 0.2s;
      z-index: 1;
      outline: 0 !important; }
      .ds_datepicker__dialog__table button:focus {
        background-color: #fdd522;
        box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
      .ds_datepicker__dialog__table button:hover:not(:focus) {
        background-color: #d9effc; }
      .ds_datepicker__dialog__table button[disabled="true"] {
        background-color: #ebebeb;
        color: #333333; }
      .ds_datepicker__dialog__table button.ds_datepicker__current {
        outline: 2px solid #333333 !important;
        outline-offset: -2px; }
      .ds_datepicker__dialog__table button.ds_datepicker__current[tabindex="-1"] {
        background: #f8f8f8;
        color: currentColor; }
      .ds_datepicker__dialog__table button.ds_datepicker__today {
        font-weight: 700; }
        .ds_datepicker__dialog__table button.ds_datepicker__today::after {
          background-color: currentColor;
          border-radius: 4px;
          bottom: 6px;
          content: '';
          height: 4px;
          left: 50%;
          margin-left: -2px;
          position: absolute;
          width: 4px; }
      .ds_datepicker__dialog__table button.ds_selected:not(:focus) {
        background-color: #333333;
        color: #ffffff; }
    .ds_datepicker__dialog__table-caption {
      font-size: 12px;
      caption-side: bottom;
      margin-top: 8px; }
      @media (min-width: 768px) {
        .ds_datepicker__dialog__table-caption {
          font-size: 14px; } }
    .ds_datepicker__dialog__buttongroup {
      margin-right: -8px;
      overflow: hidden;
      overflow: visible; }
      .ds_datepicker__dialog__buttongroup > *[class] {
        margin-right: 8px; }
      @supports (display: grid) {
        .ds_datepicker__dialog__buttongroup {
          display: grid;
          grid-gap: 0 8px;
          margin-right: 0;
          overflow: visible; }
          .ds_datepicker__dialog__buttongroup > *[class] {
            margin-left: 0;
            margin-right: 0;
            width: auto; } }
      .ds_datepicker__dialog__buttongroup button {
        width: calc(100% * 0.5 - 8px);
        display: block;
        float: left;
        margin: 0; }
      @supports (display: grid) {
        .ds_datepicker__dialog__buttongroup {
          grid-template-columns: 1fr 1fr; } }

@media (max-width: 767px) {
  .ds_datepicker__dialog {
    clear: both;
    position: static; }
    .ds_datepicker__dialog__header {
      position: relative; }
      .ds_datepicker__dialog__header > :nth-child(1) {
        left: 0;
        top: -2px; }
      .ds_datepicker__dialog__header > :nth-child(3) {
        right: 0;
        top: -2px; } }
/*------------------------------------*\
    HIDE THIS PAGE
\*------------------------------------*/
.ds_has-hide-page .ds_page {
  margin-top: 56px; }

.ds_hide-page {
  background-color: #ebebeb;
  left: 0;
  position: fixed;
  right: 0;
  text-align: center;
  top: 0;
  z-index: 1000; }
  .ds_hide-page__button {
    background-color: #d32205;
    margin: 0;
    width: 100%; }
    .ds_hide-page__button:hover:not(:focus) {
      background-color: #881603; }
  .ds_hide-page__text {
    font-size: 12px;
    margin-bottom: 0; }
    @media (min-width: 768px) {
      .ds_hide-page__text {
        font-size: 14px; } }
  .ds_hide-page .js-enabled-text {
    display: none; }

@media only screen and (hover: hover) {
  .js-enabled .js-enabled-text {
    display: block; }

  .ds_has-hide-page .ds_page {
    margin-top: 80px; } }
@media (min-width: 768px) {
  .ds_hide-page {
    margin-top: 32px;
    margin-bottom: 32px;
    background-color: rgba(255, 255, 255, 0.9);
    left: auto;
    outline: 1px solid #ebebeb;
    outline-offset: -1px; }
    @supports (position: sticky) and (display: grid) {
      .ds_hide-page {
        bottom: 8px;
        position: sticky; } }
    .ds_hide-page__text {
      margin: 8px 0; }

  .ds_has-hide-page .ds_page {
    margin-top: 0; } }
@supports (display: grid) {
  .ds_hide-page {
    width: 100%; }
    @media (min-width: 768px) {
      .ds_hide-page {
        align-self: start;
        grid-area: 1/9/3/13;
        right: 8px;
        top: 8px; } }
    @media (min-width: 992px) {
      .ds_hide-page {
        grid-area: 1/10/3/13; } } }
/*------------------------------------*\
    #INSET TEXT
\*------------------------------------*/
.ds_inset-text {
  border-left: 8px solid #b3b3b3;
  padding: 16px;
  margin-top: 32px;
  margin-bottom: 32px; }

.ds_inset-text__text > :last-child,
.ds_inset-text > :last-child {
  margin-bottom: 0; }

@media (min-width: 768px) {
  .ds_inset-text {
    padding-left: 32px;
    padding-right: 64px; } }
/*------------------------------------*\
    PAGE METADATA
\*------------------------------------*/
.ds_metadata {
  font-size: 14px;
  line-height: 24px;
  margin: 0;
  overflow: hidden; }
  .ds_metadata__key {
    display: inline; }
    .ds_metadata__key::after {
      content: ':'; }
  .ds_metadata__value {
    display: inline;
    font-weight: 700;
    margin-left: 0; }
    .ds_metadata__value > a {
      font-weight: 400; }

/**
 * Alternative display collapsing the metadata into a single line
 */
.ds_metadata--inline {
  color: #727272;
  font-size: 12px;
  line-height: 24px;
  margin-bottom: 8px; }
  @media (min-width: 768px) {
    .ds_metadata--inline {
      font-size: 14px; } }
  .ds_metadata--inline .ds_metadata__item {
    display: inline;
    position: relative; }
  .ds_metadata--inline .ds_metadata__item:not(:first-child) {
    margin-left: 0.25em;
    padding-left: 0.5em; }
    .ds_metadata--inline .ds_metadata__item:not(:first-child)::before {
      background: currentColor;
      bottom: 2px;
      content: '';
      left: 0;
      position: absolute;
      top: 2px;
      width: 1px; }
  .ds_metadata--inline .ds_metadata__value {
    font-weight: 400; }
    .ds_metadata--inline .ds_metadata__value.content-label {
      color: #333333;
      font-weight: 700; }

/*------------------------------------*\
    NOTIFICATION BANNER
\*------------------------------------*/
.ds_notification {
  background: #333333;
  color: #ffffff;
  margin-bottom: 1px;
  /* [1] compensate for bottom margin on parent */ }
  .ds_notification--large .ds_notification__content {
    padding-top: 24px;
    padding-bottom: 32px; }
  .ds_notification__content {
    justify-content: space-between;
    padding: 16px 0 15px;
    /* [1] */
    position: relative; }
    .ds_notification__content--has-close {
      padding-right: 40px; }
  .ds_notification__text {
    display: inline-block;
    margin-right: 16px; }
    .ds_notification__text > :last-child {
      margin-bottom: 0; }
    .ds_notification__text:last-child {
      margin-bottom: 0; }
  .ds_notification__actions {
    margin-bottom: -16px;
    margin-top: 32px;
    text-align: center; }
    .ds_notification__actions > * {
      margin-bottom: 16px;
      margin-top: 0;
      white-space: nowrap;
      width: 100%; }
  .ds_notification__icon {
    display: block;
    float: left;
    height: 32px;
    line-height: 0;
    margin-left: -4px;
    margin-top: -4px;
    padding: 2px;
    width: 32px; }
    .ds_notification__icon + .ds_notification__text {
      margin-left: 16px; }
      @media (min-width: 768px) {
        .ds_notification__icon + .ds_notification__text {
          margin-left: 40px; } }
    .ds_notification__icon--colour {
      color: #fdd522; }
    .ds_notification__icon--inverse {
      background-color: #ffffff;
      border-radius: 100px;
      color: #333333; }
    .ds_notification__icon--inverse.ds_notification__icon--colour {
      background-color: #fdd522; }
  .ds_notification__close {
    background: transparent;
    box-sizing: content-box;
    color: currentColor;
    display: none;
    font-size: 14px;
    height: 40px;
    margin: 0;
    padding: 0;
    position: absolute;
    right: -8px;
    top: 8px;
    width: 40px;
    min-height: 0;
    min-width: 0; }
    .ds_notification__close:hover {
      background-color: transparent; }
    .ds_notification__close:hover:not(:focus) {
      background-color: transparent;
      color: currentColor;
      outline: 2px solid currentColor; }

@media (min-width: 768px) {
  .ds_notification__close {
    top: 12px; }

  .ds_notification__icon {
    margin-top: 0; }

  .ds_notification__actions {
    text-align: left; }
    .ds_notification__actions > * {
      width: auto; }
    .ds_notification__actions > *:not(last-child) {
      margin-right: 16px; } }
@supports (display: flex) {
  @media (min-width: 768px) {
    .ds_notification__actions {
      align-items: center;
      display: inline-flex;
      flex-wrap: wrap;
      width: auto; }
      .ds_notification__actions > * {
        flex-basis: auto;
        flex-grow: initial; } } }
.js-enabled .ds_notification__close {
  display: block; }

/*------------------------------------*\
    ARTICLE HEADER
    title block for articles
\*------------------------------------*/
.ds_page-header {
  margin: 16px 0 32px; }
  .ds_page-header__title {
    margin-bottom: 0; }
  .ds_page-header__metadata {
    margin-top: 8px; }

@media (min-width: 768px) {
  .ds_page-header {
    margin-top: 32px; }
    .ds_page-header__label + .ds_page-header__title {
      margin-top: -8px; } }
/*------------------------------------*\
    PAGINATION
\*------------------------------------*/
.ds_pagination {
  font-size: 14px;
  text-align: center; }
  @media (min-width: 768px) {
    .ds_pagination {
      font-size: 16px; } }
  .ds_pagination__list {
    list-style-type: none;
    margin: 0;
    display: none; }
  .ds_pagination__item {
    display: inline-block; }
  .ds_pagination__link {
    display: block;
    position: relative;
    transition: background-color 0.2s, outline-color 0.2s;
    z-index: 1;
    outline: 0 !important;
    line-height: 24px;
    padding: 12px 8px;
    text-decoration: none;
    min-width: 48px; }
    .ds_pagination__link:focus {
      background-color: #fdd522;
      box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
    .ds_pagination__link:hover:not(:focus) {
      background-color: #d9effc; }
    .ds_pagination__link.ds_current {
      background-color: #f8f8f8;
      border-bottom: 4px solid #0065bd;
      padding-bottom: 12px;
      pointer-events: none; }
    .ds_pagination__link--text {
      padding-left: 24px;
      padding-right: 24px;
      width: auto; }
    .ds_pagination__link--ellipsis {
      pointer-events: none; }

@media (min-width: 768px) {
  .ds_pagination__list {
    display: block; }
  .ds_pagination__load-more {
    display: none; } }
@supports (display: flex) {
  .ds_pagination__list {
    display: flex;
    justify-content: center; }
  .ds_pagination__item:not(:last-child) {
    margin-right: 4px; } }
/*------------------------------------*\
    PHASE BANNER
\*------------------------------------*/
.ds_phase-banner {
  font-size: 14px;
  background: #ebebeb;
  line-height: 24px;
  padding: 16px 0; }
  @media (min-width: 768px) {
    .ds_phase-banner {
      font-size: 16px; } }
  .ds_phase-banner.no-bottom-margin {
    margin-bottom: 0; }
  .ds_phase-banner__content {
    display: table;
    margin-bottom: 0; }
  .ds_phase-banner__tag {
    margin-right: 1em; }
  .ds_phase-banner__text {
    display: table-cell; }

@supports (display: flex) {
  .ds_phase-banner__content {
    align-items: baseline;
    display: flex; }
    .ds_phase-banner__content--stacked {
      flex-direction: column; }
      .ds_phase-banner__content--stacked > *:not(:last-child) {
        margin-bottom: 8px; } }
/*------------------------------------*\
    SEARCH RESULT
\*------------------------------------*/
.ds_search-result {
  display: block;
  position: relative;
  transition: background-color 0.2s, outline-color 0.2s;
  z-index: 1;
  outline: 0 !important;
  border-bottom: 1px solid #ebebeb;
  border-width: 1px 0;
  color: #333333 !important;
  margin: 0 -16px;
  padding: 24px 16px 23px;
  position: relative;
  text-decoration: none; }
  .ds_search-result:focus {
    background-color: #fdd522;
    box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
  .ds_search-result:hover:not(:focus) {
    background-color: #d9effc; }
  .ds_search-result:hover:not(:focus) {
    background: transparent; }
  .ds_search-result .ds_search-result__link::after {
    content: "";
    height: 100%;
    left: 0px;
    position: absolute;
    top: 0px;
    width: 100%;
    z-index: 0;
    transition: background-color 0.2s; }
  .ds_search-result .ds_search-result__link:focus::after {
    transition-duration: 0s; }
  .ds_search-result .ds_search-result__link:focus:hover {
    text-decoration: none; }
  @supports (mix-blend-mode: darken) {
    .ds_search-result .ds_search-result__link {
      outline: 0; }
      .ds_search-result .ds_search-result__link::after {
        mix-blend-mode: darken; }
      .ds_search-result .ds_search-result__link:hover::after {
        background-color: #d9effc; }
      .ds_search-result .ds_search-result__link:focus {
        background-color: transparent;
        box-shadow: none;
        text-decoration: underline; }
      .ds_search-result .ds_search-result__link:focus::after {
        background-color: #fdd522;
        box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
      .ds_search-result .ds_search-result__link:focus:hover {
        text-decoration: underline; } }
  .ds_search-result:first-of-type {
    border-top: 1px solid #ebebeb;
    padding-top: 23px; }
  .ds_search-result__link::after {
    content: "";
    height: 100%;
    left: 0px;
    position: absolute;
    top: 0px;
    width: 100%;
    z-index: 0; }
  .ds_search-result__label {
    font-weight: 700;
    text-transform: uppercase; }
  .ds_search-result__date {
    color: #727272;
    font-weight: 400; }
  .ds_search-result__title {
    color: #0065bd;
    margin-bottom: 8px;
    margin-top: 0 !important;
    transition: color 0.2s; }
  .ds_search-result__summary {
    margin-bottom: 0; }

@media (min-width: 768px) {
  .ds_search-result {
    margin-left: 0;
    margin-right: 0; } }
/*------------------------------------*\
    SEARCH RESULTS
\*------------------------------------*/
.ds_search-suggestions {
  font-size: 14px;
  margin: 24px 0 24px; }
  @media (min-width: 768px) {
    .ds_search-suggestions {
      font-size: 16px; } }
  .ds_search-suggestions ul {
    display: inline-block;
    list-style-type: none;
    margin: 0; }
    .ds_search-suggestions ul li {
      display: inline-block; }
      .ds_search-suggestions ul li:not(:last-child)::after {
        content: ',';
        margin-left: -2px; }

.ds_search-results__list {
  list-style-type: none;
  margin: 0 0 24px; }
.ds_search-results__pagination {
  background: #ebebeb;
  text-align: center;
  padding: 8px 0; }

@media (min-width: 768px) {
  .ds_search-results__count {
    padding-left: 16px; }

  .ds_search-suggestions {
    padding-left: 16px; }
    .ds_search-suggestions ul li:not(:last-child)::after {
      margin-left: -3px; } }
/*------------------------------------*\
    #SEQUENTIAL NAVIGATION
    previous and next buttons
\*------------------------------------*/
.ds_sequential-nav {
  margin-bottom: 56px;
  margin-top: 56px;
  overflow: hidden; }

@supports (display: grid) {
  .ds_sequential-nav {
    overflow: initial; } }
.ds_sequential-nav__button {
  display: block;
  position: relative;
  transition: background-color 0.2s, outline-color 0.2s;
  z-index: 1;
  outline: 0 !important;
  background: transparent;
  display: inline-block;
  line-height: 24px;
  padding: 12px 4px;
  position: relative;
  text-decoration: none;
  width: 100%; }
  .ds_sequential-nav__button:focus {
    background-color: #fdd522;
    box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
  .ds_sequential-nav__button:hover:not(:focus) {
    background-color: #d9effc; }
  .ds_sequential-nav__button:not([href]) {
    display: none; }
  .ds_sequential-nav__button > * {
    pointer-events: none; }
  .ds_sequential-nav__button--left::before, .ds_sequential-nav__button--right::before {
    content: '';
    height: 56px;
    width: 56px;
    background-color: #0065bd;
    background-position: center;
    border-radius: 56px;
    display: inline-block;
    position: absolute;
    top: 8px;
    transition: background-color 0.2s; }
  .ds_sequential-nav__button--left::after, .ds_sequential-nav__button--right::after {
    color: #ffffff;
    position: absolute;
    top: 6px; }
  .ds_sequential-nav__button--left {
    padding-left: 73px;
    text-align: left; }
    .ds_sequential-nav__button--left::before {
      left: 4px; }
    .ds_sequential-nav__button--left::after {
      content: '';
      display: inline-block;
      height: 60px;
      transition: transform 0.2s, top 0.2s;
      width: 60px;
      /*
       * [1] for IE11 support, use image without clip path
       */
      background-image: url(../images/icons/icons.stack.svg#chevron_left);
      left: 0; }
      @supports (-webkit-mask-image: url()) or (mask-image: url()) {
        .ds_sequential-nav__button--left::after {
          background-color: currentColor;
          background-image: none;
          -webkit-mask-image: url(../images/icons/icons.stack.svg#chevron_left);
          mask-image: url(../images/icons/icons.stack.svg#chevron_left); } }
  .ds_sequential-nav__button--right {
    text-align: right;
    float: right;
    padding-right: 73px;
    text-align: right; }
    .ds_sequential-nav__button--right::before {
      right: 4px; }
    .ds_sequential-nav__button--right::after {
      content: '';
      display: inline-block;
      height: 60px;
      transition: transform 0.2s, top 0.2s;
      width: 60px;
      /*
       * [1] for IE11 support, use image without clip path
       */
      background-image: url(../images/icons/icons.stack.svg#chevron_right);
      right: 0; }
      @supports (-webkit-mask-image: url()) or (mask-image: url()) {
        .ds_sequential-nav__button--right::after {
          background-color: currentColor;
          background-image: none;
          -webkit-mask-image: url(../images/icons/icons.stack.svg#chevron_right);
          mask-image: url(../images/icons/icons.stack.svg#chevron_right); } }

.ds_sequential-nav__button:hover::before {
  background-color: #00437e; }

.ds_sequential-nav__button:focus::before {
  background-color: #333333; }

.ds_sequential-nav__text {
  display: inline-block;
  padding-top: 24px;
  position: relative; }
  .ds_sequential-nav__text::before {
    color: #002d54;
    content: attr(data-label);
    font-size: 16px;
    font-weight: 700;
    left: 0;
    position: absolute;
    right: 0;
    text-transform: uppercase;
    top: 0; }

@media (min-width: 480px) {
  .ds_sequential-nav__item {
    width: calc(50% - 16px); }
    .ds_sequential-nav__item--prev {
      float: left; }
    .ds_sequential-nav__item--next {
      float: right; } }
@supports (display: grid) {
  .ds_sequential-nav {
    display: grid;
    grid-gap: 32px 32px;
    grid-template-areas: 'next' 'prev'; }

  .ds_sequential-nav__item {
    float: none;
    width: 100%; }
    .ds_sequential-nav__item--prev {
      grid-area: prev; }
    .ds_sequential-nav__item--next {
      grid-area: next; }

  @media (min-width: 480px) {
    .ds_sequential-nav {
      grid-template-columns: 1fr 1fr;
      grid-template-areas: 'prev next'; } } }
/*------------------------------------*\
    SIDE NAVIGATION
\*------------------------------------*/
.ds_side-navigation {
  margin-top: 32px;
  margin-bottom: 32px;
  font-size: 14px;
  border: 1px solid #ebebeb;
  position: relative;
  /**
   * [1] vertical padding offsets the text slightly for visual balance
   */ }
  @media (min-width: 768px) {
    .ds_side-navigation {
      font-size: 16px; } }
  .ds_side-navigation__expand {
    display: block;
    position: relative;
    transition: background-color 0.2s, outline-color 0.2s;
    z-index: 1;
    outline: 0 !important;
    background-color: #ffffff;
    color: #0065bd;
    cursor: pointer;
    font-weight: 700;
    margin: 0;
    padding: 16px 40px 16px 16px;
    position: sticky;
    text-align: left;
    text-decoration: none;
    top: 0;
    transition: background-color 0.2s, box-shadow 0.2s;
    width: 100%;
    z-index: 2; }
    .ds_side-navigation__expand:focus {
      background-color: #fdd522;
      box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
    .ds_side-navigation__expand:hover:not(:focus) {
      background-color: #d9effc; }
    .ds_side-navigation__expand--shadow {
      box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.15); }
    .ds_side-navigation__expand:hover:not(:focus) {
      background-color: #d9effc; }
    .ds_side-navigation__expand:hover .side-navigation__expand-indicator {
      color: #00437e; }
    .ds_side-navigation__expand--shadow:focus {
      box-shadow: 0 3px #333333, 0px 8px 5px rgba(0, 0, 0, 0.15); }
  .ds_side-navigation__expand-indicator {
    content: '';
    display: inline-block;
    height: 2em;
    transition: transform 0.2s, top 0.2s;
    width: 2em;
    /*
     * [1] for IE11 support, use image without clip path
     */
    background-image: url(../images/icons/icons.stack.svg#expand_more);
    right: 14px;
    position: absolute;
    top: 14px; }
    @supports (-webkit-mask-image: url()) or (mask-image: url()) {
      .ds_side-navigation__expand-indicator {
        background-color: currentColor;
        background-image: none;
        -webkit-mask-image: url(../images/icons/icons.stack.svg#expand_more);
        mask-image: url(../images/icons/icons.stack.svg#expand_more); } }
  .ds_side-navigation #show-side-navigation:focus ~ .ds_side-navigation__expand {
    background: #fdd522;
    box-shadow: 0 3px #333333;
    color: #333333;
    transition-duration: 0s; }
  .ds_side-navigation #show-side-navigation:checked ~ .ds_side-navigation__expand .ds_side-navigation__expand-indicator {
    transform: rotateZ(180deg); }
  .ds_side-navigation #show-side-navigation:checked ~ .ds_side-navigation__expand:not(:focus):not(:hover) {
    background-color: #f8f8f8;
    color: #333333; }
  #show-side-navigation:checked ~ .ds_side-navigation__list {
    display: block; }
  .ds_side-navigation__list {
    list-style-type: none;
    margin: 8px 16px; }
  .ds_side-navigation__list .ds_side-navigation__list {
    margin: 0 0 0 16px; }
  .ds_side-navigation__item {
    position: relative;
    margin-bottom: 0; }
    .ds_side-navigation__item--disabled {
      text-decoration: line-through; }
  .ds_side-navigation__link {
    display: block;
    position: relative;
    transition: background-color 0.2s, outline-color 0.2s;
    z-index: 1;
    outline: 0 !important;
    margin-bottom: 2px;
    padding: 12px 40px 10px 16px;
    /* [1] */
    position: relative;
    text-decoration: none; }
    .ds_side-navigation__link:focus {
      background-color: #fdd522;
      box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
    .ds_side-navigation__link:hover:not(:focus) {
      background-color: #d9effc; }
    .ds_side-navigation__link:hover, .ds_side-navigation__link.ds_current {
      position: relative; }
      .ds_side-navigation__link:hover::before, .ds_side-navigation__link.ds_current::before {
        background: #0065bd;
        bottom: 0;
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 2px; }
    .ds_side-navigation__link:focus {
      box-shadow: 0 3px #333333;
      z-index: 2; }
    .ds_side-navigation__link:focus::before {
      content: none; }
    .ds_side-navigation__link.ds_current {
      background-color: #f8f8f8; }
      .ds_side-navigation__link.ds_current:hover {
        background-color: #f8f8f8; }
    .ds_side-navigation__link--inactive {
      pointer-events: none;
      background-color: #ebebeb; }
  .ds_side-navigation__list .ds_side-navigation__list .ds_side-navigation__list .ds_side-navigation__link {
    padding-left: 24px; }
    .ds_side-navigation__list .ds_side-navigation__list .ds_side-navigation__list .ds_side-navigation__link::before {
      background: #ebebeb;
      bottom: 12px;
      content: '';
      left: 12px;
      position: absolute;
      right: 100%;
      width: 4px;
      top: 12px; }
    .ds_side-navigation__list .ds_side-navigation__list .ds_side-navigation__list .ds_side-navigation__link:hover::before, .ds_side-navigation__list .ds_side-navigation__list .ds_side-navigation__list .ds_side-navigation__link:focus::before, .ds_side-navigation__list .ds_side-navigation__list .ds_side-navigation__list .ds_side-navigation__link.ds_current::before {
      background: #0065bd; }

@media (max-width: 767px) {
  .js-initialised.ds_side-navigation > .ds_side-navigation__list {
    margin: 0 16px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s, padding 0.2s; }

  .js-initialised.ds_side-navigation #show-side-navigation:checked ~ .ds_side-navigation__list {
    padding-bottom: 8px;
    padding-top: 8px; } }
@media (min-width: 768px) {
  .ds_side-navigation {
    border-width: 0;
    line-height: 24px; }
    .ds_side-navigation__expand {
      display: none; }
    .ds_side-navigation__list {
      display: block !important;
      margin: 0;
      max-height: unset !important; }
    .ds_side-navigation #show-side-navigation {
      display: none; } }
/*
    SITE NAVIGATION
    containing site-navigation and mobile equivalent
*/
.ds_site-navigation {
  font-size: 14px;
  clear: both;
  display: none; }
  @media (min-width: 768px) {
    .ds_site-navigation {
      font-size: 16px; } }
  .ds_site-navigation__list {
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    margin: 0 0 0 -16px; }
  .ds_site-navigation__item {
    display: inline-block;
    margin-bottom: 0; }
    .ds_site-navigation__item:not(:last-child) {
      margin-right: 1px; }
  .ds_site-navigation__link {
    position: relative;
    transition-duration: 0s !important;
    color: currentColor;
    display: block;
    padding: 8px 16px;
    text-decoration: none;
    white-space: nowrap; }
    .ds_site-navigation__link:hover:not(:focus) {
      background: transparent;
      outline-color: transparent; }
    .ds_site-navigation__link::after {
      background-color: currentColor;
      bottom: -5px;
      content: '';
      height: 1px;
      left: 50%;
      opacity: 0;
      position: absolute;
      right: 50%;
      transition: left 0.2s, right 0.2s, opacity 0.2s; }
    .ds_site-navigation__link:hover::after {
      left: 0;
      opacity: 1;
      right: 0; }
    .ds_site-navigation__link:focus {
      box-shadow: 0 3px #333333;
      outline: none;
      padding-bottom: 5px; }
      .ds_site-navigation__link:focus::after {
        content: none; }
    .ds_site-navigation__link:focus {
      position: relative;
      z-index: 1; }
    .ds_site-navigation__link:hover:not(:focus) {
      background-color: #d9effc; }
    .ds_site-navigation__link::after {
      bottom: 0;
      height: 3px; }
    .ds_site-navigation__link:hover::after, .ds_site-navigation__link:focus::after {
      left: 16px;
      right: 16px; }
    .ds_site-navigation__link.ds_current:not(:focus):not(:hover) {
      background-color: #f8f8f8; }
      .ds_site-navigation__link.ds_current:not(:focus):not(:hover)::after {
        background-color: #0065bd;
        left: 16px;
        opacity: 1;
        right: 16px; }

span.ds_site-navigation__link.ds_current {
  pointer-events: none; }

.ds_reversed .ds_site-navigation .ds_site-navigation__link:hover:not(.ds_current) {
  background-color: #00437e;
  color: #d9effc; }
.ds_reversed .ds_site-navigation .ds_site-navigation__link.ds_current {
  background-color: transparent;
  color: #d9effc; }
  .ds_reversed .ds_site-navigation .ds_site-navigation__link.ds_current::after {
    background-color: currentColor; }

.js-toggle-menu,
.js-close-menu {
  display: none; }

.js-enabled .ds_mobile-navigation {
  display: none;
  position: fixed; }
.js-enabled .js-toggle-menu,
.js-enabled .js-close-menu {
  display: block; }
.js-enabled .ds_mobile-navigation__button {
  position: absolute;
  right: 0;
  top: 0; }
.js-enabled .ds_mobile-navigation {
  position: absolute; }
.js-enabled .ds_mobile-navigation.menu-is-open {
  display: block; }

.ds_mobile-navigation {
  box-sizing: border-box;
  left: 0;
  margin: 0;
  overflow: auto;
  right: 0;
  z-index: 10; }
  .ds_mobile-navigation__button {
    display: block;
    position: relative;
    transition: background-color 0.2s, outline-color 0.2s;
    z-index: 1;
    outline: 0 !important;
    background-color: transparent;
    display: none;
    color: #0065bd;
    font-weight: 400;
    height: 100%;
    margin: 0;
    padding: 0 16px; }
    .ds_mobile-navigation__button:focus {
      background-color: #fdd522;
      box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
    .ds_mobile-navigation__button:hover:not(:focus) {
      background-color: #d9effc; }
    .ds_mobile-navigation__button--open {
      background-color: #f8f8f8;
      color: #0065bd; }
      .ds_mobile-navigation__button--open .ds_site-header__control-icon {
        display: none; }
      .ds_mobile-navigation__button--open .ds_site-header__control-icon--close {
        display: inline; }
    .ds_mobile-navigation__button:hover {
      color: #00437e; }
    .ds_mobile-navigation__button:focus {
      color: #00437e; }
  .ds_mobile-navigation__backdrop {
    background: rgba(255, 255, 255, 0.8) !important;
    bottom: 0;
    left: 0;
    margin: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition-duration: 0.2s;
    width: 100%;
    z-index: 1; }
    .ds_mobile-navigation__backdrop::after {
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), transparent);
      content: '';
      height: 11px;
      left: 0;
      position: absolute;
      right: 0;
      top: 0; }
  .ds_mobile-navigation__content {
    background: #f8f8f8;
    overflow: hidden;
    padding: 0 16px; }
  .ds_mobile-navigation__block {
    margin: 24px 0; }
  .ds_mobile-navigation__list {
    list-style-type: none;
    margin: 0 0 8px; }
  .ds_mobile-navigation__item {
    margin: 0; }
    .ds_mobile-navigation__item:not(:last-child) {
      border-bottom: 1px solid #b3b3b3; }
  .ds_mobile-navigation__link {
    color: #333333;
    display: block;
    padding: 16px 16px;
    text-decoration: none; }
    .ds_mobile-navigation__link:focus {
      border-left: 4px solid #0065bd;
      box-shadow: 0 4px #333333;
      outline: none;
      padding-left: 12px;
      position: relative; }
    .ds_mobile-navigation__link:hover {
      border-left: 4px solid #0065bd;
      padding-left: 12px; }
    .ds_mobile-navigation__link.ds_current {
      background-color: #f8f8f8;
      border-left: 4px solid #0065bd;
      padding-left: 12px; }

@media (max-width: 767px) {
  html.menu-is-open,
  html.menu-is-open body {
    overflow-y: hidden;
    position: relative; } }
@media (min-width: 768px) {
  .ds_site-navigation {
    display: block; }

  .ds_mobile-navigation,
  .ds_mobile-navigation__button {
    display: none !important; } }
/*------------------------------------*\
    BRANDING
\*------------------------------------*/
.ds_site-branding__logo {
  height: 32px; }
.ds_site-branding__logo-image {
  height: 100%;
  pointer-events: none; }
.ds_site-branding__link {
  color: currentColor;
  display: inline-block;
  position: relative;
  text-decoration: none;
  position: relative;
  transition-duration: 0s !important; }
  .ds_site-branding__link:hover:not(:focus) {
    background: transparent;
    outline-color: transparent; }
  .ds_site-branding__link::after {
    background-color: currentColor;
    bottom: -5px;
    content: '';
    height: 2px;
    left: 50%;
    opacity: 0;
    position: absolute;
    right: 50%;
    transition: left 0.2s, right 0.2s, opacity 0.2s; }
  .ds_site-branding__link:hover::after {
    left: 0;
    opacity: 1;
    right: 0; }
.ds_site-branding__logo + .ds_site-branding__title {
  margin-top: 16px; }
.ds_site-branding__title {
  font-weight: 300; }

@media (min-width: 768px) {
  .ds_site-branding {
    padding: 8px 0;
    /*
    * [1] magic number: maximum we can accommodate in the branding content area for two-line titles
    */ }
    .ds_site-branding__link {
      margin-bottom: 0; }
    .ds_site-branding__logo, .ds_site-branding__title {
      float: left; }
    .ds_site-branding__logo {
      height: 40px;
      max-height: unset; }
      .ds_site-branding__logo:not(:last-child)::before {
        background: #0065bd;
        bottom: 0;
        content: '';
        position: absolute;
        right: -24px;
        top: 0;
        width: 2px;
        pointer-events: none; }
    .ds_site-branding__logo + .ds_site-branding__title {
      margin-top: 0; }
    .ds_site-branding__title {
      font-size: 19px;
      line-height: 31px;
      /* [1] */
      /* centering items without display: grid */
      display: table;
      height: 40px;
      margin-left: 48px; }
      .ds_site-branding__title > * {
        display: table-cell;
        vertical-align: middle; } }
.ds_reversed .ds_site-branding .ds_site-branding__logo {
  color: #ffffff; }
  .ds_reversed .ds_site-branding .ds_site-branding__logo:not(:last-child)::before {
    background-color: #ffffff; }

@supports (display: grid) {
  .ds_site-branding {
    display: grid;
    grid-gap: 0; }

  @media (min-width: 768px) {
    .ds_site-branding {
      align-items: center;
      grid-template-columns: min-content auto;
      grid-column-gap: 50px; }
      .ds_site-branding__logo, .ds_site-branding__title {
        float: none; }
      .ds_site-branding__title {
        /* override gridless fallback */
        display: block;
        height: auto;
        margin-left: 0; }
        .ds_site-branding__title > * {
          display: block; } } }
/*------------------------------------*\
    SITE FOOTER
\*------------------------------------*/
.ds_site-footer {
  font-size: 14px;
  background-color: #0065bd;
  line-height: 24px;
  padding-bottom: 32px;
  padding-top: 24px;
  /* [1] subtracting the border width */ }
  @media (min-width: 768px) {
    .ds_site-footer {
      font-size: 16px; } }
  .ds_site-footer__site-items {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 14px;
    font-weight: 700;
    list-style-type: none;
    margin: 0 0 23px;
    /* [1] */
    padding-bottom: 16px; }
  .ds_site-footer__copyright-logo {
    display: block;
    margin-bottom: 8px;
    width: 32px;
    position: relative;
    transition-duration: 0s !important; }
    .ds_site-footer__copyright-logo:hover:not(:focus) {
      background: transparent;
      outline-color: transparent; }
    .ds_site-footer__copyright-logo::after {
      background-color: currentColor;
      bottom: -5px;
      content: '';
      height: 1px;
      left: 50%;
      opacity: 0;
      position: absolute;
      right: 50%;
      transition: left 0.2s, right 0.2s, opacity 0.2s; }
    .ds_site-footer__copyright-logo:hover::after {
      left: 0;
      opacity: 1;
      right: 0; }
    .ds_site-footer__copyright-logo img {
      width: 100%; }
  .ds_site-footer__org {
    max-width: 160px;
    position: relative; }
  .ds_site-footer__org-link {
    display: block;
    position: relative;
    transition-duration: 0s !important; }
    .ds_site-footer__org-link:hover:not(:focus) {
      background: transparent;
      outline-color: transparent; }
    .ds_site-footer__org-link::after {
      background-color: currentColor;
      bottom: -5px;
      content: '';
      height: 1px;
      left: 50%;
      opacity: 0;
      position: absolute;
      right: 50%;
      transition: left 0.2s, right 0.2s, opacity 0.2s; }
    .ds_site-footer__org-link:hover::after {
      left: 0;
      opacity: 1;
      right: 0; }
  .ds_site-footer .ds_site-footer__org-link,
  .ds_site-footer .ds_site-footer__copyright-logo {
    color: currentColor !important; }

.ds_reversed.ds_site-footer {
  color: #ffffff; }

.ds_site-items__item {
  display: inline-block; }
  .ds_site-items__item:not(:last-child) {
    margin-right: 20px; }

@media (min-width: 768px) {
  .ds_site-footer__copyright {
    padding-left: 48px;
    position: relative; }
    .ds_site-footer__copyright-logo {
      position: absolute;
      left: 0;
      top: 2px; }
  .ds_site-footer__content {
    margin-right: -32px;
    overflow: hidden; }
    .ds_site-footer__content > *[class] {
      margin-right: 32px; }
    @supports (display: grid) {
      .ds_site-footer__content {
        display: grid;
        grid-gap: 0 32px;
        margin-right: 0;
        overflow: visible; }
        .ds_site-footer__content > *[class] {
          margin-left: 0;
          margin-right: 0;
          width: auto; } }
  .ds_site-footer__copyright {
    float: left;
    width: calc(100% * 0.66667 - 32px); }
  .ds_site-footer__org {
    float: right;
    width: calc(100% * 0.25 - 32px); }

  @supports (display: grid) {
    .ds_site-footer__content {
      display: grid;
      grid-gap: 0 32px;
      grid-template-columns: repeat(12, 1fr);
      grid-template-areas: 'a a a a a a a a a a a a' 'b b b b b b b b . c c c'; }
    .ds_site-footer__site-items {
      grid-area: a; }
    .ds_site-footer__copyright {
      grid-area: b; }
    .ds_site-footer__org {
      grid-area: c;
      justify-self: right;
      width: 100%; }
      .ds_site-footer__org-logo {
        display: block;
        width: 100%; } } }
/*------------------------------------*\
    SITE HEADER
\*------------------------------------*/
/* [1] compensates for border */
.ds_site-header {
  background-color: #ffffff;
  border-bottom: 1px solid #ebebeb;
  margin-bottom: -1px;
  /* [1] */
  position: relative; }
  .ds_site-header::before {
    background: #0065bd;
    display: block;
    content: '';
    height: 4px; }
  .ds_site-header__top {
    position: relative; }
  .ds_site-header__content {
    overflow: hidden;
    padding: 8px 0;
    transition: min-height 0.2s; }
    @supports (display: grid) {
      .ds_site-header__content {
        overflow: visible; } }
  .ds_site-header__content > .ds_site-branding {
    float: left; }
  .ds_site-header__content > .ds_site-header__search {
    float: right; }
  .ds_site-header__controls {
    display: block; }
  .ds_site-header__control {
    cursor: pointer;
    height: 24px;
    margin-right: -16px;
    padding: 16px;
    display: block;
    position: relative;
    transition: background-color 0.2s, outline-color 0.2s;
    z-index: 1;
    outline: 0 !important; }
    .ds_site-header__control:focus {
      background-color: #fdd522;
      box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
    .ds_site-header__control:hover:not(:focus) {
      background-color: #d9effc; }
  .ds_site-header__control-icon {
    height: 24px;
    width: 24px; }
    .ds_site-header__control-icon--close {
      display: none; }
  .ds_site-header__control-text {
    float: left;
    margin-right: 8px;
    pointer-events: none; }
  .ds_site-header__search {
    display: none; }

/* variant with the top colour bar set to a gradient of site brand colours */
.ds_site-header--gradient::before {
  background: linear-gradient(to right, #0065bd, #002d54); }

/* variant with a drop shadow instead of a bottom border */
.ds_site-header--shadow {
  border-bottom: 0; }
  .ds_site-header--shadow::after {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), transparent);
    bottom: -11px;
    content: '';
    left: 0;
    position: absolute;
    right: 0;
    top: 100%; }

/* variant with a solid-colour background and reversed branding */
.ds_site-header.ds_reversed {
  background-color: #0065bd;
  color: #ffffff; }
  .ds_site-header.ds_reversed:not(.ds_site-header--gradient)::before {
    content: none; }
  .ds_site-header.ds_reversed .ds_site-header__navigation {
    border-top: 1px solid #002d54; }

@supports (display: flex) {
  .ds_site-header__content {
    align-items: center;
    display: flex;
    justify-content: space-between; } }
@media (min-width: 768px) {
  .ds_site-header__controls {
    display: none; }

  .ds_site-header__search {
    display: block; }
    .ds_site-header__search .ds_site-search__input {
      float: right; }

  .ds_site-header__branding {
    max-width: calc(2/3 * 100% - 32px); }

  /* [1] compensates for border */
  .ds_site-header__navigation {
    border-top: 1px solid #ebebeb;
    margin-top: -1px;
    /* [1] */ } }
/*------------------------------------*\
    SEARCH BOX
\*------------------------------------*/
.ds_site-search {
  box-sizing: border-box;
  color: #333333;
  min-height: 48px; }
  .ds_site-search__input[type=text] {
    background: #ebebeb;
    border-width: 0;
    margin-bottom: 0;
    min-height: 48px;
    padding-left: 20px; }
    .ds_site-search__input[type=text]:focus {
      box-shadow: inset 0 0 0 4px; }
  .ds_site-search--large {
    margin-bottom: 48px; }

@media (min-width: 768px) {
  .ds_site-search {
    min-height: 48px; }
    .ds_site-search__button {
      height: 48px;
      width: 48px; } }
.ds_reversed .ds_site-search .ds_site-search__button {
  background-color: #002d54; }

@media (max-width: 767px) {
  .ds_site-search--collapsible {
    position: absolute;
    right: 16px;
    left: calc(100% - 16px);
    transition: left 0.2s; }
    .ds_site-search--collapsible .ds_site-search__input[type="text"] {
      opacity: 0;
      padding: 0;
      transition: all 0.2s; }

  .ds_site-search--expanded {
    left: 16px; }
    .ds_site-search--expanded .ds_site-search__input[type="text"] {
      opacity: 1;
      padding: 0 48px 0 24px; } }
/*------------------------------------*\
    #SKIP LINKS
\*------------------------------------*/
.ds_skip-links {
  position: relative; }

.ds_skip-links__list {
  list-style-type: none;
  margin: 0; }

.ds_skip-links__item {
  margin: 0; }

.ds_skip-links__link {
  clip: rect(1px 1px 1px 1px);
  display: block;
  height: 1px;
  left: 10px;
  overflow: hidden;
  padding: 7px;
  position: absolute;
  top: 10px;
  width: 1px; }
  .ds_skip-links__link:focus {
    clip: auto;
    height: auto;
    width: auto;
    z-index: 10000; }

/*------------------------------------*\
    TABLES
\*------------------------------------*/
.ds_table {
  width: 100%; }
  .ds_table tbody,
  .ds_table thead,
  .ds_table tfoot {
    border: 1px solid #b3b3b3; }
  .ds_table th {
    background-color: #ebebeb;
    font-weight: bold;
    position: relative;
    text-align: left; }
  .ds_table th,
  .ds_table td {
    vertical-align: top; }
  .ds_table th[colspan] {
    border: 1px solid #b3b3b3; }
  .ds_table th:not(:first-child)::before {
    border-left: 1px solid #b3b3b3;
    bottom: 8px;
    content: '';
    left: -1px;
    position: absolute;
    top: 8px; }
  .ds_table tr > * {
    padding: 8px 16px 8px 8px; }
  .ds_table tr {
    border-bottom: 1px solid #ebebeb; }
  .ds_table tr:last-child {
    border-bottom-color: #b3b3b3; }
  .ds_table thead > tr:last-child {
    border-bottom-width: 0; }
  .ds_table tbody > tr > td {
    background-color: #ffffff; }
  .ds_table tbody > tr:nth-child(even) > td {
    background-color: #f8f8f8; }
  .ds_table caption {
    font-size: 16px;
    font-weight: 700;
    line-height: 21px;
    margin-bottom: 14px;
    text-align: left; }
    @media (min-width: 768px) {
      .ds_table caption {
        font-size: 19px;
        line-height: 28px; } }

@media (max-width: 767px) {
  .ds_table.js-is-scrolling[data-smallscreen="scrolling"] {
    display: block;
    max-width: 100%;
    overflow-x: auto; }
  .ds_table.js-is-scrolling[data-smallscreen="scrolling"] tr > :first-child {
    left: 0;
    position: sticky;
    z-index: 1; }
  .ds_table.js-is-scrolling[data-smallscreen="scrolling"] caption {
    display: block;
    left: 0;
    position: sticky; }
  .ds_table.js-is-scrolling[data-smallscreen="scrolling"] tr > :first-child::after {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.07), transparent);
    content: '';
    height: 100%;
    position: absolute;
    right: -10px;
    top: 0;
    width: 10px; }
  .ds_table.js-is-scrolling[data-smallscreen="scrolling"] tr > :first-child::before {
    background: #b3b3b3;
    content: '';
    height: 100%;
    left: -1px;
    position: absolute;
    top: 0;
    width: 1px; }
  .ds_table.js-is-scrolling[data-smallscreen="scrolling"] tr > th:first-child {
    background: #ebebeb; }
  .ds_table.js-is-scrolling[data-smallscreen="scrolling"] tr > td:first-child {
    border-right: 1px solid #ebebeb; }

  .js-enabled .ds_table[data-smallscreen="boxes"] thead {
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    width: 1px;
    overflow: hidden;
    position: absolute !important; }
  .js-enabled .ds_table[data-smallscreen="boxes"] {
    border: 0; }
  .js-enabled .ds_table[data-smallscreen="boxes"] tbody {
    border: none; }
  .js-enabled .ds_table[data-smallscreen="boxes"] tr {
    border: 0;
    display: block;
    margin-bottom: 16px; }
  .js-enabled .ds_table[data-smallscreen="boxes"] tr > * {
    display: block;
    overflow: auto;
    padding-left: calc(50% - 8px);
    position: relative; }
  .js-enabled .ds_table[data-smallscreen="boxes"] tr > * {
    border: 1px solid #b3b3b3; }
  .js-enabled .ds_table[data-smallscreen="boxes"] tr > td:not(:last-child) {
    border-bottom-color: #ebebeb; }
  .js-enabled .ds_table[data-smallscreen="boxes"] tr > th:last-child {
    border-width: 0;
    margin-top: 32px; }
  .js-enabled .ds_table[data-smallscreen="boxes"] tr > td:not(:first-child) {
    border-top-width: 0; }
  .js-enabled .ds_table[data-smallscreen="boxes"] tr > td::before {
    content: attr(data-heading);
    display: block;
    position: absolute;
    font-weight: bold;
    left: 0;
    margin-left: 16px;
    margin-right: 16px;
    text-align: left;
    width: calc(50% - 16px); }
  .js-enabled .ds_table[data-smallscreen="boxes"] tr > td:first-child {
    box-shadow: inset 0 4px 0 #ebebeb;
    padding-top: 11px; }
  .js-enabled .ds_table[data-smallscreen="boxes"] tr > td:nth-child(odd) {
    background-color: #ffffff; }
  .js-enabled .ds_table[data-smallscreen="boxes"] tr > td:nth-child(even) {
    background-color: #f8f8f8; } }
/*------------------------------------*\
    TABS
\*------------------------------------*/
.ds_tab-container {
  border: 1px solid #b3b3b3; }

.ds_tab__content {
  display: none;
  padding: 32px; }
  .ds_tab__content > :last-child {
    margin-bottom: 0; }
.ds_tab__label {
  color: #0065bd;
  text-decoration: underline;
  outline: 2px solid transparent;
  transition: color 0.2s, background-color 0.2s, outline 0.2s;
  background: #ebebeb;
  border-bottom: 0;
  border-top: 1px solid #ffffff;
  display: block;
  font-weight: 400;
  margin: 0;
  outline-width: 1px;
  padding: 15px 32px 16px;
  text-align: left;
  transition: color 0.2s, background-color 0.2s;
  width: 100%; }
  .ds_tab__label:hover {
    background-color: #d9effc;
    color: #00437e;
    outline: 2px solid #d9effc;
    transition-duration: 0.2s; }
  .ds_tab__label:focus {
    background-color: #fdd522;
    box-shadow: -2px 5px #333333, 2px 5px #333333;
    color: #333333;
    outline: 2px solid #fdd522;
    outline-offset: 0;
    text-decoration: none;
    transition-duration: 0s; }
  .ds_tab__label > svg {
    fill: currentColor; }
  .ds_tab__label:focus {
    position: relative;
    z-index: 1;
    outline-width: 0; }
  .ds_tab__label:hover {
    outline-width: 0; }
.ds_tab__header:first-child > .ds_tab__label {
  border-top: 0;
  padding-top: 16px; }
.ds_tab__radio {
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  overflow: hidden;
  position: absolute !important; }
.ds_tab__radio:checked + .ds_tab__header + .ds_tab__content, .ds_tab__header.ds_current + .ds_tab__content {
  display: block; }
.ds_tab__radio:checked + .ds_tab__header > .ds_tab__label:not(:focus), .ds_tab__header.ds_current > .ds_tab__label:not(:focus) {
  background: #ffffff;
  color: #333333;
  pointer-events: none;
  position: relative;
  text-decoration: none; }
.ds_tab__radio + .ds_tab__header > .ds_tab__label::before, .ds_tab__header > .ds_tab__label::before {
  background: #0065bd;
  bottom: 0;
  left: 0;
  position: absolute;
  top: 0;
  width: 4px; }
.ds_tab__radio:checked + .ds_tab__header > .ds_tab__label::before, .ds_tab__header.ds_current > .ds_tab__label::before {
  content: ''; }
.ds_tab__radio .ds_tab__header > .ds_tab__label:focus, .ds_tab__header > .ds_tab__label:focus {
  box-shadow: none; }
  .ds_tab__radio .ds_tab__header > .ds_tab__label:focus::before, .ds_tab__header > .ds_tab__label:focus::before {
    content: '';
    background-color: #333333; }

@supports (display: grid) {
  @media (min-width: 768px) {
    .ds_tab-container {
      border: 0;
      display: grid;
      grid-template-areas: 't1 t2 t3 t4 t5 .' 'tc tc tc tc tc tc';
      grid-gap: 0 8px;
      grid-template-columns: repeat(5, minmax(min-content, max-content)) auto; }
      .ds_tab-container--2 {
        grid-template-areas: 't1 t2 .' 'tc tc tc';
        grid-template-columns: repeat(2, minmax(min-content, max-content)) auto; }
      .ds_tab-container--3 {
        grid-template-areas: 't1 t2 t3 .' 'tc tc tc tc';
        grid-template-columns: repeat(3, minmax(min-content, max-content)) auto; }
      .ds_tab-container--4 {
        grid-template-areas: 't1 t2 t3 t4 .' 'tc tc tc tc tc';
        grid-template-columns: repeat(4, minmax(min-content, max-content)) auto; }
      .ds_tab-container--5 {
        grid-template-areas: 't1 t2 t3 t4 t5 .' 'tc tc tc tc tc tc';
        grid-template-columns: repeat(5, minmax(min-content, max-content)) auto; }
      .ds_tab-container--6 {
        grid-template-areas: 't1 t2 t3 t4 t5 t6 .' 'tc tc tc tc tc tc tc';
        grid-template-columns: repeat(6, minmax(min-content, max-content)) auto; }

    .ds_tab__header {
      align-self: stretch; }
      .ds_tab__header:nth-of-type(1) {
        grid-area: t1; }
      .ds_tab__header:nth-of-type(3) {
        grid-area: t2; }
      .ds_tab__header:nth-of-type(5) {
        grid-area: t3; }
      .ds_tab__header:nth-of-type(7) {
        grid-area: t4; }
      .ds_tab__header:nth-of-type(9) {
        grid-area: t5; }
      .ds_tab__header:nth-of-type(11) {
        grid-area: t6; }
    .ds_tab__content {
      border-top: 1px solid #b3b3b3;
      grid-area: tc; }
    .ds_tab__label {
      border-left: 1px solid #ebebeb;
      border-right: 1px solid #ebebeb;
      border-top: 0;
      height: 100%;
      padding-left: 31px;
      padding-right: 31px;
      padding-top: 16px; }
      .ds_tab__label:focus {
        border-left-color: #fdd522;
        border-right-color: #fdd522; }
    .ds_tab__radio:checked + .ds_tab__header > .ds_tab__label:not(:focus), .ds_tab__header.ds_current > .ds_tab__label:not(:focus) {
      border-left-color: #b3b3b3;
      border-right-color: #b3b3b3; }
    .ds_tab__radio + .ds_tab__header > .ds_tab__label::before, .ds_tab__header > .ds_tab__label::before {
      background-color: #0065bd;
      bottom: 100%;
      left: -1px;
      right: -1px;
      top: -4px;
      width: auto; }
    .ds_tab__radio:checked + .ds_tab__header > .ds_tab__label::after, .ds_tab__header.ds_current > .ds_tab__label::after {
      background: #ffffff;
      bottom: -1px;
      content: '';
      left: 0;
      position: absolute;
      right: 0;
      top: 100%; }
    .ds_tab__radio:checked + .ds_tab__header > .ds_tab__label:focus::after, .ds_tab__header.ds_current > .ds_tab__label:focus::after {
      background-color: #fdd522; } } }
/*------------------------------------*\
    TAG
\*------------------------------------*/
.ds_tag {
  background: #0065bd;
  border-radius: 2px;
  color: #ffffff;
  display: inline-block;
  font-size: 15px;
  font-weight: 700;
  padding: 0 10px;
  text-transform: uppercase; }

.ds_reversed .ds_tag {
  background-color: #ffffff;
  color: #0065bd; }

/*------------------------------------*\
    #WARNING TEXT
\*------------------------------------*/
/* [1] compensate for border */
.ds_warning-text {
  border: 1px solid currentColor;
  border-width: 1px 0;
  font-weight: 700;
  padding: 23px 16px 23px 72px;
  /* [1] */
  position: relative;
  margin-top: 32px;
  margin-bottom: 32px; }
  .ds_warning-text > :last-child {
    margin-bottom: 0; }
  .ds_warning-text:first-child {
    margin-top: 0; }

.ds_warning-text__icon {
  background: #333333;
  border-radius: 50%;
  color: #ffffff;
  display: inline-block;
  height: 32px;
  font-size: 32px;
  font-weight: 700;
  left: 24px;
  line-height: 32px;
  position: absolute;
  text-align: center;
  top: 20px;
  width: 32px; }
  @supports (-webkit-mask-image: url()) or (mask-image: url()) {
    .ds_warning-text__icon::before {
      content: '';
      display: block;
      height: 28px;
      margin: 2px;
      /*
       * [1] for IE11 support, use image without clip path
       */
      background-image: url(../images/icons/icons.stack.svg#priority_high); }
      @supports (-webkit-mask-image: url()) or (mask-image: url()) {
        .ds_warning-text__icon::before {
          background-color: currentColor;
          background-image: none;
          -webkit-mask-image: url(../images/icons/icons.stack.svg#priority_high);
          mask-image: url(../images/icons/icons.stack.svg#priority_high); } } }

.ds_warning-text__text > :last-child {
  margin-bottom: 0; }

@media (min-width: 768px) {
  /* [1] compensate for border */
  .ds_warning-text {
    padding: 31px 72px 31px 72px;
    /* [1] */ }

  .ds_warning-text__icon {
    top: 31px; } }
/**
 * COMPONENTS FOR DESIGN SYSTEM SITE NOT IN DESIGN SYSTEM STYLES (YET?)
 */
/*------------------------------------*\
    #EXAMPLE
\*------------------------------------*/
.example {
  margin-top: 32px;
  margin-bottom: 32px; }

.example__iframe {
  border: 0;
  display: block;
  width: 100%; }

.example__pre {
  background-color: #f8f8f8;
  margin-bottom: 0; }

.example__code {
  background-color: transparent;
  border: 0;
  font-size: 0.85em;
  line-height: 1.25;
  width: 100%; }

example__accordion-body--code figure {
  border: 0; }

.example__illustration {
  display: block; }

.example__link {
  display: block;
  position: relative;
  transition: background-color 0.2s, outline-color 0.2s;
  z-index: 1;
  outline: 0 !important;
  background-color: #f8f8f8;
  display: inline-block;
  font-size: 14px;
  padding: 4px 16px;
  position: absolute;
  text-decoration: none; }
  .example__link:focus {
    background-color: #fdd522;
    box-shadow: inset 0 -3px #333333, inset 0 -3px #333333; }
  .example__link:hover:not(:focus) {
    background-color: #d9effc; }

.example__accordion {
  margin-bottom: 0;
  margin-top: 0; }

.example__accordion-body--code {
  padding: 0 !important; }
  .example__accordion-body--code figure {
    border: 0;
    margin: 0; }

/*------------------------------------*\
    #CASE STUDY
    homepage
\*------------------------------------*/
.case-studies {
  display: grid;
  grid-gap: 32px 32px;
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.case-study {
  display: grid;
  grid-gap: 32px 32px;
  grid-template-columns: repeat(2, minmax(0, 1fr)); }

.case-study__image {
  background-color: #ddd;
  width: 100%;
  height: 144px; }

.case-study__button {
  display: block;
  margin-top: 0;
  width: auto;
  max-width: 75%; }

.dss_homepage-hero {
  margin: 24px 0 32px;
  margin-right: -32px;
  overflow: hidden; }
  .dss_homepage-hero__container {
    background-color: #0065bd;
    overflow: hidden; }
  .dss_homepage-hero__cta .ds_button {
    font-weight: bold; }
  .dss_homepage-hero__cta :first-child {
    margin-top: 0; }
  .dss_homepage-hero__cta :last-child {
    margin-bottom: 0; }
  .dss_homepage-hero__header {
    border-left: 0;
    margin-bottom: 32px;
    padding-left: 0; }
    .dss_homepage-hero__header :last-child {
      margin-bottom: 0; }
  .dss_homepage-hero__title {
    font-weight: 700; }
  .dss_homepage-hero__summary {
    font-weight: 400;
    font-size: 1rem;
    line-height: 24px;
    margin-bottom: 32px;
    padding-right: 32px; }
  .dss_homepage-hero__media {
    display: block;
    margin: 0;
    max-width: unset;
    width: 100%; }
  .dss_homepage-hero__media-caption {
    font-size: 14px;
    margin: 8px 0; }
    @media (min-width: 768px) {
      .dss_homepage-hero__media-caption {
        font-size: 16px; } }
  .dss_homepage-hero__media-link {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0; }
    .dss_homepage-hero__media-link:hover {
      outline: 2px solid #d9effc; }
  .dss_homepage-hero > *[class] {
    margin-right: 32px; }
  @supports (display: grid) {
    .dss_homepage-hero {
      display: grid;
      grid-gap: 0 32px;
      margin-right: 0;
      overflow: visible; }
      .dss_homepage-hero > *[class] {
        margin-left: 0;
        margin-right: 0;
        width: auto; } }

@media (min-width: 768px) {
  .dss_homepage-hero__header {
    float: left;
    width: calc(100% * 1 - 32px); }
  .dss_homepage-hero__media-container {
    float: left;
    width: calc(100% * 0.5 - 32px); }
  .dss_homepage-hero__summary {
    line-height: 32px;
    float: left;
    width: calc(100% * 0.5 - 32px); } }
@media (min-width: 992px) {
  .dss_homepage-hero__media-container {
    float: left;
    width: calc(100% * 0.33333 - 32px); }
  .dss_homepage-hero__summary {
    float: left;
    width: calc(100% * 0.66667 - 32px); } }
@supports (display: grid) {
  .dss_homepage-hero {
    align-items: center;
    grid-gap: 32px 8px;
    margin: 32px 0 36px; }
    .dss_homepage-hero__header, .dss_homepage-hero__summary {
      margin-bottom: 0; }

  @media (min-width: 768px) {
    .dss_homepage-hero {
      grid-template-columns: repeat(12, 1fr);
      grid-template-areas: 'h h h h h h h h h h h h' 's s s s s s m m m m m m'; }
      .dss_homepage-hero__header {
        float: none;
        grid-area: h; }
      .dss_homepage-hero__media-container {
        float: none;
        margin-right: 0;
        max-width: 100%;
        grid-area: m; }
      .dss_homepage-hero__summary {
        float: none;
        grid-area: s; } }
  @media (min-width: 992px) {
    .dss_homepage-hero {
      grid-template-columns: repeat(12, 1fr);
      grid-template-areas: 'h h h h h h h h m m m m' 's s s s s s s s m m m m'; } } }
.dss_homepage-hero__container.ds_reversed {
  color: white; }

/*------------------------------------*\
    #SHOWCASE
    homepage
\*------------------------------------*/
.showcase__item {
  font-size: calc(1400% / 19);
  line-height: 24px;
  margin-bottom: 32px; }

.showcase__iframe {
  border: 1px solid #ddd;
  width: 100%; }

@media (min-width: 768px) {
  .showcase {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-gap: 0 32px; } }
/*------------------------------------*\
    #SUB BANNER
\*------------------------------------*/
.sub-banner {
  background-color: #00437e; }

.sub-banner__content {
  display: flex;
  justify-content: space-between;
  margin: 0 -10px; }

.sub-banner__link {
  color: #fff;
  display: inline-block;
  height: 49px;
  line-height: 49px;
  padding: 0 10px;
  text-decoration: none; }

.sub-banner__link:hover,
.sub-banner__link:focus {
  background-color: #002d54;
  color: #fff; }

.sub-banner__link:active {
  background-color: #000;
  color: #d9effc;
  outline-width: 0; }

.sub-banner__link--right {
  margin-right: 0; }

.link--progress {
  padding-right: 49px;
  position: relative; }
  .link--progress:after {
    content: '';
    display: inline-block;
    height: 2em;
    transition: transform 0.2s, top 0.2s;
    width: 2em;
    /*
     * [1] for IE11 support, use image without clip path
     */
    background-image: url(../images/icons/icons.stack.svg#chevron_right);
    right: 23px;
    position: absolute;
    top: 18px; }
    @supports (-webkit-mask-image: url()) or (mask-image: url()) {
      .link--progress:after {
        background-color: currentColor;
        background-image: none;
        -webkit-mask-image: url(../images/icons/icons.stack.svg#chevron_right);
        mask-image: url(../images/icons/icons.stack.svg#chevron_right); } }

/*------------------------------------*\
    #USERS
    homepage
\*------------------------------------*/
.users {
  display: grid;
  grid-gap: 0 32px; }

.user {
  align-content: stretch;
  background-color: #f8f8f8;
  /*colour__grey--lighter*/
  color: #333;
  /*colour__text*/
  display: flex;
  margin-bottom: 32px;
  text-decoration: none; }

.user:hover {
  background-color: #e5f0f8; }

.user__image {
  background-color: white;
  border: 1px solid #ddd;
  display: inline-block;
  width: 72px;
  height: 72px; }

.user__description {
  display: inline-block;
  flex-grow: 999;
  font-size: 22px;
  font-weight: 300;
  min-height: 72px;
  padding: 24px 16px; }

@media (min-width: 768px) {
  .users {
    grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) {
  .users {
    grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/*------------------------------------*\
    #WELCOME
    homepage
\*------------------------------------*/
.welcome {
  display: grid;
  grid-gap: 32px 32px;
  grid-template-areas: "heading heading video" "intro button video"; }

.welcome__heading {
  grid-area: heading; }

.welcome__intro {
  grid-area: intro; }

.welcome__button {
  align-self: end;
  grid-area: button; }

.welcome__video {
  grid-area: video;
  background-color: #ddd; }

@supports (display: grid) {
  .welcome__button .button {
    margin-top: 0;
    margin-bottom: 24px;
    width: auto; } }
.highlight {
  background: #ffffff; }

.highlight .c {
  color: #727272;
  font-style: italic; }

/* Comment */
.highlight .err {
  color: #d32205;
  background-color: #e3d2d2; }

/* Error */
.highlight .k {
  font-weight: bold; }

/* Keyword */
.highlight .o {
  font-weight: bold; }

/* Operator */
.highlight .cm {
  color: #727272;
  font-style: italic; }

/* Comment.Multiline */
.highlight .cp {
  color: #727272;
  font-weight: bold; }

/* Comment.Preproc */
.highlight .c1 {
  color: #727272;
  font-style: italic; }

/* Comment.Single */
.highlight .cs {
  color: #727272;
  font-weight: bold;
  font-style: italic; }

/* Comment.Special */
.highlight .gd {
  color: #000000;
  background-color: #ffdddd; }

/* Generic.Deleted */
.highlight .gd .x {
  color: #000000;
  background-color: #ffaaaa; }

/* Generic.Deleted.Specific */
.highlight .ge {
  font-style: italic; }

/* Generic.Emph */
.highlight .gr {
  color: #d32205; }

/* Generic.Error */
.highlight .gh {
  color: #727272; }

/* Generic.Heading */
.highlight .gi {
  color: #000000;
  background-color: #ddffdd; }

/* Generic.Inserted */
.highlight .gi .x {
  color: #000000;
  background-color: #aaffaa; }

/* Generic.Inserted.Specific */
.highlight .go {
  color: #b3b3b3; }

/* Generic.Output */
.highlight .gp {
  color: #333333; }

/* Generic.Prompt */
.highlight .gs {
  font-weight: bold; }

/* Generic.Strong */
.highlight .gu {
  color: #b3b3b3; }

/* Generic.Subheading */
.highlight .gt {
  color: #d32205; }

/* Generic.Traceback */
.highlight .kc {
  font-weight: bold; }

/* Keyword.Constant */
.highlight .kd {
  font-weight: bold; }

/* Keyword.Declaration */
.highlight .kp {
  font-weight: bold; }

/* Keyword.Pseudo */
.highlight .kr {
  font-weight: bold; }

/* Keyword.Reserved */
.highlight .kt {
  color: #0065bd;
  font-weight: bold; }

/* Keyword.Type */
.highlight .m {
  color: #017878; }

/* Literal.Number */
.highlight .s {
  color: #e5007e; }

/* Literal.String */
.highlight .na {
  color: #428542; }

/* Name.Attribute */
.highlight .nl {
  color: #428542; }

/* Name.Attribute */
.highlight .nb {
  color: #0065bd; }

/* Name.Builtin */
.highlight .nc {
  color: #0065bd;
  font-weight: bold; }

/* Name.Class */
.highlight .no {
  color: #428542; }

/* Name.Constant */
.highlight .ni {
  color: #912688; }

/* Name.Entity */
.highlight .nd {
  color: #d32205; }

.highlight .ne {
  color: #d32205;
  font-weight: bold; }

/* Name.Exception */
.highlight .nf {
  color: #d32205;
  font-weight: bold; }

/* Name.Function */
.highlight .nn {
  color: #333333; }

/* Name.Namespace */
.highlight .nt {
  color: #0065bd;
  font-weight: bold; }

/* Name.Tag */
.highlight .nv {
  color: #428542; }

/* Name.Variable */
.highlight .nx {
  color: #428542; }

/* Name.Variable */
.highlight .ow {
  font-weight: bold; }

/* Operator.Word */
.highlight .w {
  color: #b3b3b3; }

/* Text.Whitespace */
.highlight .mf {
  color: #017878; }

/* Literal.Number.Float */
.highlight .mh {
  color: #017878; }

/* Literal.Number.Hex */
.highlight .mi {
  color: #017878; }

/* Literal.Number.Integer */
.highlight .mo {
  color: #017878; }

/* Literal.Number.Oct */
.highlight .sb {
  color: #e5007e; }

/* Literal.String.Backtick */
.highlight .sc {
  color: #e5007e; }

/* Literal.String.Char */
.highlight .sd {
  color: #e5007e; }

/* Literal.String.Doc */
.highlight .s2 {
  color: #e5007e; }

/* Literal.String.Double */
.highlight .se {
  color: #e5007e; }

/* Literal.String.Escape */
.highlight .sh {
  color: #e5007e; }

/* Literal.String.Heredoc */
.highlight .si {
  color: #e5007e; }

/* Literal.String.Interpol */
.highlight .sx {
  color: #e5007e; }

/* Literal.String.Other */
.highlight .sr {
  color: #5eb135; }

/* Literal.String.Regex */
.highlight .s1 {
  color: #e5007e; }

/* Literal.String.Single */
.highlight .ss {
  color: #912688; }

/* Literal.String.Symbol */
.highlight .bp {
  color: #727272; }

/* Name.Builtin.Pseudo */
.highlight .vc {
  color: #428542; }

/* Name.Variable.Class */
.highlight .vg {
  color: #428542; }

/* Name.Variable.Global */
.highlight .vi {
  color: #428542; }

/* Name.Variable.Instance */
.highlight .il {
  color: #017878; }

/* Literal.Number.Integer.Long */
a[href=''] {
  color: #d32205;
  cursor: not-allowed;
  pointer-events: none; }
