/*------------------------------------*\
	$VENDOR
\*------------------------------------*/
/*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

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

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

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

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

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

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

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

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

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

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

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

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

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

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

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

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

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

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

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

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

/* required styles */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0;
}

.leaflet-container {
  overflow: hidden;
}

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
  background: transparent;
}

/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast;
}

/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
  width: 1600px;
  height: 1600px;
  -webkit-transform-origin: 0 0;
}

.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block;
}

/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
  max-width: none !important;
  max-height: none !important;
}

.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y;
}

.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  /* Fallback for FF which doesn't support pinch-zoom */
  touch-action: none;
  touch-action: pinch-zoom;
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none;
}

.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}

.leaflet-container a {
  -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}

.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}

.leaflet-tile-loaded {
  visibility: inherit;
}

.leaflet-zoom-box {
  width: 0;
  height: 0;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 800;
}

/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
  -moz-user-select: none;
}

.leaflet-pane {
  z-index: 400;
}

.leaflet-tile-pane {
  z-index: 200;
}

.leaflet-overlay-pane {
  z-index: 400;
}

.leaflet-shadow-pane {
  z-index: 500;
}

.leaflet-marker-pane {
  z-index: 600;
}

.leaflet-tooltip-pane {
  z-index: 650;
}

.leaflet-popup-pane {
  z-index: 700;
}

.leaflet-map-pane canvas {
  z-index: 100;
}

.leaflet-map-pane svg {
  z-index: 200;
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}

.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute;
}

/* control positioning */
.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: visiblePainted;
  /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}

.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none;
}

.leaflet-top {
  top: 0;
}

.leaflet-right {
  right: 0;
}

.leaflet-bottom {
  bottom: 0;
}

.leaflet-left {
  left: 0;
}

.leaflet-control {
  float: left;
  clear: both;
}

.leaflet-right .leaflet-control {
  float: right;
}

.leaflet-top .leaflet-control {
  margin-top: 10px;
}

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}

.leaflet-left .leaflet-control {
  margin-left: 10px;
}

.leaflet-right .leaflet-control {
  margin-right: 10px;
}

/* zoom and fade animations */
.leaflet-fade-anim .leaflet-tile {
  will-change: opacity;
}

.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}

.leaflet-zoom-animated {
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
  -webkit-transition: none;
  -moz-transition: none;
  transition: none;
}

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}

/* cursors */
.leaflet-interactive {
  cursor: pointer;
}

.leaflet-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}

.leaflet-popup-pane,
.leaflet-control {
  cursor: auto;
}

.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
  pointer-events: none;
}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
  pointer-events: visiblePainted;
  /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}

/* visual tweaks */
.leaflet-container {
  background: #ddd;
  outline: 0;
}

.leaflet-container a {
  color: #0078A8;
}

.leaflet-container a.leaflet-active {
  outline: 2px solid orange;
}

.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5);
}

/* general typography */
.leaflet-container {
  font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
}

/* general toolbar styles */
.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px;
}

.leaflet-bar a,
.leaflet-bar a:hover {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black;
}

.leaflet-bar a,
.leaflet-control-layers-toggle {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block;
}

.leaflet-bar a:hover {
  background-color: #f4f4f4;
}

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none;
}

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb;
}

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}

/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: bold 18px 'Lucida Console', Monaco, monospace;
  text-indent: 1px;
}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}

/* layers control */
.leaflet-control-layers {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
  background: #fff;
  border-radius: 5px;
}

.leaflet-control-layers-toggle {
  background-image: url("/static/images/layers.png");
  width: 36px;
  height: 36px;
}

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url("/static/images/layers-2x.png");
  background-size: 26px 26px;
}

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px;
}

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative;
}

.leaflet-control-layers-expanded {
  padding: 6px 10px 6px 6px;
  color: #333;
  background: #fff;
}

.leaflet-control-layers-scrollbar {
  overflow-y: scroll;
  overflow-x: hidden;
  padding-right: 5px;
}

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}

.leaflet-control-layers label {
  display: block;
}

.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px;
}

/* Default icon URLs */
.leaflet-default-icon-path {
  background-image: url("/static/images/marker-icon.png");
}

/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.7);
  margin: 0;
}

.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333;
}

.leaflet-control-attribution a {
  text-decoration: none;
}

.leaflet-control-attribution a:hover {
  text-decoration: underline;
}

.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
  font-size: 11px;
}

.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}

.leaflet-control-scale-line {
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff;
  background: rgba(255, 255, 255, 0.5);
}

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none;
}

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}

/* popup */
.leaflet-popup {
  position: absolute;
  text-align: center;
  margin-bottom: 20px;
}

.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  border-radius: 12px;
}

.leaflet-popup-content {
  margin: 13px 19px;
  line-height: 1.4;
}

.leaflet-popup-content p {
  margin: 18px 0;
}

.leaflet-popup-tip-container {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none;
}

.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: white;
  color: #333;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
}

.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  padding: 4px 4px 0 0;
  border: none;
  text-align: center;
  width: 18px;
  height: 14px;
  font: 16px/14px Tahoma, Verdana, sans-serif;
  color: #c3c3c3;
  text-decoration: none;
  font-weight: bold;
  background: transparent;
}

.leaflet-container a.leaflet-popup-close-button:hover {
  color: #999;
}

.leaflet-popup-scrolled {
  overflow: auto;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  zoom: 1;
}

.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}

.leaflet-oldie .leaflet-popup-tip-container {
  margin-top: -1px;
}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}

/* div icon */
.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}

/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.leaflet-tooltip.leaflet-clickable {
  cursor: pointer;
  pointer-events: auto;
}

.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  position: absolute;
  pointer-events: none;
  border: 6px solid transparent;
  background: transparent;
  content: "";
}

/* Directions */
.leaflet-tooltip-bottom {
  margin-top: 6px;
}

.leaflet-tooltip-top {
  margin-top: -6px;
}

.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
  left: 50%;
  margin-left: -6px;
}

.leaflet-tooltip-top:before {
  bottom: 0;
  margin-bottom: -12px;
  border-top-color: #fff;
}

.leaflet-tooltip-bottom:before {
  top: 0;
  margin-top: -12px;
  margin-left: -6px;
  border-bottom-color: #fff;
}

.leaflet-tooltip-left {
  margin-left: -6px;
}

.leaflet-tooltip-right {
  margin-left: 6px;
}

.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  top: 50%;
  margin-top: -6px;
}

.leaflet-tooltip-left:before {
  right: 0;
  margin-right: -12px;
  border-left-color: #fff;
}

.leaflet-tooltip-right:before {
  left: 0;
  margin-left: -12px;
  border-right-color: #fff;
}

.leaflet-cluster-anim .leaflet-marker-icon,
.leaflet-cluster-anim .leaflet-marker-shadow {
  -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
  -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
  -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
  transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}

.leaflet-cluster-spider-leg {
  /* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
  -webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
  -moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
  -o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
  transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}

.marker-cluster-small {
  background-color: rgba(181, 226, 140, 0.6);
}

.marker-cluster-small div {
  background-color: rgba(110, 204, 57, 0.6);
}

.marker-cluster-medium {
  background-color: rgba(241, 211, 87, 0.6);
}

.marker-cluster-medium div {
  background-color: rgba(240, 194, 12, 0.6);
}

.marker-cluster-large {
  background-color: rgba(253, 156, 115, 0.6);
}

.marker-cluster-large div {
  background-color: rgba(241, 128, 23, 0.6);
}

/* IE 6-8 fallback colors */
.leaflet-oldie .marker-cluster-small {
  background-color: #b5e28c;
}

.leaflet-oldie .marker-cluster-small div {
  background-color: #6ecc39;
}

.leaflet-oldie .marker-cluster-medium {
  background-color: #f1d357;
}

.leaflet-oldie .marker-cluster-medium div {
  background-color: #f0c20c;
}

.leaflet-oldie .marker-cluster-large {
  background-color: #fd9c73;
}

.leaflet-oldie .marker-cluster-large div {
  background-color: #f18017;
}

.marker-cluster {
  background-clip: padding-box;
  border-radius: 20px;
}

.marker-cluster div {
  width: 30px;
  height: 30px;
  margin-left: 5px;
  margin-top: 5px;
  text-align: center;
  border-radius: 15px;
  font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
}

.marker-cluster span {
  line-height: 30px;
}

/*------------------------------------*\
	$fonts
\*------------------------------------*/
/* Normal */
@font-face {
  font-family: 'Lato';
  src: url("./../fonts/lato/Lato-Regular.eot");
  src: url("./../fonts/lato/Lato-Regular.eot?#iefix") format("embedded-opentype"), url("./../fonts/lato/Lato-Regular.woff") format("woff"), url("./../fonts/lato/Lato-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  text-rendering: optimizeLegibility;
}

/* Italic */
@font-face {
  font-family: 'Lato';
  src: url("./../fonts/lato/Lato-Italic.eot");
  src: url("./../fonts/lato/Lato-Italic.eot?#iefix") format("embedded-opentype"), url("./../fonts/lato/Lato-Italic.woff") format("woff"), url("./../fonts/lato/Lato-Italic.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  text-rendering: optimizeLegibility;
}

/* Light */
@font-face {
  font-family: 'Lato';
  src: url("./../fonts/lato/Lato-Light.eot");
  src: url("./../fonts/lato/Lato-Light.eot?#iefix") format("embedded-opentype"), url("./../fonts/lato/Lato-Light.woff") format("woff"), url("./../fonts/lato/Lato-Light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  text-rendering: optimizeLegibility;
}

/* Light Italic */
@font-face {
  font-family: 'Lato';
  src: url("./../fonts/lato/Lato-LightItalic.eot");
  src: url("./../fonts/lato/Lato-LightItalic.eot?#iefix") format("embedded-opentype"), url("./../fonts/lato/Lato-LightItalic.woff") format("woff"), url("./../fonts/lato/Lato-LightItalic.ttf") format("truetype");
  font-style: italic;
  font-weight: 300;
  text-rendering: optimizeLegibility;
}

/* Semibold */
@font-face {
  font-family: 'Lato';
  src: url("./../fonts/lato/Lato-Semibold.eot");
  src: url("./../fonts/lato/Lato-Semibold.eot?#iefix") format("embedded-opentype"), url("./../fonts/lato/Lato-Semibold.woff") format("woff"), url("./../fonts/lato/Lato-Semibold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  text-rendering: optimizeLegibility;
}

/* Semibold + Italic */
@font-face {
  font-family: 'Lato';
  src: url("./../fonts/lato/Lato-SemiboldItalic.eot");
  src: url("./../fonts/lato/Lato-SemiboldItalic.eot?#iefix") format("embedded-opentype"), url("./../fonts/lato/Lato-SemiboldItalic.woff") format("woff"), url("./../fonts/lato/Lato-SemiboldItalic.ttf") format("truetype");
  font-style: italic;
  font-weight: 600;
  text-rendering: optimizeLegibility;
}

/* Bold */
@font-face {
  font-family: 'Lato';
  src: url("./../fonts/lato/Lato-Bold.eot");
  src: url("./../fonts/lato/Lato-Bold.eot?#iefix") format("embedded-opentype"), url("./../fonts/lato/Lato-Bold.woff") format("woff"), url("./../fonts/lato/Lato-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 800;
  text-rendering: optimizeLegibility;
}

/* Bold + Italic */
@font-face {
  font-family: 'Lato';
  src: url("./../fonts/lato/Lato-BoldItalic.eot");
  src: url("./../fonts/lato/Lato-BoldItalic.eot?#iefix") format("embedded-opentype"), url("./../fonts/lato/Lato-BoldItalic.woff") format("woff"), url("./../fonts/lato/Lato-BoldItalic.ttf") format("truetype");
  font-style: italic;
  font-weight: 800;
  text-rendering: optimizeLegibility;
}

/*------------------------------------*\
	$Abstracts
\*------------------------------------*/
/*------------------------------------*\
    $VARIABLES
\*------------------------------------*/
/* ============================================
   Colours
*/
/* ============================================
   Typography
   :: Default to system font stack
*/
/* ============================================
   Grid Dimentions
*/
/* ============================================
   Max widths and wrappers
*/
/* ============================================
   Breakpoints
*/
/* ============================================
   Transition speeds
*/
/* ============================================
   Borders
*/
/* ============================================
   Accent Colors
*/
/*------------------------------------*\
    $MIXINS
\*------------------------------------*/
/* ============================================
    Media Query mixin
*/
/* ============================================
  Placeholder text
*/
/* ============================================
  iOS Native vertical scroll
*/
/* ============================================
   Aligner: placeholder class used to align
   components at the template-level
   For want of a better place to put this I've left it here:
*/
/* ============================================
   Gutter spacing
*/
/* ============================================
   Viewport sized typography mixin that takes a min and max pixel-based value
*/
/* ============================================
   Viewport sized padding mixin that takes a min and max pixel-based value
*/
/* ============================================
   Viewport sized height mixin that takes a min and max pixel-based value
*/
/* ===========================================
   SVG colorization for a hover state background animation with accent color
*/
/*------------------------------------*\
        $BASE DEFAULTS
\*------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  background: #fff;
}

img,
svg {
  vertical-align: text-top;
}

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

body {
  font-size: 1.42857vw;
  font-family: 'Lato', sans-serif;
}

@media (max-width: 1120px) {
  body {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  body {
    font-size: 18px;
  }
}

ul {
  padding: 0;
  list-style: none;
}

a {
  text-decoration: none;
}

a:not(.button) {
  color: #00629b;
  font-weight: 600;
  transition: all 0.25s ease-out;
}

a:not(.button):hover {
  color: #0082ce;
}

h1 {
  font-size: 4.7619vw;
}

@media (max-width: 840px) {
  h1 {
    font-size: 40px;
  }
}

@media (min-width: 1260px) {
  h1 {
    font-size: 60px;
  }
}

h2 {
  font-size: 3.65079vw;
  color: #002147;
  line-height: 1.2;
}

@media (max-width: 821.73913px) {
  h2 {
    font-size: 30px;
  }
}

@media (min-width: 1260px) {
  h2 {
    font-size: 46px;
  }
}

h3 {
  font-size: 2.85714vw;
  font-weight: 600;
}

@media (max-width: 840px) {
  h3 {
    font-size: 24px;
  }
}

@media (min-width: 1260px) {
  h3 {
    font-size: 36px;
  }
}

h5 {
  font-size: 1.90476vw;
  font-weight: 700;
}

@media (max-width: 945px) {
  h5 {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  h5 {
    font-size: 24px;
  }
}

.lead {
  font-size: 2.38095vw;
  font-weight: 400;
  line-height: 1.3;
  max-width: 780px;
}

@media (max-width: 1008px) {
  .lead {
    font-size: 24px;
  }
}

@media (min-width: 1260px) {
  .lead {
    font-size: 30px;
  }
}

.page-header {
  display: block;
}

.page-header__subheading {
  font-size: 2.38095vw;
  font-weight: 400;
  line-height: 1.3;
  max-width: 780px;
}

@media (max-width: 1008px) {
  .page-header__subheading {
    font-size: 24px;
  }
}

@media (min-width: 1260px) {
  .page-header__subheading {
    font-size: 30px;
  }
}

b,
strong {
  font-weight: 700;
}

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

.responsive-object {
  position: relative;
  clear: both;
}

.responsive-object iframe,
.responsive-object object,
.responsive-object embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.teaser-image {
  background-color: #002147;
}

.template--article-page .wrapper--content,
.template--large-event-page .wrapper--content,
.template--event-itinerary-page .wrapper--content,
.template--event-speakers-page .wrapper--content,
.template--event-standard-page .wrapper--content {
  margin-top: 0;
  max-width: 800px;
}

.template--event-programme-page .wrapper--content {
  margin-top: 0;
  max-width: 1220px;
}

.template--research-landing-page .wrapper--content {
  margin-top: 60px;
}

.template--event-itinerary-page .page-header.large-event-header,
.template--event-programme-page .page-header.large-event-header,
.template--event-speakers-page .page-header.large-event-header,
.template--event-standard-page .page-header.large-event-header {
  padding-bottom: 0;
  margin-bottom: 60px;
}

@media only screen and (min-width: 768px) {
  .template--event-itinerary-page .page-header.large-event-header h1,
  .template--event-programme-page .page-header.large-event-header h1,
  .template--event-speakers-page .page-header.large-event-header h1,
  .template--event-standard-page .page-header.large-event-header h1 {
    margin-bottom: 0;
  }
}

.template--large-event-page .wrapper--no-hero .sharing-bar {
  top: 154px;
}

.noscroll {
  overflow: hidden;
}

.noscroll .search-results {
  z-index: 20;
}

.template--about-page .wrapper--content {
  padding: 0 var(--padding);
}

.retired-notice {
  margin-top: 60px;
  padding: 20px;
  background-color: rgba(0, 0, 0, 0.1);
}

@media only screen and (min-width: 768px) {
  .retired-notice {
    padding: 40px;
  }
}

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

.password-form input {
  height: 49px;
  margin: 4px 0;
  width: 100%;
}

@media only screen and (min-width: 480px) {
  .password-form input {
    width: auto;
    margin: 4px 2px 4px 0;
  }
}

.password-form input[type='password'] {
  border: 1px solid #e7e7e7;
  padding: 10px;
}

:root {
  --padding: 1rem;
}

@media only screen and (min-width: 768px) {
  :root {
    --padding: 2rem;
  }
}

/*------------------------------------*\
	$Tachyons
\*------------------------------------*/
/*

   FONT STYLE
   Docs: http://tachyons.io/docs/typography/font-style/

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/
.i {
  font-style: italic;
}

.fs-normal {
  font-style: normal;
}

@media only screen and (min-width: 768px) {
  .i-ns {
    font-style: italic;
  }
  .fs-normal-ns {
    font-style: normal;
  }
}

@media only screen and (min-width: 1024px) {
  .i-m {
    font-style: italic;
  }
  .fs-normal-m {
    font-style: normal;
  }
}

@media only screen and (min-width: 1280px) {
  .i-l {
    font-style: italic;
  }
  .fs-normal-l {
    font-style: normal;
  }
}

/*

   FONT WEIGHT
   Docs: http://tachyons.io/docs/typography/font-weight/

   Base
     fw = font-weight

   Modifiers:
     1 = literal value 100
     2 = literal value 200
     3 = literal value 300
     4 = literal value 400
     5 = literal value 500
     6 = literal value 600
     7 = literal value 700
     8 = literal value 800
     9 = literal value 900

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/
.normal {
  font-weight: normal;
}

.b {
  font-weight: bold;
}

.fw1 {
  font-weight: 100;
}

.fw2 {
  font-weight: 200;
}

.fw3 {
  font-weight: 300;
}

.fw4 {
  font-weight: 400;
}

.fw5 {
  font-weight: 500;
}

.fw6 {
  font-weight: 600;
}

.fw7 {
  font-weight: 700;
}

.fw8 {
  font-weight: 800;
}

.fw9 {
  font-weight: 900;
}

@media only screen and (min-width: 768px) {
  .normal-ns {
    font-weight: normal;
  }
  .b-ns {
    font-weight: bold;
  }
  .fw1-ns {
    font-weight: 100;
  }
  .fw2-ns {
    font-weight: 200;
  }
  .fw3-ns {
    font-weight: 300;
  }
  .fw4-ns {
    font-weight: 400;
  }
  .fw5-ns {
    font-weight: 500;
  }
  .fw6-ns {
    font-weight: 600;
  }
  .fw7-ns {
    font-weight: 700;
  }
  .fw8-ns {
    font-weight: 800;
  }
  .fw9-ns {
    font-weight: 900;
  }
}

@media only screen and (min-width: 1024px) {
  .normal-m {
    font-weight: normal;
  }
  .b-m {
    font-weight: bold;
  }
  .fw1-m {
    font-weight: 100;
  }
  .fw2-m {
    font-weight: 200;
  }
  .fw3-m {
    font-weight: 300;
  }
  .fw4-m {
    font-weight: 400;
  }
  .fw5-m {
    font-weight: 500;
  }
  .fw6-m {
    font-weight: 600;
  }
  .fw7-m {
    font-weight: 700;
  }
  .fw8-m {
    font-weight: 800;
  }
  .fw9-m {
    font-weight: 900;
  }
}

@media only screen and (min-width: 1280px) {
  .normal-l {
    font-weight: normal;
  }
  .b-l {
    font-weight: bold;
  }
  .fw1-l {
    font-weight: 100;
  }
  .fw2-l {
    font-weight: 200;
  }
  .fw3-l {
    font-weight: 300;
  }
  .fw4-l {
    font-weight: 400;
  }
  .fw5-l {
    font-weight: 500;
  }
  .fw6-l {
    font-weight: 600;
  }
  .fw7-l {
    font-weight: 700;
  }
  .fw8-l {
    font-weight: 800;
  }
  .fw9-l {
    font-weight: 900;
  }
}

/*

   LINE HEIGHT / LEADING
   Docs: http://tachyons.io/docs/typography/line-height

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large

*/
.lh-solid {
  line-height: 1;
}

.lh-title {
  line-height: 1.25;
}

.lh-copy {
  line-height: 1.5;
}

@media only screen and (min-width: 768px) {
  .lh-solid-ns {
    line-height: 1;
  }
  .lh-title-ns {
    line-height: 1.25;
  }
  .lh-copy-ns {
    line-height: 1.5;
  }
}

@media only screen and (min-width: 1024px) {
  .lh-solid-m {
    line-height: 1;
  }
  .lh-title-m {
    line-height: 1.25;
  }
  .lh-copy-m {
    line-height: 1.5;
  }
}

@media only screen and (min-width: 1280px) {
  .lh-solid-l {
    line-height: 1;
  }
  .lh-title-l {
    line-height: 1.25;
  }
  .lh-copy-l {
    line-height: 1.5;
  }
}

/*

   TYPE SCALE
   Docs: http://tachyons.io/docs/typography/scale/

   Base:
    f = font-size

   Modifiers
     1 = 1st step in size scale
     2 = 2nd step in size scale
     3 = 3rd step in size scale
     4 = 4th step in size scale
     5 = 5th step in size scale
     6 = 6th step in size scale
     7 = 7th step in size scale

   Media Query Extensions:
     -ns = not-small
     -m  = medium
     -l  = large
*/
/*
 * For Hero/Marketing Titles
 *
 * These generally are too large for mobile
 * so be careful using them on smaller screens.
 * */
.f-6,
.f-headline {
  font-size: 6rem;
}

.f-5,
.f-subheadline {
  font-size: 5rem;
}

/* Type Scale */
.f1 {
  font-size: 3rem;
}

.f2 {
  font-size: 2.25rem;
}

.f3 {
  font-size: 1.5rem;
}

.f4 {
  font-size: 1.25rem;
}

.f5 {
  font-size: 1rem;
}

.f6 {
  font-size: 0.875rem;
}

.f7 {
  font-size: 0.75rem;
}

/* Small and hard to read for many people so use with extreme caution */
@media only screen and (min-width: 768px) {
  .f-6-ns,
  .f-headline-ns {
    font-size: 6rem;
  }
  .f-5-ns,
  .f-subheadline-ns {
    font-size: 5rem;
  }
  .f1-ns {
    font-size: 3rem;
  }
  .f2-ns {
    font-size: 2.25rem;
  }
  .f3-ns {
    font-size: 1.5rem;
  }
  .f4-ns {
    font-size: 1.25rem;
  }
  .f5-ns {
    font-size: 1rem;
  }
  .f6-ns {
    font-size: 0.875rem;
  }
  .f7-ns {
    font-size: 0.75rem;
  }
}

@media only screen and (min-width: 1024px) {
  .f-6-m,
  .f-headline-m {
    font-size: 6rem;
  }
  .f-5-m,
  .f-subheadline-m {
    font-size: 5rem;
  }
  .f1-m {
    font-size: 3rem;
  }
  .f2-m {
    font-size: 2.25rem;
  }
  .f3-m {
    font-size: 1.5rem;
  }
  .f4-m {
    font-size: 1.25rem;
  }
  .f5-m {
    font-size: 1rem;
  }
  .f6-m {
    font-size: 0.875rem;
  }
  .f7-m {
    font-size: 0.75rem;
  }
}

@media only screen and (min-width: 1280px) {
  .f-6-l,
  .f-headline-l {
    font-size: 6rem;
  }
  .f-5-l,
  .f-subheadline-l {
    font-size: 5rem;
  }
  .f1-l {
    font-size: 3rem;
  }
  .f2-l {
    font-size: 2.25rem;
  }
  .f3-l {
    font-size: 1.5rem;
  }
  .f4-l {
    font-size: 1.25rem;
  }
  .f5-l {
    font-size: 1rem;
  }
  .f6-l {
    font-size: 0.875rem;
  }
  .f7-l {
    font-size: 0.75rem;
  }
}

/*

   FONT FAMILY GROUPS
   Docs: http://tachyons.io/docs/typography/font-family/

*/
.sans-serif {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

.serif {
  font-family: Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;
}

/*

 SKINS
 Docs: http://tachyons.io/docs/themes/skins/

 Classes for setting foreground and background colors on elements.
 If you haven't declared a border color, but set border on an element, it will
 be set to the current text color.

*/
/* Text colors */
.black {
  color: #000;
}

.black-90 {
  color: rgba(0, 0, 0, 0.9);
}

.black-80 {
  color: rgba(0, 0, 0, 0.8);
}

.black-70 {
  color: rgba(0, 0, 0, 0.7);
}

.black-60 {
  color: rgba(0, 0, 0, 0.6);
}

.black-50 {
  color: rgba(0, 0, 0, 0.5);
}

.black-40 {
  color: rgba(0, 0, 0, 0.4);
}

.black-30 {
  color: rgba(0, 0, 0, 0.3);
}

.black-20 {
  color: rgba(0, 0, 0, 0.2);
}

.black-10 {
  color: rgba(0, 0, 0, 0.1);
}

.black-05 {
  color: rgba(0, 0, 0, 0.05);
}

.white {
  color: #fff;
}

.white-90 {
  color: rgba(255, 255, 255, 0.9);
}

.white-80 {
  color: rgba(255, 255, 255, 0.8);
}

.white-70 {
  color: rgba(255, 255, 255, 0.7);
}

.white-60 {
  color: rgba(255, 255, 255, 0.6);
}

.white-50 {
  color: rgba(255, 255, 255, 0.5);
}

.white-40 {
  color: rgba(255, 255, 255, 0.4);
}

.white-30 {
  color: rgba(255, 255, 255, 0.3);
}

.white-20 {
  color: rgba(255, 255, 255, 0.2);
}

.white-10 {
  color: rgba(255, 255, 255, 0.1);
}

.white-05 {
  color: rgba(255, 255, 255, 0.05);
}

.teal {
  color: #2eb1b0;
}

.green {
  color: #68aa6c;
}

.orange {
  color: #fb5a40;
}

.yellow {
  color: #f5c157;
}

.dark-grey {
  color: #2b3033;
}

/* Background colors */
.bg-black {
  background-color: #000;
}

.bg-black-90 {
  background-color: rgba(0, 0, 0, 0.9);
}

.bg-black-80 {
  background-color: rgba(0, 0, 0, 0.8);
}

.bg-black-70 {
  background-color: rgba(0, 0, 0, 0.7);
}

.bg-black-60 {
  background-color: rgba(0, 0, 0, 0.6);
}

.bg-black-50 {
  background-color: rgba(0, 0, 0, 0.5);
}

.bg-black-40 {
  background-color: rgba(0, 0, 0, 0.4);
}

.bg-black-30 {
  background-color: rgba(0, 0, 0, 0.3);
}

.bg-black-20 {
  background-color: rgba(0, 0, 0, 0.2);
}

.bg-black-10 {
  background-color: rgba(0, 0, 0, 0.1);
}

.bg-black-05 {
  background-color: rgba(0, 0, 0, 0.05);
}

.bg-white {
  background-color: #fff;
}

.bg-white-90 {
  background-color: rgba(255, 255, 255, 0.9);
}

.bg-white-80 {
  background-color: rgba(255, 255, 255, 0.8);
}

.bg-white-70 {
  background-color: rgba(255, 255, 255, 0.7);
}

.bg-white-60 {
  background-color: rgba(255, 255, 255, 0.6);
}

.bg-white-50 {
  background-color: rgba(255, 255, 255, 0.5);
}

.bg-white-40 {
  background-color: rgba(255, 255, 255, 0.4);
}

.bg-white-30 {
  background-color: rgba(255, 255, 255, 0.3);
}

.bg-white-20 {
  background-color: rgba(255, 255, 255, 0.2);
}

.bg-white-10 {
  background-color: rgba(255, 255, 255, 0.1);
}

.bg-white-05 {
  background-color: rgba(255, 255, 255, 0.05);
}

.bg-teal {
  background-color: #2eb1b0;
}

.bg-green {
  background-color: #68aa6c;
}

.bg-orange {
  background-color: #fb5a40;
}

.bg-yellow {
  background-color: #f5c157;
}

.bg-dark-grey {
  background-color: #2b3033;
}

/*------------------------------------*\
	$Patterns
\*------------------------------------*/
.wrapper--content.anchor {
  line-height: 0;
}

.wrapper--content.anchor .anchor-block {
  display: inline-block;
  margin-top: -58px;
  vertical-align: top;
}

.button {
  cursor: pointer;
  transition: background 0.25s ease-out, color 0.25s ease-out;
  color: #fff;
  background: #d44412;
  border: 2px solid #d44412;
  padding: 15px;
  display: inline-block;
  font-size: 16px;
  line-height: 16px;
}

.button:hover {
  background: #fff;
  color: #d44412;
}

.button--icon, .button--download {
  display: inline-flex;
  align-items: center;
  flex-direction: row;
}

.button--icon .button__icon, .button--download .button__icon {
  margin-left: 1ch;
}

.button--icon-left, .button--download-left {
  flex-direction: row-reverse;
}

.button--icon-left .button__icon, .button--download-left .button__icon {
  margin-left: 0;
  margin-right: 1ch;
}

.button--download {
  margin-top: 30px;
}

.button--secondary {
  color: #d44412;
  background: #fff;
}

.button--secondary:hover {
  background: #d44412;
  color: #fff;
}

.button--input {
  min-height: 48px;
  padding: 12px 40px;
}

.button--muted {
  border: none;
}

.button--muted:hover {
  background: #ed5e2c;
  color: #fff;
}

.button--social {
  line-height: initial;
}

.button--social .button__icon {
  width: 20px;
  height: 20px;
}

.button--social--twitter {
  background: #1da1f2;
}

.button--social--twitter:hover {
  background: #4db5f5;
}

.button--social--facebook {
  background: #1877f2;
}

.button--social--facebook:hover {
  background: #4893f5;
}

.button--social--linkedin {
  background: #0a66c2;
}

.button--social--linkedin:hover {
  background: #0d80f3;
}

.button__icon {
  transition: color 0.25s ease-out;
  width: 1.5ex;
  height: 1.5ex;
  fill: currentColor;
  vertical-align: bottom;
}

.button__icon.newsletter {
  width: 28px;
  height: 21px;
  margin-right: 5px;
}

button.link {
  color: #d44412;
  background: none;
  padding: 0;
  border: none;
  font-weight: 400;
  cursor: pointer;
}

button.link span {
  text-decoration: underline;
}

button.link .button__icon {
  vertical-align: middle;
  margin: 0 0 4px 4px;
  height: 1rem;
  width: 1rem;
}

.hamburger {
  position: relative;
}

.hamburger__line {
  display: block;
  height: 3px;
  left: 0;
  opacity: 1;
  position: absolute;
  transform: rotate(0deg);
  transition: all 0.25s ease-in-out;
  width: 100%;
  background: #000;
}

@media only screen and (min-width: 480px) {
  .hamburger__line {
    height: 4px;
  }
}

.hamburger__line:nth-child(1) {
  top: 0%;
}

.open .hamburger__line:nth-child(1) {
  top: calc(50% - 1.5px);
  width: 0%;
  left: 50%;
}

.hamburger__line:nth-child(2), .hamburger__line:nth-child(3) {
  top: calc(50% - 1.5px);
  opacity: 0.25;
}

@media only screen and (min-width: 480px) {
  .hamburger__line:nth-child(2), .hamburger__line:nth-child(3) {
    top: 12px;
  }
}

.open .hamburger__line:nth-child(2), .open .hamburger__line:nth-child(3) {
  opacity: 1;
}

.open .hamburger__line:nth-child(2) {
  transform: rotate(45deg);
}

.open .hamburger__line:nth-child(3) {
  transform: rotate(-45deg);
}

.hamburger__line:nth-child(4) {
  top: calc(100% - 3px);
}

@media only screen and (min-width: 480px) {
  .hamburger__line:nth-child(4) {
    top: 24px;
  }
}

.open .hamburger__line:nth-child(4) {
  top: calc(50% - 1.5px);
  width: 0%;
  left: 50%;
}

.mobile-nav-toggle {
  padding: 15px;
  display: flex;
  align-items: center;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  height: 50px;
  cursor: pointer;
  background: none;
  border: none;
}

@media only screen and (min-width: 768px) {
  .mobile-nav-toggle {
    display: none;
  }
}

.is-active .mobile-nav-toggle {
  border-color: rgba(255, 255, 255, 0.2);
}

.is-active .mobile-nav-toggle .chevron {
  transform: rotate(270deg);
}

.mobile-nav-toggle .chevron {
  fill: #fb5a40;
  transform: rotate(90deg);
  transition: transform 0.2s ease;
  width: 15px;
  height: 15px;
}

.accent-toolkit .mobile-nav-toggle .chevron {
  fill: #7f3197;
}

.accent-the-basics .mobile-nav-toggle .chevron {
  fill: #3aa449;
}

.accent-knowledge-bank .mobile-nav-toggle .chevron {
  fill: #d44412;
}

.accent-community .mobile-nav-toggle .chevron {
  fill: #00629b;
}

.checkbox {
  position: relative;
}

.checkbox__label {
  display: block;
  padding: 2px 0px 5px 30px;
  cursor: pointer;
  font-size: 13px;
}

.checkbox__label::before, .checkbox__label::after {
  content: '';
  position: absolute;
  display: inline-block;
  vertical-align: top;
}

.checkbox__label::before {
  top: 1px;
  left: 0;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(0, 33, 71, 0.5);
  background: #e7e7e7;
}

.checkbox__label::after {
  top: 4px;
  left: 7px;
  width: 6px;
  height: 12px;
  border: solid rgba(0, 33, 71, 0.5);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transition: transform 80ms ease;
}

.checkbox__input {
  position: absolute;
  left: 0;
  opacity: 0;
}

.checkbox__input:checked + .checkbox__label::after {
  transform: rotate(45deg) scale(1);
}

.checkbox.unused .checkbox__label {
  color: #a79c94;
}

.checkbox.unused .checkbox__label::before {
  border: 1px solid rgba(0, 33, 71, 0.2);
  background: #f4f2f2;
}

.detail-block {
  font-size: 1.90476vw;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 2px solid rgba(0, 0, 0, 0.1);
}

@media (max-width: 840px) {
  .detail-block {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .detail-block {
    font-size: 24px;
  }
}

.detail-block__label {
  margin: 0 0 10px;
}

.detail-block__label span, .detail-block__label--lead {
  font-weight: 700;
}

.detail-block__label--lead {
  text-transform: uppercase;
}

.form-field {
  width: 100%;
}

@media only screen and (min-width: 480px) {
  .form-field--half-width {
    width: 48%;
  }
}

.form-field__label {
  font-weight: 700;
  margin-bottom: 10px;
  display: block;
}

.form-field__input {
  width: 100%;
  height: 50px;
  border: 1px solid #e7e7e7;
  padding: 15px;
  margin-bottom: 20px;
}

.form-field__input--textarea {
  resize: vertical;
  height: 100px;
}

.form-field__input--select {
  -webkit-appearance: none;
  border-radius: 0;
  cursor: pointer;
  background-image: url("../images/select-arrow.svg");
  background-repeat: no-repeat;
  background-size: 12px;
  background-position: center right 15px;
  padding-right: 42px;
}

.heading--related {
  font-size: 2.06349vw;
  font-weight: 700;
  margin: 3rem 0 2rem;
}

@media (max-width: 872.30769px) {
  .heading--related {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .heading--related {
    font-size: 26px;
  }
}

.heading--related span {
  font-weight: 300;
}

.heading--large {
  font-size: 3.80952vw;
  margin: 80px 0 20px;
  line-height: 1.2;
}

@media (max-width: 840px) {
  .heading--large {
    font-size: 32px;
  }
}

@media (min-width: 1260px) {
  .heading--large {
    font-size: 48px;
  }
}

.heading--medium {
  font-size: 2.06349vw;
  line-height: 1.5;
}

@media (max-width: 775.38462px) {
  .heading--medium {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .heading--medium {
    font-size: 26px;
  }
}

.patternlab-icons svg {
  fill: #00629b;
  width: 40px;
  height: 40px;
  margin: 10px;
}

.input {
  padding: 10px;
  margin-bottom: 10px;
  width: 100%;
  min-height: 48px;
}

@media only screen and (min-width: 480px) {
  .input {
    margin-bottom: 0;
    width: auto;
  }
}

input {
  font-size: 16px;
}

.link-container {
  display: flex;
}

.link-container--social {
  display: flex;
}

.link-container--social a:not(:last-of-type) {
  margin-right: 5px;
}

.link-container--sharing {
  display: flex;
  flex-flow: column nowrap;
  align-items: flex-start;
}

.article-footer .link-container--sharing {
  flex-flow: row nowrap;
}

.article-footer .link-container--sharing a:not(:last-of-type) {
  margin-right: 5px;
}

.link--chevron {
  color: #002147;
  font-weight: 700;
  margin-bottom: 5px;
  display: flex;
  align-items: baseline;
}

.link--chevron .chevron {
  fill: #fb5a40;
  width: 0.6em;
  height: 0.6em;
  margin-left: 7px;
  transform: translateX(0);
  transition: transform 0.25s ease-out;
}

.link--chevron:hover .chevron {
  transform: translateX(50%);
}

.link--publication {
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  padding: 15px 0;
  background-color: #002b57;
}

.link--publication a {
  margin-top: 3px;
  display: block;
  color: #fff;
}

.link--publication a:hover {
  color: #26a2c8;
}

.link--publication span,
.link--publication svg {
  color: #26a2c8;
}

.link--publication svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
}

.featured-listing {
  background: #f3edf4;
  padding: 25px;
  padding-bottom: 75px;
  margin-top: 290px;
  width: 100vw;
}

@media only screen and (min-width: 480px) {
  .featured-listing {
    padding: 40px 50px;
    margin: 290px 50px 50px 0;
    width: auto;
  }
}

@media only screen and (min-width: 768px) {
  .featured-listing {
    margin: 50px;
    padding: 60px 380px 50px 60px;
    max-width: 800px;
  }
}

.featured-listing__image {
  display: block;
  width: 100%;
  height: 290px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: 0;
}

@media only screen and (min-width: 480px) {
  .featured-listing__image {
    width: calc(100% - 50px);
  }
}

@media only screen and (min-width: 768px) {
  .featured-listing__image {
    width: 385px;
    top: 0;
    right: 15px;
  }
}

@media only screen and (min-width: 1024px) {
  .featured-listing__image {
    right: 0;
  }
}

.featured-listing__heading {
  font-size: 36px;
  margin-top: 0;
}

@media only screen and (min-width: 480px) {
  .featured-listing__heading {
    min-width: 355px;
  }
}

.featured-listing__intro {
  margin: 30px 0;
}

@media only screen and (min-width: 768px) {
  .featured-listing__intro {
    margin: 40px 0;
  }
}

.featured-listing .button {
  width: max-content;
}

.listing-detail {
  font-size: 1.42857vw;
  margin: 0 0 10px 0;
}

@media (max-width: 1050px) {
  .listing-detail {
    font-size: 15px;
  }
}

@media (min-width: 1260px) {
  .listing-detail {
    font-size: 18px;
  }
}

.listing-detail:last-child {
  margin: 0;
}

.listing-detail b {
  text-transform: capitalize;
}

.listing-detail__icon {
  width: 18px;
  height: 18px;
  margin-right: 5px;
  fill: #00629b;
}

.news-tile .listing-detail {
  color: #fff;
}

.search-result--database .listing-details {
  display: flex;
  flex-flow: column wrap;
  align-items: flex-start;
  max-width: 1000px;
  padding-bottom: 10px;
}

@media only screen and (min-width: 480px) {
  .search-result--database .listing-details {
    height: 60px;
  }
}

.quote {
  font-size: 2.53968vw;
  font-weight: 600;
  position: relative;
  margin: 10% 40px;
  max-width: 800px;
  line-height: 1.4;
}

@media (max-width: 866.25px) {
  .quote {
    font-size: 22px;
  }
}

@media (min-width: 1260px) {
  .quote {
    font-size: 32px;
  }
}

@media only screen and (min-width: 768px) {
  .quote {
    padding-left: 70px;
    margin: 5% auto;
  }
}

.quote__icon {
  width: 40px;
  height: 40px;
  margin-bottom: 20px;
  display: block;
}

@media only screen and (min-width: 768px) {
  .quote__icon {
    position: absolute;
    left: 15px;
    margin-bottom: 0;
  }
}

.quote__cite {
  font-weight: 700;
  font-size: 15px;
}

.quote__cite:first-child {
  margin: 30px 0 5px;
}

.svg-image {
  margin: 40px 0;
}

.svg-image img,
.svg-image svg {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.svg-image.mobile-image {
  display: block;
}

.svg-image.default-image {
  display: none;
}

@media only screen and (min-width: 480px) {
  .svg-image.mobile-image {
    display: none;
  }
  .svg-image.default-image {
    display: block;
  }
}

table {
  border-collapse: collapse;
  padding: 0;
  width: 100%;
  margin: 50px 0;
  font-size: 1.5873vw;
}

@media (max-width: 945px) {
  table {
    font-size: 15px;
  }
}

@media (min-width: 1260px) {
  table {
    font-size: 20px;
  }
}

table caption {
  margin-bottom: 10px;
  font-size: 1.74603vw;
  text-align: left;
  font-weight: 600;
}

@media (max-width: 1030.90909px) {
  table caption {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  table caption {
    font-size: 22px;
  }
}

table thead {
  background: #c1d6e3;
  color: #000;
}

table thead th {
  text-align: left;
}

table th {
  background: #c1d6e3;
  color: #000;
  font-weight: 700;
}

table tr {
  padding: 5px;
}

table tr:nth-child(even) {
  background-color: #e7e7e7;
}

table tr:nth-child(odd) {
  background-color: #f4f2f2;
}

table th,
table td {
  padding: 12px;
  text-align: left;
  vertical-align: top;
  border: 3px solid #fff;
}

table td {
  color: #092044;
  font-weight: 400;
}

table td ul {
  list-style: disc;
  margin-left: 1em;
  margin-top: 0;
}

table td ol {
  margin-left: -1.5em;
  margin-top: 0;
}

table tr {
  padding: 5px;
}

table tfoot td {
  background: #fff;
  color: #000;
}

table .htLeft {
  text-align: left;
}

table .htCenter {
  text-align: center;
}

table .htRight {
  text-align: right;
}

table .htJustify {
  text-align: justify;
}

table .htTop {
  vertical-align: top;
}

table .htMiddle {
  vertical-align: middle;
}

table .htBottom {
  vertical-align: bottom;
}

.table-container {
  overflow-x: scroll;
  max-width: calc(100vw - 30px);
}

@media only screen and (min-width: 480px) {
  .table-container {
    max-width: 100vw;
  }
}

.table-with-footer-as-div table {
  margin-bottom: 0;
}

.table-footer {
  font-size: 1.5873vw;
  font-weight: 400;
  margin-top: 0;
  margin-bottom: 50px;
  background: #fff;
  color: #000;
  padding: 12px;
  border-bottom: 3px solid #c1d6e3;
}

@media (max-width: 945px) {
  .table-footer {
    font-size: 15px;
  }
}

@media (min-width: 1260px) {
  .table-footer {
    font-size: 20px;
  }
}

.testimonial {
  font-weight: 600;
  margin: 0 auto;
  max-width: 1000px;
  position: relative;
}

.testimonial__heading {
  color: #34ddd9;
  margin-bottom: 0.5rem;
}

.testimonial__logo {
  width: 40px;
  height: 40px;
  margin-bottom: 20px;
}

@media only screen and (min-width: 1024px) {
  .testimonial__logo {
    position: absolute;
    top: 0;
    left: -55px;
  }
}

.testimonial__quote {
  font-size: 2.06349vw;
  color: #fff;
  line-height: 1.3;
  margin-bottom: 2rem;
  position: relative;
}

@media (max-width: 872.30769px) {
  .testimonial__quote {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .testimonial__quote {
    font-size: 26px;
  }
}

.testimonial__quote .quote__icon {
  display: none;
}

.testimonial__cite {
  color: #fff;
}

.accordion {
  margin: 40px auto 40px;
  max-width: 1000px;
}

.accordion__button {
  position: relative;
  display: flex;
  overflow: hidden;
  justify-content: space-between;
  align-items: center;
  background-color: #002b57;
  border: none;
  cursor: pointer;
  width: 100%;
  padding: 26px;
  margin-bottom: 4px;
  transition: 0.25s ease-out;
}

@media only screen and (min-width: 768px) {
  .accordion__button {
    padding-left: -43px;
  }
}

.accordion__button:hover, .accordion__button:focus, .accordion__button--active {
  background-color: #011e41;
  outline: 0;
}

.accordion__button:hover .accordion__label, .accordion__button:focus .accordion__label, .accordion__button--active .accordion__label {
  color: #26a2c8;
}

.accordion__button--active .accordion__curve {
  transform: translateX(-20%);
}

.accordion__button--active .accordion__icon {
  transform: rotate(45deg);
}

.accordion__label {
  flex-grow: 1;
  text-align: left;
  position: relative;
  z-index: 2;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  margin: 0;
  transition: 0.25s ease-out;
}

@media only screen and (min-width: 1024px) {
  .accordion__label {
    font-size: 26px;
  }
}

.accordion__icon {
  transition: 0.5s ease-out;
  position: relative;
  z-index: 2;
  height: 26px;
  width: 26px;
  order: 2;
}

@media only screen and (min-width: 1024px) {
  .accordion__icon {
    height: 34px;
    width: 34px;
  }
}

.accordion__curve {
  transition: 0.5s ease-out;
  position: absolute;
  top: 0;
  left: 0;
  width: 90%;
  height: 100%;
  z-index: 1;
}

.accordion__body {
  display: none;
  margin: 0 auto;
  padding: 0 26px 26px;
  max-width: 1052px;
  overflow: hidden;
}

.accordion__body ul:not([class]),
.accordion__body ol:not([class]) {
  padding-left: 2rem !important;
}

.accordion__body .paragraph {
  padding: 0 !important;
}

.wrapper--content .accordion__body {
  margin-top: -4px;
  background-color: #f4f2f2;
  margin-bottom: 4px;
}

.actions-block-container {
  display: flex;
  justify-content: center;
  margin: 2rem 0 1rem;
  width: 100%;
}

@media only screen and (min-width: 1024px) {
  .actions-block-container {
    margin: 4rem 0 0;
  }
}

.actions-block-action {
  margin: 0 10px;
}

.actions-block-action.accent-toolkit {
  background-color: #7f3197;
  border-color: #7f3197;
}

.actions-block-action.accent-toolkit:hover {
  color: #7f3197;
  background: #fff;
}

.actions-block-action.accent-the-basics {
  background-color: #3aa449;
  border-color: #3aa449;
}

.actions-block-action.accent-the-basics:hover {
  color: #3aa449;
  background: #fff;
}

.actions-block-action.accent-knowledge-bank {
  background-color: #d44412;
  border-color: #d44412;
}

.actions-block-action.accent-knowledge-bank:hover {
  color: #d44412;
  background: #fff;
}

.actions-block-action.accent-community {
  background-color: #00629b;
  border-color: #00629b;
}

.actions-block-action.accent-community:hover {
  color: #00629b;
  background: #fff;
}

.adv-ol {
  position: relative;
  background-color: white;
  padding: 52px 26px;
  font-size: 18px;
  line-height: 1.5;
  padding: 52px 20px;
}

.adv-ol > * {
  margin: 0 auto;
  max-width: 1000px;
  position: relative;
  z-index: 2;
}

.adv-ol__title {
  font-size: 3.80952vw;
  color: #002147;
  line-height: 1.2;
  font-weight: 600;
  margin-bottom: 40px;
}

@media (max-width: 840px) {
  .adv-ol__title {
    font-size: 32px;
  }
}

@media (min-width: 1260px) {
  .adv-ol__title {
    font-size: 48px;
  }
}

.adv-ol__list {
  padding: 0;
}

.adv-ol__list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-top: 1px solid #e7e7e7;
  counter-increment: adv-li;
}

.adv-ol__list-item .rich-text h2 {
  font-size: 2.85714vw;
  margin: 32px 0 20px;
}

@media (max-width: 840px) {
  .adv-ol__list-item .rich-text h2 {
    font-size: 24px;
  }
}

@media (min-width: 1260px) {
  .adv-ol__list-item .rich-text h2 {
    font-size: 36px;
  }
}

@media only screen and (min-width: 768px) {
  .adv-ol__list-item {
    flex-direction: row;
    align-items: flex-start;
  }
}

.adv-ol__list-item:first-of-type {
  counter-reset: adv-li;
}

.adv-ol__list-item span {
  padding-top: 0;
}

@media only screen and (min-width: 480px) {
  .adv-ol__list-item span {
    padding: 26px;
    padding-left: 0;
  }
}

.adv-ol__list-item::before {
  content: counter(adv-li);
  text-align: center;
  padding: 40px 20px 20px 20px;
  font-size: 60px;
  min-height: 1.5em;
  min-width: 1.5em;
  color: #26a2c8;
}

@media only screen and (min-width: 768px) {
  .adv-ol__list-item::before {
    font-size: 72px;
    text-align: left;
    padding: 40px 30px 30px 30px;
  }
}

.adv-ol__curves {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60%;
  transform: scaleX(-1);
  max-width: none;
  z-index: 1;
}

@media only screen and (min-width: 768px) {
  .chapter-content .wrapper--content.bond_data {
    width: calc(100% + 30px);
  }
}

@media only screen and (min-width: 1024px) {
  .chapter-content .wrapper--content.bond_data {
    width: calc(100% + 60px);
  }
}

.bond-data-block {
  margin-bottom: 40px;
}

.bond-data-block_stat-blocks {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  row-gap: 4px;
  margin: 0 auto;
  margin-top: 40px;
  margin-bottom: 4px;
}

@media only screen and (min-width: 768px) {
  .bond-data-block_stat-blocks {
    flex-direction: row !important;
    column-gap: 4px;
  }
}

.bond-data-block_stat-blocks .stat-blocks_stat {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 0 1 auto;
  padding: 20px 10px;
  text-align: center;
  line-height: 1.2;
  width: 100%;
  background: #50a0c4;
  color: #fff;
}

@media only screen and (min-width: 768px) {
  .bond-data-block_stat-blocks .stat-blocks_stat {
    margin-bottom: 0;
  }
}

.bond-data-block_stat-blocks .stat-blocks_stat .stat-blocks_stat_main {
  font-size: 3.1746vw;
  font-weight: 700;
  margin-top: 0;
  bottom: -1px;
}

@media (max-width: 945px) {
  .bond-data-block_stat-blocks .stat-blocks_stat .stat-blocks_stat_main {
    font-size: 30px;
  }
}

@media (min-width: 1260px) {
  .bond-data-block_stat-blocks .stat-blocks_stat .stat-blocks_stat_main {
    font-size: 40px;
  }
}

.bond-data-block_stat-blocks .stat-blocks_stat .stat-blocks_stat_super,
.bond-data-block_stat-blocks .stat-blocks_stat .stat-blocks_stat_sub {
  font-size: 18px;
  min-height: 0.9em;
}

.bond-data-block_text-blocks {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #f4f2f2;
}

@media only screen and (min-width: 768px) {
  .bond-data-block_text-blocks {
    flex-direction: row !important;
    column-gap: 4px;
  }
}

.bond-data-block_text-blocks .text-blocks_text {
  width: 100%;
  padding: 0 30px;
}

.chapter-content .bond-data-block .rich-text ul,
.chapter-content .bond-data-block .rich-text ol {
  padding-left: 1rem;
}

.breadcrumbs {
  display: none;
}

@media only screen and (min-width: 1024px) {
  .breadcrumbs {
    position: absolute;
    display: block;
    margin-left: 2rem;
    width: 380px;
    bottom: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .template--home-page .breadcrumbs {
    display: none;
  }
}

@media only screen and (min-width: 1280px) {
  .breadcrumbs {
    width: 500px;
  }
}

@media only screen and (min-width: 1024px) {
  .breadcrumbs__breadcrumb {
    font-size: 14px;
    color: #000;
  }
  .breadcrumbs__breadcrumb:not(:last-child) {
    font-weight: 700;
  }
}

@media only screen and (min-width: 1024px) {
  .breadcrumbs__arrow {
    margin: 0 5px;
    max-width: 5px;
    height: 10px;
    vertical-align: baseline;
    padding-bottom: 1px;
    fill: #000;
  }
}

a.breadcrumbs__breadcrumb {
  color: #000;
}

a.breadcrumbs__breadcrumb:hover {
  color: #000;
  opacity: 0.7;
}

.buttons-block {
  text-align: center;
  margin-top: calc(40px - 8px);
  margin-left: -8px;
  display: flex;
  flex-wrap: wrap;
}

.buttons-block .button {
  margin: 8px 0 0 8px;
}

.carousel-gallery {
  position: relative;
  margin-bottom: 2.5rem;
}

.carousel-gallery__caption {
  font-size: 13px;
  background: #002147;
  color: #fff;
  margin: 0;
  font-weight: 700;
  padding: 10px;
  text-align: center;
  width: 100%;
}

@media only screen and (min-width: 480px) {
  .carousel-gallery__caption {
    position: relative;
    display: inline;
    vertical-align: top;
    line-height: 0;
    padding: 8px 50px 8px 10px;
  }
}

.carousel-gallery img {
  width: 100%;
}

.carousel__nav--gallery {
  position: absolute;
  bottom: 50%;
  left: 0;
  width: 100%;
  z-index: 1;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.carousel__nav--gallery button {
  outline: 0;
}

.carousel-homepage {
  width: 100%;
  margin-bottom: 50px;
}

.carousel-homepage-box {
  position: relative;
  max-width: calc(1280px - var(--padding) * 2);
  margin: auto;
}

.carousel-homepage__message {
  font-size: 1.90476vw;
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 5;
  width: 50%;
  min-width: 200px;
  background: #f4f2f2;
  line-height: 1.4em;
  transform: translateY(-50%);
  --message-padding: min(3vw, 50px);
  padding: var(--message-padding);
}

@media (max-width: 840px) {
  .carousel-homepage__message {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .carousel-homepage__message {
    font-size: 24px;
  }
}

.carousel-container--testimonials {
  background: url("../images/testimonial-bg.svg") no-repeat #002147;
  background-size: cover;
  padding: 2rem;
  margin-top: 3rem;
}

@media only screen and (min-width: 1024px) {
  .carousel-container--testimonials {
    padding: 8rem 2rem;
  }
}

@media only screen and (min-width: 1280px) {
  .carousel-container--testimonials {
    background-size: contain;
  }
}

.carousel-container--featured-listing {
  position: relative;
  display: flex;
  max-width: 100vw;
  margin-top: 2rem;
}

@media only screen and (min-width: 768px) {
  .carousel-container--featured-listing {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
}

.carousel-container--homepage {
  position: relative;
  display: flex;
  max-width: 100vw;
}

@media only screen and (min-width: 768px) {
  .carousel-container--homepage {
    max-width: 1220px;
    margin-left: auto;
    margin-right: auto;
  }
}

.carousel-container--gallery {
  position: relative;
  display: flex;
  max-width: 100vw;
}

@media only screen and (min-width: 768px) {
  .carousel-container--gallery {
    max-width: 1220px;
    margin-left: auto;
    margin-right: auto;
  }
}

.carousel__nav--testimonials {
  margin: 0 auto;
  max-width: 1000px;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  position: relative;
  top: 75px;
  right: 30px;
}

@media only screen and (min-width: 1024px) {
  .carousel__nav--testimonials {
    right: 0;
  }
}

.carousel__nav--featured-listing {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
}

@media only screen and (min-width: 480px) {
  .carousel__nav--featured-listing {
    right: 50px;
  }
}

@media only screen and (min-width: 768px) {
  .carousel__nav--featured-listing {
    bottom: auto;
    right: auto;
    left: -2px;
    top: 70px;
  }
}

.owl-item {
  max-width: 100vw;
}

.owl-prev, .owl-next {
  transition: background 0.25s ease;
  display: inline-block;
  vertical-align: bottom;
  padding: 25px;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #26a2c8;
  background-size: 10px;
}

.owl-prev:hover, .owl-next:hover {
  background-color: #45b8dc;
}

.owl-prev {
  background-image: url("../images/chevron-left-white.svg");
  margin-right: 2px;
}

.owl-next {
  background-image: url("../images/chevron-right-white.svg");
}

.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1;
}

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  -moz-backface-visibility: hidden;
  /* fix firefox animation glitch */
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px);
}

.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.owl-carousel .owl-item img {
  display: block;
  width: 100%;
}

.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
  display: none;
}

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-loaded {
  display: block;
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}

.owl-carousel.owl-hidden {
  opacity: 0;
}

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}

.owl-carousel.owl-drag .owl-item {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab;
}

.owl-carousel.owl-rtl {
  direction: rtl;
}

.owl-carousel.owl-rtl .owl-item {
  float: right;
}

/* No Js */
.no-js .owl-carousel {
  display: block;
}

.tabbed-carousel {
  --time: 1000ms;
  position: relative;
  width: 100%;
  height: 70vh;
  min-height: 650px;
  overflow: hidden;
}

.tabbed-carousel__image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  z-index: 1;
  will-change: transform;
}

.tabbed-carousel__image.in {
  animation: imageIn var(--time) ease-out forwards;
}

.tabbed-carousel__image.out {
  animation: imageOut var(--time) ease-out forwards;
}

.tabbed-carousel__image.inBack {
  animation: imageInBack var(--time) ease-out forwards;
}

.tabbed-carousel__image.outBack {
  animation: imageOutBack var(--time) ease-out forwards;
}

.tabbed-carousel__image:not(.active) {
  transform: translateX(100%);
  visibility: hidden;
}

.tabbed-carousel .gradient {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 30%);
}

.tabbed-carousel__message {
  font-size: 1.90476vw;
  position: absolute;
  left: max(var(--padding),calc(50% - 580px));
  top: 40%;
  z-index: 5;
  width: 50%;
  min-width: 300px;
  max-width: 680px;
  line-height: 1.4em;
  transform: translateY(-50%);
  opacity: 1;
}

.tabbed-carousel__message.in {
  opacity: 0;
  animation: messageIn var(--time) ease-out forwards;
}

.tabbed-carousel__message.out {
  animation: messageOut var(--time) ease-in forwards;
}

.tabbed-carousel__message.inBack {
  opacity: 0;
  animation: messageInBack var(--time) ease-out forwards;
}

.tabbed-carousel__message.outBack {
  animation: messageOutBack var(--time) ease-out forwards;
}

@media (max-width: 840px) {
  .tabbed-carousel__message {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .tabbed-carousel__message {
    font-size: 24px;
  }
}

@media only screen and (min-width: 768px) {
  .tabbed-carousel__message {
    top: 50%;
  }
}

.tabbed-carousel__message:not(.active) {
  opacity: 0;
  transform: translateX(100%) translateY(-50%);
  visibility: hidden;
}

.tabbed-carousel__message h3 {
  color: #002147;
  padding: var(--padding) var(--padding) 0 var(--padding);
  margin: 0;
  background: #f4f2f2;
  box-shadow: 0 1px 0 #f4f2f2;
}

.tabbed-carousel__message p {
  margin: 0;
  padding: calc(var(--padding) / 2) var(--padding) var(--padding) var(--padding);
  background: #f4f2f2;
}

.tabbed-carousel__message a {
  padding: calc(var(--padding)/1.5) var(--padding);
}

.tabbed-carousel__tabs {
  font-size: 1.90476vw;
  max-width: calc(1280px - var(--padding)*2);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 5;
  margin: 6px auto 24px;
  padding: 0 6px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-gap: 6px;
}

@media (max-width: 840px) {
  .tabbed-carousel__tabs {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .tabbed-carousel__tabs {
    font-size: 24px;
  }
}

@media only screen and (min-width: 768px) {
  .tabbed-carousel__tabs {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: auto;
  }
}

@media only screen and (min-width: 1280px) {
  .tabbed-carousel__tabs {
    padding: 0;
  }
}

.tabbed-carousel__tab {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: calc(var(--padding) / 2) var(--padding);
  border: none;
  background-color: rgba(255, 255, 255, 0.8);
  text-align: left;
  cursor: pointer;
  color: #002147;
  font-weight: 600;
  transition: background 0.25s ease-out, color 0.25s ease-out;
}

.tabbed-carousel__tab-type {
  font-size: 1.26984vw;
  height: 16px;
  font-weight: 300;
  margin-bottom: 6px;
}

@media (max-width: 945px) {
  .tabbed-carousel__tab-type {
    font-size: 12px;
  }
}

@media (min-width: 1260px) {
  .tabbed-carousel__tab-type {
    font-size: 16px;
  }
}

.tabbed-carousel__tab:hover {
  background-color: #fff;
}

.tabbed-carousel__tab.active {
  background-color: #ffffff00;
  color: #fff;
  pointer-events: none;
}

@keyframes imageIn {
  0% {
    transform: translateX(100%);
  }
  90% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(0%);
  }
}

@keyframes imageOut {
  0% {
    transform: translateX(0%);
    visibility: visible;
  }
  90% {
    transform: translateX(-100%);
    visibility: visible;
  }
  100% {
    transform: translateX(-100%);
    visibility: visible;
  }
}

@keyframes messageIn {
  0% {
    transform: translateX(20%) translateY(-50%);
    opacity: 0;
  }
  50% {
    transform: translateX(20%) translateY(-50%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%) translateY(-50%);
    opacity: 1;
  }
}

@keyframes messageOut {
  0% {
    transform: translateX(0%) translateY(-50%);
    opacity: 1;
    visibility: visible;
  }
  20% {
    transform: translateX(-20%) translateY(-50%);
    opacity: 0;
    visibility: visible;
  }
  100% {
    transform: translateX(-20%) translateY(-50%);
    opacity: 0;
    visibility: visible;
  }
}

@keyframes imageInBack {
  0% {
    transform: translateX(-100%);
  }
  90% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(0%);
  }
}

@keyframes imageOutBack {
  0% {
    transform: translateX(0%);
    visibility: visible;
  }
  90% {
    transform: translateX(100%);
    visibility: visible;
  }
  100% {
    transform: translateX(100%);
    visibility: visible;
  }
}

@keyframes messageInBack {
  0% {
    transform: translateX(-20%) translateY(-50%);
    opacity: 0;
  }
  60% {
    transform: translateX(-20%) translateY(-50%);
    opacity: 0;
  }
  100% {
    transform: translateX(0%) translateY(-50%);
    opacity: 1;
  }
}

@keyframes messageOutBack {
  0% {
    transform: translateX(0%) translateY(-50%);
    opacity: 1;
    visibility: visible;
  }
  20% {
    transform: translateX(20%) translateY(-50%);
    opacity: 0;
    visibility: visible;
  }
  100% {
    transform: translateX(20%) translateY(-50%);
    opacity: 0;
    visibility: visible;
  }
}

.case-intro {
  margin: 80px auto 40px;
  max-width: 1000px;
}

.case-intro__button {
  position: relative;
  display: flex;
  overflow: hidden;
  justify-content: space-between;
  align-items: center;
  background-color: #002b57;
  border: none;
  cursor: pointer;
  width: 100%;
  padding: 26px;
  margin-bottom: 4px;
  transition: 0.25s ease-out;
}

@media only screen and (min-width: 768px) {
  .case-intro__button {
    padding-left: -43px;
  }
}

.case-intro__button:hover, .case-intro__button:focus, .case-intro__button--active {
  background-color: #011e41;
}

.case-intro__button:hover .case-intro__label, .case-intro__button:focus .case-intro__label, .case-intro__button--active .case-intro__label {
  color: #26a2c8;
}

.case-intro__button--active .case-intro__curve {
  transform: translateX(-20%);
}

.case-intro__button--active .case-intro__icon {
  transform: rotate(45deg);
}

.case-intro__label {
  flex-grow: 1;
  text-align: left;
  position: relative;
  z-index: 2;
  color: #fff;
  font-size: 26px;
  line-height: 1;
  margin: 0;
  transition: 0.25s ease-out;
}

.case-intro__icon {
  transition: 0.5s ease-out;
  position: relative;
  z-index: 2;
  height: 34px;
  width: 34px;
  order: 2;
}

.case-intro__curve {
  transition: 0.5s ease-out;
  position: absolute;
  top: 0;
  left: 0;
  width: 90%;
  height: 100%;
  z-index: 1;
}

.case-intro__body {
  display: none;
  margin: 0 auto;
  padding: 26px;
  max-width: 1052px;
  overflow: hidden;
}

@media only screen and (min-width: 480px) {
  .case-intro__body {
    font-size: 18px;
    line-height: 1.5;
  }
}

.chapter-content {
  max-width: 800px;
  margin: 0 16px;
}

@media only screen and (min-width: 768px) {
  .chapter-content {
    margin: 0 30px;
  }
}

@media only screen and (min-width: 1024px) {
  .chapter-content {
    margin: 0 60px;
  }
}

.chapter-content h2 {
  margin: 120px 0 20px;
}

.chapter-content h2:focus {
  outline: none;
}

.chapter-content h2:focus-visible {
  outline: initial;
}

.chapter-content h2:not(:focus-visible) {
  outline: none;
}

.chapter-content h3 {
  margin: 50px 0 20px;
}

.chapter-content .first > h2:first-of-type {
  /* Apply styles to .overview > h2:first-of-type, which may or may not be :first-child */
  margin-top: 0;
}

.chapter-content .rich-text ul,
.chapter-content .rich-text ol {
  padding-left: 2rem;
}

@media only screen and (min-width: 1024px) {
  .chapter-content .rich-text ul,
  .chapter-content .rich-text ol {
    padding-left: 0;
  }
}

.chapter {
  position: relative;
}

.chapter__number {
  margin: 0 0 10px;
}

.chapter__title {
  margin: 0 0 20px;
  font-weight: 600;
}

.chapter p.chapter__time {
  margin: 0 0 30px;
  color: #d44412;
  font-weight: 400;
  font-size: 1.42857vw;
}

@media (max-width: 1120px) {
  .chapter p.chapter__time {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .chapter p.chapter__time {
    font-size: 18px;
  }
}

.chapter__image {
  margin: 40px 0;
}

.chapter__caption {
  font-size: 1.5873vw;
  margin: 10px 0;
}

@media (max-width: 882px) {
  .chapter__caption {
    font-size: 14px;
  }
}

@media (min-width: 1260px) {
  .chapter__caption {
    font-size: 20px;
  }
}

.cta-block-container {
  display: flex;
  margin: 0 auto;
  position: relative;
  flex-direction: column-reverse;
}

@media only screen and (min-width: 768px) {
  .cta-block-container {
    margin: 120px auto 40px;
    max-width: 1280px;
    flex-direction: row-reverse;
  }
}

.cta-block-container--reverse {
  flex-direction: column-reverse;
}

@media only screen and (min-width: 768px) {
  .cta-block-container--reverse {
    flex-direction: row;
  }
}

.cta-block {
  background: #002147;
  padding: 30px;
}

@media only screen and (min-width: 768px) {
  .cta-block {
    top: -80px;
    width: 55%;
    position: absolute;
    padding: 40px;
    margin-left: 0;
    z-index: 10;
    left: 0;
  }
  .cta-block-container--reverse .cta-block {
    right: 0;
    margin-left: -200px;
    left: auto;
  }
}

.cta-block__image {
  display: block;
  width: 100%;
  padding-top: 40%;
  background-color: #7f3197;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  max-width: 840px;
}

@media only screen and (min-width: 768px) {
  .cta-block__image {
    height: 350px;
    padding: 0;
  }
}

.cta-block__teaser {
  font-size: 15px;
  color: #34ddd9;
}

.cta-block__title {
  font-size: 2.85714vw;
  color: #fff;
  line-height: 1.3;
  font-weight: 600;
}

@media (max-width: 630px) {
  .cta-block__title {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .cta-block__title {
    font-size: 36px;
  }
}

.cta-block__copy {
  font-size: 1.42857vw;
  color: #fff;
  margin: 20px 0;
  line-height: 1.4;
}

@media (max-width: 1120px) {
  .cta-block__copy {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .cta-block__copy {
    font-size: 18px;
  }
}

@media only screen and (min-width: 768px) {
  .cta-block__copy {
    margin: 20px 0;
  }
}

.event-itinerary {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 calc(var(--padding) / 2);
}

@media only screen and (min-width: 1280px) {
  .event-itinerary {
    padding: 0;
  }
}

.event-itinerary .event-itinerary__current-timezone {
  font-size: 1.90476vw;
  line-height: 1.5;
  margin-top: 40px;
  margin-bottom: 30px;
}

@media (max-width: 840px) {
  .event-itinerary .event-itinerary__current-timezone {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .event-itinerary .event-itinerary__current-timezone {
    font-size: 24px;
  }
}

.event-itinerary .event-itinerary__current-timezone span {
  font-weight: 700;
}

.event-day-container {
  padding: 8px;
  border: 1px solid #e7e7e7;
  border-top: none;
  background-color: #fff;
}

.event-day {
  margin: 0;
}

.event-day__button {
  margin-top: auto;
  transition: background-color 0.25s ease-out;
  position: relative;
  display: block;
  overflow: hidden;
  justify-content: space-between;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.2);
  color: #000;
  cursor: pointer;
  width: 100%;
  padding: 1.26984vw;
  height: 95%;
  border: none;
  margin-right: 5px;
  margin-bottom: 5px;
}

@media (max-width: 315px) {
  .event-day__button {
    padding: 4px;
  }
}

@media (min-width: 1260px) {
  .event-day__button {
    padding: 16px;
  }
}

@media only screen and (min-width: 768px) {
  .event-day__button {
    padding-left: -43px;
  }
}

.event-day__button:hover {
  background: #e7e7e7;
}

.event-day__button:focus, .event-day__button--active {
  outline: 0;
  transition: background-color 0s;
}

.event-day__button--active {
  height: 95%;
  background-color: #fff;
  border: 1px solid #e7e7e7;
  border-bottom: none;
  margin-bottom: -1px;
}

.event-day__button--active:hover {
  background-color: #fff;
}

.event-day__button:last-child {
  margin-right: 0;
}

.event-day__label {
  display: none;
  color: #002147;
  text-align: left;
  position: relative;
  font-size: 2.06349vw;
  margin: 0;
}

@media (max-width: 775.38462px) {
  .event-day__label {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .event-day__label {
    font-size: 26px;
  }
}

.event-day__date {
  color: #002147;
  text-align: center;
  position: relative;
  font-size: 1.42857vw;
  margin: 0;
  font-weight: 400;
  line-height: 20px;
}

@media (max-width: 910px) {
  .event-day__date {
    font-size: 13px;
  }
}

@media (min-width: 1260px) {
  .event-day__date {
    font-size: 18px;
  }
}

@media only screen and (min-width: 768px) {
  .event-day__label {
    display: block;
  }
  .event-day__date {
    text-align: left;
  }
}

.event-day__body {
  display: none;
  margin: 0 auto;
  overflow: hidden;
}

.event-day__body__intro-text {
  margin: 10px;
  margin-bottom: 30px;
}

.event-day__body__intro-text .rich-text p {
  font-size: 1.42857vw;
}

@media (max-width: 1120px) {
  .event-day__body__intro-text .rich-text p {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .event-day__body__intro-text .rich-text p {
    font-size: 18px;
  }
}

@media only screen and (min-width: 768px) {
  .event-day__body__intro-text {
    margin: 10px;
    margin-bottom: 30px;
  }
}

.event-day-buttons {
  display: flex;
  justify-content: flex-start;
  flex-direction: row;
  border-bottom: 1px solid #e7e7e7;
  height: 8.73016vw;
}

@media (max-width: 916.36364px) {
  .event-day-buttons {
    height: 80px;
  }
}

@media (min-width: 1260px) {
  .event-day-buttons {
    height: 110px;
  }
}

.event-meeting-credentials .event-meeting-credentials__block {
  margin: 20px 0;
  background-color: #f4f2f2;
  border: 1px solid #e7e7e7;
}

.event-meeting-credentials .event-meeting-credentials__block .event-meeting-credentials__field {
  margin: 10px;
  padding: 10px;
}

.event-meeting-credentials .event-meeting-credentials__block .event-meeting-credentials__field .label {
  display: block;
  margin-bottom: 5px;
}

.event-meeting-credentials .event-meeting-credentials__block .event-meeting-credentials__field .field {
  display: block;
  padding: 20px;
  background-color: #fff;
  border: 1px solid #e7e7e7;
  overflow: scroll;
}

.page-header.large-event-header {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  margin-bottom: 2rem;
}

@media only screen and (min-width: 768px) {
  .page-header.large-event-header {
    margin-top: 40px;
  }
}

.page-header.large-event-header > div {
  display: flex;
}

.page-header.large-event-header > div:first-of-type {
  flex-direction: column;
}

@media only screen and (min-width: 768px) {
  .page-header.large-event-header > div:first-of-type {
    align-items: flex-end;
    flex-direction: row;
    justify-content: space-between;
  }
}

.page-header.large-event-header > div:last-of-type {
  flex-direction: column;
  justify-content: space-between;
}

@media only screen and (min-width: 768px) {
  .page-header.large-event-header > div:last-of-type {
    flex-direction: row;
  }
}

.page-header.large-event-header .super-title {
  text-transform: uppercase;
  font-size: 1.26984vw;
  color: #00629b;
}

@media (max-width: 1102.5px) {
  .page-header.large-event-header .super-title {
    font-size: 14px;
  }
}

@media (min-width: 1260px) {
  .page-header.large-event-header .super-title {
    font-size: 16px;
  }
}

.page-header.large-event-header h1 {
  font-size: 4.7619vw;
  margin-top: 5px;
  font-weight: 600;
  margin-bottom: 2.5rem;
}

@media (max-width: 882px) {
  .page-header.large-event-header h1 {
    font-size: 42px;
  }
}

@media (min-width: 1260px) {
  .page-header.large-event-header h1 {
    font-size: 60px;
  }
}

.page-header.large-event-header .hero {
  margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
  .page-header.large-event-header .hero {
    margin-left: 20px;
    width: 60%;
  }
}

.page-header.large-event-header .page-header__heading {
  max-width: 960px;
}

.page-header.large-event-header .event-intro {
  width: 100%;
  line-height: 1.3;
  font-size: 2.38095vw;
}

@media (max-width: 1008px) {
  .page-header.large-event-header .event-intro {
    font-size: 24px;
  }
}

@media (min-width: 1260px) {
  .page-header.large-event-header .event-intro {
    font-size: 30px;
  }
}

@media only screen and (min-width: 768px) {
  .page-header.large-event-header .event-intro {
    width: 90%;
  }
}

@media only screen and (min-width: 1024px) {
  .page-header.large-event-header .event-intro {
    width: 75%;
  }
}

.page-header.large-event-header .event-intro .rich-text {
  font-size: inherit;
}

.page-header.large-event-header .event-card-container--inline {
  margin-bottom: 8px;
}

@media only screen and (min-width: 768px) {
  .page-header.large-event-header .event-card-container--inline {
    margin-bottom: 0;
  }
}

.page-header.large-event-header .event-card-container--inline .event-card {
  color: white;
  margin-top: 4px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 1.26984vw;
}

@media (max-width: 1102.5px) {
  .page-header.large-event-header .event-card-container--inline .event-card {
    font-size: 14px;
  }
}

@media (min-width: 1260px) {
  .page-header.large-event-header .event-card-container--inline .event-card {
    font-size: 16px;
  }
}

.page-header.large-event-header .event-card-container--inline .event-card .event-location.online {
  text-transform: uppercase;
  background-color: #26a2c8;
  color: #fff;
  margin: 0;
  padding: 18px;
}

.page-header.large-event-header .event-card-container--inline .event-card .event-date {
  padding: 18px;
  background-color: #002147;
  margin-right: 10px;
}

.page-header.large-event-header .event-card-container--inline .event-card .event-date .date-day {
  margin-right: 5px;
}

.page-header.large-event-header .event-card-container--inline .event-card .event-date .date-month {
  text-transform: uppercase;
}

.page-header.large-event-header .event-card-container--inline .event-card .event-date .date-zone {
  color: #fb5a40;
  text-transform: uppercase;
}

.page-header.large-event-header .event-card-container--inline .event-card .event-location {
  color: #26a2c8;
  background-color: white;
  margin: 14px 10px 14px 0px;
}

.page-header.large-event-header .event-card-container--inline .event-card .event-timezone-button {
  width: auto;
  display: inline-block;
}

.page-header.large-event-header .event-card-container--inline .event-card .event-timezone-button .button {
  color: #d44412;
  background-color: transparent;
  border: none;
  width: auto;
  padding: 0;
  margin: 10px 0;
  transition: filter 0.25s ease-out;
}

.page-header.large-event-header .event-card-container--inline .event-card .event-timezone-button .button:hover {
  color: #d44412;
  filter: brightness(0.8);
}

.page-header.large-event-header .sharing-bar {
  display: initial;
  position: relative;
  right: initial;
  margin: -1rem 0 1rem;
}

@media only screen and (min-width: 768px) {
  .page-header.large-event-header .sharing-bar {
    margin: 2.5rem 0 0 0;
  }
}

.page-header.large-event-header .sharing-bar .link-container--sharing {
  flex-direction: row;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: -1ch;
}

.page-header.large-event-header .sharing-bar .link-container--sharing a {
  margin: 1ch 0 0 1ch;
}

.page-header.large-event-header .event-intro p {
  margin-top: 2.5rem;
}

.template--event-programme-page .rich-text {
  max-width: 800px;
}

.template--event-itinerary-page .large-event-header,
.template--event-programme-page .large-event-header {
  justify-content: space-between;
}

@media only screen and (min-width: 480px) {
  .template--event-itinerary-page .large-event-header,
  .template--event-programme-page .large-event-header {
    flex-direction: row;
  }
}

.template--event-itinerary-page .large-event-header h1,
.template--event-programme-page .large-event-header h1 {
  margin-top: 0;
}

.template--event-itinerary-page .large-event-header .event-timezone-button button,
.template--event-programme-page .large-event-header .event-timezone-button button {
  padding: 10px;
}

.template--event-itinerary-page .large-event-header .event-access-intro .rich-text,
.template--event-programme-page .large-event-header .event-access-intro .rich-text {
  font-size: inherit;
}

.event-menu-bar.is-pinned .event-menu-bar__title {
  opacity: 1;
}

.event-menu-bar {
  color: #fff;
  z-index: 10;
  max-width: 1220px;
  margin: 0 auto;
  width: 100%;
  position: sticky;
  top: -1px;
  font-size: 1.42857vw;
}

@media (max-width: 1120px) {
  .event-menu-bar {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .event-menu-bar {
    font-size: 18px;
  }
}

@media only screen and (min-width: 768px) {
  .event-menu-bar {
    flex-direction: row;
  }
}

.event-menu-bar__title {
  opacity: 0;
  transition: opacity 0.25s ease-out;
  padding: 10px calc(var(--padding) / 2);
  background-color: #00629b;
}

.event-menu-bar__pages {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  background-color: #002147;
  padding: 0;
}

@media only screen and (min-width: 768px) {
  .event-menu-bar__pages {
    align-items: center;
    padding: 0px calc(var(--padding) / 2);
  }
}

.event-menu-bar__item {
  display: none;
  align-items: center;
  min-height: 30px;
}

@media only screen and (min-width: 768px) {
  .event-menu-bar__item {
    display: flex;
    min-height: 70px;
  }
}

.event-menu-bar__item--button {
  display: flex;
}

@media only screen and (min-width: 768px) {
  .event-menu-bar__link {
    margin-right: 15px;
    padding-right: 15px;
    border-right: 1px solid #fff;
  }
}

.event-menu-bar__link a:not(.button) {
  color: #26a2c8;
}

.event-menu-bar__link a:not(.button):hover {
  color: #45b8dc;
}

.event-menu-bar__link.last {
  border-right: none;
}

.event-menu-bar .button {
  min-height: 50px;
  padding: 0 20px;
}

@media only screen and (min-width: 768px) {
  .event-menu-bar .button {
    min-height: 70px;
    margin-top: 0;
  }
}

.event-menu-bar--mobile {
  margin: 0;
  flex: 1 1 0;
}

@media only screen and (min-width: 768px) {
  .event-menu-bar--mobile {
    display: none;
  }
}

.event-menu-bar--mobile .accordion__label {
  font-size: 16px;
}

.event-menu-bar--mobile .accordion__button {
  color: #fff;
  background: none;
  padding: 12px calc(var(--padding) / 2);
  margin-bottom: 0;
}

.event-menu-bar--mobile .accordion__button:focus .accordion__label,
.event-menu-bar--mobile .accordion__button--active .accordion__label {
  color: #fff !important;
}

.event-menu-bar--mobile .accordion__button--active .accordion__icon {
  transform: none;
}

.event-menu-bar--mobile .accordion__icon {
  order: unset;
  margin-right: 10px;
  stroke: #fff;
}

.event-menu-bar--mobile .accordion__body {
  padding: 0 0 0 10px;
}

.event-menu-bar--mobile .accordion__body li {
  list-style: none;
  margin: 20px 0;
}

.template--event-page.template--article-page .wrapper--content {
  padding: 0 var(--padding);
}

@media only screen and (min-width: 768px) {
  .template--event-page.template--article-page .wrapper--content {
    padding: 0;
  }
}

.template--event-page.template--article-page .wrapper--content .wrapper--content {
  padding: 0;
}

.template--large-event-page .wrapper--content.paragraph,
.template--event-standard-page .wrapper--content.paragraph,
.template--event-itinerary-page .wrapper--content.paragraph,
.template--event-programme-page .wrapper--content.paragraph {
  padding: 0 calc(var(--padding) / 2);
}

.template--large-event-page .wrapper--content.image .hero,
.template--event-standard-page .wrapper--content.image .hero,
.template--event-itinerary-page .wrapper--content.image .hero,
.template--event-programme-page .wrapper--content.image .hero {
  margin-top: 2.5rem;
}

.event-timezone-button .button__icon {
  width: 30px;
  height: 30px;
}

.headline-speakers {
  margin-bottom: 40px;
  padding: 50px var(--padding);
}

.headline-speakers h2 {
  margin-top: 0px;
}

.template--event-speakers-page .photo_speakers {
  max-width: 800px !important;
}

.event-presentation-container {
  border-left: 4px solid #ccd3da;
  padding: calc(var(--padding) / 2) 0 calc(var(--padding) / 2) var(--padding);
}

.event-presentation-container__title {
  margin: 1rem 0;
  font-size: 1.90476vw;
}

@media (max-width: 945px) {
  .event-presentation-container__title {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .event-presentation-container__title {
    font-size: 24px;
  }
}

.event-presentation {
  display: grid;
  grid-template-columns: auto;
}

.event-presentation:not(:last-child) {
  padding-bottom: 2rem;
  border-bottom: 1px solid #ccd3da;
  margin-bottom: 2rem;
}

@media only screen and (min-width: 768px) {
  .event-presentation {
    grid-template-columns: auto 340px;
  }
}

.event-presentation__block {
  margin: 0 0 30px;
}

@media only screen and (min-width: 768px) {
  .event-presentation__block {
    margin: 0;
  }
}

.event-presentation__more-details {
  margin-top: 1rem;
}

.event-presentation .speaker-grid {
  margin-top: -20px;
}

.event-presentation .button {
  margin: 8px 0;
}

@media only screen and (min-width: 480px) {
  .event-presentation .button {
    margin: 0px;
  }
}

.event-session-container {
  margin: 0;
}

.event-session-container__paragraph {
  padding: var(--padding);
}

.event-session-container__paragraph p,
.event-session-container__paragraph .rich-text {
  font-size: 1.42857vw;
  max-width: 800px;
}

@media (max-width: 1120px) {
  .event-session-container__paragraph p,
  .event-session-container__paragraph .rich-text {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .event-session-container__paragraph p,
  .event-session-container__paragraph .rich-text {
    font-size: 18px;
  }
}

.event-session-container__paragraph .rich-text h3, .event-session-container__paragraph .rich-text h2 {
  line-height: 1.2;
  margin-top: 1rem;
}

.event-session-container__button {
  position: relative;
  display: flex;
  overflow: hidden;
  justify-content: space-between;
  align-items: center;
  background-color: #575258;
  border: none;
  cursor: unset;
  width: 100%;
  margin-top: 8px;
  transition: 0.25s ease-out;
  min-height: 66px;
  padding: 10px;
}

@media only screen and (min-width: 768px) {
  .event-session-container__button {
    padding-left: -43px;
  }
}

.event-session-container__button:hover, .event-session-container__button:focus, .event-session-container__button--active {
  outline: 0;
}

.event-session-container__button:hover .event-session-container__label, .event-session-container__button:focus .event-session-container__label, .event-session-container__button--active .event-session-container__label {
  color: #fff;
}

.event-session-container__button:hover .event-session-container__time-icon, .event-session-container__button:focus .event-session-container__time-icon, .event-session-container__button--active .event-session-container__time-icon {
  fill: #fff;
}

.event-session-container__button--active .event-session-container__icon {
  transform: rotate(45deg);
  fill: #fff;
}

.event-session-container__button.with-sessions {
  background-color: #00629b;
  cursor: pointer;
}

.event-session-container.concurrent > .event-session-container__button {
  background-color: #092044;
}

.event-session-container.concurrent > .event-session-container__body {
  border-left: 3px solid #092044;
  padding-left: 8px;
}

.event-session-container__button.promote-sessions {
  background-color: #00629b;
}

.event-session-container__time-icon {
  transition: 0.5s ease-out;
  position: relative;
  height: 24px;
  width: 24px;
  fill: #fff;
  margin: 0;
  min-width: 24px;
}

@media only screen and (min-width: 480px) {
  .event-session-container__time-icon {
    margin-left: 5px;
  }
}

@media only screen and (min-width: 1024px) {
  .event-session-container__time-icon {
    height: 30px;
    width: 30px;
  }
}

.event-session-container__label {
  flex-grow: 1;
  text-align: left;
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: 400;
  margin: 0 10px;
  transition: 0.25s ease-out;
}

@media only screen and (min-width: 1024px) {
  .event-session-container__label {
    font-size: 20px;
  }
}

.event-session-container__icon {
  transition: 0.5s ease-out;
  position: relative;
  margin-right: 0px;
  z-index: 2;
  height: 18px;
  width: 18px;
  fill: #fff;
  order: 2;
  min-width: 18px;
}

@media only screen and (min-width: 480px) {
  .event-session-container__icon {
    margin-right: 10px;
  }
}

@media only screen and (min-width: 1024px) {
  .event-session-container__icon {
    height: 22px;
    width: 22px;
  }
}

.event-session-container__body {
  display: none;
  margin: 0 auto;
  overflow: hidden;
}

.event-session {
  background-color: #f4f2f2;
  display: flex;
  flex-direction: column;
  padding: var(--padding);
  margin-bottom: 8px;
  width: 100%;
}

.event-session__theme {
  margin: 0 0 0.5rem;
}

.event-session p,
.event-session .rich-text {
  font-size: 1.42857vw;
  max-width: 800px;
}

@media (max-width: 1120px) {
  .event-session p,
  .event-session .rich-text {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .event-session p,
  .event-session .rich-text {
    font-size: 18px;
  }
}

.event-session .rich-text h3, .event-session .rich-text h2 {
  line-height: 1.2;
  margin-top: 1rem;
}

.event-session__header {
  display: grid;
  grid-template-columns: 1fr auto;
  place-items: center flex-start;
  margin-bottom: var(--padding);
}

.event-session__header h3 {
  grid-area: 2/1;
  margin: 1rem 0;
  margin-top: 0;
}

@media only screen and (min-width: 768px) {
  .event-session__header h3 {
    margin: 0;
  }
}

.event-session__header .online-container {
  grid-area: 3/1;
  display: flex;
  flex-wrap: wrap;
  margin-top: auto;
}

@media only screen and (min-width: 768px) {
  .event-session__header .online-container {
    display: block;
    grid-area: span 2;
  }
}

.event-session__header .online-container .event-session__location {
  grid-area: auto;
  flex: 1 1 0;
  padding: 15px;
}

.event-session__header .online-container .event-location.online {
  flex: 1 1 0;
}

.event-session__location {
  grid-area: 3/1;
  background-color: #fff;
  padding: 5px;
  margin-top: auto;
}

@media only screen and (min-width: 768px) {
  .event-session__location {
    grid-area: 2/2;
    width: 100%;
    padding: 15px;
  }
}

.event-session__join {
  grid-area: 5/1;
  width: 100%;
  display: flex;
  justify-content: space-between;
}

@media only screen and (min-width: 768px) {
  .event-session__join {
    grid-area: 2/2;
  }
}

@media only screen and (min-width: 480px) {
  .event-session__join {
    justify-content: flex-end;
  }
}

.event-session__join .event-location.online {
  text-transform: uppercase;
  font-size: 16px;
  background-color: #26a2c8;
  color: #fff;
  margin: 0;
  padding: 16px 15px 13px;
}

.event-session__join .event-session-footer__content {
  flex: 1 10 auto;
  margin: 0;
  padding: 0;
}

@media only screen and (min-width: 480px) {
  .event-session__join .event-session-footer__content {
    margin-right: var(--padding);
  }
}

.event-session__footer {
  margin-top: 20px;
  margin-bottom: 20px;
}

.event-session__footer .event-moderator {
  font-weight: 400;
}

.event-session .event-presentation .speaker-grid {
  grid-template-columns: 1fr 1fr;
  gap: 0 10px;
}

@media only screen and (min-width: 768px) {
  .event-session .event-presentation .speaker-grid {
    margin-left: 20px;
  }
}

.event-session-container__body .event-session {
  margin-bottom: 0;
}

.form-intro {
  padding: 0 2rem;
}

@media only screen and (min-width: 768px) {
  .form-intro {
    padding: 0;
  }
}

.form {
  background: #f4f2f2;
}

.form__fields-wrapper {
  padding: 1.5rem 2rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.form__fields-wrapper--alt {
  background: #002147;
  color: #fff;
  -webkit-font-smoothing: antialiased;
}

.form h3 {
  margin-top: 0;
  width: 100%;
}

.form__errors {
  color: #ee622d;
  margin: 10px 0;
}

.inline-form .form-field {
  display: inline-block;
  width: auto;
  font-size: 16px;
}

.indigo-systematic-review-heatmap .heatmap-listing .search-results__count {
  margin: 0;
}

.indigo-systematic-review-heatmap .heatmap-listing .tag {
  border-radius: 5px;
  padding: 4px 10px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background-color: #ed5e2c;
  white-space: nowrap;
}

.indigo-systematic-review-heatmap .heatmap-table {
  overflow-x: hidden;
  background: #e7e7e7;
}

.indigo-systematic-review-heatmap .heatmap-row {
  display: grid;
  grid-gap: 1px;
  grid-template-columns: minmax(150px, 1fr) repeat(6, minmax(20px, 90px));
  color: #444;
  padding: 5px;
}

.indigo-systematic-review-heatmap .heatmap-heading-label .heatmap-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) repeat(2, minmax(20px, 270px));
  background-color: #444;
  color: #fff;
  min-height: 40px;
}

.indigo-systematic-review-heatmap .heatmap-heading-label .heatmap-row .heading {
  font-size: 15px;
  text-align: center;
  margin: auto;
}

.indigo-systematic-review-heatmap .heatmap-heading {
  background: #fff;
  border-left: 2px solid #e7e7e7;
  border-right: 2px solid #e7e7e7;
}

.indigo-systematic-review-heatmap .heatmap-heading .heatmap-row {
  background: #fff;
  grid-column-gap: 5px;
  grid-template-columns: minmax(150px, 1fr) repeat(6, minmax(20px, 86px));
  align-items: end;
}

.indigo-systematic-review-heatmap .heatmap-heading .heatmap-row .sub-heading {
  font-size: 0.87302vw;
  text-align: center;
  font-weight: bold;
}

@media (max-width: 1030.90909px) {
  .indigo-systematic-review-heatmap .heatmap-heading .heatmap-row .sub-heading {
    font-size: 9px;
  }
}

@media (min-width: 1260px) {
  .indigo-systematic-review-heatmap .heatmap-heading .heatmap-row .sub-heading {
    font-size: 11px;
  }
}

.indigo-systematic-review-heatmap .heatmap-heading .heatmap-row .heading-risk {
  border-bottom: 2px solid rgba(10, 151, 217, 0.5);
  padding: 5px 0;
}

.indigo-systematic-review-heatmap .heatmap-heading .heatmap-row .heading-study {
  border-bottom: 2px solid rgba(86, 192, 43, 0.5);
  padding: 5px 0;
}

.indigo-systematic-review-heatmap .heatmap-section .heatmap-section_title {
  font-size: 13px;
  font-weight: bold;
  padding: 10px 0 0 10px;
}

.indigo-systematic-review-heatmap .box {
  background: #fff;
  color: #444;
  padding: 0px;
  font-size: 13px;
  text-align: center;
}

.indigo-systematic-review-heatmap .box-label {
  text-align: left;
  padding: 5px 10px;
}

.indigo-systematic-review-heatmap .box-value {
  cursor: pointer;
}

.indigo-systematic-review-heatmap .box-value--active .box-inner {
  padding: 2px;
  border: 3px solid #fb5a40;
}

.indigo-systematic-review-heatmap .box-inner {
  padding: 5px;
  width: 100%;
  height: 100%;
}

.indigo-systematic-review-heatmap .tooltip {
  position: relative;
  display: inline-block;
}

.indigo-systematic-review-heatmap .tooltip .tooltiptext {
  visibility: hidden;
  min-width: 100px;
  background-color: #444;
  color: white;
  text-align: center;
  border-radius: 2px;
  padding: 5px;
  /* Position the tooltip */
  position: absolute;
  z-index: 1;
  font-size: 11px;
  left: 70%;
}

.indigo-systematic-review-heatmap .tooltip .tooltiptext::after {
  content: " ";
  position: absolute;
  top: 10px;
  right: 100%;
  /* To the left of the tooltip */
  margin-top: -3px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent #444 transparent transparent;
}

.indigo-systematic-review-heatmap .tooltip:hover .tooltiptext {
  visibility: visible;
}

.hero {
  position: relative;
  margin-bottom: 2.5rem;
}

.hero__caption {
  left: 0;
  font-size: 13px;
  background: #002147;
  color: #fff;
  margin: 0;
  font-weight: 700;
  padding: 10px;
  text-align: center;
  width: 100%;
}

@media only screen and (min-width: 480px) {
  .hero__caption {
    position: absolute;
    bottom: -13px;
    text-align: left;
    padding: 5px 50px 5px 10px;
    width: auto;
  }
}

.hero img {
  width: 100%;
}

.indigo-cta-block-container {
  margin: 40px 0;
}

.indigo-cta-block {
  border: 8px solid #e7e7e7;
  padding: 40px;
  text-align: center;
}

.indigo-cta-block__teaser, .indigo-cta-block__title {
  font-size: 2.22222vw;
  color: #000;
  line-height: 1.3;
  font-weight: 600;
}

@media (max-width: 810px) {
  .indigo-cta-block__teaser, .indigo-cta-block__title {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .indigo-cta-block__teaser, .indigo-cta-block__title {
    font-size: 28px;
  }
}

.indigo-cta-block__copy {
  margin: 20px 0 30px 0;
}

.indigo-cta-block__copy .rich-text p {
  font-size: 1.42857vw;
  color: #565656;
  line-height: 1.4;
  font-weight: 600;
}

@media (max-width: 1120px) {
  .indigo-cta-block__copy .rich-text p {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .indigo-cta-block__copy .rich-text p {
    font-size: 18px;
  }
}

.indigo-cta-button-container {
  display: flex;
  justify-content: flex-end;
}

.richtext_call_to_action .indigo-cta-block {
  text-align: initial;
}

.richtext_call_to_action h2 {
  margin: 0.67em 0;
}

.richtext_call_to_action .indigo-cta-block__copy {
  margin: 0;
}

.richtext_call_to_action .indigo-cta-block__copy .rich-text *:first-child {
  margin-top: 0;
}

.richtext_call_to_action .indigo-cta-block__copy .rich-text *:last-child {
  margin-bottom: 0;
}

.disclaimer {
  border-bottom: 2px solid rgba(0, 0, 0, 0.1);
  margin: 60px auto;
}

.disclaimer-index {
  margin: 20px auto;
}

.disclaimer-content {
  text-align: justify;
  margin-bottom: 20px;
}

.indigo-promo-carousel {
  position: relative;
}

.indigo-promo-carousel .main-svg {
  display: block;
  height: auto;
  width: 100%;
}

.indigo-promo-carousel .main-svg:not(:first-of-type) {
  position: absolute;
  top: 0;
  left: 0;
}

.indigo-promo-carousel .main-svg .zerolinelayer {
  display: none;
}

.indigo-promo-carousel .main-svg .point path {
  transform: scaleY(0);
}

.indigo-promo-carousel .main-svg .bartext-outside,
.indigo-promo-carousel .main-svg .xtick,
.indigo-promo-carousel .main-svg .g-gtitle {
  opacity: 0;
}

.indigo-tabs-wrapper {
  display: flex;
  margin: 0 0 2px 0;
}

@media only screen and (min-width: 768px) {
  .indigo-tabs-wrapper {
    border-bottom: 3px solid #50a0c4;
  }
}

@media only screen and (min-width: 1024px) {
  .indigo-tabs-wrapper {
    flex: 0 0 255px;
    margin: 4px auto;
  }
}

.indigo-side {
  flex: 0 0 0;
}

@media only screen and (min-width: 1024px) {
  .indigo-side {
    flex: 0 0 255px;
  }
}

.indigo-tabs {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  height: auto;
}

@media only screen and (min-width: 768px) {
  .indigo-tabs {
    flex-direction: row;
    height: 60px;
  }
}

.indigo-tabs__button {
  margin: 2px 0;
  transition: background-color 0.25s ease-out;
  border: none;
  position: relative;
  display: block;
  overflow: hidden;
  justify-content: space-between;
  align-items: center;
  background-color: #f4f2f2;
  color: #000;
  cursor: pointer;
  width: 100%;
  padding: 16px;
}

@media only screen and (min-width: 768px) {
  .indigo-tabs__button {
    margin: 5px 4px 3px 0;
  }
}

.indigo-tabs__button:hover {
  background: #e8e4e4;
}

.indigo-tabs__button:focus, .indigo-tabs__button--active {
  outline: 0;
  transition: background-color 0s;
}

.indigo-tabs__button--active {
  background-color: #50a0c4;
  cursor: default;
}

@media only screen and (min-width: 768px) {
  .indigo-tabs__button--active {
    margin-top: 1px;
    margin-bottom: -1px;
  }
}

.indigo-tabs__button--active:hover {
  background-color: #50a0c4;
}

.indigo-tabs__button--active .indigo-tabs__label {
  color: #fff;
  margin-top: 2px;
}

.indigo-tabs__button:last-child {
  margin-right: 0;
}

.indigo-tabs__label {
  color: #000;
  text-align: left;
  position: relative;
  font-size: 18px;
  font-weight: 700;
  margin: 0;
  margin-top: -2px;
  padding-left: 16px;
}

@media only screen and (min-width: 1024px) {
  .indigo-tabs__label {
    padding-left: 4px;
  }
}

@media only screen and (min-width: 768px) {
  .indigo-tabs__label {
    display: block;
  }
  .indigo-tabs__date {
    text-align: left;
  }
}

.indigo-accordion {
  margin: 4px 0;
}

.indigo-accordion .accordion__button {
  position: relative;
  display: flex;
  overflow: hidden;
  justify-content: space-between;
  align-items: center;
  background-color: #50a0c4;
  border: none;
  cursor: pointer;
  width: 100%;
  padding: 20px;
  margin-bottom: 4px;
  transition: 0.25s ease-out;
}

@media only screen and (min-width: 768px) {
  .indigo-accordion .accordion__button {
    padding-left: -43px;
  }
}

.indigo-accordion .accordion__button:hover, .indigo-accordion .accordion__button:focus, .indigo-accordion .accordion__button--active {
  outline: 0;
}

.indigo-accordion .accordion__button:hover .accordion__label, .indigo-accordion .accordion__button:focus .accordion__label, .indigo-accordion .accordion__button--active .accordion__label {
  color: #fff;
}

.indigo-accordion .accordion__button:hover, .indigo-accordion .accordion__button:focus {
  background-color: #3f95bb;
}

.indigo-accordion .accordion__button--active .accordion__icon {
  transform: rotate(45deg);
}

.indigo-accordion .accordion__label {
  flex-grow: 1;
  text-align: left;
  font-weight: 400;
  position: relative;
  z-index: 2;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  margin: 0;
  transition: 0.25s ease-out;
}

@media only screen and (min-width: 1024px) {
  .indigo-accordion .accordion__label {
    font-size: 26px;
  }
}

.indigo-accordion .accordion__icon {
  transition: 0.5s ease-out;
  position: relative;
  z-index: 2;
  height: 16px;
  width: 16px;
  fill: #fff;
  order: 2;
}

@media only screen and (min-width: 1024px) {
  .indigo-accordion .accordion__icon {
    height: 24px;
    width: 24px;
  }
}

.indigo-accordion .accordion__body {
  display: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.indigo-accordion .accordion__body--initial-active {
  display: block;
}

.indigo-alpha-filter-listings {
  display: block;
}

@media only screen and (min-width: 1024px) {
  .indigo-alpha-filter-listings {
    display: flex;
    flex-direction: row;
  }
}

.indigo-alpha-listings {
  width: 100%;
  margin-left: 0;
}

@media only screen and (min-width: 1024px) {
  .indigo-alpha-listings {
    margin-left: 15px;
  }
}

.indigo-alpha-filter {
  flex: 0 0 60px;
  margin-bottom: 20px;
  padding-top: 30px;
}

@media only screen and (min-width: 1024px) {
  .indigo-alpha-filter {
    padding-top: 0;
  }
}

.indigo-alpha-filter fieldset {
  display: grid;
  grid-auto-rows: 60px;
  grid-template-columns: repeat(auto-fill, 60px);
}

@media only screen and (min-width: 1024px) {
  .indigo-alpha-filter fieldset {
    grid-auto-columns: 60px;
    grid-template-rows: repeat(auto-fill, 60px);
  }
}

.indigo-alpha-filter .alpha-filter-item {
  background-color: #f4f2f2;
  color: #00629b;
  border: 1px solid #e7e7e7;
}

@media only screen and (min-width: 1024px) {
  .indigo-alpha-filter .alpha-filter-item {
    border: none;
    border-left: 1px solid #e7e7e7;
  }
}

.indigo-alpha-filter .alpha-filter-item:last-child.checked {
  border-bottom: 1px solid #e7e7e7;
}

.indigo-alpha-filter .alpha-filter-item.checked {
  background-color: #fff;
  color: #000;
}

@media only screen and (min-width: 1024px) {
  .indigo-alpha-filter .alpha-filter-item.checked {
    border-left: 1px solid #f4f2f2;
  }
}

.indigo-alpha-filter .alpha__input {
  display: none;
}

.indigo-alpha-filter .alpha__label {
  display: block;
  padding: 15px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
}

.indigo-header-tab {
  background-color: #fff;
  flex: 1 1 0px;
  transform: translateY(0px);
  transition: transform 0.25s ease-out;
  margin: 5px 0 0 5px;
  will-change: transform;
}

.indigo-header-tab:hover {
  transform: translateX(10px);
}

@media only screen and (min-width: 768px) {
  .indigo-header-tab {
    transform: translateY(10px);
  }
  .indigo-header-tab:hover {
    transform: translateY(0);
  }
}

.indigo-header-tab h3 {
  font-size: 1.5873vw;
}

@media (max-width: 1134px) {
  .indigo-header-tab h3 {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .indigo-header-tab h3 {
    font-size: 20px;
  }
}

.indigo-header-tab a {
  color: #00629b;
  display: grid;
  grid-template-columns: 38px 1fr;
  grid-gap: 10px;
  padding: 20px 48px 10px 10px;
  height: 100%;
}

@media only screen and (min-width: 768px) {
  .indigo-header-tab a {
    padding-bottom: 30px;
  }
}

.indigo-header-tab p, .indigo-header-tab span {
  font-weight: 300;
  font-size: 1.42857vw;
}

@media (max-width: 980px) {
  .indigo-header-tab p, .indigo-header-tab span {
    font-size: 14px;
  }
}

@media (min-width: 1260px) {
  .indigo-header-tab p, .indigo-header-tab span {
    font-size: 18px;
  }
}

.indigo-header-tab .button__icon {
  fill: currentColor;
  height: 38px;
  width: 38px;
  margin-right: 10px;
}

.indigo-header-tab__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.indigo-header-tab__content span {
  color: #002147;
  font-weight: 600;
  text-transform: uppercase;
}

.indigo-header-tab__title {
  flex: 1 1 0px;
}

.indigo-header-tab__title h3 {
  margin: 5px 0;
}

.indigo-header-tab__description {
  margin: 0;
}

.indigo-header-tab__last-updated {
  margin: 15px 0 0;
}

.indigo-header-tab-container {
  margin: auto 5vw 5vh 5vw;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
}

@media only screen and (min-width: 768px) {
  .indigo-header-tab-container {
    flex-direction: row;
    margin-bottom: 0;
  }
}

.indigo-generic-tabs__body {
  display: none;
  margin: 0 auto;
  overflow: hidden;
}

.key-facts {
  overflow: hidden;
  position: relative;
  background-color: #fffaf3;
  font-size: 18px;
  padding: 10% 26px;
  margin-top: 80px;
}

@media only screen and (min-width: 1024px) {
  .key-facts {
    margin-top: 120px;
  }
}

.key-facts__title {
  font-size: 3.80952vw;
  color: #002147;
  line-height: 1.2;
  font-weight: 600;
  margin: 0 auto 40px;
  max-width: 915px;
  text-align: center;
}

@media (max-width: 840px) {
  .key-facts__title {
    font-size: 32px;
  }
}

@media (min-width: 1260px) {
  .key-facts__title {
    font-size: 48px;
  }
}

@media only screen and (min-width: 1024px) {
  .key-facts__title {
    text-align: left;
  }
}

.key-facts__wrapper {
  max-width: 915px;
  margin: 0 auto;
}

@media only screen and (min-width: 1024px) {
  .key-facts__wrapper {
    display: flex;
    justify-content: stretch;
    align-items: flex-start;
  }
}

.key-facts__facts {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  max-width: 915px;
  flex-basis: 46%;
}

@media only screen and (min-width: 1024px) {
  .key-facts__facts {
    border-left: 1px solid #e7e7e7;
  }
}

@media only screen and (min-width: 1024px) {
  .key-facts__facts-item {
    padding-right: 20px;
    padding-left: 10%;
    padding-bottom: 20px;
  }
}

.key-facts__facts-item:last-child .key-facts__facts-para {
  margin-bottom: 0;
}

.key-facts__facts-title {
  margin-top: 0;
  margin-bottom: 10px;
}

.key-facts__facts-para {
  color: #26a2c8;
  margin-bottom: 26px;
  max-width: 1000px;
  font-weight: 400;
}

@media only screen and (min-width: 1024px) {
  .key-facts__facts-para {
    margin: 0 auto;
  }
}

.key-facts__figures {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-direction: column;
  flex-basis: 60%;
  margin: 0;
}

.key-facts__figures-item {
  border-bottom: 1px solid #e7e7e7;
  padding-bottom: 26px;
  margin-bottom: 7%;
  text-align: center;
}

@media only screen and (min-width: 1024px) {
  .key-facts__figures-item:last-of-type {
    border-bottom: none;
    padding: 0;
  }
}

@media only screen and (min-width: 480px) {
  .key-facts__figures-item {
    padding-right: 10%;
  }
}

@media only screen and (min-width: 1024px) {
  .key-facts__figures-item {
    border-bottom: none;
    text-align: left;
  }
}

.key-facts__figures-title {
  margin-top: 0;
  font-weight: 700;
  font-size: 1.74603vw;
}

@media (max-width: 916.36364px) {
  .key-facts__figures-title {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .key-facts__figures-title {
    font-size: 22px;
  }
}

.key-facts__figures-body {
  margin: 0;
  font-size: 2.85714vw;
  color: #26a2c8;
}

@media (max-width: 840px) {
  .key-facts__figures-body {
    font-size: 24px;
  }
}

@media (min-width: 1260px) {
  .key-facts__figures-body {
    font-size: 36px;
  }
}

.key-facts__figures-note {
  font-size: 1.5873vw;
  font-weight: 300;
}

@media (max-width: 756px) {
  .key-facts__figures-note {
    font-size: 12px;
  }
}

@media (min-width: 1260px) {
  .key-facts__figures-note {
    font-size: 20px;
  }
}

.key-facts__curves {
  position: absolute;
  width: 100%;
  min-width: 1000px;
  height: 70%;
  bottom: 0;
  right: 0;
  z-index: 1;
}

.landing-item-block {
  margin: 4rem 0;
  display: flex;
  flex-direction: column;
  background: none;
}

.landing-item-block .landing-item-block_image {
  height: 100%;
  min-height: 300px;
  background: var(--landing-item-image) no-repeat center center;
  background-size: cover;
}

@media only screen and (min-width: 768px) {
  .landing-item-block {
    background: var(--landing-item-image) no-repeat center center;
    background-size: cover;
  }
  .landing-item-block .landing-item-block_image {
    width: 45%;
    background: none;
  }
  .landing-item-block .landing-item-block_content {
    width: 55%;
    padding: var(--padding);
  }
}

.landing-item-block.no-image .landing-item-block_image {
  display: none;
}

@media only screen and (min-width: 768px) {
  .landing-item-block.no-image .landing-item-block_image {
    display: block;
  }
}

.landing-item-block.background_image, .landing-item-block.large_background_image {
  justify-content: center;
}

@media only screen and (min-width: 768px) {
  .landing-item-block.background_image, .landing-item-block.large_background_image {
    padding: 0 var(--padding);
  }
}

.landing-item-block.large_background_image .landing-item-block_image {
  min-height: unset;
  height: 43vw;
  max-height: 612px;
}

.landing-item-block.large_background_image .landing-item-block_content {
  padding: 0 var(--padding);
}

.landing-item-block.large_background_image .landing-item-block_content .rich-text p {
  max-width: 590px;
}

@media only screen and (min-width: 768px) {
  .landing-item-block.large_background_image .landing-item-block_content {
    padding: 0;
    margin: auto 0;
  }
}

.landing-item-block.background_image {
  display: block;
  padding: 0;
}

.landing-item-block.background_image .background_image__wrapper {
  display: flex;
  flex-direction: column;
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

@media only screen and (min-width: 768px) {
  .landing-item-block.background_image .background_image__wrapper {
    padding: 0 var(--padding);
    flex-direction: row;
  }
  .landing-item-block.background_image .background_image__wrapper.left_text {
    flex-direction: row-reverse;
  }
}

.landing-item-block.background_image .landing-item-block_content {
  padding: 0 var(--padding);
}

.landing-item-block.background_image .landing-item-block_content .rich-text p {
  max-width: 590px;
}

@media only screen and (min-width: 768px) {
  .landing-item-block.background_image .landing-item-block_content {
    padding: 0;
    margin: auto 0;
  }
}

.landing-item-block.background_image .landing-item-block_image {
  min-height: unset;
  height: 31vw;
  max-height: 440px;
}

@media only screen and (min-width: 768px) {
  .landing-item-block.left_text {
    flex-direction: row-reverse;
  }
}

@media only screen and (min-width: 768px) {
  .landing-item-block.right_text {
    flex-direction: row;
  }
}

.landing-item-block.separate_image {
  gap: 20px;
  background: none;
}

.landing-item-block.separate_image .landing-item-block_image {
  background: var(--landing-item-image) no-repeat center center;
  background-size: contain;
}

.landing-item-block.separate_image .landing-item-block_content {
  padding: 0;
}

.location-block-container {
  max-width: 1000px;
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  margin: 35px auto;
}

@media only screen and (min-width: 768px) {
  .location-block-container {
    display: block;
    margin: 70px auto 0;
  }
}

.location-block {
  background: #fff;
  padding: 25px;
  position: relative;
  max-width: 385px;
}

@media only screen and (min-width: 480px) {
  .location-block {
    width: 385px;
    padding: 46px;
  }
}

@media only screen and (min-width: 768px) {
  .location-block {
    padding: 30px;
    max-width: 100%;
    width: 100%;
    min-height: 350px;
  }
}

@media only screen and (min-width: 1024px) {
  .location-block {
    min-width: auto;
    padding: 80px 40% 80px 60px;
  }
}

.location-block__title {
  color: #34ddd9;
  font-size: 15px;
  font-weight: 600;
}

@media only screen and (min-width: 768px) {
  .location-block__image {
    position: absolute;
    right: 30px;
    top: 30px;
    z-index: 10;
  }
}

@media only screen and (min-width: 1024px) {
  .location-block__image {
    right: -100px;
    top: -30px;
  }
}

.location-block__copy {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 40px;
  line-height: 1.4;
}

@media only screen and (min-width: 768px) {
  .location-block__copy {
    margin-right: 60%;
  }
}

@media only screen and (min-width: 1024px) {
  .location-block__copy {
    margin-right: 0;
  }
}

.location-block__copy a {
  color: #26a2c8;
}

.messages li {
  margin: 10px 0;
  padding: 20px;
  border-radius: 5px;
}

.messages .success {
  color: #3aa449;
  border: 2px solid #3aa449;
  background: #e7f6e9;
}

.messages .error {
  color: #d44412;
  border: 2px solid #d44412;
  background: #fdede8;
}

.spinner {
  display: none;
  position: fixed;
  background-color: transparent;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2000;
}

.spinner-element {
  position: relative;
  top: 40%;
  margin: auto;
  border: 8px solid #e7e7e7;
  border-top: 8px solid #00629b;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.js-modal,
.js-modal-timezone-popup,
.js-modal-validate-popup {
  display: none;
}

.js-modal-open,
.js-validate-modal-open,
.js-timezone-modal-open {
  cursor: pointer;
}

.js-modal-open svg,
.js-validate-modal-open svg,
.js-timezone-modal-open svg {
  pointer-events: none;
}

.js-timezone-modal-open {
  text-align: left;
}

.js-modal-timezone-popup.active {
  display: block;
}

.modal-open-link {
  color: #00629b;
  font-weight: 600;
}

.modal {
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.5);
}

.modal__container {
  display: none;
  background-color: #f4f2f2;
  color: #000;
  margin: 40px auto;
  padding: 20px;
  max-width: 770px;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.5);
}

@media screen and (max-width: 800px) {
  .modal__container {
    margin: 10px;
  }
}

@media only screen and (min-width: 768px) {
  .modal__container {
    padding: 40px;
  }
}

.modal__header {
  text-align: right;
}

.modal__content {
  padding: 0;
}

.modal__content h2 {
  font-size: 2.85714vw;
}

@media (max-width: 840px) {
  .modal__content h2 {
    font-size: 24px;
  }
}

@media (min-width: 1260px) {
  .modal__content h2 {
    font-size: 36px;
  }
}

.modal__content .rich-text p {
  font-size: 1.42857vw;
}

@media (max-width: 1120px) {
  .modal__content .rich-text p {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .modal__content .rich-text p {
    font-size: 18px;
  }
}

.modal__dismiss {
  cursor: pointer;
  width: 23px;
  height: 23px;
  transform: rotate(45deg);
}

.modal__actions {
  display: flex;
  justify-content: center;
  padding-top: 20px;
}

.modal__actions button {
  cursor: pointer;
}

.modal__timezone_label {
  font-weight: 300;
  font-size: 13px;
}

.modal .speaker-block {
  width: 100%;
}

#timezone-map {
  width: 100%;
  height: 300px;
}

@media only screen and (min-width: 480px) {
  #timezone-map {
    height: 400px;
  }
}

#timezone-map h3 {
  font-size: initial;
}

.wrapper--page-header {
  max-width: 1280px;
  margin: 0 auto;
}

.wrapper--page-header .page-header {
  padding: 0;
}

.page-header {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
}

@media only screen and (min-width: 768px) {
  .page-header__heading {
    text-align: left;
  }
}

.template--team-page .page-header__heading,
.template--standard-page .page-header__heading,
.template--news-page .page-header__heading,
.template--blog-page .page-header__heading,
.template--article-page .page-header__heading,
.template--technical-guide-page .page-header__heading,
.template--external-resource-page .page-header__heading,
.template--listings-page .page-header__heading,
.template--research-landing-page .page-header__heading,
.template--search-page .page-header__heading,
.template--about-us-page .page-header__heading,
.template--case-study .page-header__heading {
  --spacing: min(6vw, 60px);
  margin: var(--spacing) 0;
}

.template--home-page .page-header__heading {
  font-size: 2.85714vw;
  max-width: 1000px;
  text-align: center;
  line-height: 1.3;
}

@media (max-width: 630px) {
  .template--home-page .page-header__heading {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .template--home-page .page-header__heading {
    font-size: 36px;
  }
}

@media only screen and (min-width: 768px) {
  .template--home-page .page-header__heading {
    text-align: left;
  }
}

.page-header--dark-bg h1 {
  color: #fff;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}

.pagination__list {
  display: flex;
  flex-flow: wrap;
}

.pagination__item {
  display: block;
  padding: 5px;
  margin: 0 10px;
  font-size: 26px;
  font-weight: 700;
  opacity: 0.5;
  transition: all 0.25s ease-out;
  color: #002147;
}

.pagination__item--active, .pagination__item:active, .pagination__item:hover {
  opacity: 1;
  border-bottom: 3px solid #00629b;
}

.pagination__arrow {
  fill: #00629b;
  width: 30px;
  height: 15px;
  transition: fill 0.25s ease-out;
}

.pagination__arrow--back {
  transform: rotate(180deg);
}

.pagination__button:hover .pagination__arrow, .pagination__button:active .pagination__arrow {
  fill: #006d7f;
}

.pagination a.pagination__item {
  color: #002147;
}

.paper-stack {
  max-width: 1000px;
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  margin: 35px auto;
  z-index: 10;
}

@media only screen and (min-width: 768px) {
  .paper-stack {
    display: block;
    margin: 50px auto 0;
  }
}

.paper-stack__inner {
  background: #fff;
  padding: 20px;
  position: relative;
  width: 100%;
  max-width: 385px;
}

@media only screen and (min-width: 480px) {
  .paper-stack__inner {
    width: 385px;
  }
}

@media only screen and (min-width: 768px) {
  .paper-stack__inner {
    border: 1px solid #002147;
    padding: 30px;
    max-width: 100%;
    width: 100%;
  }
  .paper-stack__inner::before, .paper-stack__inner::after {
    box-shadow: 2px 1px 1px rgba(0, 0, 0, 0.1);
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    border: 1px solid #002147;
  }
  .paper-stack__inner::before {
    left: 7px;
    top: 6px;
    z-index: -1;
    background-color: #e7e7e7;
  }
  .paper-stack__inner::after {
    left: 12px;
    top: 10px;
    z-index: -2;
    background-color: #cecece;
  }
}

@media only screen and (min-width: 1024px) {
  .paper-stack__inner {
    min-width: auto;
    padding: 40px 310px 40px 30px;
  }
}

.paper-stack__heading {
  font-size: 2.85714vw;
  font-weight: 600;
  margin: 10px 0 30px;
}

@media (max-width: 630px) {
  .paper-stack__heading {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .paper-stack__heading {
    font-size: 36px;
  }
}

.paper-stack__teaser {
  color: #34ddd9;
  font-size: 15px;
}

.paper-stack__copy {
  font-weight: 300;
  margin-bottom: 30px;
  line-height: 1.4;
}

@media only screen and (min-width: 768px) {
  .paper-stack__copy {
    margin-right: 60%;
  }
}

@media only screen and (min-width: 1024px) {
  .paper-stack__copy {
    margin-right: 0;
  }
}

.paper-stack__links {
  margin-top: 30px;
}

.paper-stack__image {
  display: block;
  background-size: cover;
  background-position: center;
  background-color: #7f3197;
}

.paper-stack--journey-map .paper-stack__image {
  height: 290px;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .paper-stack--journey-map .paper-stack__image {
    max-width: 385px;
  }
}

@media only screen and (min-width: 768px) {
  .paper-stack__image {
    width: 385px;
    position: absolute;
    right: 30px;
    top: 30px;
    z-index: 10;
  }
}

@media only screen and (min-width: 1024px) {
  .paper-stack__image {
    right: -100px;
    top: -130px;
  }
}

.paper-stack--journey-map {
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 2rem;
}

@media only screen and (min-width: 1024px) {
  .paper-stack--journey-map {
    margin-bottom: 4rem;
    padding-top: 160px;
  }
}

.paper-stack--journey-map:last-child {
  margin-bottom: 0;
}

.paper-stack--journey-map .link {
  font-weight: inherit;
}

@media only screen and (min-width: 1024px) {
  .paper-stack--journey-map .paper-stack__image {
    top: 0;
  }
}

@media only screen and (min-width: 1024px) {
  .paper-stack--journey-map .paper-stack__heading {
    padding-bottom: 80px;
  }
}

.paper-stack--journey-map .paper-stack__heading .link {
  color: #00629b;
}

.paper-stack--journey-map .paper-stack__heading svg {
  fill: #00629b;
}

.paper-stack--journey-map .paper-stack__inner {
  max-width: none;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .paper-stack--journey-map .paper-stack__inner {
    padding-top: 40px;
    padding-right: 440px;
  }
}

@media only screen and (min-width: 1024px) {
  .paper-stack--journey-map .paper-stack__inner {
    padding: 30px;
    padding-top: 40px;
  }
}

.paper-stack--journey-map .paper-stack__label {
  background: #fb5a40;
  color: #fff;
  position: absolute;
  left: 30px;
  top: -290px;
  z-index: 2;
  padding: 6px 20px;
}

@media only screen and (min-width: 768px) {
  .paper-stack--journey-map .paper-stack__label {
    top: 0;
  }
}

.paper-stack--journey-map .paper-stack__title-link {
  display: none;
}

@media only screen and (min-width: 768px) {
  .paper-stack--journey-map .paper-stack__title-link {
    display: flex;
  }
}

.paper-stack--journey-map .paper-stack__expand-button {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border: 0;
  background: transparent;
  color: #00629b;
  font-size: 26px;
  font-weight: 600;
  width: 100%;
  cursor: pointer;
  text-align: left;
}

@media only screen and (min-width: 768px) {
  .paper-stack--journey-map .paper-stack__expand-button {
    display: none;
  }
}

.paper-stack--journey-map .paper-stack__expand-arrow {
  width: 0.6em;
  height: 0.6em;
  transform: rotate(90deg);
  transition: transform 0.25s ease-out;
  fill: #00629b;
}

.paper-stack--journey-map .paper-stack__link-list {
  max-width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-out;
}

@media only screen and (min-width: 768px) {
  .paper-stack--journey-map .paper-stack__link-list {
    max-height: none;
  }
}

.paper-stack--journey-map .paper-stack__link-item {
  font-size: 18px;
  font-weight: 600;
  color: #002147;
  line-height: 1.5;
  margin-bottom: 20px;
}

@media only screen and (min-width: 480px) {
  .paper-stack--journey-map .paper-stack__link-item {
    width: 48%;
    float: left;
  }
  .paper-stack--journey-map .paper-stack__link-item:nth-child(odd) {
    padding-right: 20px;
  }
}

@media only screen and (min-width: 768px) {
  .paper-stack--journey-map .paper-stack__link-item {
    width: 100%;
    float: none;
  }
}

@media only screen and (min-width: 1024px) {
  .paper-stack--journey-map .paper-stack__link-item {
    width: 50%;
    float: left;
  }
}

@media only screen and (min-width: 768px) {
  .paper-stack--journey-map .paper-stack__link-item--overview {
    display: none;
  }
}

.paper-stack--journey-map .paper-stack__sub-list {
  padding-left: 2rem;
}

.paper-stack--journey-map .paper-stack__sub-item {
  font-size: 15px;
  font-weight: 300;
  color: #002147;
  line-height: 1.3;
}

.paper-stack--journey-map.open .paper-stack__expand-arrow {
  transform: rotate(270deg);
}

.paper-stack--journey-map.open .paper-stack__link-list {
  max-height: 3000px;
}

.partners {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  max-width: 1220px;
  margin: 50px auto 0;
  padding: 0 20px;
  gap: 0px 75px;
}

@media only screen and (min-width: 768px) {
  .partners {
    justify-content: center;
  }
}

.partners .break {
  flex-basis: 100%;
  height: 0;
}

@media only screen and (min-width: 768px) {
  .partners .break:nth-of-type(2) {
    display: none;
  }
}

.partners img {
  height: 70px;
  width: auto;
  margin-bottom: 64px;
}

@media only screen and (min-width: 480px) {
  .partners img {
    height: 110px;
  }
}

@media only screen and (min-width: 1024px) {
  .partners img {
    height: 150px;
  }
}

.list-title {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.related-grid {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 0 30px;
  width: 100%;
  max-width: 1350px;
  line-height: 1.3;
}

.related-grid__image {
  position: relative;
  display: block;
  width: 100%;
  height: 160px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.related-grid__content {
  padding: 20px 20px 28px;
}

.related-grid__summary {
  color: #000;
  font-weight: 400;
  margin-bottom: 0;
}

.related-grid__date {
  display: block;
  margin-top: 1rem;
  color: #00629b;
}

@media only screen and (min-width: 768px) {
  .related-grid {
    flex-direction: row;
    flex-wrap: wrap;
    margin: auto;
  }
}

.related-grid__item {
  display: flex;
  flex-direction: column;
  background-color: #f4f2f2;
  position: relative;
  margin-bottom: 2rem;
  width: 100%;
  transition: background-color 0.25s ease-out;
}

@media only screen and (min-width: 768px) {
  .related-grid__item {
    width: 45%;
    margin: 0 1rem 2rem;
  }
}

@media only screen and (min-width: 1024px) {
  .related-grid__item {
    width: 30%;
    margin: 0 1rem 2rem;
  }
}

.related-grid__item.accent-toolkit {
  background-repeat: no-repeat;
  background-position: bottom -14px left 0;
  background-image: url('data:image/svg+xml,%3Csvg width="800px" height="20px" viewBox="0 0 800 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Crect id="Rectangle" fill="%237f3197" x="0" y="0" width="800" height="20"%3E%3C/rect%3E%3C/svg%3E');
}

.related-grid__item.accent-toolkit:hover {
  background-position: bottom -8px left 0;
}

.related-grid__item.accent-the-basics {
  background-repeat: no-repeat;
  background-position: bottom -14px left 0;
  background-image: url('data:image/svg+xml,%3Csvg width="800px" height="20px" viewBox="0 0 800 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Crect id="Rectangle" fill="%233aa449" x="0" y="0" width="800" height="20"%3E%3C/rect%3E%3C/svg%3E');
}

.related-grid__item.accent-the-basics:hover {
  background-position: bottom -8px left 0;
}

.related-grid__item.accent-knowledge-bank {
  background-repeat: no-repeat;
  background-position: bottom -14px left 0;
  background-image: url('data:image/svg+xml,%3Csvg width="800px" height="20px" viewBox="0 0 800 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Crect id="Rectangle" fill="%23d44412" x="0" y="0" width="800" height="20"%3E%3C/rect%3E%3C/svg%3E');
}

.related-grid__item.accent-knowledge-bank:hover {
  background-position: bottom -8px left 0;
}

.related-grid__item.accent-community {
  background-repeat: no-repeat;
  background-position: bottom -14px left 0;
  background-image: url('data:image/svg+xml,%3Csvg width="800px" height="20px" viewBox="0 0 800 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Crect id="Rectangle" fill="%2300629b" x="0" y="0" width="800" height="20"%3E%3C/rect%3E%3C/svg%3E');
}

.related-grid__item.accent-community:hover {
  background-position: bottom -8px left 0;
}

.related-grid__item:hover, .related-grid__item:active {
  background-color: #fff;
}

.related-grid__item:hover .related-grid__chevron, .related-grid__item:active .related-grid__chevron {
  transform: translateX(100%);
}

.related-grid__label {
  background: #fb5a40;
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  padding: 15px 20px;
  font-size: 1.42857vw;
  font-weight: 400;
  /* generate override accent colors for named sections */
}

@media (max-width: 980px) {
  .related-grid__label {
    font-size: 14px;
  }
}

@media (min-width: 1260px) {
  .related-grid__label {
    font-size: 18px;
  }
}

.related-grid__label:empty {
  display: none;
}

.accent-toolkit .related-grid__label {
  background: #7f3197;
}

.accent-the-basics .related-grid__label {
  background: #3aa449;
}

.accent-knowledge-bank .related-grid__label {
  background: #d44412;
}

.accent-community .related-grid__label {
  background: #00629b;
}

.related-grid__title {
  font-size: 1.98413vw;
  font-weight: 600;
  color: #000;
  margin-top: 0;
}

@media (max-width: 907.2px) {
  .related-grid__title {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .related-grid__title {
    font-size: 25px;
  }
}

.related-grid__chevron {
  width: 1ex;
  height: 1ex;
  fill: #000;
  vertical-align: middle;
  margin-left: 5px;
  transform: translateX(0);
  transition: transform 0.25s ease-out;
}

.accent-toolkit .related-grid__chevron {
  fill: #7f3197;
}

.accent-the-basics .related-grid__chevron {
  fill: #3aa449;
}

.accent-knowledge-bank .related-grid__chevron {
  fill: #d44412;
}

.accent-community .related-grid__chevron {
  fill: #00629b;
}

.indigo-related-grid {
  margin-top: 40px;
}

.indigo-related-grid .related-grid__item:hover, .indigo-related-grid .related-grid__item:active {
  background-color: #e7e7e7;
}

.reveal {
  margin: 40px auto 40px;
  text-align: center;
}

.reveal__button--active, .reveal__button-before--active {
  outline: 0;
}

.reveal__button--active .reveal__icon, .reveal__button-before--active .reveal__icon {
  transform: rotate(270deg);
}

.reveal__icon {
  transition: 0.5s ease-out;
  transform: rotate(90deg);
}

.reveal__body {
  display: none;
  margin: 0 auto;
  padding-top: 26px;
  max-width: 1052px;
  overflow: hidden;
  text-align: left;
}

@media only screen and (min-width: 1024px) {
  .reveal__body {
    padding: 26px;
  }
}

.publications-block .reveal {
  margin: 0;
  margin-top: -16px;
}

.publications-block .reveal__button-before {
  margin-top: 20px;
}

.publications-block .reveal__body {
  padding: 0;
  max-width: 100%;
}

.template--standard-landing-page .reveal {
  text-align: left;
}

.section-header {
  max-width: 1000px;
  margin: 0 auto;
  overflow: auto;
  padding: 20px 20px;
}

@media only screen and (min-width: 1024px) {
  .section-header {
    padding: 40px 20px;
  }
}

.section-header--read-more {
  margin-bottom: 50px;
}

.section-header--read-more .section-header__copy {
  margin-bottom: 40px;
}

.section-header--brief .section-header__heading {
  color: rgba(0, 0, 0, 0.4);
}

.section-header__label {
  font-size: 1.26984vw;
  color: #002147;
  float: left;
  font-weight: 700;
  padding-bottom: 10px;
}

@media (max-width: 1260px) {
  .section-header__label {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .section-header__label {
    font-size: 16px;
  }
}

.section-header__heading {
  font-size: 6.34921vw;
  color: #002147;
  float: left;
  clear: left;
  margin: 0;
  font-weight: 700;
}

@media (max-width: 504px) {
  .section-header__heading {
    font-size: 32px;
  }
}

@media (min-width: 1260px) {
  .section-header__heading {
    font-size: 80px;
  }
}

.section-header__link {
  font-size: 1.26984vw;
  color: #ee622d !important;
  float: right;
  font-weight: 700 !important;
  clear: left;
  padding-top: 10px;
}

@media (max-width: 1260px) {
  .section-header__link {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .section-header__link {
    font-size: 16px;
  }
}

.section-header__button {
  font-size: 1.26984vw;
  float: right;
  clear: left;
}

@media (max-width: 1260px) {
  .section-header__button {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .section-header__button {
    font-size: 16px;
  }
}

.section-header__copy {
  clear: both;
  padding-top: 20px;
  font-size: 16px;
  line-height: 1.4;
}

@media only screen and (min-width: 480px) {
  .section-header__copy {
    padding: 40px 0 0;
  }
}

.sidebar-mobile,
.sidebar {
  display: none;
  width: 350px;
  min-width: 240px;
  margin-top: 10px;
}

@media only screen and (min-width: 1024px) {
  .sidebar-mobile,
  .sidebar {
    display: block;
  }
}

.sidebar-mobile .sidebar-content,
.sidebar .sidebar-content {
  display: flex;
  justify-content: space-between;
  position: sticky;
  top: 20px;
}

.sidebar-mobile .sidebar-content .sidebar-menu,
.sidebar .sidebar-content .sidebar-menu {
  height: 97vh;
  overflow-y: scroll;
  scrollbar-width: none;
  /* Firefox */
  -ms-overflow-style: none;
  /* Internet Explorer 10+ */
}

.sidebar-mobile .sidebar-content .sidebar-menu::-webkit-scrollbar,
.sidebar .sidebar-content .sidebar-menu::-webkit-scrollbar {
  display: none;
}

.sidebar-mobile .sidebar-content .sidebar-progress-container,
.sidebar .sidebar-content .sidebar-progress-container {
  height: 600px;
  min-width: 3px;
  background: #cfcfcf;
  margin: 0 20px;
}

.sidebar-mobile .sidebar-content .sidebar-progress-container .sidebar-progress,
.sidebar .sidebar-content .sidebar-progress-container .sidebar-progress {
  background: #d44412;
  transition: 0.2s linear;
}

.sidebar-mobile .chapter-submenu,
.sidebar .chapter-submenu {
  display: none;
  padding-left: 20px;
}

.sidebar-mobile a,
.sidebar a {
  display: block;
  color: #575258;
  font-size: inherit;
  padding: 0px 0px 20px 0px;
}

.sidebar-mobile a.sidebar__link,
.sidebar a.sidebar__link {
  font-weight: 400;
}

.sidebar-mobile a.sidebar__title,
.sidebar a.sidebar__title {
  font-weight: 600;
}

.sidebar-mobile .sidebar__link.visited,
.sidebar .sidebar__link.visited {
  color: #00629b;
}

.sidebar-mobile .sidebar__link.active,
.sidebar .sidebar__link.active {
  color: #d44412;
}

.template--technical-guide-page button.progress-circle-button {
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  z-index: 10;
}

@media only screen and (min-width: 1024px) {
  .template--technical-guide-page button.progress-circle-button {
    display: none;
  }
}

.template--technical-guide-page .open-index-menu {
  position: sticky;
  display: block;
  top: 20px;
  left: 50px;
  margin-bottom: 120px;
  transition: 1s;
}

.template--technical-guide-page .open-index-menu .index-title {
  position: absolute;
  top: 30px;
  left: 100px;
  color: #00629b;
  font-size: 18px;
}

.template--technical-guide-page .open-index-menu.active {
  transform: translateX(-200px);
}

.template--technical-guide-page .open-index-menu.in-content {
  left: 16px;
}

.template--technical-guide-page .open-index-menu.in-content .index-title {
  display: none;
}

@media only screen and (min-width: 768px) {
  .template--technical-guide-page .open-index-menu.in-content {
    left: 30px;
  }
}

.template--technical-guide-page .svg-progress-circle,
.template--technical-guide-page .svg-progress-circle-inner,
.template--technical-guide-page .svg-progress-circle-exit {
  position: absolute;
}

.template--technical-guide-page .svg-progress-circle {
  transform: rotate(-90deg);
}

.template--technical-guide-page .svg-progress-circle .progress-circle-track,
.template--technical-guide-page .svg-progress-circle .progress-circle-indicator {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 0.2s linear;
  stroke: #cfcfcf;
  stroke-width: 3px;
}

.template--technical-guide-page .svg-progress-circle .progress-circle-indicator {
  stroke: #d44412;
}

.template--technical-guide-page .mobile-menu-container {
  position: fixed;
  top: 0;
  left: -100%;
  height: 100%;
  width: 100%;
  z-index: 20;
  transition: 1s;
  padding: 30px;
  padding-top: 0px;
  overflow-y: scroll;
  overflow-x: hidden;
}

.template--technical-guide-page .mobile-menu-container.active {
  left: 0;
  background-color: #fff;
}

.template--technical-guide-page .mobile-menu-container .sidebar-mobile {
  margin-top: 120px;
  display: block;
  width: 100%;
}

.template--technical-guide-page .mobile-menu-container .sidebar-mobile .sidebar-content {
  display: block;
}

.template--technical-guide-page .mobile-menu-container .sidebar-mobile .chapter-submenu {
  display: block;
}

.template--technical-guide-page .mobile-menu-container .sidebar-mobile .sidebar-menu {
  overflow-y: visible;
}

.template--technical-guide-page .mobile-menu-container .close-index-menu {
  position: sticky;
  top: 20px;
  display: block;
  left: calc(100% - 66px);
}

@media only screen and (min-width: 1024px) {
  .template--technical-guide-page .mobile-menu-container {
    display: none;
  }
}

.signpost {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  padding: 0 4vw;
  width: 100%;
  max-width: 1280px;
}

@media only screen and (min-width: 768px) {
  .signpost {
    flex-direction: row;
    flex-wrap: wrap;
    margin: auto;
    padding: 0 8vw;
  }
}

.signpost a {
  color: rgba(0, 0, 0, 0.6);
}

.signpost a:hover {
  color: rgba(0, 0, 0, 0.7);
}

.signpost__cta {
  padding: 22px;
  color: #002147;
  font-size: 2.53968vw;
}

@media (max-width: 708.75px) {
  .signpost__cta {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .signpost__cta {
    font-size: 32px;
  }
}

@media only screen and (min-width: 768px) {
  .signpost__cta {
    width: 23%;
    padding: 34px 3em 64px 26px;
    background-color: #cdd3d9;
    clip-path: polygon(0px 0px, 80% 0%, 100% 50%, 80% 100%, 0% 100%);
  }
}

.signpost__item {
  width: 100%;
  background-color: #eaedef;
  padding: 0 15px 20px 15px;
}

.signpost__item.accent-toolkit {
  border-left: 6px solid #7f3197;
}

.signpost__item.accent-the-basics {
  border-left: 6px solid #3aa449;
}

.signpost__item.accent-knowledge-bank {
  border-left: 6px solid #d44412;
}

.signpost__item.accent-community {
  border-left: 6px solid #00629b;
}

.signpost__item:hover {
  background-color: #f8f9fa;
}

.signpost__item:hover .signpost__chevron {
  transform: translateX(100%);
}

@media only screen and (min-width: 768px) {
  .signpost__item {
    width: 25%;
  }
  .signpost__item.accent-toolkit {
    border-left: 0;
    background-repeat: no-repeat;
    background-position: bottom -14px left 0;
    background-image: url('data:image/svg+xml,%3Csvg width="800px" height="20px" viewBox="0 0 800 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Crect id="Rectangle" fill="%237f3197" x="0" y="0" width="800" height="20"%3E%3C/rect%3E%3C/svg%3E');
  }
  .signpost__item.accent-toolkit:hover {
    background-position: bottom -8px left 0;
  }
  .signpost__item.accent-the-basics {
    border-left: 0;
    background-repeat: no-repeat;
    background-position: bottom -14px left 0;
    background-image: url('data:image/svg+xml,%3Csvg width="800px" height="20px" viewBox="0 0 800 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Crect id="Rectangle" fill="%233aa449" x="0" y="0" width="800" height="20"%3E%3C/rect%3E%3C/svg%3E');
  }
  .signpost__item.accent-the-basics:hover {
    background-position: bottom -8px left 0;
  }
  .signpost__item.accent-knowledge-bank {
    border-left: 0;
    background-repeat: no-repeat;
    background-position: bottom -14px left 0;
    background-image: url('data:image/svg+xml,%3Csvg width="800px" height="20px" viewBox="0 0 800 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Crect id="Rectangle" fill="%23d44412" x="0" y="0" width="800" height="20"%3E%3C/rect%3E%3C/svg%3E');
  }
  .signpost__item.accent-knowledge-bank:hover {
    background-position: bottom -8px left 0;
  }
  .signpost__item.accent-community {
    border-left: 0;
    background-repeat: no-repeat;
    background-position: bottom -14px left 0;
    background-image: url('data:image/svg+xml,%3Csvg width="800px" height="20px" viewBox="0 0 800 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Crect id="Rectangle" fill="%2300629b" x="0" y="0" width="800" height="20"%3E%3C/rect%3E%3C/svg%3E');
  }
  .signpost__item.accent-community:hover {
    background-position: bottom -8px left 0;
  }
}

.signpost__title {
  font-size: 1.98413vw;
  font-weight: 600;
  color: #002147;
  margin-top: 34px;
}

@media (max-width: 907.2px) {
  .signpost__title {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .signpost__title {
    font-size: 25px;
  }
}

.signpost__summary {
  font-weight: 400;
  line-height: 1.3;
}

.signpost__chevron {
  width: 12px;
  height: 12px;
  fill: #000;
  vertical-align: middle;
  margin-left: 5px;
  transform: translateX(0);
  transition: transform 0.25s ease-out;
}

.accent-toolkit .signpost__chevron {
  fill: #7f3197;
}

.accent-the-basics .signpost__chevron {
  fill: #3aa449;
}

.accent-knowledge-bank .signpost__chevron {
  fill: #d44412;
}

.accent-community .signpost__chevron {
  fill: #00629b;
}

.simple-chart-block {
  margin: 80px 0 20px;
}

.simple-chart-block h3 {
  text-align: center;
  margin-bottom: 0;
}

.simple-chart-block h4 {
  text-align: center;
  margin-top: 0;
}

.simple-chart-block__title {
  margin-bottom: 40px;
}

.speaker-block {
  margin: auto;
  width: 100%;
  line-height: 1.5;
}

.speaker-block .speaker {
  display: block;
  margin: 0;
  padding-top: 0;
}

@media only screen and (min-width: 480px) {
  .speaker-block .speaker {
    padding: 2rem 0;
  }
}

@media only screen and (min-width: 1024px) {
  .speaker-block .speaker {
    margin: 0;
  }
}

.speaker-block .speaker__image {
  --image: 100px;
  display: block;
  max-height: var(--image);
  min-width: var(--image);
  max-width: var(--image);
  float: left;
  margin-right: var(--padding);
  margin-bottom: 1rem;
}

@media only screen and (min-width: 768px) {
  .speaker-block .speaker__image {
    --image: 140px;
  }
}

.speaker-block .speaker__image img, .speaker-block .speaker__image svg {
  border-radius: 50%;
  filter: grayscale(1);
}

.speaker-block .speaker__image svg {
  background-color: #f4f2f2;
  width: var(--image);
  height: var(--image);
}

.speaker-block .speaker__content {
  color: #000;
  clear: both;
}

@media only screen and (min-width: 480px) {
  .speaker-block .speaker__content {
    display: flex;
    flex-flow: column nowrap;
    clear: none;
  }
}

.speaker-block .speaker__name {
  margin: 0;
}

.speaker-block .speaker__title {
  font-weight: 600;
}

.speaker-block.primary .speaker {
  margin-top: 40px;
}

.speaker-block.supplemental .speaker {
  padding-top: 6px;
  padding-bottom: 6px;
}

.speaker-block.supplemental .speaker__image {
  display: none;
  margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
  .speaker-block.supplemental .speaker__image {
    display: block;
  }
}

.speaker-block.supplemental .speaker__name {
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
}

.speaker-block.supplemental .speaker__title {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
}

.speaker-block.supplemental .speaker__email {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
}

@media only screen and (min-width: 480px) {
  .speaker-block.supplemental .speaker__content {
    display: flex;
    flex-flow: row;
  }
}

.modal__content .speaker__image {
  margin-bottom: 10vw;
}

.wrapper--content.photo_speakers {
  max-width: 1220px;
}

.photo_speakers h2 {
  margin-bottom: 2rem;
}

.photo_speakers .speaker-grid {
  margin-top: 2rem;
  margin-bottom: 4rem;
}

.speaker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  margin-top: -10px;
  max-width: 1220px;
  justify-content: center;
}

@media only screen and (min-width: 768px) {
  .speaker-grid {
    grid-template-columns: repeat(auto-fit, 180px);
    gap: 20px 0;
    justify-content: left;
  }
}

.speaker-grid__speaker {
  line-height: 1.15;
  text-align: center;
  margin: 20px 0 0;
}

.speaker-grid__speaker.chair {
  margin: 0;
  padding: 20px 0;
  background-color: #e7e7e7;
}

.speaker-grid__speaker-image {
  --image: 100px;
  margin: auto;
  width: var(--image);
  height: var(--image);
  border-radius: 50%;
  line-height: 0;
  overflow: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  background-color: #e7e7e7;
  display: flex;
}

@media only screen and (min-width: 768px) {
  .speaker-grid__speaker-image {
    --image: 140px;
  }
}

.speaker-grid__speaker-image img {
  filter: grayscale(1);
  transform-origin: center;
  transition: transform 0.25s ease-out;
}

.speaker-grid__speaker-image svg {
  width: 90px;
  height: 90px;
  margin: auto;
}

.speaker-grid__speaker-name, .speaker-grid__speaker-organisation {
  margin: 5px auto;
  color: initial;
  max-width: 176px;
}

.speaker-grid__speaker-organisation {
  font-weight: 300;
}

.speaker-grid__speaker-chair {
  margin: 15px auto 0px;
  color: initial;
}

.speaker-grid__speaker:hover p, .speaker-grid__speaker:hover h4 {
  color: #00629b;
}

.speaker-grid__speaker:hover img {
  transform: scale(1.03);
}

.speaker-grid .button {
  margin: 42px auto auto;
}

@media only screen and (min-width: 768px) {
  .speaker-grid .button {
    margin: 58px auto auto;
  }
}

.stats-block {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 0 auto;
  margin-top: 40px;
  /* TODO - Not sure about this
    width: 100%;
=======*/
}

.stats-block .stat {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 0 1 auto;
  padding: 20px;
  text-align: center;
  width: 100%;
  margin-bottom: 4px;
  background: #50a0c4;
  color: #fff;
}

.stats-block .stat:last-child {
  margin-bottom: 0px;
}

@media only screen and (min-width: 768px) {
  .stats-block .stat {
    margin-bottom: 0;
  }
}

.stats-block .stat h2 {
  font-size: 4.92063vw;
  margin: 0;
  margin-top: 10px;
  line-height: 44px;
  color: #fff;
}

@media (max-width: 1219.35484px) {
  .stats-block .stat h2 {
    font-size: 60px;
  }
}

@media (min-width: 1260px) {
  .stats-block .stat h2 {
    font-size: 62px;
  }
}

.stats-block .stat h2 .prefix {
  font-size: 20px;
}

.stats-block .stat h2 .suffix {
  font-size: 40px;
}

.stats-block .stat p {
  display: block;
  line-height: 24px;
  padding: 0;
  font-size: 20px;
  font-weight: 700;
}

.stats-block .stat li {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 36px;
}

.stats-block .swapped {
  flex-direction: column-reverse !important;
  justify-content: flex-end;
  padding: 20px;
  padding-top: 12px;
  padding-bottom: 10px;
}

.stats-block .swapped h2 {
  margin-top: 6px;
}

.stats-block .swapped p {
  margin-top: 0;
}

@media only screen and (min-width: 768px) {
  .stats-block {
    flex-direction: row !important;
  }
  .stats-block .stat {
    padding: 30px;
    padding-bottom: 10px;
    margin-left: 4px;
  }
  .stats-block .stat:first-child {
    padding: 30px;
    padding-bottom: 10px;
    margin-left: 0;
  }
  .stats-block .swapped p {
    margin-top: -6px;
  }
}

.stats-indigo .stat_button {
  border: none;
}

.stats-indigo .stat_button:hover, .stats-indigo .stat_button:focus {
  background-color: #3f95bb;
}

.stats-indigo .stat {
  padding-bottom: 20px;
  position: relative;
}

.stats-indigo .stat ul {
  margin-top: 8px;
}

.stats-indigo .stat1 h2,
.stats-indigo .stat4 h2 {
  font-size: 72px;
  margin-top: 20px;
}

.stats-indigo .stat1 p,
.stats-indigo .stat4 p {
  line-height: 7px;
}

.stats-indigo .stat2 {
  min-width: 210px;
}

@media only screen and (min-width: 768px) {
  .stats-indigo .stat2 {
    text-align: left;
    display: none;
  }
}

@media only screen and (min-width: 1280px) {
  .stats-indigo .stat2 {
    display: block;
  }
}

.stats-indigo .stat3 h2 {
  margin: 0;
  line-height: 27px;
  font-size: 48px;
}

.stats-indigo .stat3 p {
  line-height: 6px;
}

.stats-indigo .stat4 h2 .suffix {
  line-height: 36px;
}

.stat__info {
  height: 1rem;
  width: 1rem;
  fill: currentColor;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  opacity: 0.8;
  transition: opacity 0.25s ease-out;
}

.stat:hover .stat__info {
  opacity: 1;
}

.wrapper--content.form {
  max-width: 800px;
  padding: 2rem 0;
}

.wrapper--content.form h2 {
  margin: 0 2rem 2rem;
}

.wrapper--content.form input[type='submit'] {
  transition: background 0.2s ease;
  color: #fff;
  background: #d44412;
  border: 2px solid #d44412;
  padding: 15px;
  display: inline-block;
  margin: 0 2rem 0;
  cursor: pointer;
}

.wrapper--content.form input[type='submit']:hover {
  background: transparent;
  color: #d44412;
}

.field-row {
  width: 100%;
  padding: 1rem 1rem;
}

@media only screen and (min-width: 480px) {
  .field-row {
    padding: 1rem 2rem;
  }
}

.field-row:focus-within {
  background-color: #c1d6e3;
}

.field-row:focus-within :required {
  border: none;
}

.field-row .required-field {
  color: #d44412;
}

.field-row.has-error {
  margin: 10px 0;
  border: 2px solid #d44412;
  background-color: #fdede8;
}

.field-row .help-text {
  margin-top: 0;
  margin-bottom: 0px;
  font-size: 14px;
}

.field-row .errorlist {
  margin: 5px 0;
  color: #d44412;
}

.field-row label {
  font-weight: 700;
}

.field-row .field-label {
  margin-bottom: 5px;
}

.field-row.field-selectdatewidget .field-input {
  display: flex;
  justify-content: flex-start;
}

.field-row.field-selectdatewidget .field-input select {
  width: auto;
  margin-right: 5px;
}

.field-row input,
.field-row textarea,
.field-row select {
  width: 100%;
  border: 1px solid #e7e7e7;
  padding: 15px;
  margin-bottom: 10px;
}

.field-row input[type='checkbox'],
.field-row input[type='radio'] {
  height: 20px;
  width: 20px;
}

.field-row input[type='file'] {
  border: none;
  padding: 0;
}

.field-row select {
  -webkit-appearance: none;
  border-radius: 0;
  cursor: pointer;
  background-image: url("../images/select-arrow.svg");
  background-repeat: no-repeat;
  background-size: 12px;
  background-position: center right 15px;
  padding-right: 42px;
}

.field-row textarea {
  resize: vertical;
  height: 100px;
}

.field-row ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  margin-bottom: 0;
}

@media only screen and (min-width: 480px) {
  .field-row ul {
    flex-direction: row;
  }
}

.field-row ul li {
  margin-right: 20px;
}

.field-row ul label {
  cursor: pointer;
}

.field-row ul label input {
  cursor: pointer;
  padding: 0;
  border: none;
}

.team-card {
  background-color: #002147;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  margin-bottom: 1rem;
  transition: background-color 0.25s ease-out;
  flex-basis: calc(100% - 40px);
  height: 320px;
}

@media only screen and (min-width: 480px) {
  .team-card {
    height: 320px;
    flex-basis: 320px;
    margin-right: 0.5rem;
    margin-left: 0.5rem;
  }
}

.team-card::after {
  content: '';
  background: rgba(0, 0, 0, 0.1);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: background 0.25s ease-out;
}

.team-card:hover, .team-card:active {
  background-color: #002d61;
}

.team-card:hover::after, .team-card:active::after {
  background: rgba(0, 0, 0, 0.2);
}

.team-card:hover .team-card__chevron, .team-card:active .team-card__chevron {
  transform: translateX(100%);
}

.team-card__label {
  background: #d44412;
  color: #fff;
  position: absolute;
  top: 0;
  left: 30px;
  z-index: 2;
  padding: 10px;
}

.template--home-page .team-card__label {
  background: #26a2c8;
}

.team-card__text {
  font-size: 1.98413vw;
  color: #fff;
  font-weight: 300;
  position: absolute;
  left: 30px;
  top: 50%;
  width: 85%;
  z-index: 2;
}

@media (max-width: 907.2px) {
  .team-card__text {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .team-card__text {
    font-size: 25px;
  }
}

.team-card__name {
  font-weight: 600;
  display: block;
  margin-bottom: 5px;
}

.team-card__chevron {
  width: 12px;
  height: 12px;
  vertical-align: middle;
  margin-left: 5px;
  transform: translateX(0);
  transition: transform 0.25s ease-out;
}

.text-block:after {
  content: "";
  display: table;
  clear: both;
}

.text-block__image {
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  min-height: 500px;
  max-height: 500px;
  margin: 0;
  margin-bottom: 50px;
}

@media only screen and (min-width: 768px) {
  .text-block__image {
    float: right;
    margin: 6px 0 30px 30px;
    width: 45%;
    padding: 0;
    max-width: 500px;
  }
}

.text-block__text-wrapper {
  padding-bottom: 40px;
}

.text-block__text-wrapper h2 {
  margin: 20px 0 20px;
}

.text-block--image-right {
  margin-top: 20px;
}

@media only screen and (min-width: 768px) {
  .text-block--image-right {
    margin: 80px 0 20px;
  }
}

.timeline {
  padding: 52px 26px;
  font-size: 18px;
  line-height: 1.5;
}

.timeline__title {
  font-size: 3.80952vw;
  color: #002147;
  line-height: 1.2;
  font-weight: 600;
  margin: 0 auto;
  max-width: 1000px;
  margin-bottom: 40px;
}

@media (max-width: 840px) {
  .timeline__title {
    font-size: 32px;
  }
}

@media (min-width: 1260px) {
  .timeline__title {
    font-size: 48px;
  }
}

.timeline__list {
  margin: 0 auto;
  max-width: 915px;
}

.timeline__list--hidden *:nth-child(n+5) {
  display: none;
}

.timeline__item {
  position: relative;
  background-color: #fff;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
  padding: 20px 40px;
  margin: 20px 0;
  display: flex;
  align-items: center;
  flex-direction: column;
}

@media only screen and (min-width: 480px) {
  .timeline__item {
    flex-direction: row;
    justify-content: space-between;
  }
}

.timeline__item .timeline__milestone {
  flex: 0 0 100px;
  padding: 0 1em;
  color: #fff;
  border-radius: 50%;
  background-color: #26a2c8;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  height: 100px;
  width: 100px;
  margin: 0;
  font-size: 16px;
}

@media only screen and (min-width: 768px) {
  .timeline__item .timeline__milestone {
    margin: 0 0 0 26px;
    flex: 0 0 120px;
    height: 120px;
    width: 120px;
    font-size: 18px;
  }
}

.timeline__item::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: calc(100% + 20px);
  width: 2px;
  background-color: #26a2c8;
}

.timeline__item:first-of-type::before {
  height: 100%;
}

.timeline__item::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: #fff;
  border: 2px solid #26a2c8;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.timeline__item--current::after {
  background-color: #26a2c8;
}

.timeline__text {
  max-width: 580px;
  order: 2;
}

@media only screen and (min-width: 480px) {
  .timeline__text {
    order: 0;
  }
}

.timeline__item-wrapper {
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
  align-items: center;
}

@media only screen and (min-width: 480px) {
  .timeline__item-wrapper {
    flex-direction: row;
  }
}

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

.video-container {
  position: relative;
  max-width: 1000px;
  margin: 3rem auto;
}

.video {
  display: block;
  width: 100%;
}

.video:hover {
  cursor: pointer;
}

.video__caption {
  left: 0;
  font-size: 13px;
  background: #002147;
  color: #fff;
  margin: 0;
  font-weight: 400;
  padding: 10px 16px;
  width: 100%;
}

@media only screen and (min-width: 480px) {
  .video__caption {
    font-size: 16px;
    position: absolute;
    bottom: -10px;
    width: auto;
  }
}

.video__play-button {
  transition: background 0.2s ease;
  align-items: center;
  background: #26a2c8;
  border-radius: 16px;
  bottom: 0;
  color: #fff;
  display: none;
  justify-content: center;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 11;
  width: 100px;
  height: 75px;
  display: flex;
}

.video__play-button:hover {
  cursor: pointer;
  background: #1e7f9d;
}

.video__play-button::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 0 15px 30px;
  border-color: transparent transparent transparent #fff;
}

.is-playing .video__play-button {
  display: none;
}

.video-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 2;
}

.video-placeholder.active {
  display: none;
}

.video-placeholder img {
  width: 100%;
  height: 100%;
  display: block;
}

.form--wayfinder {
  padding: 30px;
}

.form--wayfinder label {
  background-color: #fff;
  color: #002147;
  border: none;
  cursor: pointer;
  transition: box-shadow 0.25s ease-out;
  margin: 0 5px 5px 0;
  font-size: inherit;
  border-radius: 5px;
}

.form--wayfinder label:hover {
  box-shadow: 0 0 2px #878fa1;
  border: none;
  color: #002147;
  background-color: #fff;
}

.form--wayfinder input:disabled + label {
  background-color: #e7e7e7;
  cursor: not-allowed;
  filter: grayscale(1);
  opacity: 0.7;
}

.form--wayfinder input:disabled + label:hover {
  box-shadow: none;
}

.form--wayfinder input[type='radio'] {
  position: absolute;
  opacity: 0;
  left: 0;
}

.form--wayfinder .checkbox__label {
  display: inline-block;
  padding: 15px 20px 14px 45px;
  position: relative;
}

.form--wayfinder .checkbox__label::before {
  top: calc(50% - 10px);
  left: 15px;
}

.form--wayfinder .checkbox__label::after {
  top: calc(50% - 8px);
  left: 22px;
  border-color: #ee622d;
}

.form--wayfinder input:checked + label {
  color: #fff;
  background-color: #ed5e2c;
}

.form--wayfinder .button {
  padding: 14px 15px;
}

.form--wayfinder .button__info {
  width: 50px;
  height: 50px;
  min-width: 50px;
  min-height: 50px;
  border: none;
  padding: 0;
  background: transparent;
}

.form--wayfinder .button__info:hover .button__info_icon {
  fill: #ed5e2c;
}

.form--wayfinder .button__info_icon {
  width: 21px;
  height: 21px;
  fill: rgba(0, 33, 71, 0.5);
  vertical-align: top;
}

.form--wayfinder .wayfinder-question-step {
  font-weight: 300;
}

.form--wayfinder .wayfinder-question-title {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
}

.form--wayfinder .wayfinder-question-title h3 {
  margin-bottom: 0;
  line-height: 1.15;
}

.form--wayfinder .wayfinder-nav--continue {
  opacity: 0;
  pointer-events: none;
}

.form--wayfinder .wayfinder-nav-buttons {
  border-top: 1px solid #e7e7e7;
  margin-top: 20px;
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
}

.form--wayfinder .wayfinder-nav-buttons .button {
  line-height: 1.15;
}

.form--wayfinder .wayfinder-nav-buttons .button--icon-left .button__icon {
  transform: rotate(180deg);
}

.form--wayfinder input[type=checkbox]:checked ~ .wayfinder-nav--continue {
  opacity: 1;
  pointer-events: initial;
}

.wayfinder-breadcrumbs p {
  line-height: 1.7;
}

.wayfinder-breadcrumbs .tag {
  border-radius: 5px;
  padding: 4px 10px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background-color: #ed5e2c;
  white-space: nowrap;
}

.form--organisation-filter {
  padding: 15px 20px;
  border-bottom: 4px solid #fff;
}

.form--organisation-filter fieldset legend {
  margin-bottom: 10px;
}

.form--organisation-filter label {
  font-size: 15px;
}

.form--organisation-filter .checkbox__label {
  padding: 10px 20px 9px 45px;
}

.case-studies-container {
  background: #fff;
  max-width: 1350px;
  padding: 0 20px;
}

@media only screen and (min-width: 1280px) {
  .case-studies-container {
    padding: 0 100px 0 200px;
    box-shadow: 7px -7px 8px -1px rgba(0, 0, 0, 0.1);
  }
}

.downloads-resources {
  background: #002b57;
  margin: 0 auto;
  padding: 40px 0;
  color: #fff;
}

.downloads-resources .wrapper {
  max-width: 915px;
  margin: 0 auto;
  padding: 0 30px;
}

.downloads-resources__section-title {
  margin-bottom: 50px;
}

@media only screen and (min-width: 768px) {
  .downloads-resources__grid {
    display: flex;
  }
}

.downloads-resources__item {
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  flex-basis: 50%;
  flex-grow: 0;
  margin-right: 20px;
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.downloads-resources__item:last-child {
  margin-right: 0;
}

.downloads-resources__title {
  flex-grow: 1;
  margin-top: 8px;
  margin-bottom: 30px;
}

.grid--listings {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  max-width: 990px;
  margin: 2rem auto;
  padding: 0 20px;
}

@media only screen and (min-width: 1024px) {
  .grid--listings {
    justify-content: space-between;
    padding: 0;
  }
}

.grid--journey-step {
  background: #002b57;
  max-width: 1280px;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  padding: 0;
}

@media only screen and (min-width: 768px) {
  .grid--journey-step {
    flex-direction: row;
  }
}

@media only screen and (min-width: 768px) {
  .grid__column--journey-step-left {
    flex-basis: 60%;
  }
}

.grid__column--journey-step-right {
  padding: 20px;
}

@media only screen and (min-width: 768px) {
  .grid__column--journey-step-right {
    padding: 30px 60px 60px;
    flex-basis: 40%;
  }
}

.grid__column--journey-step-right h4 {
  color: #fff;
}

.grid--team {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  margin-top: 4rem;
}

.grid__content {
  padding: 20px;
  background: rgba(255, 255, 255, 0.9);
  position: relative;
  z-index: 10;
}

@media only screen and (min-width: 480px) {
  .grid__content {
    padding: 2rem;
  }
}

.promo-wrapper {
  background: linear-gradient(135deg, #00629b 0%, #002147 100%);
}

.indigo-promo {
  max-width: 1350px;
  display: flex;
  flex-direction: column;
  margin: -6px auto 0;
  color: #fff;
  padding: calc(var(--padding)*2);
}

.indigo-promo h2 {
  color: #fff;
  margin: 0 !important;
}

@media only screen and (min-width: 1024px) {
  .indigo-promo {
    flex-direction: row;
  }
}

.indigo-promo .col {
  display: block;
  margin: 0 0 20px;
}

.indigo-promo .col:last-of-type {
  padding-top: var(--padding);
}

@media only screen and (min-width: 1024px) {
  .indigo-promo .col {
    margin: 0;
    padding: var(--padding);
  }
  .indigo-promo .col:first-of-type {
    width: 45%;
    padding-left: 0;
  }
  .indigo-promo .col:last-of-type {
    width: 55%;
    padding-right: 0;
  }
}

.indigo-promo .col .wrapper--content {
  padding: 0;
}

.indigo-promo .promo-blocks {
  display: flex;
  margin: 2rem 0 0;
  line-height: 1.15;
}

.indigo-promo .promo-blocks li {
  text-align: center;
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0px 10px;
}

.indigo-promo .promo-blocks li * {
  margin: 0;
}

.indigo-promo .promo-blocks li svg {
  max-width: 65px;
  max-height: 65px;
  height: auto;
  fill: #fff;
  margin: 0 auto 10px;
}

.indigo-promo .promo-blocks li:last-of-type {
  border-right: none;
}

.indigo-promo .promo-blocks--stats {
  margin: 2rem 0 3rem;
}

@media only screen and (min-width: 1024px) {
  .indigo-promo .promo-blocks--stats {
    margin: 0rem 0 3rem;
  }
}

.indigo-promo .promo-blocks--stats li {
  border-right: solid 3px rgba(255, 255, 255, 0.5);
}

.indigo-infographics {
  margin-bottom: 4px;
}

.indigo-infographics .info-sandbox {
  padding: 30px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-style: dashed;
  border-radius: 5px;
}

.indigo-infographics .info-sandbox-label {
  font-size: 12px;
  color: rgba(0, 0, 0, 0.4);
}

.indigo-infographics .info-plain {
  margin: 40px 0;
}

.indigo-infographics .info-plain h3 {
  text-align: center;
}

.indigo-infographics .info-block {
  background-color: #f4f2f2;
  padding: 20px;
}

.indigo-infographics .info-block h3 {
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .indigo-infographics .info-block {
    padding: 40px;
  }
}

.indigo-infographics h2 {
  margin-top: 0;
}

.indigo-infographics .info-button-container {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

@media only screen and (min-width: 768px) {
  .indigo-infographics .info-button-container {
    justify-content: flex-end;
    margin-top: 20px;
  }
}

.indigo-infographics__left {
  width: 50%;
}

.indigo-infographics__right {
  width: 50%;
}

.indigo-infographics__full {
  display: none;
}

@media only screen and (min-width: 768px) {
  .indigo-infographics__full {
    display: block;
    text-align: center;
    width: 100%;
    margin: 40px auto;
  }
}

.indigo-infographics__network {
  margin: 40px 0;
}

/* this will prevent trace 2 from toggling from the legend

/* hides the svg dom element that has the click handler responsible for toggling */
/* just for presentation: shows the default cursor insted of the text cursor */
.summary-stats {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-bottom: 18px;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .summary-stats {
    flex-direction: row;
  }
}

.summary-stat {
  text-align: center;
  flex: 1;
  border: 1px solid #d44412;
  margin: 10px;
  padding: 10px;
}

.no-margins {
  margin: 0;
}

.stat-colour {
  color: #00629b;
}

.infographic-container {
  max-width: 1000px;
  margin: 0 auto;
  overflow: auto;
  padding: 20px 20px;
}

.latest-resources {
  padding: 0 20px;
  max-width: 1000px;
  margin: 0 auto;
}

@media only screen and (min-width: 1024px) {
  .latest-resources {
    max-width: 1350px;
    padding: 0;
  }
}

.latest-resources__img {
  display: none;
}

@media only screen and (min-width: 1024px) {
  .latest-resources__img {
    display: block;
    float: right;
    padding-left: 20px;
  }
}

@media only screen and (min-width: 1024px) {
  .latest-resources__resources {
    margin-left: 120px;
    padding-top: 100px;
  }
}

.latest-resources__resource {
  display: block;
  border-bottom: 2px solid #f4f2f2;
  padding-bottom: 10px;
  overflow: auto;
}

@media only screen and (min-width: 1024px) {
  .latest-resources__resource {
    padding-right: 90px;
  }
  .latest-resources__resource:nth-child(1) {
    border-top: 2px solid #f4f2f2;
  }
}

.latest-resources__resource__heading {
  font-size: 2.22222vw;
  color: #002147;
  transition: all 0.25s ease-out;
}

@media (max-width: 900px) {
  .latest-resources__resource__heading {
    font-size: 20px;
  }
}

@media (min-width: 1260px) {
  .latest-resources__resource__heading {
    font-size: 28px;
  }
}

@media only screen and (min-width: 1024px) {
  .latest-resources__resource__heading {
    padding-bottom: 30px;
    white-space: wrap;
  }
}

.latest-resources__resource__arrow {
  width: 7px;
  height: 10px;
  vertical-align: baseline;
  fill: #002147;
  transform: translateX(0);
  transition: all 0.25s ease-out;
}

@media only screen and (min-width: 1024px) {
  .latest-resources__resource__arrow {
    width: 9px;
    height: 14px;
  }
}

.latest-resources__resource:hover .latest-resources__resource__heading {
  color: #00629b;
}

.latest-resources__resource:hover .latest-resources__resource__arrow {
  transform: translateX(50%);
  fill: #00629b;
}

.latest-resources__resource .listing-detail {
  color: #002147;
}

.map-container {
  position: relative;
  max-width: 1350px;
  margin: 0 auto;
  overflow-x: hidden;
}

.map-container .geomap {
  background-color: #ccd3da;
  height: 300px;
  margin: 0 -80px;
}

@media only screen and (min-width: 480px) {
  .map-container .geomap {
    height: 300px;
    margin: 0 -200px;
  }
}

@media only screen and (min-width: 768px) {
  .map-container .geomap {
    margin: 0 -180px;
    height: 450px;
  }
}

@media only screen and (min-width: 1024px) {
  .map-container .geomap {
    height: 500px;
  }
}

@media only screen and (min-width: 1280px) {
  .map-container .geomap {
    height: 600px;
  }
}

.template--search-page .leaflet-container {
  font-family: 'Lato', sans-serif;
}

.template--search-page .leaflet-control {
  will-change: transform;
}

.template--search-page .map-container {
  margin: 0 auto;
}

@media only screen and (min-width: 1024px) {
  .template--search-page .map-container {
    outline: 0;
  }
}

.template--search-page .marker-cluster-small {
  background-color: rgba(172, 201, 182, 0.6);
}

.template--search-page .marker-cluster-medium {
  background-color: rgba(103, 188, 134, 0.6);
}

.template--search-page .marker-cluster-large {
  background-color: rgba(10, 92, 40, 0.6);
  color: #fff;
}

.template--search-page .marker-cluster-small div {
  background-color: rgba(172, 201, 182, 0.6);
}

.template--search-page .marker-cluster-medium div {
  background-color: rgba(103, 188, 134, 0.6);
}

.template--search-page .marker-cluster-large div {
  background-color: rgba(10, 92, 40, 0.6);
  color: #fff;
}

.template--search-page .stats-block {
  margin-top: 4px;
}

.template--search-page .leaflet-popup-content {
  text-align: center;
}

.template--search-page .leaflet-control-layers-expanded {
  background: none;
  border: none;
  border-radius: 5px;
  padding: 0;
}

.template--search-page .leaflet-control-layers-base {
  font-size: 1.03175vw;
}

@media (max-width: 1163.07692px) {
  .template--search-page .leaflet-control-layers-base {
    font-size: 12px;
  }
}

@media (min-width: 1260px) {
  .template--search-page .leaflet-control-layers-base {
    font-size: 13px;
  }
}

.template--search-page .leaflet-control-layers-base label input {
  position: absolute;
  height: 1px;
  width: 1px;
  opacity: 0;
}

.template--search-page .leaflet-control-layers-base label input + span {
  transition: background 0.25s ease-out, color 0.25s ease-out;
  cursor: pointer;
  display: block;
  padding: 6px 10px;
  color: #fff;
  background: #d44412;
  border: 2px solid #d44412;
}

.template--search-page .leaflet-control-layers-base label input:checked + span {
  cursor: initial;
  background: #fff;
  color: #d44412;
}

.template--search-page .leaflet-control-layers-base label:first-of-type span {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.template--search-page .leaflet-control-layers-base label:last-of-type span {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

.template--search-page .leaflet-control-layers-base label:first-of-type:not(:last-of-type) span {
  border-bottom-width: 1px;
}

.template--search-page .leaflet-control-layers-base label:last-of-type:not(:first-of-type) span {
  border-top-width: 1px;
}

.template--search-page .leaflet-control-layers-base label:hover input + span {
  background: #fff;
  color: #d44412;
}

.template--search-page .leaflet-control-zoom {
  border: none;
  border-radius: 0;
}

.template--search-page .leaflet-control-zoom a {
  transition: background 0.25s ease-out, color 0.25s ease-out;
  color: #fff;
  background: #d44412;
  border: 2px solid #d44412;
  line-height: 24px;
}

.template--search-page .leaflet-control-zoom a:hover {
  background: #fff;
  color: #d44412;
}

.template--search-page .leaflet-control-zoom a.leaflet-disabled {
  opacity: 0.8;
}

.template--search-page .leaflet-control-zoom a.leaflet-disabled:hover {
  color: #fff;
  background: #d44412;
}

.book-nav-container {
  height: 58px;
}

.book-nav-wrapper {
  background: #002147;
  width: 100%;
}

.scroll-to-fixed-fixed .book-nav-wrapper {
  top: 0;
  bottom: 0;
}

.book-nav-chapters-wrapper {
  background: #fff;
  padding: 20px;
  display: none;
  border-bottom: 1px solid #2b3033;
  z-index: 30;
  width: 100%;
  position: relative;
  left: 0;
  top: 0;
}

.scroll-to-fixed-fixed .book-nav-chapters-wrapper {
  border-bottom: 1px solid #f3edf4;
}

@media only screen and (min-width: 480px) {
  .book-nav-chapters-wrapper {
    padding: 30px;
  }
}

.book-nav {
  display: flex;
  max-width: 1280px;
  margin: 0 auto;
}

@media only screen and (min-width: 1024px) {
  .book-nav--mobile {
    display: none;
  }
}

.book-nav--desktop {
  display: none;
}

@media only screen and (min-width: 1024px) {
  .book-nav--desktop {
    display: block;
  }
}

.book-nav__title {
  color: #fff;
  position: relative;
  margin-right: 10px;
  padding: 10px 20px;
  min-height: 55px;
  display: flex;
  align-items: center;
}

@media only screen and (min-width: 480px) {
  .book-nav__title {
    padding: 20px;
    min-height: initial;
  }
}

@media only screen and (min-width: 1024px) {
  .book-nav__title {
    padding: 20px 40px 20px 30px;
    margin-right: 40px;
  }
}

.book-nav__title::after {
  content: '';
  height: 30px;
  width: 1px;
  background: rgba(255, 255, 255, 0.4);
  display: block;
  position: absolute;
  right: 0;
  top: 15px;
}

.book-nav__chapter-count {
  color: #fb5a40;
  padding: 10px;
  display: flex;
  align-items: center;
  min-width: 120px;
}

@media only screen and (min-width: 480px) {
  .book-nav__chapter-count {
    padding: 20px 40px 20px 0;
    min-width: initial;
  }
}

.book-nav__chapter-count:hover {
  cursor: pointer;
}

.book-nav__chapter-count .chevron {
  width: 12px;
  height: 12px;
  margin-left: 10px;
  fill: #fb5a40;
  transform: rotate(90deg);
  transition: transform 0.2s ease;
}

.book-nav__chapter-count.is-open .chevron {
  transform: rotate(270deg);
}

.book-nav__chapters {
  max-width: 1350px;
  margin: 0 auto;
}

.book-nav__chapter {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
  flex-direction: column;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-bottom: 15px;
}

@media only screen and (min-width: 480px) {
  .book-nav__chapter {
    flex-direction: row;
    margin-bottom: 10px;
    border-bottom: 0;
    padding-bottom: 0;
  }
}

.book-nav__chapter span:first-child {
  color: #002147;
  margin-bottom: 5px;
}

@media only screen and (min-width: 480px) {
  .book-nav__chapter span:first-child {
    margin-bottom: 0;
  }
}

.book-nav__chapter span:last-child {
  color: #fb5a40;
}

.case-study-nav-container {
  height: 60px;
}

.case-study-nav-wrapper {
  background: #002535;
  width: 100%;
}

.scroll-to-fixed-fixed .case-study-nav-wrapper {
  top: 0;
  bottom: 0;
}

.case-study-nav-items-wrapper {
  background: #fff;
  padding: 20px;
  display: none;
  border-bottom: 1px solid #2b3033;
  z-index: 10;
  width: 100%;
  position: relative;
  left: 0;
  top: 0;
}

.scroll-to-fixed-fixed .case-study-nav-items-wrapper {
  border-bottom: 1px solid #f3edf4;
}

@media only screen and (min-width: 480px) {
  .case-study-nav-items-wrapper {
    padding: 30px;
  }
}

.case-study-nav {
  display: flex;
  max-width: 1280px;
  margin: 0 auto;
}

@media only screen and (min-width: 1024px) {
  .case-study-nav--mobile {
    display: none;
  }
}

.case-study-nav--desktop {
  display: none;
}

@media only screen and (min-width: 1024px) {
  .case-study-nav--desktop {
    display: block;
  }
}

.case-study-nav__title {
  color: #fff;
  position: relative;
  margin-right: 10px;
  padding: 10px 20px;
  min-height: 55px;
  display: flex;
  align-items: center;
}

@media only screen and (min-width: 480px) {
  .case-study-nav__title {
    padding: 20px;
    min-height: initial;
  }
}

@media only screen and (min-width: 1024px) {
  .case-study-nav__title {
    padding: 20px 60px 20px 30px;
    margin-right: 60px;
  }
}

.case-study-nav__title::after {
  content: '';
  height: 30px;
  width: 1px;
  background: rgba(255, 255, 255, 0.4);
  display: block;
  position: absolute;
  right: 0;
  top: 15px;
}

.case-study-nav__item-count {
  color: #fb5a40;
  padding: 10px;
  display: flex;
  align-items: center;
  min-width: 120px;
}

@media only screen and (min-width: 480px) {
  .case-study-nav__item-count {
    padding: 20px 40px 20px 0;
    min-width: initial;
  }
}

.case-study-nav__item-count:hover {
  cursor: pointer;
}

.case-study-nav__item-count .chevron {
  width: 12px;
  height: 12px;
  margin-left: 10px;
  fill: #fb5a40;
  transform: rotate(90deg);
  transition: transform 0.2s ease;
}

.case-study-nav__item-count.is-open .chevron {
  transform: rotate(270deg);
}

.case-study-nav__items {
  max-width: 1350px;
  margin: 0 auto;
}

.case-study-nav__item {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
  flex-direction: column;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-bottom: 15px;
}

@media only screen and (min-width: 480px) {
  .case-study-nav__item {
    flex-direction: row;
    margin-bottom: 10px;
    border-bottom: 0;
    padding-bottom: 0;
  }
}

.case-study-nav__item span:first-child {
  color: #002147;
  margin-bottom: 5px;
}

@media only screen and (min-width: 480px) {
  .case-study-nav__item span:first-child {
    margin-bottom: 0;
  }
}

.case-study-nav__item span:last-child {
  color: #d44412;
}

.journey-map-nav-container {
  background: #000;
  height: 78px;
}

@media only screen and (min-width: 480px) {
  .journey-map-nav-container {
    height: 58px;
  }
}

.journey-map-nav-wrapper {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  padding: 0 10px;
  position: relative;
}

@media only screen and (min-width: 480px) {
  .journey-map-nav-wrapper {
    height: 58px;
    padding: 0 20px;
  }
}

.journey-map-nav-chapters-wrapper {
  flex-basis: 60%;
  color: #fff;
  padding-right: 20px;
  margin-right: 20px;
  display: flex;
  flex-direction: column;
}

@media only screen and (min-width: 768px) {
  .journey-map-nav-chapters-wrapper {
    flex-basis: 30%;
    position: relative;
  }
}

.journey-map-nav-steps-wrapper {
  flex-basis: 40%;
  display: flex;
  flex-direction: column;
}

@media only screen and (min-width: 768px) {
  .journey-map-nav-steps-wrapper {
    flex-basis: 20%;
    position: relative;
  }
}

.journey-map-nav__dropdown {
  display: none;
  background: #fff;
  padding: 15px;
  position: absolute;
  right: 0;
  left: 0;
  z-index: 100;
  top: 78px;
}

@media only screen and (min-width: 480px) {
  .journey-map-nav__dropdown {
    padding: 30px 20px;
    top: 58px;
  }
}

.journey-map-nav__toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 78px;
}

@media only screen and (min-width: 480px) {
  .journey-map-nav__toggle {
    min-height: 58px;
  }
}

.journey-map-nav__toggle:hover {
  cursor: pointer;
}

.journey-map-nav__toggle .chevron {
  height: 15px;
  width: 15px;
  fill: #fb5a40;
  transform: rotate(90deg);
  transition: transform 0.2s ease;
}

.journey-map-nav__toggle.is-open .chevron {
  transform: rotate(270deg);
}

.journey-map-nav__step {
  color: #fb5a40;
}

.journey-map-nav__step a {
  color: inherit;
}

.journey-map-nav__chapter::after {
  content: '';
  width: 1px;
  height: 20px;
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  right: 42%;
}

@media only screen and (min-width: 768px) {
  .journey-map-nav__chapter::after {
    right: 0;
  }
}

.journey-map-nav__link {
  color: #002147;
  display: block;
  margin-bottom: 15px;
  font-weight: 600;
}

.journey-map-nav__link:last-child {
  margin-bottom: 0;
}

.journey-map-nav__link.active {
  color: rgba(0, 0, 0, 0.4);
}

.main-nav {
  clear: right;
}

.main-nav a {
  font-size: 16px;
  color: #000;
}

.main-nav a:hover {
  color: #000;
  opacity: 0.9;
}

.main-nav__wrapper {
  display: flex;
  flex-flow: column-reverse nowrap;
}

@media only screen and (min-width: 768px) {
  .main-nav__wrapper {
    flex-flow: column nowrap;
    align-items: flex-end;
  }
}

@media only screen and (min-width: 768px) {
  .main-nav--sub {
    margin-bottom: 60px;
    margin-right: 4rem;
    min-height: 1rem;
  }
  .main-nav--sub li {
    padding: 0;
    margin-right: 1.2rem;
  }
}

@media (min-width: 950px) {
  .main-nav--sub {
    margin-bottom: 37px;
  }
}

.main-nav__accent {
  transition: all 0.25s ease-out;
  background-color: rgba(0, 0, 0, 0.2);
  /* generate override accent colors for named sections */
}

.main-nav__accent.accent-toolkit {
  border-color: #7f3197;
}

.main-nav__accent.accent-the-basics {
  border-color: #3aa449;
}

.main-nav__accent.accent-knowledge-bank {
  border-color: #d44412;
}

.main-nav__accent.accent-community {
  border-color: #00629b;
}

.main-nav__accent.is-active {
  background: #e7e7e7;
}

@media only screen and (min-width: 768px) {
  .main-nav__accent {
    padding: 15px 24px 0;
    margin: 0 0 4px 5px;
    text-align: center;
  }
  .main-nav__accent:first-child {
    margin-left: 0;
  }
  .main-nav__accent.accent-toolkit {
    background-repeat: no-repeat;
    background-position: bottom -14px left 0;
    background-image: url('data:image/svg+xml,%3Csvg width="800px" height="20px" viewBox="0 0 800 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Crect id="Rectangle" fill="%237f3197" x="0" y="0" width="800" height="20"%3E%3C/rect%3E%3C/svg%3E');
  }
  .main-nav__accent.accent-toolkit:hover {
    background-position: bottom -8px left 0;
  }
  .main-nav__accent.accent-the-basics {
    background-repeat: no-repeat;
    background-position: bottom -14px left 0;
    background-image: url('data:image/svg+xml,%3Csvg width="800px" height="20px" viewBox="0 0 800 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Crect id="Rectangle" fill="%233aa449" x="0" y="0" width="800" height="20"%3E%3C/rect%3E%3C/svg%3E');
  }
  .main-nav__accent.accent-the-basics:hover {
    background-position: bottom -8px left 0;
  }
  .main-nav__accent.accent-knowledge-bank {
    background-repeat: no-repeat;
    background-position: bottom -14px left 0;
    background-image: url('data:image/svg+xml,%3Csvg width="800px" height="20px" viewBox="0 0 800 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Crect id="Rectangle" fill="%23d44412" x="0" y="0" width="800" height="20"%3E%3C/rect%3E%3C/svg%3E');
  }
  .main-nav__accent.accent-knowledge-bank:hover {
    background-position: bottom -8px left 0;
  }
  .main-nav__accent.accent-community {
    background-repeat: no-repeat;
    background-position: bottom -14px left 0;
    background-image: url('data:image/svg+xml,%3Csvg width="800px" height="20px" viewBox="0 0 800 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"%3E%3Crect id="Rectangle" fill="%2300629b" x="0" y="0" width="800" height="20"%3E%3C/rect%3E%3C/svg%3E');
  }
  .main-nav__accent.accent-community:hover {
    background-position: bottom -8px left 0;
  }
  .main-nav__accent.is-active {
    margin: 4px 0 0 5px;
  }
  .main-nav__accent.is-active.accent-toolkit {
    background-color: #7f3197;
  }
  .main-nav__accent.is-active.accent-the-basics {
    background-color: #3aa449;
  }
  .main-nav__accent.is-active.accent-knowledge-bank {
    background-color: #d44412;
  }
  .main-nav__accent.is-active.accent-community {
    background-color: #00629b;
  }
  .main-nav__primary-items .main-nav__accent.is-active > a {
    color: #fff !important;
    opacity: 1;
  }
}

@media only screen and (min-width: 768px) {
  .main-nav__accent:hover {
    background-color: transparent;
    background-color: rgba(0, 0, 0, 0.1);
  }
}

.main-nav__primary-items {
  margin: 0;
}

@media only screen and (min-width: 768px) {
  .main-nav__primary-items {
    display: flex;
  }
}

.main-nav__primary-items__item {
  cursor: pointer;
  position: relative;
  padding: 20px 16px;
  font-weight: 600;
  border-left: 8px solid transparent;
}

@media only screen and (min-width: 768px) {
  .main-nav__primary-items__item {
    padding: 22px 30px;
    border-left: 0;
  }
}

.main-nav__primary-items__item--sub {
  transition: opacity 0.25s ease-out;
}

.main-nav__primary-items__item--sub:hover {
  opacity: 0.7;
}

@media only screen and (min-width: 768px) {
  .main-nav__primary-items__item {
    display: inline-block;
    position: inherit;
  }
}

.main-nav__primary-items__item a {
  display: block;
}

@media only screen and (min-width: 768px) {
  .main-nav__primary-items__item a {
    border: none;
  }
}

.main-nav__primary-items__item .mobile-nav-toggle {
  margin-right: 3px;
}

.main-nav__mat {
  display: none;
  margin: 0;
  z-index: 10;
  width: 100%;
  background: #e7e7e7;
  padding: 0 16px 10px 16px;
  border-left: 8px solid transparent;
  /* Cover page */
  box-shadow: -500px 0 #e7e7e7, 500px 0 #e7e7e7;
}

.main-nav__mat__accent {
  /* generate override accent colors for named sections */
}

.main-nav__mat__accent.accent-toolkit {
  border-color: #7f3197;
}

.main-nav__mat__accent.accent-the-basics {
  border-color: #3aa449;
}

.main-nav__mat__accent.accent-knowledge-bank {
  border-color: #d44412;
}

.main-nav__mat__accent.accent-community {
  border-color: #00629b;
}

.main-nav__mat.is-active {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
}

@media only screen and (min-width: 768px) {
  .main-nav__mat {
    border: none;
    position: absolute;
    min-height: 100vh;
    top: 100%;
    left: 0;
    width: 100%;
    margin-top: 0;
    padding: 0;
  }
  .main-nav__mat.is-active {
    display: flex;
    justify-content: flex-end;
    flex-direction: row;
  }
}

.main-nav__mat-summary {
  display: none;
  line-height: 1.3em;
  font-size: 1.74603vw;
  color: rgba(0, 0, 0, 0.4);
  font-weight: 400;
}

@media (max-width: 1030.90909px) {
  .main-nav__mat-summary {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .main-nav__mat-summary {
    font-size: 22px;
  }
}

.main-nav__mat-summary p {
  padding-bottom: 0;
  margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
  .main-nav__mat-summary {
    display: block;
    max-width: 330px;
    padding: 2rem;
  }
  .main-nav__mat-summary p {
    padding-bottom: 2rem;
  }
  .accent-toolkit .main-nav__mat-summary p {
    border-bottom: 5px solid #7f3197;
  }
  .accent-the-basics .main-nav__mat-summary p {
    border-bottom: 5px solid #3aa449;
  }
  .accent-knowledge-bank .main-nav__mat-summary p {
    border-bottom: 5px solid #d44412;
  }
  .accent-community .main-nav__mat-summary p {
    border-bottom: 5px solid #00629b;
  }
}

@media only screen and (min-width: 1024px) {
  .main-nav__mat-summary {
    max-width: 450px;
    padding: 4rem;
  }
}

.main-nav__secondary-items {
  margin-top: 0px;
}

@media only screen and (min-width: 768px) {
  .main-nav__secondary-items {
    padding: 1rem;
    width: 500px;
  }
}

@media only screen and (min-width: 1024px) {
  .main-nav__secondary-items {
    padding: 1rem 2rem;
  }
}

.main-nav__secondary-items__item {
  background-color: #f4f2f2;
  border-bottom: 2px solid #e7e7e7;
  cursor: pointer;
  font-weight: 400;
  margin-bottom: 4px;
}

@media only screen and (min-width: 768px) {
  .main-nav__secondary-items__item {
    background-color: #f4f2f2;
    border-bottom: 2px solid #e7e7e7;
    position: relative;
  }
}

.main-nav__secondary-items__item .chevron {
  display: block;
  fill: #fb5a40;
  width: 20px;
  height: 11px;
  margin-left: 3px;
  transform: translateX(0);
  transition: transform 0.25s ease-out;
}

.accent-toolkit .main-nav__secondary-items__item .chevron {
  fill: #7f3197;
}

.accent-the-basics .main-nav__secondary-items__item .chevron {
  fill: #3aa449;
}

.accent-knowledge-bank .main-nav__secondary-items__item .chevron {
  fill: #d44412;
}

.accent-community .main-nav__secondary-items__item .chevron {
  fill: #00629b;
}

.main-nav__secondary-items__item:hover {
  background: #fff;
}

.main-nav__secondary-items__item:hover .chevron {
  transform: translateX(50%);
}

.main-nav__secondary-items__item span {
  margin: 0 1.5rem;
  max-width: 400px;
}

.main-nav__secondary-items__item-title {
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
}

.main-nav__secondary-items__item-summary {
  margin: 0;
  color: rgba(0, 0, 0, 0.9);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.5em;
}

@media only screen and (min-width: 768px) {
  .main-nav__secondary-items__item-summary {
    max-width: 350px;
  }
}

.main-nav__secondary-items a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  display: block;
  margin: 0 20px;
  padding: 22px 0 12px;
}

@media only screen and (min-width: 768px) {
  .template .main-nav__secondary-items a {
    color: rgba(0, 0, 0, 0.9);
    font-size: 16px;
  }
}

.news-tile {
  max-width: 470px;
  margin-bottom: 20px;
  flex-basis: 470px;
}

.news-tile a:not(.button) {
  color: #26a2c8;
}

.news-tile__image {
  display: block;
  width: 100%;
  height: 160px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.news-tile__content {
  padding: 26px;
  transition: background 0.25s ease-out;
}

.news-tile__title {
  margin-top: 0;
  font-size: 2.06349vw;
  line-height: 1.2;
  color: #fff;
}

@media (max-width: 1066.15385px) {
  .news-tile__title {
    font-size: 22px;
  }
}

@media (min-width: 1260px) {
  .news-tile__title {
    font-size: 26px;
  }
}

.news-tile__chevron {
  width: 15px;
  height: 15px;
  fill: #fff;
  vertical-align: middle;
  margin-left: 5px;
  transform: translateX(0);
  transition: transform 0.25s ease-out;
}

.news-tile__link {
  display: block;
  height: 100%;
  background: #002147;
}

.news-tile__link:hover, .news-tile__link:active {
  background-color: #5f2570;
}

.news-tile__link:hover .news-tile__chevron, .news-tile__link:active .news-tile__chevron {
  transform: translateX(100%);
}

.news-tile__summary {
  font-weight: 400;
}

.news-tile .listing-detail__icon {
  fill: #fff;
}

.search-filters {
  background: #f4f2f2;
  position: absolute;
  top: 76px;
  left: 0;
  right: 0;
  z-index: 3;
  transition: transform 0.25s ease-out;
  transform: scaleY(0);
  transform-origin: top;
}

@media only screen and (min-width: 1024px) {
  .search-filters {
    background: #fff;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    transform: none;
    position: sticky;
    top: 20px;
    width: 240px;
    border: none;
    max-height: 97vh;
    overflow-y: scroll;
    scrollbar-width: none;
    z-index: 0;
  }
}

.filter-open .search-filters {
  transform: scaleY(1);
}

.search-filters__list {
  margin: 0;
  border-bottom: 1px solid #e7e7e7;
}

@media only screen and (min-width: 1024px) {
  .search-filters__list {
    width: 100%;
    border-bottom: 1px solid #e7e7e7;
  }
}

.search-filters__actions {
  margin: 20px auto;
  text-align: center;
}

.search-filters__expand-icon {
  fill: #002147;
  width: 12px;
  height: 12px;
  min-width: 12px;
  margin-left: 12px;
  transform: rotate(0);
  transition: transform 0.25s ease-out;
}

.search-filters__expand-button {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: transparent;
  border: 0;
  border-top: 1px solid #e7e7e7;
  font-size: 1.19048vw;
  cursor: pointer;
  transition: all 0.25s ease-out;
  padding: 20px 2rem;
}

@media (max-width: 1260px) {
  .search-filters__expand-button {
    font-size: 15px;
  }
}

@media (min-width: 1260px) {
  .search-filters__expand-button {
    font-size: 15px;
  }
}

@media only screen and (min-width: 1024px) {
  .search-filters__expand-button {
    padding: 15px 10px;
  }
  .search-filters__expand-button:hover {
    background: #f4f2f2;
  }
}

.search-filters__slider-button {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: transparent;
  border: 0;
  border-top: 1px solid #e7e7e7;
  font-size: 1.19048vw;
  cursor: pointer;
  transition: all 0.25s ease-out;
  padding: 20px 2rem;
  padding-right: 1rem;
}

@media (max-width: 1260px) {
  .search-filters__slider-button {
    font-size: 15px;
  }
}

@media (min-width: 1260px) {
  .search-filters__slider-button {
    font-size: 15px;
  }
}

@media only screen and (min-width: 1024px) {
  .search-filters__slider-button {
    padding: 15px 10px;
    padding-right: 0;
  }
}

.search-filters__slider-button .switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 26px;
  flex: 0 0 auto;
}

.search-filters__slider-button .switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.search-filters__slider-button .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #878fa1;
  -webkit-transition: .4s;
  transition: .4s;
  border-radius: 26px;
}

.search-filters__slider-button .slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 3px;
  bottom: 3px;
  background-color: #fff;
  -webkit-transition: .4s;
  transition: .4s;
  border-radius: 50%;
}

.search-filters__slider-button input:checked + .slider {
  background-color: #00629b;
}

.search-filters__slider-button input:checked + .slider:before {
  transform: translateX(24px);
}

.search-filters__category-header.open .search-filters__expand-button {
  background: #002147;
  color: #fff;
  border-color: #002147;
}

@media only screen and (min-width: 1024px) {
  .search-filters__category-header.open .search-filters__expand-button {
    background: transparent;
    color: #000;
    border-color: #e7e7e7;
    background-color: #fff;
  }
  .search-filters__category-header.open .search-filters__expand-button:hover {
    background: #f4f2f2;
  }
}

.search-filters__category-header.open .search-filters__expand-icon {
  transform: rotate(45deg);
  fill: #fff;
}

@media only screen and (min-width: 1024px) {
  .search-filters__category-header.open .search-filters__expand-icon {
    fill: #002147;
  }
}

.search-filters__category:first-child .search-filters__expand-button {
  border-top: 0;
}

@media only screen and (min-width: 1024px) {
  .search-filters__category:first-child .search-filters__expand-button {
    border-top: 1px solid #e7e7e7;
  }
}

.search-filters__options {
  display: none;
  padding: 20px 2rem;
}

@media only screen and (min-width: 1024px) {
  .search-filters__options {
    padding: 10px;
    padding-bottom: 10px;
  }
}

.search-filters__options .checkbox {
  margin: 5px 0;
}

.search-filters__initial-open {
  display: block;
}

.wrapper--search-input {
  margin: 20px 0;
}

@media only screen and (min-width: 1024px) {
  .wrapper--search-input {
    margin: 40px 0;
    margin-left: 255px;
  }
}

.search-input {
  position: relative;
  margin: 0;
  width: 100%;
}

@media only screen and (min-width: 480px) {
  .search-input {
    margin: 0;
  }
}

.search-input__input {
  border: 1px solid #e7e7e7;
  background: #fff;
  height: 50px;
  width: 100%;
  padding: 10px;
  padding-left: 50px;
}

@media only screen and (min-width: 480px) {
  .search-input__input {
    max-width: 410px;
  }
}

.search-input__icon {
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  fill: #002147;
}

.search-overlay {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #26a2c8;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.search-overlay.open {
  display: flex;
}

.search-overlay__close {
  cursor: pointer;
  border: none;
  position: absolute;
  height: 20px;
  width: 20px;
  top: 35px;
  right: 15%;
  background: url("../images/cross.svg") no-repeat;
}

@media only screen and (min-width: 480px) {
  .search-overlay__close {
    right: 60px;
  }
}

.search-overlay__inner {
  width: 70%;
}

.search-overlay__input-section {
  position: relative;
  margin-bottom: 60px;
}

.search-overlay__input {
  font-size: 2.85714vw;
  width: calc(100% - 40px);
  background: transparent;
  border: none;
  color: #006d7f;
  border-bottom: 3px solid #006d7f;
  font-weight: 700;
  padding: 6px 12px;
  min-width: 200px;
}

@media (max-width: 840px) {
  .search-overlay__input {
    font-size: 24px;
  }
}

@media (min-width: 1260px) {
  .search-overlay__input {
    font-size: 36px;
  }
}

.search-overlay__input::placeholder {
  opacity: 1;
  color: #006d7f;
}

.search-overlay__input:focus {
  background-color: #fff;
  outline: none;
}

.search-overlay__submit {
  cursor: pointer;
  width: 25px;
  height: 33px;
  background: url("../images/search-icon.svg") no-repeat;
  border: none;
  padding-top: 14px;
}

.search-overlay button {
  opacity: 0.8;
  transition: opacity 0.25s ease-out;
}

.search-overlay button:hover {
  opacity: 1;
}

.search-overlay__results-heading {
  font-size: 1.42857vw;
  color: #34ddd9;
  font-weight: 600;
  margin: 0;
  padding-bottom: 6px;
}

@media (max-width: 1120px) {
  .search-overlay__results-heading {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .search-overlay__results-heading {
    font-size: 18px;
  }
}

.search-overlay__results {
  margin: 0;
}

.search-overlay__results__result {
  padding: 3px 0;
}

.search-overlay__results__result a {
  font-size: 2.06349vw;
  color: #fff;
}

@media (max-width: 872.30769px) {
  .search-overlay__results__result a {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .search-overlay__results__result a {
    font-size: 26px;
  }
}

.search-overlay__results__result a:hover {
  opacity: 0.7;
  color: #fff;
}

.case-studies-container .search-result:last-child .search-result__link {
  border-bottom: 0;
}

.search-result__link {
  display: block;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 1rem;
  padding-top: 0;
}

@media only screen and (min-width: 768px) {
  .search-result__link {
    display: flex;
    margin: 0;
    padding: 1.5rem;
  }
}

.search-result__link:hover {
  background: #f4f2f2;
}

.search-result__image {
  display: block;
  min-height: 200px;
  max-height: 200px;
  background-color: #e1e1e1;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  margin: 0 -1rem;
  margin-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .search-result__image {
    min-width: 300px;
    max-width: 300px;
    margin: 0;
    margin-right: 2rem;
  }
}

.search-result__content {
  color: #000;
  padding: 1rem 0;
}

@media only screen and (min-width: 480px) {
  .search-result__content {
    display: flex;
    flex-flow: column nowrap;
  }
}

@media only screen and (min-width: 768px) {
  .search-result__content {
    padding: 0;
  }
}

.search-result__intro {
  margin: 1rem 0 0 0;
  color: #000;
  font-size: 1.42857vw;
  font-weight: 400;
  line-height: 1.5;
}

@media (max-width: 1050px) {
  .search-result__intro {
    font-size: 15px;
  }
}

@media (min-width: 1260px) {
  .search-result__intro {
    font-size: 18px;
  }
}

.search-result__category-tag {
  font-size: 1.42857vw;
  color: #00629b;
  font-weight: 600;
}

@media (max-width: 1050px) {
  .search-result__category-tag {
    font-size: 15px;
  }
}

@media (min-width: 1260px) {
  .search-result__category-tag {
    font-size: 18px;
  }
}

@media only screen and (min-width: 480px) {
  .search-result__category-tag {
    margin-bottom: 10px;
  }
}

.search-result__category-tag .pub-date {
  font-weight: 400;
}

.search-result__title {
  font-size: 2.22222vw;
  font-weight: 600;
  line-height: 1.4;
  margin: 1rem 0 0 0;
  flex: 1;
}

@media (max-width: 990px) {
  .search-result__title {
    font-size: 22px;
  }
}

@media (min-width: 1260px) {
  .search-result__title {
    font-size: 28px;
  }
}

.search-result--database {
  background-color: #fff;
}

.search-result--database .search-result__link {
  min-height: 265px;
  color: #000;
  display: block;
  padding: 1rem 10px;
}

@media only screen and (min-width: 768px) {
  .search-result--database .search-result__link {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
  }
}

@media only screen and (min-width: 1024px) {
  .search-result--database .search-result__link {
    margin: 0;
    padding: 2rem;
  }
}

.search-result--database .search-result__title {
  margin-bottom: 1rem;
}

.search-result--database .search-result__intro {
  margin: 0;
  color: #000;
  font-size: 1.42857vw;
}

@media (max-width: 1050px) {
  .search-result--database .search-result__intro {
    font-size: 15px;
  }
}

@media (min-width: 1260px) {
  .search-result--database .search-result__intro {
    font-size: 18px;
  }
}

.search-result--database .search-result__main {
  max-width: 700px;
}

.search-result--database .search-result__main p {
  margin-top: 0;
  margin-bottom: 5px;
}

.search-result--database .search-result__secondary {
  color: #000;
  font-size: 12px;
}

.search-result--database .search-result__secondary p {
  text-align: right;
  font-weight: 600;
  margin: 0;
  margin-bottom: 5px;
}

.search-result.person .search-result__image {
  background-size: cover;
}

@media only screen and (min-width: 480px) {
  .search-result.person .search-result__image {
    background-size: contain;
  }
}

.footer {
  position: relative;
  min-height: 800px;
  margin-top: 10rem;
  display: flex;
  align-items: flex-end;
}

.wrapper--home-page .footer {
  margin-top: 0;
}

.footer > svg {
  position: absolute;
  top: -25%;
  height: 125%;
  width: 100%;
  z-index: -1;
}

@media only screen and (min-width: 480px) {
  .footer > svg {
    top: -15%;
    height: 115%;
  }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .footer > svg {
    height: 750px;
  }
}

@supports (isolation: isolate) {
  .footer__background-1 {
    isolation: isolate;
  }
}

.footer__background-2, .footer__background-3 {
  fill: #26a2c8;
}

.template--listings-page .footer__background-2,
.template--standard-page .footer__background-2,
.template--article-page .footer__background-2, .template--listings-page .footer__background-3,
.template--standard-page .footer__background-3,
.template--article-page .footer__background-3 {
  fill: #7f3197;
}

.template--about-us-page .footer__background-2, .template--about-us-page .footer__background-3 {
  fill: #00629b;
}

.template--projects-page .footer__background-2,
.template--search-page .footer__background-2, .template--projects-page .footer__background-3,
.template--search-page .footer__background-3 {
  fill: #035cdd;
}

.template--journey-map-step-page .footer__background-2,
.template--journey-map .footer__background-2,
.template--journey-map-index-page .footer__background-2, .template--journey-map-step-page .footer__background-3,
.template--journey-map .footer__background-3,
.template--journey-map-index-page .footer__background-3 {
  fill: #68aa6c;
}

.template--contact-page .footer__background-2, .template--contact-page .footer__background-3 {
  fill: #34ddd9;
}

.template--team-page .footer__background-2, .template--team-page .footer__background-3 {
  fill: #7fdcd9;
}

.template--article-page--blog .footer__background-2, .template--article-page--blog .footer__background-3 {
  fill: #ee622d;
}

.template--indigo-fund-index .footer__background-2,
.template--indigo-project-index .footer__background-2,
.template--indigo-organisation-index .footer__background-2, .template--indigo-fund-index .footer__background-3,
.template--indigo-project-index .footer__background-3,
.template--indigo-organisation-index .footer__background-3 {
  fill: #26a2c8;
}

.footer__background-3 {
  opacity: 0.2;
}

.footer__background-4, .footer__background-6 {
  fill: #26a2c8;
}

@supports (mix-blend-mode: multiply) {
  .footer__background-4, .footer__background-6 {
    mix-blend-mode: multiply;
  }
}

.footer__background-4 {
  fill-opacity: 0.5;
}

.footer__background-5 {
  fill: #002147;
  opacity: 0;
}

@media only screen and (min-width: 1024px) {
  .footer__background-5 {
    opacity: 0;
  }
}

.footer__background-6 {
  fill-opacity: 0.1;
}

@supports (mix-blend-mode: multiply) {
  .footer__background-6 {
    fill-opacity: 0.9;
  }
}

.footer__inner {
  background: rgba(0, 33, 71, 0.8);
  color: #fff;
  padding: 2rem 2rem 0;
  width: 100%;
}

@media only screen and (min-width: 1280px) {
  .footer__inner {
    background: rgba(0, 33, 71, 0.8);
  }
}

.template--journey-map-step-page .footer__inner {
  z-index: 11;
}

.footer__row {
  display: flex;
  flex-direction: column;
  max-width: 100%;
  margin: 0 auto;
}

@media only screen and (min-width: 768px) {
  .footer__row {
    flex-direction: row;
    margin-bottom: 0.5rem;
  }
}

@media only screen and (min-width: 1024px) {
  .footer__row {
    max-width: 90%;
  }
}

.footer__row:nth-of-type(3) .footer__nav:last-child {
  border-bottom: 1px solid #878fa1;
}

@media only screen and (min-width: 768px) {
  .footer__row:nth-of-type(3) .footer__nav:last-child {
    border: 0;
  }
}

.footer__row:first-child {
  margin-bottom: 30px;
}

@media only screen and (min-width: 768px) {
  .footer__row:first-child {
    justify-content: space-between;
  }
}

.footer__row:last-child {
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  text-align: center;
  margin-top: 60px;
  flex-direction: column;
  font-size: 16px;
}

@media only screen and (min-width: 1024px) {
  .footer__row:last-child {
    text-align: left;
    flex-direction: row;
  }
}

.footer__heading {
  margin-bottom: 0;
}

.footer__heading--nav {
  margin: 0;
  border-top: 1px solid #878fa1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 0;
}

@media only screen and (min-width: 768px) {
  .footer__heading--nav {
    border: 0;
    padding-bottom: 0;
  }
}

.footer__heading--last {
  border-bottom: 1px solid #878fa1;
}

.footer__nav {
  position: relative;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .footer__nav {
    flex-basis: calc(100% / 3);
    padding-right: 10px;
  }
}

.footer__subnav {
  display: none;
  margin: 0;
  padding: 15px 0;
  border-top: 1px solid #878fa1;
}

@media only screen and (min-width: 768px) {
  .footer__subnav {
    display: block;
    border-top: 0;
    padding-top: 10px;
  }
}

.footer__subnav li {
  margin-bottom: 0.6rem;
  font-size: 1.26984vw;
}

@media (max-width: 1102.5px) {
  .footer__subnav li {
    font-size: 14px;
  }
}

@media (min-width: 1260px) {
  .footer__subnav li {
    font-size: 16px;
  }
}

.footer__subnav a {
  color: rgba(255, 255, 255, 0.7);
  font-weight: 300;
}

.footer__credits a {
  color: rgba(255, 255, 255, 0.7);
  display: inline-block;
  margin-right: 15px;
}

.footer a:hover:not(.button) {
  color: #26a2c8;
}

.footer .input {
  background-color: #fff;
  border: none;
}

.footer input {
  width: 100%;
}

@media only screen and (min-width: 480px) {
  .footer input {
    width: auto;
  }
}

.footer input.button {
  height: 49px;
  vertical-align: top;
}

.footer .mobile-nav-toggle {
  left: 0;
  justify-content: flex-end;
}

.header {
  position: relative;
  background-color: transparent;
  --icon-height: 25px;
}

@media only screen and (min-width: 768px) {
  .header {
    padding-top: 30px;
    margin-bottom: 1rem;
  }
}

@media only screen and (min-width: 768px) {
  .header__top-wrapper {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}

.header__inner {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  height: 100%;
}

.header__inner--nav {
  height: auto;
  transition: all 0ms ease;
  background: #e7e7e7;
  padding: 95px 0 0 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  display: none;
  z-index: 15;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

@media only screen and (min-width: 480px) {
  .header__inner--nav {
    padding: 120px 0 0 0;
  }
}

@media only screen and (min-width: 768px) {
  .header__inner--nav {
    background: transparent;
    position: static;
    padding: 0 var(--padding) 0 0;
    margin: 0;
    border-bottom: none;
    display: block !important;
  }
}

.header__inner--logos {
  display: flex;
  justify-content: space-between;
  padding: 1.5rem var(--padding);
  position: relative;
  z-index: 16;
}

@media only screen and (min-width: 768px) {
  .header__inner--logos {
    padding: 0 0 0 var(--padding);
    position: static;
  }
}

.header__logos {
  display: block;
  width: 250px;
}

@media only screen and (min-width: 480px) {
  .header__logos {
    width: 300px;
  }
}

@media only screen and (min-width: 768px) {
  .header__logos {
    position: absolute;
  }
}

@media only screen and (min-width: 480px) {
  .header {
    --icon-height: 30px;
  }
}

@media only screen and (min-width: 768px) {
  .header {
    --icon-height: 15px;
  }
}

.header__icons {
  display: flex;
}

.header__icons__icon {
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  height: var(--icon-height);
  min-width: var(--icon-height);
}

.header__icons__icon:nth-child(2) {
  margin-left: 10px;
}

@media only screen and (min-width: 480px) {
  .header__icons__icon:nth-child(2) {
    margin-left: 25px;
  }
}

@media only screen and (min-width: 768px) {
  .header__icons__icon:nth-child(2) {
    display: none;
  }
}

.header__search-button {
  display: flex;
  align-items: center;
  transition: opacity 0.25s ease-out;
}

.header__search-button span {
  margin-left: 5px;
  font-size: 16px;
  font-weight: 600;
  display: none;
}

@media only screen and (min-width: 480px) {
  .header__search-button span {
    display: block;
  }
}

.header__search-button svg {
  transition: fill 0.25s ease-out;
  width: var(--icon-height);
  height: var(--icon-height);
  fill: #000;
}

@media only screen and (min-width: 768px) {
  .header__search-button {
    position: absolute;
    right: var(--padding);
    z-index: 6;
    top: 2px;
  }
}

.header__search-button:hover {
  opacity: 0.7;
}

.rich-text {
  font-size: 1.5873vw;
  line-height: 1.5;
  word-break: break-word;
}

@media (max-width: 1008px) {
  .rich-text {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .rich-text {
    font-size: 20px;
  }
}

.rich-text h2 {
  margin: 80px 0 20px;
}

.rich-text h3 {
  margin: 50px 0 20px;
}

.rich-text ul {
  margin: 2rem 0;
  list-style: disc outside;
}

.rich-text ul > li {
  color: inherit;
  margin-bottom: 1rem;
}

.rich-text ol {
  margin: 2rem 0;
  list-style: decimal outside;
}

.rich-text ol > li {
  color: inherit;
  margin-bottom: 1rem;
}

.rich-text p {
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 1rem;
}

.rich-text a:not(.button) {
  color: #00629b;
  font-weight: 600;
  word-break: break-word;
  text-decoration: underline;
}

.rich-text a:not(.button):hover {
  color: #0082ce;
}

.rich-text *:not(use):not(img):not(iframe):empty {
  display: none;
}

.rich-text .richtext-image {
  width: 100%;
  padding-bottom: 10px;
}

@media only screen and (min-width: 768px) {
  .rich-text .richtext-image.left {
    float: left;
    padding: 5px 30px 30px 0;
    width: auto;
    max-width: 50%;
  }
}

@media only screen and (min-width: 768px) {
  .rich-text .richtext-image.right {
    float: right;
    padding: 5px 0 30px 30px;
    width: auto;
    max-width: 50%;
  }
}

.wrapper--content {
  max-width: 1000px;
  margin: 0 auto;
  line-height: 1.5;
  padding: 0 var(--padding);
  position: relative;
}

@media only screen and (min-width: 1024px) {
  .wrapper--content {
    padding: 0;
  }
}

.wrapper--medium {
  max-width: 915px;
}

@media only screen and (min-width: 480px) {
  .wrapper--medium {
    padding: 0 var(--padding);
  }
}

.wrapper--wide {
  max-width: 1280px;
  padding: 0 var(--padding);
}

@media only screen and (min-width: 1024px) {
  .wrapper--wide {
    padding: 0 var(--padding);
  }
}

.wrapper--wide-centred {
  max-width: 1220px;
  margin: 0 auto;
}

.wrapper--grid {
  max-width: 1280px;
  margin: 0 auto;
}

.wrapper--grid-home-page {
  margin: 0 auto;
  background: #ccd3da;
  padding: 1rem 0;
}

@media only screen and (min-width: 768px) {
  .wrapper--grid-home-page {
    margin: 0 auto 6px;
    padding: 2rem 0;
  }
}

@media only screen and (min-width: 1024px) {
  .wrapper--grid-home-page {
    padding: 4rem 0;
  }
}

.wrapper--signpost {
  padding: 3rem 0 6rem;
}

.wrapper--partners {
  padding: 4rem 0 0;
  text-align: center;
}

.wrapper--content .wrapper--partners {
  padding: 0;
}

.wrapper--single-line-bg {
  background: url("../images/background-line-listings-page.svg") no-repeat;
  background-size: contain;
  background-position: bottom;
}

@media only screen and (min-width: 768px) {
  .wrapper--dark-bg {
    background-image: url("../images/journey-map-bg.svg");
    background-repeat: repeat-y;
    background-size: cover;
  }
}

.wrapper--background {
  background: #f4f2f2;
}

@media only screen and (min-width: 480px) {
  .wrapper--location-home-page {
    background: url("../images/aqua-block.svg") no-repeat;
    background-size: cover;
    padding: 140px 0 15%;
    margin-bottom: -20%;
  }
}

@media only screen and (min-width: 768px) {
  .wrapper--location-home-page {
    margin-bottom: -18%;
  }
}

.wrapper--page-header {
  padding: 0 var(--padding);
}

.wrapper--cta-block-reverse-home-page {
  background: #fff;
}

@media only screen and (min-width: 480px) {
  .wrapper--cta-block-reverse-home-page {
    background: url("../images/aqua-block-with-line.svg") no-repeat;
    background-size: cover;
    background-position: top;
    padding: 140px 0 40px;
    margin-top: -120px;
  }
}

.wrapper--promo {
  border-bottom: 10px solid #ccd3da;
  padding: 3rem 0 2rem;
}

.wrapper--promo .promo-content {
  margin: auto;
}

.wrapper--promo .promo-content .section-header {
  float: none;
}

.wrapper--promo .promo-content .promo-image {
  margin: 40px auto;
  width: 100%;
  max-width: 1220px;
}

.wrapper--promo .promo-content .section-header__heading {
  float: none;
}

.wrapper--promo .promo-content .section-header__copy {
  margin: auto;
  width: 100%;
  padding: 0;
}

.wrapper--promo .promo-content .section-header__copy .promo-copy {
  max-width: 800px;
  padding-bottom: 40px;
}

.wrapper--promo .promo-content .section-header__copy .promo-copy p {
  font-size: 1.74603vw;
  color: rgba(0, 0, 0, 0.7);
}

@media (max-width: 916.36364px) {
  .wrapper--promo .promo-content .section-header__copy .promo-copy p {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .wrapper--promo .promo-content .section-header__copy .promo-copy p {
    font-size: 22px;
  }
}

.wrapper--promo .promo-content .section-header__copy .promo-copy .promo-links {
  display: flex;
  flex-direction: column;
}

@media only screen and (min-width: 480px) {
  .wrapper--promo .promo-content .section-header__copy .promo-copy .promo-links {
    flex-direction: row;
  }
}

.wrapper--promo .promo-content .section-header__copy .promo-copy .promo-link {
  margin-top: 50px;
  margin-right: 20px;
}

.wrapper--map-home-page {
  padding: 3rem 0 3rem;
  background-color: #ccd3da;
}

.wrapper--infographic-home-page {
  background-color: #ccd3da;
}

.wrapper--resources-home-page {
  padding: 10px 0 0;
  background-position: center;
}

@media only screen and (min-width: 480px) {
  .wrapper--resources-home-page {
    background: url("../images/grey-block.svg") no-repeat;
    background-size: cover;
    padding: 40px 0 30px;
  }
}

@media only screen and (min-width: 768px) {
  .wrapper--resources-home-page {
    padding: 80px 0 150px;
  }
}

@media only screen and (min-width: 1024px) {
  .wrapper--resources-home-page {
    padding: 80px 0 260px;
    margin-top: 60px;
  }
}

.wrapper--cta-block-home-page {
  background: url("../images/single-line.svg") no-repeat;
  background-size: contain;
  padding: 30px 0 0;
  margin-top: 30px;
}

@media only screen and (min-width: 480px) {
  .wrapper--cta-block-home-page {
    background-size: cover;
    margin: 40px 0 -90px;
  }
}

.wrapper--projects-home-page {
  background: url("../images/grey-quarter-with-line.svg") no-repeat;
  background-size: cover;
}

@media only screen and (min-width: 1024px) {
  .wrapper--projects-home-page {
    padding: 50px 0 140px;
  }
}

.wrapper--journey-home-page {
  background: url("../images/double-lines.svg") no-repeat #002147;
  background-size: cover;
  padding: 5px 0 10px;
}

@media only screen and (min-width: 480px) {
  .wrapper--journey-home-page {
    padding: 150px 0 90px;
  }
}

.wrapper--journey-step {
  display: flex;
  margin: 0 auto;
}

.wrapper--with-sidebar {
  max-width: 1350px;
  max-width: 1280px;
  margin: 60px auto 0;
  display: flex;
}

@media only screen and (min-width: 1024px) {
  .wrapper--with-sidebar {
    margin: 20px auto;
    padding: 2rem;
  }
}

.wrapper--tech-guide-download {
  position: relative;
  top: 58px;
  max-width: 100%;
}

@media only screen and (min-width: 1024px) {
  .wrapper--tech-guide-download {
    max-width: 1000px;
    top: auto;
  }
}

.wrapper--case-study-download {
  position: relative;
  top: 58px;
  z-index: 1;
}

@media only screen and (min-width: 1024px) {
  .wrapper--case-study-download {
    max-width: 1000px;
    top: auto;
  }
}

.wrapper--section-header {
  background: #fff;
}

@media only screen and (min-width: 1024px) {
  .wrapper--section-header {
    padding: 20px 0;
  }
}

.wrapper--internal-page {
  margin: 0 auto;
  padding: 20px;
  background: #fff;
}

@media only screen and (min-width: 1024px) {
  .wrapper--internal-page {
    padding: 40px 0;
  }
}

.wrapper--color-wash {
  background-image: url("../images/color-wash-bg.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  padding-top: 90px;
  padding-bottom: 160px;
  margin-bottom: -14%;
}

.wrapper--white-bg {
  background: #fff;
}

.wrapper--concrete {
  background: #f4f2f2;
}

.wrapper--no-hero {
  padding-top: 2rem;
}

.wrapper--form-page {
  padding: 2rem 0;
  background: #fff;
}

@media only screen and (min-width: 768px) {
  .wrapper--form-page {
    padding: 80px 100px;
  }
}

.template--about-us-page .intro {
  padding-top: 10px;
  padding-bottom: 40px;
}

.article-footer {
  border-top: 2px solid #f4f2f2;
  padding-top: 2rem;
  padding-bottom: 4rem;
  margin-top: 3rem;
}

.article-footer h4 {
  margin-top: 0;
}

.sharing-bar {
  position: absolute;
  top: 4px;
  right: 100%;
  display: none;
}

@media only screen and (min-width: 1024px) {
  .sharing-bar {
    display: block;
  }
}

.wrapper--no-hero .sharing-bar {
  top: 4rem;
  right: calc(100% + 15px);
}

.template--article-page main .page-header__image {
  min-height: 320px;
  height: 30vh;
  background-position: center;
  background-size: cover;
  width: 100%;
  margin: 0;
}

.template--article-page main .page-header h1 {
  letter-spacing: -1px;
}

.template--article-page main .wrapper--with-sidebar {
  flex-direction: column;
  margin-top: 0;
}

@media only screen and (min-width: 1024px) {
  .template--article-page main .wrapper--with-sidebar {
    flex-direction: row;
    padding-top: 0;
  }
}

.template--article-page main .sidebar {
  display: block;
  margin: 0 0 22px;
  width: auto;
  padding: 0 var(--padding);
}

@media only screen and (min-width: 1024px) {
  .template--article-page main .sidebar {
    width: 350px;
    margin: 0 16px 0 0;
    padding: 0;
  }
}

.template--article-page main .sidebar-content {
  flex-direction: column;
  transition: opacity 0.25s ease-out;
  opacity: 1;
}

.template--article-page main .sidebar-content.hidden {
  opacity: 0;
}

.template--article-page main .chapter-content .page-header__subheading {
  font-size: 2.38095vw;
  margin-top: 6vw;
  max-width: 100%;
  font-weight: 400;
}

@media (max-width: 1008px) {
  .template--article-page main .chapter-content .page-header__subheading {
    font-size: 24px;
  }
}

@media (min-width: 1260px) {
  .template--article-page main .chapter-content .page-header__subheading {
    font-size: 30px;
  }
}

@media only screen and (min-width: 1024px) {
  .template--article-page main .chapter-content .page-header__subheading {
    margin-top: -10px;
  }
}

.template--article-page main .chapter-content .page-header__subheading p {
  margin: 0;
}

.template--article-page main .chapter-content .page-header__subheading .rich-text a {
  font-weight: inherit;
}

.template--article-page main .chapter-content .page-header__subheading * {
  font-size: inherit;
}

.template--article-page main .chapter__title.heading:empty {
  display: none;
}

@media only screen and (min-width: 1024px) {
  .template--article-page main .chapter-content .full-width {
    max-width: 1166px;
    margin: 50px 0 50px -316px;
  }
}

.template--article-page main .wrapper--content {
  padding: 0;
}

.template--article-page main .wrapper--content p {
  font-weight: 400;
}

.template--article-page main .clear-margin-top > div:first-of-type > .rich-text > *:first-child:empty + * {
  margin-top: -10px;
}

.template--article-page main .clear-margin-top > div:first-of-type > .rich-text > *:first-child {
  margin-top: -10px;
}

.template--article-page main .clear-margin-top > div:first-of-type > div {
  margin-top: 0;
}

.template--article-page main .clear-margin-top > div:first-of-type.heading h2 {
  margin-top: -10px;
}

.sidebar--section {
  padding: 0.5rem 0;
  line-height: 1.5;
  font-weight: 300;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: 400;
  font-size: 1.42857vw;
}

@media (max-width: 980px) {
  .sidebar--section {
    font-size: 14px;
  }
}

@media (min-width: 1260px) {
  .sidebar--section {
    font-size: 18px;
  }
}

@media only screen and (min-width: 1024px) {
  .sidebar--section {
    padding: 1rem 0;
    align-items: flex-start;
    flex-direction: column;
    border-top: 2px solid #cfcfcf;
  }
}

.sidebar--section:first-child {
  padding-top: 1rem;
  border-top: 2px solid #cfcfcf;
}

.sidebar--section:last-child {
  border-bottom: 2px solid #cfcfcf;
  padding-bottom: 1rem;
}

@media only screen and (min-width: 1024px) {
  .sidebar--section:last-child {
    border-bottom: none;
  }
}

.sidebar--section h4 {
  margin: 0 10px 0 0;
}

.sidebar--section p {
  margin: 0;
}

.sidebar--section-authors {
  align-items: flex-start;
}

.sidebar--section-authors .authors-list {
  display: inline-block;
  margin: 0;
  width: 100%;
}

@media only screen and (min-width: 1024px) {
  .sidebar--section-authors .authors-list {
    display: flex;
    flex-direction: column;
  }
}

.sidebar--section-authors .author {
  list-style: none;
  display: inline-block;
}

.sidebar--section-authors .author:not(:last-child) a::after {
  content: ',';
}

@media only screen and (min-width: 1024px) {
  .sidebar--section-authors .author:not(:last-child) a::after {
    content: none;
  }
}

@media only screen and (min-width: 1024px) {
  .sidebar--section-authors .author {
    display: initial;
    margin-top: 2px;
  }
}

.sidebar--section-authors .author a {
  font-size: 1.42857vw;
  color: #00629b;
  padding: 0;
}

@media (max-width: 980px) {
  .sidebar--section-authors .author a {
    font-size: 14px;
  }
}

@media (min-width: 1260px) {
  .sidebar--section-authors .author a {
    font-size: 18px;
  }
}

.sidebar--section-authors .author img {
  display: none;
  float: left;
  margin: 5px 10px 20px 0;
}

@media only screen and (min-width: 1024px) {
  .sidebar--section-authors .author img {
    display: initial;
  }
}

.sidebar--section-authors .author b {
  font-weight: 600;
  margin-right: 10px;
}

.sidebar--section-authors .author span {
  display: none;
}

@media only screen and (min-width: 1024px) {
  .sidebar--section-authors .author span {
    display: initial;
  }
}

@media only screen and (min-width: 1024px) {
  .sidebar--section-authors .author.no-photo {
    margin-left: 70px;
  }
}

.sidebar--section-social > div {
  flex-direction: row;
}

@media only screen and (min-width: 1024px) {
  .sidebar--section-social > div {
    margin-top: 0.5rem;
  }
}

.sidebar--section-social a {
  color: #fff;
  margin-right: 10px;
  padding: 6px;
  font-size: 16px;
}

@media only screen and (min-width: 1024px) {
  .sidebar--section-social a {
    padding: 15px;
  }
}

.template--case-study .page-header {
  padding: 2rem 0;
}

.template--case-study .header__heading {
  flex-grow: 1;
  text-align: left;
}

.template--case-study .image-block {
  margin-bottom: 40px;
}

.template--case-study .rich-text ul {
  padding-left: 1rem;
}

.paragraph--alt {
  background: url("../images/cream-bg.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  padding: 20px 0;
}

@media only screen and (min-width: 768px) {
  .paragraph--alt {
    padding: 40px 0;
  }
}

.case-study__location {
  display: flex;
  margin: 20px 0 10px 0;
}

.case-study__location-icon {
  width: 15px;
  height: 20px;
  fill: #000;
  margin-right: 15px;
}

.case-study__location-text {
  margin: 0;
  color: #000;
  font-size: 18px;
  font-weight: 400;
}

.case-study__hero-image {
  display: flex;
  flex-direction: column;
  margin-bottom: 10%;
  margin-right: 0;
}

@media only screen and (min-width: 1024px) {
  .case-study__hero-image {
    flex-direction: row;
  }
}

.case-study__hero-image img {
  width: 100%;
}

.case-study__hero-image--caption {
  font-style: italic;
  padding: 30px;
  background: rgba(0, 0, 0, 0.1);
}

@media only screen and (min-width: 1024px) {
  .case-study__hero-image--caption {
    width: 40%;
  }
}

.case-study__categories {
  display: flex;
  margin-bottom: 10px;
}

.case-study__category {
  color: #000;
  text-transform: uppercase;
  border-right: 1px solid #000;
  padding-right: 5px;
  margin-right: 5px;
  font-size: 15px;
}

.case-study__category:last-child {
  border: 0;
  padding: 0;
  margin: 0;
}

.reading-time {
  color: #d44412;
  font-weight: 400;
}

.template--external-resource-page .external-resource-cta-block,
.template--external-resource-index-page .external-resource-cta-block {
  border: 6px solid #002147;
  display: flex;
  flex-direction: column;
  min-height: 260px;
  margin: 24px 0;
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-page .external-resource-cta-block,
  .template--external-resource-index-page .external-resource-cta-block {
    flex-direction: row;
  }
}

.template--external-resource-page .external-resource-cta-block__copy,
.template--external-resource-index-page .external-resource-cta-block__copy {
  color: #fff;
  background-color: #002147;
  flex: 6;
  padding: 15px;
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-page .external-resource-cta-block__copy,
  .template--external-resource-index-page .external-resource-cta-block__copy {
    padding: 30px;
  }
}

.template--external-resource-page .external-resource-cta-block__copy h2,
.template--external-resource-page .external-resource-cta-block__copy h3,
.template--external-resource-page .external-resource-cta-block__copy h4,
.template--external-resource-index-page .external-resource-cta-block__copy h2,
.template--external-resource-index-page .external-resource-cta-block__copy h3,
.template--external-resource-index-page .external-resource-cta-block__copy h4 {
  color: #fff;
  margin: 10px 0;
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-page .external-resource-cta-block__copy h2,
  .template--external-resource-page .external-resource-cta-block__copy h3,
  .template--external-resource-page .external-resource-cta-block__copy h4,
  .template--external-resource-index-page .external-resource-cta-block__copy h2,
  .template--external-resource-index-page .external-resource-cta-block__copy h3,
  .template--external-resource-index-page .external-resource-cta-block__copy h4 {
    margin: 20px 0;
  }
}

.template--external-resource-page .external-resource-cta-block__title h3,
.template--external-resource-index-page .external-resource-cta-block__title h3 {
  margin: 10px 0;
  padding-bottom: 10px;
  font-weight: normal;
  font-size: 2.53968vw;
  line-height: 1.2;
  color: #002147;
}

@media (max-width: 708.75px) {
  .template--external-resource-page .external-resource-cta-block__title h3,
  .template--external-resource-index-page .external-resource-cta-block__title h3 {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .template--external-resource-page .external-resource-cta-block__title h3,
  .template--external-resource-index-page .external-resource-cta-block__title h3 {
    font-size: 32px;
  }
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-page .external-resource-cta-block__title h3,
  .template--external-resource-index-page .external-resource-cta-block__title h3 {
    margin: 20px 0;
  }
}

.template--external-resource-page .external-resource-cta-block__block,
.template--external-resource-index-page .external-resource-cta-block__block {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex: 15;
}

.template--external-resource-page .external-resource-cta-block__action,
.template--external-resource-index-page .external-resource-cta-block__action {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 15px;
  flex: 10;
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-page .external-resource-cta-block__action,
  .template--external-resource-index-page .external-resource-cta-block__action {
    padding: 30px;
  }
}

.template--external-resource-page .external-resource-cta-block__action .button,
.template--external-resource-index-page .external-resource-cta-block__action .button {
  align-self: flex-start;
  line-height: 1.4;
}

.template--external-resource-page .external-resource-cta-block__image,
.template--external-resource-index-page .external-resource-cta-block__image {
  background-repeat: no-repeat;
  background-size: cover;
  flex: 12;
}

.template--external-resource-page .external-resource-cta-block__container,
.template--external-resource-index-page .external-resource-cta-block__container {
  margin: 2rem 0 4rem 0;
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-page .external-resource-cta-block__container,
  .template--external-resource-index-page .external-resource-cta-block__container {
    margin: 4rem 0 8rem 0;
  }
}

.template--external-resource-page .page-header {
  margin-top: 40px;
}

@media only screen and (min-width: 768px) {
  .template--external-resource-page .page-header {
    margin-top: 100px;
  }
}

.template--external-resource-page .page-header__category-tag {
  color: #002147;
}

.template--external-resource-page .page-header__heading {
  margin: 1rem 0 4rem 0;
  max-width: 800px;
}

.template--external-resource-page .page-header__details {
  color: #002147;
  margin: 0rem 0 3rem 0;
}

.template--external-resource-page .page-header__downloads {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 20px;
  align-items: center;
  padding: 20px 0;
  border-top: 1px solid #e7e7e7;
  border-bottom: 1px solid #e7e7e7;
}

.template--external-resource-page .page-header__downloads .button--download {
  margin-top: 0;
}

.template--external-resource-page .page-header__downloads-label {
  color: #002147;
  font-weight: 700;
  display: none;
}

@media only screen and (min-width: 768px) {
  .template--external-resource-page .page-header__downloads-label {
    display: block;
  }
}

.template--external-resource-page .page-header__publication-image {
  --width: 52px;
  --height: 74px;
  float: right;
  box-shadow: 2px 2px 0px -1px #d3d0d4;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  background-color: #e1e1e1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  min-width: var(--width);
  max-width: var(--width);
  max-height: var(--height);
  min-height: var(--height);
  margin: 0 0.5rem 2rem 2rem;
}

@media only screen and (min-width: 480px) {
  .template--external-resource-page .page-header__publication-image {
    --width: 105px;
    --height: 148px;
    box-shadow: 3px 3px 0px -1px #d3d0d4;
  }
}

@media only screen and (min-width: 768px) {
  .template--external-resource-page .page-header__publication-image {
    margin-right: 1rem;
  }
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-page .page-header__publication-image {
    --width: 210px;
    --height: 297px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    margin-right: 0;
  }
}

.template--external-resource-page .page-header__publication-image--Video {
  --width: 52px;
  --height: 30px;
}

@media only screen and (min-width: 480px) {
  .template--external-resource-page .page-header__publication-image--Video {
    --width: 105px;
    --height: 70px;
  }
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-page .page-header__publication-image--Video {
    --width: 210px;
    --height: 120px;
  }
}

.template--external-resource-index-page .search-results__results-wrapper {
  width: 100%;
}

.template--external-resource-index-page .search-result__link {
  display: block;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  min-height: 265px;
  padding: 1rem 1rem;
}

@media only screen and (min-width: 480px) {
  .template--external-resource-index-page .search-result__link {
    padding: 1.5rem 1rem;
  }
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-index-page .search-result__link {
    margin: 0;
  }
}

.template--external-resource-index-page .search-result__link:hover {
  background: #f4f2f2;
}

.template--external-resource-index-page .search-result__link.featured {
  border: 6px solid #878fa1;
  margin-bottom: 10px;
}

.template--external-resource-index-page .search-result__link.featured .search-result__main {
  margin: 0;
}

@media only screen and (min-width: 480px) {
  .template--external-resource-index-page .search-result__link.featured {
    margin-bottom: 15px;
  }
}

.template--external-resource-index-page .search-result__featured-title {
  color: #000;
  margin-bottom: 1.5rem;
  font-size: 1.5873vw;
}

@media (max-width: 945px) {
  .template--external-resource-index-page .search-result__featured-title {
    font-size: 15px;
  }
}

@media (min-width: 1260px) {
  .template--external-resource-index-page .search-result__featured-title {
    font-size: 20px;
  }
}

@media only screen and (min-width: 480px) {
  .template--external-resource-index-page .search-result__featured-title {
    margin-bottom: 1rem;
  }
}

.template--external-resource-index-page .search-result__main {
  display: flex;
  margin: 0 6px;
}

.template--external-resource-index-page .search-result__image {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  box-shadow: 2px 2px 0px -1px #d3d0d4;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  background-color: #e1e1e1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  flex: 1 0 auto;
  min-width: 52px;
  max-width: 52px;
  max-height: 74px;
  min-height: 74px;
  margin: 0 1rem 0 0;
  margin-bottom: 10px;
}

@media only screen and (min-width: 480px) {
  .template--external-resource-index-page .search-result__image {
    box-shadow: 3px 3px 0px -1px #d3d0d4;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    min-width: 105px;
    max-width: 105px;
    max-height: 148px;
    min-height: 148px;
    margin: 0;
    margin-right: 2rem;
  }
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-index-page .search-result__image {
    box-shadow: 3px 3px 0px -1px #d3d0d4;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    min-width: 210px;
    max-width: 210px;
    max-height: 297px;
    min-height: 297px;
  }
}

.template--external-resource-index-page .search-result__image .has-video {
  display: flex;
  align-items: center;
  background: #00629b;
  color: #fff;
  justify-content: center;
  align-self: flex-start;
  width: 32px;
  height: 32px;
}

.template--external-resource-index-page .search-result__image .has-video::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #fff;
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-index-page .search-result__image .has-video {
    width: 50px;
    height: 50px;
  }
  .template--external-resource-index-page .search-result__image .has-video::after {
    border-width: 7px 0 7px 14px;
  }
}

.template--external-resource-index-page .search-result__content {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  width: 100%;
}

.template--external-resource-index-page .search-result__body {
  display: block;
}

.template--external-resource-index-page .search-result__title {
  margin: 1rem 0 0 0;
}

.template--external-resource-index-page .search-result__intro {
  margin: 1rem 0 0 0;
  color: #000;
  font-size: 1.42857vw;
  font-weight: 400;
  line-height: 1.5;
}

@media (max-width: 1050px) {
  .template--external-resource-index-page .search-result__intro {
    font-size: 15px;
  }
}

@media (min-width: 1260px) {
  .template--external-resource-index-page .search-result__intro {
    font-size: 18px;
  }
}

.template--external-resource-index-page .search-result__footer {
  margin: 1rem 0 0 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
}

@media only screen and (min-width: 768px) {
  .template--external-resource-index-page .search-result__footer {
    flex-direction: column;
  }
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-index-page .search-result__footer {
    flex-direction: row;
  }
}

.template--external-resource-index-page .search-result__organisation {
  margin: 1rem 0 0 0;
  color: #002147;
  font-size: 1.42857vw;
  font-weight: 400;
  line-height: 1.5;
  flex-grow: 1;
  align-self: flex-start;
}

@media (max-width: 1050px) {
  .template--external-resource-index-page .search-result__organisation {
    font-size: 15px;
  }
}

@media (min-width: 1260px) {
  .template--external-resource-index-page .search-result__organisation {
    font-size: 18px;
  }
}

.template--external-resource-index-page .search-result .golab {
  background-color: #00629b;
  color: #fff;
  padding: 15px;
  flex-grow: 0;
}

.template--external-resource-index-page .search-result__more {
  color: #fb5a40;
  font-size: 1.42857vw;
  font-weight: 400;
  flex: 0 0 auto;
  align-self: flex-end;
}

@media (max-width: 1050px) {
  .template--external-resource-index-page .search-result__more {
    font-size: 15px;
  }
}

@media (min-width: 1260px) {
  .template--external-resource-index-page .search-result__more {
    font-size: 18px;
  }
}

.template--external-resource-index-page .search-result .listing-details {
  margin-top: 1rem;
}

.template--external-resource-index-page .search-result--Video .search-result__image {
  --width: 52px;
  --height: 30px;
  min-width: var(--width);
  max-width: var(--width);
  max-height: var(--height);
  min-height: var(--height);
  margin: 0 1rem 0 0;
  margin-bottom: 10px;
}

@media only screen and (min-width: 480px) {
  .template--external-resource-index-page .search-result--Video .search-result__image {
    --width: 105px;
    --height: 70px;
    box-shadow: 3px 3px 0px -1px #d3d0d4;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    margin: 0;
    margin-right: 2rem;
  }
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-index-page .search-result--Video .search-result__image {
    --width: 210px;
    --height: 120px;
    box-shadow: 3px 3px 0px -1px #d3d0d4;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
}

.template--external-resource-index-page .search-result--Video .search-result__image .has-video {
  margin: auto;
  border: 1px solid #fff;
  border-radius: 3px;
}

@media only screen and (min-width: 1024px) {
  .template--external-resource-index-page .search-result--Video .search-result__image .has-video {
    border: 2px solid #fff;
    border-radius: 4px;
  }
}

.template--indigo-fund-details .page-header {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  margin-bottom: 2rem;
}

@media only screen and (min-width: 768px) {
  .template--indigo-fund-details .page-header {
    margin-top: 40px;
  }
}

.template--indigo-fund-details .page-header .super-title {
  text-transform: uppercase;
  font-size: 1.5873vw;
  color: #000;
}

@media (max-width: 1134px) {
  .template--indigo-fund-details .page-header .super-title {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .template--indigo-fund-details .page-header .super-title {
    font-size: 20px;
  }
}

.template--indigo-fund-details .page-header h1 {
  font-size: 4.7619vw;
  margin-top: 5px;
  font-weight: 700;
  margin-bottom: 2.5rem;
}

@media (max-width: 882px) {
  .template--indigo-fund-details .page-header h1 {
    font-size: 42px;
  }
}

@media (min-width: 1260px) {
  .template--indigo-fund-details .page-header h1 {
    font-size: 60px;
  }
}

.template--indigo-fund-details .page-header .page-header__heading {
  max-width: 960px;
}

.template--indigo-fund-details .fund-details__content {
  margin-bottom: 40px;
}

@media only screen and (min-width: 1024px) {
  .template--indigo-fund-details .fund-details__content {
    margin-bottom: 80px;
  }
}

.template--indigo-fund-details .fund-details__content .super-title {
  font-size: 1.5873vw;
  color: #000;
}

@media (max-width: 1134px) {
  .template--indigo-fund-details .fund-details__content .super-title {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .template--indigo-fund-details .fund-details__content .super-title {
    font-size: 20px;
  }
}

.template--indigo-fund-details .fund-details__content h2 {
  font-size: 2.69841vw;
  margin-top: 40px;
  font-weight: 700;
  margin-bottom: 20px;
}

@media (max-width: 815.29412px) {
  .template--indigo-fund-details .fund-details__content h2 {
    font-size: 22px;
  }
}

@media (min-width: 1260px) {
  .template--indigo-fund-details .fund-details__content h2 {
    font-size: 34px;
  }
}

.template--indigo-fund-details .fund-details__content .host-institution {
  margin-bottom: 40px;
}

.template--indigo-fund-details .fund-details__content .host-institution h2 {
  margin-top: 4px;
  font-weight: 700;
  margin-bottom: 10px;
}

.template--indigo-fund-details .fund-details__content .fund-details__content-geo {
  background-color: #f4f2f2;
  overflow: hidden;
}

.template--indigo-fund-details .fund-details__content .fund-details__content-geo h2 {
  font-size: 1.90476vw;
  margin-top: 10px;
  font-weight: 700;
  margin-bottom: 10px;
}

@media (max-width: 945px) {
  .template--indigo-fund-details .fund-details__content .fund-details__content-geo h2 {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .template--indigo-fund-details .fund-details__content .fund-details__content-geo h2 {
    font-size: 24px;
  }
}

.template--indigo-fund-details .fund-details__content .fund-details__content-geo .geo-areas__map {
  background-color: #f4f2f2;
  width: 100%;
}

.template--indigo-fund-details .fund-details__content .fund-details__content-geo .geo-areas__countries {
  padding: 20px;
  border-top: 2px solid #e7e7e7;
  background-color: #f4f2f2;
}

@media only screen and (min-width: 1024px) {
  .template--indigo-fund-details .fund-details__content .fund-details__content-geo .geo-areas__countries {
    padding: 40px;
  }
}

.template--indigo-fund-details .fund-details__content .fund-details__content-main {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.template--indigo-fund-details .fund-details__content .fund-details__content-main .fund-details__content-secondary .capital-stats {
  margin-top: 40px;
  padding: 30px 20px;
  background: #50a0c4;
  color: #fff;
}

.template--indigo-fund-details .fund-details__content .fund-details__content-main .fund-details__content-secondary .capital-stats .super-title {
  color: #fff;
}

.template--indigo-fund-details .fund-details__content .fund-details__content-main .fund-details__content-secondary .capital-stats h2 {
  font-size: 3.1746vw;
  margin-top: 10px;
  font-weight: 700;
  margin-bottom: 5px;
  color: #fff;
}

@media (max-width: 1071px) {
  .template--indigo-fund-details .fund-details__content .fund-details__content-main .fund-details__content-secondary .capital-stats h2 {
    font-size: 34px;
  }
}

@media (min-width: 1260px) {
  .template--indigo-fund-details .fund-details__content .fund-details__content-main .fund-details__content-secondary .capital-stats h2 {
    font-size: 40px;
  }
}

@media only screen and (min-width: 768px) {
  .template--indigo-fund-details .fund-details__content .fund-details__content-main {
    flex-direction: row;
    gap: 60px;
  }
  .template--indigo-fund-details .fund-details__content .fund-details__content-main .fund-details__content-secondary {
    min-width: 324px;
    max-width: 324px;
  }
}

.indigo-header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  background-color: #002147;
  background-size: 100%, 0%;
}

@media only screen and (min-width: 768px) {
  .indigo-header {
    background-position: center;
    background-repeat: no-repeat;
    background-size: 0%, cover;
  }
}

.indigo-header__text {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.indigo-header__text h1 {
  margin-top: 8vw;
  color: #fff;
  text-shadow: 1px 1px 2px #000;
}

.indigo-header__text h2 {
  color: #fff;
  text-shadow: 1px 1px 2px #000;
  font-weight: 400;
  margin-left: 10px;
  margin-right: 10px;
}

.indigo-header__text p {
  color: #fff;
  text-shadow: 1px 1px 2px #000;
  font-size: 1.90476vw;
  max-width: 670px;
  margin-left: 10px;
  margin-right: 10px;
}

@media (max-width: 1050px) {
  .indigo-header__text p {
    font-size: 20px;
  }
}

@media (min-width: 1260px) {
  .indigo-header__text p {
    font-size: 24px;
  }
}

.indigo-header__text .button {
  margin-bottom: 8vw;
}

.indigo-header__text--photo {
  background-position: bottom, center;
  background-repeat: no-repeat;
  background-size: 100% 25px, cover;
}

@media only screen and (min-width: 768px) {
  .indigo-header__text--photo {
    background-size: 0%, 0%;
  }
}

.template--indigo-home-page .wrapper {
  padding: 4rem 30px;
  margin: 0 auto;
  max-width: 1280px;
}

.template--indigo-home-page .wrapper.wrapper--grid-home-page {
  max-width: 100%;
}

.template--indigo-home-page .wrapper h2 {
  margin: 0 0 2.5rem 0;
  font-size: 3.80952vw;
}

@media (max-width: 787.5px) {
  .template--indigo-home-page .wrapper h2 {
    font-size: 30px;
  }
}

@media (min-width: 1260px) {
  .template--indigo-home-page .wrapper h2 {
    font-size: 48px;
  }
}

.template--indigo-home-page .wrapper.wrapper--grid-home-page h2 {
  text-align: center;
  margin: 0 0 4rem 0;
}

.template--indigo-home-page .wrapper--about {
  display: flex;
  flex-direction: column;
}

@media only screen and (min-width: 768px) {
  .template--indigo-home-page .wrapper--about {
    flex-direction: row;
  }
}

.template--indigo-home-page .wrapper--about div {
  max-width: 810px;
}

@media only screen and (min-width: 768px) {
  .template--indigo-home-page .wrapper--about div {
    margin-right: 10%;
  }
}

.template--indigo-home-page .wrapper--about ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .template--indigo-home-page .wrapper--about ul {
    flex: 1 1 0;
    display: initial;
  }
}

.template--indigo-home-page .wrapper--about ul li {
  flex: 1 1 0;
}

@media only screen and (min-width: 768px) {
  .template--indigo-home-page .wrapper--about ul li {
    padding: 5%;
    padding-left: 0;
  }
}

.template--indigo-home-page .wrapper--about ul li a {
  color: #002147;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  font-size: 1.98413vw;
}

.template--indigo-home-page .wrapper--about ul li a:hover {
  color: #00629b;
  transform: translateY(5px);
}

@media only screen and (min-width: 768px) {
  .template--indigo-home-page .wrapper--about ul li a {
    flex-direction: row;
    justify-content: flex-start;
  }
  .template--indigo-home-page .wrapper--about ul li a:hover {
    transform: translateX(10px);
  }
}

@media (max-width: 1008px) {
  .template--indigo-home-page .wrapper--about ul li a {
    font-size: 20px;
  }
}

@media (min-width: 1260px) {
  .template--indigo-home-page .wrapper--about ul li a {
    font-size: 25px;
  }
}

.template--indigo-home-page .wrapper--about ul li:not(:last-child) {
  border-right: 4px solid #f4f2f2;
}

@media only screen and (min-width: 768px) {
  .template--indigo-home-page .wrapper--about ul li:not(:last-child) {
    border-bottom: 4px solid #f4f2f2;
    border-right: none;
  }
}

.template--indigo-home-page .wrapper--about ul li svg {
  display: inline-block;
  height: 64px;
  width: 64px;
  fill: currentColor;
  margin-bottom: 5px;
}

@media only screen and (min-width: 768px) {
  .template--indigo-home-page .wrapper--about ul li svg {
    margin-bottom: 0;
    margin-right: 15px;
  }
}

.template--indigo-home-page .wrapper--contribute .contribution__header {
  display: flex;
  align-items: center;
}

.template--indigo-home-page .wrapper--contribute .contribution__header svg {
  height: 64px;
  width: 64px;
  margin-right: 15px;
}

@media only screen and (min-width: 768px) {
  .template--indigo-home-page .wrapper--contribute .contribution__header svg {
    width: calc(10% - 15px);
  }
}

.template--indigo-home-page .wrapper--contribute .contribution__content {
  width: 100%;
  margin: 0 auto;
}

@media only screen and (min-width: 320px) {
  .template--indigo-home-page .wrapper--contribute .contribution__content {
    width: 80%;
  }
}

.template--indigo-home-page .wrapper--contribute .contribution__content p {
  max-width: 70ch;
}

.template--indigo-home-page .wrapper--contribute .contribution__content ul,
.template--indigo-home-page .wrapper--contribute .contribution__content .rich-text ul {
  margin: 30px 0;
  border: 8px solid #f4f2f2;
  padding: 40px 26px;
  list-style-type: none;
  line-height: 1.15;
}

.template--indigo-home-page .wrapper--contribute .contribution__content ul li,
.template--indigo-home-page .wrapper--contribute .contribution__content .rich-text ul li {
  margin-bottom: 10px;
  padding: 0;
}

.template--indigo-home-page .wrapper--contribute .contribution__content ul li:first-child, .template--indigo-home-page .wrapper--contribute .contribution__content ul li:first-child *,
.template--indigo-home-page .wrapper--contribute .contribution__content .rich-text ul li:first-child,
.template--indigo-home-page .wrapper--contribute .contribution__content .rich-text ul li:first-child * {
  margin-top: 0;
}

.template--indigo-home-page .wrapper--contribute .contribution__content ul li:last-child, .template--indigo-home-page .wrapper--contribute .contribution__content ul li:last-child *,
.template--indigo-home-page .wrapper--contribute .contribution__content .rich-text ul li:last-child,
.template--indigo-home-page .wrapper--contribute .contribution__content .rich-text ul li:last-child * {
  margin-bottom: 0;
}

.template--indigo-home-page .indigo-cta-block {
  max-width: calc(1350px - 4rem - 60px);
  margin: 0 auto;
  padding: 2ch;
}

@media only screen and (min-width: 768px) {
  .template--indigo-home-page .indigo-cta-block {
    padding: 4ch;
  }
}

.template--indigo-home-page .indigo-accordion {
  width: 100%;
  margin: 4px auto;
}

@media only screen and (min-width: 320px) {
  .template--indigo-home-page .indigo-accordion {
    width: 80%;
  }
}

.template--indigo-home-page .accordion__body {
  padding: 20px;
  background-color: #f4f2f2;
  max-width: 100%;
}

.template--indigo-home-page .accordion__body .buttons-block {
  text-align: left;
  margin-top: -8px;
  margin-bottom: 1rem;
}

.template--indigo-home-page .accordion__body .buttons-block .button__icon {
  display: none;
}

.template--indigo-home-page .block-network_evolution .indigo-plain-container {
  background-color: #e7e7e7;
}

.template--indigo-home-page .block-network_evolution .indigo-accordion {
  max-width: 1280px;
  width: 100%;
  padding: 1rem 30px;
}

.template--indigo-home-page .block-network_evolution .accordion__body {
  padding: 0;
}

.template--indigo-home-page .block-network_evolution .info-block {
  padding: 30px;
}

.template--indigo-home-page .block-network_evolution #scene canvas {
  border-radius: 3px;
  border: 1px solid #B1BCCF;
}

.template--indigo-home-page .quote {
  margin: 5% 30px;
}

@media only screen and (min-width: 480px) {
  .template--indigo-home-page .quote {
    margin: 5% auto;
    padding-right: 70px;
  }
}

.template--indigo-home-page .quote span {
  font-size: 3.1746vw;
}

@media (max-width: 945px) {
  .template--indigo-home-page .quote span {
    font-size: 30px;
  }
}

@media (min-width: 1260px) {
  .template--indigo-home-page .quote span {
    font-size: 40px;
  }
}

.sdg-block {
  display: grid;
  grid-gap: 5px;
  grid-auto-flow: row;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  margin-top: 10px;
}

.sdg-block.small {
  grid-template-columns: repeat(auto-fill, minmax(64px, 1fr));
}

.journey-step__count {
  color: #34ddd9;
  margin: 0 0 5px;
}

.journey-step__heading {
  margin: 0 0 1rem;
}

.journey-step__lead {
  font-size: 2.06349vw;
  font-weight: 300;
}

@media (max-width: 872.30769px) {
  .journey-step__lead {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .journey-step__lead {
    font-size: 26px;
  }
}

.journey-step__links {
  background: #002b57;
  display: flex;
  padding: 20px 30px;
}

@media only screen and (min-width: 768px) {
  .journey-step__links {
    padding: 30px 100px 120px;
  }
}

.journey-step__link {
  flex-basis: 50%;
  display: flex;
  flex-direction: column;
}

.journey-step__link span:first-child {
  color: #fb5a40;
  font-size: 15px;
}

.journey-step__link span:last-child {
  font-size: 1.74603vw;
  color: #fff;
  font-weight: 300;
}

@media (max-width: 916.36364px) {
  .journey-step__link span:last-child {
    font-size: 16px;
  }
}

@media (min-width: 1260px) {
  .journey-step__link span:last-child {
    font-size: 22px;
  }
}

.journey-step__link--prev {
  border-right: 1px solid rgba(255, 255, 255, 0.5);
  z-index: 20;
}

.journey-step__link--prev:only-child {
  border: 0;
  text-align: start;
  flex-basis: 100%;
}

.journey-step__link--next {
  text-align: right;
  z-index: 20;
}

.journey-step__link--next:only-child {
  border: 0;
  text-align: end;
  flex-basis: 100%;
}

@media only screen and (min-width: 768px) {
  .template--journey-map::after,
  .template--journey-map-index-page::after {
    content: '';
    background-image: url("../images/journey-map-lines.svg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 100px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 60%;
    pointer-events: none;
  }
}

.template--journey-map .wrapper--overlap-top,
.template--journey-map-index-page .wrapper--overlap-top {
  margin-top: -55px;
}

.template--journey-map .header__inner--main,
.template--journey-map-index-page .header__inner--main {
  max-width: 1000px;
  margin: 0 auto;
}

.template--journey-map .header__heading,
.template--journey-map-index-page .header__heading {
  font-size: 18px;
  line-height: 1.4;
}

@media only screen and (min-width: 480px) {
  .template--journey-map .header__heading,
  .template--journey-map-index-page .header__heading {
    font-size: 26px;
  }
}

@media only screen and (min-width: 768px) {
  .template--journey-map .header__heading,
  .template--journey-map-index-page .header__heading {
    padding: 0;
    max-width: 680px;
    font-size: 36px;
  }
}

.template--listings-page .page-header {
  display: flex;
  flex-direction: column;
}

@media only screen and (min-width: 768px) {
  .template--listings-page .page-header {
    align-items: center;
    flex-direction: row;
  }
}

@media only screen and (min-width: 768px) {
  .template--listings-page .page-header__heading {
    width: 50%;
    margin-right: auto;
  }
}

.template--listings-page .page-header .subscribe-cta {
  display: flex;
  align-items: center;
}

.template--listings-page .page-header .subscribe-cta .button {
  position: relative;
}

.template--listings-page .page-header .subscribe-cta .button-label {
  margin-left: auto;
  position: relative;
  background-color: #ccd3da;
  color: #002147;
  margin-right: 24px;
  padding: 20px;
  transition: opacity 0.25s ease-out 0.25s, visibility 0s 0s;
}

@media only screen and (min-width: 768px) {
  .template--listings-page .page-header .subscribe-cta .button-label {
    margin-left: 0;
    width: 240px;
  }
}

.template--listings-page .page-header .subscribe-cta .button-label::before {
  content: '';
  height: 0px;
  width: 0px;
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 14px solid transparent;
  border-left: 14px solid #ccd3da;
}

.template--listings-page .page-header .subscribe-cta .button-label.hidden {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease-out, visibility 0s 0.25s;
}

.template--listings-page .wrapper {
  max-width: 1280px;
  margin: var(--padding) auto;
  padding: 0 var(--padding);
}

.template--listings-page .wrapper--index-search {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.template--listings-page .wrapper--index-search .search-input form {
  display: flex;
  flex-direction: column;
}

.template--listings-page .wrapper--index-search .search-input__icon {
  top: 16px;
  transform: none;
}

@media only screen and (min-width: 480px) {
  .template--listings-page .wrapper--index-search .search-input {
    width: auto;
  }
  .template--listings-page .wrapper--index-search .search-input form {
    flex-direction: row;
  }
}

.template--listings-page .wrapper--index-search .buttons-block {
  margin-left: auto;
  margin-top: 0;
}

.template--listings-page .wrapper--index-search > a {
  margin: 10px 0 10px auto;
}

.template--listings-page .wrapper--index-search .search-results__count {
  margin-left: 0;
}

@media only screen and (min-width: 480px) {
  .template--listings-page .wrapper--index-search .search-results__count {
    margin-left: 10px;
  }
}

.template--listings-page .wrapper--results {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
}

@media only screen and (min-width: 1024px) {
  .template--listings-page .wrapper--results {
    flex-direction: row;
  }
}

.template--listings-page .wrapper--featured-listings {
  background-color: #ccd3da;
  padding: calc(var(--padding) * 1.5) var(--padding);
  margin: 0 auto;
  max-width: none;
}

.template--listings-page .wrapper--featured-listings .page-header__heading {
  font-weight: 700;
  color: #002147;
  margin: 0.67em 0;
}

.template--listings-page .wrapper--featured-listings .related-grid__item {
  max-width: 380px;
}

.template--listings-page .wrapper--featured-listings .related-grid {
  max-width: calc(1280px - var(--padding) * 2);
}

.template--listings-page .related-grid {
  display: grid;
  grid-gap: var(--padding);
  grid-template-columns: 1fr;
  max-width: 1280px;
  padding: 0;
}

.template--listings-page .related-grid__item {
  width: 100%;
  margin: 0 auto;
}

.template--listings-page .related-grid__content {
  padding: var(--padding);
}

@media only screen and (min-width: 480px) {
  .template--listings-page .related-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .template--listings-page .related-grid .indigo-cta-block {
    grid-area: auto / span 2;
  }
  .template--listings-page .related-grid .indigo-cta-block.half {
    grid-area: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  .template--listings-page .related-grid--results {
    padding-left: 0;
    grid-template-columns: repeat(2, 1fr);
  }
}

.template--listings-page .search-filters {
  top: calc(-1 * var(--padding));
  left: var(--padding);
  right: var(--padding);
  border-bottom: 1px solid #e7e7e7;
}

.template--listings-page .search-filters fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

@media only screen and (min-width: 1024px) {
  .template--listings-page .search-filters {
    background: #fff;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    transform: none;
    position: sticky;
    top: 20px;
    width: 240px;
    border: none;
    margin-right: 4vw;
    max-height: 97vh;
    overflow-y: scroll;
    scrollbar-width: none;
    z-index: 0;
  }
  .template--listings-page .search-filters__list {
    width: 100%;
    border-bottom: 1px solid #e7e7e7;
  }
  .template--listings-page .search-filters__expand-button {
    padding: 15px 10px;
  }
  .template--listings-page .search-filters__expand-button:hover {
    background: #f4f2f2;
  }
  .template--listings-page .search-filters__category-header.open .search-filters__expand-button {
    background: #e7e7e7;
    color: #000;
    border-color: #e7e7e7;
  }
  .template--listings-page .search-filters__category-header.open .search-filters__expand-button:hover {
    background: #f4f2f2;
  }
  .template--listings-page .search-filters__category-header.open .search-filters__expand-icon {
    fill: #002147;
  }
}

.template--listings-page .search-filters__category:first-child .search-filters__expand-button {
  border-top: 1px solid #e7e7e7;
}

.template--listings-page .search-filters__options {
  padding: 10px;
  padding-bottom: 10px;
}

.template--listings-page .sort-filter {
  margin: 10px 0 0;
}

@media only screen and (min-width: 1024px) {
  .template--listings-page .sort-filter {
    margin: 0;
    border: 0;
    display: none;
  }
}

.template--listings-page .pagination {
  margin-left: 0;
}

@media only screen and (min-width: 480px) {
  .template--listings-page .pagination {
    margin-left: 2rem;
  }
}

@media only screen and (min-width: 1024px) {
  .template--search-page .search-filters,
  .template--external-resource-index-page .search-filters {
    margin-right: 1rem;
  }
}

.organisation__header {
  margin: 20px 0;
  padding: 20px;
  padding-top: 10px;
  background: #f4f2f2;
}

.organisation__header h1 {
  margin-top: 10px;
}

@media only screen and (min-width: 768px) {
  .organisation__header h1 {
    margin-top: 40px;
  }
}

.organisation__header a {
  color: #002147;
  text-decoration: underline;
}

@media only screen and (min-width: 768px) {
  .organisation__header {
    margin: 40px 0;
    padding: 40px;
    padding-top: 10px;
  }
}

.organisation__info p {
  font-size: 1.5873vw;
}

@media (max-width: 1134px) {
  .organisation__info p {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .organisation__info p {
    font-size: 20px;
  }
}

.organisation__summary {
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
}

@media only screen and (min-width: 768px) {
  .organisation__summary {
    flex-direction: row;
  }
}

.organisation__headquarters {
  font-weight: 600;
  font-size: 18px;
}

.organisation__info {
  padding-right: 0;
}

@media only screen and (min-width: 768px) {
  .organisation__info {
    width: 60%;
    padding-right: 20px;
  }
}

.organisation__logo {
  background: #fff;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media only screen and (min-width: 768px) {
  .organisation__logo {
    height: 385px;
    width: 385px;
    padding: 25px;
  }
}

.organisation__details {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding: 0;
  padding-bottom: 40px;
}

@media only screen and (min-width: 768px) {
  .organisation__details {
    flex-direction: row;
  }
}

@media only screen and (min-width: 768px) {
  .organisation__details div {
    width: 45%;
  }
}

.organisation__details h5 {
  margin: 20px 0 4px;
}

.organisation__details p {
  margin: 0 0 4px;
}

.organisation__details ul {
  margin-top: 4px;
}

.organisation__detail_label {
  font-weight: 700;
}

.organisation__contacts {
  padding-bottom: 20px;
}

.organisation__contact {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-bottom: 20px;
}

.organisation__contact h3 {
  margin-bottom: 0;
}

.organisation__contact-profile {
  margin-bottom: 30px;
}

.organisation__contact-item {
  font-size: 1.90476vw;
  margin: 10px 0;
}

@media (max-width: 945px) {
  .organisation__contact-item {
    font-size: 18px;
  }
}

@media (min-width: 1260px) {
  .organisation__contact-item {
    font-size: 24px;
  }
}

.template--research-landing-page main .page-header__image {
  min-height: 320px;
  height: 30vh;
  background-position: center;
  background-size: cover;
  width: 100%;
  margin: 0;
}

.template--research-landing-page main .page-header h1 {
  letter-spacing: -1px;
}

.template--research-landing-page main .lead {
  max-width: unset;
}

.template--research-landing-page .curated_pages {
  max-width: unset;
  padding: 2rem 0 0 0;
  background-color: #ccd3da;
  margin-top: 55px;
}

.template--research-landing-page .curated_pages__header {
  margin: 0 auto 4rem;
}

.template--research-landing-page .curated_pages .related-grid {
  max-width: 1000px;
}

@media only screen and (min-width: 768px) {
  .template--research-landing-page .curated_pages .related-grid__item {
    width: 45%;
  }
}

.template--research-landing-page .curated_pages + .curated_pages {
  margin-top: 0;
}

.template--search-page .header__heading {
  font-size: 40px;
}

@media only screen and (min-width: 480px) {
  .template--search-page .header__heading {
    font-size: 50px;
  }
}

@media only screen and (min-width: 768px) {
  .template--search-page .header__heading {
    font-size: 72px;
  }
}

.template--search-page .header__inner--main {
  padding-bottom: 0;
  padding-top: 0;
}

@media only screen and (min-width: 768px) {
  .template--search-page .header__inner--main {
    align-items: flex-start;
    justify-content: center;
    padding-top: 0;
  }
}

@media only screen and (min-width: 1024px) {
  .template--search-page .header__inner--main {
    padding-bottom: 8rem;
  }
}

.template--search-page .page-header__heading {
  width: 100%;
}

.template--search-page .search-input {
  margin: 2rem 0;
}

.template--search-page fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

.sidebar-wrapper {
  position: relative;
}

@media only screen and (min-width: 1024px) {
  .sidebar-wrapper {
    display: flex;
  }
}

.search-results {
  position: relative;
  z-index: 2;
  flex: 1;
  padding: 0;
}

@media only screen and (min-width: 1024px) {
  .search-results {
    margin-left: 15px;
  }
}

.search-results__header {
  font-weight: 700;
  font-size: 18px;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  padding: 15px 0;
  border-top: 1px solid #e7e7e7;
  border-bottom: 1px solid #e7e7e7;
}

@media only screen and (min-width: 1024px) {
  .search-results__header {
    color: #ee622d;
  }
}

.search-results__count {
  color: #d44412;
  font-weight: 400;
  order: 0;
  display: block;
  margin: 10px;
}

@media only screen and (min-width: 1024px) {
  .search-results__count {
    padding: 0;
  }
}

.search-results button.link {
  margin-bottom: 1rem;
}

.search-results__add {
  order: 3;
}

.sort-filter {
  display: flex;
  margin-bottom: 1rem;
  position: relative;
  height: 60px;
  width: 100%;
}

@media only screen and (min-width: 1024px) {
  .sort-filter {
    margin: 0;
    border: 0;
    display: none;
  }
}

.sort-filter button {
  border: 0;
  text-align: left;
}

.sort-filter__button {
  transition: all 0.25s ease-out;
  background: #f4f2f2;
  flex: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem;
  cursor: pointer;
}

@media only screen and (min-width: 1024px) {
  .sort-filter__button {
    flex: 0;
    background: transparent;
    padding: 0;
  }
}

.sort-filter__button:hover, .sort-filter__button:active {
  background: #e8e4e4;
}

@media only screen and (min-width: 1024px) {
  .sort-filter__button:hover, .sort-filter__button:active {
    background: transparent;
  }
}

@media only screen and (min-width: 1024px) {
  .sort-filter__button--filter {
    display: none;
  }
}

.sort-filter__icon {
  transform: rotate(90deg);
  transition: transform 0.25s ease-out;
  width: 12px;
  height: 12px;
  fill: #fb5a40;
}

@media only screen and (min-width: 1024px) {
  .sort-filter__icon {
    margin-left: 10px;
  }
}

.filter-open .sort-filter__button--filter {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: #e8e4e4;
}

.filter-open .sort-filter__button--filter .sort-filter__icon {
  transform: rotate(270deg);
}

.template--indigo-prototype-page .rich-text,
.template--indigo-sandbox-page .rich-text {
  margin: 40px 0;
}

.template--indigo-prototype-page .modal__content .rich-text,
.template--indigo-sandbox-page .modal__content .rich-text {
  margin: 0;
}

.template--indigo-prototype-page .search-results__header,
.template--indigo-sandbox-page .search-results__header {
  border-bottom: none;
}

@media only screen and (min-width: 1024px) {
  .template--indigo-prototype-page .search-results__header,
  .template--indigo-sandbox-page .search-results__header {
    padding: 0;
  }
}

.template--indigo-prototype-page .search-results.no-filters,
.template--indigo-sandbox-page .search-results.no-filters {
  max-width: 1000px;
  margin: 0 auto;
}

.template--indigo-prototype-page .search-results.no-filters .search-results__header,
.template--indigo-sandbox-page .search-results.no-filters .search-results__header {
  border: none;
}

.template--indigo-assessment-resource-index .search-results.no-filters {
  margin: 0 auto;
}

.template--indigo-assessment-resource-index .search-results.no-filters .search-results__header {
  border: none;
}

.template--standard-landing-page .wrapper--content {
  max-width: 1280px;
}

@media only screen and (min-width: 1024px) {
  .template--standard-landing-page .wrapper--content {
    padding: 0 var(--padding);
  }
}

.template--standard-landing-page .wrapper--content .reveal__body {
  padding: 0;
  max-width: 1280px;
}

.template--standard-landing-page .wrapper--content .reveal__body .wrapper {
  padding: 0;
}

.template--standard-landing-page .landing_item.background_image,
.template--standard-landing-page .landing_item.large_background_image {
  max-width: unset;
  padding: 0;
}

.template--standard-landing-page .lead,
.template--standard-landing-page .rich-text p {
  max-width: 950px;
}

.template--standard-landing-page .curated_pages {
  max-width: unset;
  padding: 0;
  background: linear-gradient(0deg, #e8edf2 80%, #ffffff00 100%);
}

.template--standard-landing-page .curated_pages__header {
  margin: 0 auto 4rem;
}

.template--standard-landing-page .curated_pages__header * {
  max-width: 750px;
}

.template--standard-landing-page .curated_pages .related-grid {
  max-width: 1000px;
}

@media only screen and (min-width: 768px) {
  .template--standard-landing-page .curated_pages .related-grid__item {
    width: 45%;
  }
}

.template--standard-landing-page .curated_pages + .large_background_image .landing-item-block {
  margin-top: 0;
}

.template--standard-landing-page .lead-container {
  display: flex;
  gap: 20px;
  flex-direction: column-reverse;
}

.template--standard-landing-page .lead-container .scroll-links-container {
  margin-top: 10px;
}

.template--standard-landing-page .lead-container .scroll-links {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  border-top: 1px solid #a79c94;
  border-bottom: 1px solid #a79c94;
  padding: 20px 0;
}

.template--standard-landing-page .lead-container .scroll-links .scroll-link-item {
  padding-right: 15px;
  font-weight: .template--standard-landing-page .lead-container .scroll-links .scroll-link-item 600;
  margin: 2px 0;
}

@media only screen and (min-width: 768px) {
  .template--standard-landing-page .lead-container .scroll-links .scroll-link-item {
    animation: link-in 550ms ease-out forwards;
    opacity: 0;
    transform: translateX(20px);
  }
}

.template--standard-landing-page .lead-container .scroll-links .scroll-link-item .chevron {
  display: none;
}

.template--standard-landing-page .lead-container .scroll-links .scroll-link-title {
  color: #002147;
  font-weight: 700;
}

@keyframes link-in {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@media only screen and (min-width: 768px) {
  .template--standard-landing-page .lead-container {
    flex-direction: row;
  }
  .template--standard-landing-page .lead-container .lead {
    flex-grow: 1;
  }
  .template--standard-landing-page .lead-container .scroll-links-container {
    margin-top: 30px;
  }
  .template--standard-landing-page .lead-container .scroll-links {
    display: block;
    min-width: 240px;
    padding: 0;
    padding-left: 20px;
    position: relative;
    border: none;
    --duration: 0;
    --delay: 0;
  }
  .template--standard-landing-page .lead-container .scroll-links::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #a79c94;
    animation: border var(--duration) linear var(--delay) forwards;
    transform: scaleY(0);
    transform-origin: top;
  }
  @keyframes border {
    to {
      transform: scaleY(1);
    }
  }
  .template--standard-landing-page .lead-container .scroll-links .scroll-link-item {
    display: block;
    padding: 0;
    margin: 8px 0;
  }
  .template--standard-landing-page .lead-container .scroll-links .scroll-link-item .chevron {
    fill: #00629b;
    display: inline;
    vertical-align: baseline;
  }
  .template--standard-landing-page .lead-container .scroll-links .scroll-link-item:first-child {
    margin-top: 0;
  }
  .template--standard-landing-page .lead-container .scroll-links .scroll-link-item:last-child {
    margin-bottom: 0;
  }
}

.sunburst__tooltip_title--section-0 {
  color: #33acd1;
}

.sunburst__path--section-0 {
  fill: #33acd1;
  stroke: #5dbdda;
  transition: all .3s;
}

.sunburst__path--section-0.sunburst__path--ring-1 {
  fill: #33acd1;
  stroke: #5dbdda;
}

.sunburst__path--section-0.sunburst__path--ring-2 {
  fill: #54bad9;
  stroke: #7ecae2;
}

.sunburst__tooltip_title--section-1 {
  color: #9351b9;
}

.sunburst__path--section-1 {
  fill: #9351b9;
  stroke: #aa75c8;
  transition: all .3s;
}

.sunburst__path--section-1.sunburst__path--ring-1 {
  fill: #9351b9;
  stroke: #aa75c8;
}

.sunburst__path--section-1.sunburst__path--ring-2 {
  fill: #a56ec5;
  stroke: #bc92d3;
}

.sunburst__tooltip_title--section-2 {
  color: #3e69c5;
}

.sunburst__path--section-2 {
  fill: #3e69c5;
  stroke: #6587d1;
  transition: all .3s;
}

.sunburst__path--section-2.sunburst__path--ring-1 {
  fill: #3e69c5;
  stroke: #6587d1;
}

.sunburst__path--section-2.sunburst__path--ring-2 {
  fill: #5d81ce;
  stroke: #85a0da;
}

.sunburst__tooltip_title--section-3 {
  color: #4ba574;
}

.sunburst__path--section-3 {
  fill: #4ba574;
  stroke: #68bb8e;
  transition: all .3s;
}

.sunburst__path--section-3.sunburst__path--ring-1 {
  fill: #4ba574;
  stroke: #68bb8e;
}

.sunburst__path--section-3.sunburst__path--ring-2 {
  fill: #61b789;
  stroke: #84c7a3;
}

.sunburst__tooltip_title--section-4 {
  color: #aa4444;
}

.sunburst__path--section-4 {
  fill: #aa4444;
  stroke: #c06161;
  transition: all .3s;
}

.sunburst__path--section-4.sunburst__path--ring-1 {
  fill: #aa4444;
  stroke: #c06161;
}

.sunburst__path--section-4.sunburst__path--ring-2 {
  fill: #bd5a5a;
  stroke: #cc7e7e;
}

.sunburst__tooltip_title--section-5 {
  color: #aa7733;
}

.sunburst__path--section-5 {
  fill: #aa7733;
  stroke: #c89148;
  transition: all .3s;
}

.sunburst__path--section-5.sunburst__path--ring-1 {
  fill: #aa7733;
  stroke: #c89148;
}

.sunburst__path--section-5.sunburst__path--ring-2 {
  fill: #c68c40;
  stroke: #d1a467;
}

.sunburst__tooltip_title--section-6 {
  color: #88aaaa;
}

.sunburst__path--section-6 {
  fill: #88aaaa;
  stroke: #a6bfbf;
  transition: all .3s;
}

.sunburst__path--section-6.sunburst__path--ring-1 {
  fill: #88aaaa;
  stroke: #a6bfbf;
}

.sunburst__path--section-6.sunburst__path--ring-2 {
  fill: #a0bbbb;
  stroke: #bed0d0;
}

.sunburst__path.sunburst__path--selected {
  fill-opacity: 1;
  stroke: #fff;
}

.sunburst__path.sunburst__path--sibling {
  fill-opacity: 0.6;
  stroke: #fff;
}

.sunburst__path.sunburst__path--faded {
  fill-opacity: 0.2;
}

.sunburst__path.sunburst__path--hovered {
  fill-opacity: 1;
  stroke-width: 3;
  stroke: #fff;
}

.sunburst__path--hidden {
  fill-opacity: 0;
}

.sunburst__text__paths {
  pointer-events: none;
}

.sunburst__outerText, .sunburst__innerText {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}

.sunburst__outerText .sunburst__text, .sunburst__innerText .sunburst__text {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 12px;
  font-weight: 300;
}

.sunburst__innerText .sunburst__text {
  padding: 5px 0;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
}

.sunburst__text {
  font-size: 11px;
  padding: 1px;
  color: black;
  text-align: center;
  pointer-events: none;
}

.sunburst__breadcrumb {
  display: none;
  width: 100%;
  margin-right: 10px;
}

@media only screen and (max-width: 767px) {
  .sunburst__outerText .sunburst__text, .sunburst__innerText .sunburst__text {
    display: none;
  }
  .sunburst__text {
    display: none;
  }
  .sunburst__breadcrumb {
    display: block;
  }
}

.sunburst__content {
  background: #172c59;
  position: relative;
  /*
  ECorys css doesn't play so well with the site - causing horizontal scrolling
  */
  margin-top: 20px;
}

.sunburst__tooltipbox {
  position: absolute;
  min-height: 24px;
  display: inline-flex;
}

.sunburst__tooltip {
  text-align: center;
  width: auto;
  height: auto;
  padding: 5px;
  font: 12px sans-serif;
  background: white;
  border: 0px;
  pointer-events: none;
  color: #555;
  max-width: 230px;
  box-shadow: 0px 0px 25px -3px #111;
}

.sunburst__container {
  position: relative;
  /*
  ECorys css doesn't play so well with the site - causing horizontal scrolling
  */
  overflow: hidden;
  max-width: 650px;
  margin: 0px auto;
}

.sunburst__content .paper-stack--journey-map {
  padding: 0 0 50 0;
}











/* ====================================================== */
/* ================= Begin Syra Styling ================= */
/* ====================================================== */

button.link {
    text-align: left;
}

button.link--blue:not(.active) {
    color: #00629b;
}

button.link--blue:not(.active):hover {
    color: #0082ce;
}

.hidden {
    opacity: 0;
    visibility: hidden;
    display: none !important;
}

.text-orange {
    color: #d44412;
}

.modal__container {
    display: block;
}

.modal--label.active {
    display: block;
}

.search-results__header {
    border-top: none;
}

/* ======================= Layout ======================= */

@media only screen and (min-width: 1024px) {
    .right_panel {
        margin-left: 2rem;
    }
}

#article_panel {
    margin-top: 2rem;
}

#plot_area {
    position: relative;
}

#my_vis {
    width: 100%;
    height: auto;
    background-color: #F8F8F8;
}

.syra-filter-panel {
    overflow: auto;
}

/* Filters (Mobile) */
.left_panel .sort-filter__button {
    position: initial;
    width: 100%;
    border: none;
}

.left_panel .search-filters {
    max-height: 0;
}
.left_panel.filter-open .search-filters {
    max-height: 100vh;
    border: 1px solid #e7e7e7;
    top: 56px;
}

@media only screen and (min-width: 1024px) {
    .left_panel.filter-open .search-filters,
    .left_panel .search-filters {
        border: none;
        max-height: 97vh;
    }
}

/* ==================== Multiselect ==================== */

/* Hide original selects */
.multiselect-native-select select {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px -1px -1px -3px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    left: 50%;
    top: 30px;
}

.syra-filter-panel .multiselect-native-select {
    width: 100%;
}

.dropdown-toggle {
    text-align: left;
    padding: 20px 2rem;
    cursor: pointer;
    transition: all 0.25s ease-out;
    background: transparent;
    border: none;
    border-top: 1px solid #e7e7e7;
    font-size: 15px;
    line-height: 15px;
    width: 100%;
}

@media only screen and (min-width: 1024px) {
    .dropdown-toggle {
        padding: 15px 10px;
    }
}

.dropdown-toggle:hover,
.dropdown-toggle[aria-expanded='true'] {
    background-color: #f4f2f2;
}

.dropdown-toggle:disabled {
    filter: grayscale(1);
    background-color: #c0c0c0;
    cursor: initial;
}

.dropdown-toggle:disabled:hover {
    filter: grayscale(1);
    background-color: #c0c0c0;
}

.dropdown-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease;
}

.open > .dropdown-menu {
    padding: 10px calc(2rem - 10px);
    max-height: 80vh;
    overflow: auto;

}

@media only screen and (min-width: 1024px) {
    .open >.dropdown-menu {
        padding: 10px 0;
    }
}

.dropdown-item {
    padding: 10px;
    cursor: pointer;
    font-size: 13px;
    line-height: 13px;
    background: transparent;
    border: none;
    width: 100%;
    text-align: left;
    position: relative;
}

.form-check-input {
    position: absolute;
    left: 0;
    opacity: 0;
    cursor: pointer;
}

.form-check-label {
    padding-left: 30px;
    cursor: pointer;
}

.form-check-label::before {
    content: '';
    position: absolute;
    display: inline-block;
    vertical-align: top;
    top: 5px;
    left: 10px;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(0, 33, 71, 0.5);
    background: #e7e7e7;
}

.form-check-label::after {
    top: 9px;
    left: 17px;
    width: 6px;
    height: 12px;
    border: solid rgba(0, 33, 71, 0.5);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0);
    transition: transform 80ms ease;
    content: '';
    position: absolute;
    display: inline-block;
    vertical-align: top;
}

.form-check-input:checked + .form-check-label::after {
    transform: rotate(45deg) scale(1);
}

.dropdown-item .form-check {
    cursor: pointer;
}

.dropdown-item:hover {
    background-color: #f4f2f2;
}

.multiselect-group-option-indented {
    display: none;
}



/* ====================== Sliders ====================== */

.slide-wrapper {
    padding: 20px 2rem;
    width: 100%;
    background: transparent;
    border: none;
    border-top: 1px solid #e7e7e7;
    transition: all 0.25s ease-out;
}

.slide__label {
    font-size: 15px;
    line-height: 15px;
}

@media only screen and (min-width: 1024px) {
    .slide-wrapper {
        padding: 15px 10px;
    }
}

.slides input[type=range] {
    accent-color: #d44412;
}

.slides input[type=range] + p {
    margin: 0;
}

@media only screen and (min-width: 1024px) {
    .slides input[type=range] {
        width: 100%;
    }
}

/* ================ Apply filters button ================ */

#reset {
    text-align: left;
    padding: 20px 2rem;
    cursor: pointer;
    transition: all 0.25s ease-out;
    background: transparent;
    border: none;
    border-top: 1px solid #e7e7e7;
    border-bottom: 1px solid #e7e7e7;
    font-size: 15px;
    line-height: 15px;
    width: 100%;
}
@media only screen and (min-width: 1024px) {
    #reset {
        padding: 15px 10px;
    }
}

#reset:hover,
#reset[aria-expanded='true'] {
    background-color: #f4f2f2;
}

#reset .button__icon {
    height: 15px;
    width: 15px;
    transform: rotate(45deg);
}
#apply {
    width: 100%;
}

@media only screen and (min-width: 1024px) {
    #apply {
        margin-top: 1rem;
    }
}

/* ==================== Radio inputs ==================== */

.radios-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin: 1rem 0;
}

@media only screen and (min-width: 1024px) {
    .radios-wrapper {
        margin: 0 0 1rem;
    }
}

.radio-group {
    display: flex;
}

.radio--input {
    position: absolute;
    opacity: 0;
    left: 0;
}

.radio--label {
    color: #fff;
    background-color: #d44412;
    border: 2px solid #d44412;
    cursor: pointer;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 16px;
    padding: 8px 12px;
}

.radio--label:not(:first-of-type) {
    border-left: none;
}

.radio--label:hover {
    background-color: #fff;
    color: #d44412;
}

.radio--label button {
    margin-bottom: 0 !important;
}

.radio-group .radio--label:first-of-type {
    border-radius: 5px 0 0 5px;
}

.radio-group .radio--label:last-of-type {
    border-radius: 0 5px 5px 0;
}


.radio--input:checked + .radio--label {
    color: #d44412;
    background-color: #fff;
}

/* ====================== Tooltips ====================== */

.d3-tooltip,
.d3-selected-tooltip {
    color: #fff;
    background-color: #000000dd;
    padding: 5px 10px;
    max-width: 150px;
    font-size: 12px;
    line-height: 1.4;
    z-index: 10;
}
.d3-tooltip {
    pointer-events: none;
}


/* ==================== Zoom Control ==================== */

.zoom-controls {
    position: absolute;
    top: 10px;
    left: 10px;
    display: flex;
    flex-direction: column;
}

.zoom-controls button {
    padding: 0;
    height: 30px;
    width: 30px;
}

.zoom-controls button:first-of-type {
    border-radius: 5px 5px 0 0;
}

.zoom-controls button:last-of-type {
    border-radius: 0 0 5px 5px;
}

/* ========================= D3 ========================= */

.everything .links {
    stroke: #D3D3D3;
}

.everything .nodes {
    stroke: #fff;
}

/* =================== Artice Summary =================== */

#summary_panel button.link,
#article_detail button.link {
    margin: 0;
}

button.article_detail_hide_detail .button__icon {
    transform: scaleX(-1);
    margin: 0 4px 0 0;
}

.summary__title-wrapper {
    margin-top: 2rem;
}

.summary__title {
    margin-top: 1rem;
    margin-bottom: 0;
}

.summary__list {
    margin: 0;
}

.summary__list-entry {
    margin: 8px 0;
}

.summary__list-entry-title {
    margin: 1rem 0 0.3rem;
    display: inline-block;
}

.summary__list-entry-text {
    margin: 0;
}

.summary__list-entry-title.has-info {
    cursor: help;
}

.summary__list-entry-title:hover .modal--label-open {
    opacity: 1;
}

.summary__sublist li {
    display: inline-block;
}

.summary__sublist li:not(:last-child) {
    margin: 0 8px 0 0;
}

.summary__sublist li:not(:last-child)::after {
    content: ', ';
}

.summary__sublist.top_ent li:nth-child(5) {
    margin: 0;
}

.summary__sublist.top_ent li:nth-child(5)::after {
    content: '';
}

.summary__sublist--similar-articles li .link {
    text-align: left;
    margin-bottom: 8px;
}

.summary__sublist--similar-articles li::after {
    display: none;
}

/* =================== Article Table =================== */

.dataTable {
    margin: 0;
}

.scroll_article_table {
    border: none;
}

.scroll_article_table th {
    background-color: #50a0c4;
    color: #fff;
}

.article_table__row th,
.scroll_article_table td {
    padding: 8px 12px;
    border: 0;
}

.article_table__col--title a {
    font-weight: 400;
    cursor: pointer;
}

.article_table__col--link {
    text-align: center;
}

.article_table__col--link a {
    font-weight: 400;
}

.article_table__col--link a svg {
    height: 1.4rem;
    width: 1.4rem;
    vertical-align: middle;
}

#article_table thead {
    background: none;
}

#article_table_filter {
    text-align: right;
        background-color: #50a0c4;
    color: #fff;
    padding: 12px;
}

#article_table_filter input {
    border: 1px solid #e7e7e7;
    background: #fff;
    padding: 5px;
    margin-left: 10px;
}

#article_table_info {
    background-color: #50a0c4;
    color: #fff;
    padding: 12px;
}

#article_table .article_table__row.article_table__row--heading th {
    background: none;
}

//
table.dataTable td.dt-control {
  text-align: center;
  cursor: pointer;
}

table.dataTable thead > tr > th.sorting, table.dataTable thead > tr > th.sorting_asc, table.dataTable thead > tr > th.sorting_desc, table.dataTable thead > tr > th.sorting_asc_disabled, table.dataTable thead > tr > th.sorting_desc_disabled,
table.dataTable thead > tr > td.sorting,
table.dataTable thead > tr > td.sorting_asc,
table.dataTable thead > tr > td.sorting_desc,
table.dataTable thead > tr > td.sorting_asc_disabled,
table.dataTable thead > tr > td.sorting_desc_disabled {
  cursor: pointer;
  position: relative;
  padding-right: 26px;
}
table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:after,
table.dataTable thead > tr > td.sorting:before,
table.dataTable thead > tr > td.sorting:after,
table.dataTable thead > tr > td.sorting_asc:before,
table.dataTable thead > tr > td.sorting_asc:after,
table.dataTable thead > tr > td.sorting_desc:before,
table.dataTable thead > tr > td.sorting_desc:after,
table.dataTable thead > tr > td.sorting_asc_disabled:before,
table.dataTable thead > tr > td.sorting_asc_disabled:after,
table.dataTable thead > tr > td.sorting_desc_disabled:before,
table.dataTable thead > tr > td.sorting_desc_disabled:after {
  position: absolute;
  display: block;
  opacity: 0.3;
  right: 10px;
  line-height: 9px;
  font-size: 0.9em;
}
table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:before,
table.dataTable thead > tr > td.sorting:before,
table.dataTable thead > tr > td.sorting_asc:before,
table.dataTable thead > tr > td.sorting_desc:before,
table.dataTable thead > tr > td.sorting_asc_disabled:before,
table.dataTable thead > tr > td.sorting_desc_disabled:before {
  bottom: 50%;
  content: "▴";
}
table.dataTable thead > tr > th.sorting:after, table.dataTable thead > tr > th.sorting_asc:after, table.dataTable thead > tr > th.sorting_desc:after, table.dataTable thead > tr > th.sorting_asc_disabled:after, table.dataTable thead > tr > th.sorting_desc_disabled:after,
table.dataTable thead > tr > td.sorting:after,
table.dataTable thead > tr > td.sorting_asc:after,
table.dataTable thead > tr > td.sorting_desc:after,
table.dataTable thead > tr > td.sorting_asc_disabled:after,
table.dataTable thead > tr > td.sorting_desc_disabled:after {
  top: 50%;
  content: "▾";
}
table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_desc:after,
table.dataTable thead > tr > td.sorting_asc:before,
table.dataTable thead > tr > td.sorting_desc:after {
  opacity: 1;
}
table.dataTable thead > tr > th.sorting_desc_disabled:after, table.dataTable thead > tr > th.sorting_asc_disabled:before,
table.dataTable thead > tr > td.sorting_desc_disabled:after,
table.dataTable thead > tr > td.sorting_asc_disabled:before {
  display: none;
}
table.dataTable thead > tr > th:active,
table.dataTable thead > tr > td:active {
  outline: none;
}

div.dataTables_scrollBody table.dataTable thead > tr > th:before, div.dataTables_scrollBody table.dataTable thead > tr > th:after,
div.dataTables_scrollBody table.dataTable thead > tr > td:before,
div.dataTables_scrollBody table.dataTable thead > tr > td:after {
  display: none;
}

//

/* =============== Modals and Modal Toggles =============== */

button.modal--label-open {
    color: currentColor;
    opacity: 0.6;
    transition: opacity 0.25s ease-out;
}

button.modal--label-open svg {
    height: 15px;
    width: 15px;
    fill: currentColor;
}

.search-results button.modal--label-open.link {
    cursor: help;
}

.modal--label-open:hover {
    opacity: 1;
}

.entity_context ul li {
    margin-bottom: 0.5rem;
}

#information-modal {
    display: none;
}

#information-modal.active {
    display: block;
}

#information-modal .modal__container {
    position: relative;
}

#information-modal .modal__header {
    position: sticky;
    top: 20px;
    width: fit-content;
    left: 100%;
}

#information-modal h4, #information-modal p {
    margin: 0;
}

@media only screen and (min-width: 768px) {
    #information-modal .modal__header {
        top: 40px;
    }
}

#syra-loader-modal {
    display: none;
}

#syra-loader-modal.active {
    display: block;
}

#syra-loader-modal .modal__container {
    display: block;
}

#syra-loader-modal .modal__content {
    text-align: center;
}


.details[open] .summary__icon {
    transform: rotate(45deg);
}
.summary__body {
    padding: 12px 24px;
    background-color: #e7e7e7;
}

.summary {
    position: relative;
    background-color: #50a0c4;
    padding: 5px;
    padding-left: 24px;
    color: #fff;
    cursor: s-resize;
}

.summary:hover {
    background-color: #0082ce;
}

.summary__icon {
    margin-top: 4px;
    margin-right: 8px;
        position: absolute;
    left: 5px;
}

.summary a:not(.button) {
    cursor: pointer;
    color: #fff;
}

.summary a:not(.button):hover {
    color: #fefefe;
}
