html {
    font-family:sans-serif;
    line-height:1.15;
}

*,
:before,
:after,
::after,
::before {
    box-sizing: border-box;
    text-rendering: optimizeLegibility ;
}

:focus {
    outline: 0
}

body {
    width: 100%;
    height: 100%;
    background-color: #f9f9f9;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
    overflow-x: hidden;
    margin:0;
    font-size:1rem;
    font-weight:400;
    line-height:1.5;
    text-align:left;
}

@media(max-width:767px) {
    body {
        padding: 0
    }
}

.skip-link
{
background: #f9f9f9;
color: #333;
font-weight: 700;
left: 50%;
padding: 4px;
position: absolute;
transform: translateY(-100%);
transition: transform 0.3s;
}

.skip-link:focus
{
transform: translateY(0%);
}

::selection {
    background: #1c8e98;
    color: #fff
}

a {
    text-decoration: none;
    background-color: transparent
}

a,
a:hover,
a:visited {
    color: #1c8e98
}

a:focus {
    color: #1c8e98
}

a:active,
a:hover {
    outline: 0
}

pre,
blockquote {
    border-left: 0;
    page-break-inside: avoid
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
    color: #333;
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif
}

:where(h1) {
  margin-block: 0.67em;
  font-size: 2em;
}

@media(max-width:500px) {
    .watermark-text::after {
        font-size: 28px;
        line-height: 1;
        top: 28px;
        left: 15px;
        color: #eee 
    }
}

@media(min-width:501px) and (max-width:767px) {
    .watermark-text::after {
        font-size: 35px;
        line-height: 1;
        top: 25px;
        left: 10px
    }
}

@media(min-width:768px) and (max-width:1199px) {
    .watermark-text::after {
        font-size: 35px;
        line-height: 1;
        top: 15px;
        left: 10px
    }
}


@media(min-width:1200px) {
    .watermark-text::after {
        font-size: 50px;
        line-height: 1;
        top: 8px;
        left: 5px
    }
}

.watermark-text::after {
    color: #d6d6d6;
    content: attr(data-bg-text);
    display: block;
    position: absolute;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 1);
    z-index: -1
}

.watermark-text {
    background-color: #f9f9f9;
    overflow: hidden;
    z-index: 1;
    margin: 60px 0;
    font-family: "Sandttord", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

li {
    list-style: none
}

figure {
    margin: 0
}

hr {
    width: 80px;
    height: 1px;
    border: 0;
    margin: 15px auto;
    display: block;
    background-color: #333
}

.container-fluid {
    max-width: 1920px
}

.no-gutter>[class*="col-"] {
    padding-right: 0;
    padding-left: 0
}

.section {
    position: relative;
    width: 100%;
    overflow: hidden
}

.my-thumbnail img {
    border: 1px solid #fff;
    border-radius: 0;
    box-shadow: 0 0 2px #ccc
}

.my-shadow {
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
}

.button-link-wrap-sec {
    width: 200px;
    height: 70px;
    z-index: 100;
    position: relative;
    display: block;
    margin: 30px auto
}

.button-link-wrap-sec a {
    text-shadow: 0 1px 1px rgba(255, 255, 255, .9)
}

.button-link-wrap-sec a:hover {
    color: #f9f9f9;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3)
}

.button-link-wrap-sec:hover .button-link-sec:before {
    transition: transform 0.35s cubic-bezier(.17, .84, .44, 1);
    transform: translateZ(0);
    opacity: 1
}

.button-link-wrap-sec:hover .button-link-sec:after {
    transition: none;
    transform: translateZ(0);
    opacity: 0
}

.button-link-wrap-sec.dark-style .button-link-sec {
    border: 1px solid #f9f9f9;
    color: #f9f9f9
}

.button-link-wrap-sec.dark-style a {
    text-shadow: 0 1px 1px rgba(0, 0, 0, .4)
}

.button-link-wrap-sec.dark-style a:hover {
    border: 1px solid #1c8e98
}

.button-link-sec.dark-style:before {
    background-color: #1c8e98
}

.button-link-wrap-sec .button-link-sec {
    width: 100%;
    text-align: center;
    display: inline-block;
    text-decoration: none;
    overflow: hidden;
    border: 1px solid #1c8e98;
    padding: 21px 0;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.25em;
    letter-spacing: 0;
    line-height: 24px;
    color: #1c8e98;
    position: relative;
    transition: color 0.15s ease-in-out
}

.button-link-sec:before {
    top: 0;
    left: 0;
    content: "";
    background-color: #1c8e98;
    position: absolute;
    width: 100%;
    height: 100%;
    transform: translate3d(0, 105%, 0);
    transition: transform 0.35s cubic-bezier(.17, .84, .44, 1);
    z-index: -1
}

@media(max-width:500px) {
    .dsg54-button-call-me {
    position: absolute;
    top: 65%;
    left: 50%;
    transform: translate(-65%, -50%);
    margin-left: 15px;
        z-index:99;
        display: inline-block; 
        padding: 14px 12px 12px;
        border: 2px solid #f9f9f9;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        transition: all .3s ease-out;
        font-size: 30px;
        line-height: 30px;
        letter-spacing: 0;
        text-transform: uppercase;
        color: #1c8e98;
        text-shadow: 0 1px 1px rgba(255, 255, 255, 1);
        box-shadow: inset 0 1px 0 rgba(183, 183, 183, 0.5), 0 2px 2px rgba(0, 0, 0, 0.3), 0 0 4px 1px rgba(0, 0, 0, 0.2);
        background: rgba(251, 251, 251, 0.6);
    }
    .dsg54-button-call-me:hover,
    .dsg54-button-call-me:visited {
        text-decoration: none;
        color: #1c8e98;
        background: rgba(251, 251, 251, 0.3);
        text-shadow: 0 1px 0 rgba(0, 0, 0, 0.6)
    }
    .dsg54-button-call-me:hover:after {
        width: 100%
    }
    .dsg54-button-call-me svg {
        padding: 0 0 5px;
        font-size: 2.2em;
        color: #1c8e98;
        fill: #1c8e98
    }
}

@media(min-width:501px) {
    .dsg54-button-call-me {
        visibility: hidden;
        display: none
    }
}

.button {
    display: inline-flex;
    text-align: center;
    font-size: 1.875rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color .25s ease-out, color .25s ease-out;
    vertical-align: middle;
    border: 1px solid transparent;
    border-radius: 0;
    padding: 0;
    margin: 1rem 0;
    background: 0;
    color: #1c8e98
}

.button:hover,
.button:focus {
    background-color: #1c8e98;
}

.button:focus {
    background: none;
    outline: none 
}

.button:hover {
    background: 0;
    text-decoration: none
}

.button:hover .link-text {
    color: #1c8e98 
}

.button .box {
    float: left;
    position: relative;
    width: 4rem;
    height: 4rem;
    overflow: hidden;
    padding: 2.95rem;
    border: 2px solid #1c8e98
}

.button .link-text {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    padding: 1.2rem;
    transition: all .2s cubic-bezier(0.77, 0, 0.175, 1);
    position: relative;
    font-size: 1em;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1)
}

.button .link-text:before {
    content: "";
    width: 0;
    height: 1px;
    left: 20px;
    bottom: 15px;
    display: block;
    position: absolute;
    background-color: #1c8e98;
    transition: all .5s cubic-bezier(0.77, 0, 0.175, 1)
}

@media(max-width:767px) {
    .button .link-text {
        font-size: .6em
    }
    .button .box {
        padding: 1.95rem
    }
}

.icon.colour-fill-primary svg {
    fill: #1c8e98
}

.icon {
    position: relative;
    display: inline-block;
    vertical-align: top
}

.icon svg {
    transition: all .3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    width: 100%;
    height: 100%;
    max-width: 100%;
    fill: #1f1f1f;
}

.info-ccm19
{
border-radius: 0.25rem;
font-size: 1.25rem;
line-height: 1.75rem;
font-weight: 400;
padding: 1rem;
border-width: 1px 1px 1px 6px;
border-style: solid;
box-shadow: 0 1px 5px 0 rgb(0 0 0 / 0.1), 0 1px 5px -1px rgb(0 0 0 / 0.1);

border-color: rgb(0 0 0 / 0.3);
border-left-color: #1c8e98;
background-color: #f9f9f9;
color: #333;
}

.info-ccm19 .content-ccm19
{
font-weight: 400;
font-size: 1.25rem;
line-height: 1.75rem;
margin: 0.5rem 0 0 0;
}

.info-ccm19 .title-svg
{
font-weight: 400;
font-size: 1rem;
line-height: 1.5rem;
margin: 0;
display: flex;
align-items: center;
}

.info-ccm19 .title-svg svg
{
margin-right: 0.5rem;
}

h3.nice-headline {
    display: block;
    padding: 0;
    margin: 12px 0;
    text-align: left;
    font-family: "Sandttord", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #777;
    font-size: 2.1em;
    line-height: 2.2em;
    font-weight: 400
}

h4.nice-subheadline {
    display: block;
    text-align: center;
    padding: .6em;
    font-size: 2.1em;
    line-height: 2.2em;
    margin: 0 0 0 .4em;
    font-family: "Sandttord", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    color: #777
}

h4.nice-blogheadline {
    display: block;
    padding: .4rem 0 .5rem .3rem;
    margin: 3rem 0 1rem 0;
    text-align: left;
    font-family: "Marcellus", Helvetica, Arial, sans-serif;
    letter-spacing: 0;
    font-size: 1.8rem;
    line-height: 2rem;
    text-indent: .5rem;
    font-weight: 400;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
    background-color: #e4e4e4;
    border-left: 3px solid #1c8e98;
    color: #777;
}


@media(max-width:767px) {
    h3.nice-headline {
        display: block;
        text-align: center;
        padding: 8px;
        margin: 20px 0 0;
        color: #777;
        font-size: 1.8em;
        line-height: 2.1em
    }
    h4.nice-subheadline {
        display: block;
        margin-top: 0;
        font-size: 1.8em;
        line-height: 2.2em;
        margin-bottom: 30px;
        padding: 8px;
        font-weight: 400;
        color: #777
    }
}

@media (max-width:500px) {
    h3.nice-headline {
        display: block;
        text-align: center;
        padding: 8px;
        margin: 20px 0 30px;
        color: #777;
        font-size: 1.7em;
        line-height: 2.2em;
        overflow: hidden
    }
    h4.nice-subheadline {
        display: block;
        margin-top: 20px;
        font-size: 1.6em;
        line-height: 2em;
        margin-bottom: 20px;
        font-weight: 400;
        color: #777
    }
}


.dsg54-customer-section-title {
    margin: 40px 0 0 10px;
    padding: 0;
    text-align: left
}

.dsg54-customer-subtitle-caption {
    margin: 0 0 10px 10px;
    padding: 0;
    color: #505050;
}

.dsg54-customer-section-title h3 {
    position: relative;
    margin: 0 0 10px 10px;
    padding: 0;
    word-wrap: break-word;
    font-family: "Sandttord", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-align: center;
    text-shadow: 0 1px 1px rgba(255, 255, 255, 1);
    font-weight: 300;
    letter-spacing: -2px;
    color: #505050;
}

@media (max-width:500px) {
    .dsg54-customer-section-title h3 {
        margin: 0 0 10px 10px;
        padding: .6em 0 0;
        font-size: 1.6em;
        line-height: 20px
    }

    .dsg54-customer-subtitle-caption {
        padding: 0;
        font-size: 1em;
    }
}

@media (min-width:501px) and (max-width:767px) {
    .dsg54-customer-section-title h3 {
        margin: 0 0 10px 10px;
        padding: .6em 0 0;
        font-size: 1.8em;
        line-height: 10px
    }
}

@media (min-width:768px) and (max-width:1199px) {
    .dsg54-customer-section-title h3 {
        margin: 0 0 10px 10px;
        padding: .6em 0 0;
        font-size: 2em;
        line-height: 13px
    }
}

@media (min-width:1200px) {
    .dsg54-customer-section-title h3 {
        margin: 0 0 10px 10px;
        padding: .6em 0 0;
        font-size: 2.2em;
        line-height: 25px
    }
}

h3.nice-headline.impressum {
    display: block;
    padding: 0;
    margin: 12px 0;
    text-align: center;
    font-family: "Sandttord", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #777;
    font-size: 1.6em;
    line-height: 1.4em;
    font-weight: 400
}

dl.dsg54-mustermann-impressum-anschrift {
    margin: 7px 0 20px
}

dl.dsg54-mustermann-impressum-anschrift dt {
    margin: 0 0 10px;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #777;
    font-size: 1.6em;
    line-height: 1.4em;
    font-weight: 400
}

dl.dsg54-mustermann-impressum-anschrift dd {
    margin: 0;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #333;
    font-weight: 400;
    font-size: 1.2em;
    line-height: 1.4em
}

dl.dsg54-mustermann-impressum-anschrift dd span {
    font-size: 1em;
}

p.impressum {
    margin: 0;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #333;
    font-weight: 400;
    font-size: 1.2em;
    line-height: 1.4em
}

#cookie-notice {
    display: none;
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999;
    max-width: 570px;
    margin: auto;
    padding: 1.8rem;
    border: 1px solid #777;
    background-color: #333;
    box-shadow: 0 0 .25rem rgba(255, 255, 255, 0.1);
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height: 1.6em;
    font-size: .9em;
    text-align: center;
    color: #fff;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5)
}

#cookie-notice .cookiey {
    position: absolute;
    top: -1.7em;
    left: -2.5em;
    width: 80px;
    height: 82px
}

@media (max-width:1024px) {
    #cookie-notice .cookiey {
        top: -0.5em;
        left: -1.2em;
        width: 60px;
        height: 62px
    }
}

a.cookie-notice-more {
    margin: 0 .25rem;
    color: #fff
}

a.cookie-notice-more:hover {
    color: #fff
}

a.cookie-notice-close {
    margin: 1rem 0 0;
    padding: .2rem .7rem;
    border: 1px solid #fff;
    border-radius: .3rem;
    line-height: 24px;
    text-decoration: none;
    color: #fff
}

a.cookie-notice-close:hover {
    text-decoration: none;
    color: #fff
}

@media (max-width:767px) {
    #cookie-notice .cookiey {
        display: none;
        visibility: hidden
    }
    #cookie-notice {
        padding: 1rem
    }
    .cookie-notice-close {
        margin: 0 0 0 1.8rem;
        padding: .5rem;
        line-height: 44px
    }
}

@media (min-width:768px) {
    .cookie-notice-close {
        float: right
    }
    #cookie-notice {
        padding: 1.2rem
    }
}

@media (min-width:1024px) {
    #cookie-notice {
        bottom: 1rem
    }
}

.go-top {
    position: fixed;
    z-index: 500;
    bottom: .5em;
    right: .5em;
    text-decoration: none;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.3);
    font-size: 30px;
    padding: .1em .3em;
    display: none;
    border-radius: 3px
}

.go-top:hover {
    background-color: rgba(0, 0, 0, 0.6);
    text-decoration: none
}

@media(max-width:1200px) {
    .go-top {
        position: fixed;
        bottom: 1.5em;
        right: .5em
    }
}

.d54footer {
    position: relative;
    margin-top: -140px;
    z-index: 2;
    padding-left: 140px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2)
}

.d54footer:before {
    position: absolute;
    top: 310px;
    left: 0;
    bottom: 0;
    right: 0;
    content: "";
    display: block;
    background-color: #333;
    z-index: 0
}

@media (max-width:1200px) {
    .d54footer:before {
        top: 180px
    }
}

@media (max-width:1200px) {
    .d54footer {
        padding-left: 90px;
        margin-top: -90px
    }
}

@media (max-width:767px) {
    .d54footer {
        padding-left: 0;
        margin-top: 0
    }
}

.d54footer a,
.d54footer a:hover,
.d54footer a:visited {
    text-decoration: none;
    transition: all .6s ease-in-out
}

.d54footer a:focus,
.d54footer a:active {
    outline: 0
}

.d54footer a {
    color: #e4e4e4
}

.d54footer a:hover {
    color: #fff
}

.d54footer_inner {
    position: relative;
    background-color: #333;
    min-height: 400px;
    padding-top: 95px;
    padding-bottom: 50px;
    padding-right: 70px;
    padding-left: 100px
}

@media (min-width:1200px) {
    .d54footer_inner,
    .d54footer_secondary {
        padding-left: 120px
    }
}

@media (max-width:1200px) {
    .d54footer_inner,
    .d54footer_secondary {
        padding-left: 60px
    }
}

@media (max-width:768px) {
    .d54footer_inner,
    .d54footer_secondary {
        padding-left: 45px
    }
}

@media (max-width:767px) {
    .d54footer_inner,
    .d54footer_secondary {
        padding-left: 30px
    }
}

@media (max-width:350px) {
    .d54footer_inner,
    .d54footer_secondary {
        padding-left: 15px
    }
}

@media (max-width:1024px) {
    .d54footer_inner {
        padding-right: 50px
    }
}

@media (max-width:1200px) {
    .d54footer_inner {
        padding-right: 60px
    }
}

@media (max-width:768px) {
    .d54footer_inner {
        padding-right: 45px
    }
}

@media  (max-width:767px) {
    .d54footer_inner {
        padding-right: 30px;
        padding-top: 60px
    }
}

@media (max-width:350px) {
    .d54footer_inner {
        padding-right: 15px
    }
}

.d54footer_inner_wrap {
    display: flex;
    justify-content: space-between
}

@media (max-width:1023px) {
    .d54footer_inner_wrap {
        display: block
    }
}

.d54footer_inner_main {
    flex: 0 1 770px
}

.d54footer_inner_address {
    display: flex;
    flex: 0 0 auto;
    color: #f9f9f9;
    margin: 10px 0 30px;
    white-space: nowrap;
    opacity: 1
}

.d54footer_inner_address a {
    font-weight: 400;
    margin-bottom: 10px
}

@media (max-width:575px) {
    .d54footer_inner_address a {
        margin-bottom: 49px
    }
}

@media (min-width:1024px) {
    .d54footer_inner_address {
        font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-weight: 300;
        font-size: 1.3em;
        line-height: 1.3em;
        letter-spacing: .2px
    }
}

@media (max-width:1023px) {
    .d54footer_inner_address {
        margin-left: 0;
        font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-weight: 300;
        font-size: 1.3em;
        line-height: 1.3em;
        letter-spacing: .2px;
        background: 0
    }
}

@media (max-width:767px) {
    .d54footer_inner_address {
        margin-bottom: 40px;
        font-family: "Marcellus",  "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-weight: 300;
        font-size: 1.3em;
        line-height: 1.3em;
        letter-spacing: .2px;
        background: 0
    }
}

.d54footer_inner_address span+span {
    margin-left: 46px
}

.d54footer_menu {
    display: flex;
    max-width: 770px;
    width: 100%;
    margin-left: 0;
    padding-left: 0;
    padding-bottom: 20px
}

.d54footer_menu_item {
    flex: 1;
    border-top: 1px solid #f9f9f9;
    padding-top: 12px;
    position: relative
}

.d54footer_menu_item+.d54footer_menu_item {
    margin-left: 30px
}

.d54footer_menu_item_link {
    color: #f9f9f9;
    margin-bottom: 4px
}

.d54footer_menu_item_link strong {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-size: 1.2em;
    line-height: 1.4em
}

.d54footer_menu_item_link-description {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: .7em;
    line-height: 1.6em;
    font-weight: 400;
    opacity: .8;
    letter-spacing: .1px;
    color: #f9f9f9;
    display: block
}

.d54-legacy {
    margin: 10px 0 40px 0
}

@media  (max-width:1023px) {
    .d54-legacy {
        margin: 40px 0 40px 0
    }
}

.d54-legacy h4 {
    color: #fff;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height: 1.2em;
    padding-bottom: .3em;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4)
}

.d54-legacy-reminder {
    margin: 2em 0;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: .8em;
    line-height: 1.2em;
    font-weight: 400;
    opacity: .6;
    color: #f9f9f9
}

.d54-legacy-open {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1.1em;
    line-height: 1.2em;
    font-weight: 400;
    color: #f2f2f2
}

.d54-legacy-open span {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1em;
    line-height: 1.2em;
    font-weight: 300;
    color: #fff
}

@media  (min-width:768px) and (max-width:1023px) {
    .d54-legacy-open span {
        font-size: 1em
    }
    .d54-legacy-open {
        font-size: 1.1em;
        line-height: 1.2em
    }
}

@media  (max-width:767px) {
    .d54-legacy-open span {
        font-size: .95em
    }
    .d54-legacy-open {
        font-size: 1em;
        line-height: 1.4em
    }
}

.d54-legacy-open.opacity-6 {
    opacity: .6
}

@media (max-width:1023px) {
    .d54footer_menu_legacy {
        max-width: 770px
    }
}

@media (max-width:767px) {
    .d54footer_menu_legacy {
        margin: 50px 0 0 ;
        display: flex;
        flex-wrap: wrap;
        list-style-type: none
    }
    .d54footer_menu_legacy_item {
        margin: 10px 0 0 ;
        display: flex;
        align-items: center;
        justify-content: center
    }
}

@media  (max-width:500px) {
    .d54footer_menu_legacy {
        display: flex;
        flex-wrap: wrap;
        list-style-type: none
    }
    .d54footer_menu_legacy_item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start
    }
}

.d54footer_menu_legacy {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0
}

.d54footer_menu_legacy_item {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1.1em;
    display: block;
    float: left;
    margin: 0
}

.d54footer_menu_legacy_item:after {
    position: relative;
    display: inline-block;
    content: "";
    background-color: #f9f9f9;
    width: 6px;
    height: 1px;
    top: -4px;
    margin-left: 12px;
    margin-right: 12px
}

.d54footer_menu_legacy::after {
    display: block;
    clear: both;
    content: ""
}

.d54footer_secondary {
    position: relative;
    display: flex;
    height: 140px;
    padding-right: 70px;
    align-items: center;
    justify-content: space-between;
    z-index: 1
}

@media (max-width:1024px) {
    .d54footer_secondary {
        height: 90px;
        padding-right: 50px
    }
}

@media  (max-width:767px) {
    .d54footer_secondary {
        height: 100px
    }
}

.d54footer_copyright {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 12px;
    line-height: 22px;
    font-weight: 400;
    letter-spacing: .2px;
    color: #fff
}

.d54footer_copyright a {
    color: #fff
}

.d54footer_copyright:after {
    position: relative;
    display: inline-block;
    content: "";
    background-color: #fff;
    width: 6px;
    height: 1px;
    top: -4px;
    margin-left: 8px;
    margin-right: 8px
}

.d54footer_cta {
    margin-bottom: 5px
}

@media  (max-width:767px) {
    .d54footer_cta {
        margin-bottom: 40px
    }
}

.d54footer_cta h2 {
    font-family: "Sandttord", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 300;
    color: #f9f9f9;
    margin-bottom: 60px;
    letter-spacing: -2px
}

@media  (min-width:1024px) {
    .d54footer_cta h2 {
        font-size: 2.8em;
        line-height: 1.3em
    }
}

@media  (max-width:1023px) {
    .d54footer_cta h2 {
        font-size: 2.2em;
        line-height: 1.3em;
        margin-bottom: 30px
    }
}

@media  (max-width:767px) {
    .d54footer_cta h2 {
        font-size: 2em;
        line-height: 1em;
        letter-spacing: -1px
    }
}

.d54footer_cta p {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 300;
    font-size: 1.2em;
    line-height: 1.2em;
    letter-spacing: .2px;
    color: #d6d6d6
}

@media  (max-width:767px) {
    .d54footer_cta p {
        font-size: 17px;
        line-height: 24px
    }
}

@media  (max-width:1023px) {
    .d54footer_cta_slogan br {
        content: " "
    }
}

p.d54footer_cta_slogan {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif
}

.d54footer_cta hr {
    display: block;
    height: 1px;
    border: 0;
    background-color: #f9f9f9;
    width: 40px;
    margin: 41px auto 17px 0
}

.d54footer_home {
    position: absolute;
    z-index: 1;
    bottom: 140px;
    left: 50px;
    transform-origin: left bottom;
    transform: translateX(25%) rotate(-90deg)
}

.d54footer_home_label {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    padding: 0 0 0 5px;
    color: #929292
}

@media  (max-width:1200px) {
    .d54footer_home {
        left: 27px
    }
}

@media (max-width:1024px) {
    .d54footer_home {
        bottom: 90px
    }
}

@media  (max-width:767px) {
    .d54footer_home {
        display: none
    }
}

.d54footer_home svg {
    width: 35px;
    height: 35px;
    fill: #f9f9f9
}

.d54footer_small-logo {
    display: none;
    fill: #f9f9f9;
    margin-bottom: 23px
}

@media  (max-width:767px) {
    .d54footer_small-logo {
        display: block
    }
}

.d54footer_social {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 12px;
    line-height: 22px;
    font-weight: 400;
    opacity: .4;
    letter-spacing: .2px;
    color: #f9f9f9;
    display: flex;
    align-items: center
}

.d54footer_social:hover {
    opacity: 1
}

.d54footer_social--mobile {
    display: none
}

@media  (max-width:767px) {
    .d54footer_social--mobile {
        display: flex
    }
}

@media (max-width:767px) {
    .d54footer_social--desktop {
        display: none
    }
}

.d54footer_social_label {
    display: inline-block;
    line-height: 20px
}

@media  (max-width:767px) {
    .d54footer_social_label {
        flex: 0 0 120px
    }
}

.d54footer_social_label:after {
    content: "";
    background-color: #f9f9f9;
    width: 26px;
    height: 1px;
    display: inline-block;
    position: relative;
    top: -4px;
    margin-left: 12px;
    margin-right: 18px
}

@media  (max-width:350px) {
    .d54footer_social .social-icons_icon {
        height: 34px;
        width: 34px
    }
}

.social-icons--dark {
    background: rgba(146, 146, 146, 0)
}

.social-icons_icon:hover:after {
    transform: scale(1)
}

.social-icons_icon svg {
    position: relative;
    z-index: 1;
    fill: currentColor
}

.line-link {
    position: relative;
    line-height: inherit;
    display: inline-block
}

@media  (min-width:1024px) {
    .line-link:after {
        content: "";
        position: absolute;
        width: 0;
        bottom: 0;
        height: 1px;
        background: currentColor;
        right: 0;
        transition: width .3s cubic-bezier(0.37, 0, 0.21, 1.02)
    }
    .line-link:hover:after {
        left: 0;
        right: auto;
        width: 100%
    }
}



.wrapper-reveal-ltrb {
    width: auto;
    height: auto;
    position: relative;
    margin: 0;
    padding: 0;
    content: " ";
    display: inline-block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden
}

.wrapper-reveal-ltrb:after {
    content: " ";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%
}

.cover-reveal {
    position: absolute;
    content: " ";
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
    background-color: #777
}

.cover-reveal.textrevealerh3 {
    width: auto;
    height: auto;
    max-height: 3.6em;
    margin: .4em 0 0 0;
    background-color: #1c8e98
}



.d54reveal
{
position: relative;
visibility: hidden;
width: 100%;
height: 100%;
max-width: 100%;
overflow: hidden;
}

.d54reveal.d54reveal-overlay
{
background: #1c8e98
}

.d54reveal img
{
width: 100%;
object-fit: cover;
height: auto;
}

.bloglist {
    margin: 0 0 20px 20px
}

.bloglist li {
    line-height: 21px;
    margin: 0 0 10px 29px;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 18px;
    color: #333;
    list-style-type: upper-roman
}


.ar-listing {
    float: left;
    margin: 1em 0 2em
}

.ar-listing li {
    float: left;
    width: 100%;
    list-style: square;
    list-style-position: inside;
    margin-left: 0;
    font-weight: 400;
    font-size: 1.25em;
    line-height: 32px;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #333
}

.ar-listing li strong {
    font-weight: 700
}

.dsg54home-social-media {
    display: none;
    flex-direction: column;
    position: fixed;
    top: 60%;
    z-index: 90;
    transform: translateY(-50%)
}

.dsg54home-social-media a {
    display: block;
    padding: 15px 5px;
    color: #929292
}

.dsg54home-social-media a:hover,
.dsg54home-social-media a:focus {
    color: #333;
    text-decoration: none
}

.dsg54scroll-sign {
    display: none;
    align-items: center;
    position: fixed;
    bottom: 35px;
    z-index: 90;
    transform: translateY(50%) rotate(-90deg);
    transform-origin: left center;
    color: #333;
    text-shadow: none;
    font-size: 11px;
    pointer-events: none;
    opacity: 1
}

.dsg54scroll-sign.disapear {
    opacity: 0
}

.dsg54scroll-sign:before {
    content: "";
    display: block;
    width: 55px;
    height: 1px;
    margin-right: 25px;
    background-color: #333
}

.dsg54scroll-sign span {
    display: block;
    width: 32px;
    height: 20px;
    position: relative;
    margin-right: 10px;
    border-radius: 300px;
    border: 1px solid #333
}

.dsg54scroll-sign span:before {
    content: "";
    width: 8px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #333
}

@media(min-width:992px) {
    .dsg54home-social-media {

        display: flex;
        left: 25px
    }
    .dsg54scroll-sign {

        display: flex;
        bottom: 50px;
        left: 35px
    }
}

@media(max-width:1023px) {
    .dsg54home-social-media {
        display: none;
        visibility: hidden
    }
    .dsg54scroll-sign {
        display: none;
        visibility: hidden
    }
}

@media(min-width:1024px) {
    .dsg54home-social-media {
        left: 40px
    }
    .dsg54scroll-sign {
        left: 60px
    }
}








.dsg54-mustermann-info-box-greystrip {
    padding-bottom: 30px;
    padding-top: 30px;
    text-align: center;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
	border: 1px solid #fff;
}

.dsg54-mustermann-info-box-greystrip.bg-grey {
    background: linear-gradient(to top, rgba(79, 79, 79, 0.92) 0%, rgba(69, 69, 69, 0.92) 100%);
}

.dsg54-mustermann-info-box-greystrip-heading {
    display: flex;
    align-items: center;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
}


@media (max-width: 767px) {
    .dsg54-mustermann-info-box-greystrip-heading {
        flex-direction: column;
    }
}
.dsg54-mustermann-info-box-greystrip-left {
    text-align: right;
    margin: 0;
    padding: 0;
}
.dsg54-mustermann-info-box-greystrip-left h2 {
    margin: 0;
    padding: 0;
    color: #f2f2f2;
    font-size: 1.8em;
    font-weight: 400;
    line-height: 1.1;
letter-spacing: -2px;
    font-family: "Sandttord", "Helvetica Neue", Helvetica, Arial, sans-serif;
    vertical-align: baseline;
}
.dsg54-mustermann-info-box-greystrip-left h3 {
    margin: 0;
    padding: 0;
    font-size: 1.5em;
    font-weight: 300;
    line-height: 1.1;
letter-spacing: -2px;
    font-family: "Sandttord", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #f9f9f9;
    vertical-align: baseline;
}
.dsg54-mustermann-info-box-greystrip-heading p {
    flex: 1;
    border-left: 1px solid #f2f2f2;
    line-height: 26px;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #f9f9f9;
    text-align: left;
}
@media (min-width: 1200px) {
    .dsg54-mustermann-info-box-greystrip-heading p {
        margin: 0 0 0 28px;
        padding: 12px 0 12px 20px;
        font-size: 1.2em;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .dsg54-mustermann-info-box-greystrip-heading p {
        margin: 0 0 0 16px;
        padding: 12px 0 12px 10px;
        font-size: 0.9em;
    }
}
@media (min-width: 501px) and (max-width: 991px) {
    .dsg54-mustermann-info-box-greystrip-heading p {
        margin: 0 0 0 28px;
        padding: 12px 0 12px 20px;
        font-size: 0.9em;
    }
}
@media (max-width: 500px) {
    .dsg54-mustermann-info-box-greystrip-heading p {
        margin: 20px 0 0 28px;
        padding: 12px 0 12px 20px;
        font-size: 1.1em;
    }
}
.dsg54-mustermann-info-box-greystrip .button-link-wrap-sec a {
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 500;
}






.label {
    position: absolute;
    top: 0;
    z-index: 100;
    width: 400px;
    transform: rotate(90deg);
    transform-origin: 0 0;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 14px;
    font-weight: 300;
    letter-spacing: 3px;
    color: #ccc;
    text-align: left;
    text-shadow: 0 1px rgba(255, 255, 255, 1)
}

.label span {
    vertical-align: middle;
    display: inline-block;
    margin-right: 20px;
    height: 2px;
    width: 30px;
    background: #ccc
}

.label strong {
    margin-right: 20px;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    color: #1f1f1f
}

.label-float.topy-100 {
    top: -100px
}

.label-float.topy80 {
    top: 80px
}

.label-float.topy0 {
    top: 0
}

.label-float {
    position: relative;
    left: 0;
    width: 100%;
    z-index: 50;
    text-transform: uppercase
}

@media(max-width:1023px) {
    .label-float {
        display: none
    }
}

.label-right {
    right: -340px;
    text-align: left
}

.label-left {
    left: 60px
}

.block-subtitle,
.button-arrow,
.d-inline-flex {

    display: inline-flex 
}










.dsg54-mustermann-news-info-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 30px;
    justify-content: center;
    padding: 45px 45px 90px
}

@media(min-width:1200px) {
    .dsg54-mustermann-news-info-container {
        padding: 0;
        max-width: 1160px;
        background: transparent;
        background-size: 50% 70%
    }
}

@media(min-width:992px) and (max-width:1199px) {
    .dsg54-mustermann-news-info-container {
        background-position: 55% 35%;
        background-size: 50% 33%
    }
}

@media(min-width:767px) and (max-width:991px) {
    .dsg54-mustermann-news-info-container {
        background-position: 42% 38%;
        background-size: 55% 33%
    }
}

.dsg54-mustermann-news-info {
    position: relative;
    flex-grow: 1;
    flex-basis: 280px;
    padding: 40px 25px 25px;
    max-width: 100%;
    background-color: #d6d6d6;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
    box-shadow: inset 0 -1px 3px rgba(0, 0, 0, 0.2);
    opacity: .9
}

.dsg54-mustermann-news-info:nth-child(2),
.dsg54-mustermann-news-info:nth-child(4) {
    background-color: #e4e4e4
}

.dsg54-mustermann-news-info:nth-child(3),
.dsg54-mustermann-news-info:nth-child(5) {
    background-color: #eee
}

.dsg54-mustermann-news-info:nth-child(1),
.dsg54-mustermann-news-info:nth-child(6) {
    background-color: #eee
}

.dsg54-mustermann-news-info-intro {
    position: relative;
    flex-grow: 1;
    flex-basis: 280px;
    padding: 40px 25px 25px;
    background-color: #f2f2f2;
    max-width: 100%;
    background: transparent
}

.dsg54-mustermann-news-info-intro h2 {
    margin: 0 0 .5em;
    font-size: 1.3em;
    line-height: 1.3em;
    font-weight: 500;
    color: #333;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif
}

.dsg54-mustermann-news-info-intro h5 {
    margin-top: 0;
    font-size: 2.1em;
    line-height: 2.1em;
    letter-spacing: -2px;
    font-weight: 400;
    color: #333;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif
}

.dsg54-mustermann-news-info h3 {
    margin: 0 0 1em;
    font-size: 2em;
    line-height: 1.2em;
    font-weight: 400;
    color: #333;
    font-family: "Sandttord", "Helvetica Neue", Helvetica, Arial, sans-serif
}

.dsg54-mustermann-news-info a {
    color: #1c8e98;
    font-weight: 300
}

.dsg54-mustermann-news-info-text {
    margin: 0 0 2em;
    font-weight: 300
}

.dsg54-mustermann-news-info-text p {
    font-size: 1em;
    line-height: 1.5em
}

.dsg54-mustermann-news-info-published {
    font-weight: 300;
    font-size: .8em;
    line-height: 1.2em;
    letter-spacing: .5px;
    margin: 0 0 5px
}

.dsg54-mustermann-news-info img {
    display: inline-block;
    width: 100%;
    height: auto
}

.dsg54-mustermann-news-info-details {
    margin: 1em 0
}

.dsg54-mustermann-news-info-info {
    display: inline-block
}

.time-date-author {
    padding: 0 0 1em 0;
    color: #999 ;
    font-size: .9em;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal;
    text-align: left
}

.entry-content {
    padding: 0
}

.entry-content p {
    text-align: justify
}

.entry-content figure.alignleft {
    float: left;
    margin-left: 0;
    margin-right: 20px
}

.entry-content figure.alignright {
    float: right;
    margin-right: 0;
    margin-left: 20px
}

.entry-content figure.alignleft:after,
.entry-content figure.alignright:after {
    clear: both
}

.entry-content figure {
    position: relative;
    padding: 2px;
    display: table;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(153, 153, 153, 0.25)
}

.entry-content figure:hover,
.entry-content figure:focus {
    border-color: #1c8e98;
    box-shadow: 0 1px 4px rgba(255, 102, 0, 0.25)
}

.entry-content figure img {
    display: block;
    width: 100%;
    height: 100%
}

.entry-content figure figcaption {
    clear: left;
    margin: .95em 0;
    text-align: center;
    font-style: italic;
    line-height: 1.5em;
    display: table-caption;
    caption-side: bottom;
    color: #999 ;
    font-size: .9em;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .5)
}

.author-box {
    margin: 40px 0 10px 0;
    padding: 0 0 20px 0;
    border-top: 1px solid #f2f2f2;
    border-bottom: 1px solid #f2f2f2
}

.author-box h3 {
    margin: 10px 0 10px 0;
    padding: 0;
    font-size: 1.4em;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal;
    color: #999
}

.author-left {
    float: left;
    width: 80px;
    margin: 0 15px 0 0
}

.author-right {
    float: left;
    font-size: 14px;
    margin: 5px 0 0 10px;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #999
}

.author-pic img {
    padding: 1px;
    background: #999
}

.author-name {
font-size: 1.1rem;
margin-top: 1.5rem;
}

.author-bio {
    padding: 5px 0 5px 0
}

.author-box .clearboth {
    clear: both
}

.recent-box h5 {
    margin: 0 0 10px 0;
    padding: 0;
    font-size: 1.4em;
    font-family: "Sandttord", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal;
    color: #999
}

.attachment-recent-thumbnails {
    padding: 1px;
    background: #1c8e98;
    width: 75px;
    height: 75px
}

.widget-posts {
    padding-left: 0;
    padding-right: 0 
}

.widget-posts li {
font-size: 1.45rem;
line-height: 2rem;
    padding: 10px 0;
    display: inline;
    float: left
}

.widget-posts li a {
    display: inline;
    line-height: 20px
}

.widget-posts li img {
    width: 75px;
    margin-right: 20px;
    float: left
}

.widget-posts-details {
    overflow: hidden;
    top: 0;
font-size: 1.25rem;
line-height: 1.6rem;
}

.widget-posts-details a {
    font-size: 1.2em;
    margin-bottom: 8px;
    line-height: 16px 
}

.comment-reply-link {
    position: relative;
    padding-left: 18px
}

.comment-reply-link:before {
    position: absolute;
    content: "";
    left: 0;
    top: -2px
}

.search-excerpt {
    padding: 3px;
    background-color: #ccc;
    color: #333
}

.pagination h2.screen-reader-text {
    display: none ;
    visibility: hidden 
}

.pagination {
    position: relative;
    display: block;
    padding: 0 0 40px 0;
    margin: 40px 0 0 0;
    border-radius: 0
}

.nav-links {
    position: relative
}

.nav-links ul {
    margin: 0;
    padding: 0
}

.nav-links li {
    list-style: none;
    margin: 0 12px 0 0;
    padding: 0;
    float: left;
    border-radius: 4px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, .2)
}

.nav-links li span.current {
    display: block;
    padding: 10px 12px;
    background: #777;
    border: 1px solid #777;
    line-height: 1;
    border-radius: 4px;
    color: #fff;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3)
}

.nav-links li a {
    padding: 10px 12px;
    background: #1c8e98;
    color: #f9f9f9;
    text-decoration: none;
    border: 1px solid #177b84;
    border-radius: 4px;
    display: block;
    line-height: 1;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3)
}

.nav-links li a.next,
.nav-links li a.prev {
    padding: 10px 12px;
    background: #1c8e98;
    color: #f9f9f9;
    text-decoration: none;
    border: 1px solid #177b84;
    border-radius: 4px ;
    display: block;
    line-height: .9
}

.nav-links li a:hover {
    background: #999;
    border-color: #777;
    color: #f9f9f9;
    border-radius: 4px;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3)
}

.pagination>li>a,
.pagination>li>span {
    padding: 10px 12px;
    margin-left: -1px;
    border-radius: 4px ;
    border: 0
}

.dsg54-pageloader
{
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
width: 160px;
height: 160px;
z-index: 9999999;
opacity: 0;
transform: scale(1.2);
}

.dsg54-pageloader p
{
text-align: center;
color: #333;
}

.dsg54-pageloader-curtain
{
position: fixed;
width: 100%;
height: 100%;
right: 0;
z-index: 999999;
background: #f9f9f9;
}

.dsg54-navmenu-curtain
{
position: fixed;
width: 0;
height: 100%;
right: 0;
left: auto;
z-index: 999999;
overflow: hidden;
}

.d54-menu
{
position: fixed;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
background: #1f1f1f;
transition: left 0.3s linear;
}

.dsg54-menu-opener
{
position: fixed;
top: 0;
right: 0;
width: auto;
max-width: 100px;
height: 100px;
padding: 37px 40px 40px 30px;
cursor: pointer;
z-index: 9999999;

transform: translate3d(130px, 0, 0);
background-color: #177b84;
vertical-align: middle;
transition: all .5s;

text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);

box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.3);
}

.dsg54-menu-opener span,
.dsg54-menu-closer span
{
font-weight: normal;
font-size: 0.7em;
display: block;
text-transform: uppercase;
letter-spacing: 1px;
margin-top: 0;
color: #fff;
}

.dsg54-menu-opener.top
{
margin-top: 0;
top: 0;
}

@media (min-width:768px) 
{
.dsg54-menu-opener {
    top: 50%;
    margin-top: -45px;
  }
}

@media (max-width: 767px)
{
.dsg54-menu-opener {
    top: 10%;
    margin-top: -45px;
  }
}

.dsg54-hamburger-open-1
{
position: relative;
float: left;
display: block;
width: 30px;
height: 1px;
background: #fff;
margin-bottom: 6px;
transition: all 0.25s cubic-bezier(0, 0.47, 0.44, 1);

}

.dsg54-hamburger-open-2
{
position: relative;
float: left;
display: block;
width: 40px;
height: 1px;
background: #fff;
margin-bottom: 6px;
transition: all 0.2s cubic-bezier(0, 0.47, 0.44, 1);

}

.dsg54-hamburger-open-3
{
position: relative;
float: left;
display: block;
width: 30px;
height: 1px;
background: #fff;
margin-bottom: 2px;
transition: all 0.18s cubic-bezier(0, 0.47, 0.44, 1);

}

.dsg54-menu-opener:hover .dsg54-hamburger-open-1 {
    width: 20px
}

.dsg54-menu-opener:hover .dsg54-hamburger-open-2 {
    width: 50px
}

.dsg54-menu-opener:hover .dsg54-hamburger-open-3 {
    width: 20px
}

.dsg54-menu-closer
{
position: fixed;
top: 0;
right: 0;
width: auto;
max-width: 100px;
height: 100px;
padding: 37px 40px 40px 30px;
cursor: pointer;
z-index: 9999999;

transform: translate3d(130px, 0, 0);
background-color: #177b84;
vertical-align: middle;
transition: all .5s;

text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);

box-shadow: 0px 0px 3px 1px rgba(0,0,0,.3);
}

.dsg54-hamburger-close-1
{
position: relative;
float: right;
display: block;
width: 20px;
right: 0;
height: 1px;
background: #fff;
margin-bottom: 6px;
transition: all 0.25s cubic-bezier(0, 0.47, 0.44, 1);

}

.dsg54-hamburger-close-2
{
position: relative;
float: right;
display: block;
width: 50px;
height: 1px;
right: 0;
background: #fff;
margin-bottom: 6px;
transition: all 0.2s cubic-bezier(0, 0.47, 0.44, 1);

}

.dsg54-hamburger-close-3
{
position: relative;
float: right;
display: block;
width: 20px;
height: 1px;
right: 0;
background: #fff;
margin-bottom: 6px;

transition: all 0.12s cubic-bezier(0, 0.47, 0.44, 1);

}

.dsg54-menu-closer:hover .dsg54-hamburger-close-1 {
    width: 20px;
    right: 30px
}

.dsg54-menu-closer:hover .dsg54-hamburger-close-3 {
    width: 20px;
    right: 30px
}

.dsg54-hero-page-container
{
height: 100%;
z-index: 2;
}

.dsg54-hero-headsection {
    position: relative;
    height: 100vh;
    z-index: 1;
    overflow: hidden;
}








.dsg54-hero-headsection .dsg54-headerimage {
    position: relative;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center center;
    background-origin: content-box;
    overflow: hidden;
}



@media (max-width:500px) {
    .dsg54-hero-headsection .dsg54-headerimage {
background-image: url(../img/03-headpics/mustermann-header-picture-001-300.webp); 
    }
}

@media (min-width:501px) and (max-width:767px) {
    .dsg54-hero-headsection .dsg54-headerimage {
        background-image: url(../img/03-headpics/mustermann-header-picture-001-960.webp); 
    }
}

@media (min-width:768px) {
    .dsg54-hero-headsection .dsg54-headerimage {
        background-image: url(../img/03-headpics/mustermann-header-picture-001-1600.webp); 
    }
}










.dsg54-hero-headsection .dsg54-headlinesection-slogan-box {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
}

.dsg54-hero-headsection .d54-blurring {
    width: 100%;
    height: 100%;
    opacity: 1;
    background: transparent;
    background-position: center center;
    transform-origin: center;
    margin-left: auto;
    margin-right: auto;
    position: absolute;

    clip-path: inset(0 0 0 0);

    transition: all 1300ms cubic-bezier(0.19, 1, 0.22, 1);

    backface-visibility: hidden;
}


.dsg54-headlinesection-slogan h1
{
position: relative;
font-family: "Sandttord", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: 400;
color: #f9f9f9;
letter-spacing:-2px;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.7);
margin: 0;
padding: 0;
line-height: 1;
display: inline-block;
}

.dsg54-headlinesection-slogan h2
{
position: relative;
font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: 300;
line-height: 1;
color: #f9f9f9;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.7);
margin: 0;
padding: 0;
width: 100%;
}



@media  (max-width: 575px) {
    .dsg54-headlinesection-slogan h1 {
        font-size: 2.6em
    }

.dsg54-headlinesection-slogan h2 {
    font-size: 1.2em;
   }
}

@media  (min-width: 576px) and (max-width: 767px) {
    .dsg54-headlinesection-slogan h1 {
        font-size: 2.8em
    }

.dsg54-headlinesection-slogan h2 {
    font-size: 1.2em;
   }
}

@media  (min-width: 768px) {
    .dsg54-headlinesection-slogan h1 {
        font-size: 3.4em
    }

.dsg54-headlinesection-slogan h2 {
    font-size: 1.4em;
   }
}



.wrapper-reveal-left-to-right
{
position: relative;
content: " ";
display: inline-block;   
top: 0;
left: 0;
right: 0;
bottom: 0;
width: auto;
height: auto;
margin: 0;
padding: 0;
overflow: hidden;
}

.wrapper-reveal-cover-reveal
{
position: absolute;
content: " ";
display: block;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
   margin: 0;
   padding: 0;
background-color: #1c8e98;
overflow: hidden;
}

.dsg54scrollto {
    color: #fff;
    position: absolute;
    bottom: -20px;
    font-size: 1em;
    letter-spacing: 3px;
    text-indent: 1px;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    min-width: 50px;
}

.dsg54scrollto .dsg54scrollto-text {
    height: 35px;
    overflow: hidden;
    position: relative;
    display: inline-block;
    margin-bottom: 0px;
}

.dsg54scrollto .dsg54scrollto-text p {
    text-transform: uppercase;
    font-size: 1em;
    color: #fff;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
}

.dsg54scrollto .dsg54scrollto-contentliner {
    height: 0;
    width: 1px;
    background: #177b84;
    position: relative;
    left: 50%;
    margin-left: -0.5px
}

.dsg54-customer-logo {
    width: 98px;
    position: fixed;
    left: 45px;
    top: 35px;
    z-index: 999999;
    mix-blend-mode: exclusion
}

@media  (max-width: 768px) {
    .dsg54-customer-logo {
        width: 70px;
        position: fixed;
        left: 45px;
        top: 30px;
        z-index: 999999
    }
}

.dsg54-customer-logo .st0 {
    fill: #ccc
}

.dsg54-customer-logo .st1 {
    fill: #fff
}

[class^=vline]
{
width: 1px;
height: 100%;
background: rgba(255, 255, 255, .2);
position: absolute;
top: 0;
bottom: 0;
transform: scaleY(0);
transform-origin: top left;
animation-name: lineanim;
animation-iteration-count: infinite;
animation-timing-function: cubic-bezier(.785, .135, .15, .86);
animation-duration: 3s;
z-index: 1;
}

.vline-1
{
left: 20%;
animation-delay: 1s
}

.vline-2
{
left: 40%;
animation-delay: 0s
}

.vline-3
{
left: 60%;
animation-delay: 2s
}

.vline-4
{
left: 80%;
animation-delay: 1.5s
}


@media (max-width:500px)
{
[class^=vline],
.vline-1,
.vline-2,
.vline-3,
.vline-4 {
    visibility: hidden;
    display: none;
  }
}

@keyframes lineanim {
    50% {

        transform: scaleY(1);

        transform-origin: top left;
    }
    50.1% {

        transform-origin: bottom left;
    }
    100% {

        transform: scaleY(0);

        transform-origin: bottom left;
    }
}

.dsg54menu_vline {
    position: relative;
    z-index: 3;
    width: 1px;
    height: 100%;
    background: #333;
    opacity: 1;
}

.dsg54menu_left_part {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 50px 2.9% 41px;
}

.dsg54menu_right_part {
    padding: 0 0 0 10px;
    position: relative;
    z-index: 2;
    height: 100%;
    width: 80%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.dsg54-nav-logo
{
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
transform: translate3d(0, 0, 0);
animation-duration: 1s;
animation-delay: 1s;
background:url(../img/02-bg/logo-030.svg) transparent;
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: 50% 50%;
}

@media  (max-width: 768px) {
    .dsg54menu_right_part {
        width: calc(100% - 2.9% - 43px - 2.9%);
        padding: 0;
    }
}
.dsg54menu_links_list {
    padding: 0;
    margin: 0;
    list-style: none;
    min-width: 320px;
}
@media  (max-width: 767px) {
    .dsg54menu_links_list {
        margin: 0 0 0 8em;
    }
}
@media screen and (min-width: 768px) {
    .dsg54menu_links_list {
        margin: 0 0 0 7em;
    }
}
.dsg54menu_links_item {
    margin: 20px 0;
    overflow: hidden;
    width: 100%;
    min-width: 320px;
}

@media (max-width: 768px) {
    .dsg54menu_links_item {
        margin: 30px 0;
    }
}
.dsg54menu_close {
    cursor: pointer;
    height: 35px;
    width: 35px;
}
.dsg54menu_links_item_link {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
    font-size: 3.5vh;
    font-weight: 400;
    letter-spacing: 0.02em;
    display: block;
    position: relative;
    overflow: hidden;
    float: left;
    text-decoration: none ;
}

.dsg54menu_links_item_link.email,
.dsg54menu_links_item_link.social {
    font-size: 18px;
}
a.dsg54menu_links_item_link:hover {
    color: #f9f9f9;
}
a.dsg54menu_links_item_link {
    color: #e4e4e4;
}
.dsg54menu_links_item_link:before,
.dsg54menu_links_item_link:after {
    width: 100%;
    height: 4px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    content: "";
    background-color: #fff;
}
.dsg54menu_links_item_link:after {
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(102%, 0, 0);
    opacity: 1;
}
.dsg54menu_links_item_link:before {

    transform: translate3d(-102%, 0, 0);
    opacity: 0;
}
.dsg54menu_links_item_link:hover:before {
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translateZ(0);
    opacity: 1;
}
.dsg54menu_links_item_link:hover:after {
    transform: translateZ(0);
    opacity: 0;
    transition: none;
}
.dsg54menu_logo {
    width: 43px;
    height: 43px;
    overflow: hidden;
}
.dsg54menu_logo svg {
    width: 100%;
    height: 100%;
}

li.has-sub a,
li.has-sub {
    cursor: pointer ;
}

li .sub-menu {
    position: relative;
    display: none;
    clear: both;
    float: left;
    margin: 0;
    padding: 0;
    white-space: nowrap;
    min-width: 280px;
}

.sub-menu li {
    display: block;
    padding: 4px 0;
    margin: 0;
}

.sub-menu li a {
    display: block;
    cursor: pointer;
    padding: 0;
    z-index: 1;
    text-decoration: none;
    font-size: 1.2em;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 400;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.sub-menu li:hover > a,
.sub-menu li.subopen > a,
.sub-menu li.active > a {
    color: #fff;
}
.slidemenu54-addresses {
    position: relative;
    z-index: 1;
    width: 100%;
    padding-left: 345px;
    margin: 0 0 -120px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    transform: translateY(-120px);
}


.dsg54slidemenu-address {
    opacity: 1;
}
.dsg54slidemenu-address a,
.dsg54slidemenu-address a:hover {
    color: #f9f9f9;
}
.dsg54slidemenu-address a:hover {
    text-decoration: none;
}
.slidemenu54-addresstitle {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
    font-size: 1.15em;
    color: #f9f9f9;
    line-height: 23px;
}
.slidemenu54-addresstitle span.gmbh {
    font-size: 0.6em;
    color: #f9f9f9;
    line-height: 0.8em;
}
.slidemenu54-addressinfo {
    opacity: 1;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
    font-size: 1.105em;
    color: #f9f9f9;
    line-height: 18px;
}

@media (min-width: 1501px) {
    .slidemenu54-addresses {
        padding-left: 300px;
        width: 95%;
    }
}
@media (max-width: 1500px) and (min-width: 1200px) {
    .slidemenu54-addresses {
        padding-left: 200px;
        width: 100%;
    }
    .slidemenu54-addressinfo,
    .slidemenu54-addresstitle {
        font-size: 1.1em;
    }
}
@media (max-width: 1199px) and (min-width: 921px) {
    .slidemenu54-addresses {
        padding-left: 30px;
        max-width: 965px;
    }
    .slidemenu54-addressinfo,
    .slidemenu54-addresstitle {
        font-size: 1.05em;
    }
}
@media (max-width: 920px) and (min-width: 681px) {
    .slidemenu54-addresses {
        padding-left: 5px;
        padding-right: 5px;
        max-width: 100%;
    }
    .slidemenu54-addressinfo,
    .slidemenu54-addresstitle {
        font-size: 0.85em;
    }
}
@media (min-width: 681px) and (max-height: 830px) {
    .slidemenu54-addresses {
        margin-top: 60px;
    }
}
@media (max-width: 680px) {
    .slidemenu54-addresses {
        display: none;
    }
}
@media (min-width: 681px) and (max-height: 720px) {
    .slidemenu54-addresses {
        display: none;
    }
}

.dsg54-sidekick-quote {
    position: relative;
    padding-left: 1em;
    border-left: .2em solid #1c8e98;
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 1.8em;
    line-height: 1.5em;
    font-weight: 100;
    color: #333
}

.dsg54-sidekick-quote:before,
.dsg54-sidekick-quote:after {
    font-family: "Marcellus", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #1c8e98;
    font-size: 2em
}

.dsg54-sidekick-quote:before {
    content: "\201e"
}

.dsg54-sidekick-quote:after {
    content: "\201c"
}

.dsg54-sidekick-quote cite {
    font-family: "Sandttord", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: .8em;
    text-align: center;
    top: 50%;
    color: #333;
}

.dsg54-sidekick-quote cite:before {
    content: "\2015"
}




.dsg54-space1vw {
height: calc(1vw + 3em);
}

.dsg54-space2vw {
height: calc(2vw + 3em);
}

.dsg54-space3vw {
height: calc(3vw + 3em);
}

.dsg54-space4vw {
height: calc(4vw + 3em);
}

.dsg54-space5vw {
height: calc(5vw + 3em);
}

.dsg54-space10vw {
height: calc(10vw + 3em);
}





