/* This is the main stylesheet for the website.
 * This file should contain only references to SASS partials. It should contain no CSS code.
 * Do follow SMACSS (https://smacss.com/) guidelines.
 */
/*! normalize.css v6.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

/**
 * 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; }

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * 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 */ }

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

/* Text-level semantics
   ========================================================================== */
/**
 * 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 */ }

/**
 * 1. Remove the bottom border in Chrome 57- and 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; }

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

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

/**
 * 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
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

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

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

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

/* Forms
   ========================================================================== */
/**
 * Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0; }

/**
 * 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; }

/**
 * 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 */ }

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * 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 macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 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 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none; }

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

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

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

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

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

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

/* General variables
 */
/* All colours used in the CSS are defined here. Keep this palette small. 
 */
/* 
 * Variables for all z-indices used 
 * Except when set to any value below 5 - in these cases, there is no need to use a variable.
 * Values below 5 are used for relative z indicies within a component. 
 * Any component that must overlap other components should use a z-index above 5 which is set in a variable here.
*/
/* Typography mixins
 * Use these mixins for all typography styling. Include them in other elements.
 * Avoid deviating from these styles and defining custom typography styles.
 * Actual typography elements, such as heading classes, can be found in ..\modules\_typography.scss and other modules
 * The base text is set on the body (in ..\base\body.scss) and inherited by all elements by default
 */
/* Utility mixins */
/* Please note that these fonts are only licensed for use on a single website
  DO NOT copy them or use them elsewhere.
  */
@font-face {
  font-family: 'Fakt Pro';
  src: url("/fonts/FaktPro-Blond.eot");
  src: url("/fonts/FaktPro-Blond.eot?#iefix") format("embedded-opentype"), url("/fonts/FaktPro-Blond.woff") format("woff");
  font-weight: 300;
  font-style: normal; }

@font-face {
  font-family: 'Fakt Pro';
  src: url("/fonts/FaktPro-BlondItalic.eot");
  src: url("/fonts/FaktPro-BlondItalic.eot?#iefix") format("embedded-opentype"), url("/fonts/FaktPro-BlondItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic; }

@font-face {
  font-family: 'Fakt Pro';
  src: url("/fonts/FaktPro-Medium.eot");
  src: url("/fonts/FaktPro-Medium.eot?#iefix") format("embedded-opentype"), url("/fonts/FaktPro-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal; }

@font-face {
  font-family: 'Fakt Pro';
  src: url("/fonts/FaktPro-SemiBold.eot");
  src: url("/fonts/FaktPro-SemiBold.eot?#iefix") format("embedded-opentype"), url("/fonts/FaktPro-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal; }

/* Stylesheet generated by icomoon. 
  If you want to add icons, import the selection.json file into the icomoon app,
  Make modifications and export the package. Carefully port the new stylesheet.css file changes here.
  Make sure you change the query parameter in the icon font URLS (eg: icomoon.eot?xxxxxx) to make sure
  the font file caches are busted. Copy the updated font files and selection.json into /icons/
*/
@font-face {
  font-family: 'icomoon';
  src: url("/icons/fonts/icomoon.eot?4yb44d");
  src: url("/icons/fonts/icomoon.eot?4yb44d#iefix") format("embedded-opentype"), url("/icons/fonts/icomoon.ttf?4yb44d") format("truetype"), url("/icons/fonts/icomoon.woff?4yb44d") format("woff"), url("/icons/fonts/icomoon.svg?4yb44d#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-checkmark:before {
  content: "\e904"; }

.icon-tag:before {
  content: "\e903"; }

.icon-globe:before {
  content: "\e902"; }

.icon-search:before {
  content: "\e901"; }

.icon-grid:before {
  content: "\e900"; }

.icon-close:before {
  content: "\f00d"; }

.icon-external-link:before {
  content: "\f08e"; }

.icon-bars:before {
  content: "\f0c9"; }

.icon-angle-left-base:before {
  content: "\f108"; }

.icon-angle-left:before {
  content: "\f104"; }

.icon-angle-right-base:before {
  content: "\f109"; }

.icon-angle-right:before {
  content: "\f105"; }

.icon-angle-down:before {
  content: "\f107"; }

/* Box sizing
 * Sets box sizing to border-box by default.
 * Since we're inheriting box-sizing, any component that requires content-box can have this set on the parent element alone.
 * See https://css-tricks.com/box-sizing/ for more information
*/
html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

/* Base styles for the html and body elements */
html {
  height: 100%; }

body {
  -typography: base-text;
  font-family: "Fakt Pro", sans-serif;
  font-weight: 300;
  font-size: 20px;
  line-height: 28px;
  color: #333333;
  min-height: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow-x: hidden; }
  @media (min-width: 1400px) {
    body {
      font-size: 22px;
      line-height: 32px; } }

.ie body {
  display: block; }

/* Base styles for a link */
a {
  -typography-addition: link-text;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px dotted;
  transition: color 300ms ease; }
  a:hover {
    color: #D9251C; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  border-bottom: none; }
  h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    color: inherit; }

/* Base styles for the p element */
p {
  margin: 25px 0; }
  @media (max-width: 768px) {
    p {
      margin: 20px 0; } }

/* Base styles for images */
img {
  max-width: 100%;
  height: auto;
  display: block; }

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

.debug {
  margin: 0;
  padding: 0;
  display: none; }

/* Base styles for inputs */
input[type=text], input[type=email], input:not([type]) {
  -typography: base-text;
  font-family: "Fakt Pro", sans-serif;
  font-weight: 300;
  font-size: 20px;
  line-height: 28px;
  color: #333333; }
  @media (min-width: 1400px) {
    input[type=text], input[type=email], input:not([type]) {
      font-size: 22px;
      line-height: 32px; } }

/* Base styles for iframes */
iframe {
  display: block; }

/* Content
 * These are content containers with defined padding.
 */
.layout-content {
  padding: 0 50px; }
  @media (max-width: 768px) {
    .layout-content {
      padding: 0 20px; } }

/* Site content
 * This is the main site content
 */
.layout-site-content {
  margin-top: 50px;
  margin-bottom: 40px; }
  .layout-site-content.unspaced-above {
    margin-top: 0; }
  .layout-site-content.unspaced-below {
    margin-bottom: 0; }

/* Limited
 * These are containers with limited width.
 */
.layout-limited {
  width: 100%;
  max-width: 1025px;
  margin-left: auto;
  margin-right: auto; }
  @media print {
    .layout-limited {
      max-width: none; } }

/* Further limited content
 */
.layout-limited-small {
  -typography: story-content-text;
  font-size: 20px;
  line-height: 30px;
  max-width: 675px; }
  @media (min-width: 1400px) {
    .layout-limited-small {
      line-height: 32px; } }
  @media (max-width: 520px) {
    .layout-limited-small {
      font-size: 18px;
      line-height: 28px; } }
  @media (min-width: 1400px) {
    .layout-limited-small {
      max-width: 800px; } }
  @media print {
    .layout-limited-small {
      max-width: none; } }

/* Content limited on large screens
 */
.layout-limited-large {
  max-width: 1400px; }
  @media print {
    .layout-limited-large {
      max-width: none; } }

/* Typography
 * These are typography elements that use the mixins defined in ..\mixins\_typography.scss
 */
.heading-1 {
  -typography: heading-1;
  font-size: 60px;
  font-weight: 500;
  line-height: 72px;
  margin: 25px 0 40px 0; }
  @media (max-width: 700px) {
    .heading-1 {
      font-size: 48px;
      line-height: 68px; } }
  @media (max-width: 600px) {
    .heading-1 {
      font-size: 42px;
      line-height: 52px; } }
  @media (max-width: 768px) {
    .heading-1 {
      margin: 25px 0 10px 0; } }

.heading-2 {
  -typography: heading-2;
  font-size: 45px;
  font-weight: 600;
  line-height: 50px;
  margin: 50px 0; }
  @media (max-width: 1100px) {
    .heading-2 {
      font-size: 43px; } }
  @media (max-width: 1050px) {
    .heading-2 {
      font-size: 40px;
      line-height: 46px; } }
  @media (max-width: 992px) {
    .heading-2 {
      font-size: 36px;
      line-height: 42px; } }
  @media (max-width: 768px) {
    .heading-2 {
      margin: 25px 0; } }

.heading-3 {
  -typography: heading-3;
  font-size: 36px;
  font-weight: 400;
  line-height: 40px;
  margin: 25px 0; }

.heading-4 {
  -typography: heading-4;
  font-size: 24px;
  font-weight: 700;
  line-height: 29px;
  margin: 50px 0 25px 0; }
  @media (max-width: 768px) {
    .heading-4 {
      margin: 40px 0 20px 0; } }

.heading-5 {
  -typography: heading-5;
  font-size: 16px;
  font-weight: 700;
  line-height: 25px;
  margin: 0; }

.large-text {
  -typography: large-text;
  font-size: 27px;
  font-weight: 400;
  line-height: 37.5px;
  margin: 50px 0; }
  @media (max-width: 700px) {
    .large-text {
      font-size: 24px;
      line-height: 34px; } }
  @media (max-width: 600px) {
    .large-text {
      font-size: 22px;
      line-height: 32px; } }
  @media (max-width: 600px) {
    .large-text {
      font-size: 20px;
      line-height: 30px; } }
  @media (max-width: 768px) {
    .large-text {
      margin: 25px 0 15px 0; } }

.intro-text {
  -typography: intro-text;
  font-size: 32px;
  font-weight: 400;
  line-height: 44px;
  margin: 50px 0; }
  @media (max-width: 700px) {
    .intro-text {
      font-size: 28px;
      line-height: 38px; } }
  @media (max-width: 520px) {
    .intro-text {
      font-size: 24px;
      line-height: 34px; } }
  @media (max-width: 400px) {
    .intro-text {
      font-size: 22px;
      line-height: 32px; } }
  @media (max-width: 768px) {
    .intro-text {
      margin: 25px 0 15px 0; } }

.small-text {
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  margin: 0; }

.heading-overline {
  display: inline-block;
  padding-top: 11px;
  position: relative;
  border-top: 4px solid; }

/* Breadcrumbs
 * These can be ol or ul elements, or can contain a ol/ul element.
 * Expected to contain .breadcrumbs-item elements which contain links.
 * The colour of the links are inherited from the outer elements.
 */
.breadcrumbs {
  list-style-type: none;
  margin: 25px 0;
  padding: 0;
  -typography: breadcrumbs;
  font-size: 15px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: 1px;
  word-spacing: 1px;
  text-transform: uppercase;
  list-style-type: none; }
  @media (max-width: 700px) {
    .breadcrumbs {
      font-size: 12px; } }

.breadcrumbs > ol, .breadcrumbs > ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.breadcrumbs-item {
  display: inline-block; }
  .breadcrumbs-item:before {
    content: ' / '; }
  .breadcrumbs-item:first-child:before {
    content: none; }
  .breadcrumbs-item a {
    border-bottom: none; }
    .breadcrumbs-item a:hover {
      color: inherit; }

/* Quote
 * These are text quotes
 */
.quote {
  -typography: quote;
  font-size: 30px;
  font-weight: 500;
  line-height: 37.5px;
  color: #D9251C;
  margin: 50px 0 25px 0;
  margin-left: -50px;
  padding-left: 50px;
  margin-right: -250px;
  position: relative; }
  @media (max-width: 1025px) {
    .quote {
      margin-right: calc(-100vw + 775px); } }
  @media (max-width: 768px) {
    .quote {
      margin-right: calc(-100vw + 715px); } }
  @media (max-width: 675px) {
    .quote {
      margin-right: 0; } }
  .quote:before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    border-right: 10px solid #D9251C; }

.layout-limited-small .quote {
  margin-left: -40px;
  padding-left: 40px; }

@media (max-width: 768px) {
  .quote, .layout-limited-small .quote {
    margin-left: -20px;
    padding-left: 50px; } }

.quote:before {
  height: 0;
  transition: height 900ms cubic-bezier(0.4, 0, 0.2, 1); }

.quote.is-entering:before {
  height: 100%;
  transition-delay: 300ms; }

@media print {
  .quote {
    margin-right: 0;
    margin-left: 0;
    padding-left: 0; }
    .quote:before {
      content: none; } }

/* Numbered list
 * A numbered list with bullet points. Must contain li elements as direct children.
  * TODO - fix for IE8
 */
.numbered-list {
  list-style: none;
  padding-left: 75px;
  margin: 25px 0;
  counter-reset: numbered-list-counter; }
  .numbered-list > li {
    position: relative;
    min-height: 40px;
    margin-bottom: 25px; }
    .numbered-list > li:last-child {
      margin-bottom: 0; }
    .numbered-list > li:before {
      content: counter(numbered-list-counter);
      counter-increment: numbered-list-counter;
      position: absolute;
      left: -75px;
      top: 0;
      display: inline-block;
      height: 40px;
      width: 40px;
      border-radius: 50%;
      border: 1px solid #1E1E1E;
      text-align: center;
      -typography: heading-4;
      font-size: 24px;
      font-weight: 700;
      line-height: 29px;
      line-height: 40px; }

@media (max-width: 768px) {
  .numbered-list > li {
    min-height: 30px; }
    .numbered-list > li:before {
      height: 30px;
      width: 30px;
      line-height: 30px; } }

/* Site header
 */
body {
  padding-top: 50px; }

.site-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 50px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #FFFFFF;
  background: rgba(255, 255, 255, 0.9);
  z-index: 100; }

.site-header-logo {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-right: 60px;
  width: 37px;
  position: relative; }
  .site-header-logo a {
    display: inline-block;
    border-bottom: none; }
    .site-header-logo a:hover {
      color: inherit; }

.logo-image-compact {
  height: 33px;
  width: 37px; }

.logo-image {
  position: absolute;
  top: 0;
  left: 0;
  height: 33px;
  width: 102px;
  max-width: none;
  opacity: 0; }
 .blink {
      animation: blinker 1s linear infinite;
      
      }
      @keyframes blinker {  
      50% { opacity: 0; }
      }
.resource-table-blink>section>ul>li:nth-child(1){
	animation: blinker 1s linear infinite;
	color:#D9251C
}
 @keyframes blinker {  
      50% { opacity: 0; }
      }
.BlinkableElement{
	animation: blinker 1s linear infinite;
	color:#D9251C
}
 @keyframes blinker {  
      50% { opacity: 0; }
      }
.site-header-menu {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  display: none;
  position: relative; }

.site-header-menu-button {
  display: block;
  color: inherit;
  font-size: 24px;
  width: 24px; }
  .site-header-menu-button .icon-bars {
    display: inline-block; }
  .site-header-menu-button .icon-close {
    display: none; }

.site-header-search-form {
  -webkit-flex: 0 0 30px;
      -ms-flex: 0 0 30px;
          flex: 0 0 30px;
  margin-right: 20px;
  margin-left: auto;
  position: relative;
  transition: flex-grow 300ms ease, -webkit-flex-grow 300ms ease;
  transition: flex-grow 300ms ease;
  transition: flex-grow 300ms ease, -webkit-flex-grow 300ms ease, -ms-flex-positive 300ms ease; }

.search-button, .search-button-mobile {
  padding-top: 5px;
  font-size: 30px;
  width: 30px;
  vertical-align: middle;
  transition: width 300ms ease, font-size 300ms ease; }

.search-container-mobile {
  display: none; }

.search-input {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  margin: 0 20px;
  display: block;
  min-width: 0;
  background-color: transparent;
  outline: none;
  -typography: large-text;
  font-size: 27px;
  font-weight: 400;
  line-height: 37.5px;
  border: none; }
  @media (max-width: 700px) {
    .search-input {
      font-size: 24px;
      line-height: 34px; } }
  @media (max-width: 600px) {
    .search-input {
      font-size: 22px;
      line-height: 32px; } }
  @media (max-width: 600px) {
    .search-input {
      font-size: 20px;
      line-height: 30px; } }

.search-box-container {
  position: absolute;
  overflow: hidden;
  right: 0;
  left: 30px;
  top: 0;
  bottom: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.site-header.is-searching .site-header-search-form {
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

.site-header.is-searching .search-input {
  display: block; }

.site-header.is-searching .search-cancel-button {
  display: block; }

.site-header.is-searching .search-button {
  font-size: 35px;
  width: 35px; }

@media (min-width: 651px) {
  body {
    padding-top: 100px; }
  .site-header {
    transition: height 300ms ease 300ms; }
  .site-header-menu {
    display: block;
    visibility: hidden;
    width: 0;
    white-space: nowrap;
    -webkit-transform: translateX(50px);
        -ms-transform: translateX(50px);
            transform: translateX(50px);
    transition: width 250ms ease, -webkit-transform 250ms ease;
    transition: width 250ms ease, transform 250ms ease;
    transition: width 250ms ease, transform 250ms ease, -webkit-transform 250ms ease; }
  .site-header-menu-button {
    opacity: 1;
    transition: opacity 300ms ease 300ms, width 250ms ease; }
  .site-header-logo {
    transition: width 300ms ease 300ms; }
  .logo-image {
    transition: opacity 550ms ease; }
  .site-header.is-reset {
    height: 100px;
	right: 70px;
    transition: height 300ms ease; }
    .site-header.is-reset .site-header-menu-button {
      width: 0;
      opacity: 0;
      transition: opacity 300ms ease, width 250ms ease 300ms; }
    .site-header.is-reset .site-header-menu {
      visibility: visible;
      -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
              transform: translateX(0);
      width: 360px;
      transition: width 250ms ease 300ms, -webkit-transform 250ms ease 300ms;
      transition: width 250ms ease 300ms, transform 250ms ease 300ms;
      transition: width 250ms ease 300ms, transform 250ms ease 300ms, -webkit-transform 250ms ease 300ms; }
    .site-header.is-reset .site-header-logo {
      width: 102px;
      transition: width 300ms ease; }
    .site-header.is-reset .logo-image {
      opacity: 1;
      transition: opacity 550ms ease; } }

@media (max-width: 992px) and (min-width: 651px) {
  .site-header.is-searching .site-header-menu {
    visibility: hidden;
    width: 0;
    -webkit-transform: translateX(50px);
        -ms-transform: translateX(50px);
            transform: translateX(50px);
    transition: width 250ms ease, -webkit-transform 250ms ease;
    transition: width 250ms ease, transform 250ms ease;
    transition: width 250ms ease, transform 250ms ease, -webkit-transform 250ms ease; } }

@media (max-width: 992px) {
  .site-header-menu-button {
    opacity: 1;
    transition: opacity 300ms ease, width 250ms ease; }
  .site-header.is-searching .site-header-menu-button {
    width: 0;
    opacity: 0;
    transition: opacity 300ms ease, width 250ms ease; } }

@media (max-width: 650px) {
  .site-header-menu-button {
    margin-left: auto; }
  .search-container-mobile {
    display: block; }
  .site-header-logo {
    width: 102px; }
  .logo-image {
    opacity: 1; }
  .site-header-search-form {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: 0;
    background-color: #FFFFFF;
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%);
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
    z-index: 111; }
  .search-box-container {
    position: static;
    width: 100%; }
  .search-button {
    margin-right: 25px;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .search-input {
    text-align: center;
    width: 100%; }
    .search-input, .search-input:not([type]) {
      -typography: mobile-menu-subnav-text;
      font-size: 20px;
      line-height: 34px;
      font-weight: 300;
      text-transform: none; }
  .search-cancel-button {
    font-size: 24px;
    position: absolute;
    top: 10px;
    right: 20px; }
  .site-header.is-searching .site-header-search-form {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0); } }

html.no-flexbox .site-header {
  display: block; }

html.no-flexbox .site-header-logo {
  position: absolute;
  top: 50%;
  margin-top: -21px; }

html.no-flexbox .site-header-menu-button {
  position: absolute;
  right: 50px;
  top: 50%;
  margin-top: -14px; }

html.no-flexbox .site-header-menu {
  position: absolute;
  right: 50px;
  top: 50%;
  margin-top: -27.5px; }

html.no-flexbox .site-header-search-form {
  width: 30px;
  position: absolute;
  right: 94px;
  top: 50%;
  margin-top: -19px;
  margin-right: 0; }

html.no-flexbox .search-box-container {
  display: block; }

html.no-flexbox .search-button {
  padding-top: 2px; }

html.no-flexbox .search-input {
  margin: 0;
  position: absolute;
  width: 100%;
  padding: 0 20px 0 44px;
  top: 50%;
  margin-top: -14px; }

html.no-flexbox .search-cancel-button {
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -12px; }

html.no-flexbox .site-header.is-searching .site-header-search-form {
  margin-top: -21px;
  width: auto;
  left: 200px; }

@media (min-width: 651px) {
  html.no-flexbox .site-header-search-form {
    transition: right 250ms ease; }
  html.no-flexbox .site-header.is-reset .site-header-search-form {
    right: 366px;
    transition: right 250ms ease 300ms; } }

@media print {
  .site-header {
    display: none; }
  body {
    padding-top: 0; } }

/* Site header menu */
.site-header-menu {
  color: #333333;
  -typography: site-header-menu-text;
  font-size: 16px;
  font-weight: 600;
  line-height: 25px; }
  .site-header-menu a {
    border-bottom: none; }
    .site-header-menu a:hover {
      color: inherit; }

.site-header-menu-item-set {
  display: inline-block;
  border-left: 1px solid; }

.site-header-menu-item > a {
  display: block;
  padding: 0 15px; }

.site-header-menu-item:hover > a {
  color: #D9251C; }

.site-header-menu-item:first-child {
  margin-bottom: 5px; }

.site-header-menu-subnav.dropdown {
  white-space: normal;
  width: auto;
  right: 0; }

.site-header-menu-subnav-hidden {
  display: none; }

@media (min-width: 651px) {
  .site-header-menu-subnav.dropdown {
    top: 77px; }
    .site-header-menu-subnav.dropdown li:first-child:before {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      top: -23.5px;
      height: 23.5px; }
  .site-header-menu-subnav {
    display: none; }
  .site-header-menu-item.has-subnav:hover .site-header-menu-subnav {
    display: block; } }

@media (max-width: 650px) {
  .site-header-menu-item-set, .search-container-mobile {
    display: block;
    position: relative; }
  .site-header-menu-item-set {
    border: none; }
  .site-header-menu-item {
    margin: 0;
    position: static; }
    .site-header-menu-item:first-child {
      margin: 0; }
  .site-header-menu-item-set:after, .site-header-menu-item.has-subnav:first-child:after {
    content: '';
    display: block;
    border-bottom: 3px solid;
    margin: 25px 0;
    width: 40px; }
  .site-header-menu-item .mobile-menu-subnav, .site-header-menu-item .mobile-menu-subnav.dropdown {
    padding-bottom: 0; } }

/* Site footer
 */
.site-footer {
  border-top: 3px solid #333333;
  background-color: #FFFFFF;
  z-index: 90;
  overflow: hidden; }

body > .site-footer {
  margin-top: auto; }

.site-footer a {
  border-bottom: none; }
  .site-footer a:hover {
    color: inherit; }
  .site-footer a:hover {
    color: #D9251C; }

.site-footer-sections {
  padding-top: 25px;
  padding-bottom: 25px; }

.site-footer-section-offices {
  margin-bottom: 20px; }

.site-footer-offices-link {
  display: inline-block; }

.site-footer-section-subscribe .site-footer-title {
  display: inline-block;
  vertical-align: top;
  margin-right: 20px; }

.site-footer-section-subscribe .subscribe-container {
  display: inline-block; }

.site-footer-offices-list {
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  -typography: site-footer-text;
  line-height: 24px;
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: inline-block; }
  .site-footer-offices-list li {
    display: inline-block;
    margin-left: 20px; }

.site-footer-section-credit {
  position: relative;
  overflow: hidden;
  margin-top: 50px; }

.site-footer-credit {
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  -typography: site-footer-text;
  line-height: 24px;
  margin: 0;
  float: left; }

.site-footer-disclaimer {
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  -typography: site-footer-text;
  line-height: 24px;
  margin: 0;
  float: left; }
  .site-footer-disclaimer:before {
    content: '';
    float: left;
    margin: 0 5px; }

.site-footer-copyright {
  clear: left;
  -typography: copyright-text;
  font-size: 14px;
  font-weight: 300;
  line-height: 18px;
  margin: 0;
  position: absolute;
  right: 0;
  bottom: 0; }

.site-footer-title {
  -typography: heading-5;
  font-size: 16px;
  font-weight: 700;
  line-height: 25px;
  margin: 0; }

@media (min-width: 1100px) {
  html.flexbox .site-footer-sections {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  html.flexbox .site-footer-section-offices {
    width: 33.33333%;
    max-width: 400px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-right: 50px;
    margin-bottom: 0; }
  html.flexbox .site-footer-offices-link {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    padding-right: 20px;
    display: block; }
  html.flexbox .site-footer-offices-list {
    -webkit-flex: 2 1 auto;
        -ms-flex: 2 1 auto;
            flex: 2 1 auto;
    -webkit-columns: 2;
            columns: 2;
    -webkit-column-gap: 20px;
            column-gap: 20px;
    display: block; }
    html.flexbox .site-footer-offices-list li {
      display: block;
      margin-left: 0; }
  html.flexbox .site-footer-section-subscribe .site-footer-title {
    display: block;
    margin-right: 0; }
  html.flexbox .site-footer-section-subscribe .subscribe-container {
    display: block;
    margin-top: 10px;
    max-width: 250px; }
  html.flexbox .site-footer-section-credit {
    max-width: 33.33333%;
    margin-left: auto;
    margin-top: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column; }
  html.flexbox .site-footer-copyright {
    margin-top: auto;
    position: static; } }

@media (max-width: 700px) {
  .site-footer-section-offices {
    display: block;
    margin-bottom: 40px; }
  .site-footer-offices-link {
    display: block;
    margin-bottom: 10px; }
  .site-footer-offices-list {
    -webkit-columns: 3;
            columns: 3;
    -webkit-column-gap: 40px;
            column-gap: 40px;
    display: inline-block; }
    .site-footer-offices-list li {
      display: block;
      margin-left: 0;
      margin-bottom: 5px; }
  .site-footer-section-credit {
    margin-top: 40px; }
  .site-footer-credit, .site-footer-disclaimer {
    -typography: heading-5;
    font-size: 16px;
    font-weight: 700;
    line-height: 25px; }
  .site-footer-copyright {
    -typography: copyright-text;
    font-size: 14px;
    font-weight: 300;
    line-height: 18px;
    margin: 0;
    position: static;
    right: 0;
    bottom: 0;
    padding-top: 10px; } }

@media (max-width: 350px) {
  .site-footer-offices-list {
    -webkit-columns: 2;
            columns: 2; }
  .site-footer-credit {
    float: none; }
  .site-footer-disclaimer {
    float: none; }
    .site-footer-disclaimer:before {
      content: none; } }

@media print {
  .site-footer {
    display: none; } }

/* Page header
 * The header section on each page
 * Must contain a .page-header-inner layout element
 * Can contain .page-header-breadcrumbs, .page-header-subtitle, .page-header-button-container
 * Variations:
 *  .page-header-with-image - has a background image that should be set with an inline style
 *  .page-header-error - has a background colour
 *  .page-header-about=us-landing, .page-header-what-we-do-landing, .page-header-csr-landing, .page-header-stories-landing, .page-header-investors-landing, .page-header-press-landing are all specific to those landing pages so that they can be given a background colour.
 */
.page-header {
  background-color: #333333;
  color: #FFFFFF;
  position: relative;
  z-index: 50;
  min-height: 380px; }
  .page-header.page-header-with-image {
    min-height: 580px; }

.page-header-inner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  min-height: inherit;
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative;
  z-index: 1; }

.page-header-breadcrumbs {
  margin: 0; }

.page-header-title {
  -typography: heading-1;
  font-size: 60px;
  font-weight: 500;
  line-height: 72px;
  margin: 25px 0 15px 0; }
  @media (max-width: 700px) {
    .page-header-title {
      font-size: 48px;
      line-height: 68px; } }
  @media (max-width: 600px) {
    .page-header-title {
      font-size: 42px;
      line-height: 52px; } }
  .page-header-title:last-child {
    margin-bottom: 0; }

.page-header-subtitle {
  -typography: large-text;
  font-size: 27px;
  font-weight: 400;
  line-height: 37.5px;
  margin: 0 0 45px 0;
  max-width: 1000px; }
  @media (max-width: 700px) {
    .page-header-subtitle {
      font-size: 24px;
      line-height: 34px; } }
  @media (max-width: 600px) {
    .page-header-subtitle {
      font-size: 22px;
      line-height: 32px; } }
  @media (max-width: 600px) {
    .page-header-subtitle {
      font-size: 20px;
      line-height: 30px; } }
  .page-header-subtitle:last-child {
    margin-bottom: 0; }

.page-header-title.visuallyhidden + .page-header-subtitle {
  margin-top: 20px; }

.page-header-button-container {
  margin: 0; }
  .page-header-button-container .button {
    color: #FFFFFF; }
    .page-header-button-container .button:hover {
      background-color: #FFFFFF;
      color: #333333; }

.page-header-back-link {
  border-bottom: none; }
  .page-header-back-link:hover {
    color: inherit; }

.page-header-basic-title {
  -typography: breadcrumbs;
  font-size: 15px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: 1px;
  word-spacing: 1px;
  text-transform: uppercase;
  margin: 0; }
  @media (max-width: 700px) {
    .page-header-basic-title {
      font-size: 12px; } }

.page-header-basic-subtitle {
  -typography: page-header-intro-text;
  font-size: 36px;
  font-weight: 300;
  line-height: 46px;
  margin: 0;
  margin-top: 20px;
  max-width: 1000px; }
  @media (max-width: 992px) {
    .page-header-basic-subtitle {
      font-size: 32px;
      line-height: 42px; } }
  @media (max-width: 840px) {
    .page-header-basic-subtitle {
      font-size: 28px;
      line-height: 38px; } }
  @media (max-width: 768px) {
    .page-header-basic-subtitle {
      font-size: 26px;
      line-height: 36px; } }
  @media (max-width: 700px) {
    .page-header-basic-subtitle {
      font-size: 24px;
      line-height: 34px; } }
  @media (max-width: 550px) {
    .page-header-basic-subtitle {
      font-size: 22px;
      line-height: 32px; } }

.page-header-image {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0; }
  .page-header-image:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to bottom, transparent 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.6) 100%); }

.page-header.page-header-error {
  background-color: #D9251C; }

.page-header.page-header-about-us-landing {
  background-color: #2B5983; }

.page-header.page-header-what-we-do-landing {
  background-color: #2B5983; }

.page-header.page-header-csr-landing {
  background-color: #2B5983; }

.page-header.page-header-stories-landing {
  background-color: #2B5983; }

.page-header.page-header-investors-landing {
  background-color: #2B5983; }

.page-header.page-header-press-landing {
  background-color: #2B5983; }

@media (max-width: 992px) {
  .page-header-inner {
    padding-top: 40px;
    padding-bottom: 40px; } }

@media (max-width: 840px) {
  .page-header {
    min-height: 340px; }
  .page-header-inner {
    padding-top: 20px;
    padding-bottom: 20px; } }

@media (max-width: 700px) {
  .page-header-subtitle {
    margin-bottom: 25px; } }

@media (max-width: 600px) {
  .page-header.page-header-with-image {
    min-height: 350px; } }

@media (max-width: 600px) {
  .page-header-home-page.page-header-with-image {
    background-color: transparent;
    color: inherit;
    min-height: 0; }
    .page-header-home-page.page-header-with-image .page-header-image {
      position: static;
      padding-top: 54.54545%; }
      .page-header-home-page.page-header-with-image .page-header-image:after {
        content: none; }
    .page-header-home-page.page-header-with-image .page-header-inner {
      padding-top: 20px;
      padding-bottom: 0; }
    .page-header-home-page.page-header-with-image .page-header-title {
      -typography: heading-2;
      font-size: 45px;
      font-weight: 600;
      line-height: 50px;
      -typography: content-summary-title;
      margin: 15px 0 10px 0; } }
    @media (max-width: 600px) and (max-width: 1100px) {
      .page-header-home-page.page-header-with-image .page-header-title {
        font-size: 43px; } }
    @media (max-width: 600px) and (max-width: 1050px) {
      .page-header-home-page.page-header-with-image .page-header-title {
        font-size: 40px;
        line-height: 46px; } }
    @media (max-width: 600px) and (max-width: 992px) {
      .page-header-home-page.page-header-with-image .page-header-title {
        font-size: 36px;
        line-height: 42px; } }
    @media (max-width: 600px) and (max-width: 900px) {
      .page-header-home-page.page-header-with-image .page-header-title {
        font-size: 32px;
        line-height: 40px; } }
    @media (max-width: 600px) and (max-width: 840px) {
      .page-header-home-page.page-header-with-image .page-header-title {
        font-size: 28px;
        line-height: 36px; } }
    @media (max-width: 600px) and (max-width: 700px) {
      .page-header-home-page.page-header-with-image .page-header-title {
        font-size: 24px;
        line-height: 32px; } }

@media (max-width: 600px) {
    .page-header-home-page.page-header-with-image .page-header-subtitle {
      -typography: content-summary-subtitle;
      font-size: 20px;
      line-height: 28px; } }
    @media (max-width: 600px) and (max-width: 1100px) {
      .page-header-home-page.page-header-with-image .page-header-subtitle {
        font-size: 18px;
        line-height: 26px; } }
    @media (max-width: 600px) and (max-width: 900px) {
      .page-header-home-page.page-header-with-image .page-header-subtitle {
        font-size: 16px;
        line-height: 23px; } }

@media (max-width: 600px) {
    .page-header-home-page.page-header-with-image .page-header-button-container .button {
      color: inherit; }
      .page-header-home-page.page-header-with-image .page-header-button-container .button:hover {
        color: #FFFFFF;
        background-color: #333333; } }

html.no-flexbox .page-header, html.ie .page-header {
  display: table;
  width: 100%; }

html.no-flexbox .page-header-inner, html.ie .page-header-inner {
  display: table-cell;
  vertical-align: bottom; }

@media print {
  .page-header {
    display: block;
    background-color: transparent !important;
    color: inherit; }
    .page-header, .page-header.page-header-with-image {
      min-height: 0; }
  .page-header-inner {
    display: block;
    padding-bottom: 0; }
  .page-header-image {
    display: none; }
  .page-header-button-container .button {
    color: inherit; } }

/* Tag
 * Tag boxes. Can be contained in a .tag-container
 */
.tag {
  display: inline-block;
  height: 36px;
  border: 2px solid;
  border-radius: 2px;
  padding: 0 20px;
  -typography: label;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  text-transform: uppercase;
  line-height: 36px; }

.tag-container {
  padding: 0;
  list-style: none;
  margin-bottom: -15px; }
  .tag-container .tag {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 15px; }

@media (max-width: 600px) {
  .tag {
    padding: 0 10px; } }

/* Slideshow
 * This is a .slideshow-container element surrounding a .slideshow and .slideshow-controls element
 * The .is-initialised class should be added when the javascript for the slideshow has been initialised.
 
 * Can contain .slideshow-previous and .slideshow-next buttons.
 * The slideshow-controls element can contain a .slideshow-thumbnails element (with an inner scrolling element), as well as .slideshow-thumbnails-previous and .slideshow-thumbnails-next
 */
.slideshow-container {
  margin: 50px 0; }
  .slideshow-container:not(.is-initialised) .slideshow > :not(:first-child), .slideshow-container:not(.is-initialised) .slideshow-controls {
    display: none; }

.slideshow {
  position: relative;
  background-color: #323837; }

.slideshow-thumbnails {
  overflow: hidden;
  margin-top: 20px; }

.slideshow-thumbnail {
  float: left;
  position: relative;
  margin-right: 20px;
  width: 275px;
  height: 155px;
  cursor: pointer; }
  .slideshow-thumbnail:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: #000000;
    opacity: 0;
    transition: opacity 200ms ease; }
  .slideshow-thumbnail:hover:after {
    opacity: 0.2; }
  .slideshow-thumbnail:last-child {
    margin-right: 0; }

.slideshow-controls {
  position: relative; }

.slideshow-previous, .slideshow-next, .slideshow-thumbnails-previous, .slideshow-thumbnails-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  background: none;
  border: none;
  font-size: 60px;
  color: #FFFFFF;
  cursor: pointer;
  text-shadow: 1px #ccc; }

.slideshow-previous {
  left: 25px; }

.slideshow-next {
  right: 25px; }

.slideshow-thumbnails-previous, .slideshow-thumbnails-next {
  color: #323837;
  opacity: 0.3;
  transition: opacity 200ms ease; }
  .slideshow-thumbnails-previous:hover, .slideshow-thumbnails-next:hover {
    opacity: 1; }

.slideshow-thumbnails-previous {
  left: -50px; }

.slideshow-thumbnails-next {
  right: -50px; }

@media (max-width: 768px) {
  .slideshow-container {
    margin: 15px 0; }
  .slideshow-controls {
    display: none !important; } }

@media print {
  .slideshow-controls {
    display: none !important; }
  .slideshow {
    max-width: 925px; } }

/* Content card
 * Card with a link to related content.
 */
.content-card {
  position: relative;
  overflow: hidden; }

.content-card, .content-card-link {
  border-bottom: none; }
  .content-card:hover, .content-card-link:hover {
    color: inherit; }

.content-card-title {
  -typography: content-card-title;
  font-size: 24px;
  font-weight: 600;
  line-height: 30px;
  position: absolute;
  bottom: 15px;
  left: 25px;
  margin: 0;
  margin-top: 15px;
  margin-right: 25px;
  padding-top: 5px;
  border-top: 1px solid;
  color: #FFFFFF; }
  @media (max-width: 992px) {
    .content-card-title {
      font-size: 20px;
      line-height: 26px; } }

.content-card-cover {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 100%;
  overflow: hidden;
  transition: top 200ms ease-in;
  background-color: #D9251C;
  color: #FFFFFF;
  z-index: 5; }

.content-card-link:hover .content-card-cover {
  transition: top 200ms ease-out 100ms;
  top: 0; }

.content-card-cover-inner {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  max-height: 100%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  text-align: center;
  padding: 25px; }

.content-card-label {
  display: block;
  -typography: content-card-cover-label;
  -typography: label;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  text-transform: uppercase;
  letter-spacing: 1px; }

.content-card-cover-title {
  display: block;
  -typography: content-card-cover-title;
  font-size: 32px;
  font-weight: 400;
  line-height: 36px;
  margin-top: 10px; }
  @media (max-width: 992px) {
    .content-card-cover-title {
      font-size: 28px;
      line-height: 36px; } }
  @media (max-width: 840px) {
    .content-card-cover-title {
      font-size: 22px;
      line-height: 26px; } }
  @media (max-width: 768px) {
    .content-card-cover-title {
      font-size: 32px;
      line-height: 36px; } }
  @media (max-width: 600px) {
    .content-card-cover-title {
      font-size: 28px;
      line-height: 36px; } }
  @media (max-width: 520px) {
    .content-card-cover-title {
      font-size: 22px;
      line-height: 36px; } }
  @media (max-width: 480px) {
    .content-card-cover-title {
      font-size: 32px;
      line-height: 36px; } }

.content-card-subtitle {
  display: block;
  -typography: content-card-cover-subtitle;
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
  margin-top: 10px; }
  @media (max-width: 992px) {
    .content-card-subtitle {
      font-size: 16px;
      line-height: 20px; } }
  @media (max-width: 840px) {
    .content-card-subtitle {
      font-size: 14px;
      line-height: 18px; } }
  @media (max-width: 768px) {
    .content-card-subtitle {
      font-size: 20px;
      line-height: 24px; } }
  @media (max-width: 600px) {
    .content-card-subtitle {
      font-size: 16px;
      line-height: 20px; } }
  @media (max-width: 520px) {
    .content-card-subtitle {
      font-size: 14px;
      line-height: 18px; } }
  @media (max-width: 480px) {
    .content-card-subtitle {
      font-size: 20px;
      line-height: 24px; } }

/* Content summary */
.content-summary {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 50px; }

.content-summary-image {
  -webkit-flex: 1 0.8 100%;
      -ms-flex: 1 0.8 100%;
          flex: 1 0.8 100%;
  max-width: 660px;
  margin-right: 40px; }

.content-summary-content {
  -webkit-flex: 1 1 100%;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  border-top: 8px solid;
  padding-top: 40px; }

.content-summary-breadcrumbs {
  -typography: breadcrumbs-small;
  -typography: label;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  word-spacing: 1px;
  margin: 0; }

.content-summary-title {
  -typography: heading-2;
  font-size: 45px;
  font-weight: 600;
  line-height: 50px;
  -typography: content-summary-title;
  margin-top: 15px;
  margin-bottom: 25px; }
  @media (max-width: 1100px) {
    .content-summary-title {
      font-size: 43px; } }
  @media (max-width: 1050px) {
    .content-summary-title {
      font-size: 40px;
      line-height: 46px; } }
  @media (max-width: 992px) {
    .content-summary-title {
      font-size: 36px;
      line-height: 42px; } }
  @media (max-width: 900px) {
    .content-summary-title {
      font-size: 32px;
      line-height: 40px; } }
  @media (max-width: 840px) {
    .content-summary-title {
      font-size: 28px;
      line-height: 36px; } }
  @media (max-width: 700px) {
    .content-summary-title {
      font-size: 24px;
      line-height: 32px; } }

.content-summary-subtitle {
  -typography: content-summary-subtitle;
  font-size: 20px;
  line-height: 28px; }
  @media (max-width: 1100px) {
    .content-summary-subtitle {
      font-size: 18px;
      line-height: 26px; } }
  @media (max-width: 900px) {
    .content-summary-subtitle {
      font-size: 16px;
      line-height: 23px; } }

@media (max-width: 1100px) {
  .content-summary-content {
    padding-top: 20px; }
  .content-summary-title {
    margin-bottom: 10px; }
  .content-summary-subtitle {
    margin-top: 10px; } }

@media (max-width: 600px) {
  .content-summary {
    display: block; }
  .content-summary-image {
    margin-left: -20px;
    margin-right: -20px; }
  .content-summary-content {
    border-top: none; } }

html.no-flexbox .content-summary {
  display: block;
  overflow: hidden; }

html.no-flexbox .content-summary-image {
  width: 50%;
  float: left;
  margin-right: 0;
  padding-right: 40px; }

html.no-flexbox .content-summary-content {
  float: right;
  width: 50%; }

@media (max-width: 600px) {
  html.no-flexbox .content-summary {
    overflow: visible; }
  html.no-flexbox .content-summary-image {
    width: auto;
    float: none;
    padding-right: 0;
    margin-left: -20px;
    margin-right: -20px; }
  html.no-flexbox .content-summary-content {
    width: auto;
    float: none; } }

/* Image with caption
 * Can contain an img and .image-caption element wrapped in an .image-width-caption-inner element.
 * Variations:
 *  .full-width-image
 */
.image-with-caption {
  margin: 50px 0; }
  .image-with-caption img {
    width: 100%; }

.image-with-caption-inner {
  vertical-align: top;
  display: inline-block;
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: #F5F5F5; }

.image-caption {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: 80%;
  margin: 0;
  padding: 12px 32px;
  text-align: left;
  -typography: caption;
  font-size: 15px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: 0.5px;
  background-color: #D9251C;
  color: #F5F5F5; }

.image-with-caption.full-width-image {
  width: 100vw;
  margin-left: calc(-100vw / 2 + 462.5px);
  text-align: center;
  background-color: #323837; }
  @media (max-width: 1025px) {
    .image-with-caption.full-width-image {
      margin-left: -50px; } }
  @media (max-width: 768px) {
    .image-with-caption.full-width-image {
      margin-left: -20px; } }

@media (max-width: 768px) {
  .image-with-caption {
    margin: 25px 0; }
  .image-caption {
    max-width: none;
    position: static;
    padding: 10px 30px; } }

@media print {
  .image-with-caption.full-width-image {
    width: 100%;
    margin-left: 0; } }

/* Investor news section
 */
.investor-news-section {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 50px;
  -typography: investor-page-text;
  font-size: 18px;
  line-height: 28px; }
  @media (max-width: 600px) {
    .investor-news-section {
      font-size: 16px;
      line-height: 24px; } }

.investor-news-section-image {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  padding-right: 50px; }
  .investor-news-section-image img {
    width: 376px;
    height: 274px; }

.investor-news-section-title {
  -typography: heading-4;
  font-size: 24px;
  font-weight: 700;
  line-height: 29px;
  margin: 0;
  margin-bottom: 25px; }

.investor-news-section-news {
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }
  .investor-news-section-news > :last-child {
    margin-bottom: 0; }

@media (max-width: 768px) {
  .investor-news-section-image {
    -webkit-flex: 0 1 auto;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .investor-news-section-news {
    -webkit-flex: 1 0 285px;
        -ms-flex: 1 0 285px;
            flex: 1 0 285px; } }

@media (max-width: 600px) {
  .investor-news-section {
    display: block; }
  .investor-news-section-image {
    display: none; } }

html.no-flexbox .investor-news-section {
  display: block;
  overflow: hidden; }

html.no-flexbox .investor-news-section-image {
  float: left;
  width: 376px;
  padding: 0; }

html.no-flexbox .investor-news-section-news {
  margin-left: 426px; }

@media (max-width: 768px) {
  html.no-flexbox .investor-news-section-image {
    display: none; }
  html.no-flexbox .investor-news-section-news {
    margin-left: 0; } }

/* Content link list
 * A list of linked content. Can contain .content-link-list-title and .content-link-list-date elements
 */
.content-link-list {
  list-style-type: none;
  padding: 0;
  margin: 25px 0; }
  .content-link-list > li {
    border-bottom: 1px solid #D8D8D8;
    margin-bottom: 17px; }
    .content-link-list > li:last-child {
      margin-bottom: 0; }
  .content-link-list a {
    border-bottom: none; }
    .content-link-list a:hover {
      color: inherit; }

.content-link-list-title {
  display: block;
  font-weight: 500; }

.content-link-list-date {
  display: block;
  -typography: date-text;
  font-size: 13px;
  font-style: italic;
  font-weight: 400;
  line-height: 16px;
  color: #6B676A; }

/* Resource table
 * A table of resource links. Can contain .resource-table-section, .resource-table-section-title and .resource-table-link-list items
 */
.resource-table {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 25px 0;
  -typography: investor-page-text;
  font-size: 18px;
  line-height: 28px; }
  @media (max-width: 600px) {
    .resource-table {
      font-size: 16px;
      line-height: 24px; } }

.resource-table-section {
  padding: 0 25px;
  border-right: 1px solid #D8D8D8; }
  @media (min-width: 741px) {
    .resource-table-section {
      width: 33.33333%; }
      .resource-table-section:nth-child(-n + 3) {
        border-top: none; }
        .resource-table-section:nth-child(-n + 3) .resource-table-section-title {
          margin-top: 0; }
      .resource-table-section:nth-child(3n) {
        border-right: none;
        padding-right: 0; }
      .resource-table-section:nth-child(3n + 1) {
        padding-left: 0; }
      .resource-table-section:nth-child(3n + 4):before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        border-top: 2px solid #D8D8D8; } }
  @media (max-width: 740px) and (min-width: 401px) {
    .resource-table-section {
      width: 50%; }
      .resource-table-section:nth-child(-n + 2) {
        border-top: none; }
        .resource-table-section:nth-child(-n + 2) .resource-table-section-title {
          margin-top: 0; }
      .resource-table-section:nth-child(2n) {
        border-right: none;
        padding-right: 0; }
      .resource-table-section:nth-child(2n + 1) {
        padding-left: 0; }
      .resource-table-section:nth-child(2n + 3):before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        border-top: 2px solid #D8D8D8; } }

@media (max-width: 400px) {
  .resource-table {
    display: block; }
  .resource-table-section {
    width: 100%;
    padding: 0;
    border: none;
    border-bottom: 2px solid #D8D8D8; }
    .resource-table-section:last-child {
      border-bottom: none; } }

.resource-table-section-title {
  -typography: heading-4;
  font-size: 24px;
  font-weight: 700;
  line-height: 29px;
  margin: 25px 0; }

.resource-table-link-list {
  list-style: none;
  padding: 0; }
  .resource-table-link-list > li {
    margin-bottom: 20px; }

.resource-multipart-parts {
  list-style-type: none;
  padding-left: 20px; }
  .resource-multipart-parts li {
    margin-top: 5px; }

.resource-multipart.is-initialised .icon-resource-multipart-arrow:before {
  content: "\f109"; }

.resource-multipart.is-initialised.is-shown .icon-resource-multipart-arrow:before {
  content: "\f107"; }

@media (max-width: 600px) {
  .resource-table-link-list > li {
    margin-bottom: 15px; } }

html.no-flexbox .resource-table {
  display: block; }

html.no-flexbox .resource-table-section {
  display: inline-block;
  margin-right: -6px;
  vertical-align: top;
  border: none; }
  html.no-flexbox .resource-table-section:before {
    content: none; }

/* Press news item
 * A container for a press news item. Must contain .press-news-item-type, .press-news-item-date, .press-news-item-heading and .press-news-item-read-link. Can contain .press-news-item-summary, .press-news-item-expand-link
 */
.press-news-item {
  position: relative;
  border: 1px solid #D8D8D8;
  margin-bottom: 10px;
  padding-left: 110px;
  padding-right: 245px;
  max-width: 1200px; }

.press-news-item-type, .press-news-item-read-link, .press-news-item-expand-link {
  border-bottom: none;
  position: absolute;
  top: -1px;
  bottom: -1px;
  -typography: label;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  text-transform: uppercase;
  padding: 20px;
  color: #FFFFFF;
  background-color: #1E1E1E;
  text-align: center; }
  .press-news-item-type:hover, .press-news-item-read-link:hover, .press-news-item-expand-link:hover {
    color: inherit; }
  .press-news-item-type:hover, .press-news-item-read-link:hover, .press-news-item-expand-link:hover {
    color: #FFFFFF; }

.press-news-item-type {
  left: -1px;
  width: 90px; }

.press-news-item-read-link, .press-news-item-expand-link {
  width: 105px;
  margin-left: 15px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.press-news-item-actions {
  display: none; }

.press-news-item-read-link {
  right: -1px;
  background-color: #D9251C; }
  .press-news-item-read-link i {
    margin-left: 5px; }

.press-news-item-expand-link {
  right: 120px; }

.press-news-item.is-without-summary .press-news-item-expand-link {
  display: none; }

.press-news-item-date {
  -typography: label;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  text-transform: uppercase;
  color: #6B676A;
  margin: 15px 0 5px 0; }

.press-news-item-heading {
  -typography: press-news-item-heading;
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
  margin: 5px 0;
  max-width: 500px; }

.press-news-item-summary {
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  margin: 15px 0;
  max-width: 500px; }

.press-news-item.is-initialised {
  cursor: pointer; }
  .press-news-item.is-initialised:hover {
    background-color: #F5F5F5; }
  .press-news-item.is-initialised .press-news-item-summary {
    line-height: 0px;
    margin: 0px;
    opacity: 0;
    transition: line-height 300ms ease, margin 300ms ease, opacity 150ms ease; }
  .press-news-item.is-initialised .press-news-item-expand-link {
    transition: opacity 200ms ease 100ms; }

.press-news-item.is-initialised.is-expanded .press-news-item-summary {
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  margin: 15px 0;
  opacity: 1;
  transition: line-height 300ms ease, margin 300ms ease, opacity 300ms ease 150ms; }

.press-news-item.is-initialised.is-expanded .press-news-item-expand-link {
  opacity: 0;
  transition: opacity 150ms ease; }

@media (min-width: 769px) {
  .press-news-item:hover .press-news-item-actions, .press-news-item.is-expanded .press-news-item-actions {
    display: block; } }

@media (max-width: 768px) {
  .press-news-item {
    padding-right: 0; }
  .press-news-item.is-expanded {
    padding-right: 125px; }
    .press-news-item.is-expanded .press-news-item-actions {
      display: block; } }

@media (max-width: 480px) {
  .press-news-item {
    padding: 0 20px; }
  .press-news-item-type, .press-news-item-read-link {
    position: static;
    width: auto;
    text-align: left;
    margin: 0 -20px; }
  .press-news-item.is-expanded {
    padding-right: 20px; } }

/* Pagination
 * Pagination items.
 * A .pagination-infinite-container is used to contain content and navigation for infinite scroll.
 * Any .pagination element inside it is hidden when it is initialised, as this is used for non-js compatibility.
 */
.pagination {
  text-align: right;
  margin: 25px 0;
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px; }

.pagination-link, .pagination-current-page {
  border-bottom: none;
  margin-left: 5px; }
  .pagination-link:hover, .pagination-current-page:hover {
    color: inherit; }

.pagination-infinite-more-link {
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  text-align: center;
  display: none; }

.pagination-infinite-loading {
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  text-align: center; }

.pagination-infinite-container.is-initialised .pagination {
  display: none; }

.pagination-infinite-container.is-initialised .pagination-infinite-more-link {
  display: block; }

/* Dropdown
 * Dropdown menu. Contains .dropdown-item elements with links inside
 */
.dropdown-container {
  position: relative; }

.dropdown-list {
  list-style-type: none;
  padding: 0;
  margin: 0; }

.dropdown {
  background-color: #FFFFFF;
  color: #333333;
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  border: 1px solid #F5F5F5;
  position: absolute;
  left: 0;
  z-index: 95;
  width: 250px;
  display: none; }
  .dropdown:before {
    content: '';
    display: block;
    position: absolute;
    left: 40px;
    top: -14px;
    border-bottom: 14px solid #F5F5F5;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent; }
  .dropdown:after {
    content: '';
    display: block;
    position: absolute;
    left: 40px;
    top: -13px;
    border-bottom: 14px solid #FFFFFF;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent; }

.dropdown-container:hover .dropdown {
  display: block; }

.dropdown-title {
  cursor: pointer; }

.dropdown-title-icon {
  color: #6B676A;
  margin-left: 2px; }

.dropdown-item {
  border-bottom: 1px solid #F5F5F5; }
  .dropdown-item:last-child {
    border: none; }
  .dropdown-item a {
    border-bottom: none;
    display: block;
    padding: 10px; }
    .dropdown-item a:hover {
      color: inherit; }
    .dropdown-item a:hover {
      color: #D9251C; }

.dropdown-close {
  display: none; }

@media (max-width: 650px) {
  .dropdown:before, .dropdown:after {
    content: none; }
  .dropdown-item {
    border: none; } }

/* Button
 */
.button {
  border-bottom: none;
  display: inline-block;
  height: 36px;
  border: 2px solid;
  border-radius: 2px;
  padding: 0 20px;
  -typography: label;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  text-transform: uppercase;
  line-height: 36px;
  color: #333333;
  transition: background-color 300ms ease, color 300ms ease; }
  .button:hover {
    color: inherit; }
  .button:hover {
    background-color: #333333;
    color: #FFFFFF; }

.button-with-icon {
  border: none;
  background: none;
  padding: 0;
  cursor: pointer; }
  .button-with-icon img {
    display: block; }
  .button-with-icon:disabled {
    cursor: default; }

/* Filters
 */
.filter-bar {
  margin: 25px 0;
  -typography: site-header-menu-text;
  font-size: 16px;
  font-weight: 600;
  line-height: 25px;
  line-height: 48px;
  border-bottom: 3px solid; }

.filter-label {
  display: inline-block;
  margin-right: 40px;
  -typography-addition: filter-label-text;
  text-transform: uppercase; }

.filter-dropdown {
  display: inline-block;
  margin-right: 40px; }
  .filter-dropdown .dropdown-title {
    color: #409784; }
  .filter-dropdown:last-child {
    margin-right: 0; }

.filter-list {
  display: inline-block; }

.filtered-items:before {
  content: url("/images/loader.gif");
  position: absolute;
  top: 50px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
  opacity: 0; }

.filtered-items.loading {
  min-height: 150px;
  position: relative; }
  .filtered-items.loading:before {
    opacity: 1;
    z-index: 1;
    transition: opacity 500ms ease 500ms; }

.layout-site-content > .filter-bar:first-child {
  padding-top: 50px;
  margin-top: -50px; }

@media (max-width: 768px) {
  .filter-bar {
    margin-bottom: 20px; } }

@media (max-width: 520px) {
  .filter-list {
    line-height: 24px;
    margin: 12px 0; }
  .filter-dropdown {
    display: block; } }

/* Thumbnail
 * These can be div or a elements that contain img elements.
 * They fix the size/aspect ratio of the image and display a background color when the image has not loaded.
 * Size is fixed by setting width and height
 * Aspect ratio is fixed by setting height to 0, width to 100%, and then padding-top to a percentage. The padding top becomes a percentage of the image width, which allows us to fix the aspect ratio. For a 4:3 image, the padding top would be (100% * 3 / 4).
*/
.thumbnail {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 100%;
  overflow: hidden;
  background-color: #323837; }
  .thumbnail > img {
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    max-width: none;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .thumbnail > .slideshow {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }
  .thumbnail.thumbnail-content-overlay:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(to bottom, transparent 40%, rgba(0, 0, 0, 0.4) 80%, rgba(0, 0, 0, 0.4) 100%); }
  .thumbnail.thumbnail-vertical {
    padding-top: 71.66667%; }
  .thumbnail.thumbnail-homepage-main {
    padding-top: 65.15152%; }
    @media (max-width: 900px) {
      .thumbnail.thumbnail-homepage-main {
        padding-top: 78.78788%; } }
    @media (max-width: 600px) {
      .thumbnail.thumbnail-homepage-main {
        padding-top: 54.54545%; } }
  .thumbnail.thumbnail-small {
    padding-top: 90.90909%; }

html.no-csstransforms .thumbnail > img {
  top: 0; }

/* Search header
*/
.search-header {
  background-color: #D9251C;
  color: #FFFFFF;
  padding: 65px 0 50px 0; }

.search-header-form {
  position: relative;
  padding-left: 70px;
  margin-left: -70px; }

.search-header-button {
  color: inherit;
  font-size: 40px;
  display: inline-block;
  position: absolute;
  left: 0; }

.search-header-input, .search-header-input:not([type]) {
  -typography: large-text;
  font-size: 27px;
  font-weight: 400;
  line-height: 37.5px;
  display: block;
  width: 100%;
  color: inherit;
  margin: 0;
  margin-bottom: 10px;
  border: none;
  outline: none;
  background-color: transparent; }
  @media (max-width: 700px) {
    .search-header-input, .search-header-input:not([type]) {
      font-size: 24px;
      line-height: 34px; } }
  @media (max-width: 600px) {
    .search-header-input, .search-header-input:not([type]) {
      font-size: 22px;
      line-height: 32px; } }
  @media (max-width: 600px) {
    .search-header-input, .search-header-input:not([type]) {
      font-size: 20px;
      line-height: 30px; } }

.search-header-input::-webkit-input-placeholder {
  color: #FFFFFF; }

.search-header-input:-ms-input-placeholder {
  color: #FFFFFF; }

.search-header-input::placeholder {
  color: #FFFFFF; }

.search-header-result-count {
  -typography: subtitle-1;
  font-size: 18px;
  font-weight: 700;
  line-height: 22px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: #F2A0A0;
  margin: 0; }

@media (max-width: 1195px) {
  .search-header-form {
    margin-left: 0; }
  .search-layout-limited {
    max-width: none; } }

@media print {
  .search-header {
    background-color: transparent;
    color: inherit; }
  .search-header-form {
    margin-left: 0; }
  .search-header-input::-webkit-input-placeholder {
    color: inherit; }
  .search-header-input:-ms-input-placeholder {
    color: inherit; }
  .search-header-input::placeholder {
    color: inherit; }
  .search-header-result-count {
    color: inherit; } }

/* Search result
*/
.search-result {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 35px; }
  .search-result a {
    border-bottom: none; }
    .search-result a:hover {
      color: inherit; }

.search-result-image {
  width: 35%;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  margin-right: 75px; }
  .search-result-image img {
    width: 100%;
    height: auto; }

.search-result-content {
  padding-top: 25px;
  border-top: 8px solid;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.search-result-title {
  -typography: heading-2;
  font-size: 45px;
  font-weight: 600;
  line-height: 50px;
  -typography: content-summary-title;
  margin: 15px 0; }
  @media (max-width: 1100px) {
    .search-result-title {
      font-size: 43px; } }
  @media (max-width: 1050px) {
    .search-result-title {
      font-size: 40px;
      line-height: 46px; } }
  @media (max-width: 992px) {
    .search-result-title {
      font-size: 36px;
      line-height: 42px; } }
  @media (max-width: 900px) {
    .search-result-title {
      font-size: 32px;
      line-height: 40px; } }
  @media (max-width: 840px) {
    .search-result-title {
      font-size: 28px;
      line-height: 36px; } }
  @media (max-width: 700px) {
    .search-result-title {
      font-size: 24px;
      line-height: 32px; } }

.search-result-description {
  -typography: content-summary-subtitle;
  font-size: 20px;
  line-height: 28px;
  margin: 15px 0; }
  @media (max-width: 1100px) {
    .search-result-description {
      font-size: 18px;
      line-height: 26px; } }
  @media (max-width: 900px) {
    .search-result-description {
      font-size: 16px;
      line-height: 23px; } }

@media (max-width: 600px) {
  .search-result-image {
    margin-right: 25px; } }

@media (max-width: 480px) {
  .search-result {
    display: block; }
  .search-result-image {
    width: 100%; }
  .search-result-content {
    border-top: none; } }

html.no-flexbox .search-result {
  display: block;
  overflow: hidden; }

html.no-flexbox .search-result-image {
  float: left;
  margin-right: 0; }

html.no-flexbox .search-result-with-image .search-result-content {
  margin-left: 42%; }

@media (max-width: 600px) {
  html.no-flexbox .search-result-with-image .search-result-content {
    margin-left: 40%; } }

@media (max-width: 480px) {
  html.no-flexbox .search-result-image {
    float: none; }
  html.no-flexbox .search-result-with-image .search-result-content {
    margin-left: 0; } }

/* CSR Item
*/
.csr {
  overflow: hidden; }

.csr-slideshow {
  float: left;
  width: 50%;
  padding-right: 15px; }
  .csr-slideshow .slideshow-container {
    margin: 0; }
  .csr-slideshow .slideshow-previous, .csr-slideshow .slideshow-next {
    font-size: 40px; }

.csr-content {
  margin-left: 50%;
  padding-left: 15px; }

.csr-title {
  -typography: heading-4;
  font-size: 24px;
  font-weight: 700;
  line-height: 29px;
  margin-top: 0;
  margin-bottom: 15px; }

.csr-description {
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  margin-bottom: 25px; }
  .csr-description p {
    margin: 15px 0; }
    .csr-description p:last-child {
      margin-bottom: 0; }

.csr-links {
  -typography: label;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  text-transform: uppercase;
  list-style: none;
  padding: 0;
  margin: 0;
  margin-top: 35px; }
  .csr-links li {
    margin-bottom: 12px; }
  .csr-links a {
    border-bottom: none; }
    .csr-links a:hover {
      color: inherit; }
    .csr-links a:after {
      content: ' >'; }

.csr-tags {
  list-style-type: none;
  padding: 0;
  margin: 0; }
  .csr-tags li {
    display: inline-block;
    -typography: csr-tag;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    margin-right: 10px; }
  .csr-tags i {
    margin-right: 2px; }
  .csr-tags a {
    border-bottom: none; }
    .csr-tags a:hover {
      color: inherit; }

@media (max-width: 768px) {
  .csr-slideshow {
    float: none;
    width: 100%;
    padding-right: 0; }
  .csr-content {
    margin-left: 0;
    padding-left: 0;
    margin-top: 15px; } }

/* Timeline */
.timeline-container {
  position: relative;
  margin-left: -10px;
  margin-right: -10px; }

.timeline {
  overflow: hidden;
  height: 85px; }

.timeline-inner {
  padding: 0 10px;
  overflow: hidden; }

.timeline-milestone {
  float: left;
  position: relative;
  height: 85px;
  padding: 20px;
  padding-left: 60px;
  margin-right: 10px;
  background-color: #D8D8D8; }
  .timeline-milestone:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    border-left: 40px solid #FFFFFF;
    border-top: 42.5px solid transparent;
    border-bottom: 42.5px solid transparent;
    z-index: 1; }
  .timeline-milestone:after {
    content: '';
    position: absolute;
    top: 0;
    right: -40px;
    display: block;
    border-left: 40px solid #D8D8D8;
    border-top: 42.5px solid transparent;
    border-bottom: 42.5px solid transparent;
    z-index: 2; }
  .timeline-milestone:first-child {
    padding-left: 20px; }
    .timeline-milestone:first-child:before {
      content: none; }
  .timeline-milestone:last-child {
    margin-right: 0; }
    .timeline-milestone:last-child:after {
      content: none; }

.timeline-milestone-date {
  display: block;
  -typography: label;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  text-transform: uppercase;
  margin-bottom: 5px; }

.timeline-milestone-name {
  display: block;
  -typography: heading-5;
  font-size: 16px;
  font-weight: 700;
  line-height: 25px;
  white-space: nowrap; }

.timeline-scroll {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 200px;
  cursor: pointer;
  z-index: 3; }

.timeline-scroll-left {
  left: 0;
  background: linear-gradient(to right, white 10%, rgba(255, 255, 255, 0) 50%); }

.timeline-scroll-right {
  right: 0;
  background: linear-gradient(to left, white 10%, rgba(255, 255, 255, 0) 50%); }

html.no-flexbox .timeline-scroll {
  display: none; }

html.no-flexbox .timeline-container {
  position: relative;
  margin-left: 0;
  margin-right: 0; }

html.no-flexbox .timeline {
  height: auto; }

html.no-flexbox .timeline-inner {
  padding: 0; }

html.no-flexbox .timeline-milestone {
  float: none;
  height: auto;
  padding: 0;
  margin: 0;
  margin-bottom: 20px;
  background-color: transparent; }
  html.no-flexbox .timeline-milestone:before {
    content: none; }
  html.no-flexbox .timeline-milestone:after {
    content: none; }
  html.no-flexbox .timeline-milestone:first-child {
    padding-left: 0; }

/* Map */
.map.is-initialised {
  height: 400px; }
  .map.is-initialised > div {
    pointer-events: none; }
  .map.is-initialised.is-active > div {
    pointer-events: auto; }

.map-embed {
  width: 100%;
  height: 400px; }
  .map-embed iframe {
    width: 100%;
    height: 100%;
    border: none; }
  .map-embed iframe {
    pointer-events: none; }
  .map-embed.is-active iframe {
    pointer-events: auto; }

/* Home page box */
.homepage-box {
  position: relative;
  background-color: #979797;
  color: #FFFFFF;
  overflow: hidden;
  margin-bottom: -40px; }

.homepage-box-title {
  -typography: heading-2;
  font-size: 45px;
  font-weight: 600;
  line-height: 50px;
  -typography: homepage-box-title;
  margin: 0 0 35px 0; }
  @media (max-width: 1100px) {
    .homepage-box-title {
      font-size: 43px; } }
  @media (max-width: 1050px) {
    .homepage-box-title {
      font-size: 40px;
      line-height: 46px; } }
  @media (max-width: 992px) {
    .homepage-box-title {
      font-size: 36px;
      line-height: 42px; } }
  @media (max-width: 520px) {
    .homepage-box-title {
      font-size: 28px;
      line-height: 36px; } }
  @media (max-width: 480px) {
    .homepage-box-title {
      font-size: 22px;
      line-height: 26px; } }

.homepage-box-description {
  -typography: large-text;
  font-size: 27px;
  font-weight: 400;
  line-height: 37.5px;
  -typography: homepage-box-description; }
  @media (max-width: 700px) {
    .homepage-box-description {
      font-size: 24px;
      line-height: 34px; } }
  @media (max-width: 600px) {
    .homepage-box-description {
      font-size: 22px;
      line-height: 32px; } }
  @media (max-width: 600px) {
    .homepage-box-description {
      font-size: 20px;
      line-height: 30px; } }
  @media (max-width: 1100px) {
    .homepage-box-description {
      font-size: 25px;
      line-height: 34px; } }
  @media (max-width: 1050px) {
    .homepage-box-description {
      font-size: 24px;
      line-height: 34px; } }
  @media (max-width: 992px) {
    .homepage-box-description {
      font-size: 20px;
      line-height: 32px;
      font-weight: 300; } }
  @media (max-width: 768px) {
    .homepage-box-description {
      line-height: 28px; } }
  @media (max-width: 520px) {
    .homepage-box-description {
      font-size: 18px;
      line-height: 24px; } }
  @media (max-width: 480px) {
    .homepage-box-description {
      font-size: 16px;
      line-height: 22px; } }
  .homepage-box-description > :first-child {
    margin-top: 0; }

.homepage-box-button-container {
  margin-top: 60px;
  position: absolute;
  bottom: 50px; }

.homepage-box-button {
  color: #FFFFFF; }
  .homepage-box-button:hover {
    background-color: #FFFFFF;
    color: #333333; }

.homepage-box-content {
  padding-top: 50px;
  padding-bottom: 50px;
  max-width: 1200px;
  position: absolute;
  width: 100%;
  top: 0;
  height: 100%; }

.homepage-box-image img {
  width: 100%; }

@media (max-width: 1200px) {
  .homepage-box-title {
    margin-bottom: 25px; }
  .homepage-box-button-container {
    margin-top: 0; } }

@media (max-width: 992px) {
  .homepage-box-content {
    padding-top: 40px;
    padding-bottom: 40px; } }

@media (max-width: 768px) {
  .homepage-box-title {
    margin-bottom: 14px; }
  .homepage-box-content {
    padding-top: 20px;
    padding-bottom: 20px; }
  .homepage-box-button-container {
    bottom: 20px; } }

@media (max-width: 520px) {
  .homepage-box-content {
    padding-top: 30px;
    padding-bottom: 30px; } }

@media (max-width: 480px) {
  .homepage-box-description p:last-child {
    margin-bottom: 10px; } }

/* Home page projects */
.homepage-projects-section {
  overflow: hidden;
  padding-bottom: 30px; }

.homepage-projects-sidebar {
  float: left;
  width: 220px; }

.homepage-projects-container {
  margin-left: 250px; }

.homepage-projects-title {
  -typography: heading-2;
  font-size: 45px;
  font-weight: 600;
  line-height: 50px;
  border-bottom: 1px solid;
  display: inline-block;
  padding-bottom: 20px;
  margin-top: 0;
  margin-bottom: 20px; }
  @media (max-width: 1100px) {
    .homepage-projects-title {
      font-size: 43px; } }
  @media (max-width: 1050px) {
    .homepage-projects-title {
      font-size: 40px;
      line-height: 46px; } }
  @media (max-width: 992px) {
    .homepage-projects-title {
      font-size: 36px;
      line-height: 42px; } }

.homepage-projects-verticals {
  list-style: none;
  padding: 0;
  margin: 0;
  -typography: homepage-project-filters;
  font-size: 18px;
  line-height: 28px; }
  @media (max-width: 600px) {
    .homepage-projects-verticals {
      font-size: 14px;
      line-height: 28px; } }
  .homepage-projects-verticals a {
    display: block;
    padding-left: 20px;
    border-bottom: none;
    color: #333333; }
    .homepage-projects-verticals a:hover {
      color: inherit; }
    .homepage-projects-verticals a:hover {
      color: inherit; }
  .homepage-projects-verticals li {
    position: relative;
    margin-bottom: 5px; }
    .homepage-projects-verticals li.is-selected a {
      color: inherit; }
  @media (max-width: 600px) {
    .homepage-projects-verticals li {
      margin-bottom: 0; } }

.homepage-projects-bullet {
  display: inline-block;
  background-color: #323837;
  width: 10px;
  height: 10px;
  position: absolute;
  left: 0;
  top: 7.5px; }

.homepage-projects-dots {
  list-style-type: none;
  padding: 0;
  margin: 0;
  text-align: right;
  margin-top: 20px;
  line-height: 10px;
  margin-bottom: -25px; }
  .homepage-projects-dots li {
    display: inline-block;
    margin-left: 0; }
  .homepage-projects-dots li:first-child:last-child {
    display: none; }
  .homepage-projects-dots button {
    position: relative;
    border: none;
    outline: none;
    font-size: 0;
    line-height: 0;
    display: block;
    color: transparent;
    background: none;
    width: 13px;
    height: 13px;
    padding: 3.5px;
    cursor: pointer; }
    .homepage-projects-dots button:before {
      content: '';
      display: block;
      position: absolute;
      left: 3px;
      top: 3px;
      width: 7px;
      height: 7px;
      background-color: #D8D8D8;
      border-radius: 50%;
      transition: background-color 300ms ease; }
    .homepage-projects-dots button:hover:before {
      background-color: #979797; }
  .homepage-projects-dots .slick-active button:before {
    background-color: #D9251C; }

.homepage-projects-page {
  min-height: 307px;
  position: relative; }
  .homepage-projects-page:before {
    content: url("/images/loader.gif");
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    opacity: 0; }
  .homepage-projects-page.loading:before {
    opacity: 1;
    transition: opacity 500ms ease 500ms; }
  .homepage-projects-page.is-loaded:before {
    display: none; }

.homepage-project.grid-item {
  width: 25%; }

.homepage-project-title {
  -typography: heading-5;
  font-size: 16px;
  font-weight: 700;
  line-height: 25px;
  position: static;
  color: inherit;
  border: none;
  padding: 0;
  margin: 0;
  margin-top: 10px;
  transition: color 300ms ease; }

.homepage-project:not(:hover) .homepage-project-title {
  color: #333333 !important; }

.homepage-project-bar {
  display: block;
  border-top: 8px solid;
  padding-top: 12px; }

@media (max-width: 992px) {
  .homepage-project.grid-item {
    width: 33.33333%; } }

@media (max-width: 700px) {
  .homepage-projects-section {
    display: none; } }

/*
  Navigation arrows to cycle through projects
*/
.project-cycle-nav {
  border-bottom: none;
  display: block;
  z-index: 40;
  position: fixed;
  top: 50%;
  color: #333333;
  width: 160px;
  text-align: center;
  opacity: 0;
  transition: opacity 300ms ease; }
  .project-cycle-nav:hover {
    color: inherit; }
  .project-cycle-nav.is-shown {
    opacity: 1; }

.project-cycle-nav-button {
  -typography: label;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  text-transform: uppercase;
  display: block;
  position: relative;
  color: #333333;
  background-color: #FFFFFF;
  border: 2px solid;
  border-top: none;
  padding: 10px;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  z-index: 1;
  transition: -webkit-transform 300ms ease;
  transition: transform 300ms ease;
  transition: transform 300ms ease, -webkit-transform 300ms ease; }

.project-cycle-nav.is-shown .project-cycle-nav-button {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.project-cycle-nav-title {
  padding-top: 10px;
  display: block;
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  margin-top: -150px;
  opacity: 0;
  transition: opacity 400ms ease, margin-top 400ms ease 100ms; }

.project-cycle-nav:hover .project-cycle-nav-title {
  transition: opacity 400ms ease 100ms, margin-top 400ms ease;
  opacity: 1;
  margin-top: 0;
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px; }

.project-cycle-nav-next {
  right: 0;
  -webkit-transform: translateX(50%) rotate(90deg);
      -ms-transform: translateX(50%) rotate(90deg);
          transform: translateX(50%) rotate(90deg);
  -webkit-transform-origin: top center;
      -ms-transform-origin: top center;
          transform-origin: top center; }

.project-cycle-nav-previous {
  left: 0;
  -webkit-transform: translateX(-50%) rotate(-90deg);
      -ms-transform: translateX(-50%) rotate(-90deg);
          transform: translateX(-50%) rotate(-90deg);
  -webkit-transform-origin: top center;
      -ms-transform-origin: top center;
          transform-origin: top center; }

@media (max-width: 1100px) {
  .project-cycle-nav {
    display: none; } }

@media print {
  .project-cycle-nav {
    display: none; } }

html.no-csstransforms .project-cycle-nav {
  display: none; }

/* Linkable sections
 * These are sections, with IDs, that need to be anchor linked.
 * They need a padding at the beginning so that there is enough space above the section content.
 * If not, the fixed header would overlap the section content when the section is linked to.
 * These sections must have a h2 element as the first child.
*/
.linkable-section {
  margin-top: -25px;
  margin-bottom: 25px; }
  .linkable-section > h2:first-child {
    padding-top: 50px;
    margin-top: 0; }

/* Grid
 * Used for items arranged in a grid
*/
.grid {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-right: -25px;
  margin-bottom: -25px; }

.grid-item {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 33.33333%;
  padding-right: 25px;
  margin-bottom: 25px; }

.grid-item-inner {
  display: block;
  position: relative; }

@media (max-width: 768px) {
  .grid {
    margin-right: -20px;
    margin-bottom: -20px; }
  .grid-item {
    width: 50%;
    padding-right: 20px;
    margin-bottom: 20px; } }

@media (max-width: 480px) {
  .grid {
    display: block;
    margin: 0; }
  .grid-item {
    width: 100%;
    padding-right: 0; } }

html.no-flexbox .grid {
  display: block; }

html.no-flexbox .grid-item {
  display: inline-block;
  vertical-align: top;
  margin-right: -6px; }

/* Profile
  There are two types, profile-large and profile-small.
  profile-small only has a name and designation
  profile-large also has a thumbnail, description
*/
.profile-name {
  -typography: content-card-title;
  font-size: 24px;
  font-weight: 600;
  line-height: 30px;
  margin: 0;
  margin-top: 15px; }
  @media (max-width: 992px) {
    .profile-name {
      font-size: 20px;
      line-height: 26px; } }

.profile-designation {
  display: block;
  -typography: label;
  font-size: 12px;
  font-weight: 700;
  line-height: 14px;
  text-transform: uppercase;
  margin: 0; }

.profile-description {
  -typography: profile-description-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  margin: 0;
  padding-top: 25px; }
  .profile-description p:first-child {
    margin-top: 0; }
  .profile-description padding:last-child {
    margin-bottom: 0; }

.profile-large.is-initialised {
  cursor: pointer; }
  .profile-large.is-initialised .profile-name, .profile-large.is-initialised .profile-designation {
    transition: color 300ms ease; }
  .profile-large.is-initialised:hover .profile-name, .profile-large.is-initialised:hover .profile-designation {
    color: #D9251C; }

.profile-small {
  margin-bottom: 25px; }

@media print {
  .profile-description {
    display: block !important; } }

/* Mobile menu
  This can be added to a dropdown menu or other menu to make it function as a full page mobile menu for mobile sizes
*/
body.mobile-menu-shown {
  overflow: hidden; }

.mobile-menu-close {
  display: none; }

@media (max-width: 650px) {
  .mobile-menu {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    width: auto;
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%);
    transition: -webkit-transform 300ms ease;
    transition: transform 300ms ease;
    transition: transform 300ms ease, -webkit-transform 300ms ease;
    z-index: 110;
    -typography: mobile-menu-text;
    font-size: 22px;
    line-height: 36px;
    font-weight: 600;
    text-transform: uppercase;
    background-color: #FFFFFF;
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .mobile-menu.is-shown {
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); }
  .mobile-menu-scroll-container {
    max-height: 100%;
    overflow-y: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .mobile-menu-items {
    padding: 0 20px; }
    .mobile-menu-items > :first-child {
      margin-top: 50px; }
    .mobile-menu-items > :last-child {
      margin-bottom: 50px; }
  .mobile-menu-close {
    border-bottom: none;
    display: block;
    position: absolute;
    font-size: 24px;
    top: 10px;
    right: 20px; }
    .mobile-menu-close:hover {
      color: inherit; }
  .mobile-menu-item a {
    color: #333333;
    padding: 0; }
    .mobile-menu-item a:hover {
      color: #D9251C; }
  .mobile-menu-subnav, .mobile-menu-subnav.dropdown {
    display: block;
    position: static;
    border: none;
    margin: 0;
    padding: 4px 0;
    -typography: mobile-menu-subnav-text;
    font-size: 20px;
    line-height: 34px;
    font-weight: 300;
    text-transform: none; }
  .mobile-menu-subnav ul {
    list-style-type: none;
    padding: 0;
    margin: 0; } }

@media print {
  .mobile-menu {
    display: none !important; }
  body.mobile-menu-shown {
    overflow: auto; } }

/* Overlay - an overlay-trigger activates the overlay when it is hovered */
.with-overlay:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #FFFFFF;
  opacity: 0;
  transition: opacity 300ms ease; }

.overlay-trigger:hover .with-overlay:after {
  opacity: 0.3; }

html.no-opacity .with-overlay:after {
  content: none; }

/* Printer specific styles */
@media print {
  @page {
    margin: 0.5cm; }
  .related-content {
    display: none; }
  ul, img, iframe {
    page-break-inside: avoid; }
  p, h2, h3 {
    orphans: 3;
    widows: 3; }
  h2, h3 {
    page-break-after: avoid; } }

/* The browser upgrade notification for IE6 & 7 */
.browserupgrade {
  padding: 10px 50px;
  margin: 0;
  border: 1px solid #000000;
  z-index: 200;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: #FFFFFF;
  top: 50px; }

/* Newsletter subscribe form */
.subscribe-form {
  position: relative;
  width: 250px; }

.subscribe-success, .subscribe-error {
  display: none;
  margin: 0;
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  margin-top: 10px; }

.subscribe-error {
  color: #D9251C; }

input.subscribe-email {
  -typography: small-text;
  font-size: 16px;
  font-weight: 300;
  line-height: 19px;
  display: block;
  padding: 5px;
  width: 100%;
  transition: padding 300ms ease; }

.subscribe-button.button-with-icon {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 40px;
  background-color: #409784;
  color: #FFFFFF;
  font-size: 14px;
  transition: opacity 300ms ease; }
  .subscribe-button.button-with-icon .subscribe-button-loader {
    display: none; }

.subscribe-email + .subscribe-button {
  opacity: 0; }

.subscribe-email.is-touched {
  padding-right: 45px; }
  .subscribe-email.is-touched + .subscribe-button {
    opacity: 1; }

.subscribe-container.is-subscribing .subscribe-button {
  opacity: 1; }

.subscribe-container.is-subscribing .subscribe-button-icon {
  display: none; }

.subscribe-container.is-subscribing .subscribe-button.button-with-icon {
  text-align: center; }
  .subscribe-container.is-subscribing .subscribe-button.button-with-icon .subscribe-button-loader {
    display: inline;
    margin-top: 2px; }

.subscribe-container.is-subscribed .subscribe-success {
  display: block; }

.subscribe-container.is-subscribed .subscribe-form {
  display: none; }

.subscribe-container.is-failed .subscribe-error {
  display: block; }
   .blink-one {
    color:red;
  }
  .red-square {
    padding: 20px;
    text-align: center;
    color: #333333;
    width: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 15px;
    font-weight: 600;
    line-height: 22px;
    letter-spacing: 1px;
    word-spacing: 1px;
    position: relative;
  }
  .disclaimer-div{
    width: 100%;
  }
  .disclaimer-proceed{
    text-decoration: none;
    border: 2px solid #333333;
    padding: 10px;
  }
  .disclaimer-proceed:hover{
    background-color: #333333;
    color: #FFFFFF;
  }
  .assets-page-header {
    font-size: 45px;
  }