

html, body, div, span,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, img, small, strong, sub, sup,
b, u, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, thead, tr, th, td,
article, aside, canvas, details, embed {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* source-sans-pro-300 - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/source-sans-pro-v21-latin-300.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/source-sans-pro-v21-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/source-sans-pro-v21-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/source-sans-pro-v21-latin-300.woff') format('woff'), /* Modern Browsers */
    url('../fonts/source-sans-pro-v21-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/source-sans-pro-v21-latin-300.svg#SourceSansPro') format('svg'); /* Legacy iOS */
}

/* source-sans-pro-regular - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/source-sans-pro-v21-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/source-sans-pro-v21-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/source-sans-pro-v21-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/source-sans-pro-v21-latin-regular.woff') format('woff'), /* Modern Browsers */
    url('../fonts/source-sans-pro-v21-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/source-sans-pro-v21-latin-regular.svg#SourceSansPro') format('svg'); /* Legacy iOS */
}

/* source-sans-pro-700 - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/source-sans-pro-v21-latin-700.eot'); /* IE9 Compat Modes */
    src: local(''),
    url('../fonts/source-sans-pro-v21-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('../fonts/source-sans-pro-v21-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
    url('../fonts/source-sans-pro-v21-latin-700.woff') format('woff'), /* Modern Browsers */
    url('../fonts/source-sans-pro-v21-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
    url('../fonts/source-sans-pro-v21-latin-700.svg#SourceSansPro') format('svg'); /* Legacy iOS */
}


html {
    height: 100%;
    -webkit-overflow-scrolling: touch;
}
body {
    line-height: 1;
    height: 100%;
    font-family: 'Source Sans Pro', sans-serif;
    background-color: #000000;
}
.onlymobile {
    display: none;
}
ol, ul {
    list-style: none;
}
strong {
    font-weight: bold;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
h2 {
    font-size: 32px;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-weight: lighter;
    font-family: 'Source Sans Pro', sans-serif;
}
h3 {
    font-size: 22px;
    margin-bottom: 20px;
    text-transform: uppercase;
    font-weight: lighter;
    font-family: 'Source Sans Pro', sans-serif;
}



#logolink {
    display: block;
    margin-bottom: 30px;
}
#msg-container {
    color: #ff0000;
    right: 20px;
    top: 10px;
    font-size: 14px;
    width: 200px;
    z-index: 455;
}
#main-container {
    overflow: auto;
}
#main-container.details #middle-bar > .content-block {
    padding-top: 20px;
}
#top-bar {
    border-bottom: 1px solid #AAA;
}

.home #top-bar {
    border-bottom: none;
}

#top-bar .content-block .logo {
    margin: 30px 0 20px 0;
}
#top-bar .content-block .wrapper {
}

.next-nav {
    height: 110px;
    width: 80px;
    top: 48%;
    right: 0px;
    background: url("/img/pattern/000/40.png") repeat top center transparent;
    display: none;
    z-index: 30;
    cursor: pointer;
    padding: 7px 0 0 6px;
}
.next-nav:hover {
    background: url("/img/pattern/000/60.png") repeat top center transparent;
}
.prev-nav {
    height: 110px;
    width: 80px;
    top: 48%;
    left: 0px;
    background: url("/img/pattern/000/40.png") repeat top center transparent;
    display: none;
    z-index: 30;
    cursor: pointer;
    padding: 7px 0 0 6px;
}
.prev-nav:hover {
    background: url("/img/pattern/000/60.png") repeat top center transparent;
}
#main-container.enableOverlayToggler .next-nav {
    display: block;

}
#main-container.enableOverlayToggler .prev-nav {
    display: block;

}
#middle-bar {
    color: #fff;
    overflow: auto;
    min-height: 380px;
}
.details #middle-bar {
    min-height: 0;
}
#middle-bar-bg.dark {
    background: url("/img/pattern/000/60.png") repeat top center transparent;
}

#middle-bar-bg.red {
    background: url("/img/pattern/E00/60.png") repeat top center transparent;
}

#middle-bar-bg.green {
    background: url("/img/pattern/0E8/60.png") repeat top center transparent;
}

#middle-bar-bg.blue {
    background: url("/img/pattern/0BE/60.png") repeat top center transparent;
}
#middle-bar-bg.gold {
    background: url("/img/pattern/be8b02/60.png") repeat top center transparent;
}


#middle-bar .content-block .text {
    font-size: 14px;
    line-height: 18px;
    padding-top: 20px;
}
#middle-bar .content-block {
    z-index: 11;
}

#bottom-bar {
    border-top: 1px solid #AAA;
}
.home #bottom-bar {
    border-top: none;
}

#bottom-bar .navigation  {
    bottom: 10px;
}
#bottom-bar .navigation li  {
    display: inline-block;
    padding: 0 20px;
    width: auto;
    margin-bottom: 4px;
 }
#bottom-bar .navigation li.first  {
    padding-left: 0px;
}

#bg-images {
    display: block;
}
#bg-images img {
    display: block;
}
#bg-images .text {
    color: #FFF;
    font-size: 14px;
    padding: 20px 10px;
}
#bg-images .image-container {
    height: 100%;
    width: 100%;
    display: block;
    background: none;
    background-color: transparent;
}
#bg-images .image-container.first {
    opacity: 1;
}
#bg-images .caption {
    opacity: 0;
}
#bg-images .caption .wrapper {
    bottom: 80px;
    height: 40px;
    width: 100%;
    z-index: 15;
    font-weight: lighter;
    font-size: 13px;
    background: url("/img/pattern/000/50.png") repeat top center transparent;
    color: #EEE;
    text-align: right;
}
#bg-images .caption .wrapper > span {
    padding: 10px 20px;
    display: block;
}
#bg-image-thumbnails {
    bottom: 50px;
    z-index: 35;
    width: 100%;
}
#bg-image-thumbnails .controls a {
    font-size: 11px;
    font-style: italic;
    color: #F6F6F6;
    text-decoration: none;
    display: inline-block;
    height: 19px;
    width: 19px;
    padding: 1px 0 0 1px;
    background: url("/img/pattern/FFF/20.png") repeat top center transparent;
}
#bg-image-thumbnails .controls a:hover {
    background: none;
    background-color: #d0595a;
}
#bg-image-thumbnails .controls a.stop {
    background-color: #B61A1D;
}
.is-run #bg-image-thumbnails .controls a.stop {
    background: url("/img/pattern/FFF/20.png") repeat top center transparent;
}
.is-run #bg-image-thumbnails .controls a.start {
    background: none;
    background-color: #B61A1D;
}

#bg-image-thumbnails .content-block > a {
    height: 20px;
    width: 20px;
    display: inline-block;
    float: left;
    margin-right: 10px;
    z-index: 12;
    background: url("/img/pattern/FFF/40.png") repeat top center transparent;
}
#bg-image-thumbnails .content-block > a:hover {
    cursor: pointer;
    background: none;
    background-color: #d0595a;
}
#bg-image-thumbnails .content-block > a.active {
    background: none;
    background-color: #b61a1d;
}

a.link, a {
    color: #e62b2f;
}
a.link:hover, a:hover {
    color: #d0595a;
}
a.link {
    display: inline-block;
}
.fullbar {
    width: 100%;


}

.navigation {
    list-style: none;
    text-decoration: none;
    font-family: 'Source Sans Pro', sans-serif;
}
.navigation li {
    text-decoration: none;
    margin-bottom: 15px;
}
.navigation li a {
    color: #c7c7c7;
    text-decoration: none;
    font-weight: lighter;
}
.navigation li a:hover {
    color: #FEFEFE;
    cursor: pointer;
    font-weight: bold;
}
.navigation li a.noActive:hover {
    font-weight: lighter;
}
.navigation li a.active {
    font-weight: bold;
    color: #fff;
}
.nav-main li a {
    text-transform: uppercase;
}
.nav-second {
    padding-top: 20px;
    opacity: 1 !important;
    display: block !important;
}
.nav-second li  {

}
.nav-second li a {
    text-shadow: 1px 1px #111111;
}
.nav-second li a:hover {
    text-decoration: underline;
    font-weight: lighter;
}
.nav-second li a.active:hover {
    text-decoration: none;
    font-weight: bold;
}
.nav-main.navigation.nav-first.bottom-links li {
    display: inline-block;
    padding: 20px 15px 0 15px;
}
.nav-main.navigation.nav-first.bottom-links li.first {
    padding-left: 0;
}
.nav-main.navigation.nav-first.bottom-links li.last {
    padding-right: 0;
}
.nav-main.navigation.nav-first.bottom-links li a {
    text-transform: none;
}
.contact-send #middle-bar {
    background: url("/images/bg/1900x1350/kontakt/3-1.jpg") no-repeat center center transparent;
}
.home-slot {
    height: 80px;
    background: url("/images/bg/1900x1350/2.jpg") no-repeat center center transparent;
    background-size: 100% auto;
    margin-bottom: 10px;
}

.standard-list .title {
    font-size: 22px;
    margin: 20px 0 10px 0;
    padding: 5px 0 10px 0;
    border-bottom: 1px solid #AAA;
    display: block;
    width: 100%;
}
.standard-list li, .standard-list li a {
    font-size: 12px;
    color: #FFF;
}
.standard-list li a {
    margin-bottom: 20px;
    display: inline-block;
}
.standard-list li {
    margin-bottom: 10px;
}
#contact-form {
    clear: both;
}
#contact-form .row {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    padding: 10px;
    background: url("/img/pattern/000/30.png") repeat top center transparent;
    border: 1px solid #AAA;
}
#contact-form input,
#contact-form textarea {
    border: none;
    background: none;
    background: url("/img/pattern/FFF/60.png") repeat top center transparent;
    padding: 0 10px;
    font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
#contact-form input:focus,
#contact-form textarea:focus {
   background-color: #ffffff;
}
#contact-form textarea {
    width: 92%;
    height: 120px;
    resize: none;
    padding-top: 5px;
}
#contact-form input{
    width: 248px;
    height: 26px;
    font-size: 15px;
    line-height: 26px;
}
#contact-form label {
    width: 120px;
    display: inline-block;
}
#contact-form .button, a.button {
    font-family: 'Source Sans Pro', sans-serif;
    padding: 10px 30px;
    background: none;
    background: url("/img/pattern/FFF/80.png") repeat top center transparent;
    color: #222;
    height: auto;
    width: auto;
    -webkit-appearance: none;
    text-decoration: none;

}
#contact-form .button:hover, a.button:hover {
    background: none;
    background-color: #b61a1d;
    cursor: pointer;
    color: #FFF;
}
#contact-form .contacts-email {
    display: none;
}
#invisible {
    height: 0;
    width: 0;
    display: block;
    opacity: 0;
    overflow: hidden;
}

#loading-overlay {
    height: 100%;
    width: 100%;
    background-color: #000;
    opacity: 1;
    z-index: 999;
    top: 0;
    left: 0;
    color: #FFF;

}
#loading-overlay > div{
    width: 100px;
    margin: 0 auto;
    top: 40%;
    padding-left: 20px;

}
#loading-overlay .logo,
#loading-overlay .loading {
    display: none;
}
.left-right {
    display: inline-block;
    width: 100%;
    clear: both;
    float: left;
    margin-bottom: 10px;
}
.left-right > div {
    display: inline-block;
    width: 48%;
    float: left;
}
.bigger {
    font-size: 14px;
}
.left-border {
    border-left: 2px solid #FFF;
    padding-left: 20px;
}

.refsep {
    display: inline-block;
    padding: 0;
    margin:0;
    margin: 0 8px;
}
.refsep > div,
.refsep > span {
    height: 11px;
    width: 11px;
    background-color: #eee;
    display: inline-block;
    padding: 0;
    margin:0;
}
body a .webdesign-stuttgart {
    color: #eee;
    margin-right: 10px;
    text-decoration: none;
    text-transform: none;
}
#sub-leistungen a {
    color: #FFF;
}
.clear {
    display: block;
    clear:both;
    height: 1px;
    width: 1px;
}
.small-mobile-controls {
    display: none;
    padding-top: 10px;
    z-index: 888;
    height: 100px;
}
.small-mobile-controls .control {
    background-color: #EEE;
    color: #222;
    padding: 10px 20px;
    margin-right: 5px;
    cursor: pointer;
    display: inline-block;
    -webkit-tap-highlight-color: #aaa;
}

.small-mobile-controls .control.touched {
    background-color: #AAA;

}
#testdiv {
    display: none;
    z-index: 1;
    opacity: 0;
}
#contact-form input, #contact-form textarea {
    border-radius: 0;
}

.contents .standard-list {
    display: block;
}




.onlymobile {
    display: block;
}
#to-top-button {
    position: fixed;
    display: block;
    top: 0;
    right: 0;
    height: auto;
    width: auto;
    background: url("/img/pattern/000/60.png") repeat top center transparent;
    z-index: 887;
    padding: 10px 20px;
}

#to-top-button img {
    display: inline-block;

}
#bg-images .caption .wrapper > span {
    text-align: center;
}

#mobile-nav {
    display: block;
    top: 0;
    left:0;
    width: 100%;
    height: 80px;
    z-index: 867;
    background-color: #111;
}

#top-bar {
    padding: 0;
    background-color: #000;
}
#top-bar .content-block  {
    max-width: 100%;
}
#top-bar .content-block .wrapper {
    padding: 0 10px;
}
#middle-bar {
    padding: 10px;
}

.leistungen #middle-bar, .projekte #middle-bar {
    background: url("/images/bg/1900x1350/leistungen/2-red.jpg") no-repeat top center transparent;

}
.menschen #middle-bar {
    background: url("/images/bg/1900x1350/menschen/4-green.jpg") repeat top center transparent;

}
.referenzen #middle-bar {
    background: url("/images/bg/1900x1350/referenzen/1-yellow.jpg") repeat top center transparent;

}
.kontakt #middle-bar, .impressum #middle-bar {
    background: url("/images/bg/1900x1350/kontakt/3-1.jpg") repeat top center transparent;

}
 .events #middle-bar {
    background: url("/images/bg/500x1000_003.jpg") repeat top center transparent;

}

.marken #middle-bar {
    background: url("/images/bg/1900x1350/leistungen-marken/2-red.jpg") no-repeat top center transparent;

}
.events #middle-bar {
    background: url("/images/bg/1900x1350/leistungen-events/2-red.jpg") no-repeat top center transparent;

}

body #main-container #middle-bar {
    background-size: 100% auto;
}

#bg-images-mobile {
    border-top: 30px solid #000000;
}

#bg-images-mobile img {
    width: 100%;
}
#bg-images-mobile .caption{
    background-color: #000000;
    color: #ffffff;
    margin-bottom: 60px;
    text-align: center;
}
#bg-images-mobile .caption .refsep {
    display: block;
    height: 0;

}
#bg-images-mobile .caption .refsep span {
    height: 0;
    width: 0;
}

.menschen #middle-bar {
    min-height: 0;
}
.referenz-detail #middle-bar {
    min-height: 0;
}
.referenz-detail .image-container  {
    margin-bottom: 10px;
}
.referenz-detail .image-container .caption {
    display: none;
}
.referenz-detail .image-container.first .caption {
    display: block;
}
#bottom-bar {
    z-index: 888;
    height: 80px;
}
#bottom-bar,
#bottom-bar div,
#bottom-bar a,
#bottom-bar ul,
#bottom-bar li {
    display: block;
}
.button-link {
    text-align: center;
}
.bgimages-v2 #middle-bar-image {
    display: block;

}
.button-link {
    display: block;
}

.button-link a {
    color: #FFF;
    background-color: #b61a1d;
    padding: 10px 20px;
    display: inline-block;
    margin: 10px 0 30px 0;
}

.bgimages-v2 #bg-images {
    height: auto;
    z-index: 888;
    top: auto;
    display: block;
}

.bgimages-v2 #bg-images .image-container {
    height: auto;
}
.bgimages-v2 #bg-images .image-container img {
    height: auto;
}
.bgimages-v2 #bg-images .image-container img.mobile {
    display: block;
}
.bgimages-v2 #bg-images .image-container img.default {
    display: none;
}
.bgimages-v2 #bg-images .image-container .caption {
    display: block;
}
.bgimages-v2 #bg-images .image-container .caption .wrapper {
    bottom: -70px;
    height: 70px;
}
.bgimages-v2 #bg-images .image-container .caption .refsep {
    display: inline-block;
    height: 0;
    width: 0;
    display: block;
}
.bgimages-v2 #bg-images .image-container .caption .refsep span {
    display: inline-block;
    height: 0;
    width: 0;
}
#bg-images .caption .wrapper {
    height: auto;
}
#bottom-bar .content-block {
    max-width: 100%;
}
#bottom-bar .navigation {
    width: 100%;
    padding: 20px 0;
}
#bottom-bar .navigation li {
    padding: 2px;
    width: 30%;
}
#bottom-bar .navigation li.first {
    margin-left: 10px;
}
#bottom-bar .navigation li.last {
    width: auto;
}
#sub-leistungen {

}
#bg-image-thumbnails {
    display: none;
}
#main-container.enableOverlayToggler .prev-nav,
#main-container.enableOverlayToggler .next-nav {
    display: none;
}

.bgimages-v2 .small-mobile-controls {
    display: block;
    text-align: center;
}

#bg-image-thumbnails {
    z-index: 888;
}
.left-right {
    width: auto;
}
.left-right > div {
    width: 100%;
    margin: 0 0 10px 0;
}
.left-right .right .left-border {
    border: none;
    padding: 0;
}
#contact-form {

}
#contact-form .row {
    padding: 0;
    border-right: none;
    border-left: none;
}
#contact-form label {
    font-size: 14px;
}
#contact-form input, #contact-form textarea {
    width: 100%;
    margin: 0;
    padding: 0;
    border-radius: 0;
}
.mobile-only-background #main-container {

    background: url(/images/bg/500x1000_002.jpg) repeat top center transparent;
}
.mobile-only-background #bg-images .image-container {

}





#middle-bar .content-block .text {
    font-size: 14px;
    line-height: 16px;
}
#logolink {
    text-align: center;
}
#logolink img {
    display: inline-block;
}
#testdiv {
    z-index: 2;
    opacity: 1;
}

.bgimages-v2 #bg-images .image-container {
    width: 50%;
}
.bgimages-v2 #bg-images .image-container img {

}
.small-mobile-controls {
    margin-top: -220px;
    float: right;
}
#top-bar .content-block .logo {
    margin: 0;
}
#top-bar .content-block {
    padding-top: 30px;

}

#change-version-message {
    float: right;
    position: absolute;
    top: 10px;
    right: 10px;
    display: none;
}

@media (min-width: 1124px) {
    #change-version-message {
        display: block;
    }
}

@media (max-width: 500px) {
    body #main-container #middle-bar {
        background-size: 140% auto;
    }
}





















