/* --- module: shop --- */


/* submit + error message */

#submitAlert {
    background-image: url(../../images/shop_submitalert_bkg.png);
    width: 517px;
    height: 128px;
    position: fixed;
    top: -200px;
    z-index: 99999999999;
    left: 50%;
    margin: 0px 0px 0px -250px;
    text-align: center;
}

#submitAlert .content {
    background-color: #ffffff;
    border: 1px solid #db001b;
    margin: 20px;
    padding: 25px 0px 25px 0px;
}

#submitAlert .loader {
    height: 2px;
    width: 355px;
    margin: 20px auto 0px auto;
    background-image: url(../../images/shop_submitalert_anim.gif);
    background-repeat: no-repeat;
    background-color: #db001b;
}


/* common */

.shopHeader {
    margin-bottom: 15px;
    margin-top: 25px;
    color: #db001b;
    text-transform: uppercase;
}

.plain .shopHeader {
    margin-top: 0px;
}

.shopSubHeader {
    font-weight: bold;
    padding: 0px 0px 8px 0px;
    margin-bottom: 10px;
}

.labelField {
    white-space: nowrap;
    padding-right: 12px;
}

input[name="amount"] {
    text-align: right;
}

.requiredField {
    color: #db001b;
}

.shopClosed {
    text-align: right;
}

.pricescale {
    padding: 10px 0px 0px 0px;
    text-align: right;
}

.pricescale .psAmount {
    font-weight: 700;
}

.pricescale .psPrice {}

.pricescale .originalPrice {}
.shop .price {
    text-align: right;
    padding: 10px 0px 0px 0px;
}

.shop .price span {
    font-weight: bold;
}

.shop .promotion {
  text-align: right;
  padding: 10px 0px 0px 0px;
}

.shop .promotion .price .originalPrice,
.shop .promotion .pricescale .originalPrice {
  text-decoration: line-through;
  opacity: 0.9;
  display: inline-block;
  font-weight: 400;
  padding: 0px 5px 0px 5px;
  transform: scale(0.9);
}

.shop .promotion .price .actualPrice {
    background-color: #FAF748;
    display: inline-block;
    padding: 5px 10px 5px 10px;
    margin: 5px 0px 5px 0px;
    color: #000000;
}


/* list */

.shopList .leftPic {
    float: left;
    padding: 0px 10px 0px 0px;
    position: relative;
}

.shopList .rightPic {
    float: right;
    padding: 0px 0px 0px 10px;
    position: relative;
}

.shopList .leftPic a,
.shopList .rightPic a {
    display: block;
}

.shopList .leftPic img,
.shopList .rightPic img {
    width: 115px;
    height: auto;
    position: relative;
}


/*
.shopList .leftPic a::after, .shopList .rightPic a::after {
	width: 20px;
	content: "+";
	font-family: Arial, Helvetica, sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 15px;
	text-align: center;
	position: absolute;
	bottom: 0px;
	right: 10px;
	color: #ffffff;
	text-shadow: 0px 0px 3px #000000;
}
*/

.shopList .listContent {
    overflow: hidden;
    /* overflow AUSSCHALTEN, wenn bild1 umflossen werden soll */
}


/* detail */

.shopDetail .price {
    text-align: right;
}

.shopDetail .price span {
    font-weight: bold;
}

.shopDetail .recommendation {
    padding: 40px 0px 0px 0px;
}

.shopDetail .recommendation .header {
    padding: 20px 0px 30px 0px;
}


/* stagenav */

.stagenav,
.stagenav.nospacing {
    margin: 0px 0px 40px 0px;
    background-color: #f5f5f5;
    overflow: hidden;
}

.stagenav li {
    display: inline-block;
    position: relative;
    white-space: nowrap;
}

.stagenav li:nth-child(1) {
    z-index: 3;
}

.stagenav li:nth-child(2) {
    z-index: 2;
    padding-left: 20px;
}

.stagenav li:nth-child(3) {
    z-index: 1;
    padding-left: 20px;
}

.stagenav li a,
.stagenav li span {
    position: relative;
    z-index: 10;
    display: block;
    padding: 10px 0px 10px 10px;
    text-decoration: none;
}

.stagenav li a:hover {
    opacity: 0.5;
}

.stagenav li::after {
    content: '';
    display: block;
    width: 80px;
    height: 80px;
    transform: rotate(45deg);
    border-top: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    background-color: #f5f5f5;
    position: absolute;
    top: -53%;
    right: -11px;
}

.stagenav li.selected {
    background-color: #e8e8e8;
}

.stagenav li.selected::after {
    background-color: #e8e8e8;
}

.stagenav .stepDisabled {
    opacity: 0.5
}


/* cartsummary */

.cartsummary {
    padding: 0px 0px 20px 0px;
    text-align: right;
}

.cartsummary a {
    text-decoration: none;
}

.cartsummary a:hover {
    opacity: 0.5;
}

.cartsummary .header {
    margin: 0px 10px 0px 0px;
}

.cartsummary .header i::before {
    font-family: FontAwesome;
    content: "\f291";
    font-style: normal;
}

.cartsummary .amount {
    font-weight: 700;
}

.cartsummary .label {
    font-weight: 700;
}

.cartsummary .sum {
    //font-weight: 700;
}.cartsummary .sum::before {
    content:"(";
}.cartsummary .sum::after {
    content:")";
}

.cartsummary .loading,
.cartsummary .error {
    background-repeat: no-repeat;
    padding: 2px 0px 8px 10px;
}

.cartsummary .loading i {
    margin-right: 15px;
}

.cartsummary .error {}

.cartsummary .error::before {
    font-family: FontAwesome;
    content: '\f071';
    color: #ff0000;
    padding-right: 10px;
}

.cartsummary .content {}


/* cart */

.cart .itemHeader,
.cart .itemShopinfo,
.cart .itemFooter,
.cart .itemContent {
    width: 100%;
}

.cart .swTableCell {
    vertical-align: bottom;
}

.cart .itemHeader {
    border-bottom: 1px solid #cccccc;
    padding: 0px 0px 10px 0px;
}

.cart .itemSection {
    border-bottom: 1px solid rgba(0,0,0,0.3);
    padding: 10px 0px 10px 0px;
}

.cart .itemContent {
    padding: 0px 0px 10px 0px;
}

.cart .itemImage {
    padding: 0px 10px 0px 0px;
    vertical-align: top;
}

.cart .itemImageHolder {
    width: 70px;
    height: 70px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    overflow: hidden;
}

.cart .itemImageHolder img {
    width: 100%;
    height: 100%;
    opacity: 0;
}

.cart .itemText {
    width: 100%;
    vertical-align: top;
}

.cart .itemPrice {
    width: 80px;
}

.cart .itemAmount {
    width: 105px;
    text-align: right;
    padding-right: 10px;
}

.cart .itemAmount .shopBtnUpdate {
    vertical-align: bottom;
}

.cart .itemPrice {
    width: 115px;
    text-align: right;
}

.cart .itemPrice.sum {
    font-weight: 700;
    text-align: right;
    padding: 15px 0px 0px 0px;
}

.cart .itemPrice.sum span {
    display: inline-block;
    border-bottom-style: double;
    border-bottom-color: #cccccc;
    padding-bottom: 3px;
}

.cart .itemDelete {}

.cart .shippingInfo {
    text-align: right;
    padding: 5px 0px 0px 0px;
}

.cart .optionItems {
    color: rgba(0,0,0.7);
}

.cart .emptyCart {
    padding: 30px 0px 30px 0px;
    font-weight: 700;
    text-align: center;
}

.cart .linkIconRight {
    margin: 20px 0px 0px 0px;
    display: inline-block;
}

.cart .gotoCheckout {
    width: 100%;
    margin: 20px 0px 0px 0px;
}

.shippingTable .title {
    text-transform: uppercase;
    font-weight: 700;
    padding: 20px 0px 10px 0px;
}

.shippingTable .swTable {
    width: 100%;
}

.shippingTable .swTableRow {
    background-color: #f5f5f5;
}

.shippingTable .swTableRow:nth-child(even) {}

.shippingTable .swTableRow:hover {
    background-color: #e5e5e5;
}

.shippingTable .swTableCell {
    padding: 5px 15px 5px 15px;
    border-top: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    vertical-align: middle;
}

.shippingTable .swTableCell.type {}

.shippingTable .swTableCell.cost {
    text-align: right;
    font-weight: 700;
}

.shippingTable input[type="button"] {
    margin-top: 20px;
    width: 100%;
}


/* cartContent */

.cartContent .itemFooterDelivery {
    text-align: right;
    padding: 15px 0px 0px 0px;
}

.cartContent .itemFooterDelivery .delivery .link {
    display: inline-block;
    padding: 0px 0px 5px 0px;
}

.cartContent #zustellung_detail_box {
    white-space: nowrap;
    padding: 10px 0px 0px 0px;
}

.cartContent #zustellung_detail_box select {
    max-width: 100%;
}

.cartContent #zustellung_detail_box a {
    width: 30px;
    height: 30px;
    display: inline-block;
    text-decoration: none;
    color: #db001b;
    border-radius: 100%;
    line-height: 30px;
    text-align: center;
    font-size: 1.4rem;
}

.cartContent #zustellung_detail_box a:hover {
    opacity: 0.5;
}

.cartContent #zustellung_detail_box a::before {
    content: '\f054';
    font-family: FontAwesome;
}

.cartContent #shipping_cost_result_box {
    padding: 10px 0px 0px 0px;
}

.cartContent #shipping_cost_result_box #shipping_cost_result {
    font-weight: 700;
}


/* addToCart */

.addToCart {
    text-align: right;
    padding: 5px 0px 10px 0px;
}

.addToCart .swTable.tableAddToCart {
    margin: 15px 0px 0px auto;
    width: auto;
}

.addToCart .swTable.tableAddToCart .swTableCell.cellAmount,
.addToCart .swTable.tableAddToCart .swTableCell.cellUnit,
.addToCart .swTable.tableAddToCart .swTableCell.cellSubmit {
    padding: 0px 5px 0px 5px;
    vertical-align: middle;
}

.addToCart .cellAmount input {
    width: 60px;
    text-align: right;
}

.addToCart .swTable.tableAddToCart .swTableCell.cellSubmit {
    padding: 0px 0px 0px 5px;
}

.addToCart .button {
    width: 36px;
    height: 36px;
    border-radius: 100%;
    background-color: #db001b;
    border: 0px;
    color: #ffffff;
}

.addToCart .button i::before {
    content: "\f217";
    font-family: FontAwesome;
    font-style: normal;
}

.addToCart {}

.addToCart select {
    margin: 3px 0px 0px 0px;
    max-width: 100%;
}


/* itemoptions */

.addToCart .itemoption {
    padding: 0px 0px 10px 0px;
}


/* options */

.optOverlayList .modTitle {
    padding: 20px 0px 10px 0px;
}

.optOverlayList .button {
    margin: 20px 0px 10px 0px;
}

.optOverlayList .optSubmit {
    text-align: center;
}

.optOverlayList .opt {
    padding: 5px 0px 5px 10px;
}


/* checkout */

.checkout {}

.checkout.login {}

.checkout .noreg {
    background-color: #f5f5f5;
    padding: 15px 15px 15px 15px;
    margin: 30px 0px 0px 0px;
}

.checkout .profileCreate {
    background-color: #f5f5f5;
    padding: 15px 15px 15px 15px;
}

.checkout input,
.checkout .button {
    width: 100%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

.checkout .button {
    margin-top: 10px;
}

.checkout .paymentDescription .text {
    padding: 5px 0px 20px 0px;
}

.checkout .paymentDescription .logo {
    margin: 0px 10px 0px 0px;
}

.checkout .paymentDescription .poweredby {
    white-space: nowrap;
}

.checkout .paymentDescription .poweredby img {
    margin: 0px 0px 0px 5px;
}

.checkoutPreview .label {
    width: 100px;
    font-style: italic;
    padding: 0px 20px 0px 0px;
    opacity: 0.8;
}

.checkoutPreview .swTableCell {
    padding: 0px 0px 5px 0px;
}


/* finalize */

.finalize {}

.finalize .dataWrapper {
    display: flex;
    flex-wrap: wrap;
}

.finalize .invoiceBox,
.finalize .deliveryBox {
    min-width: 350px;
    flex-basis: auto;
    /* default value */
    flex-grow: 1;
    padding: 20px 0px 0px 0px;
}

.finalize .invoiceBox {}

.finalize .deliveryBox {}

.finalize .paymentBox {
    margin: 20px 0px 0px 0px;
    padding: 10px 0px 10px 0px;
    border-top: 1px solid #000000;
}

.finalize .messageBox {
    padding: 10px 0px 10px 0px;
    border-top: 1px solid #000000;
}

.finalize .cart {
    margin: 30px 0px 0px 0px;
}

.finalizeOrder {
    padding: 20px 0px 0px 0px;
    text-align: center;
}

.finalizeOrder .button {
    margin-top: 20px;
}


/* lostPassword */

.lostPassword {
    padding: 20px 20px 20px 20px;
}

.lostPassword .content {
    text-align: center;
    padding-top: 30px;
}

.lostPassword input[type="submit"] {
    margin: 20px 0px 0px 0px;
}


/* lostPassword */

.userLogon .content {
    padding-top: 30px;
}


/* userLogon */

.userLogon input {
    margin: 0px 0px 3px 0px;
}


/* buttons */

.shopBtnDel,
.shopBtnUpdate {
    width: 32px !important;
    height: 32px !important;
    border-radius: 100%;
    background: #db001b url(../../images/shop_cart_del.png) no-repeat center !important;
    border: 0px !important;
    cursor: pointer !important;
    margin: 1px 0px 1px 2px !important;
}

.shopBtnDelText {
    padding: 5px 0px 0px 0px;
}

.shopBtnDelText::before {
    content: '\f054';
    font-family: FontAwesome;
    margin: 0px 5px 0px 0px;
}

.shopBtnUpdate {
    background: #088626 url(../../images/shop_cart_update.png) no-repeat center !important;
}

.shopBtnDel:hover,
.shopBtnUpdate:hover {
    opacity: 0.5;
}


/* ==== cart sidebar ==== */

.cartSidebar {
    background-color: #ffffff;
    position: relative;
    margin: 0px 0px 30px 0px;
}


/* loading status */

.cartSidebar #cartLoadstatusWrapper.inactive {
    height: 0px;
    overflow: hidden;
}

.cartSidebar #cartLoadstatusWrapper.active {
    position: absolute;
    width: 100%;
    height: auto;
    padding: 0px 10px 0px 10px;
    background-color: #ffffff;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}

.cartSidebar #cartLoadstatusWrapper .loading,
.cartSidebar #cartLoadstatusWrapper .error {
    background-repeat: no-repeat;
    background-position: 0px 10px;
    font-weight: normal;
    color: #6b6b6b;
    padding: 10px 0px 8px 10px;
    display: block;
}

.cartSidebar #cartLoadstatusWrapper .loading i {
    margin-right: 15px;
}

.cartSidebar #cartLoadstatusWrapper .error {
    background-image: url(../../images/icon_alert.png);
}


/* sidebar design */

.cartSidebar .header {
    background: #db001b;
}

.cartSidebar .header a,
.cartSidebar .header a:hover {
    display: block;
    padding: 7px 0px 7px 0px;
    text-align: center;
    text-transform: uppercase;
    color: #ffffff;
    text-decoration: none;
}

.cartSidebar .header a:hover {
    opacity: 0.5;
}

.cartSidebar .cartRow1,
.cartSidebar .cartRow2,
.cartSidebar .cartRowDelivery {
    border-bottom: 1px solid rgba(0,0,0,0.3);
}

.cartSidebar .cartRow1 td,
.cartSidebar .cartRow2 td,
.cartSidebar .cartRowDelivery td {
    padding: 10px 0px 10px 0px;
    vertical-align: middle;
}

.cartSidebar td.itemTotal {
    padding-left: 5px;
    padding-right: 5px;
}

.cartSidebar .emptyCart {
    font-weight: normal;
    padding: 30px 10px 30px 10px;
}

.cartSidebar .sumBox {
    padding: 20px 0px 20px 0px;
}

.cartSidebar .sumBox .sum {}

.cartSidebar .itemTotal {
    padding-left: 5px;
    padding-right: 5px;
}

.cartSidebar .sumBox .delivery {
    text-align: right;
    padding: 5px 3px 5px 0px;
}

.cartSidebar .sumBox #zustellung_detail_box {
    text-align: center;
    padding: 10px 10px 10px 10px;
}

.cartSidebar .sumBox #zustellung_detail_box select {
    width: calc(100% - 50px);
}

.cartSidebar .sumBox #zustellung_detail_box a {
    width: 30px;
    height: 30px;
    display: inline-block;
    text-decoration: none;
    color: #db001b;
    border-radius: 100%;
    line-height: 30px;
    text-align: center;
    font-size: 1.4rem;
}

.cartSidebar .sumBox #zustellung_detail_box a:hover {
    opacity: 0.5;
}

.cartSidebar .sumBox #zustellung_detail_box a::before {
    content: '\f054';
    font-family: FontAwesome;
}

.cartSidebar .sumBox #shipping_cost_result_box {
    padding: 10px 0px 0px 0px;
}

.cartSidebar .sumBox #shipping_cost_result_box #shipping_cost_result {
    font-weight: 700;
}

.cartSidebar .sumBox .sum {
    text-align: right;
    padding: 0px 3px 3px 0px;
}

.cartSidebar .sumBox .sum span {
    font-weight: 700;
}

.cartSidebar .btnOrder input {
    border: 0px;
    width: 100%;
    background: #db001b;
    cursor: pointer;
    color: #ffffff !important;
    padding: 8px 8px 8px 8px;
}

.google_login_button {
    background: transparent;
    background-image: url("../../images/shop_login_google_red-signin.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 112px;
    height: 36px;
}


/* multicol design */

.shopListMultiCol {}

.shopListMultiCol.swgridMultiCol .swgridFlexItem {
    border: 1px solid #cccccc;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}

.shopListMultiCol .noPic,
.shopListMultiCol .leftPic,
.shopListMultiCol .rightPic {
    float: none;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    display: inline-block;
    position: relative;
    width: 100%;
}

.shopListMultiCol .noPic:before,
.shopListMultiCol .leftPic:before,
.shopListMultiCol .rightPic:before {
    content: "";
    display: block;
    padding-top: 100%;
    /* 1:1 aspect ratio */
}

.shopListMultiCol .leftPic .arElm,
.shopListMultiCol .rightPic .arElm {
    display: block;
    text-align: center;
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    overflow: hidden;
}

.shopListMultiCol .noPic {
    background-color: #f5f5f5;
}

.shopListMultiCol .noPic .arElm {
    height: 100%;
    width: 100%;
    display: flex;
    top: 0px;
    position: absolute;
    align-items: center;
    text-align: center;
}

.shopListMultiCol .noPic .arElm::before {
    content: "\f03e";
    font-family: FontAwesome;
    font-size: 50px;
    width: 100%;
    color: #000000;
    opacity: 0.1;
}

.shopListMultiCol .leftPic img,
.shopListMultiCol .rightPic img {
    height: 100%;
    width: 100%;
    opacity: 0;
}

.shopListMultiCol .leftPic img:before,
.shopListMultiCol .rightPic img:after {
    content: "";
    display: block;
}

.shopListMultiCol .listContent {
    width: 100%;
    height: 100%;
}

.shopListMultiCol .listContentText {
    padding: 10px 10px 10px 10px;
    vertical-align: top;
    height: 100%;
}

.shopListMultiCol .listContentShopinfo {
    padding: 0px 10px 10px 10px;
}

.shopListMultiCol .addToCart select {
    width: 100%;
    text-align: right;
}

.shop.shopListMultiCol .listSpacer {
    border: none;
}
