@font-face {
    font-family: 'ProximaNova';
    src: url('../fonts/ProximaNova-Bold.woff2') format('woff2'),
        url('../fonts/ProximaNova-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ProximaNova';
    src: url('../fonts/ProximaNova-Semibold.woff2') format('woff2'),
        url('../fonts/ProximaNova-Semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ProximaNova';
    src: url('../fonts/ProximaNova-Black.woff2') format('woff2'),
        url('../fonts/ProximaNova-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ProximaNova';
    src: url('../fonts/ProximaNova-Regular.woff2') format('woff2'),
        url('../fonts/ProximaNova-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ProximaNova';
    src: url('../fonts/ProximaNova-Medium.woff2') format('woff2'),
        url('../fonts/ProximaNova-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'ProximaNova';
    src: url('../fonts/ProximaNova-Light.woff2') format('woff2'),
        url('../fonts/ProximaNova-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}




img[data-src],
main .section .teaser,
#footer .footerTop .breakRight .col.cut-auto .footerImageBg {
    background: url("../images/layout/loading.svg") no-repeat center center
}

img.lazyLoaded[data-src],
main .section .lazyLoaded.teaser,
#footer .footerTop .breakRight .col.cut-auto .lazyLoaded.footerImageBg {
    background: none
}

@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/icomoon.eot#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "open-sans";
    font-weight: 300;
    font-style: normal;
    font-display: block;
    src: url("../fonts/open-sans-v17-latin-300.woff2") format("woff2"), url("../fonts/open-sans-v17-latin-300.woff") format("woff"), url("../fonts/open-sans-v17-latin-300.ttf") format("truetype"), url("../fonts/open-sans-v17-latin-300.svg#OpenSans") format("svg"), url("../fonts/open-sans-v17-latin-300.eot#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "open-sans";
    font-weight: 400;
    font-style: normal;
    font-display: block;
    src: url("../fonts/open-sans-v17-latin-regular.woff2") format("woff2"), url("../fonts/open-sans-v17-latin-regular.woff") format("woff"), url("../fonts/open-sans-v17-latin-regular.ttf") format("truetype"), url("../fonts/open-sans-v17-latin-regular.svg#OpenSans") format("svg"), url("../fonts/open-sans-v17-latin-regular.eot#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "open-sans";
    font-weight: 700;
    font-style: normal;
    font-display: block;
    src: url("../fonts/open-sans-v17-latin-700.woff2") format("woff2"), url("../fonts/open-sans-v17-latin-700.woff") format("woff"), url("../fonts/open-sans-v17-latin-700.ttf") format("truetype"), url("../fonts/open-sans-v17-latin-700.svg#OpenSans") format("svg"), url("../fonts/open-sans-v17-latin-700.eot#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "playfair-display";
    font-weight: 400;
    font-style: normal;
    font-display: block;
    src: url("../fonts/playfair-display-v18-latin-regular.woff2") format("woff2"), url("../fonts/playfair-display-v18-latin-regular.woff") format("woff"), url("../fonts/playfair-display-v18-latin-regular.ttf") format("truetype"), url("../fonts/playfair-display-v18-latin-regular.svg#PlayfairDisplay") format("svg"), url("../fonts/playfair-display-v18-latin-regular.eot#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "playfair-display";
    font-weight: 700;
    font-style: normal;
    font-display: block;
    src: url("../fonts/playfair-display-v18-latin-700.woff2") format("woff2"), url("../fonts/playfair-display-v18-latin-700.woff") format("woff"), url("../fonts/playfair-display-v18-latin-700.ttf") format("truetype"), url("../fonts/playfair-display-v18-latin-700.svg#PlayfairDisplay") format("svg"), url("../fonts/playfair-display-v18-latin-700.eot#iefix") format("embedded-opentype")
}

@font-face {
    font-family: "Raleway";
    font-weight: 300;
    font-style: normal;
    font-display: block;
    src: url("../fonts/raleway-v14-latin-300.woff2") format("woff2"), url("../fonts/raleway-v14-latin-300.woff") format("woff"), url("../fonts/raleway-v14-latin-300.ttf") format("truetype"), url("../fonts/raleway-v14-latin-300.svg#Raleway") format("svg"), url("../fonts/raleway-v14-latin-300.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: -.9375rem;
    padding-left: 0;
    padding-right: 0;
    max-width: calc(100% + 1.875rem);
    width: calc(100% + 1.875rem)
}

.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 + 711px)
}

.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: .9375rem;
    padding-right: .9375rem;
    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
}

.services .ServicesText i {
    font-size: 16px;
}

.myAboustStickyClass {
    position: sticky;
    top: 60px;
}

@media (min-width: 40em) {
    .col.small-3 {
        max-width: 25%;
        flex-basis: 25%
    }
}

@media (min-width: 40em) and (min-width: 75em) {

    .row.breakLeft>.col.small-3,
    .row.breakRight>.col.small-3 {
        max-width: 22.5rem
    }
}

@media (min-width: 40em) {
    .col.small-4 {
        max-width: 33.33333%;
        flex-basis: 33.33333%
    }
}

@media (min-width: 40em) and (min-width: 75em) {

    .row.breakLeft>.col.small-4,
    .row.breakRight>.col.small-4 {
        max-width: 30rem
    }
}

@media (min-width: 40em) {
    .col.small-5 {
        max-width: 41.66667%;
        flex-basis: 41.66667%
    }
}

@media (min-width: 40em) and (min-width: 75em) {

    .row.breakLeft>.col.small-5,
    .row.breakRight>.col.small-5 {
        max-width: 37.5rem
    }
}

@media (min-width: 40em) {
    .col.small-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 40em) and (min-width: 75em) {

    .row.breakLeft>.col.small-6,
    .row.breakRight>.col.small-6 {
        max-width: 45rem
    }
}

@media (min-width: 40em) {
    .col.small-7 {
        max-width: 58.33333%;
        flex-basis: 58.33333%
    }
}

@media (min-width: 40em) and (min-width: 75em) {

    .row.breakLeft>.col.small-7,
    .row.breakRight>.col.small-7 {
        max-width: 52.5rem
    }
}

@media (min-width: 40em) {
    .col.small-8 {
        max-width: 66.66667%;
        flex-basis: 66.66667%
    }
}

@media (min-width: 40em) and (min-width: 75em) {

    .row.breakLeft>.col.small-8,
    .row.breakRight>.col.small-8 {
        max-width: 60rem
    }
}

@media (min-width: 40em) {
    .col.small-9 {
        max-width: 75%;
        flex-basis: 75%
    }
}

@media (min-width: 40em) and (min-width: 75em) {

    .row.breakLeft>.col.small-9,
    .row.breakRight>.col.small-9 {
        max-width: 67.5rem
    }
}

@media (min-width: 47.5em) {
    .col.medium-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 47.5em) and (min-width: 75em) {

    .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: 75em) {

    .row.breakLeft>.col.medium-9,
    .row.breakRight>.col.medium-9 {
        max-width: 67.5rem
    }
}

@media (min-width: 62em) {
    .col.large-3 {
        max-width: 25%;
        flex-basis: 25%
    }
}

@media (min-width: 62em) and (min-width: 75em) {

    .row.breakLeft>.col.large-3,
    .row.breakRight>.col.large-3 {
        max-width: 22.5rem
    }
}

@media (min-width: 62em) {
    .col.large-4 {
        max-width: 33.33333%;
        flex-basis: 33.33333%
    }
}

@media (min-width: 62em) and (min-width: 75em) {

    .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: 75em) {

    .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: 75em) {

    .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: 75em) {

    .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: 75em) {

    .row.breakLeft>.col.large-8,
    .row.breakRight>.col.large-8 {
        max-width: 60rem
    }
}

@media (min-width: 62em) {
    .col.large-9 {
        max-width: 75%;
        flex-basis: 75%
    }
}

@media (min-width: 62em) and (min-width: 75em) {

    .row.breakLeft>.col.large-9,
    .row.breakRight>.col.large-9 {
        max-width: 67.5rem
    }
}

@media (min-width: 75em) {
    .col.giant-2 {
        max-width: 16.66667%;
        flex-basis: 16.66667%
    }
}

@media (min-width: 75em) and (min-width: 75em) {

    .row.breakLeft>.col.giant-2,
    .row.breakRight>.col.giant-2 {
        max-width: 15rem
    }
}

@media (min-width: 75em) {
    .col.giant-6 {
        max-width: 50%;
        flex-basis: 50%
    }
}

@media (min-width: 75em) and (min-width: 75em) {

    .row.breakLeft>.col.giant-6,
    .row.breakRight>.col.giant-6 {
        max-width: 45rem
    }
}

@media (min-width: 75em) {
    .col.giant-9 {
        max-width: 75%;
        flex-basis: 75%
    }
}

@media (min-width: 75em) and (min-width: 75em) {

    .row.breakLeft>.col.giant-9,
    .row.breakRight>.col.giant-9 {
        max-width: 67.5rem
    }
}

@media (min-width: 75em) {
    .col.giant-10 {
        max-width: 83.33333%;
        flex-basis: 83.33333%
    }
}

@media (min-width: 75em) and (min-width: 75em) {

    .row.breakLeft>.col.giant-10,
    .row.breakRight>.col.giant-10 {
        max-width: 75rem
    }
}

@media (min-width: 85.25em) {
    .col.huge-2 {
        max-width: 20%;
        flex-basis: 20%
    }
}

@media (min-width: 85.25em) and (min-width: 75em) {

    .row.breakLeft>.col.huge-2,
    .row.breakRight>.col.huge-2 {
        max-width: 15rem
    }
}

@media (min-width: 85.25em) {
    .col.huge-4 {
        max-width: 33.33333%;
        flex-basis: 33.33333%
    }
}

@media (min-width: 85.25em) and (min-width: 75em) {

    .row.breakLeft>.col.huge-4,
    .row.breakRight>.col.huge-4 {
        max-width: 30rem
    }
}

@media (min-width: 85.25em) {
    .col.huge-8 {
        max-width: 66.66667%;
        flex-basis: 66.66667%
    }
}

@media (min-width: 85.25em) and (min-width: 75em) {

    .row.breakLeft>.col.huge-8,
    .row.breakRight>.col.huge-8 {
        max-width: 60rem
    }
}

@media (min-width: 85.25em) {
    .col.huge-10 {
        max-width: 80%;
        flex-basis: 80%
    }
}

@media (min-width: 85.25em) and (min-width: 75em) {

    .row.breakLeft>.col.huge-10,
    .row.breakRight>.col.huge-10 {
        max-width: 75rem
    }
}

@media (min-width: 75em) {
    .col.cut-auto {
        max-width: 100%;
        flex-basis: 0
    }

    .row.breakLeft>.col.cut-auto,
    .row.breakRight>.col.cut-auto {
        max-width: 100%
    }
}

#privacyCtrl {
    background: #333;
    border-radius: 4px;
    color: #fff;
    padding: 0
}

#privacyCtrl,
#privacyCtrl * {
    font-family: Arial, sans-serif
}

#privacyCtrl.hide,
#privacyCtrl .hide {
    opacity: 0;
    visibility: hidden
}

#privacyCtrl.open {
    opacity: 1;
    visibility: visible
}

.open #privacyCtrl {
    height: calc(100vh - 40px)
}

#privacy-controller {
    display: block;
    font-size: 11px;
    line-height: 1.3em;
    font-weight: normal
}

.privacy-header {
    display: block;
    padding: 10px
}

.privacy-header .privacy-text {
    padding-right: 20px
}

.privacy-text {
    display: block;
    margin-bottom: 10px
}

.privacy-buttons {
    display: flex
}

.privacy-btn {
    width: 100%;
    display: flex;
    color: #464a4d;
    background: #888a8c;
    cursor: pointer;
    border-radius: 4px;
    padding-top: 6.66667px;
    padding-bottom: 6.66667px;
    padding-left: 12px;
    padding-right: 12px;
    flex-wrap: nowrap;
    white-space: nowrap;
    justify-content: center
}

.privacy-btn:first-of-type {
    margin-right: 10px
}

#privacy-confirm {
    background: #3bb54a;
    color: #fff
}

.privacy-link {
    cursor: pointer;
    color: #eee;
    text-decoration: underline
}

.privacy-fields {
    display: block;
    background: #464a4d;
    max-height: 40vh;
    overflow-y: scroll;
    border-left: 2px solid #333;
    border-right: 2px solid #333;
    height: 0;
    transition: 800ms height ease-in-out
}

.privacy-controller.open .privacy-fields {
    height: 100vh
}

.privacy-fields label {
    cursor: pointer;
    position: relative;
    display: block;
    width: 100%
}

.privacy-fields label span {
    font-size: 1.2em;
    content: "";
    letter-spacing: 0;
    width: 2.2em;
    height: 1.2em;
    line-height: 1.2em;
    border-radius: 14px;
    display: block;
    text-align: center;
    background: #888a8c;
    color: transparent;
    margin-right: 10px;
    position: relative
}

.privacy-fields label span:before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    left: 4px;
    top: 3px;
    opacity: 1;
    transition: 150ms left ease-in-out;
    z-index: 10
}

.privacy-fields label span:after {
    content: attr(data-off) " ";
    display: inline-block;
    position: absolute;
    left: calc(100% + 5px);
    color: #eee;
    font-size: .6875rem;
    word-break: normal
}

.privacy-fields input:checked+span:before {
    left: 1.0625rem
}

.privacy-fields input:checked+span {
    background: #3bb54a
}

.privacy-fields input:checked+span:after {
    content: attr(data-on) " "
}

.privacy-fields input {
    display: none
}

.privacy-row {
    display: flex;
    flex-wrap: wrap;
    padding: 10px
}

.privacy-row:not(:last-of-type) {
    border-bottom: 2px solid #333
}

.privacy-cell {
    width: 50%;
    hyphens: auto
}

.privacy-cell:not(:last-of-type) {
    margin-bottom: 10px
}

.privacy-footer {
    display: flex;
    justify-content: flex-end;
    padding: 10px
}

.privacy-footer .privacy-link {
    padding-left: 10px
}

#privacy-reset {
    opacity: 0.5
}

.privacyControlBadge {
    transform: rotate(90deg) translateX(-100%);
    display: block;
    position: fixed;
    left: 0;
    bottom: 70px;
    transform-origin: bottom left;
    background: #333;
    color: #fff;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    font-size: .75rem;
    line-height: .75rem;
    text-decoration: none;
    padding: 10px;
    transition: 300ms all ease-in-out;
    z-index: 1000;
    border: none
}

body.privacyControlIsOpen .privacyControlBadge {
    left: -100%
}

.privacyControlBadge:hover,
.privacyControlBadge:focus {
    color: #fff !important;
    background: #656565
}

.icon {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: "icomoon", sans-serif
}

.icon-times:before,
noscript input#noticebar:checked~label:before {
    content: "×"
}

.icon-minus:before {
    content: "-"
}

.icon-angle-right:before {
    content: "❯"
}

.icon-plus:before {
    content: "+"
}

.icon-angle-up:before {
    content: "↑"
}

.icon-exclamation:before,
noscript label:before,
.informatizer:before {
    content: "!"
}

.icon-tel:before {
    content: ""
}

.icon-file:before {
    content: ""
}

/*!
 * baguetteBox.js
 * @author  feimosi
 * @version 1.10.0
 * @url https://github.com/feimosi/baguetteBox.js
 */
#baguetteBox-overlay {
    display: none;
    opacity: 0;
    position: fixed;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 1000000;
    transition: opacity 0.5s ease
}

#baguetteBox-overlay.visible {
    opacity: 1
}

#baguetteBox-overlay .full-image {
    display: inline-block;
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center
}

#baguetteBox-overlay .full-image figure {
    display: inline;
    margin: 0;
    height: 100%
}

#baguetteBox-overlay .full-image img {
    display: inline-block;
    width: auto;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    vertical-align: middle;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6)
}

#baguetteBox-overlay .full-image figcaption {
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    line-height: 1.8;
    white-space: normal;
    color: #ccc;
    background-color: #000;
    background-color: rgba(0, 0, 0, 0.6);
    font-family: sans-serif
}

#baguetteBox-overlay .full-image:before {
    content: "";
    display: inline-block;
    height: 50%;
    width: 1px;
    margin-right: -1px
}

#baguetteBox-slider {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    white-space: nowrap;
    transition: left 0.4s ease;
    transition: left 0.4s ease, transform 0.4s ease;
    transition: left 0.4s ease, transform 0.4s ease
}

#baguetteBox-slider.bounce-from-right {
    animation: bounceFromRight 0.4s ease-out
}

#baguetteBox-slider.bounce-from-left {
    animation: bounceFromLeft 0.4s ease-out
}

@keyframes bounceFromRight {
    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;
    animation: bounce 2s infinite ease-in-out
}

.baguetteBox-double-bounce2 {
    animation-delay: -1s
}

@keyframes bounce {

    0%,
    100% {
        transform: scale(0)
    }

    50% {
        transform: scale(1)
    }
}

.swiper-container {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-container-no-flexbox .swiper-slide {
    float: left
}

.swiper-container-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-container-android .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0, 0, 0)
}

.swiper-container-multirow>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-container-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
    height: auto
}

.swiper-container-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-container-3d {
    perspective: 1200px
}

.swiper-container-3d .swiper-cube-shadow,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal>.swiper-wrapper {
    touch-action: pan-y
}

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical>.swiper-wrapper {
    touch-action: pan-x
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 27px;
    height: 44px;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    background-size: 27px 44px;
    background-position: center;
    background-repeat: no-repeat
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
    left: 10px;
    right: auto
}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
    right: 10px;
    left: auto
}

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-container-horizontal>.swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33)
}

.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 100%;
    background: #000;
    opacity: .2
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background: #007aff
}

.swiper-container-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 6px 0;
    display: block
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s top, .2s -webkit-transform;
    transition: .2s transform, .2s top;
    transition: .2s transform, .2s top, .2s -webkit-transform
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 4px
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s left, .2s -webkit-transform;
    transition: .2s transform, .2s left;
    transition: .2s transform, .2s left, .2s -webkit-transform
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s right, .2s -webkit-transform;
    transition: .2s transform, .2s right;
    transition: .2s transform, .2s right, .2s -webkit-transform
}

.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, 0.25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #007aff;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progressbar,
.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-container-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-white .swiper-pagination-bullet-active {
    background: #fff
}

.swiper-pagination-progressbar.swiper-pagination-white {
    background: rgba(255, 255, 255, 0.25)
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
    background: #fff
}

.swiper-pagination-black .swiper-pagination-bullet-active {
    background: #000
}

.swiper-pagination-progressbar.swiper-pagination-black {
    background: rgba(0, 0, 0, 0.25)
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
    background: #000
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0, 0, 0, 0.1)
}

.swiper-container-horizontal>.swiper-scrollbar {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-container-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    animation: swiper-preloader-spin 1s steps(12, end) infinite
}

.swiper-lazy-preloader:after {
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-position: 50%;
    background-size: 100%;
    background-repeat: no-repeat
}

.swiper-lazy-preloader-white:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
}

@keyframes swiper-preloader-spin {
    100% {
        transform: rotate(360deg)
    }
}

.swiper-container .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-container-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-container-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube {
    overflow: visible
}

.swiper-container-cube .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-container-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-next+.swiper-slide,
.swiper-container-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-cube .swiper-slide-shadow-top {
    z-index: 0;
    backface-visibility: hidden
}

.swiper-container-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .6;
    filter: blur(50px);
    z-index: 0
}

.swiper-container-flip {
    overflow: visible
}

.swiper-container-flip .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-container-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-top {
    z-index: 0;
    backface-visibility: hidden
}

.swiper-container-coverflow .swiper-wrapper {
    -ms-perspective: 1200px
}

noscript {
    margin-top: 3.75rem;
    display: block
}

noscript input#noticebar {
    display: none
}

noscript input#noticebar:checked~div {
    opacity: 1;
    visibility: visible
}

noscript input#noticebar:checked~label {
    background: #fff;
    color: #1a1a1a
}

noscript label {
    text-indent: 110%;
    white-space: nowrap;
    overflow: hidden;
    background: #1a1a1a;
    bottom: .625rem;
    color: #fff;
    font-size: 1.5625rem;
    height: 2.8125rem;
    opacity: 0.9;
    position: fixed;
    right: .625rem;
    text-decoration: none;
    width: 2.8125rem;
    z-index: 99999999 !important
}

noscript label:before {
    font-family: "icomoon", sans-serif;
    display: inline-block;
    left: 50%;
    position: absolute;
    text-indent: 0;
    top: 50%;
    transform: translate(-50%, -50%)
}

noscript label:hover {
    cursor: pointer;
    background: #0d0d0d
}

noscript label+div {
    opacity: 0;
    visibility: hidden;
    height: 100vh
}

noscript label+div,
.noticeBar {
    background: #1a1a1a;
    color: #fff;
    display: flex;
    justify-content: space-around;
    left: 0;
    padding: 1.25rem;
    position: fixed;
    text-align: center;
    top: 0;
    transition: 0.3s;
    width: 100%;
    z-index: 9999999 !important
}

noscript label+div span,
.noticeBar span {
    align-self: center;
    font-size: 1.375rem;
    line-height: 1.875rem;
    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: #656565;
    background: #f2f2f2;
    padding: 2%;
    transition: all 0.5s ease-in-out;
    box-shadow: inset 0 0 .0625rem .0625rem rgba(26, 26, 26, 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: .0625rem 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: .0625rem solid #eee;
    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: 60rem;
    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.5em;
    line-height: 1rem
}

.informatizer a {
    color: #fff
}

.btnFocus {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) scale(0);
    padding: 2.6em;
    background: rgba(26, 26, 26, 0.9);
    color: #fff !important;
    font-size: 1.5rem;
    z-index: 2000;
    transition: all 300ms;
    text-decoration: none
}

.btnFocus:focus {
    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: .9375rem;
    right: .9375rem;
    z-index: 800;
    font-size: 1rem;
    width: 3em;
    height: 3em;
    line-height: 3em;
    background-color: #3B469C;
    color: #fff;
    text-decoration: none;
    text-align: center;
    margin-bottom: 70px
}

body:not(.scrollingUp) .backToTop {
    opacity: 0;
    visibility: hidden
}

.backToTop span {
    display: none
}

.backToTop:hover,
.backToTop:focus,
.backToTop:active {
    background-color: #0c0c0c;
    color: #fff
}

* {
    margin: 0;
    padding: 0
}

*,
*:before,
*:after {
    box-sizing: inherit
}

html {
    background: #fff;
    box-sizing: border-box;
    color: #656565;
    font-family: "ProximaNova", sans-serif;
    font-size: 100%;
    hyphens: manual;
    line-height: 1.5rem;
    text-size-adjust: none
}

body {
    line-height: 1.5rem;
    opacity: 1 !important
}

iframe,
[data-iframe] {
    border: none;
    width: 100%
}

address {
    font-style: normal
}

.bold {
    font-weight: 400
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    padding-bottom: 1.25rem;
    display: block;
    text-rendering: optimizeLegibility;
    hyphens: auto;
    font-family: "ProximaNova", sans-serif;
    color: #1a1a1a
}

@media (min-width: 62em) {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6 {
        padding-bottom: 2.875rem
    }
}

h1,
.h1 {
    font-size: 1.75rem;
    line-height: 2.1875rem;
    font-weight: 700
}

@media (min-width: 40em) {

    h1,
    .h1 {
        font-size: 1.875rem;
        line-height: 2.5rem
    }
}

@media (min-width: 62em) {

    h1,
    .h1 {
        font-size: 2rem;
        line-height: 2.8125rem
    }
}

@media (min-width: 95em) {

    h1,
    .h1 {
        font-size: 2.375rem;
        line-height: 3.125rem
    }
}

@media (min-width: 62em) {

    body.index h1,
    body.index .h1 {
        min-width: 50rem
    }
}

@media (min-width: 75em) {

    body.index h1,
    body.index .h1 {
        min-width: auto
    }
}

h1 span,
.h1 span {
    display: block;
    font-size: 1.1875rem;
    line-height: 1.5rem;
    font-weight: 300;
    font-family: "ProximaNova", sans-serif;
    color: #747474;
    letter-spacing: 1px
}

@media (min-width: 40em) {

    h1 span,
    .h1 span {
        font-size: 1.25rem;
        line-height: 1.625rem
    }
}

@media (min-width: 62em) {

    h1 span,
    .h1 span {
        font-size: 1.375rem;
        line-height: 1.875rem
    }
}

@media (min-width: 95em) {

    h1 span,
    .h1 span {
        font-size: 1.5rem;
        line-height: 2.5rem
    }
}

h2,
.h2 {
    font-size: 1.625rem;
    line-height: 2.1875rem;
    font-weight: 700
}

@media (min-width: 40em) {

    h2,
    .h2 {
        font-size: 1.875rem;
        line-height: 2.5rem
    }
}

@media (min-width: 62em) {

    h2,
    .h2 {
        font-size: 2.25rem;
        line-height: 2.9375rem;
        padding-bottom: 2.125rem
    }
}

h2 span,
.h2 span {
    display: block;
    font-size: 1.1875rem;
    line-height: 1.5rem;
    font-weight: 300;
    font-family: "ProximaNova", sans-serif;
    color: #747474;
    letter-spacing: 1px
}

@media (min-width: 40em) {

    h2 span,
    .h2 span {
        font-size: 1.25rem;
        line-height: 1.625rem
    }
}

@media (min-width: 62em) {

    h2 span,
    .h2 span {
        font-size: 1.375rem;
        line-height: 2.3125rem
    }
}

h3,
.h3 {
    font-size: 1.3125rem;
    font-family: "ProximaNova", sans-serif;
    color: #747474;
    font-weight: 300;
    padding-bottom: 1.25rem
}

h4,
.h4 {
    font-size: 1.375rem;
    padding-bottom: .3125rem
}

h5,
.h5 {
    font-size: 1.125rem;
    padding-bottom: .3125rem
}

h6,
.h6 {
    font-size: 1rem;
    padding-bottom: .3125rem
}

a {
    color: #3B469C;
    word-wrap: break-word;
    text-decoration: none;
    border-bottom: 1px solid #3B469C
}

a:focus,
a:hover,
a:active {
    color: #0c0c0c;
    border-bottom: 1px solid transparent
}

a img {
    border: none
}

a[href^="tel"] {
    color: inherit;
    text-decoration: none;
    border-bottom: none
}

a.modalImage,
a.yourrate {
    border-bottom: none
}

a:not(.btn):focus,
[tabindex]:focus {
    outline: 1px dotted #1a1a1a;
    outline-offset: .3125rem
}

hr,
.hr {
    display: flex;
    background: #eee;
    border: none;
    clear: both;
    height: .0625rem;
    margin: 1.5rem 0;
    flex-basis: 100%
}

ul,
ol {
    list-style: none
}

ul.styledList li,
main ul:not(.unstyledList) li,
ol.styledList li,
main ol:not(.unstyledList) li {
    padding-left: .9375rem;
    margin-bottom: .4375rem;
    position: relative
}

ul.styledList li:before,
main ul:not(.unstyledList) li:before,
ol.styledList li:before,
main ol:not(.unstyledList) li:before {
    content: "";
    width: .25rem;
    height: 100%;
    background: #3B469C;
    position: absolute;
    top: 0;
    left: 0;
    text-indent: -.9375rem
}

ul.styledList ul,
main ul:not(.unstyledList) ul,
ol.styledList ul,
main ol:not(.unstyledList) ul {
    margin-left: 1rem;
    margin-bottom: 0
}

dl.styledList,
main dl:not(.unstyledList) {
    zoom: 1
}

dl.styledList:after,
main dl:not(.unstyledList):after {
    content: "";
    display: table;
    clear: both
}

dl.styledList dt,
main dl:not(.unstyledList) dt,
dl.styledList dd,
main dl:not(.unstyledList) dd {
    display: block;
    background: rgba(238, 238, 238, 0.8);
    padding: .9375rem
}

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: .625rem
}

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: .3125rem
}

img {
    vertical-align: bottom;
    float: none;
    height: auto;
    max-width: 100%;
    width: 100%
}

img[src^='http://cms.'],
img[src^='https://cms.'] {
    max-width: none;
    width: auto
}

[data-rel] img,
.lightbox-image img {
    margin-bottom: 0
}

main table {
    display: table;
    border-collapse: collapse;
    width: 100%;
    max-width: 100%;
    text-align: left;
    font-size: 1rem
}

@media (max-width: 39.9375em) {
    main table {
        overflow-x: auto;
        display: block
    }
}

main table caption {
    text-align: left;
    padding: .9375rem .9375rem 1.5625rem;
    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: .9375rem 0
}

main table tbody tr:not(:last-child) {
    border-bottom: .0625rem solid #eee
}

main table tr {
    display: table-row
}

main table th,
main table td {
    padding: .9375rem;
    display: table-cell;
    vertical-align: top
}

@media (max-width: 39.9375em) {
    main table td {
        min-width: 50vw
    }
}

.centerRow {
    justify-content: center
}

@media (min-width: 62em) {
    .centerRow {
        justify-content: flex-start
    }
}

.marginBottom,
form.default label[for="Datenschutz"] {
    margin-bottom: 1.25rem
}

.highlight {
    color: #0c0c0c
}

.btn,
form.default button,
form.default [type="submit"] {
    background: #3B469C;
    border: none;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 1rem;
    line-height: 1.5rem;
    padding: .6875rem 1.5625rem .75rem 1.3125rem;
    text-align: center;
    text-decoration: none;
    font-family: "ProximaNova", sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    border-radius: .3125rem;
    margin-bottom: 1.25rem;
    position: relative;
    z-index: 1;
    outline: none
}

@media (min-width: 40em) {

    .btn,
    form.default button,
    form.default [type="submit"] {
        font-size: 1.25rem;
        display: inline-block;
        margin-bottom: 0
    }
}

.btn:hover,
form.default button:hover,
form.default :hover[type="submit"],
.btn:active,
form.default button:active,
form.default :active[type="submit"],
.btn:focus,
form.default button:focus,
form.default :focus[type="submit"] {
    color: #fff;
    outline: none;
    border-bottom: none !important
}

.btn:hover:before,
form.default button:hover:before,
form.default [type="submit"]:hover:before,
.btn:active:before,
form.default button:active:before,
form.default [type="submit"]:active:before,
.btn:focus:before,
form.default button:focus:before,
form.default [type="submit"]:focus:before {
    width: 100%
}

body.internetExplorer .btn:hover:before,
body.internetExplorer form.default button:hover:before,
form.default body.internetExplorer button:hover:before,
body.internetExplorer form.default [type="submit"]:hover:before,
form.default body.internetExplorer [type="submit"]:hover:before,
body.internetExplorer .btn:active:before,
body.internetExplorer form.default button:active:before,
form.default body.internetExplorer button:active:before,
body.internetExplorer form.default [type="submit"]:active:before,
form.default body.internetExplorer [type="submit"]:active:before,
body.internetExplorer .btn:focus:before,
body.internetExplorer form.default button:focus:before,
form.default body.internetExplorer button:focus:before,
body.internetExplorer form.default [type="submit"]:focus:before,
form.default body.internetExplorer [type="submit"]:focus:before {
    width: 101%
}

.btn:before,
form.default button:before,
form.default [type="submit"]:before {
    content: '';
    width: 0;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #0c0c0c;
    z-index: -1;
    transition: width 0.3s;
    border-radius: .25rem
}

.btn *[class^="icon"],
form.default button *[class^="icon"],
form.default [type="submit"] *[class^="icon"] {
    margin-left: 0.5rem;
    vertical-align: middle
}

.btn1 {
    background: #fff;
    color: #0c0c0c
}

body.internetExplorer .btn1:before {
    height: calc(100% + 1px);
    border-radius: 4px
}

.btn2 {
    background: #0c0c0c;
    color: #fff
}

@media (min-width: 40em) {
    .btn2 {
        margin-left: .9375rem
    }
}

.btn2:before {
    background: #fff
}

body.internetExplorer .btn2:before {
    height: calc(100% + 1px);
    border-radius: 4px
}

.btn2:hover,
.btn2:active,
.btn2:focus {
    color: #0c0c0c
}

.btn2:hover:before,
.btn2:active:before,
.btn2:focus:before {
    width: 100%
}

.bold {
    font-weight: 700
}

.clear {
    clear: both;
    float: none
}

.clearfix {
    zoom: 1
}

.clearfix:after {
    content: "";
    display: table;
    clear: both
}

.hidden {
    display: none
}

.hideText {
    text-indent: 110%;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    overflow: hidden;
    width: 0
}

.floatLeft {
    float: left
}

img.floatLeft {
    margin-right: 1rem
}

.floatRight {
    float: right
}

img.floatRight {
    margin-left: 1rem
}

.fluid {
    height: auto;
    width: 100%
}

.nonFluid {
    width: auto !important
}

.alignLeft {
    text-align: left
}

.alignRight {
    text-align: right
}

.alignCenter {
    text-align: center
}

.wide {
    width: 100%;
    display: block
}

.videoContainer:not(.videoTag),
.googleMaps:not(.videoTag) {
    position: relative;
    height: 0;
    overflow: hidden;
    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 {
    height: 16.375rem !important;
    margin-bottom: 2.625rem
}

@media (min-width: 75em) {
    .googleMaps {
        width: 37.625rem
    }
}

body:before {
    width: 94.5pt;
    content: "default:16px....default:0....tiny:30em....small:40em....medium:47.5em....large:62em....giant:75em....huge:85.25em....cut:75em....full:95em";
    display: none !important
}

@media (min-width: 0) {
    body:before {
        width: 172.5pt
    }
}

@media (min-width: 30em) {
    body:before {
        width: 250.5pt
    }
}

@media (min-width: 40em) {
    body:before {
        width: 334.5pt
    }
}

@media (min-width: 47.5em) {
    body:before {
        width: 436.5pt
    }
}

@media (min-width: 62em) {
    body:before {
        width: 520.5pt
    }
}

@media (min-width: 75em) {
    body:before {
        width: 604.5pt
    }
}

@media (min-width: 85.25em) {
    body:before {
        width: 700.5pt
    }
}

@media (min-width: 75em) {
    body:before {
        width: 772.5pt
    }
}

@media (min-width: 95em) {
    body:before {
        width: 850.5pt
    }
}

body.devmode:before,
body.debug:before {
    background: #1a1a1a;
    border-color: #1a1a1a;
    border-style: solid;
    border-width: 0 .9375rem;
    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
}

body.javascript .backToTop,
body.javascript a,
body.javascript .btn,
body.javascript form.default button,
form.default body.javascript button,
body.javascript form.default [type="submit"],
form.default body.javascript [type="submit"],
body.javascript #quickbar label[for="naviToggled"]:after,
#quickbar body.javascript label[for="naviToggled"]:after,
body.javascript #navigation,
body.javascript #navigation nav ul.navi li a,
#navigation nav ul.navi li body.javascript a,
body.javascript #navigation nav ul.navi li:not(.navBack)>span,
#navigation nav ul.navi body.javascript li:not(.navBack)>span,
body.javascript #navigation nav ul.navi li.navBack,
#navigation nav ul.navi body.javascript li.navBack,
body.javascript #navigation nav ul.navi li.hasSub>span,
#navigation nav ul.navi body.javascript li.hasSub>span,
body.javascript #navigation nav ul.navi li.hasSub .sub,
#navigation nav ul.navi li.hasSub body.javascript .sub,
body.javascript #header .topLine,
#header body.javascript .topLine,
body.javascript form.default [type="text"],
form.default body.javascript [type="text"],
body.javascript form.default [type="tel"],
form.default body.javascript [type="tel"],
body.javascript form.default [type="email"],
form.default body.javascript [type="email"],
body.javascript form.default [type="file"],
form.default body.javascript [type="file"],
body.javascript form.default input,
form.default body.javascript input,
body.javascript form.default textarea,
form.default body.javascript textarea,
body.javascript form.default select,
form.default body.javascript select {
    transition: 0.3s
}

.notificationArea {
    position: fixed;
    bottom: 2.5rem;
    left: 2.5rem;
    z-index: 999999;
    visibility: hidden;
    display: block
}

@media (min-width: 62em) {
    .notificationArea {
        left: 3.75rem
    }
}

.notificationArea>:not(:first-child):not(.hide).transitionIn {
    margin-top: 15px
}

.notificationArea .notification {
    display: block;
    position: relative;
    transition: 300ms all ease-in-out;
    overflow: hidden;
    padding: 0;
    background: #1a1a1a;
    font-size: .75rem;
    line-height: 1rem;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
    width: 18.75rem;
    max-width: calc(100vw - 80px);
    transform-origin: left center;
    visibility: hidden;
    opacity: 0;
    max-height: none;
    height: 0;
    box-sizing: border-box;
    margin-left: -100px
}

.notificationArea .notification .noteContent {
    padding: 1rem;
    display: block
}

@media (min-width: 62em) {
    .notificationArea .notification {
        font-size: 1rem;
        line-height: 1.375rem
    }
}

.notificationArea .notification.transitionIn {
    visibility: visible;
    opacity: 1;
    max-height: 9999999px;
    height: auto;
    margin-left: 0
}

.notificationArea .notification,
.notificationArea .notification a {
    color: #fff
}

.notificationArea .notification.success {
    background: #333
}

.notificationArea .notification.success,
.notificationArea .notification.success .close {
    color: #fff
}

.notificationArea .notification.error {
    background: #1a1a1a
}

.notificationArea .notification.success p,
.notificationArea .notification.error p {
    margin-bottom: .3125rem
}

.notificationArea .notification.success p+ul,
.notificationArea .notification.error p+ul {
    margin-top: .3125rem
}

.notificationArea .notification .close {
    position: absolute;
    top: 0;
    right: 0;
    padding-top: 5px;
    padding-right: 8px;
    cursor: pointer;
    color: #fff;
    font-size: 1.2rem
}

.notificationArea .notification.hide {
    margin-left: -100px;
    opacity: 0;
    visibility: hidden;
    height: 0
}

#navigation nav ul.navi li:hover .ServicesText,
#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: #299545;
    border-radius: .3125rem
}

#navigation nav ul.navi li .ServicesText.active,
#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: #299545;
    border-radius: .3125rem
}

#navigation nav ul.navi li.navBack:before {
    font-family: "icomoon", sans-serif;
    content: "❯";
    transform: rotateY(180deg)
}

#navigation nav ul.navi li.hasSub>span:after,
#navigation nav ul.navi li.hasSub>a:after {
    font-family: "icomoon", sans-serif;
    content: "❯"
}

.services .dropDown {
    position: absolute;
    top: 55px;
    background: #ffff;
    opacity: 0;
    visibility: hidden;
    transition: .5s ease-in-out;
    right: 0;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

li.services {
    position: relative;
    display: flex;
    align-items: center;
}

.dropDown.serviceActive{
    opacity: 1;
    visibility: visible;
}

.services .dropDown ul {
    display: flex;
    flex-direction: column;
    gap: 6px;
}


#navigation nav ul.navi .ShowServiceDropDown .ServicesText {
    color: #fff;
     background: #299545;
}

@media (min-width: 75em) {

    #navigation nav ul.navi li.hasSub>span:after,
    #navigation nav ul.navi li.hasSub>a:after {
        transform: rotate(90deg)
    }
}

@media (max-width: 74.9375em) {
    #navigation {
        min-width: 50%;
        overflow: hidden;
        top: 3.125rem;
        bottom: 0
    }

    #navigation.firstLevel nav {
        height: calc(100vh - 3.125rem);
        overflow: hidden;
        overflow-y: auto
    }

    #navigation nav ul.navi li.hasSub .sub {
        height: calc(100vh - 3.125rem)
    }

    #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
    }

    .services .dropDown {
        position: relative;
        background: transparent;
        top: auto;
        opacity: 1;
        visibility: visible;
        width: 100%;
    }

    li.services {
        flex-direction: column;
        align-items: flex-start;
    }

    #navigation nav ul.navi li.navItem.services .ServicesText {
        display: none;
    }

    div#navigation nav {
    height: calc(-3.125rem + 100vh);
    overflow: hidden auto;
}
}

#quickbar {
    position: fixed;
    left: 0;
    width: 100%;
    top: 0
}

@media (max-width: 74.9375em) {
    #quickbar {
        height: 3.125rem
    }
}

#quickbar.hide {
    transform: translateY(-100%)
}

#quickbar label[for="naviToggled"] {
    display: block;
    cursor: pointer;
    width: 1.25rem;
    height: 1.25rem;
    position: relative;
    overflow: hidden
}

#quickbar label[for="naviToggled"]:after {
    content: "";
    position: fixed;
    left: 0;
    width: 200vw;
    height: 200vh;
    display: block;
    background-color: #656565;
    opacity: 0.9;
    z-index: -1;
    top: 3.125rem
}

#quickbar label[for="naviToggled"] span {
    transition: 0.4s linear;
    text-indent: -9999px;
    width: 0;
    top: 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%;
    transform-origin: center
}

#quickbar label[for="naviToggled"] span:before,
#quickbar label[for="naviToggled"] span:after {
    top: calc(50% + 0rem);
    width: 1.25rem;
    transition: top 0.3s ease-in-out, transform 0.3s 0.2s linear
}

#quickbar label[for="naviToggled"] span:before {
    transform: translate(-50%, -50%) rotate(45deg)
}

#quickbar label[for="naviToggled"] span:after {
    transform: translate(-50%, -50%) rotate(-45deg)
}

#naviToggled {
    display: none
}

@media (max-width: 74.9375em) {

    #naviToggled:not(:checked)~* #navigation,
    #naviToggled:not(:checked)~#navigation {
        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.25rem
}

#naviToggled:not(:checked)~#quickbar label[for="naviToggled"] span:before,
#naviToggled:not(:checked)~#quickbar label[for="naviToggled"] span:after {
    transform: translate(-50%, -50%);
    transition: top 0.3s 0.2s ease-in-out, transform 0.3s linear
}

#naviToggled:not(:checked)~#quickbar label[for="naviToggled"] span:before {
    top: calc(50% + -.3125rem)
}

#naviToggled:not(:checked)~#quickbar label[for="naviToggled"] span:after {
    top: calc(50% + .3125rem)
}

#navigation {
    position: fixed;
    max-width: 100%;
    right: 0;
    background-color: #fff;
    z-index: 1001
}

#navigation nav ul {
    width: 100%
}

#navigation nav ul.navi {
    padding-bottom: 7.5rem
}

#navigation nav ul.navi li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5)
}

#navigation nav ul.navi li .ServicesText,
#navigation nav ul.navi li a {
    border-bottom: none;
    font-size: 1.125rem;
    border-radius: 0 !important
}

#navigation nav ul.navi li .ServicesText,
#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: .5625rem .9375rem .75rem;
    text-decoration: none;
    color: #0c0c0c
}

@media (min-width: 85.25em) {

    #navigation nav ul.navi li .ServicesText,
    #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: .5625rem 1.125rem .75rem
    }
}

#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: #0c0c0c
}

#navigation nav ul.navi li.hasSub>span .sub:before,
#navigation nav ul.navi li.hasSub>a .sub:before {
    padding: 1em .9375rem;
    background-color: #000
}

@media (max-width: 74.9375em) {

    #navigation nav ul.navi li.hasSub>span .sub,
    #navigation nav ul.navi li.hasSub>a .sub {
        transform: translateX(100%)
    }
}

@media (min-width: 75em) {

    #navigation nav ul.navi li.hasSub>span .sub,
    #navigation nav ul.navi li.hasSub>a .sub {
        opacity: 0;
        visibility: hidden
    }
}

@media (max-width: 74.9375em) {

    #navigation nav ul.navi li.hasSub>span .sub.current,
    #navigation nav ul.navi li.hasSub>a .sub.current {
        transform: translateX(0%)
    }
}

@media (min-width: 75em) {

    #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: #0c0c0c
}

#navigation nav ul.navi li.hasSub .sub:before {
    padding: 1em .9375rem;
    background-color: #000
}

@media (max-width: 74.9375em) {
    #navigation nav ul.navi li.hasSub .sub {
        transform: translateX(100%)
    }
}

@media (min-width: 75em) {
    #navigation nav ul.navi li.hasSub .sub {
        opacity: 0;
        visibility: hidden
    }
}

@media (max-width: 74.9375em) {
    #navigation nav ul.navi li.hasSub .sub.current {
        transform: translateX(0%)
    }
}

@media (min-width: 75em) {
    #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: 75em) {
    #navigation {
        top: 0;
        width: 100%
    }

    #navigation nav ul.navi {
        display: flex;
        justify-content: space-between
    }

    #navigation nav ul.navi li .ServicesText,
    #navigation nav ul.navi li a,
    #navigation nav ul.navi li:not(.navBack)>span,
    #navigation nav ul.navi li .sub:before,
    #navigation nav ul.navi li .navBack {
        white-space: nowrap
    }

    #navigation nav ul.navi li.hasSub {
        position: relative
    }

    body.cmsBackend #navigation nav ul.navi li.hasSub:hover>.sub {
        opacity: 1;
        visibility: visible
    }

    #navigation nav ul.navi li.hasSub .sub {
        top: 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 {
        position: relative
    }
}

@media (min-width: 75em) and (min-width: 75em) {
    #navigation {
        padding-left: 3.125rem
    }
}

@media (min-width: 75em) and (min-width: 85.25em) {
    #navigation {
        padding-left: 0
    }
}

@media (min-width: 75em) {
    #navigation nav ul.navi {
        padding-bottom: 0
    }
}

@media (min-width: 75em) and (min-width: 85.25em) {
    #navigation nav ul.navi {
        justify-content: flex-end
    }
}

@media (min-width: 75em) {
    #navigation nav ul.navi li {
        border-bottom: none
    }

    #navigation nav ul.navi li.privacyPolicy {
        display: none
    }

    #navigation nav ul.navi li.home {
        display: none
    }
}

@media (min-width: 75em) and (min-width: 75em) {
    #navigation nav ul.navi li.home {
        display: block
    }
}

@media (min-width: 75em) {
    #navigation nav ul.navi li .ServicesText,
    #navigation nav ul.navi li a {
        border-radius: .3125rem !important;
        font-size: .9375rem;
        padding-left: .4375rem;
        padding-right: .4375rem
    }
}

@media (min-width: 75em) and (min-width: 85.25em) {
    #navigation nav ul.navi li .ServicesText,
    #navigation nav ul.navi li a {
        font-size: 1.125rem;
        padding: .5625rem 1.125rem .75rem
    }
}

#quickbar {
    background-color: #3B469C;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .9375rem;
    z-index: 1000
}

@media (min-width: 75em) {
    #quickbar {
        display: none
    }
}

.navi-add {
    text-align: center
}

@media (min-width: 40em) {
    .navi-add {
        display: flex;
        justify-content: flex-start
    }
}

.navi-add li {
    border-bottom: 1px solid #fff
}

.navi-add li:last-child {
    border-bottom: none
}

@media (min-width: 40em) {
    .navi-add li {
        border-bottom: none;
        margin-right: 1.625rem
    }
}

.navi-add li a {
    color: #fff;
    text-decoration: none;
    font-size: 1.125rem;
    border-bottom: none;
    display: block;
    padding: 1rem 0
}

@media (min-width: 40em) {
    .navi-add li a {
        padding: 0;
        display: inline;
        border-bottom: 1px solid transparent
    }
}

.navi-add li a.active,
.navi-add li a:hover,
.navi-add li a:focus,
.navi-add li a:active {
    background: #fff;
    color: #0c0c0c
}

@media (min-width: 40em) {

    .navi-add li a.active,
    .navi-add li a:hover,
    .navi-add li a:focus,
    .navi-add li a:active {
        background: #0c0c0c;
        color: #fff;
        font-weight: 400;
        border-bottom: 1px solid #fff
    }
}

#header {
    position: relative;
    padding: 3.125rem 0 0;
    width: 100%;
    margin-bottom: 3.75rem;
    overflow: hidden;
    position: relative
}

@media (min-width: 62em) {
    #header {
        margin-bottom: 5rem
    }
}

@media (min-width: 75em) {
    #header {
        padding: 7.375rem 0 0;
        margin-bottom: 5.3125rem
    }
}

@media (min-width: 85.25em) {
    #header {
        padding: 8.25rem 0 0
    }
}

@media (min-width: 75em) {
    body.index #header {
        margin-bottom: 6.5625rem;
        padding: 6.875rem 0 0
    }
}

@media (min-width: 85.25em) {
    body.index #header {
        padding: 7.75rem 0 0
    }
}

#header .brandingCont {
    text-align: center;
    margin: 1.25rem 0
}

@media (min-width: 75em) {
    #header .brandingCont {
        text-align: left;
        position: relative;
        left: .9375rem;
        max-width: 17.75rem;
        margin: 0
    }
}

@media (min-width: 85.25em) {
    #header .brandingCont {
        
    }
}

#header .branding {
    display: inline-block;
    position: relative;
    z-index: 1;
    border-bottom: none
}

@media (min-width: 75em) {
    #header .branding {
        margin: 0;
        z-index: 1002;
        display: block;
        transform-origin: center left;
        transform: scale(0.78)
    }
}

@media (min-width: 95em) {
    #header .branding {
        transform: scale(1)
    }
}

@media (min-width: 62em) {
    body.javascript #header .branding {
        transition: 0.3s linear transform
    }
}

#header .branding img {
    max-width: none;
    width: auto
}

#header .topLine {
    background: #fff;
    padding: 0 0 .5rem 0
}

@media (min-width: 62em) {
    #header .topLine {
        padding: 1.25rem 0 1.25rem 0
    }
}

@media (min-width: 75em) {
    #header .topLine {
        padding: 2.5rem 0 2.375rem 0
    }
}

@media (min-width: 85.25em) {
    #header .topLine {
        padding: 2rem 0 2.6875rem 0
    }
}

@media (min-width: 62em) {
    #header .topLine:after {
        content: '';
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        height: .375rem;
        background: #3B469C;
        z-index: 1003
    }
}

@media (min-width: 75em) {
    #header .topLine.sticky {
        padding: 1.375rem 0 1.375rem 0
    }
}

@media (min-width: 85.25em) {
    #header .topLine.sticky {
        padding: 1.375rem 0 1.375rem 0
    }
}

@media (min-width: 95em) {
    #header .topLine.sticky {
        padding: 2.625rem 0 2rem 0
    }
}

@media (min-width: 75em) {
    body.index #header .topLine.sticky .branding {
        transform: scale(0.66)
    }
}

@media (min-width: 75em) {
    #header .topLine {
        position: absolute;
        top: 0;
        width: 100%;
        position: fixed;
        background: #fff;
        z-index: 10
    }
}

@media (min-width: 75em) and (min-width: 62em) {
    #header .topLine.sticky {
        box-shadow: 0 0 1.875rem 0px rgba(110, 110, 109, 0.2)
    }
}

@media (min-width: 75em) {
    body:not(.index) #header .topLine {
        padding: 1.375rem 0 1.375rem 0
    }
}

@media (min-width: 95em) {
    body:not(.index) #header .topLine {
        padding: 2.625rem 0 2rem 0
    }
}

@media (min-width: 75em) {
    body:not(.index) #header .branding {
        transform: scale(0.66)
    }
}

@media (min-width: 95em) {
    body:not(.index) #header .branding {
        transform: scale(0.66)
    }
}

#header .headerInfo {
    position: relative
}

@media (min-width: 62em) {
    #header .headerInfo {
        text-align: right;
        padding-top: .625rem;
        padding-right: 1.125rem
    }
}

#header .headerInfo>span {
    color: #0c0c0c;
    font-size: 1rem;
    padding-bottom: .25rem
}

#header .headerInfo>span .icon-tel {
    width: .875rem;
    height: .9375rem;
    background: #0c0c0c;
    border-radius: .125rem;
    color: #fff;
    font-size: .8125rem;
    margin-right: .4375rem;
    padding: 1px 0 0 .125rem
}

#header .headerInfo>span .icon-tel:before {
    position: relative;
    left: -2px
}

#header .headerInfo .contact {
    font-weight: 700
}

#header .headerInfo .phone {
    font-size: 1.125rem
}

#header .swiper-container {
    width: 100%;
    height: 100%
}

#header .swiper-slide {
    background: #3B469C
}

#header .swiper-slide .headerLeft {
    display: block;
    padding-top: 3.75rem
}

@media (min-width: 75em) {
    #header .swiper-slide .headerLeft {
        padding: 0 0 1.25rem
    }
}

@media (min-width: 85.25em) {
    #header .swiper-slide .headerLeft {
        padding-top: 0;
        margin-top: -.8125rem;
        margin-right: 5rem;
        margin-bottom: 0
    }
}

#header .swiper-slide .headerLeft .bigHeadline {
    display: block;
    font-size: 1.5rem;
    line-height: 2.1875rem;
    font-weight: 700;
    font-family: "ProximaNova", sans-serif;
    padding-bottom: 1.25rem;
    color: #fff
}

@media (min-width: 40em) {
    #header .swiper-slide .headerLeft .bigHeadline {
        font-size: 1.875rem;
        line-height: 2.5rem
    }
}

@media (min-width: 75em) {
    #header .swiper-slide .headerLeft .bigHeadline {
        font-size: 2.375rem;
        line-height: 3.125rem;
        padding-bottom: 2.1875rem
    }
}

#header .swiper-slide .headerLeft p {
    color: #fff;
    padding-bottom: 1.25rem;
    font-size: 1rem;
    line-height: 1.5rem
}

@media (min-width: 75em) {
    #header .swiper-slide .headerLeft p {
        font-size: 1.125rem;
        line-height: 1.625rem;
        padding-bottom: 3.5625rem
    }
}

#header .swiper-slide .col.cut-auto {
    padding: 2.8125rem 0 0
}

@media (min-width: 40em) {
    #header .swiper-slide .col.cut-auto {
        padding: 4.375rem 0 0
    }
}

@media (min-width: 75em) {
    #header .swiper-slide .col.cut-auto {
        padding: 0
    }
}

#header .swiper-slide .text-center {
    display: flex;
    align-items: center
}

#header .swiper-slide-1 .headerImageBg,
#header .swiper-slide-2 .headerImageBg,
#header .swiper-slide-3 .headerImageBg,
#header .swiper-slide-4 .headerImageBg {
    height: 21.875rem;
    max-height: 100%;
    background-size: cover;
    background-position: center center
}

@media (min-width: 40em) {

    #header .swiper-slide-1 .headerImageBg,
    #header .swiper-slide-2 .headerImageBg,
    #header .swiper-slide-3 .headerImageBg,
    #header .swiper-slide-4 .headerImageBg {
        height: 28.125rem
    }
}

@media (min-width: 75em) {

    #header .swiper-slide-1 .headerImageBg,
    #header .swiper-slide-2 .headerImageBg,
    #header .swiper-slide-3 .headerImageBg,
    #header .swiper-slide-4 .headerImageBg {
        height: 36.25rem
    }
}

@media (min-width: 85.25em) {

    #header .swiper-slide-1 .headerImageBg,
    #header .swiper-slide-2 .headerImageBg,
    #header .swiper-slide-3 .headerImageBg,
    #header .swiper-slide-4 .headerImageBg {
        height: 40.625rem
    }
}

#header .btnEspanol {
    position: absolute;
    right: 1rem;
    top: 320px;
    border: 1px solid #d6d6d6;
    display: block;
    padding-right: 1.125rem;
    background: #fff;
    z-index: 9;
    display: none
}

@media (min-width: 75em) {
    body.javascript #header .btnEspanol {
        display: block
    }
}

header.isOnScreen #header .btnEspanol {
    position: fixed
}

main {
    display: block
}

main p,
main ol,
main ul,
main dl,
main table {
    margin-bottom: 1rem
}

main span.spanBlock {
    display: block
}

main img {
    margin-bottom: 1.875rem
}

@media (min-width: 62em) {
    main img {
        margin-bottom: 0
    }
}

main .section {
    margin-bottom: 1.75rem
}

@media (min-width: 47.5em) {
    main .section {
        margin-bottom: 2rem
    }
}

@media (min-width: 75em) {
    main .section {
        margin-bottom: 3.25rem
    }
}

main .section .text-center {
    display: flex;
    align-items: center
}

main .section .indexRightCol {
    margin-top: 1.875rem
}

@media (min-width: 62em) {
    main .section .indexRightCol {
        margin-top: 0
    }
}

main .section img.indexImage {
    width: 100%
}

@media (min-width: 40em) {
    main .section img.indexImage {
        float: left;
        width: 55%;
        display: block;
        padding-right: .9375rem
    }
}

@media (min-width: 47.5em) {
    main .section img.indexImage {
        width: 65%
    }
}

@media (min-width: 62em) {
    main .section img.indexImage {
        width: 50%;
        display: block;
        margin: 0 auto 1.25rem
    }
}

@media (min-width: 75em) {
    main .section img.indexImage {
        float: left;
        width: 50%;
        margin: 0
    }
}

@media (min-width: 95em) {
    main .section img.indexImage {
        width: 21.5625rem;
        margin: 0 4.3125rem 0 2.1875rem;
        padding-right: 0
    }
}

main .section .listIndexBox {
    display: flex;
    justify-content: center
}

@media (min-width: 62em) {
    main .section .listIndexBox {
        display: flex;
        justify-content: center
    }
}

@media (min-width: 95em) {
    main .section .listIndexBox {
        display: inline;
        float: right;
        width: 15rem
    }
}

main .section .listIndexBox span.indexHeadline {
    display: block;
    font-family: "ProximaNova", sans-serif;
    font-size: 1.4375rem;
    line-height: 3.125rem;
    font-weight: 700;
    position: relative;
    background: #3B469C;
    color: #fff;
    padding: .1875rem 0 .25rem 1.875rem
}

main .section .listIndexBox span.indexHeadline:after {
    content: "";
    background: url("../images/layout/check.png") no-repeat left top;
    width: 1.25rem;
    height: 1.0625rem;
    position: absolute;
    top: 1.375rem;
    right: 2rem
}

main .section .listIndexBox .btnEspanol {
    opacity: 1;
    visibility: visible;
    transform: none
}

main .section .listIndexBox ul.listIndex {
    background: #eee;
    padding: 0 .9375rem;
    position: relative;
    padding-top: .1875rem
}

main .section .listIndexBox ul.listIndex li {
    padding: .5625rem 0 .75rem;
    border-bottom: 1px solid #d6d6d6;
    margin-bottom: 0;
    text-align: center
}

main .section .listIndexBox ul.listIndex li:last-child {
    border-bottom: none
}

main .section .listIndexBox ul.listIndex li:before {
    content: "";
    background: none
}

main .section .listIndexBox ul.listIndex:after {
    content: "";
    width: 1px;
    height: 2rem;
    background: #d6d6d6;
    position: absolute;
    bottom: -3rem;
    left: 50%
}

main .section .teaser {
    padding: 3.75rem 0;
    background-size: cover
}

main .section .teaser.lazyLoaded {
    background-image: url("../images/layout/teaserBg.jpg")
}

@media (max-width: 61.9375em) {
    main .section .teaser.lazyLoaded {
        background-image: url("../images/layout/large-teaserBg.jpg")
    }
}

@media (min-width: 75em) {
    main .section .teaser {
        padding: 5.8125rem 0
    }
}

main .section .teaser .teaser-row {
    display: flex;
    flex-direction: column;
    margin: 0 .9375rem
}

@media (min-width: 40em) {
    main .section .teaser .teaser-row {
        display: block
    }
}

@media (min-width: 75em) {
    main .section .teaser .teaser-row {
        display: flex;
        justify-content: center;
        flex-direction: row
    }
}

@media (min-width: 95em) {
    main .section .teaser .teaser-row {
        max-width: 88.125rem;
        margin: 0 auto
    }
}

main .section .teaser .teaserBox {
    background: #fff;
    padding: 1.25rem;
    text-align: center;
    margin-bottom: 1.875rem;
    height: 95%
}

main .section .teaser .teaserBox.lastBox {
    margin-bottom: 0
}

@media (min-width: 40em) {
    main .section .teaser .teaserBox.lastBox {
        width: 48%
    }
}

@media (min-width: 75em) {
    main .section .teaser .teaserBox.lastBox {
        width: 19.2%;
        min-height: 34.375rem;
        margin: 0;
        width: 21.2%
    }
}

@media (min-width: 85.25em) {
    main .section .teaser .teaserBox.lastBox {
        min-height: 31.5rem;
        width: 19.2%
    }
}

@media (min-width: 40em) {
    main .section .teaser .teaserBox {
        min-height: 26.5625rem;
        width: 48%;
        float: left;
        margin: 0 1%;
        height: 100%;
        margin-bottom: .9375rem
    }
}

@media (min-width: 47.5em) {
    main .section .teaser .teaserBox {
        padding: 2.5rem 3.125rem 3.625rem 3.125rem;
        min-height: 31.3125rem
    }
}

@media (min-width: 62em) {
    main .section .teaser .teaserBox {
        min-height: 26.875rem
    }
}

@media (min-width: 75em) {
    main .section .teaser .teaserBox {
        margin: 0;
        float: none;
        width: auto;
        min-height: 0;
        width: 21.2%;
        margin-right: 36px
    }
}

@media (min-width: 75em) {
    main .section .teaser .teaserBox {
        height: 100%;
        min-height: 34.375rem;
        margin-bottom: 0;
        padding: 2.5rem 1.125rem 3.625rem 1.125rem;
        width: 21.2%
    }
}

@media (min-width: 85.25em) {
    main .section .teaser .teaserBox {
        min-height: 31.5rem;
        width: 19.2%;
        margin-right: 82px
    }
}

main .section .teaser .teaserBox img {
    display: none;
    text-align: center;
    width: 7.6875rem;
    height: 7.625rem
}

@media (min-width: 40em) {
    main .section .teaser .teaserBox img {
        display: inline-block
    }
}

main .section .teaser .teaserBox .teaserHeadline {
    display: block;
    font-family: "ProximaNova", sans-serif;
    font-size: 1.375rem;
    line-height: 3.125rem;
    font-weight: 700;
    color: #1a1a1a
}

@media (min-width: 75em) {
    main .section .teaser .teaserBox .teaserHeadline {
        padding: .875rem 0 .625rem
    }
}

@media (min-width: 85.25em) {
    main .section .teaser .teaserBox .teaserHeadline {
        font-size: 1.5625rem
    }
}

main .section .teaser .teaserBox .teaserText {
    font-size: .875rem;
    line-height: 1.5rem;
    text-align: center;
    word-break: break-word
}

main .section .teaser .teaserBox .btnTeaser {
    background: #3B469C;
    color: #fff
}

main .section .teaser .teaserBox .btnTeaser:hover,
main .section .teaser .teaserBox .btnTeaser:active,
main .section .teaser .teaserBox .btnTeaser:focus {
    background: #0c0c0c;
    color: #fff;
    border-bottom: 0
}

main .box {
    display: flex;
    justify-content: space-between
}

main .imageBox {
    width: 50%;
    padding-right: 1.875rem
}

main .textContentCol {
    min-height: 100%
}

main .textContent {
    padding-top: 1.875rem;
    margin-bottom: 1.875rem;
    border-top: 1px solid #d6d6d6
}

main .textContent p {
    margin-bottom: 0
}

main .btnFile {
    padding: .6875rem 1.1875rem .875rem .6875rem;
    margin-top: 1.25rem
}

@media (min-width: 62em) {
    main .btnFile {
        margin-top: 2.5rem
    }
}

main .btnFile i {
    font-weight: "icomoon", sans-serif;
    font-size: 1rem;
    margin-top: -.1875rem;
    margin-left: -.5rem;
    margin-right: .875rem
}

main .imageFlex {
    margin-bottom: 1rem
}

@media (min-width: 30em) {
    main .imageFlex {
        display: flex;
        justify-content: center
    }
}

main .nna,
main .itin,
main .taxPrep {
    width: 12.5rem
}

main .liveScan {
    width: 18.75rem
}

@media (min-width: 30em) {
    main .taxPrep {
        margin-right: 1rem;
        width: 6.25rem
    }
}

@media (min-width: 62em) {
    main .taxPrep {
        width: 9.375rem
    }
}

main .taxPrep2 {
    width: 25rem;
    height: auto
}

@media (min-width: 30em) {
    main .taxPrep2 {
        width: 18.75rem;
        height: auto
    }
}

@media (min-width: 62em) {
    main .taxPrep2 {
        width: 34.375rem;
        height: auto
    }
}

.btnEspanol {
    padding: .875rem 0 .875rem 5rem;
    border: 1px solid #d6d6d6;
    border-radius: .3125rem;
    position: relative;
    margin-top: 3.9375rem;
    display: block;
    text-decoration: none;
    font-weight: 700;
    color: #656565;
    opacity: 0;
    visibility: hidden;
    transform: translateX(100px);
    transition: 0.4s linear opacity, 0.4s linear visibility, 0.4s linear transform;
    transition-delay: 1s
}

.isOnScreen .btnEspanol {
    opacity: 1;
    visibility: visible;
    transform: translateX(0px)
}

.btnEspanol:before {
    content: "";
    background: url("../images/layout/flag-es.png") no-repeat left top;
    width: 1.875rem;
    height: 1.1875rem;
    position: absolute;
    top: 1.0625rem;
    left: 1.25rem
}

.btnEspanol:after {
    content: "";
    width: 1px;
    height: 1.1875rem;
    background: #d6d6d6;
    position: absolute;
    top: 1.0625rem;
    left: 4.0625rem
}

@media (max-width: 61.9375em) {
    .textBox {
        margin-bottom: 3.75rem
    }
}

.cont01 {
    position: relative;
    overflow-x: hidden
}

.sectionLoop .row:first-child .textContent {
    border-top: none;
    padding-top: 0
}

.tax-logos {
    align-items: center;
    border-bottom: 1px solid #d6d6d6;
    border-top: 1px solid #d6d6d6;
    padding-top: 5rem;
    padding-bottom: 5rem
}

.tax-logos img {
    width: auto;
    display: inline-block
}

.tax-logos .col:first-child {
    text-align: right
}

@media (min-width: 47.5em) {
    .logoSection {
        align-items: center
    }
}

@media (min-width: 62em) {
    .logoSection {
        align-items: flex-start
    }
}

.sectionMiddle {
    text-align: center
}

.sectionMiddle img {
    display: inline-block
}

.sectionMiddle .row {
    border-bottom: 1px solid #d6d6d6;
    border-top: 1px solid #d6d6d6;
    padding-top: 5rem;
    padding-bottom: 5rem
}

a[data-rel="lightbox:"] {
    margin-bottom: 24px;
    display: block;
    text-decoration: none;
    border: none
}

.teamBox {
    margin-bottom: 2.5rem
}

@media (min-width: 62em) {
    .teamBox {
        margin-bottom: 3.75rem
    }
}

#privacyPolicy a {
    display: inline-block;
    word-break: break-all
}

#footer {
    margin-top: 3rem
}

#footer .footerTop {
    background: #3B469C;
    color: #fff
}

#footer .footerTop .footerLeft {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem
}

@media (min-width: 75em) {
    #footer .footerTop .footerLeft {
        padding-top: 4.8125rem;
        padding-bottom: 6.6875rem
    }
}

#footer .footerTop .footerLeft .bigHeadline {
    display: block;
    font-size: 1.625rem;
    line-height: 2.1875rem;
    font-weight: 700;
    font-family: "ProximaNova", sans-serif;
    padding-bottom: 1.9375rem
}

@media (min-width: 40em) {
    #footer .footerTop .footerLeft .bigHeadline {
        font-size: 1.875rem;
        line-height: 2.5rem
    }
}

@media (min-width: 62em) {
    #footer .footerTop .footerLeft .bigHeadline {
        font-size: 2.25rem;
        line-height: 2.9375rem
    }
}

#footer .footerTop .footerLeft .bigHeadline .littleHeadline {
    display: block;
    font-size: 1.1875rem;
    line-height: 1.5rem;
    font-weight: 300;
    font-family: "ProximaNova", sans-serif;
    letter-spacing: 1px
}

@media (min-width: 40em) {
    #footer .footerTop .footerLeft .bigHeadline .littleHeadline {
        font-size: 1.25rem;
        line-height: 1.625rem
    }
}

@media (min-width: 62em) {
    #footer .footerTop .footerLeft .bigHeadline .littleHeadline {
        font-size: 1.375rem;
        line-height: 2.375rem
    }
}

#footer .footerTop .breakRight .cut-auto {
    display: none
}

@media (min-width: 75em) {
    #footer .footerTop .breakRight .cut-auto {
        display: block
    }
}

#footer .footerTop .breakRight .col.cut-auto {
    padding-left: 0;
    padding-right: 0
}

#footer .footerTop .breakRight .col.cut-auto .footerImageBg {
    height: 15.1875rem
}

#footer .footerTop .breakRight .col.cut-auto .footerImageBg.lazyLoaded {
    background-image: url("../images/layout/footerImageBg.jpg")
}

@media (max-width: 74.9375em) {
    #footer .footerTop .breakRight .col.cut-auto .footerImageBg.lazyLoaded {
        background-image: url("../images/layout/giant-footerImageBg.jpg")
    }
}

@media (max-width: 47.4375em) {
    #footer .footerTop .breakRight .col.cut-auto .footerImageBg.lazyLoaded {
        background-image: url("../images/layout/medium-footerImageBg.jpg")
    }
}

@media (max-width: 29.9375em) {
    #footer .footerTop .breakRight .col.cut-auto .footerImageBg.lazyLoaded {
        background-image: url("../images/layout/tiny-footerImageBg.jpg")
    }
}

@media (min-width: 30em) {
    #footer .footerTop .breakRight .col.cut-auto .footerImageBg {
        height: 24.125rem
    }
}

@media (min-width: 47.5em) {
    #footer .footerTop .breakRight .col.cut-auto .footerImageBg {
        height: 37.5rem
    }
}

@media (min-width: 75em) {
    #footer .footerTop .breakRight .col.cut-auto .footerImageBg {
        height: 100%
    }
}

#footer .footerTop .breakRight .col.cut-auto .footerImageBg.lazyLoaded {
    background-size: cover;
    position: relative
}

#footer .footerInfo {
    padding: 3.75rem 0
}

@media (min-width: 75em) {
    #footer .footerInfo {
        padding: 4.8125rem 0 3.125rem
    }
}

@media (min-width: 47.5em) {
    #footer .footerInfo .footerTextCenter {
        display: flex;
        justify-content: center
    }
}

@media (min-width: 85.25em) {
    #footer .footerInfo .footerTextCenter {
        display: block
    }
}

#footer .footerInfo .headline {
    display: block;
    text-align: center;
    font-size: 1.25rem;
    font-family: "ProximaNova", sans-serif;
    color: #1a1a1a;
    padding-bottom: .625rem
}

@media (min-width: 47.5em) {
    #footer .footerInfo .headline {
        text-align: left
    }
}

#footer .footerInfo .contactInfo,
#footer .footerInfo .hoursInfo,
#footer .footerInfo .address,
#footer .footerInfo .contact {
    text-align: center
}

@media (min-width: 47.5em) {

    #footer .footerInfo .contactInfo,
    #footer .footerInfo .hoursInfo,
    #footer .footerInfo .address,
    #footer .footerInfo .contact {
        text-align: left
    }
}

@media (min-width: 85.25em) {

    #footer .footerInfo .contactInfo,
    #footer .footerInfo .hoursInfo,
    #footer .footerInfo .address,
    #footer .footerInfo .contact {
        display: inline;
        float: left
    }
}

#footer .footerInfo .contactInfo,
#footer .footerInfo .hoursInfo {
    margin-bottom: 2.5rem
}

@media (min-width: 62em) {

    #footer .footerInfo .contactInfo,
    #footer .footerInfo .hoursInfo {
        margin-bottom: 0
    }
}

@media (min-width: 47.5em) {
    #footer .footerInfo .contactInfo {
        margin-right: 2.5rem
    }
}

@media (min-width: 62em) {
    #footer .footerInfo .contactInfo {
        margin-right: 3.75rem
    }
}

@media (min-width: 75em) {
    #footer .footerInfo .contactInfo {
        margin-right: 5rem
    }
}

@media (min-width: 85.25em) {
    #footer .footerInfo .contactInfo {
        margin-right: 1.95rem
    }
}

@media (min-width: 95em) {
    #footer .footerInfo .contactInfo {
        margin-right: 5.125rem
    }
}

@media (min-width: 85.25em) {
    #footer .footerInfo .address {
        margin-right: 2.5rem
    }
}

#footer .footerInfo .hoursInfo {
    text-align: center
}

@media (min-width: 47.5em) {
    #footer .footerInfo .hoursInfo {
        width: 18.75rem;
        text-align: left
    }
}

@media (min-width: 95em) {
    #footer .footerInfo .hoursInfo {
        position: relative
    }

    #footer .footerInfo .hoursInfo:after {
        content: '';
        width: 1px;
        height: 8.3125rem;
        background: #d6d6d6;
        position: absolute;
        top: -1.75rem;
        right: -4.6875rem
    }
}

#footer .footerInfo dl {
    width: 240px;
    margin: 0 auto
}

@media (min-width: 47.5em) {
    #footer .footerInfo dl {
        width: auto;
        margin: 0
    }
}

#footer .footerInfo dl dt,
#footer .footerInfo dl dd {
    display: inline;
    float: left
}

#footer .footerInfo dl dt {
    width: 35%;
    text-align: left
}

#footer .footerInfo dl dd {
    width: 65%
}

#footer .footerInfo .yourrateBox {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 1.25rem
}

@media (min-width: 47.5em) {
    #footer .footerInfo .yourrateBox {
        padding-top: 0
    }
}

@media (min-width: 75em) {
    #footer .footerInfo .yourrateBox {
        justify-content: flex-end;
        margin-top: -1.25rem
    }
}

@media (min-width: 75em) {
    #footer .footerInfo .yourrateBox .yourrate {
        width: 7.1875rem;
        height: 7.1875rem
    }
}

#footer .footerInfo .yourrateBox .review-text {
    margin-left: 1.8125rem
}

#footer .footerInfo .yourrateBox .review-text .headlineYourrate {
    text-transform: uppercase;
    font-size: 1.375rem;
    line-height: 1.875rem;
    font-family: "Raleway", sans-serif;
    font-weight: 300;
    letter-spacing: 0.12em;
    margin-bottom: .9375rem;
    display: block
}

#footer .footerInfo .yourrateBox .review-text .description {
    font-size: 1rem;
    line-height: 1.5rem
}

@media (min-width: 30em) {
    #footer .footerInfo .yourrateBox .yourrateBlock {
        display: block
    }
}

@media (min-width: 62em) {
    #footer .footerInfo .yourrateBox .yourrateBlock {
        display: inline
    }
}

@media (min-width: 75em) {
    #footer .footerInfo .yourrateBox .yourrateBlock {
        display: block
    }
}

#footer .footerBottom {
    background: #0c0c0c;
    padding: 1.625rem 0 5.5625rem
}

@media (min-width: 30em) {
    #footer .footerBottom {
        padding: 1.625rem 0 1.8125rem
    }
}

@media (min-width: 30em) {
    #footer .footerBottom {
        margin-bottom: 0
    }
}

.text-logo {
    font-size: 1.875rem;
    font-weight: bold;
    display: block;
    color: #3B469C;
    margin-bottom: 2.5rem;
    margin-top: 1rem
}

.ho {
    margin-bottom: 2.5rem
}

.spText {
    display: block
}

@media (min-width: 40em) {
    .spText {
        display: inline
    }
}

.widgetFlex a {
    border-bottom: none !important
}

.WidgetBanner a.openReviewslink {
    color: #313131 !important
}

.WidgetRatedOnText,
.reviewBusinessData,
.additionalRevieData {
    color: #313131 !important
}

.WidgetFooter a.moreReviews,
.WidgetFooter a.moreReviews:hover {
    color: #313131 !important;
    border: 1px solid #313131 !important;
    background-color: #ffffff !important
}

.hiddenRecaptcha {
    font-size: 0;
    padding: 0 !important;
    height: 0
}

.WidgetBannerContainer {
    z-index: 999 !important
}

.WidgetPopup {
    top: 3.125rem !important
}

@media (min-width: 62em) {
    .WidgetPopup {
        top: auto !important
    }
}

form.default {
    overflow: hidden;
    width: 100%
}

form.default ::-webkit-input-placeholder {
    color: #656565
}

form.default ::-moz-placeholder {
    color: #656565
}

form.default :-ms-input-placeholder {
    color: #656565 !important
}

form.default :-moz-placeholder {
    color: #656565
}

form.default fieldset {
    border: none;
    margin: 0 0 3.5rem 0
}

form.default fieldset label[for=PrivacyPolicy] {
    display: inline-block
}

form.default fieldset [type=checkbox] {
    margin-left: .75rem
}

form.default legend {
    font-family: "ProximaNova", sans-serif;
    color: #1a1a1a;
    font-size: 1.3125rem;
    margin-bottom: 0 !important
}

form.default label {
    color: inherit;
    display: block;
    padding: 1rem 0 0.6rem;
    position: relative
}

form.default label small {
    color: #1a1a1a;
    display: inline-block;
    line-height: 0.5rem
}

form.default label[for="Datenschutz"] {
    float: left;
    width: calc(100% - 1.875rem)
}

form.default .g-recaptcha {
    margin: 1.5rem 0
}

form.default [type="text"],
form.default [type="tel"],
form.default [type="email"],
form.default [type="file"],
form.default input,
form.default textarea,
form.default select {
    background: #fff;
    border: 1px solid #d6d6d6;
    color: #656565;
    display: block;
    font-family: "ProximaNova", sans-serif;
    font-size: 1rem;
    line-height: 1.5rem;
    margin: 0 0 0.5rem 0;
    padding: 0.8rem;
    position: relative;
    resize: none;
    width: 100%;
    border-radius: 0
}

form.default [type="text"]:focus,
form.default [type="tel"]:focus,
form.default [type="email"]:focus,
form.default [type="file"]:focus,
form.default input:focus,
form.default textarea:focus,
form.default select:focus {
    background: #fafafa;
    outline: none
}

form.default textarea {
    min-height: 7.5rem;
    padding-top: 0.9rem;
    height: 10.0625rem
}

form.default textarea[name="Nachricht"] {
    min-height: 18.5rem
}

form.default [type="checkbox"] {
    display: inline-block;
    margin: 0 .9375rem 0.5rem 0;
    padding: 0;
    width: .9375rem;
    height: .9375rem
}

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: .9375rem;
    margin: 0.4rem 0.8rem 0 0;
    min-height: auto
}

form.default button,
form.default [type="submit"] {
    margin: 0 0 1.75rem;
    width: 100%
}

.googleRecaptchaError {
    margin-bottom: 1.25rem;
    color: red
}

.specialfield {
    display: none !important;
    visibility: hidden !important
}

#newsletter-info {
    background: #1a1a1a;
    color: #fff;
    font-weight: bold;
    margin-bottom: 24px;
    padding: 15px
}

#newsletter-info *:last-of-type {
    margin-bottom: 0
}

img[name="vimg"]+input[name="imgverify"] {
    float: right
}

@media only screen and (max-width: 1199px) {
    div#navigation {
    background: #3b469c;
    }

    div#navigation a {
        color: #fff !important;
    }
}

.topLine  .row {
    z-index: 99999;
}

.myMainAboustStickyClass1 {
    display: flex;
    align-items: center;
}

#navigation nav ul.navi li.navbarContactUsClass:hover > a {
    background: transparent;
}

#navigation nav ul.navi li.navbarContactUsClass a {
    border: 1px solid #0c0c0c;
    display: flex;
    align-items: center;
    gap: 8px;
}

#navigation nav ul.navi li.navbarContactUsClass {
    margin: 0 0 0 15px;
    border: 1px solid #0c0c0c;
    border-radius: 5px;
    padding: 0 15px 0 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#navigation nav ul.navi li.navbarContactUsClass .headerInfo {
    padding: 0;
}

@media only screen and (max-width: 991px) {
.myAboustStickyClass {
    position: relative;
    top: 0px;
}

.myMainAboustStickyClass {
    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;
    align-items: stretch;
    justify-content: center;
}

.myMainAboustStickyClass1 {flex-direction: column;}

li.navbarContactUsClass {
    display: none !important;
}
}