/* Global */
* {
    box-sizing: border-box;
}
html {
    position: relative;
    min-height: 100%;
}
body {
    font-size: 16px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    color: #393939;
    line-height: 1.5;
}
.main-wrapper {
    max-width: 1700px;
    margin: 0 auto;
    background: #fff;
    margin-bottom: 60px;
}
.container {
    width: 100%;
    min-height: 100%;
    max-width: 1160px;
    padding: 0 10px;
    margin: 0 auto;
    display: block;
}
.container-wide {
    width: 100%;
    min-height: 100%;
    padding: 0 10px;
    margin: 0 auto;
    display: block;
    max-width: 1700px;
}
.dmbox {
    background: #f5f5f5;
    border: 1px solid #666;
    border-radius: 5px;
    padding: 1em;
    display: block;
    box-shadow: 2px 2px 4px rgba(0,0,0,.75);
    color: #666;
    font-size: 12px;
}
.blockquote {
    border-left: 5px solid #ddd;
    margin: 1em 0;
    padding: 0 0 0 20px;
}
.clearfix:after {
  content: " ";
  display: table;
  clear: both;
}

/*.left {
    float: left;
}*/
nav ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
section:after,
nav:after,
nav ul:after,
.container:after {
    content: " ";
    display: table;
    clear: both;
}
nav li {
    display: inline-block;
    width: auto;
    text-align: center;
}
nav li:last-child {
    margin-right: 0 !important;
}
a {
    text-decoration: none;
}
.btn {
    padding: 8px 18px;
    border: 1px solid #ddd;
    border-radius: 2px;
    display: inline-block;
    font-weight: 600;
}
.amount {
    font-weight: 600;
}
.amount:before {
    content: "€ ";
}
.form-control {
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-radius: 2px;
    width: 100%;
    margin-bottom: .5em;
    color: #393938;
}
.form-control:focus {
    outline: 1px;
    border-width: 1px;
    border-color: #fff;
    box-shadow: 0px 0px 4px #fff;
}
.center-block {
    margin: 0 auto;
    display: block;
}
.img-responsive {
    max-width: 100%;
    height: auto;
    display: block;
}

footer {
    height: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

/* Success/Error Message for Contact-Form */
.message {
    position: fixed;
    z-index: 2500;
    top: 30%;
    left: 50%;
    margin-left: -250px;
    right: auto;
    bottom: auto;
    width: 500px;
    text-align: center;
    background: #2c2c2b;
    color: #fff;
    padding: .25em .5em;
    border-radius: 4px;
    box-shadow: 1px 2px 4px rgba(0,0,0,.75);
    border: 1px solid #fff;
    font-weight: 300;
}
.message .lead {
    font-size: 1.25em;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
}
.message.error {
    background: #c51212;
}
.message.success {
    background: #5cb92e;
}

/* Grid System */
.row {
    position: relative;
}
.row:after {
    content: " ";
    display: table;
    clear: both;
}
[class^=col-] {
    float: left;
    padding: 0 10px;
}
[class^=col-]:first-child {
    padding-left: 0px;
}
[class^=col-]:last-child {
    padding-right: 0px;
}
.hidden-mobile {
    display: block;
}
.visible-mobile {
    display: none;
}
.col-1 {
    width: 8.33333333%;
}
.col-2 {
    width: 16.66666667%;
}
.col-3 {
    width: 25%;
}
.col-4 {
    width: 33.33333333%;
}
.col-5 {
    width: 41.66666667%;
}
.col-6 {
    width: 50%;
}
.col-7 {
    width: 58.33333333%;
}
.col-8 {
    width: 66.66666667%;
}
.col-9 {
    width: 75%;
}
.col-10 {
    width: 83.33333333%;
}
.col-11 {
    width: 91.66666667%;
}
.col-12 {
    width: 100%;
}
.col-offset-1 {
    margin-right: 8.33333333%;
}
.col-offset-2 {
    margin-right: 16.66666667%;
}
.col-offset-3 {
    margin-right: 25%;
}
.col--offset-4 {
    margin-right: 33.33333333%;
}
.col-offset-5 {
    margin-right: 41.66666667%;
}
.col-offset-6 {
    margin-right: 50%;
}
.col-offset-7 {
    margin-right: 58.33333333%;
}
.col-offset-8 {
    margin-right: 66.66666667%;
}
.col-offset-9 {
    margin-right: 75%;
}
.col-offset-10 {
    margin-right: 83.33333333%;
}
.col-offset-11 {
    margin-right: 91.66666667%;
}
.col-offset-12 {
    margin-right: 100%;
}

@media screen and (max-width: 992px) and (orientation: portrait) {
    [class^=col-] {
        float: none;
        display: block;
        padding: 0;
    }
    .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
        width: 100%;
    }
    .hidden-mobile {
        display: block;
    }
    .visible-mobile {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    [class^=col-] {
        float: none;
        display: block;
        padding: 0;
    }
    .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
        width: 100%;
    }
    .col-offset-1, .col-offset-2, .col-offset-3,
    .col-offset-4, .col-offset-5, .col-offset-6,
    .col-offset-7, .col-offset-8, .col-offset-9,
    .col-offset-10, .col-offset-11, .col-offset-12 {
        margin-right: 0;
    }
    .hidden-mobile {
        display: none;
    }
    .visible-mobile {
        display: block;
    }
}




/*404*/
body.notfound {
    margin-bottom: 43px;
}
body.notfound footer {
    padding: 0;
}
body.notfound footer .copyright {
    margin-top: 0;
}


/* Main */
body {
    padding-top: 44px;
    margin-bottom: 692px;
}
.btn-primary {
    background: #ba5443;
    border-color: #ba5443;
    color: #fff;
}
.btn-secondary {
    background: #393938;
    border-color: #393938;
    color: #fff;
}
a {
    text-decoration: none;
    color: #ba5443;
    font-weight: 600;
}
h4 {
    margin: 0 0 5px;
}


/* Pagination */
.pagination {
    list-style: none;
    padding: 0;
    margin: 0;
    float: right;
}
.pagination:after {
    content: " ";
    display: table;
    clear: both;
}
.pagination li {
    float: left;
    margin-right: 5px;
    line-height: 2em;
}
.pagination li a,
.pagination li span{
    padding: 5px 10px;
}
.pagination li a {
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 2px;
    color: #000;
}
.pagination li span.gap {
    color: #999;
}
.pagination li span.current {
    background: #ddd;
    border: 1px solid #ddd;
    border-radius: 2px;
}

/* Login Screen */
.login-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5050;
    background: rgba(0,0,0,.85);
    display: none;

}
.login-screen .login-form {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    position: relative;
    background: #fff;
    padding: 25px;
    top: 40%;
    transform: translate(0, -50%);
    text-align: center;
}
.login-screen .login-form .btn-close {
    position: absolute;
    top: 5px;
    right: 5px;
    text-decoration: none;
    padding: 5px 8px;
    font-weight: 600;
    color: #ba5443;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 12px;
    line-height: 12px;
}
.login-screen .login-form p.lead {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 20px;
}
.login-screen .login-form input {
    width: 100%;
    display: block;
    margin: 5px auto;
    text-align: center;
}
.login-screen .login-form input:focus {
    border: 1px solid #999;
}
.login-screen .login-form .btn {
    margin-top: 15px;
    width: 49%;
    margin-right: 1%;
    float: left;
}
.login-screen .login-form .btn.btn-primary,
.login-screen .login-form .btn.btn-secondary {
    font-size: 14px;
    line-height: 24px;
    font-weight: 400;
}
.login-screen .login-form .btn:last-child {
    margin-right: 0;
}
.login-screen .login-form .red {
    color: #ba5443;
}


/* Globalnav */
#globalnav {
    background: #393938;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    display: block;
    width: 100%;
    font-size: 14px;
}
#globalnav ul {
    text-align: center;
}
#globalnav li {
    position: relative;
    top: -1px;
}
#globalnav li a {
    color: #eee;
    line-height: 1;
    font-weight: 300;
    font-size: 1em;
    padding: 15px 0;
    display: block;
    transition: all .15s ease-in; /* explorer 10 */
    -webkit-transition: all .15s ease-in; /* chrome & safari */
    -moz-transition: all .15s ease-in; /* firefox */
    -o-transition: all .15s ease-in; /* opera */
}
#globalnav li a:focus,
#globalnav li a:hover,
#globalnav li.active a {
    color: rgba(255,255,255, .5);
}
#globalnav li a > img {
    height: 14px;
    position: relative;
    top: 2px;
}


/* Teaser */
#teaser {
    min-height: 700px;
    background: url(../images/teaser-bg.jpg) no-repeat bottom right #fff;
    background-size: contain;
    padding-top: 7em;
}
#teaser img {
    max-width: 150px;
}
#teaser h1 {
    font-size: 3.5em;
    margin: 0 0 10px;
}
#teaser p {
    margin: 5px 0;
    color: #666;
    font-weight: 300;
}
#teaser .btn-group {
    margin-top: 2.5em;
}

/* Teaser Subsite Kundendienst */
#content.subsite .teaser {
    min-height: 500px;
    background: url(../images/teaser-bg.jpg) no-repeat bottom right #fff;
    background-size: contain;
    padding-top: 4em;
}
#content.subsite .teaser img {
    max-width: 150px;
}
#content.subsite .teaser h1 {
    font-size: 3.5em;
    line-height: 1;
    margin: 0 0 10px;
}
#content.subsite .teaser p {
    margin: 5px 0 0;
    color: #666;
    font-weight: 400;
    font-size: 16px;
    line-height: 16px;
}
#content.subsite .teaser p.headline-detail {
    margin: 10px 0;
    color: #666;
    font-weight: 300;
    font-size: 14px;
    line-height: 16px;
}
#content.subsite .teaser .btn-group {
    margin-top: 2.5em;
}


/* Subteaser */
#subteaser {
    height: 280px;
    background: url(../images/subteaser-bg.jpg) no-repeat center bottom #f5f5f5;
    background-size: cover;
    padding: 5em 0;
    text-align: center;
}
#subteaser h1 {
    color: #fff;
    text-shadow: 2px 2px 1px rgba(0,0,0,.5);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 3em;
    margin: 0 0 15px;
    line-height: 1;
}
#subteaser p.lead {
    color: #fff;
    text-shadow: 1px 1px 1px rgba(0,0,0,.5);
    font-size: 20px;
    line-height: 1;
    font-weight: 600;
    margin: 0;
}
/* Breadcrumb */
#breadcrumb {
    margin: 1em 0 1.5em;
}
#breadcrumb ol {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    list-style: none;
    margin: 0;
    font-size: 12px;
    padding: .5em .25em;
}
#breadcrumb ol:after {
    content: " ";
    display: table;
    clear: both;
}
#breadcrumb li {
    float: left;
    margin-right: 10px;
}
#breadcrumb li:first-child:after {
    content: " ";
    margin-left: 0;
}
#breadcrumb li:after {
    content: "/";
    margin-left: 10px;
}
#breadcrumb li:last-child {
    margin-right: 0
}
#breadcrumb li:last-child:after {
    content: " ";
    margin-left: 0;
}
#breadcrumb li a {
    color: #ba5443;
    text-decoration: none;

}
#breadcrumb li:last-child a {
    color: #393938;
    font-weight: 600;
    cursor: text;
}

/* Caption */
#content .caption {
    margin: -2em 0 4.5em;
}
#content .caption table {
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 4px;
    font-size: 12px;
    color: #777;
}

/* Timeline */
#content .timeline {
    transform: scaleY(-1);
}
#content .timeline ol li {
    transform: scaleY(-1);
}
#content .timeline.dm {
    transform: scaleY(1);
}
#content .timeline.dm ol li {
    transform: scaleY(1);
}
#content .timeline .dmbox {
    max-width: 400px;
    display: block;
    margin-top: 4em;
}
#content .timeline .dmbox.center {
    display: inline-block;
    width: 400px;
    margin: 0 auto;
    text-align: center;
    left: 50%;
    margin-left: -200px;
    margin-bottom: 2em;
    position: relative;
}
#content .timeline ol li {
    list-style-type: none;
    position: relative;
    width: 6px;
    margin: 0 auto;
    padding-top: 0;
    margin-top: -30px;
    background: #ddd;
}
#content .timeline ol li::after {
    content: '';
    position: absolute;
    background: #ddd;
}
#content .timeline ol li.in-view::after {
    background: #b5b5b5;
    transition: background .5s ease-in-out;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
}
#content .timeline ol li > div {
    position: relative;
    bottom: 0;
    width: 400px;
    min-height: 132px;
    padding: 15px;
    background: #f7f7f7;
    border: 1px solid #b5b5b5;
    box-shadow: 0 2px 4px rgba(0,0,0,0.18);
    border-radius: 4px;
    visibility: hidden;
    opacity: 0;
    transition: all .5s ease-in-out;
}
#content .timeline ol li > div::before {
    content: '';
    position: absolute;
    bottom: 7px;
    width: 0;
    height: 0;
    border-style: solid;
}
#content .timeline ol li > div::after {
    content: '';
    display: table;
    clear: both;
}
#content .timeline ol li:nth-child(odd) > div {
    left: 45px;
    transform: translate3d(-200px, 0,0);
}
#content .timeline ol li:nth-child(odd) > div::before {
    left: -16px;
    border-width: 8px 16px 8px 0;
    border-color: transparent #b5b5b5 transparent transparent;
}
#content .timeline ol li:nth-child(even) > div {
    left: -439px;
    transform: translate3d(-200px,0,0);
}
#content .timeline ol li:nth-child(even) > div::before {
    right: -16px;
    border-width: 8px 0 8px 16px;
    border-color: transparent transparent transparent #b5b5b5;
}
#content .timeline ol li.in-view > div {
    transform: none;
    visibility: visible;
    opacity: 1;
}
#content .timeline ol li > div time {
    float: left;
    min-height: 100px;
    min-width: 100px;
    background: #ccc;
    border-radius: 2px;
    margin: 0 .5em .15em 0;
    color: #fff;
    font-weight: 600;
    padding: 72px 10px 10px 10px;
    font-size: 18px;
    line-height: 16px;
}
#content .timeline ol li > div p {
    font-size: 14px;
    line-height: 20px;
    margin: 0 0 5px;
    color: hsl(209, 9%, 49%);
    letter-spacing: .5px;
    text-align: left;
}
#content .timeline ol li > div p.lead {
    font-size: 18px;
    line-height: 1.5;
    color: #ba5443;
    margin-bottom: 15px;
    letter-spacing: .35px;
}
#content .timeline ol li.company > div time {
    background: #ba5443;
    background: -moz-linear-gradient(-45deg, #ba5443 52%, #aa4535 100%);
    background: -webkit-linear-gradient(-45deg, #ba5443 52%,#aa4535 100%);
    background: linear-gradient(135deg, #ba5443 52%,#aa4535 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ba5443', endColorstr='#aa4535',GradientType=1 );
}
#content .timeline ol li.product > div time {
    background: #223d6d;
    background: -moz-linear-gradient(-45deg, #223d6d 52%, #132c57 100%);
    background: -webkit-linear-gradient(-45deg, #223d6d 52%,#132c57 100%);
    background: linear-gradient(135deg, #223d6d 52%,#132c57 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#223d6d', endColorstr='#132c57',GradientType=1 );
}
#content .timeline ol li.note > div {
    background: #eeeeee;
}
#content .timeline ol li.note > div time {
    display: none;
}

#content .timeline ol li.note > div p.lead {
    color: #444444;
}


/* Content */
#content .content {
    text-align: left;
}
#content .content h3 {
    color: #ba5543;
    font-weight: 600;
}
#content .area {
    padding: 3em 0;
}
#content.subsite .area h1 {
    margin-top: 0;
}
#content.subsite .area {
    padding: 1.5em 0;
}
#content.subsite .area img.leftimg {
    float: left;
    max-width: 250px;
    margin-right: 1em;
    margin-bottom: .35em;
}
#content.subsite .area img.rightimg {
    float: right;
    max-width: 250px;
    margin-right: 1em;
    margin-bottom: .35em;
}

#content.subsite .area .products ul {
    list-style: none;
    padding: 0;

}
#content.subsite .area .products li {
    margin-bottom: 1.5em;
    border-bottom: 1px solid #ddd;
    padding-bottom: 1.5em;
}
#content.subsite .area .products li:after {
    content: " ";
    display: table;
    clear: both;
}
#content.subsite .area .products li:last-child {
    margin-bottom: 0;
    border-bottom: 0;
    padding-bottom: 0;
}

#content.subsite .area .products li a.left {
    float: left;
}
#content.subsite .area .products li a.left:after {
    content: " ";
    display: table;
    clear: both;
}
#content.subsite .area .products li a.left > img,
#content.subsite .area .products li img.products {
    max-width: 250px;
    margin-right: 1em;
    margin-bottom: .35em;
    border: 0;
}
#content.subsite .area .products li a.more {
    color: #ba5443;
    display: block;
    margin: 1em 0;
}

#content .area.grey {
    background: #f6f6f6;
}
#content .area .text {
    text-align: center;
    padding: 0 0 2.5em;
}
#content h2,
footer h2 {
    text-transform: uppercase;
    letter-spacing: .5px;
    font-size: 28px;
    margin: 0 0 10px;
}
#content h2:before,
footer h2:before {
    content: "- ";
}
#content h2:after,
footer h2:after {
    content: " -";
}
#content p,
#content ul,
#content li {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 300;
}

/*
#content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#content li { 
  padding-left: 20px; 
  margin-bottom: 8px;
}

#content li::before {
  content: "•";
  padding-right: 8px;
}
*/




#content .headline,
footer .headline {
    text-align: center;
    margin-bottom: 3.5em;
}
/* Leistungen */
#content .leistungen {
    background: #f5f5f5;
}
#content .leistungen .row {
    position: relative;
}
#content .leistungen .row > div {
    text-align: center;
    padding: 10px;
}
#content .leistungen .row a {
    position: relative;
    background: #fff;
    background-size: cover;
    overflow: hidden;
    color: #000;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    opacity: 1;
    padding: 1em;
}
#content .leistungen .row  a .bg-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .75;
    z-index: 1;
}
#content .leistungen .row .col-6.white a .bg-overlay {
    background: #fff;
}
#content .leistungen .row .col-12.white a .bg-overlay {
    background: #fff;
}
#content .leistungen .row a .txt {
    position: relative;
    z-index: 5;
}
#content .leistungen .row a .txt p {
    min-height: 90px;
}
#content .leistungen .row a .txt img {
    margin: 0 auto;
    box-shadow: 2px 2px 6px rgba(0,0,0,.25);
    border-radius: 14px;
}

#content .leistungen .row .basistechnologie a {
    background: url(../images/img-hosting.jpg) no-repeat center center #ccc;
    background-size: cover;
    color: #fff;
    padding: 3.5em 2.5em;
}
#content .leistungen .row .basistechnologie a .bg-overlay {
    opacity: .6;
}

#content .leistungen .row .ecommerce a {
    background: url(../images/img-marketing.jpg) no-repeat center center #ccc;
    color: #fff;
}
#content .leistungen .row .ecommerce a .bg-overlay {
    background: #7c5c71;
    background: -moz-linear-gradient(-45deg, #7c5c71 0%, #4e6296 100%);
    background: -webkit-linear-gradient(-45deg, #7c5c71 0%, #4e6296 100%);
    background: linear-gradient(135deg, #7c5c71 0%, #4e6296 100%);
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#7c5c71', endColorstr='#4e6296', GradientType=1 );
}

#content .leistungen .row .eorganization a {
    background: url(../images/img-web.jpg) no-repeat center center #ccc;
    color: #fff;
}
#content .leistungen .row .eorganization a .bg-overlay {
    background: #354148;
    background: -moz-radial-gradient(center, ellipse cover, #354148 0%, #232b30 100%);
    background: -webkit-radial-gradient(center, ellipse cover, #354148 0%, #232b30 100%);
    background: radial-gradient(ellipse at center, #354148 0%, #232b30 100%);
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#354148', endColorstr='#232b30', GradientType=1 );
}



#content .panel {
    max-width: 800px;
    margin: 2em auto;
    display: grid;
    grid-gap: 10px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
}
#content .panel > div {
/*    border: 1px solid #ddd;*/
    position: relative;
    height: 190px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0px 2px 4px rgba(0,0,0,0.18);
}
#content .panel > div img {
    max-width: 100%;
    height: auto;
    transition: all .5s ease-out;
}
#content .panel > div:hover img {
        transform: scale(1.1);
    }
#content .panel > div .txt {
    position: absolute;
    left: 0;
    bottom: 15px;
    background: rgba(255,255,255,0.92);
    box-shadow: 1px 1px 1px rgba(0,0,0,.5);
    padding: 5px 12px;
    color: #000;
}
#content .panel > div .txt p {
    margin: 0;
    text-transform: uppercase;
    line-height: 1.2;
}
#content .panel > div .txt p.title {
    font-size: 18px;
    font-weight: 600;
}
#content .panel > div .txt p.subtitle {
    font-size: 14px;
    font-weight: 300;
}
#content .moreproducts {
    text-align: center;
    text-transform: uppercase;
    font-size: 16px;
}
#content .moreproducts a {
    color: #1d1d1b;
    text-decoration: none;
}
#content .moreproducts a > b {
    font-weight: 400;
    color: #ba5443;
}


#content .banner.domain {
    background: url(../images/banner_domain-bg.png) no-repeat bottom right #363a40;
    background-size: cover;
    color: #fff;
    text-align: left;
    font-size: 14px;
    font-weight: 600;
    padding: 2em 0;
    margin: 2em 0;
}
#content .banner.domain:after {
    content: " ";
    display: table;
    clear: both;
}
#content .banner.domain .block {
    background: rgba(54, 58, 64, .25);
    display: inline-block;
    padding: 1em;
    border-radius: 4px;
}
#content .banner.domain .block h3 {
    text-transform: uppercase;
    line-height: 1;
    font-size: 30px;
    color: #fff;
    margin: 0;
}
#content .banner.domain .block p {
    color: #3193b4;
    font-size: 20px;
    font-weight: 400;
    margin: 0;
    padding: 0;
}
#content .banner.domain .block p.cta {
    color: #fff;
    font-size: 22px;
    margin-top: 1em;
    display: block;
    font-weight: 600;
}

#content .blognews {
    margin: 1.5em 0;
}
#content .blognews .noevent {
    font-size: 14px;
    color: #999;
    font-style: italic;
    text-align: center;
    margin: 5em 0;
}
#content .blognews .noevent:before {
    content: "- ";
}
#content .blognews .noevent:after {
    content: " -";
}
#content .blognews .post {
    border-bottom: 5px solid #ba5443;
    padding-bottom: 1.5em;
    margin-bottom: 3em;
}
#content .blognews .newshead {
    margin-bottom: 1.5em;
}
#content .blognews .newshead p {
    margin: 0;
    line-height: 1;
}
#content .blognews .newshead p.newstitle {
    font-size: 24px;
    line-height: 28px;
    font-weight: 600;
    margin-bottom: 5px;
}
#content .blognews .newshead p.subheadline {
    font-size: 12px;
    line-height: 12px;
    color: #666;
    font-style: italic;
}
#content .blognews .newshead p.subheadline .date {
    color: #ba5443;
}


#content .area.beratung {
    padding: 0 0 3.5em;
    margin-bottom: 2.5em;
}
#content .area.beratung:after {
    content: " ";
    display: table;
    clear: both;
}
#content .area.beratung .container-wide {
    display: grid;
    grid-gap: 2em;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
}
#content .area.beratung .image {
    background: url(../images/img_beratung.jpg) no-repeat center center #ccc;
    background-size: cover;
}
#content .area.beratung .txt {
    padding: 2em 0;
}
#content .area.beratung .txt p.lead {
    font-size: 32px;
    font-weight: 600;
    margin-top: 0;
}
#content .area.beratung .txt .btn {
    margin-top: 1.5em;
}




#content .area.leistung {
    padding: 0 0 3.5em;
    margin-bottom: 2.5em;
}
#content .area.leistung:after {
    content: " ";
    display: table;
    clear: both;
}
#content .area.leistung .container-wide {
    display: grid;
    grid-gap: 2em;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
}
#content .area.leistung .image {
    background: url(../images/cloud-wn-ballons.png) no-repeat center center #ccc;
    background-size: cover;
}
#content .area.leistung .txt {
    padding: 2em 0;
}
#content .area.leistung .txt p.lead {
    font-size: 32px;
    font-weight: 600;
    margin-top: 0;
}
#content .area.leistung .txt .btn {
    margin-top: 1.5em;
}









/* Subsite Kundendienst */
#komplettpaket {
    margin-top: 2em;
}
#komplettpaket .row .txt h2:before,
#komplettpaket .row .txt h2:after,
#dsgvo .row .txt h2:before,
#dsgvo .row .txt h2:after {
    content: "";
}
#komplettpaket .row.inhalte {
    margin-top: 2em;
}
#komplettpaket .row.inhalte ul {
    list-style-type: none;
    padding-left: 25px;
}
#komplettpaket .row.inhalte ul:after {
    content: " ";
    display: table;
    clear: both;
}
#komplettpaket .row.inhalte li {
    float: left;
    width: 48%;
    margin-right: 4%;
    margin-bottom: 2%;
    position: relative;
}
#komplettpaket .row.inhalte li:before {
    font-family: Dingbats;
    content: '\002714';
    position: absolute;
    left: -25px;
    color: #39a001;
    font-size: 20px;
}
#komplettpaket .row.inhalte li:nth-child(2n) {
    margin-right: 0;
}
#komplettpaket .row.inhalte li:nth-child(2n+1) {
    clear: both;
}
#komplettpaket .row.inhalte li p {
    font-size: 13px;
    line-height: 16px;
    margin: 5px 0 10px;
}
#komplettpaket .row.inhalte li p.lead {
    font-size: 16px;
    line-height: 18px;
    font-weight: 600;
    margin-bottom: 5px;
}
#komplettpaket .row.anmeldung {
    text-align: center;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 0 0 1em;
}
#komplettpaket .row.anmeldung .txt .btn-primary {
    width: 45%;
}
#komplettpaket .row.anmeldung form {
    width: 100%;
    max-width: 600px;
    display: inline-block;
    margin: 2em auto 0;
    text-align: left;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 1em .5em;
    position: relative;
    display: none;
}
#komplettpaket .row.anmeldung form .btn-close {
    position: absolute;
    top: 2px;
    right: 3px;
    font-size: 12px;
    cursor: pointer;
    padding: 3px;
}
#komplettpaket .row.anmeldung form .input-group.double label {
    display: block;
    margin-top: 5px;
}
#komplettpaket .row.anmeldung form .input-group.double .small {
    width: 35%;
    float: left;
}
#komplettpaket .row.anmeldung form .input-group.double .wide {
    width: 65%;
    float: left;
}
#komplettpaket .row.anmeldung form .input-group.chk {
    margin-bottom: 1.5em;
}
#komplettpaket .row.anmeldung form .input-group.chk input[type='checkbox'] {
    display: inline-block;
    width: auto;
    margin-right: 5px;
}
#komplettpaket .row.anmeldung form label {
    font-size: 12px;
    line-height: 14px;
    color: #666;
}
#komplettpaket .row.anmeldung form label.required:after {
    content: " *";
    color: #ba5443;
    font-size: 10px;
    position: relative;
    top: -2px;
}
#komplettpaket .row.anmeldung form .form-control {
    font-size: 14px;
}
#komplettpaket .row.anmeldung form .form-control:focus {
    border: 1px solid #999;
}
#komplettpaket .row.anmeldung form button.btn-primary {

}
#komplettpaket .row.anmeldung form p.hinweis {
    font-size: 75%;
    color: #999;
    font-style: italic;
    float: right;
}
#komplettpaket .row.anmeldung form p.hinweis .red {
    color: #ba5443;
}
#komplettpaket .img,


#dsgvo .img {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: .5em;
    box-shadow: 0px 1px 2px rgba(0,0,0,.18);
}
#dsgvo form {
    margin-top: 2em;
}
#dsgvo form .input-group input[type='number'] {
    width: 40%;
    float: left;
    margin-right: 1em;
}
#dsgvo form .input-group .btn-primary {
    position: relative;
    top: -2px;
}
#dsgvo form .form-control:focus {
    border: 1px solid #999;
}



/* Notification Bar Footer */
.notificationBarFooter {
    width: 100%;
    max-width: 100%;
    position: fixed;
    bottom: 0px;
    left: 0;
    display: none;
    background: rgba(186,84,67,.9);
/*    border-top: 2px solid #ba5443;*/
    text-align: center;
    color: #fff;
    font-size: 11px;
    line-height: 12px;
    z-index: 10000;
    box-sizing: border-box;
    overflow: hidden;
}
.notificationBarFooter .inner {
    position:relative;
    margin:auto;
    padding:15px 0;
    width:100%;
    display:block;
    box-sizing: border-box;
    overflow:hidden;
    text-align: center;
}
.notificationBarFooter .inner p {
    margin: 0;
    font-size: 11px;
    line-height: 12px;

}
.notificationBarFooter .inner p a {
    font-weight: 600;
    text-decoration: underline;
    color: #fff;
}
.notificationBarFooter .inner p .btn-ok {
    padding: 5px 12px;
    margin-left: 10px;
    background: #fff;
    color: #ba5443;
    border-color: #fff;
    cursor: pointer;
    font-size: 11px;
    line-height: 12px;
}

footer {
    background: #393938;
    color: #fff;
    padding: 2.5em 0 0;
}
footer:after {
    content: " ";
    display: table;
    clear: both;
}
footer .headline {
    margin-bottom: 3.5em;
}
footer form {
    width: 60%;
    margin-right: 5%;
    float: left;
}
footer form .input-group {
    width: 100%;
    display: block;
}
footer form .input-group.half {
    width: 49%;
    margin-right: 2%;
    float: left;
}
footer form .input-group.half:nth-child(2n+0) {
    margin-right: 0;
}
footer form .input-group.half:nth-child(2n+0):after {
    content: " ";
    display: table;
    clear: both;
}
footer form .form-control {
    background: #656565;
    color: #c7c7c7;
    font-size: 14px;
    padding: 10px 18px;
    margin-bottom: 1em;
}
footer form .checkbox {
    margin: 0 0 20px 0;
}
footer form .checkbox input[type="checkbox"] {
    margin-right: 5px;
}
footer form .hinweis {
    font-size: 10px;
    line-height: 10px;
    margin-top: 5px;
    color: #999;
}
footer form .btn-secondary {
    border-color: #ddd;
    width: 100%;
    display: block;
    padding: 15px 20px;
    background: #2b2b2b;
    cursor: pointer;
}
footer form .btn-secondary:active {
    box-shadow: inset 3px 3px 6px rgba(0,0,0,.85);
}
/* Honeypot */
footer form #firstname {
	display: none;
}
footer .contact {
    float: left;
    width: 35%;
}
footer .contact h3 {
    margin-top: 0;
    line-height: 1;
    font-size: 24px;
}
footer .contact p {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}
footer .contact p > b {
    font-weight: 600;
    font-size: 18px;
}
footer .contact .address {
    margin-bottom: 2em;
}
footer .contact .address a {
    color: #fff;
    font-weight: 400;
}
footer .contact .social ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
footer .contact .social ul:after {
    content: " ";
    display: table;
    clear: both;
}
footer .contact .social li {
    float: left;
    margin-right: 1em;
}
footer .contact .social li:last-child {
    margin-right: 0;
}

footer .partner {
	margin-top: 25px;
}
footer .partner a {
	display: inline-block;
}
footer .partner a img {
	max-height: 50px;
}

footer .copyright {
    border-top: 1px solid #ddd;
    padding: 1em 0;
    color: #ba5443;
    font-size: 12px;
    margin-top: 4em;
}
footer .copyright nav {
    float: right;
}
footer .copyright nav li {
    margin-right: 15px;
}
footer .copyright nav li a {
    color: #a6a6a6;
    text-decoration: none;
}

@media screen and (max-width: 1200px) {
    #content .newsgrid {
        grid-template-columns: 1fr 1fr;
    }
}

@media screen and (max-width: 900px) {
    #content .timeline ol li > div {
        width: 300px;
    }
    #content .timeline ol li:nth-child(even) > div {
        left: -339px;
    }
}

@media screen and (max-width: 768px) {
    body,
    body.notfound {
        margin-bottom: 0;
    }
    body.notfound #teaser {
        text-align: center;
    }
    .container {
        padding: 0 20px;
    }
    .hidemobile {
        display: none !important;
    }
    #globalnav {
        font-size: 16px;
    }
    #globalnav .nav-toggle {
        background: transparent;
        border: 1px solid #a6a6a6;
        border-radius: 4px;
        padding: 12px;
        display: block;
        position: absolute;
        right: 20px;
        top: 8px;
        z-index: 2001;
    }
    #globalnav .nav-toggle .bar {
        display: block;
        width: 22px;
        height: 2px;
        border-radius: 1px;
        background-color: #a6a6a6;
    }
    #globalnav .nav-toggle .bar+.bar {
        margin-top: 4px;
    }
    #globalnav .nav-toggle.active {
        background: #ba5443;
    }
    #globalnav .nav-toggle.active:before,
    #globalnav .nav-toggle.active:after {
        position: absolute;
        left: 22px;
        top: 9px;
        content: ' ';
        height: 20px;
        width: 2px;
        background-color: #fff;
    }
    #globalnav .nav-toggle.active:before {
        transform: rotate(45deg);
    }
    #globalnav .nav-toggle.active:after {
        transform: rotate(-45deg);
    }
    #globalnav .nav-toggle.active .bar {
        background-color: transparent;
    }


    #globalnav ul {
        display: block;
        width: 100%;
    }
    #globalnav li {
        display: block;
    }
    #globalnav li:first-child {
        display: block;
        width: 100%;
        text-align: left;
        float: left;
    }

    #globalnav li:first-child a {
        padding: 20px 0;
    }
    #globalnav li:not(.logo) {
        display: none;
        width: 100%;
        border-bottom: 1px solid #ddd;
    }
    #globalnav li:last-child {
        border-bottom: 0;
        margin-bottom: 1em;
    }
    #globalnav li:not(.logo) a {
        font-size: 14px;
        padding: 15px 0;
    }
    #globalnav li:not(.logo).active {
        border-bottom: 1px solid #ba5443;
    }
    #globalnav li:not(.logo).active a {
        background: #ba5443;
        color: #fff;
    }

    /* Timeline */
    #content .timeline {
        text-align: left;
    }
    #content .timeline ol li {
        margin-left: 20px;
        margin-top: 5px;
        padding-top: 10px;
    }
    #content .timeline ol li > div {
        width: calc(100vw - 140px);
    }
    #content .timeline ol li:nth-child(even) > div {
        left: 45px;
    }
    #content .timeline ol li:nth-child(even) > div::before {
        left: -15px;
        border-width: 8px 16px 8px 0;
        border-color: transparent #b5b5b5 transparent transparent;
    }

    #content .area {
        padding: 1em 0;
    }
    #content h2,
    footer h2 {
        font-size: 20px;
    }
    #content h2 {
        margin: 1em 0;
    }
    #content h2:before,
    #content h2:after {
        content: "";
    }
    #content .headline {
        margin-bottom: 2em;
        text-align: left;
    }
    #content .area .text {
        text-align: left;
    }
    #content .panel > div .txt {
        bottom: 0;
        right: 0;
        background: #f8f8f8;
    }
    #content .banner.domain {
        background: #363a40;
    }
    #content .banner.domain .block {
        width: 100%;
        display: block;
        text-align: center;
    }
    #content .banner.domain .block h3 {
        font-size: 20px;
    }
    #content .banner.domain .block p {
        font-size: 14px;
    }
    #content .banner.domain .block p.cta {
        font-size: 16px;
    }
    #content .blognews .noevent {
        text-align: left;
    }
    #content .blognews .noevent:before {
        content: " ";
    }
    #content .blognews .noevent:after {
        content: " ";
    }
    #content .leistungen .row a {
        min-height: 0;
    }
    #content .leistungen .row a .txt:after {
        content: " ";
        display: table;
        clear: both;
    }
    #content .leistungen .row a .txt h3 {
        display: none;
    }
    #content .leistungen .row a .txt p {
        float: right;
        width: 70%;
        text-align: left;
        padding: .25em 0 0;
        margin-top: 0;
    }
    #content .leistungen .row a .txt img {
        float: left;
        width: 25%;
        margin-right: 5%;
    }
    #content .leistungen .row .basistechnologie a,
    #content .leistungen .row .ecommerce a,
    #content .leistungen .row .eorganization a{
        padding: 10px;
        background: #fff;
        color: #000;
    }
    #content .leistungen .row .basistechnologie a .bg-overlay,
    #content .leistungen .row .ecommerce a .bg-overlay,
    #content .leistungen .row .eorganization a .bg-overlay {
        background: #fff;
    }
    #content .area.beratung {
        text-align: left;
    }
    #content .area.beratung .container-wide {
        display: block;
    }
    #content .area.beratung .txt p.lead {
        font-size: 20px;
    }
    #content .area.beratung .txt .btn {
        width: 100%;
        text-align: center;

    }
    #content .area.beratung .image {
        min-height: 180px;
        background-position: center center;
    }

    /* Subsite Kundendienst */
    #content.subsite .teaser .btn-group .btn,
    #komplettpaket .row.anmeldung .txt .btn-primary {
        width: 95%;
    }
    #content.subsite .teaser .btn-group .btn-secondary {
        margin-top: .5em;
    }
    #komplettpaket .row.anmeldung form button.btn-primary {
        width: 100%;
    }
    #komplettpaket .row.anmeldung form p.hinweis {
        float: none;
    }
    #dsgvo form .input-group input[type='number'],
    #dsgvo form .input-group .btn-primary {
        width: 100%;
    }

    body.notfound footer {
        position: absolute;
    }
    footer {
        text-align: center;
        position: relative;
    }
    footer .headline {
        margin-bottom: 2em;
    }
    footer form {
        float: none;
        width: 100%;
        margin: 0 0 1.5em;
    }
    footer .contact {
        width: 100%;
        float: none;
    }
    footer .contact .social li {
        float: none;
        display: inline-block;
    }
    footer .copyright {
        text-align: center;
    }
    footer .copyright nav {
        float: none;
        display: block;
        margin-top: .5em;
    }
}

@media screen and (max-width: 540px) {
    body {
        text-align: center;
    }
    #teaser {
        text-align: left;
    }
    #teaser h1 {
        font-size: 2.2em;
        margin-top: 10px;
    }
    #teaser .btn {
        width: 90%;
        display: block;
        margin: 1em auto;
        text-align: center;
    }
    #content .panel {
        display: block;
    }
    #content .panel > div {
        height: auto;
        margin-bottom: 1.5em;
    }
    #content .panel > div .txt p.subtitle {
        text-transform: none;
        font-size: 12px;
    }
    #content .grid.index {
        display: block;
        min-height: 0;
    }
    #content .grid.index .pan-txt {
        display: none;
    }
    #content .grid > div .image {
        min-height: 150px;
    }
}

/* Notification Bar Footer */
.notificationBarFooter {
    width: 100%;
    max-width: 100%;
    position: fixed;
    bottom: 0px;
    left: 0;
    display: none;
    background: rgba(186,84,67,.9);
/*    border-top: 2px solid #ba5443;*/
    text-align: center;
    color: #fff;
    font-size: 11px;
    line-height: 12px;
    z-index: 10000;
    box-sizing: border-box;
    overflow: hidden;
}
.notificationBarFooter .inner {
    position:relative;
    margin:auto;
    padding:15px 0;
    width:100%;
    display:block;
    box-sizing: border-box;
    overflow:hidden;
    text-align: center;
}
.notificationBarFooter .inner p {
    margin: 0;
    font-size: 11px;
    line-height: 12px;

}
.notificationBarFooter .inner p a {
    font-weight: 600;
    text-decoration: underline;
    color: #fff;
}
.notificationBarFooter .inner p .btn-ok {
    padding: 5px 12px;
    margin-left: 10px;
    background: #fff;
    color: #ba5443;
    border-color: #fff;
    cursor: pointer;
    font-size: 11px;
    line-height: 12px;
}

