﻿@charset "UTF-8";
/*------------------------------------*    #SETUP
\*------------------------------------*/
/**
 * Settings, variables and tools.
 */
/* ------------------------------------*#MIXINS
\*------------------------------------ */
.animation__slide-in-from-top.ng-enter, .ng-enter.step__substep {
  -webkit-animation: slide-in-from-top 0.1s linear both;
          animation: slide-in-from-top 0.1s linear both; }

.animation__slide-out-to-top.ng-leave {
  -webkit-animation: slide-out-to-top 0.1s linear both;
          animation: slide-out-to-top 0.1s linear both; }

.animation__slide-in-from-right.ng-enter, .ng-enter.step, .ng-enter.summary {
  -webkit-animation: slide-in-from-right 0.2s linear both;
          animation: slide-in-from-right 0.2s linear both; }

.animation__slide-out-to-right.ng-leave {
  -webkit-animation: slide-out-to-right 0.1s linear both;
          animation: slide-out-to-right 0.1s linear both; }

.animation__slide-in-from-bottom.ng-enter, .ng-enter.nav-steps {
  -webkit-animation: slide-in-from-bottom 0.1s linear both;
          animation: slide-in-from-bottom 0.1s linear both; }

.animation__slide-out-to-bottom.ng-leave {
  -webkit-animation: slide-out-to-bottom 0.1s linear both;
          animation: slide-out-to-bottom 0.1s linear both; }

.animation__slide-in-from-left.ng-enter, .ng-enter.step--reverse {
  -webkit-animation: slide-in-from-left 0.2s linear both;
          animation: slide-in-from-left 0.2s linear both; }

.animation__slide-out-to-left.ng-leave {
  -webkit-animation: slide-out-to-left 0.1s linear both;
          animation: slide-out-to-left 0.1s linear both; }

@-webkit-keyframes slide-in-from-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px); }
  50% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes slide-in-from-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px); }
  50% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes slide-in-from-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px);
            transform: translateX(400px); }
  50% {
    opacity: 0.8;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@keyframes slide-in-from-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px);
            transform: translateX(400px); }
  50% {
    opacity: 0.8;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@-webkit-keyframes slide-out-to-right {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  50% {
    opacity: 0.2;
    -webkit-transform: translateX(290px);
            transform: translateX(290px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(300px);
            transform: translateX(300px); } }

@keyframes slide-out-to-right {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  50% {
    opacity: 0.2;
    -webkit-transform: translateX(290px);
            transform: translateX(290px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(300px);
            transform: translateX(300px); } }

@-webkit-keyframes slide-in-from-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px); }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes slide-in-from-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px); }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes slide-out-to-bottom {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  50% {
    -webkit-transform: translateY(90px);
            transform: translateY(90px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px); } }

@keyframes slide-out-to-bottom {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); }
  50% {
    -webkit-transform: translateY(90px);
            transform: translateY(90px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px); } }

@-webkit-keyframes slide-in-from-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px);
            transform: translateX(-400px); }
  50% {
    opacity: 0.8;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@keyframes slide-in-from-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px);
            transform: translateX(-400px); }
  50% {
    opacity: 0.8;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

@-webkit-keyframes slide-out-to-left {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  50% {
    opacity: 0.2;
    -webkit-transform: translateX(-290px);
            transform: translateX(-290px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-300px);
            transform: translateX(-300px); } }

@keyframes slide-out-to-left {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  50% {
    opacity: 0.2;
    -webkit-transform: translateX(-290px);
            transform: translateX(-290px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-300px);
            transform: translateX(-300px); } }

/* //slide-in-from-left
0.00% { transform: matrix3d(0.75, 0, 0, 0, 0, 0.75, 0, 0, 0, 0, 1, 0, -300, 0, 1, 1); }
	6.67% { transform: matrix3d(0.922, 0, 0, 0, 0, 0.922, 0, 0, 0, 0, 1, 0, -93.757, 0, 1, 1); }
	13.33% { transform: matrix3d(0.988, 0, 0, 0, 0, 0.988, 0, 0, 0, 0, 1, 0, -14.238, 0, 1, 1); }
	20.00% { transform: matrix3d(1.004, 0, 0, 0, 0, 1.004, 0, 0, 0, 0, 1, 0, 5.121, 0, 1, 1); }
	26.67% { transform: matrix3d(1.004, 0, 0, 0, 0, 1.004, 0, 0, 0, 0, 1, 0, 5.132, 0, 1, 1); }
	33.33% { transform: matrix3d(1.002, 0, 0, 0, 0, 1.002, 0, 0, 0, 0, 1, 0, 2.451, 0, 1, 1); }
	40.00% { transform: matrix3d(1.001, 0, 0, 0, 0, 1.001, 0, 0, 0, 0, 1, 0, 0.741, 0, 1, 1); }
	46.67% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.111, 0, 1, 1); }
	53.33% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.04, 0, 1, 1); }
	60.00% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.041, 0, 1, 1); }
	66.67% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.019, 0, 1, 1); }
	73.33% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.006, 0, 1, 1); }
	80.00% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.001, 0, 1, 1); }
	86.67% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1); }
	93.33% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1); }
	100.00% { transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1); }
*/
/*------------------------------------*    #COLOR
\*------------------------------------*/
/*------------------------------------*    @font-face
\*------------------------------------*/
@font-face {
  font-family: "Frutiger LTW01";
  src: url("../fonts/e5b1a25e-0d2b-4aec-8672-da21553f205d.eot?#iefix");
  src: url("../fonts/e5b1a25e-0d2b-4aec-8672-da21553f205d.eot?#iefix") format("eot"), url("../fonts/e59898b4-93a8-4df7-885a-7806f9f0604d.woff") format("woff"), url("../fonts/85928e7e-2ace-4f1d-be54-b11c333a8d97.ttf") format("truetype"), url("../fonts/89390d0d-7a62-493d-9e77-9c162a709520.svg#89390d0d-7a62-493d-9e77-9c162a709520") format("svg"); }

@font-face {
  font-family: "Frutiger LTW01";
  src: url("../fonts/8ffa1144-4066-4dd8-950c-da8d355d4ab2.eot?#iefix");
  src: url("../fonts/8ffa1144-4066-4dd8-950c-da8d355d4ab2.eot?#iefix") format("eot"), url("../fonts/37f83f2e-feaa-4d2c-9993-2771ab1f3e87.woff") format("woff"), url("../fonts/b319582c-cdad-4301-9f65-3907fb8b508d.ttf") format("truetype"), url("../fonts/427db4f2-4863-482e-bdaf-da48a03e52c9.svg#427db4f2-4863-482e-bdaf-da48a03e52c9") format("svg");
  font-weight: 500; }

@font-face {
  font-family: "Frutiger LTW01";
  src: url("../fonts/a3a15351-8e3c-4c29-82e6-15b106c2181f.eot?#iefix");
  src: url("../fonts/a3a15351-8e3c-4c29-82e6-15b106c2181f.eot?#iefix") format("eot"), url("../fonts/f1f95a55-f0c6-4fb5-8939-b93160b7a751.woff") format("woff"), url("../fonts/032fd83c-fe79-47fa-9dda-0a3f03bd0506.ttf") format("truetype"), url("../fonts/17f04727-b70e-460f-8b5c-c8cd21771240.svg#17f04727-b70e-460f-8b5c-c8cd21771240") format("svg");
  font-weight: bold; }

@font-face {
  font-family: "Carre Noir W01";
  src: url("../fonts/e7190978-d3b9-4e93-95ae-75c3f3eaabec.eot?#iefix");
  src: url("../fonts/e7190978-d3b9-4e93-95ae-75c3f3eaabec.eot?#iefix") format("eot"), url("../fonts/36d10e21-9077-4a1f-a1c4-21681060f560.woff") format("woff"), url("../fonts/a8024a8f-adb8-4625-a985-5a9de3214306.ttf") format("truetype"), url("../fonts/1cb6f055-b115-4f72-a434-74e9dc1d8df4.svg#1cb6f055-b115-4f72-a434-74e9dc1d8df4") format("svg");
  font-style: italic, oblique;
  font-weight: bold; }

@font-face {
  font-family: "Carre Noir W01";
  src: url("../fonts/94888a53-5dd6-4929-82fc-9bb7516a9d54.eot?#iefix");
  src: url("../fonts/94888a53-5dd6-4929-82fc-9bb7516a9d54.eot?#iefix") format("eot"), url("../fonts/7e484db4-29b5-4fab-a0c1-9b6a6521df29.woff") format("woff"), url("../fonts/0c247f43-f290-44b2-8c7e-9fe74734c69a.ttf") format("truetype"), url("../fonts/96d9b93c-45da-47f9-9caf-a2a48115858a.svg#96d9b93c-45da-47f9-9caf-a2a48115858a") format("svg");
  font-weight: bold; }

@font-face {
  font-family: "Carre Noir W01";
  src: url("../fonts/7da6f320-aa7d-4cf4-a60c-404ff2bd8e26.eot?#iefix");
  src: url("../fonts/7da6f320-aa7d-4cf4-a60c-404ff2bd8e26.eot?#iefix") format("eot"), url("../fonts/367c65c5-673d-4cb7-869d-5600d2cf40b9.woff") format("woff"), url("../fonts/5f2741db-3bde-45ef-a1f8-0ca1db8eaf46.ttf") format("truetype"), url("../fonts/b310ad27-f4f1-48bd-8deb-13274127ecef.svg#b310ad27-f4f1-48bd-8deb-13274127ecef") format("svg");
  font-style: italic, oblique; }

@font-face {
  font-family: "Carre Noir W01";
  src: url("../fonts/0bb12200-0878-4600-89e1-25cf9cf501bc.eot?#iefix");
  src: url("../fonts/0bb12200-0878-4600-89e1-25cf9cf501bc.eot?#iefix") format("eot"), url("../fonts/5d3da851-f378-46aa-811c-aa4922a943b9.woff") format("woff"), url("../fonts/9360b289-3072-4b92-a237-67c7fc7a1417.ttf") format("truetype"), url("../fonts/b9c2855e-ecd1-4a58-a42d-a09cd2668f89.svg#b9c2855e-ecd1-4a58-a42d-a09cd2668f89") format("svg"); }

/*------------------------------------*    $font-type
\*------------------------------------*/
/*------------------------------------*    $font-size
\*------------------------------------*/
/**
 * Font-sizes (in pixels). Refer to relevant sections for their implementations.
 */
/*------------------------------------*    $font-weight
\*------------------------------------*/
/*------------------------------------*    #VARS
\*------------------------------------*/
/**
 * Generic, non-specific variables.
 */
/*------------------------------------*    #GENERIC
\*------------------------------------*/
/**
 * These are far reaching styles that affect and underpin every element on the
 * page, e.g. `* {}`.
 */
/*------------------------------------*    $RESET
\*------------------------------------*/
/**
 * A more considered reset; more of a restart...
 * As per: csswizardry.com/2011/10/reset-restarted
 */
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important; }

/**
 * Let’s make the box model all nice, shall we…?
 */
*,
*:before,
*:after {
  -moz-box-sizing: border-box;
       box-sizing: border-box; }

/**
 * The usual...
 */
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
dl, dd, ol, ul,
form, fieldset, legend,
table, th, td, caption,
hr,
figure {
  margin: 0;
  padding: 0; }

/**
 * Give a help cursor to elements that give extra info on `:hover`.
 */
abbr[title], dfn[title] {
  cursor: help; }

/**
 * Remove underlines from potentially troublesome elements.
 */
a, u, ins {
  text-decoration: none; }

/**
 * Apply faux underline via `border-bottom`.
 */
ins {
  border-bottom: 1px solid; }

/**
 * So that `alt` text is visually offset if images don’t load.
 */
img {
  font-style: italic; }

/**
 * So that we don't have to reset this all the time. We would rather add list-style when wanted than hide it every time.
 */
li {
  list-style: none; }

img {
  max-width: 100%; }

/*! normalize.css v2.0.1 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/*
 * Corrects `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block; }

/*
 * Corrects `inline-block` display not defined in IE 8/9.
 */
audio,
canvas,
video {
  display: inline-block; }

/*
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/*
 * Addresses styling for `hidden` attribute not present in IE 8/9.
 */
[hidden] {
  display: none; }

/* ==========================================================================
   Base
   ========================================================================== */
/*
 * 1. Sets default font family to sans-serif.
 * 2. Prevents iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */ }

/*
 * Removes default margin.
 */
body {
  margin: 0; }

/* ==========================================================================
   Links
   ========================================================================== */
/*
 * Addresses `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted; }

/*
 * Improves readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* ==========================================================================
   Typography
   ========================================================================== */
/*
 * Addresses `h1` font sizes within `section` and `article` in Firefox 4+,
 * Safari 5, and Chrome.
 */
/*
 * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/*
 * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/*
 * Addresses styling not present in Safari 5 and Chrome.
 */
dfn {
  font-style: italic; }

/*
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/*
 * Corrects font family set oddly in Safari 5 and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, serif; }

/*
 * Improves readability of pre-formatted text in all browsers.
 */
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

/*
 * Sets consistent quote types.
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

/*
 * Addresses inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/*
 * Prevents `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
   ========================================================================== */
/*
 * Removes border when inside `a` element in IE 8/9.
 */
img {
  border: 0; }

/*
 * Corrects overflow displayed oddly in IE 9.
 */
svg:not(:root) {
  overflow: hidden; }

/* ==========================================================================
   Figures
   ========================================================================== */
/*
 * Addresses margin not present in IE 8/9 and Safari 5.
 */
figure {
  margin: 0; }

/* ==========================================================================
   Forms
   ========================================================================== */
/*
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/*
 * 1. Corrects color not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/*
 * 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
 */
button,
input,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
  margin: 0;
  /* 3 */ }

/*
 * Addresses Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
  outline: none; }

/*
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves 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],
input[disabled] {
  cursor: default; }

/*
 * 1. Addresses box sizing set to `content-box` in IE 8/9.
 * 2. Removes excess padding in IE 8/9.
 */
input[type="checkbox"],
input[type="radio"] {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/*
 * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box; }

/*
 * Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/*
 * Removes inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/*
 * 1. Removes default vertical scrollbar in IE 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; }

/*------------------------------------*    #CLEARFIX
\*------------------------------------*/
/**
 * Micro clearfix, as per: nicolasgallagher.com/micro-clearfix-hack
 * Extend the clearfix class with Sass to avoid the `.clearfix` class appearing over
 * and over in your markup.
 */
.clearfix, .grid, code, form, .list-definitions, .list-definitions li, .content, .list-buttons, .module, .nav-breadcrumbs, .nav-breadcrumbs__list, .page__header, .page__body, .site-header, .steps, .step__substep, .step--login, .step--login__input, .summary__item, .summary-email, .summary-price, .collapsible {
  zoom: 1; }
  .clearfix:before,
  .grid:before,
  code:before,
  form:before,
  .list-definitions:before,
  .list-definitions li:before,
  .content:before,
  .list-buttons:before,
  .module:before,
  .nav-breadcrumbs:before,
  .nav-breadcrumbs__list:before,
  .page__header:before,
  .page__body:before,
  .site-header:before,
  .steps:before,
  .step__substep:before,
  .step--login:before,
  .step--login__input:before,
  .summary__item:before,
  .summary-email:before,
  .summary-price:before,
  .collapsible:before,
  .clearfix:after, .grid:after, code:after, form:after, .list-definitions:after, .list-definitions li:after, .content:after, .list-buttons:after, .module:after, .nav-breadcrumbs:after, .nav-breadcrumbs__list:after, .page__header:after, .page__body:after, .site-header:after, .steps:after, .step__substep:after, .step--login:after, .step--login__input:after, .summary__item:after, .summary-email:after, .summary-price:after, .collapsible:after {
    content: " ";
    display: table; }
  .clearfix:after, .grid:after, code:after, form:after, .list-definitions:after, .list-definitions li:after, .content:after, .list-buttons:after, .module:after, .nav-breadcrumbs:after, .nav-breadcrumbs__list:after, .page__header:after, .page__body:after, .site-header:after, .steps:after, .step__substep:after, .step--login:after, .step--login__input:after, .summary__item:after, .summary-email:after, .summary-price:after, .collapsible:after {
    clear: both; }

/*------------------------------------*    #BASE
\*------------------------------------*/
/**
 * These are base HTML elements, things with no classes on them, e.g. `h1 {}`,
 * `blockquote {}`.
 */
/*------------------------------------*    #LAYOUT
\*------------------------------------*/
/**
 * Usage: col-{1-12}
 */
.col-1 {
  float: left;
  position: relative;
  width: 8.33333%; }

.col-2 {
  float: left;
  position: relative;
  width: 16.66667%; }

.col-3 {
  float: left;
  position: relative;
  width: 25%; }

.col-4 {
  float: left;
  position: relative;
  width: 33.33333%; }

.col-5 {
  float: left;
  position: relative;
  width: 41.66667%; }

.col-6 {
  float: left;
  position: relative;
  width: 50%; }

.col-7 {
  float: left;
  position: relative;
  width: 58.33333%; }

.col-8 {
  float: left;
  position: relative;
  width: 66.66667%; }

.col-9 {
  float: left;
  position: relative;
  width: 75%; }

.col-10 {
  float: left;
  position: relative;
  width: 83.33333%; }

.col-11 {
  float: left;
  position: relative;
  width: 91.66667%; }

.col-12, .col-text-center, .col-overflow {
  float: left;
  position: relative;
  width: 100%; }

@media screen and (min-width: 640px) {
  .col-1--md {
    float: left;
    position: relative;
    width: 8.33333%;
    padding: 0 20px; }
  .col-2--md {
    float: left;
    position: relative;
    width: 16.66667%;
    padding: 0 20px; }
  .col-3--md {
    float: left;
    position: relative;
    width: 25%;
    padding: 0 20px; }
  .col-4--md {
    float: left;
    position: relative;
    width: 33.33333%;
    padding: 0 20px; }
  .col-5--md {
    float: left;
    position: relative;
    width: 41.66667%;
    padding: 0 20px; }
  .col-6--md {
    float: left;
    position: relative;
    width: 50%;
    padding: 0 20px; }
  .col-7--md {
    float: left;
    position: relative;
    width: 58.33333%;
    padding: 0 20px; }
  .col-8--md, .col-text-center {
    float: left;
    position: relative;
    width: 66.66667%;
    padding: 0 20px; }
  .col-9--md {
    float: left;
    position: relative;
    width: 75%;
    padding: 0 20px; }
  .col-10--md, .col-overflow {
    float: left;
    position: relative;
    width: 83.33333%;
    padding: 0 20px; }
  .col-11--md {
    float: left;
    position: relative;
    width: 91.66667%;
    padding: 0 20px; }
  .col-12--md {
    float: left;
    position: relative;
    width: 100%;
    padding: 0 20px; } }

@media screen and (min-width: 960px) {
  .col-1--lg {
    float: left;
    position: relative;
    width: 8.33333%;
    padding: 0 20px; }
  .col-2--lg {
    float: left;
    position: relative;
    width: 16.66667%;
    padding: 0 20px; }
  .col-3--lg {
    float: left;
    position: relative;
    width: 25%;
    padding: 0 20px; }
  .col-4--lg {
    float: left;
    position: relative;
    width: 33.33333%;
    padding: 0 20px; }
  .col-5--lg {
    float: left;
    position: relative;
    width: 41.66667%;
    padding: 0 20px; }
  .col-6--lg, .col-text-center {
    float: left;
    position: relative;
    width: 50%;
    padding: 0 20px; }
  .col-7--lg, .nav-steps {
    float: left;
    position: relative;
    width: 58.33333%;
    padding: 0 20px; }
  .col-8--lg, .col-overflow {
    float: left;
    position: relative;
    width: 66.66667%;
    padding: 0 20px; }
  .col-9--lg {
    float: left;
    position: relative;
    width: 75%;
    padding: 0 20px; }
  .col-10--lg {
    float: left;
    position: relative;
    width: 83.33333%;
    padding: 0 20px; }
  .col-11--lg {
    float: left;
    position: relative;
    width: 91.66667%;
    padding: 0 20px; }
  .col-12--lg {
    float: left;
    position: relative;
    width: 100%;
    padding: 0 20px; } }

@media screen and (min-width: 1100px) {
  .col-1--xl {
    float: left;
    position: relative;
    width: 8.33333%;
    padding: 0 20px; }
  .col-2--xl {
    float: left;
    position: relative;
    width: 16.66667%;
    padding: 0 20px; }
  .col-3--xl {
    float: left;
    position: relative;
    width: 25%;
    padding: 0 20px; }
  .col-4--xl {
    float: left;
    position: relative;
    width: 33.33333%;
    padding: 0 20px; }
  .col-5--xl {
    float: left;
    position: relative;
    width: 41.66667%;
    padding: 0 20px; }
  .col-6--xl {
    float: left;
    position: relative;
    width: 50%;
    padding: 0 20px; }
  .col-7--xl {
    float: left;
    position: relative;
    width: 58.33333%;
    padding: 0 20px; }
  .col-8--xl {
    float: left;
    position: relative;
    width: 66.66667%;
    padding: 0 20px; }
  .col-9--xl {
    float: left;
    position: relative;
    width: 75%;
    padding: 0 20px; }
  .col-10--xl {
    float: left;
    position: relative;
    width: 83.33333%;
    padding: 0 20px; }
  .col-11--xl {
    float: left;
    position: relative;
    width: 91.66667%;
    padding: 0 20px; }
  .col-12--xl {
    float: left;
    position: relative;
    width: 100%;
    padding: 0 20px; } }

/*------------------------------------*    push (indent left side)
\*------------------------------------*/
/**
 * Usage: col-push-{1-11}
 */
.col-push-0 {
  margin-left: 0%; }

.col-push-1 {
  margin-left: 8.33333%; }

.col-push-2 {
  margin-left: 16.66667%; }

.col-push-3 {
  margin-left: 25%; }

.col-push-4 {
  margin-left: 33.33333%; }

.col-push-5 {
  margin-left: 41.66667%; }

.col-push-6 {
  margin-left: 50%; }

.col-push-7 {
  margin-left: 58.33333%; }

.col-push-8 {
  margin-left: 66.66667%; }

.col-push-9 {
  margin-left: 75%; }

.col-push-10 {
  margin-left: 83.33333%; }

.col-push-11 {
  margin-left: 91.66667%; }

@media screen and (min-width: 640px) {
  .col-push-0--md {
    margin-left: 0%; }
  .col-push-1--md, .col-overflow {
    margin-left: 8.33333%; }
  .col-push-2--md, .col-text-center {
    margin-left: 16.66667%; }
  .col-push-3--md {
    margin-left: 25%; }
  .col-push-4--md {
    margin-left: 33.33333%; }
  .col-push-5--md {
    margin-left: 41.66667%; }
  .col-push-6--md {
    margin-left: 50%; }
  .col-push-7--md {
    margin-left: 58.33333%; }
  .col-push-8--md {
    margin-left: 66.66667%; }
  .col-push-9--md {
    margin-left: 75%; }
  .col-push-10--md {
    margin-left: 83.33333%; }
  .col-push-11--md {
    margin-left: 91.66667%; } }

@media screen and (min-width: 960px) {
  .col-push-0--lg, .nav-steps {
    margin-left: 0%; }
  .col-push-1--lg {
    margin-left: 8.33333%; }
  .col-push-2--lg, .col-overflow {
    margin-left: 16.66667%; }
  .col-push-3--lg, .col-text-center {
    margin-left: 25%; }
  .col-push-4--lg {
    margin-left: 33.33333%; }
  .col-push-5--lg {
    margin-left: 41.66667%; }
  .col-push-6--lg {
    margin-left: 50%; }
  .col-push-7--lg {
    margin-left: 58.33333%; }
  .col-push-8--lg {
    margin-left: 66.66667%; }
  .col-push-9--lg {
    margin-left: 75%; }
  .col-push-10--lg {
    margin-left: 83.33333%; }
  .col-push-11--lg {
    margin-left: 91.66667%; }
  .col-push-12--lg {
    margin-left: 100%; } }

@media screen and (min-width: 1100px) {
  .col-push-0--xl {
    margin-left: 0%; }
  .col-push-1--xl {
    margin-left: 8.33333%; }
  .col-push-2--xl {
    margin-left: 16.66667%; }
  .col-push-3--xl {
    margin-left: 25%; }
  .col-push-4--xl {
    margin-left: 33.33333%; }
  .col-push-5--xl {
    margin-left: 41.66667%; }
  .col-push-6--xl {
    margin-left: 50%; }
  .col-push-7--xl {
    margin-left: 58.33333%; }
  .col-push-8--xl {
    margin-left: 66.66667%; }
  .col-push-9--xl {
    margin-left: 75%; }
  .col-push-10--xl {
    margin-left: 83.33333%; }
  .col-push-11--xl {
    margin-left: 91.66667%; } }

/*------------------------------------*    pull (indent right side)
\*------------------------------------*/
/**
 * Usage: col-pull-{1-11}
 */
.col-pull-0 {
  margin-right: 0%; }

.col-pull-1 {
  margin-right: 8.33333%; }

.col-pull-2 {
  margin-right: 16.66667%; }

.col-pull-3 {
  margin-right: 25%; }

.col-pull-4 {
  margin-right: 33.33333%; }

.col-pull-5 {
  margin-right: 41.66667%; }

.col-pull-6 {
  margin-right: 50%; }

.col-pull-7 {
  margin-right: 58.33333%; }

.col-pull-8 {
  margin-right: 66.66667%; }

.col-pull-9 {
  margin-right: 75%; }

.col-pull-10 {
  margin-right: 83.33333%; }

.col-pull-11 {
  margin-right: 91.66667%; }

@media screen and (min-width: 640px) {
  .col-pull-0--md {
    margin-right: 0%; }
  .col-pull-1--md, .col-overflow {
    margin-right: 8.33333%; }
  .col-pull-2--md, .col-text-center {
    margin-right: 16.66667%; }
  .col-pull-3--md {
    margin-right: 25%; }
  .col-pull-4--md {
    margin-right: 33.33333%; }
  .col-pull-5--md {
    margin-right: 41.66667%; }
  .col-pull-6--md {
    margin-right: 50%; }
  .col-pull-7--md {
    margin-right: 58.33333%; }
  .col-pull-8--md {
    margin-right: 66.66667%; }
  .col-pull-9--md {
    margin-right: 75%; }
  .col-pull-10--md {
    margin-right: 83.33333%; }
  .col-pull-11--md {
    margin-right: 91.66667%; } }

@media screen and (min-width: 960px) {
  .col-pull-0--lg {
    margin-right: 0%; }
  .col-pull-1--lg {
    margin-right: 8.33333%; }
  .col-pull-2--lg, .col-overflow {
    margin-right: 16.66667%; }
  .col-pull-3--lg, .col-text-center {
    margin-right: 25%; }
  .col-pull-4--lg {
    margin-right: 33.33333%; }
  .col-pull-5--lg {
    margin-right: 41.66667%; }
  .col-pull-6--lg {
    margin-right: 50%; }
  .col-pull-7--lg {
    margin-right: 58.33333%; }
  .col-pull-8--lg {
    margin-right: 66.66667%; }
  .col-pull-9--lg {
    margin-right: 75%; }
  .col-pull-10--lg {
    margin-right: 83.33333%; }
  .col-pull-11--lg {
    margin-right: 91.66667%; }
  .col-pull-12--lg {
    margin-right: 100%; } }

@media screen and (min-width: 1100px) {
  .col-pull-0--xl {
    margin-right: 0%; }
  .col-pull-1--xl {
    margin-right: 8.33333%; }
  .col-pull-2--xl {
    margin-right: 16.66667%; }
  .col-pull-3--xl {
    margin-right: 25%; }
  .col-pull-4--xl {
    margin-right: 33.33333%; }
  .col-pull-5--xl {
    margin-right: 41.66667%; }
  .col-pull-6--xl {
    margin-right: 50%; }
  .col-pull-7--xl {
    margin-right: 58.33333%; }
  .col-pull-8--xl {
    margin-right: 66.66667%; }
  .col-pull-9--xl {
    margin-right: 75%; }
  .col-pull-10--xl {
    margin-right: 83.33333%; }
  .col-pull-11--xl {
    margin-right: 91.66667%; } }

/*
    Common column combinations:
*/
.col-full-window {
  width: 100%; }

.col-no-pad {
  padding: 0; }

.grid {
  position: relative;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px; }
  .grid--fluid {
    max-width: 100%; }

.grid-full-window {
  width: 100%; }

.button-toggle-grid-overlay {
  background-color: #b9b098;
  border-bottom-color: #787363;
  cursor: pointer;
  display: none;
  font-family: "Frutiger LTW01", sans-serif;
  padding: 4px 8px;
  position: fixed;
  bottom: 100px;
  right: 20px;
  text-transform: uppercase;
  z-index: 50; }

.grid-overlay {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 30;
  padding-top: 40px; }
  .grid-overlay.is-visible {
    display: block; }
  .grid-overlay .grid {
    margin-bottom: 20px; }
  .grid-overlay li {
    display: none; }
    @media screen and (min-width: 640px) {
      .grid-overlay li {
        border-left: 1px solid rgba(0, 128, 0, 0.2);
        border-right: 1px solid rgba(0, 128, 0, 0.2);
        display: block;
        font-family: "Frutiger LTW01", sans-serif;
        font-size: 12px;
        white-space: nowrap; }
        .grid-overlay li:first-child {
          border-left-width: 2px; }
        .grid-overlay li:last-child {
          border-right-width: 2px; }
        .grid-overlay li:before {
          content: '';
          display: block;
          background-color: rgba(0, 128, 0, 0.2);
          width: 100%;
          height: 8vh; } }

code {
  clear: both;
  color: #969696;
  margin-bottom: 40px;
  display: block;
  font-size: 0.8em; }

body {
  background: #fff;
  overflow-y: scroll;
  /* If the main site navigation is open, block scrolling on the body */ }
  body.nav-site-is-visible {
    overflow-y: hidden; }

body {
  font-family: "Carre Noir W01", serif;
  font-size: 18px;
  color: #333333;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4; }
  @media print {
    body {
      font-size: 12px; } }

h1, h2, h3, h4, h5,
.alpha, .beta, .gamma, .delta, .radio,
.checkbox, .epsilon {
  font-family: "Frutiger LTW01", sans-serif; }

h1,
.alpha {
  margin-bottom: 20px;
  font-size: 36px;
  line-height: 1.3;
  font-weight: 700;
  line-height: 1.2; }
  @media screen and (min-width: 640px) {
    h1,
    .alpha {
      font-size: 46px; } }
  @media screen and (min-width: 960px) {
    h1,
    .alpha {
      font-size: 64px; } }

h2,
.beta {
  margin-bottom: 20px;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600; }
  @media screen and (min-width: 640px) {
    h2,
    .beta {
      font-size: 28px;
      line-height: 1.3; } }
  @media screen and (min-width: 960px) {
    h2,
    .beta {
      font-size: 36px;
      line-height: 1.3; } }

h3,
.gamma {
  margin-bottom: 20px;
  font-size: 20px;
  line-height: 1.5;
  line-height: 1.2;
  font-weight: 500; }
  @media screen and (min-width: 640px) {
    h3,
    .gamma {
      font-size: 22px; } }
  @media screen and (min-width: 960px) {
    h3,
    .gamma {
      font-size: 24px; } }

h4,
.delta, .radio,
.checkbox {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 20px;
  font-weight: 500; }
  @media screen and (min-width: 640px) {
    h4,
    .delta, .radio,
    .checkbox {
      font-size: 20px; } }

h5,
.epsilon {
  font-size: 14px;
  margin-bottom: 10px; }
  @media screen and (min-width: 640px) {
    h5,
    .epsilon {
      font-size: 16px; } }

p {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 20px; }
  @media screen and (min-width: 640px) {
    p {
      font-size: 20px; } }
  @media screen and (min-width: 640px) {
    p {
      margin-bottom: 25px; } }
  @media screen and (min-width: 960px) {
    p {
      margin-bottom: 30px; } }
  @media print {
    p {
      font-size: 60% !important; } }

a {
  color: #333333; }
  a:hover,
  a:focus {
    color: #007ab2; }

p > a {
  text-decoration: underline; }
  p > a:hover,
  p > a:focus {
    color: #FF5A11; }

h1 > a, h2 > a, h3 > a, h4 > a, h5 > a {
  border-bottom: 6px solid;
  padding-bottom: 2px; }

.text--thin {
  font-weight: 300; }

.text--normal {
  font-weight: 400; }

.text--bold {
  font-weight: 700; }

.text--uppercase {
  text-transform: uppercase; }

.text--lowercase {
  text-transform: none; }

.text--smallcaps {
  font-variant: small-caps; }

.text--center {
  text-align: center; }

.text--right {
  text-align: right; }

.text--light {
  color: #fff;
  text-shadow: 0 2px 15px rgba(0, 0, 0, 0.4); }
  .text--light.heading-line:after {
    background-color: #fff; }

.text--hidden {
  opacity: 0; }

::-moz-selection {
  background-color: rgba(255, 90, 17, 0.5); }

::selection {
  background-color: rgba(255, 90, 17, 0.5); }

table {
  background-color: #fff;
  margin-bottom: 20px;
  text-align: left;
  width: 100%; }

thead,
tbody {
  font-family: "Frutiger LTW01", sans-serif; }

.table--responsive {
  overflow-y: auto;
  _overflow: auto;
  -webkit-overflow-scrolling: touch; }
  .table--responsive::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 14px;
    height: 14px; }
  .table--responsive::-webkit-scrollbar-thumb {
    border-radius: 8px;
    border: 3px solid #fff;
    background-color: rgba(0, 0, 0, 0.3); }

.table--container-fade {
  position: relative; }
  .table--container-fade:before {
    content: '';
    background-image: -webkit-linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, white 100%);
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, white 100%);
    position: absolute;
    right: 0;
    width: 30px;
    height: 100%;
    z-index: 1; }
    @media screen and (min-width: 640px) {
      .table--container-fade:before {
        background-image: none; } }

.table--overflow {
  margin-bottom: 40px; }
  .table--overflow img {
    width: 100%; }
  @media screen and (min-width: 640px) {
    .table--overflow {
      margin-left: -10%;
      margin-right: -10%; } }
  @media screen and (min-width: 960px) {
    .table--overflow {
      margin-left: -20%;
      margin-right: -20%; } }

fieldset {
  padding: 0;
  border: none; }

textarea,
input[type="text"],
input[type="number"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
input[type="range"],
.input {
  display: block;
  padding: 12px 12px;
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  font-size: 18px;
  font-family: "Frutiger LTW01", sans-serif;
  font-weight: 500;
  background-color: #fff;
  outline: 0;
  appearance: none;
  -webkit-appearance: none;
  border: 2px solid #e4e4e4;
  border-radius: 0; }
  textarea[disabled],
  input[type="text"][disabled],
  input[type="number"][disabled],
  input[type="password"][disabled],
  input[type="datetime"][disabled],
  input[type="datetime-local"][disabled],
  input[type="date"][disabled],
  input[type="month"][disabled],
  input[type="time"][disabled],
  input[type="week"][disabled],
  input[type="number"][disabled],
  input[type="email"][disabled],
  input[type="url"][disabled],
  input[type="search"][disabled],
  input[type="tel"][disabled],
  input[type="color"][disabled],
  input[type="range"][disabled],
  .input[disabled] {
    background-color: #e4e4e4; }
  textarea.placeholder,
  input[type="text"].placeholder,
  input[type="number"].placeholder,
  input[type="password"].placeholder,
  input[type="datetime"].placeholder,
  input[type="datetime-local"].placeholder,
  input[type="date"].placeholder,
  input[type="month"].placeholder,
  input[type="time"].placeholder,
  input[type="week"].placeholder,
  input[type="number"].placeholder,
  input[type="email"].placeholder,
  input[type="url"].placeholder,
  input[type="search"].placeholder,
  input[type="tel"].placeholder,
  input[type="color"].placeholder,
  input[type="range"].placeholder,
  .input.placeholder {
    color: #969696;
    font-weight: 500;
    line-height: normal; }
  textarea:-moz-placeholder,
  input[type="text"]:-moz-placeholder,
  input[type="number"]:-moz-placeholder,
  input[type="password"]:-moz-placeholder,
  input[type="datetime"]:-moz-placeholder,
  input[type="datetime-local"]:-moz-placeholder,
  input[type="date"]:-moz-placeholder,
  input[type="month"]:-moz-placeholder,
  input[type="time"]:-moz-placeholder,
  input[type="week"]:-moz-placeholder,
  input[type="number"]:-moz-placeholder,
  input[type="email"]:-moz-placeholder,
  input[type="url"]:-moz-placeholder,
  input[type="search"]:-moz-placeholder,
  input[type="tel"]:-moz-placeholder,
  input[type="color"]:-moz-placeholder,
  input[type="range"]:-moz-placeholder,
  .input:-moz-placeholder {
    color: #969696;
    font-weight: 500;
    line-height: normal; }
  textarea::-moz-placeholder,
  input[type="text"]::-moz-placeholder,
  input[type="number"]::-moz-placeholder,
  input[type="password"]::-moz-placeholder,
  input[type="datetime"]::-moz-placeholder,
  input[type="datetime-local"]::-moz-placeholder,
  input[type="date"]::-moz-placeholder,
  input[type="month"]::-moz-placeholder,
  input[type="time"]::-moz-placeholder,
  input[type="week"]::-moz-placeholder,
  input[type="number"]::-moz-placeholder,
  input[type="email"]::-moz-placeholder,
  input[type="url"]::-moz-placeholder,
  input[type="search"]::-moz-placeholder,
  input[type="tel"]::-moz-placeholder,
  input[type="color"]::-moz-placeholder,
  input[type="range"]::-moz-placeholder,
  .input::-moz-placeholder {
    color: #969696;
    font-weight: 500;
    line-height: normal; }
  textarea:-ms-input-placeholder,
  input[type="text"]:-ms-input-placeholder,
  input[type="number"]:-ms-input-placeholder,
  input[type="password"]:-ms-input-placeholder,
  input[type="datetime"]:-ms-input-placeholder,
  input[type="datetime-local"]:-ms-input-placeholder,
  input[type="date"]:-ms-input-placeholder,
  input[type="month"]:-ms-input-placeholder,
  input[type="time"]:-ms-input-placeholder,
  input[type="week"]:-ms-input-placeholder,
  input[type="number"]:-ms-input-placeholder,
  input[type="email"]:-ms-input-placeholder,
  input[type="url"]:-ms-input-placeholder,
  input[type="search"]:-ms-input-placeholder,
  input[type="tel"]:-ms-input-placeholder,
  input[type="color"]:-ms-input-placeholder,
  input[type="range"]:-ms-input-placeholder,
  .input:-ms-input-placeholder {
    color: #969696;
    font-weight: 500;
    line-height: normal; }
  textarea::-webkit-input-placeholder,
  input[type="text"]::-webkit-input-placeholder,
  input[type="number"]::-webkit-input-placeholder,
  input[type="password"]::-webkit-input-placeholder,
  input[type="datetime"]::-webkit-input-placeholder,
  input[type="datetime-local"]::-webkit-input-placeholder,
  input[type="date"]::-webkit-input-placeholder,
  input[type="month"]::-webkit-input-placeholder,
  input[type="time"]::-webkit-input-placeholder,
  input[type="week"]::-webkit-input-placeholder,
  input[type="number"]::-webkit-input-placeholder,
  input[type="email"]::-webkit-input-placeholder,
  input[type="url"]::-webkit-input-placeholder,
  input[type="search"]::-webkit-input-placeholder,
  input[type="tel"]::-webkit-input-placeholder,
  input[type="color"]::-webkit-input-placeholder,
  input[type="range"]::-webkit-input-placeholder,
  .input::-webkit-input-placeholder {
    color: #969696;
    font-weight: 500;
    line-height: normal; }
  textarea:focus,
  input[type="text"]:focus,
  input[type="number"]:focus,
  input[type="password"]:focus,
  input[type="datetime"]:focus,
  input[type="datetime-local"]:focus,
  input[type="date"]:focus,
  input[type="month"]:focus,
  input[type="time"]:focus,
  input[type="week"]:focus,
  input[type="number"]:focus,
  input[type="email"]:focus,
  input[type="url"]:focus,
  input[type="search"]:focus,
  input[type="tel"]:focus,
  input[type="color"]:focus,
  input[type="range"]:focus,
  .input:focus {
    background-color: #fff;
    border-color: #007ab2 !important;
    box-shadow: 0 0 20px rgba(0, 122, 178, 0.6); }

.input__text {
  margin: 10px 0; }
  .input__text--inline {
    display: inline-block !important; }

.input__label-trailing {
  font-family: "Frutiger LTW01", sans-serif; }

input[type="submit"] {
  outline: 0;
  border: none;
  appearance: none; }

hr {
  margin: 20px 0;
  padding: 0;
  border: 0;
  border-top: 2px solid #e4e4e4; }

label,
.label {
  display: block;
  color: #333333;
  font-family: "Frutiger LTW01", sans-serif; }
  label .list-bullets,
  .label .list-bullets {
    font-family: "Frutiger LTW01", sans-serif;
    color: #969696;
    font-weight: 500; }

.show-errors .ng-invalid {
  border-color: red; }

label .error li,
.label .error li {
  color: #fff;
  background: red;
  margin: 10px -20px;
  padding: 10px 20px; }

.number-field .button {
  display: inline-block;
  vertical-align: top; }

.number-field input[type="number"] {
  display: inline-block;
  vertical-align: top;
  -webkit-appearance: none;
  border-radius: 0;
  outline: none; }

.number-field input[type="number"]::-webkit-inner-spin-button,
.number-field input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

/*
 * WTF, forms?
 * Released under MIT and copyright 2014 Mark Otto.
 * http://wtfforms.com
 *
 * Embedded icons from Open Iconic.
 * Released under MIT and copyright 2014 Waybury.
 * http://useiconic.com/open
 */
/*
 * Checkboxes and radios
 */
.radio,
.checkbox {
  position: relative;
  display: inline-block;
  cursor: pointer;
  font-size: 18px; }
  .radio input,
  .checkbox input {
    z-index: -1;
    display: inline-block;
    width: 19px;
    height: 19px;
    margin: -1px 4px 0 0;
    vertical-align: middle;
    cursor: pointer; }
    .radio input:checked ~ .control-indicator,
    .checkbox input:checked ~ .control-indicator {
      background-color: #000000; }

.control-indicator {
  position: absolute;
  display: block;
  top: 2px;
  left: 0;
  width: 16px;
  height: 16px;
  background-color: #e4e4e4;
  background-size: 50% 50%;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.radio .control-indicator {
  border-radius: 50%; }

.radio input:checked ~ .control-indicator {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgOCA4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA4IDgiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHBhdGggZmlsbD0iI0ZGRkZGRiIgZD0iTTQsMUMyLjMsMSwxLDIuMywxLDRzMS4zLDMsMywzczMtMS4zLDMtM1M1LjcsMSw0LDF6Ii8+DQo8L3N2Zz4NCg==); }

/*
 * Select
 */
.range {
  width: 100%; }

.select {
  position: relative;
  margin-bottom: 10px;
  margin-right: 15px;
  display: inline-block;
  max-width: 100%; }
  .select select {
    display: inline-block;
    margin: 0;
    padding: 6px 40px 6px 15px;
    max-width: 100%;
    line-height: 1.5;
    font-family: "Frutiger LTW01", sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #333333;
    background-color: transparent;
    border: 4px solid #068066;
    border-radius: 0;
    cursor: pointer;
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
    .select select:focus:-moz-focusring {
      color: transparent;
      text-shadow: 0 0 0 #000;
      border-color: #007ab2 !important;
      box-shadow: 0 0 20px rgba(0, 122, 178, 0.6); }
    .select select:focus {
      border-color: #007ab2 !important;
      box-shadow: 0 0 20px rgba(0, 122, 178, 0.6); }
    .select select::-ms-expand {
      display: none; }
  .select:after {
    position: absolute;
    content: '';
    pointer-events: none;
    top: 50%;
    right: 18px;
    margin-top: -4px; }
  .select--block {
    display: block; }
    .select--block select {
      display: block;
      width: 100%; }
  .select--text-aligned {
    margin-top: -10px; }

/* Media query to target Firefox only */
@-moz-document url-prefix() {
  /* Firefox hack to hide the arrow */
  /* <option> elements inherit styles from <select>, so reset them. */
  .select select {
    text-indent: 0.01px;
    text-overflow: '';
    padding-right: 1rem; }
  .select option {
    background-color: white; } }

/* IE9 hack to hide the arrow */
@media screen and (min-width: 0 \0) {
  .select select {
    z-index: 1;
    padding: 0.5rem 1.5rem 0.5rem 1rem; }
  .select:after {
    z-index: 5; }
  .select:before {
    position: absolute;
    top: 0;
    right: 1rem;
    bottom: 0;
    z-index: 2;
    content: "";
    display: block;
    width: 1.5rem;
    background-color: #eee; }
  .select select:hover,
  .select select:focus,
  .select select:active {
    color: #555;
    background-color: #eee; } }

@media print {
  ::input-placeholder {
    color: transparent !important; } }

@media print {
  ::-webkit-input-placeholder {
    color: transparent !important; } }

@media print {
  :-moz-placeholder {
    color: transparent !important; } }

@media print {
  ::-moz-placeholder {
    color: transparent !important; } }

@media print {
  :-ms-input-placeholder {
    color: transparent !important; } }

.radio,
.checkbox {
  position: relative;
  display: inline-block;
  padding-left: 40px;
  margin-bottom: 20px;
  margin-right: 20px;
  color: #333333;
  cursor: pointer; }
  .radio .text-muted,
  .checkbox .text-muted {
    color: #969696;
    margin-bottom: 20px; }
  .radio input,
  .checkbox input {
    position: absolute;
    opacity: 0;
    z-index: -1; }
    .radio input:checked ~ .radio__control-indicator,
    .radio input:checked ~ .checkbox__control-indicator,
    .checkbox input:checked ~ .radio__control-indicator,
    .checkbox input:checked ~ .checkbox__control-indicator {
      border-color: #068066;
      border-width: 4px;
      padding: 0; }
      .radio input:checked ~ .radio__control-indicator:before,
      .radio input:checked ~ .checkbox__control-indicator:before,
      .checkbox input:checked ~ .radio__control-indicator:before,
      .checkbox input:checked ~ .checkbox__control-indicator:before {
        -webkit-transform: scale(1);
            -ms-transform: scale(1);
                transform: scale(1);
        opacity: 1; }
      .radio input:checked ~ .radio__control-indicator:after,
      .radio input:checked ~ .checkbox__control-indicator:after,
      .checkbox input:checked ~ .radio__control-indicator:after,
      .checkbox input:checked ~ .checkbox__control-indicator:after {
        border-color: #000000; }
  .radio__control-indicator,
  .checkbox__control-indicator {
    position: absolute;
    display: block;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    top: 0;
    left: 0;
    width: 26px;
    height: 26px;
    padding: 2px;
    background-color: #fff;
    border: 2px solid #969696; }
    .radio__control-indicator:before,
    .checkbox__control-indicator:before {
      content: "";
      position: absolute;
      top: 55%;
      left: 50%;
      opacity: 0;
      -webkit-transform: scale(0);
          -ms-transform: scale(0);
              transform: scale(0); }

.checkbox input:focus + .checkbox__control-indicator {
  box-shadow: 0 0 20px rgba(0, 122, 178, 0.6);
  border-color: #007ab2; }

.checkbox__control-indicator:before {
  content: '';
  margin-top: -6px;
  margin-left: -7px; }

.radio:hover .radio__control-indicator {
  border-color: #FF5A11; }

.radio:hover .radio__label {
  color: #FF5A11; }

.radio__control-indicator {
  top: 2px;
  left: 0px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 4px solid #969696; }
  .radio__control-indicator:before {
    content: '';
    background-color: #FF5A11;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    margin-left: -4px;
    margin-top: -4px; }

input[type="submit"],
button,
.button {
  display: inline-block;
  background: #d91863;
  border: none;
  border-bottom: 6px solid #8b0c4a;
  font-family: "Frutiger LTW01", sans-serif;
  font-weight: 500;
  color: white;
  text-decoration: none;
  line-height: normal;
  padding: 7px 14px;
  padding-top: 9.33333px;
  -webkit-appearance: none !important;
  border-radius: 0;
  position: relative;
  text-align: center; }
  input[type="submit"]:hover,
  button:hover,
  .button:hover {
    background: #e93b7f;
    border-bottom: 6px solid #ba1063; }
  input[type="submit"]:focus,
  button:focus,
  .button:focus {
    box-shadow: 0 0 20px rgba(0, 122, 178, 0.6);
    background-color: #007ab2;
    border-bottom-color: #006696; }
  input[type="submit"] .icon,
  button .icon,
  .button .icon {
    display: none; }
    @media screen and (min-width: 640px) {
      input[type="submit"] .icon,
      button .icon,
      .button .icon {
        display: inline-block; } }
  input[type="submit"] + .button,
  button + .button,
  .button + .button {
    margin-left: 15px; }

.button--primary {
  background: #068066;
  border-bottom-color: #3d6d58; }
  .button--primary:hover {
    background: #08b18d;
    border-bottom: 6px solid #4f8e72; }

.button--secondary,
input[type="submit"].button--secondary {
  background: #007ab2;
  border-bottom-color: #006696; }
  .button--secondary:hover,
  input[type="submit"].button--secondary:hover {
    background: #009de5;
    border-bottom: 6px solid #0089c9; }

.button--tertiary,
input[type="submit"].button--tertiary {
  background: #f6f7f3;
  border-bottom-color: #e9eae0;
  color: #787363; }
  .button--tertiary:hover,
  input[type="submit"].button--tertiary:hover {
    background: white;
    border-bottom: 6px solid #fffffe; }

.button--secondary-alternative,
input[type="submit"].button--secondary-alternative {
  background: #068066;
  border-bottom-color: #3d6d58; }
  .button--secondary-alternative:hover,
  input[type="submit"].button--secondary-alternative:hover {
    background: #08b18d;
    border-bottom: 6px solid #4f8e72; }

.button--big,
input[type="submit"].button--big {
  font-size: 24px;
  padding: 14px 20px;
  margin-bottom: 14px;
  vertical-align: top; }

.button--small {
  font-size: 16px; }

.button__sidekick {
  display: inline-block;
  vertical-align: middle;
  margin-left: 20px; }

.button__sidekick--big {
  margin-top: 14px; }

.icon-check, .checkbox__control-indicator:before {
  display: inline-block;
  width: 13px;
  height: 10px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -900px -100px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }

.icon-search {
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -800px -100px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }

.icon-arrow-down--dark {
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -200px 0px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }

.icon-arrow-up {
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: 0px -100px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }

.icon-arrow-right {
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -100px -100px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }

.icon-arrow-down {
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -200px -100px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }

.icon-arrow-left {
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -300px -100px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }

.icon-close {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -1100px 0px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }

.icon-plus {
  display: inline-block;
  width: 12px;
  height: 12px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -1200px -200px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }

.icon-revert, .nav-top__link--restart:before {
  display: inline-block;
  width: 14px;
  height: 17px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -1400px 0px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }

.icon-chevron--up {
  display: inline-block;
  width: 14px;
  height: 8px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -400px -200px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }

.icon-chevron--right {
  display: inline-block;
  width: 8px;
  height: 14px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -500px -200px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px;
  margin-left: 10px; }
  .icon-chevron--right--dark {
    display: inline-block;
    width: 8px;
    height: 14px;
    background-image: url("../img/icons/sprite.png");
    background-image: none, url("../img/icons/sprite.svg");
    background-position: -500px 0px;
    background-repeat: no-repeat;
    background-size: 2000px 1000px; }

.icon-chevron--down {
  display: inline-block;
  width: 14px;
  height: 8px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -600px -200px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }
  .icon-chevron--down--dark, .select:after {
    display: inline-block;
    width: 14px;
    height: 8px;
    background-image: url("../img/icons/sprite.png");
    background-image: none, url("../img/icons/sprite.svg");
    background-position: -600px 0px;
    background-repeat: no-repeat;
    background-size: 2000px 1000px; }

.icon-chevron--left {
  display: inline-block;
  width: 8px;
  height: 14px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -700px -200px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px;
  margin-right: 10px; }

.icon-subject {
  display: inline-block;
  width: 42px;
  height: 34px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -300px -300px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }
  .icon-subject--dark {
    display: inline-block;
    width: 42px;
    height: 34px;
    background-image: url("../img/icons/sprite.png");
    background-image: none, url("../img/icons/sprite.svg");
    background-position: -300px -400px;
    background-repeat: no-repeat;
    background-size: 2000px 1000px; }

.icon-placeholder-black {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("../img/icons/sprite.png");
  background-image: none, url("../img/icons/sprite.svg");
  background-position: -200px -500px;
  background-repeat: no-repeat;
  background-size: 2000px 1000px; }

.pad-x {
  padding-left: 20px;
  padding-right: 20px; }
  .pad-x--2 {
    padding-left: 40px;
    padding-right: 40px; }
  .pad-x--3 {
    padding-left: 60px;
    padding-right: 60px; }
  .pad-x--4 {
    padding-left: 80px;
    padding-right: 80px; }

@media screen and (min-width: 640px) {
  .pad-x--md {
    padding-left: 20px;
    padding-right: 20px; }
    .pad-x--md--2 {
      padding-left: 40px;
      padding-right: 40px; }
    .pad-x--md--3 {
      padding-left: 60px;
      padding-right: 60px; }
    .pad-x--md--4 {
      padding-left: 80px;
      padding-right: 80px; } }

@media screen and (min-width: 960px) {
  .pad-x--lg {
    padding-left: 20px;
    padding-right: 20px; }
    .pad-x--lg--0 {
      padding-left: 0;
      padding-right: 0; }
    .pad-x--lg--2 {
      padding-left: 40px;
      padding-right: 40px; }
    .pad-x--lg--3 {
      padding-left: 60px;
      padding-right: 60px; }
    .pad-x--lg--4 {
      padding-left: 80px;
      padding-right: 80px; } }

.pad-y {
  padding-top: 20px;
  padding-bottom: 20px; }
  .pad-y--double {
    padding-left: 40px;
    padding-right: 40px; }

@media screen and (min-width: 640px) {
  .pad-y--md {
    padding-top: 20px; }
    .pad-y--md--0 {
      padding-top: 0; }
    .pad-y--md--2 {
      padding-top: 40px; }
    .pad-y--md--3 {
      padding-top: 60px; }
    .pad-y--md--4 {
      padding-top: 80px; } }

@media screen and (min-width: 960px) {
  .pad-y--lg {
    padding-top: 20px; }
    .pad-y--lg--0 {
      padding-top: 0; }
    .pad-y--lg--2 {
      padding-top: 40px; }
    .pad-y--lg--3 {
      padding-top: 60px; }
    .pad-y--lg--4 {
      padding-top: 80px; } }

.image-overflow {
  margin-bottom: 40px; }
  .image-overflow img {
    width: 100%; }
  @media screen and (min-width: 640px) {
    .image-overflow {
      margin-left: -10%;
      margin-right: -10%; } }
  @media screen and (min-width: 960px) {
    .image-overflow {
      margin-left: -20%;
      margin-right: -20%; } }

.list-bullets {
  margin-bottom: 20px;
  padding-left: 20px;
  font-size: 18px;
  line-height: 1.5; }
  @media screen and (min-width: 640px) {
    .list-bullets {
      font-size: 20px; } }
  .list-bullets li {
    margin-bottom: 10px;
    list-style-type: disc; }
  .list-bullets a {
    text-decoration: underline; }
    .list-bullets a:hover,
    .list-bullets a:focus {
      color: #FF5A11; }
  @media screen and (min-width: 640px) {
    .list-bullets {
      margin-bottom: 40px; } }

.list-definitions li {
  margin-bottom: 10px; }

.list-definitions dt,
.list-definitions dd {
  float: left; }

.list-definitions dt {
  width: 30%; }

.list-definitions dd {
  width: 70%; }

.list--horizontal {
  text-align: center; }
  .list--horizontal li {
    float: left;
    margin: 20px;
    text-decoration: underline;
    font-size: 20px; }
    .list--horizontal li a:hover,
    .list--horizontal li a:focus {
      color: #FF5A11; }

.list-pagination {
  float: right; }
  .list-pagination li {
    float: left;
    background-color: #fff;
    top: 20px;
    right: 20px;
    z-index: 4;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    padding-top: 5px;
    font-family: "Frutiger LTW01", sans-serif;
    font-size: 18px;
    margin-right: 20px;
    text-indent: 0;
    text-align: center; }
    .list-pagination li:hover,
    .list-pagination li:active,
    .list-pagination li:focus {
      background-color: #FF5A11;
      color: #fff; }
  .list-pagination .active {
    background-color: #FF5A11;
    color: #fff; }

/*------------------------------------*    #OBJECTS
\*------------------------------------*/
/**
 * These are design-free objects, abstractions and design patterns. These create
 * constructs that you lay your designs over.
 */
.branding {
  float: left;
  z-index: 1;
  overflow: hidden;
  width: 40px;
  height: 40px; }
  @media screen and (min-width: 640px) {
    .branding {
      width: 40px;
      height: 40px; } }
  @media screen and (min-width: 960px) {
    .branding {
      width: 60px;
      height: 60px; } }
  .branding__logo {
    max-width: none; }

.choice-tile-list {
  padding: 0;
  margin: 0; }
  @media screen and (min-width: 640px) {
    .choice-tile-list {
      margin-bottom: 10px; } }

.choice-tile-list__item {
  list-style: none;
  display: inline-block;
  width: auto;
  padding: 0;
  vertical-align: top; }
  .choice-tile-list__item:nth-child(odd) {
    margin-right: 20px; }
  .choice-tile-list__item--sm {
    width: auto;
    margin-right: 5px; }
    .choice-tile-list__item--sm:nth-child(odd) {
      margin-right: 5px; }

.choice-tile {
  display: block;
  cursor: pointer;
  vertical-align: bottom;
  word-wrap: break-word;
  position: relative;
  border: 2px dashed #b9b098;
  padding: 10px;
  margin-bottom: 10px;
  font-family: "Frutiger LTW01", sans-serif;
  font-size: 18px;
  color: #222222;
  font-weight: 500; }
  .choice-tile__input {
    vertical-align: baseline;
    margin-right: 5px;
    position: absolute;
    left: -2000px; }

.choice-tile__sub-text {
  font-family: "Frutiger LTW01", sans-serif;
  font-size: 16.2px;
  display: block; }
  .choice-tile__sub-text strong {
    display: block;
    font-size: 22px;
    font-weight: 500; }

input[type="radio"]:focus + .choice-tile {
  border: 4px solid #007ab2 !important;
  box-shadow: 0 0 20px rgba(0, 122, 178, 0.6);
  color: #007ab2; }

input[type="radio"] + .choice-tile:hover {
  border: 2px dashed #068066; }

input[type="radio"] + .choice-tile:focus {
  color: #007ab2;
  outline: none; }

input[type="radio"]:checked + .choice-tile {
  border: 4px solid #068066;
  padding: 8px; }
  input[type="radio"]:checked + .choice-tile .choice-tile__sub-text {
    color: #068066;
    padding: 10px -2; }

.list-buttons {
  margin-bottom: 10px; }
  .list-buttons__item {
    float: left;
    margin-right: 20px;
    margin-bottom: 20px; }

.message {
  margin-bottom: 40px;
  padding: 20px;
  background-color: #c9e8e3; }
  @media print {
    .message {
      border-bottom: 2px solid #e4e4e4;
      padding: 0;
      margin-bottom: 10px; }
      .message p {
        margin-bottom: 10px;
        font-size: 12px !important; } }

.module {
  position: relative;
  margin-bottom: 40px; }
  @media screen and (min-width: 640px) {
    .module {
      margin-bottom: 60px; } }
  .module:last-child {
    margin-bottom: 0;
    padding-bottom: 40px; }
    @media screen and (min-width: 640px) {
      .module:last-child {
        padding-bottom: 60px; } }

.nav-breadcrumbs {
  margin-bottom: 10px; }
  @media screen and (min-width: 640px) {
    .nav-breadcrumbs {
      margin-bottom: 40px; } }
  .nav-breadcrumbs__item {
    float: left;
    margin-right: 10px; }
    .nav-breadcrumbs__item:after {
      content: '>';
      margin-left: 10px; }
    .nav-breadcrumbs__item:last-child:after {
      display: none; }
  .nav-breadcrumbs__current {
    color: #d91863; }

.button-toggle-prototype-nav {
  background-color: #fff;
  border: 2px solid;
  cursor: pointer;
  font-family: "Frutiger LTW01", sans-serif;
  padding: 4px 8px;
  position: fixed;
  bottom: 20px;
  right: 20px;
  text-transform: uppercase;
  z-index: 50; }
  @media screen and (min-width: 640px) {
    .button-toggle-prototype-nav {
      bottom: 60px; } }

.nav-prototype {
  -webkit-overflow-scrolling: touch;
  display: none;
  padding: 20px;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 30;
  background-color: rgba(85, 85, 85, 0.9);
  font-family: "Frutiger LTW01", sans-serif;
  overflow-y: scroll; }
  .nav-prototype__header {
    color: white; }
  .nav-prototype li {
    margin-bottom: 5px; }
    .nav-prototype li:before {
      color: white;
      content: '•';
      font-size: 0.8em;
      margin-right: 10px; }
  .nav-prototype a {
    color: white;
    font-weight: 200; }
    .nav-prototype a:hover {
      text-decoration: underline; }
  .nav-prototype.is-visible {
    display: block; }
  @media screen and (min-width: 640px) {
    .nav-prototype {
      left: auto;
      bottom: auto;
      right: 0;
      border-radius: 0 0 0 20px; } }

.nav-steps {
  margin-bottom: 40px;
  padding: 20px 0;
  position: relative;
  z-index: 3; }
  @media screen and (min-width: 640px) {
    .nav-steps {
      margin-bottom: 0;
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      background-color: rgba(246, 247, 243, 0.92);
      box-shadow: 0 -6px 6px rgba(0, 0, 0, 0.08); } }
  @media screen and (min-width: 640px) {
    .nav-steps__grid {
      position: relative;
      max-width: 1240px;
      margin: 0 auto;
      padding: 0 20px; } }

.nav-top {
  padding-top: 10px; }
  .nav-top__item {
    float: right;
    margin-left: 20px; }
    .nav-top__item:last-child {
      margin-left: 0; }
    @media screen and (min-width: 640px) {
      .nav-top__item {
        margin-left: 40px; } }
  .nav-top__link {
    display: block;
    font-family: "Frutiger LTW01", sans-serif;
    padding: 5px;
    text-decoration: underline; }
    .nav-top__link--restart:before {
      content: '';
      float: left;
      margin-top: 3px;
      margin-right: 10px; }

.page__header {
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px; }

.page__body {
  clear: both;
  background-color: #fff;
  /*  So the parallax works correctly the body must go over the header  */
  position: relative;
  z-index: 1; }
  .page__body--sbs {
    /*  Let the page body (transparent bg) scroll up over the header with parallax.
            In this instance the body will also have a class of .sbs which
            will make the background cream coloured  */
    background-color: transparent; }

.site-header {
  width: 100%;
  z-index: 2; }
  .site-header__title {
    display: none; }
    @media screen and (min-width: 640px) {
      .site-header__title {
        display: block;
        color: #007ab2;
        float: left;
        padding-top: 20px;
        padding-left: 20px; } }
    @media screen and (min-width: 960px) {
      .site-header__title {
        padding-top: 37px; } }

.steps {
  position: relative;
  z-index: 0; }

.step__substep {
  margin-bottom: 20px; }
  @media screen and (min-width: 640px) {
    .step__substep {
      margin-bottom: 30px; } }

.step__sub-substep {
  margin-bottom: 20px; }

.step__subheading {
  border-bottom: 2px solid #e4e4e4;
  padding-bottom: 5px;
  margin-bottom: 20px;
  text-transform: uppercase; }

.step--login {
  -webkit-animation: none;
          animation: none; }
  .step--login__input {
    margin-bottom: 20px; }
    .step--login__input + .step--login__input {
      margin-bottom: 40px; }

.summary {
  -webkit-animation-delay: 100ms;
          animation-delay: 100ms;
  font-size: 16px;
  position: relative;
  margin-top: 40px;
  z-index: 0; }
  @media screen and (min-width: 640px) {
    .summary {
      z-index: 0;
      background-color: #f6f7f3;
      padding: 20px; } }
  @media screen and (min-width: 960px) {
    .summary {
      margin-top: 0; } }
  @media print {
    .summary {
      margin-top: 0;
      font-size: 12px; } }
  .summary__list {
    margin-bottom: 20px; }
  .summary__heading {
    margin-bottom: 10px; }
  .summary__text-highlight {
    color: #068066; }
  .summary__glasses-count {
    text-transform: uppercase;
    border-bottom: 2px solid #e4e4e4;
    padding-bottom: 5px;
    margin-bottom: 10px; }
    .summary__glasses-count--active {
      color: #068066; }
  .summary__item {
    margin-bottom: 5px; }
  .summary__subitem {
    position: relative; }
    .summary__subitem:before {
      content: '-';
      position: absolute;
      left: -15px;
      top: 0; }
  .summary__label,
  .summary__value {
    float: left; }
  .summary__label {
    width: 55%; }
    .summary__label--saving {
      color: #068066; }
  .summary__value {
    width: 45%; }
  .summary__notes {
    width: 100%;
    padding: 0;
    padding: 10px;
    resize: none;
    height: auto; }
    @media print {
      .summary__notes {
        font-size: 12px; } }

.summary-email {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 2px solid #e4e4e4; }
  @media print {
    .summary-email {
      margin-bottom: 10px;
      padding-bottom: 10px; } }
  @media screen and (min-width: 640px) {
    .summary-email {
      border-bottom: none; } }
  .summary-email__label {
    float: left; }
  .summary-email__input {
    clear: left;
    float: left;
    margin-right: 20px; }
    @media print {
      .summary-email__input {
        border: none !important;
        display: inline-block !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 12px !important; } }
  .summary-email__button {
    float: left;
    margin-top: 12px; }
    @media print {
      .summary-email__button {
        display: none !important; } }

.summary-price {
  margin-bottom: 20px;
  font-family: "Frutiger LTW01", sans-serif; }
  @media print {
    .summary-price {
      margin-bottom: 0; } }
  .summary-price__item {
    margin-bottom: 20px;
    border-bottom: 2px solid #e4e4e4; }
    @media print {
      .summary-price__item {
        float: left;
        margin-bottom: 10px; } }
    .summary-price__item--totalprice,
    .summary-price__item--saving {
      float: left;
      padding-bottom: 20px;
      width: 50%; }
      @media print {
        .summary-price__item--totalprice,
        .summary-price__item--saving {
          padding-bottom: 10px; } }
      .summary-price__item--totalprice .summary-price__amount,
      .summary-price__item--saving .summary-price__amount {
        font-size: 24px; }
        @media print {
          .summary-price__item--totalprice .summary-price__amount,
          .summary-price__item--saving .summary-price__amount {
            font-size: 18px; } }
    @media print {
      .summary-price__item--totalprice {
        width: 55%; } }
    @media print {
      .summary-price__item--saving {
        width: 45%; } }
    .summary-price__item--totalprice-w-saving {
      width: 100%; }
      .summary-price__item--totalprice-w-saving .summary-price__amount {
        font-size: 46px; }
        @media print {
          .summary-price__item--totalprice-w-saving .summary-price__amount {
            font-size: 30px; } }
  .summary-price__amount {
    color: #686868;
    font-size: 42px;
    font-weight: 600; }
    .summary-price__amount--saving {
      color: #068066; }
    .summary-price__amount--after-saving {
      color: #d91863; }

.summary-print {
  border-bottom: 2px solid #e4e4e4;
  margin-bottom: 40px;
  padding-bottom: 20px; }
  @media print {
    .summary-print {
      display: none; } }

/*------------------------------------*    #GUI
\*------------------------------------*/
/**
 * These are your components and modules; things like buttons, accordions,
 * carousels, etc.
 */
.float--right,
[class*="col-"].float--right {
  float: right; }
  @media screen and (min-width: 640px) {
    .float--right--md,
    [class*="col-"].float--right--md {
      float: right; } }
  @media screen and (min-width: 960px) {
    .float--right--lg,
    [class*="col-"].float--right--lg {
      float: right; } }
  @media screen and (min-width: 1100px) {
    .float--right--xl,
    [class*="col-"].float--right--xl {
      float: right; } }

.float--left {
  float: left; }

.spacing--right {
  margin-right: 20px; }

.spacing--left {
  margin-left: 20px; }

.ng-cloak {
  display: none; }

.collapsible {
  display: none; }
  .collapsible.is-expanded {
    display: block; }
  .collapsible li {
    list-style: disc; }

@media print {
  .no-print {
    display: none; } }

.is-hidden {
  display: none; }
  @media screen and (min-width: 640px) {
    .is-hidden--md {
      display: none; } }
  @media screen and (min-width: 960px) {
    .is-hidden--lg {
      display: none; } }
  @media screen and (min-width: 1100px) {
    .is-hidden--xl {
      display: none; } }

.is-visible {
  display: inherit; }
  .is-visible--md {
    display: none; }
    @media screen and (min-width: 640px) {
      .is-visible--md {
        display: inherit; } }
  .is-visible--lg {
    display: none; }
    @media screen and (min-width: 960px) {
      .is-visible--lg {
        display: inherit; } }
  .is-visible--xl {
    display: none; }
    @media screen and (min-width: 1100px) {
      .is-visible--xl {
        display: inherit; } }

.user-select-none, .radio,
.checkbox {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none; }
/*# sourceMappingURL=screen.css.map */