/* variables & fonts */
/** =================== MONTSERRAT =================== **/
/** Montserrat Light **/
@font-face {
  font-family: "Montserrat";
  font-weight: 300;
  font-style: normal;
  src: url("/dist/fonts/Montserrat-Light.eot");
  src: url("/dist/fonts/Montserrat-Light.eot?#iefix") format("embedded-opentype"), url("/dist/fonts/Montserrat-Light.woff2") format("woff2"), url("/dist/fonts/Montserrat-Light.woff") format("woff"); }

/** Montserrat Regular **/
@font-face {
  font-family: "Montserrat";
  font-weight: 400;
  font-style: normal;
  src: url("/dist/fonts/Montserrat-Regular.eot");
  src: url("/dist/fonts/Montserrat-Regular.eot?#iefix") format("embedded-opentype"), url("/dist/fonts/Montserrat-Regular.woff2") format("woff2"), url("/dist/fonts/Montserrat-Regular.woff") format("woff"); }

/** Montserrat Medium **/
@font-face {
  font-family: "Montserrat";
  font-weight: 500;
  font-style: normal;
  src: url("/dist/fonts/Montserrat-Medium.eot");
  src: url("/dist/fonts/Montserrat-Medium.eot?#iefix") format("embedded-opentype"), url("/dist/fonts/Montserrat-Medium.woff2") format("woff2"), url("/dist/fonts/Montserrat-Medium.woff") format("woff"); }

/** Montserrat SemiBold **/
@font-face {
  font-family: "Montserrat";
  font-weight: 600;
  font-style: normal;
  src: url("/dist/fonts/Montserrat-SemiBold.eot");
  src: url("/dist/fonts/Montserrat-SemiBold.eot?#iefix") format("embedded-opentype"), url("/dist/fonts/Montserrat-SemiBold.woff2") format("woff2"), url("/dist/fonts/Montserrat-SemiBold.woff") format("woff"); }

/** Montserrat Bold **/
@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  font-style: normal;
  src: url("/dist/fonts/Montserrat-Bold.eot");
  src: url("/dist/fonts/Montserrat-Bold.eot?#iefix") format("embedded-opentype"), url("/dist/fonts/Montserrat-Bold.woff2") format("woff2"), url("/dist/fonts/Montserrat-Bold.woff") format("woff"); }

/* + 0px makes sure the value is cast as a number, so calculations can be done with it */
/* Colors */
/* body bg */
/* title, nav, footer, button bg, labels */
/* active menu, link color, quote */
/* Typography */
/* Padding */
/* Borders */
/* Forms */
/* Buttons */
/* Tables */
/* Code */
:root {
  --reflex-columns: 12;
  --reflex-grid-spacing: 15px;
  --reflex-xs: 576px;
  --reflex-sm: 768px;
  --reflex-md: 992px;
  --reflex-lg: 940px;
  --reflex-xlg: 1200px;
  --reflex-xxs-max: 575px;
  --reflex-xs-max: 767px;
  --reflex-sm-max: 991px;
  --reflex-md-max: 939px;
  --reflex-lg-max: 1199px; }

/* Mixins
  =============== */
/* prepare for ignition */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

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

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

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

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

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

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

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

h1,
h2,
h3,
h4,
h5, #header-main.visual .hero-text, body.home #header-main .wrapper .col-12 .hero-text {
  margin: 1em 0 0.5em;
  font-weight: 600;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, Arial, sans-serif;
  line-height: 1.4;
  color: #174489; }

section, section.grid {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  position: relative; }

section.no-padding {
  padding: 0; }

p,
ol,
ul,
dl,
table {
  margin: 0.8em 0; }
  p:last-child,
  ol:last-child,
  ul:last-child,
  dl:last-child,
  table:last-child {
    margin: 0; }

ul li ul {
  margin-bottom: 0; }

ol li ol {
  margin-bottom: 0; }

h1:not(:first-child),
h2:not(:first-child),
h3:not(:first-child),
h4:not(:first-child),
h5:not(:first-child) {
  margin: 0.8em 0; }

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child {
  margin-top: 0; }

h1 a,
h2 a,
h3 a,
h4 a,
h5 a {
  text-decoration: none;
  color: inherit; }

h1:not(:first-child),
h2:not(:first-child),
h3:not(:first-child) {
  margin-top: 1.33em; }

h1 {
  font-size: calc(1vw + 1.5rem); }

h2 {
  font-size: 2rem;
  font-weight: 400; }

h3 {
  font-size: 2rem; }

h4 {
  font-size: 2rem; }

h5 {
  font-size: 1.8rem; }

a {
  color: #4A4A4A;
  text-decoration: underline; }
  a:hover, a:active, a:focus {
    color: #4A4A4A;
    text-decoration: none; }

mark {
  background: #98C223;
  padding: 0 0.2em; }

blockquote {
  margin: 0 0 2em 0;
  border-left: 2px;
  padding: 0 1.5em;
  font-size: 1.5em; }
  blockquote cite {
    display: block;
    margin-top: 1em;
    font-size: 1rem;
    text-align: right; }

pre {
  border: 0;
  border-radius: 0.4rem;
  background: transparent;
  padding: 1em;
  -moz-tab-size: 2;
    -o-tab-size: 2;
       tab-size: 2;
  color: #4A4A4A;
  font-family: Menlo, monospace;
  font-size: 14px;
  margin: 0 0 1em 0; }
  pre code {
    font-family: Menlo, monospace;
    line-height: 1.2; }

address {
  font-style: normal; }

kbd {
  background-color: #f7f7f7;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px #fff inset;
  color: #333;
  display: inline-block;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.4;
  margin: 0 .1em;
  padding: .1em .6em;
  text-shadow: 0 1px 0 #fff; }

:not(pre) > code {
  color: #4A4A4A;
  background: transparent;
  font-family: Menlo, monospace;
  font-size: 14px; }

hr {
  height: 0;
  border: 0;
  border-top: 2px solid #174489; }

dt {
  font-weight: 600; }

dd {
  margin-bottom: .5em; }

.style-light-blue {
  background-color: #EAF4F7; }

.pattern-bg {
  background: url(/dist/images/background-green.svg) no-repeat;
  background-size: cover; }

.pattern-bg-blue {
  background: url("/dist/images/background-blue.svg") no-repeat;
  background-size: cover; }

.big-title h2,
.big-title h3,
.big-title h4,
.big-title h5 {
  font-size: calc(1vw + 1.5rem);
  font-weight: 500; }

.trigger {
  cursor: pointer; }

.table-wrapper {
  overflow-y: hidden;
  overflow-x: auto; }
  .table-wrapper table {
    max-width: none;
    min-width: 40em; }

/* Helpers
  =============== */
.breakout {
  position: relative;
  width: auto;
  margin-left: calc(-50vw + 50%);
  display: block;
  margin-right: calc(-50vw + 50%); }

.full-width {
  width: 100%;
  display: block; }

ul.no-indent {
  padding-left: 0;
  list-style: none; }

a.inverted {
  text-decoration: none; }
  a.inverted:hover, a.inverted:active {
    text-decoration: underline; }

.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0; }
  .sticky.sticky-top {
    top: 0; }
  .sticky.sticky-bottom {
    bottom: 0; }

.clearfix::before,
.clearfix::after {
  content: " ";
  display: block; }

.clearfix:after {
  clear: both; }

.text-left {
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left; }

.text-right {
  text-align: right;
  -moz-text-align-last: right;
       text-align-last: right; }

.text-center,
.text-center > * {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center; }

.text-justify {
  text-align: justify; }

.no-wrap {
  white-space: nowrap; }

.block {
  display: block; }

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

.inline {
  display: inline; }

.vertical-center {
  display: flex;
  align-items: center;
  justify-content: center; }

.flex,
.flex > * {
  display: flex; }

.static {
  position: static !important; }

.responsive-image {
  max-width: 100%;
  height: auto; }

.bg-image {
  background-size: cover;
  background-repeat: no-repeat; }

.show {
  display: block !important; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.no-padding-top {
  padding-top: 0; }

.no-padding-bottom {
  padding-bottom: 0; }

.padding-top {
  padding-top: 2rem; }

.padding-bottom {
  padding-bottom: 2rem; }

.no-margin-top {
  margin-top: 0; }

.no-margin-bottom {
  margin-bottom: 0; }

.margin-top {
  margin-top: 2em; }

.margin-bottom {
  margin-bottom: 2em; }

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.small-font {
  font-size: 1.44rem; }

.tiny-font {
  font-size: 1.26rem; }

.smaller-font {
  font-size: 1.6rem; }

.bigger-font {
  font-size: 1.15em; }

html {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font: normal normal 400 62.5%/1.5 "Montserrat", -apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 62.5%; }

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

body {
  position: relative;
  color: #4A4A4A;
  background: #fff;
  font-size: 1.8rem; }

section {
  position: relative;
  z-index: 3;
  /* this is needed so sections will be aboven possible artifacts */ }

@media (max-width: 767px) {
  .hide-small,
  .hide-medium-down {
    display: none !important; }
  html {
    font-size: 53.125%; }
  h1 {
    font-size: 3.2rem; } }

@media (min-width: 768px) and (max-width: 991px) {
  .hide-medium,
  .hide-medium-down {
    display: none !important; } }

@media (max-width: 991px) {
  body {
    display: flex;
    flex-direction: column;
    min-height: 100vh; }
  #main {
    flex-grow: 9999; }
  .container,
  .container-full {
    padding-left: 1.25em !important;
    padding-right: 1.25em !important; }
    .container > .grid,
    .container-full > .grid {
      margin-right: -1.25em !important;
      margin-left: -1.25em !important; } }

@media (min-width: 992px) and (max-width: 1279px) {
  .hide-large,
  .hide-large-up {
    display: none !important; }
  .flex-large,
  .flex-large > *,
  .flex-large-up,
  .flex-large-up > * {
    display: flex; }
  html {
    font-size: 56.25%; } }

@media (min-width: 1281px) {
  .hide-xlarge,
  .hide-large-up {
    display: none !important; }
  .flex-large-up,
  .flex-large-up > * {
    display: flex; }
  html {
    font-size: 62.5%; } }

/* external libs */
.container,
.container-full {
  box-sizing: border-box;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 30px;
  padding-left: 30px; }
  .container .grid,
  .container-full .grid {
    margin-right: -15px;
    margin-left: -15px; }

@media (min-width: 576px) {
  .container {
    max-width: 576px; } }

@media (min-width: 768px) {
  .container {
    max-width: 768px; } }

@media (min-width: 992px) {
  .container {
    max-width: 992px; } }

@media (min-width: 940px) {
  .container {
    max-width: 940px; } }

@media (min-width: 1200px) {
  .container {
    max-width: 1200px; } }

.grid {
  box-sizing: border-box;
  display: block;
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 auto;
  position: relative;
  letter-spacing: -.31em;
  *letter-spacing: normal;
  word-spacing: -.43em;
  list-style-type: none; }
  .grid::before, .grid::after {
    box-sizing: border-box;
    letter-spacing: normal;
    word-spacing: normal;
    white-space: normal; }

[class*="col-"] {
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
  position: relative;
  width: 100%;
  vertical-align: top;
  padding: 15px;
  display: inline-block;
  *display: inline;
  zoom: 1; }
  [class*="col-"]::before, [class*="col-"]::after {
    box-sizing: border-box;
    letter-spacing: normal;
    word-spacing: normal;
    white-space: normal; }
  [class*="col-"] .grid {
    flex: 1 1 auto;
    margin: -15px; }

.col-12 {
  width: 100%;
  *width: 99.9%; }

.col-11 {
  width: 91.66667%;
  *width: 91.56667%; }

.col-10 {
  width: 83.33333%;
  *width: 83.23333%; }

.col-9 {
  width: 75%;
  *width: 74.9%; }

.col-8 {
  width: 66.66667%;
  *width: 66.56667%; }

.col-7 {
  width: 58.33333%;
  *width: 58.23333%; }

.col-6 {
  width: 50%;
  *width: 49.9%; }

.col-5 {
  width: 41.66667%;
  *width: 41.56667%; }

.col-4 {
  width: 33.33333%;
  *width: 33.23333%; }

.col-3 {
  width: 25%;
  *width: 24.9%; }

.col-2 {
  width: 16.66667%;
  *width: 16.56667%; }

.col-1 {
  width: 8.33333%;
  *width: 8.23333%; }

@media (min-width: 576px) {
  .col-xs-12 {
    width: 100%;
    *width: 99.9%; }
  .col-xs-11 {
    width: 91.66667%;
    *width: 91.56667%; }
  .col-xs-10 {
    width: 83.33333%;
    *width: 83.23333%; }
  .col-xs-9 {
    width: 75%;
    *width: 74.9%; }
  .col-xs-8 {
    width: 66.66667%;
    *width: 66.56667%; }
  .col-xs-7 {
    width: 58.33333%;
    *width: 58.23333%; }
  .col-xs-6 {
    width: 50%;
    *width: 49.9%; }
  .col-xs-5 {
    width: 41.66667%;
    *width: 41.56667%; }
  .col-xs-4 {
    width: 33.33333%;
    *width: 33.23333%; }
  .col-xs-3 {
    width: 25%;
    *width: 24.9%; }
  .col-xs-2 {
    width: 16.66667%;
    *width: 16.56667%; }
  .col-xs-1 {
    width: 8.33333%;
    *width: 8.23333%; } }

@media (min-width: 768px) {
  .col-sm-12 {
    width: 100%;
    *width: 99.9%; }
  .col-sm-11 {
    width: 91.66667%;
    *width: 91.56667%; }
  .col-sm-10 {
    width: 83.33333%;
    *width: 83.23333%; }
  .col-sm-9 {
    width: 75%;
    *width: 74.9%; }
  .col-sm-8 {
    width: 66.66667%;
    *width: 66.56667%; }
  .col-sm-7 {
    width: 58.33333%;
    *width: 58.23333%; }
  .col-sm-6 {
    width: 50%;
    *width: 49.9%; }
  .col-sm-5 {
    width: 41.66667%;
    *width: 41.56667%; }
  .col-sm-4 {
    width: 33.33333%;
    *width: 33.23333%; }
  .col-sm-3 {
    width: 25%;
    *width: 24.9%; }
  .col-sm-2 {
    width: 16.66667%;
    *width: 16.56667%; }
  .col-sm-1 {
    width: 8.33333%;
    *width: 8.23333%; } }

@media (min-width: 992px) {
  .col-md-12 {
    width: 100%;
    *width: 99.9%; }
  .col-md-11 {
    width: 91.66667%;
    *width: 91.56667%; }
  .col-md-10 {
    width: 83.33333%;
    *width: 83.23333%; }
  .col-md-9 {
    width: 75%;
    *width: 74.9%; }
  .col-md-8 {
    width: 66.66667%;
    *width: 66.56667%; }
  .col-md-7 {
    width: 58.33333%;
    *width: 58.23333%; }
  .col-md-6 {
    width: 50%;
    *width: 49.9%; }
  .col-md-5 {
    width: 41.66667%;
    *width: 41.56667%; }
  .col-md-4 {
    width: 33.33333%;
    *width: 33.23333%; }
  .col-md-3 {
    width: 25%;
    *width: 24.9%; }
  .col-md-2 {
    width: 16.66667%;
    *width: 16.56667%; }
  .col-md-1 {
    width: 8.33333%;
    *width: 8.23333%; } }

@media (min-width: 940px) {
  .col-lg-12 {
    width: 100%;
    *width: 99.9%; }
  .col-lg-11 {
    width: 91.66667%;
    *width: 91.56667%; }
  .col-lg-10 {
    width: 83.33333%;
    *width: 83.23333%; }
  .col-lg-9 {
    width: 75%;
    *width: 74.9%; }
  .col-lg-8 {
    width: 66.66667%;
    *width: 66.56667%; }
  .col-lg-7 {
    width: 58.33333%;
    *width: 58.23333%; }
  .col-lg-6 {
    width: 50%;
    *width: 49.9%; }
  .col-lg-5 {
    width: 41.66667%;
    *width: 41.56667%; }
  .col-lg-4 {
    width: 33.33333%;
    *width: 33.23333%; }
  .col-lg-3 {
    width: 25%;
    *width: 24.9%; }
  .col-lg-2 {
    width: 16.66667%;
    *width: 16.56667%; }
  .col-lg-1 {
    width: 8.33333%;
    *width: 8.23333%; } }

@media (min-width: 1200px) {
  .col-xlg-12 {
    width: 100%;
    *width: 99.9%; }
  .col-xlg-11 {
    width: 91.66667%;
    *width: 91.56667%; }
  .col-xlg-10 {
    width: 83.33333%;
    *width: 83.23333%; }
  .col-xlg-9 {
    width: 75%;
    *width: 74.9%; }
  .col-xlg-8 {
    width: 66.66667%;
    *width: 66.56667%; }
  .col-xlg-7 {
    width: 58.33333%;
    *width: 58.23333%; }
  .col-xlg-6 {
    width: 50%;
    *width: 49.9%; }
  .col-xlg-5 {
    width: 41.66667%;
    *width: 41.56667%; }
  .col-xlg-4 {
    width: 33.33333%;
    *width: 33.23333%; }
  .col-xlg-3 {
    width: 25%;
    *width: 24.9%; }
  .col-xlg-2 {
    width: 16.66667%;
    *width: 16.56667%; }
  .col-xlg-1 {
    width: 8.33333%;
    *width: 8.23333%; } }

.col-auto {
  flex: 1 0 0px;
  width: auto; }

@media (min-width: 576px) {
  .col-xs-auto {
    flex: 1 0 0px;
    width: auto; } }

@media (min-width: 768px) {
  .col-sm-auto {
    flex: 1 0 0px;
    width: auto; } }

@media (min-width: 992px) {
  .col-md-auto {
    flex: 1 0 0px;
    width: auto; } }

@media (min-width: 940px) {
  .col-lg-auto {
    flex: 1 0 0px;
    width: auto; } }

@media (min-width: 1200px) {
  .col-xlg-auto {
    flex: 1 0 0px;
    width: auto; } }

.order-12 {
  order: 12; }

.order-11 {
  order: 11; }

.order-10 {
  order: 10; }

.order-9 {
  order: 9; }

.order-8 {
  order: 8; }

.order-7 {
  order: 7; }

.order-6 {
  order: 6; }

.order-5 {
  order: 5; }

.order-4 {
  order: 4; }

.order-3 {
  order: 3; }

.order-2 {
  order: 2; }

.order-1 {
  order: 1; }

.order-0 {
  order: 0; }

@media only screen and (min-width: 576px) {
  .order-xs-12 {
    order: 12; }
  .order-xs-11 {
    order: 11; }
  .order-xs-10 {
    order: 10; }
  .order-xs-9 {
    order: 9; }
  .order-xs-8 {
    order: 8; }
  .order-xs-7 {
    order: 7; }
  .order-xs-6 {
    order: 6; }
  .order-xs-5 {
    order: 5; }
  .order-xs-4 {
    order: 4; }
  .order-xs-3 {
    order: 3; }
  .order-xs-2 {
    order: 2; }
  .order-xs-1 {
    order: 1; }
  .order-xs-0 {
    order: 0; } }

@media only screen and (min-width: 768px) {
  .order-sm-12 {
    order: 12; }
  .order-sm-11 {
    order: 11; }
  .order-sm-10 {
    order: 10; }
  .order-sm-9 {
    order: 9; }
  .order-sm-8 {
    order: 8; }
  .order-sm-7 {
    order: 7; }
  .order-sm-6 {
    order: 6; }
  .order-sm-5 {
    order: 5; }
  .order-sm-4 {
    order: 4; }
  .order-sm-3 {
    order: 3; }
  .order-sm-2 {
    order: 2; }
  .order-sm-1 {
    order: 1; }
  .order-sm-0 {
    order: 0; } }

@media only screen and (min-width: 992px) {
  .order-md-12 {
    order: 12; }
  .order-md-11 {
    order: 11; }
  .order-md-10 {
    order: 10; }
  .order-md-9 {
    order: 9; }
  .order-md-8 {
    order: 8; }
  .order-md-7 {
    order: 7; }
  .order-md-6 {
    order: 6; }
  .order-md-5 {
    order: 5; }
  .order-md-4 {
    order: 4; }
  .order-md-3 {
    order: 3; }
  .order-md-2 {
    order: 2; }
  .order-md-1 {
    order: 1; }
  .order-md-0 {
    order: 0; } }

@media only screen and (min-width: 940px) {
  .order-lg-12 {
    order: 12; }
  .order-lg-11 {
    order: 11; }
  .order-lg-10 {
    order: 10; }
  .order-lg-9 {
    order: 9; }
  .order-lg-8 {
    order: 8; }
  .order-lg-7 {
    order: 7; }
  .order-lg-6 {
    order: 6; }
  .order-lg-5 {
    order: 5; }
  .order-lg-4 {
    order: 4; }
  .order-lg-3 {
    order: 3; }
  .order-lg-2 {
    order: 2; }
  .order-lg-1 {
    order: 1; }
  .order-lg-0 {
    order: 0; } }

@media only screen and (min-width: 1200px) {
  .order-xlg-12 {
    order: 12; }
  .order-xlg-11 {
    order: 11; }
  .order-xlg-10 {
    order: 10; }
  .order-xlg-9 {
    order: 9; }
  .order-xlg-8 {
    order: 8; }
  .order-xlg-7 {
    order: 7; }
  .order-xlg-6 {
    order: 6; }
  .order-xlg-5 {
    order: 5; }
  .order-xlg-4 {
    order: 4; }
  .order-xlg-3 {
    order: 3; }
  .order-xlg-2 {
    order: 2; }
  .order-xlg-1 {
    order: 1; }
  .order-xlg-0 {
    order: 0; } }

.offset-11 {
  margin-left: 91.66667%;
  *margin-left: 91.56667%; }

.offset-10 {
  margin-left: 83.33333%;
  *margin-left: 83.23333%; }

.offset-9 {
  margin-left: 75%;
  *margin-left: 74.9%; }

.offset-8 {
  margin-left: 66.66667%;
  *margin-left: 66.56667%; }

.offset-7 {
  margin-left: 58.33333%;
  *margin-left: 58.23333%; }

.offset-6 {
  margin-left: 50%;
  *margin-left: 49.9%; }

.offset-5 {
  margin-left: 41.66667%;
  *margin-left: 41.56667%; }

.offset-4 {
  margin-left: 33.33333%;
  *margin-left: 33.23333%; }

.offset-3 {
  margin-left: 25%;
  *margin-left: 24.9%; }

.offset-2 {
  margin-left: 16.66667%;
  *margin-left: 16.56667%; }

.offset-1 {
  margin-left: 8.33333%;
  *margin-left: 8.23333%; }

@media only screen and (min-width: 576px) {
  .offset-xs-11 {
    margin-left: 91.66667%;
    *margin-left: 91.56667%; }
  .offset-xs-10 {
    margin-left: 83.33333%;
    *margin-left: 83.23333%; }
  .offset-xs-9 {
    margin-left: 75%;
    *margin-left: 74.9%; }
  .offset-xs-8 {
    margin-left: 66.66667%;
    *margin-left: 66.56667%; }
  .offset-xs-7 {
    margin-left: 58.33333%;
    *margin-left: 58.23333%; }
  .offset-xs-6 {
    margin-left: 50%;
    *margin-left: 49.9%; }
  .offset-xs-5 {
    margin-left: 41.66667%;
    *margin-left: 41.56667%; }
  .offset-xs-4 {
    margin-left: 33.33333%;
    *margin-left: 33.23333%; }
  .offset-xs-3 {
    margin-left: 25%;
    *margin-left: 24.9%; }
  .offset-xs-2 {
    margin-left: 16.66667%;
    *margin-left: 16.56667%; }
  .offset-xs-1 {
    margin-left: 8.33333%;
    *margin-left: 8.23333%; }
  .offset-xs-0 {
    margin-left: 0;
    *margin-left: -0.1%; } }

@media only screen and (min-width: 768px) {
  .offset-sm-11 {
    margin-left: 91.66667%;
    *margin-left: 91.56667%; }
  .offset-sm-10 {
    margin-left: 83.33333%;
    *margin-left: 83.23333%; }
  .offset-sm-9 {
    margin-left: 75%;
    *margin-left: 74.9%; }
  .offset-sm-8 {
    margin-left: 66.66667%;
    *margin-left: 66.56667%; }
  .offset-sm-7 {
    margin-left: 58.33333%;
    *margin-left: 58.23333%; }
  .offset-sm-6 {
    margin-left: 50%;
    *margin-left: 49.9%; }
  .offset-sm-5 {
    margin-left: 41.66667%;
    *margin-left: 41.56667%; }
  .offset-sm-4 {
    margin-left: 33.33333%;
    *margin-left: 33.23333%; }
  .offset-sm-3 {
    margin-left: 25%;
    *margin-left: 24.9%; }
  .offset-sm-2 {
    margin-left: 16.66667%;
    *margin-left: 16.56667%; }
  .offset-sm-1 {
    margin-left: 8.33333%;
    *margin-left: 8.23333%; }
  .offset-sm-0 {
    margin-left: 0;
    *margin-left: -0.1%; } }

@media only screen and (min-width: 992px) {
  .offset-md-11 {
    margin-left: 91.66667%;
    *margin-left: 91.56667%; }
  .offset-md-10 {
    margin-left: 83.33333%;
    *margin-left: 83.23333%; }
  .offset-md-9 {
    margin-left: 75%;
    *margin-left: 74.9%; }
  .offset-md-8 {
    margin-left: 66.66667%;
    *margin-left: 66.56667%; }
  .offset-md-7 {
    margin-left: 58.33333%;
    *margin-left: 58.23333%; }
  .offset-md-6 {
    margin-left: 50%;
    *margin-left: 49.9%; }
  .offset-md-5 {
    margin-left: 41.66667%;
    *margin-left: 41.56667%; }
  .offset-md-4 {
    margin-left: 33.33333%;
    *margin-left: 33.23333%; }
  .offset-md-3 {
    margin-left: 25%;
    *margin-left: 24.9%; }
  .offset-md-2 {
    margin-left: 16.66667%;
    *margin-left: 16.56667%; }
  .offset-md-1 {
    margin-left: 8.33333%;
    *margin-left: 8.23333%; }
  .offset-md-0 {
    margin-left: 0;
    *margin-left: -0.1%; } }

@media only screen and (min-width: 940px) {
  .offset-lg-11 {
    margin-left: 91.66667%;
    *margin-left: 91.56667%; }
  .offset-lg-10 {
    margin-left: 83.33333%;
    *margin-left: 83.23333%; }
  .offset-lg-9 {
    margin-left: 75%;
    *margin-left: 74.9%; }
  .offset-lg-8 {
    margin-left: 66.66667%;
    *margin-left: 66.56667%; }
  .offset-lg-7 {
    margin-left: 58.33333%;
    *margin-left: 58.23333%; }
  .offset-lg-6 {
    margin-left: 50%;
    *margin-left: 49.9%; }
  .offset-lg-5 {
    margin-left: 41.66667%;
    *margin-left: 41.56667%; }
  .offset-lg-4 {
    margin-left: 33.33333%;
    *margin-left: 33.23333%; }
  .offset-lg-3 {
    margin-left: 25%;
    *margin-left: 24.9%; }
  .offset-lg-2 {
    margin-left: 16.66667%;
    *margin-left: 16.56667%; }
  .offset-lg-1 {
    margin-left: 8.33333%;
    *margin-left: 8.23333%; }
  .offset-lg-0 {
    margin-left: 0;
    *margin-left: -0.1%; } }

@media only screen and (min-width: 1200px) {
  .offset-xlg-11 {
    margin-left: 91.66667%;
    *margin-left: 91.56667%; }
  .offset-xlg-10 {
    margin-left: 83.33333%;
    *margin-left: 83.23333%; }
  .offset-xlg-9 {
    margin-left: 75%;
    *margin-left: 74.9%; }
  .offset-xlg-8 {
    margin-left: 66.66667%;
    *margin-left: 66.56667%; }
  .offset-xlg-7 {
    margin-left: 58.33333%;
    *margin-left: 58.23333%; }
  .offset-xlg-6 {
    margin-left: 50%;
    *margin-left: 49.9%; }
  .offset-xlg-5 {
    margin-left: 41.66667%;
    *margin-left: 41.56667%; }
  .offset-xlg-4 {
    margin-left: 33.33333%;
    *margin-left: 33.23333%; }
  .offset-xlg-3 {
    margin-left: 25%;
    *margin-left: 24.9%; }
  .offset-xlg-2 {
    margin-left: 16.66667%;
    *margin-left: 16.56667%; }
  .offset-xlg-1 {
    margin-left: 8.33333%;
    *margin-left: 8.23333%; }
  .offset-xlg-0 {
    margin-left: 0;
    *margin-left: -0.1%; } }

.wrap {
  flex-wrap: wrap; }

.no-wrap {
  flex-wrap: nowrap; }
  .no-wrap [class*="col-"] {
    flex-shrink: 1; }

.wrap-reverse {
  flex-wrap: wrap-reverse; }

.direction-row {
  flex-direction: row; }

.direction-row-reverse {
  flex-direction: row-reverse; }

.direction-column {
  flex-direction: column; }

.direction-column-reverse {
  flex-direction: column-reverse; }

.align-start {
  align-items: flex-start; }

.align-end {
  align-items: flex-end; }
  .align-end [class*="col-"] {
    vertical-align: bottom; }

.align-center {
  align-items: center; }
  .align-center [class*="col-"] {
    vertical-align: middle; }

.align-baseline {
  align-items: baseline; }

.align-content-start {
  align-content: flex-start; }

.align-content-end {
  align-content: flex-end; }
  .align-content-end [class*="col-"] {
    vertical-align: bottom; }

.align-content-center {
  align-content: center; }

.align-content-space-between {
  align-content: space-between; }

.align-content-space-around {
  align-content: space-around; }

.align-self-stretch {
  align-self: stretch; }

.align-self-start {
  align-self: flex-start; }

.align-self-end {
  align-self: flex-end;
  vertical-align: bottom; }

.align-self-center {
  align-self: center;
  vertical-align: middle; }

.align-self-baseline {
  align-self: baseline;
  vertical-align: baseline; }

.justify-start {
  justify-content: flex-start; }
  .justify-start.grid {
    text-align: left; }

.justify-end {
  justify-content: flex-end; }
  .justify-end.grid {
    text-align: right;
    -moz-text-align-last: right;
    text-align-last: right; }
    .justify-end.grid [class*="col-"] {
      text-align: left;
      text-align: start;
      -moz-text-align-last: left;
      -moz-text-align-last: start;
      text-align-last: left;
      text-align-last: start; }

.justify-center {
  justify-content: center; }
  .justify-center.grid {
    text-align: center;
    -moz-text-align-last: center;
    text-align-last: center; }
    .justify-center.grid [class*="col-"] {
      text-align: left;
      text-align: start;
      -moz-text-align-last: left;
      -moz-text-align-last: start;
      text-align-last: left;
      text-align-last: start; }

.justify-space-between {
  justify-content: space-between; }
  .justify-space-between.grid {
    text-align: justify;
    -moz-text-align-last: justify;
    text-align-last: justify; }
    .justify-space-between.grid [class*="col-"] {
      text-align: left;
      text-align: start;
      -moz-text-align-last: left;
      -moz-text-align-last: start;
      text-align-last: left;
      text-align-last: start; }

.justify-space-around {
  justify-content: space-around; }
  .justify-space-around.grid {
    text-align: justify;
    -moz-text-align-last: justify;
    text-align-last: justify; }
    .justify-space-around.grid [class*="col-"] {
      text-align: left;
      text-align: start;
      -moz-text-align-last: left;
      -moz-text-align-last: start;
      text-align-last: left;
      text-align-last: start; }

.grid-bleed [class*="col-"] {
  padding: 0; }

.col-grid {
  display: flex;
  flex-direction: column; }
  .col-grid.direction-row {
    flex-direction: row; }

.col-bleed {
  padding: 0; }

.col-bleed-x {
  padding: 15px 0; }

.col-bleed-y {
  padding: 0 15px; }

.flex-img {
  display: block;
  flex: 0 0 auto;
  max-width: 100%;
  height: auto;
  width: 100%;
  *width: auto; }

.flex-footer {
  width: 100%;
  margin-top: auto;
  margin-bottom: 0; }
  .flex-footer > :last-child {
    margin-bottom: 0; }

@media (max-width: 575px) {
  .hidden-xxs {
    display: none; } }

@media (min-width: 576px) and (max-width: 767px) {
  .hidden-xs {
    display: none; } }

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none; } }

@media (min-width: 992px) and (max-width: 939px) {
  .hidden-md {
    display: none; } }

@media (min-width: 940px) and (max-width: 1199px) {
  .hidden-lg {
    display: none; } }

@media (min-width: 1200px) {
  .hidden-xlg {
    display: none; } }

/* reset some oddities */
@media (max-width: 991px) {
  .container,
  .container-full {
    max-width: none;
    padding-left: 0.75em;
    padding-right: 0.75em; } }

/* reset things if necessary (fi wrong defaults set by external libs) */
/* core elements */
/* top-bar */
.top-bar {
  z-index: 10;
  top: 0; }
  @media (max-width: 991px) {
    .top-bar {
      min-height: 3.1em;
      /* needs min-height for tranistion (others don't transition) */
      max-height: 3.1em;
      transition: all 0.4s ease-in-out;
      overflow: hidden; }
      .top-bar .wrapper {
        display: flex;
        flex-direction: column;
        width: 100%; }
    .top-bar.active {
      overflow-y: auto;
      max-height: 100vh;
      min-height: 100vh; }
    .top-bar .t_close {
      display: none; }
    .top-bar .bar .message {
      margin-right: 0; } }

.bottom-bar {
  position: fixed;
  bottom: 0;
  z-index: 9;
  width: 100%; }

body:not(.home) {
  background: linear-gradient(181deg, #eaf3f8 0%, #ffffff 78%) no-repeat; }
  @media (max-width: 991px) {
    body:not(.home) {
      background-image: linear-gradient(181deg, #eaf3f8 0%, #ffffff 10%); } }
  body:not(.home) header {
    margin-top: 2em; }

.intro p {
  font-weight: 500; }

.showcase {
  display: block;
  width: 100%;
  margin: 1em 0;
  border-radius: 0.4rem; }
  .showcase img {
    width: 100%;
    border-radius: 1rem; }

#modals {
  position: fixed;
  z-index: 100;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.8);
  opacity: 0;
  transition: opacity 0.3s, visibility 0.3s; }
  #modals.active {
    opacity: 1;
    visibility: visible; }
  #modals .content {
    position: relative;
    background: #fff;
    padding: 4rem; }
    #modals .content .close {
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      position: absolute;
      top: 0;
      right: 0;
      width: 5rem;
      height: 5rem;
      background: #174489 url(/dist/images/Button/Close.svg) no-repeat center;
      background-size: 45%; }

/* country-select modal */
#modals [data-modal="country-select"] input {
  margin: calc(1em + 0.5vw) 0; }

/* visual header */
#header-main {
  overflow: hidden; }

#header-main.visual {
  position: relative;
  width: 100%;
  height: 50vw; }
  @media (min-width: 992px) {
    #header-main.visual {
      margin-top: -10vw; } }

#header-main.visual .img-container {
  position: absolute;
  left: 5%;
  width: 100%;
  height: 100%; }

#header-main.visual .underlay {
  background: #eaf6fd;
  height: 80%;
  width: 100%;
  position: absolute; }

#header-main.visual .overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent 65%, rgba(0, 0, 0, 0.35)); }

#header-main.visual .img-container img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%; }

#header-main.visual .grid {
  position: absolute;
  bottom: 9vw;
  width: 100%;
  padding: 1.5rem; }

#header-main.visual .hero-text {
  position: absolute;
  bottom: 0;
  color: #fff;
  font-size: calc(1vw + 1.5rem);
  max-width: 20em;
  text-shadow: 0 13px 20px rgba(0, 21, 93, 0.21); }

@media (min-width: 992px) {
  #header-main.visual .col-12 {
    margin-left: calc(18rem - 5vw); } }

@media screen and (min-width: 1520px) {
  #header-main.visual .col-12 {
    margin-left: 0; } }

/* flashes */
.alert {
  padding: 0.5em 0.75em;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
  border-radius: 0.4rem; }
  .alert.alert-error {
    background: url(/dist/images/Icons/Alert.svg) no-repeat left 0.5em center;
    background-size: 1.5em;
    background-color: #174489;
    padding-left: 2.5em; }
  .alert.alert-notice {
    background-color: #39c7ef; }

/* footer */
@media (max-width: 991px) {
  #page-footer {
    padding-top: 1.5rem; }
  #page-footer .logo {
    text-align: left; }
  .text {
    padding-top: 0;
    padding-bottom: 0; }
  .other ul {
    text-align: left;
    margin: 0;
    padding: 0;
    list-style: none; }
    .other ul li {
      display: inline-block;
      margin-right: 3rem; }
  .other a {
    color: #174489; } }

@media (min-width: 992px) {
  #page-footer {
    border-top: 1px solid #e3e3e3;
    height: 14rem;
    margin: 1.5em 0 0;
    width: auto; }
  #page-footer .info {
    height: 14rem; }
  #page-footer .text {
    display: flex;
    height: 100%;
    font-size: 1.44rem;
    color: #174489; }
    #page-footer .text > div {
      max-width: 40em;
      align-self: center; }
  #page-footer .logo {
    display: flex;
    height: 100%; }
    #page-footer .logo > a {
      align-self: center; }
  #page-footer a {
    text-decoration: none;
    color: #174489; }
  #page-footer ul {
    padding-left: 0; }
  #page-footer .primary {
    display: flex; }
  #page-footer .primary > li {
    width: calc(100% / 5);
    max-width: 10em; }
  #page-footer li {
    list-style-type: none;
    margin-left: 2.5vw; }
  #page-footer li li a {
    font-size: 1.6rem;
    color: #174489; }
  #page-footer .other ul {
    float: right;
    display: flex;
    height: 100%;
    font-size: 1.6rem; }
    #page-footer .other ul li {
      align-self: center; }
  #page-footer .copy {
    border-top: 1px solid #b0b0b0; }
  #page-footer .copy [class^="col-"]:nth-child(2) {
    text-align: right; }
  #page-footer .copy ul {
    display: flex;
    font-size: 1.6rem; }
    #page-footer .copy ul li {
      margin-right: 2.5vw;
      margin-left: 0; }
    #page-footer .copy ul li a {
      color: #4A4A4A; } }

/* specific page styling */
/* coffalyser */
body.coffalyser h2 {
  font-size: 2rem; }

body.coffalyser .key {
  font-size: 2rem;
  font-weight: 500;
  padding-left: 2.8em;
  background: url(/dist/images/Content/coffalyser-key.svg) no-repeat left center;
  background-size: auto 1em; }

/* main content sections */
/* cards with images */
@media (min-width: 992px) {
  .cards-with-images .card-wrapper {
    width: calc(calc(100% / 3) - 1em); }
  .card-wrapper {
    display: flex;
    flex-align: columns; } }

/* bar */
.bar {
  background-color: #fff;
  color: #174489;
  overflow: hidden;
  font-size: 1.8rem; }
  @media (min-width: 992px) {
    .bar .content {
      min-height: 3.2em;
      line-height: 3.2em; } }
  @media (max-width: 991px) {
    .bar .content {
      padding: 0.75em 0;
      text-align: left; } }
  .bar a,
  .bar a:visited,
  .bar a:hover,
  .bar a:active {
    color: #174489; }
  .bar .message {
    margin-right: 2em;
    vertical-align: middle; }
    @media (max-width: 991px) {
      .bar .message {
        margin-bottom: 0.5em; } }
  .bar .actions {
    text-align: right;
    -moz-text-align-last: right;
         text-align-last: right; }
    @media (max-width: 991px) {
      .bar .actions {
        text-align: left;
        -moz-text-align-last: left;
             text-align-last: left; } }
    .bar .actions > * {
      text-transform: uppercase;
      vertical-align: middle; }
      @media (min-width: 992px) {
        .bar .actions > * {
          margin-left: 2em; } }
  .bar .trigger.t_close {
    position: absolute;
    right: 1em;
    width: 1em;
    height: 1em;
    margin-top: 1em;
    background: url(/dist/images/Button/Close.svg) no-repeat center;
    background-size: contain;
    cursor: pointer; }
    .bar .trigger.t_close:hover {
      opacity: 0.6; }
    @media (max-width: 991px) {
      .bar .trigger.t_close {
        margin-top: 0; } }

.cookie-bar {
  background-color: #fff;
  z-index: 8; }

.image-with-caption img {
  border-radius: 0.8rem; }

/* small (resusable) components */
/* logo */
@media (min-width: 992px) {
  .logo img {
    vertical-align: middle;
    max-width: 15vw; } }

@media (max-width: 991px) {
  .logo img {
    height: 100%;
    padding: 0.45em 0; } }

.partners img {
  width: 100%;
  max-height: 7.5rem;
  -o-object-fit: contain;
     object-fit: contain; }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .partners img {
      /* IE10+ CSS - fix image squeeze  */
      max-height: none; } }

.partners > * {
  margin: auto 0;
  padding: 30px; }

/* flag icon */
.flag-icon {
  margin-right: 0.5em; }

/* artifact */
.artifact {
  position: absolute; }

/* styles */
.bg-blue {
  background: white; }

nav ul,
nav li {
  margin: 0;
  padding: 0;
  list-style: none; }

.primary {
  /*background: linear-gradient(to bottom, #fff 10rem, #5955AC 10rem);*/ }
  .primary a {
    color: #174489;
    font-weight: 500;
    text-decoration: none; }

.nav-secondary {
  background: #fff; }
  .nav-secondary a {
    color: #174489;
    text-decoration: none; }

nav li.active a,
nav li a:hover {
  color: #98C223;
  text-decoration: none; }

#nav-main {
  height: 9.75vw;
  background: url(/dist/images/Menubar.svg) no-repeat;
  background-size: contain; }

@media (max-width: 991px) {
  #nav-main {
    background-image: linear-gradient(to bottom, #fff, #fff 3.1em, #fff 3.1em);
    flex-grow: 9999; }
    #nav-main .icons,
    #nav-main .logo {
      height: 3.1em;
      overflow: hidden;
      background: #ffffff;
      box-shadow: 0 3px 19px 0 rgba(0, 0, 0, 0.08);
      z-index: 1; }
    #nav-main .primary {
      margin: 2rem 0;
      flex-direction: column;
      font-size: 2.2rem;
      line-height: 1.8; }
    #nav-main .other {
      padding: 0; }
      #nav-main .other .flex {
        flex-direction: column;
        padding: 1.5rem; }
        #nav-main .other .flex > li {
          padding: 0 0.75em; }
          #nav-main .other .flex > li,
          #nav-main .other .flex > li a {
            color: #fff; }
        #nav-main .other .flex .search {
          order: 1;
          margin-bottom: 1em; }
          #nav-main .other .flex .search .trigger {
            display: none; }
          #nav-main .other .flex .search form {
            display: block;
            position: relative; }
            #nav-main .other .flex .search form input {
              padding-right: 3em; }
            #nav-main .other .flex .search form:before {
              position: absolute;
              display: block;
              content: "";
              background: url(/dist/images/Icons/mobile-search.svg) no-repeat bottom right;
              background-size: auto 90%;
              top: 0;
              right: 0.18em;
              height: 100%;
              width: 2.5em;
              height: 2.5em; }
        #nav-main .other .flex .mobile-menu {
          order: 2; }
          #nav-main .other .flex .mobile-menu .primary {
            width: 100%; }
            #nav-main .other .flex .mobile-menu .primary > li {
              position: relative;
              padding-right: 2.5em;
              cursor: pointer; }
              #nav-main .other .flex .mobile-menu .primary > li:not(:last-of-type) {
                border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
              #nav-main .other .flex .mobile-menu .primary > li > a {
                display: block;
                padding: 0.5em 0;
                font-size: 2rem; }
              #nav-main .other .flex .mobile-menu .primary > li:after {
                display: block;
                content: "+";
                position: absolute;
                right: 0;
                top: 0;
                padding: 0.25em 0 0.25em 1em;
                font-size: 2em;
                line-height: 1;
                transition: transform 0.3s, transform-origin 0.3s; }
              #nav-main .other .flex .mobile-menu .primary > li.active:after {
                transform: rotate(-45deg);
                transform-origin: 1.2em 0.8em; }
              #nav-main .other .flex .mobile-menu .primary > li ul {
                font-weight: 300;
                display: none;
                margin-bottom: 1em; }
                #nav-main .other .flex .mobile-menu .primary > li ul li {
                  margin-bottom: 0.25em; }
              #nav-main .other .flex .mobile-menu .primary > li.active ul {
                display: block; }
        #nav-main .other .flex .user-nav {
          order: 3;
          flex-direction: column;
          padding: 1em 0.75em;
          background-color: white; }
          #nav-main .other .flex .user-nav > a {
            display: block;
            padding: 0.5em 0;
            font-size: 2rem; }
          #nav-main .other .flex .user-nav a {
            text-decoration: none; }
            #nav-main .other .flex .user-nav a:hover, #nav-main .other .flex .user-nav a:active {
              text-decoration: underline; }
            #nav-main .other .flex .user-nav a.button, #nav-main .other .flex .user-nav a.button:hover, #nav-main .other .flex .user-nav a.button:active {
              text-decoration: none; }
          #nav-main .other .flex .user-nav ul {
            font-weight: 300;
            margin-bottom: 1em; }
            #nav-main .other .flex .user-nav ul li {
              margin-bottom: 0.25em; }
      #nav-main .other .logo-lrqa {
        width: 15em;
        margin-left: 1em;
        display: block;
        margin: auto;
        margin-bottom: 1.5em;
        max-width: calc(100% - 1.5em); }
  .top-bar .t_menu {
    width: 1.6em;
    height: 100%;
    background-image: url(/dist/images/icons/burger.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    float: right; }
  .top-bar .mobile-menu {
    height: calc(100vh - 3.1em);
    background-image: linear-gradient(181deg, #eaf3f8 0%, #ffffff 78%); }
  .top-bar.active {
    min-height: 100vh; }
    .top-bar.active .t_menu {
      background-image: url(/dist/images/icons/close.svg); } }

@media (min-width: 992px) {
  .primary {
    font-size: 2rem; }
    .primary li {
      margin-left: 1.5em; }
  #nav-main .nav-primary {
    height: 7.75vw;
    line-height: 7.75vw;
    white-space: nowrap; } }
  @media (min-width: 992px) and (min-width: 992px) {
    #nav-main .nav-primary .logo img {
      margin-left: .5rem; } }

@media (min-width: 992px) {
  #nav-main .nav-primary .grid [class$="col-"] {
    height: 10rem; }
  #nav-main .nav-primary .flex > * {
    height: 10rem; }
  #nav-main .nav-primary .primary {
    float: right; }
  #nav-main .nav-secondary li {
    margin-right: 1.5em;
    font-size: 1.6rem;
    line-height: 6rem; }
  #nav-main .nav-primary .other {
    z-index: 1;
    /* needs it for the search pop-out */ }
    #nav-main .nav-primary .other > ul {
      flex-direction: row-reverse; }
      #nav-main .nav-primary .other > ul > * {
        position: relative;
        background-repeat: no-repeat;
        background-position: left 0.5em center;
        background-size: 1em;
        padding-left: 1em;
        cursor: pointer; }
    #nav-main .nav-primary .other .trigger {
      height: 100%;
      padding-left: 1.5em;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      background-repeat: no-repeat;
      background-position: center left; }
    #nav-main .nav-primary .other .popup {
      position: absolute;
      top: calc(100% + 0.6em);
      right: -2em;
      box-shadow: 0 0.5rem 1.5rem 0 rgba(0, 0, 0, 0.07), 0 1.5rem 1.5rem 0 rgba(50, 50, 93, 0.1);
      box-shadow: 0 1.5rem 3.5rem 0 rgba(50, 50, 93, 0.1), 0 0.5rem 1.5rem 0 rgba(0, 0, 0, 0.07); }
      #nav-main .nav-primary .other .popup:before {
        z-index: -1;
        content: "";
        position: absolute;
        background: #fff;
        bottom: calc(100% - 1.9em);
        right: 2em;
        width: 2em;
        height: 2em;
        transform: rotate(-45deg); }
    #nav-main .nav-primary .other .user-nav .trigger {
      background-image: url(/dist/images/Icons/User.svg); }
    #nav-main .nav-primary .other .user-nav a {
      color: #174489;
      text-decoration: none; }
    #nav-main .nav-primary .other .user-nav .popup {
      right: 0;
      background-color: #fff; }
      #nav-main .nav-primary .other .user-nav .popup li {
        line-height: 1;
        padding: 1em 1em;
        white-space: nowrap; }
      #nav-main .nav-primary .other .user-nav .popup ul:last-child li {
        background-color: #f4f5f7;
        margin-top: 15px; }
    #nav-main .nav-primary .other .search .trigger {
      background-image: url(/dist/images/Icons/looking-glass.svg); }
    #nav-main .nav-primary .other .search .popup {
      width: 20em; }
      #nav-main .nav-primary .other .search .popup input {
        border-radius: 0;
        margin: 0;
        border: none;
        padding-top: 1em;
        padding-bottom: 1em;
        box-shadow: none; }
    #nav-main .nav-primary .other .my-order {
      background-image: url(/dist/images/Icon/MyOrder.svg); } }

/* Buttons
  =============== */
.button, a.button, button, [type=submit], [type=reset], [type=button] {
  -webkit-appearance: none;
  border-radius: 2.4rem;
  background: #174489;
  color: #fff;
  box-shadow: 0 13px 20px 0 rgba(23, 68, 137, 0.4);
  font-weight: 500;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 1.6rem;
  text-transform: none;
  padding: 1.2rem;
  border: none;
  vertical-align: middle;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  line-height: 1; }
  @media (max-width: 991px) {
    .button, a.button, button, [type=submit], [type=reset], [type=button] {
      display: inline-block;
      margin: 0.75em 0.2em; } }
  @media (min-width: 992px) {
    .button, a.button, button, [type=submit], [type=reset], [type=button] {
      display: inline-block;
      margin: 0; } }

.button > *:hover, .button:hover, a.button > *:hover, a.button:hover, button > *:hover, button:hover, [type=submit] > *:hover, [type=submit]:hover, [type=reset] > *:hover, [type=reset]:hover, [type=button] > *:hover, [type=button]:hover {
  color: #e6e6e6;
  background: #102e5d;
  text-decoration: none; }

.button::-moz-focus-inner, a.button::-moz-focus-inner, button::-moz-focus-inner, [type=submit]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=button]::-moz-focus-inner {
  border: 0;
  padding: 0; }

.button:active, a.button:active, button:active, [type=submit]:active, [type=reset]:active, [type=button]:active {
  background: #174489;
  box-shadow: 0 13px 20px 0 rgba(23, 68, 137, 0.4);
  border-radius: 24px; }

.button > *:focus,
.button > *:active, .button:focus, .button:active, a.button > *:focus,
a.button > *:active, a.button:focus, a.button:active, button > *:focus,
button > *:active, button:focus, button:active, [type=submit] > *:focus,
[type=submit] > *:active, [type=submit]:focus, [type=submit]:active, [type=reset] > *:focus,
[type=reset] > *:active, [type=reset]:focus, [type=reset]:active, [type=button] > *:focus,
[type=button] > *:active, [type=button]:focus, [type=button]:active {
  box-shadow: 0 13px 20px 0 rgba(23, 68, 137, 0.4); }

.button > *, a.button > *, button > *, [type=submit] > *, [type=reset] > *, [type=button] > * {
  color: #fff; }

.accent-button,
a.accent-button {
  color: #ffffff;
  border: 1px solid #98C223;
  background: #98C223; }
  .accent-button:hover, .accent-button:focus, .accent-button:active,
  a.accent-button:hover,
  a.accent-button:focus,
  a.accent-button:active {
    color: #ffffff;
    border: 1px solid #76971b;
    background: #76971b; }

.alternative-button,
a.alternative-button {
  color: #fff;
  border: 1px solid #174489;
  background: #174489; }
  .alternative-button:hover, .alternative-button:focus, .alternative-button:active,
  a.alternative-button:hover,
  a.alternative-button:focus,
  a.alternative-button:active {
    color: #e6e6e6;
    border: 1px solid #102e5d;
    background: #102e5d; }

.muted-button,
a.muted-button {
  background: transparent;
  border: 1px solid #174489;
  color: black; }
  .muted-button:hover, .muted-button:focus, .muted-button:active,
  a.muted-button:hover,
  a.muted-button:focus,
  a.muted-button:active {
    color: black;
    border: 1px solid #010306;
    background: transparent; }

.disabled-button,
a.disabled-button {
  opacity: 0.7;
  background-color: #c4cdd5;
  border: #c4cdd5;
  pointer-events: none;
  cursor: default; }
  .disabled-button:hover, .disabled-button:focus, .disabled-button:active,
  a.disabled-button:hover,
  a.disabled-button:focus,
  a.disabled-button:active {
    opacity: 0.7;
    background-color: #c4cdd5;
    border: #c4cdd5; }

.transparent-button,
a.transparent-button {
  background: transparent;
  border: 1px solid #fff;
  color: #fff; }
  .transparent-button:hover, .transparent-button:focus, .transparent-button:active,
  a.transparent-button:hover,
  a.transparent-button:focus,
  a.transparent-button:active {
    color: #fff;
    border: 1px solid #fff;
    background: transparent; }
  .transparent-button:hover,
  a.transparent-button:hover {
    opacity: 0.7; }

/* Forms
  =============== */
[type=color], [type=date], [type=datetime], [type=datetime-local], [type=email], [type=month], [type=number], [type=password], [type=search], [type=tel], [type=text], [type=url], [type=week], [type=time], select, textarea {
  display: block;
  border: 1px solid #174489;
  border-radius: 0.4rem;
  padding: 0.65em;
  outline: none;
  background: #fff;
  margin-bottom: 0.1em;
  font-size: 1.8rem;
  width: 100%;
  max-width: 100%;
  color: #4A4A4A; }

[type=color]:hover, [type=date]:hover, [type=datetime]:hover, [type=datetime-local]:hover, [type=email]:hover, [type=month]:hover, [type=number]:hover, [type=password]:hover, [type=search]:hover, [type=tel]:hover, [type=text]:hover, [type=url]:hover, [type=week]:hover, [type=time]:hover, select:hover, textarea:hover {
  border: 1px solid #102e5d; }

[type=color]:focus, [type=color]:active, [type=date]:focus, [type=date]:active, [type=datetime]:focus, [type=datetime]:active, [type=datetime-local]:focus, [type=datetime-local]:active, [type=email]:focus, [type=email]:active, [type=month]:focus, [type=month]:active, [type=number]:focus, [type=number]:active, [type=password]:focus, [type=password]:active, [type=search]:focus, [type=search]:active, [type=tel]:focus, [type=tel]:active, [type=text]:focus, [type=text]:active, [type=url]:focus, [type=url]:active, [type=week]:focus, [type=week]:active, [type=time]:focus, [type=time]:active, select:focus, select:active, textarea:focus, textarea:active {
  outline-width: 0;
  border: 1px solid #4A4A4A;
  /*box-shadow: inset 0 1px 1px rgba(0, 0, 0, .1), 0 0 6px lighten($link-color, 30%);*/ }

textarea {
  overflow: auto;
  height: auto; }

fieldset {
  border: 1px solid #174489;
  border-radius: 0.4rem;
  padding: calc(1em + 0.5vw);
  margin: 1em 0; }

legend {
  padding: 0 0.5rem;
  font-weight: 600; }

select {
  color: #174489;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff url(/dist/images/Arrows/arrow-down-purple.svg) right 0.75em center no-repeat;
  line-height: 1; }

select::-ms-expand {
  display: none; }

[type="range"] {
  width: 100%; }

/* user-select prevents accidentally selecting text when clicking on the checkbox label */
.labeledCheckbox {
  margin: 0.5em 0 0.5em 1em;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none; }

.labeledCheckbox input {
  margin-right: 0.5em; }

.labeledCheckbox label {
  font-size: 1.44rem; }

/*
 *  The use of the appearance property was suggested by an article by Danny Markov at:
 *      http://tutorialzine.com/2015/07/quick-tip-style-form-elements-with-pseudo-selectors/
 *
 *  The appearance property has never been fully implemented by any browser, and is considered
 *  problematic. However, as of December 2016, there is now some talk of instituting a limited form:
 *      https://drafts.csswg.org/css-ui-4/#appearance-switching
 *
 *  This works on:
 *      Mac
 *          Safari
 *          Chrome
 *          Opera
 *      Windows
 *          IE
 *          Chrome
 *      iOS
 *          Safari
 *          Chrome
 *          Opera
 *          Firefox
 *
 *  IOW, it works in everything except desktop Firefox (not tested on Android).
 *
 *  The strange thing about Firefox is that -moz-appearance does not work the same as -webkit-appearance.
 *  If -moz-appearance is omitted altogether, the default rounded/shaded blue checkbox is used, as expected.
 *  But when -moz-appearance is included, it does have some effect: it styles the box with a 2px gray inset border,
 *  white background,   and its own checkmark character, but it does allow you to specify your own height and width.
 *  In the case of this particular site, I judged that this compromise is still better than the default,
 *  and so kept -moz-appearance in the css.
 */
input[type="checkbox"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  vertical-align: -0.35em;
  /* align box with the text label */
  width: 1.35em;
  height: 1.35em;
  color: #fff;
  background-color: #fff;
  border: 2px solid #174489;
  border-radius: 0.4rem;
  outline: none; }

input[type="checkbox"]::after {
  content: "\a0";
  /* Non-breaking space */
  position: absolute;
  font-size: 1.6rem;
  left: 0.3em;
  top: 0.2em; }

/*
 *  Add check mark character when the checkbox is checked.
 *  Unfortunately, the alignment of the check mark within the box varied from browser to browser,
 *  (mainly iOS browsers differ from desktop browsers)
 */
input[type="checkbox"]:checked::after {
  content: "\2713";
  /* Check mark character */ }

input[type="checkbox"]:checked,
input[type="checkbox"]:active {
  background-color: #2e96e3; }

label {
  font-weight: 600;
  max-width: 100%;
  display: block;
  margin: 1rem 0 0.5rem; }

@media (min-width: 768px) {
  .split-form label {
    text-align: right;
    padding: 0 0.5rem;
    margin-bottom: 1rem; } }

::-webkit-input-placeholder,
::-moz-placeholder,
:-moz-placeholder,
:-ms-input-placeholder {
  color: #4A4A4A; }

/* Custom
  =============== */
.error {
  color: #174489;
  font-size: 1.26rem;
  font-weight: 300; }
  .error.invisible {
    visibility: hidden; }

.form .error {
  text-align: right;
  height: 0;
  margin-bottom: 3em; }

.form input.invalid, .form input.invalid:hover, .form input.invalid:focus, .form input.invalid:active,
.form select.invalid,
.form select.invalid:hover,
.form select.invalid:focus,
.form select.invalid:active,
.form textarea.invalid,
.form textarea.invalid:hover,
.form textarea.invalid:focus,
.form textarea.invalid:active {
  border: 1px solid #174489;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1), 0 0 6px #6c9ce6; }

.form h2 {
  font-size: 2rem; }

.form .field label {
  font-size: 1.44rem;
  color: #5955ac;
  font-weight: 500; }
  .form .field label.optional::before {
    content: "Optional";
    font-size: 1.6rem;
    color: #4A4A4A;
    float: right;
    font-weight: 500; }

.form .field input[type="file"] {
  display: none; }

.form .field .file-input-overlay {
  cursor: pointer;
  background-color: white;
  padding: 12px;
  width: 100%;
  margin-bottom: 5px;
  font-weight: 300; }
  .form .field .file-input-overlay > p {
    display: inline;
    font-size: 16px;
    font-weight: bold; }
  .form .field .file-input-overlay > span {
    font-size: 16px;
    color: #5955ac;
    font-weight: 500; }
  .form .field .file-input-overlay:hover {
    text-decoration: underline; }

.form .field .sub-text > p {
  font-size: 1.26rem; }

/* Tables
  =============== */
table, .table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  max-width: 100%; }

thead th {
  border-bottom: 2px solid #174489; }

tfoot th {
  border-top: 2px solid #174489; }

td {
  border-bottom: 1px solid #174489; }

th,
td {
  text-align: left;
  padding: .3em; }
  th:first-child,
  td:first-child {
    padding-left: 0; }
  th:last-child,
  td:last-child {
    padding-right: 0; }

caption {
  padding: calc(1em + 0.5vw) 0;
  caption-side: bottom;
  color: #ababab; }

.striped-table tbody tr:nth-child(odd) {
  background-color: #f8f8f8; }

@media (min-width: 992px) {
  .table {
    display: table;
    border: 2px solid #174489;
    border-radius: 0.4rem; }
    .table .thead {
      display: table-header-group; }
    .table .tbody {
      display: table-row-group; }
    .table .tr {
      display: table-row; }
      .table .tr > .th, .table .tr > .td {
        padding: 0.25em 0.75em;
        display: table-cell;
        border-bottom: 2px solid #174489; }
      .table .tr .th {
        padding: 0.75em; }
      .table .tr:last-child .td {
        border-bottom: none; } }

/* reusable modules */
.card,
body.medium-screen .card-medium-down,
body.small-screen .card-medium-down {
  display: flex;
  flex-direction: column;
  min-height: 4rem; }
  .card .wrapper,
  body.medium-screen .card-medium-down .wrapper,
  body.small-screen .card-medium-down .wrapper {
    position: relative;
    background: #fff;
    display: flex;
    flex-direction: column;
    flex-grow: 9999;
    border-radius: 0.4rem; }
    @media (min-width: 992px) {
      .card .wrapper,
      body.medium-screen .card-medium-down .wrapper,
      body.small-screen .card-medium-down .wrapper {
        box-shadow: 0 0.5rem 1.5rem 0 rgba(0, 0, 0, 0.07), 0 1.5rem 1.5rem 0 rgba(50, 50, 93, 0.1);
        padding: calc(calc(1em + 0.5vw) * 1.2) calc(1em + 0.5vw); } }
    @media (max-width: 991px) {
      .card .wrapper,
      body.medium-screen .card-medium-down .wrapper,
      body.small-screen .card-medium-down .wrapper {
        padding: 0.5em 0.75em; } }
    .card .wrapper .category,
    body.medium-screen .card-medium-down .wrapper .category,
    body.small-screen .card-medium-down .wrapper .category {
      position: absolute;
      right: 0;
      top: 1rem;
      color: #fff;
      font-weight: 500;
      padding: 0.25rem 1rem;
      font-size: 1.26rem;
      background: #174489;
      border-radius: 1.2rem 0 0 1.2rem; }
    .card .wrapper .card-info,
    body.medium-screen .card-medium-down .wrapper .card-info,
    body.small-screen .card-medium-down .wrapper .card-info {
      margin-top: 1em; }
    .card .wrapper .image,
    body.medium-screen .card-medium-down .wrapper .image,
    body.small-screen .card-medium-down .wrapper .image {
      position: relative; }
      .card .wrapper .image img,
      body.medium-screen .card-medium-down .wrapper .image img,
      body.small-screen .card-medium-down .wrapper .image img {
        width: 100%; }
    .card .wrapper h2,
    body.medium-screen .card-medium-down .wrapper h2,
    body.small-screen .card-medium-down .wrapper h2 {
      font-size: 2rem; }
    .card .wrapper .meta,
    body.medium-screen .card-medium-down .wrapper .meta,
    body.small-screen .card-medium-down .wrapper .meta {
      display: flex;
      position: relative;
      align-items: center;
      margin-bottom: 1em; }
      .card .wrapper .meta .favorite-toggler,
      body.medium-screen .card-medium-down .wrapper .meta .favorite-toggler,
      body.small-screen .card-medium-down .wrapper .meta .favorite-toggler {
        background-image: url("/dist/images/Stars/star-faint.png");
        cursor: pointer;
        height: 2.1rem;
        width: 2.1rem;
        position: absolute;
        right: 0; }
        .card .wrapper .meta .favorite-toggler:hover, .card .wrapper .meta .favorite-toggler.active,
        body.medium-screen .card-medium-down .wrapper .meta .favorite-toggler:hover,
        body.medium-screen .card-medium-down .wrapper .meta .favorite-toggler.active,
        body.small-screen .card-medium-down .wrapper .meta .favorite-toggler:hover,
        body.small-screen .card-medium-down .wrapper .meta .favorite-toggler.active {
          background-image: url("/dist/images/Stars/star-bright.png"); }
      .card .wrapper .meta .date,
      body.medium-screen .card-medium-down .wrapper .meta .date,
      body.small-screen .card-medium-down .wrapper .meta .date {
        margin-left: 1em; }
    .card .wrapper .info,
    body.medium-screen .card-medium-down .wrapper .info,
    body.small-screen .card-medium-down .wrapper .info {
      flex-grow: 1;
      font-size: 1.62rem;
      line-height: 1.4; }
      .card .wrapper .info p > b,
      body.medium-screen .card-medium-down .wrapper .info p > b,
      body.small-screen .card-medium-down .wrapper .info p > b {
        font-weight: 400; }

.latest-card {
  background: #ffffff;
  box-shadow: 0 10px 30px 0 rgba(32, 33, 47, 0.08);
  border-radius: 1rem; }
  .latest-card, .latest-card:hover {
    text-decoration: none;
    color: #4A4A4A; }
  @media (max-width: 991px) {
    .latest-card {
      background: transparent;
      box-shadow: none; } }
  @media (min-width: 992px) {
    .latest-card .col-md-5 {
      padding: 0; } }
  .latest-card img {
    border-radius: 1rem 0 0 1rem; }
    @media (min-width: 992px) {
      .latest-card img {
        min-height: 28rem;
        max-height: 28rem;
        -o-object-fit: cover;
           object-fit: cover;
        width: 100%;
        display: block; } }
    @media (max-width: 991px) {
      .latest-card img {
        border-radius: 1rem 1rem 0 0;
        width: 100%; } }
  .latest-card .body {
    padding: 1.9rem; }
    @media (max-width: 991px) {
      .latest-card .body {
        padding-top: 0;
        padding-bottom: 0; } }
    .latest-card .body .type {
      font-size: 1.6rem;
      color: #637381;
      font-weight: 500;
      margin: 0 0 0.4rem 0; }
    .latest-card .body .title {
      color: #174489;
      font-weight: 700;
      line-height: 1.1;
      margin: 0; }
    .latest-card .body .summary {
      margin-top: 0.4rem;
      line-height: 2.6rem; }
    .latest-card .body .line {
      width: 100%;
      opacity: 0.1;
      border: 1px solid #174489; }
    .latest-card .body .date {
      font-size: 1.6rem;
      color: #637381;
      font-weight: 500;
      margin: 0.6rem 0 0 0.3rem; }

/* pagination */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 1.5rem; }
  .pagination a, .pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0.2em;
    border: 2px solid #174489;
    border-radius: 50%;
    height: 2.75em;
    width: 2.75em;
    text-decoration: none;
    font-size: 1.44rem;
    font-weight: 600;
    color: #174489; }
    .pagination a.active, .pagination span.active {
      background-color: #174489;
      color: #fff; }
    .pagination a:hover:not(.active), .pagination span:hover:not(.active) {
      text-decoration: none;
      background-color: #e2ecfa; }
    .pagination a:active:not(.active), .pagination span:active:not(.active) {
      color: #fff;
      background-color: #174489; }

/* pimcore snippets */
/* page specific */
body.home h2,
body.home h2.title {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.1; }

body.home .top-bar {
  position: relative; }
  body.home .top-bar #nav-main {
    background: none; }

body.home #header-main {
  position: relative;
  width: 100%;
  min-height: 30rem;
  margin-top: -9.75vw; }
  body.home #header-main .wrapper {
    position: absolute;
    width: 100%;
    bottom: 13vw; }
    @media (max-width: 991px) {
      body.home #header-main .wrapper {
        left: 0; }
        body.home #header-main .wrapper .button {
          font-size: calc(2vw + 0.8rem); } }
    body.home #header-main .wrapper .col-12 {
      margin-left: 0; }
      @media (min-width: 768px) {
        body.home #header-main .wrapper .col-12 {
          max-width: 45em; } }
      body.home #header-main .wrapper .col-12 .hero-text {
        line-height: 1.2;
        max-width: 35vw;
        color: #fff;
        font-size: 4vw;
        text-shadow: 0 13px 20px rgba(0, 21, 93, 0.21); }
        body.home #header-main .wrapper .col-12 .hero-text p {
          margin: 0; }
        body.home #header-main .wrapper .col-12 .hero-text .more {
          font-size: 1.8rem;
          color: #fff;
          font-weight: 400; }
  body.home #header-main .img-container img {
    width: 100%; }
  @media (max-width: 991px) {
    body.home #header-main .img-container {
      padding-bottom: 27vw; }
      body.home #header-main .img-container img {
        transform: translate3d(-13vw, 12vw, 0) scale3d(1.6, 1.6, 1.6); } }

body.home .latest-item {
  margin-top: 3rem; }
  body.home .latest-item .latest-card {
    flex-flow: row-reverse;
    box-shadow: none; }
    body.home .latest-item .latest-card img {
      border-radius: 1rem;
      width: 100%; }
    @media (max-width: 991px) {
      body.home .latest-item .latest-card {
        flex-flow: column; } }

body.home .news-events {
  margin-top: 8rem;
  padding-top: 9rem;
  background: url(/dist/images/home-bg-gradient.svg) no-repeat;
  background-size: 100%; }
  @media (max-width: 991px) {
    body.home .news-events {
      background-size: 300%; } }
  body.home .news-events .card .wrapper {
    background: none;
    box-shadow: none;
    padding: 0; }
    body.home .news-events .card .wrapper img {
      border-radius: 0.4rem;
      margin-bottom: 0.5rem; }
  @media (min-width: 992px) {
    body.home .news-events .card.col-md-4 {
      max-width: 30%; } }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    body.home .news-events .card {
      /* IE10+ CSS - fix buggy flexbox  */
      display: block !important; }
      body.home .news-events .card .wrapper {
        display: block !important;
        flex-grow: 0; } }

body.home .signup {
  padding: 5rem 0;
  /* search bar */ }
  body.home .signup .error {
    position: absolute;
    margin-top: .5em;
    margin-left: 2rem; }
  body.home .signup .search-bar {
    position: relative;
    width: 100%;
    background-color: #fff;
    border: none;
    border-radius: 2.8rem;
    box-shadow: 0 0.5rem 1.5rem 0 rgba(0, 0, 0, 0.07), 0 1.5rem 1.5rem 0 rgba(50, 50, 93, 0.1);
    box-shadow: 0 5px 20px 0 rgba(43, 133, 217, 0.25); }
    body.home .signup .search-bar input.query {
      border: none;
      padding: 1.2rem 2rem;
      border-radius: 2.2rem;
      display: inline-block;
      vertical-align: middle;
      width: calc(100% - 7.6em); }
      body.home .signup .search-bar input.query::-webkit-input-placeholder {
        color: brighten(40%); }
      body.home .signup .search-bar input.query::-moz-placeholder {
        color: brighten(40%); }
      body.home .signup .search-bar input.query:-ms-input-placeholder {
        color: brighten(40%); }
      body.home .signup .search-bar input.query::-ms-input-placeholder {
        color: brighten(40%); }
      body.home .signup .search-bar input.query::placeholder {
        color: brighten(40%); }
    body.home .signup .search-bar button {
      margin: 0;
      width: 7em;
      line-height: 0.7;
      vertical-align: middle;
      position: absolute;
      right: 0.5rem;
      top: 0.5rem;
      bottom: 0.5rem; }

body.pilots #page-footer {
  margin-top: 0; }

body.pilots #map {
  position: relative;
  width: 100%;
  min-height: 30rem;
  margin-top: -9.75vw;
  background-color: #eaf3f8;
  padding: 0; }
  @media (max-width: 991px) {
    body.pilots #map {
      background-color: rgba(114, 169, 59, 0.9); } }
  body.pilots #map .image-container {
    position: relative; }
    body.pilots #map .image-container img {
      display: block;
      width: 100%; }
    @media (max-width: 991px) {
      body.pilots #map .image-container {
        z-index: -1;
        transform: translate3d(-16vw, 8vw, 0) scale3d(1.6, 1.6, 1.6); } }
    body.pilots #map .image-container .locations .location {
      position: absolute;
      z-index: 1; }
      body.pilots #map .image-container .locations .location.active {
        z-index: 2;
        /* make sure they are on top when active */ }
      body.pilots #map .image-container .locations .location .pin {
        display: block;
        font-size: 1.3vw;
        line-height: 1;
        cursor: pointer; }
        body.pilots #map .image-container .locations .location .pin:hover h2 {
          text-decoration: underline; }
        body.pilots #map .image-container .locations .location .pin:before {
          display: block;
          position: absolute;
          content: "";
          background: url(/dist/images/pin.svg) no-repeat;
          background-size: auto 100%;
          width: 1.3em;
          height: 1.3em;
          -o-object-fit: contain;
             object-fit: contain;
          vertical-align: middle; }
        body.pilots #map .image-container .locations .location .pin h2 {
          margin-left: 1.5em;
          display: inline-block;
          font-size: calc(1.3vw);
          font-weight: 600; }
      body.pilots #map .image-container .locations .location .balloon {
        font-size: calc(1.3vw);
        line-height: 1;
        min-width: 12em;
        position: absolute;
        bottom: 2em;
        transform: translateX(calc(-50% + 0.65em));
        -webkit-filter: drop-shadow(0 10px 30px rgba(32, 33, 47, 0.08));
                filter: drop-shadow(0 10px 30px rgba(32, 33, 47, 0.08)); }
        body.pilots #map .image-container .locations .location .balloon .wrapper {
          font-size: calc(1.3vw);
          line-height: 1;
          background: #fff;
          -webkit-clip-path: polygon(0% calc(100% - 0.5em), calc(50% - 0.5em) calc(100% - 0.5em), calc(50%) 100%, calc(50% + 0.5em) calc(100% - 0.5em), 100% calc(100% - 0.5em), 100% 0%, 0% 0%);
                  clip-path: polygon(0% calc(100% - 0.5em), calc(50% - 0.5em) calc(100% - 0.5em), calc(50%) 100%, calc(50% + 0.5em) calc(100% - 0.5em), 100% calc(100% - 0.5em), 100% 0%, 0% 0%); }
          body.pilots #map .image-container .locations .location .balloon .wrapper ul {
            margin: 0;
            list-style: none;
            padding: 0;
            padding-bottom: 0.5em; }
            body.pilots #map .image-container .locations .location .balloon .wrapper ul li {
              margin: 0.5em 1em;
              padding: 0.5em 0; }
              body.pilots #map .image-container .locations .location .balloon .wrapper ul li:not(:last-of-type) {
                border-bottom: solid 1px #eaf3f8; }
              body.pilots #map .image-container .locations .location .balloon .wrapper ul li a,
              body.pilots #map .image-container .locations .location .balloon .wrapper ul li a:visited,
              body.pilots #map .image-container .locations .location .balloon .wrapper ul li a:hover,
              body.pilots #map .image-container .locations .location .balloon .wrapper ul li a:active {
                color: #174489;
                font-size: 1.44rem;
                font-weight: 600;
                line-height: 1.2; }
                @media (max-width: 991px) {
                  body.pilots #map .image-container .locations .location .balloon .wrapper ul li a,
                  body.pilots #map .image-container .locations .location .balloon .wrapper ul li a:visited,
                  body.pilots #map .image-container .locations .location .balloon .wrapper ul li a:hover,
                  body.pilots #map .image-container .locations .location .balloon .wrapper ul li a:active {
                    font-size: 1.3vw; } }
  @media (min-width: 992px) {
    body.pilots #map .map-container {
      position: absolute;
      height: 100%;
      width: 100%;
      top: 0;
      max-height: 100vh; }
      body.pilots #map .map-container .overlay {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 100%; } }
  body.pilots #map .bar {
    position: absolute;
    width: 26vw;
    top: calc(2vh + 9.75vw);
    bottom: 2vh;
    left: 4vw;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    background-color: #fff;
    border-radius: 0.8rem; }
    @media (max-width: 991px) {
      body.pilots #map .bar {
        position: static;
        margin-right: 4vw;
        margin-left: 4vw;
        margin-top: -5vw;
        margin-bottom: calc(2vh + 9.75vw);
        width: auto; } }
    body.pilots #map .bar .card-mini .wrapper {
      display: flex;
      flex-direction: row;
      margin: 0.75rem 1.5rem;
      padding: 0.75rem 0;
      box-shadow: none; }
      body.pilots #map .bar .card-mini .wrapper:not(:last-of-type) {
        border-bottom: solid 1px #eaf3f8; }
      body.pilots #map .bar .card-mini .wrapper .image-wrapper {
        width: 33%; }
        body.pilots #map .bar .card-mini .wrapper .image-wrapper .image {
          position: relative;
          width: 100%;
          padding-bottom: 100%; }
          body.pilots #map .bar .card-mini .wrapper .image-wrapper .image img {
            position: absolute;
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
               object-fit: cover;
            border-radius: 0.4rem; }
      body.pilots #map .bar .card-mini .wrapper .info {
        width: 67%;
        padding-right: 0.75rem; }
        body.pilots #map .bar .card-mini .wrapper .info .meta {
          color: #4A4A4A;
          margin-bottom: 0.25em;
          margin-right: 0.75rem; }
        body.pilots #map .bar .card-mini .wrapper .info h3,
        body.pilots #map .bar .card-mini .wrapper .info .meta {
          margin: 0;
          font-size: calc(1vw + 0.3rem); }
          @media (max-width: 991px) {
            body.pilots #map .bar .card-mini .wrapper .info h3,
            body.pilots #map .bar .card-mini .wrapper .info .meta {
              font-size: calc(2vw + 0.8rem); } }

body.pilots #project h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: bold;
  font-size: 2.8rem; }

body.pilots #project .aims {
  color: #98C223;
  font-weight: 700;
  font-size: 1.44rem;
  margin-bottom: 5rem;
  margin-top: 0.3rem; }

body.pilots #project .summary {
  font-weight: 700;
  color: #174489; }

body.pilots #project .facts .info {
  padding: 0 1rem;
  display: flex;
  flex-grow: 999;
  flex-direction: column; }
  body.pilots #project .facts .info .description {
    margin-top: 0.5rem; }
  body.pilots #project .facts .info h2 {
    margin: 0;
    font-weight: 500;
    font-size: 1.8rem; }

@media (max-width: 991px) {
  body.pilots #project .facts {
    padding-right: 11px;
    padding-left: 11px; }
    body.pilots #project .facts > * {
      padding-right: 4px;
      padding-left: 4px; }
    body.pilots #project .facts .info {
      font-size: 2vw; }
      body.pilots #project .facts .info h2 {
        font-size: 2.2vw; } }

body.pilots #project .context {
  color: #174489;
  font-size: 2rem; }

body.pilots #project .fact {
  padding-bottom: 100%;
  position: relative;
  border-radius: 0.4rem;
  box-shadow: 0 10px 30px 0 rgba(32, 33, 47, 0.08);
  background-color: #fff;
  display: flex; }
  body.pilots #project .fact .wrapper {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
    display: flex; }
    body.pilots #project .fact .wrapper .content {
      width: 100%; }
  body.pilots #project .fact img {
    height: 60%;
    margin-top: 1rem;
    margin-bottom: -1.5rem; }

body.pilots #project .body {
  margin-bottom: 1.5rem; }

body.pilots #project .contact a {
  color: #4A4A4A; }

body.library h1 {
  font-size: 3.6rem;
  font-weight: 700; }

body.library h2 {
  font-size: 3rem;
  font-weight: 700; }

body.library .downloads ul {
  list-style: none;
  padding: 0;
  margin-bottom: 2em; }
  body.library .downloads ul li {
    display: flex;
    font-weight: 500;
    line-height: 2.5rem;
    margin-bottom: 1.2rem;
    padding: 1em;
    background: #ffffff;
    box-shadow: 0 10px 30px 0 rgba(32, 33, 47, 0.08);
    border-radius: 0.4rem; }
    body.library .downloads ul li .name {
      display: flex;
      flex-grow: 1; }
      body.library .downloads ul li .name a {
        color: #98C223; }
    body.library .downloads ul li .size {
      width: 5em;
      font-size: 1.44rem; }
    body.library .downloads ul li .download {
      display: block;
      width: 2em;
      width: 1.3em;
      height: 1.3em;
      background: url(/dist/images/icons/download.svg) no-repeat;
      background-size: auto 100%; }

.latest-filter-buttons {
  margin-bottom: 1em;
  text-align: center; }
  @media (min-width: 992px) {
    .latest-filter-buttons {
      margin-top: 4.9rem; } }
  .latest-filter-buttons .button {
    line-height: 0.6rem;
    font-weight: 400; }
  .latest-filter-buttons form {
    display: inline-block;
    justify-content: center;
    align-items: center;
    padding: 0;
    border: 2px solid #174489;
    border-radius: 2.4rem; }
    @media (max-width: 991px) {
      .latest-filter-buttons form {
        margin: 0.75em 0.2em; } }
    @media (min-width: 992px) {
      .latest-filter-buttons form {
        margin: 0 0.5em 0.1em; } }
    .latest-filter-buttons form input {
      background: transparent;
      border: 0;
      font-size: 1.6rem;
      color: #174489; }
      .latest-filter-buttons form input:focus {
        outline: none; }
      .latest-filter-buttons form input::-webkit-input-placeholder {
        opacity: 1;
        color: #4A4A4A;
        line-height: 1.3;
        font-size: inherit; }
      .latest-filter-buttons form input::-moz-placeholder {
        opacity: 1;
        color: #4A4A4A;
        line-height: 1.3;
        font-size: inherit; }
      .latest-filter-buttons form input:-ms-input-placeholder {
        opacity: 1;
        color: #4A4A4A;
        line-height: 1.3;
        font-size: inherit; }
      .latest-filter-buttons form input::-ms-input-placeholder {
        opacity: 1;
        color: #4A4A4A;
        line-height: 1.3;
        font-size: inherit; }
      .latest-filter-buttons form input::placeholder {
        opacity: 1;
        color: #4A4A4A;
        line-height: 1.3;
        font-size: inherit; }
    .latest-filter-buttons form:before {
      content: "";
      background: url(/dist/images/icons/search.svg) no-repeat;
      background-size: 65%;
      background-position: center;
      margin: 0 0.2em 0 0;
      height: 1.5em;
      width: 1.5em;
      display: inline-block;
      vertical-align: middle; }

.latest-items .latest-item {
  margin-bottom: 2em; }

@media (min-width: 992px) {
  .msg-no-result {
    text-align: center !important;
    text-align: center !important;
    -moz-text-align-last: center !important;
    -moz-text-align-last: center !important;
    text-align-last: center !important;
    text-align-last: center !important; } }

@media (min-width: 992px) {
  body.contact .form {
    margin: 1.5rem; } }

body.contact .contact-form {
  background: #ffffff; }
  @media (min-width: 992px) {
    body.contact .contact-form {
      box-shadow: 0 1rem 3rem 0 rgba(32, 33, 47, 0.08);
      border-radius: 1rem;
      flex-direction: row-reverse; } }
  @media (max-width: 991px) {
    body.contact .contact-form {
      flex-direction: column-reverse; } }
  @media (min-width: 992px) {
    body.contact .contact-form .info {
      padding: 0; } }
  body.contact .contact-form .info img {
    width: 100%;
    height: 100%;
    display: block; }
    @media (min-width: 992px) {
      body.contact .contact-form .info img {
        border-radius: 1rem 0 0 1rem;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: right 0px top 0;
           object-position: right 0px top 0; } }
    @media (max-width: 991px) {
      body.contact .contact-form .info img {
        height: 50vw;
        -o-object-fit: cover;
           object-fit: cover; } }
  body.contact .contact-form .button {
    padding-left: 4rem;
    padding-right: 4rem; }
  body.contact .contact-form input,
  body.contact .contact-form textarea {
    border-color: #174489; }
  body.contact .contact-form textarea {
    height: 12rem; }
  body.contact .contact-form h2 {
    margin-bottom: 2rem; }


/*# sourceMappingURL=bundle_website.dc09.css.map*/