img[data-src],
#header,
#header .imgBox,
#footer,
#footer .box.tragwerk,
#footer .box.physik {
    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: "Montserrat";
    font-weight: 300;
    font-style: normal;
    font-display: block;
    src: url("../fonts/montserrat-v14-latin-300.woff2") format("woff2"), url("../fonts/montserrat-v14-latin-300.woff") format("woff"), url("../fonts/montserrat-v14-latin-300.ttf") format("truetype"), url("../fonts/montserrat-v14-latin-300.svg#Montserrat") format("svg"), url("../fonts/montserrat-v14-latin-300d41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Montserrat";
    font-weight: 300;
    font-style: italic;
    font-display: block;
    src: url("../fonts/montserrat-v14-latin-300italic.woff2") format("woff2"), url("../fonts/montserrat-v14-latin-300italic.woff") format("woff"), url("../fonts/montserrat-v14-latin-300italic.ttf") format("truetype"), url("../fonts/montserrat-v14-latin-300italic.svg#Montserrat") format("svg"), url("../fonts/montserrat-v14-latin-300italicd41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Montserrat";
    font-weight: 700;
    font-style: normal;
    font-display: block;
    src: url("../fonts/montserrat-v14-latin-700.woff2") format("woff2"), url("../fonts/montserrat-v14-latin-700.woff") format("woff"), url("../fonts/montserrat-v14-latin-700.ttf") format("truetype"), url("../fonts/montserrat-v14-latin-700.svg#Montserrat") format("svg"), url("../fonts/montserrat-v14-latin-700d41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Montserrat";
    font-weight: 600;
    font-style: italic;
    font-display: block;
    src: url("../fonts/montserrat-v14-latin-600italic.woff2") format("woff2"), url("../fonts/montserrat-v14-latin-600italic.woff") format("woff"), url("../fonts/montserrat-v14-latin-600italic.ttf") format("truetype"), url("../fonts/montserrat-v14-latin-600italic.svg#Montserrat") format("svg"), url("../fonts/montserrat-v14-latin-600italicd41d.eot?#iefix") format("embedded-opentype")
}

.row {
    margin-left: auto;
    margin-right: auto;
    max-width: 90rem;
    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 + 801px)
}

.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: 0) {
    .col.default-4 {
        max-width: 33.33333%;
        flex-basis: 33.33333%
    }
}

@media (min-width: 0) and (min-width: 101.25em) {
    .row.breakLeft>.col.default-4,
    .row.breakRight>.col.default-4 {
        max-width: 30rem
    }
}

@media (min-width: 0) {
    .col.default-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 0) and (min-width: 101.25em) {
    .row.breakLeft>.col.default-6,
    .row.breakRight>.col.default-6 {
        max-width: 45rem
    }
}

@media (min-width: 0) {
    .default-last {
        order: 1
    }
}

@media (min-width: 40em) {
    .small-center {
        justify-content: center
    }
    .col.small-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 40em) and (min-width: 101.25em) {
    .row.breakLeft>.col.small-6,
    .row.breakRight>.col.small-6 {
        max-width: 45rem
    }
}

@media (min-width: 40em) {
    .col.small-8 {
        max-width: 66.66667%;
        flex-basis: 66.66667%
    }
}

@media (min-width: 40em) and (min-width: 101.25em) {
    .row.breakLeft>.col.small-8,
    .row.breakRight>.col.small-8 {
        max-width: 60rem
    }
}

@media (min-width: 47.5em) {
    .medium-center {
        justify-content: center
    }
    .col.medium-3 {
        max-width: 25%;
        flex-basis: 25%
    }
}

@media (min-width: 47.5em) and (min-width: 101.25em) {
    .row.breakLeft>.col.medium-3,
    .row.breakRight>.col.medium-3 {
        max-width: 22.5rem
    }
}

@media (min-width: 47.5em) {
    .col.medium-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 47.5em) and (min-width: 101.25em) {
    .row.breakLeft>.col.medium-6,
    .row.breakRight>.col.medium-6 {
        max-width: 45rem
    }
}

@media (min-width: 47.5em) {
    .col.medium-9 {
        max-width: 75%;
        flex-basis: 75%
    }
}

@media (min-width: 47.5em) and (min-width: 101.25em) {
    .row.breakLeft>.col.medium-9,
    .row.breakRight>.col.medium-9 {
        max-width: 67.5rem
    }
}

@media (min-width: 47.5em) {
    .col.medium-12 {
        max-width: 100%;
        flex-basis: 100%
    }
}

@media (min-width: 47.5em) and (min-width: 101.25em) {
    .row.breakLeft>.col.medium-12,
    .row.breakRight>.col.medium-12 {
        max-width: 90rem
    }
}

@media (min-width: 47.5em) {
    .medium-first {
        order: -1
    }
}

@media (min-width: 62em) {
    .large-between {
        justify-content: space-between
    }
    .large-center {
        justify-content: center
    }
    .col.large-4 {
        max-width: 33.33333%;
        flex-basis: 33.33333%
    }
}

@media (min-width: 62em) and (min-width: 101.25em) {
    .row.breakLeft>.col.large-4,
    .row.breakRight>.col.large-4 {
        max-width: 30rem
    }
}

@media (min-width: 62em) {
    .col.large-5 {
        max-width: 41.66667%;
        flex-basis: 41.66667%
    }
}

@media (min-width: 62em) and (min-width: 101.25em) {
    .row.breakLeft>.col.large-5,
    .row.breakRight>.col.large-5 {
        max-width: 37.5rem
    }
}

@media (min-width: 62em) {
    .col.large-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 62em) and (min-width: 101.25em) {
    .row.breakLeft>.col.large-6,
    .row.breakRight>.col.large-6 {
        max-width: 45rem
    }
}

@media (min-width: 62em) {
    .col.large-7 {
        max-width: 58.33333%;
        flex-basis: 58.33333%
    }
}

@media (min-width: 62em) and (min-width: 101.25em) {
    .row.breakLeft>.col.large-7,
    .row.breakRight>.col.large-7 {
        max-width: 52.5rem
    }
}

@media (min-width: 62em) {
    .col.large-8 {
        max-width: 66.66667%;
        flex-basis: 66.66667%
    }
}

@media (min-width: 62em) and (min-width: 101.25em) {
    .row.breakLeft>.col.large-8,
    .row.breakRight>.col.large-8 {
        max-width: 60rem
    }
}

@media (min-width: 62em) {
    .col.large-10 {
        max-width: 83.33333%;
        flex-basis: 83.33333%
    }
}

@media (min-width: 62em) and (min-width: 101.25em) {
    .row.breakLeft>.col.large-10,
    .row.breakRight>.col.large-10 {
        max-width: 75rem
    }
}

@media (min-width: 62em) {
    .large-middle {
        align-items: center
    }
}

@media (min-width: 75em) {
    .col.giant-5 {
        max-width: 41.66667%;
        flex-basis: 41.66667%
    }
}

@media (min-width: 75em) and (min-width: 101.25em) {
    .row.breakLeft>.col.giant-5,
    .row.breakRight>.col.giant-5 {
        max-width: 37.5rem
    }
}

@media (min-width: 75em) {
    .col.giant-7 {
        max-width: 58.33333%;
        flex-basis: 58.33333%
    }
}

@media (min-width: 75em) and (min-width: 101.25em) {
    .row.breakLeft>.col.giant-7,
    .row.breakRight>.col.giant-7 {
        max-width: 52.5rem
    }
}

@media (min-width: 85.25em) {
    .col.huge-5 {
        max-width: 41.66667%;
        flex-basis: 41.66667%
    }
}

@media (min-width: 85.25em) and (min-width: 101.25em) {
    .row.breakLeft>.col.huge-5,
    .row.breakRight>.col.huge-5 {
        max-width: 37.5rem
    }
}

@media (min-width: 85.25em) {
    .col.huge-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 85.25em) and (min-width: 101.25em) {
    .row.breakLeft>.col.huge-6,
    .row.breakRight>.col.huge-6 {
        max-width: 45rem
    }
}

@media (min-width: 85.25em) {
    .col.huge-7 {
        max-width: 58.33333%;
        flex-basis: 58.33333%
    }
}

@media (min-width: 85.25em) and (min-width: 101.25em) {
    .row.breakLeft>.col.huge-7,
    .row.breakRight>.col.huge-7 {
        max-width: 52.5rem
    }
}

@media (min-width: 85.25em) {
    .huge-end {
        justify-content: flex-end
    }
}

@media (min-width: 95em) {
    .col.full-4 {
        max-width: 33.33333%;
        flex-basis: 33.33333%
    }
}

@media (min-width: 95em) and (min-width: 101.25em) {
    .row.breakLeft>.col.full-4,
    .row.breakRight>.col.full-4 {
        max-width: 30rem
    }
}

@media (min-width: 101.25em) {
    .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;
    max-height: calc(100vh - 40px);
    padding: 0;
    border-radius: 4px
}

#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)
}

#privacyCtrl a {
    color: #333
}

#privacyForm fieldset {
    border: none;
    border-left: 2px solid #333;
    padding: 10px;
    padding-bottom: 0
}

#privacyForm fieldset p {
    padding-right: 2.5em;
    margin-bottom: 0
}

#privacyForm fieldset:not(:last-child) {
    border-bottom: 2px solid #333
}

#privacyForm fieldset a {
    color: #eee
}

#privacyForm label {
    cursor: pointer;
    position: relative;
    display: block;
    width: 100%
}

#privacyForm 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
}

#privacyForm 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
}

#privacyForm label span:after {
    content: attr(data-off) " ";
    display: inline-block;
    position: absolute;
    left: calc(100% + 5px);
    color: #eee;
    font-size: .61111rem;
    word-break: normal
}

#privacyForm input:checked+span:before {
    left: .94444rem
}

#privacyForm input:checked+span {
    background: #3bb54a
}

#privacyForm input:checked+span:after {
    content: attr(data-on) " "
}

#privacyForm input {
    display: none
}

#privacyForm table {
    font-size: .61111rem
}

#privacyForm table td {
    vertical-align: top;
    padding-bottom: 10px;
    word-break: break-word
}

#privacyForm table td:first-child {
    font-weight: bold;
    padding-right: 5px;
    width: 50%
}

#privacyController hr+p {
    opacity: 0.7
}

#privacyController p {
    margin-bottom: 10px
}

#privacy-msg {
    padding: 10px 35px 0 10px;
    font-size: .61111rem;
    line-height: .77778rem
}

#privacySettings {
    max-height: 0;
    height: 0;
    transition: 600ms all ease-in;
    overflow-y: scroll;
    background: #464a4d;
    color: #eee
}

.open #privacySettings {
    max-height: 40vh;
    height: auto
}

#privacyButtons {
    padding: 0 10px 10px 10px;
    display: flex;
    justify-content: space-between
}

#privacyButtons #privacySubmit {
    background: #3bb54a;
    color: #fff
}

.privacyButton {
    border: none;
    background: #fff;
    color: #fff;
    font-size: .61111rem;
    line-height: 1.72222rem;
    padding: 0 .55556rem;
    cursor: pointer;
    transition: 150ms all ease-in-out;
    border-radius: 0;
    display: flex;
    flex-grow: 1;
    justify-content: center;
    text-decoration: none
}

.privacyButton:first-of-type {
    margin-right: 10px
}

.privacyButton:hover {
    background: rgba(255, 255, 255, 0.8)
}

#privacyController.open .privacyButton:last-child+.privacyButton {
    opacity: 0;
    visibility: hidden
}

#privacyHide {
    position: absolute;
    top: 0px;
    right: 0px;
    font-size: 20px;
    line-height: 27px;
    width: 27px;
    text-align: center;
    cursor: pointer;
    text-decoration: none
}

#privacyFooter {
    padding: 0 10px;
    text-align: right;
    line-height: 30px;
    font-size: .61111rem
}

#privacyFooter a {
    margin-left: 10px;
    color: #b3b5b8
}

.privacyControlBadge {
    -webkit-transform: rotate(90deg) translateX(-100%);
    transform: rotate(90deg) translateX(-100%);
    display: inline-block;
    position: fixed;
    left: 0;
    bottom: 45px;
    -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: 1000
}

body.privacyControlIsOpen .privacyControlBadge {
    left: -100%
}

.privacyControlPlaceholder {
    text-align: center;
    font-size: .66667rem;
    line-height: .88889rem
}

.privacyControlPlaceholder .privacyButton {
    margin-bottom: 18px;
    display: inline-block;
    color: #fff
}

.privacyControlPlaceholder p {
    font-size: .61111rem;
    margin: 0 auto
}

@media (min-width: 40em) {
    .privacyControlPlaceholder p {
        max-width: 50%
    }
}

.privacyControlPlaceholder:not(.enabled) {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

#privacyControlReset {
    opacity: 0.7
}

.icon,
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
}

.icon-times:before,
noscript input#noticebar:checked~label:before {
    content: "×"
}

.icon-minus:before {
    content: "-"
}

.icon-angle-right:before {
    content: ""
}

.icon-plus:before {
    content: "+"
}

.icon-angle-up:before {
    content: ""
}

.icon-exclamation:before,
noscript label:before,
.informatizer:before {
    content: "!"
}

.icon-input-checked:before {
    content: "\e765"
}

.icon-arrow-minimise:before {
    content: "\e76d"
}

.icon-arrow-maximise:before {
    content: "\e76e"
}

.icon-edit:before {
    content: "\e7e6"
}

.icon-pencil2:before {
    content: "\e7e2"
}

.icon-arrow-up:before {
    content: "\e7f8"
}

.icon-arrow-right:before {
    content: "\e7fa"
}

.icon-arrow-left:before {
    content: "\e7fd"
}

.icon-arrow-down:before {
    content: "\e806"
}

.icon-phone:before {
    content: "\e600"
}

.icon-mobile:before {
    content: "\e601"
}

.icon-mail:before {
    content: "\e604"
}

.icon-house:before {
    content: "\e622"
}

.icon-directions:before {
    content: "\e603"
}

.icon-camera:before {
    content: "\e62e"
}

.icon-quote:before {
    content: "\e621"
}

.icon-link:before {
    content: "\e628"
}

.icon-info:before {
    content: "\e683"
}

.icon-angle-left:before {
    content: "\e6d1"
}

.icon-angle-down:before {
    content: "\e6d2"
}

.icon-angle-up:before {
    content: "\e6d3"
}

.icon-angle-right:before {
    content: "\e6d4"
}

.icon-craftman:before {
    content: "\e900"
}

.icon-lineal:before,
ul.styledList li:before,
main ul:not(.unstyledList) li:before,
ol.styledList li:before,
main ol:not(.unstyledList) li:before {
    content: "\e901"
}

.icon-clock1:before {
    content: "\e968"
}

.icon-play-lines:before {
    content: "\ea29"
}

.icon-file-pdf:before {
    content: "\eadf"
}

#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)
    }
}

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: #D85D00
}

noscript label {
    text-indent: 110%;
    white-space: nowrap;
    overflow: hidden;
    background: #D85D00;
    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: 910
}

noscript label:before {
    font-family: icomoon;
    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: #bf5200
}

noscript label+div {
    opacity: 0;
    visibility: hidden;
    height: 100vh
}

noscript label+div,
.noticeBar {
    background: #D85D00;
    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: 900 !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: #18183f;
    background: #f2f2f2;
    padding: 2%;
    transition: all 0.5s ease-in-out;
    box-shadow: inset 0 0 .05556rem .05556rem rgba(216, 93, 0, 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 #a6b1d6;
    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(216, 93, 0, 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: #5d5d78;
    color: #fff;
    text-decoration: none;
    text-align: center
}

body:not(.scrollingUp) .backToTop {
    opacity: 0;
    visibility: hidden
}

.backToTop span {
    display: none
}

* {
    margin: 0;
    padding: 0
}

*,
*:before,
*:after {
    box-sizing: inherit
}

html {
    background: #fff;
    box-sizing: border-box;
    color: #18183f;
    font-family: "Montserrat", 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
}

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 {
    display: block;
    text-rendering: optimizeLegibility;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto
}

h1,
.h1 {
    font-size: 1.33333rem;
    line-height: 1.88889rem;
    font-weight: 300;
    color: #546185;
    margin-bottom: 1.66667rem
}

h1 span,
.h1 span {
    display: block;
    font-size: 1.11111rem;
    line-height: 1.66667rem;
    color: #fff
}

@media (min-width: 47.5em) {
    h1,
    .h1 {
        font-size: 1.88889rem;
        line-height: 2.44444rem;
        margin-bottom: 2.5rem
    }
    h1 span,
    .h1 span {
        font-size: 1.44444rem;
        line-height: 2rem
    }
}

@media (min-width: 75em) {
    h1,
    .h1 {
        font-size: 2.44444rem;
        line-height: 2.77778rem;
        margin-bottom: 3.33333rem
    }
    h1 span,
    .h1 span {
        font-size: 2rem;
        line-height: 2.5rem
    }
}

h2,
.h2,
form.default legend {
    font-size: 1.22222rem;
    line-height: 1.77778rem;
    font-weight: 300;
    color: #a6b1d6;
    margin-bottom: 1.25rem
}

h2 span,
.h2 span,
form.default legend span {
    display: block;
    font-size: 1rem;
    line-height: 1.55556rem;
    color: #8090c4
}

@media (min-width: 47.5em) {
    h2,
    .h2,
    form.default legend {
        font-size: 1.77778rem;
        line-height: 2.33333rem;
        margin-bottom: 1.66667rem
    }
    h2 span,
    .h2 span,
    form.default legend span {
        font-size: 1.22222rem;
        line-height: 1.77778rem
    }
}

@media (min-width: 75em) {
    h2,
    .h2,
    form.default legend {
        font-size: 2.33333rem;
        line-height: 2.77778rem;
        margin-bottom: 2.5rem
    }
    h2 span,
    .h2 span,
    form.default legend span {
        font-size: 1.77778rem;
        line-height: 2.22222rem
    }
}

h5,
.h5 {
    font-size: 1.33333rem
}

h6,
.h6 {
    font-size: 1.22222rem
}

a {
    color: #546185;
    transition: .3s;
    word-wrap: break-word
}

a:focus,
a:hover,
a:active {
    color: #8090c4
}

a img {
    border: none
}

a[href^="tel"] {
    color: inherit;
    text-decoration: underline
}

a:not(.btn):focus,
[tabindex]:focus {
    outline: 1px dotted #D85D00;
    outline-offset: .27778rem
}

hr,
.hr {
    display: flex;
    background: #a6b1d6;
    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 {
    position: relative;
    padding-left: 2rem;
    margin-bottom: .38889rem
}

ul.styledList li:before,
main ul:not(.unstyledList) li:before,
ol.styledList li:before,
main ol:not(.unstyledList) li:before {
    position: absolute;
    top: .27778rem;
    left: 0;
    color: #5d5d78;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg)
}

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: #8392c6;
    color: #fff;
    padding: .83333rem
}

dl.styledList dt a,
main dl:not(.unstyledList) dt a,
dl.styledList dd a,
main dl:not(.unstyledList) dd a {
    color: #fff
}

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:not(:last-child),
main dl:not(.unstyledList) dd:not(:last-child) {
    margin-bottom: .55556rem
}

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%
}

[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.94444em) {
    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 #a6b1d6
}

main table tr {
    display: table-row
}

main table th,
main table td {
    padding: 1rem;
    display: table-cell;
    vertical-align: top
}

@media (max-width: 39.94444em) {
    main table td {
        min-width: 50vw
    }
}

.marginBottom,
main p,
main ol,
main ul,
main dl,
main table,
form.default label[for="Datenschutz"] {
    margin-bottom: 1.55556rem
}

.padRemove {
    padding: 0
}

.highlight {
    color: #8090c4
}

.noMarg {
    margin: 0
}

.btn,
form.default button,
form.default [type="submit"],
.privacyButton {
    background: #18183f;
    border: none;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 1rem;
    line-height: 1.55556rem;
    padding: 0.8rem 1rem;
    text-align: center;
    text-decoration: none;
    font-family: "Montserrat", sans-serif
}

.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"],
.privacyButton:hover,
.privacyButton:active,
.privacyButton:focus {
    background: #2d2d76;
    color: #fff
}

.btn *[class^="icon"],
form.default button *[class^="icon"],
form.default [type="submit"] *[class^="icon"],
.privacyButton *[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;
    background-image: url("../images/layout/placeholder-video.jpg");
    background-size: cover;
    background-position: center center;
    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
}

.googleMaps {
    background-image: url("../images/layout/placeholder-maps.jpg") !important
}

@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....max:101.25em....cut:101.25em";
    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: 101.25em) {
    body:before {
        width: 879pt
    }
}

@media (min-width: 101.25em) {
    body:before {
        width: 975pt
    }
}

body.devmode:before,
body.debug:before {
    background: #D85D00;
    border-color: #D85D00;
    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
}

.backToTop,
.btn,
form.default button,
form.default [type="submit"],
.privacyButton,
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 {
    transition: 0.3s
}

.notificationArea {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 999999
}

.notificationArea>:not(:last-child) {
    margin-bottom: 18px
}

.notificationArea .notification {
    position: relative;
    transition: 300ms all ease-in-out;
    overflow: hidden;
    padding: 1em;
    background: #D85D00;
    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
}

.notificationArea .notification,
.notificationArea .notification a {
    color: #fff
}

.notificationArea .notification .close {
    position: absolute;
    top: 5px;
    right: 8px;
    cursor: pointer;
    color: #fff;
    font-size: 1.2rem
}

.notificationArea .notification.hide {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: scale(0);
    transform: scale(0);
    max-height: 0;
    height: 0;
    padding-top: 0;
    padding-bottom: 0
}

.popUpContainer label {
    display: none
}

#popUpToggled_01 {
    opacity: 0;
    visibility: hidden
}

#popUpToggled_01+.popUpContainer {
    opacity: 0;
    visibility: hidden
}

#popUpToggled_01:checked+.popUpContainer {
    opacity: 1;
    visibility: visible;
    pointer-events: all
}

#navigation nav ul.navi li.navBack:hover,
#navigation nav ul.navi li:hover>a,
#navigation nav ul.navi li:hover:not(.navBack)>span {
    color: #fff;
    background-color: #5d5d78
}

#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: #fff;
    background-color: #5d5d78
}

#navigation nav ul.navi li.navBack:before {
    font-family: icomoon;
    content: "";
    -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: ""
}

@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.94444em) {
    #navigation {
        min-width: 50%;
        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.94444em) {
    #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: #18183f;
    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.94444em) {
    #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
}

#navigation .branding {
    display: none
}

#navigation .phone,
#navigation .email {
    display: block;
    padding: 1rem;
    color: #8090c4
}

#navigation .phone i,
#navigation .email i {
    padding-right: .55556rem
}

#navigation .phone {
    padding-bottom: 0
}

#navigation nav ul {
    width: 100%
}

#navigation nav ul.navi {
    border-top: .05556rem solid #18183f
}

#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: #18183f
}

@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: 1rem 1.11111rem;
        transition: .3s
    }
}

#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;
    background: #fff
}

#navigation nav ul.navi li.hasSub>span .sub:before,
#navigation nav ul.navi li.hasSub>a .sub:before {
    padding: 1em 1rem;
    background-color: #f0f0f0
}

@media (max-width: 61.94444em) {
    #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.94444em) {
    #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;
    background: #fff
}

#navigation nav ul.navi li.hasSub .sub:before {
    padding: 1em 1rem;
    background-color: #f0f0f0
}

@media (max-width: 61.94444em) {
    #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.94444em) {
    #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
    }
    #navigation nav ul.navi li.hasSub .sub {
        top: 100%;
        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%
    }
    #navigation nav ul.navi li.navBack span {
        display: none
    }
    #navigation.hoverNavigation nav ul.navi li.navBack {
        display: none
    }
    #navigation {
        background: none;
        padding-top: 1rem;
        transition: .3s
    }
    #navigation .branding {
        display: block
    }
    #navigation .padNo {
        display: flex;
        justify-content: space-between
    }
    #navigation .padNo .phone,
    #navigation .padNo .email {
        position: relative;
        display: inline;
        text-decoration: none
    }
    #navigation .padNo .phone i,
    #navigation .padNo .email i {
        padding: 0;
        vertical-align: middle
    }
    #navigation .padNo .phone .text,
    #navigation .padNo .email .text {
        position: absolute;
        top: 100%;
        left: 0;
        background: #8090c4;
        padding: .27778rem 1rem;
        opacity: 0;
        visibility: hidden;
        transition: .3s
    }
    #navigation .padNo .phone:hover,
    #navigation .padNo .email:hover {
        background: #5d5d78;
        color: #fff
    }
    #navigation .padNo .phone:hover .text,
    #navigation .padNo .email:hover .text {
        opacity: 1;
        color: #fff;
        visibility: visible
    }
    #navigation .padNo .phone .text {
        width: 9.72222rem
    }
    #navigation .padNo .phone:hover {
        background: none;
        color: #8090c4
    }
    #navigation .padNo .email .text {
        width: 13.05556rem
    }
    #navigation nav ul.navi {
        font-size: .88889rem;
        border-top: 0
    }
    #navigation nav ul.navi li.startseite span {
        display: none
    }
    #navigation nav ul.navi li.anfahrt,
    #navigation nav ul.navi li.impressum,
    #navigation nav ul.navi li.datenschutzerklaerung {
        display: none
    }
    #navigation nav ul.navi li.navBack {
        display: none
    }
    #navigation.scroll {
        padding: .5rem 0;
        background: #fff;
        border-bottom: .05556rem solid #18183f;
        box-shadow: 0 0 1.11111rem rgba(24, 24, 63, 0.5)
    }
}

@media (min-width: 75em) {
    #navigation {
        padding-top: 2rem
    }
    #navigation .padNo {
        padding: 0;
        justify-content: flex-start
    }
    #navigation .padNo .phone,
    #navigation .padNo .email {
        padding: 1rem 0
    }
    #navigation .padNo .phone i,
    #navigation .padNo .email i {
        vertical-align: middle;
        padding-right: 0;
        font-size: .77778rem
    }
    #navigation .padNo .phone .text,
    #navigation .padNo .email .text {
        position: relative;
        top: auto;
        opacity: 1;
        visibility: visible;
        font-size: .77778rem;
        padding: 0;
        background: none
    }
    #navigation .padNo .phone:hover .text {
        color: #8090c4
    }
    #navigation .padNo .email {
        padding: 1rem;
        margin-left: .55556rem
    }
}

@media (min-width: 85.25em) {
    #navigation .padNo .phone .text,
    #navigation .padNo .email .text {
        font-size: .83333rem
    }
    #navigation nav ul.navi {
        font-size: 1rem;
        padding: 0 .55556rem
    }
}

@media (min-width: 95em) {
    #navigation .padNo .phone .text,
    #navigation .padNo .email .text {
        font-size: .94444rem
    }
    #navigation nav ul.navi {
        padding: 0 1.11111rem
    }
}

@media (min-width: 101.25em) {
    #navigation .padNo {
        padding: 0 1rem
    }
}

#quickbar {
    background-color: #8090c4;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    z-index: 1000
}

#quickbar .branding {
    max-width: 11.11111rem
}

@media (min-width: 62em) {
    #quickbar {
        display: none
    }
}

.naviAdd {
    display: none
}

@media (min-width: 62em) {
    .naviAdd {
        display: flex;
        justify-content: space-between;
        padding-bottom: .27778rem
    }
    .naviAdd li a {
        display: block;
        text-decoration: none;
        color: #18183f;
        padding: 1rem;
        transition: .3s
    }
    .naviAdd li:hover a {
        color: #a6b1d6
    }
    .naviAdd li.active a {
        text-decoration: underline
    }
}

#pageWrap {
    max-width: 100%;
    overflow-x: hidden
}

#header {
    position: relative;
    width: 100%;
    padding: 3.77778rem 0 1rem;
    margin-bottom: 2.5rem
}

@media (min-width: 30em) {
    #header {
        padding: 4.77778rem 0 2rem
    }
}

@media (min-width: 40em) {
    #header {
        padding: 5.22222rem 0 2.5rem;
        margin-bottom: 3.33333rem
    }
}

@media (min-width: 62em) {
    #header {
        padding: 5.55556rem 0 4.44444rem;
        margin-bottom: 4.44444rem
    }
}

@media (min-width: 75em) {
    #header {
        padding: 7.55556rem 0 5.55556rem;
        margin-bottom: 5.55556rem
    }
}

@media (min-width: 95em) {
    #header {
        padding: 8.05556rem 0 6.66667rem;
        margin-bottom: 6.66667rem
    }
}

#header.lazyLoaded {
    background-image: url("../images/layout/bgHeader.jpg")
}

@media (max-width: 47.44444em) {
    #header.lazyLoaded {
        background-image: url("../images/layout/medium-bgHeader.jpg")
    }
}

@media (max-width: 29.94444em) {
    #header.lazyLoaded {
        background-image: url("../images/layout/tiny-bgHeader.jpg")
    }
}

#header.lazyLoaded {
    background-size: cover
}

#header .claim {
    font-size: 1.22222rem;
    line-height: 1.77778rem;
    margin-bottom: 1rem
}

@media (min-width: 30em) {
    #header .claim {
        font-size: 1.44444rem;
        line-height: 2rem
    }
}

@media (min-width: 40em) {
    #header .claim {
        font-size: 1.88889rem;
        line-height: 2.44444rem;
        margin-bottom: 2rem
    }
}

@media (min-width: 62em) {
    #header .claim {
        margin-top: 3.33333rem;
        margin-bottom: 2.5rem
    }
}

@media (min-width: 75em) {
    #header .claim {
        font-size: 2.33333rem;
        line-height: 2.77778rem;
        margin-top: 5.55556rem;
        margin-bottom: 3.33333rem
    }
}

@media (min-width: 95em) {
    #header .claim {
        font-size: 2.5rem;
        margin-top: 7.55556rem
    }
}

#header .claim .specHold {
    position: relative;
    display: inline;
    z-index: 1
}

@media (min-width: 75em) {
    #header .claim .specHold {
        z-index: 0
    }
}

#header .claim .specHold .special {
    display: inline;
    font-size: 1.22222rem;
    padding: 0 .27778rem;
    color: #a6b1d6;
    -webkit-transform: translatex(-50%);
    transform: translatex(-50%)
}

@media (min-width: 30em) {
    #header .claim .specHold .special {
        position: absolute;
        top: 0;
        left: 100%;
        font-size: 3.66667rem;
        z-index: -1
    }
}

@media (min-width: 40em) {
    #header .claim .specHold .special {
        font-size: 4.66667rem
    }
}

@media (min-width: 75em) {
    #header .claim .specHold .special {
        top: 1.11111rem;
        font-size: 6.66667rem
    }
}

@media (min-width: 30em) {
    #header .claim .br {
        display: block
    }
}

@media (min-width: 75em) {
    #header .claim .br {
        position: relative;
        z-index: 2
    }
}

#header .claim small {
    display: block;
    color: #546185;
    font-size: 1.11111rem;
    line-height: 1.66667rem;
    margin-bottom: .27778rem
}

@media (min-width: 40em) {
    #header .claim small {
        font-size: 1.44444rem;
        line-height: 2rem
    }
}

@media (min-width: 75em) {
    #header .claim small {
        font-size: 1.66667rem;
        line-height: 2.22222rem
    }
}

#header .times dl dt,
#header .times dl dd {
    background: #5d5d78
}

@media (min-width: 30em) {
    #header .times {
        display: flex;
        flex-wrap: wrap
    }
}

@media (min-width: 62em) {
    #header .times {
        margin-bottom: 3.33333rem
    }
    body:not(.index) #header .times {
        margin: 2rem 0
    }
}

@media (min-width: 75em) {
    #header .times {
        margin-bottom: 5.55556rem
    }
    body:not(.index) #header .times {
        margin-bottom: 0
    }
}

@media (min-width: 85.25em) {
    #header .times {
        margin-bottom: 7.55556rem
    }
}

@media (min-width: 95em) {
    #header .times {
        margin-bottom: 8.33333rem
    }
}

#header .times .headline {
    display: block;
    color: #546185;
    margin-bottom: 1rem
}

@media (min-width: 30em) {
    #header .times .headline {
        flex-basis: 100%;
        width: 100%;
        font-size: 1.11111rem
    }
}

#header .times dl.secu {
    margin-top: .05556rem
}

@media (min-width: 30em) {
    #header .times dl.secu {
        margin-top: 0;
        margin-left: .05556rem
    }
}

@media (min-width: 40em) {
    #header .times dl dt {
        padding: .83333rem 1.33333rem 0 1.33333rem
    }
    #header .times dl dd {
        padding: 0 1.33333rem .83333rem 1.33333rem
    }
}

#header .imgBox {
    display: none
}

#header .imgBox.lazyLoaded {
    background-image: url("../images/layout/bgHeaderCol.jpg")
}

@media (max-width: 47.44444em) {
    #header .imgBox.lazyLoaded {
        background-image: url("../images/layout/medium-bgHeaderCol.jpg")
    }
}

@media (max-width: 29.94444em) {
    #header .imgBox.lazyLoaded {
        background-image: url("../images/layout/tiny-bgHeaderCol.jpg")
    }
}

@media (min-width: 62em) {
    #header .imgBox {
        display: block;
        height: 100%
    }
    #header .imgBox.lazyLoaded {
        background-size: cover
    }
}

#header .branding {
    display: block;
    max-width: 200px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

#header picture {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 0;
    width: 100%;
    height: auto
}

main {
    display: block
}

main .row {
    margin-bottom: 2.5rem
}

@media (min-width: 40em) {
    main .row {
        margin-bottom: 3.33333rem
    }
}

@media (min-width: 62em) {
    main .row {
        margin-bottom: 4.44444rem
    }
}

@media (min-width: 75em) {
    main .row {
        margin-bottom: 5.55556rem
    }
}

@media (min-width: 95em) {
    main .row {
        margin-bottom: 6.66667rem
    }
}

main .textbox {
    position: relative;
    padding: 2rem 1rem;
    box-shadow: 0 0 1.11111rem rgba(24, 24, 63, 0.5)
}

main .textbox .row {
    margin-bottom: 0
}

main .textbox dl {
    margin-bottom: 0
}

@media (min-width: 40em) {
    main .textbox {
        padding: 3.33333rem 2.22222rem
    }
}

@media (min-width: 47.5em) {
    main .textbox {
        z-index: 1
    }
}

@media (min-width: 85.25em) {
    main .textbox {
        padding: 4.44444rem 3.33333rem
    }
}

@media (min-width: 95em) {
    main .textbox {
        padding: 4.44444rem 4.44444rem
    }
}

@media (min-width: 101.25em) {
    main .textbox {
        padding: 4.44444rem 5rem
    }
}

main .textbox.light {
    background: #a6b1d6;
    color: #fff
}

main .textbox.light h2 {
    color: #546185;
    margin-top: 1.25rem
}

main .textbox.light h2 span {
    color: #18183f
}

@media (min-width: 47.5em) {
    main .textbox.light h2 {
        margin-top: 1.66667rem
    }
}

@media (min-width: 75em) {
    main .textbox.light h2 {
        margin-top: 2.5rem
    }
}

main .textbox.dark {
    background: #5d5d78;
    color: #fff
}

main .textbox.dark a {
    color: #8090c4
}

main .textbox.dark a:hover {
    color: #fff
}

main .textbox.beige {
    background: #e8e8e6;
    color: #333333;
    border-bottom: .05556rem solid #546185;
    z-index: 0
}

@media (min-width: 47.5em) {
    main .textbox.beige {
        margin: 3.33333rem 0
    }
}

@media (min-width: 85.25em) {
    main .textbox.beige {
        margin: 4.44444rem 0
    }
}

main .imgBox {
    position: relative;
    height: 13.88889rem;
    z-index: 1
}

@media (min-width: 47.5em) {
    main .imgBox {
        height: auto;
        margin: 2.22222rem 0;
        z-index: 0
    }
}

@media (min-width: 62em) {
    main .imgBox {
        margin: 3.33333rem 0
    }
}

@media (min-width: 85.25em) {
    main .imgBox {
        margin: 4.44444rem 0
    }
}

main .imgBox.light {
    border-bottom: .05556rem solid #a6b1d6
}

main .imgBox.dark {
    border-bottom: .05556rem solid #5d5d78
}

main .imgBox img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    margin-bottom: 0;
    z-index: -1
}

main .imgBox:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    transition: .3s;
    z-index: 0
}

main .imgBox:hover:before,
main .imgBox:focus:before {
    opacity: 0;
    visibility: hidden
}

main .mapbox {
    position: relative;
    height: 25rem;
    border-bottom: .05556rem solid #18183f
}

@media (min-width: 47.5em) {
    main .mapbox {
        height: auto;
        margin: 3.33333rem 0
    }
}

@media (min-width: 85.25em) {
    main .mapbox {
        margin: 4.44444rem 0
    }
}

main .mapbox iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%
}

main .infobox {
    background: #546185;
    color: #fff;
    padding: 1rem
}

main .infobox .headline {
    display: block;
    color: #18183f;
    font-size: 1.11111rem;
    line-height: 1.66667rem;
    text-align: center;
    font-weight: 700;
    margin-bottom: 1rem
}

main .infobox a {
    color: #fff
}

@media (min-width: 47.5em) {
    main .infobox {
        height: calc(100% - 2rem);
        padding: 2rem;
        margin-bottom: 2rem
    }
}

main img {
    margin-bottom: 2rem
}

#privacyPolicy a {
    display: inline-block;
    word-break: break-all
}

#footer {
    position: relative;
    width: 100%;
    padding: 2.5rem 0;
    margin-top: 2.5rem
}

@media (min-width: 40em) {
    #footer {
        padding: 3.33333rem 0 3.33333rem;
        margin-top: 3.33333rem
    }
}

@media (min-width: 62em) {
    #footer {
        padding: 4.44444rem 0 4.44444rem;
        margin-top: 4.44444rem
    }
}

@media (min-width: 75em) {
    #footer {
        padding: 5.55556rem 0 5.55556rem;
        margin-top: 5.55556rem
    }
}

@media (min-width: 95em) {
    #footer {
        padding: 6.66667rem 0 6.66667rem;
        margin-top: 6.66667rem
    }
}

#footer.lazyLoaded {
    background-image: url("../images/layout/bgHeader.jpg")
}

@media (max-width: 47.44444em) {
    #footer.lazyLoaded {
        background-image: url("../images/layout/medium-bgHeader.jpg")
    }
}

@media (max-width: 29.94444em) {
    #footer.lazyLoaded {
        background-image: url("../images/layout/tiny-bgHeader.jpg")
    }
}

#footer.lazyLoaded {
    background-size: cover
}

#footer .headline {
    display: block;
    font-size: 1.44444rem;
    font-weight: 700;
    color: #18183f;
    margin-bottom: 1.11111rem
}

@media (min-width: 40em) {
    #footer .headline {
        margin-bottom: 2.22222rem
    }
}

@media (min-width: 62em) {
    #footer .headline {
        font-size: 2rem;
        margin-bottom: 3.33333rem
    }
}

@media (min-width: 85.25em) {
    #footer .headline {
        font-size: 2.55556rem;
        margin-bottom: 4.44444rem
    }
}

#footer .box {
    position: relative;
    display: block;
    height: 13.88889rem;
    text-decoration: none;
    margin-bottom: 1rem;
    border-bottom: .05556rem solid #18183f;
    z-index: 1
}

@media (min-width: 62em) {
    #footer .box {
        height: 22.22222rem
    }
}

@media (min-width: 85.25em) {
    #footer .box {
        height: 27.77778rem
    }
}

#footer .box:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(93, 93, 120, 0.5);
    transition: .3s;
    z-index: -1
}

#footer .box span {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    color: #fff;
    font-weight: 300;
    transition: .3s;
    z-index: 1
}

@media (min-width: 62em) {
    #footer .box span {
        font-size: 1.22222rem
    }
}

@media (min-width: 75em) {
    #footer .box span {
        font-size: 1.44444rem
    }
}

#footer .box:hover:before,
#footer .box:focus:before {
    opacity: 0;
    visibility: hidden
}

#footer .box:hover span,
#footer .box:focus span {
    color: #18183f
}

#footer .box.tragwerk.lazyLoaded {
    background-image: url("../images/teaser/tragwerksplanung.jpg")
}

@media (max-width: 47.44444em) {
    #footer .box.tragwerk.lazyLoaded {
        background-image: url("../images/teaser/medium-tragwerksplanung.jpg")
    }
}

@media (max-width: 29.94444em) {
    #footer .box.tragwerk.lazyLoaded {
        background-image: url("../images/teaser/tiny-tragwerksplanung.jpg")
    }
}

#footer .box.tragwerk.lazyLoaded {
    background-size: cover
}

#footer .box.physik.lazyLoaded {
    background-image: url("../images/teaser/bauphysik.jpg")
}

@media (max-width: 47.44444em) {
    #footer .box.physik.lazyLoaded {
        background-image: url("../images/teaser/medium-bauphysik.jpg")
    }
}

@media (max-width: 29.94444em) {
    #footer .box.physik.lazyLoaded {
        background-image: url("../images/teaser/tiny-bauphysik.jpg")
    }
}

#footer .box.physik.lazyLoaded {
    background-size: cover
}

#footer .subtitle {
    text-shadow: 1.5px 1.5px 2px #2E2E2E
}

#footer .branding {
    display: block;
    margin-bottom: 2rem
}

@media (min-width: 40em) {
    #footer .branding {
        margin-top: 2rem
    }
}

@media (min-width: 47.5em) {
    #footer .branding {
        margin-top: 3.33333rem
    }
}

@media (min-width: 75em) {
    #footer .branding {
        margin-top: 0
    }
}

#footer .smollBox {
    position: relative;
    background: #a6b1d6;
    padding: 1rem;
    border-bottom: .05556rem solid #18183f
}

@media (min-width: 47.5em) {
    #footer .smollBox {
        font-size: 1.22222rem;
        line-height: 1.77778rem;
        padding: 2rem
    }
}

@media (min-width: 75em) {
    #footer .smollBox {
        font-size: 1.44444rem;
        line-height: 2rem;
        padding: 2.5rem
    }
}

@media (min-width: 85.25em) {
    #footer .smollBox {
        font-size: 1.55556rem;
        line-height: 2.11111rem;
        padding: 3.33333rem
    }
}

#footer .smollBox p {
    margin-bottom: 1rem
}

@media (min-width: 47.5em) {
    #footer .smollBox p {
        margin-bottom: 2rem
    }
}

@media (min-width: 62em) {
    #footer .smollBox p {
        margin-bottom: 2.5rem
    }
}

@media (min-width: 75em) {
    #footer .smollBox p {
        margin-bottom: 3.33333rem
    }
}

#footer .smollBox p.last {
    margin-bottom: 0
}

#footer .smollBox b {
    color: #fff
}

@media (min-width: 62em) {
    #footer .navBar {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        max-width: 90rem;
        margin: 0 auto
    }
}

@media (min-width: 75em) {
    #footer .navBar {
        bottom: .5rem;
        padding: 0 1rem
    }
}

@media (min-width: 101.25em) {
    #footer .navBar {
        left: 50%;
        -webkit-transform: translatex(-50%);
        transform: translatex(-50%)
    }
}

@media (min-width: 95em) {
    #footer .navBar {
        bottom: 1rem
    }
}

.backbg {
    text-shadow: 1px 1px 1px black
}

form.default {
    overflow: hidden;
    width: 100%
}

form.default ::-webkit-input-placeholder {
    color: #333333
}

form.default ::-moz-placeholder {
    color: #333333
}

form.default :-ms-input-placeholder {
    color: #333333 !important
}

form.default :-moz-placeholder {
    color: #333333
}

form.default fieldset {
    border: none
}

form.default label {
    color: inherit;
    display: block;
    padding: 1rem 0 0.6rem;
    position: relative
}

form.default label small {
    color: #D85D00;
    display: inline-block;
    line-height: 0.5rem
}

form.default label[for="Datenschutz"] {
    float: left;
    width: calc(100% - 1.66667rem)
}

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: rgba(93, 93, 120, 0.25);
    border: 0;
    border-bottom: .05556rem solid #a6b1d6;
    color: #a6b1d6;
    display: block;
    font-family: "Montserrat", 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 {
    padding-top: 0.9rem
}

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: #D85D00;
    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
}

@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: "Montserrat";
    font-weight: 300;
    font-style: normal;
    font-display: block;
    src: url("../fonts/montserrat-v14-latin-300.woff2") format("woff2"), url("../fonts/montserrat-v14-latin-300.woff") format("woff"), url("../fonts/montserrat-v14-latin-300.ttf") format("truetype"), url("../fonts/montserrat-v14-latin-300.svg#Montserrat") format("svg"), url("../fonts/montserrat-v14-latin-300d41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Montserrat";
    font-weight: 300;
    font-style: italic;
    font-display: block;
    src: url("../fonts/montserrat-v14-latin-300italic.woff2") format("woff2"), url("../fonts/montserrat-v14-latin-300italic.woff") format("woff"), url("../fonts/montserrat-v14-latin-300italic.ttf") format("truetype"), url("../fonts/montserrat-v14-latin-300italic.svg#Montserrat") format("svg"), url("../fonts/montserrat-v14-latin-300italicd41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Montserrat";
    font-weight: 700;
    font-style: normal;
    font-display: block;
    src: url("../fonts/montserrat-v14-latin-700.woff2") format("woff2"), url("../fonts/montserrat-v14-latin-700.woff") format("woff"), url("../fonts/montserrat-v14-latin-700.ttf") format("truetype"), url("../fonts/montserrat-v14-latin-700.svg#Montserrat") format("svg"), url("../fonts/montserrat-v14-latin-700d41d.eot?#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Montserrat";
    font-weight: 600;
    font-style: italic;
    font-display: block;
    src: url("../fonts/montserrat-v14-latin-600italic.woff2") format("woff2"), url("../fonts/montserrat-v14-latin-600italic.woff") format("woff"), url("../fonts/montserrat-v14-latin-600italic.ttf") format("truetype"), url("../fonts/montserrat-v14-latin-600italic.svg#Montserrat") format("svg"), url("../fonts/montserrat-v14-latin-600italicd41d.eot?#iefix") format("embedded-opentype")
}

.row {
    margin-left: auto;
    margin-right: auto;
    max-width: 90rem;
    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 + 801px)
}

.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: 0) {
    .col.default-4 {
        max-width: 33.33333%;
        flex-basis: 33.33333%
    }
}

@media (min-width: 0) and (min-width: 101.25em) {
    .row.breakLeft>.col.default-4,
    .row.breakRight>.col.default-4 {
        max-width: 30rem
    }
}

@media (min-width: 0) {
    .col.default-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 0) and (min-width: 101.25em) {
    .row.breakLeft>.col.default-6,
    .row.breakRight>.col.default-6 {
        max-width: 45rem
    }
}

@media (min-width: 0) {
    .default-last {
        order: 1
    }
}

@media (min-width: 40em) {
    .small-center {
        justify-content: center
    }
    .col.small-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 40em) and (min-width: 101.25em) {
    .row.breakLeft>.col.small-6,
    .row.breakRight>.col.small-6 {
        max-width: 45rem
    }
}

@media (min-width: 40em) {
    .col.small-8 {
        max-width: 66.66667%;
        flex-basis: 66.66667%
    }
}

@media (min-width: 40em) and (min-width: 101.25em) {
    .row.breakLeft>.col.small-8,
    .row.breakRight>.col.small-8 {
        max-width: 60rem
    }
}

@media (min-width: 47.5em) {
    .medium-center {
        justify-content: center
    }
    .col.medium-3 {
        max-width: 25%;
        flex-basis: 25%
    }
}

@media (min-width: 47.5em) and (min-width: 101.25em) {
    .row.breakLeft>.col.medium-3,
    .row.breakRight>.col.medium-3 {
        max-width: 22.5rem
    }
}

@media (min-width: 47.5em) {
    .col.medium-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 47.5em) and (min-width: 101.25em) {
    .row.breakLeft>.col.medium-6,
    .row.breakRight>.col.medium-6 {
        max-width: 45rem
    }
}

@media (min-width: 47.5em) {
    .col.medium-9 {
        max-width: 75%;
        flex-basis: 75%
    }
}

@media (min-width: 47.5em) and (min-width: 101.25em) {
    .row.breakLeft>.col.medium-9,
    .row.breakRight>.col.medium-9 {
        max-width: 67.5rem
    }
}

@media (min-width: 47.5em) {
    .col.medium-12 {
        max-width: 100%;
        flex-basis: 100%
    }
}

@media (min-width: 47.5em) and (min-width: 101.25em) {
    .row.breakLeft>.col.medium-12,
    .row.breakRight>.col.medium-12 {
        max-width: 90rem
    }
}

@media (min-width: 47.5em) {
    .medium-first {
        order: -1
    }
}

@media (min-width: 62em) {
    .large-between {
        justify-content: space-between
    }
    .large-center {
        justify-content: center
    }
    .col.large-4 {
        max-width: 33.33333%;
        flex-basis: 33.33333%
    }
}

@media (min-width: 62em) and (min-width: 101.25em) {
    .row.breakLeft>.col.large-4,
    .row.breakRight>.col.large-4 {
        max-width: 30rem
    }
}

@media (min-width: 62em) {
    .col.large-5 {
        max-width: 41.66667%;
        flex-basis: 41.66667%
    }
}

@media (min-width: 62em) and (min-width: 101.25em) {
    .row.breakLeft>.col.large-5,
    .row.breakRight>.col.large-5 {
        max-width: 37.5rem
    }
}

@media (min-width: 62em) {
    .col.large-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 62em) and (min-width: 101.25em) {
    .row.breakLeft>.col.large-6,
    .row.breakRight>.col.large-6 {
        max-width: 45rem
    }
}

@media (min-width: 62em) {
    .col.large-7 {
        max-width: 58.33333%;
        flex-basis: 58.33333%
    }
}

@media (min-width: 62em) and (min-width: 101.25em) {
    .row.breakLeft>.col.large-7,
    .row.breakRight>.col.large-7 {
        max-width: 52.5rem
    }
}

@media (min-width: 62em) {
    .col.large-8 {
        max-width: 66.66667%;
        flex-basis: 66.66667%
    }
}

@media (min-width: 62em) and (min-width: 101.25em) {
    .row.breakLeft>.col.large-8,
    .row.breakRight>.col.large-8 {
        max-width: 60rem
    }
}

@media (min-width: 62em) {
    .col.large-10 {
        max-width: 83.33333%;
        flex-basis: 83.33333%
    }
}

@media (min-width: 62em) and (min-width: 101.25em) {
    .row.breakLeft>.col.large-10,
    .row.breakRight>.col.large-10 {
        max-width: 75rem
    }
}

@media (min-width: 62em) {
    .large-middle {
        align-items: center
    }
}

@media (min-width: 75em) {
    .col.giant-5 {
        max-width: 41.66667%;
        flex-basis: 41.66667%
    }
}

@media (min-width: 75em) and (min-width: 101.25em) {
    .row.breakLeft>.col.giant-5,
    .row.breakRight>.col.giant-5 {
        max-width: 37.5rem
    }
}

@media (min-width: 75em) {
    .col.giant-7 {
        max-width: 58.33333%;
        flex-basis: 58.33333%
    }
}

@media (min-width: 75em) and (min-width: 101.25em) {
    .row.breakLeft>.col.giant-7,
    .row.breakRight>.col.giant-7 {
        max-width: 52.5rem
    }
}

@media (min-width: 85.25em) {
    .col.huge-5 {
        max-width: 41.66667%;
        flex-basis: 41.66667%
    }
}

@media (min-width: 85.25em) and (min-width: 101.25em) {
    .row.breakLeft>.col.huge-5,
    .row.breakRight>.col.huge-5 {
        max-width: 37.5rem
    }
}

@media (min-width: 85.25em) {
    .col.huge-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 85.25em) and (min-width: 101.25em) {
    .row.breakLeft>.col.huge-6,
    .row.breakRight>.col.huge-6 {
        max-width: 45rem
    }
}

@media (min-width: 85.25em) {
    .col.huge-7 {
        max-width: 58.33333%;
        flex-basis: 58.33333%
    }
}

@media (min-width: 85.25em) and (min-width: 101.25em) {
    .row.breakLeft>.col.huge-7,
    .row.breakRight>.col.huge-7 {
        max-width: 52.5rem
    }
}

@media (min-width: 85.25em) {
    .huge-end {
        justify-content: flex-end
    }
}

@media (min-width: 95em) {
    .col.full-4 {
        max-width: 33.33333%;
        flex-basis: 33.33333%
    }
}

@media (min-width: 95em) and (min-width: 101.25em) {
    .row.breakLeft>.col.full-4,
    .row.breakRight>.col.full-4 {
        max-width: 30rem
    }
}

@media (min-width: 101.25em) {
    .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;
    max-height: calc(100vh - 40px);
    padding: 0;
    border-radius: 4px
}

#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)
}

#privacyCtrl a {
    color: #333
}

#privacyForm fieldset {
    border: none;
    border-left: 2px solid #333;
    padding: 10px;
    padding-bottom: 0
}

#privacyForm fieldset p {
    padding-right: 2.5em;
    margin-bottom: 0
}

#privacyForm fieldset:not(:last-child) {
    border-bottom: 2px solid #333
}

#privacyForm fieldset a {
    color: #eee
}

#privacyForm label {
    cursor: pointer;
    position: relative;
    display: block;
    width: 100%
}

#privacyForm 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
}

#privacyForm 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
}

#privacyForm label span:after {
    content: attr(data-off) " ";
    display: inline-block;
    position: absolute;
    left: calc(100% + 5px);
    color: #eee;
    font-size: .61111rem;
    word-break: normal
}

#privacyForm input:checked+span:before {
    left: .94444rem
}

#privacyForm input:checked+span {
    background: #3bb54a
}

#privacyForm input:checked+span:after {
    content: attr(data-on) " "
}

#privacyForm input {
    display: none
}

#privacyForm table {
    font-size: .61111rem
}

#privacyForm table td {
    vertical-align: top;
    padding-bottom: 10px;
    word-break: break-word
}

#privacyForm table td:first-child {
    font-weight: bold;
    padding-right: 5px;
    width: 50%
}

#privacyController hr+p {
    opacity: 0.7
}

#privacyController p {
    margin-bottom: 10px
}

#privacy-msg {
    padding: 10px 35px 0 10px;
    font-size: .61111rem;
    line-height: .77778rem
}

#privacySettings {
    max-height: 0;
    height: 0;
    transition: 600ms all ease-in;
    overflow-y: scroll;
    background: #464a4d;
    color: #eee
}

.open #privacySettings {
    max-height: 40vh;
    height: auto
}

#privacyButtons {
    padding: 0 10px 10px 10px;
    display: flex;
    justify-content: space-between
}

#privacyButtons #privacySubmit {
    background: #3bb54a;
    color: #fff
}

.privacyButton {
    border: none;
    background: #fff;
    color: #fff;
    font-size: .61111rem;
    line-height: 1.72222rem;
    padding: 0 .55556rem;
    cursor: pointer;
    transition: 150ms all ease-in-out;
    border-radius: 0;
    display: flex;
    flex-grow: 1;
    justify-content: center;
    text-decoration: none
}

.privacyButton:first-of-type {
    margin-right: 10px
}

.privacyButton:hover {
    background: rgba(255, 255, 255, 0.8)
}

#privacyController.open .privacyButton:last-child+.privacyButton {
    opacity: 0;
    visibility: hidden
}

#privacyHide {
    position: absolute;
    top: 0px;
    right: 0px;
    font-size: 20px;
    line-height: 27px;
    width: 27px;
    text-align: center;
    cursor: pointer;
    text-decoration: none
}

#privacyFooter {
    padding: 0 10px;
    text-align: right;
    line-height: 30px;
    font-size: .61111rem
}

#privacyFooter a {
    margin-left: 10px;
    color: #b3b5b8
}

.privacyControlBadge {
    -webkit-transform: rotate(90deg) translateX(-100%);
    transform: rotate(90deg) translateX(-100%);
    display: inline-block;
    position: fixed;
    left: 0;
    bottom: 45px;
    -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: 1000
}

body.privacyControlIsOpen .privacyControlBadge {
    left: -100%
}

.privacyControlPlaceholder {
    text-align: center;
    font-size: .66667rem;
    line-height: .88889rem
}

.privacyControlPlaceholder .privacyButton {
    margin-bottom: 18px;
    display: inline-block;
    color: #fff
}

.privacyControlPlaceholder p {
    font-size: .61111rem;
    margin: 0 auto
}

@media (min-width: 40em) {
    .privacyControlPlaceholder p {
        max-width: 50%
    }
}

.privacyControlPlaceholder:not(.enabled) {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

#privacyControlReset {
    opacity: 0.7
}

.icon,
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
}

.icon-times:before,
noscript input#noticebar:checked~label:before {
    content: "×"
}

.icon-minus:before {
    content: "-"
}

.icon-angle-right:before {
    content: ""
}

.icon-plus:before {
    content: "+"
}

.icon-angle-up:before {
    content: ""
}

.icon-exclamation:before,
noscript label:before,
.informatizer:before {
    content: "!"
}

.icon-input-checked:before {
    content: "\e765"
}

.icon-arrow-minimise:before {
    content: "\e76d"
}

.icon-arrow-maximise:before {
    content: "\e76e"
}

.icon-edit:before {
    content: "\e7e6"
}

.icon-pencil2:before {
    content: "\e7e2"
}

.icon-arrow-up:before {
    content: "\e7f8"
}

.icon-arrow-right:before {
    content: "\e7fa"
}

.icon-arrow-left:before {
    content: "\e7fd"
}

.icon-arrow-down:before {
    content: "\e806"
}

.icon-phone:before {
    content: "\e600"
}

.icon-mobile:before {
    content: "\e601"
}

.icon-mail:before {
    content: "\e604"
}

.icon-house:before {
    content: "\e622"
}

.icon-directions:before {
    content: "\e603"
}

.icon-camera:before {
    content: "\e62e"
}

.icon-quote:before {
    content: "\e621"
}

.icon-link:before {
    content: "\e628"
}

.icon-info:before {
    content: "\e683"
}

.icon-angle-left:before {
    content: "\e6d1"
}

.icon-angle-down:before {
    content: "\e6d2"
}

.icon-angle-up:before {
    content: "\e6d3"
}

.icon-angle-right:before {
    content: "\e6d4"
}

.icon-craftman:before {
    content: "\e900"
}

.icon-lineal:before,
ul.styledList li:before,
main ul:not(.unstyledList) li:before,
ol.styledList li:before,
main ol:not(.unstyledList) li:before {
    content: "\e901"
}

.icon-clock1:before {
    content: "\e968"
}

.icon-play-lines:before {
    content: "\ea29"
}

.icon-file-pdf:before {
    content: "\eadf"
}

#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)
    }
}

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: #D85D00
}

noscript label {
    text-indent: 110%;
    white-space: nowrap;
    overflow: hidden;
    background: #D85D00;
    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: 910
}

noscript label:before {
    font-family: icomoon;
    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: #bf5200
}

noscript label+div {
    opacity: 0;
    visibility: hidden;
    height: 100vh
}

noscript label+div,
.noticeBar {
    background: #D85D00;
    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: 900 !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: #18183f;
    background: #f2f2f2;
    padding: 2%;
    transition: all 0.5s ease-in-out;
    box-shadow: inset 0 0 .05556rem .05556rem rgba(216, 93, 0, 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 #a6b1d6;
    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(216, 93, 0, 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: #5d5d78;
    color: #fff;
    text-decoration: none;
    text-align: center
}

body:not(.scrollingUp) .backToTop {
    opacity: 0;
    visibility: hidden
}

.backToTop span {
    display: none
}

* {
    margin: 0;
    padding: 0
}

*,
*:before,
*:after {
    box-sizing: inherit
}

html {
    background: #fff;
    box-sizing: border-box;
    color: #18183f;
    font-family: "Montserrat", 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
}

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 {
    display: block;
    text-rendering: optimizeLegibility;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto
}

h1,
.h1 {
    font-size: 1.33333rem;
    line-height: 1.88889rem;
    font-weight: 300;
    color: #546185;
    margin-bottom: 1.66667rem
}

h1 span,
.h1 span {
    display: block;
    font-size: 1.11111rem;
    line-height: 1.66667rem;
    color: #fff
}

@media (min-width: 47.5em) {
    h1,
    .h1 {
        font-size: 1.88889rem;
        line-height: 2.44444rem;
        margin-bottom: 2.5rem
    }
    h1 span,
    .h1 span {
        font-size: 1.44444rem;
        line-height: 2rem
    }
}

@media (min-width: 75em) {
    h1,
    .h1 {
        font-size: 2.44444rem;
        line-height: 2.77778rem;
        margin-bottom: 3.33333rem
    }
    h1 span,
    .h1 span {
        font-size: 2rem;
        line-height: 2.5rem
    }
}

h2,
.h2,
form.default legend {
    font-size: 1.22222rem;
    line-height: 1.77778rem;
    font-weight: 300;
    color: #a6b1d6;
    margin-bottom: 1.25rem
}

h2 span,
.h2 span,
form.default legend span {
    display: block;
    font-size: 1rem;
    line-height: 1.55556rem;
    color: #8090c4
}

@media (min-width: 47.5em) {
    h2,
    .h2,
    form.default legend {
        font-size: 1.77778rem;
        line-height: 2.33333rem;
        margin-bottom: 1.66667rem
    }
    h2 span,
    .h2 span,
    form.default legend span {
        font-size: 1.22222rem;
        line-height: 1.77778rem
    }
}

@media (min-width: 75em) {
    h2,
    .h2,
    form.default legend {
        font-size: 2.33333rem;
        line-height: 2.77778rem;
        margin-bottom: 2.5rem
    }
    h2 span,
    .h2 span,
    form.default legend span {
        font-size: 1.77778rem;
        line-height: 2.22222rem
    }
}

h5,
.h5 {
    font-size: 1.33333rem
}

h6,
.h6 {
    font-size: 1.22222rem
}

a {
    color: #546185;
    transition: .3s;
    word-wrap: break-word
}

a:focus,
a:hover,
a:active {
    color: #8090c4
}

a img {
    border: none
}

a[href^="tel"] {
    color: inherit;
    text-decoration: underline
}

a:not(.btn):focus,
[tabindex]:focus {
    outline: 1px dotted #D85D00;
    outline-offset: .27778rem
}

hr,
.hr {
    display: flex;
    background: #a6b1d6;
    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 {
    position: relative;
    padding-left: 2rem;
    margin-bottom: .38889rem
}

ul.styledList li:before,
main ul:not(.unstyledList) li:before,
ol.styledList li:before,
main ol:not(.unstyledList) li:before {
    position: absolute;
    top: .27778rem;
    left: 0;
    color: #5d5d78;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg)
}

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: #8392c6;
    color: #fff;
    padding: .83333rem
}

dl.styledList dt a,
main dl:not(.unstyledList) dt a,
dl.styledList dd a,
main dl:not(.unstyledList) dd a {
    color: #fff
}

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:not(:last-child),
main dl:not(.unstyledList) dd:not(:last-child) {
    margin-bottom: .55556rem
}

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%
}

[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.94444em) {
    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 #a6b1d6
}

main table tr {
    display: table-row
}

main table th,
main table td {
    padding: 1rem;
    display: table-cell;
    vertical-align: top
}

@media (max-width: 39.94444em) {
    main table td {
        min-width: 50vw
    }
}

.marginBottom,
main p,
main ol,
main ul,
main dl,
main table,
form.default label[for="Datenschutz"] {
    margin-bottom: 1.55556rem
}

.padRemove {
    padding: 0
}

.highlight {
    color: #8090c4
}

.noMarg {
    margin: 0
}

.btn,
form.default button,
form.default [type="submit"],
.privacyButton {
    background: #18183f;
    border: none;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 1rem;
    line-height: 1.55556rem;
    padding: 0.8rem 1rem;
    text-align: center;
    text-decoration: none;
    font-family: "Montserrat", sans-serif
}

.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"],
.privacyButton:hover,
.privacyButton:active,
.privacyButton:focus {
    background: #2d2d76;
    color: #fff
}

.btn *[class^="icon"],
form.default button *[class^="icon"],
form.default [type="submit"] *[class^="icon"],
.privacyButton *[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;
    background-image: url("../images/layout/placeholder-video.jpg");
    background-size: cover;
    background-position: center center;
    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
}

.googleMaps {
    background-image: url("../images/layout/placeholder-maps.jpg") !important
}

@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....max:101.25em....cut:101.25em";
    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: 101.25em) {
    body:before {
        width: 879pt
    }
}

@media (min-width: 101.25em) {
    body:before {
        width: 975pt
    }
}

body.devmode:before,
body.debug:before {
    background: #D85D00;
    border-color: #D85D00;
    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
}

.backToTop,
.btn,
form.default button,
form.default [type="submit"],
.privacyButton,
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 {
    transition: 0.3s
}

.notificationArea {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 999999
}

.notificationArea>:not(:last-child) {
    margin-bottom: 18px
}

.notificationArea .notification {
    position: relative;
    transition: 300ms all ease-in-out;
    overflow: hidden;
    padding: 1em;
    background: #D85D00;
    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
}

.notificationArea .notification,
.notificationArea .notification a {
    color: #fff
}

.notificationArea .notification .close {
    position: absolute;
    top: 5px;
    right: 8px;
    cursor: pointer;
    color: #fff;
    font-size: 1.2rem
}

.notificationArea .notification.hide {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: scale(0);
    transform: scale(0);
    max-height: 0;
    height: 0;
    padding-top: 0;
    padding-bottom: 0
}

.popUpContainer label {
    display: none
}

#popUpToggled_01 {
    opacity: 0;
    visibility: hidden
}

#popUpToggled_01+.popUpContainer {
    opacity: 0;
    visibility: hidden
}

#popUpToggled_01:checked+.popUpContainer {
    opacity: 1;
    visibility: visible;
    pointer-events: all
}

#navigation nav ul.navi li.navBack:hover,
#navigation nav ul.navi li:hover>a,
#navigation nav ul.navi li:hover:not(.navBack)>span {
    color: #fff;
    background-color: #5d5d78
}

#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: #fff;
    background-color: #5d5d78
}

#navigation nav ul.navi li.navBack:before {
    font-family: icomoon;
    content: "";
    -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: ""
}

@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.94444em) {
    #navigation {
        min-width: 50%;
        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.94444em) {
    #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: #18183f;
    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.94444em) {
    #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
}

#navigation .branding {
    display: none
}

#navigation .phone,
#navigation .email {
    display: block;
    padding: 1rem;
    color: #8090c4
}

#navigation .phone i,
#navigation .email i {
    padding-right: .55556rem
}

#navigation .phone {
    padding-bottom: 0
}

#navigation nav ul {
    width: 100%
}

#navigation nav ul.navi {
    border-top: .05556rem solid #18183f
}

#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: #18183f
}

@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: 1rem 1.11111rem;
        transition: .3s
    }
}

#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;
    background: #fff
}

#navigation nav ul.navi li.hasSub>span .sub:before,
#navigation nav ul.navi li.hasSub>a .sub:before {
    padding: 1em 1rem;
    background-color: #f0f0f0
}

@media (max-width: 61.94444em) {
    #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.94444em) {
    #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;
    background: #fff
}

#navigation nav ul.navi li.hasSub .sub:before {
    padding: 1em 1rem;
    background-color: #f0f0f0
}

@media (max-width: 61.94444em) {
    #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.94444em) {
    #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
    }
    #navigation nav ul.navi li.hasSub .sub {
        top: 100%;
        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%
    }
    #navigation nav ul.navi li.navBack span {
        display: none
    }
    #navigation.hoverNavigation nav ul.navi li.navBack {
        display: none
    }
    #navigation {
        background: none;
        padding-top: 1rem;
        transition: .3s
    }
    #navigation .branding {
        display: block
    }
    #navigation .padNo {
        display: flex;
        justify-content: space-between
    }
    #navigation .padNo .phone,
    #navigation .padNo .email {
        position: relative;
        display: inline;
        text-decoration: none
    }
    #navigation .padNo .phone i,
    #navigation .padNo .email i {
        padding: 0;
        vertical-align: middle
    }
    #navigation .padNo .phone .text,
    #navigation .padNo .email .text {
        position: absolute;
        top: 100%;
        left: 0;
        background: #8090c4;
        padding: .27778rem 1rem;
        opacity: 0;
        visibility: hidden;
        transition: .3s
    }
    #navigation .padNo .phone:hover,
    #navigation .padNo .email:hover {
        background: #5d5d78;
        color: #fff
    }
    #navigation .padNo .phone:hover .text,
    #navigation .padNo .email:hover .text {
        opacity: 1;
        color: #fff;
        visibility: visible
    }
    #navigation .padNo .phone .text {
        width: 9.72222rem
    }
    #navigation .padNo .phone:hover {
        background: none;
        color: #8090c4
    }
    #navigation .padNo .email .text {
        width: 13.05556rem
    }
    #navigation nav ul.navi {
        font-size: .88889rem;
        border-top: 0
    }
    #navigation nav ul.navi li.startseite span {
        display: none
    }
    #navigation nav ul.navi li.anfahrt,
    #navigation nav ul.navi li.impressum,
    #navigation nav ul.navi li.datenschutzerklaerung {
        display: none
    }
    #navigation nav ul.navi li.navBack {
        display: none
    }
    #navigation.scroll {
        padding: .5rem 0;
        background: #fff;
        border-bottom: .05556rem solid #18183f;
        box-shadow: 0 0 1.11111rem rgba(24, 24, 63, 0.5)
    }
}

@media (min-width: 75em) {
    #navigation {
        padding-top: 2rem
    }
    #navigation .padNo {
        padding: 0;
        justify-content: flex-start
    }
    #navigation .padNo .phone,
    #navigation .padNo .email {
        padding: 1rem 0
    }
    #navigation .padNo .phone i,
    #navigation .padNo .email i {
        vertical-align: middle;
        padding-right: 0;
        font-size: .77778rem
    }
    #navigation .padNo .phone .text,
    #navigation .padNo .email .text {
        position: relative;
        top: auto;
        opacity: 1;
        visibility: visible;
        font-size: .77778rem;
        padding: 0;
        background: none
    }
    #navigation .padNo .phone:hover .text {
        color: #8090c4
    }
    #navigation .padNo .email {
        padding: 1rem;
        margin-left: .55556rem
    }
}

@media (min-width: 85.25em) {
    #navigation .padNo .phone .text,
    #navigation .padNo .email .text {
        font-size: .83333rem
    }
    #navigation nav ul.navi {
        font-size: 1rem;
        padding: 0 .55556rem
    }
}

@media (min-width: 95em) {
    #navigation .padNo .phone .text,
    #navigation .padNo .email .text {
        font-size: .94444rem
    }
    #navigation nav ul.navi {
        padding: 0 1.11111rem
    }
}

@media (min-width: 101.25em) {
    #navigation .padNo {
        padding: 0 1rem
    }
}

#quickbar {
    background-color: #8090c4;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    z-index: 1000
}

#quickbar .branding {
    max-width: 11.11111rem
}

@media (min-width: 62em) {
    #quickbar {
        display: none
    }
}

.naviAdd {
    display: none
}

@media (min-width: 62em) {
    .naviAdd {
        display: flex;
        justify-content: space-between;
        padding-bottom: .27778rem
    }
    .naviAdd li a {
        display: block;
        text-decoration: none;
        color: #18183f;
        padding: 1rem;
        transition: .3s
    }
    .naviAdd li:hover a {
        color: #a6b1d6
    }
    .naviAdd li.active a {
        text-decoration: underline
    }
}

#pageWrap {
    max-width: 100%;
    overflow-x: hidden
}

#header {
    position: relative;
    width: 100%;
    padding: 3.77778rem 0 1rem;
    margin-bottom: 2.5rem
}

@media (min-width: 30em) {
    #header {
        padding: 4.77778rem 0 2rem
    }
}

@media (min-width: 40em) {
    #header {
        padding: 5.22222rem 0 2.5rem;
        margin-bottom: 3.33333rem
    }
}

@media (min-width: 62em) {
    #header {
        padding: 5.55556rem 0 4.44444rem;
        margin-bottom: 4.44444rem
    }
}

@media (min-width: 75em) {
    #header {
        padding: 7.55556rem 0 5.55556rem;
        margin-bottom: 5.55556rem
    }
}

@media (min-width: 95em) {
    #header {
        padding: 8.05556rem 0 6.66667rem;
        margin-bottom: 6.66667rem
    }
}

#header.lazyLoaded {
    background-image: url("../images/layout/bgHeader.jpg")
}

@media (max-width: 47.44444em) {
    #header.lazyLoaded {
        background-image: url("../images/layout/medium-bgHeader.jpg")
    }
}

@media (max-width: 29.94444em) {
    #header.lazyLoaded {
        background-image: url("../images/layout/tiny-bgHeader.jpg")
    }
}

#header.lazyLoaded {
    background-size: cover
}

#header .claim {
    font-size: 1.22222rem;
    line-height: 1.77778rem;
    margin-bottom: 1rem
}

@media (min-width: 30em) {
    #header .claim {
        font-size: 1.44444rem;
        line-height: 2rem
    }
}

@media (min-width: 40em) {
    #header .claim {
        font-size: 1.88889rem;
        line-height: 2.44444rem;
        margin-bottom: 2rem
    }
}

@media (min-width: 62em) {
    #header .claim {
        margin-top: 3.33333rem;
        margin-bottom: 2.5rem
    }
}

@media (min-width: 75em) {
    #header .claim {
        font-size: 2.33333rem;
        line-height: 2.77778rem;
        margin-top: 5.55556rem;
        margin-bottom: 3.33333rem
    }
}

@media (min-width: 95em) {
    #header .claim {
        font-size: 2.5rem;
        margin-top: 7.55556rem
    }
}

#header .claim .specHold {
    position: relative;
    display: inline;
    z-index: 1
}

@media (min-width: 75em) {
    #header .claim .specHold {
        z-index: 0
    }
}

#header .claim .specHold .special {
    display: inline;
    font-size: 1.22222rem;
    padding: 0 .27778rem;
    color: #a6b1d6;
    -webkit-transform: translatex(-50%);
    transform: translatex(-50%)
}

@media (min-width: 30em) {
    #header .claim .specHold .special {
        position: absolute;
        top: 0;
        left: 100%;
        font-size: 3.66667rem;
        z-index: -1
    }
}

@media (min-width: 40em) {
    #header .claim .specHold .special {
        font-size: 4.66667rem
    }
}

@media (min-width: 75em) {
    #header .claim .specHold .special {
        top: 1.11111rem;
        font-size: 6.66667rem
    }
}

@media (min-width: 30em) {
    #header .claim .br {
        display: block
    }
}

@media (min-width: 75em) {
    #header .claim .br {
        position: relative;
        z-index: 2
    }
}

#header .claim small {
    display: block;
    color: #546185;
    font-size: 1.11111rem;
    line-height: 1.66667rem;
    margin-bottom: .27778rem
}

@media (min-width: 40em) {
    #header .claim small {
        font-size: 1.44444rem;
        line-height: 2rem
    }
}

@media (min-width: 75em) {
    #header .claim small {
        font-size: 1.66667rem;
        line-height: 2.22222rem
    }
}

#header .times dl dt,
#header .times dl dd {
    background: #5d5d78
}

@media (min-width: 30em) {
    #header .times {
        display: flex;
        flex-wrap: wrap
    }
}

@media (min-width: 62em) {
    #header .times {
        margin-bottom: 3.33333rem
    }
    body:not(.index) #header .times {
        margin: 2rem 0
    }
}

@media (min-width: 75em) {
    #header .times {
        margin-bottom: 5.55556rem
    }
    body:not(.index) #header .times {
        margin-bottom: 0
    }
}

@media (min-width: 85.25em) {
    #header .times {
        margin-bottom: 7.55556rem
    }
}

@media (min-width: 95em) {
    #header .times {
        margin-bottom: 8.33333rem
    }
}

#header .times .headline {
    display: block;
    color: #546185;
    margin-bottom: 1rem
}

@media (min-width: 30em) {
    #header .times .headline {
        flex-basis: 100%;
        width: 100%;
        font-size: 1.11111rem
    }
}

#header .times dl.secu {
    margin-top: .05556rem
}

@media (min-width: 30em) {
    #header .times dl.secu {
        margin-top: 0;
        margin-left: .05556rem
    }
}

@media (min-width: 40em) {
    #header .times dl dt {
        padding: .83333rem 1.33333rem 0 1.33333rem
    }
    #header .times dl dd {
        padding: 0 1.33333rem .83333rem 1.33333rem
    }
}

#header .imgBox {
    display: none
}

#header .imgBox.lazyLoaded {
    background-image: url("../images/layout/bgHeaderCol.jpg")
}

@media (max-width: 47.44444em) {
    #header .imgBox.lazyLoaded {
        background-image: url("../images/layout/medium-bgHeaderCol.jpg")
    }
}

@media (max-width: 29.94444em) {
    #header .imgBox.lazyLoaded {
        background-image: url("../images/layout/tiny-bgHeaderCol.jpg")
    }
}

@media (min-width: 62em) {
    #header .imgBox {
        display: block;
        height: 100%
    }
    #header .imgBox.lazyLoaded {
        background-size: cover
    }
}

#header .branding {
    display: block;
    max-width: 200px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    position: relative;
    z-index: 1
}

#header picture {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 0;
    width: 100%;
    height: auto
}

main {
    display: block
}

main .row {
    margin-bottom: 2.5rem
}

@media (min-width: 40em) {
    main .row {
        margin-bottom: 3.33333rem
    }
}

@media (min-width: 62em) {
    main .row {
        margin-bottom: 4.44444rem
    }
}

@media (min-width: 75em) {
    main .row {
        margin-bottom: 5.55556rem
    }
}

@media (min-width: 95em) {
    main .row {
        margin-bottom: 6.66667rem
    }
}

main .textbox {
    position: relative;
    padding: 2rem 1rem;
    box-shadow: 0 0 1.11111rem rgba(24, 24, 63, 0.5)
}

main .textbox .row {
    margin-bottom: 0
}

main .textbox dl {
    margin-bottom: 0
}

@media (min-width: 40em) {
    main .textbox {
        padding: 3.33333rem 2.22222rem
    }
}

@media (min-width: 47.5em) {
    main .textbox {
        z-index: 1
    }
}

@media (min-width: 85.25em) {
    main .textbox {
        padding: 4.44444rem 3.33333rem
    }
}

@media (min-width: 95em) {
    main .textbox {
        padding: 4.44444rem 4.44444rem
    }
}

@media (min-width: 101.25em) {
    main .textbox {
        padding: 4.44444rem 5rem
    }
}

main .textbox.light {
    background: #a6b1d6;
    color: #fff
}

main .textbox.light h2 {
    color: #546185;
    margin-top: 1.25rem
}

main .textbox.light h2 span {
    color: #18183f
}

@media (min-width: 47.5em) {
    main .textbox.light h2 {
        margin-top: 1.66667rem
    }
}

@media (min-width: 75em) {
    main .textbox.light h2 {
        margin-top: 2.5rem
    }
}

main .textbox.dark {
    background: #5d5d78;
    color: #fff
}

main .textbox.dark a {
    color: #8090c4
}

main .textbox.dark a:hover {
    color: #fff
}

main .textbox.beige {
    background: #e8e8e6;
    color: #333333;
    border-bottom: .05556rem solid #546185;
    z-index: 0
}

@media (min-width: 47.5em) {
    main .textbox.beige {
        margin: 3.33333rem 0
    }
}

@media (min-width: 85.25em) {
    main .textbox.beige {
        margin: 4.44444rem 0
    }
}

main .imgBox {
    position: relative;
    height: 13.88889rem;
    z-index: 1
}

@media (min-width: 47.5em) {
    main .imgBox {
        height: auto;
        margin: 2.22222rem 0;
        z-index: 0
    }
}

@media (min-width: 62em) {
    main .imgBox {
        margin: 3.33333rem 0
    }
}

@media (min-width: 85.25em) {
    main .imgBox {
        margin: 4.44444rem 0
    }
}

main .imgBox.light {
    border-bottom: .05556rem solid #a6b1d6
}

main .imgBox.dark {
    border-bottom: .05556rem solid #5d5d78
}

main .imgBox img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    margin-bottom: 0;
    z-index: -1
}

main .imgBox:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    transition: .3s;
    z-index: 0
}

main .imgBox:hover:before,
main .imgBox:focus:before {
    opacity: 0;
    visibility: hidden
}

main .mapbox {
    position: relative;
    height: 25rem;
    border-bottom: .05556rem solid #18183f
}

@media (min-width: 47.5em) {
    main .mapbox {
        height: auto;
        margin: 3.33333rem 0
    }
}

@media (min-width: 85.25em) {
    main .mapbox {
        margin: 4.44444rem 0
    }
}

main .mapbox iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%
}

main .infobox {
    background: #546185;
    color: #fff;
    padding: 1rem
}

main .infobox .headline {
    display: block;
    color: #18183f;
    font-size: 1.11111rem;
    line-height: 1.66667rem;
    text-align: center;
    font-weight: 700;
    margin-bottom: 1rem
}

main .infobox a {
    color: #fff
}

@media (min-width: 47.5em) {
    main .infobox {
        height: calc(100% - 2rem);
        padding: 2rem;
        margin-bottom: 2rem
    }
}

main img {
    margin-bottom: 2rem
}

#privacyPolicy a {
    display: inline-block;
    word-break: break-all
}

#footer {
    position: relative;
    width: 100%;
    padding: 2.5rem 0;
    margin-top: 2.5rem
}

@media (min-width: 40em) {
    #footer {
        padding: 3.33333rem 0 3.33333rem;
        margin-top: 3.33333rem
    }
}

@media (min-width: 62em) {
    #footer {
        padding: 4.44444rem 0 4.44444rem;
        margin-top: 4.44444rem
    }
}

@media (min-width: 75em) {
    #footer {
        padding: 5.55556rem 0 5.55556rem;
        margin-top: 5.55556rem
    }
}

@media (min-width: 95em) {
    #footer {
        padding: 6.66667rem 0 6.66667rem;
        margin-top: 6.66667rem
    }
}

#footer.lazyLoaded {
    background-image: url("../images/layout/bgHeader.jpg")
}

@media (max-width: 47.44444em) {
    #footer.lazyLoaded {
        background-image: url("../images/layout/medium-bgHeader.jpg")
    }
}

@media (max-width: 29.94444em) {
    #footer.lazyLoaded {
        background-image: url("../images/layout/tiny-bgHeader.jpg")
    }
}

#footer.lazyLoaded {
    background-size: cover
}

#footer .headline {
    display: block;
    font-size: 1.44444rem;
    font-weight: 700;
    color: #18183f;
    margin-bottom: 1.11111rem
}

@media (min-width: 40em) {
    #footer .headline {
        margin-bottom: 2.22222rem
    }
}

@media (min-width: 62em) {
    #footer .headline {
        font-size: 2rem;
        margin-bottom: 3.33333rem
    }
}

@media (min-width: 85.25em) {
    #footer .headline {
        font-size: 2.55556rem;
        margin-bottom: 4.44444rem
    }
}

#footer .box {
    position: relative;
    display: block;
    height: 13.88889rem;
    text-decoration: none;
    margin-bottom: 1rem;
    border-bottom: .05556rem solid #18183f;
    z-index: 1
}

@media (min-width: 62em) {
    #footer .box {
        height: 22.22222rem
    }
}

@media (min-width: 85.25em) {
    #footer .box {
        height: 27.77778rem
    }
}

#footer .box:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(93, 93, 120, 0.5);
    transition: .3s;
    z-index: -1
}

#footer .box span {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    color: #fff;
    font-weight: 300;
    transition: .3s;
    z-index: 1
}

@media (min-width: 62em) {
    #footer .box span {
        font-size: 1.22222rem
    }
}

@media (min-width: 75em) {
    #footer .box span {
        font-size: 1.44444rem
    }
}

#footer .box:hover:before,
#footer .box:focus:before {
    opacity: 0;
    visibility: hidden
}

#footer .box:hover span,
#footer .box:focus span {
    color: #18183f
}

#footer .box.tragwerk.lazyLoaded {
    background-image: url("../images/teaser/tragwerksplanung.jpg")
}

@media (max-width: 47.44444em) {
    #footer .box.tragwerk.lazyLoaded {
        background-image: url("../images/teaser/medium-tragwerksplanung.jpg")
    }
}

@media (max-width: 29.94444em) {
    #footer .box.tragwerk.lazyLoaded {
        background-image: url("../images/teaser/tiny-tragwerksplanung.jpg")
    }
}

#footer .box.tragwerk.lazyLoaded {
    background-size: cover
}

#footer .box.physik.lazyLoaded {
    background-image: url("../images/teaser/bauphysik.jpg")
}

@media (max-width: 47.44444em) {
    #footer .box.physik.lazyLoaded {
        background-image: url("../images/teaser/medium-bauphysik.jpg")
    }
}

@media (max-width: 29.94444em) {
    #footer .box.physik.lazyLoaded {
        background-image: url("../images/teaser/tiny-bauphysik.jpg")
    }
}

#footer .box.physik.lazyLoaded {
    background-size: cover
}

#footer .subtitle {
    text-shadow: 1.5px 1.5px 2px #2E2E2E
}

#footer .branding {
    display: block;
    margin-bottom: 2rem
}

@media (min-width: 40em) {
    #footer .branding {
        margin-top: 2rem
    }
}

@media (min-width: 47.5em) {
    #footer .branding {
        margin-top: 3.33333rem
    }
}

@media (min-width: 75em) {
    #footer .branding {
        margin-top: 0
    }
}

#footer .smollBox {
    position: relative;
    background: #a6b1d6;
    padding: 1rem;
    border-bottom: .05556rem solid #18183f
}

@media (min-width: 47.5em) {
    #footer .smollBox {
        font-size: 1.22222rem;
        line-height: 1.77778rem;
        padding: 2rem
    }
}

@media (min-width: 75em) {
    #footer .smollBox {
        font-size: 1.44444rem;
        line-height: 2rem;
        padding: 2.5rem
    }
}

@media (min-width: 85.25em) {
    #footer .smollBox {
        font-size: 1.55556rem;
        line-height: 2.11111rem;
        padding: 3.33333rem
    }
}

#footer .smollBox p {
    margin-bottom: 1rem
}

@media (min-width: 47.5em) {
    #footer .smollBox p {
        margin-bottom: 2rem
    }
}

@media (min-width: 62em) {
    #footer .smollBox p {
        margin-bottom: 2.5rem
    }
}

@media (min-width: 75em) {
    #footer .smollBox p {
        margin-bottom: 3.33333rem
    }
}

#footer .smollBox p.last {
    margin-bottom: 0
}

#footer .smollBox b {
    color: #fff
}

@media (min-width: 62em) {
    #footer .navBar {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        max-width: 90rem;
        margin: 0 auto
    }
}

@media (min-width: 75em) {
    #footer .navBar {
        bottom: .5rem;
        padding: 0 1rem
    }
}

@media (min-width: 101.25em) {
    #footer .navBar {
        left: 50%;
        -webkit-transform: translatex(-50%);
        transform: translatex(-50%)
    }
}

@media (min-width: 95em) {
    #footer .navBar {
        bottom: 1rem
    }
}

.backbg {
    text-shadow: 1px 1px 1px black
}

form.default {
    overflow: hidden;
    width: 100%
}

form.default ::-webkit-input-placeholder {
    color: #333333
}

form.default ::-moz-placeholder {
    color: #333333
}

form.default :-ms-input-placeholder {
    color: #333333 !important
}

form.default :-moz-placeholder {
    color: #333333
}

form.default fieldset {
    border: none
}

form.default label {
    color: inherit;
    display: block;
    padding: 1rem 0 0.6rem;
    position: relative
}

form.default label small {
    color: #D85D00;
    display: inline-block;
    line-height: 0.5rem
}

form.default label[for="Datenschutz"] {
    float: left;
    width: calc(100% - 1.66667rem)
}

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: rgba(93, 93, 120, 0.25);
    border: 0;
    border-bottom: .05556rem solid #a6b1d6;
    color: #a6b1d6;
    display: block;
    font-family: "Montserrat", 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 {
    padding-top: 0.9rem
}

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: #D85D00;
    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
}