

/* =============================== Imports =============================== */


@import url(reset.css);

@import 'https://fonts.googleapis.com/css?family=Raleway:300,400,500,700';
@import 'https://fonts.googleapis.com/css?family=Crete+Round';


/* ============================= HTML & Body ============================= */


article, aside, dialog, figure, footer, header, hgroup, nav, section {
    display: block;
}

body {
    margin: 0 auto;
    padding: 0 5%;
    width: 90%;
    max-width: 1366px; /* Danach wird's zu groß... */
    background: white;
    font: 13px/22px 'Raleway', 'Arial Narrow', Arial, Helvetica, Tahoma, Verdana, sans-serif;
    font-weight: 400;
    color: #555;
    overflow-y: scroll;
    /*font-size: 90%;*/
    /*font-size:1vw;
    line-height:1.3;*/
}

h1, h2, h3, h4, h5, h6, p {
   -moz-hyphens: auto;
   -o-hyphens: auto;
   -webkit-hyphens: auto;
   -ms-hyphens: auto;
    hyphens: auto;
    hyphenate-limit-chars: auto 3;
    hyphenate-limit-lines: 2;
}

p:empty {
    display: none;
}

h1 {
    margin: 40px 0 20px 0;
    color: #c51415;
    text-align: left;
    font-family: 'Crete Round', serif;
    font-size: 20px;
    letter-spacing: .02em;
}

h2, h3 {
    margin: 0;
    color: #777;
    font-size: 13px;
}

#content h3,
#content h4 {
    margin: 0 0 0.5em 0;
    color: #c51415; /* BuR-Rot */
    font-weight: 600;
    font-size: 15px;
}

#content h4 {
    color: #777;
    font-size: 13px;
}

p {
    margin: 0 0 20px 0;
}

p:last-child {
    margin: 0;
}

/* =========================== Link Transitions ========================== */


a, a:visited {
    color: #7d7d7d;
    text-decoration: none;
}

a:hover, a:active, a.selected {
    color: #c51415;
}

/*a, a:visited, a:hover, a:active {
   -webkit-transition: color .3s ease;
   -moz-transition: color .3s ease;
   -o-transition: color .3s ease;
    transition: color .3s ease;
}*/

/* ========================== Show/Hide Hamburger ======================== */


#showhide {
    position: absolute;
    z-index: 300;
    top: 30px;
    right: 5%;
    display: none;
    padding: 0;
    text-align: center;
}

#showhide span {
    display: block;
    width: 3em;
    height: 7px;
    background: grey;
    margin-bottom: 6px;
    /*border-radius: 3px;*/
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 720px) {

    #showhide {
        display: block;
    }
}

/* ================================ Header =============================== */


header {
    position: relative;
    z-index: 200;

    /* Old version */
    /*height: 120px;*/
    /*background: url('../images/bettundraum_315x72.png') no-repeat left 30px;*/

    /* Ebenfalls not in use */
    /*background-image: url('../images/bettundraum_315x72.png');/*
    /*background-position: center center;*/
    /*background-repeat: no-repeat;
    background-position: left 30px;
   -webkit-background-size: cover;
   -moz-background-size: cover;
   -o-background-size: cover;
    background-size: 20%;
    height: 120px;*/

    /*display: none; /* testing */
}

header nav {
    float: left;
    width: 100%;
    margin: 0;
    background: #484848;
}

header nav ul {
    list-style: none;
}

/* Logo */
header > a:first-child {
    float: left;
    margin: 30px 0 20px 0;
    padding-right: 6em;
}

header > a:first-child > img {
    float: left;
    width: 100%;
    max-width: 315px;
   -webkit-transition: opacity .3s ease;
   -moz-transition: opacity .3s ease;
   -o-transition: opacity .3s ease;
    transition: opacity .3s ease;
    opacity: 1;
}

header > a:first-child:hover > img {
    opacity: 0.8;
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 720px) {

    header nav {
        display: none;
    }
}

/* ========================= Call-to-Action-Button ======================= */


/* GIF-Animation-Variante v2 */
#ctab {
    position: absolute;
    margin-top: 22px;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 360px;
    height: 80px;
    background: url('../images/banner-360x80.gif') no-repeat left top;

   -webkit-transform: rotate(-2deg);
   -o-transform: rotate(-2deg);
   -ms-transform: rotate(-2deg);
    transform: rotate(-2deg);

   -moz-box-shadow: 2px 2px 5px #999;
   -webkit-box-shadow: 2px 2px 5px #999;
    box-shadow: 2px 2px 5px #999;
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 720px) {

    #ctab {
        position: relative;
        margin-top: 3px;
        float: left;
        top: auto;
        width: 100%;
        max-width: 100%;
        left: 0;
        right: auto;
       -webkit-transform: rotate(0deg);
       -o-transform: rotate(0deg);
       -ms-transform: rotate(0deg);
        transform: rotate(0deg);
       -moz-box-shadow: none;
       -webkit-box-shadow: none;
        box-shadow: none;
        background-color: #c51415; /* BuR-Rot */
        /*background-position: center top;*/
    }
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 480px) {

    #ctab {
        /*display: none;*/
    }
}

/* ============================= Navigation ============================== */


ul.dropdown {
    float: left;
    width: auto;
    /*display: none; /* testing */
}

ul.dropdown li {
    position: relative;
    float: left;
    height: 100%;
    /*border-top: 1px solid transparent;*/
   -webkit-transition: background .3s ease;
   -moz-transition: background .3s ease;
   -o-transition: background .3s ease;
    transition: background .3s ease;
}

ul.dropdown li:hover {
    /*border-top: 1px solid red;*/
    background: #5a5a5a;
}

ul.dropdown li a {
    float: left;
    display: block;
    padding: 0.5em 1em;
    border-left: 1px solid #333;
    color: #eee;
    font-weight: 500;
}

ul.dropdown a:hover,
ul.dropdown a:active {
    color: #fff;
}

ul.dropdown > li > ul.sub_menu {
    position: absolute;
    z-index: 1; /* damit das Submen� �ber dem first-level liegt */
    display: none;
    /*margin: 2.6em 0 0 0;*/
    margin: 2.5em 0 0 0;
    opacity: 0.95;
}

ul.dropdown > li:hover > ul.sub_menu {
    display: block;
}

ul.dropdown ul.sub_menu li {
    width: 100%;
    float: left;
}

ul.dropdown ul.sub_menu a {
    border-left: none;
    white-space: nowrap;
}

ul.dropdown ul.sub_menu li:first-child a {
    border-top: 1px solid #333;
}

ul.dropdown ul.sub_menu li a {
    float: left;
    width: 100%;
    border-left: 1px solid #333;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    background: #5a5a5a;
   -webkit-transition: background .3s ease;
   -moz-transition: background .3s ease;
   -o-transition: background .3s ease;
    transition: background .3s ease;
}

ul.dropdown ul.sub_menu li a:hover {
    background: #6a6a6a;
}

.sale > a {
    position: relative; /* absolute */
    margin: 0;
    width: 3.8em;
    padding: 0.5em 1em;
    text-transform: uppercase;
    text-align: center;
    color: #fff;
    background: #c51415;
    background: -moz-linear-gradient(top,  #db1818 0%, #b21313 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#db1818), color-stop(100%,#b21313));
    background: -webkit-linear-gradient(top,  #db1818 0%,#b21313 100%);
    background: -o-linear-gradient(top,  #db1818 0%,#b21313 100%);
    background: -ms-linear-gradient(top,  #db1818 0%,#b21313 100%);
    background: linear-gradient(to bottom,  #db1818 0%,#b21313 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#db1818', endColorstr='#b21313',GradientType=0 );

   /*-webkit-transition: padding .2s ease, margin .2s ease;
   -moz-transition: padding .2s ease, margin .2s ease;
   -o-transition: padding .2s ease, margin .2s ease;
    transition: padding .2s ease, margin .2s ease;*/

    /*border-left: 0; /* absolute */
}

.sale > a:hover,
.sale > a:active {
    /*margin: -0.3em 0 0 0; /* absolute */
    /*padding: 0.8em 1em; /* absolute */
    /*background: #c51415;
    background: -moz-linear-gradient(top,  #ce1616 0%, #a51212 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ce1616), color-stop(100%,#a51212));
    background: -webkit-linear-gradient(top,  #ce1616 0%,#a51212 100%);
    background: -o-linear-gradient(top,  #ce1616 0%,#a51212 100%);
    background: -ms-linear-gradient(top,  #ce1616 0%,#a51212 100%);
    background: linear-gradient(to bottom,  #ce1616 0%,#a51212 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ce1616', endColorstr='#a51212',GradientType=0 );
   -moz-box-shadow: 0px 0px 4px rgba(0,0,0,.3);
   -webkit-box-shadow: 0px 0px 4px rgba(0,0,0,.3);
    box-shadow: 0px 0px 4px rgba(0,0,0,.3);
   -moz-border-radius: 2px;
   -webkit-border-radius: 2px;
    border-radius: 2px;*/
}

.sale {
    position: relative;
}

.sale > a:before,
.sale > a:after {
    position: absolute;
    content: '';
    width: 100%;
    left: 0;
   -webkit-transition: top .2s ease, bottom .2 ease;
   -moz-transition: top .2s ease, bottom .2 ease;
   -o-transition: top .2s ease, bottom .2 ease;
    transition: top .2s ease, bottom .2 ease;
}

.sale > a:before {
    top: 0;
    border-top: 3px solid #db1818;
}

.sale > a:after {
    bottom: 0;
    border-bottom: 3px solid #b21313;
}

.sale > a:hover:before {
    top: -3px;
}

.sale > a:hover:after {
    bottom: -3px;
}


/* ----------------------------------------------------------------------- */


@media screen and (max-width: 720px) {

    header > nav {
        /*display: none;*/
        top: 120px;
    }

    ul.dropdown {
        height: auto;
        /*font-size: 1.05em;*/
        /*display: none;*/
    }

    ul.dropdown > li > ul.sub_menu {
        position: relative;
        display: block;
    }

    ul.dropdown li {
        float: left;
        width: 100%;
    }

    ul.dropdown ul.sub_menu li {
        width: 100%;
    }

    ul.dropdown li a,
    ul.dropdown li a:visited {
        float: left;
        display: block;
        border: 0;
        border-bottom: 1px solid #333;
       -webkit-transition: background .3s ease;
       -moz-transition: background .3s ease;
       -o-transition: background .3s ease;
       -ms-transition: background .3s ease;
        transition: background .3s ease;
        padding: 1em;
    }

    ul.dropdown ul.sub_menu li:first-child a {
        border-top: 0;
    }

    ul.dropdown ul.sub_menu li a {
        /*border-top: 0;*/
        border-left: 0;
        border-right: 0;
    }

    ul.dropdown ul.sub_menu li a::before {
        /*content: '\230A';*/
        content: '\00B7'; /* Alt-0183, Mittelpunkt */
        margin-right: 1em;
        color: #bbb;
        font-weight: bold;
    }

    ul.dropdown ul.sub_menu li:hover a::before {
        color: #c51415;
    }

    /* Zusammengeh�rende Gruppen visualisieren */
    ul.dropdown li a,
    ul.dropdown li ul.sub_menu li a {
        width: calc(100% - 2em - 2px);
        border-right: 2px solid transparent;
    }

    ul.dropdown li:hover a,
    ul.dropdown li:hover ul.sub_menu li a {
        background: #7a7a7a;
        border-right: 2px solid #c51415;
    }

    .sale > a,
    .sale > a:hover,
    .sale > a:active {
        position: relative;
        margin: 0;
        /*width: calc(100% - 2em); /* absolute */
        padding: 1em;
        text-align: left;
        border: 0;
    }

    .sale > a:before,
    .sale > a:after {
        position: relative;
    }

}

/* ============================= Breadcrumbs ============================= */


aside {
    position: relative;
    clear: left;
    float: left;
    margin: 10px 0 0 0;
}

aside p {
    font-size: 85%;
}

aside p span {
    /*color: #7d7d7d;*/
    /*padding: 5px;*/
}

aside p span:last-child {
    /*color: #c51415;*/
    /*padding: 5px;*/
}

aside a {
    /*padding: 5px;*/
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 720px) {

    aside {
        display: none;
    }
}

/* =========================== Section Content =========================== */


#content {
    clear: both;
    float: left;
    width: 100%;
    margin: 0;
    padding: 0;
}

#content img {
    float: left;
}

/* Slideshow */
#content .fotorama {
    margin-top: 3px; /* B�ndig setzen mit Navigations-SubMen� */
}

/* Fotorama-Punkte in die Slides gesetzt, nicht mehr unterhalb */
#content .fotorama__nav {
    position: absolute;
    z-index: 10;
    bottom: 10px;
}

/* =============================== Left Box ============================== */


section.left {
    clear: both;
    float: left;
    margin: 0;
    width: 65%;
    /*text-align: justify;*/
}

/* ============================== Right Box ============================== */


section.right {
    float: left;
    margin: 40px 0 0 4%;
    padding: 0 0 0 4%;
    width: calc(27% - 1px);
    text-align: left;
    /*border-left: 1px solid #c51415;*/
    /*background: url('../images/gradient.png') repeat-x center center;*/
    /*background: #eee;*/
}

section.right h2 {
    margin: 0 0 10px 0;
    color: #c51415;
    text-align: left;
    font-family: 'Crete Round', serif;
    font-size: 20px;
    letter-spacing: .02em;
}

section.right h3 {
    margin: 0 0 7px 0;
    color: #777;
    text-align: left;
    font-weight: 700;
    font-size: 13px;
}

/* News & Tipps */
body:not(.produktdetails) section#content section.right > div {
    clear: left;
    float: left;
    width: 100%;
    margin: 10px 0;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #bbb;
}

body:not(.produktdetails) section#content section.right > div:last-of-type {
    margin: 10px 0 0 0;
    padding: 0;
    border: none;
}

/* Definitionen für die Startseite: alles nur für die rote Linie... */
body.home > section#content > section.home {
    display: table;
    /*table-layout: fixed;*/
    border-collapse: collapse;
    width: 100%;
}

body.home > section#content > section.home > section.left {
    display: table-cell;
    float: none;
    padding-right: 4%;
}

body.home > section#content > section.home > section.right {
    display: table-cell;
    float: none;
    /*border-left: 1px solid #c51415;*/ /* F�ngt zu weit oben an... */
    background: url('redline.gif') no-repeat left 43px;
}

/* ----------------------------------------------------------------------- */


/* 2 Boxen auf der Startseite */
.two_columns {
    margin-top: 30px;
    width: 100%;
    display: flex;
    justify-content: space-between;
}

/* Verlinkungen der Boxen und untereinanderstellen der DIVs */
.two_columns > * {
    /*flex: 1;*/
    display: flex;
    flex-flow: row wrap; /* IE11 mag column nicht so gerne, daher diese Lösung */
    width: calc(50% - 15px);

   -webkit-transition: transform .3s ease, box-shadow .3s ease;
   -moz-transition: transform .3s ease, box-shadow .3s ease;
   -o-transition: transform .3s ease, box-shadow .3s ease;
    transition: transform .3s ease, box-shadow .3s ease;
}

.two_columns > *:hover {
    transform: scale(1.05);

   -moz-box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
   -webkit-box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
    box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
}

/* Hüsler Nest: rot */
.two_columns > *:first-child/* > div:last-child*/ {
    background-color: #c51415;
    /*border: 1px solid orange;*/
}

/* Hüsler Travel: blau */
/* JETZT: Zeitraum ! */
.two_columns > *:last-child/* > div:last-child*/ {
    /*background-color: #245a96; /* Travel */
    /*border: 1px solid orange;*/
    background-color: #5d6165; /* Zeitraum */
}

/* Letztem DIV der beiden Blöcke weiße Farbe geben und Padding zum Rand bestimmen */
.two_columns > * div:last-child {
    color: white;
    padding: 24px 40px;
}

/* H1 weiß darstellen */
.two_columns > * div:last-child h1 {
    margin: 0 0 10px 0;
    color: white;
}

/* Visual auf volle Breite setzen */
.two_columns > * div:first-child img {
    width: 100%;
    display: block;
}

/* Position relative für Logos */
.two_columns > * div:first-child {
    position: relative;
}

/* Logos links und rechts */
.two_columns > * div:first-child:after {
    content: '';
    position: absolute;
    z-index: 1;
    top: -10px;
    left: 40px;
    width: 160px;
    height: 110px;
    /*border: 1px solid red;*/
}

/* Hüsler Nest Logo links */
.two_columns > *:first-child div:first-child:after {
    background: url('../var/images/huesler-nest-ribbon-white.png') no-repeat left top / cover;
}

/* Hüsler Travel Logo rechts */
/* .two_columns > *:last-child div:first-child:after {
    background: url('../var/images/huesler-travel-ribbon.png') no-repeat left top / cover;
} */

/* Hüsler Travel Logo rechts */
.two_columns > *:last-child div:first-child:after {
    background: url('../var/images/zeitraum-moebel-ribbon.png') no-repeat left top / cover;
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 640px) {

    /* Letztem DIV der beiden Blöcke weiße Farbe geben und Padding zum Rand bestimmen */
    .two_columns > * div:last-child {
        color: white;
        padding: 15px 15px;
    }

    /* Logos links und rechts */
    .two_columns > * div:first-child:after {
        top: -6px;
        left: 15px;
        width: 100px;
        height: 70px;
    }
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 480px) {

    /* 2 Boxen auf der Startseite -> jetzt untereinander */
    .two_columns {
        display: block;
    }

    /* Verlinkungen der Boxen und untereinanderstellen der DIVs */
    .two_columns > * {
        width: 100%;
        margin-bottom: 30px;
    }
}

/* ----------------------------------------------------------------------- */

section.right img {
    margin: -2px 0 0 -2px;
}

section.right p {
    margin: 0 0 7px 0;
}

section.right p span {
    color: #777;
    font-weight: 700;
}

section.right p:last-child {
    margin: 0;
}

section.right a {
    margin: 7px 0 0 0;
    padding: 0 5px 0 7px;
    color: white;
    background: #c51415;

   -moz-border-radius: 3px;
   -webkit-border-radius: 3px;
    border-radius: 3px;
}

/* Weiterlesen-Button auf Home-Seite */
body.home section.right a {
    float: left;
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 640px) {

    #content {
        margin: 0;
        width: 100%;
    }

    section.left {
        float: none; /* New 2022-07-04 */
        width: 100% !important; /* New 2022-07-04 */
        margin: 0 0 5% 0;
        /*border-bottom: 1px solid #ccc;*/
        /* border: 2px solid orange; */
    }

    section.left p:last-child {
        margin-bottom: 0;
        padding-bottom: 20px;
        /*border-bottom: 1px solid #ccc;*/
    }

    section.right {
        float: none; /* New 2022-07-04 */
        width: 100% !important; /* New 2022-07-04 */
        margin: 0;
        padding: 0;
        border: 0;
    }

    section.right h2 {
        margin-bottom: 6%;
    }

    /* News & Tipps */
    body:not(.produktdetails) section#content section.right > div {
        width: 90%;
        margin: 0 0 3% 0;
        background: #f4f4f4;
        padding: 5%;
        border: none;
    }

    body:not(.produktdetails) section#content section.right > div:last-of-type {
        padding: 5%;
    }

    /* Definitionen für die Startseite: alles nur für die rote Linie... */
    body.home > section#content > section.home {
        display: block;
    }

    body.home > section#content > section.home > section.left {
        display: block;
        padding-right: 0;
    }

    body.home > section#content > section.home > section.right {
        display: block;
        background: none;
    }
    /* ------------------------------------------------------------ */
}

/* ========================== Produkt-Übersicht ========================== */


#content ul.overview {
    float: left;
    width: 100%;
    margin: 0;
    padding: 0;
}

#content ul.overview li {
    position: relative;
    float: left;
    z-index: 100;
    width: 25%;
    margin: 0 0 1.25em 0;
    height: 250px;
    overflow: hidden;
}

#content ul.overview li:hover {
    z-index: 200;
    overflow: visible;
}

#content ul.overview li:hover a.overviewitem:after {
    display: none;
}

/* ----------------------------------------------------------------------- */


@media screen and (min-width: 800px) {

    #content ul.overview li,
    #content ul.overview li a {
        height: 300px;
        min-height: 300px;
    }
}

/* ----------------------------------------------------------------------- */


@media screen and (min-width: 1280px) {

    #content ul.overview li,
    #content ul.overview li a {
        height: 350px;
        min-height: 350px;
    }
}

/* ----------------------------------------------------------------------- */


@media screen and (min-width: 1600px) {

    #content ul.overview li,
    #content ul.overview li a {
        height: 400px;
        min-height: 400px;
    }
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 960px) {
    #content ul.overview li {
        width: 33.33333%;
        /*height: 350px;
        min-height: 350px;*/
    }
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 720px) {
    #content ul.overview li {
        width: 50%;
        height: 350px;
        min-height: 350px;
    }
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 480px) {
    #content ul.overview {
        margin-top: 1.25em;
    }

    #content ul.overview li {
        width: 100%;
        height: 350px;
        min-height: 350px;
    }
}

/* ----------------------------------------------------------------------- */


/*.clearfix:before, .clearfix:after { content: ''; display: table; }
.clearfix:after { clear: both; }*/


#content ul.overview li a.overviewitem {
    display: block;
    overflow: hidden;
    padding: 1.25em;
    min-height: 250px;
    border: 1px solid transparent;
    background: white;
}

#content ul.overview li a.overviewitem:after {
    content: '';
    position: absolute;
    left: 1.25em;
    bottom: 0;
    width: calc(100% - 2.5em);
    height: 40px;
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmZmZmZmYiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(255,255,255,1)));
    background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
    background: -o-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
    background: -ms-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
    background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 480px) {
    #content ul.overview li a.overviewitem {
        /*padding: 0;*/
        background: whitesmoke;
    }

    #content ul.overview li a.overviewitem:after {
        left: 0;
        width: 100%;
        height: 60px;
        background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNWY1ZjUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
        background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(245,245,245,1) 100%);
        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(245,245,245,1)));
        background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(245,245,245,1) 100%);
        background: -o-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(245,245,245,1) 100%);
        background: -ms-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(245,245,245,1) 100%);
        background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(245,245,245,1) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#f5f5f5',GradientType=0 );
    }
}

/* ----------------------------------------------------------------------- */


#content ul li:hover a.overviewitem {
    border: 1px solid #c51415;
    height: auto;
    color: #222;
   -webkit-box-shadow: 0 0 5px #999;
      -moz-box-shadow: 0 0 5px #999;
           box-shadow: 0 0 5px #999;
}

#content ul li a.overviewitem img.produkt {
    width: 100%;
}

#content ul li a.overviewitem img.neu {
    position: absolute;
    top: 17px;
    left: 17px;
}

#content ul li a.overviewitem h2 {
    float: left;
    color: #c51415;
    margin: 10px 0 2px 0;
    font-family: 'Crete Round', serif;
    font-size: 16px;
    letter-spacing: .02em;
}

#content ul li a.overviewitem div.textarea {
    float: left;
    margin: 0;
}
/*
#content ul li a.overviewitem div.textarea:contains("&nbsp;") {
    border: 1px solid red;
}
*/
#content ul li a.overviewitem p {
    clear: left;
    float: left;
    margin-bottom: 10px;
}

section#content ul.overview li a.overviewitem div.textarea p:last-child,
section#content ul.overview li a.overviewitem p:nth-last-child(2) {
    margin-bottom: 0;
}

#content ul li a.overviewitem p.zumprodukt {
    clear: left;
    float: left;
    margin: 10px 0 0 0;
    padding: 2px 10px;
    color: white;
    background: #c51415;
    display: none;
}

#content ul li a.overviewitem:hover p.zumprodukt {
    display: block;
}

/* ===================== Thumbnails und Enlarge-Frame ==================== */


.produktdetails #content section.left {
    float: left;
    width: 55%;
}

.produktdetails #content section.left div.frame {
    position: relative;
    float: left;
    width: 100%;
}

.produktdetails #content section.left div.frame img#enlarge {
    width: 100%;
}

.produktdetails #content section.left div.frame img.neu {
    position: absolute;
    top: -1px;
    left: -1px;
}

.produktdetails #content section.left > ul.thumbs {
    float: left;
    width: calc(100% + 4px);
}

.produktdetails #content section.left ul.thumbs li {
    float: left;
    border-top: 4px solid white;
    border-right: 4px solid white;
    /*background: rgba(0,0,0,.4);*/
    width: calc(14.28571428571429% - 4px); /* 7 Thumbs in einer Reihe */
    margin: 0;
    height: auto;
    overflow: visible;
}

.produktdetails #content section.left > ul.thumbs > li:last-child {
    border-right: 0;
}

.produktdetails #content section.left ul.thumbs li a {
    float: left;
    opacity: .5;
}

.produktdetails #content section.left ul.thumbs li a:hover,
.produktdetails #content section.left ul.thumbs li a:active,
.produktdetails #content section.left ul.thumbs li a.selected_thumb {
    opacity: 1;
}

.produktdetails #content section.left ul.thumbs a,
.produktdetails #content section.left ul.thumbs a:hover,
.produktdetails #content section.left ul.thumbs a:active {
   -webkit-transition: opacity .3s ease;
   -moz-transition: opacity .3s ease;
   -o-transition: opacity .3s ease;
    transition: opacity .3s ease;
}

.produktdetails #content section.left ul.thumbs li a img {
    float: left;
    width: 100%;
}

.produktdetails #content .selected_thumb {
    /*outline: 4px solid #c51415;*/
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 1366px) {

    .produktdetails #content section.left ul.thumbs li {
        width: calc(20% - 4px);
    }
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 1024px) {

    .produktdetails #content section.left ul.thumbs li {
        width: calc(25% - 4px);
    }
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 768px) {

    .produktdetails #content section.left ul.thumbs li {
        width: calc(33.33333% - 4px);
    }
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 640px) {

    .produktdetails #content section.left ul.thumbs li {
        width: calc(50% - 4px);
    }
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 480px) {

    /* Hauptbild nicht mehr darstellen, da das erste Thumbnail dem Bild 'enlarge' entspricht */
    .produktdetails #content section.left div.frame img#enlarge {
        display: none;
    }

    /* Thumbnails alle auf opacity: 1 stellen */
    .produktdetails #content section.left ul.thumbs li a,
    .produktdetails #content section.left ul.thumbs li a.selected_thumb {
        opacity: 1;
        /* Klicken unterbinden, da 'enlarge' nicht mehr sichtbar ist */
        pointer-events: none;
    }

    .produktdetails #content section.left ul.thumbs li {
        width: calc(100% - 4px);
    }
}

/* ====================== Produktbeschreibung rechts ===================== */


.produktdetails section.right {
    float: left;
    margin: 77px 0 0 0;
    padding: 0 0 20px 50px;
    width: calc(45% - 50px);
    border: 0;
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 640px) {

    .produktdetails section.right {
        margin-top: 20px;
        padding-left: 0;
    }
}

/* ----------------------------------------------------------------------- */

.produktdetails section.right h1 {
    margin: 0 0 13px 0;
    color: #c51415;
    text-align: left;
    font-family: 'Crete Round', serif;
    font-size: 20px;
    letter-spacing: .02em;
}

.produktdetails section.right p:last-child {
    margin: 0;
}

.produktdetails section.right div.textarea {
    margin-bottom: 20px;
}

.produktdetails section.right p.bold {
    margin-top: 15px;
    font-weight: 700;
}

.produktdetails section.right table {
    border-collapse: collapse;
    margin-top: 5px;
}

.produktdetails section.right table tr td {
    vertical-align: top;
    white-space: normal;
}

.produktdetails section.right table tr td:first-child {
    white-space: nowrap;
    padding-right: 10px;
    font-weight: 700;
}

/* =========================== Kaufanfrage-Form ========================== */


h2.preis {
    margin: 15px 0 0px 0;
    color: #c51415;
    font-weight: 500;
    /*font-family: 'Crete Round', serif;*/
    font-size: 20px;
    letter-spacing: .02em;
}

h2.preis + p {
    padding-bottom: 20px;
    border-bottom: 1px solid #ccc;
}

section.request {
    float: none;
    clear: both;
    width: 100%;
    display: block;
    margin-bottom: 20px;
}

a.request.closed,
a.request.open {
    float: left;
    margin: 15px 0 20px 0;
    padding: 0 5px 0 7px;
    color: white;
    background: #c51415;
   -moz-border-radius: 3px;
   -webkit-border-radius: 3px;
    border-radius: 3px;
}

a.request.closed:after {
    /*content: '\25BC'; /* LARGE DOWN-POINTING TRIANGLE */
    content: '\25BE';   /* SMALL DOWN-POINTING TRIANGLE */
    margin-left: 0.5em;
}

a.request.open:after {
    /*content: '\25B2'; /* LARGE UP-POINTING TRIANGLE */
    content: '\25B4';   /* SMALL UP-POINTING TRIANGLE */
    margin-left: 0.5em;
}

section.request h1 {
    line-height: 1.3em;
}

section.request h1 > span {
    color: #999;
}

section.request p:last-of-type {
    margin-bottom: 10px;
}

section.request form {
    width: calc(100% - 60px);
    padding: 30px 30px 20px 30px;
    border: 1px solid #c51415;
    background: white;
   -moz-border-radius: 3px;
   -webkit-border-radius: 3px;
    border-radius: 3px;
    color: #555;
}

/* ----------------------------------------------------------------------- */

/*
@media screen and (max-width: 640px) {

    section.request form {
        width: calc(100% - 60px);
    }
}*/

/* ----------------------------------------------------------------------- */

section.request input,
section.request textarea {
    width: calc(100% - 13px);
    border: 1px solid #ccc;
    padding: 5px 5px;
    font: 13px 'Raleway', 'Arial Narrow', Arial, Helvetica, Tahoma, Verdana, sans-serif;
   -moz-border-radius: 2px;
   -webkit-border-radius: 2px;
    border-radius: 2px;
   -moz-box-shadow: inset 0px 0px 3px rgba(0,0,0,.1);
   -webkit-box-shadow: inset 0px 0px 3px rgba(0,0,0,.1);
    box-shadow: inset 0px 0px 3px rgba(0,0,0,.1);
    /*margin-bottom: 10px;*/
}

section.request input:focus, section.request textarea:focus {
   -moz-box-shadow: inset 0px 0px 4px rgba(0,0,0,.2);
   -webkit-box-shadow: inset 0px 0px 4px rgba(0,0,0,.2);
    box-shadow: inset 0px 0px 4px rgba(0,0,0,.2);
}

section.request + p {
    clear: left;
}

section.request .abschicken,
.abschicken {
    width: auto;
    margin-top: 20px;
    padding: 5px 10px;
    background: #ddd;
    border: 1px solid #ccc;

   -moz-box-shadow: none;
   -webkit-box-shadow: none;
    box-shadow: none;
}

section.request .abschicken:hover,
.abschicken:hover {
    cursor: pointer;
    background: #eee;
    border: 1px solid #ddd;
   -moz-box-shadow: 0px 0px 4px rgba(0,0,0,.1);
   -webkit-box-shadow: 0px 0px 4px rgba(0,0,0,.1);
    box-shadow: 0px 0px 4px rgba(0,0,0,.1);
}

.abschicken, .abschicken:hover {
   -moz-transition: all .2s ease;
   -o-transition: all .2s ease;
   -ms-transition: all .2s ease;
    transition: all .2s ease;
}

label {
    display: block;
}

label > em {
    color: #c51415;
    font-size: 16px;
    font-weight: 700;
}

label:not(.error) {
    float: none;
    margin-top: 10px;
}

label.error {
    color: #c51415;
    margin-top: 3px;
    margin-bottom: 10px;
    line-height: 1.2;
}
/* Ende Produktanfrage */

/* =========================== Anfrageformular =========================== */


div#anfrage {
    z-index: 400;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 10em);
    max-width: 500px;
    padding: 15px 2em 20px 2.5em;
    background: rgba(255,255,255,.97);
   -moz-box-shadow: 0px 0px 4px rgba(0,0,0,.3);
   -webkit-box-shadow: 0px 0px 4px rgba(0,0,0,.3);
    box-shadow: 0px 0px 4px rgba(0,0,0,.3);
   -moz-border-radius: 2px;
   -webkit-border-radius: 2px;
    border-radius: 2px;
    border: 1px solid rgba(0,0,0,.3);
}

div.katalog {
    display: none;
    z-index: 400;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -300px 0 0 -40%;
    padding: 20px;
    box-sizing: border-box;
    width: 80%;
    height: 600px;
    background: rgba(255,255,255,.97);
   -moz-box-shadow: 0px 0px 4px rgba(0,0,0,.3);
   -webkit-box-shadow: 0px 0px 4px rgba(0,0,0,.3);
    box-shadow: 0px 0px 4px rgba(0,0,0,.3);
   -moz-border-radius: 2px;
   -webkit-border-radius: 2px;
    border-radius: 2px;
    border: 1px solid rgba(0,0,0,.3);
}


div.katalog > iframe {
    width: 100%;
    height: 550px;
}

a#close, /* Terminvereinbarungswunsch */
a.close {
    position: absolute;
    width: 25px;
    height: 25px;
    right: 25px;
    background: url('../images/close.gif') no-repeat left top;
}

a.close {
    top: -12px;
    right: -12px;
}

a#close {
    top: 25px;
}

/* ============================= Kontaktform ============================= */


#kontaktform, #terminform {
    margin: 20px 0 0px 0;
}

#kontaktform {
    width: 100%;
}

input, textarea {
    display: block;
    /*width: 400px;*/
    width: 100%;
    max-width: 800px;
    border: 1px solid #ccc;
    /*height: 25px;*/
    padding: 5px 5px;
    font: 13px 'Raleway', 'Arial Narrow', Arial, Helvetica, Tahoma, Verdana, sans-serif;
   -moz-border-radius: 2px;
   -webkit-border-radius: 2px;
    border-radius: 2px;

   -moz-box-shadow: inset 0px 0px 3px rgba(0,0,0,.1);
   -webkit-box-shadow: inset 0px 0px 3px rgba(0,0,0,.1);
    box-shadow: inset 0px 0px 3px rgba(0,0,0,.1);
}

input:focus, textarea:focus {
   -moz-box-shadow: inset 0px 0px 4px rgba(0,0,0,.2);
   -webkit-box-shadow: inset 0px 0px 4px rgba(0,0,0,.2);
    box-shadow: inset 0px 0px 4px rgba(0,0,0,.2);
}

#terminform input,
#terminform textarea {
    width: calc(100% - 20px);
}

#terminform input.abschicken {
    width: auto;
}

/* ==================== Kontaktform Headlines und Typo =================== */


div#anfrage h1 {
    margin: 10px 0 20px 0;
    color: #c51415;
    text-align: left;
    font-family: 'Crete Round', serif;
    font-size: 20px;
    letter-spacing: .02em;
}

div#anfrage p {
    margin: 10px 0 0 0;
}

div#anfrage p:last-child {

}

/* ============================= Kontaktseite ============================ */


.kontakt #content {
    width: 100%;
}

/* ------------------------------- Left Box ------------------------------ */


.kontakt #content section.left {
    clear: both;
    float: left;
    margin: 0;
    width: 50%;
}

/* ------------------------------ Right Box ------------------------------ */


.kontakt #content section.right {
    float: left;
    margin: 0px 0 0 4%;
    padding: 0 0 0 4%;
    width: 42%;
}

.kontakt #content section.right em {
    color: #c51415;
    font-size: 16px;
    font-weight: 700;
}

iframe#googlemap {
    width: 100%;
    float: none;
    height: 440px;
    border: 0;
}

.kontakt #content section.right a {
    background: none;
    padding: 0;
    color: #c51415;
}

a#stilwerklogo {
    clear: left;
    float: left;
    margin-top: 20px;
}

a#stilwerklogo img {
    width: 100%;
    max-width: 400px;
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 640px) {

    .kontakt #content section.left {
        width: 100%;
        padding-bottom: 40px;
        border-bottom: 1px solid #ccc;
    }

    #kontaktform {
        width: calc(100% - 10px);
    }

    .kontakt #content section.right {
        width: 100%;
        margin: 0;
        padding: 0;
    }
}

/* =============================== Service =============================== */


.service #content,
.news #content {
    padding-top: 40px;
}

article {
    clear: left;
    float: left;
    width: 100%;
    margin: 20px 0 10px 0;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #ccc;
    /*background: #eee;*/
}

article:last-child {
    margin: 20px 0 0 0;
    border-bottom: 0;
    padding: 0;
}

article h1 {
    margin: 0 0 20px 280px;
    color: #c51415;
    text-align: left;
    /*text-transform: uppercase;
    font-weight: 700;
    font-size: 105%;*/
    font-family: 'Crete Round', serif;
    font-size: 20px;
    letter-spacing: .02em;
}

article h2 {
    margin: 0 0 7px 280px;
    color: #777;
    text-align: left;
    font-weight: 700;
    font-size: 13px;
}

article img {
    float: left;
    width: 100%;
    max-width: 240px;
    margin: 0 0 10px 0;
}

article img.newspic {
    width: 400px;
}

article p {
    margin: 0 0 20px 280px;
}

article p:last-child {
    margin: 0 0 0 280px;
}

article strong {
    font-weight: 700;
    color: #777;
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 480px) {

    article img {
        width: 100%;
        max-width: 100%;
        margin: 0 0 25px 0;
    }

    article img.newspic {
        width: 100%;
    }

    article p,
    article p:last-child,
    article h1,
    article h2 {
        margin-left: 0;
        float: none;
        display: block;
    }

}

/* ================================ Footer =============================== */


footer {
    clear: both;
    float: left;
    width: 100%;
    margin: 25px 0 5px 0;
    padding: 20px 0;
    border-top: 1px solid #ccc;
}

footer p {
    float: right;
}

footer a, footer a:visited {
    float: left;
    padding: 0px 10px;
    border-right: 1px solid #c51415;
}

footer span {
    margin: 0 0 0 10px;
}

/* Anfang Facebook-Button */
footer > p a span.box {
    position: relative;
    top: -1px;
    margin: 0 0 0 3px;
    padding: 3px 7px 4px 8px;
    border-radius: 2px;
    background-color: #004d95; /* facebook-Blau */
    color: white;
    font-size: 92%;
   -webkit-transition: all .3s ease;
   -moz-transition: all .3s ease;
   -o-transition: all .3s ease;
    transition: all .3s ease;
}

footer > p a:hover span.box {
    background-color: #c51415; /* BuR-Rot */
}
/* Ende Facebook-Button */

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 720px) {

    footer {
        margin: 0;
        border-top: 0;
    }

    footer p {
        width: 100%;
        float: left;
        text-align: center;
    }

    footer a, footer a:visited {
        width: 100%;
        float: left;
        padding: 1em 0;
        border: 0;
        border-bottom: 1px solid silver;
        background: whitesmoke;
    }

    footer span {
        clear: left;
        display: block;
        margin: 0;
    }

    footer span:last-child {
        width: 100%;
        float: left;
        text-align: center;
        margin-top: 20px;
    }

    /* Facebook-Button */
    footer > p a span.box,
    footer > p a:first-child {
        top: 0;
        margin: 0;
        padding: 0;
        border-radius: 0;
        border: 0;
        background-color: #004d95; /* facebook-Blau */
        color: white;
    }

    footer > p a:first-child {
        padding: 0.5em 0;
    }

    footer > p a span.box,
    footer > p a:hover span.box {
        background-color: transparent;
    }

    footer > p a:hover:first-child {
        background-color: #c51415; /* BuR-Rot */
    }

}


/* Ich habe die Datenschutzerkl�rung gelesen und verstanden und willige ein, dass die von mir angegebenen Daten elektronisch erhoben, verarbeitet und gespeichert werden. */
label.privacy-check {
    margin: 1.5em 0;
}

label.privacy-check > input[type="checkbox"],
#terminform label.privacy-check > input[type="checkbox"]{
    margin: 0.3em 0.6em 0 0;
    float: left;
    width: auto;
}

/*label.privacy-check p {
    margin-left: 1.6em;
}*/

label.privacy-check p a {
    padding: 0;
    background: none;
    color: black;
    font-weight: 500;
    border-bottom: 1px solid #c51415;
    border-radius: 0;
}

label.privacy-check p em {
    color: #c51415;
    font-size: 16px;
    font-weight: 700;
}

/* ============================ Corona-Hinweis =========================== */


.message {
    /*margin: 30px 0 30px 0; /* Wenn unter .fotorama */
    margin: 10px 0 30px 0; /* Wenn direkt unter Breadcrumbs/�ber .fotorama */
    padding: 35px 40px;
    background: #a8122a;
    color: white;
}

.message > img {
    float: left;
    width: 100%;
    max-width: 100px;
    margin: 0 15px 15px 0;
}

.message > h1 {
    margin: 0 0 20px 0;
    color: white;
}

.message a {
    color: white;
    border-bottom: 1px dotted white;
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 720px) {

    .message {
        margin-top: 30px;
    }

}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 640px) {

    .message {
        padding: 25px 20px 25px 20px;
    }

}

/* ----------------------------------------------------------------------- */


.teaser {
    margin-top: 30px;
    -webkit-transition: transform .3s ease, box-shadow .3s ease;
    -moz-transition: transform .3s ease, box-shadow .3s ease;
    -o-transition: transform .3s ease, box-shadow .3s ease;
    transition: transform .3s ease, box-shadow .3s ease;
}

.teaser:hover {
    transform: scale(1.05);
    -moz-box-shadow: 2px 2px 5px rgba(0,0,0,0.15);
    -webkit-box-shadow: 2px 2px 5px rgba(0,0,0,0.15);
    box-shadow: 2px 2px 5px rgba(0,0,0,0.15);
}

.teaser > a {
    display: flex;
    min-height: 400px;
}

.teaser > a p:not(.more),
.teaser:hover > a p:not(.more) {
    color: #555555;
}

.teaser > a > div {
    /* flex: 1 1 auto; */
    width: 50%;
    /* border: 1px solid red; */
    background-color: whitesmoke;
    padding: 60px 55px 60px 55px;
}

.teaser > a > div:first-child {
    /* width: 100%; */
    background: no-repeat center top / cover;
}

.teaser > a > div:last-child {
    /* width: calc(50% + 30px); */
    /* padding: 15px; */
}

.teaser h1 {
    margin: 0 0 30px 0;
}

.teaser h2 {
    margin: 0 0 20px 0;
    font-weight: 500;
    color: black;
}

.teaser .more {
    display: inline-block;
    margin: 10px 0 0 0;
    padding: 0 5px 0 7px;
    color: white;
    background: #c51415;
    border-radius: 3px;
}

.banner {
    display: flex;
    width: 100%;
    max-width: 1366px;
    margin: 30px 0;
}

.banner .banner_image {
    display: block;
    width: 100%;
}

/* ----------------------------------------------------------------------- */


@media screen and (max-width: 480px) {

    .teaser > a {
        display: block;
        min-height: initial;
    }

    .teaser > a > div:first-child {
        min-height: 200px;
    }

    .teaser > a > div {
        width: calc(100% - 30px);
        padding: 30px 15px;
    }
}

/* ----------------------------------------------------------------------- */