* {
    box-sizing: border-box;
}

body {
    background-color: #ffffff;
    margin: 0;
    padding: 0;
}

a {
    color: #000;
    text-decoration: none;
    line-height: 21px;
    font-style: italic;
    position: relative;
}

a:active {
    color: #a3a3a3;
    text-decoration: none;
    line-height: 21px;
}

a:hover {
    color: #002db3;
    text-decoration: none;
    line-height: 21px;
}

a.MainCat {
    color: #002db3;
}

.ProduktBildlarge {
    position: absolute;
    left: -9999px;
}

.ProduktBildGross {
    border-radius: 4px;
    box-shadow: 1px 1px 3px 3px rgba(127, 127, 127, 0.15);
    max-width: 250px;
}

.ProduktBild:hover .ProduktBildlarge {
    left: 0px;
    top: 20px;
	z-index: 289;
}


#Status {
    color: white;
    top: 10px;
    position: relative;
    min-width: 94%;
    margin-left: 3%;
    margin-right: 3%;
    margin-bottom: 25px;
}

#StatusTop {
    height: 39px;
    background-color: #a3a3a3;
    padding-left: 10px;
    padding-top: 5px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    font-size: 150%;
    font-weight: 600;
}

#StatusMeldung {
    padding-left: 10px;
    padding-top: 15px;
    padding-bottom: 15px;
    color: black;
    position: relative;
    /*background-color: #dbdbea;*/
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

#Start {
    color: white;
    position: relative;
    min-width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 25px;
}

#StartTop {
    display: none;
    height: 39px;
    background-color: #72e922;
    padding-left: 7px;
    padding-top: 7px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    font-size: 130%;
    font-weight: 600;
}

#StartMeldung {
    text-align: center;
    padding-top: 15px;
    padding-bottom: 15px;
    color: black;
    position: relative;
}

#StartSubTop {
    text-align: center;
    color: white;
    font-size: 120%;
    font-weight: 600;
    /* width: 70%; */
    /* margin-left: auto; */
    /* margin-right: auto; */
    height: 29px;
    background-color: #4b4b4b;
    padding-left: 10px;
    padding-top: 5px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

#Produkte {
    color: white;
    top: 10px;
    position: relative;
    min-width: 94%;
    margin-left: 3%;
    margin-right: 3%;
    margin-bottom: 25px;
}

#ProdukteTop {
    height: 29px;
    background-color: #a3a3a3;
    padding-left: 10px;
    padding-top: 5px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

#ProdukteInhalt {
    padding-left: 10px;
    padding-top: 15px;
    padding-bottom: 15px;
    color: black;
    position: relative;
}

#Album {
    color: white;
    top: 10px;
    position: relative;
    min-width: 94%;
    margin-left: 3%;
    margin-right: 3%;
    margin-bottom: 25px;
}

#AlbumTop {
    height: 29px;
    background-color: #a3a3a3;
    padding-left: 10px;
    padding-top: 5px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

#AlbumInhalt {
    padding-left: 10px;
    padding-top: 15px;
    padding-bottom: 15px;
    color: black;
    position: relative;
}

/*Div Table*/
div.table {
    display: table;
    border-collapse: collapse;
}

div.tr {
    display: table-row;
}

div.td {
    display: table-cell;
    /* border:thin solid red; */
    padding: 5px;
}

div.table a {
    text-decoration: none;
    font-style: italic;
    font-weight: 500;
}

/*EOF Div Table*/

/*dropdown Warenkorb*/
.dropdownWarenkorb {
    position: relative;
}

.dropdown-contentWarenkorb {
    color: red;
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 280px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    padding: 12px 16px;
    z-index: 1;
    right: 0;
	max-height:500px;
    overflow:scroll;
}

.dropdownWarenkorb:hover .dropdown-contentWarenkorb, .dropdown-contentWarenkorb a {
    display: block;
    color: black;
}

.dropdown-contentWarenkorb:hover a {
    color: blue;
}

figure {
    text-align: center;
    font-style: italic;
    font-size: smaller;
    text-indent: 0;
    color: #ffffff;
    margin: -0.2em 0em;
    position: relative;
    top: 8px;
    display: table-cell;
}

figure a {
    color: white;
    font-weight: bold;
}


figure a:hover {
    color: white;
    font-weight: bold;
}

figcaption {
    font-weight: bold;
    position: relative;
    right: 0px;
    top: 1px;
    width: 100%;
}

figure.einzel {
    top: -8px;
    font-size: 1.4rem;
    display: inline-block;
    padding: 10px;
    width: 25%;
}

figure.gesamt {
    font-size: 1.2rem;
    width: 100%;
}

.box {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.shownone {
    display: none;
    color: white;
}

/*suche*/
.suche {
    overflow: hidden;
    max-width: 100%;
    min-width: 300px;
    margin-right: auto;
    float: right;

}



form.suche input[type=text] {
    padding: 9px;
    font-size: 14px;
    float: left;
    width: 80%;
    color: black;
}

form.suche button {
    float: left;
    width: 20%;
    padding: 9px;
    background: #a3a3a3;
    color: white;
    font-size: 16px;
    border: 1px solid grey;
    border-left: none;
    cursor: pointer;
}

form.suche button:hover {
    background: #000;
}

form.suche::after {
    content: "";
    clear: both;
    display: table;
}

/*EOF suche*/


.asideBoxInhalt {
    position: relative;
    top: 25px;
}

.asideBoxInhalt a {
    color: white;
}

.Logo {
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    top: 50%;
    height: 55px;
    margin-top: 10px;
	/*
	 content:url(http://example.com/image.png);
	 */
}

/* dropdown*/
nav {
    box-sizing: border-box;
    float: left;
    width: 100%;
    background: #3a3a3a;
    font-size: 16px;
}

nav ul {
    margin: 0;
    padding: 0;
}

nav a {
    display: block;
    color: #000000;
    text-decoration: none;
}

nav ul li {
    position: relative;
    float: left;
    list-style: none;
    z-index: 10;
}



nav ul li:hover {
    background: #00ff0c;
}

nav ul li a {
    margin: 0;
    padding: 9px 7px;
    border-right: 1px solid black;
}

nav ul ul {
    position: absolute;
    top: -9999px;
    left: -9999px;
    background: #fff;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.6);
}

nav ul ul li {
    float: none;
    width: 200px;
    border-bottom: 1px solid #555;
}

nav ul ul li a {
    padding: 5px 10px;
}

nav ul li:hover > ul {
    top: 100%;
    left: 0;
}

nav ul li:hover:nth-child(4) > ul {
    top: 100%;
    left: -85%;
}

nav ul ul li:hover > ul {
    top: 0;
    left: 200px;
}

nav ul li.submenu > a:after {
    position: relative;
    float: right;
    content: '';
    margin-left: 3px;
    margin-top: 5px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #000;
    border-bottom: 5px solid transparent;
}

nav ul ul li.submenu a:after {
    margin-left: auto;
    margin-right: -10px;
    border-left: 5px solid #000;
    border-right: 5px solid transparent;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}

nav ul ul li:last-child {
    border-bottom: none;
}

/*EOF dropdown*/


font.GridHeader {
    font-size: 1.5em;
    text-transform: uppercase;
    font-weight: bold;
    color: #FFFFFF;
}

/*Main Grid*/
.MainGrid > * {
    /*border: 2px solid #f08c00;
	border-radius: 5px;
	padding: 1px;*/
    background-color: #fff;
}

.main-head {
    grid-area: header;
    position: sticky;
    top: 0;
    left: 0;
    background-color: #a3a3a3;
    /*background-image: url("bilder/html/header_bg.jpg");*/
    background-repeat: repeat-x;
    background-position-x: -180px;
    z-index: 50;
}


.main-content {
    grid-area: content;
    display: inline-flex;
    min-height: 400px;
}

.main-nav {
    grid-area: nav;
    text-transform: uppercase;
}

.aside1 {
    grid-area: sidebar1;
    background-color: #272727;
   /* background-image: url("/punk.de/headleft_bg.png");*/
    background-repeat: repeat-x;
    background-position: left top;
    padding-left: 10px;
    padding-top: 5px;
}


.main-footer {
    grid-area: footer;
    padding: 20px;
}



/*EOF MainGrid */
/*HeaderGrid*/
.HeaderGrid > * {
    /*border: 1px solid #000000;
  border-radius: 5px;
  background-color: #a3a3a3;*/
}

.HeaderGrid-language {
    grid-area: language;
    display: flex;
    justify-content: center;
    align-items: center;
}



.HeaderGrid-logo {
    grid-area: logo;
}

.HeaderGrid-warenkorb {
    padding: 20px 0 24px 0;
    grid-area: warenkorb;
}


/*EOF HeaderGrid*/


/*FooterGrid*/
.FooterGrid > * {
    /* border: 5px solid #000000;
  border-radius: 5px;*/
    text-align: center;
    font-size: 0.8em;
}

.FooterGrid-Info {
    grid-area: info;
}

.FooterGrid-Impressum {
    grid-area: impressum;
}

.FooterGrid-Newsletter {
    grid-area: newsletter;
}

.FooterGrid-Footer {
    grid-area: FooterFooter;
}

.FooterGrid ul {
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: 0;
}

/*EOF FooterGrid*/


/*Grids*/
.HeaderGrid {
    display: grid;
    grid-template-columns: 1fr  3fr  2fr;
    grid-template-areas:
        "language logo warenkorb";
}

.FooterGrid {
    display: grid;
    background: #fff;
    grid-template-columns: minmax(100px, 1fr);
    grid-template-rows: [line-h-1] auto [line-h-2] auto [line-h-5] auto [line-h-4] auto;
    grid-template-areas:
        "impressum"
        "info"
        "newsletter"
        "FooterFooter";
}

.MainGrid {
    max-width: 1200px;
    background-color: #fdfcfg;
    margin: 0 auto;
    font: 1em Helvetica, arial, sans-serif;
    display: grid;
    grid-template-columns: [line-v-1] 1fr;
    grid-template-rows: [line-h-1] auto [line-h-2] minmax(85px, 1fr) [line-h-3] auto [line-h-4] 590px [line-h-5]  auto ;
    grid-template-areas:
        "header"
        "nav"
        "content"
        "sidebar1"
        "footer";
}

@media (min-width: 37.5em ) {

    .punklogo {
        height: auto;
        display: block;
        margin-left: auto;
        margin-right: auto;
        position: absolute;
        top: 50%;
        height: 90px;
        margin-top: 0px;
    }

    .main-head {
        grid-area: header;
        position: sticky;
        top: 0;
        left: 0;
        background-color: #a3a3a3;
        /*background-image: url("bilder/html/header_bg.jpg");*/
        background-repeat: repeat-x;
        background-position-x: -130px;
        z-index: 50;
    }

    .MainGrid {
        grid-template-columns: [line-v-1] 1fr [line-v-2] 1fr ;
        grid-template-rows: [line-h-1] auto [line-h-2] 38px [line-h-3] auto [line-h-4] 590px [line-h-5] auto ;
        grid-template-areas: "header  header" "nav     nav" "content content" "sidebar1 sidebar1" "footer   footer" ;
    }
    

    nav ul li:hover > ul {
        top: 100%;
        left: 0;
    }


    .FooterGrid {
        background: #fff;
        display: grid;
        border-top: 1px black solid;
        grid-template-columns: minmax(100px, 1fr) minmax(100px, 1fr) minmax(100px, 1fr);
        grid-template-rows: [line-h-1] auto [line-h-2] auto;
        grid-template-areas:
            "info impressum newsletter "
            "FooterFooter FooterFooter FooterFooter";
    }

    .shownone {
        display: inline-block;
    }

    /*suche*/
    .suche {
        position: relative;
    }

    .Brand-bild {
        max-width: 100%;
        height: auto;
        background: black;
    }

    .ProduktBild:hover .ProduktBildlarge {
        left: 20px;
        top: 20px;
    }

    .ProduktBildGross {
        border-radius: 4px;
        box-shadow: 1px 1px 3px 3px rgba(127, 127, 127, 0.15);
        max-width: 400px;
    }

}

/*960px*/
@media (min-width: 60em) {
    
    .MainGrid {
        FONT-WEIGHT: 400;
        grid-template-columns: [line-v-1] 4fr [line-v-2] 300px ;
        grid-template-rows: [line-h-1] auto [line-h-2] 38px  [line-h-3]  minmax(590px, auto) [line-h-4] auto ;
        grid-template-areas:
            "header header "
            "nav     nav"
            "content sidebar1"
            "footer  footer";
    }

    .HeaderGrid {
        display: grid;
        height: 90px;
        grid-template-columns: 1fr  8fr  4fr;
        grid-template-areas:
            "language  logo  warenkorb";
    }
}


@media (max-width: 720px) {
    .main-nav {
        font-size: 14px;
    }
    
    .suche {
        min-width: 210px;
    }
}


@media (max-width: 599px) {
    .main-nav {
        font-size: 14px;
        text-align:center
    }

    .main-nav ul li {
        width: 25%;
    }

    li.submenu ul li {
        width: 100%;
    }
    
    nav ul li a {
        padding: 13px 4px;
    }
    
    .suche {
        min-width: 100%;
        border-top: 1px black solid;
    }
}


@media (max-width: 440px) {
    .main-nav {
        font-size: 10px;
    }

     nav ul li a {
        padding: 3px 0px;
    }
    
}

@media (max-width: 385px) {
    .main-nav {
        font-size: 10px;
    }
    .punklogo {
       
    }

    .HeaderGrid {
        grid-template-columns: 14% 0px 39% 0px 40%;
    }
    
}

input[type="number"] {
   width:50px;
}



font.error {
    font-family: arial;
    font-size: 14px;
    font-weight: bold;
    color: #FF0000
}

font.big {
    font-family: arial;
    font-size: 16px;
    font-weight: bold;
    color: #FF0000
}

font.bigVVK {
    font-family: arial;
    font-size: 14px;
    font-weight: bold;
    color: #FF0000
}

font.preis {
    font-family: arial;
    font-size: 20px;
    font-weight: bold;
    color: #a3a3a3
}