@charset "UTF-8";
/**
 * Title:
 *    Main Stylesheet
 * Description:
 *    This is the main Scss file which will import all partials and
 *    compile into: assets/css/styles.css
 * Sections:
 *    $. Config
 *    $. Base
 *    $. Layout
 *    $. Modules
 *    $. Interface
 *    $. Helpers
 */
/* $. Config - Variables, global mixins & Bower components
\*----------------------------------------------------------------*/
/**
 * Title:
 *    Variables
 * Description:
 *    Project variables go here
 * Sections:
 *    $. Breakpoints
 *    $. Colours
 *    $. Typography
 *    $. Layout
 *    $. Z axis
 */
/* $. Breakpoints
\*----------------------------------------------------------------*/
/* $. Colours
\*----------------------------------------------------------------*/
/* $. Typography
\*----------------------------------------------------------------*/
/* $. Layout
\*----------------------------------------------------------------*/
/* $. Icons
\*----------------------------------------------------------------*/
/* $. Z axis
\*----------------------------------------------------------------*/
/**
 * Title:
 *    Global Mixins
 * Description:
 *    This is an archive for all global mixins located within the
 *    'mixins' folder
 * Sections:
 *    $. Media Queries
 *    $. Your new mixins
 */
/* $. Media Queries - https://github.com/jakearchibald/sass-ie
\*----------------------------------------------------------------*/
/* $. Media Queries - https://github.com/jakearchibald/sass-ie
\*----------------------------------------------------------------*/
/* $. Media Queries - https://github.com/jakearchibald/sass-ie
\*----------------------------------------------------------------*/
/* $. Your new mixins
\*----------------------------------------------------------------*/
/**
 * Title:
 *    Bower Components
 * Description:
 *    Importing and using the bower components within your Sass
 * Sections:
 *    $. Imports
 *    $. Griddle Build
 *    $. Hotfixes
 */
/* $. Imports
\*----------------------------------------------------------------*/
/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
@import '../grunticon/icons.data.svg.css';
@import '../grunticon/icons.data.png.css';
@import '../grunticon/icons.fallback.css';
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

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

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active, a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *  Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 * 4. Improves appearance and consistency in all browsers.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *  and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *  `input` and others.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 *  Known issue: excess padding remains in IE 6.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  box-sizing: content-box; /* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/* ==========================================================================
   Grid
   ========================================================================== */
/*
 * Example uses:
 *
 * <div class="grid">
 *     <div class="grid__cell unit-1-2"></div>
 *     <div class="grid__cell unit-1-2"></div>
 *     <div class="grid__cell unit-1-3"></div>
 *     <div class="grid__cell unit-1-3"></div>
 * </div>
 *
 * <div class="grid grid--center">
 *     <div class="grid__cell unit-1-3"></div>
 *     <div class="grid__cell unit-1-3"></div>
 * </div>
 */
/* Grid core
   ========================================================================== */
/**
 * Grid container
 * Must only contain `.grid` or `.grid__cell` components as children.
 *
 * 1. Adjustment for child element margins.
 * 2. Ensure consistent default alignment/
 * 3. Remove inter-unit whitespace that appears between `inline-block` child
 *    elements. Work for all non-monospace font-families.  If you're using a
 *    monospace base font, you will need to set the `grid` font-family to
 *   `sans-serif` and then redeclare the monospace font on the `grid__cell`
 *    objects.
 * 4. Protect against WebKit bug with optimizelegibility.
 */
.grid {
  display: block;
  padding: 0;
  margin: 0 -10px; /* 1 */
  text-align: left; /* 2 */
  letter-spacing: -0.31em; /* 3 */
  text-rendering: optimizespeed; /* 4 */
}

/**
 * Opera hack
 */
.opera:-o-prefocus,
.grid {
  word-spacing: -0.43em; /* 3 */
}

/**
 * Child `grid` object adjustments
 * Used for more complex fixed-fluid hybrid grids.
 */
.grid > .grid {
  overflow: hidden;
  margin-right: 0;
  margin-left: 0;
}

/**
 * Grid units
 * No explicit width by default. Apply `.unit-x-y` classes.
 *
 * 1. Fundamentals of the non-float grid layout mechanism.
 * 2. Apply grid gutter.
 * 3. Controls vertical positioning of units.
 * 4. Keeps content correctly aligned with the grid direction.
 * 5. Reset text defaults.
 */
.grid__cell {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  display: inline-block; /* 1 */
  margin: 0;
  padding: 0 10px; /* 2 */
  vertical-align: top; /* 3 */
  text-align: left; /* 4 */
  letter-spacing: normal; /* 5 */
  word-spacing: normal; /* 5 */
  text-rendering: auto; /* 5 */
}

/* Grid modifiers
   ========================================================================== */
/**
 * Modifier: horizontally center all grid units
 * Allows for automatic unit centering irrespective of the number of
 * units in the grid.
 */
.grid--center {
  text-align: center;
}

/**
 * Modifier: align horizontally all grid units to the left
 */
.grid--left {
  text-align: left;
}

/**
 * Modifier: align horizontally all grid units to the right
 */
.grid--right {
  text-align: right;
}

/* Grid cell modifiers
   ========================================================================== */
/**
 * Modifier: horizontally center one unit
 * Set a specific unit to be horizontally centered. Doesn't affect
 * any other units. Can still contain a child `grid` object.
 */
.grid__cell--center {
  display: block;
  margin: 0 auto;
}

/**
 * Modifier: align horizontally one unit to the left
 * Set a specific unit to be horizontally on the left. Doesn't affect
 * any other units. Can still contain a child `grid` object.
 */
.grid__cell--left {
  display: block;
  margin-right: auto;
}

/**
 * Modifier: align horizontally one unit to the right
 * Set a specific unit to be horizontally on the right. Doesn't affect
 * any other units. Can still contain a child `grid` object.
 */
.grid__cell--right {
  display: block;
  margin-left: auto;
}

/* $. Griddle Build
\*----------------------------------------------------------------*/
/* Proportional units
   ========================================================================== */
/*
 * Specify the proportional width of an object.
 * Primarily for, but not limited to, use with `.grid__cell` components.
 * Intentional redundancy build into each set of unit classes.
 */
.unit-1-12 {
  width: 8.3333333333%;
}

.unit-2-12 {
  width: 16.6666666667%;
}

.unit-3-12 {
  width: 25%;
}

.unit-4-12 {
  width: 33.3333333333%;
}

.unit-5-12 {
  width: 41.6666666667%;
}

.unit-6-12 {
  width: 50%;
}

.unit-7-12 {
  width: 58.3333333333%;
}

.unit-8-12 {
  width: 66.6666666667%;
}

.unit-9-12 {
  width: 75%;
}

.unit-10-12 {
  width: 83.3333333333%;
}

.unit-11-12 {
  width: 91.6666666667%;
}

.grid--double-pad {
  margin: 0 -20px;
}
.grid--double-pad > .grid__cell {
  padding: 0 20px;
}

.grid--half-pad {
  margin: 0 -5px;
}
.grid--half-pad > .grid__cell {
  padding: 0 5px;
}

.grid--quarter-pad {
  margin: 0 -2px;
}
.grid--quarter-pad > .grid__cell {
  padding: 0 2px;
}

.grid--flush {
  margin: 0px;
}
.grid--flush > .grid__cell {
  padding: 0 0px;
}

.unit-hidden {
  display: none;
}

.unit-full {
  width: 100%;
}

.unit-right {
  float: right;
}

.wrap--none {
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

.wrap {
  margin: 0 auto;
  width: 92.5%;
  max-width: 1280px;
}

@media screen and (min-width: 30em) {
  /* Proportional units
     ========================================================================== */
  /*
   * Specify the proportional width of an object.
   * Primarily for, but not limited to, use with `.grid__cell` components.
   * Intentional redundancy build into each set of unit classes.
   */
  .unit-1-12--bp1 {
    width: 8.3333333333%;
  }
  .unit-2-12--bp1 {
    width: 16.6666666667%;
  }
  .unit-3-12--bp1 {
    width: 25%;
  }
  .unit-4-12--bp1 {
    width: 33.3333333333%;
  }
  .unit-5-12--bp1 {
    width: 41.6666666667%;
  }
  .unit-6-12--bp1 {
    width: 50%;
  }
  .unit-7-12--bp1 {
    width: 58.3333333333%;
  }
  .unit-8-12--bp1 {
    width: 66.6666666667%;
  }
  .unit-9-12--bp1 {
    width: 75%;
  }
  .unit-10-12--bp1 {
    width: 83.3333333333%;
  }
  .unit-11-12--bp1 {
    width: 91.6666666667%;
  }
  .unit-show--bp1 {
    display: inline-block;
  }
  .unit-full--bp1 {
    width: 100%;
  }
  .unit-right--bp1 {
    float: right;
  }
}
@media screen and (min-width: 37.5em) {
  /* Proportional units
     ========================================================================== */
  /*
   * Specify the proportional width of an object.
   * Primarily for, but not limited to, use with `.grid__cell` components.
   * Intentional redundancy build into each set of unit classes.
   */
  .unit-1-12--bp2 {
    width: 8.3333333333%;
  }
  .unit-2-12--bp2 {
    width: 16.6666666667%;
  }
  .unit-3-12--bp2 {
    width: 25%;
  }
  .unit-4-12--bp2 {
    width: 33.3333333333%;
  }
  .unit-5-12--bp2 {
    width: 41.6666666667%;
  }
  .unit-6-12--bp2 {
    width: 50%;
  }
  .unit-7-12--bp2 {
    width: 58.3333333333%;
  }
  .unit-8-12--bp2 {
    width: 66.6666666667%;
  }
  .unit-9-12--bp2 {
    width: 75%;
  }
  .unit-10-12--bp2 {
    width: 83.3333333333%;
  }
  .unit-11-12--bp2 {
    width: 91.6666666667%;
  }
  .unit-show--bp2 {
    display: inline-block;
  }
  .unit-full--bp2 {
    width: 100%;
  }
  .unit-right--bp2 {
    float: right;
  }
}
@media screen and (min-width: 48em) {
  /* Proportional units
     ========================================================================== */
  /*
   * Specify the proportional width of an object.
   * Primarily for, but not limited to, use with `.grid__cell` components.
   * Intentional redundancy build into each set of unit classes.
   */
  .unit-1-12--bp3 {
    width: 8.3333333333%;
  }
  .unit-2-12--bp3 {
    width: 16.6666666667%;
  }
  .unit-3-12--bp3 {
    width: 25%;
  }
  .unit-4-12--bp3 {
    width: 33.3333333333%;
  }
  .unit-5-12--bp3 {
    width: 41.6666666667%;
  }
  .unit-6-12--bp3 {
    width: 50%;
  }
  .unit-7-12--bp3 {
    width: 58.3333333333%;
  }
  .unit-8-12--bp3 {
    width: 66.6666666667%;
  }
  .unit-9-12--bp3 {
    width: 75%;
  }
  .unit-10-12--bp3 {
    width: 83.3333333333%;
  }
  .unit-11-12--bp3 {
    width: 91.6666666667%;
  }
  .unit-1-5--bp3 {
    width: 20%;
  }
  .unit-2-5--bp3 {
    width: 40%;
  }
  .unit-3-5--bp3 {
    width: 60%;
  }
  .unit-4-5--bp3 {
    width: 80%;
  }
  .unit-show--bp3 {
    display: inline-block;
  }
  .unit-full--bp3 {
    width: 100%;
  }
  .unit-right--bp3 {
    float: right;
  }
  .grid--normal--bp3 {
    margin: 0 -10px;
  }
  .grid--normal--bp3 > .grid__cell {
    padding: 0 10px;
  }
  .wrap--bp3 {
    margin: 0 auto;
    width: 90%;
    max-width: 1280px;
  }
}
@media screen and (min-width: 55em) {
  /* Proportional units
     ========================================================================== */
  /*
   * Specify the proportional width of an object.
   * Primarily for, but not limited to, use with `.grid__cell` components.
   * Intentional redundancy build into each set of unit classes.
   */
  .unit-1-12--bp4 {
    width: 8.3333333333%;
  }
  .unit-2-12--bp4 {
    width: 16.6666666667%;
  }
  .unit-3-12--bp4 {
    width: 25%;
  }
  .unit-4-12--bp4 {
    width: 33.3333333333%;
  }
  .unit-5-12--bp4 {
    width: 41.6666666667%;
  }
  .unit-6-12--bp4 {
    width: 50%;
  }
  .unit-7-12--bp4 {
    width: 58.3333333333%;
  }
  .unit-8-12--bp4 {
    width: 66.6666666667%;
  }
  .unit-9-12--bp4 {
    width: 75%;
  }
  .unit-10-12--bp4 {
    width: 83.3333333333%;
  }
  .unit-11-12--bp4 {
    width: 91.6666666667%;
  }
  .unit-1-5--bp4 {
    width: 20%;
  }
  .unit-2-5--bp4 {
    width: 40%;
  }
  .unit-3-5--bp4 {
    width: 60%;
  }
  .unit-4-5--bp4 {
    width: 80%;
  }
  .unit-show--bp4 {
    display: inline-block;
  }
  .unit-full--bp4 {
    width: 100%;
  }
  .unit-right--bp4 {
    float: right;
  }
  .wrap--bp4 {
    margin: 0 auto;
    width: 90%;
    max-width: 1280px;
  }
}
@media screen and (min-width: 62em) {
  /* Proportional units
     ========================================================================== */
  /*
   * Specify the proportional width of an object.
   * Primarily for, but not limited to, use with `.grid__cell` components.
   * Intentional redundancy build into each set of unit classes.
   */
  .unit-1-12--bp5 {
    width: 8.3333333333%;
  }
  .unit-2-12--bp5 {
    width: 16.6666666667%;
  }
  .unit-3-12--bp5 {
    width: 25%;
  }
  .unit-4-12--bp5 {
    width: 33.3333333333%;
  }
  .unit-5-12--bp5 {
    width: 41.6666666667%;
  }
  .unit-6-12--bp5 {
    width: 50%;
  }
  .unit-7-12--bp5 {
    width: 58.3333333333%;
  }
  .unit-8-12--bp5 {
    width: 66.6666666667%;
  }
  .unit-9-12--bp5 {
    width: 75%;
  }
  .unit-10-12--bp5 {
    width: 83.3333333333%;
  }
  .unit-11-12--bp5 {
    width: 91.6666666667%;
  }
  .unit-1-5--bp5 {
    width: 20%;
  }
  .unit-2-5--bp5 {
    width: 40%;
  }
  .unit-3-5--bp5 {
    width: 60%;
  }
  .unit-4-5--bp5 {
    width: 80%;
  }
  .unit-show--bp5 {
    display: inline-block;
  }
  .unit-full--bp5 {
    width: 100%;
  }
  .unit-right--bp5 {
    float: right;
  }
}
@media screen and (min-width: 70em) {
  /* Proportional units
     ========================================================================== */
  /*
   * Specify the proportional width of an object.
   * Primarily for, but not limited to, use with `.grid__cell` components.
   * Intentional redundancy build into each set of unit classes.
   */
  .unit-1-12--bp6 {
    width: 8.3333333333%;
  }
  .unit-2-12--bp6 {
    width: 16.6666666667%;
  }
  .unit-3-12--bp6 {
    width: 25%;
  }
  .unit-4-12--bp6 {
    width: 33.3333333333%;
  }
  .unit-5-12--bp6 {
    width: 41.6666666667%;
  }
  .unit-6-12--bp6 {
    width: 50%;
  }
  .unit-7-12--bp6 {
    width: 58.3333333333%;
  }
  .unit-8-12--bp6 {
    width: 66.6666666667%;
  }
  .unit-9-12--bp6 {
    width: 75%;
  }
  .unit-10-12--bp6 {
    width: 83.3333333333%;
  }
  .unit-11-12--bp6 {
    width: 91.6666666667%;
  }
  .unit-1-5--bp6 {
    width: 20%;
  }
  .unit-2-5--bp6 {
    width: 40%;
  }
  .unit-3-5--bp6 {
    width: 60%;
  }
  .unit-4-5--bp6 {
    width: 80%;
  }
  .unit-show--bp6 {
    display: inline-block;
  }
  .unit-full--bp6 {
    width: 100%;
  }
  .unit-right--bp6 {
    float: right;
  }
}
@media screen and (min-width: 80em) {
  /* Proportional units
     ========================================================================== */
  /*
   * Specify the proportional width of an object.
   * Primarily for, but not limited to, use with `.grid__cell` components.
   * Intentional redundancy build into each set of unit classes.
   */
  .unit-1-12--bp7 {
    width: 8.3333333333%;
  }
  .unit-2-12--bp7 {
    width: 16.6666666667%;
  }
  .unit-3-12--bp7 {
    width: 25%;
  }
  .unit-4-12--bp7 {
    width: 33.3333333333%;
  }
  .unit-5-12--bp7 {
    width: 41.6666666667%;
  }
  .unit-6-12--bp7 {
    width: 50%;
  }
  .unit-7-12--bp7 {
    width: 58.3333333333%;
  }
  .unit-8-12--bp7 {
    width: 66.6666666667%;
  }
  .unit-9-12--bp7 {
    width: 75%;
  }
  .unit-10-12--bp7 {
    width: 83.3333333333%;
  }
  .unit-11-12--bp7 {
    width: 91.6666666667%;
  }
  .unit-1-5--bp7 {
    width: 20%;
  }
  .unit-2-5--bp7 {
    width: 40%;
  }
  .unit-3-5--bp7 {
    width: 60%;
  }
  .unit-4-5--bp7 {
    width: 80%;
  }
  .unit-show--bp7 {
    display: inline-block;
  }
  .unit-full--bp7 {
    width: 100%;
  }
  .unit-right--bp7 {
    float: right;
  }
}
@media screen and (min-width: 90em) {
  /* Proportional units
     ========================================================================== */
  /*
   * Specify the proportional width of an object.
   * Primarily for, but not limited to, use with `.grid__cell` components.
   * Intentional redundancy build into each set of unit classes.
   */
  .unit-1-12--bp8 {
    width: 8.3333333333%;
  }
  .unit-2-12--bp8 {
    width: 16.6666666667%;
  }
  .unit-3-12--bp8 {
    width: 25%;
  }
  .unit-4-12--bp8 {
    width: 33.3333333333%;
  }
  .unit-5-12--bp8 {
    width: 41.6666666667%;
  }
  .unit-6-12--bp8 {
    width: 50%;
  }
  .unit-7-12--bp8 {
    width: 58.3333333333%;
  }
  .unit-8-12--bp8 {
    width: 66.6666666667%;
  }
  .unit-9-12--bp8 {
    width: 75%;
  }
  .unit-10-12--bp8 {
    width: 83.3333333333%;
  }
  .unit-11-12--bp8 {
    width: 91.6666666667%;
  }
  .unit-1-5--bp8 {
    width: 20%;
  }
  .unit-2-5--bp8 {
    width: 40%;
  }
  .unit-3-5--bp8 {
    width: 60%;
  }
  .unit-4-5--bp8 {
    width: 80%;
  }
  .unit-show--bp8 {
    display: inline-block;
  }
  .unit-full--bp8 {
    width: 100%;
  }
  .unit-right--bp8 {
    float: right;
  }
}
@media screen and (min-width: 100em) {
  /* Proportional units
     ========================================================================== */
  /*
   * Specify the proportional width of an object.
   * Primarily for, but not limited to, use with `.grid__cell` components.
   * Intentional redundancy build into each set of unit classes.
   */
  .unit-1-12--bp9 {
    width: 8.3333333333%;
  }
  .unit-2-12--bp9 {
    width: 16.6666666667%;
  }
  .unit-3-12--bp9 {
    width: 25%;
  }
  .unit-4-12--bp9 {
    width: 33.3333333333%;
  }
  .unit-5-12--bp9 {
    width: 41.6666666667%;
  }
  .unit-6-12--bp9 {
    width: 50%;
  }
  .unit-7-12--bp9 {
    width: 58.3333333333%;
  }
  .unit-8-12--bp9 {
    width: 66.6666666667%;
  }
  .unit-9-12--bp9 {
    width: 75%;
  }
  .unit-10-12--bp9 {
    width: 83.3333333333%;
  }
  .unit-11-12--bp9 {
    width: 91.6666666667%;
  }
  .unit-1-5--bp9 {
    width: 20%;
  }
  .unit-2-5--bp9 {
    width: 40%;
  }
  .unit-3-5--bp9 {
    width: 60%;
  }
  .unit-4-5--bp9 {
    width: 80%;
  }
  .unit-show--bp9 {
    display: inline-block;
  }
  .unit-full--bp9 {
    width: 100%;
  }
  .unit-right--bp9 {
    float: right;
  }
}
@media screen and (min-width: 110em) {
  /* Proportional units
     ========================================================================== */
  /*
   * Specify the proportional width of an object.
   * Primarily for, but not limited to, use with `.grid__cell` components.
   * Intentional redundancy build into each set of unit classes.
   */
  .unit-1-12--bp10 {
    width: 8.3333333333%;
  }
  .unit-2-12--bp10 {
    width: 16.6666666667%;
  }
  .unit-3-12--bp10 {
    width: 25%;
  }
  .unit-4-12--bp10 {
    width: 33.3333333333%;
  }
  .unit-5-12--bp10 {
    width: 41.6666666667%;
  }
  .unit-6-12--bp10 {
    width: 50%;
  }
  .unit-7-12--bp10 {
    width: 58.3333333333%;
  }
  .unit-8-12--bp10 {
    width: 66.6666666667%;
  }
  .unit-9-12--bp10 {
    width: 75%;
  }
  .unit-10-12--bp10 {
    width: 83.3333333333%;
  }
  .unit-11-12--bp10 {
    width: 91.6666666667%;
  }
  .unit-1-5--bp10 {
    width: 20%;
  }
  .unit-2-5--bp10 {
    width: 40%;
  }
  .unit-3-5--bp10 {
    width: 60%;
  }
  .unit-4-5--bp10 {
    width: 80%;
  }
  .unit-show--bp10 {
    display: inline-block;
  }
  .unit-full--bp10 {
    width: 100%;
  }
  .unit-right--bp10 {
    float: right;
  }
}
/* $. Hotfixes
\*----------------------------------------------------------------*/
.grid {
  letter-spacing: -0.32em;
}

/* $. Base - Project defaults & Element styling
\*----------------------------------------------------------------*/
/**
 * Title:
 *    Defaults
 * Description:
 *    These are the base styles for the project
 * Sections:
 *    $. Defaults
 *    $. Selections
 */
/* $. Defaults
\*----------------------------------------------------------------*/
*,
*:before,
*:after {
  box-sizing: inherit;
  -webkit-font-smoothing: antialiased;
}

html {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  font-size: 100%;
  overflow-y: scroll;
  box-sizing: border-box;
}

body {
  color: #4c4c4c;
  background-color: #fff;
}

/* $. Selections
\*----------------------------------------------------------------*/
::-moz-selection {
  background: rgba(102, 102, 102, 0.5);
  color: #FFF;
  text-shadow: none;
}

::selection {
  background: rgba(102, 102, 102, 0.5);
  color: #FFF;
  text-shadow: none;
}

a:link {
  -webkit-tap-highlight-color: rgba(102, 102, 102, 0.5);
}

:focus {
  outline: 0;
  box-shadow: 0 0 1px #e6e6e6;
}

/**
 * Title:
 *    Elements
 * Description:
 *    The styling of basic element tags
 * Sections:
 *    $. Basics
 *    $. Links
 *    $. Blockquotes
 *    $. Embedded
 */
/* $. Basics
\*----------------------------------------------------------------*/
hr {
  border: 0;
  border-top: 1px solid #e6e6e6;
}

ins {
  text-decoration: none;
  color: #000;
  background: #ff9;
}

mark {
  font-family: "effra-i4", "effra", sans-serif;
  font-weight: 400;
  font-style: italic;
}

pre {
  overflow-x: auto;
}

address {
  white-space: pre-line;
}

/* $. Links
\*----------------------------------------------------------------*/
a {
  text-decoration: none;
  color: #1c5699;
}
a:hover {
  color: #143e6e;
}

/* $. Blockquotes
\*----------------------------------------------------------------*/
blockquote {
  clear: both;
  margin-left: 0;
  margin-right: 0;
  font-family: "Palatino Linotype", Palatino, Palladio, "URW Palladio L", "Book Antiqua", Baskerville, "Bookman Old Style", "Bitstream Charter", "Nimbus Roman No9 L", Garamond, "Apple Garamond", "ITC Garamond Narrow", "New Century Schoolbook", "Century Schoolbook", "Century Schoolbook L", Georgia, serif;
  font-style: italic;
}
@media screen and (min-width: 37.5em) {
  blockquote {
    padding-left: 2em;
    padding-right: 2em;
  }
}
blockquote p {
  font-size: 1.35em;
}

/* $. Embedded
\*----------------------------------------------------------------*/
img {
  display: inline-block;
  margin: 0 auto;
  font-style: italic;
  color: #666;
  vertical-align: middle;
}
img[width] {
  width: auto !important;
}
img[height] {
  height: auto !important;
}

img,
audio,
canvas,
embed,
object,
video {
  max-width: 100%;
}

iframe {
  display: block;
}

.flexible {
  position: relative;
  overflow: hidden;
  margin: 0 0 1em;
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  padding-top: 25px;
  height: 0;
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll;
}
.flexible iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.flexible--tall {
  padding-bottom: 66%;
}

/**
 * Title: Typography
 * Description: Base typography styles dealing with Vertical Rhythm and Hierarchy
 * Sections:
 *    $. Vertical Rhythm
 *    $. Headings and Common Styles
 */
/* $. Vertical Rhythm
\*----------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 1em;
  line-height: 1.2;
}

blockquote, pre, p, ul, ol, dl, hr {
  margin-top: 0;
}

p, ul, ol, dl, hr, form, table, blockquote, pre {
  margin-bottom: 1em;
}

ul > :last-child,
ol > :last-child,
dl > :last-child,
blockquote > :last-child {
  margin-bottom: 0;
}

/* $. Headings and Common Styles
\*----------------------------------------------------------------*/
h1, .alpha {
  font-size: 2.25rem;
}

h2, .beta {
  font-size: 1.875rem;
}

h3, .gamma {
  font-size: 1.5rem;
}

h4, .delta {
  font-size: 1.25rem;
}

h5, .epsilon {
  font-size: 1rem;
}

h6, .zeta {
  font-size: 0.875rem;
}

.intro {
  font-size: 1.25em;
}

.headline {
  border-bottom: 1px solid #e6e6e6;
  padding-bottom: 0.45em;
}

/**
 * Title:
 *    Lists
 * Description:
 *    Styling of <ul>, <ol>, <dl> and its children
 * Sections:
 *    $. Basics
 *    $. Your Styles
 */
/* $. Lists
\*----------------------------------------------------------------*/
ul, ol {
  margin-left: 2em;
  padding-left: 0;
}
ul ul, ul ol, ol ul, ol ol {
  margin-top: 0.5em;
  margin-bottom: 0;
}

li {
  margin-bottom: 0.5em;
}

dt {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
}

dd {
  margin-left: 0;
  margin-bottom: 0.5em;
  font-style: italic;
}

/* $. Your Styles
\*----------------------------------------------------------------*/
/**
 * Title:
 *    Forms
 * Description:
 *    Styling of forms and form variations
 * Sections:
 *    $. Basics
 *    $. Placeholders
 */
/* $. Basics
\*----------------------------------------------------------------*/
form {
  margin: 0 0 1.5em 0;
}

fieldset {
  margin-bottom: 1.5em;
  padding: 0 1em;
}
fieldset:last-child {
  margin-top: 0;
}

legend {
  font-size: 1.25em;
  margin-bottom: 1em;
  padding: 0 1em;
}

label {
  display: block;
  padding-bottom: 0.25em;
}

input[type=checkbox],
input[type=radio] {
  vertical-align: baseline;
  background: none;
  border: none;
  height: 0.8em;
  width: 0.8em;
}

input,
select,
textarea {
  width: 100%;
  padding: 0.5em;
  border: 1px solid;
  border-radius: 0;
  color: #666;
  background-color: #FFF;
  border-color: #CCC;
}

input[type=text],
input[type=email],
textarea {
  -webkit-appearance: none;
  box-shadow: none !important;
}

textarea {
  resize: vertical;
}

form ul,
form ol {
  list-style: none;
  margin-left: 0;
  margin-bottom: 1em;
}

form li {
  margin-bottom: 0.5em;
}

form li:last-child,
fieldset:last-child {
  margin-bottom: 0;
}

/* $. Placeholders
\*----------------------------------------------------------------*/
::-webkit-input-placeholder {
  font-style: italic;
}

:-moz-placeholder {
  font-style: italic;
}

::-moz-placeholder {
  font-style: italic;
}

:-ms-input-placeholder {
  font-style: italic;
}

/* $. Gravity Forms
\*----------------------------------------------------------------*/
.gfield.gform_validation_container {
  display: none;
}

span.gfield_required {
  margin-left: 0.5em;
  font-size: 75%;
}

/* $. Specific
\*----------------------------------------------------------------*/
.form--abstracts {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 0.5em 0;
  font-size: 1.25rem;
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.form--abstracts ul {
  margin: 0;
}
.form--abstracts li {
  margin-bottom: 0;
}
@media screen and (min-width: 55em) {
  .form--abstracts {
    font-size: 1rem;
  }
  .form--abstracts label {
    padding-bottom: 0;
  }
}
@media screen and (min-width: 80em) {
  .form--abstracts {
    font-size: 1.125rem;
  }
}

.form__summary,
.form__entries {
  margin-bottom: 0.25em;
}
@media screen and (min-width: 55em) {
  .form__summary,
  .form__entries {
    margin-bottom: 0;
  }
}

.form__entries label,
.form__entries select {
  display: inline-block;
}
.form__entries select {
  max-width: 60px;
  margin: 0 0.25em;
}

.form__specialisms label {
  display: inline-block;
}
.form__specialisms select {
  display: inline-block;
  max-width: 200px;
  margin-left: 10px;
}

/* $. GDPR Checkbox
\*----------------------------------------------------------------*/
.form--gdpr .gfield_checkbox input, .form--gdpr .gfield_checkbox label {
  display: inline;
}
.form--gdpr .gfield_checkbox input {
  margin-right: 0.5em;
}

/**
 * Title:
 *    Tables
 * Description:
 *    Styling of tables and their variations
 * Sections:
 *    $. Basics
 *    $. Your Styles
 */
/* $. Basics
\*----------------------------------------------------------------*/
table {
  width: 100%;
}

td, th, caption {
  padding: 0.5em;
  border: 1px solid #e6e6e6;
  vertical-align: top;
}

tr:nth-child(odd) td {
  background: #f2f2f2;
}

th, caption {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  background: #e6e6e6;
}

caption {
  background: #dfdfdf;
}

/* $. Your Styles
\*----------------------------------------------------------------*/
.table--hovered tr:hover td {
  background: #ececec;
}

/* $. Modules - Global objects i.e. .btn, .island, etc
\*----------------------------------------------------------------*/
/**
 * Title:
 *    Button Module
 * Description:
 *    The .btn module and its extensions
 * Sections:
 *    $. Setup
 *    $. Component
 *    $. Modifications
 */
/* $. Setup
\*----------------------------------------------------------------*/
button,
input[type=button],
input[type=submit],
.btn {
  display: inline-block;
  padding: 0.5em 1em;
  border: 0;
  transition: background 0.15s ease-out;
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
}

/* $. Component
\*----------------------------------------------------------------*/
/* $. Colour
\*----------------------------------------------------------------*/
.btn--transparent {
  background-color: transparent;
}

.btn--charcoal,
.btn--grey {
  color: #fff;
  background: #4c4c4c;
}
.btn--charcoal:focus, .btn--charcoal:active, .btn--charcoal:hover,
.btn--grey:focus,
.btn--grey:active,
.btn--grey:hover {
  color: #fff;
  background: #333333;
}

.btn--green {
  color: #fff;
  background: #7ab416;
}
.btn--green:focus, .btn--green:active, .btn--green:hover {
  color: #fff;
  background: #5b8710;
}

.btn--light-green {
  color: #fff;
  background: #acd447;
}
.btn--light-green:focus, .btn--light-green:active, .btn--light-green:hover {
  color: #fff;
  background: #93bc2c;
}

.btn--blue {
  color: #fff;
  background: #1c5699;
}
.btn--blue:focus, .btn--blue:active, .btn--blue:hover {
  color: #fff;
  background: #143e6e;
}

.btn--light-blue {
  color: #fff;
  background: #4d82b9;
}
.btn--light-blue:focus, .btn--light-blue:active, .btn--light-blue:hover {
  color: #fff;
  background: #3c6997;
}

.btn--red {
  color: #fff;
  background: #B70201;
}
.btn--red:focus, .btn--red:active, .btn--red:hover {
  color: #fff;
  background: #840101;
}

/* $. Varients
\*----------------------------------------------------------------*/
.btn--center,
.btn--centre {
  margin-left: auto;
  margin-right: auto;
}

.btn--bold {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.btn--full {
  display: block;
}

.btn--max {
  display: block;
  max-width: 420px;
}

.btn--top {
  margin-top: 1em;
}

.btn--bottom {
  margin-bottom: 1em;
}

/* $. Size
\*----------------------------------------------------------------*/
.btn--small {
  font-size: 0.875rem;
}

.btn--medium {
  font-size: 1.25rem;
}

.btn--large {
  font-size: 1.5rem;
}

/* $. Icon
\*----------------------------------------------------------------*/
.btn--with-icon {
  position: relative;
}
.btn--with-icon i {
  position: absolute;
  display: block;
  width: 26px;
  height: 26px;
  margin-top: -13px;
  top: 50%;
  background-position: center;
  background-size: 100%;
}
.btn--with-icon.btn--small i {
  width: 18px;
  height: 18px;
  margin-top: -9px;
}

.btn--icon-left {
  padding-left: 50px;
}
.btn--icon-left i {
  left: 10px;
}

.btn--icon-right {
  padding-right: 50px;
}
.btn--icon-right i {
  right: 10px;
}

.btn--icon {
  padding: 0.3333333333em;
  border: 0;
}
.btn--icon i {
  width: 32px;
  height: 32px;
  display: block;
  background-size: 90% auto;
  background-position: center;
}

/**
 * Title:
 *    Media Module - http://goo.gl/Xf6MJ
 * Description:
 *    The .media module and its extensions
 * Sections:
 *    $. Setup
 *    $. Component
 *    $. Modifications
 */
/* $. Setup
\*----------------------------------------------------------------*/
/* $. Component
\*----------------------------------------------------------------*/
.media {
  margin-bottom: 1em;
}

.media__body:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 37.5em) {
  .media__body {
    overflow: hidden;
  }
}

.media__img {
  margin-bottom: 1em;
}
@media screen and (min-width: 37.5em) {
  .media__img {
    float: left;
    margin-bottom: 0;
    margin-right: 2em;
  }
}

/* $. Modifications
\*----------------------------------------------------------------*/
@media screen and (min-width: 37.5em) {
  .media--flipped .media__img {
    float: right;
    margin-left: 2em;
    margin-right: 0;
  }
}

/**
 * Title:
 *    Island Module - http://goo.gl/1XYHG
 * Description:
 *    The .island module and its extensions
 * Sections:
 *    $. Setup
 *    $. Component
 *    $. Modifications
 */
/* $. Setup
\*----------------------------------------------------------------*/
.island, .cms-area .mwm-aal-container {
  padding: 1.5em;
  margin-bottom: 1em;
}
.island > :last-child, .cms-area .mwm-aal-container > :last-child {
  margin-bottom: 0;
}

/* $. Component
\*----------------------------------------------------------------*/
.cms-area .island ul, .cms-area .mwm-aal-container ul {
  margin-left: 0;
}
.cms-area .island p:last-child, .cms-area .mwm-aal-container p:last-child,
.cms-area .island ul:last-child,
.cms-area .mwm-aal-container ul:last-child,
.cms-area .island ol:last-child,
.cms-area .mwm-aal-container ol:last-child {
  margin-bottom: 0;
}
.cms-area .island h1, .cms-area .mwm-aal-container h1,
.cms-area .island h2,
.cms-area .mwm-aal-container h2,
.cms-area .island h3,
.cms-area .mwm-aal-container h3 {
  margin-bottom: 0.5em;
}
.cms-area .island .flexible, .cms-area .mwm-aal-container .flexible {
  margin-bottom: 0;
}

/* $. Modifications
\*----------------------------------------------------------------*/
.island--blue {
  background-color: #1c5699;
  color: #fff;
}
.cms-area .island--blue a:not(.btn) {
  color: #d6e7fb;
}
.cms-area .island--blue a:not(.btn):after {
  border-bottom-color: #d6e7fb;
}
.cms-area .island--blue a:not(.btn):focus, .cms-area .island--blue a:not(.btn):active, .cms-area .island--blue a:not(.btn):hover {
  color: #bfd9f9;
}
.cms-area .island--blue a:not(.btn):focus:after, .cms-area .island--blue a:not(.btn):active:after, .cms-area .island--blue a:not(.btn):hover:after {
  border-bottom-color: #bfd9f9;
}

.island--light-blue, .cms-area .mwm-aal-container {
  background-color: #4d82b9;
  color: #fff;
}
.cms-area .island--light-blue a:not(.btn), .cms-area .mwm-aal-container a:not(.btn) {
  color: #fff;
}
.cms-area .island--light-blue a:not(.btn):after, .cms-area .mwm-aal-container a:not(.btn):after {
  border-bottom-color: #fff;
}
.cms-area .island--light-blue a:not(.btn):focus, .cms-area .mwm-aal-container a:not(.btn):focus, .cms-area .island--light-blue a:not(.btn):active, .cms-area .mwm-aal-container a:not(.btn):active, .cms-area .island--light-blue a:not(.btn):hover, .cms-area .mwm-aal-container a:not(.btn):hover {
  color: #f2f2f2;
}
.cms-area .island--light-blue a:not(.btn):focus:after, .cms-area .mwm-aal-container a:not(.btn):focus:after, .cms-area .island--light-blue a:not(.btn):active:after, .cms-area .mwm-aal-container a:not(.btn):active:after, .cms-area .island--light-blue a:not(.btn):hover:after, .cms-area .mwm-aal-container a:not(.btn):hover:after {
  border-bottom-color: #f2f2f2;
}

.island--green {
  background-color: #7ab416;
  color: #fff;
}
.cms-area .island--green a:not(.btn) {
  color: #fff;
}
.cms-area .island--green a:not(.btn):after {
  border-bottom-color: #fff;
}
.cms-area .island--green a:not(.btn):focus, .cms-area .island--green a:not(.btn):active, .cms-area .island--green a:not(.btn):hover {
  color: #f2f2f2;
}
.cms-area .island--green a:not(.btn):focus:after, .cms-area .island--green a:not(.btn):active:after, .cms-area .island--green a:not(.btn):hover:after {
  border-bottom-color: #f2f2f2;
}

.island--light-green {
  background-color: #acd447;
  color: #fff;
}
.island--light-green a {
  color: #fff;
  text-decoration: underline;
}

/**
 * Title:
 *    Navigation Module
 * Description:
 *    The .nav module and its extensions
 * Sections:
 *    $. Setup
 *    $. Component
 *    $. Modifications
 */
/* $. Setup
\*----------------------------------------------------------------*/
/* $. Component
\*----------------------------------------------------------------*/
/* $. Modifications
\*----------------------------------------------------------------*/
.breadcrumb {
  color: #4c4c4c;
  line-height: 1.5;
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 0.875rem;
}
.breadcrumb li {
  display: inline;
}
.breadcrumb li:after {
  content: "–";
  display: inline;
  padding: 0 5px 0 6px;
}
.breadcrumb li:last-child:after {
  content: "";
}
.breadcrumb a {
  color: #1c5699;
  display: inline-block;
  border-bottom: 1px solid #4d82b9;
  line-height: 1.25;
}
.breadcrumb a:focus, .breadcrumb a:active, .breadcrumb a:hover {
  color: #1c5699;
  border-bottom: 1px solid #1c5699;
}
@media screen and (min-width: 48em) {
  .breadcrumb {
    font-size: 1rem;
  }
}

.promo {
  margin-bottom: 0.6666666667em;
}

@media screen and (min-width: 55em) {
  .promo__section,
  .promo__inner {
    position: relative;
    z-index: 10;
  }
}

@media screen and (min-width: 55em) {
  .promo__section .promo__inner {
    height: 425px;
    padding-top: 1.5em;
  }
}

.promo__overlay {
  display: none;
}
@media screen and (min-width: 55em) {
  .promo__overlay {
    display: block;
    position: absolute;
    z-index: 5;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(28, 86, 153, 0.33);
  }
}

.promo__section--large {
  background-color: #1c5699;
  color: #fff;
  padding: 1.5em;
}
@media screen and (max-width: 55em) {
  .promo__section--large {
    background-image: none !important;
  }
}
@media screen and (min-width: 55em) {
  .promo__section--large {
    background-size: cover;
    background-repeat: no-repeat;
  }
  .promo__section--large .btn-wrap {
    width: 100%;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
@media screen and (min-width: 80em) {
  .promo__section--large {
    padding: 1.5em 1.5em 1.5em 0;
  }
}
.promo__section--large .promo__title {
  font-size: 1.75rem;
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 0.3333333333em;
}
@media screen and (min-width: 30em) {
  .promo__section--large .promo__title {
    font-size: 1.875rem;
  }
}
@media screen and (min-width: 37.5em) {
  .promo__section--large .promo__title {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 70em) {
  .promo__section--large .promo__title {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 80em) {
  .promo__section--large .promo__title {
    font-size: 2.75rem;
  }
}
@media screen and (min-width: 90em) {
  .promo__section--large .promo__title {
    font-size: 3rem;
  }
}
@media screen and (min-width: 100em) {
  .promo__section--large .promo__title {
    font-size: 3.125rem;
  }
}
@media screen and (min-width: 110em) {
  .promo__section--large .promo__title {
    font-size: 3.25rem;
  }
}
.promo__section--large .promo__sub-title {
  font-size: 1.125rem;
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 30em) {
  .promo__section--large .promo__sub-title {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 37.5em) {
  .promo__section--large .promo__sub-title {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 48em) {
  .promo__section--large .promo__sub-title {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 55em) {
  .promo__section--large .promo__sub-title {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 62em) {
  .promo__section--large .promo__sub-title {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 70em) {
  .promo__section--large .promo__sub-title {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 80em) {
  .promo__section--large .promo__sub-title {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 90em) {
  .promo__section--large .promo__sub-title {
    font-size: 2rem;
  }
}
.promo__section--large .promo__text {
  font-size: 1rem;
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 30em) {
  .promo__section--large .promo__text {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 37.5em) {
  .promo__section--large .promo__text {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 48em) {
  .promo__section--large .promo__text {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 55em) {
  .promo__section--large .promo__text {
    margin-bottom: 0;
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 62em) {
  .promo__section--large .promo__text {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 70em) {
  .promo__section--large .promo__text {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 90em) {
  .promo__section--large .promo__text {
    font-size: 1.625rem;
  }
}

.promo__section--green {
  background-color: #acd447;
  color: #4c4c4c;
}

.promo__section--red {
  background-color: #F5CCCC;
  color: #4c4c4c;
}

.promo__section--small {
  padding: 1.5em 5% 1.5em 1.5em;
}
.promo__section--small .promo__title {
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
  margin-bottom: 0.3333333333em;
  font-size: 1.675rem;
}
.promo__section--small .promo__title strong {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (min-width: 30em) {
  .promo__section--small .promo__title {
    font-size: 2rem;
  }
}
@media screen and (min-width: 37.5em) {
  .promo__section--small .promo__title {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 48em) {
  .promo__section--small .promo__title {
    font-size: 2.5rem;
  }
}
.promo__section--small .promo__sub-title {
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 1.25rem;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 110em) {
  .promo__section--small .promo__sub-title {
    font-size: 1.125rem;
  }
}
.promo__section--small .promo__list {
  font-size: 1.125rem;
  margin: 1em 0 0;
}
@media screen and (min-width: 110em) {
  .promo__section--small .promo__list {
    font-size: 1.125rem;
  }
}
.promo__section--small .promo__list li {
  margin-bottom: 0.25em;
  padding-left: 30px;
  position: relative;
}
.promo__section--small .promo__list i {
  width: 24px;
  height: 24px;
  display: block;
  background-position: center;
  background-size: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -12px;
}

.testimonial {
  max-width: 1000px;
  margin: 0 auto;
}

.testimonial__quote,
.testimonial__person {
  line-height: 1.25;
}

.testimonial__quote {
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
  margin-bottom: 0.5em;
  font-size: 1.25rem;
}
.testimonial__quote:before {
  content: "“";
}
.testimonial__quote:after {
  content: "”";
}
@media screen and (min-width: 55em) {
  .testimonial__quote {
    font-size: 1.5rem;
  }
}

.testimonial__person {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.125rem;
}
@media screen and (min-width: 55em) {
  .testimonial__person {
    font-size: 1.375rem;
  }
}

.testimonial__image {
  border-radius: 50%;
  display: block;
  margin: 0 auto;
}

.page,
.entry--single {
  margin: 2em 0;
}

.page__head,
.entry--single .entry__head {
  margin-bottom: 2em;
}

.page__title,
.entry--single .entry__title {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin: 0 0 0.2em;
  font-size: 2rem;
}
@media screen and (min-width: 37.5em) {
  .page__title,
  .entry--single .entry__title {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 62em) {
  .page__title,
  .entry--single .entry__title {
    font-size: 3rem;
  }
}
@media screen and (min-width: 90em) {
  .page__title,
  .entry--single .entry__title {
    font-size: 3.5rem;
  }
}
@media screen and (min-width: 100em) {
  .page__title,
  .entry--single .entry__title {
    font-size: 3.75rem;
  }
}

.page__sub-title {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin: 0;
  font-size: 1rem;
}
@media screen and (min-width: 37.5em) {
  .page__sub-title {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 62em) {
  .page__sub-title {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 90em) {
  .page__sub-title {
    font-size: 2rem;
  }
}

.page__summary,
.cms-area .strapline {
  font-weight: 300;
  margin: 0;
  max-width: 880px;
  font-size: 1rem;
  line-height: 1.25;
}
@media screen and (min-width: 30em) {
  .page__summary,
  .cms-area .strapline {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 37.5em) {
  .page__summary,
  .cms-area .strapline {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 48em) {
  .page__summary,
  .cms-area .strapline {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 55em) {
  .page__summary,
  .cms-area .strapline {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 62em) {
  .page__summary,
  .cms-area .strapline {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 70em) {
  .page__summary,
  .cms-area .strapline {
    font-size: 1.825rem;
  }
}
@media screen and (min-width: 80em) {
  .page__summary,
  .cms-area .strapline {
    font-size: 2rem;
  }
}

.entries .entry {
  padding-top: 1em;
  margin-top: 1em;
  border-top: 1px solid #b2b2b2;
}
.entries .entry:first-child {
  padding-top: 0;
  margin-top: 0;
  border-top: 0;
}
.entries .entry__summary p {
  margin-bottom: 0;
}

.entry__title {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin: 0 0 0.2em;
  font-size: 2rem;
}
@media screen and (min-width: 55em) {
  .entry__title {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 90em) {
  .entry__title {
    font-size: 2rem;
  }
}
.entry__title a {
  color: #1c5699;
}
.entry__title a:focus, .entry__title a:active, .entry__title a:hover {
  color: #143e6e;
}
.entry--single .entry__title {
  margin-bottom: 0;
}

.entry__head {
  margin-bottom: 1em;
}

.entry__info {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  margin: 0;
}
.entry--single .entry__info {
  font-size: 1.25rem;
}

.entry--stacked {
  background-color: #fff;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 55em) {
  .entry--stacked {
    margin-bottom: 0;
  }
}
.entry--stacked .entry__inner {
  padding: 1em;
}
.entry--stacked .entry__date {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin: 0;
  font-size: 1rem;
}
.entry--stacked .entry__summary {
  font-size: 1.125rem;
  margin: 0;
}

.entry--complex {
  padding: 1em;
}
.entry--complex .entry__image {
  display: block;
  margin: 0 auto 1em;
}
.entry--complex .entry__image img {
  display: block;
  margin: 0 auto 1em;
}
@media screen and (min-width: 37.5em) {
  .entry--complex .entry__image {
    margin-bottom: 0;
  }
}
.entry--complex .entry__title {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin: 0 0 0.2em;
  font-size: 2rem;
}
@media screen and (min-width: 55em) {
  .entry--complex .entry__title {
    font-size: 1.75rem;
  }
}
.entry--complex .entry__summary {
  font-size: 1rem;
  margin: 0;
}

.entry--post .entry__head,
.entry--post .entry__summary {
  margin-left: calc(125px + 1em);
}
.entry--post .entry__icon,
.entry--post .entry__img {
  display: block;
  float: left;
  max-width: 125px;
}

.entry__icon {
  width: 125px;
  height: 125px;
}

.schedules {
  margin-top: 1.5em;
}

.schedule {
  border-top: 4px solid #7ab416;
  margin-bottom: 1.5em;
}
@media screen and (min-width: 70em) {
  .schedule {
    margin-bottom: 0;
  }
}

.schedule__inner {
  background-color: #fff;
  padding: 1em;
}

.schedule__calendar {
  padding: 1em;
  background-color: #e4f0d0;
  border-radius: 1em;
  width: 150px;
  height: 150px;
  color: #7ab416;
  line-height: 1.25;
  margin: 0 auto 1em;
}
@media screen and (min-width: 30em) {
  .schedule__calendar {
    margin: 0;
  }
}
@media screen and (min-width: 48em) {
  .schedule__calendar {
    margin: 0 auto 1em;
  }
}
a.schedule .schedule__calendar {
  background-color: #e4f0d0;
  color: #7ab416;
}
a.schedule .schedule__calendar:focus, a.schedule .schedule__calendar:active, a.schedule .schedule__calendar:hover {
  color: #639212;
  background-color: #d3e7b3;
}

a.schedule__calendar {
  display: block;
}
a.schedule__calendar:focus, a.schedule__calendar:active, a.schedule__calendar:hover {
  color: #639212;
  background-color: #d3e7b3;
}

.schedule__day,
.schedule__month {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  display: block;
  text-align: center;
  text-transform: uppercase;
  font-style: normal;
}

.schedule__day {
  font-size: 4rem;
}

.schedule__month {
  font-size: 1.5rem;
}

.schedule__itinerary {
  margin: 0;
  font-size: 1.25rem;
  text-align: center;
}
.schedule__itinerary li {
  margin-bottom: 0.3333333333em;
  line-height: 1.25;
}
.schedule__itinerary a {
  color: #7ab416;
}
.schedule__itinerary a:focus, .schedule__itinerary a:active, .schedule__itinerary a:hover {
  color: #6b9d13;
}
@media screen and (min-width: 30em) {
  .schedule__itinerary {
    text-align: left;
    font-size: 1rem;
  }
}
@media screen and (min-width: 37.5em) {
  .schedule__itinerary {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 48em) {
  .schedule__itinerary {
    font-size: 1.25rem;
    text-align: center;
  }
}
@media screen and (min-width: 62em) {
  .schedule__itinerary {
    font-size: 1.125rem;
    text-align: left;
  }
}
@media screen and (min-width: 70em) {
  .schedule__itinerary {
    font-size: 1rem;
    text-align: center;
  }
}
@media screen and (min-width: 80em) {
  .schedule__itinerary {
    font-size: 1.125rem;
  }
}

.schedule--large {
  border-top: 0;
  margin-bottom: 1.5em;
}
.schedule--large .schedule__calendar {
  width: 100%;
  height: 100%;
  max-width: 250px;
  max-height: 250px;
  margin: 0 auto;
  padding: 0.5em 1em 1.5em;
}
@media screen and (min-width: 48em) {
  .schedule--large .schedule__calendar {
    max-width: 100%;
    max-height: 100%;
  }
}
.schedule--large .schedule__day {
  font-size: 6rem;
  line-height: 1.25;
}
@media screen and (min-width: 48em) {
  .schedule--large .schedule__day {
    font-size: 5rem;
  }
}
@media screen and (min-width: 55em) {
  .schedule--large .schedule__day {
    font-size: 6rem;
  }
}
@media screen and (min-width: 62em) {
  .schedule--large .schedule__day {
    font-size: 7rem;
  }
}
@media screen and (min-width: 70em) {
  .schedule--large .schedule__day {
    font-size: 8rem;
  }
}
.schedule--large .schedule__month {
  font-size: 2rem;
}
@media screen and (min-width: 48em) {
  .schedule--large .schedule__month {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 55em) {
  .schedule--large .schedule__month {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 62em) {
  .schedule--large .schedule__month {
    font-size: 2rem;
  }
}
@media screen and (min-width: 70em) {
  .schedule--large .schedule__month {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 80em) {
  .schedule--large .schedule__month {
    font-size: 2.5rem;
  }
}

.itinerary-list {
  padding-top: 1.5em;
}

.itinerary {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px solid #ccc;
}
.itinerary:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.itinerary__time,
.itinerary__title,
.itinerary__venue {
  margin: 0;
}

.itinerary__time,
.itinerary__title {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.itinerary__time,
.itinerary__venue {
  font-size: 1rem;
}
@media screen and (min-width: 37.5em) {
  .itinerary__time,
  .itinerary__venue {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 62em) {
  .itinerary__time,
  .itinerary__venue {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 90em) {
  .itinerary__time,
  .itinerary__venue {
    font-size: 1.375rem;
  }
}

.itinerary__title {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.75rem;
}
@media screen and (min-width: 37.5em) {
  .itinerary__title {
    font-size: 2rem;
  }
}
@media screen and (min-width: 62em) {
  .itinerary__title {
    font-size: 2.125rem;
  }
}
@media screen and (min-width: 90em) {
  .itinerary__title {
    font-size: 2.25rem;
  }
}

.itinerary__venue {
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.abstract-list {
  padding-top: 1.5em;
}

.abstract {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px solid #ccc;
}
.abstract:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.abstract__author {
  font-size: 1.25rem;
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin: 0;
}

.abstract__title {
  font-weight: 400;
  margin: 0 0 0.2em;
  line-height: 1;
  font-size: 1.5rem;
}
@media screen and (min-width: 37.5em) {
  .abstract__title {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 62em) {
  .abstract__title {
    font-size: 2rem;
  }
}
@media screen and (min-width: 90em) {
  .abstract__title {
    font-size: 2.125rem;
  }
}
.abstract__title span {
  font-size: 75%;
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.cms-area a:not(.btn) {
  color: #1c5699;
  text-decoration: underline 1px solid #1c5699;
  text-underline-offset: 5px;
  position: relative;
}
.cms-area a:not(.btn):focus, .cms-area a:not(.btn):active, .cms-area a:not(.btn):hover {
  color: #184a83;
}
.cms-area a:not(.btn):focus:after, .cms-area a:not(.btn):active:after, .cms-area a:not(.btn):hover:after {
  text-decoration-color: #184a83;
}
.cms-area h1,
.cms-area h2,
.cms-area h3,
.cms-area h4,
.cms-area h5 {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin: 0 0 0.2em;
}
.cms-area h1,
.cms-area h2 {
  font-size: 1.25rem;
}
@media screen and (min-width: 37.5em) {
  .cms-area h1,
  .cms-area h2 {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 55em) {
  .cms-area h1,
  .cms-area h2 {
    font-size: 1.75rem;
  }
}
.cms-area h3 {
  font-size: 1.125rem;
}
@media screen and (min-width: 37.5em) {
  .cms-area h3 {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 55em) {
  .cms-area h3 {
    font-size: 1.5rem;
  }
}
.cms-area h4 {
  font-size: 1rem;
}
@media screen and (min-width: 37.5em) {
  .cms-area h4 {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 55em) {
  .cms-area h4 {
    font-size: 1.375rem;
  }
}
.cms-area h5 {
  font-size: 0.875rem;
}
@media screen and (min-width: 37.5em) {
  .cms-area h5 {
    font-size: 1rem;
  }
}
@media screen and (min-width: 55em) {
  .cms-area h5 {
    font-size: 1.25rem;
  }
}
.cms-area .strapline {
  margin-bottom: 0.8888888889em;
}
.cms-area strong {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.cms-area p img {
  margin-bottom: 1.25em;
}
.cms-area figure a:not(.btn) {
  display: block;
}
.cms-area figure a:not(.btn):after {
  border: 0;
}
.cms-area p,
.cms-area ul,
.cms-area ol {
  font-size: 1rem;
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
  margin-bottom: 1.25em;
}
@media screen and (min-width: 37.5em) {
  .cms-area p,
  .cms-area ul,
  .cms-area ol {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 48em) {
  .cms-area p,
  .cms-area ul,
  .cms-area ol {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 70em) {
  .cms-area p,
  .cms-area ul,
  .cms-area ol {
    font-size: 1.375rem;
  }
}
.cms-area ul li,
.cms-area ol li {
  margin-bottom: 0.25em;
}
.cms-area ul li:last-child,
.cms-area ol li:last-child {
  margin-bottom: 0;
}
.cms-area ul li {
  list-style: none;
  padding-left: 1em;
  position: relative;
}
.cms-area ul li:before {
  content: "–";
  position: absolute;
  left: 0;
  top: 0;
}
.cms-area ul {
  margin-left: 1em;
}
.cms-area ol {
  margin-left: 2em;
}
.cms-area .js-gallery a {
  display: block;
}
.cms-area .js-gallery a:after {
  display: none;
}
.cms-area form ul,
.cms-area form ol {
  list-style: none;
  margin: 0;
}
.cms-area form ul li,
.cms-area form ol li {
  padding-left: 0;
}
.cms-area form ul li:before,
.cms-area form ol li:before {
  content: "";
}
.cms-area .tick-list,
.cms-area .cross-list {
  margin-left: 0.5em;
}
.cms-area .tick-list li,
.cms-area .cross-list li {
  list-style: none;
  background-repeat: no-repeat;
  padding-left: 1.5em;
  background-size: 1em;
  background-position: 0 2px;
}
.cms-area .tick-list li:before,
.cms-area .cross-list li:before {
  content: "";
}
.cms-area .tick-list li {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217%22%20height%3D%2221%22%20viewBox%3D%22289.1%20410.4%2017%2021%22%20enable-background%3D%22new%20289.1%20410.4%2017%2021%22%3E%3Cpath%20fill%3D%22%2385B227%22%20d%3D%22M305.8%20414.6c0%20.9-.3%201.6-1.1%202.3l-.1.1-6.4%206.8c-1.4%201.4-2.6%202.6-3.5%203.3-1%20.7-1.6%201.2-2%201.2s-1-.2-1.6-.6c-.6-.4-1.1-.7-1.2-1.2-.1-.3-.3-1.1-.4-2.2-.1-1.2-.2-2.3-.2-3.6%200-.6.3-1.4.9-1.9.6-.6%201.3-1%202-1%20.6%200%201.1.6%201.3%201.9%200%20.1%200%20.2%200%20.3.1%201%20.2%201.6.4%202%20.1.4.3.5.6.5.1%200%20.3-.1.5-.3.3-.2.6-.5%201.1-1l6.6-6.5c.5-.5%201.1-1%201.5-1.3.4-.3.9-.4%201.1-.4.2%200%20.4.1.5.2.1.2.1.4.1.9v.4h-.1z%22%2F%3E%3C%2Fsvg%3E");
}
.cms-area .cross-list li {
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2221%22%20viewBox%3D%22291.6%20410.4%2012%2021%22%20enable-background%3D%22new%20291.6%20410.4%2012%2021%22%3E%3Cpath%20fill%3D%22%23E73433%22%20d%3D%22M303.6%20414.1c-.7.9-1.3%201.8-2.1%202.7-.7.9-1.3%201.8-2%202.6.3.7.7%201.5%201%202.3.3.8.7%201.7%201.1%202.5l-.3.2v.2c-.1.1-.1.1-.2.2s-.1.1-.2.1l.1.4c-.1.1-.2.2-.3.3-.1.1-.2.1-.4.2-.1%200-.4-.3-.9-1-.4-.6-1-1.7-1.9-2.9-.7%201-1.5%202-2.1%203.1s-1.3%202.2-2%203.2c-.2.1-.3.1-.5.2%200%200-.2%200-.4%200h-.1c-.2-.2-.3-.4-.5-.6-.1-.2-.2-.4-.2-.5%200-.1%200-.1%200-.2s0-.2.1-.3l-.1-.3c.2-.6.7-1.5%201.6-2.6s1.9-2.5%203.2-4.2c-.3-.8-.5-1.6-.8-2.3s-.6-1.7-.9-2.7c.1-.2.2-.3.3-.4.1-.1.2-.2.3-.2.1%200%20.1%200%20.2%200s.1.1.2.1l.1-.1c.1%200%20.1%200%20.2%200h.1c0-.1.1-.1.1-.2%200%20.1%200%200%20.1%200%20.2%200%20.5.5%201.1%201.8.3.7.6%201.2.8%201.8.4-.4.9-1%201.6-1.8%201.1-1.6%201.9-2.3%202-2.3.1%200%20.2%200%20.3.1.1.1.2.2.4.3l.4-.4c.1.1.2.2.3.4.2.2.3.2.3.3z%22%2F%3E%3C%2Fsvg%3E");
}
.cms-area .wp-caption,
.cms-area .wp-blockquote,
.cms-area img {
  margin-bottom: 1em;
}
.cms-area .wp-caption {
  margin-top: 0;
  padding: 0.5em;
}
.cms-area .wp-caption img {
  margin-bottom: 0.5em;
}
.cms-area .wp-caption-text {
  font-size: 0.875rem;
  padding-bottom: 0.3333333333em;
  border-bottom: 4px solid #1c5699;
}
@media screen and (min-width: 37.5em) {
  .cms-area .wp-caption-text {
    font-size: 1rem;
  }
}
@media screen and (min-width: 48em) {
  .cms-area .wp-caption-text {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 70em) {
  .cms-area .wp-caption-text {
    font-size: 1.25rem;
  }
}
.cms-area .alignleft,
.cms-area .alignright {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 48em) {
  .cms-area .alignleft,
  .cms-area .alignright {
    max-width: 50%;
  }
  .cms-area .alignleft {
    float: left;
    margin-right: 2em;
  }
  .cms-area .alignright {
    float: right;
    margin-left: 2em;
  }
}
.cms-area code {
  display: block;
  padding: 0.6666666667em;
  background-color: #4c4c4c;
  color: #fff;
  margin-bottom: 1em;
  position: relative;
  margin-top: 1.75em;
}
.cms-area code:before {
  display: block;
  content: "code:";
  color: #4c4c4c;
  position: absolute;
  left: 0;
  font-family: "effra", sans-serif;
  top: -1.5em;
}
.cms-area .mwm-aal-container {
  display: block;
  margin-right: auto;
}
.cms-area .mwm-aal-container ol {
  list-style: none;
}
.cms-area .mwm-aal-container a:not(.btn) {
  text-decoration: none;
  display: inline-block;
  color: #fff;
}
.cms-area .mwm-aal-container a:not(.btn):after {
  content: "";
  display: block;
  width: 100%;
  border-bottom-color: #fff;
}
.cms-area .mwm-aal-container a:not(.btn):focus:after, .cms-area .mwm-aal-container a:not(.btn):active:after, .cms-area .mwm-aal-container a:not(.btn):hover:after {
  border-bottom-color: #fff;
}
.cms-area .mwm-aal-container ul,
.cms-area .mwm-aal-container ol {
  margin-bottom: 0;
  margin-left: 0;
  line-height: 1.25;
  font-size: 0.875rem;
}
@media screen and (min-width: 37.5em) {
  .cms-area .mwm-aal-container ul,
  .cms-area .mwm-aal-container ol {
    font-size: 1rem;
  }
}
@media screen and (min-width: 48em) {
  .cms-area .mwm-aal-container ul,
  .cms-area .mwm-aal-container ol {
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 70em) {
  .cms-area .mwm-aal-container ul,
  .cms-area .mwm-aal-container ol {
    font-size: 1.25rem;
  }
}
.cms-area .mwm-aal-container ul li,
.cms-area .mwm-aal-container ol li {
  margin-bottom: 0.25em;
}
.cms-area .mwm-aal-container ul li:last-child,
.cms-area .mwm-aal-container ol li:last-child {
  margin-bottom: 0;
}
.cms-area .mwm-aal-container .mwm-aal-item {
  display: none !important;
}
.cms-area .mwm-aal-container .mwm-aal-item:after {
  display: none !important;
}
.cms-area .mwm-aal-title {
  font-size: 1.375rem;
  margin-bottom: 0.2em;
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.blockquote {
  font-style: normal;
  font-family: "effra", sans-serif;
  margin: 0 0 1.5em;
  padding: 0 0 1em;
  border-bottom: 4px solid #1c5699;
}
.blockquote i {
  display: block;
  width: 65px;
  height: 46px;
  background-size: 100% auto;
  background-position: 0 0;
  margin-bottom: 0.25em;
}
.blockquote p {
  color: #1c5699;
  line-height: 1.3;
  margin: 0 0 1em;
  font-size: 1.25rem;
}
@media screen and (min-width: 37.5em) {
  .blockquote p {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 55em) {
  .blockquote p {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 70em) {
  .blockquote p {
    font-size: 1.75rem;
  }
}
.blockquote cite {
  font-size: 1rem;
  margin-top: 1em;
}
@media screen and (min-width: 37.5em) {
  .blockquote cite {
    font-size: 1.063rem;
  }
}
@media screen and (min-width: 55em) {
  .blockquote cite {
    font-size: 1.125rem;
  }
}
.blockquote strong,
.blockquote em {
  line-height: 1.3;
  font-weight: 400;
  display: block;
  font-style: normal;
  text-transform: uppercase;
}
.blockquote em {
  color: #4c4c4c;
}

.adr strong,
.adr span {
  display: block;
}

.speaker-list .alignleft {
  display: block;
  margin-left: 0;
  margin-top: 0.4em;
}

.panel {
  padding: 1.5em 0;
}
@media screen and (min-width: 48em) {
  .panel {
    padding: 2em 0;
  }
}
@media screen and (min-width: 70em) {
  .panel {
    padding: 2.5em 0;
  }
}
@media screen and (min-width: 100em) {
  .panel {
    padding: 3em 0;
  }
}

/* $. Elements
\*----------------------------------------------------------------*/
.panel__title {
  margin: 0 0 0.3333333333em;
  font-size: 1.75rem;
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
}
@media screen and (min-width: 37.5em) {
  .panel__title {
    font-size: 2rem;
  }
}
@media screen and (min-width: 55em) {
  .panel__title {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 70em) {
  .panel__title {
    font-size: 2.5rem;
  }
}

.panel__title--double-margin {
  margin: 0 0 0.6666666667em;
}

.panel__title--double-pad {
  margin: 0 0 0.6666666667em;
}

.panel__title--center,
.panel__title--centre,
.panel__text--center,
.panel__text--centre {
  text-align: center;
}

.panel__text {
  margin: 0;
  font-size: 0.875rem;
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.panel__text strong {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (min-width: 37.5em) {
  .panel__text {
    font-size: 1rem;
  }
}
@media screen and (min-width: 55em) {
  .panel__text {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 70em) {
  .panel__text {
    font-size: 1.5rem;
  }
}

.panel__text--max {
  max-width: 900px;
  margin: 0 auto;
}

.panel__icon {
  position: absolute;
  left: 50%;
  top: 1em;
  transform: translateX(-50%);
}
@media screen and (min-width: 37.5em) {
  .panel__icon {
    left: 1em;
    top: 50%;
    transform: translateY(-50%) translateX(0);
  }
}
@media screen and (max-width: 37.5em) {
  .panel__icon.icon--xlarge {
    width: 45px;
    height: 45px;
  }
}

/* $. Icon
\*----------------------------------------------------------------*/
.panel--icon {
  position: relative;
  display: block;
  padding: 4.5em 1em 1em 1em;
  text-align: center;
}
@media screen and (min-width: 37.5em) {
  .panel--icon {
    padding: 2em 2em 2em 5.5em;
    text-align: left;
  }
}
.panel--icon:after {
  border-bottom-width: 0px !important;
}

/* $. Colour
\*----------------------------------------------------------------*/
.panel--blue {
  background-color: #1c5699;
  color: #fff;
}

.panel--light-blue {
  background-color: #4d82b9;
  color: #4c4c4c;
}

.panel--white-blue {
  background-color: #d6e7fb;
  color: #4c4c4c;
}

.panel--red {
  background-color: #B70201;
  color: #fff;
}

.panel--light-red {
  background-color: #F5CCCC;
  color: #4c4c4c;
}

.panel--apple-green {
  background-color: #e4f0d0;
  color: #4c4c4c;
}

.panel--grey {
  background-color: #f5f5f5;
  color: #4c4c4c;
}

.side {
  margin-top: 2em;
}
@media screen and (min-width: 70em) {
  .side {
    margin-top: 0;
  }
}

.sidebar {
  padding: 1em;
  margin-bottom: 1em;
}

.sidebar--links {
  margin-top: 2em;
}
@media screen and (min-width: 37.5em) {
  .sidebar--links {
    margin-top: 0;
  }
}

.sidebar--centre,
.sidebar--center {
  text-align: center;
}

.sidebar--flush {
  padding: 0;
}

.sidebar--green {
  background-color: #7ab416;
  color: #fff;
}
.sidebar--green a {
  color: #fff;
}

.sidebar--blue {
  background-color: #1c5699;
  color: #fff;
}
.sidebar--blue a {
  color: #fff;
}

.sidebar__title {
  margin-bottom: 0.25em;
  font-weight: 100;
  font-size: 2rem;
  line-height: 1;
}

.sidebar__title--flush {
  margin-bottom: 0;
}

.sidebar__title--bottom {
  margin-bottom: 0.5em;
}

.sidebar__links {
  margin: 0;
}

.sidebar__links {
  font-size: 1.25rem;
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
}
.sidebar__links li {
  margin-bottom: 0.25em;
}
.sidebar__links li:last-child {
  margin-bottom: 0;
}
.sidebar__links a {
  text-decoration: underline 1px solid #d6e7fb;
  text-underline-offset: 5px;
}
.sidebar__links .is-current a {
  color: #4c4c4c;
  text-decoration-color: #b2b2b2;
}
.sidebar__links .is-current a:focus, .sidebar__links .is-current a:active, .sidebar__links .is-current a:hover {
  color: #4c4c4c;
}

.sidebar__icon {
  display: block;
  width: 75px;
  height: 75px;
  background-size: 100% auto;
  background-position: center;
  margin: 0.5em auto 0.5em;
}

.sidebar__text {
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
  line-height: 1.4;
  margin-bottom: 0.5em;
}

.sidebar__upper,
.sidebar__lower {
  padding: 0.5em 1em;
}

.sidebar__lower {
  background-color: #f5f5f5;
}

/**
 * Title:
 *    Icon Module
 * Description:
 *    Responsible for all sizes and styling of Grunticon based icons
 * Sections:
 *    $. Setup
 *    $. Base
 *    $. Variations
 *
 * TODO:
 *    - Change .svg sizes based on this file for better IE8 support
 */
/* $. Setup
\*----------------------------------------------------------------*/
/* $. Base
\*----------------------------------------------------------------*/
.icon {
  width: 20px;
  height: 20px;
  display: inline-block;
  background-size: contain;
}

/* $. Variations
\*----------------------------------------------------------------*/
/* Generic sizing */
.icon--xsmall {
  width: 12px;
  height: 12px;
}

.icon--small {
  width: 16px;
  height: 16px;
}

.icon--medium {
  width: 30px;
  height: 30px;
}

.icon--large {
  width: 45px;
  height: 45px;
}

.icon--xlarge {
  width: 65px;
  height: 65px;
}

.icon--xxlarge {
  width: 90px;
  height: 90px;
}

/* Styling */
.icon--transparent {
  opacity: 0.3;
  filter: alpha(opacity=30);
}

/* Logos */
.icon--logo {
  width: 129px;
  height: 54px;
}
@media screen and (min-width: 30em) {
  .icon--logo {
    width: 150px;
    height: 63px;
  }
}
@media screen and (min-width: 48em) {
  .icon--logo {
    width: 220px;
    height: 92px;
  }
}

.icon--featured {
  display: inline-block;
  margin: 0 auto 1em auto;
  line-height: 0;
}

.icon--article {
  width: 125px;
  height: 125px;
}

/* $. Interface - Project specific objects i.e. .work, .product, etc
\*----------------------------------------------------------------*/
/* $. Layout - Page based layouts i.e. .header, .page-86, etc
\*----------------------------------------------------------------*/
/**
 * Title:
 *    Header
 * Sections:
 *    $. Header
 *    $. Search
 */
/* $. Header
\*----------------------------------------------------------------*/
.header {
  border-top: 10px solid #4c4c4c;
  border-bottom: 1px solid #ccc;
  padding: 1em 0;
  margin-bottom: 1em;
}
.header .wrap {
  position: relative;
}
@media screen and (min-width: 62em) {
  .header {
    padding: 1.5em 0;
    margin-bottom: 1.5em;
  }
}
@media screen and (min-width: 80em) {
  .header {
    padding: 2em 0;
    margin-bottom: 2em;
  }
}

.header--home {
  border-bottom: 0;
  margin-bottom: 0;
}

.header__logo {
  max-width: 200px;
  text-align: center;
  display: block;
}
.header__logo .img {
  display: block;
  max-width: inherit;
  max-width: 200px;
  max-height: 72px;
}
.header__logo .img img {
  width: 100%;
  height: auto;
}
.header__logo .text {
  font-size: 1.875rem;
  color: #4c4c4c;
  display: block;
  margin-top: -0.25em;
}
@media screen and (min-width: 55em) {
  .header__logo {
    max-width: 100%;
    display: inline-block;
    line-height: 1;
  }
  .header__logo .img,
  .header__logo .text {
    display: table-cell;
    vertical-align: middle;
  }
  .header__logo .img {
    max-width: 150px;
    max-height: 50px;
    margin: 0;
    padding-right: 0.6666666667em;
  }
  .header__logo .text {
    font-size: 2.5rem;
    font-family: "effra-n3", "effra", sans-serif;
    font-weight: 300;
    font-style: normal;
    padding-left: 0.2222222222em;
    border-left: 1px solid #1c5699;
  }
}
@media screen and (min-width: 62em) {
  .header__logo .img {
    max-width: 175px;
    max-height: 58px;
    padding-right: 0.8em;
  }
  .header__logo .text {
    font-size: 2.75rem;
    padding-left: 0.1818181818em;
  }
}
@media screen and (min-width: 70em) {
  .header__logo .img {
    max-width: 200px;
    max-height: 66px;
    padding-right: 1em;
  }
  .header__logo .text {
    padding-left: 0.25em;
  }
}

/* $. Upper
\*----------------------------------------------------------------*/
@media screen and (min-width: 37.5em) {
  .header__upper {
    margin-top: 0;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 50%;
    padding: 0 0 0.25em 0;
  }
}
@media screen and (min-width: 48em) {
  .header__upper {
    margin: 0;
    position: absolute;
    top: -1em;
    right: 0;
    height: 75px;
    max-width: 350px;
  }
}
@media screen and (min-width: 62em) {
  .header__upper {
    top: -1.5em;
    max-width: 400px;
  }
}
@media screen and (min-width: 70em) {
  .header__upper {
    max-width: 450px;
  }
}
@media screen and (min-width: 80em) {
  .header__upper {
    top: -2em;
  }
}

/* $. Search
\*----------------------------------------------------------------*/
.search {
  margin-top: 0.5em;
  min-height: 43px;
}
.search form {
  margin: 0;
  width: 100%;
  position: relative;
}
.search label {
  display: block;
  padding: 0.6024096386em 0 0 0;
}
@media screen and (min-width: 48em) {
  .search {
    margin: 0;
    height: 75px;
    padding: 1em;
    background-color: #4c4c4c;
  }
  .search label {
    color: #fff;
  }
}

.search__input {
  height: 43px;
  padding-right: 47px;
}

.search__button {
  position: absolute;
  top: 0;
  right: 0;
}

.search__contain {
  position: absolute;
  width: 100%;
  top: 0;
  right: 0;
  padding-left: 100px;
}
@media screen and (min-width: 37.5em) {
  .search__contain {
    padding-left: 0;
    position: static;
    top: auto;
    right: auto;
  }
}
@media screen and (min-width: 48em) {
  .search__contain {
    position: absolute;
    top: 0;
    right: 0;
    padding-left: 100px;
  }
}
@media screen and (min-width: 48em) {
  .search__contain {
    padding-left: 100px;
  }
}

.search__wrap {
  position: relative;
}

.section {
  overflow-x: hidden;
}

.canvas--fixed {
  overflow-y: hidden;
}

.nav-container {
  position: fixed;
  top: 0;
  left: -100%;
  z-index: 20;
  width: 100%;
  height: 300%;
  background-color: #4c4c4c;
  transition: left 0.2s ease-in-out;
  padding-top: 3em;
}
@media screen and (min-width: 47.99em) {
  .nav-container {
    background-color: transparent;
    width: 100%;
    top: auto;
    left: auto;
    height: auto;
    position: static;
    padding-top: 0;
  }
}

.nav-container--active {
  left: 0;
}

.menu-toggle {
  position: absolute;
  top: -1em;
  right: 0;
  z-index: 25;
  outline: none;
}
@media screen and (min-width: 47.99em) {
  .menu-toggle {
    display: none;
  }
}

.nav {
  margin: 0;
  text-align: left;
}
.nav a {
  display: inline-block;
  color: #fff;
}
.nav a:focus, .nav a:active, .nav a:hover {
  background-color: rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 47.99em) {
  .nav a:focus, .nav a:active, .nav a:hover {
    background-color: transparent;
  }
}
.nav .current_page_item a {
  background-color: rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 47.99em) {
  .nav .current_page_item a {
    background-color: transparent;
  }
}

.nav--primary,
.nav--secondary {
  font-size: 1.125rem;
}
.nav--primary .nav__home i,
.nav--secondary .nav__home i {
  display: none;
}
.nav--primary li,
.nav--secondary li {
  margin-bottom: 0;
}
.nav--primary a,
.nav--secondary a {
  display: block;
  padding: 0.5em 5%;
}

@media screen and (min-width: 47.99em) {
  .header__nav .nav--secondary {
    display: none;
  }
}

.header__upper .nav--secondary {
  display: none;
}
@media screen and (min-width: 47.99em) {
  .header__upper .nav--secondary {
    font-weight: 300;
    display: block;
    text-align: right;
    font-size: 1rem;
    margin-top: 0.3333333333em;
  }
  .header__upper .nav--secondary li {
    display: inline;
    padding-left: 8px;
    margin-left: 5px;
    border-left: 1px solid #4c4c4c;
  }
  .header__upper .nav--secondary li:first-child {
    padding-left: 0;
    margin-left: 0;
    border-left: 0;
  }
  .header__upper .nav--secondary a {
    display: inline-block;
    color: #4c4c4c;
    padding: 0;
  }
  .header__upper .nav--secondary a:focus, .header__upper .nav--secondary a:active, .header__upper .nav--secondary a:hover {
    text-decoration: underline;
  }
}
@media screen and (min-width: 62em) {
  .header__upper .nav--secondary {
    font-size: 1.125rem;
  }
}

.nav--primary .nav__home i {
  display: none;
}
@media screen and (min-width: 47.99em) {
  .nav--primary {
    margin-top: 1em;
    font-size: 1.063rem;
    text-align: left;
    position: relative;
    padding-left: 40px;
  }
  .nav--primary li {
    display: inline;
    margin-left: 0.8em;
  }
  .nav--primary li:first-child {
    margin-left: 0;
  }
  .nav--primary a {
    display: inline-block;
    padding: 0.5rem 0.3rem;
    border-bottom: 2px solid #4d82b9;
    color: #4c4c4c;
    font-family: "effra-n3", "effra", sans-serif;
    font-weight: 300;
    font-style: normal;
  }
  .nav--primary a:focus, .nav--primary a:active, .nav--primary a:hover {
    color: #191919;
    border-bottom-color: #2d4f73;
  }
  .nav--primary .current_page_item a,
  .nav--primary .current-page-ancester a,
  .nav--primary .current-page-ancestor a {
    color: #191919;
    border-bottom: 4px solid #2d4f73;
  }
  .nav--primary .nav__home {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -17px;
  }
  .nav--primary .nav__home a {
    border-bottom: 0;
    padding: 0;
  }
  .nav--primary .nav__home span {
    display: none;
  }
  .nav--primary .nav__home i {
    width: 36px;
    height: 36px;
    display: inline-block;
    background-position: center;
    background-size: 100% auto;
  }
}
@media screen and (min-width: 55em) {
  .nav--primary {
    font-size: 1.125rem;
    margin-top: 3em;
  }
  .nav--primary li {
    margin-left: 1em;
  }
  .nav--primary li:first-child {
    margin-left: 0;
  }
}
@media screen and (min-width: 62em) {
  .nav--primary {
    font-size: 1.25rem;
  }
  .nav--primary li {
    display: inline;
    margin-left: 1.25em;
  }
  .nav--primary li:first-child {
    margin-left: 0;
  }
}
@media screen and (min-width: 70em) {
  .nav--primary {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 80em) {
  .nav--primary {
    font-size: 1.625rem;
  }
}

.nav--footer {
  text-align: center;
}
.nav--footer a {
  color: #4c4c4c;
  display: inline-block;
}
.nav--footer a:focus, .nav--footer a:active, .nav--footer a:hover {
  color: #3f3f3f;
  background-color: transparent;
  text-decoration: underline;
}
@media screen and (min-width: 30em) {
  .nav--footer li {
    display: inline;
    padding-left: 8px;
    margin-left: 5px;
    border-left: 1px solid #4c4c4c;
  }
  .nav--footer li:first-child {
    padding-left: 0;
    margin-left: 0;
    border-left: 0;
  }
}
@media screen and (min-width: 62em) {
  .nav--footer {
    text-align: left;
  }
  .nav--footer ul {
    margin: 0;
  }
}

@media screen and (min-width: 48em) {
  .nav--primary .nav__item--parent:hover .nav__dropdown,
  .nav--primary .nav__item--parent:focus .nav__dropdown {
    display: block;
  }
  .nav--primary .nav__item--parent:hover .nav__link,
  .nav--primary .nav__item--parent:focus .nav__link {
    background-color: #eee;
    border-bottom: none;
    border-top: 2px solid #4d82b9;
    margin-top: -2px;
    padding-bottom: 0.7rem;
  }
}
@media screen and (min-width: 55em) {
  .nav--primary .nav__item--parent:hover .nav__link,
  .nav--primary .nav__item--parent:focus .nav__link {
    padding-bottom: 0.6rem;
  }
}

.nav__dropdown {
  font-size: 0.9375rem;
  letter-spacing: normal;
  display: none;
  width: 100%;
  z-index: 99999;
  background-color: #eee;
  position: absolute;
  margin: 0;
  padding: 2rem 1rem 1rem;
}
.nav__item--left .nav__dropdown {
  left: 0;
}
.nav__item--right .nav__dropdown {
  right: 0;
}
.nav__dropdown .nav__dropdown-items {
  display: flex;
  margin: 0;
  margin-left: -2rem;
  flex-flow: row wrap;
}
.nav__dropdown .nav__dropdown-item {
  display: flex;
  margin: 0;
  padding-left: 2rem;
  width: 50%;
}
.nav__dropdown .nav__dropdown-item a {
  border-bottom: none;
}
.nav__dropdown .nav__dropdown-item a:before {
  content: "> ";
}
@media screen and (min-width: 55em) {
  .nav__dropdown {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 70em) {
  .nav__dropdown {
    font-size: 1.5rem;
  }
}

.footer .title {
  font-size: 2.5rem;
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
  margin-bottom: 0.6666666667em;
}
.footer strong {
  font-family: "effra-n4", "effra", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.footer .adr {
  margin-bottom: 0;
}
.footer .adr span {
  font-family: "effra-n3", "effra", sans-serif;
  font-weight: 300;
  font-style: normal;
  display: block;
}
.footer .adr span span {
  display: inline-block;
}
@media screen and (min-width: 37.5em) {
  .footer .adr {
    font-size: 1.25rem;
  }
}
.footer .social {
  text-align: center;
  list-style: none;
  display: block;
  margin: 1em auto 0;
}
@media screen and (min-width: 30em) {
  .footer .social {
    text-align: right;
  }
}
.footer .social li {
  display: inline;
  margin-left: 0.5em;
}
.footer .social li:first-child {
  margin-left: 0;
}
.footer .facebook,
.footer .twitter,
.footer .linkedin,
.footer .instagram,
.footer .bluesky {
  display: inline-block;
  width: 50px;
  height: 50px;
  background-size: 100%;
  background-position: center;
}
@media screen and (min-width: 48em) {
  .footer .facebook,
  .footer .twitter,
  .footer .linkedin,
  .footer .instagram,
  .footer .bluesky {
    margin: 0;
    width: 70px;
    height: 70px;
  }
}

.footer__upper {
  padding: 1.5em 0;
  background-color: #4c4c4c;
  color: #fff;
}

.footer__lower {
  font-size: 1rem;
  padding: 1em 0;
}
@media screen and (min-width: 30em) {
  .footer__lower {
    font-size: 0.875rem;
  }
}
@media screen and (min-width: 37.5em) {
  .footer__lower {
    font-size: 1rem;
  }
}

.footer__notes {
  text-align: center;
}
.footer__notes p {
  margin: 0;
}
.footer__notes a {
  color: #1c5699;
}
.footer__notes a:focus, .footer__notes a:active, .footer__notes a:hover {
  color: #164479;
  text-decoration: underline;
}
@media screen and (min-width: 30em) {
  .footer__notes p {
    display: inline-block;
    padding-left: 8px;
    margin-left: 5px;
    border-left: 1px solid #4c4c4c;
  }
  .footer__notes p:first-child {
    padding-left: 0;
    margin-left: 0;
    border-left: 0;
  }
}
@media screen and (min-width: 62em) {
  .footer__notes {
    text-align: right;
  }
}

#cse {
  margin-top: 0 !important;
  max-width: 800px !important;
  font-family: "effra", sans-serif !important;
}
#cse td {
  border: 0 !important;
}
#cse tr:nth-child(odd) td {
  background-color: transparent !important;
}

.gsc-above-wrapper-area-container {
  margin: 0 !important;
}

.gsc-above-wrapper-area {
  padding: 0 !important;
}

.gsc-resultsHeader,
.gsc-result-info-container,
.gs-web-image-box,
.gsc-cursor-box,
.gcsc-branding,
.gsc-above-wrapper-area {
  display: none !important;
}

.gsc-control-cse,
.gsc-table-cell-thumbnail {
  padding: 0 !important;
}

.gsc-control-cse .gs-result .gs-title,
.gs-webResult.gs-result a.gs-title:link b {
  font-size: 20px !important;
  color: #1c5699 !important;
  text-decoration: none !important;
}
.gsc-control-cse .gs-result .gs-title:focus, .gsc-control-cse .gs-result .gs-title:active, .gsc-control-cse .gs-result .gs-title:hover,
.gs-webResult.gs-result a.gs-title:link b:focus,
.gs-webResult.gs-result a.gs-title:link b:active,
.gs-webResult.gs-result a.gs-title:link b:hover {
  text-decoration: underline !important;
}

.gs-webResult .gs-visibleUrl {
  color: #1c5699 !important;
}

.gs-result .gs-snippet {
  margin-top: 0.5em !important;
}

.gs-result .gs-snippet,
.gs-webResult .gs-visibleUrl {
  font-size: 16px !important;
  line-height: 1.5 !important;
}

.gsc-webResult.gsc-result:hover {
  border-left: 1px solid #fff !important;
}

.gsc-url-top {
  display: none !important;
}

.gsc-table-result .gsc-table-cell-snippet-close,
.gsc-table-result .gsc-table-cell-snippet-open {
  padding: 0 0 0 8px !important;
  background-color: transparent !important;
  border: 0 !important;
}

/* $. Grunticon Load
\*----------------------------------------------------------------*/
/* $. Helpers - i.e. Clearfixes, accessbility hidden, etc
\*----------------------------------------------------------------*/
/**
 * Title:
 *    Extras
 * Description:
 *    Any other helpers which will be used throughout the project
 * Sections:
 *    $. Clearfix
 *    $. Visually Hidden
 */
/* $. Clearfix - http://goo.gl/5Fvrh
\*----------------------------------------------------------------*/
.mixd-gallery:after, form:after, .nav:after, .panel--icon:after,
.cf:after,
.media:after,
.speaker-list p:after {
  content: "";
  display: table;
  clear: both;
}

/* $. Visually Hidden 
\*----------------------------------------------------------------*/
.hidden {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

/**
 * Title:
 *    Overrides
 * Description:
 *    Global overrides to be used throughout a project. Using !important as
 *    we always want them to override existing styles.
 * Sections:
 *    $. Box Model
 *    $. Lists
 */
/* $. Box Model
\*----------------------------------------------------------------*/
.is-hidden {
  display: none;
}

/* $. Box Model
\*----------------------------------------------------------------*/
.push--top {
  margin-top: 1em !important;
}

.push--bottom {
  margin-bottom: 1em !important;
}

.zero--top {
  margin-top: 0 !important;
}

.zero--bottom {
  margin-bottom: 0 !important;
}

.block {
  display: block;
}

/* $. Lists
\*----------------------------------------------------------------*/
.list--unset, .nav {
  list-style: none !important;
  margin-left: 0 !important;
}

.list--numbers {
  list-style: decimal !important;
}

.list--bullets {
  list-style: disc !important;
}

/**
 * Title:
 *    Debugging
 * Description:
 *    helper class to show which breakpoint you're currently on
 * Sections:
 *    $. Mixin
 *    $. Class
 */
/* $. Mixin
\*----------------------------------------------------------------*/
/* $. Class
\*----------------------------------------------------------------*/
body.debug:before {
  position: fixed;
  z-index: 50;
  right: 1em;
  bottom: 1em;
  display: inline-block;
  padding: 0.35em;
  font-family: "effra", sans-serif;
  font-size: 0.8em;
  text-transform: uppercase;
  color: #FFF;
  background-color: rgba(0, 0, 0, 0.75);
  content: "Breakpoint 0";
}
@media screen and (min-width: 30em) {
  body.debug:before {
    content: "Breakpoint 1";
  }
}
@media screen and (min-width: 37.5em) {
  body.debug:before {
    content: "Breakpoint 2";
  }
}
@media screen and (min-width: 48em) {
  body.debug:before {
    content: "Breakpoint 3";
  }
}
@media screen and (min-width: 55em) {
  body.debug:before {
    content: "Breakpoint 4";
  }
}
@media screen and (min-width: 62em) {
  body.debug:before {
    content: "Breakpoint 5";
  }
}
@media screen and (min-width: 70em) {
  body.debug:before {
    content: "Breakpoint 6";
  }
}
@media screen and (min-width: 80em) {
  body.debug:before {
    content: "Breakpoint 7";
  }
}
@media screen and (min-width: 90em) {
  body.debug:before {
    content: "Breakpoint 8";
  }
}
@media screen and (min-width: 100em) {
  body.debug:before {
    content: "Breakpoint 9";
  }
}
@media screen and (min-width: 110em) {
  body.debug:before {
    content: "Breakpoint 10";
  }
}

/* $. Vendors
\*----------------------------------------------------------------*/
/**
 * Title: Mixd Flickr Gallery
 * Description: Basic styling for the Mixd Flickr Gallery
 * Sections:
 *    $. Helpers
 *    $. Gallery
 *    $. Lightbox
 */
/* $. Helpers
\*----------------------------------------------------------------*/
.mixd-gallery, form, .nav, .panel--icon {
  content: "";
  display: table;
  clear: both;
}

/* $. Gallery
\*----------------------------------------------------------------*/
.mixd-gallery {
  list-style: none;
  margin: 0;
}

.mixd-gallery__item {
  float: left;
  display: block;
  margin: 0;
  width: 50%;
}
@media (min-width: 350px) {
  .mixd-gallery__item {
    width: auto;
  }
}
@media (min-width: 401px) {
  .mixd-gallery__item {
    margin: 0 0.75em 0.75em 0;
  }
}

.mixd-gallery__image {
  display: inline-block;
  height: auto;
  width: auto;
}

/* $. Lightbox
\*----------------------------------------------------------------*/
.mixd-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  display: none;
  width: 100%;
  height: 100%;
  background: #222;
  background: rgba(0, 0, 0, 0.75);
}
.mixd-lightbox--active .mixd-lightbox {
  display: block;
}

.mixd-lightbox--active {
  overflow: hidden;
}

.mixd-lightbox__figure {
  position: relative;
  top: 50%;
  max-width: 800px;
  max-height: 100%;
  margin: 0 auto;
  padding: 0.5em;
  background: #fff;
  transform: translateY(-50%);
  text-align: center;
}
@media (max-width: 600px) {
  .mixd-lightbox__figure {
    padding: 0.75em;
  }
}

.mixd-lightbox__caption {
  padding: 0.5em 0 0 0;
}

.mixd-lightbox__controls {
  list-style: none;
  margin: 0;
}

.mixd-lightbox__control {
  position: absolute;
  padding: 0.25em 0.75em;
  background: #fff;
  cursor: pointer;
}
.mixd-lightbox__control:hover, .mixd-lightbox__control:focus {
  background: #eee;
}

.mixd-lightbox__control--prev,
.mixd-lightbox__control--next {
  top: 50%;
  transform: translateY(-50%);
}

.mixd-lightbox__control--prev {
  left: 0;
}

.mixd-lightbox__control--next {
  right: 0;
}

.mixd-lightbox__control--close {
  top: 0;
  left: 0;
}

/* $. Components - adhoc components.
\*----------------------------------------------------------------*/
.page-dates {
  max-width: 800px;
  padding: 1em;
  background: #f5f5f5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 1em;
}
@media screen and (min-width: 37.5em) {
  .page-dates {
    flex-direction: row;
  }
}

@media screen and (min-width: 37.5em) {
  .page-dates__single {
    padding: 0 1em;
  }
  .page-dates__single:not(:last-child) {
    border-right: 2px solid #4d82b9;
  }
}
