@charset "UTF-8";
/*
================================
  SITE SETTINGS
================================
*/
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

/*! normalize.css http://github.com/necolas/normalize.css */
/* =============================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Corrects block display not defined in IE6/7/8/9 & FF3
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}

/*
 * Corrects inline-block display not defined in IE6/7/8/9 & FF3
 */
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

/*
 * Prevents modern browsers from displaying 'audio' without controls
 */
audio:not([controls]) {
  display: none;
}

/*
 * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4
 * Known issue: no IE6 support
 */
[hidden] {
  display: none;
}

/* =============================================================================
   Base
   ========================================================================== */
/*
 * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
 *  http://clagnut.com/blog/348/#c790
 * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
 *  www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
 */
html {
  font-size: 100%;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

/*
 * Addresses font-family inconsistency between 'textarea' and other form elements.
 */
html,
button,
input,
select,
textarea {
  font-family: sans-serif;
}

/*
 * Addresses margins handled incorrectly in IE6/7
 */
body {
  margin: 0;
}

/* =============================================================================
   Links
   ========================================================================== */
/*
 * Addresses outline displayed oddly in Chrome
 */
a:focus {
  outline: thin dotted;
}

/*
 * Improves readability when focused and also mouse hovered in all browsers
 * people.opera.com/patrickl/experiments/keyboard/test
 */
a:hover,
a:active {
  outline: 0;
}

/* =============================================================================
   Typography
   ========================================================================== */
/*
 * Addresses font sizes and margins set differently in IE6/7
 * Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5
 */
h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  margin: 0;
}

/*
 * Addresses styling not present in IE7/8/9, S5, Chrome
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/*
 * Addresses style set to 'bolder' in FF3+, S4/5, Chrome
*/
b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 0;
}

/*
 * Addresses styling not present in S5, Chrome
 */
dfn {
  font-style: italic;
}

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

/*
 * Addresses margins set differently in IE6/7
 */
p,
pre {
  margin: 0;
}

/*
 * Corrects font family set oddly in IE6, S4/5, Chrome
 * en.wikipedia.org/wiki/User:Davidgothberg/Test59
 */
pre,
code,
kbd,
samp {
  font-family: monospace, serif;
  _font-family: 'courier new', monospace;
  font-size: 1em;
}

/*
 * Improves readability of pre-formatted text in all browsers
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*
 * 1. Addresses CSS quotes not supported in IE6/7
 * 2. Addresses quote property not supported in S4
 */
/* 1 */
q {
  quotes: none;
}

/* 2 */
q:before,
q:after {
  content: '';
  content: none;
}

small {
  font-size: 75%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* =============================================================================
   Lists
   ========================================================================== */
/*
 * Addresses margins set differently in IE6/7
 */
dl,
menu,
ol,
ul {
  margin: 0;
}

dd {
  margin: 0;
}

/*
 * Addresses paddings set differently in IE6/7
 */
menu,
ol,
ul {
  padding: 0;
}

/*
 * Corrects list images handled incorrectly in IE7
 */
nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}

/* =============================================================================
   Embedded content
   ========================================================================== */
/*
 * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
 * 2. Improves image quality when scaled in IE7
 *  code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
 */
img {
  border: 0;
  /* 1 */
  -ms-interpolation-mode: bicubic;
  /* 2 */
}

/*
 * Corrects overflow displayed oddly in IE9
 */
svg:not(:root) {
  overflow: hidden;
}

/* =============================================================================
   Figures
   ========================================================================== */
/*
 * Addresses margin not present in IE6/7/8/9, S5, O11
 */
figure {
  margin: 0;
}

/* =============================================================================
   Forms
   ========================================================================== */
/*
 * Corrects margin displayed oddly in IE6/7
 */
form {
  margin: 0;
}

/*
 * Define consistent border, margin, and padding
 */
fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

/*
 * 1. Corrects color not being inherited in IE6/7/8/9
 * 2. Corrects text not wrapping in FF3 
 * 3. Corrects alignment displayed oddly in IE6/7
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  white-space: normal;
  /* 2 */
  *margin-left: -7px;
  /* 3 */
}

/*
 * 1. Corrects font size not being inherited in all browsers
 * 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome
 * 3. Improves appearance and consistency in all browsers
 */
button,
input,
select,
textarea {
  font-size: 100%;
  /* 1 */
  margin: 0;
  /* 2 */
  vertical-align: baseline;
  /* 3 */
  *vertical-align: middle;
  /* 3 */
}

/*
 * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
 */
button,
input {
  line-height: normal;
  /* 1 */
}

/*
 * 1. Improves usability and consistency of cursor style between image-type 'input' and others
 * 2. Corrects inability to style clickable 'input' types in iOS
 * 3. Removes inner spacing in IE7 without affecting normal text inputs
 *  Known issue: inner spacing remains in IE6
 */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  /* 1 */
  -webkit-appearance: button;
  /* 2 */
  *overflow: visible;
  /* 3 */
}

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

/*
 * 1. Addresses box sizing set to content-box in IE8/9
 * 2. Removes excess padding in IE8/9
 * 3. Removes excess padding in IE7
    Known issue: excess padding remains in IE6
 */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
  *height: 13px;
  /* 3 */
  *width: 13px;
  /* 3 */
}

/*
 * 1. Addresses appearance set to searchfield in S5, Chrome
 * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/*
 * Removes inner padding and search cancel button in S5, Chrome on OS X
 */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

/*
 * Removes inner padding and border in FF3+
 * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * 1. Removes default vertical scrollbar in IE6/7/8/9
 * 2. Improves readability and alignment in all browsers
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

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

/* Globals */
.global-header .global-header--logo img, .content-region figure img, .content-region .media-block .media-block--left img, .content-region .media-block--small .media-block--left img, .cards .card.news img, .grid-logos .grid--item img, .grid-logos-small .grid--item img, .grid-gallery .grid-gallery--item img, .grid-sponsors .grid-sponsors--item img {
  max-width: 100%;
  display: block;
  height: auto;
}

body, .filter--dropdown select, .pagination li a {
  font-family: 'Helvetica Neue', 'Arial', sans-serif;
}

.btn, .primary-btn, .secondary-btn, .global-header .global-nav a {
  font-family: 'Helvetica Neue', 'Arial', sans-serif;
  font-weight: 700;
}

body {
  line-height: 1.5;
  font-size: 100%;
  color: #333c47;
}

p {
  margin: 0 0 1rem;
  letter-spacing: 0.2px;
}

.lead p {
  font-size: 1.125em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .lead p {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .lead p {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .lead p {
    font-size: 1.28em;
  }
}

.intro-text p:first-of-type {
  font-size: 1.125em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .intro-text p:first-of-type {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .intro-text p:first-of-type {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .intro-text p:first-of-type {
    font-size: 1.28em;
  }
}

a {
  color: #8586be;
}

.content-region h1 {
  font-size: 1.8020324707em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .content-region h1 {
    font-size: calc( 1.8020324707em + 0.6862875293 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .content-region h1 {
    font-size: calc( 2.48832em + 0.9476538368 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .content-region h1 {
    font-size: 3.4359738368em;
  }
}

.content-region h2 {
  font-size: 1.6018066406em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .content-region h2 {
    font-size: calc( 1.6018066406em + 0.4717933594 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .content-region h2 {
    font-size: calc( 2.0736em + 0.61075456 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .content-region h2 {
    font-size: 2.68435456em;
  }
}

.content-region h3 {
  font-size: 1.423828125em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .content-region h3 {
    font-size: calc( 1.423828125em + 0.304171875 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .content-region h3 {
    font-size: calc( 1.728em + 0.369152 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .content-region h3 {
    font-size: 2.097152em;
  }
}

.content-region h4 {
  font-size: 1.265625em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .content-region h4 {
    font-size: calc( 1.265625em + 0.174375 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .content-region h4 {
    font-size: calc( 1.44em + 0.1984 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .content-region h4 {
    font-size: 1.6384em;
  }
}

.content-region h5 {
  font-size: 1.125em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .content-region h5 {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .content-region h5 {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .content-region h5 {
    font-size: 1.28em;
  }
}

.content-region h6 {
  font-size: 1em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .content-region h6 {
    font-size: calc( 1em + 0 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .content-region h6 {
    font-size: calc( 1em + 0 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .content-region h6 {
    font-size: 1em;
  }
}

.content-region h1 + h1, .content-region h1 + h2, .content-region h1 + h3, .content-region h1 + h4, .content-region h1 + h5, .content-region h1 + h6, .content-region h2 + h1, .content-region h2 + h2, .content-region h2 + h3, .content-region h2 + h4, .content-region h2 + h5, .content-region h2 + h6, .content-region h3 + h1, .content-region h3 + h2, .content-region h3 + h3, .content-region h3 + h4, .content-region h3 + h5, .content-region h3 + h6, .content-region h4 + h1, .content-region h4 + h2, .content-region h4 + h3, .content-region h4 + h4, .content-region h4 + h5, .content-region h4 + h6, .content-region h5 + h1, .content-region h5 + h2, .content-region h5 + h3, .content-region h5 + h4, .content-region h5 + h5, .content-region h5 + h6, .content-region h6 + h1, .content-region h6 + h2, .content-region h6 + h3, .content-region h6 + h4, .content-region h6 + h5, .content-region h6 + h6 {
  font-size: 1.125em;
  font-weight: normal;
  opacity: 0.75;
}

@media (min-width: 25em) and (max-width: 50em) {
  .content-region h1 + h1, .content-region h1 + h2, .content-region h1 + h3, .content-region h1 + h4, .content-region h1 + h5, .content-region h1 + h6, .content-region h2 + h1, .content-region h2 + h2, .content-region h2 + h3, .content-region h2 + h4, .content-region h2 + h5, .content-region h2 + h6, .content-region h3 + h1, .content-region h3 + h2, .content-region h3 + h3, .content-region h3 + h4, .content-region h3 + h5, .content-region h3 + h6, .content-region h4 + h1, .content-region h4 + h2, .content-region h4 + h3, .content-region h4 + h4, .content-region h4 + h5, .content-region h4 + h6, .content-region h5 + h1, .content-region h5 + h2, .content-region h5 + h3, .content-region h5 + h4, .content-region h5 + h5, .content-region h5 + h6, .content-region h6 + h1, .content-region h6 + h2, .content-region h6 + h3, .content-region h6 + h4, .content-region h6 + h5, .content-region h6 + h6 {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .content-region h1 + h1, .content-region h1 + h2, .content-region h1 + h3, .content-region h1 + h4, .content-region h1 + h5, .content-region h1 + h6, .content-region h2 + h1, .content-region h2 + h2, .content-region h2 + h3, .content-region h2 + h4, .content-region h2 + h5, .content-region h2 + h6, .content-region h3 + h1, .content-region h3 + h2, .content-region h3 + h3, .content-region h3 + h4, .content-region h3 + h5, .content-region h3 + h6, .content-region h4 + h1, .content-region h4 + h2, .content-region h4 + h3, .content-region h4 + h4, .content-region h4 + h5, .content-region h4 + h6, .content-region h5 + h1, .content-region h5 + h2, .content-region h5 + h3, .content-region h5 + h4, .content-region h5 + h5, .content-region h5 + h6, .content-region h6 + h1, .content-region h6 + h2, .content-region h6 + h3, .content-region h6 + h4, .content-region h6 + h5, .content-region h6 + h6 {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .content-region h1 + h1, .content-region h1 + h2, .content-region h1 + h3, .content-region h1 + h4, .content-region h1 + h5, .content-region h1 + h6, .content-region h2 + h1, .content-region h2 + h2, .content-region h2 + h3, .content-region h2 + h4, .content-region h2 + h5, .content-region h2 + h6, .content-region h3 + h1, .content-region h3 + h2, .content-region h3 + h3, .content-region h3 + h4, .content-region h3 + h5, .content-region h3 + h6, .content-region h4 + h1, .content-region h4 + h2, .content-region h4 + h3, .content-region h4 + h4, .content-region h4 + h5, .content-region h4 + h6, .content-region h5 + h1, .content-region h5 + h2, .content-region h5 + h3, .content-region h5 + h4, .content-region h5 + h5, .content-region h5 + h6, .content-region h6 + h1, .content-region h6 + h2, .content-region h6 + h3, .content-region h6 + h4, .content-region h6 + h5, .content-region h6 + h6 {
    font-size: 1.28em;
  }
}

blockquote {
  margin: 0 0 1rem;
}

blockquote p {
  margin: 0 0 0.5rem;
}

blockquote small {
  margin: 0.5rem 0 0;
  display: block;
}

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

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

hr {
  border: 0;
  height: 1px;
  background: #eee;
  margin: calc(1vh + 1em) 0;
}

.hide-text {
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
}

aside h3 {
  font-size: 1.125em;
  margin: 0 0 .5em 0;
}

@media (min-width: 25em) and (max-width: 50em) {
  aside h3 {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  aside h3 {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  aside h3 {
    font-size: 1.28em;
  }
}

/*
### EXAMPLE

.social-icon {
  @include hide-text;
  display: block;
  height: 50px;
  width: 50px;
}

.social-icon--twitter {
  @include sprite(-105px,-50px);
}

*/
.social-icon--twitter {
  background-position: -53px -2px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.social-icon--facebook {
  background-position: -3px -2px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.social-icon--instagram {
  background-position: -103px -2px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.mobile-toggle a {
  background-position: -151px 0px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.facebook-icon, .instagram-icon, .twitter-icon {
  display: inline-block;
  width: 44px;
  height: 44px;
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
}

.facebook-icon {
  background-position: -3px -52px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.instagram-icon {
  background-position: -103px -52px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.twitter-icon {
  background-position: -53px -52px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.mobile-close:after {
  position: absolute;
  left: 5px;
  content: '';
  width: 42px;
  height: 42px;
  background-position: -204px 0px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
  opacity: .8;
}

.mobile-close:hover:after, .mobile-close:focus:after {
  opacity: 1;
}

.video-wrapper .play-icon {
  background-position: 5px -98px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

/* Card icons */
.cards .card .arrow {
  background-position: -310px -60px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.content-region .call-to-action .arrow, .cta-panel .arrow {
  background-position: -360px -60px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.cards .card.download .arrow {
  background-position: -262px -15px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.content-region .download-list a:before {
  background-position: -262px -107px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.cards .card.news .arrow {
  background-position: -310px -15px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.cards-news-blogs .card .arrow {
  background-position: -310px -60px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

.filter--dropdown:before {
  background-position: -205px -60px;
  background-size: 500px 250px;
  background-image: url("../media/celebrate-aberdeen-sprite.svg?v1.0.0");
}

button, [type='button'], [type='reset'], [type='submit'] {
  background-color: #666;
}

button:focus, [type='button']:focus, [type='reset']:focus, [type='submit']:focus,
button:hover, [type='button']:hover, [type='reset']:hover, [type='submit']:hover {
  background-color: #666;
}

button:active, [type='button']:active, [type='reset']:active, [type='submit']:active {
  background-color: #666;
}

.btn {
  display: inline-block;
  background: #ff7260;
  background: -webkit-gradient(linear, left top, left bottom, from(#ff9284), to(#ff7260));
  background: linear-gradient(to bottom, #ff9284, #ff7260 100%);
  padding: .6em 1.2em;
  color: #333c47;
  border-radius: 4px;
  border: 0;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.0625em;
  text-shadow: 0px 1px 1px rgba(255, 204, 198, 0.5);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -webkit-box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05);
          box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05);
}

.btn:hover, .btn:focus {
  background: #ff7b6a;
  background: -webkit-gradient(linear, left top, left bottom, from(#ff9b8e), to(#ff7b6a));
  background: linear-gradient(to bottom, #ff9b8e, #ff7b6a 100%);
  text-shadow: 0px 1px 1px rgba(255, 213, 208, 0.5);
}

.btn.large {
  font-size: 1.125em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .btn.large {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .btn.large {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .btn.large {
    font-size: 1.28em;
  }
}

.primary-btn {
  display: inline-block;
  background: #ff7260;
  background: -webkit-gradient(linear, left top, left bottom, from(#ff9284), to(#ff7260));
  background: linear-gradient(to bottom, #ff9284, #ff7260 100%);
  padding: .6em 1.2em;
  color: #333c47;
  border-radius: 4px;
  border: 0;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.0625em;
  text-shadow: 0px 1px 1px rgba(255, 204, 198, 0.5);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -webkit-box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05);
          box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05);
  margin-right: .5em;
}

.primary-btn:hover, .primary-btn:focus {
  background: #ff7b6a;
  background: -webkit-gradient(linear, left top, left bottom, from(#ff9b8e), to(#ff7b6a));
  background: linear-gradient(to bottom, #ff9b8e, #ff7b6a 100%);
  text-shadow: 0px 1px 1px rgba(255, 213, 208, 0.5);
}

.secondary-btn {
  display: inline-block;
  background: #8586be;
  background: -webkit-gradient(linear, left top, left bottom, from(#9c9dca), to(#8586be));
  background: linear-gradient(to bottom, #9c9dca, #8586be 100%);
  padding: .6em 1.2em;
  color: #333c47;
  border-radius: 4px;
  border: 0;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.0625em;
  text-shadow: 0px 1px 1px rgba(200, 200, 225, 0.5);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  -webkit-box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05);
          box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05);
}

.secondary-btn:hover, .secondary-btn:focus {
  background: #8c8dc2;
  background: -webkit-gradient(linear, left top, left bottom, from(#a3a4ce), to(#8c8dc2));
  background: linear-gradient(to bottom, #a3a4ce, #8c8dc2 100%);
  text-shadow: 0px 1px 1px rgba(206, 207, 229, 0.5);
}

[type='color'], [type='date'], [type='datetime'], [type='datetime-local'], [type='email'], [type='month'], [type='number'], [type='password'], [type='search'], [type='tel'], [type='text'], [type='time'], [type='url'], [type='week'], input:not([type]), textarea, input[type=file] {
  border: 1px solid #ccc;
  padding: 0.7em 1em 0.6em;
  font-size: 1em;
  color: #222;
  background: #fcfcfc;
  -webkit-transition: border .8s ease-in;
  -webkit-transition: border .2s ease-in;
  transition: border .2s ease-in;
  -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.08);
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.08);
  -webkit-appearance: none;
  margin: 0 0 0.8em 0;
  outline: none;
}

@media screen and (min-width: 600px) {
  [type='color'], [type='date'], [type='datetime'], [type='datetime-local'], [type='email'], [type='month'], [type='number'], [type='password'], [type='search'], [type='tel'], [type='text'], [type='time'], [type='url'], [type='week'], input:not([type]), textarea, input[type=file] {
    min-width: 300px;
    width: auto;
  }
}

[type='color']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='email']:focus, [type='month']:focus, [type='number']:focus, [type='password']:focus, [type='search']:focus, [type='tel']:focus, [type='text']:focus, [type='time']:focus, [type='url']:focus, [type='week']:focus, input:not([type]):focus, textarea:focus,
[type='color']:hover, [type='date']:hover, [type='datetime']:hover, [type='datetime-local']:hover, [type='email']:hover, [type='month']:hover, [type='number']:hover, [type='password']:hover, [type='search']:hover, [type='tel']:hover, [type='text']:hover, [type='time']:hover, [type='url']:hover, [type='week']:hover, input:not([type]):hover, textarea:hover {
  border: 1px solid #8586be;
}

[type='color']:active, [type='date']:active, [type='datetime']:active, [type='datetime-local']:active, [type='email']:active, [type='month']:active, [type='number']:active, [type='password']:active, [type='search']:active, [type='tel']:active, [type='text']:active, [type='time']:active, [type='url']:active, [type='week']:active, input:not([type]):active, textarea:active {
  border: 1px solid #8586be;
}

label {
  font-weight: bold;
}

input[type=file] {
  background: #fff;
  border-radius: 5px;
  max-width: 300px;
}

@media screen and (max-width: 599px) {
  input[type=file] {
    width: 100%;
  }
}

textarea {
  width: 100%;
  min-height: 100px;
}

small {
  font-size: 14px;
}

.required span {
  color: #ea559d;
}

.form-application, .contact-block--form {
  padding: 0 5% 5%;
  margin: 0 auto calc(2vw + 0em);
}

@media screen and (min-width: 800px) {
  .form-application, .contact-block--form {
    padding: 5%;
    border: 3px solid #8586be;
    border-radius: 3px;
    -webkit-box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.02);
            box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.02);
  }
  .form-application form, .contact-block--form form {
    border-top: 0;
  }
}

.form-application label, .contact-block--form label {
  padding-bottom: .1em;
}

.form-application {
  max-width: 600px;
}

.alert {
  background: #eee;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), color-stop(75%, #e9e9e9));
  background-image: linear-gradient(180deg, #eee 0%, #e9e9e9 75%);
  border: 1px solid #e9e9e9;
  padding: 2em 2em 1em;
  margin-bottom: 1em;
  border-radius: 3px;
  -webkit-box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05);
          box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
  line-height: 1.3em;
}

.alert.success-alert {
  background: #8586be;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#8586be), color-stop(75%, #7e7fba));
  background-image: linear-gradient(180deg, #8586be 0%, #7e7fba 75%);
  border: 1px solid #7e7fba;
  color: #fff;
}

.alert.error-alert {
  background: #fbddec;
  border: 1px solid #ea559d;
  background: #eb6550;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#eb6550), color-stop(75%, #ea5d47));
  background-image: linear-gradient(180deg, #eb6550 0%, #ea5d47 75%);
  border: 1px solid #ea5d47;
  color: #fff;
}

.alert p {
  font-weight: bold;
  letter-spacing: 0.0625em;
}

#oldbrowser span,
noscript span {
  background-color: darkred;
  text-align: center;
  display: block;
  color: white;
  padding: 1em;
}

#oldbrowser span a:hover,
#oldbrowser span a:focus,
noscript span a:hover,
noscript span a:focus {
  color: #c58080;
}

.container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.container::after {
  clear: both;
  content: "";
  display: block;
}

.pattern-header {
  background-color: #efefef;
  padding: calc(3vw + 1em);
}

.pattern-wrapper {
  padding: calc(3vw + 1em);
}

.overlay {
  -webkit-transition: background .8s;
  transition: background .8s;
  height: 0;
  background: transparent;
}

@media screen and (max-width: 999px) {
  .menu-open {
    overflow-y: hidden;
  }
  .menu-open .overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: auto;
    z-index: 10;
    background: #515287;
    background: rgba(59, 60, 111, 0.7);
  }
}

main {
  padding: calc(3vw + 1em);
}

@media screen and (min-width: 1000px) {
  main aside.right {
    float: left;
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 29.7134035841%;
  }
  main aside.right:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width: 1000px) {
  main article {
    float: left;
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 64.8567017921%;
  }
  main article:last-child {
    margin-right: 0;
  }
}

main article.content-region figure figcaption p {
  font-size: 90%;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-1em);
            transform: translateY(-1em);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0em);
            transform: translateY(0em);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-1em);
            transform: translateY(-1em);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0em);
            transform: translateY(0em);
  }
}

.hero--heading {
  font-size: 2.0272865295em;
  line-height: 1.3em;
  margin-bottom: .3em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .hero--heading {
    font-size: calc( 2.0272865295em + 0.9586974705 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .hero--heading {
    font-size: calc( 2.985984em + 1.4120625111 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .hero--heading {
    font-size: 4.3980465111em;
  }
}

/*  */
#hero-image {
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: opacity .8s ease-in;
  transition: opacity .8s ease-in;
  /* .fade-in class added via JavaScript once background-image loaded */
  background: url("../images/celebrate-aberdeen.jpg") no-repeat;
  background-size: cover;
  background-position: center;
}

#hero-image.fade-in {
  position: absolute;
  opacity: 1;
}

.hero-content {
  padding: calc(1vw + 1em) 0 0;
  opacity: 0;
  /* make things invisible upon start */
  -webkit-animation: fadeIn ease 1;
          animation: fadeIn ease 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
  text-align: center;
}

.home .hero-content {
  padding: calc(8vw + 1em) 0 calc(8vw + 1em);
}

.clear::after {
  clear: both;
  content: "";
  display: block;
}

.hero-heading {
  display: inline-block;
  position: relative;
  font-size: 1.8020324707em;
  margin: 0 0 .4em;
  z-index: 2;
}

@media (min-width: 25em) and (max-width: 50em) {
  .hero-heading {
    font-size: calc( 1.8020324707em + 0.6862875293 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .hero-heading {
    font-size: calc( 2.48832em + 0.9476538368 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .hero-heading {
    font-size: 3.4359738368em;
  }
}

.hero-heading:after {
  position: absolute;
  content: '';
  width: 102%;
  left: 0;
  top: 0;
  height: 75%;
  margin: calc(0vw + .4em) 0 -5% -1%;
  background: #333c47;
  z-index: -1;
  -webkit-transform: rotate(-2deg);
          transform: rotate(-2deg);
}

.hero-subtitle {
  position: relative;
  font-size: 1.265625em;
  margin: 0 0 .4em;
  z-index: 2;
}

@media (min-width: 25em) and (max-width: 50em) {
  .hero-subtitle {
    font-size: calc( 1.265625em + 0.174375 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .hero-subtitle {
    font-size: calc( 1.44em + 0.1984 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .hero-subtitle {
    font-size: 1.6384em;
  }
}

.hero-heading-wrap {
  display: block;
}

.hero-timestamp {
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 0.125em;
}

.global-header {
  position: relative;
  z-index: 1;
  background: #333c47;
  background-image: -webkit-gradient(linear, left bottom, left top, from(#282f38), color-stop(75%, #333c47));
  background-image: linear-gradient(0deg, #282f38 0%, #333c47 75%);
  color: #fff;
  /* Add texture if not null */
  padding: calc(3vw + 1em) calc(3vw + 1em) calc(1.5vw + 1em);
}

.global-header .has-image#hero-image:after {
  position: absolute;
  content: '';
  left: 0;
  width: 100%;
  height: 100%;
  background: #333c47;
  background: rgba(51, 60, 71, 0.85);
}

.global-header.home {
  padding: calc(3vw + 1em) calc(3vw + 1em) calc(1.5vw + 1em);
}

.global-header a {
  display: inline-block;
  margin: 0 auto;
}

@media screen and (min-width: 600px) {
  .global-header:after {
    position: absolute;
    bottom: 0;
    top: 0;
    right: 0;
    content: '';
    background: url("../media/coloured-ovals.svg") no-repeat;
    background-size: cover;
    width: 30%;
    height: 100%;
    z-index: 1;
    opacity: .8;
  }
}

.global-header:before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  background: url("../media/white-star.svg") no-repeat;
  background-size: 100%;
  width: 20vw;
  height: 20vw;
  z-index: 2;
}

.global-header .container {
  position: relative;
  z-index: 2;
}

.mobile-toggle {
  position: absolute;
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
  right: 0;
  top: 10px;
  width: 50px;
  height: 50px;
  z-index: 11;
}

.mobile-toggle a {
  display: block;
  height: 100%;
}

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

.global-header a.mobile-close {
  position: absolute;
  top: 1em;
  left: 0px;
  width: 60px;
  height: 50px;
  padding: 0 !important;
  background: #8283bc;
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
  -webkit-transition: left 0s ease;
  transition: left 0s ease;
  border-radius: 4px 0 0 4px;
  z-index: -1;
}

.menu-open .global-header a.mobile-close {
  left: -50px;
  -webkit-transition: left .2s ease-out;
  transition: left .2s ease-out;
}

@media screen and (min-width: 1000px) {
  .global-header a.mobile-close {
    display: none;
  }
}

/* Header Navigation */
@media screen and (max-width: 999px) {
  .global-header .global-header--logo {
    width: 60%;
    clear: both;
    text-align: left;
    max-width: 181.59px;
  }
}

@media screen and (min-width: 1000px) {
  .global-header .global-header--logo {
    float: left;
    width: 20%;
  }
}

@media screen and (min-width: 1000px) {
  .global-header .global-nav {
    float: right;
    width: 80%;
  }
}

.global-nav {
  /* Tablet / SmartPhone */
  /* Desktop */
}

@media screen and (max-width: 999px) {
  .global-nav {
    position: fixed;
    background: #8586be;
    top: 0;
    right: 0;
    bottom: 0;
    width: 300px;
    padding-right: 40px;
    z-index: 11;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  .menu-open .global-nav {
    position: fixed;
    -webkit-box-shadow: -10px -10px 50px rgba(0, 0, 0, 0.02);
            box-shadow: -10px -10px 50px rgba(0, 0, 0, 0.02);
    top: 0;
    right: 0;
    bottom: 0;
    width: 300px;
    z-index: 11;
    -webkit-transform: translateX(20%);
            transform: translateX(20%);
  }
  .global-nav .global-nav--wrap {
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    background: #8586be;
    background: linear-gradient(135deg, #9697c7, #8586be 70.71%);
  }
  .global-nav .dropdown:hover ul, .global-nav .dropdown:focus ul {
    opacity: 1;
    height: auto;
    max-height: 400px;
  }
  .global-nav ul ul {
    padding-top: 0;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height .2s ease;
    transition: max-height .2s ease;
  }
  .global-nav ul ul a {
    background: #6465ac;
    line-height: 1.2em;
  }
  .global-nav a {
    display: block;
    padding: 0.5em calc(1vw + 1em);
    color: #fff;
    font-size: 1.125em;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.125em;
  }
}

@media screen and (max-width: 999px) and (min-width: 25em) and (max-width: 50em) {
  .global-nav a {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media screen and (max-width: 999px) and (min-width: 50em) and (max-width: 75em) {
  .global-nav a {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media screen and (max-width: 999px) and (min-width: 75em) {
  .global-nav a {
    font-size: 1.28em;
  }
}

@media screen and (min-width: 1000px) {
  .global-nav ul {
    text-align: right;
  }
  .global-nav ul li {
    position: relative;
    display: inline-block;
    vertical-align: bottom;
    margin: 0 0 10px 1em;
  }
  .global-nav ul li.dropdown a {
    padding-right: 10px;
  }
  .global-nav ul li.dropdown a:after {
    position: absolute;
    top: -2px;
    right: -5px;
    margin-left: -10px;
    content: '+';
    width: 10px;
    height: 10px;
    color: #ea559d;
  }
  .global-nav ul li.dropdown ul {
    height: 0;
    opacity: 0;
    -webkit-transition: opacity, -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: opacity, -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: opacity, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: opacity, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    -webkit-transform: translateY(-5%);
            transform: translateY(-5%);
    /* remove :: after */
  }
  .global-nav ul li.dropdown ul li a:after {
    display: none;
  }
  .global-nav ul li.dropdown:hover, .global-nav ul li.dropdown:focus {
    -webkit-tap-highlight-color: transparent;
  }
  .global-nav ul li.dropdown:hover a, .global-nav ul li.dropdown:focus a {
    color: #ea559d;
  }
  .global-nav ul li.dropdown:hover ul, .global-nav ul li.dropdown:focus ul {
    position: absolute;
    left: 50%;
    opacity: 1;
    height: auto;
    max-height: 400px;
    width: 260px;
    margin: 0px 0 0 -130px;
    padding: 10px 0 0 0;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    -webkit-box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05);
            box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05);
    z-index: 3;
  }
  .global-nav ul li.dropdown:hover ul:before, .global-nav ul li.dropdown:focus ul:before {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -20px;
    content: '';
    width: 20px;
    height: 20px;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 40px solid #333c47;
  }
  .global-nav ul li.dropdown:hover ul li, .global-nav ul li.dropdown:focus ul li {
    margin: 0;
    background: #333c47;
    border-left: 1px solid #37414d;
    border-right: 1px solid #37414d;
    text-align: left;
  }
  .global-nav ul li.dropdown:hover ul li a, .global-nav ul li.dropdown:focus ul li a {
    padding: .5em 1em;
    line-height: 1.3em;
    color: #fff;
  }
  .global-nav ul li.dropdown:hover ul li a:hover, .global-nav ul li.dropdown:hover ul li a:focus, .global-nav ul li.dropdown:focus ul li a:hover, .global-nav ul li.dropdown:focus ul li a:focus {
    color: #eb6550;
  }
  .global-nav ul li.dropdown:hover ul li:first-child, .global-nav ul li.dropdown:focus ul li:first-child {
    border-radius: 4px 4px 0 0;
  }
  .global-nav ul li.dropdown:hover ul li:first-child a, .global-nav ul li.dropdown:focus ul li:first-child a {
    padding-top: 1em;
  }
  .global-nav ul li.dropdown:hover ul li:last-child, .global-nav ul li.dropdown:focus ul li:last-child {
    border-radius: 0 0 4px 4px;
    border-bottom: 1px solid #37414d;
  }
  .global-nav ul li.dropdown:hover ul li:last-child a, .global-nav ul li.dropdown:focus ul li:last-child a {
    padding-bottom: 1em;
  }
  .global-nav ul li ul {
    opacity: 0;
    height: 0;
    width: 0;
    overflow: hidden;
  }
  .global-nav ul li ul li {
    display: block;
  }
  .global-nav ul li ul li.top-level {
    background: #99cc33;
  }
  .global-nav ul li ul li.top-level:after {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    height: 10px;
    width: 10px;
    background: #99cc33;
  }
  .global-nav ul a {
    font-size: 1em;
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.125em;
  }
}

@media screen and (min-width: 1000px) and (min-width: 25em) and (max-width: 50em) {
  .global-nav ul a {
    font-size: calc( 1em + 0 * ( ( 100vw - 25em) / 25 ));
  }
}

@media screen and (min-width: 1000px) and (min-width: 50em) and (max-width: 75em) {
  .global-nav ul a {
    font-size: calc( 1em + 0 * ( ( 100vw - 50em) / 25 ));
  }
}

@media screen and (min-width: 1000px) and (min-width: 75em) {
  .global-nav ul a {
    font-size: 1em;
  }
}

.global-footer {
  padding: calc(3vw + 1em) calc(3vw + 1em) calc(1.5vw + 1em);
  text-align: left;
  font-weight: bold;
  font-size: 90%;
  color: #888888;
}

.global-footer .container {
  border-top: 2px solid #eee;
  padding-top: calc(3vw + 1em);
}

.global-footer .links p {
  font-size: 90%;
}

.global-footer .links a {
  position: relative;
  padding: 0 .8em 0 0;
}

.global-footer .links a:after {
  position: absolute;
  right: 0;
  content: '•';
}

.global-footer .links a:last-child:after {
  content: "";
}

@media screen and (max-width: 599px) {
  .global-footer .links {
    padding: 0 0 1em 0;
  }
}

.social-links ul {
  list-style: none;
  margin: 0;
}

.social-links ul li {
  display: inline-block;
  margin: 0 .2em;
}

.social-links ul li a {
  display: inline-block;
  width: 44px;
  height: 44px;
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
  -webkit-transition: opacity, -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity, -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.social-links ul li a:hover, .social-links ul li a:focus {
  -webkit-transform: translateY(-5%);
          transform: translateY(-5%);
}

@media screen and (min-width: 1000px) {
  .global-footer--left {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 47.2850526881%;
    text-align: left;
  }
  .global-footer--left:last-child {
    margin-right: 0;
  }
  .global-footer--left a {
    color: #8586be;
  }
  .global-footer--left a:hover, .global-footer--left a:focus {
    color: #6a6cb0;
  }
}

.global-footer--left p {
  margin: 0;
}

@media screen and (min-width: 1000px) {
  .global-footer--right {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 47.2850526881%;
    text-align: right;
  }
  .global-footer--right:last-child {
    margin-right: 0;
  }
}

.content-region {
  max-width: 48em;
}

.content-region h1, .content-region h2, .content-region h3, .content-region h4, .content-region h5, .content-region h6 {
  line-height: 1.25;
  margin: 0 0 0.5rem;
}

.content-region h1 + p:first-child, .content-region h2 + p:first-child, .content-region h3 + p:first-child, .content-region h4 + p:first-child, .content-region h5 + p:first-child, .content-region h6 + p:first-child {
  font-size: 1.125em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .content-region h1 + p:first-child, .content-region h2 + p:first-child, .content-region h3 + p:first-child, .content-region h4 + p:first-child, .content-region h5 + p:first-child, .content-region h6 + p:first-child {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .content-region h1 + p:first-child, .content-region h2 + p:first-child, .content-region h3 + p:first-child, .content-region h4 + p:first-child, .content-region h5 + p:first-child, .content-region h6 + p:first-child {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .content-region h1 + p:first-child, .content-region h2 + p:first-child, .content-region h3 + p:first-child, .content-region h4 + p:first-child, .content-region h5 + p:first-child, .content-region h6 + p:first-child {
    font-size: 1.28em;
  }
}

.content-region ul,
.content-region ol {
  margin: 1rem;
}

.content-region ul ul,
.content-region ul ol,
.content-region ol ul,
.content-region ol ol {
  margin: 0 1rem;
}

.content-region figure {
  margin: 1.5rem 0 3rem;
}

.content-region figure figcaption {
  margin: 0.75rem 0 0;
  font-size: 90%;
}

.content-region .call-to-action {
  padding: calc(1vh + 1em);
  border: 1px solid #eee;
  background: url("../media/cta-shapes.svg") no-repeat;
  background-size: 20%;
  -webkit-box-shadow: 0 2px 0 rgba(64, 81, 89, 0.02);
          box-shadow: 0 2px 0 rgba(64, 81, 89, 0.02);
}

.content-region .call-to-action h3 {
  padding-top: 1em;
  padding-left: 14%;
}

.content-region .call-to-action p {
  padding-left: 14%;
}

.content-region .call-to-action a {
  color: #333c47;
  text-decoration: none;
}

.content-region .call-to-action a:hover, .content-region .call-to-action a:focus {
  /* Download animation */
}

.content-region .call-to-action a:hover .arrow, .content-region .call-to-action a:focus .arrow {
  -webkit-transform: translateX(10px);
          transform: translateX(10px);
  opacity: 1;
}

.content-region .call-to-action .arrow {
  opacity: .5;
  width: 42px;
  height: 42px;
  padding: 0 0 1em 0;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
  margin-left: 13.5%;
}

.content-region .download-list {
  padding: calc(1vh + 1em) 0;
}

.content-region .download-list a {
  position: relative;
  display: block;
  padding: calc(1vh + 1em) calc(1vh + 1em) calc(1vh + 1em) calc(1vh + 4em);
  border: 1px solid #eee;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  text-decoration: none;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}

.content-region .download-list a:before {
  position: absolute;
  content: '';
  left: calc(1vh + 1em);
  top: 1.4em;
  width: 32px;
  height: 32px;
  opacity: .8;
  -webkit-transition: opacity 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.content-region .download-list a:focus, .content-region .download-list a:hover {
  background: white;
}

.content-region .download-list a:focus:before, .content-region .download-list a:hover:before {
  opacity: 1;
}

.content-region .media-block-wrap::after {
  clear: both;
  content: "";
  display: block;
}

.content-region .media-block {
  padding: 1em 0 2em 0;
}

.content-region .media-block::after {
  clear: both;
  content: "";
  display: block;
}

.content-region .media-block .media-block--left img {
  margin-bottom: 1em;
}

@media screen and (min-width: 1000px) {
  .content-region .media-block .media-block--left {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 38.4992281361%;
  }
  .content-region .media-block .media-block--left:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width: 1000px) {
  .content-region .media-block .media-block--right {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 56.0708772401%;
  }
  .content-region .media-block .media-block--right:last-child {
    margin-right: 0;
  }
}

@media screen and (min-width: 600px) and (max-width: 799px) {
  .content-region .media-block {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 47.2850526881%;
  }
  .content-region .media-block:last-child {
    margin-right: 0;
  }
  .content-region .media-block:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 800px) and (max-width: 999px) {
  .content-region .media-block {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 47.2850526881%;
  }
  .content-region .media-block:last-child {
    margin-right: 0;
  }
  .content-region .media-block:nth-child(2n) {
    margin-right: 0;
  }
}

.content-region .media-block .type {
  font-size: 1.125em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .content-region .media-block .type {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .content-region .media-block .type {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .content-region .media-block .type {
    font-size: 1.28em;
  }
}

.content-region .media-block--small {
  padding: 0 0 2em 0;
}

.content-region .media-block--small::after {
  clear: both;
  content: "";
  display: block;
}

.content-region .media-block--small .media-block--left img {
  margin-bottom: 1em;
}

.content-region .media-block--small .type {
  font-size: 1.125em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .content-region .media-block--small .type {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .content-region .media-block--small .type {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .content-region .media-block--small .type {
    font-size: 1.28em;
  }
}

@media screen and (min-width: 600px) and (max-width: 799px) {
  .content-region .media-block--small {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 47.2850526881%;
  }
  .content-region .media-block--small:last-child {
    margin-right: 0;
  }
  .content-region .media-block--small:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 800px) and (max-width: 999px) {
  .content-region .media-block--small {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 47.2850526881%;
  }
  .content-region .media-block--small:last-child {
    margin-right: 0;
  }
  .content-region .media-block--small:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 1000px) {
  .content-region .media-block--small {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 47.2850526881%;
  }
  .content-region .media-block--small:last-child {
    margin-right: 0;
  }
  .content-region .media-block--small:nth-child(2n) {
    margin-right: 0;
  }
}

.content-region .grid-block {
  padding: 0 0 1em 0;
}

.content-region .grid-block::after {
  clear: both;
  content: "";
  display: block;
}

@media screen and (min-width: 1000px) {
  .content-region {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 64.8567017921%;
  }
  .content-region:last-child {
    margin-right: 0;
  }
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  height: 0;
}

.video-wrapper .swap-video {
  position: relative;
}

.video-wrapper .swap-video:after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #8586be;
  background: rgba(133, 134, 190, 0.8);
  z-index: 1;
}

.video-wrapper .play-icon {
  position: absolute;
  left: calc(50% - 50px);
  top: calc(50% - 50px);
  height: 100px;
  width: 100px;
  bottom: 0;
  right: 0;
  border-radius: 100%;
  cursor: pointer;
  background-color: #eb6550;
  z-index: 2;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.video-wrapper .play-icon:hover, .video-wrapper .play-icon:focus {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* Add background to a few standard cards */
}

.cards::after {
  clear: both;
  content: "";
  display: block;
}

.cards .card.standard:nth-child(2n+2):after {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url("../media/card-pattern.svg") no-repeat;
  background-position: 0;
  background-size: 400px 100%;
  z-index: 1;
}

.cards .card {
  position: relative;
  overflow: hidden;
  background: -webkit-gradient(linear, left top, left bottom, from(#ea559d), color-stop(75%, #eb6550));
  background: linear-gradient(180deg, #ea559d 0%, #eb6550 75%);
  -webkit-box-shadow: 0 2px 0 rgba(64, 81, 89, 0.02);
          box-shadow: 0 2px 0 rgba(64, 81, 89, 0.02);
  z-index: 0;
}

.cards .card img {
  margin: 0 0 .6em 0;
}

@media screen and (max-width: 599px) {
  .cards .card {
    float: left;
    width: 49.5%;
    margin: 0 .5% .5% 0;
    min-height: 120px;
  }
  .cards .card:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 600px) and (max-width: 799px) {
  .cards .card {
    float: left;
    width: 49.5%;
    margin: 0 .5% .5% 0;
    min-height: 120px;
  }
  .cards .card:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 800px) and (max-width: 999px) {
  .cards .card {
    float: left;
    width: 49.5%;
    margin: 0 .5% .5% 0;
    min-height: 120px;
  }
  .cards .card:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 1000px) {
  .cards .card {
    float: left;
    width: 33.0%;
    margin: 0 .5% .5% 0;
    min-height: 120px;
  }
  .cards .card:nth-child(3n) {
    margin-right: 0;
  }
}

.cards .card .arrow {
  opacity: .5;
  width: 42px;
  height: 42px;
  padding: 0 0 1em 0;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
}

.cards .card.download {
  background: #8586be;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#ea559d), color-stop(75%, #8586be));
  background-image: linear-gradient(180deg, #ea559d 0%, #8586be 75%);
}

.cards .card.download a:hover, .cards .card.download a:focus {
  /* Download animation */
}

.cards .card.download a:hover .arrow, .cards .card.download a:focus .arrow {
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  opacity: 1;
}

.cards .card.news {
  background: #fff;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(75%, #fff));
  background-image: linear-gradient(180deg, #fff 0%, #fff 75%);
  color: #333c47;
  border: 1px solid #eee;
}

.cards .card.news a {
  color: #333c47;
}

.cards .card.news a .arrow {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  opacity: 1;
}

.cards .card.news a:hover, .cards .card.news a:focus {
  /* Download animation */
}

.cards .card.news a:hover h3, .cards .card.news a:focus h3 {
  color: #8586be;
}

.cards .card.news a:hover .arrow, .cards .card.news a:focus .arrow {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  opacity: 1;
}

.cards .card.news h3 {
  -webkit-transition: color 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: color 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  font-weight: normal;
}

.cards .card.news h3.small {
  font-size: 1.125em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .cards .card.news h3.small {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .cards .card.news h3.small {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .cards .card.news h3.small {
    font-size: 1.28em;
  }
}

.cards .card.news .date {
  font-size: 1em;
  font-weight: bold;
  color: #ea559d;
  -webkit-font-smoothing: antialiased;
}

@media (min-width: 25em) and (max-width: 50em) {
  .cards .card.news .date {
    font-size: calc( 1em + 0 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .cards .card.news .date {
    font-size: calc( 1em + 0 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .cards .card.news .date {
    font-size: 1em;
  }
}

.cards a {
  position: relative;
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 5%;
  min-height: 236px;
  z-index: 2;
}

.cards a:hover, .cards a:focus {
  /* Arrow animation */
}

.cards a:hover .arrow, .cards a:focus .arrow {
  -webkit-transform: translateX(10px);
          transform: translateX(10px);
  opacity: 1;
}

.cards h3 {
  font-size: 1.265625em;
  font-weight: bold;
  letter-spacing: 0.0625em;
  line-height: 1.3em;
  padding: 0 0 .5em 0;
}

@media (min-width: 25em) and (max-width: 50em) {
  .cards h3 {
    font-size: calc( 1.265625em + 0.174375 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .cards h3 {
    font-size: calc( 1.44em + 0.1984 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .cards h3 {
    font-size: 1.6384em;
  }
}

.cards-sitemap {
  padding: 0 calc(3vw + 1em) calc(1.5vw + 1em);
}

.cards-sitemap .cards-sitemap-wrap::after {
  clear: both;
  content: "";
  display: block;
}

.cards-sitemap .cards-sitemap--item {
  margin-bottom: 2em;
}

@media screen and (min-width: 400px) and (max-width: 599px) {
  .cards-sitemap .cards-sitemap--item {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 47.2850526881%;
  }
  .cards-sitemap .cards-sitemap--item:last-child {
    margin-right: 0;
  }
  .cards-sitemap .cards-sitemap--item:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 600px) {
  .cards-sitemap .cards-sitemap--item {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 29.7134035841%;
  }
  .cards-sitemap .cards-sitemap--item:last-child {
    margin-right: 0;
  }
  .cards-sitemap .cards-sitemap--item:nth-child(3n) {
    margin-right: 0;
  }
}

.cards-sitemap .cards-sitemap--item a {
  display: block;
}

.cards-sitemap .cards-sitemap--item a.top-anchor {
  font-weight: bold;
  margin: 0 0 .2em 0;
}

.cards-sitemap .cards-sitemap--item:nth-child(3n) {
  margin-right: 0;
}

.logos {
  padding: calc(3vw + 1em) calc(3vw + 1em) 0;
}

.logos .container h2 {
  color: #ea559d;
  text-transform: uppercase;
  font-size: 1em;
  letter-spacing: 0.0625em;
  margin: 0 0 1em 0;
}

@media (min-width: 25em) and (max-width: 50em) {
  .logos .container h2 {
    font-size: calc( 1em + 0 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .logos .container h2 {
    font-size: calc( 1em + 0 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .logos .container h2 {
    font-size: 1em;
  }
}

@media screen and (max-width: 599px) {
  .grid-logos .grid--item {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 47.2850526881%;
    margin-bottom: 2em;
  }
  .grid-logos .grid--item:last-child {
    margin-right: 0;
  }
  .grid-logos .grid--item:nth-child(2n) {
    margin-right: 0;
  }
  .grid-logos .grid--item:nth-child(2n+1) {
    clear: left;
  }
}

@media screen and (min-width: 600px) and (max-width: 799px) {
  .grid-logos .grid--item {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 29.7134035841%;
    margin-bottom: 2em;
  }
  .grid-logos .grid--item:last-child {
    margin-right: 0;
  }
  .grid-logos .grid--item:nth-child(3n) {
    margin-right: 0;
  }
  .grid-logos .grid--item:nth-child(3n+1) {
    clear: left;
  }
}

@media screen and (min-width: 800px) {
  .grid-logos .grid--item {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 12.1417544802%;
    margin-bottom: 2em;
  }
  .grid-logos .grid--item:last-child {
    margin-right: 0;
  }
  .grid-logos .grid--item:nth-child(6n) {
    margin-right: 0;
  }
  .grid-logos .grid--item:nth-child(6n+1) {
    clear: left;
  }
}

.grid-logos .grid--item img {
  margin: 0 auto;
}

.grid-logos-small {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 1em 0;
}

@media screen and (max-width: 599px) {
  .grid-logos-small .grid--item {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 29.7134035841%;
    margin-bottom: 2em;
  }
  .grid-logos-small .grid--item:last-child {
    margin-right: 0;
  }
  .grid-logos-small .grid--item:nth-child(3n) {
    margin-right: 0;
  }
  .grid-logos-small .grid--item:nth-child(3n+1) {
    clear: left;
  }
}

@media screen and (min-width: 600px) and (max-width: 799px) {
  .grid-logos-small .grid--item {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 20.9275790321%;
    margin-bottom: 2em;
  }
  .grid-logos-small .grid--item:last-child {
    margin-right: 0;
  }
  .grid-logos-small .grid--item:nth-child(4n) {
    margin-right: 0;
  }
  .grid-logos-small .grid--item:nth-child(4n+1) {
    clear: left;
  }
}

@media screen and (min-width: 800px) {
  .grid-logos-small .grid--item {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 12.1417544802%;
    margin-bottom: 2em;
  }
  .grid-logos-small .grid--item:last-child {
    margin-right: 0;
  }
  .grid-logos-small .grid--item:nth-child(6n) {
    margin-right: 0;
  }
  .grid-logos-small .grid--item:nth-child(6n+1) {
    clear: left;
  }
}

.grid-logos-small .grid--item a:hover img, .grid-logos-small .grid--item a:focus img {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.grid-logos-small .grid--item img {
  margin: 0 auto;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.grid-gallery {
  padding: 1em 0;
}

.grid-gallery::after {
  clear: both;
  content: "";
  display: block;
}

.grid-gallery .grid-gallery--item img {
  padding: 1px;
}

@media screen and (max-width: 599px) {
  .grid-gallery .grid-gallery--item {
    display: inline-block;
    height: 150px;
  }
  .grid-gallery .grid-gallery--item img {
    height: 150px;
  }
}

@media screen and (min-width: 600px) {
  .grid-gallery .grid-gallery--item {
    float: left;
    width: 16.666%;
  }
  .grid-gallery .grid-gallery--item.large {
    width: 33.333%;
  }
}

@media screen and (max-width: 599px) {
  .gallery-wrap {
    /* Make this scrollable when needed */
    overflow-x: auto;
    /* We don't want vertical scrolling */
    overflow-y: hidden;
    /* Make an auto-hiding scroller for the 3 people using a IE */
    -ms-overflow-style: -ms-autohiding-scrollbar;
    /* For WebKit implementations, provide inertia scrolling */
    -webkit-overflow-scrolling: touch;
    /* We don't want internal inline elements to wrap */
    white-space: nowrap;
    /* Remove the default scrollbar for WebKit implementations */
  }
  .gallery-wrap::-webkit-scrollbar {
    display: none;
  }
}

.grid-sponsors {
  padding: 1em 0 2em 0;
}

.grid-sponsors::after {
  clear: both;
  content: "";
  display: block;
}

.grid-sponsors .grid-sponsors--item {
  padding: 0 0 1em 0;
}

.grid-sponsors .grid-sponsors--item img {
  margin: 0 0 1em 0;
}

.grid-sponsors .grid-sponsors--item .type {
  display: block;
}

@media screen and (min-width: 400px) and (max-width: 599px) {
  .grid-sponsors .grid-sponsors--item {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 47.2850526881%;
  }
  .grid-sponsors .grid-sponsors--item:last-child {
    margin-right: 0;
  }
  .grid-sponsors .grid-sponsors--item:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 600px) and (max-width: 799px) {
  .grid-sponsors .grid-sponsors--item {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 47.2850526881%;
  }
  .grid-sponsors .grid-sponsors--item:last-child {
    margin-right: 0;
  }
  .grid-sponsors .grid-sponsors--item:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 800px) and (max-width: 999px) {
  .grid-sponsors .grid-sponsors--item {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 29.7134035841%;
  }
  .grid-sponsors .grid-sponsors--item:last-child {
    margin-right: 0;
  }
  .grid-sponsors .grid-sponsors--item:nth-child(3n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 1000px) {
  .grid-sponsors .grid-sponsors--item {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 29.7134035841%;
  }
  .grid-sponsors .grid-sponsors--item:last-child {
    margin-right: 0;
  }
  .grid-sponsors .grid-sponsors--item:nth-child(3n) {
    margin-right: 0;
  }
}

.filter {
  text-align: center;
}

.filter .container {
  padding: 0 calc(1.5vw + 1em) calc(1.5vw + 1em);
}

@media screen and (max-width: 599px) {
  .filter .container {
    /* Make this scrollable when needed */
    overflow-x: auto;
    /* We don't want vertical scrolling */
    overflow-y: hidden;
    /* Make an auto-hiding scroller for the 3 people using a IE */
    -ms-overflow-style: -ms-autohiding-scrollbar;
    /* For WebKit implementations, provide inertia scrolling */
    -webkit-overflow-scrolling: touch;
    /* We don't want internal inline elements to wrap */
    white-space: nowrap;
    /* Remove the default scrollbar for WebKit implementations */
  }
  .filter .container::-webkit-scrollbar {
    display: none;
  }
}

@media screen and (min-width: 600px) {
  .filter .container {
    padding: 0% calc(3vw + 1em) 2em;
  }
}

.filter a {
  font-size: 1.125em;
  padding: 0 .5em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .filter a {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .filter a {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .filter a {
    font-size: 1.28em;
  }
}

.filter .filter-heading {
  display: block;
  font-size: 1em;
  text-transform: uppercase;
  font-weight: bold;
  color: #ea559d;
  margin: 0 0 .2em 0;
}

@media (min-width: 25em) and (max-width: 50em) {
  .filter .filter-heading {
    font-size: calc( 1em + 0 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .filter .filter-heading {
    font-size: calc( 1em + 0 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .filter .filter-heading {
    font-size: 1em;
  }
}

.filter--dropdown {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  margin-bottom: 1.5em;
  width: 100%;
  max-width: 520px;
  margin: 0 0 1em 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  z-index: 1;
}

.filter--dropdown:before {
  position: absolute;
  right: 1em;
  top: .8em;
  content: '';
  width: 40px;
  height: 30px;
  z-index: 1;
}

.filter--dropdown select {
  position: relative;
  -webkit-box-shadow: none;
          box-shadow: none;
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: none;
  padding: 1em 1.5em 1em;
  z-index: 2;
  background: none;
  color: #8586be;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  margin: 0;
  border: 1px solid rgba(133, 134, 190, 0.2);
  -webkit-box-shadow: 0 2px 0 rgba(133, 134, 190, 0.1);
          box-shadow: 0 2px 0 rgba(133, 134, 190, 0.1);
  -webkit-transition: border 0.2s ease;
  transition: border 0.2s ease;
  cursor: pointer;
}

.filter--dropdown select:hover, .filter--dropdown select:focus {
  border-color: rgba(133, 134, 190, 0.5);
}

.pagination {
  text-align: center;
  padding: calc(1.5vw + 1em) 0 calc(1.5vw + 1em);
}

.pagination::after {
  clear: both;
  content: "";
  display: block;
}

.pagination li {
  display: inline-block;
  margin: 0 0.2em;
}

.pagination li a {
  border: 2px solid rgba(133, 134, 190, 0.2);
  -webkit-box-shadow: 0 2px 2px rgba(51, 60, 71, 0);
          box-shadow: 0 2px 2px rgba(51, 60, 71, 0);
  font-size: 1em;
  display: inline-block;
  background: #fff;
  padding: 0.5em 1.2em;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: 30px;
  -webkit-transition: border 0.2s ease;
  transition: border 0.2s ease;
  letter-spacing: 1px;
  color: #8586be;
}

@media (min-width: 25em) and (max-width: 50em) {
  .pagination li a {
    font-size: calc( 1em + 0 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .pagination li a {
    font-size: calc( 1em + 0 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .pagination li a {
    font-size: 1em;
  }
}

.pagination li a:hover, .pagination li a:focus {
  color: #8586be;
}

.pagination li a.prev-arrow {
  position: relative;
}

.pagination li a.prev-arrow:before {
  position: absolute;
  color: #8586be;
  top: 0.2em;
  left: 0.75em;
  content: '←';
}

.pagination li a.prev-arrow span {
  padding-left: 1.2em;
}

.pagination li a.next-arrow {
  position: relative;
}

.pagination li a.next-arrow:before {
  position: absolute;
  color: #8586be;
  top: 0.2em;
  right: 0.75em;
  content: ' →';
}

.pagination li a.next-arrow span {
  padding-right: 1.2em;
}

.pagination li.active a {
  background-color: #8586be;
  color: #fff;
}

.intro-text {
  margin: 0 auto;
  padding: calc(3vw + 1em);
  max-width: 52em;
  text-align: center;
}

.intro-text h1 {
  font-size: 1em;
  margin: 0 0 1em 0;
  color: #ea559d;
  text-transform: uppercase;
  letter-spacing: 0.0625em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .intro-text h1 {
    font-size: calc( 1em + 0 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .intro-text h1 {
    font-size: calc( 1em + 0 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .intro-text h1 {
    font-size: 1em;
  }
}

.intro-text.short {
  padding: calc(3vw + 1em) calc(3vw + 1em) calc(1vw + 1em);
}

.date {
  font-size: 1.125em;
}

@media (min-width: 25em) and (max-width: 50em) {
  .date {
    font-size: calc( 1.125em + 0.075 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .date {
    font-size: calc( 1.2em + 0.08 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .date {
    font-size: 1.28em;
  }
}

.cta-panel {
  border: 2px solid #8586be;
  padding: calc(1vw + 1em);
  border-radius: 4px;
  -webkit-box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05);
          box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.05);
  padding: calc(1vh + 1em);
  border: 1px solid #eee;
  background: url("../media/cta-shapes.svg") no-repeat;
  background-size: 22%;
  -webkit-box-shadow: 0 2px 0 rgba(64, 81, 89, 0.02);
          box-shadow: 0 2px 0 rgba(64, 81, 89, 0.02);
}

.cta-panel h3 {
  color: #333c47;
}

.cta-panel h3 {
  padding-top: 1em;
  padding-left: 14%;
}

.cta-panel p {
  padding-left: 14%;
}

.cta-panel a {
  color: #333c47;
  text-decoration: none;
}

.cta-panel a:hover, .cta-panel a:focus {
  /* Download animation */
}

.cta-panel a:hover .arrow, .cta-panel a:focus .arrow {
  -webkit-transform: translateX(10px);
          transform: translateX(10px);
  opacity: 1;
}

.cta-panel .arrow {
  opacity: .5;
  width: 42px;
  height: 42px;
  padding: 0 0 1em 0;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  overflow: hidden;
  text-indent: 101%;
  white-space: nowrap;
  margin-left: 13.5%;
}

@media screen and (min-width: 800px) {
  .contact-block {
    padding: 0 calc(3vw + 1em) calc(1.5vw + 1em);
  }
}

@media screen and (min-width: 800px) {
  .contact-block--form {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 64.8567017921%;
  }
  .contact-block--form:last-child {
    margin-right: 0;
  }
}

.contact-block--contact-methods {
  padding: 0 calc(3vw + 1em) calc(1.5vw + 1em);
}

.contact-block--contact-methods h3 {
  font-size: 1.265625em;
  margin: 0 0 .5em 0;
}

@media (min-width: 25em) and (max-width: 50em) {
  .contact-block--contact-methods h3 {
    font-size: calc( 1.265625em + 0.174375 * ( ( 100vw - 25em) / 25 ));
  }
}

@media (min-width: 50em) and (max-width: 75em) {
  .contact-block--contact-methods h3 {
    font-size: calc( 1.44em + 0.1984 * ( ( 100vw - 50em) / 25 ));
  }
}

@media (min-width: 75em) {
  .contact-block--contact-methods h3 {
    font-size: 1.6384em;
  }
}

@media screen and (min-width: 800px) {
  .contact-block--contact-methods {
    float: left;
    display: block;
    margin-right: 5.4298946238%;
    width: 29.7134035841%;
    padding: 0;
  }
  .contact-block--contact-methods:last-child {
    margin-right: 0;
  }
}

.contact-block--contact-methods .facebook-icon, .contact-block--contact-methods .instagram-icon, .contact-block--contact-methods .twitter-icon {
  -webkit-transition: opacity, -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity, -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition: opacity, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.contact-block--contact-methods .facebook-icon:hover, .contact-block--contact-methods .facebook-icon:focus, .contact-block--contact-methods .instagram-icon:hover, .contact-block--contact-methods .instagram-icon:focus, .contact-block--contact-methods .twitter-icon:hover, .contact-block--contact-methods .twitter-icon:focus {
  -webkit-transform: translateY(-5%);
          transform: translateY(-5%);
}
/*# sourceMappingURL=style.css.map */