img[data-src],
main .textArea .breakLeft .textAreaBg {
    background: url("../images/layout/loading.svg") no-repeat center center
}

@font-face {
    font-family: "icomoon";
    font-weight: null;
    font-style: normal;
    font-display: block;
    src: url("../fonts/icomoon.woff") format("woff"), url("../fonts/icomoon.ttf") format("truetype"), url("../fonts/icomoon.svg#icomoon") format("svg"), url("../fonts/icomoond41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Roboto";
    font-weight: 300;
    font-style: normal;
    font-display: block;
    src: url("../fonts/roboto-v20-latin-300.woff2") format("woff2"), url("../fonts/roboto-v20-latin-300.woff") format("woff"), url("../fonts/roboto-v20-latin-300.ttf") format("truetype"), url("../fonts/roboto-v20-latin-300.svg#Roboto") format("svg"), url("../fonts/roboto-v20-latin-300d41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Roboto";
    font-weight: 400;
    font-style: normal;
    font-display: block;
    src: url("../fonts/roboto-v20-latin-regular.woff2") format("woff2"), url("../fonts/roboto-v20-latin-regular.woff") format("woff"), url("../fonts/roboto-v20-latin-regular.ttf") format("truetype"), url("../fonts/roboto-v20-latin-regular.svg#Roboto") format("svg"), url("../fonts/roboto-v20-latin-regulard41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Roboto";
    font-weight: 700;
    font-style: normal;
    font-display: block;
    src: url("../fonts/roboto-v20-latin-700.woff2") format("woff2"), url("../fonts/roboto-v20-latin-700.woff") format("woff"), url("../fonts/roboto-v20-latin-700.ttf") format("truetype"), url("../fonts/roboto-v20-latin-700.svg#Roboto") format("svg"), url("../fonts/roboto-v20-latin-700d41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Assistant";
    font-weight: 300;
    font-style: normal;
    font-display: block;
    src: url("../fonts/assistant-v4-latin-300.woff2") format("woff2"), url("../fonts/assistant-v4-latin-300.woff") format("woff"), url("../fonts/assistant-v4-latin-300.ttf") format("truetype"), url("../fonts/assistant-v4-latin-300.svg#Assistant") format("svg"), url("../fonts/assistant-v4-latin-300d41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Assistant";
    font-weight: 400;
    font-style: normal;
    font-display: block;
    src: url("../fonts/assistant-v4-latin-regular.woff2") format("woff2"), url("../fonts/assistant-v4-latin-regular.woff") format("woff"), url("../fonts/assistant-v4-latin-regular.ttf") format("truetype"), url("../fonts/assistant-v4-latin-regular.svg#Assistant") format("svg"), url("../fonts/assistant-v4-latin-regulard41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Assistant";
    font-weight: 600;
    font-style: normal;
    font-display: block;
    src: url("../fonts/assistant-v4-latin-600.woff2") format("woff2"), url("../fonts/assistant-v4-latin-600.woff") format("woff"), url("../fonts/assistant-v4-latin-600.ttf") format("truetype"), url("../fonts/assistant-v4-latin-600.svg#Assistant") format("svg"), url("../fonts/assistant-v4-latin-600d41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Playfair Display";
    font-weight: 400;
    font-style: normal;
    font-display: block;
    src: url("../fonts/playfair-display-v20-latin-regular.woff2") format("woff2"), url("../fonts/playfair-display-v20-latin-regular.woff") format("woff"), url("../fonts/playfair-display-v20-latin-regular.ttf") format("truetype"), url("../fonts/playfair-display-v20-latin-regular.svg#PlayfairDisplay") format("svg"), url("../fonts/playfair-display-v20-latin-regulard41d.eot?#iefix") format("embedded-opentype")
}

.row {
    margin-left: auto;
    margin-right: auto;
    max-width: 84.44444rem;
    width: 100%;
    position: relative;
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch
}

.row.full {
    max-width: none
}

.row .row {
    margin-left: -1rem;
    padding-left: 0;
    padding-right: 0;
    max-width: calc(100% + 2rem);
    width: calc(100% + 2rem)
}

.row>.row {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
    width: 100%;
    flex-basis: 100%
}

.row.breakRight,
.row.breakLeft {
    max-width: calc(50vw + 751px)
}

.row.breakRight {
    margin-left: auto;
    margin-right: 0;
    justify-content: flex-start
}

.row.breakLeft {
    margin-right: auto;
    margin-left: 0;
    justify-content: flex-end
}

.col {
    float: left;
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: 100%;
    width: 100%;
    flex: 0 0 auto;
    flex-grow: 1;
    flex-basis: 100%;
    box-sizing: border-box
}

.noGutter,
.noGutter>.col {
    padding-left: 0;
    padding-right: 0
}

@media (min-width: 30em) {
    .col.tiny-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 30em) and (min-width: 95em) {

    .row.breakLeft>.col.tiny-6,
    .row.breakRight>.col.tiny-6 {
        max-width: 42.22222rem
    }
}

@media (min-width: 40em) {
    .col.small-4 {
        max-width: 33.33333%;
        flex-basis: 33.33333%
    }
}

@media (min-width: 40em) and (min-width: 95em) {

    .row.breakLeft>.col.small-4,
    .row.breakRight>.col.small-4 {
        max-width: 28.14815rem
    }
}

@media (min-width: 40em) {
    .col.small-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 40em) and (min-width: 95em) {

    .row.breakLeft>.col.small-6,
    .row.breakRight>.col.small-6 {
        max-width: 42.22222rem
    }
}

@media (min-width: 47.5em) {
    .col.medium-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 47.5em) and (min-width: 95em) {

    .row.breakLeft>.col.medium-6,
    .row.breakRight>.col.medium-6 {
        max-width: 42.22222rem
    }
}

@media (min-width: 47.5em) {
    .col.medium-8 {
        max-width: 66.66667%;
        flex-basis: 66.66667%
    }
}

@media (min-width: 47.5em) and (min-width: 95em) {

    .row.breakLeft>.col.medium-8,
    .row.breakRight>.col.medium-8 {
        max-width: 56.2963rem
    }
}

@media (min-width: 47.5em) {
    .col.medium-auto {
        max-width: 100%;
        flex-basis: 0
    }

    .row.breakLeft>.col.medium-auto,
    .row.breakRight>.col.medium-auto {
        max-width: 100%
    }
}

@media (min-width: 62em) {
    .col.large-2 {
        max-width: 16.66667%;
        flex-basis: 16.66667%
    }
}

@media (min-width: 62em) and (min-width: 95em) {

    .row.breakLeft>.col.large-2,
    .row.breakRight>.col.large-2 {
        max-width: 14.07407rem
    }
}

@media (min-width: 62em) {
    .col.large-3 {
        max-width: 25%;
        flex-basis: 25%
    }
}

@media (min-width: 62em) and (min-width: 95em) {

    .row.breakLeft>.col.large-3,
    .row.breakRight>.col.large-3 {
        max-width: 21.11111rem
    }
}

@media (min-width: 62em) {
    .col.large-5 {
        max-width: 41.66667%;
        flex-basis: 41.66667%
    }
}

@media (min-width: 62em) and (min-width: 95em) {

    .row.breakLeft>.col.large-5,
    .row.breakRight>.col.large-5 {
        max-width: 35.18519rem
    }
}

@media (min-width: 62em) {
    .col.large-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 62em) and (min-width: 95em) {

    .row.breakLeft>.col.large-6,
    .row.breakRight>.col.large-6 {
        max-width: 42.22222rem
    }
}

@media (min-width: 62em) {
    .col.large-8 {
        max-width: 66.66667%;
        flex-basis: 66.66667%
    }
}

@media (min-width: 62em) and (min-width: 95em) {

    .row.breakLeft>.col.large-8,
    .row.breakRight>.col.large-8 {
        max-width: 56.2963rem
    }
}

@media (min-width: 62em) {
    .col.large-9 {
        max-width: 75%;
        flex-basis: 75%
    }
}

@media (min-width: 62em) and (min-width: 95em) {

    .row.breakLeft>.col.large-9,
    .row.breakRight>.col.large-9 {
        max-width: 63.33333rem
    }
}

@media (min-width: 62em) {
    .col.large-11 {
        max-width: 91.66667%;
        flex-basis: 91.66667%
    }
}

@media (min-width: 62em) and (min-width: 95em) {

    .row.breakLeft>.col.large-11,
    .row.breakRight>.col.large-11 {
        max-width: 77.40741rem
    }
}

@media (min-width: 62em) {
    .col.large-prefix-1 {
        margin-left: 8.33333%
    }

    .col.large-prefix-3 {
        margin-left: 25%
    }

    .col.large-suffix-3 {
        margin-right: 25%
    }
}

@media (min-width: 75em) {
    .col.giant-3 {
        max-width: 25%;
        flex-basis: 25%
    }
}

@media (min-width: 75em) and (min-width: 95em) {

    .row.breakLeft>.col.giant-3,
    .row.breakRight>.col.giant-3 {
        max-width: 21.11111rem
    }
}

@media (min-width: 75em) {
    .col.giant-4 {
        max-width: 33.33333%;
        flex-basis: 33.33333%
    }
}

@media (min-width: 75em) and (min-width: 95em) {

    .row.breakLeft>.col.giant-4,
    .row.breakRight>.col.giant-4 {
        max-width: 28.14815rem
    }
}

@media (min-width: 75em) {
    .col.giant-5 {
        max-width: 41.66667%;
        flex-basis: 41.66667%
    }
}

@media (min-width: 75em) and (min-width: 95em) {

    .row.breakLeft>.col.giant-5,
    .row.breakRight>.col.giant-5 {
        max-width: 35.18519rem
    }
}

@media (min-width: 75em) {
    .col.giant-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 75em) and (min-width: 95em) {

    .row.breakLeft>.col.giant-6,
    .row.breakRight>.col.giant-6 {
        max-width: 42.22222rem
    }
}

@media (min-width: 75em) {
    .col.giant-7 {
        max-width: 58.33333%;
        flex-basis: 58.33333%
    }
}

@media (min-width: 75em) and (min-width: 95em) {

    .row.breakLeft>.col.giant-7,
    .row.breakRight>.col.giant-7 {
        max-width: 49.25926rem
    }
}

@media (min-width: 75em) {
    .col.giant-8 {
        max-width: 66.66667%;
        flex-basis: 66.66667%
    }
}

@media (min-width: 75em) and (min-width: 95em) {

    .row.breakLeft>.col.giant-8,
    .row.breakRight>.col.giant-8 {
        max-width: 56.2963rem
    }
}

@media (min-width: 75em) {
    .col.giant-prefix-1 {
        margin-left: 8.33333%
    }
}

@media (min-width: 85.25em) {
    .col.huge-7 {
        max-width: 58.33333%;
        flex-basis: 58.33333%
    }
}

@media (min-width: 85.25em) and (min-width: 95em) {

    .row.breakLeft>.col.huge-7,
    .row.breakRight>.col.huge-7 {
        max-width: 49.25926rem
    }
}

@media (min-width: 95em) {
    .col.full-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 95em) and (min-width: 95em) {

    .row.breakLeft>.col.full-6,
    .row.breakRight>.col.full-6 {
        max-width: 42.22222rem
    }
}

@media (min-width: 95em) {
    .col.cut-auto {
        max-width: 100%;
        flex-basis: 0
    }

    .row.breakLeft>.col.cut-auto,
    .row.breakRight>.col.cut-auto {
        max-width: 100%
    }
}

#privacyCtrl {
    background: #333;
    border-radius: 4px;
    color: #fff;
    padding: 0
}

#privacyCtrl,
#privacyCtrl * {
    font-family: Arial, sans-serif
}

#privacyCtrl.hide,
#privacyCtrl .hide {
    opacity: 0;
    visibility: hidden
}

#privacyCtrl.open {
    opacity: 1;
    visibility: visible
}

.open #privacyCtrl {
    height: calc(100vh - 40px)
}

#privacy-controller {
    display: block;
    font-size: 11px;
    line-height: 1.3em;
    font-weight: normal
}

.privacy-header {
    display: block;
    padding: 10px
}

.privacy-header .privacy-text {
    padding-right: 20px
}

.privacy-text {
    display: block;
    margin-bottom: 10px
}

.privacy-buttons {
    display: flex
}

.privacy-btn {
    width: 100%;
    display: flex;
    color: #464a4d;
    background: #888a8c;
    cursor: pointer;
    border-radius: 4px;
    padding-top: 6.66667px;
    padding-bottom: 6.66667px;
    padding-left: 12px;
    padding-right: 12px;
    flex-wrap: nowrap;
    white-space: nowrap;
    justify-content: center
}

.privacy-btn:first-of-type {
    margin-right: 10px
}

#privacy-confirm {
    background: #3bb54a;
    color: #fff
}

.privacy-link {
    cursor: pointer;
    color: #eee;
    text-decoration: underline
}

.privacy-fields {
    display: block;
    background: #464a4d;
    max-height: 40vh;
    overflow-y: scroll;
    border-left: 2px solid #333;
    border-right: 2px solid #333;
    height: 0;
    transition: 800ms height ease-in-out
}

.privacy-controller.open .privacy-fields {
    height: 100vh
}

.privacy-fields label {
    cursor: pointer;
    position: relative;
    display: block;
    width: 100%
}

.privacy-fields label span {
    font-size: 1.2em;
    content: "";
    letter-spacing: 0;
    width: 2.2em;
    height: 1.2em;
    line-height: 1.2em;
    border-radius: 14px;
    display: block;
    text-align: center;
    background: #888a8c;
    color: transparent;
    margin-right: 10px;
    position: relative
}

.privacy-fields label span:before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    left: 4px;
    top: 3px;
    opacity: 1;
    transition: 150ms left ease-in-out;
    z-index: 10
}

.privacy-fields label span:after {
    content: attr(data-off) " ";
    display: inline-block;
    position: absolute;
    left: calc(100% + 5px);
    color: #eee;
    font-size: .61111rem;
    word-break: normal
}

.privacy-fields input:checked+span:before {
    left: .94444rem
}

.privacy-fields input:checked+span {
    background: #3bb54a
}

.privacy-fields input:checked+span:after {
    content: attr(data-on) " "
}

.privacy-fields input {
    display: none
}

.privacy-row {
    display: flex;
    flex-wrap: wrap;
    padding: 10px
}

.privacy-row:not(:last-of-type) {
    border-bottom: 2px solid #333
}

.privacy-cell {
    width: 50%;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto
}

.privacy-cell:not(:last-of-type) {
    margin-bottom: 10px
}

.privacy-footer {
    display: flex;
    justify-content: flex-end;
    padding: 10px
}

.privacy-footer .privacy-link {
    padding-left: 10px
}

#privacy-reset {
    opacity: 0.5
}

.privacyControlBadge {
    -webkit-transform: rotate(90deg) translateX(-100%);
    transform: rotate(90deg) translateX(-100%);
    display: inline-block;
    position: fixed;
    left: 0;
    bottom: 2.5rem;
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
    background: #333;
    color: #fff;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    font-size: .66667rem;
    line-height: .66667rem;
    text-decoration: none;
    padding: 10px;
    transition: 300ms all ease-in-out;
    z-index: 999999
}

body.privacyControlIsOpen .privacyControlBadge {
    left: -100%
}

@media (min-width: 47.5em) {
    .privacyControlBadge {
        -webkit-transform: none;
        transform: none;
        bottom: 0
    }
}

@media (min-width: 62em) {
    .privacyControlBadge {
        -webkit-transform: rotate(90deg) translateX(-100%);
        transform: rotate(90deg) translateX(-100%);
        bottom: 11.11111rem
    }
}

.privacyControlBadge:hover,
.privacyControlBadge:focus,
.privacyControlBadge:active {
    color: #fff;
    background-color: #009fe3
}

.icon,
.swiper-button-prev,
.swiper-container-rtl .swiper-button-next,
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev,
ul.styledList li:before,
main ul:not(.unstyledList) li:before,
ol.styledList li:before,
main ol:not(.unstyledList) li:before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: icomoon, sans-serif
}

.icon-times:before,
noscript input#noticebar:checked~label:before {
    content: "×"
}

.icon-minus:before {
    content: "-"
}

.icon-plus:before {
    content: "+"
}

.icon-angle-up:before {
    content: " "
}

.icon-exclamation:before,
noscript label:before,
.informatizer:before {
    content: "!"
}

.icon-clock:before {
    content: " "
}

.icon-envelope:before {
    content: " "
}

.icon-angle-down:before {
    content: " "
}

.icon-angle-right:before,
.swiper-button-next:before,
.swiper-container-rtl .swiper-button-prev:before,
ul.styledList li:before,
main ul:not(.unstyledList) li:before,
ol.styledList li:before,
main ol:not(.unstyledList) li:before {
    content: " "
}

.icon-phone:before {
    content: " "
}

.icon-angle-left:before,
.swiper-button-prev:before,
.swiper-container-rtl .swiper-button-next:before {
    content: " "
}

.icon-map-marker:before {
    content: " "
}

/*!
 * baguetteBox.js
 * @author  feimosi
 * @version 1.10.0
 * @url https://github.com/feimosi/baguetteBox.js
 */
#baguetteBox-overlay {
    display: none;
    opacity: 0;
    position: fixed;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 1000000;
    transition: opacity 0.5s ease
}

#baguetteBox-overlay.visible {
    opacity: 1
}

#baguetteBox-overlay .full-image {
    display: inline-block;
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center
}

#baguetteBox-overlay .full-image figure {
    display: inline;
    margin: 0;
    height: 100%
}

#baguetteBox-overlay .full-image img {
    display: inline-block;
    width: auto;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    vertical-align: middle;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6)
}

#baguetteBox-overlay .full-image figcaption {
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    line-height: 1.8;
    white-space: normal;
    color: #ccc;
    background-color: #000;
    background-color: rgba(0, 0, 0, 0.6);
    font-family: sans-serif
}

#baguetteBox-overlay .full-image:before {
    content: "";
    display: inline-block;
    height: 50%;
    width: 1px;
    margin-right: -1px
}

#baguetteBox-slider {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    white-space: nowrap;
    transition: left 0.4s ease;
    transition: left 0.4s ease, -webkit-transform 0.4s ease;
    transition: left 0.4s ease, transform 0.4s ease;
    transition: left 0.4s ease, transform 0.4s ease, -webkit-transform 0.4s ease;
    transition: left 0.4s ease, transform 0.4s ease
}

#baguetteBox-slider.bounce-from-right {
    -webkit-animation: bounceFromRight 0.4s ease-out;
    animation: bounceFromRight 0.4s ease-out
}

#baguetteBox-slider.bounce-from-left {
    -webkit-animation: bounceFromLeft 0.4s ease-out;
    animation: bounceFromLeft 0.4s ease-out
}

@-webkit-keyframes bounceFromRight {
    0% {
        margin-left: 0
    }

    50% {
        margin-left: -30px
    }

    100% {
        margin-left: 0
    }
}

@keyframes bounceFromRight {
    0% {
        margin-left: 0
    }

    50% {
        margin-left: -30px
    }

    100% {
        margin-left: 0
    }
}

@-webkit-keyframes bounceFromLeft {
    0% {
        margin-left: 0
    }

    50% {
        margin-left: 30px
    }

    100% {
        margin-left: 0
    }
}

@keyframes bounceFromLeft {
    0% {
        margin-left: 0
    }

    50% {
        margin-left: 30px
    }

    100% {
        margin-left: 0
    }
}

.baguetteBox-button#next-button,
.baguetteBox-button#previous-button {
    top: 50%;
    top: calc(50% - 30px);
    width: 44px;
    height: 60px
}

.baguetteBox-button {
    position: absolute;
    cursor: pointer;
    outline: none;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: #ddd;
    font: 1.6em sans-serif;
    transition: background-color 0.4s ease
}

.baguetteBox-button:focus,
.baguetteBox-button:hover {
    background-color: rgba(50, 50, 50, 0.9)
}

.baguetteBox-button#next-button {
    right: 2%
}

.baguetteBox-button#previous-button {
    left: 2%
}

.baguetteBox-button#close-button {
    top: 20px;
    right: 2%;
    right: calc(2% + 6px);
    width: 30px;
    height: 30px
}

.baguetteBox-button svg {
    position: absolute;
    left: 0;
    top: 0
}

.baguetteBox-spinner {
    width: 40px;
    height: 40px;
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -20px;
    margin-left: -20px
}

.baguetteBox-double-bounce1,
.baguetteBox-double-bounce2 {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #fff;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: bounce 2s infinite ease-in-out;
    animation: bounce 2s infinite ease-in-out
}

.baguetteBox-double-bounce2 {
    -webkit-animation-delay: -1s;
    animation-delay: -1s
}

@-webkit-keyframes bounce {

    0%,
    100% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes bounce {

    0%,
    100% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    50% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.swiper-container {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-container-no-flexbox .swiper-slide {
    float: left
}

.swiper-container-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    box-sizing: content-box
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
    -webkit-transform: translate3d(0px, 0, 0);
    transform: translate3d(0px, 0, 0)
}

.swiper-container-multirow>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-container-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
    height: auto
}

.swiper-container-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: height, -webkit-transform;
    transition-property: transform, height;
    transition-property: transform, height, -webkit-transform
}

.swiper-container-3d {
    -webkit-perspective: 1200px;
    perspective: 1200px
}

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal>.swiper-wrapper {
    touch-action: pan-y
}

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical>.swiper-wrapper {
    touch-action: pan-x
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    bottom: 0;
    width: 27px;
    height: 44px;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    background-size: 27px 44px;
    background-position: center;
    background-repeat: no-repeat
}

@media (min-width: 62em) {

    .swiper-button-prev,
    .swiper-button-next {
        bottom: .77778rem
    }
}

.swiper-button-prev:hover:before,
.swiper-button-prev:focus:before,
.swiper-button-next:hover:before,
.swiper-button-next:focus:before {
    opacity: 0.4
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    left: 30%;
    right: auto;
    font-size: 1.94444rem
}

@media (min-width: 30em) {

    .swiper-button-prev,
    .swiper-container-rtl .swiper-button-next {
        left: 40%
    }
}

@media (min-width: 47.5em) {

    .swiper-button-prev,
    .swiper-container-rtl .swiper-button-next {
        left: 45%
    }
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    right: 30%;
    left: auto;
    font-size: 1.94444rem
}

@media (min-width: 30em) {

    .swiper-button-next,
    .swiper-container-rtl .swiper-button-prev {
        right: 40%
    }
}

@media (min-width: 47.5em) {

    .swiper-button-next,
    .swiper-container-rtl .swiper-button-prev {
        right: 45%;
        -webkit-transform: translateX(-45%);
        transform: translateX(-45%)
    }
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: 300ms opacity;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal>.swiper-pagination-bullets {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transform: scale(0.33);
    transform: scale(0.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    -webkit-transform: scale(0.66);
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    -webkit-transform: scale(0.33);
    transform: scale(0.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    -webkit-transform: scale(0.66);
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    -webkit-transform: scale(0.33);
    transform: scale(0.33)
}

.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 100%;
    background: #000;
    opacity: 0.2
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #007aff
}

.swiper-container-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    -webkit-transform: translate3d(0px, -50%, 0);
    transform: translate3d(0px, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 6px 0;
    display: block
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 8px
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: 200ms top, 200ms -webkit-transform;
    transition: 200ms transform, 200ms top;
    transition: 200ms transform, 200ms top, 200ms -webkit-transform
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 4px
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 200ms left, 200ms -webkit-transform;
    transition: 200ms transform, 200ms left;
    transition: 200ms transform, 200ms left, 200ms -webkit-transform
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: 200ms right, 200ms -webkit-transform;
    transition: 200ms transform, 200ms right;
    transition: 200ms transform, 200ms right, 200ms -webkit-transform
}

.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, 0.25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #007aff;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progressbar,
.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-container-vertical>.swiper-pagination-progressbar,
.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-white .swiper-pagination-bullet-active {
    background: #ffffff
}

.swiper-pagination-progressbar.swiper-pagination-white {
    background: rgba(255, 255, 255, 0.25)
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
    background: #ffffff
}

.swiper-pagination-black .swiper-pagination-bullet-active {
    background: #000000
}

.swiper-pagination-progressbar.swiper-pagination-black {
    background: rgba(0, 0, 0, 0.25)
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
    background: #000000
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0, 0, 0, 0.1)
}

.swiper-container-horizontal>.swiper-scrollbar {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-container-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>img,
.swiper-zoom-container>svg,
.swiper-zoom-container>canvas {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
    animation: swiper-preloader-spin 1s steps(12, end) infinite
}

.swiper-lazy-preloader:after {
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background-position: 50%;
    background-size: 100%;
    background-repeat: no-repeat
}

@-webkit-keyframes swiper-preloader-spin {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes swiper-preloader-spin {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

.swiper-container .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-container-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-container-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube {
    overflow: visible
}

.swiper-container-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-container-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next+.swiper-slide {
    pointer-events: auto;
    visibility: visible
}

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-container-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.6;
    -webkit-filter: blur(50px);
    filter: blur(50px);
    z-index: 0
}

.swiper-container-flip {
    overflow: visible
}

.swiper-container-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-container-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-container-coverflow .swiper-wrapper {
    -ms-perspective: 1200px
}

noscript {
    margin-top: 3.33333rem;
    display: block
}

noscript input#noticebar {
    display: none
}

noscript input#noticebar:checked~div {
    opacity: 1;
    visibility: visible
}

noscript input#noticebar:checked~label {
    background: #fff;
    color: #be1916
}

noscript label {
    text-indent: 110%;
    white-space: nowrap;
    overflow: hidden;
    background: #be1916;
    bottom: .55556rem;
    color: #fff;
    font-size: 1.38889rem;
    height: 2.5rem;
    opacity: 0.9;
    position: fixed;
    right: .55556rem;
    text-decoration: none;
    width: 2.5rem;
    z-index: 99999999 !important
}

noscript label:before {
    font-family: icomoon, sans-serif;
    display: inline-block;
    left: 50%;
    position: absolute;
    text-indent: 0;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

noscript label:hover {
    cursor: pointer;
    background: #a71613
}

noscript label+div {
    opacity: 0;
    visibility: hidden;
    height: 100vh
}

noscript label+div,
.noticeBar {
    background: #be1916;
    color: #fff;
    display: flex;
    justify-content: space-around;
    left: 0;
    padding: 1.11111rem;
    position: fixed;
    text-align: center;
    top: 0;
    transition: 0.3s;
    width: 100%;
    z-index: 9999999 !important
}

noscript label+div span,
.noticeBar span {
    align-self: center;
    font-size: 1.22222rem;
    line-height: 1.66667rem;
    margin: 0
}

noscript label+div a,
.noticeBar a {
    color: #fff
}

noscript label+div a:hover,
.noticeBar a:hover {
    color: #fff;
    text-decoration: none
}

noscript div:first-child {
    display: none
}

.breadcrumb li {
    list-style: none;
    float: left
}

.breadcrumb li:before {
    content: "❯";
    padding: 0 1rem;
    font-size: 60%
}

.breadcrumb li:first-child+li:before {
    content: " ";
    padding: 0 0.2rem
}

.breadcrumb li:first-child:before {
    content: "";
    padding: 0
}

#log_container pre,
#log_container .checkupXYZ {
    height: 100%;
    overflow-y: scroll;
    background: #fff;
    padding: 1%
}

#log_hider {
    cursor: pointer;
    z-index: 999999999
}

#show_console {
    display: none
}

#show_console:checked+#log_container {
    top: 0
}

#log_container {
    height: 100%;
    width: 100%;
    position: fixed;
    top: -100%;
    left: 0;
    color: #555;
    background: #f2f2f2;
    padding: 2%;
    transition: all 0.5s ease-in-out;
    box-shadow: inset 0 0 .05556rem .05556rem rgba(190, 25, 22, 0.5);
    z-index: 99999999
}

#log_container:target {
    top: 0
}

#log_container.show {
    top: 0
}

#log_container ul {
    list-style: inside square
}

#log_container ul ul {
    margin-left: 2rem
}

#log_container ul h3 {
    display: inline-block
}

#log_container ul li {
    padding: 0.5rem 0;
    border-bottom: .05556rem solid #f2f2f2
}

#log_container ul li:last-child {
    border: none
}

#log_container h1 {
    text-align: center;
    padding-top: 2rem
}

#log_container h2 {
    padding-bottom: 0.5rem;
    border-bottom: .05556rem solid #F2F2F0;
    text-align: center;
    font-weight: normal;
    margin-top: 4rem
}

#log_container h3 {
    font-weight: normal
}

#log_container .checkup_pages li {
    padding: 1rem
}

#log_container .checkup_pages .sub {
    margin-left: 2rem
}

#log_container>p {
    margin-bottom: 4rem
}

.checkup_pages>li:nth-child(odd) {
    background: #f4f4f4
}

.checkupXYZ {
    width: 53.33333rem;
    margin: 0 auto;
    resize: horizontal
}

.informatizer {
    background: #8dd45c;
    padding: 1%;
    position: fixed;
    top: 2%;
    right: 2%;
    display: block;
    color: #fff;
    transition: all 0.5s ease-in-out;
    text-decoration: none
}

.informatizer:before {
    margin-right: 1rem;
    font-size: 1.33333em;
    line-height: 1rem
}

.informatizer a {
    color: #fff
}

.btnFocus {
    position: fixed;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    padding: 2.6em;
    background: rgba(190, 25, 22, 0.9);
    color: #fff !important;
    font-size: 1.33333rem;
    z-index: 2000;
    transition: all 300ms;
    text-decoration: none
}

.btnFocus:focus {
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1)
}

body.sitemap {
    display: flex;
    padding: 2rem
}

body.sitemap nav {
    width: auto;
    margin: 0 auto
}

body.sitemap nav .sitemap ul {
    padding-left: 20px
}

.backToTop {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    z-index: 800;
    font-size: 1rem;
    width: 3em;
    height: 3em;
    line-height: 3em;
    background-color: #009fe3;
    color: #fff;
    text-decoration: none;
    text-align: center
}

body:not(.scrollingUp) .backToTop {
    opacity: 0;
    visibility: hidden
}

.backToTop:before {
    font-family: icomoon;
    color: #fff
}

.backToTop:hover,
.backToTop:focus,
.backToTop:active {
    background-color: #555
}

.backToTop span {
    display: none
}

* {
    margin: 0;
    padding: 0
}

*,
*:before,
*:after {
    box-sizing: inherit
}

::-moz-selection {
    color: #fff;
    background: #009fe3
}

::selection {
    color: #fff;
    background: #009fe3
}

::-moz-selection {
    color: #fff;
    background: #009fe3
}

html {
    background: #fff;
    box-sizing: border-box;
    color: #555;
    font-family: Assistant, sans-serif;
    font-size: 112.5%;
    -webkit-hyphens: manual;
    -ms-hyphens: manual;
    hyphens: manual;
    line-height: 1.55556rem;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    text-size-adjust: none
}

body {
    line-height: 1.55556rem;
    opacity: 1 !important;
    font-weight: 300
}

iframe,
[data-iframe] {
    border: none;
    width: 100%
}

address {
    font-style: normal
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
form.default legend,
.h3,
.h4,
.h5,
.h6 {
    margin-bottom: .55556rem;
    display: block;
    text-rendering: optimizeLegibility;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    font-family: Playfair Display, serif;
    color: #009fe3;
    font-weight: 400
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span,
.h1 span,
.h2 span,
form.default legend span,
.h3 span,
.h4 span,
.h5 span,
.h6 span {
    display: block;
    font-family: Roboto, sans-serif;
    font-weight: 300
}

h1,
.h1 {
    font-size: 1.38889rem;
    line-height: 1.66667rem;
    margin-bottom: 1.66667rem
}

@media (min-width: 47.5em) {

    h1,
    .h1 {
        font-size: 1.66667rem;
        line-height: 2.66667rem
    }
}

@media (min-width: 47.5em) {

    h1,
    .h1 {
        font-size: 1.94444rem;
        line-height: 2.66667rem
    }
}

@media (min-width: 75em) {

    h1,
    .h1 {
        font-size: 2.55556rem;
        line-height: 2.05556rem;
        margin-bottom: .44444rem
    }

    body:not(.index) h1,
    body:not(.index) .h1 {
        margin-bottom: .83333rem
    }
}

h1 span,
.h1 span {
    font-size: 1.16667rem
}

@media (min-width: 47.5em) {

    h1 span,
    .h1 span {
        font-size: 1.38889rem;
        line-height: 1.66667rem
    }
}

@media (min-width: 62em) {

    h1 span,
    .h1 span {
        font-size: 1.66667rem
    }
}

@media (min-width: 75em) {

    h1 span,
    .h1 span {
        font-size: 1.83333rem;
        line-height: 3.16667rem
    }
}

h2,
.h2,
form.default legend {
    font-size: 1.33333rem;
    margin-bottom: .83333rem;
    line-height: 1.88889rem
}

@media (min-width: 47.5em) {

    h2,
    .h2,
    form.default legend {
        font-size: 1.66667rem;
        line-height: 2.44444rem
    }
}

@media (min-width: 75em) {

    h2,
    .h2,
    form.default legend {
        font-size: 1.77778rem;
        margin-bottom: .44444rem
    }
}

h2 span,
.h2 span,
form.default legend span {
    font-size: 1.11111rem;
    line-height: 1.55556rem
}

@media (min-width: 47.5em) {

    h2 span,
    .h2 span,
    form.default legend span {
        font-size: 1.33333rem
    }
}

@media (min-width: 62em) {

    h2 span,
    .h2 span,
    form.default legend span {
        line-height: 1.55556rem
    }
}

@media (min-width: 75em) {

    h2 span,
    .h2 span,
    form.default legend span {
        font-size: 1.44444rem
    }
}

@media (min-width: 85.25em) {

    h2 span,
    .h2 span,
    form.default legend span {
        line-height: 2.5rem
    }
}

h3,
.h3 {
    font-size: 1.16667rem;
    margin-bottom: 1.11111rem
}

@media (min-width: 62em) {

    h3,
    .h3 {
        margin-bottom: .94444rem;
        font-size: 1.77778rem;
        line-height: 1.88889rem
    }
}

h3 span,
.h3 span {
    font-size: 1.05556rem;
    line-height: 1.38889rem
}

@media (min-width: 62em) {

    h3 span,
    .h3 span {
        font-size: 1.33333rem;
        line-height: 2.38889rem
    }
}

h4,
.h4 {
    font-size: 1.22222rem
}

h5,
.h5 {
    font-size: 1.11111rem
}

h6,
.h6 {
    font-size: 1.11111rem
}

a {
    color: #555;
    word-wrap: break-word
}

a:hover,
a:focus,
a:active {
    color: #009fe3
}

a img {
    border: none
}

a[href^="tel"] {
    color: inherit;
    text-decoration: none
}

a:not(.btn):focus,
[tabindex]:focus {
    outline: 1px dotted #be1916;
    outline-offset: .27778rem
}

hr,
.hr {
    display: flex;
    background: #F2F2F0;
    border: none;
    clear: both;
    height: .05556rem;
    margin: 1rem 0;
    flex-basis: 100%
}

ul,
ol {
    list-style: none
}

ul.styledList li,
main ul:not(.unstyledList) li,
ol.styledList li,
main ol:not(.unstyledList) li {
    padding-left: 1.44444rem;
    margin-bottom: .38889rem;
    position: relative
}

ul.styledList li:before,
main ul:not(.unstyledList) li:before,
ol.styledList li:before,
main ol:not(.unstyledList) li:before {
    text-indent: -1.5rem;
    font-family: icomoon;
    position: absolute;
    top: .33333rem;
    font-weight: 400;
    color: #009fe3
}

ul.styledList ul,
main ul:not(.unstyledList) ul,
ol.styledList ul,
main ol:not(.unstyledList) ul {
    margin-left: 1rem;
    margin-bottom: 0
}

dl.styledList,
main dl:not(.unstyledList) {
    zoom: 1
}

dl.styledList:after,
main dl:not(.unstyledList):after {
    content: "";
    display: table;
    clear: both
}

dl.styledList dt,
main dl:not(.unstyledList) dt,
dl.styledList dd,
main dl:not(.unstyledList) dd {
    display: block;
    background: rgba(242, 242, 240, 0.8);
    padding: .83333rem
}

dl.styledList dt,
main dl:not(.unstyledList) dt {
    padding-bottom: 0;
    font-weight: bold
}

dl.styledList dd,
main dl:not(.unstyledList) dd {
    padding-top: 0
}

dl.styledList dd+dt,
main dl:not(.unstyledList) dd+dt {
    margin-top: .55556rem
}

dl.styledList dd+dd,
main dl:not(.unstyledList) dd+dd {
    margin-top: -.83333rem
}

dl.floatList {
    zoom: 1
}

dl.floatList:after {
    content: "";
    display: table;
    clear: both
}

dl.floatList dt,
dl.floatList dd {
    display: block;
    vertical-align: top;
    float: left
}

dl.floatList dt {
    padding-right: 0.5rem;
    width: 40%;
    clear: left
}

dl.floatList dd {
    width: 60%
}

ol.styledList,
main ol:not(.unstyledList) {
    counter-reset: item
}

ol.styledList li,
main ol:not(.unstyledList) li {
    counter-increment: item
}

ol.styledList li:before,
main ol:not(.unstyledList) li:before {
    content: counters(item, ".") ". "
}

ol.styledList ol,
main ol:not(.unstyledList) ol {
    margin-bottom: 0
}

ol.styledList ol li:before,
main ol:not(.unstyledList) ol li:before {
    content: counters(item, ".") " ";
    margin-right: .27778rem
}

img {
    vertical-align: bottom;
    float: none;
    height: auto;
    max-width: 100%;
    width: 100%
}

img[src^='http://cms.'],
img[src^='https://cms.'] {
    max-width: none;
    width: auto
}

[data-rel] img,
.lightbox-image img {
    margin-bottom: 0
}

main table {
    display: table;
    border-collapse: collapse;
    width: 100%;
    max-width: 100%;
    text-align: left;
    font-size: 1rem
}

@media (max-width: 39.9375em) {
    main table {
        overflow-x: auto;
        display: block
    }
}

main table caption {
    text-align: left;
    padding: 1rem 1rem 1.38889rem;
    display: table-caption;
    font-weight: bold;
    font-size: 1.2rem
}

main table thead {
    border-collapse: collapse;
    display: table-header-group
}

main table tbody {
    width: 100%;
    overflow-x: scroll;
    display: table-row-group
}

main table tbody tr {
    padding: 1rem 0
}

main table tbody tr:not(:last-child) {
    border-bottom: .05556rem solid #F2F2F0
}

main table tr {
    display: table-row
}

main table th,
main table td {
    padding: 1rem;
    display: table-cell;
    vertical-align: top
}

@media (max-width: 39.9375em) {
    main table td {
        min-width: 50vw
    }
}

strong,
b {
    font-weight: 700
}

.marginBottom,
main p,
main ol,
main ul,
main dl,
main table,
form.default label[for="Datenschutz"] {
    margin-bottom: 1.55556rem
}

.highlight {
    color: #EDE8DD
}

.preload * {
    transition: none !important
}

.btn,
form.default button,
form.default [type="submit"] {
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 1rem;
    line-height: 1.55556rem;
    padding: 1.27778rem 1.66667rem;
    text-align: center;
    text-decoration: none;
    position: relative;
    font-family: Assistant, sans-serif;
    font-weight: 600
}

@media (min-width: 62em) {

    .btn,
    form.default button,
    form.default [type="submit"] {
        font-size: 1.11111rem
    }
}

.btn:after,
form.default button:after,
form.default [type="submit"]:after,
.btn:before,
form.default button:before,
form.default [type="submit"]:before {
    position: absolute;
    content: "";
    width: auto;
    height: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1
}

.btn:after,
form.default button:after,
form.default [type="submit"]:after {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
    background: #f9f9f9
}

.btn:before,
form.default button:before,
form.default [type="submit"]:before {
    background: #009fe3;
    -webkit-transform: scale(1);
    transform: scale(1);
    visibility: visible;
    opacity: 1
}

.btn:hover,
form.default button:hover,
form.default :hover[type="submit"],
.btn:active,
form.default button:active,
form.default :active[type="submit"],
.btn:focus,
form.default button:focus,
form.default :focus[type="submit"] {
    color: #009fe3
}

.btn:hover:after,
form.default button:hover:after,
form.default [type="submit"]:hover:after,
.btn:active:after,
form.default button:active:after,
form.default [type="submit"]:active:after,
.btn:focus:after,
form.default button:focus:after,
form.default [type="submit"]:focus:after {
    -webkit-transform: scale(1);
    transform: scale(1);
    visibility: visible;
    opacity: 1
}

.btn:hover:before,
form.default button:hover:before,
form.default [type="submit"]:hover:before,
.btn:active:before,
form.default button:active:before,
form.default [type="submit"]:active:before,
.btn:focus:before,
form.default button:focus:before,
form.default [type="submit"]:focus:before {
    visibility: hidden;
    opacity: 0
}

.btn *[class^="icon"],
form.default button *[class^="icon"],
form.default [type="submit"] *[class^="icon"] {
    margin-left: 0.5rem;
    vertical-align: middle
}

.clear {
    clear: both;
    float: none
}

.clearfix {
    zoom: 1
}

.clearfix:after {
    content: "";
    display: table;
    clear: both
}

.hidden {
    display: none
}

.hideText {
    text-indent: 110%;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    overflow: hidden;
    width: 0
}

.floatLeft {
    float: left
}

img.floatLeft {
    margin-right: 1rem
}

.floatRight {
    float: right
}

img.floatRight {
    margin-left: 1rem
}

.fluid {
    height: auto;
    width: 100%
}

.nonFluid {
    width: auto !important
}

.alignLeft {
    text-align: left
}

.alignRight {
    text-align: right
}

.alignCenter {
    text-align: center
}

.wide {
    width: 100%;
    display: block
}

.videoContainer:not(.videoTag),
.googleMaps:not(.videoTag) {
    position: relative;
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative
}

.videoContainer:not(.videoTag) iframe,
.googleMaps:not(.videoTag) iframe {
    border: none;
    height: 100%;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0
}

.videoContainer video,
.googleMaps video {
    width: 100%;
    height: auto
}

@media (min-width: 47.5em) {
    .googleMaps {
        height: 22.22222rem
    }
}

body:before {
    width: 99pt;
    content: "default:16px....default:0....tiny:30em....small:40em....medium:47.5em....large:62em....giant:75em....huge:85.25em....full:95em....cut:95em";
    display: none !important
}

@media (min-width: 0) {
    body:before {
        width: 177pt
    }
}

@media (min-width: 30em) {
    body:before {
        width: 255pt
    }
}

@media (min-width: 40em) {
    body:before {
        width: 339pt
    }
}

@media (min-width: 47.5em) {
    body:before {
        width: 441pt
    }
}

@media (min-width: 62em) {
    body:before {
        width: 525pt
    }
}

@media (min-width: 75em) {
    body:before {
        width: 609pt
    }
}

@media (min-width: 85.25em) {
    body:before {
        width: 705pt
    }
}

@media (min-width: 95em) {
    body:before {
        width: 783pt
    }
}

@media (min-width: 95em) {
    body:before {
        width: 855pt
    }
}

body.devmode:before,
body.debug:before {
    background: #be1916;
    border-color: #be1916;
    border-style: solid;
    border-width: 0 1rem;
    color: #fff;
    display: block !important;
    font-family: Courier;
    font-size: 10pt;
    left: 0;
    line-height: 2.5;
    overflow: hidden;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    white-space: nowrap;
    z-index: 99999
}

body:hover:before {
    opacity: 0.5;
    pointer-events: none
}

.javascript .swiper-button-prev:before,
.javascript .swiper-button-next:before,
.javascript .backToTop,
.javascript a,
.javascript .btn,
.javascript form.default button,
form.default .javascript button,
.javascript form.default [type="submit"],
form.default .javascript [type="submit"],
.javascript .btn:after,
.javascript form.default button:after,
form.default .javascript button:after,
.javascript form.default [type="submit"]:after,
form.default .javascript [type="submit"]:after,
.javascript .btn:before,
.javascript form.default button:before,
form.default .javascript button:before,
.javascript form.default [type="submit"]:before,
form.default .javascript [type="submit"]:before,
.javascript #header .branding,
#header .javascript .branding,
.javascript #header .topLine,
#header .javascript .topLine,
.javascript #header .topLine .borderRow,
#header .topLine .javascript .borderRow,
.javascript #header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy:before,
#header .headerSlider .swiper-container .swiper-wrapper .javascript .swiper-lazy:before,
.javascript #header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy:after,
#header .headerSlider .swiper-container .swiper-wrapper .javascript .swiper-lazy:after,
.javascript #header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .teaserHover,
#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .javascript .teaserHover,
.javascript #header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .teaserSpan,
#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .javascript .teaserSpan,
.javascript form.default [type="text"],
form.default .javascript [type="text"],
.javascript form.default [type="tel"],
form.default .javascript [type="tel"],
.javascript form.default [type="email"],
form.default .javascript [type="email"],
.javascript form.default [type="file"],
form.default .javascript [type="file"],
.javascript form.default input,
form.default .javascript input,
.javascript form.default textarea,
form.default .javascript textarea,
.javascript form.default select,
form.default .javascript select {
    transition: 0.5s
}

.notificationArea {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 999999;
    visibility: hidden
}

.notificationArea>:not(:last-child) {
    margin-bottom: 18px
}

.notificationArea .notification {
    position: relative;
    transition: 300ms all ease-in-out;
    overflow: hidden;
    padding: 1em;
    background: #be1916;
    font-size: 12px;
    line-height: 16px;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
    width: 330px;
    max-width: calc(100vw - 40px);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    max-height: 9999999px;
    visibility: visible
}

.notificationArea .notification,
.notificationArea .notification a {
    color: #fff
}

.notificationArea .notification.success {
    background: #36EB92
}

.notificationArea .notification.success,
.notificationArea .notification.success .close {
    color: #000
}

.notificationArea .notification.error {
    background: #EB4331
}

.notificationArea .notification.success p,
.notificationArea .notification.error p {
    margin-bottom: .27778rem
}

.notificationArea .notification.success p+ul,
.notificationArea .notification.error p+ul {
    margin-top: .27778rem
}

.notificationArea .notification .close {
    position: absolute;
    top: 5px;
    right: 8px;
    cursor: pointer;
    color: #fff;
    font-size: 1.2rem
}

.notificationArea .notification.hide {
    opacity: 0;
    visibility: hidden;
    padding-top: 0;
    padding-bottom: 0;
    margin-left: -100px
}

html.inProgress {
    pointer-events: none
}

html.inProgress:before {
    content: "";
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999998
}

html.inProgress:after {
    content: "";
    position: fixed;
    top: 0;
    height: 0;
    background: url("../images/layout/loading.svg") no-repeat center center;
    height: 100vh;
    width: 100vw;
    z-index: 99999999;
    -webkit-filter: invert(100%);
    filter: invert(100%)
}

#navigation nav ul.navi li.navBack:hover,
#navigation nav ul.navi li:hover>a,
#navigation nav ul.navi li:hover:not(.navBack)>span {
    color: #009fe3
}

#navigation nav ul.navi li a.active,
#navigation nav ul.navi li.hasSub>span.active,
#navigation nav ul.navi li.hasSub.active>a,
#navigation nav ul.navi li.hasSub.active>span {
    color: #009fe3
}

#navigation nav ul.navi li.navBack:before {
    font-family: icomoon, sans-serif;
    font-family: icomoon;
    content: "\ea1f";
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg)
}

#navigation nav ul.navi li.hasSub>span:after,
#navigation nav ul.navi li.hasSub>a:after {
    font-family: icomoon;
    content: "\ea1f"
}

@media (min-width: 62em) {

    #navigation nav ul.navi li.hasSub>span:after,
    #navigation nav ul.navi li.hasSub>a:after {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg)
    }
}

@media (max-width: 61.9375em) {
    #navigation {
        min-width: 70%;
        overflow: hidden;
        top: 2.77778rem;
        bottom: 0
    }

    #navigation.firstLevel nav {
        height: calc(100vh - 2.77778rem);
        overflow: hidden;
        overflow-y: auto
    }

    #navigation nav ul.navi li.hasSub .sub {
        height: calc(100vh - 2.77778rem)
    }

    #navigation nav ul.navi li.hasSub .sub.open {
        -webkit-overflow-scrolling: touch;
        overflow: hidden;
        overflow-y: auto
    }

    #navigation nav ul.navi li.hasSub .sub:before {
        content: attr(data-parent-name);
        display: block
    }

    html.hiddenScroll {
        overflow: hidden
    }
}

#quickbar {
    position: fixed;
    left: 0;
    width: 100%;
    top: 0
}

@media (max-width: 61.9375em) {
    #quickbar {
        height: 2.77778rem
    }
}

#quickbar.hide {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}

#quickbar label[for="naviToggled"] {
    display: block;
    cursor: pointer;
    width: 1.11111rem;
    height: 1.11111rem;
    position: relative;
    overflow: hidden
}

#quickbar label[for="naviToggled"]:after {
    content: "";
    position: fixed;
    left: 0;
    width: 200vw;
    height: 200vh;
    display: block;
    background-color: #555;
    opacity: 0.9;
    z-index: -1;
    top: 2.77778rem
}

#quickbar label[for="naviToggled"] span {
    transition: 0.4s linear;
    text-indent: -9999px;
    width: 0;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

#quickbar label[for="naviToggled"] span,
#quickbar label[for="naviToggled"] span:before,
#quickbar label[for="naviToggled"] span:after {
    content: "";
    position: absolute;
    display: block;
    background: #fff;
    height: 2px;
    left: 50%;
    -webkit-transform-origin: center;
    transform-origin: center
}

#quickbar label[for="naviToggled"] span:before,
#quickbar label[for="naviToggled"] span:after {
    top: calc(50% + 0rem);
    width: 1.11111rem;
    transition: top 0.3s ease-in-out, -webkit-transform 0.3s 0.2s linear;
    transition: top 0.3s ease-in-out, transform 0.3s 0.2s linear;
    transition: top 0.3s ease-in-out, transform 0.3s 0.2s linear, -webkit-transform 0.3s 0.2s linear
}

#quickbar label[for="naviToggled"] span:before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg)
}

#quickbar label[for="naviToggled"] span:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg)
}

#naviToggled {
    display: none
}

@media (max-width: 61.9375em) {

    #naviToggled:not(:checked)~* #navigation,
    #naviToggled:not(:checked)~#navigation {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

#naviToggled:not(:checked)~#quickbar label[for="naviToggled"]:after {
    opacity: 0;
    visibility: hidden
}

#naviToggled:not(:checked)~#quickbar label[for="naviToggled"] span {
    width: 1.11111rem
}

#naviToggled:not(:checked)~#quickbar label[for="naviToggled"] span:before,
#naviToggled:not(:checked)~#quickbar label[for="naviToggled"] span:after {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    transition: top 0.3s 0.2s ease-in-out, -webkit-transform 0.3s linear;
    transition: top 0.3s 0.2s ease-in-out, transform 0.3s linear;
    transition: top 0.3s 0.2s ease-in-out, transform 0.3s linear, -webkit-transform 0.3s linear
}

#naviToggled:not(:checked)~#quickbar label[for="naviToggled"] span:before {
    top: calc(50% + -.27778rem)
}

#naviToggled:not(:checked)~#quickbar label[for="naviToggled"] span:after {
    top: calc(50% + .27778rem)
}

#navigation {
    position: fixed;
    max-width: 100%;
    right: 0;
    background-color: #fff;
    z-index: 1001
}

@media (min-width: 62em) {
    #navigation {
        position: relative
    }
}

.javascript #navigation {
    transition: 0.5s ease
}

#navigation nav ul {
    width: 100%
}

@media (max-width: 61.9375em) {
    #navigation nav ul.navi {
        padding-bottom: 5.55556rem
    }
}

#navigation nav ul.navi li {
    border-bottom: 1px solid rgba(85, 85, 85, 0.3)
}

#navigation nav ul.navi li:last-child {
    border-bottom: none
}

#navigation nav ul.navi li a,
#navigation nav ul.navi li:not(.navBack)>span,
#navigation nav ul.navi li.navBack,
#navigation nav ul.navi li.hasSub>span {
    display: block;
    cursor: pointer;
    padding: 1em 1rem;
    text-decoration: none;
    color: #555;
    font-family: Roboto, sans-serif
}

@media (min-width: 62em) {

    #navigation nav ul.navi li a,
    #navigation nav ul.navi li:not(.navBack)>span,
    #navigation nav ul.navi li.navBack,
    #navigation nav ul.navi li.hasSub>span {
        padding: 0
    }
}

#navigation nav ul.navi li .facebook {
    position: relative
}

#navigation nav ul.navi li .facebook span {
    display: none
}

#navigation nav ul.navi li .facebook:hover,
#navigation nav ul.navi li .facebook:focus,
#navigation nav ul.navi li .facebook:active,
#navigation nav ul.navi li .facebook.active {
    opacity: 0.7
}

#navigation nav ul.navi li .facebook:before {
    content: "";
    background: url("../images/layout/fbook-color.svg");
    width: 1.94444rem;
    height: 1.94444rem;
    position: absolute;
    background-size: cover;
    background-repeat: no-repeat
}

#navigation nav ul.navi li.hasSub>span,
#navigation nav ul.navi li.hasSub>a {
    display: flex;
    justify-content: space-between;
    align-items: center
}

#navigation nav ul.navi li.hasSub>span .sub,
#navigation nav ul.navi li.hasSub>a .sub {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    background: #fff
}

.javascript #navigation nav ul.navi li.hasSub>span .sub,
.javascript #navigation nav ul.navi li.hasSub>a .sub {
    transition: 0.5s linear
}

#navigation nav ul.navi li.hasSub>span .sub:before,
#navigation nav ul.navi li.hasSub>a .sub:before {
    padding: 1em 1rem;
    background-color: rgba(0, 159, 227, 0.1)
}

@media (max-width: 61.9375em) {

    #navigation nav ul.navi li.hasSub>span .sub,
    #navigation nav ul.navi li.hasSub>a .sub {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

@media (min-width: 62em) {

    #navigation nav ul.navi li.hasSub>span .sub,
    #navigation nav ul.navi li.hasSub>a .sub {
        opacity: 0;
        visibility: hidden
    }
}

@media (max-width: 61.9375em) {

    #navigation nav ul.navi li.hasSub>span .sub.current,
    #navigation nav ul.navi li.hasSub>a .sub.current {
        -webkit-transform: translateX(0%);
        transform: translateX(0%)
    }
}

@media (min-width: 62em) {

    #navigation nav ul.navi li.hasSub>span .sub.current,
    #navigation nav ul.navi li.hasSub>a .sub.current {
        opacity: 1;
        visibility: visible
    }
}

#navigation nav ul.navi li.hasSub>span:after,
#navigation nav ul.navi li.hasSub>a:after {
    margin-left: 0.5em;
    display: inline-block
}

#navigation nav ul.navi li.hasSub .sub {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    background: #fff
}

.javascript #navigation nav ul.navi li.hasSub .sub {
    transition: 0.5s linear
}

#navigation nav ul.navi li.hasSub .sub:before {
    padding: 1em 1rem;
    background-color: rgba(0, 159, 227, 0.1)
}

@media (max-width: 61.9375em) {
    #navigation nav ul.navi li.hasSub .sub {
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
}

@media (min-width: 62em) {
    #navigation nav ul.navi li.hasSub .sub {
        opacity: 0;
        visibility: hidden
    }
}

@media (max-width: 61.9375em) {
    #navigation nav ul.navi li.hasSub .sub.current {
        -webkit-transform: translateX(0%);
        transform: translateX(0%)
    }
}

@media (min-width: 62em) {
    #navigation nav ul.navi li.hasSub .sub.current {
        opacity: 1;
        visibility: visible
    }
}

#navigation nav ul.navi li.navBack {
    position: relative
}

#navigation nav ul.navi li.navBack:before {
    margin-right: 1em;
    display: inline-block
}

@media (min-width: 62em) {
    #navigation {
        top: 0;
        width: 100%
    }

    #navigation nav ul.navi {
        display: flex;
        justify-content: space-between
    }

    #navigation nav ul.navi li a,
    #navigation nav ul.navi li:not(.navBack)>span,
    #navigation nav ul.navi li .sub:before,
    #navigation nav ul.navi li .navBack {
        white-space: nowrap
    }

    #navigation nav ul.navi li.hasSub {
        position: relative
    }

    body.cmsBackend #navigation nav ul.navi li.hasSub:hover>.sub {
        opacity: 1;
        visibility: visible
    }

    #navigation nav ul.navi li.hasSub .sub {
        top: 50px;
        width: auto
    }

    #navigation nav ul.navi li.hasSub .sub .sub {
        left: 100%;
        top: 0
    }

    #navigation nav ul.navi li.navBack:before {
        content: "×";
        text-align: center;
        width: 100%;
        color: #fff
    }

    #navigation nav ul.navi li.navBack span {
        display: none
    }

    #navigation.hoverNavigation nav ul.navi li.navBack {
        display: none
    }

    #navigation {
        padding: .66667rem .55556rem;
        background: #f9f9f9
    }
}

@media (min-width: 62em) and (min-width: 75em) {
    #navigation {
        padding: 1rem .55556rem
    }
}

@media (min-width: 62em) and (min-width: 95em) {
    #navigation {
        padding: 1rem 2.22222rem;
        right: 25px
    }
}

@media (min-width: 62em) {
    #navigation nav ul.navi li {
        border-bottom: none
    }

    #navigation nav ul.navi li a {
        font-size: .88889rem
    }
}

@media (min-width: 62em) and (min-width: 85.25em) {
    #navigation nav ul.navi li a {
        font-size: 1rem
    }
}

@media (min-width: 62em) {
    #navigation nav ul.navi li.hasSub .sub {
        padding-left: 0;
        min-width: 100%;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }

    .cmsBackend #navigation nav ul.navi li.hasSub .sub:before {
        position: absolute;
        content: "";
        background: transparent;
        z-index: -1;
        height: 10px;
        top: -36px;
        width: 100%
    }

    #navigation nav ul.navi li.hasSub .sub li {
        background: #009fe3;
        margin-bottom: 1px;
        margin-right: 0
    }

    .javascript #navigation nav ul.navi li.hasSub .sub li {
        transition: 0.5s ease
    }

    #navigation nav ul.navi li.hasSub .sub li:last-child {
        margin-bottom: 0
    }

    #navigation nav ul.navi li.hasSub .sub li:hover,
    #navigation nav ul.navi li.hasSub .sub li:focus,
    #navigation nav ul.navi li.hasSub .sub li:active,
    #navigation nav ul.navi li.hasSub .sub li.active {
        background: #f9f9f9
    }

    #navigation nav ul.navi li.hasSub .sub li:hover a,
    #navigation nav ul.navi li.hasSub .sub li:focus a,
    #navigation nav ul.navi li.hasSub .sub li:active a,
    #navigation nav ul.navi li.hasSub .sub li.active a {
        color: #009fe3
    }

    #navigation nav ul.navi li.hasSub .sub li a {
        color: #fff;
        padding: .83333rem 1rem;
        font-size: .88889rem
    }
}

@media (min-width: 62em) and (min-width: 85.25em) {
    #navigation nav ul.navi li.hasSub .sub li a {
        font-size: 1rem
    }
}

@media (min-width: 62em) {
    #navigation nav ul.navi li.anfahrt {
        margin-right: 1.11111rem
    }
}

@media (min-width: 62em) and (min-width: 75em) {
    #navigation nav ul.navi li.anfahrt {
        margin-right: 2.22222rem
    }
}

@media (min-width: 62em) and (min-width: 85.25em) {
    #navigation nav ul.navi li.anfahrt {
        margin-right: 5.16667rem
    }
}

@media (min-width: 62em) and (min-width: 95em) {
    #navigation nav ul.navi li.anfahrt {
        margin-right: 6.33333rem
    }
}

@media (min-width: 62em) {

    #navigation nav ul.navi li .facebook:hover,
    #navigation nav ul.navi li .facebook:focus,
    #navigation nav ul.navi li .facebook:active,
    #navigation nav ul.navi li .facebook.active {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
        opacity: 1
    }

    #navigation nav ul.navi li .facebook:before {
        right: 0;
        top: 0;
        width: 1.27778rem;
        height: 1.27778rem
    }
}

@media (min-width: 62em) and (min-width: 75em) {
    #navigation nav ul.navi li .facebook:before {
        right: -.38889rem;
        top: -.27778rem;
        width: 1.94444rem;
        height: 1.94444rem
    }
}

@media (min-width: 62em) and (min-width: 85.25em) {
    #navigation nav ul.navi li .facebook:before {
        right: 1.11111rem
    }
}

@media (min-width: 62em) and (min-width: 95em) {
    #navigation nav ul.navi li .facebook:before {
        right: .72222rem
    }
}

@media (min-width: 62em) {

    #navigation nav ul.navi li.datenschutzerklaerung,
    #navigation nav ul.navi li.impressum {
        display: none
    }

    #navigation nav ul.navi li.navBack {
        padding: .44444rem 0
    }

    #navigation nav ul.navi li.navBack:hover:before,
    #navigation nav ul.navi li.navBack:focus:before {
        color: #009fe3
    }
}

#quickbar {
    background-color: #009fe3;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    z-index: 1000
}

@media (min-width: 62em) {
    #quickbar {
        display: none
    }
}

#quickbar .icon:before,
#quickbar .swiper-button-prev:before,
#quickbar .swiper-button-next:before,
#quickbar ul.styledList li:before,
ul.styledList #quickbar li:before,
#quickbar main ul:not(.unstyledList) li:before,
main ul:not(.unstyledList) #quickbar li:before,
#quickbar ol.styledList li:before,
ol.styledList #quickbar li:before,
#quickbar main ol:not(.unstyledList) li:before,
main ol:not(.unstyledList) #quickbar li:before {
    font-family: icomoon;
    margin-right: .27778rem
}

.naviAdd {
    display: flex;
    justify-content: center;
    text-align: center;
    flex-direction: column;
    align-items: center
}

@media (min-width: 47.5em) {
    .naviAdd {
        flex-direction: row;
        justify-content: flex-start;
        text-align: left
    }
}

.naviAdd li {
    width: 100%;
    border-bottom: 1px solid rgba(0, 159, 227, 0.5)
}

.naviAdd li:last-child {
    border-bottom: none
}

@media (min-width: 47.5em) {
    .naviAdd li {
        margin-right: 1.83333rem;
        width: auto;
        padding: 0;
        border-bottom: none
    }
}

.naviAdd li a {
    display: block;
    padding: .83333rem 0
}

@media (min-width: 47.5em) {
    .naviAdd li a {
        display: inline-block;
        padding: 0
    }
}

.naviAdd li a:hover,
.naviAdd li a:active,
.naviAdd li a:focus,
.naviAdd li a.active {
    color: #009fe3
}

#header {
    position: relative;
    width: 100%;
    padding: 2.77778rem 0 0
}

@media (min-width: 62em) {
    #header {
        padding: 0
    }
}

@media (min-width: 62em) {
    #header:before {
        position: absolute;
        content: "";
        width: 23.61111rem;
        height: 39.44444rem;
        top: 0;
        right: 75%;
        overflow-x: hidden
    }

    body:not(.index) #header:before {
        right: 80%
    }
}

@media (min-width: 85.25em) {
    #header:before {
        width: 27.77778rem;
        height: 50rem
    }
}

@media (min-width: 95em) {
    #header:before {
        width: 29.72222rem;
        height: 57.77778rem
    }
}

#header .branding {
    top: -140px;
    position: relative
}

@media (max-width: 47.4375em) {
    #header .branding {
        display: block;
        max-width: 11.11111rem;
        width: 100%;
        height: auto;
        margin: 0 auto 1.66667rem;
        position: relative;
        z-index: 1;
        top: 0
    }
}

#header {
    background-size: cover
}

body:not(.index) #header:before {
    width: 16.66667rem;
    height: 27.77778rem
}

#header .branding {
    display: block;
    max-width: 11.11111rem;
    width: 100%;
    height: auto;
    margin: 0 auto 1.66667rem;
    position: relative;
    z-index: 1;
    top: 0
}

@media (min-width: 62em) {
    #header .branding {
        max-width: 18.83333rem
    }
}

@media (min-width: 62em) {
    #header.sticky .topLine {
        background: #fff;
        box-shadow: 0px .11111rem .27778rem 0px rgba(85, 85, 85, 0.5)
    }

    #header.sticky .branding {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
        margin-bottom: 0
    }
}

#header .icon:before,
#header .swiper-button-prev:before,
#header .swiper-button-next:before,
#header ul.styledList li:before,
ul.styledList #header li:before,
#header main ul:not(.unstyledList) li:before,
main ul:not(.unstyledList) #header li:before,
#header ol.styledList li:before,
ol.styledList #header li:before,
#header main ol:not(.unstyledList) li:before,
main ol:not(.unstyledList) #header li:before {
    font-family: icomoon;
    color: #009fe3
}

@media (min-width: 62em) {
    #header .topLine {
        position: fixed;
        z-index: 1001;
        width: 100%
    }

    .cmsBackend #header .topLine {
        background: #fff
    }
}

#header .topLine .borderRow {
    position: relative
}

@media (min-width: 62em) {
    #header .topLine .borderRow {
        height: 9.66667rem
    }
}

@media (min-width: 75em) {
    #header .topLine .borderRow {
        height: 10.83333rem
    }
}

@media (min-width: 85.25em) {
    #header .topLine .borderRow {
        height: 9rem
    }
}

@media (min-width: 95em) {
    #header .topLine .borderRow {
        height: 9rem
    }
}

@media (min-width: 62em) {
    #header .topLine .borderRow:before {
        content: "";
        position: absolute;
        top: -1px;
        left: 1rem;
        bottom: 4.5rem;
        right: -1px;
        border: 1px solid #555;
        width: auto;
        height: auto;
        z-index: -1
    }
}

@media (min-width: 75em) {
    #header .topLine .borderRow:before {
        bottom: 4.61111rem;
        top: -1.72222rem;
        right: -1px
    }
}

@media (min-width: 85.25em) {
    #header .topLine .borderRow:before {
        bottom: 3rem;
        right: 1rem
    }
}

@media (min-width: 95em) {
    #header .topLine .borderRow:before {
        bottom: 3rem
    }
}

#header .topLine .listData {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    text-align: center;
    margin-bottom: 30px
}

@media (min-width: 62em) {
    #header .topLine .listData {
        flex-direction: row;
        padding-bottom: 1.27778rem;
        padding-top: 1.27778rem;
        text-align: left;
        margin-bottom: 0
    }

    #header .topLine .listData li span,
    #header .topLine .listData li a,
    #header .topLine .listData li * {
        font-size: 14px
    }
}

@media (min-width: 75em) {

    #header .topLine .listData li span,
    #header .topLine .listData li a,
    #header .topLine .listData li * {
        font-size: inherit
    }
}

@media (min-width: 85.25em) {
    #header .topLine .listData {
        margin-right: 6.88889rem
    }
}

#header .topLine .listData li {
    font-family: Roboto, sans-serif;
    font-weight: 300;
    margin-bottom: .55556rem;
    font-size: 1rem
}

@media (max-width: 39.9375em) {

    #header .topLine .listData li.icon-envelope,
    #header .topLine .listData li.icon-phone {
        font-size: .77778rem
    }
}

@media (min-width: 62em) {
    #header .topLine .listData li {
        font-size: .88889rem
    }
}

@media (min-width: 95em) {
    #header .topLine .listData li {
        font-size: 1rem
    }
}

#header .topLine .listData li:before {
    padding-right: .33333rem
}

#header .topLine .listData .email {
    text-decoration: none
}

#header .headerSlider {
    margin-bottom: 0
}

@media (min-width: 62em) {
    #header .headerSlider {
        padding-top: 13rem;
        margin-bottom: 2.88889rem
    }
}

@media (min-width: 95em) {
    body:not(.index) #header .headerSlider {
        margin-bottom: 4.44444rem
    }
}

#header .headerSlider .swiper-container {
    width: 100%;
    max-height: 22.38889rem
}

@media (min-width: 47.5em) {
    #header .headerSlider .swiper-container {
        max-height: 28.77778rem
    }
}

#header .headerSlider .swiper-container .swiper-wrapper {
    padding-bottom: 5.55556rem
}

#header .headerSlider .swiper-container .swiper-wrapper a {
    display: block;
    padding-right: .55556rem
}

#header .headerSlider .swiper-container .swiper-wrapper a:hover .teaserHover,
#header .headerSlider .swiper-container .swiper-wrapper a:focus .teaserHover {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1)
}

#header .headerSlider .swiper-container .swiper-wrapper a:hover .teaserSpan,
#header .headerSlider .swiper-container .swiper-wrapper a:focus .teaserSpan {
    opacity: 0;
    visibility: hidden;
    color: #555;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    left: 5%
}

body:not(.index) #header .headerSlider .swiper-container .swiper-wrapper a:hover .teaserSpan,
body:not(.index) #header .headerSlider .swiper-container .swiper-wrapper a:focus .teaserSpan {
    left: 10%
}

#header .headerSlider .swiper-container .swiper-wrapper a:hover .swiper-lazy:after,
#header .headerSlider .swiper-container .swiper-wrapper a:focus .swiper-lazy:after {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 1;
    visibility: visible
}

#header .headerSlider .swiper-container .swiper-wrapper a:hover .swiper-lazy:before,
#header .headerSlider .swiper-container .swiper-wrapper a:focus .swiper-lazy:before {
    border-color: #009fe3, 0.8
}

#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy {
    width: 100%;
    min-height: 16.66667rem;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    background-position: center
}

body:not(.index) #header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy {
    min-height: 8.16667rem
}

@media (min-width: 47.5em) {
    #header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy {
        min-height: 19.44444rem
    }
}

@media (min-width: 85.25em) {
    #header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy {
        min-height: 22.38889rem
    }
}

#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy:before,
#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy:after {
    position: absolute;
    content: "";
    width: auto;
    height: auto;
    top: .55556rem;
    left: .55556rem;
    right: -.55556rem;
    bottom: -.55556rem
}

#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy:before {
    border: 1px solid #555
}

#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy:after {
    background: rgba(0, 159, 227, 0.8);
    -webkit-transform: scale3d(1.2, 1.2, 1);
    transform: scale3d(1.2, 1.2, 1);
    opacity: 0;
    visibility: hidden
}

#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .teaserHover {
    position: absolute;
    width: auto;
    height: auto;
    left: .55556rem;
    right: -.55556rem;
    top: .55556rem;
    bottom: -.55556rem;
    opacity: 0;
    z-index: 10;
    visibility: hidden;
    -webkit-transform: scale3d(1.2, 1.2, 1);
    transform: scale3d(1.2, 1.2, 1)
}

#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .teaserHover span {
    display: block;
    text-align: center;
    font-family: Roboto, sans-serif;
    color: #fff;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: relative;
    text-align: center
}

#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .teaserHover span:nth-child(1) {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.55556rem
}

@media (min-width: 75em) {
    #header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .teaserHover span:nth-child(1) {
        font-size: 1.22222rem;
        line-height: 1.66667rem
    }
}

#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .teaserHover span:nth-child(2) {
    margin-left: -.55556rem;
    position: relative;
    font-size: .88889rem;
    line-height: 1.44444rem
}

@media (min-width: 75em) {
    #header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .teaserHover span:nth-child(2) {
        font-size: 1rem;
        line-height: 1.66667rem
    }
}

#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .teaserHover span:nth-child(2):before {
    color: #fff;
    position: relative;
    left: 8.33333rem;
    top: 1px
}

@media (min-width: 75em) {
    #header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .teaserHover span:nth-child(2):before {
        left: 9.44444rem
    }
}

#header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .teaserSpan {
    background-color: #f9f9f9;
    position: absolute;
    font-family: Roboto, sans-serif;
    bottom: -2.11111rem;
    padding: .72222rem 0;
    max-width: 10rem;
    width: 100%;
    text-align: center;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 1;
    font-size: .88889rem;
    visibility: visible
}

@media (min-width: 85.25em) {
    #header .headerSlider .swiper-container .swiper-wrapper .swiper-lazy .teaserSpan {
        max-width: 15.77778rem;
        font-size: 1rem
    }
}

#header .headerSlider .h1 {
    font-size: 1.22222rem;
    line-height: 1.66667rem;
    text-align: center;
    color: #555;
    padding-top: .88889rem;
    margin-bottom: 0 !important
}

@media (min-width: 47.5em) {
    #header .headerSlider .h1 {
        font-size: 1.66667rem;
        line-height: 2.22222rem
    }
}

@media (min-width: 62em) {
    #header .headerSlider .h1 {
        text-align: left
    }
}

@media (min-width: 75em) {
    #header .headerSlider .h1 {
        font-size: 2.5rem;
        line-height: 3.05556rem
    }
}

@media (min-width: 85.25em) {
    #header .headerSlider .h1 {
        font-size: 3.33333rem;
        line-height: 2.55556rem
    }
}

body:not(.index) #header .headerSlider .h1 {
    display: none
}

#header .headerSlider .h1 span {
    font-size: 1.11111rem
}

@media (min-width: 47.5em) {
    #header .headerSlider .h1 span {
        font-size: 1.27778rem;
        line-height: 1.83333rem
    }
}

@media (min-width: 75em) {
    #header .headerSlider .h1 span {
        font-size: 1.66667rem;
        line-height: 2.22222rem
    }
}

@media (min-width: 85.25em) {
    #header .headerSlider .h1 span {
        line-height: 4.05556rem;
        font-size: 1.83333rem
    }
}

main {
    display: block
}

.cmsBackend main {
    padding-top: 16.66667rem
}

main img {
    margin-bottom: 2rem
}

main .contentSection {
    position: relative;
    overflow: hidden
}

main .contentSection:after {
    position: absolute;
    width: 100%;
    height: 8.61111rem;
    content: "";
    left: 0;
    z-index: -1;
    bottom: -1.66667rem
}

@media (min-width: 40em) {
    main .contentSection:after {
        height: 11.11111rem;
        bottom: 1.66667rem
    }
}

@media (min-width: 47.5em) {
    main .contentSection:after {
        bottom: 3.72222rem
    }
}

@media (min-width: 62em) {
    main .contentSection:after {
        width: 54.66667rem;
        height: 100%;
        left: 50%;
        top: 0;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }
}

@media (min-width: 75em) {
    main .contentSection:after {
        -webkit-transform: none;
        transform: none
    }
}

main .contentSection .borderCol {
    position: relative;
    padding: 3.33333rem 1.38889rem 0 1.38889rem
}

@media (min-width: 62em) {
    main .contentSection .borderCol {
        padding: 6.66667rem 1rem 0
    }
}

main .contentSection .borderCol:before {
    position: absolute;
    content: "";
    border: 1px solid #009fe3;
    width: auto;
    height: auto;
    left: .55556rem;
    bottom: 1.66667rem;
    top: 1.66667rem;
    z-index: -1;
    right: .55556rem
}

@media (min-width: 47.5em) {
    main .contentSection .borderCol:before {
        bottom: 3.72222rem
    }
}

@media (min-width: 62em) {
    main .contentSection .borderCol:before {
        left: -1.94444rem;
        width: auto;
        right: -1.27778rem
    }
}

@media (min-width: 75em) {
    main .contentSection .borderCol:before {
        left: -1.55556rem
    }
}

@media (min-width: 95em) {
    main .contentSection .borderCol:before {
        left: -5.88889rem;
        top: 1.16667rem;
        width: 100%
    }
}

main .contentSection .infoHolder {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
    max-width: 54.22222rem;
    text-align: center
}

@media (min-width: 47.5em) {
    main .contentSection .infoHolder {
        flex-direction: row;
        padding-top: 1.66667rem
    }

    main .contentSection .infoHolder.special {
        top: -28px;
        position: relative
    }
}

main .contentSection .infoHolder .btn,
main .contentSection .infoHolder form.default button,
form.default main .contentSection .infoHolder button,
main .contentSection .infoHolder form.default [type="submit"],
form.default main .contentSection .infoHolder [type="submit"] {
    margin: 0 auto
}

@media (min-width: 62em) {

    main .contentSection .infoHolder .btn,
    main .contentSection .infoHolder form.default button,
    form.default main .contentSection .infoHolder button,
    main .contentSection .infoHolder form.default [type="submit"],
    form.default main .contentSection .infoHolder [type="submit"] {
        margin: 0
    }
}

main .contentSection .infoHolder .imageHolder {
    margin: 0 auto
}

@media (min-width: 62em) {
    main .contentSection .infoHolder .imageHolder {
        margin: 0
    }
}

main .contentSection .infoHolder .imageHolder img {
    max-width: 45%
}

@media (min-width: 47.5em) {
    main .contentSection .infoHolder .imageHolder img {
        max-width: 100%
    }
}

main .contentSection .infoHolder .imageHolder img:first-child {
    margin-right: .55556rem
}

@media (min-width: 62em) {
    main .textArea {
        margin-bottom: 6.66667rem
    }
}

main .textArea p:last-child {
    margin-bottom: 0
}

main .textArea .breakLeft {
    align-items: center
}

@media (min-width: 47.5em) {
    main .textArea .breakLeft .col:nth-child(2) {
        padding-left: 2.22222rem
    }
}

@media (min-width: 62em) {
    main .textArea .breakLeft .col:nth-child(2) {
        padding-left: 3.61111rem
    }
}

@media (min-width: 95em) {
    main .textArea .breakLeft .col:nth-child(2) {
        margin-left: 1.61111rem;
        padding-left: 3.11111rem
    }
}

main .textArea .breakLeft .textAreaBg {
    position: relative;
    min-height: 11.11111rem;
    margin-top: 1.66667rem
}

@media (min-width: 30em) {
    main .textArea .breakLeft .textAreaBg {
        min-height: 13.88889rem;
        background-position: bottom
    }
}

@media (min-width: 47.5em) {
    main .textArea .breakLeft .textAreaBg {
        min-height: 33.33333rem;
        margin-top: 0;
        background-position: bottom
    }
}

@media (min-width: 62em) {
    main .textArea .breakLeft .textAreaBg {
        min-height: 37.5rem
    }
}

main .textArea .breakLeft .textAreaBg {
    background-image: url("../images/index/textAreaBg.jpg")
}

@media (max-width: 47.4375em) {
    main .textArea .breakLeft .textAreaBg {
        background-image: url("../images/index/medium-textAreaBg.jpg")
    }
}

@media (max-width: 39.9375em) {
    main .textArea .breakLeft .textAreaBg {
        background-image: url("../images/index/small-textAreaBg.jpg")
    }
}

@media (max-width: 29.9375em) {
    main .textArea .breakLeft .textAreaBg {
        background-image: url("../images/index/tiny-textAreaBg.jpg")
    }
}

main .textArea .breakLeft .textAreaBg {
    background-size: cover
}

main .textArea .breakLeft .textAreaBg:before {
    position: absolute;
    border: 1px solid #009fe3;
    content: "";
    left: .55556rem;
    top: -.55556rem;
    right: .55556rem;
    bottom: -.55556rem
}

@media (min-width: 62em) {
    main .textArea .breakLeft .textAreaBg:before {
        right: -.55556rem;
        top: .55556rem;
        left: 0
    }
}

main .textArea .breakLeft .listText {
    display: block;
    font-weight: 600;
    font-family: Assistant, sans-serif;
    margin-bottom: .38889rem
}

@media (min-width: 30em) {
    main .textArea .breakLeft ul {
        -webkit-column-count: 2;
        column-count: 2;
        max-width: 22.72222rem
    }
}

.section {
    margin-bottom: 3.33333rem
}

@media (min-width: 62em) {
    .section {
        margin-bottom: 6.66667rem
    }
}

.bgSection {
    padding: 3.33333rem 0;
    background-color: #f9f9f9
}

@media (min-width: 62em) {
    .bgSection {
        padding: 6.66667rem 0
    }
}

.subPageSection {
    padding: 3.33333rem 0
}

@media (min-width: 62em) {
    .subPageSection {
        padding: 4.44444rem 0
    }
}

#privacyPolicy a {
    display: inline-block;
    word-break: break-all
}

#footer {
    padding-bottom: 1.66667rem
}

@media (min-width: 47.5em) {
    #footer {
        padding-bottom: 0
    }
}

#footer .footerSection {
    padding-top: 3.33333rem;
    background: #009fe3
}

@media (min-width: 47.5em) {
    #footer .footerSection {
        padding-top: 5.27778rem
    }
}

#footer .footerSection h3 {
    color: #fff;
    text-align: center
}

@media (min-width: 47.5em) {
    #footer .footerSection h3 {
        text-align: left
    }
}

@media (min-width: 47.5em) {
    #footer .googleMaps {
        top: -3.22222rem;
        padding-bottom: 0;
        height: 23.33333rem
    }
}

@media (min-width: 62em) {
    #footer .googleMaps {
        top: -5.38889rem
    }
}

@media (min-width: 95em) {
    #footer .googleMaps {
        height: 25.55556rem
    }
}

#footer .borderCol {
    position: relative
}

@media (min-width: 47.5em) {
    #footer .borderCol:before {
        content: "";
        border: 1px solid #009fe3;
        width: auto;
        height: auto;
        z-index: -1;
        left: -6rem;
        right: 1rem;
        position: absolute;
        top: -1px;
        bottom: 7.5rem
    }
}

@media (min-width: 95em) {
    #footer .borderCol:before {
        bottom: 9.66667rem
    }
}

#footer .footerInfo {
    padding-top: 3.05556rem
}

#footer .footerInfo ul:nth-child(1) {
    margin-bottom: 1.66667rem
}

@media (min-width: 47.5em) {
    #footer .footerInfo ul:nth-child(1) {
        margin-bottom: 3.55556rem
    }
}

#footer .footerInfo ul:nth-child(1) li {
    font-weight: 300;
    display: block;
    position: relative;
    font-size: .94444rem;
    margin-bottom: .77778rem;
    text-align: center
}

@media (min-width: 47.5em) {
    #footer .footerInfo ul:nth-child(1) li {
        font-size: 1rem;
        text-align: left
    }
}

#footer .footerInfo ul:nth-child(1) .icon,
#footer .footerInfo ul:nth-child(1) .swiper-button-prev,
#footer .footerInfo ul:nth-child(1) .swiper-button-next,
#footer .footerInfo ul:nth-child(1) ul.styledList li:before,
ul.styledList #footer .footerInfo ul:nth-child(1) li:before,
#footer .footerInfo ul:nth-child(1) main ul:not(.unstyledList) li:before,
main ul:not(.unstyledList) #footer .footerInfo ul:nth-child(1) li:before,
#footer .footerInfo ul:nth-child(1) ol.styledList li:before,
ol.styledList #footer .footerInfo ul:nth-child(1) li:before,
#footer .footerInfo ul:nth-child(1) main ol:not(.unstyledList) li:before,
main ol:not(.unstyledList) #footer .footerInfo ul:nth-child(1) li:before {
    font-family: Roboto, sans-serif
}

#footer .footerInfo ul:nth-child(1) .icon:before,
#footer .footerInfo ul:nth-child(1) .swiper-button-prev:before,
#footer .footerInfo ul:nth-child(1) .swiper-button-next:before,
#footer .footerInfo ul:nth-child(1) ul.styledList li:before,
ul.styledList #footer .footerInfo ul:nth-child(1) li:before,
#footer .footerInfo ul:nth-child(1) main ul:not(.unstyledList) li:before,
main ul:not(.unstyledList) #footer .footerInfo ul:nth-child(1) li:before,
#footer .footerInfo ul:nth-child(1) ol.styledList li:before,
ol.styledList #footer .footerInfo ul:nth-child(1) li:before,
#footer .footerInfo ul:nth-child(1) main ol:not(.unstyledList) li:before,
main ol:not(.unstyledList) #footer .footerInfo ul:nth-child(1) li:before {
    font-family: icomoon;
    color: #009fe3;
    font-size: 1rem;
    font-weight: 400;
    margin-right: .27778rem
}

#footer .footerInfo ul:nth-child(1) .email {
    text-decoration: none
}

@media (min-width: 47.5em) {
    #footer .footerInfo ul:nth-child(2) {
        padding: 1.27778rem 1.66667rem;
        margin-left: -1.66667rem;
        background: #f9f9f9;
        max-width: 18.61111rem
    }
}

#footer .footerInfo ul:nth-child(2) li a {
    text-decoration: none
}

@-webkit-keyframes fade {
    0% {
        opacity: 0.1
    }

    100% {
        opacity: 1
    }
}

@keyframes fade {
    0% {
        opacity: 0.1
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes floatDown {
    0% {
        -webkit-transform: translateY(-200px);
        transform: translateY(-200px);
        opacity: 0.1
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1
    }
}

@keyframes floatDown {
    0% {
        -webkit-transform: translateY(-200px);
        transform: translateY(-200px);
        opacity: 0.1
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1
    }
}

@-webkit-keyframes zoomIneffect {
    0% {
        -webkit-transform: scale(0.4);
        transform: scale(0.4);
        visibility: hidden
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes zoomIneffect {
    0% {
        -webkit-transform: scale(0.4);
        transform: scale(0.4);
        visibility: hidden
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.bgImage {
    height: 100%;
    min-height: 200px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

@media (min-width: 0) {
    .bgImage {
        background-position: top
    }
}

.breakLeft,
.breakRight {
    align-items: center
}

.cmsBackend .breakLeft,
.cmsBackend .breakRight {
    margin: 0 auto
}

.breakLeft .bgImage,
.breakRight .bgImage {
    position: relative;
    min-height: 21.11111rem
}

@media (min-width: 30em) {

    .breakLeft .bgImage,
    .breakRight .bgImage {
        min-height: 23.11111rem
    }
}

@media (min-width: 47.5em) {

    .breakLeft .bgImage,
    .breakRight .bgImage {
        min-height: 23.11111rem
    }
}

@media (min-width: 62em) {

    .breakLeft .bgImage,
    .breakRight .bgImage {
        min-height: 37.5rem
    }
}

.breakLeft .bgImage:before,
.breakRight .bgImage:before {
    width: auto;
    height: auto;
    position: absolute;
    content: "";
    border: 1px solid #009fe3
}

@media (min-width: 47.5em) {
    .breakRight .imageCol {
        padding-right: 0
    }
}

.breakRight .bgImage:before {
    right: -.55556rem;
    bottom: .55556rem;
    left: -.55556rem;
    top: .55556rem
}

@media (min-width: 47.5em) {
    .breakRight .bgImage:before {
        right: 0;
        bottom: -.55556rem
    }
}

@media (min-width: 47.5em) {
    .breakRight .textCol {
        padding-right: 2.22222rem
    }
}

@media (min-width: 85.25em) {
    .breakRight .textCol {
        padding-right: 3.55556rem
    }
}

.breakLeft .col:nth-child(1) {
    order: 2
}

@media (min-width: 47.5em) {
    .breakLeft .col:nth-child(1) {
        order: 1
    }
}

.breakLeft .col:nth-child(2) {
    order: 1
}

@media (min-width: 47.5em) {
    .breakLeft .col:nth-child(2) {
        order: 2
    }
}

.breakLeft .imageCol {
    margin-bottom: 1.66667rem
}

@media (min-width: 47.5em) {
    .breakLeft .imageCol {
        padding-left: 0;
        margin-bottom: 0
    }
}

.breakLeft .bgImage:before {
    left: -.55556rem;
    right: -.55556rem;
    top: .55556rem;
    bottom: .55556rem
}

@media (min-width: 47.5em) {
    .breakLeft .bgImage:before {
        left: 0;
        bottom: -.55556rem
    }
}

@media (min-width: 47.5em) {
    .breakLeft .textCol {
        padding-left: 2.22222rem
    }
}

@media (min-width: 85.25em) {
    .breakLeft .textCol {
        padding-left: 3.55556rem
    }
}

.anfahrt small {
    padding: 1.66667rem 0
}

@media (min-width: 62em) {
    .anfahrt small {
        padding: 0 0 .55556rem 0
    }
}

.anfahrt h2 {
    margin-bottom: 0
}

.anfahrt .btn,
.anfahrt form.default button,
form.default .anfahrt button,
.anfahrt form.default [type="submit"],
form.default .anfahrt [type="submit"] {
    padding: .83333rem .27778rem;
    font-size: .94444rem;
    margin-bottom: 0
}

@media (min-width: 62em) {

    .anfahrt .btn,
    .anfahrt form.default button,
    form.default .anfahrt button,
    .anfahrt form.default [type="submit"],
    form.default .anfahrt [type="submit"] {
        font-size: 1rem
    }
}

.kontakt p {
    margin-bottom: 0
}

.kontaktFormularbestaetigung h1,
.kontaktFormularfehler h1 {
    margin-bottom: 1.11111rem
}

.kontaktFormularbestaetigung p,
.kontaktFormularfehler p {
    margin-bottom: 1.11111rem
}

.subNavigation li {
    display: flex;
    margin-bottom: 2rem
}

.subNavigation li a {
    display: block;
    text-decoration: none;
    color: #555;
    background: #fff;
    box-shadow: 0 0 1.11111rem rgba(0, 0, 0, 0.1);
    padding: 1.66667rem
}

.subNavigation li a span {
    display: block
}

.subNavigation li a span:not(.readMore) {
    margin-bottom: .55556rem
}

.subNavigation li a span.readMore {
    color: #009fe3
}

.subNavigation li a span.readMore:hover {
    color: #555
}

h1.bottom-margin,
h2.bottom-margin {
    margin-bottom: 2rem !important
}

#privacyPolicy {
    margin-bottom: 25px
}

@media (min-width: 47.5em) {
    #bildunten {
        margin-top: 3rem
    }
}

@media (min-width: 62em) {
    #bildunten {
        margin-top: 5rem
    }
}

form.default {
    overflow: hidden;
    width: 100%
}

form.default.disabled {
    pointer-events: none;
    opacity: 0.5
}

form.default ::-webkit-input-placeholder {
    color: #555
}

form.default ::-moz-placeholder {
    color: #555
}

form.default :-ms-input-placeholder {
    color: #555 !important
}

form.default :-moz-placeholder {
    color: #555
}

form.default fieldset {
    border: none;
    margin: 0 0 3.5rem 0
}

form.default label {
    color: inherit;
    display: block;
    padding: 1rem 0 0.6rem;
    position: relative
}

form.default label small {
    color: #be1916;
    display: inline-block;
    line-height: 0.5rem
}

form.default label[for="Datenschutz"] {
    float: left;
    width: calc(100% - 1.66667rem)
}

form.default small {
    line-height: 1rem;
    display: inline-block
}

form.default [type="text"],
form.default [type="tel"],
form.default [type="email"],
form.default [type="file"],
form.default input,
form.default textarea,
form.default select {
    background: #fff;
    border: 1px solid #777;
    color: #555;
    display: block;
    font-family: Assistant, sans-serif;
    font-size: 1rem;
    line-height: 1.55556rem;
    margin: 0 0 0.5rem 0;
    padding: 0.8rem;
    position: relative;
    resize: none;
    width: 100%;
    border-radius: 0
}

form.default [type="text"]:focus,
form.default [type="tel"]:focus,
form.default [type="email"]:focus,
form.default [type="file"]:focus,
form.default input:focus,
form.default textarea:focus,
form.default select:focus {
    background: #fafafa;
    outline: none
}

form.default textarea {
    min-height: 7.5rem;
    padding-top: 0.9rem
}

form.default textarea[name="Nachricht"] {
    min-height: 18.5rem
}

form.default [type="checkbox"] {
    display: inline-block;
    margin: 0 .83333rem 0.5rem 0;
    padding: 0;
    width: .83333rem;
    height: .83333rem
}

body.iexplore form.default [type="checkbox"] {
    border: none
}

body.iexplore form.default [type="checkbox"]:focus {
    background: none
}

form.default [type="radio"] {
    clear: none;
    float: left;
    width: .83333rem;
    margin: 0.4rem 0.8rem 0 0;
    min-height: auto
}

form.default button,
form.default [type="submit"] {
    margin: 0 0 1.75rem;
    width: 100%
}

.specialfield {
    display: none !important;
    visibility: hidden !important
}

#newsletter-info {
    background: #be1916;
    color: #fff;
    font-weight: bold;
    margin-bottom: 28px;
    padding: 18px
}

#newsletter-info *:last-of-type {
    margin-bottom: 0
}

img[name="vimg"]+input[name="imgverify"] {
    float: right
}

/*# sourceMappingURL=styles.css.map */