*, *:before, *:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


#eu_cookiebox {
	display: block;
	z-index: 100;
	position: fixed;
	bottom: 50px;
        min-height: 30px;
	padding: 5px;
	margin: 0;
        text-align: center;
	width: 100%;
	color: #555;
	border: 1px solid black;
	/* border-bottom: none;*/
	background: #fff;
}

html,
button,
input,
select,
textarea {
    color: #222;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 0.9em;
    line-height: 1.4;
    background-image: url(../img/bg-fader.jpg);
    background-repeat: repeat-x;
}

@font-face {
   font-family: 'SourceSansProBoldIt';
   src: url(fonts/SourceSansPro-BoldIt.eot);
   src: url(fonts/SourceSansPro-BoldIt.woff) format('woff');
}
@font-face {
   font-family: 'SourceSansProSemiboldIt';
   src: url(fonts/SourceSansPro-SemiboldIt.eot);
   src: url(fonts/SourceSansPro-SemiboldIt.woff) format('woff');
}

::-moz-selection,
::selection {
    background: #b3d4fc;
    text-shadow: none;
}

a {
    color: #9a010c;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 0 0 1em 0;
    padding: 0;
}

img {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

input,
select,
textarea {
    border: 1px solid #777;
}

textarea {
    resize: none;
}

p,
ol,
ul {
    margin: 0;
    padding: 0;
}




header,
.wrapper {
    width: 100%;
    max-width: 1280px;
    min-width: 300px;
    margin: 0 auto;
}

header {
    z-index: 30;
    -webkit-box-shadow: 0px 3px 5px -2px #000;
            box-shadow: 0px 3px 5px -2px #000;
}

.titlebar {
    height: 60px;
    background: #000;
}

.btn-back {
    display: inline-block;
    width: 82px;
    height: 40px;
    margin: 10px 0 0 4px;
    background-image: url(../img/btn-back.png);
    background-repeat: no-repeat;
}

.link-back {
    display: none;
}

.ringinfo {
    height: 53px;
}
.titlebar .ri-wrapper {
    display: none;
}
.titlebar .ringinfo {
    margin: 4px 4px 0 0;
}
.titlebar .dtm-logo {
    margin: 0;
    height: 60px;
    width: 210px;
    background-image: url(../img/logo-dtmkarten-m.png);
    background-repeat: no-repeat;
    background-size: cover;
}

.titlebar .kks-wrapper {
    display: none;
}

.subheader {
    color: #fff;
    height: 40px;
    background: #9a010c; /* Old browsers */
    background: -moz-linear-gradient(   top, #ba000f 0%, #6d040b 100%); /* FF3.6+ */
    background: -webkit-linear-gradient(top, #ba000f 0%, #6d040b 100%); /* Chrome10+,Safari5.1+ */
    background: -ms-linear-gradient(top,     #ba000f 0%, #6d040b 100%); /* IE10+ */
    background: linear-gradient(to bottom,   #ba000f 0%, #6d040b 100%); /* W3C */
}

.subheader > img {
    display: none;
}

.category-btn {
    position: relative;
    cursor: pointer;
    border-right: 1px solid #560006;
    padding: 0 4px 0 32px;
    font-family: 'SourceSansProBoldIt', Arial, Helvetica, sans-serif;
    font-size: 1.1em;
    line-height: 40px;
    background-image: url(../img/ico-burger.png);
    background-repeat: no-repeat;
    background-position: 6px 12px;
    width: 80%;
}
.category-btn .indicator {
    float: right;
    height: 9px;
    margin: 17px 6px 0 0;
    width: 12px;
    background-image: url(../img/ico-down.png);
    background-repeat: no-repeat;
}
.category-btn.open .indicator {
    background-image: url(../img/ico-up.png);
}

.shop-btns {
    cursor: pointer;
    text-align: right;
    line-height: 1.3;
    padding-right: 10px;
    width: 20%;
    height: 40px;
}
.shop-btns a {
    display: inline-block;
    color: #fff;
    /*font-size: 15px;*/
    height: 40px;
    line-height: 40px;
    text-decoration: none;
    padding: 0 13px;
}
.shop-btns .search {
    cursor: default;
}
.shop-btns a.search-btn {
    border: 0;
    padding-right: 0;
}

.shop-btns .cart {
    position: relative;
    width: 43px;
    background-image: url(../img/ico-cart.png);
    background-repeat: no-repeat;
}
.shop-btns .cart .cart-items {
    position: absolute;
    left: 23px;
    top: 3px;
    font-size: 11px;
    line-height: 1.3;
    color: #fff;
    background: #222;
    padding: 1px 6px;
    -webkit-border-radius: 20px;
            border-radius: 20px;
}

.shop-btns .search {
    padding-left: 14px;
    border-left: 1px solid #b6000d;
}
.shop-btns .search input {
    width: 110px;
    line-height: 1.4;
}
.category-btn:after {
    border-right: 1px solid #b6000d;
    content: "";
    height: 40px;
    position: absolute;
    right: -2px;
    top: 0;
    width: 1px;
}

.shop-btns .cart .btn-text,
.shop-btns .checkout,
.shop-btns .search {
    display: none;
}

.main {
    margin-top: 99px;
    position: relative;
    background-color: #d2d2d2;
}

.slider {
    position: relative;
    padding: 12px 0 10px 0;
    overflow: hidden;
    margin-top: -15px;
    margin-bottom: 15px;
    background: url(../img/bg-lines.jpg);
}

.content .slider h1 {
    font-size: 1.1em;
    padding-left: 7px;
    margin-bottom: 10px;
}

.slider-container {
    margin-bottom: 12px;
}

.item-block {
    width: 25%;
    float: left;
}

.slider-item {
    width: 47%;
    background: #fff;
    display: block;
    float: left;
    text-decoration: none;
    color: #000;
    padding: 8px;
    margin-left: 1%;
    margin-right: 1%;
    border: 1px solid #444;
    -webkit-border-radius: 7px;
            border-radius: 7px;
}
.slider-item.left {
    margin-left: 2%;
}
.slider-item.right {
    margin-right: 2%;
}

.slider-item .product-thumb {
    display: block;
    width: 100%;
    height: 100px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-border-radius: 4px;
            border-radius: 4px;
}

.slider-item h2 {
    color: #9a010c;
    font-family: 'SourceSansProBoldIt', Arial, Helvetica, sans-serif;
    font-size: 1em;
    font-weight: normal;
    line-height: 1.3;
    margin: 5px 0;
}
.slider-item p {
    font-size: 0.9em;
    margin-bottom: 4px;
}

.slide-left.button,
.slide-right.button {
    line-height: 34px;
    width: 44px;
    display: inline-block;
    background-color: #e4e4e4;
    background-repeat: no-repeat;
    background-position: center center;
}
.slide-left.button {
    float: left;
    background-image: url(../img/ico-left.png);
    margin-left: 2%;
}
.slide-right.button {
    float: right;
    background-image: url(../img/ico-right.png);
    margin-right: 2%;
}


.toggle-menu {
    display: none;
}

.categories li {
    border-bottom: 1px solid #444;
    list-style-type: none;
}
.categories li a {
    color: #ddd;
    background-color: #333;
    text-decoration: none;
    display: block;
    padding: 10px 4px;
}
.categories li a:hover {
    background-color: #2a2a2a;
}
.main > .categories li a:not([href]) {
    height: 16px;
    padding: 0;
    background-color: #333;
}


.categories .rating,
.categories .stats,
.offers,
.about {
    display: none;
}


.content .categories li {
    border-bottom: 1px solid #fff;
    border-top: 1px solid #999;
}
.content .categories li a {
    color: #222;
    background-color: #eee;
}
.content .categories li a span {
    background-image: url(../img/ico-right.png);
    background-repeat: no-repeat;
    background-position: center center;
    width: 10px;
    float: right;
}
.content .categories li a:hover {
    background-color: #d2d2d2;
}

.content .categories li a:not([href]) {
    background-color: #eee;
}


.content {
    padding-top: 15px;
    border-bottom: 1px solid #999;
    margin-bottom: -2px;
    background-color: #fff;
}

.content h1 {
    font-family: 'SourceSansProBoldIt', Arial, Helvetica, sans-serif;
    margin: 0 0 13px;
    padding-left: 6px;
    font-size: 1.45em;
    font-weight: normal;
    color: #444;
}

.content article {
    display: table;
    width: 100%;
    border-top: 1px solid #999;
    border-bottom: 1px solid #fff;
    background-color: #eee;
}

.content article h2 {
    margin: 0;
    font-size: 1em;
    line-height: 1.5;
    font-family: 'SourceSansProBoldIt', Arial, Helvetica, sans-serif;
    font-weight: normal;
    color: #9a010c;
}

.content article p {
    font-size: 0.9em;
    line-height: 1.5;
}

.content article .leftCol {
    display: table-cell;
    width: 68%;
    padding: 6px;
    text-decoration: none;
    color: #000;
}
.content article.info .leftCol {
    width: 94%;
}

.content article .leftCol > img {
    display: none;
    float: left;
    margin: 3px 8px 3px 0;
    width: 88px;
    -webkit-border-radius: 5px;
            border-radius: 5px;
}

.content article span.view {
    display: none;
}

.content article .rightCol {
    display: table-cell;
    width: 26%;
    min-width: 105px;
    padding: 6px 6px 6px 0;
    text-align: right;
}
.content article .arrowCol {
    display: table-cell;
    width: 6%;
    min-width: 18px;
    vertical-align: middle;
    text-align: center;
    background-color: #ddd;
    background-image: url(../img/ico-right.png);
    background-repeat: no-repeat;
    background-position: center center;
    text-decoration: none;
}

.price {
    font-weight: bold;
}
.available {
    color: #00590f;
}
.not-available {
    color: #9A010C;
}
.soon-available {
    color: #ff7f00;
}
.available,
.not-available,
.soon-available {
    font-family: 'SourceSansProSemiboldIt', Arial, Helvetica, sans-serif;
}

.btn-container {
    text-align: right;
}

.content article .add-to-cart.button {
    background-position: center center;
    padding-left: 0;
    line-height: 34px;
    margin: 10px 0 0 0;
    width: 75px;
    display: inline-block;
}

section {
    padding: 0 6px 10px 6px;
}
section h2 {
    font-family: 'SourceSansProBoldIt', Arial, Helvetica, sans-serif;
    font-weight: normal;
    margin: 0;
    font-size: 1.1em;
    line-height: 1.3;
    margin: 0 0 5px 0;
}
section p {
    margin-bottom: 12px;
}
section ul {
    padding-left: 16px;
    margin-bottom: 12px;
    list-style-type: disc;
}


.content.detail {
    padding-top: 15px;
}
.detail .product-thumb {
    /*display: table-cell;*/
    display: none;
    width: 88px;
    height: 88px;
    margin: 5px 10px 4px 6px;
    float: left;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-border-radius: 5px;
            border-radius: 5px;
}

.content.detail .hl-wrapper {
    display: table;
    margin-bottom: 5px;
}
.content.detail h1 {
    display: table-cell;
    vertical-align: top;
    font-size: 1.4em;
    line-height: 1.2;
    margin: 0 0 6px;
    padding-right: 6px;
    color: #9a010c;
}
.detail .description {
    margin: 0 6px 10px 10px;
}
.detail .price {
    width: 50%;
    float: left;
    padding-left: 6px;
    font-family: 'SourceSansProBoldIt', Arial, Helvetica, sans-serif;
    font-weight: normal;
    font-size: 1.15em;
}
.detail .available {
    width: 50%;
    float: right;
    padding-right: 6px;
    text-align: right;
}


.button {
    display: block;
    line-height: 46px;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    -webkit-border-radius: 5px;
            border-radius: 5px;
}
.add-to-cart.button {
    background-color: #00590f;
    color: #fff;
    background-image: url(../img/ico-cart.png);
    background-repeat: no-repeat;
    background-position: 5px 5px;
    padding-left: 36px;
    margin: 20px 6px;
}


.cart-item {
    padding: 6px;
}
.cart-item .costs {
    padding: 8px 0;
}
.cart-item input {
    text-align: center;
    width: 34px;
    padding: 3px 0;
}
.cart-item .controls .delete {
    text-decoration: none;
    color: #9a010c;
}
.cart-item .controls .view {
    text-decoration: none;
    color: #000;
}
.cart-item.empty-notice {
    text-align: center;
    padding: 40px 10px;
}
.cart-item.total {
    background-color: #9a010c;
    color: #fff;
    padding: 10px 6px;
}
.cart-item.total a {
    color: #fff;
}
.cart-item.total .price {
    text-align: right;
}
.cart-item.total .price .tax-info {
    font-weight: normal;
    font-size: 0.9em;
}

.progress {
    margin-bottom: 12px;
}
.progress-label {
    padding: 0 0 2px 6px;
    font-size: 0.9em;
}
.progress span {
    display: inline-block;
    width: 25%;
    text-align: center;
    background: #2a2a2a;
    color: #fff;
    border-left: 1px solid #444444;
    border-right: 1px solid #1a1a1a;
    padding: 3px 0;
}
.progress span.active {
    background: #9a010c;
    border-left: 1px solid #b5666d;
    border-right: 1px solid #4b0006;
}

article.recommendation {
    font-size: 0.8em;
    padding: 10px 6px 6px 6px;
    background: #fff;
}

section.notice {
    padding: 10px 6px 0 6px;
}
section.notice h2 {
    font-size: 0.9em;
    margin: 0 0 2px;
}
section.notice p {
    font-size: 0.8em;
    margin: 0;
}

.cart-continue.button {
    display: inline-block;
    background-color: #9a010c;
    color: #fff;
    margin: 20px 2%;
    width: 46%;
}
.cart-quantity.button {
    display: inline-block;
    background-color: #9a010c;
    color: #fff;
    line-height: 3;
    margin: 6px 0;
    padding: 0 10px;
    font-size: 0.8em;
}
.cart-back.button {
    display: inline-block;
    background-color: #888;
    color: #fff;
    margin: 20px 2%;
    width: 46%;
}
.download.button {
    display: block;
    background-color: #888;
    color: #fff;
    margin: 0;
    width: 100%;
}
.finish.button {
    display: block;
    background-color: #9a010c;
    color: #fff;
    margin: 20px 0;
    width: 100%;
}

.personal-data {
    position: relative;
}

.personal-data .cart-back.button {
    margin: 20px 2% 20px 0;
    width: 48%;
}
.personal-data .cart-continue.button {
    margin: 20px 0 20px 2%;
    width: 48%;
}

.confirmation .cart-back.button {
    width: 24%;
}
.confirmation .cart-continue.button {
    width: 72%;
}


.personal-data .formrow {
    margin-bottom: 10px;
}
.personal-data .formrow.radio input,
.personal-data .formrow.checkbox input {
    float: left;
    margin: 3px 10px 0 0;
}
.personal-data .formrow.radio label,
.personal-data .formrow.checkbox label,
.personal-data .formrow.radio .form-error,
.personal-data .formrow.checkbox .form-error  {
    padding-left: 25px;
}

.formrow .notice {
    color: #777;
}

.formrow-wrapper {
    margin-left: 25px;
}

.personal-data label {
    display: block;
}

.personal-data input,
.personal-data select,
.personal-data textarea {
    display: inline-block;
    width: 100%;
    padding: 8px 4px;
    background-color: #f5f5f5;
}
.personal-data input[type="text"],
.personal-data select {
    height: 34px;
}
.personal-data select {
    padding: 7px 4px;
}
.personal-data input[type="checkbox"],
.personal-data input[type="radio"] {
    width: auto;
    padding: 0;
}

.personal-data input.street {
    width: 80%;
    margin-right: 2%;
}
.personal-data input.number {
    width: 18%;
}
.personal-data input.zip {
    width: 24%;
    margin-right: 2%;
}
.personal-data input.city {
    width: 74%;
}
.personal-data textarea {
    line-height: 1.5;
}

.personal-data input.error,
.personal-data select.error {
    border: 1px solid #9a010c;
    background-color: #ffebef;
}

.personal-data .form-error {
    color: #9a010c;
}


.personal-data .formrow.checkbox.has-error {
    padding: 4px;
    border: 1px solid #9a010c;
    background-color: #ffebef;
}

.customer-details {
    margin-bottom: 10px;
}
.customer {
    display: table;
    width: 100%;
}
.customer .def {
    display: table-cell;
    width: 100px;
}
.customer .val {
    display: table-cell;
}


.confirmation .amount,
.confirmation .price {
    margin: 0;
}
.confirmation .total {
    margin-bottom: 10px;
}



.stats,
.rating {
    padding: 27px 6px 15px 6px;
    font-size: 0.9em;
    line-height: 1.5;
    background-color: #2a2a2a;
    background-image: url(../img/flag-devider.png);
    background-repeat: repeat-x;
    color: #ddd;
}
.stats p {
    font-size: 0.9em;
}
.stats a {
    margin-right: 30px;
}
.stats span {
    display: inline-block;
    width: 105px;
}

.partners {
    position: relative;
    padding: 10px 0;
    background-image: url(../img/bg-lines.jpg);
}
section.partners h2 {
    margin-left: 2%;
}
.partners img {
    float: left;
    margin: 2%;
    width: 46%;
    -webkit-border-radius: 4px;
            border-radius: 4px;
}

.offers,
.about {
    padding-top: 15px;
}
.offers {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
}

.offers article {
    border-bottom: 1px solid #999;
    font-size: 0.9em;
    padding: 10px;
}
.offers article:nth-child(even) {
    background-color: #d2d2d2;
}
.offers article:nth-child(odd) {
    background-color: #eee;
}
.offers h2 {
    border-bottom: 1px solid #999;
    margin-bottom: 0;
    padding: 0 10px 6px 10px;
}
.offers article p,
.offers article ul {
    margin-bottom: 4px;
}
.offers article h3 {
    font-size: 1em;
    margin: 0 0 4px 0;
}


footer {
    color: #fff;
    padding: 20px 4px 6px;
    background-color: #2a2a2a;
}

footer li {
    list-style-type: none;
    display: inline-block;
    margin: 5px 3px;
}

footer li a {
    color: #444;
    background-color: #eee;
    text-decoration: none;
    padding: 5px 6px;
    font-size: 12px;
    -webkit-border-radius: 4px;
            border-radius: 4px;
}

footer .copyright {
    font-size: 10px;
    margin: 12px 4px 0;
    color: #777;
}





.shadow-top,
.shadow-bottom {
    position: absolute;
    left: 0;
    height: 14px;
    width: 100%;
    background-repeat: repeat-x;
}
.shadow-top {
    top: 0;
    background: url(../img/dropshadow-top.png);
}
.shadow-bottom {
    bottom: 0;
    background: url(../img/dropshadow-bottom.png);
}



/* ==========================================================================
   Custom checkboxes & radios
   ========================================================================== */
input[type=checkbox],
input[type=radio] {
    opacity: 0;
}
input[type=checkbox] + label,
input[type=radio] + label {
    background-image: url(../img/custom-inputs.png);
    background-repeat: no-repeat;
}
input[type=checkbox]:checked + label {
    background-position: 0 -300px;
}
input[type=radio] + label {
    background-position: 0 -600px;
}
input[type=radio]:checked + label {
    background-position: 0 -900px;
}




/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 400px) {
    .titlebar .ri-wrapper {
        display: block;
    }
}

@media only screen and (min-width: 440px) {
    .content article .leftCol > img {
        display: block;
    }
}

@media only screen and (min-width: 550px) {
    .slider-item {
        width: 31.3%;
        margin-left: 0.5%;
        margin-right: 0.5%;
    }
}

@media only screen and (min-width: 768px) {
    .titlebar {
        height: 110px;
        background: url(../img/header.jpg);
        background-repeat: no-repeat;
        background-position: 47% 0%;
    }
    
    .titlebar .dtm-logo {
        height: 110px;
        margin: 0;
        width: 490px;
        background-image: url(../img/logo-dtmkarten.png);
    }
    
    .titlebar .ringinfo {
        margin: 8px 4px 0 25px;
        height: 95px;
    }
    
    .titlebar .ri-wrapper {
        height: 107px;
        width: 160px;
    }
    
    .btn-back {
        display: none;
    }
    
    .link-back {
        display: inline-block;
        margin-bottom: 10px;
        font-size: 0.9em;
        margin-left: 10px;
        text-decoration: none;
    }
    
    .main {
        margin-top: 150px;
    }
    
    .main > .categories .rating,
    .main > .categories .stats {
        display: block;
    }
    .main > .categories {
        display: block !important;
        position: absolute;
        float: left;
        width: 300px;
    }
    .content,
    .partners,
    .offers,
    .about {
        margin-left: 300px;
        background-color: #fff;
    }
    
    .about {
        display: block;
    }
    
    .home .offers {
        display: block;
    }
    
    .content .slider h1,
    .content.detail h1 {
        font-size: 1.45em;
    }
    
    .main > .stats {
        display: none;
    }
    .stats a {
        margin-right: 20px;
    }
    .stats a .ringinfo {
        height: 59px;
    }
    
    .category-btn {
        width: 300px;
        background-image: none;
        padding-left: 4px;
        cursor: default;
    }
    .category-btn .indicator {
        display: none;
    }
    
    .shop-btns {
        width: auto;
    }
    .shop-btns .cart .btn-text,
    .shop-btns .checkout,
    .shop-btns .search {
        display: inline-block;
    }
    .shop-btns .cart {
        width: auto;
        padding-left: 48px;
    }
    .shop-btns a {
        border-left: 1px solid #b6000d;
        border-right: 1px solid #560006;
    }
    .shop-btns:before {
        border-left: 1px solid #560006;
        content: "";
        height: 40px;
        margin-left: -1px;
        position: absolute;
        width: 1px;
    }
    
    section h2 {
        font-size: 1.2em;
    }
    .category-btn,
    .categories li a {
        padding-left: 6px;
        padding-right: 6px;
    }
    .content h1,
    .content .slider h1,
    .progress-label {
        padding-left: 10px;
    }
    
    section,
    .content .categories li a,
    .progress {
        padding-left: 10px;
        padding-right: 10px;
    }
    .content {
        border-bottom: 0;
        margin-bottom: 0;
    }
    
    .detail .available,
    .detail .price {
        padding-left: 10px;
        padding-right: 10px;
        width: auto;
    }
    .detail .available {
        float: left;
    }
    .button {
        display: inline-block;
        line-height: 35px;
    }
    .add-to-cart.button {
        background-position: 5px 0;
        margin: 20px 10px;
        padding-left: 50px;
        padding-right: 13px;
    }
    
    .cart-continue.button,
    .personal-data .cart-continue.button,
    .personal-data .cart-back.button,
    .finish.button {
        padding: 0 20px;
        width: auto;
        margin-left: 0;
        margin-right: 10px;
    }
    .personal-data .cart-continue.button {
        float: right;
        margin-left: 0;
        margin-right: 0;
    }
    .personal-data.address .cart-continue.button {
        bottom: 0;
        float: none;
        position: absolute;
        right: 0;
    }
    .personal-data .cart-back.button {
        float: left;
        margin-left: 0;
        margin-right: 0;
    }
    .finish.button {
        display: inline-block;
        float: right;
        margin-right: 0;
    }
    
    .progress span {
        border: 0 !important;
        width: 30px;
        margin-right: 4px;
    }
    .progress-label {
        float: left;
        line-height: 27px;
        margin-right: 10px;
    }
    
    .cart-item {
        padding: 6px 10px;
    }
    article.recommendation,
    .cart-item.total {
        padding: 10px;
    }
    section.notice {
        padding: 10px 10px 0 10px;
    }
    
    
    .content article .leftCol {
        padding-left: 10px;
        width: 74%;
    }
    .content article .rightCol {
        padding-right: 10px;
        width: 20%;
    }
    .content article .leftCol h2,
    .content article .leftCol p {
        padding-left: 100px;
    }
    
    .content article span.view {
        display: block;
        margin-top: 10px;
        text-decoration: underline;
    }
}


@media only screen and (min-width: 930px) {
    /*
    .slider-item {
        width: 23.2%;
        margin-left: 0.5%;
        margin-right: 0.5%;
    }
    */
    
    
    .titlebar .ri-wrapper {
        margin-right: -20px;
    }
    
    .titlebar .kks-wrapper {
        display: block;
        margin-left: 2.5%;
        padding-top: 5px;
    }

    .titlebar .kks-wrapper img {
        width: 190px;
    }
    
    .search {
        width: 190px;
    }
    
    .content h1,
    .content .slider h1,
    .progress-label {
        padding-left: 15px;
    }
    section,
    .content .categories li a,
    .progress {
        padding-left: 15px;
        padding-right: 15px;
    }
    .offers h2 {
        padding-left: 15px;
    }
    .offers article {
        padding: 10px 15px;
    }
    
    .add-to-cart.button,
    .detail .description {
        margin-left: 15px;
    }
    
    .detail .available,
    .detail .price {
        padding-left: 15px;
    }
    
    .link-back {
        margin-left: 15px;
    }
    
    .content .categories li {
        float: left;
        width: 47.5%;
        margin: 0 2% 4px 2%;
    }
    .content .categories li:nth-child(even) {
        margin-left: 0.5%;
    }
    .content .categories li:nth-child(odd) {
        margin-right: 0.5%;
    }
    
    .content .categories li a span {
        display: none;
    }
    
    .categories ul,
    .subheader {
        font-size: 0.9em;
    }
    
    .partners img {
        margin: 1% 2%;
        width: 30.6%;
    }

    .partners a:nth-child(5) img,
    .partners a:nth-child(8) img {
        margin: 1% 0;
    }
    
    .cart-item {
        position: relative;
        padding: 6px 15px;
    }
    .cart-item.total div:first-child {
        width: 100% !important;
        padding-right: 0;
        margin-bottom: 15px;
    }
    .cart-item:not(.empty-notice) div:first-child {
        float: left;
        width: 53%;
        margin-bottom: 22px;
        padding-right: 6px;
    }
    .cart-item .costs {
        width: 47%;
        float: right;
    }
    .cart-item .controls {
        position: absolute;
        bottom: 2px;
        left: 15px;
    }
    .cart-item .controls .fRight {
        float: left;
        margin-left: 10px;
    }
    article.recommendation,
    .cart-item.total {
        padding: 15px;
    }
    section.notice {
        padding: 10px 15px 0 15px;
    }
    
    .cart-continue.button {
        margin-right: 15px;
    }
    .personal-data .cart-continue.button {
        margin-right: 0;
    }
    
    .personal-data.address .formrow,
    .personal-data.invoice .formrow-wrapper .formrow {
        width: 49%;
    }
    .personal-data.address .formrow:nth-child(2n+2) {
        float: left;
    }
    .personal-data.address .formrow:nth-child(2n+3) {
        float: right;
    }
    
    .personal-data.address .formrow.error-padding {
        padding-bottom: 20px;
    }
    .help-block.form-error {
        display: inline-block;
        height: 20px;
    }
    
    .content article .arrowCol {
        display: none;
    }
    .content article .leftCol {
        width: 80%;
        padding-left: 15px;
    }
    .content article.info .leftCol {
        width: 100%;
        padding-right: 10px;
    }
    .content article .rightCol {
        padding-right: 15px;
    }
    
    .content article .leftCol > img {
        width: 110px;
    }
    .content article .leftCol h2,
    .content article .leftCol p {
        padding-left: 122px;
    }
}

@media only screen and (min-width: 1020px) {
    .cart-item:not(.empty-notice) div:first-child {
        width: 59%;
    }
    .cart-item .costs {
        width: 41%;
    }
}


@media only screen and (min-width: 1120px) {
    .content,
    .partners,
    .about {
        margin-right: 200px;
    }
    
    .main > .categories .stats {
        display: none;
    }
    .main > .stats {
        display: block;
        position: absolute;
        top: 200px;
        right: 0;
        width: 200px;
    }
    
    .offers {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 200px;
        padding-top: 8px;
    }
    .offers h2 {
        padding: 0 6px 6px 6px;
    }
    .offers article {
        padding: 6px;
    }
    .stats a {
        margin-left: 32px;
        margin-right: 0;
    }
    .stats a .ringinfo {
        height: 95px;
        margin-bottom: 5px;
    }
    .stats p {
        font-size: 0.95em;
    }
    
    .cart-item:not(.empty-notice) div:first-child {
        width: 53%;
    }
    .cart-item .costs {
        width: 47%;
    }
    
    .content,
    .content > article,
    .slider,
    .about,
    .partners {
        -webkit-box-shadow: inset -16px 5px 10px -18px #000;
                box-shadow: inset -16px 5px 10px -18px #000;
    }
}

@media only screen and (min-width: 1180px) {
    .cart-item:not(.empty-notice) div:first-child {
        width: 58%;
    }
    .cart-item .costs {
        width: 42%;
    }

    .subheader > img {
        display: inline-block;
        margin-left: 7%;
    }
}

@media only screen and (min-width: 1250px) {
    .cart-item:not(.empty-notice) div:first-child {
        width: 62%;
    }
    .cart-item .costs {
        width: 38%;
    }
}


/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.fLeft {
    float: left;
}
.fRight {
    float: right;
}

.fixed-top {
    position: fixed;
    top: 0;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}
