/* =============================================================================

Boilerplate by Callum Strong
URL: https://github.com/csscallum/Boilerplate
Apache License: v2.0. http://www.apache.org/licenses/LICENSE-2.0

Website Author:

============================================================================= */
/* =============================================================================
    Pre-build - Generic classes, reset (normalize), silent workers
    ========================================================================= */
/* Mixins - Setup some handy, resuable snippets ============================= */
/* =============================================================================
    Mixins - Select which (or all) mixins to use
    ========================================================================= */
/* =============================================================================
    Mixins - Include all
    ========================================================================= */
/* =============================================================================
    Animations & Keyframes mixins
    ========================================================================= */
/* Example

@include keyframe(changecolour) {
    0% {
        color: #000;
    }

    100% {
        color: #FFF;
    }
}

a:hover {
    @include animationperf;
    @include animation(1s, 2s, changecolour);
}

*/
/* =============================================================================
    Box-shadow complete with vendor prefixes, up to 5 shadow parameters
    ========================================================================= */
/* Example

div {
    @include box-shadow(
        0 0 5px 5px rgba(0,0,0,0.25),
        inset 0 0 5px rgba(0,0,0,0.25),
    );
}

*/
/* =============================================================================
    Column width calculator
    ========================================================================= */
/* Example:

.margin-element {
    margin-left: column(12, 6);
}

*/
/* Example:

.col-2of6 {
    @include col(6, 2);
}

*/
/* =============================================================================
    Calculate fluid ratio for an image based on two dimensions (width/height)
    - http://goo.gl/Wl694
    ========================================================================= */
/* Example - The following will have fluid ratio from 4:1 at 800px to 2:1 at 300px.

    HTML:
    <div class="column">
        <figure class="fixedratio"></figure>
    </div>

    CSS:
    .column {
        max-width: 800px;
    }
    .fixedratio {
        @include fluid-ratio(800px 200px, 300px 150px);
        background-image: url(/path/to/file/);
    }

*/
/* =============================================================================
    Font Sizing using rem's
    - http://goo.gl/4ow8e
    ========================================================================= */
/* Example

p {
    @include font-size(16);
}

*/
/* =============================================================================
    Vertical Gradient with solid colour back-up
    ========================================================================= */
/* Example

nav {
    @include gradient(#F5F5F5, #EEE, #FFF);
}

// multiple backgorun
.multiple-bg-elem {
	background: url("/assets/images/my-img.png") no-repeat left center, gradient(#ccc, #999);
}

*/
/* =============================================================================
    Line height using rem's
    ========================================================================= */
/* Example

p {
    @include line-height(24);
}

*/
/* =============================================================================
    Opacity with IE8 fallback
    ========================================================================= */
/* Example

.inactive {
    @include opacity(0.24);
}

*/
/* =============================================================================
    Transition mixin with speed and timing function
    ========================================================================= */
/* Example

a {
    @include transition(0.3s, ease-out);
}

*/
/* =============================================================================
    Vector (SVG) background with fallback for IE8
    - http://goo.gl/72Ok6
    ========================================================================= */
/* Example

.logo {
    @include vector-bg-with-fallback(logo);
}

*/
/* =============================================================================
    Font Face includes
    ========================================================================= */
/* Example

    @include font-face('open_sans', 'OpenSans-Regular-webfont');

*/
/* =============================================================================
    Media breakpoints - mapped with $breakpoints in variables.scss
    ========================================================================= */
/* Normalize - Start with a nice clean cross browser base =================== */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/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 when focused and also mouse hovered in all browsers.
 */
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;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/* Reusable helper classes such as IR, Clearfix, border-box etc. ============ */
/* =============================================================================
   Helper Classes/Mixins
   ========================================================================== */
.ir, .icn {
  color: transparent;
  font: 0/0 a;
  text-shadow: none;
}

/* Vertical alignment - http://goo.gl/Im9MF5 ================================ */
/* Hide from screenreaders and browsers ===================================== */
/* Clearfix - Use @extend cf on element ===================================== */
.cf:after, .dl-horizontal:after, .field:after, .pagination:after {
  clear: both;
  content: "";
  display: table;
}

/* =============================================================================
    Foundation - Base styles which buld on
    ========================================================================= */
/* Variables - Establish site wide values =================================== */
/* =============================================================================
    Variables
    ========================================================================= */
/* Design assets =========================================================== */
/* Branding ================================================================= */
/* Typography =============================================================== */
/* Links ==================================================================== */
/* Grid Structure =========================================================== */
/* Media Queries ============================================================ */
/* Tables =================================================================== */
/* Forms ==================================================================== */
/* Set <html> styles; font, background etc. ================================= */
/* =============================================================================
    Main
    ========================================================================= */
/* Don't declare font-size here, 16px is the browser default unless the user has
   increased this for accessiblity purposes. Use EM's or REM's ============== */
html {
  color: #333333;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 400;
  line-height: 1.25em;
}

body {
  background-color: #f4f4f4;
}
body .wrapper--primary {
  background-color: #fff;
  position: relative;
}

/* Single-direction margin declarations - http://goo.gl/QWu22 =============== */
p, h1, h2, h3, h4, h5, h6, hgroup, ul, ol, dd, figure, pre, table, fieldset, legend, hr {
  margin: 0 0 16px;
}

/* Box Sizing - http://goo.gl/aIhpRs (read it, it's good) =================== */
html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

/* Typography =============================================================== */
@font-face {
  font-family: 'icomoon';
  src: url("/assets/fonts/icomoon.eot?-rwjyly");
  src: url("/assets/fonts/icomoon.eot?#iefix-rwjyly") format("embedded-opentype"), url("/assets/fonts/icomoon.ttf?-rwjyly") format("truetype"), url("/assets/fonts/icomoon.woff?-rwjyly") format("woff"), url("/assets/fonts/icomoon.svg?-rwjyly#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* =============================================================================
    Icons
    ========================================================================= */
[class^="icon-"], [class*=" icon-"] {
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-checkmark:before {
  content: "\e600";
}

.icon-search:before {
  content: "\e601";
}

.icon-chevron-thin-right:before {
  content: "\e602";
}

/* =============================================================================
    Typography

     - Headings
     - Paragraphs
     - Selection Colours

    ========================================================================= */
html {
  -webkit-font-smoothing: antialiased;
}

/* 1) Headings ============================================================== */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  text-rendering: optimizeLegibility;
}

h1, .h1 {
  font-size: 2em;
  line-height: 1.25em;
}
@media (min-width: 47.5em) {
  h1, .h1 {
    font-size: 2.5em;
    line-height: 1.125em;
  }
}
@media (min-width: 60em) {
  h1, .h1 {
    font-size: 3em;
    line-height: 1.05em;
  }
}

h2, .h2 {
  font-size: 1.625em;
  line-height: 1.15384615em;
}
@media (min-width: 47.5em) {
  h2, .h2 {
    font-size: 2em;
    line-height: 1.25em;
  }
}
@media (min-width: 60em) {
  h2, .h2 {
    font-size: 2.25em;
  }
}

h3, .h3 {
  font-size: 1.375em;
  line-height: 1.13636364em;
}
@media (min-width: 47.5em) {
  h3, .h3 {
    font-size: 1.5em;
    line-height: 1.25em;
  }
}
@media (min-width: 60em) {
  h3, .h3 {
    font-size: 1.75em;
  }
}

h4, .h4 {
  font-size: 1.125em;
  line-height: 1.11111111em;
}
@media (min-width: 47.5em) {
  h4, .h4 {
    line-height: 1.22222222em;
  }
}

/* 2) Paragraphs ============================================================ */
p {
  font-size: 14px;
  font-size: 0.875rem;
}

.lead {
  font-size: 1.125em;
  font-weight: 700;
}

/* 3) Custom Select Colours ================================================== */
::selection {
  background: #03aa8c;
  color: white;
}

/* =============================================================================
    Quotes
    ========================================================================= */
blockquote {
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  margin-left: 16px;
  padding: 1em;
}
blockquote:before {
  color: #999999;
  content: "\201C ";
  display: block;
  font: italic 400%/1 serif;
  height: 0;
  margin-left: -0.95em;
}
blockquote footer {
  font-size: 14px;
  font-size: 0.875rem;
}

/* =============================================================================
    Typography - Lists
    ========================================================================= */
/* Remove vertical spacing from nested lists ================================ */
li > ul,
li > ol {
  margin-bottom: 0;
}

.listless {
  list-style-type: none;
  padding-left: 0;
  font-size: 14px;
  font-size: 0.875rem;
}
.listless:last-of-type {
  margin-bottom: 0;
}

.ticklist {
  list-style-type: none;
  margin-bottom: 40px;
}
.ticklist li {
  position: relative;
  margin: 10px 0;
}
.ticklist li:before {
  content: "\e600";
  color: #8a8a8a;
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 30px;
  font-size: 1.875rem;
  position: absolute;
  left: -42px;
  top: -4px;
}

.pipelist {
  list-style-type: none;
  padding-left: 0;
  text-align: center;
}
.pipelist li {
  font-size: 13px;
  font-size: 0.8125rem;
  display: inline-block;
}
.pipelist li:after {
  content: '|';
  display: inline-block;
  margin-left: 4px;
}
.pipelist li:last-child:after {
  display: none;
}

/* =============================================================================
    Definition Lists
    ========================================================================= */
.dl-horizontal dt {
  clear: left;
  float: left;
  text-align: right;
  width: 20%;
}
.dl-horizontal dd {
  margin-left: 22%;
  /* dt width + a little margin for spacing */
}

/* =============================================================================
    Links
    ========================================================================= */
a {
  -webkit-transition: all 0.2s linear;
  /* Android 2.1 - 4.3, Blackberry 7+ */
  transition: all 0.2s linear;
  color: #3381af;
  text-decoration: none;
}
a:hover {
  color: #276488;
}

/* Images =================================================================== */
/* =============================================================================
    Images
    ========================================================================= */
img {
  height: auto;
  max-width: 100%;
}

.img--right {
  float: right;
  margin-bottom: 16px;
  margin-left: 16px;
}

.img--left {
  float: left;
  margin-right: 16px;
  margin-bottom: 16px;
}

.img--center {
  display: block;
  margin: 0 auto 16px;
}

/* Tables =================================================================== */
/* =============================================================================
    Tables
    ========================================================================= */
table {
  max-width: 100%;
  width: 100%;
}
table th, table td {
  padding: 8px;
  text-align: left;
  vertical-align: top;
}
table th {
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  font-weight: 700;
}
table td {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
table thead th {
  vertical-align: bottom;
}
table thead {
  font-size: 14px;
  font-size: 0.875rem;
}
table tbody {
  font-size: 13px;
  font-size: 0.8125rem;
}

.table--striped tbody tr:nth-child(odd) td,
.table--striped tbody tr:nth-child(odd) th {
  background-color: rgba(0, 0, 0, 0.04);
}
.table--striped tbody tr:hover td,
.table--striped tbody tr:hover th {
  background-color: rgba(0, 0, 0, 0.08);
}

.table--bordered {
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-collapse: separate;
  *border-collapse: collapse;
  border-left: 0;
  border-radius: 4px;
}
.table--bordered th, .table--bordered td {
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}
.table--bordered thead:first-child tr:first-child th,
.table--bordered tbody:first-child tr:first-child th,
.table--bordered tbody:first-child tr:first-child td {
  border-top: 0;
}
.table--bordered thead:first-child tr:first-child th:first-child,
.table--bordered tbody:first-child tr:first-child td:first-child {
  border-radius: 4px 0 0 0;
}
.table--bordered thead:first-child tr:first-child th:last-child,
.table--bordered tbody:first-child tr:first-child td:last-child {
  border-radius: 0 4px 0 0;
}
.table--bordered thead:last-child tr:last-child th:first-child,
.table--bordered tbody:last-child tr:last-child td:first-child,
.table--bordered tfoot:last-child tr:last-child td:first-child {
  border-radius: 0 0 0 4px;
}
.table--bordered thead:last-child tr:last-child th:last-child,
.table--bordered tbody:last-child tr:last-child td:last-child,
.table--bordered tfoot:last-child tr:last-child td:last-child {
  border-radius: 0 0 4px 0;
}

/* Forms ==================================================================== */
/* =============================================================================
    Forms - Base
    ========================================================================= */
form header {
  border-bottom: 1px solid #dddddd;
  margin-bottom: 16px;
}

.field {
  margin-bottom: 16px;
}

label,
input,
button,
select,
textarea {
  font-size: 13px;
  font-size: 0.8125rem;
}

label {
  cursor: pointer;
}

select,
textarea,
input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"] {
  display: inline-block;
  padding: 4px 6px;
}

input[type="file"],
input[type="range"] {
  display: block;
}

@media (min-width: 47.5em) {
  input[type="range"] {
    width: 100%;
  }
}

input,
select,
textarea {
  width: 100%;
}
@media (min-width: 47.5em) {
  input,
  select,
  textarea {
    width: 220px;
  }
}

select,
textarea,
input[type="text"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"] {
  background-color: white;
  border: 1px solid #dddddd;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: all 0.2s linear;
  /* Android 2.1 - 4.3, Blackberry 7+ */
  transition: all 0.2s linear;
}
select:focus,
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus {
  border-color: #52a8ec;
  border-color: rgba(82, 168, 236, 0.8);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
  outline: 0;
  outline: thin dotted \9;
  /* IE6-9 */
}

input[type="radio"],
input[type="checkbox"] {
  cursor: pointer;
  line-height: normal;
  margin-top: 1px \9;
  /* IE8-9 */
}

input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
  width: auto;
}

select[multiple],
select[size] {
  height: auto;
}

.actions {
  margin-bottom: 16px;
}
@media (min-width: 47.5em) {
  .actions {
    padding-left: 194px;
  }
}

.field--radio .input label,
.field--checkbox-list .input label,
.field--radio-list .input label {
  margin: 0 5px 0 8px;
  text-align: left;
  width: auto;
}
.field--radio .input label:first-child,
.field--checkbox-list .input label:first-child,
.field--radio-list .input label:first-child {
  margin-left: 0;
}

@media (min-width: 47.5em) {
  .form--horizontal label {
    display: inline-block;
    line-height: 28px;
    line-height: 1.75rem;
    margin-right: 10px;
    vertical-align: top;
    width: 180px;
  }
  .form--horizontal label .input {
    display: inline-block;
  }
}
@media (min-width: 60em) {
  .form--horizontal label {
    text-align: right;
  }
}

input[placeholder] {
  text-overflow: ellipsis;
}

::-moz-placeholder {
  text-overflow: ellipsis;
}

input:-moz-placeholder {
  text-overflow: ellipsis;
}

/* Base grid structure ====================================================== */
/* =============================================================================
    Grid - Small screens and up
    ========================================================================= */
.wrapper {
  margin: auto;
  padding: 0 16px;
}
@media (min-width: 60em) {
  .wrapper {
    max-width: 980px;
    min-width: 960px;
    width: 85%;
  }
}

[class*="mob-"] {
  display: block;
  float: left;
  margin-left: 3.125%;
}

[class*="mob-"]:first-child,
.alpha,
.mob-4 {
  clear: left;
  margin-left: 0;
}

.mob-4 {
  float: none;
  width: 100%;
}

.mob-3 {
  width: 74.21875%;
}

.mob-2 {
  width: 48.4375%;
}

.mob-1 {
  width: 22.65625%;
}

@media (min-width: 47.5em) {
  /* =============================================================================
      Grid - Portrait tablets devices and up
      ========================================================================= */
  [class*="tab-"] {
    display: block;
    float: left;
    margin-left: 3.125%;
  }

  [class*="tab-"]:first-child,
  .alpha,
  .tab-6 {
    clear: left;
    margin-left: 0;
  }

  .tab-6 {
    float: none;
    width: 100%;
  }

  .tab-5 {
    width: 82.8125%;
  }

  .tab-4 {
    width: 65.625%;
  }

  .tab-3 {
    width: 48.4375%;
  }

  .tab-2 {
    width: 31.25%;
  }

  .tab-1 {
    width: 14.0625%;
  }
}
@media (min-width: 60em) {
  /* =============================================================================
      Grid - Landscape tablets, small desktop/laptops and up
      ========================================================================= */
  [class*="dts-"] {
    display: block;
    float: left;
    margin-left: 3.125%;
  }

  [class*="dts-"]:first-child,
  .alpha,
  .dts-12 {
    clear: left;
    margin-left: 0;
  }

  .dts-12 {
    float: none;
    width: 100%;
  }

  .dts-11 {
    width: 91.40625%;
  }

  .dts-10 {
    width: 82.8125%;
  }

  .dts-9 {
    width: 74.21875%;
  }

  .dts-8 {
    width: 65.625%;
  }

  .dts-7 {
    width: 57.03125%;
  }

  .dts-6 {
    width: 48.4375%;
  }

  .dts-5 {
    width: 39.84375%;
  }

  .dts-4 {
    width: 31.25%;
  }

  .dts-3 {
    width: 22.65625%;
  }

  .dts-2 {
    width: 14.0625%;
  }

  .dts-1 {
    width: 5.46875%;
  }
}
@media (min-width: 86.375em) {
  /* =============================================================================
      Grid - Large Desktops
      ========================================================================= */
  [class*="dtl-"] {
    display: block;
    float: left;
    margin-left: 3.125%;
  }

  [class*="dtl-"]:first-child,
  .alpha,
  .dtl-16 {
    clear: left;
    margin-left: 0;
  }

  .dtl-16 {
    float: none;
    width: 100%;
  }

  .dtl-15 {
    width: 93.55469%;
  }

  .dtl-14 {
    width: 87.10938%;
  }

  .dtl-13 {
    width: 80.66406%;
  }

  .dtl-12 {
    width: 74.21875%;
  }

  .dtl-11 {
    width: 67.77344%;
  }

  .dtl-10 {
    width: 61.32813%;
  }

  .dtl-9 {
    width: 54.88281%;
  }

  .dtl-8 {
    width: 48.4375%;
  }

  .dtl-7 {
    width: 41.99219%;
  }

  .dtl-6 {
    width: 35.54688%;
  }

  .dtl-5 {
    width: 29.10156%;
  }

  .dtl-4 {
    width: 22.65625%;
  }

  .dtl-3 {
    width: 16.21094%;
  }

  .dtl-2 {
    width: 9.76563%;
  }

  .dtl-1 {
    width: 3.32031%;
  }
}
/* =============================================================================
    Theming - Modules
    ========================================================================= */
/* Primary ================================================================== */
/* =============================================================================
    Header
    ========================================================================= */
[role="banner"] {
  background: #3381af;
  margin-bottom: 32px;
  padding: 1em;
}

.header-area {
  padding-top: 10px;
  margin-bottom: 10px;
}
@media (min-width: 47.5em) {
  .header-area {
    margin-bottom: 30px;
  }
  .header-area:after {
    content: '';
    display: block;
    background-image: url("/assets/images/large-brand-colour-border.jpg");
    height: 4px;
  }
}
.header-area .logo:after {
  content: '';
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
  background-image: url("/assets/images/small-brand-colour-border.jpg");
  background-repeat: no-repeat;
  background-size: 100%;
  height: 4px;
}
@media (min-width: 47.5em) {
  .header-area .logo {
    margin-bottom: 29px;
    float: left;
  }
  .header-area .logo:after {
    display: none;
  }
}
.header-area .logo a {
  display: block;
}

.visit-our-store-btn {
  margin-bottom: 10px;
}
.visit-our-store-btn a {
  width: 100%;
}
@media (min-width: 47.5em) {
  .visit-our-store-btn {
    position: absolute;
    top: 34px;
    right: 16px;
  }
  .visit-our-store-btn a {
    width: auto;
  }
}

.page-title {
  border-bottom: 1px dotted #ccc;
  margin-bottom: 20px;
}
.page-title h1 {
  font-size: 26px;
  font-size: 1.625rem;
}
@media (min-width: 60em) {
  .page-title h1 {
    font-size: 30px;
    font-size: 1.875rem;
  }
}

/* =============================================================================
    Navigation
    ========================================================================= */
.menu-trigger {
  font-size: 30px;
  font-size: 1.875rem;
  color: #FFF;
  height: 56px;
  line-height: 56px;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 56px;
  z-index: 10;
}
@media (min-width: 47.5em) {
  .menu-trigger {
    display: none;
  }
}

.nav {
  -webkit-transition: all 0.2s linear;
  /* Android 2.1 - 4.3, Blackberry 7+ */
  transition: all 0.2s linear;
  background: rgba(40, 40, 40, 0.95);
  height: 56px;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  width: 56px;
}
@media (min-width: 47.5em) {
  .nav li {
    display: inline;
    margin-left: 2em;
  }
}
.nav a {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
}
@media (min-width: 47.5em) {
  .nav a {
    color: #FFF;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
    opacity: 1;
  }
}
.active + .nav {
  height: 100%;
  width: 100%;
}
.active + .nav a {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}
@media (min-width: 47.5em) {
  .nav {
    background: none;
    float: right;
    height: auto;
    position: relative;
    overflow: hidden;
    width: auto;
  }
}

.store-image-and-address {
  position: relative;
  min-height: 400px;
  padding-bottom: 20px;
  border-bottom: 1px dotted #ccc;
  margin-bottom: 20px;
}
.store-image-and-address h2 {
  font-size: 18px;
  font-size: 1.125rem;
}
.store-image-and-address h3 {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: normal;
}
.store-image-and-address .right-aligned-content .btn:last-of-type {
  display: none;
}
@media (min-width: 47.5em) {
  .store-image-and-address .right-aligned-content {
    float: right;
    width: 30%;
  }
}
.store-image-and-address .store-address br {
  display: none;
}
@media (min-width: 47.5em) {
  .store-image-and-address .store-address br {
    display: block;
  }
}
.store-image-and-address .store-phone {
  display: block;
  margin: 0 0 10px;
}
@media (min-width: 47.5em) {
  .store-image-and-address .store-phone {
    display: inline-block !important;
    background: transparent;
    color: #333;
    padding: 0;
    margin: 0 0 20px;
    cursor: default;
  }
  .store-image-and-address .store-phone:hover {
    background: transparent;
    color: #333;
  }
}
@media (min-width: 47.5em) {
  .store-image-and-address .left-absolute {
    position: absolute;
    left: 0;
    top: 0;
    right: 35%;
  }
}
@media (min-width: 60em) {
  .store-image-and-address .left-absolute {
    right: 40%;
  }
}
.store-image-and-address .left-absolute img {
  width: 100%;
  padding-bottom: 20px;
  border-bottom: 1px dotted #ccc;
  margin-bottom: 9px;
}
@media (min-width: 47.5em) {
  .store-image-and-address .left-absolute img {
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 0;
  }
}
.store-image-and-address .mobile-only {
  display: block;
  margin-bottom: 10px;
}
@media (min-width: 47.5em) {
  .store-image-and-address .mobile-only {
    display: none;
  }
}
.store-image-and-address .opening-hours-table {
  border-collapse: collapse;
  width: auto;
  margin-bottom: 0;
}
.store-image-and-address .opening-hours-table td {
  padding: 0 20px 0 0;
  border-bottom: none;
}

.map-and-directions {
  padding-bottom: 20px;
  border-bottom: 1px dotted #ccc;
  margin-bottom: 20px;
}
.map-and-directions h2 {
  font-size: 18px;
  font-size: 1.125rem;
}
.map-and-directions h3 {
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 0;
}
.map-and-directions .left-aligned-content img {
  padding-bottom: 20px;
  border-bottom: 1px dotted #ccc;
  margin-bottom: 20px;
}
@media (min-width: 47.5em) {
  .map-and-directions .left-aligned-content {
    display: block;
    float: left;
    width: 60%;
  }
  .map-and-directions .left-aligned-content img {
    padding: 0;
    border: none;
    margin-bottom: 0;
  }
}
@media (min-width: 47.5em) {
  .map-and-directions .right-aligned-content {
    float: right;
    width: 30%;
  }
}

.store-and-services h2 {
  font-size: 18px;
  font-size: 1.125rem;
}
@media (min-width: 47.5em) {
  .store-and-services .col {
    float: right;
    width: 31.25%;
    margin-right: 3.125%;
  }
  .store-and-services .col:first-child {
    margin-right: 0;
  }
}

.secure-payt-text {
  padding-bottom: 10px;
  border-bottom: 1px dotted #ccc;
  margin-bottom: 20px;
}
@media (min-width: 47.5em) {
  .secure-payt-text {
    text-align: center;
  }
}
.secure-payt-text p {
  font-size: 13px;
  font-size: 0.8125rem;
}

.footer-card-logos {
  display: block;
  text-align: center;
}

.copyright-text {
  text-align: center;
}
.copyright-text p {
  font-size: 13px;
  font-size: 0.8125rem;
}

/* =============================================================================
    Footer
    ========================================================================= */
.footer {
  background: #3381af;
  clear: both;
  color: #FFF;
  margin: 16px -16px 0;
  padding: 16px;
}

footer {
  padding-bottom: 70px;
}

/* Secondary ================================================================ */
/* =============================================================================
    Breadcrumbs
    ========================================================================= */
.breadcrumb li {
  display: inline;
}
.breadcrumb li + li:before {
  content: "\00BB ";
}

.breadcrumb--path li {
  display: inline;
}
.breadcrumb--path li + li:before {
  content: "/ ";
}

/* =============================================================================
    Buttons
    ========================================================================= */
.btn,
button {
  -webkit-transition: all 0.2s linear;
  /* Android 2.1 - 4.3, Blackberry 7+ */
  transition: all 0.2s linear;
  background-color: #03aa8c;
  border: 0;
  color: #FFF;
  cursor: pointer;
  display: inline-block;
  line-height: 1;
  padding: 8px 16px;
  text-align: center;
  text-decoration: none;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
}
.btn:hover,
button:hover {
  background-color: #f68b22;
  color: #FFF;
}

.btn-alt {
  background-color: #3381af;
}
.btn-alt:hover {
  background-color: #3990c3;
  color: #FFF;
}

.btn--lrg {
  font-size: 18px;
  font-size: 1.125rem;
}

.btn--sml {
  font-size: 12px;
  font-size: 0.75rem;
}

.btn--full {
  display: block;
}

.btn--arrowed {
  text-shadow: none;
  position: relative;
}
.btn--arrowed:after {
  content: "\e602";
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 20px;
  font-size: 1.25rem;
  vertical-align: text-bottom;
  color: #fff;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -10px;
}
@media (min-width: 47.5em) {
  .btn--arrowed:after {
    position: relative;
    margin-top: 0;
  }
}

.btn--pink {
  background-color: #fb2c7c;
}

.btn--blue {
  background-color: #36b2f5;
}

/* =============================================================================
    Message Alerts
    ========================================================================= */
.alert {
  font-size: 14px;
  font-size: 0.875rem;
  background: #fcedd0;
  border-radius: 4px;
  border: 1px solid #fae4b8;
  color: #d7940f;
  margin-bottom: 16px;
  padding: 8px;
}
.alert button {
  font-size: 20px;
  font-size: 1.25rem;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
  opacity: 0.4;
  background: none;
  border: none;
  color: #d7940f;
  cursor: pointer;
  float: right;
  font-weight: 700;
  padding: 0;
}
.alert button:hover {
  opacity: 0.75;
}

.alert--error {
  background: #f8cad0;
  border-color: #f29da8;
  color: #ac172a;
}
.alert--error button {
  color: #ac172a;
}

.alert--success {
  background: #bfe2b6;
  border-color: #9fd392;
  color: #396d2c;
}
.alert--success button {
  color: #396d2c;
}

.alert--information {
  background: #99d1ed;
  border-color: #6ebde5;
  color: #1c729e;
}
.alert--information button {
  color: #1c729e;
}

/* =============================================================================
    Pagination
    ========================================================================= */
.pagination li {
  display: inline;
}
.pagination a {
  border: 1px solid #CCC;
  border-width: 1px 1px 1px 0;
  float: left;
  padding: 2px 10px;
}
.pagination a:hover {
  background: #EEE;
}
.pagination li:first-child a {
  border-radius: 4px 0 0 4px;
  border-width: 1px;
}
.pagination li:last-child a {
  border-radius: 0 4px 4px 0;
}

/* =============================================================================
	Sprite
	========================================================================= */
.icn {
  background-image: url(/assets/images/sprite.png);
  background-repeat: no-repeat;
  height: 32px;
  width: 32px;
}

.icn {
  display: inline-block;
}

.icn--flight {
  background-position: 0px 0px;
}

/* =============================================================================
    Tabs
    ========================================================================= */
.tabs {
  margin-bottom: 16px;
}
.tabs > ul {
  margin: 0;
  padding: 0;
}
.tabs > ul li {
  border: 1px solid #CCC;
  display: inline-block;
  list-style: none;
}
.tabs > ul li.active {
  border-bottom-color: #FFF;
}
.tabs > ul a {
  display: block;
  padding: 8px;
}
.tabs > div {
  border: 1px solid #CCC;
  margin-top: -1px;
  padding: 16px;
}

.tabs--full-width > ul {
  display: table;
  position: relative;
  width: 100%;
  z-index: 1;
}
.tabs--full-width > ul li {
  display: table-cell;
  text-align: center;
  margin-left: 8px;
}
.tabs--full-width > ul li:first-child {
  margin-left: 0;
}

.cta-30-minutes {
  margin-top: 40px;
  margin-bottom: 40px;
}
.cta-30-minutes a {
  color: #fff;
  font-size: 20px;
  font-size: 1.25rem;
  background-color: #000;
  text-align: center;
  padding: 20px 70px;
  display: block;
  position: relative;
}
.cta-30-minutes a:before {
  content: '';
  width: 51px;
  height: 52px;
  background-image: url("/assets/images/30-mins.jpg");
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -26px;
  left: 10px;
}
.cta-30-minutes a:after {
  content: "\e602";
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 40px;
  font-size: 2.5rem;
  vertical-align: text-bottom;
  color: #fff;
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -20px;
}

/* Resolve issue in IE10 Windows 8 "Snap Mode" - http://goo.gl/BLXV7 ======== */
@-ms-viewport {
  width: device-width;
}
/* Print specific stylesheet ================================================ */
/* =============================================================================
   Print Styles
   ========================================================================== */
@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: #000 !important;
    /* Black prints faster: h5bp.com/s */
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  .ir a:after, .icn a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
    /* h5bp.com/t */
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 0.5cm;
  }
  p {
    font-size: 12pt;
    line-height: 1.25em;
  }

  h1 {
    font-size: 36pt;
    line-height: 1.25em;
  }

  h2 {
    font-size: 24pt;
    line-height: 1.25em;
  }

  h3 {
    font-size: 18pt;
    line-height: 1.25em;
  }

  h4 {
    font-size: 14pt;
    line-height: 1.25em;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}
