body {
    background: #e2e2e2;
    font-family: "Avenir-Light";
    color: #1b1b1b;
    font-size: 16px;
    line-height: 1.5;
}
html, body {
    height:100%;
    min-height: 100%
}
@font-face {
    font-family: 'Avenir-Book';
    src: url('../fonts/avenir-book.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Avenir-Medium';
    src: url('../fonts/avenir-medium.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Avenir-Light';
    src: url('../fonts/avenir-light.woff2') format('woff2');
    font-weight: normal;
}
body {
    margin:0;
    padding:0;
}

.bg-grey { background-color:#e2e2e2 !important; }
.bg-green { background-color:#5ac7a4 !important; }
.bg-black { background-color:#1b1b1b !important; }
.grey { background-color:transparent !important; color:#e2e2e2 !important; }
.green { background-color:transparent !important; color:#5ac7a4 !important; }
.black { background-color:transparent !important;  color:#000 !important; }
.grey-on-black { background-color:#1b1b1b !important; color:#e2e2e2 !important; }
.black-on-green { background-color:#5ac7a4 !important; color:#000 !important; }
.border-black { border: solid 3px #1b1b1b; }
.p0 { padding: 0 !important; }
.m0 { margin: 0 !important; }

.success {
    color: #5ac7a4;
    font-family: "Avenir-Book";
    font-weight: bold;
    font-size: 25px;
    margin: 50px;
    text-align: center;
}
/*** header ***/

header div {
    margin-top: 0;
}
a { color: #1b1b1b; }
.logo {
    display: inline-block;
    position:relative;
    z-index:999;
}
.header-inner {
    text-align: center;
    font-size: 42px;
    line-height: 1.48;
    position:relative;
}
.header-inner.open > .logo {
    visibility: hidden;
}
.header-inner.open .navimenu .logo {
    display:block;
}
.col-md-* {
    margin: 20px;
}
h1, h2, h3 {
    font-family: Avenir-Book;
    margin: 10px 0;
}
h1, h2 {
    font-size: 42px;
    line-height: 1.24;
    font-weight: normal;
}
.about h1, .about h2  {
    font-family: Avenir-Medium;
}
.premises-audio .col-md-8, .audio-harmonization .col-md-8,
.premises-harmonization .col-md-8,.col-md-8 h2 + span,
.col-md-8 h1 + span, .founder .subheadline, .subheadline,
.image-section .caption, .caption {
    font-family: Avenir-Medium;
    font-size: 24px;
    line-height: 1.33;
}
.premises-audio  .col-md-8 span,
.harmonization .col-md-8 span,
.on_site_consulting .col-md-8 span,
.founder .subheadline, .subheadline,
.image-section .caption, .caption {
    font-style: oblique;
}
.subheading, h3 {
    font-size: 24px;
    line-height: 1;
    font-weight: 500;
    margin-bottom: 15px;
}
.about .founder { position: relative; }
.about .caption {
    position: absolute;
    bottom: 22px;
    right: 0;
}
.about .subheading.inner { margin-top: 30px; }

/*** navi ***/

#nav-icon {
    display: inline-block;
    position: fixed;
    top: 80px;
    right: 200px;
    width: 48px;
    height: 38px;
    transform: rotate(0deg);
    transition: .5s ease-in-out;
    cursor: pointer;
    z-index: 1001;
}
#nav-icon span {
    display: block;
    position: absolute;
    height: 2px;
    width: 48px;
    background:  #1b1b1b;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}
#nav-icon span:nth-child(1) {
    top: 0;
}
#nav-icon span:nth-child(2),#nav-icon span:nth-child(3) {
    top: 18px;
}
#nav-icon span:nth-child(4) {
    top: 36px;
}
#nav-icon.open span { background-color: #e2e2e2}
#nav-icon.open span:nth-child(1) {
    top: 18px;
    width: 0;
    left: 50%;
}
#nav-icon.open span:nth-child(2) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
#nav-icon.open span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
#nav-icon.open span:nth-child(4) {
    top: 18px;
    width: 0;
    left: 50%;
}
.navimenu {
    position: fixed;
    width: 100vw;
    background: #1b1b1b;
    font-size: 42px;
    line-height: 1.48;
    z-index:1000;
    top: 0;
    transition: transform 0.6s ease;
    padding: 0 0 20px;
    transform: translateX(100%);
}
.navimenu .logo {
    z-index: 1000;
}
.navimenu.open {
    transform: translateX(0);
}
.taxon, .taxon-child, .taxon a {
    color: #e2e2e2;
    text-decoration: none;
}
.taxon a:hover { color: #cccccc}
.taxon-child .taxon:last-child { margin-bottom: 20px; }
.taxon-child {
    font-size: 28px;
}

/* main */
.col-md-10.gif { margin: 20px auto; }
.image-section .caption { margin: auto}
.about .founder img,
.index .founder img { max-width: 100%; }
.gif img {
    max-width: 120%;
    margin-left: -50px;
}
.gif.mobile {display: none}
.index .founder {
    padding-right: 0 !important;
    padding-left: 0 !important;
}
.split:first-child > div { border-right: solid 2px #1b1b1b; }
.split:first-child .splitted { padding-right: 10%}
.split:last-child .splitted { padding-right: 10%}
.split { margin-bottom: 20px;}
.split img {
    min-width: 55%;
    display: block;
    width: 300px;
    margin: 0 auto;
}
.splitted > * {
    display: block;
    text-align: center;
}
.splitted-content {
    max-width: 65%;
    margin: auto;
}
.splitted > span{
    padding: 0 90px;
}
.splitted:last-child { padding-left: 10%; }
.half-right { justify-content: flex-end; }
button {
    display: block;
    font-family: Avenir-Medium;
    font-size: 16px;
    line-height: 1.38;
    margin: 20px auto;
    border-color: transparent;
    width: 250px;
    height: 55px;
    border-radius: 29px;
    cursor: pointer;
}
.half-half { padding-bottom: 40px; }
.half-half > .text-center:first-child { padding-right: 10%; }
.index button {
    text-align: start;
    padding: 0 20px;
}
.quote h4, .source .title {
    display: block;
    margin-block-start: 1.33em;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
}
/* slider */
.slick-arrow { z-index: 2;}
.slick-next { right: -6px; }
.slick-prev { left: -35px; }
.main-slider + button {
    margin-top: 0;
    margin-bottom: 70px;
}
.main-slider div .button-centered {
    display: block;
    text-align: center;
}
.slider button.positiv, .positiv .positive-button  { background-color:#5ac7a4; }
.slider button.negativ, .negativ .negative-button { background-color: #ff4c4a; }
div .negative-button,
div .positive-button {
    display: inline;
    font-family: Avenir-Medium;
    font-size: 16px;
    line-height: 1.38;
    margin: 20px auto;
    border-color: transparent;
    width: 125px;
    height: 55px;
    background-color:#1b1b1b;
    color:#e2e2e2;
}
.negative-button {
    border-radius: 29px 0 0 29px;
}
.positive-button {
    border-radius: 0 29px 29px 0;
}

.main-slider .slick-arrow:before,
.cross-sell .slick-arrow:before {
    color: #000000;
    font-size: 50px;
    line-height: 1;
    opacity: .75;
}
.main-slider .slick-arrow:before {
    content: url("/assets/shop/img/Siro/SideTop_arrow_blk.svg");
}
.cross-sell .slick-prev.slick-arrow:before {
    content: url("/assets/shop/img/Siro/arrow_SIRO_e2_left.svg")}
}
.cross-sell .slick-arrow:before {
    content: url("/assets/shop/img/Siro/arrow_SIRO_e2.svg")}

.slider .slick-prev.slick-arrow {
    display: inline-block;
    transform: rotate(180deg);
}
.main-slider.slick-dotted.slick-slider { margin-bottom: 0; }
.main-slider .slick-dots { bottom: -45px; }
#request-overlay {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0,0,0,0.6);
}
#request-overlay.open {
    display: block;
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0,0,0,0.6);
    color: #e2e2e2;
    font-size: 16px;
}
.request-form {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background-color: #1b1b1b;
}
.request-header {
    border-bottom: 1px solid rgba(90, 199,164, 0.9);
    font-weight: 300;
    padding-bottom: 10px;
    font-size: 35px;
    margin-bottom: 30px;
    min-height: 1em;
    word-wrap: break-word;
}
#request-overlay { z-index: 999; }
.request-label {a
    font-size: 1.2rem;
    padding-bottom: 2px;
}

.inline-request .request-content .request-input{ color: #1b1b1b;}
.col-md-9.inline-request,
.col-lg-7.inline-request {margin: 55px auto 30px; }
.inline-request .request-header { border-bottom: solid 1px #0a0a0a; }
.request-row, .request-hint {
    font-family: Avenir-Book;
    margin-bottom: 20px;
}
.request-form input, .request-form textarea,
.request-input {
    font-family: Avenir-Book;
    border: 1px solid #e2e2e2;
    color: #e2e2e2;
    width: 100%;
    font-size: 1rem;
    padding: 5px 10px;
}
#request-overlay .request-form input, #request-overlay .request-form textarea,
#request-overlay .request-input { background: #1b1b1b; }
#request-overlay .request-form .request-inner {
    margin: 40px;
    z-index: 999;
}
.request-form textarea { height: 6rem; }

#close-request {
    font-size: 20px;
    color: white;
    display: block;
    position: absolute;
    top: 15px;
    right: 15px
}
button.request-button {
    margin: 25px 0 ;
    width: 200px;
}
#close-request:before { color: #e2e2e2; }
.contact-information {
    margin-bottom: 20px;
}

/* footer */
#page-wrapper {
    min-height: 100%;
}
.page-wrapper {
    overflow: auto;
    padding-bottom: 70px
}
#footer {
    border-top: #1b1b1b 3px solid;
    height: 70px;
    position: relative;
    margin-top: -70px;
    clear: both;
}
.footer-inner {
    max-width: 1600px;
    margin: 35px auto;
    color: #1b1b1b;
}
.footer-inner div div {
    display: inline ;
}
.footer-inner .footer-year {
    font-weight: bold;
}
.footer-inner .footer-cms {
    display: flex;
    justify-content: flex-end;
}
.footer-cms a:not(:last-child) {
    display: inline-block;
    margin: 0 40px 0 0;
}
.footer-inner a {
    text-decoration: none;
}
.bitbag-page-name, .ui.breadcrumb,
.bitbag-page-sections,
.bitbag-block h2 { display: none; }

/* main */
button.left, .slider-button {
    display: inline-block;
    margin: 20px 0;
}
.slider-button:after,
button.left:after,
.split button.grey-on-black:after {
float: right;
display: inline-block;
margin-top: 2px;}

.slider-button:after,
button.left:after {
    content: url("/assets/shop/img/Siro/arrow_SIRO_1b.svg");
}
.split button.grey-on-black:after {
    content: url("/assets/shop/img/Siro/arrow_SIRO_e2.svg");
}
.banner-full {
    background-color: #1b1b1b;
    margin-bottom: 55px;
    margin-top: 55px;
}
.banner-inner {
    color: #5ac7a4;
    margin: 20px auto;
    padding: 35px 0;
    font-style: oblique;
    text-align: center;
    font-size: 24px;
}
.about .banner-inner { max-width: 1280px; }
.premises-audio .banner-inner,
.harmonization .banner-inner,
.premises-harmonization .banner-inner,
.on_site_consulting .banner-inner { max-width: 900px; }
.jump-link {
    cursor: pointer;
    text-align: center;
    margin: 50px auto 25px;
    line-height: 1.5;
}
.about .jump-link { margin: 50px auto 40px; }
.jump-link > a { text-decoration: none; }
.jump-link:after {
    content: '←';
    font-family: 'slick';
    font-size: 20px;
    display: inline-block;
    transform: rotate(90deg);
    opacity: .75;
}
.border-bottom {
    border-bottom: #1b1b1b 1px solid;
}

.index.container [class*="col-"] { padding: 15px; }
.row.slider { width: inherit; }
.product-section {
    background-color: #1b1b1b;
}
.product {
    display: inline-block;
    margin: 10px auto auto auto;
}
.product a {
    margin: auto;
    display: block;
}
.product a, .product, .product-section {
    text-decoration: none;
    color: #e2e2e2;
}
.product-details .product-price {
    text-align: center;
}
.oversize-container {
    max-width: 1580px;
    margin: auto;
}
[class*="col-"] h3:first-child { margin-top: 0; }
.link-collection { padding-top: 55px; }
.link-collection a {
    cursor: pointer;
    font-size: 20px;
    line-height: 1.5;
    display: block;
}
.image-section {
    max-width: 1280px;
    width: 100%;
}
.page-intro {
    margin-top: 42px;
    margin-bottom: 30px;
}
.page-intro .subheadline {
    padding: 10px 0 0 0;
}
.premises-audio .content-area,
.harmonization .content-area,
.about .content-area,
.m30 { margin-bottom: 30px; }
.premises-audio .image-section,
.harmonization .image-section,
#audio-products  .content-area { margin-bottom: 50px; }
/*.section-three { margin-bottom: 50px; }*/
.product-name, .product-price, .product {
    font-family: Avenir-Medium;
    font-size: 24px;
    padding: 0 27px;
}
.product .product-info {
    padding: 25px 0 30px;
    text-align: left;
}
.product .product-metrics { margin-bottom: 35px; }


button.more { width: 140px; }

.product-section { padding-bottom: 50px}
.product-image-section img {
    min-width: 100%;
    max-width: 100%; }
.product-detail-page .product-image img {
    margin: 60px 0 50px;
}
.products h1,
.products  h2,
.products .price,
.about h1 {
    font-family: Avenir-Medium;
    font-size: 42px;
}
.price { letter-spacing: 1px; }
.price, .product-price {
    display: block;
    text-align: left;
}
.price:before {
    content: "ab ";
    font-size: 16px;
    font-family: Avenir-Light;
    letter-spacing: 3px;
    line-height: 0.86;
}
.sylius-product-price:after,
.product-details .pricing .price:after {
    content: " inkl. MwSt."
}
.price-mwst--small:after {
    font-size: 14px;
}
.sylius-product-price.price-versand:after,
.product-details .pricing .price.price-versand:after {
    content: " inkl. MwSt., zzgl. Versand"
}

.product-details .pricing.price-bold {
    margin-top: 2.5em;
}
.product-details .pricing.price-bold .price {
    font-weight: bold;
    font-size: 2em;
}
.product-details .pricing.price-bold .price:before,
.product-details .pricing.price-bold .price:after {
    font-size: 16px;
    font-weight: 300;
}

#product-slider h2 {
    color: #e2e2e2;
    text-align: left;
}
.product-detail-page,
#product-slider,
#product-slider .banner-inner {
    font-style: normal;
    margin-bottom:0;
}

.products h2 { padding-left: 15px; }
.product-detail-page.container { display: block; }
.product-detail-page #product-image-slider .slick-dots {
    bottom: 10px;
}
.product-grid.oversize-container [class*="col-"] { display: flex; }
.products .slick-arrow { top: 42%; color: #e2e2e2; }
.products .slick-prev { left: -49px; }
.products .slick-next { right: 20px; }
.slick-initialized .slick-dots li button:before {
    font-size: 13px;}
.product-grid .product-img img,
.cross-sell .product-img img { display: inline; }
.index.container {justify-content: center;}

.mobile-grid-column {
    display: inline-block;
    width: 24.5%;
    padding: 10px 15px 0;
    text-align:center;
    vertical-align: top;
}
a.blurring.dimmable.image {
    display: block;
    text-align: center;
}
.mobile-grid-column img {
    max-width:100%;
}
.mobile-grid-column .product-name {
    color: #e2e2e2;
    padding: 25px 5px;
    line-height: 30px;
    text-align: center;
}
.mobile-grid-column .product-info {
    padding: 10px 0 30px;
    text-align: left;
}
.promises { display: flex; }
#request-overlay { overflow: scroll; }

@media only screen and (min-width: 768px){
    .request-form {
        width: fit-content;
        height: fit-content;
    }
    .request-form {
        width: 580px;
        height: 700px;
        max-width: -moz-max-content;  /* Firefox/Gecko */
        max-height: intrinsic;
    }
    .request-form .request-row, .request-form .request-header { max-width: 75vw;}
    .kotaktieren_sie_uns #footer,
    .contact_us #footer {
        border-top: #1b1b1b 3px solid;
        height: 70px;
        position: relative;
        margin-top: -100px;
        clear: both;
    }
}
@media only screen and (max-width: 1024px) {
    .product-grid.oversize-container {
        padding-top: 60px;
    }
    .mobile-grid-column {
        width: 33%;
        padding-top: 25px;
    }
    .product, .mobile-grid-column {
        display: inline-block;
        padding: 0 5px;
    }
    #nav-icon { position: absolute; }
    .link-collection a { font-size: 18px; }
}
/**
@media only screen and (min-width: 1921px ) {
    .container, .about .banner-inner,
    .product-detail-page .container {
        max-width: 1440px !important;
        padding-right: 15px;
        padding-left: 15px;}
    .product-grid.oversize-container {
        width: 1640px !important;
        padding-right: 15px;
        padding-left: 15px;
    }
    .request-header { font-size: 32px; }
}
**/
@media only screen and (max-width: 767px)  {
    .blank { display: none; }
    .split:first-child > div {
        border-right: none;
        border-bottom: solid 3px #1b1b1b;
    }
}
@media only screen and (max-width: 768px) {
    h1 { font-size: 36px; line-height: 1.22; }
    h2 { font-size: 32px; }
    .about .banner-full .banner-inner,
    .banner-full .banner-inner {
        width: 100vw;
        padding: 20px}
    .header-inner {
        background-color: #1b1b1b;
        z-index: 2;
    }
    .splitted-content {max-width: none; }

    /*navigation*/
    .header-inner.open{
        font-size: 42px;
        line-height: 1.48;
        letter-spacing: normal;
    }
    #nav-icon {
        top: 60px;
        right: 10px;
        z-index: 1100;
    }
    #nav-icon span {
        height: 1px;
        width: 24px;
        background:  #e2e2e2;
    }
    #nav-icon span:nth-child(1) {
        top: 0;
    }
    #nav-icon span:nth-child(2),#nav-icon span:nth-child(3) {
        top: 10px;
    }
    #nav-icon span:nth-child(4) {
        top: 20px;
    }
    .gif.desktop {
        display: none;
    }
    .gif.mobile {
        display: block;
    }
    /*footer mobile*/
    .footer-inner { text-align: center; }
    .footer-inner .footer-name { display: block;
        margin-bottom: 20px;}
    .footer-inner .footer-year { display: block; }
    .footer-inner .col-md-6 div:last-child { margin-bottom: 20px; }

    .footer-inner .footer-cms {
        display: inline;
        justify-content: center;
    }

    .main-slider .slick-arrow { display: none !important; }
    .split [class*="col-"] img {
        margin: auto;
        height: auto;
        padding: 0px;
    }
    .cross-sell .slick-prev.slick-arrow:before {
        content: url("/assets/shop/img/Siro/arrow_SIRO_e2_left.svg")
    }
    .cross-sell .slick-next.slick-arrow:before {
        content: url("/assets/shop/img/Siro/arrow_SIRO_e2.svg")
    }
    .index.container .col-md-6.founder {
        margin: 20px 0;
        padding: 0;
    }
    .splitted span {
        padding: 10px 20px;
    }
    .about .container [class*="col-"],
    .index.container [class*="col-"] { padding: 15px 20px !important; }
    .about .subheading.m50 { margin: 50px 0; }
    .image-section { width: 100%; }
    .product {
        display: inline-block;
        margin: 0 auto 0;
    }
    .product .product .product-info {
        font-size: 16px;
    }
    /* .cross-sell .product-img img {
         display: block;}*/
    .cross-sell button.more { display: block}

    .promises .col-md-6 { margin-bottom: 30px; }
    .product-detail-page.container #product-image-slider{
        padding-right: -15px;
        padding-left: -15px;
    }
    .promises {
        display: block;
    }
    .split img {
        width: 220px;}
    .splitted h1 span { display: none;}
    .splitted button {
        width: 190px;
        margin-bottom: 40px;
    }
    .mobile-grid-column {
        width: 49%;
    }
    .mobile-grid-column img {
        max-width:100%;
        display:block;
        margin: auto;
    }
    .mobile-grid .product, .mobile-grid .product-info, .oversize-container {
        display:block;
        flex:none;
    }
    .mobile-grid-column .product-name {
        font-size:20px;
        padding: 10px 0;
        display: block;
    }
    .mobile-grid-column:nth-child(2n + 1) {
        padding-right:8px !important;
    }
    .mobile-grid-column:nth-child(2n + 2) {
        padding-left:8px !important;
    }
    .about .caption {
        position: relative;
        bottom: 22px;
        right: 0;
    }
    .about .page-intro, .about .jump-link {
        margin-top: 0;
        margin-bottom: 10px
    }
    .about .jump-link {
        margin: 0 auto;
    }
    .about .founder { margin-top: 50px; }
    .about .founder .bitbag-subheadline { display: none; }
    .product-name { padding-left: 0;}
    .banner-full { margin-bottom: 30px;}
    .cross-sell .slick-arrow:before {
        font-size: 30px !important; }
    .products .slick-prev { left: -10px;}
    .products .slick-next { right: -10px;}
}
@media only screen and (max-width: 375px) {
    #request-overlay .request-label { font-size: 1rem; }
    #request-overlay .request-header {
        font-family: Avenir-Book;
        font-size: 1.5rem;
    }
    .request-form {}
    .request-form .request-row, .request-form .request-header {
        /*max-width: 75vw;*/
        max-width: 100vw;
        max-height: 100vh;
    }
    .request-form .request-input { font-size: 1rem; }
    .request-form .request-input:focus { border: 2px solid white}
    #request-overlay {
        overflow: scroll;
        padding: 15px;
    }
}
.slick-slide img {
    display: block;
    margin: auto;
    max-width: 100%;
}
.slick-next {
    right: 14px;
}


/*
 * Tarteaucitron.js
 */
#tarteaucitronRoot button,
#tarteaucitronServices button,
#tarteaucitronAlertSmall button {
    display: inline;
    font-family: serif;
    font-size: 14px;
    line-height: normal;
    margin: 0;
    width: auto;
    height: auto;
    border-radius: 0;
}
