@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

strong, b {
    font-weight: 700;
}

i, em {
    font-style: italic;
}

input, select, textarea {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
}

.invisible {
    display: none;
}

button, input.submit {
    cursor: pointer;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
}

sub, sup {
    font-size: 70%;
    line-height: 0;
    position: relative;
}

sup {
    top: -0.4em;
}

sub {
    bottom: -0.25em;
}

* {
    box-sizing: border-box;
}

/**
 * sprite-url    Url zum Bild
 * size          Größe des Grids nach der Skalierung in px
 * x             Position des Icons im Grid beginnend bei 0
 * y             Position des Icons im Grid beginnend bei 0
 * x-span        Breite des Icons in Grid
 * y-span        Höhe des Icons in Grid
 * sprite-width  gesamt Sprite-Breite in px
 * sprite-height gesamt Sprite-Höhe in px
 *               genau eines der beiden oberen Paramter muss auf 'auto' stehen
 * sprite-grid   Größe des Grids im Sprite in px
 */
/**
 * sizeInPx         The desired size in pixels
 * viewportWidth    The width of the viewport in pixels
 */
/* montserrat-100 - latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 100;
    src: url("../fonts/montserrat-v13-latin-100.eot");
    /* IE9 Compat Modes */
    src: local("Montserrat Thin"), local("Montserrat-Thin"), url("../fonts/montserrat-v13-latin-100.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat-v13-latin-100.woff2") format("woff2"), url("../fonts/montserrat-v13-latin-100.woff") format("woff"), url("../fonts/montserrat-v13-latin-100.ttf") format("truetype"), url("../fonts/montserrat-v13-latin-100.svg#Montserrat") format("svg");
    /* Legacy iOS */
}

/* montserrat-200 - latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 200;
    src: url("../fonts/montserrat-v13-latin-200.eot");
    /* IE9 Compat Modes */
    src: local("Montserrat ExtraLight"), local("Montserrat-ExtraLight"), url("../fonts/montserrat-v13-latin-200.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat-v13-latin-200.woff2") format("woff2"), url("../fonts/montserrat-v13-latin-200.woff") format("woff"), url("../fonts/montserrat-v13-latin-200.ttf") format("truetype"), url("../fonts/montserrat-v13-latin-200.svg#Montserrat") format("svg");
    /* Legacy iOS */
}

/* montserrat-300 - latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300;
    src: url("../fonts/montserrat-v13-latin-300.eot");
    /* IE9 Compat Modes */
    src: local("Montserrat Light"), local("Montserrat-Light"), url("../fonts/montserrat-v13-latin-300.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat-v13-latin-300.woff2") format("woff2"), url("../fonts/montserrat-v13-latin-300.woff") format("woff"), url("../fonts/montserrat-v13-latin-300.ttf") format("truetype"), url("../fonts/montserrat-v13-latin-300.svg#Montserrat") format("svg");
    /* Legacy iOS */
}

/* montserrat-regular - latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: url("../fonts/montserrat-v13-latin-regular.eot");
    /* IE9 Compat Modes */
    src: local("Montserrat Regular"), local("Montserrat-Regular"), url("../fonts/montserrat-v13-latin-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat-v13-latin-regular.woff2") format("woff2"), url("../fonts/montserrat-v13-latin-regular.woff") format("woff"), url("../fonts/montserrat-v13-latin-regular.ttf") format("truetype"), url("../fonts/montserrat-v13-latin-regular.svg#Montserrat") format("svg");
    /* Legacy iOS */
}

/* montserrat-500 - latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    src: url("../fonts/montserrat-v13-latin-500.eot");
    /* IE9 Compat Modes */
    src: local("Montserrat Medium"), local("Montserrat-Medium"), url("../fonts/montserrat-v13-latin-500.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat-v13-latin-500.woff2") format("woff2"), url("../fonts/montserrat-v13-latin-500.woff") format("woff"), url("../fonts/montserrat-v13-latin-500.ttf") format("truetype"), url("../fonts/montserrat-v13-latin-500.svg#Montserrat") format("svg");
    /* Legacy iOS */
}

/* montserrat-600 - latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    src: url("../fonts/montserrat-v13-latin-600.eot");
    /* IE9 Compat Modes */
    src: local("Montserrat SemiBold"), local("Montserrat-SemiBold"), url("../fonts/montserrat-v13-latin-600.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat-v13-latin-600.woff2") format("woff2"), url("../fonts/montserrat-v13-latin-600.woff") format("woff"), url("../fonts/montserrat-v13-latin-600.ttf") format("truetype"), url("../fonts/montserrat-v13-latin-600.svg#Montserrat") format("svg");
    /* Legacy iOS */
}

/* montserrat-700 - latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    src: url("../fonts/montserrat-v13-latin-700.eot");
    /* IE9 Compat Modes */
    src: local("Montserrat Bold"), local("Montserrat-Bold"), url("../fonts/montserrat-v13-latin-700.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat-v13-latin-700.woff2") format("woff2"), url("../fonts/montserrat-v13-latin-700.woff") format("woff"), url("../fonts/montserrat-v13-latin-700.ttf") format("truetype"), url("../fonts/montserrat-v13-latin-700.svg#Montserrat") format("svg");
    /* Legacy iOS */
}

/* montserrat-800 - latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 800;
    src: url("../fonts/montserrat-v13-latin-800.eot");
    /* IE9 Compat Modes */
    src: local("Montserrat ExtraBold"), local("Montserrat-ExtraBold"), url("../fonts/montserrat-v13-latin-800.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat-v13-latin-800.woff2") format("woff2"), url("../fonts/montserrat-v13-latin-800.woff") format("woff"), url("../fonts/montserrat-v13-latin-800.ttf") format("truetype"), url("../fonts/montserrat-v13-latin-800.svg#Montserrat") format("svg");
    /* Legacy iOS */
}

/* montserrat-900 - latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    src: url("../fonts/montserrat-v13-latin-900.eot");
    /* IE9 Compat Modes */
    src: local("Montserrat Black"), local("Montserrat-Black"), url("../fonts/montserrat-v13-latin-900.eot?#iefix") format("embedded-opentype"), url("../fonts/montserrat-v13-latin-900.woff2") format("woff2"), url("../fonts/montserrat-v13-latin-900.woff") format("woff"), url("../fonts/montserrat-v13-latin-900.ttf") format("truetype"), url("../fonts/montserrat-v13-latin-900.svg#Montserrat") format("svg");
    /* Legacy iOS */
}

.tns-outer {
    padding: 0 !important;
}

.tns-outer [hidden] {
    display: none !important;
}

.tns-outer [aria-controls], .tns-outer [data-action] {
    cursor: pointer;
}

.tns-outer > button {
    display: none;
}

.tns-outer .tns-slider {
    -webkit-transition: all 0s;
    -moz-transition: all 0s;
    transition: all 0s;
}

.tns-outer .tns-slider > .tns-item {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.tns-outer .tns-horizontal.tns-subpixel {
    white-space: nowrap;
}

.tns-outer .tns-horizontal.tns-subpixel > .tns-item {
    display: inline-block;
    vertical-align: top;
    white-space: normal;
}

.tns-outer .tns-horizontal.tns-no-subpixel:after {
    content: '';
    display: table;
    clear: both;
}

.tns-outer .tns-horizontal.tns-no-subpixel > .tns-item {
    float: left;
}

.tns-outer .tns-horizontal.tns-carousel.tns-no-subpixel > .tns-item {
    margin-right: -100%;
}

.tns-outer .tns-no-calc {
    position: relative;
    left: 0;
}

.tns-outer .tns-gallery {
    position: relative;
    left: 0;
    min-height: 1px;
}

.tns-outer .tns-gallery > .tns-item {
    position: absolute;
    left: -100%;
    -webkit-transition: transform 0s, opacity 0s;
    -moz-transition: transform 0s, opacity 0s;
    transition: transform 0s, opacity 0s;
}

.tns-outer .tns-gallery > .tns-slide-active {
    position: relative;
    left: auto !important;
}

.tns-outer .tns-gallery > .tns-moving {
    -webkit-transition: all 0.25s;
    -moz-transition: all 0.25s;
    transition: all 0.25s;
}

.tns-outer .tns-autowidth {
    display: inline-block;
}

.tns-outer .tns-lazy-img {
    -webkit-transition: opacity 0.6s;
    -moz-transition: opacity 0.6s;
    transition: opacity 0.6s;
    opacity: 0.6;
}

.tns-outer .tns-lazy-img.loaded {
    opacity: 1;
}

.tns-outer .tns-ah {
    -webkit-transition: height 0s;
    -moz-transition: height 0s;
    transition: height 0s;
}

.tns-outer .tns-ovh {
    overflow: hidden;
}

.tns-outer .tns-visually-hidden {
    position: absolute;
    left: -10000em;
}

.tns-outer .tns-transparent {
    opacity: 0;
    visibility: hidden;
}

.tns-outer .tns-fadeIn {
    opacity: 1;
    filter: alpha(opacity=100);
    z-index: 0;
}

.tns-outer .tns-normal, .tns-outer .tns-fadeOut {
    opacity: 0;
    filter: alpha(opacity=0);
    z-index: -1;
}

.tns-outer .tns-t-subp2 {
    margin: 0 auto;
    width: 310px;
    position: relative;
    height: 10px;
    overflow: hidden;
}

.tns-outer .tns-t-ct {
    width: 2333.3333333%;
    width: -webkit-calc(100% * 70 / 3);
    width: -moz-calc(100% * 70 / 3);
    width: calc(100% * 70 / 3);
    position: absolute;
    right: 0;
}

.tns-outer .tns-t-ct:after {
    content: '';
    display: table;
    clear: both;
}

.tns-outer .tns-t-ct > div {
    width: 1.4285714%;
    width: -webkit-calc(100% / 70);
    width: -moz-calc(100% / 70);
    width: calc(100% / 70);
    height: 10px;
    float: left;
}

.slbOverlay, .slbWrapOuter, .slbWrap {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.slbOverlay {
    overflow: hidden;
    z-index: 2000;
    background-color: rgba(0, 0, 0, 0.7);
    opacity: 1;
    -webkit-animation: slbOverlay 0.5s;
    -moz-animation: slbOverlay 0.5s;
    animation: slbOverlay 0.5s;
}

.slbWrapOuter {
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 2010;
}

.slbWrap {
    position: absolute;
    text-align: center;
}

.slbWrap:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.slbContentOuter {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0px auto;
    padding: 0 1em;
    box-sizing: border-box;
    z-index: 2020;
    text-align: left;
    max-width: 100%;
}

.slbContentEl .slbContentOuter {
    padding: 5em 1em;
}

.slbContent {
    position: relative;
}

.slbContentEl .slbContent {
    -webkit-animation: slbEnter 0.3s;
    -moz-animation: slbEnter 0.3s;
    animation: slbEnter 0.3s;
    background-color: #fff;
    box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.4);
}

.slbImageWrap {
    -webkit-animation: slbEnter 0.3s;
    -moz-animation: slbEnter 0.3s;
    animation: slbEnter 0.3s;
    position: relative;
}

.slbImageWrap:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 5em;
    bottom: 5em;
    display: block;
    z-index: -1;
    box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.6);
    background-color: #FFF;
}

.slbDirectionNext .slbImageWrap {
    -webkit-animation: slbEnterNext 0.4s;
    -moz-animation: slbEnterNext 0.4s;
    animation: slbEnterNext 0.4s;
}

.slbDirectionPrev .slbImageWrap {
    -webkit-animation: slbEnterPrev 0.4s;
    -moz-animation: slbEnterPrev 0.4s;
    animation: slbEnterPrev 0.4s;
}

.slbImage {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 5em 0;
    margin: 0 auto;
}

.slbCaption {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
    font-size: 1.4em;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0.71429em 0;
    color: #fff;
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
}

.slbCloseBtn, .slbArrow {
    margin: 0;
    padding: 0;
    border: 0;
    cursor: pointer;
    background: none;
}

.slbCloseBtn::-moz-focus-inner, .slbArrow::-moz-focus-inner {
    padding: 0;
    border: 0;
}

.slbCloseBtn:hover, .slbArrow:hover {
    opacity: 0.5;
}

.slbCloseBtn:active, .slbArrow:active {
    opacity: 0.8;
}

.slbCloseBtn {
    -webkit-animation: slbEnter 0.3s;
    -moz-animation: slbEnter 0.3s;
    animation: slbEnter 0.3s;
    font-size: 3em;
    width: 1.66667em;
    height: 1.66667em;
    line-height: 1.66667em;
    position: absolute;
    right: -0.33333em;
    top: 0;
    color: #fff;
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
}

.slbLoading .slbCloseBtn {
    display: none;
}

.slbLoadingText {
    font-size: 1.4em;
    color: #fff;
    color: rgba(255, 255, 255, 0.9);
}

.slbArrows {
    position: fixed;
    top: 50%;
    left: 0;
    right: 0;
}

.slbLoading .slbArrows {
    display: none;
}

.slbArrow {
    position: absolute;
    top: 50%;
    margin-top: -5em;
    width: 5em;
    height: 10em;
    opacity: 0.7;
    text-indent: -999em;
    overflow: hidden;
}

.slbArrow:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -0.8em 0 0 -0.8em;
    border: 0.8em solid transparent;
}

.slbArrow.next {
    right: 0;
}

.slbArrow.next:before {
    border-left-color: #fff;
}

.slbArrow.prev {
    left: 0;
}

.slbArrow.prev:before {
    border-right-color: #fff;
}

.slbIframeCont {
    width: 80em;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%;
    margin: 5em 0;
}

.slbIframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.6);
    background: #000;
}

@-webkit-keyframes slbOverlay {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@-moz-keyframes slbOverlay {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes slbOverlay {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@-webkit-keyframes slbEnter {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -1em, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
    }
}

@-moz-keyframes slbEnter {
    from {
        opacity: 0;
        -moz-transform: translate3d(0, -1em, 0);
    }
    to {
        opacity: 1;
        -moz-transform: translate3d(0, 0, 0);
    }
}

@keyframes slbEnter {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -1em, 0);
        -moz-transform: translate3d(0, -1em, 0);
        -ms-transform: translate3d(0, -1em, 0);
        -o-transform: translate3d(0, -1em, 0);
        transform: translate3d(0, -1em, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@-webkit-keyframes slbEnterNext {
    from {
        opacity: 0;
        -webkit-transform: translate3d(4em, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
    }
}

@-moz-keyframes slbEnterNext {
    from {
        opacity: 0;
        -moz-transform: translate3d(4em, 0, 0);
    }
    to {
        opacity: 1;
        -moz-transform: translate3d(0, 0, 0);
    }
}

@keyframes slbEnterNext {
    from {
        opacity: 0;
        -webkit-transform: translate3d(4em, 0, 0);
        -moz-transform: translate3d(4em, 0, 0);
        -ms-transform: translate3d(4em, 0, 0);
        -o-transform: translate3d(4em, 0, 0);
        transform: translate3d(4em, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@-webkit-keyframes slbEnterPrev {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-4em, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
    }
}

@-moz-keyframes slbEnterPrev {
    from {
        opacity: 0;
        -moz-transform: translate3d(-4em, 0, 0);
    }
    to {
        opacity: 1;
        -moz-transform: translate3d(0, 0, 0);
    }
}

@keyframes slbEnterPrev {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-4em, 0, 0);
        -moz-transform: translate3d(-4em, 0, 0);
        -ms-transform: translate3d(-4em, 0, 0);
        -o-transform: translate3d(-4em, 0, 0);
        transform: translate3d(-4em, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
        -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

html {
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    color: #596180;
    background: #ffffff;
    min-width: 320px;
}

@media screen and (max-width: 1000px) {
    html {
        font-size: 16px;
    }
}

html body {
    line-height: 1.5;
    min-height: 100vh;
    font-size: 1rem;
}

html body a {
    text-decoration: none;
    color: inherit;
}

html body .menu-toggle,
html body input.nav-toggle {
    display: none;
}

html body input.menu-toggle:checked + #wrapper header label.menu-toggle > span {
    transform-origin: 50% 50%;
}

html body input.menu-toggle:checked + #wrapper header label.menu-toggle > span:nth-child(1) {
    transform: translateY(5px) rotate(-45deg);
    margin-top: 8px;
}

html body input.menu-toggle:checked + #wrapper header label.menu-toggle > span:nth-child(2) {
    transform: rotate(45deg);
    margin-top: 2px;
}

html body input.menu-toggle:checked + #wrapper header label.menu-toggle > span:nth-child(3) {
    transform: translateY(10px);
    opacity: 0;
}

html body input.menu-toggle:checked + #wrapper header nav.main {
    display: block;
}

html figure {
    overflow: hidden;
}

html figure img {
    display: block;
    max-width: 100%;
    height: auto;
}

header > .inside,
footer > .inside,
.mod_article > .inner {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding-left: 40px;
    padding-right: 40px;
}

@media screen and (max-width: 480px) {
    header > .inside,
    footer > .inside,
    .mod_article > .inner {
        padding-left: 20px;
        padding-right: 20px;
    }
}

header {
    position: fixed;
    z-index: 10;
    width: 100%;
    background: #ffffff;
    transition: background .2s;
}

header > .inside {
    padding-top: 20px;
    padding-bottom: 20px;
    transition: all .2s;
}

header .logo {
    display: inline-flex;
    align-items: center;
    text-transform: uppercase;
    letter-spacing: 0.0625em;
    font-size: .875rem;
    font-weight: inherit;
    color: #1d2c4c;
    transition: color .2s;
}

header .logo:before {
    content: "";
    width: 3em;
    height: 3em;
    background: url(../img/logo-color.svg) no-repeat scroll 50% 50%;
    background-size: contain;
    margin-right: 20px;
}

@media screen and (max-width: 480px) {
    header .logo span {
        display: none;
    }
}

header.initial {
    position: absolute;
    background: none;
}

header.initial > .inside {
    padding-top: 40px;
    padding-bottom: 40px;
}

header.initial .logo {
    color: #ffffff;
}

header.initial .logo:before {
    background-image: url(../img/logo-white.svg);
}

main {
    counter-reset: headline-sections;
}

main h6, main em {
    display: flex;
    align-items: center;
    counter-increment: headline-sections;
    margin-bottom: 20px;
    font-style: normal;
    color: #0d82eb;
    text-transform: uppercase;
    letter-spacing: 0.0625em;
    font-size: .75rem;
    font-weight: 700;
}

main h6:before, main em:before {
    content: counters(headline-sections, "", decimal-leading-zero);
    order: -2;
}

main h6:after, main em:after {
    order: -1;
    content: "";
    display: block;
    flex-shrink: 0;
    width: 60px;
    height: 2px;
    background: #0d82eb;
    margin: 0 20px;
}

@media screen and (max-width: 600px) {
    main h6:after, main em:after {
        width: 40px;
    }
}

@media screen and (max-width: 480px) {
    main h6, main em {
        flex-wrap: wrap;
        line-height: 2;
    }
    main h6:after, main em:after {
        margin-right: calc(100% - 80px);
    }
}

main h1 {
    font-size: 3.2em;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.025em;
    color: #1d2c4c;
}

@media screen and (max-width: 640px) {
    main h1 {
        font-size: 2.4em;
    }
}

main h3 {
    font-weight: 700;
    font-size: 1.55em;
    line-height: 1.25;
    letter-spacing: -.025em;
    color: #1d2c4c;
}

@media screen and (max-width: 640px) {
    main h1, main h2, main h3 {
        word-break: break-all;
    }
    @supports (hyphens: auto) {
        main h1, main h2, main h3 {
            word-break: normal;
            hyphens: auto;
        }
    }
}

main .mod_article > .inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

main .mod_article > .inner > * {
    margin-bottom: 40px;
    width: 100%;
}

main .mod_article .span40 {
    width: calc(40% - 40px);
}

main .mod_article .span50 {
    width: calc(50% - 40px);
}

main .mod_article .span60 {
    width: calc(60% - 40px);
}

main .mod_article .span100 {
    width: 100%;
}

@media screen and (max-width: 1000px) {
    main .mod_article .span50 {
        width: 100%;
    }
}

main .mod_article.hero {
    overflow-x: hidden;
}

main .mod_article.hero .ce_image {
    margin-bottom: 0;
}

main .mod_article.hero figure {
    width: 100vw;
    margin-left: -40px;
    margin-right: -40px;
    position: relative;
    z-index: 1;
}

@media screen and (min-width: 1600px) {
    main .mod_article.hero figure {
        margin-left: calc((800px - 50vw) - 40px);
        margin-right: calc((800px - 50vw) - 40px);
    }
}

main .mod_article.hero figure img {
    display: block;
    width: 100%;
    height: auto;
}

main .mod_article.hero .ce_text {
    position: relative;
    z-index: 5;
    background: #ffffff;
    padding: 80px;
    max-width: 800px;
    margin-top: -160px;
    margin-bottom: 0;
}

main .mod_article.hero .ce_text h1 {
    word-break: keep-all !important;
}

@media screen and (max-width: 480px) {
    main .mod_article.hero .ce_text {
        padding: 40px 20px !important;
    }
}

@media screen and (max-width: 800px) {
    main .mod_article.hero > .inner {
        padding-left: 0;
        padding-right: 0;
    }
    main .mod_article.hero .ce_text {
        width: 100%;
        margin-top: 0;
    }
    main .mod_article.hero figure {
        margin-left: 0;
        margin-right: 0;
    }
}

main .ce_text > * {
    margin-bottom: 20px;
}

main .formbody {
    background: #1d2c4c;
    color: #ffffff;
    padding: 40px 80px;
    text-align: center;
}

main .formbody h3 {
    color: inherit;
}

main .formbody .widget {
    margin-bottom: 20px;
}

main .formbody .widget:not(.intlPhoneInput) {
    overflow: hidden;
}

main .formbody .widget input[type="text"], main .formbody .widget input[type="email"], main .formbody .widget select, main .formbody .widget button {
    display: block;
    width: 100%;
    border: 0;
    padding: 20px;
    font-family: inherit;
    font-size: 13px;
}

main .formbody .widget label {
    display: block;
    font-size: 14px;
    font-weight: 300;
    padding: 6px;
}

main .formbody .widget button {
    display: inline-block;
    width: auto;
    background: #FA9C31;
    color: #ffffff;
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 300;
    padding-left: 80px;
    padding-right: 80px;
}

main .formbody .widget button[disabled] {
    pointer-events: none;
}

main .formbody .widget button[disabled]:not(.success) {
    background: #596180;
}

main .formbody .widget button.success {
    background: #27ae60;
}

main .formbody .widget.widget-submit + .widget-explanation {
    font-size: 12px;
}

main .formbody .widget.widget-submit + .widget-explanation a {
    text-decoration: underline;
}

main .formbody .widget .intl-tel-input {
    display: block;
    width: 100%;
    color: #596180;
    font-size: 13px;
}

main .formbody .widget .intl-tel-input input {
    padding-left: 100px !important;
}

main .formbody .widget.widget-explanation > * + * {
    margin-top: 20px;
}

main .formbody .widget.widget-explanation img {
    display: block;
    width: 100%;
    height: auto;
}

main .formbody .widget.success-overlay {
    display: none;
}

main .formbody.success > .widget:not(.widget-submit) {
    display: none;
}

main .formbody.success > .widget.widget-submit ~ *, main .formbody.success > .widget.success-overlay {
    display: block;
}

@media screen and (max-width: 640px) {
    main .formbody {
        padding: 40px;
    }
}

@media screen and (max-width: 480px) {
    main .formbody {
        padding: 40px 20px;
    }
}

@media screen and (max-width: 375px) {
    main .formbody {
        margin-left: -20px;
        margin-right: -20px;
    }
}

main .ce_gallery.people ul {
    display: flex;
    justify-content: space-between;
}

main .ce_gallery.people ul li {
    width: calc((100/3)*1% - 10px);
}

main .ce_gallery.logos {
    background: #F2F6FA;
    padding: 40px;
    overflow: hidden;
}

main .ce_gallery.logos em {
    justify-content: center;
}

main .ce_gallery.logos ul {
    display: flex;
    justify-content: center;
    align-items: center;
}

main .ce_gallery.logos ul li {
    padding: 0 40px;
}

main .ce_gallery.logos ul li img {
    width: auto;
    height: 100%;
    max-height: 100px;
    margin: 0 auto;
}

main .ce_gallery.logos .tns-outer {
    display: flex;
    flex-direction: column;
    align-items: center;
}

main .ce_gallery.logos .tns-outer .tns-nav {
    order: 10;
    display: flex;
    margin-top: 20px;
}

main .ce_gallery.logos .tns-outer .tns-nav button {
    display: block;
    width: 8px;
    height: 8px;
    border: 0;
    border-radius: 50%;
    padding: 0;
    line-height: 1;
    margin: 0 4px;
    background: rgba(89, 97, 128, 0.4);
    outline: none;
}

main .ce_gallery.logos .tns-outer .tns-nav button.tns-nav-active {
    background: #0d82eb;
}

@media screen and (max-width: 640px) {
    main .ce_gallery.logos ul > li:nth-child(n+2) {
        display: none;
    }
}

@media screen and (max-width: 480px) {
    main .ce_gallery.logos ul li img {
        max-height: none;
    }
}

main .mod_article.counter {
    background: #F2F6FA;
}

main .mod_article.counter > .inner {
    padding-top: 40px;
}

main .mod_article.counter .ce_text {
    width: 33.33333%;
}

main .mod_article.counter .ce_text > * {
    margin-bottom: 0;
}

main .mod_article.counter .ce_text p:nth-child(1) {
    color: #1d2c4c;
    font-weight: 700;
    font-size: 3.2em;
}

main .mod_article.counter .ce_text p:nth-child(2) {
    color: #0d82eb;
    font-weight: 700;
    font-size: 3.2em;
}

@media screen and (max-width: 640px) {
    main .mod_article.counter .ce_text p:nth-child(1),
    main .mod_article.counter .ce_text p:nth-child(2) {
        font-size: 2.4em;
    }
}

main .mod_article.counter .ce_text p:nth-child(3) {
    padding-right: 20px;
}

main .mod_article.counter .ce_text p:nth-child(3):before {
    content: "";
    display: block;
    width: 80px;
    height: 2px;
    background: #0d82eb;
    margin-top: 30px;
    margin-bottom: 40px;
}

@media screen and (max-width: 800px) {
    main .mod_article.counter > .inner {
        flex-direction: column;
        align-items: center;
    }
    main .mod_article.counter .ce_text {
        width: 100%;
        text-align: center;
    }
    main .mod_article.counter .ce_text p:nth-child(3):before {
        margin-left: auto;
        margin-right: auto;
    }
}

main .ce_youtube.landing {
    margin-bottom: 80px;
}

main .ce_youtube.landing .text {
    margin-bottom: 20px;
}

main .ce_youtube.landing a[href*="youtube"] {
    position: relative;
    display: block;
    padding-bottom: 56.25%;
}

main .ce_youtube.landing a[href*="youtube"] span {
    position: absolute;
    width: 100%;
    height: 100%;
    background-position: 0 49.5%;
    background-size: 100% auto;
    background-repeat: no-repeat;
}

main .ce_youtube.landing a[href*="youtube"]:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 40px;
    transform: translateY(50%);
    transform-origin: 50% 50%;
    display: block;
    background: url("../img/sprite-icons.svg") no-repeat scroll;
    width: 60px;
    height: 60px;
    background-position: 0px -60px;
    background-size: auto 300px;
    background-color: #ffffff;
    border-radius: 50%;
    box-shadow: 0 2em 2em rgba(29, 44, 76, 0.1);
    transition: transform .2s;
}

main .ce_youtube.landing a[href*="youtube"]:hover:after {
    transform: scale(1.2) translateY(40%);
}

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

main .ce_hyperlink a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    color: #0d82eb;
}

main .ce_hyperlink a:before {
    content: "";
    display: block;
    background: url("../img/sprite-icons.svg") no-repeat scroll;
    width: 80px;
    height: 80px;
    background-position: 0px -0px;
    background-size: auto 400px;
    background-color: #0d82eb;
    border-radius: 50%;
    margin-right: 26.66667px;
    box-shadow: 0 2em 2em rgba(13, 130, 235, 0.15);
    flex-shrink: 0;
}

@media screen and (max-width: 640px) {
    main .ce_hyperlink a:before {
        background: url("../img/sprite-icons.svg") no-repeat scroll;
        width: 60px;
        height: 60px;
        background-position: 0px -0px;
        background-size: auto 300px;
        background-color: #0d82eb;
    }
}

main .ce_hyperlink a:hover {
    color: #095aa3;
}

main .ce_hyperlink.span100 a {
    flex-direction: column;
    margin-top: 40px;
}

main .ce_hyperlink.span100 a:before {
    margin-right: 0;
    margin-bottom: 26.66667px;
}

main .ce_text.benefits ul li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 20px;
}

main .ce_text.benefits ul li:before {
    content: "";
    display: block;
    margin-right: 20px;
    flex-shrink: 0;
    background: url("../img/sprite-icons.svg") no-repeat scroll;
    width: 40px;
    height: 40px;
    background-position: -80px -40px;
    background-size: auto 200px;
}

footer {
    font-size: 0.833rem;
    background: #1d2c4c;
    color: #ffffff;
}

footer > .inside {
    padding-top: 80px;
    padding-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

footer > .inside > * {
    width: 50%;
    margin-bottom: 28px;
}

@media screen and (max-width: 720px) {
    footer > .inside {
        flex-direction: column;
    }
    footer > .inside > * {
        width: auto;
    }
}

footer nav.social {
    color: #0d82eb;
    display: flex;
    align-items: center;
}

footer nav.social h6 {
    display: flex;
    align-items: center;
    color: #0d82eb;
    text-transform: uppercase;
    letter-spacing: 0.0625em;
    font-size: .75rem;
    font-weight: 700;
}

footer nav.social h6:after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    background: #0d82eb;
    margin: 0 20px;
}

footer nav.social ul {
    display: flex;
}

footer nav.social ul li {
    margin-left: 20px;
}

footer nav.social ul li a {
    display: block;
    transition: transform .2s;
}

footer nav.social ul li a span {
    display: none;
}

footer nav.social ul li a[href*="facebook.com"] {
    background: url("../img/sprite-icons.svg") no-repeat scroll;
    width: 30px;
    height: 30px;
    background-position: -30px -0px;
    background-size: auto 150px;
}

footer nav.social ul li a[href*="youtube.com"] {
    background: url("../img/sprite-icons.svg") no-repeat scroll;
    width: 30px;
    height: 30px;
    background-position: -30px -30px;
    background-size: auto 150px;
}

footer nav.social ul li a[href*="instagram.com"] {
    background: url("../img/sprite-icons.svg") no-repeat scroll;
    width: 30px;
    height: 30px;
    background-position: -30px -60px;
    background-size: auto 150px;
}

footer nav.social ul li a:hover {
    transform: scale(1.2);
}

footer nav.mod_customnav ul {
    display: flex;
    flex-wrap: wrap;
}

footer nav.mod_customnav ul li a {
    transition: color .2s;
}

footer nav.mod_customnav ul li a:hover {
    color: #0d82eb;
}

footer nav.mod_customnav ul li + li {
    margin-left: 40px;
}

footer .contact-bubble {
    position: fixed;
    z-index: 10;
    right: 40px;
    bottom: 44px;
    width: auto;
    margin: 0;
}

footer .contact-bubble > label {
    position: relative;
    z-index: 10;
    display: block;
    transition: transform .2s;
    width: 64px;
    height: 64px;
    cursor: pointer;
}

footer .contact-bubble > label img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

footer .contact-bubble > label:hover {
    transform: scale(1.2);
}

footer .contact-bubble > label:before {
    content: "1";
    display: block;
    background: #ec2c4d;
    color: #ffffff;
    width: 1.75em;
    height: 1.75em;
    line-height: 1.75em;
    text-align: center;
    border-radius: 50%;
    font-size: 0.666rem;
    position: absolute;
    top: -4px;
    right: 3px;
}

footer .contact-bubble input {
    display: none;
}

footer .contact-bubble input:checked ~ label:before {
    display: none;
}

footer .contact-bubble input:checked ~ .content {
    pointer-events: all;
    opacity: 1;
    transform: translateY(0px);
}

footer .contact-bubble .content {
    pointer-events: none;
    transform: translateY(20px);
    opacity: 0;
    transition: all .2s;
    box-shadow: 0 2em 2em rgba(29, 44, 76, 0.1);
    position: absolute;
    z-index: 5;
    padding: 26.66667px;
    padding-right: 40px;
    bottom: 40px;
    right: 40px;
    background: #ffffff;
    color: #596180;
    white-space: nowrap;
}

footer .contact-bubble .content > label {
    display: block;
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
    background: url("../img/sprite-icons.svg") no-repeat scroll;
    width: 40px;
    height: 40px;
    background-position: -80px -0px;
    background-size: auto 200px;
}

footer .contact-bubble .content p:nth-of-type(1) {
    font-size: 12px;
    margin-bottom: 20px;
}

footer .contact-bubble .content p:nth-of-type(1) strong {
    color: #1d2c4c;
    font-size: 1.55em;
}

footer .contact-bubble .content p:nth-of-type(2) {
    font-size: 14px;
}

footer .contact-bubble .content p:nth-of-type(2) a {
    display: inline-flex;
    align-items: center;
    color: #0d82eb;
}

footer .contact-bubble .content p:nth-of-type(2) a:before {
    content: "";
    margin-right: 10px;
}

footer .contact-bubble .content p:nth-of-type(2) a:hover {
    color: #095aa3;
}

footer .contact-bubble .content p:nth-of-type(2) a[href^="tel://"]:before {
    background: url("../img/sprite-icons.svg") no-repeat scroll;
    width: 22px;
    height: 22px;
    background-position: 0px -66px;
    background-size: auto 110px;
}

footer .contact-bubble .content p:nth-of-type(2) a[href^="tel://"] ~ a[href^="tel://"]:before {
    background: url("../img/sprite-icons.svg") no-repeat scroll;
    width: 22px;
    height: 22px;
    background-position: 0px -44px;
    background-size: auto 110px;
}

footer .contact-bubble .content p:nth-of-type(2) a.email:before {
    background: url("../img/sprite-icons.svg") no-repeat scroll;
    width: 22px;
    height: 22px;
    background-position: 0px -88px;
    background-size: auto 110px;
}

@media screen and (max-width: 600px) {
    footer .contact-bubble ~ *:last-child {
        margin-bottom: 100px;
    }
}

@media screen and (max-width: 480px) {
    footer .contact-bubble .content {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 92px;
    }
}

body.landing header, body.landing header.initial {
    position: absolute;
    background: transparent;
}

body.landing header > .inside, body.landing header.initial > .inside {
    padding-top: 40px;
    padding-bottom: 40px;
}

body.landing header .logo, body.landing header.initial .logo {
    font-size: 1.333rem;
    color: #1d2c4c;
}

body.landing header .logo:before, body.landing header.initial .logo:before {
    background-image: url(../img/logo-color.svg);
}

@media screen and (max-width: 800px) {
    body.landing header .logo, body.landing header.initial .logo {
        font-size: 1rem;
    }
}

@media screen and (min-width: 1200px) {
    body.landing main .mod_article.hero figure {
        margin-left: calc((1200px/2 - 50vw) - 40px);
        margin-right: calc((1200px/2 - 50vw) - 40px);
    }
}

body.landing main .mod_article.hero .ce_text {
    padding-left: 40px;
    padding-right: 40px;
}

body.landing main .mod_article > .inner {
    max-width: 1200px;
}

body.landing main .mod_article.counter {
    margin-top: -20px;
}

#cookie-disclaimer .inner {
    padding: 40px;
    margin: 0 auto;
    max-width: 700px;
    text-align: center;
    line-height: 1.2;
    font-size: 0.888rem;
}

#cookie-disclaimer p {
    margin-bottom: 20px;
    line-height: 1.5;
}

#cookie-disclaimer a {
    display: inline-block;
    margin: 20px;
    padding: 13.33333px 26.66667px;
    background: #F2F6FA;
}

#cookie-disclaimer a.close {
    background: #0d82eb;
    color: #ffffff;
    transition: background .2s;
}

#cookie-disclaimer a.close:hover {
    background: #1d2c4c;
}

@media screen and (max-width: 400px) {
    #cookie-disclaimer .inner {
        display: flex;
        flex-direction: column;
    }
    #cookie-disclaimer a {
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 0;
    }
}

.slbElement .slbOverlay {
    background: rgba(29, 44, 76, 0.75);
}

.slbElement .slbContentOuter {
    max-width: 800px;
    padding: 0;
    width: 100%;
}

.slbElement .slbArrows {
    display: none;
}

.slbElement .slbCloseBtn {
    right: 10px;
    top: 10px;
    display: block;
    background: url("../img/sprite-icons.svg") no-repeat scroll;
    width: 36px;
    height: 36px;
    background-position: -72px -0px;
    background-size: auto 180px;
    background-color: #ffffff;
    font-size: 0;
    border-radius: 50%;
}

.slbElement .slbIframeCont {
    margin: 0;
    pointer-events: none;
}

.slbElement .slbIframeCont iframe {
    pointer-events: all;
}
