@charset "UTF-8";
@-ms-viewport {
  width: device-width; }
@viewport {
  width: device-width; }

/*
 * Declarations which should be put at the top of the document e.g. @font-face declarations and CSS viewports.
 */
html {
  box-sizing: border-box; }

hr {
    border: solid #f89c1c;
    border-width: 2px 0 0;
    clear: both;
    margin: 1.25em 0 1.1875em;
    height: 0;
}

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

/*
 * Normalize
 *
 * A cut-down version of normalize.css
 * @author Nicolas Gallagher
 * @link http://necolas.github.com/normalize.css/
 */
article,
aside,
details,
figcaption,
figure,
main,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block; }

[hidden] {
  display: none; }

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  overflow-y: scroll;
  /* 2 */ }

button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline; }

optgroup {
  font-weight: bold; }

button,
input {
  line-height: normal; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
  /* 3 */ }

button[disabled],
html input[disabled] {
  cursor: default; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

@-webkit-keyframes ScaledUpFadeIn {
  0% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4);
    opacity: 0; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

@keyframes ScaledUpFadeIn {
  0% {
    -webkit-transform: scale(0.4);
            transform: scale(0.4);
    opacity: 0; }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1; } }

.u-aniScaledUpFadeIn {
  -webkit-animation: ScaledUpFadeIn 0.3s both;
          animation: ScaledUpFadeIn 0.3s both; }

@-webkit-keyframes FlyDown {
  0% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

@keyframes FlyDown {
  0% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; } }

.u-aniFlyDown {
  -webkit-animation: FlyDown 0.3s both;
          animation: FlyDown 0.3s both; }

@-webkit-keyframes FlyUpOut {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0; } }

@keyframes FlyUpOut {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; }
  100% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0; } }

.u-aniFlyUpOut {
  pointer-events: none;
  -webkit-animation: FlyUpOut 0.3s both;
          animation: FlyUpOut 0.3s both; }

@-webkit-keyframes Pulsate {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes Pulsate {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.landingPage {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    position: relative
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: 15px;
  margin-left: 15px;
}

.u-aniPulsate {
  -webkit-animation: Pulsate 0.3s infinite ease-in-out;
          animation: Pulsate 0.3s infinite ease-in-out; }

.u-brand {
  font-family: "Roboto Slab", serif;
  color: #f89c1c; }

.u-brandColor-primary {
  color: #f89c1c; }

.u-brandColor-secondary {
  color: #252839; }

.u-brandColor-teritary {
  color: #34363C; }

.u-brandFace {
  font-family: "Roboto Slab", serif; }

.u-brandLogo {
  display: inline-block;
  width: 330px;
  height: 160px;
  max-width: 100%;
  fill: #f89c1c;
  vertical-align: top; }

.u-brandLogo--bright .u-brandLogo__typo {
  fill: #FFF; }

.u-brandLogo__outlinePath {
  fill: #FFF; }

.u-brandLogo--small {
  width: 200px;
  height: 50px; }

.u-brandLogo--huge {
  width: 250px;
  height: 250px; }
  @media screen and (min-width: 650px) {
    .u-brandLogo--huge {
      width: 300px;
      height: 300px; } }

.u-brandLogo--square {
  width: 70px;
  height: 70px; }

.u-brandLogo__primary {
  fill: #FFFFFF; }

.u-brandLogo__typo,
.u-brandLogo__secondary {
  fill: #252839; }

.siteHeader--shaded .siteHeader__brandLogo .u-brandLogo__primary,
.siteFooter .u-brandLogo__primary {
  fill: #FFFFFF; }

.siteHeader--shaded .siteHeader__brandLogo .u-brandLogo__secondary,
.siteFooter .u-brandLogo__secondary {
  fill: #f89c1c; }

/**
 * `Carousel navigation arrows`:
 *
 */
.carousel-control span,
.fsgArrowLeft,
.fsgArrowRight {
    position: absolute;
    width: 25px;
    height: 25px;
    top: 50%;
    margin-top: -36px;
    opacity: 0.6;
    filter: alpha(opacity=70);
    cursor: pointer;
    outline: none;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
    overflow: hidden;
}
.carousel-control.icon-prev,
.fsgArrowLeft {
    left: 15px;
    background: url("../Images/arrow-left.svg") no-repeat;
}
.carousel-control.icon-next,
.fsgArrowRight {
    right: 15px;
    background: url("../Images/arrow-right.svg") no-repeat;
}
.mobile .fsgArrowLeft {
    left: 0;
}
.mobile .fsgArrowRight {
    right: 0;
}
.fsgArrowLeft:hover,
.fsgArrowRight:hover,
.fsgArrowLeft:focus,
.fsgArrowRight:focus {
    opacity: 1;
    filter: none;
}


/**
 * `u-isBlock`:
 * Sets the display mode of the given node to `block`.
 *
 *     @example
 *     <div>
 *       <span class="u-isBlock">This text should occupy the whole row even though it's a span node.</span>
 *       <span>Lorem ipsum dolor sit...</span>
 *     </div>
 */
.u-isBlock {
  display: block !important; }

/**
 * `u-isHidden`:
 * Hides the given node from both screenreaders and browsers.
 *
 *     @example
 *     <div>
 *       <span class="u-isHidden">This text should not be visible.</span>
 *       <span>Lorem ipsum dolor sit...</span>
 *     </div>
 */
.u-isHidden {
  display: none !important;
  visibility: hidden; }

/**
 * `u-isInvisible`:
 * Hides the given node visually and from screenreaders, but maintains the layout.
 *
 *     @example
 *     <div>
 *       <span class="u-isInvisible">This text should not be visible but should maintain it's layout.</span>
 *       <span>Lorem ipsum dolor sit...</span>
 *     </div>
 */
.u-isInvisible {
  visibility: hidden; }

@media screen and (max-width: 649px) {
  .mOnly {
    display: block; } }

@media screen and (min-width: 650px) {
  .mOnly {
    display: none; } }

@media screen and (min-width: 1250px) {
  .mOnly {
    display: none; } }

@media screen and (max-width: 649px) {
  .lOnly {
    display: none; } }

@media screen and (min-width: 650px) {
  .lOnly {
    display: block; } }

@media screen and (min-width: 1250px) {
  .lOnly {
    display: block; } }

@media screen and (max-width: 649px) {
  .ml {
    display: block; } }

@media screen and (min-width: 650px) {
  .ml {
    display: block; } }

@media screen and (min-width: 1250px) {
  .ml {
    display: block; } }

/**
 * `u-floatRight`:
 * Floats the element to it's right boundary.
 *
 *     @example
 *     <div class="u-cf">
 *       <div class="u-floatRight">This text should not be visible but should maintain it's layout.</div>
 *     </div>
 */
.u-floatRight {
  float: right; }

/**
 * `u-floatLeft`:
 * Floats the element to it's left boundary.
 *
 *     @example
 *     <div class="u-cf">
 *       <div class="u-floatLeft">This text should not be visible but should maintain it's layout.</div>
 *     </div>
 */
.u-floatLeft {
  float: left; }

/**
 * `u-floatLeft`:
 * Clearfix for floated elements, which should be applied to the sorrounding element.
 *
 *     @example
 *     <div class="u-cf">
 *       <div class="u-floatRight">This text should not be visible but should maintain it's layout.</div>
 *     </div>
 */
.u-cf:before, .u-cf:after,
.u-clearfix:before,
.u-clearfix:after {
  content: '';
  display: table; }

.u-cf:after,
.u-clearfix:after {
  clear: both; }

/**
 * Spacing utilities:
 * Short utility classes for applying spacings to nodes. The name scheme is pretty simple.
 * Each class begins with `u-` followed by either `p` for padding, or `m` for margin, which is
 * then followed by the optional direction of `t` for a top margin, `r` for a right margin and so on.
 * After specifying the direction, the unit of spacing needs to be specified.
 * Since we follow a strict vertical rythm, you have two options available, either `1/2` for half of a
 * typographic rythm spacing or `1/1` for one whole spacing of the typographic rythm.
 *
 * For example, if you want your div to include a whole bottom padding, the class would be `u-pb1/1`.
 *
 *     @example
 *     <div class="u-pb1/1">
 *       This div should have a bottom padding of one whole typographic row.
 *     </div>
 */
.u-m0 {
  margin: 0 !important; }

.u-ml0 {
  margin-left: 0 !important; }

.u-mr0 {
  margin-right: 0 !important; }

.u-mb0 {
  margin-bottom: 0 !important; }

.u-mt0 {
  margin-top: 0 !important; }

.u-p0 {
  padding: 0 !important; }

.u-pl0 {
  padding-left: 0 !important; }

.u-pr0 {
  padding-right: 0 !important; }

.u-pb0 {
  padding-bottom: 0 !important; }

.u-pt0 {
  padding-top: 0 !important; }

.u-m1\/1 {
  margin: 1.625rem !important; }

.u-ml1\/1 {
  margin-left: 1.625rem !important; }

.u-mr1\/1 {
  margin-right: 1.625rem !important; }

.u-mb1\/1 {
  margin-bottom: 1.625rem !important; }

.u-mt1\/1 {
  margin-top: 1.625rem !important; }

.u-p1\/1 {
  padding: 1.625rem !important; }

.u-pl1\/1 {
  padding-left: 1.625rem !important; }

.u-pr1\/1 {
  padding-right: 1.625rem !important; }

.u-pb1\/1 {
  padding-bottom: 1.625rem !important; }

.u-pt1\/1 {
  padding-top: 1.625rem !important; }

.u-m1\/2 {
  margin: 0.8125rem !important; }

.u-ml1\/2 {
  margin-left: 0.8125rem !important; }

.u-mr1\/2 {
  margin-right: 0.8125rem !important; }

.u-mb1\/2 {
  margin-bottom: 0.8125rem !important; }

.u-mt1\/2 {
  margin-top: 0.8125rem !important; }

.u-mb1\/4 {
  margin-bottom: 0.40625rem; }

.u-mt1\/4 {
  margin-top: 0.40625rem; }

.u-p1\/2 {
  padding: 0.8125rem !important; }

.u-pl1\/2 {
  padding-left: 0.8125rem !important; }

.u-pr1\/2 {
  padding-right: 0.8125rem !important; }

.u-pb1\/2 {
  padding-bottom: 0.8125rem !important; }

.u-pt1\/2 {
  padding-top: 0.8125rem !important; }

/**
 * Text alignment utilities:
 *
 *     @example
 *     <div>
 *       <div class="u-alignRight">This text should be align on the right boundary.</div>
 *       <div class="u-alignCenter">This text should be center algined.</div>
 *       <div class="u-alignLeft">This text should be align on the left boundary.</div>
 *     </div>
 */
.u-alignCenter {
  text-align: center; }

.u-alignRight {
  text-align: right; }

.u-alignLeft {
  text-align: left; }

/**
 * Text size utilities:
 *
 *     @example
 *     <div>
 *       <div>This text should be normal sized.</div>
 *       <div class="u-microCopy">This text should be micro sized.</div>
 *       <div class="u-largeText">This text should be large sized.</div>
 *     </div>
 */
.u-microCopy {
  font-size: 14px; }

.u-largeText {
  font-size: 1.375rem; }

/**
 * Text break utility:
 * Break strings/text if it exceeds the boundaries of their container.
 *
 *     @example
 *     <div>
 *       <div>Thiswordwillexpandtheboundariessssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss</div>
 *       <div class="u-textBreak">Thiswordwontexpandtheboundariessssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss</div>
 *     </div>
 */
.u-textBreak {
  word-wrap: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto; }

/**
 * Text invert utility:
 * Inverts the text on the element and it's siblings.
 *
 *     @example
 *     <div style="background: #000;">
 *       <div>This text should hardly be visible since it has the standard color.</div>
 *       <div class="u-invertText">This text should be easily visible since it is white coloured.</div>
 *     </div>
 */
.u-invertText,
.u-invertText h1, .u-invertText h2, .u-invertText h3,
.u-invertText h4, .u-invertText h5, .u-invertText h6 {
  color: white; }

.u-invertText .btn--solidBright {
  color: #FFF; }

/**
 * List reset utility:
 * Removes all standard stylings for a list element and it's siblings.
 *
 *     @example
 *     <ul>
 *       <li>This is standard list item.</li>
 *       <li>This is yet another list item.</li>
 *     </ul>
 *     <ul class="u-resetList">
 *       <li>This is unstyled list item.</li>
 *       <li>This is yet another list item.</li>
 *     </ul>
 */
.u-resetList {
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }

/**
 * Link reset utility:
 * Removes all standard stylings for an anchor/link element.
 *
 *     @example
 *     <a href="#">This is a default styled link</a>
 *     <a href="#" class="u-linkReset">This is a link without styles</a>
 */
.u-linkReset {
  color: currentColor; }
  .u-linkReset:hover, .u-linkReset:active, .u-linkReset:focus {
    text-decoration: none; }
  p .u-linkReset {
    padding: 0;
    margin: 0; }

/**
 * Width utilities:
 * Short utility width are responsive and mobile first.
 * As with every utility class, it is namespaced with `u-` and `w` for width.
 *
 * Afterwards you can specify the optional breakpoint. Values can be found in the _Variables.scss
 * in the $mq-breakpoints variable. For demonstration purposes we will use `small` breakpoint which
 * is referenced by the `s`.
 *
 * Now let's specify the target width - Since they are percentage based, we use a fraction number, f.e. `1/1` for one whole,
 * `1/2` for one half and so on. We provide you with widths up to `1/12´or one twelfths.
 *
 * Our finished class could look like `u-ws1/4` - Which applies a one quarter width on the small breakpoint and upwards.
 *
 *     @example
 *     <div class="u-w1/1 u-wm1/2 u-wl1/3" style="background: #ccc;">
 *       This div should cover the whole width on the small screens, the half on
 *       medium screens and one third on large screens and upwards.
 *     </div>
 */
/**
 * Sizes which are used in conjunction with other objects and abstractions like the grid system.
 */
.u-w1\/1 {
  width: 100%; }

.u-w1\/2 {
  width: 50%; }

.u-w1\/3 {
  width: 33.333%; }

.u-w2\/3 {
  width: 66.666%; }

.u-w1\/4 {
  width: 25%; }

.u-w2\/4 {
  width: 50%; }

.u-w3\/4 {
  width: 75%; }

.u-w1\/5 {
  width: 20%; }

.u-w2\/5 {
  width: 40%; }

.u-w3\/5 {
  width: 60%; }

.u-w4\/5 {
  width: 80%; }

.u-w1\/6 {
  width: 16.666%; }

.u-w2\/6 {
  width: 33.333%; }

.u-w3\/6 {
  width: 50%; }

.u-w4\/6 {
  width: 66.666%; }

.u-w5\/6 {
  width: 83.333%; }

.u-w1\/8 {
  width: 12.5%; }

.u-w2\/8 {
  width: 25%; }

.u-w3\/8 {
  width: 37.5%; }

.u-w4\/8 {
  width: 50%; }

.u-w5\/8 {
  width: 62.5%; }

.u-w6\/8 {
  width: 75%; }

.u-w7\/8 {
  width: 87.5%; }

.u-w1\/10 {
  width: 10%; }

.u-w2\/10 {
  width: 20%; }

.u-w3\/10 {
  width: 30%; }

.u-w4\/10 {
  width: 40%; }

.u-w5\/10 {
  width: 50%; }

.u-w6\/10 {
  width: 60%; }

.u-w7\/10 {
  width: 70%; }

.u-w8\/10 {
  width: 80%; }

.u-w9\/10 {
  width: 90%; }

.u-w1\/12 {
  width: 8.333%; }

.u-w2\/12 {
  width: 16.666%; }

.u-w3\/12 {
  width: 25%; }

.u-w4\/12 {
  width: 33.333%; }

.u-w5\/12 {
  width: 41.666%; }

.u-w6\/12 {
  width: 50%; }

.u-w7\/12 {
  width: 58.333%; }

.u-w8\/12 {
  width: 66.666%; }

.u-w9\/12 {
  width: 75%; }

.u-w10\/12 {
  width: 62.5%; }

.u-w11\/12 {
  width: 91.666%; }

@media screen and (max-width: 649px) {
  .u-ws1\/1 {
    width: 100%; }
  .u-ws1\/2 {
    width: 50%; }
  .u-ws1\/3 {
    width: 33.333%; }
  .u-ws2\/3 {
    width: 66.666%; }
  .u-ws1\/4 {
    width: 25%; }
  .u-ws2\/4 {
    width: 50%; }
  .u-ws3\/4 {
    width: 75%; }
  .u-ws1\/5 {
    width: 20%; }
  .u-ws2\/5 {
    width: 40%; }
  .u-ws3\/5 {
    width: 60%; }
  .u-ws4\/5 {
    width: 80%; }
  .u-ws1\/6 {
    width: 16.666%; }
  .u-ws2\/6 {
    width: 33.333%; }
  .u-ws3\/6 {
    width: 50%; }
  .u-ws4\/6 {
    width: 66.666%; }
  .u-ws5\/6 {
    width: 83.333%; }
  .u-ws1\/8 {
    width: 12.5%; }
  .u-ws2\/8 {
    width: 25%; }
  .u-ws3\/8 {
    width: 37.5%; }
  .u-ws4\/8 {
    width: 50%; }
  .u-ws5\/8 {
    width: 62.5%; }
  .u-ws6\/8 {
    width: 75%; }
  .u-ws7\/8 {
    width: 87.5%; }
  .u-ws1\/10 {
    width: 10%; }
  .u-ws2\/10 {
    width: 20%; }
  .u-ws3\/10 {
    width: 30%; }
  .u-ws4\/10 {
    width: 40%; }
  .u-ws5\/10 {
    width: 50%; }
  .u-ws6\/10 {
    width: 60%; }
  .u-ws7\/10 {
    width: 70%; }
  .u-ws8\/10 {
    width: 80%; }
  .u-ws9\/10 {
    width: 90%; }
  .u-ws1\/12 {
    width: 8.333%; }
  .u-ws2\/12 {
    width: 16.666%; }
  .u-ws3\/12 {
    width: 25%; }
  .u-ws4\/12 {
    width: 33.333%; }
  .u-ws5\/12 {
    width: 41.666%; }
  .u-ws6\/12 {
    width: 50%; }
  .u-ws7\/12 {
    width: 58.333%; }
  .u-ws8\/12 {
    width: 66.666%; }
  .u-ws9\/12 {
    width: 75%; }
  .u-ws10\/12 {
    width: 62.5%; }
  .u-ws11\/12 {
    width: 91.666%; } }

@media screen and (min-width: 650px) {
  .u-wm1\/1 {
    width: 100%; }
  .u-wm1\/2 {
    width: 50%; }
  .u-wm1\/3 {
    width: 33.333%; }
  .u-wm2\/3 {
    width: 66.666%; }
  .u-wm1\/4 {
    width: 25%; }
  .u-wm2\/4 {
    width: 50%; }
  .u-wm3\/4 {
    width: 75%; }
  .u-wm1\/5 {
    width: 20%; }
  .u-wm2\/5 {
    width: 40%; }
  .u-wm3\/5 {
    width: 60%; }
  .u-wm4\/5 {
    width: 80%; }
  .u-wm1\/6 {
    width: 16.666%; }
  .u-wm2\/6 {
    width: 33.333%; }
  .u-wm3\/6 {
    width: 50%; }
  .u-wm4\/6 {
    width: 66.666%; }
  .u-wm5\/6 {
    width: 83.333%; }
  .u-wm1\/8 {
    width: 12.5%; }
  .u-wm2\/8 {
    width: 25%; }
  .u-wm3\/8 {
    width: 37.5%; }
  .u-wm4\/8 {
    width: 50%; }
  .u-wm5\/8 {
    width: 62.5%; }
  .u-wm6\/8 {
    width: 75%; }
  .u-wm7\/8 {
    width: 87.5%; }
  .u-wm1\/10 {
    width: 10%; }
  .u-wm2\/10 {
    width: 20%; }
  .u-wm3\/10 {
    width: 30%; }
  .u-wm4\/10 {
    width: 40%; }
  .u-wm5\/10 {
    width: 50%; }
  .u-wm6\/10 {
    width: 60%; }
  .u-wm7\/10 {
    width: 70%; }
  .u-wm8\/10 {
    width: 80%; }
  .u-wm9\/10 {
    width: 90%; }
  .u-wm1\/12 {
    width: 8.333%; }
  .u-wm2\/12 {
    width: 16.666%; }
  .u-wm3\/12 {
    width: 25%; }
  .u-wm4\/12 {
    width: 33.333%; }
  .u-wm5\/12 {
    width: 41.666%; }
  .u-wm6\/12 {
    width: 50%; }
  .u-wm7\/12 {
    width: 58.333%; }
  .u-wm8\/12 {
    width: 66.666%; }
  .u-wm9\/12 {
    width: 75%; }
  .u-wm10\/12 {
    width: 62.5%; }
  .u-wm11\/12 {
    width: 91.666%; } }

@media screen and (min-width: 1250px) {
  .u-wl1\/1 {
    width: 100%; }
  .u-wl1\/2 {
    width: 50%; }
  .u-wl1\/3 {
    width: 33.333%; }
  .u-wl2\/3 {
    width: 66.666%; }
  .u-wl1\/4 {
    width: 25%; }
  .u-wl2\/4 {
    width: 50%; }
  .u-wl3\/4 {
    width: 75%; }
  .u-wl1\/5 {
    width: 20%; }
  .u-wl2\/5 {
    width: 40%; }
  .u-wl3\/5 {
    width: 60%; }
  .u-wl4\/5 {
    width: 80%; }
  .u-wl1\/6 {
    width: 16.666%; }
  .u-wl2\/6 {
    width: 33.333%; }
  .u-wl3\/6 {
    width: 50%; }
  .u-wl4\/6 {
    width: 66.666%; }
  .u-wl5\/6 {
    width: 83.333%; }
  .u-wl1\/8 {
    width: 12.5%; }
  .u-wl2\/8 {
    width: 25%; }
  .u-wl3\/8 {
    width: 37.5%; }
  .u-wl4\/8 {
    width: 50%; }
  .u-wl5\/8 {
    width: 62.5%; }
  .u-wl6\/8 {
    width: 75%; }
  .u-wl7\/8 {
    width: 87.5%; }
  .u-wl1\/10 {
    width: 10%; }
  .u-wl2\/10 {
    width: 20%; }
  .u-wl3\/10 {
    width: 30%; }
  .u-wl4\/10 {
    width: 40%; }
  .u-wl5\/10 {
    width: 50%; }
  .u-wl6\/10 {
    width: 60%; }
  .u-wl7\/10 {
    width: 70%; }
  .u-wl8\/10 {
    width: 80%; }
  .u-wl9\/10 {
    width: 90%; }
  .u-wl1\/12 {
    width: 8.333%; }
  .u-wl2\/12 {
    width: 16.666%; }
  .u-wl3\/12 {
    width: 25%; }
  .u-wl4\/12 {
    width: 33.333%; }
  .u-wl5\/12 {
    width: 41.666%; }
  .u-wl6\/12 {
    width: 50%; }
  .u-wl7\/12 {
    width: 58.333%; }
  .u-wl8\/12 {
    width: 66.666%; }
  .u-wl9\/12 {
    width: 75%; }
  .u-wl10\/12 {
    width: 62.5%; }
  .u-wl11\/12 {
    width: 91.666%; } }

.neos-nodetypes-textwithimage:before, .neos-nodetypes-textwithimage:after,
.neos-nodetypes-image:before,
.neos-nodetypes-image:after {
  content: '';
  display: table; }

.neos-nodetypes-textwithimage:after,
.neos-nodetypes-image:after {
  clear: both; }

.typo3-neos-alignment-left {
  float: left; }

.typo3-neos-alignment-center {
  text-align: center; }

.typo3-neos-alignment-right {
  float: right; }

.neos-nodetypes-image {
  margin-bottom: 1.625rem; }

.neos-neosio-youtube > .flexibleEmbed {
  max-width: 50em;
  margin: 0 auto; }
  .deviceStage__device .neos-neosio-youtube > .flexibleEmbed {
    max-width: none; }

.neos-backend .mOnly {
  display: block !important; }

.neos-backend .lOnly {
  display: block !important; }

.neos-backend .ml {
  display: block !important; }

/**
 * Base Alert:
 * `.alert` - Themes the given node to a system info message.
 *
 *     @example
 *     <div class="alert">Hello world!</div>
 */
.alert {
  padding: 0.8125em;
  margin-bottom: 1.625em;
  border-radius: 3px;
  background-color: #f89c1c;
  color: white; }
  .alert :last-child {
    margin-bottom: 0; }

/**
 * Success Alert:
 * `.alert--success` - Themes the given alert to a successfull system message.
 *
 *     @example
 *     <div class="alert alert--success">Success!</div>
 */
.alert--success {
  background-color: #8CD700;
  color: white; }

/**
 * Failure Alert:
 * `.alert--failure` - Themes the given alert to a failure system message.
 *
 *     @example
 *     <div class="alert alert--failure">Failure!</div>
 */
.alert--failure {
  background-color: #D75200;
  color: white; }

.amChart {
  width: 100%;
  height: 500px;
  font-size: 11px;
  background: #FFF; }

/**
 * Avatar:
 * `.avatar` - Themes the given image to a round avatar with a slight right margin.
 *
 *     @example
 *     <img class="avatar" src="http://placehold.it/125"> Max Mustermann
 */
.avatar {
  border-radius: 100%;
  margin-right: 1em; }

/**
 * Base and high-level wrapper elements
 */
html {
  min-width: 20em; }

body {
  margin: 0;
  font: 300 100% / 1.4 "Roboto", serif;
  text-align: left;
  color: #191919;
  -moz-osx-font-smoothing: grayscale;
  background: #fff; }

.html--scrollDisabled {
  height: 100%; }
  .html--scrollDisabled > body {
    height: 100%;
    overflow: hidden; }

.siteWrapper {
  position: relative;
  width: 80%;
  max-width: 75em;
  margin-left: auto;
  margin-right: auto; }

.siteWrapper--small {
  max-width: 750px; }

/**
 * Base Button:
 * `.btn` - The base class for all buttons.
 * Button styles can be applied to any element. Typically you'll want to use
 * either a `<button>` or an `<a>` element:
 *
 *     @example
 *     a.btn My Button
 */
.btn {
  display: inline-block;
  padding: 0;
  border: none;
  cursor: pointer;
  position: relative;
  font-weight: 300;
  font-size: 3rem;
  line-height: 1;
  color: currentColor;
  vertical-align: top;
  transition: all 0.3s ease;
  text-align: center;
  background: 0; }
  .btn + .btn {
    margin-left: 1em; }
  .btn, .btn:hover, .btn:active, .btn:focus {
    text-decoration: none; }
  .btn:active, .btn:focus {
    -webkit-transform: translateY(3px);
        -ms-transform: translateY(3px);
            transform: translateY(3px); }
  .btn a {
    color: currentColor; }

.btn__content {
  width: 100%;
  padding: 10px 20px;
  font-family: 'Roboto Slab', serif;
  font-size: 1.5rem;
  line-height: 40px;
  font-weight: 100;
  color: #fff; 
}

/*
 * A basic :hover effect for all solid buttons.
 */
/**
 * Full-Width Button:
 * `.btn--full` - Set the button width to the width of it's parent element.
 *
 *     @example
 *     a.btn.btn--full My Button
 */
.btn--full {
  display: block;
  text-align: center;
  padding-right: 40px;;
  padding-left: 40px;;
  width: 100%; }

/**
 * Bordered Primary Button:
 * `.btn--primary` - Sets the button to a bordered button which is themed after the primary brand color.
 *
 *     @example
 *     a.btn.btn--primary My Button
 */
.btn--primary {
  color: #f89c1c; }
  .btn--primary .btn__corner {
    height: 10px; }
    .btn--primary .btn__corner svg line {
      stroke: rgba(0, 173, 238, 0.6);
      stroke-width: 1px; }
    .btn--primary .btn__corner svg polygon {
      fill: transparent; }
    .btn--primary .btn__corner:after {
      height: 10px;
      background: transparent; }
  .btn--primary .btn__corner--top:after {
    border-right: 1px solid rgba(0, 173, 238, 0.6);
    border-top: 1px solid rgba(0, 173, 238, 0.6); }
  .btn--primary .btn__corner--bottom:after {
    border-left: 1px solid rgba(0, 173, 238, 0.6);
    border-bottom: 1px solid rgba(0, 173, 238, 0.6); }
  .btn--primary .btn__content {
    border-left: 1px solid rgba(0, 173, 238, 0.6);
    border-right: 1px solid rgba(0, 173, 238, 0.6);
    background: transparent; }
  .btn--primary:hover .btn__corner {
    height: 10px; }
    .btn--primary:hover .btn__corner svg line {
      stroke: #f89c1c;
      stroke-width: 1px; }
    .btn--primary:hover .btn__corner svg polygon {
      fill: transparent; }
    .btn--primary:hover .btn__corner:after {
      height: 10px;
      background: transparent; }
  .btn--primary:hover .btn__corner--top:after {
    border-right: 1px solid #f89c1c;
    border-top: 1px solid #f89c1c; }
  .btn--primary:hover .btn__corner--bottom:after {
    border-left: 1px solid #f89c1c;
    border-bottom: 1px solid #f89c1c; }
  .btn--primary:hover .btn__content {
    border-left: 1px solid #f89c1c;
    border-right: 1px solid #f89c1c;
    background: transparent; }

/**
 * Solid Primary Button:
 * `.btn--solidPrimary` - Sets the button to a solid button which is themed after the primary brand color.
 *
 *     @example
 *     a.btn.btn--solidPrimary My Button
 */
.btn--solidPrimary {
  color: #FFF;
  position: relative;
  /* Browser fix for solid buttons */ }
  .btn--solidPrimary .btn__corner {
    height: 10px; }
    .btn--solidPrimary .btn__corner svg line {
      stroke: #f89c1c;
      stroke-width: 1px; }
    .btn--solidPrimary .btn__corner svg polygon {
      fill: #f89c1c; }
    .btn--solidPrimary .btn__corner:after {
      height: 10px;
      background: #f89c1c; }
  .btn--solidPrimary .btn__corner--top:after {
    border-right: 1px solid #f89c1c;
    border-top: 1px solid #f89c1c; }
  .btn--solidPrimary .btn__corner--bottom:after {
    border-left: 1px solid #f89c1c;
    border-bottom: 1px solid #f89c1c; }
  .btn--solidPrimary .btn__content {
    border-left: 1px solid #f89c1c;
    border-right: 1px solid #f89c1c;
    background: #f89c1c; }
  .btn--solidPrimary:hover .btn__corner:after {
    transition: all 0.5s;
    background: #22c3ff;
    border-color: #22c3ff; }
  .btn--solidPrimary:hover .btn__corner polygon {
    transition: all 0.5s;
    fill: #22c3ff; }
  .btn--solidPrimary:hover .btn__corner line {
    stroke: #22c3ff; }
  .btn--solidPrimary:hover .btn__content {
    transition: all 0.5s;
    border-color: #22c3ff;
    background: #22c3ff; }
  .btn--solidPrimary .btn__corner--top svg {
    left: 1px;
    top: 1px; }
  .btn--solidPrimary .btn__corner--bottom svg {
    right: 1px;
    bottom: 1px; }

/**
 * Bordered Secondary Button:
 * `.btn--secondary` - Sets the button to a bordered button which is themed after the secondary brand color.
 *
 *     @example
 *     a.btn.btn--secondary My Button
 */
.btn--secondary {
  color: #252839; }
  .btn--secondary .btn__corner {
    height: 10px; }
    .btn--secondary .btn__corner svg line {
      stroke: #ccc;
      stroke-width: 1px; }
    .btn--secondary .btn__corner svg polygon {
      fill: transparent; }
    .btn--secondary .btn__corner:after {
      height: 10px;
      background: transparent; }
  .btn--secondary .btn__corner--top:after {
    border-right: 1px solid #ccc;
    border-top: 1px solid #ccc; }
  .btn--secondary .btn__corner--bottom:after {
    border-left: 1px solid #ccc;
    border-bottom: 1px solid #ccc; }
  .btn--secondary .btn__content {
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    background: transparent; }
  .btn--secondary:hover .btn__corner {
    height: 10px; }
    .btn--secondary:hover .btn__corner svg line {
      stroke: #34363C;
      stroke-width: 1px; }
    .btn--secondary:hover .btn__corner svg polygon {
      fill: transparent; }
    .btn--secondary:hover .btn__corner:after {
      height: 10px;
      background: transparent; }
  .btn--secondary:hover .btn__corner--top:after {
    border-right: 1px solid #34363C;
    border-top: 1px solid #34363C; }
  .btn--secondary:hover .btn__corner--bottom:after {
    border-left: 1px solid #34363C;
    border-bottom: 1px solid #34363C; }
  .btn--secondary:hover .btn__content {
    border-left: 1px solid #34363C;
    border-right: 1px solid #34363C;
    background: transparent; }

/**
 * Solid Secondary Button:
 * `.btn--solidSecondary` - Sets the button to a solid button which is themed after the secondary brand color.
 *
 *     @example
 *     a.btn.btn--solidSecondary My Button
 */
.btn--solidSecondary {
  color: #FFF;
  position: relative;
  /* Browser fix for solid buttons */ }
  .btn--solidSecondary .btn__corner {
    height: 10px; }
    .btn--solidSecondary .btn__corner svg line {
      stroke: #252839;
      stroke-width: 1px; }
    .btn--solidSecondary .btn__corner svg polygon {
      fill: #252839; }
    .btn--solidSecondary .btn__corner:after {
      height: 10px;
      background: #252839; }
  .btn--solidSecondary .btn__corner--top:after {
    border-right: 1px solid #252839;
    border-top: 1px solid #252839; }
  .btn--solidSecondary .btn__corner--bottom:after {
    border-left: 1px solid #252839;
    border-bottom: 1px solid #252839; }
  .btn--solidSecondary .btn__content {
    border-left: 1px solid #00275B;
    border-right: 1px solid #00275B;
    background: #00275B; }
  .btn--solidSecondary:hover .btn__corner:after {
    transition: all 0.5s;
    background: #38326f;
    border-color: #38326f; }
  .btn--solidSecondary:hover .btn__corner polygon {
    transition: all 0.5s;
    fill: #38326f; }
  .btn--solidSecondary:hover .btn__corner line {
    stroke: #38326f; }
  .btn--solidSecondary:hover .btn__content {
    transition: all 0.5s;
    border-color: #38326f;
    background: #38326f; }
  .btn--solidSecondary .btn__corner--top svg {
    left: 1px;
    top: 1px; }
  .btn--solidSecondary .btn__corner--bottom svg {
    right: 1px;
    bottom: 1px; }

/**
 * Bordered Bright Button:
 * `.btn--bright` - Sets the button to a bordered button which is themed in white.
 *
 *     @example
 *     <div style="background:#000;">
 *       <a class="btn btn--bright">My Button</a>
 *     </div>
 */
.btn--bright {
  color: #f89c1c; }
  .btn--bright {
    height: 10px; }
    .btn--bright svg line {
      stroke: rgba(255, 255, 255, 0.6);
      stroke-width: 1px; }
    .btn--bright svg polygon {
      fill: transparent; }
    .btn--bright :after {
      height: 10px;
      background: transparent; }
  .btn--bright .btn__corner--top:after {
    border-right: 1px solid rgba(255, 255, 255, 0.6);
    border-top: 1px solid rgba(255, 255, 255, 0.6); }
  .btn--bright .btn__corner--bottom:after {
    border-left: 1px solid rgba(255, 255, 255, 0.6);
    border-bottom: 1px solid rgba(255, 255, 255, 0.6); }
  .btn--bright .btn__content {
    border-left: 1px solid rgba(255, 255, 255, 0.6);
    border-right: 1px solid rgba(255, 255, 255, 0.6);
    background: transparent; }
  .btn--bright:hover .btn__corner {
    height: 10px; }
    .btn--bright:hover .btn__corner svg line {
      stroke: #fff;
      stroke-width: 1px; }
    .btn--bright:hover .btn__corner svg polygon {
      fill: transparent; }
    .btn--bright:hover .btn__corner:after {
      height: 10px;
      background: transparent; }
  .btn--bright:hover .btn__corner--top:after {
    border-right: 1px solid #fff;
    border-top: 1px solid #fff; }
  .btn--bright:hover .btn__corner--bottom:after {
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff; }
  .btn--bright:hover .btn__content {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    background: transparent; }

/**
 * Solid Bright Button:
 * `.btn--solidBright` - Sets the button to a solid button which is themed in white.
 *
 *     @example
 *     <div style="background:#000;">
 *       <a class="btn btn--solidBright">My Button</a>
 *     </div>
 */
.btn--solidBright {
  color: currentColor;
  /* Browser fix for solid buttons */ }
  .btn--solidBright .btn__corner {
    height: 10px; }
    .btn--solidBright .btn__corner svg line {
      stroke: rgba(248, 156, 28, 0.9);
      stroke-width: 1px; }
    .btn--solidBright .btn__corner svg polygon {
      fill: rgba(248, 156, 28, 0.9); }
    .btn--solidBright .btn__corner:after {
      height: 10px;
      background: rgba(248, 156, 28, 0.9); }
  .btn--solidBright .btn__corner--top:after {
    border-right: 1px solid rgba(248, 156, 28, 0.9);
    border-top: 1px solid rgba(248, 156, 28, 0.9); }
  .btn--solidBright .btn__corner--bottom:after {
    border-left: 1px solid rgba(248, 156, 28, 0.9);
    border-bottom: 1px solid rgba(248, 156, 28, 0.9); }
  .btn--solidBright .btn__content {
    border-left: 1px solid rgba(248, 156, 28, 0.9);
    border-right: 1px solid rgba(248, 156, 28, 0.9);
    background: rgba(248, 156, 28, 0.7); }
  .btn--solidBright:hover .btn__corner {
    height: 10px; }
    .btn--solidBright:hover .btn__corner svg line {
      stroke: #fff;
      stroke-width: 1px; }
    .btn--solidBright:hover .btn__corner svg polygon {
      fill: #fff; }
    .btn--solidBright:hover .btn__corner:after {
      height: 10px;
      background: #fff; }
  .btn--solidBright:hover .btn__corner--top:after {
    border-right: 1px solid #f89c1c;
    border-top: 1px solid #f89c1c; }
  .btn--solidBright:hover .btn__corner--bottom:after {
    border-left: 1px solid #f89c1c;
    border-bottom: 1px solid #f89c1c; }
  .btn--solidBright:hover .btn__content {
    border-left: 1px solid #f89c1c;
    border-right: 1px solid #f89c1c;
    background: #f89c1c; }
/**
 * Code & pre-formatted text elements
 */
code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
  font-size: .8em; }

code {
  background: #f2f2f2;
  padding: .3em .5em;
  border-radius: 2px; }
  pre code {
    padding: 0; }

pre {
  white-space: pre-wrap;
  margin: 0 0 1.625em; }

/**
 * Form
 */
/*
 * Form wrapper elements
 */
form {
  margin: 0; }

fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

/**
 * Hamburger Icon:
 *
 *     @example
 *     span.hamburger
 *       span.hamburger__line.hamburger__line--top
 *       span.hamburger__line
 *       span.hamburger__line.hamburger__line--bottom
 */
.hamburger {
  position: relative;
  margin-top: 3px;
  display: inline-block;
  width: 24px;
  height: 18px;
  color: #F89C1C; }

.hamburger__line {
  position: absolute;
  top: 50%;
  width: 100%;
  height: 2px;
  transition: .5s ease transform;
  border-radius: 4px;
  background-color: currentColor; }

.hamburger__line--top {
  top: 2px; }
  .hamburger--active .hamburger__line--top {
    -webkit-transform: translate3d(8px, 1px, 0) rotate(45deg) scaleX(0.7);
            transform: translate3d(8px, 1px, 0) rotate(45deg) scaleX(0.7); }

.hamburger__line--bottom {
  top: auto;
  bottom: 0; }
  .hamburger--active .hamburger__line--bottom {
    -webkit-transform: translate3d(8px, -1px, 0) rotate(-45deg) scaleX(0.7);
            transform: translate3d(8px, -1px, 0) rotate(-45deg) scaleX(0.7); }

/**
 * Hamburger Icon (Active):
 *
 *     @example
 *     span.hamburger.hamburger--active
 *       span.hamburger__line.hamburger__line--top
 *       span.hamburger__line
 *       span.hamburger__line.hamburger__line--bottom
 */
/**
 * Icons:
 * Icons are added via inline svg's. Add the base class `i` to it and you will have a consistent
 * icon style applied to your icons. The icon itself will always be colored in the current color
 * of your content node.
 *
 *     @example
 *     <svg class="i" viewBox="0 0 24 24"><path d="M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L6.04,7.5L12,10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V9.21L13,12.58V19.29L19,15.91Z"></path></svg>
 */
.i {
  display: inline-block;
  width: 30px;
  max-width: 100%;
  height: 30px;
  vertical-align: middle;
  fill: currentColor; }

/**
 * Large icon:
 *
 *     @example
 *     <svg class="i i--large" viewBox="0 0 24 24"><path d="M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L6.04,7.5L12,10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V9.21L13,12.58V19.29L19,15.91Z"></path></svg>
 */
.i--large {
  width: 60px;
  height: 60px; }

/**
 * Huge icon:
 *
 *     @example
 *     <svg class="i i--huge" viewBox="0 0 24 24"><path d="M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L6.04,7.5L12,10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V9.21L13,12.58V19.29L19,15.91Z"></path></svg>
 */
.i--huge {
  width: 220px;
  height: 220px; }

/**
 * Padded icon:
 * Adds a top and bottom margin to the icon.
 *
 *     @example
 *     <svg class="i i--padded" viewBox="0 0 24 24"><path d="M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L6.04,7.5L12,10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V9.21L13,12.58V19.29L19,15.91Z"></path></svg>
 */
.i--padded {
  margin-top: 3em !important;
  margin-bottom: 3em !important; }

.h, h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin: 0;
  color: #00275B;
  font-weight: 400;
  text-rendering: optimizeLegibility; }
  a .h, a h6, a .h6, a h5, a .h5, a h4, a .h4, a h3, a .h3, a h2, a .h2, a h1, a .h1 {
    color: currentColor; }

/**
 * Headings:
 * Each heading has a duplicate class which can be used to style headings differently from the semantic meaning.
 * F.e. if you want your `h3` to look like an `h1`, just apply the `.h1` class to it.
 *
 *      @example
 *     h1 This is an first level heading
 *     h2 This is an second level heading
 *     h3 This is an third level heading
 *     h4 This is an fourth level heading
 *     h5 This is an fifth level heading
 *     h6 This is an sixth level heading
 */
h6, .h6 {
  font-size: 12.8px;
  font-weight: 400;
  line-height: 26px; }

h5, .h5 {
  font-size: 16px;
  font-weight: 400;
  line-height: 26px; }

h4, .h4 {
  margin-bottom: 6.5px;
  margin-bottom: 13px;
  font-size: 20px;
  line-height: 26px; }

h3, .h3 {
  margin-bottom: 13px;
  font-size: 18px;
  line-height: 30px; }
  @media screen and (min-width: 650px) {
    h3, .h3 {
      font-size: 18px; } }

h2, .h2 {
  margin-top: 13px;
  margin-bottom: 13px;
  font-size: 20.8px;
  line-height: 26px;
  font-weight: 300; }
  @media screen and (min-width: 650px) {
    h2, .h2 {
      font-size: 32px;
      line-height: 52px;
      font-weight: 100; } }

h1, .h1 {
  margin-bottom: 26px;
  font-size: 3rem;
  line-height: 52px;
  font-weight: 100; }
  @media screen and (min-width: 650px) {
    h1, .h1 {
      font-size: 3rem;
      line-height: 78px; } }
  h1 + h2,
  h1 + .h2,
  h1 + h3,
  h1 + .h3,
  h1 + h4,
  h1 + .h4,
  h1 + h5,
  h1 + .h5,
  h1 + h6,
  h1 + .h6, .h1 + h2,
  .h1 + .h2,
  .h1 + h3,
  .h1 + .h3,
  .h1 + h4,
  .h1 + .h4,
  .h1 + h5,
  .h1 + .h5,
  .h1 + h6,
  .h1 + .h6 {
    margin-top: -13px;
    margin-bottom: 26px; }

textarea {
  height: auto;
  min-height: 78px;
  resize: vertical;
  overflow: auto;
  vertical-align: top; }

input::-webkit-datetime-edit {
  margin-top: -.17em;
  margin-bottom: -.17em; }

input[type="checkbox"], input[type="radio"] {
  margin-right: .35em;
  cursor: pointer; }

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  font: 300 100% / 1.625 "Roboto Slab", serif; }

input:-moz-placeholder, textarea:-moz-placeholder {
  font: 300 100% / 1.625 "Roboto Slab", serif; }

input::-moz-placeholder, textarea::-moz-placeholder {
  font: 300 100% / 1.625 "Roboto Slab", serif; }

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  font: 300 100% / 1.625 "Roboto Slab", serif; }

input:placeholder, textarea:placeholder {
  font: 300 100% / 1.625 "Roboto Slab", serif; }

/**
 * Text inputs:
 * `.textInput`: The base class for all text related input nodes.
 *
 *     @example
 *     <input class="textInput" />
 */
.textInput {
  height: 39px;
  padding: .2em .5em;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 3px;
  box-shadow: inset 0 1px 1px rgba(230, 230, 230, 0.4);
  font-size: 0.875rem;
  color: #71777e; }

/**
 * Disabled text inputs:
 * `.textInput--disabled`: The disabled modifier for all text related input nodes.
 *
 *     @example
 *     <input class="textInput textInput--disabled" value="Foo Bar" />
 */
.textInput[disabled],
.textInput--disabled {
  opacity: .5;
  pointer-events: none; }

/**
 * Valid text inputs:
 * `.textInput--success`: The valid modifier for all text related input nodes.
 *
 *     @example
 *     <input class="textInput textInput--success" value="Foo Bar" />
 */
.textInput--success {
  border-color: #8CD700; }

/**
 * Invalid text inputs:
 * `.textInput--failure`: The invalid modifier for all text related input nodes.
 *
 *     @example
 *     <input class="textInput textInput--failure" value="Foo Bar" />
 */
.textInput--failure {
  border-color: #D75200; }

/**
 * Form elements
 */
/*
 * Base styling for all labels.
 */
label {
  display: block;
  font-weight: 300;
  font-size: 0.875rem; }
  label[for] {
    cursor: pointer; }

/*
 * Base styling for all legends.
 */
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 1.625em;
  border-bottom: 1px solid #e6e6e6;
  font-size: 1.25rem; }

/**
 * Anchors
 */
/*
 * Base styling for all anchors/links.
 */
a {
  color: #002758;
  text-decoration: none;
  background: transparent; }
  a:hover, a:active, a:focus {
    text-decoration: underline; }
  a:active, a:hover {
    outline: 0; }
  p a {
    position: relative;
    margin: -.33em;
    padding: .33em; }

/**
 * Lists
 */
menu,
ol,
ul {
  padding: 0 0 0 1.05em;
  margin: 0 0 1.625em; }

ul {
  list-style: square; }

li > ul,
li > ol {
  margin-bottom: 0; }

/**
 * Definitions
 */
dl {
  margin: 0 0 1.625em; }

/*
 * Displays the definition element in a horizontal order.
 */
.dl--horizontal:before, .dl--horizontal:after {
  content: '';
  display: table; }

.dl--horizontal:after {
  clear: both; }

.dl--horizontal dt {
  width: 19%;
  float: left;
  overflow: hidden;
  clear: left;
  text-align: right;
  word-wrap: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto; }

.dl--horizontal dd {
  margin-left: 21%; }

/**
 * Media elements
 */
embed,
iframe,
object,
img {
  max-width: 100%;
  border: 0; }

img {
  font-style: italic;
  vertical-align: middle; }
  img[height] {
    height: auto; }

figure {
  margin: auto; }

figcaption {
  position: absolute;
    z-index: 1;
    display: block;
  font-size: 0.875rem;
  padding: 3px; }

audio,
video,
iframe {
  margin: 0 0 1.625em; }

audio {
  min-width: 65%; }
  audio:not([controls]) {
    display: none;
    height: 0; }

svg:not(:root) {
  overflow: hidden; }

/**
 * Quotes
 */
q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

blockquote {
  margin: 0 0 1.625em; }

/**
 * Horizontal ruler:
 *
 *     @example
 *     <hr>
* 
*hr {
*  box-sizing: content-box;
*  display: block;
*  height: 1px;
*  padding: 0;
*  margin: 78px 0 78px;
*  border: 0;
*  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.25) 50%, rgba(255, 255, 255, 0) 100%); }
*/
@-webkit-keyframes scrollHint__arrow {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes scrollHint__arrow {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.scrollHint {
  display: none;
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 2;
  height: 32px;
  width: 32px;
  margin-left: -16px;
  background: transparent url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTcuNDEsOC41OEwxMiwxMy4xN0wxNi41OSw4LjU4TDE4LDEwTDEyLDE2TDYsMTBMNy40MSw4LjU4WiIgLz48L3N2Zz4=);
  background-size: 32px;
  -webkit-animation: scrollHint__arrow 2s infinite;
          animation: scrollHint__arrow 2s infinite; }

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

th {
  text-align: left;
  vertical-align: bottom; }

td {
  vertical-align: top; }

.table-bordered {
    border: 1px solid #ddd;
    border-top-color: rgb(221, 221, 221);
    border-top-style: solid;
    border-top-width: 1px;
    border-right-color: rgb(221, 221, 221);
    border-right-style: solid;
    border-right-width: 1px;
    border-bottom-color: rgb(221, 221, 221);
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-left-color: rgb(221, 221, 221);
    border-left-style: solid;
    border-left-width: 1px;
    border-image-source: initial;
    border-image-slice: initial;
    border-image-width: initial;
    border-image-outset: initial;
    border-image-repeat: initial;
}

.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th,
.table > thead > tr > td, .table > thead > tr > th {
    padding: 8px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: 1px solid #ddd
}

.table > thead > tr > th {
    vertical-align: bottom;
    border-bottom: 2px solid #ddd
}

.table > caption + thead > tr:first-child > td, .table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > td, .table > thead:first-child > tr:first-child > th {
    border-top: 0
}

.table > tbody + tbody {
    border-top: 2px solid #ddd
}

.table .table {
    background-color: #fff
}

.table-condensed > tbody > tr > td, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > td,
.table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > thead > tr > th {
    padding: 5px
}

.table-bordered {
    /* border:1px solid #ddd */
}

.table-bordered > tbody > tr > td, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > td,
.table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
    border: 1px solid #ddd
}

.table-bordered > thead > tr > td, .table-bordered > thead > tr > th {
    border-bottom-width: 2px
}

/**
 * Typographic elements
 */
p {
  margin: 0 0 1.625em; }

b,
strong {
  font-weight: 400; }

small {
  font-size: 80%; }

abbr[title] {
  border-bottom: 1px dotted;
  cursor: help; }

mark {
  padding-left: .2em;
  padding-right: .2em;
  background: #f89c1c;
  color: white; }

dfn {
  font-style: italic; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/**
 * Meta element:
 * F.e. footer-like meta information below something with smaller and lighter text
 *
 *     @example
 *     p.meta This is a simple meta data line
 *
 */
.meta {
  font-size: 14px;
  color: #898d99; }

/**
 * Table grid:
 * Creates a table like grid which should be used with the utility width classes.
 * Used in the FactsGrid f.e.
 *
 *     @example
 *     <div class="tableGrid">
 *       <div class="tableGrid__item u-w1/2 u-wm1/4">Item 1</div>
 *       <div class="tableGrid__item u-w1/2 u-wm1/4">Item 2</div>
 *       <div class="tableGrid__item u-w1/2 u-wm1/4">Item 3</div>
 *       <div class="tableGrid__item u-w1/2 u-wm1/4">Item 4</div>
 *     </div>
 */
.tableGrid {
  display: block;
  width: 100%;
  padding: 0 52px;
  margin-bottom: 52px;
  background: #FFF;
  border-bottom: 1px solid #e6e6e6;
  text-align: center; }
  .tableGrid:before, .tableGrid:after {
    content: '';
    display: table; }
  .tableGrid:after {
    clear: both; }
  @media screen and (min-width: 650px) {
    .tableGrid {
      display: table; } }

.tableGrid__item {
  display: block;
  float: left;
  padding: 26px 10px;
  color: currentColor;
  cursor: pointer;
  transition: all .3s ease; }
  @media screen and (min-width: 650px) {
    .tableGrid__item {
      display: table-cell;
      float: none;
      border-right: 1px solid #e6e6e6; }
      .tableGrid__item:last-child {
        border-right: 0; }
      .tableGrid__item:first-child:hover {
        background: linear-gradient(to left, rgba(0, 0, 0, 0.05) 75%, transparent 100%); }
      .tableGrid__item:last-child:hover {
        background: linear-gradient(to right, rgba(0, 0, 0, 0.05) 75%, transparent 100%); } }
  .tableGrid__item:hover {
    text-decoration: none;
    background: rgba(0, 0, 0, 0.05); }

/**
 * Flag:
 * Displays text like content vertically centered besides an image.
 *
 *     @example
 *     <div class="flag">
 *       <div class="flag__image">
 *         <img src="http://placehold.it/300x200" alt="Media Image">
 *       </div>
 *       <div class="flag__body">
 *         <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. </p>
 *         <p>Lorem ipsum dolor sit amet.</p>
 *       </div>
 *     </div>
 */
.flag {
  display: table;
  width: 100%; }

.flag__body {
  display: table-cell;
  vertical-align: middle;
  width: 100%; }
  .flag__body,
  .flag__body > :last-child {
    margin-bottom: 0; }

.flag__image {
  display: table-cell;
  vertical-align: middle;
  padding-right: 26px; }
  @media screen and (max-width: 649px) {
    .flag__image {
      display: none; } }
  .flag__image > img {
    display: block;
    max-width: none; }

/**
 * Flag (reverted):
 * Displays text like content vertically centered besides an image.
 *
 *     @example
 *     <div class="flag">
 *       <div class="flag__body">
 *         <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. </p>
 *         <p>Lorem ipsum dolor sit amet.</p>
 *       </div>
 *       <div class="flag__image flag__image--rev">
 *         <img src="http://placehold.it/300x200" alt="Media Image">
 *       </div>
 *     </div>
 */
.flag__image--rev {
  padding-right: 0;
  padding-left: 26px; }

/**
 * Flexible Embed:
 * Embed a external iframe or media file with a fluid width/height ratio.
 * Default is a 1:1 ratio, but you can use f.e. the 16:9 ratio as seen in this example.
 *
 *     @example
 *     <div class="flexibleEmbed">
 *       <iframe class="flexibleEmbed__content" src="https://www.youtube.com/embed/1eLtsKBkVzg" allowfullscreen="" frameborder="0"></iframe>
 *       <div class="flexibleEmbed__ratio flexibleEmbed__ratio--16/9"></div>
 *     </div>
 */
.flexibleEmbed {
  position: relative;
  display: block;
  overflow: hidden; }

.flexibleEmbed__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.flexibleEmbed__ratio {
  display: block;
  width: 100%;
  padding-bottom: 100%; }

.flexibleEmbed__ratio--16\/9 {
  padding-bottom: 56.25%; }

/**
 * Form:
 *
 *     @example
 *     <form class="form">
 *       <div class="form__item">
 *         <label for="basic-input">Text input:</label>
 *         <input id="basic-input" type="text" class="textInput u-w1/1" />
 *       </div>
 *       <div class="form__item">
 *         <label for="basic-disabled-input">Disabled text input:</label>
 *         <input id="basic-disabled-input" disabled="" type="text" class="textInput u-w1/1">
 *       </div>
 *       <div class="form__item">
 *         <label for="basic-textarea">Description:</label>
 *         <textarea id="basic-textarea" class="textInput u-w1/1"></textarea>
 *       </div>
 *       <div class="form__item">
 *         <label for="basic-checkox">
 *           <input type="checkbox" id="basic-checkox"> I am a checkbox - Check me!
 *         </label>
 *       </div>
 *       <div class="form__item u-alignRight">
 *         <input type="submit" value="submit" class="btn">
 *       </div>
 *     </form>
 */
.form {
  margin-bottom: 1.625rem; }

.form__item {
  margin-bottom: 0.8125rem; }

/**
 * Inline Form:
 * Display a `<form>` and all it's content in a horizontal order.
 *
 *     @example
 *     <form class="form form--inline">
 *       <div class="form__item">
 *         <label>Username: </label>
 *         <input class="textInput" type="text" placeholder="Username...">
 *       </div>
 *       <div class="form__item">
 *         <label>Password: </label>
 *         <input class="textInput" type="password" placeholder="Password...">
 *       </div>
 *       <div class="form__item">
 *         <label>
 *           <input type="checkbox">Remember me
 *         </label>
 *       </div>
 *       <div class="form__item">
 *         <button type="submit" class="btn">Sign in</button>
 *       </div>
 *     </form>
 */
.form--inline label,
.form--inline button,
.form--inline input,
.form--inline select,
.form--inline textarea,
.form--inline .form__item {
  display: inline-block;
  margin-bottom: 0;
  vertical-align: middle; }

.form--inline .form__item {
  margin-right: 1em; }

.form--inline label {
  margin-right: .3em; }

/**
 * Grid:
 * Flexible and responsive grid based on the utility width classes.
 *
 *     @example
 *     <div class="g">
 *       <div class="gi u-w1/1 u-wm1/2 u-wl1/4">
 *         column 1
 *       </div>
 *       <div class="gi u-w1/1 u-wm1/2 u-wl1/4">
 *         column 2
 *       </div>
 *       <div class="gi u-w1/1 u-wm1/2 u-wl1/4">
 *         column 3
 *       </div>
 *       <div class="gi u-w1/1 u-wm1/2 u-wl1/4">
 *         column 4
 *       </div>
 *     </div>
 */
.g,
.grid {
  margin-left: -13px;
  margin-right: -13px; }
  .g:before, .g:after,
  .grid:before,
  .grid:after {
    content: '';
    display: table; }
  .g:after,
  .grid:after {
    clear: both; }

.gi,
.grid__item {
  float: left;
  padding-left: 13px;
  padding-right: 13px; }

@media screen and (min-width: 650px) and (max-width: 1200px) {
  .u-w1\/1.u-wm6\/12.u-wl3\/12.neos-contentcollection:nth-child(odd) {
    clear: both; } }

.u-w1\/1.gi {
  margin-bottom: 26px; }

/**
 * Media:
 * Displays a contents besides an image/video or another media node.
 *
 *     @example
 *     <div class="media">
 *       <img class="media__img" src="http://placehold.it/300x200" alt="Media Image">
 *       <div class="media__content">
 *         <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. </p>
 *         <p>Lorem ipsum dolor sit amet.</p>
 *       </div>
 *     </div>
 */
.media {
  display: block; }
  .media:before, .media:after {
    content: '';
    display: table; }
  .media:after {
    clear: both; }

.media__img {
  float: left;
  margin-right: 52px; }
  .media__img > img {
    display: block; }

.media__body {
  overflow: hidden;
  display: block; }
  .media__body,
  .media__body > :last-child {
    margin-bottom: 0; }

/**
 * Media (Reverted):
 * Displays a contents besides an image/video or another media node.
 *
 *     @example
 *     <div class="media">
 *       <img class="media__img media__img--rev" src="http://placehold.it/300x200" alt="Media Image">
 *       <div class="media__content">
 *         <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. </p>
 *         <p>Lorem ipsum dolor sit amet.</p>
 *       </div>
 *     </div>
 */
.media__img--rev {
  float: right;
  margin-left: 52px;
  margin-right: 0; }

/**
 * Media (Compact):
 * Reduces the visual space between the media and the contents.
 *
 *     @example
 *     <div class="media">
 *       <img class="media__img media__img--compact" src="http://placehold.it/300x200" alt="Media Image">
 *       <div class="media__content">
 *         <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. </p>
 *         <p>Lorem ipsum dolor sit amet.</p>
 *       </div>
 *     </div>
 */
.media__img--compact {
  margin-right: 26px; }
  .media__img--compact.media__img--rev {
    margin-left: 26px;
    margin-right: 0; }

/**
 * Navigation:
 * Resets the styles of an `ul` node and displays all items inline. This is the base class for all navigations.
 *
 *     @example
 *     <nav>
 *       <ul class="nav">
 *         <li><a href="">First nav item</a></li>
 *         <li><a href="">Second nav item</a></li>
 *         <li><a href="">Third nav item</a></li>
 *         <li><a href="">Fourth nav item</a></li>
 *       </ul>
 *     </nav>
 */
.nav {
  padding-left: 0;
  padding-right: 5.0em;
  margin-bottom: 0;
  list-style: none; }
  .nav > li {
    display: inline-block; }
    .nav > li > a {
      display: block;
      transition: all .3s ease;
      color: currentColor; }
      .nav > li > a:hover, .nav > li > a:active, .nav > li > a:focus {
        text-decoration: none; }
      p .nav > li > a {
        padding: 0;
        margin: 0; }

/**
 * Navigation (Stacked):
 * Sets the visual order of the navigation to vertical.
 *
 *     @example
 *     <nav>
 *       <ul class="nav nav--stacked">
 *         <li><a href="">First nav item</a></li>
 *         <li><a href="">Second nav item</a></li>
 *         <li><a href="">Third nav item</a></li>
 *         <li><a href="">Fourth nav item</a></li>
 *       </ul>
 *     </nav>
 */
.nav--stacked > li {
  display: list-item; }

/**
 * Navigation (Fit parent):
 * Forces the navigation and it's items to occupy 100% of the available width of it's parent.
 *
 *     @example
 *     <nav>
 *       <ul class="nav nav--fit">
 *         <li><a href="">First nav item</a></li>
 *         <li><a href="">Second nav item</a></li>
 *         <li><a href="">Third nav item</a></li>
 *         <li><a href="">Fourth nav item</a></li>
 *       </ul>
 *     </nav>
 */
.nav--fit {
  display: table;
  width: 100%; }
  .nav--fit > li {
    display: table-cell; }

/**
 * Navigation (Bradcrumb):
 *
 *     @example
 *     <nav>
 *       <ul class="nav nav--breadcrumb">
 *         <li><a href="">First nav item</a></li>
 *         <li><a href="">Second nav item</a></li>
 *         <li><a href="">Third nav item</a></li>
 *         <li><a href="">Fourth nav item</a></li>
 *       </ul>
 *     </nav>
 */
.nav--breadcrumb {
  font-size: 0.875em;
  line-height: 26px;
  padding: 13px 52px; }
  .nav--breadcrumb > li:first-child {
    font-weight: 400; }
  .nav--breadcrumb > li:after {
    content: ' » ';
    padding: 0 3px;
    font-weight: 300; }
  .nav--breadcrumb > li:last-child:after {
    display: none; }
  .nav--breadcrumb > li > a {
    display: inline-block; }
    .nav--breadcrumb > li > a:hover {
      color: #f89c1c; }

/**
 * Spinner:
 * Displays a loading state to the user.
 *
 *     @example
 *     <div class="spinner">
 *       <i class="spinner__dot"></i>
 *       <i class="spinner__dot"></i>
 *       <i class="spinner__dot"></i>
 *     </div>
 */
.spinner {
  position: relative;
  display: inline-block;
  width: 31px;
  height: 7px;
  vertical-align: middle;
  text-align: center; }

.spinner__dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  vertical-align: top;
  border-radius: 50%;
  background: #cccccc;
  -webkit-animation: Pulsate 1s infinite ease-in-out;
          animation: Pulsate 1s infinite ease-in-out; }
  .spinner__dot:first-child {
    -webkit-animation-delay: -0.16s;
            animation-delay: -0.16s; }
  .spinner__dot:last-child {
    -webkit-animation-delay: .16s;
            animation-delay: .16s; }

/**
 * Spinner (Inverted):
 *
 *     @example
 *     <div style="background: currentColor;padding: 1em;margin-bottom: .75em;">
 *       <div class="spinner spinner--invert">
 *         <i class="spinner__dot"></i>
 *         <i class="spinner__dot"></i>
 *         <i class="spinner__dot"></i>
 *       </div>
 *     </div>
 */
.spinner--invert > .spinner__dot {
  background: white; }

/**
 * Table:
 * Base class for all tables.
 *
 *     @example
 *     <table class="table">
 *       <thead>
 *         <tr>
 *           <th>Name</th>
 *           <th>Age</th>
 *           <th>Residence</th>
 *         </tr>
 *       </thead>
 *       <tbody>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *       </tbody>
 *     </table>
 */
.table {
  width: 100%;
  margin-bottom: 1.625em; }
  .table td, .table th {
    padding: 0.5em;
    font-size: 90%; }
  .table th {
    font-weight: 300; }

/**
 * Table (Bordered):
 * Adds a border around the table and in between the rows and cells.
 *
 *     @example
 *     <table class="table table--bordered">
 *       <thead>
 *         <tr>
 *           <th>Name</th>
 *           <th>Age</th>
 *           <th>Residence</th>
 *         </tr>
 *       </thead>
 *       <tbody>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *       </tbody>
 *     </table>
 */
.table--bordered {
  border: 1px solid #e6e6e6;
  border-collapse: separate;
  border-radius: 3px; }
  .table--bordered td, .table--bordered th {
    border-left: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6; }
    .table--bordered td:first-child, .table--bordered th:first-child {
      border-left: 0; }
  .table--bordered tr:last-child > td {
    border-bottom: 0; }

/**
 * Table (Striped):
 * Adds a border below each row.
 *
 *     @example
 *     <table class="table table--striped">
 *       <thead>
 *         <tr>
 *           <th>Name</th>
 *           <th>Age</th>
 *           <th>Residence</th>
 *         </tr>
 *       </thead>
 *       <tbody>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *       </tbody>
 *     </table>
 */
.table--striped td, .table--striped th {
  border-bottom: 1px solid #e6e6e6; }

.table--striped th {
  padding-top: 0;
  box-shadow: 0 1px 0 rgba(231, 231, 236, 0.7), 0 3px 0 rgba(231, 231, 236, 0.3); }

/**
 * Table (Condensed):
 * Reduces the visual gap between each table row.
 *
 *     @example
 *     <table class="table table--condensed">
 *       <thead>
 *         <tr>
 *           <th>Name</th>
 *           <th>Age</th>
 *           <th>Residence</th>
 *         </tr>
 *       </thead>
 *       <tbody>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *       </tbody>
 *     </table>
 */
.table--condensed td, .table--condensed th {
  padding: 0.25em 0.5em 0.25em; }

/**
 * Table (Zebra):
 * Displays each odd/even row with a changing background to enhance the visual difference between each row element.
 *
 *     @example
 *     <table class="table table--zebra">
 *       <thead>
 *         <tr>
 *           <th>Name</th>
 *           <th>Age</th>
 *           <th>Residence</th>
 *         </tr>
 *       </thead>
 *       <tbody>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *         <tr>
 *           <td>Max Mustermann</td>
 *           <td>20</td>
 *           <td>Berlin</td>
 *         </tr>
 *       </tbody>
 *     </table>
 */
.table--zebra tbody tr:nth-child(even) {
  background: #fff; }

.table--zebra tbody tr:nth-child(odd) {
  background: #f2f2f2; }

/**
 * Headline Slider:
 * Substitutes through the given words/sentences with a fine grained word-replace logic.
 *
 *     @example
 *     <div data-component="SentenceSwitcher" class="headlineSlider h2"
 *          data-wordClassName="headlineSlider__word"
 *          data-sentenceSelector="span"
 *          data-animatingWordClassName="headlineSlider__word--isAnimating">
 *       <span>This is a test</span>
 *       <span>This is another test</span>
 *       <span>This is yet another test</span>
 *       <span>This test is getting out hand</span>
 *     </div>
 */
.headlineSlider {
  color: currentColor; }
  .headlineSlider .neos-contentcollection > div {
    display: none; }
    .headlineSlider .neos-contentcollection > div:first-child {
      display: block;
      visibility: hidden; }

.headlineSlider__word {
  display: inline-block;
  opacity: 1;
  transition: all .5s ease;
  white-space: nowrap; }

.headlineSlider__word--isAnimating {
  opacity: 0; }

/**
 * Image Teaser, Small and SmallOne:
 * SmallOne is without margin
 */
.imageTeaser {
  --image-clip-width: 20px;
  --image-clip-height: 20px;
  position: relative;
  display: block;
  min-height: 430px;
  margin-bottom: 0px;
  overflow: hidden;
  background: #252839; 
  }
@media screen and (max-width: 649px) {
  .imageTeaser {
   min-height: 200px; } 
 } 

.imageTeaser__image {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  min-width: 100%;
  min-height: 100%;
  max-width: none;
  max-height: none;
  -webkit-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  transition: all .6s ease; }
  .imageTeaser:hover .imageTeaser__image {
    opacity: .35;
    -webkit-transform: translateX(-50%) translateY(-50%) scale(1.1);
        -ms-transform: translateX(-50%) translateY(-50%) scale(1.1);
            transform: translateX(-50%) translateY(-50%) scale(1.1); }

@media screen and (max-width: 649px) {
  .imageTeaser__image {
   position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  width: 100%; 
  height: 100%; 
  object-fit: contain; }
  }

.imageTeaser__contents {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  padding: 0.5em 2em;
  width: 100%;
  filter: alpha(Opacity=0);
  opacity: 1;
  -moz-transform: translateY(1em);
  -ms-transform: translateY(1em);
  -webkit-transform: translateY(1em);
  transform: translateY(1em);
  -moz-transition: -moz-transform 975ms cubic-bezier(.39, .575, .565, 1);
  -o-transition: -o-transform 975ms cubic-bezier(.39, .575, .565, 1);
  -webkit-transition: -webkit-transform 975ms cubic-bezier(.39, .575, .565, 1);
  transition: transform 975ms cubic-bezier(.39, .575, .565, 1)  
}
.imageTeaser__contents:hover {
  filter: alpha(Opacity=100);
  opacity: 1;
  -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -moz-transition: -moz-transform 975ms cubic-bezier(.18, 1, .21, 1) 30ms;
    -o-transition: -o-transform 975ms cubic-bezier(.18, 1, .21, 1) 30ms;
    -webkit-transition: -webkit-transform 975ms cubic-bezier(.18, 1, .21, 1);
    -webkit-transition-delay: 30ms;
    transition: transform 975ms cubic-bezier(.18, 1, .21, 1) 30ms
}
.imageTeaser__contents :last-child {
    margin-bottom: 0; }
.imageTeaser__contents:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 150%;
    background: linear-gradient(to top, transparent 0%, rgba(0, 0, 0, 0.45) 100%);
    transition: all .6s ease; }
    .imageTeaser:hover .imageTeaser__contents:after {
      opacity: 1; }

.imageTeaser__contents__subHeading { 
  margin-bottom: 0;
  line-height: 1.8;
  font-size: 20px; }

.imageTeaser__contents__heading {
  margin-top: 0;
  text-transform: uppercase;
  word-wrap: break-word;
  font-weight: 500;
  font-size: 28px !important;
  line-height: 34px !important; }

  a.imageTeaser {
    cursor: url(../Images/arrow_fwd.png) 48 48, auto
}

.brandVisual--small & .imageTeaser__contents__heading {
  color: #fff; }

.imageTeaserSmall {
  --image-clip-width: 20px;
  --image-clip-height: 20px;
  position: relative;
  display: block;
  min-height: 415px;
  margin-bottom: 25px;
  overflow: hidden;
  background: #252839; }

.imageTeaserSmall__image {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  -webkit-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  transition: all .6s ease; }
  .imageTeaserSmall:hover .imageTeaserSmall__image {
    opacity: .35;
    -webkit-transform: translateX(-50%) translateY(-50%) scale(1.1);
        -ms-transform: translateX(-50%) translateY(-50%) scale(1.1);
            transform: translateX(-50%) translateY(-50%) scale(1.1); }

.imageTeaserSmall__contents {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  padding: 0.5em 2em;
  width: 100%;
  filter: alpha(Opacity=0);
  opacity: 1;
  -moz-transform: translateY(1em);
  -ms-transform: translateY(1em);
  -webkit-transform: translateY(1em);
  transform: translateY(1em);
  -moz-transition: -moz-transform 975ms cubic-bezier(.39, .575, .565, 1);
  -o-transition: -o-transform 975ms cubic-bezier(.39, .575, .565, 1);
  -webkit-transition: -webkit-transform 975ms cubic-bezier(.39, .575, .565, 1);
  transition: transform 975ms cubic-bezier(.39, .575, .565, 1)  
}
.imageTeaserSmall__contents:hover {
  filter: alpha(Opacity=100);
  opacity: 1;
  -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -moz-transition: -moz-transform 975ms cubic-bezier(.18, 1, .21, 1) 30ms;
    -o-transition: -o-transform 975ms cubic-bezier(.18, 1, .21, 1) 30ms;
    -webkit-transition: -webkit-transform 975ms cubic-bezier(.18, 1, .21, 1);
    -webkit-transition-delay: 30ms;
    transition: transform 975ms cubic-bezier(.18, 1, .21, 1) 30ms
}
.imageTeaserSmall__contents :last-child {
    margin-bottom: 0; }
.imageTeaserSmall__contents:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 150%;
    background: linear-gradient(to top, transparent 0%, rgba(0, 0, 0, 0.45) 100%);
    transition: all .6s ease; }
    .imageTeaserSmall:hover .imageTeaserSmall__contents:after {
      opacity: 1; }

.imageTeaserSmall__contents__subHeading { 
  margin-bottom: 0;
  line-height: 1.8;
  font-size: 20px; }

.imageTeaserSmall__contents__heading {
  margin-top: 0;
  text-transform: uppercase;
  word-wrap: break-word;
  font-weight: 500;
  font-size: 28px !important;
  line-height: 34px !important; }

  a.imageTeaserSmall {
    cursor: url(../Images/arrow_fwd.png) 48 48, auto
}

.imageTeaserSmallOne {
  --image-clip-width: 20px;
  --image-clip-height: 20px;
  position: relative;
  display: block;
  min-height: 203px;
  margin-bottom: 10px;
  overflow: hidden;
  background: #252839; }

.imageTeaserSmallOne__image {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  min-width: 100%;
  min-height: 100%;
  max-width: none;
  max-height: none;
  -webkit-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  transition: all .6s ease; }
  .imageTeaserSmallOne:hover .imageTeaserSmallOne__image {
    opacity: .35;
    -webkit-transform: translateX(-50%) translateY(-50%) scale(1.1);
        -ms-transform: translateX(-50%) translateY(-50%) scale(1.1);
            transform: translateX(-50%) translateY(-50%) scale(1.1); }

.imageTeaserSmallOne__contents {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  padding: 0.5em 2em;
  width: 100%;
  filter: alpha(Opacity=0);
  opacity: 1;
  -moz-transform: translateY(1em);
  -ms-transform: translateY(1em);
  -webkit-transform: translateY(1em);
  transform: translateY(1em);
  -moz-transition: -moz-transform 975ms cubic-bezier(.39, .575, .565, 1);
  -o-transition: -o-transform 975ms cubic-bezier(.39, .575, .565, 1);
  -webkit-transition: -webkit-transform 975ms cubic-bezier(.39, .575, .565, 1);
  transition: transform 975ms cubic-bezier(.39, .575, .565, 1)  
}
.imageTeaserSmallOne__contents:hover {
  filter: alpha(Opacity=100);
  opacity: 1;
  -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -moz-transition: -moz-transform 975ms cubic-bezier(.18, 1, .21, 1) 30ms;
    -o-transition: -o-transform 975ms cubic-bezier(.18, 1, .21, 1) 30ms;
    -webkit-transition: -webkit-transform 975ms cubic-bezier(.18, 1, .21, 1);
    -webkit-transition-delay: 30ms;
    transition: transform 975ms cubic-bezier(.18, 1, .21, 1) 30ms
}
.imageTeaserSmallOne__contents :last-child {
    margin-bottom: 0; }
.imageTeaserSmallOne__contents:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 150%;
    background: linear-gradient(to top, transparent 0%, rgba(0, 0, 0, 0.45) 100%);
    transition: all .6s ease; }
    .imageTeaserSmallOne:hover .imageTeaserSmallOne__contents:after {
      opacity: 1; }

.imageTeaserSmallOne__contents__subHeading { 
  margin-bottom: 0;
  line-height: 1.8;
  font-size: 20px; }

.imageTeaserSmallOne__contents__heading {
  margin-top: 0;
  text-transform: uppercase;
  word-wrap: break-word;
  font-weight: 500;
  font-size: 28px !important;
  line-height: 34px !important; }

  a.imageTeaserSmallOne {
    cursor: url(../Images/arrow_fwd.png) 48 48, auto
}

/**
 * References:
 * Layout for show cases
 */
.references__list .references__item:nth-child(odd) {
  clear: both; }

.references__list .imageTeaser {
  min-height: 250px; }

.references__list .references__data {
  font-size: 14px;
  color: #898d99;
  padding-top: 4px; }
  .references__list .references__data,
  .references__list .references__data h1, .references__list .references__data h2, .references__list .references__data h3,
  .references__list .references__data h4, .references__list .references__data h5, .references__list .references__data h6 {
    color: white; }
  .references__list .references__data .btn--solidBright {
    color: #656a71; }
  .references__list .references__data span {
    display: block;
    padding-right: 1em;
    white-space: nowrap; }
    @media screen and (min-width: 400px) {
      .references__list .references__data span {
        display: inline-block; } }
/**
 * Site header
 * linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, transparent 100%);
 * color: #FFF;
 */
.siteHeader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  min-width: 20em;
  height: 100px;
  transition: all .5s ease;
  background: #fff;
  border-bottom: 8px solid #3Fa9f5;
  border-image-repeat: strech;
  border-image-slice: 0 0 8 0;
   }

.siteHeader--hidden {
  //
  // Currently disabled on smallerThanLarge screens since the opened state for the siteNav
  // is breaking when hiding the siteHeader.
  //
  // Warning: This logic is tightly coupled with the scrollTo JavaScript component
  //
  @media screen and (min-width: 1350px) {
    transform: translateY(-100%);
  }
}
/**
*@media screen and (min-width: 1250px) {
*  .siteHeader--hidden {
*    -webkit-transform: translateY(-100%);
*        -ms-transform: translateY(-100%);
*            transform: translateY(-100%); } }
*
**/
.siteHeader__brandLogo {
  position: absolute;
  top: 50%;
  left: 2.5em;
  z-index: 1;
  transform: translateY(-50%);
  width: auto;
  max-width: 220px; // Max-width is needed since IE goes crazy with auto-width svg's.
  height: 30px;
  fill: currentColor;
  transition: all .3s ease;

  @media screen and (min-width: 1350px) {
    left: 50px;
    height: 50px;

    .siteHeader--shaded & {
      height: 35px;
    }
  }
}

.siteHeader__navToggler {
  position: absolute;
  top: 47%;
  right: 7.0em;
  z-index: 1;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
  @media screen and (min-width: 1250px) {
    .siteHeader__navToggler {
      display: none;
      visibility: hidden; } }
@media screen and (max-width: 649px) {
  .siteHeader__navToggler {
   right: 6.0em; } 
 }      
.siteHeader__nav {
  font-weight: 400;
  font-size: 1.0em;
  line-height: 26px;
  color: #535353;
   }
  @media screen and (min-width: 1250px) {
    .siteHeader__nav {
      position: absolute;
      top: 50%;
      left: 30.0em;
      margin-top: 3px;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); } }
  .siteHeader__nav > li {
    position: relative; }
    @media screen and (min-width: 1250px) {
      .siteHeader__nav > li {
        display: inline-block;
        margin-left: 15px; }
        .siteHeader__nav > li > a {
          padding: 5px 0; } }

@media screen and (min-width: 1250px) {
  .siteHeader__dropDownNav {
    position: absolute;
    top: 100%;
    left: 100%;
    -webkit-transform: translateX(-50%) translateY(-10px);
        -ms-transform: translateX(-50%) translateY(-10px);
            transform: translateX(-50%) translateY(-10px);
    width: 200px;
    background: #FFF;
    border-radius: 3px;
    padding: 10px 20px;
    font-weight: 300;
    font-size: 14px;
    opacity: 0;
    transition: all .3s ease;
    pointer-events: none;
    color: #656a71;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); }
    .siteHeader__dropDownNav:after {
      position: absolute;
      top: -10px;
      left: 50%;
      margin-left: -2.5px;
      content: "";
      display: block;
      width: 0;
      height: 0;
      border: solid 5px;
      border-color: transparent transparent #fff transparent; }
    li:hover > .siteHeader__dropDownNav {
      opacity: 1;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      pointer-events: all; }
    li:last-child > .siteHeader__dropDownNav {
      left: -18px;
      -webkit-transform: translateY(-10px);
          -ms-transform: translateY(-10px);
              transform: translateY(-10px); }
      li:last-child > .siteHeader__dropDownNav:after {
        left: 92%; }
    li:last-child:hover > .siteHeader__dropDownNav {
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0); }
    .siteHeader__dropDownNav > li > a:hover {
      color: #f89c1c; } }

@media screen and (max-width: 1249px) {
  .offCanvas {
    position: fixed;
    top: 0;
    right: 0;
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%);
    width: 100%;
    height: 100%;
    padding: 5em 1.5em 1.5em;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.70) 0%, #fff 100%);
    transition: .5s ease opacity;
    opacity: 0; } }

@media screen and (max-width: 1249px) {
  .offCanvas--visible {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@media screen and (max-width: 1249px) {
  .offCanvas__navWrapper {
    height: 100%;
    overflow: hidden;
    -webkit-transform: translateY(-35px);
        -ms-transform: translateY(-35px);
            transform: translateY(-35px);
    transition: .5s .3s ease all;
    opacity: 0; }
    .offCanvas--visible .offCanvas__navWrapper {
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0);
      opacity: 1; } }

@media screen and (max-width: 1249px) {
  .offCanvas__nav {
    margin-right: -16px;
    overflow-y: scroll;
    height: 100%; }
    .offCanvas__nav:before, .offCanvas__nav:after {
      content: '';
      display: table; }
    .offCanvas__nav:after {
      clear: both; } }

@media screen and (max-width: 1249px) {
  .offCanvas__category {
    width: 50%;
    margin-bottom: 26px;
    float: left; }
    .offCanvas__category:nth-child(odd) {
      clear: both; }
    .offCanvas__category > a {
      font-size: 26px;
      font-weight: 300;
      margin-top: 50px;
      margin-bottom: 13px;
      color: #3fa9f5; } }

@media screen and (max-width: 649px) {
  .offCanvas__category {
    width: 100%;
    float: none; } }

@media screen and (max-width: 1249px) {
  .offCanvas__categoryList {
    font-weight: 200; } }

@media screen and (max-width: 1249px) {
  .offCanvas__categorySeparator {
    max-width: 220px;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.25) 50%, rgba(255, 255, 255, 0) 100%); } }

.brandVisual {
  position: relative;
  display: table;
  width: 100%;
  min-height: 500px;
  overflow: hidden;
  background: #000;
  margin-top: 78px; }
  .brandVisual:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 15vh;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, transparent 100%); }

.html--scrollDisabled .brandVisual {
  z-index: -1; }

.brandVisual--large & {
  min-height: 500px; }

.brandVisual__contents {
  position: relative;
  z-index: 2;
  display: table-cell;
  vertical-align: bottom;
  background-size: cover;
  background-position: center center;
  width: 100%; }

.brandVisual__contents:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    max-width: 100%;
    max-height: none;
    opacity: .2;
    z-index: -1;
    -webkit-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%); }

.brandVisual--large .brandVisual__contents {
    height: 40vh; }

.brandVisual--small .brandVisual__contents {
    height: 22vh; }


@media screen and (max-width: 1249px) {
    .brandVisual__contents .u-brandLogo {
      padding-left: 2em;
      padding-right: 2em; } 
    .brandVisual--large .brandVisual__contents {
    height: 50vh; }
  }

@media screen and (max-width: 649px) {
    .brandVisual__contents .u-brandLogo {
      padding-left: 1em;
      padding-right: 1em; } 
    .brandVisual--large .brandVisual__contents {
    height: 30vh; }
  }

.deviceStage {
  position: relative;
  overflow: hidden;
  background: #FFF; }

.deviceStage__device {
  position: relative;
  width: 80%;
  height: 40vw;
  margin: 0 auto;
  padding: 4vw 2.9vw 0;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover; }
  .deviceStage__device > img,
  .deviceStage__device > video,
  .deviceStage__device > iframe {
    width: 100%;
    height: 100%;
    margin-bottom: 0; }
  .deviceStage__device .flexibleEmbed__ratio {
    padding-bottom: 49.25% !important; }

.deviceStage__contents {
  padding: 52px 52px 0; }
  .deviceStage__contents > .neos-contentcollection:empty {
    margin-top: -52px; }
  .deviceStage__contents > :last-child {
    margin-bottom: 0; }

.stage {
  display: block;
  position: relative;
  overflow: hidden;
  background: #000;
  padding-bottom: 0px;
  color: currentColor; }
  .stage:hover, .stage:active, .stage:focus {
    text-decoration: none; }
  p .stage {
    padding: 0;
    margin: 0; }

.stage--bright {
  background: #FFF; }

.stage--dark {
  background: #00275B; }

.stage--primary {
  background: #efeff0; }

.stage--secondary {
  background: #a18152; }

.stage--teritary {
  background: #f2b632; }

.stage__bg {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  min-width: 100%;
  min-height: 100%;
  max-width: none;
  max-height: none;
  -webkit-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  transition: opacity .8s ease, -webkit-transform 1s ease;
  transition: opacity .8s ease, transform 1s ease;
  transition: opacity .8s ease, transform 1s ease, -webkit-transform 1s ease; }
  a.stage > .stage__bg {
    opacity: .4; }
  a.stage:hover > .stage__bg {
    opacity: .7;
    -webkit-transform: translateX(-50%) translateY(-50%) scale(1.01);
        -ms-transform: translateX(-50%) translateY(-50%) scale(1.01);
            transform: translateX(-50%) translateY(-50%) scale(1.01); }

.stage__bg--shade-20 {
  opacity: .8; }

.stage__bg--shade-40 {
  opacity: .6; }

.stage__bg--shade-60 {
  opacity: .4; }

.stage__bg--shade-80 {
  opacity: .2; }

.brand__contents {
  display: block;
  position: absolute;
  z-index: 1;
  bottom: 25px;
  margin: 0 auto;
  align-self: center;

}
.stage__contents {
  display: block;
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin: 0 auto;
  padding: 5vh 52px; }
  @media screen and (max-width: 649px) {
    .stage__contents * {
      text-align: left !important; } }
  .stage__contents > :last-child {
    margin-bottom: 0; }

.stage__contents--extraPadding {
  padding-top: 23vh;
  padding-bottom: 23vh; }

.stage__contents--small {
  max-width: 750px; }

.stage-tiles {
    height: 50vh; }


.stage__tiles {
    position: relative;
    overflow: hidden;
    background: #fff
}

.stage__tiles--primary {
    background: #595753
}

.stage__tiles--primary, .stage__tiles--primary .teaser-text__separator,
.stage__tiles--primary h1, .stage__tiles--primary h2, .stage__tiles--primary h3,
.stage__tiles--primary h4 {
    color: #fff
}

.stage__tiles--primary:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    display: none;
    width: 50%;
    height: 100%;
    background: #fff
}

@media screen and (min-width:768px) {
    .stage__tiles--primary:before {
        display: block
    }
}

.stage__tiles--primary.stage__tiles--flipped:before {
    right: 0;
    left: auto
}

.stage__tiles__tile {
    min-height: 300px;
    min-height: 50vh
}

@media screen and (min-width:768px) {
    .stage__tiles__tile {
        float: left;
        width: 50%
    }
}

.stage__tiles__tile--bg {
    position: relative
}

.stage__tiles__tile--bg > img {
    position: absolute;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    width: 100%;
    height: 100%
}

@media screen and (min-width:768px) {
    .stage__tiles__tile--bg {
        position: absolute;
        left: 0;
        height: 100%
    }

    .stage__tiles--flipped > .stage__tiles__tile--bg {
        right: 0;
        left: auto
    }
}

.stage__tiles__tile--contents {
    padding: 4em
}

@media screen and (min-width:768px) {
    .stage__tiles__tile--contents {
        float: right
    }

    .stage__tiles--flipped > .stage__tiles__tile--contents {
        float: left
    }
}

.stage__tiles__tile--contents > div > :first-child {
    margin-top: 0
}

.stage__tiles__tile--contents > div > :last-child {
    margin-bottom: 0
}

.stage__tiles__tile--contents .h1, .stage__tiles__tile--contents h1 {
    margin-bottom: .25em
}

.stage__tiles__tile--contents .h4, .stage__tiles__tile--contents h4 {
    margin-top: 0
}

.stage__tiles__bubble {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    display: none;
    width: 60px;
    height: 60px;
    border-radius: 100%;
    background: #fff;
    color: #595753;
    text-align: center;
    line-height: 60px;
    font-size: 20px;
    border: 2px solid #595753
}

.stage__tiles--primary > .stage__tiles__bubble {
    background: #595753;
    color: #fff
}

@media screen and (min-width:768px) {
    .stage__tiles__bubble {
        display: block
    }
}


/**
 * Box:
 * Creates a box around the inner contents.
 *
 *     @example
 *     <div class="box">
 *       <h4>Hello world!</h4>
 *       <p>Lorem ipsum dolor sit...</p>
 *     </div>
 */
.box {
  margin-bottom: 26px;
  padding: 52px 26px;
  background: #F0F3F5; }
  .box :last-child {
    margin-bottom: 0; }

@media screen and (max-width: 649px) {
  .sideBar {
    display: none !important;
    visibility: hidden; } }

.siteFooter {
  padding: 52px;
  background: #efeff0;
  border-top: 8px solid #3Fa9f5;
  font-size: 0.875em; }
  .siteFooter p a {
    color: #00275b; }
  .siteFooter hr {
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.25) 50%, rgba(255, 255, 255, 0) 100%); }
  @media screen and (max-width: 649px) {
    .siteFooter .gi {
      text-align: center;
      margin-bottom: 2em; } }
  .siteFooter > :last-child {
    margin-bottom: 0; }

.siteFooter__heading {
  margin-bottom: 6.5px; }

.siteFooter__nav {
  line-height: 26px;
  color: #c1bee2; }
  .siteFooter__nav a:hover {
    color: #FFF; }

.team-listing__group header > * {
  margin-bottom: 1em; }

.team-listing__group:after {
  content: '';
  clear: both;
  display: table; }

.team-listing__members:after {
  content: '';
  clear: both;
  display: table; }

.team-listing__member:nth-of-type(2)::after {
  clear: both; }

.team-listing__member .gravatar {
  border: 2px solid #f89c1c;
  border-radius: 100%;
  margin-right: 15px; }

.team-listing__member a:hover .gravatar {
  border-color: #f89c1c;
  opacity: 1; }

.team-listing-modal__backdrop {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  transition: .5s ease opacity;
  opacity: 0;
  position: fixed;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(38, 34, 76, 0.75) 0%, #252839 100%); }

.team-listing-modal__backdrop--visible {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  opacity: 1; }

.team-listing-modal ul {
  display: block;
  list-style-type: none;
  margin: 0;
  padding: 0; }

.team-listing-modal li {
  line-height: 1.2em;
  margin: .3em 0 0; }
  .team-listing-modal li:first-child {
    margin-top: 0; }

.team-listing-modal hr {
  margin: 0 0 .5em; }

.team-listing-modal__backdrop--visible .team-listing-modal {
  padding: 5em 1.5em 1.5em;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  z-index: 3; }

.team-listing-modal__header {
  display: block;
  font-size: 110%;
  margin-bottom: 5px; }
  ul + .team-listing-modal__header {
    margin-top: 2em; }
  .team-listing-modal__header + ul {
    margin-top: .5em; }

.team-listing-modal__portrait {
  background-color: #f89c1c;
  color: white;
  padding: 40px;
  padding-bottom: 0;
  font-weight: bold; }
  .team-listing-modal__portrait .team-listing-modal__header {
    font-size: 130%;
    text-transform: uppercase; }
  .team-listing-modal__portrait ul {
    display: block; }
  .team-listing-modal__portrait .gravatar {
    border: 2px solid white;
    border-radius: 100%;
    margin: 0 0 20px 0;
    width: 100%; }

.team-listing-modal__details {
  padding: 40px;
  background: white; }

.team-listing-modal {
  transition: .5s ease-out transform;
  -webkit-transform: translateY(-500%);
      -ms-transform: translateY(-500%);
          transform: translateY(-500%);
  width: 400px;
  z-index: 4;
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

/*
 * Print styles - Inlined to avoid another HTTP connection.
 */
@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  @page {
    margin: 0.5cm; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  p, h2, h3 {
    orphans: 3;
    widows: 3; }
  h2, h3 {
    page-break-after: avoid; }
  a,
  a:visited {
    text-decoration: underline; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  
  .print-hidden {
    display: none; } }
  .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-right: 0px;
  padding-left: 0px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0;
  }
}
.dl-gallery img {
    margin-top: 30px;
}
.flag-logo {
    float: right;
    padding-right: 7.0em;
    margin-top: 34px;
    position: relative;
}
@media screen and (max-width: 1249px) {
    .flag-logo {
      display: none;
      visibility: hidden; } 
    }
.language-menu {
    float: right;
    padding-right: 3.0em;
    color: #736357;
    margin-top: -44px;
    font-size: 1.0em;
    position: fixed;
    right: 0;
    z-index: 1002;
    cursor: pointer;
    font-family: 'Roboto', serif;
    font-weight: 500,
}

.language-menu div .language-menu-full {
    font-size: 0.85em;
}

.language-menu div .language-menu-short {
    display: none
}

.language-menu div span {
    font-size: 0.65em
}

.language-menu:focus ul,
.language-menu:hover ul {
    display: block
}

.language-menu ul {
    display: none;
    margin: 0;
    padding-left: 0;
    position: absolute;
    background-color: #fff;
    box-shadow: 0 0 2px #000;
    width: 100px
}

.language-menu ul:after,
.language-menu ul:before {
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    top: -5px;
    left: 50%;
    margin-left: -5px;
    background-color: #fff
}

.language-menu ul:before {
    box-shadow: 0 0 2px #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.language-menu ul:after {
    top: 0;
    width: 20px;
    margin-left: -10px
}

.language-menu ul li {
    list-style: none;
    padding: 0 10px;
    line-height: 20px;
    margin-bottom: 10px;
    font-family: Roboto, sans-serif;
    font-weight: 500;
    font-size: 13px;
    color: #5b5b5b
}

.language-menu ul li:first-child {
    margin-top: 10px
}

.language-menu ul li.current a {
    color: #26224c;
    text-decoration: underline
}

.language-menu ul li a {
    color: #F89C1C
}

.language-menu ul li .language-menu-short {
    display: none
}
@media only screen and (max-width: 767px) {
    .language-menu {
        padding-right: 1.0em
    }
.top-navigation-wrap {
    position: sticky;
    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.92);
    transition: box-shadow 0.2s linear;
    min-height: 85px
}

.top-navigation-wrap.scrolling {
    -moz-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15)
}

@media only screen and (max-width: 767px) {
    .top-navigation-wrap {
        position: relative;
        margin-left: -15px;
        margin-right: -15px
    }
    .top-navigation-wrap,
    .top-navigation-wrap.scrolling {
        -moz-box-shadow: none;
        -webkit-box-shadow: none;
        box-shadow: none
    }
}

@media only screen and (max-width: 767px) {
    .neos-controls .top-navigation-wrap {
        top: auto
    }
}

.neos-edit-preview-panel-open:not(.neos-full-screen) .top-navigation-wrap {
    top: 182px
}

@media only screen and (max-width: 767px) {
    .neos-edit-preview-panel-open:not(.neos-full-screen) .top-navigation-wrap {
        top: auto
    }
}

.neos-inspector-panel-open:not(.neos-full-screen) .top-navigation-wrap {
    right: 320px
}

.neos-menu-panel-open:not(.neos-full-screen) .top-navigation-wrap,
.neos-navigate-panel-open:not(.neos-full-screen) .top-navigation-wrap {
    left: 320px
}
.container {
    margin-top: calc(33vh + 85px);
    text-align: center
}
.container .navbar-collapse {
    max-height: none;
    padding: 0;
    margin: 0
}
/*  Image carousel arrows */

.carousel-caption h1 {
    font-family: 'Museo Light', serif !important;
    font-size: 48px;
    font-size: 2.66667rem;
    line-height: 1.1;
    letter-spacing: -1px;
    color: #fff !important;
    padding-bottom: 26%;
}
.carousel-caption h2 {
    font-family: 'Museo Light', serif !important;
    font-size: 36px;
    font-size: 2.4rem;
    line-height: 1.1;
    letter-spacing: -1px;
    color: #fff !important;
    padding-bottom: 15%;
}
.carousel-caption {
    right: 10%;
    left: 10%;
}
.carousel-indicators {
    bottom: 40px;
}
.carousel-indicators li {
    width: 10px;
    height: 10px;
    margin: 0;
    border-color: #ccc;
    background-color: #888;
    -moz-transition: box-shadow 0.1s;
    -o-transition: box-shadow 0.1s;
    -webkit-transition: box-shadow 0.1s;
    transition: box-shadow 0.1s;
    -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.carousel-indicators .active {
    width: 10px;
    height: 10px;
    background-color: #ddd;
    -moz-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
}
@media only screen and (max-width: 767px) {
    .carousel-caption h2 {
        font-size: 30px;
        padding-bottom: 1.8em;
    }
}
@media only screen and (max-width: 767px) {
    .carousel-indicators {
        display: none;
    }
}
.carousel-control.right,
.carousel-control.left {
    background: none;
}
.neos-backend .carousel-control {
    display: none;
}

@media only screen and (max-width: 767px) {
    .carousel-caption h1 {
        font-size: 35px;
        padding-bottom: 3.5em
    }
}
@media only screen and (max-width: 420px) {
    .carousel-caption h1 {
        font-size: 28px;
        padding-bottom: 1em
    }
}
@media only screen and (max-width: 420px) {
    .carousel-caption h2 {
        font-size: 20px;
        padding-bottom: 0.3em
    }
}

@media only screen and (max-width:767px) {
    body {
        padding-top: 0!important
    }
    footer .panel .panel-body,
    footer .panel .panel-footer {
        padding-left: 0;
        padding-right: 0
    }
    .main-header h1 {
        font-size: 1.8rem
    }
    .carousel-indicators {
        display: none
    }
    .carousel-caption {
        font-size: 15px;
        padding-bottom: 0
    }
    .top-navigation-wrap {
        position: relative;
        margin-left: -15px;
        margin-right: -15px
    }
    .top-navigation-wrap,
    .top-navigation-wrap.scrolling {
        box-shadow: none
    }
    .neos-controls .top-navigation-wrap,
    .neos-edit-preview-panel-open:not(.neos-full-screen) .top-navigation-wrap {
        top: auto
    }
    .first-level-navigation .nav-pills>li {
        float: none;
        margin-right: 0
    }
    .second-level-navigation {
        display: none
    }
    .navbar-brandlogo {
        margin-top: -9px
    }
    .navbar-collapse {
        border-bottom: 1px solid transparent
    }
    .language-menu div {
        width: 44px;
        height: 34px;
        margin-top: -4px;
        text-align: center;
        line-height: 30px;
        text-transform: uppercase;
        margin-right: 15px;
        background-color: #F89C1C;
        color: #fff;
        border: 1px solid #ddd;
        border-radius: 4px;
        margin-bottom: 8px
    }
    .language-menu div .language-menu-full {
        display: none
    }
    .language-menu div .language-menu-short {
        display: inline
    }
    .language-menu ul {
        width: 42px;
        margin: 0 1px;
        text-align: center
    }
    .language-menu ul li .language-menu-full {
        display: none
    }
    .language-menu ul li .language-menu-short {
        display: inline;
        text-transform: uppercase
    }
    .chapter-container img {
        margin-left: auto;
        margin-right: auto;
        float: none;
        display: block;
        width: 100%;
        max-width: 100%
    }
}
.two-stage {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 0px;
  padding-left: 0px;
}

.two-stage {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

