/*--- standard variables ---*/
/*--- product item ratio (thumb + content) ---*/
/* set ProductImageRatio in productOverview! */
/*--- media queries. When using responsive ---*/
/* Range breakpoints */
/*--- media queries. When using responsive: only mobile & desktop ---
@responsive:	false;
@largePhone:	~"only screen and (min-width: 480px)";
@tablet:		~"only screen and (min-width: 999999999px)";
@tabletLand:	~"only screen and (min-width: 768px)";
@desktop:		~"only screen and (min-width: 768px)";

@upToTablet:	~"only screen and (max-width: 767px)";
@upToDesktop:	~"only screen and (max-width: 767px)";*/
/*--- media queries. When not using responsive ---
@responsive:	false;
@largePhone:	~"only screen and (min-width: 1px)";
@tablet:		~"only screen and (min-width: 1px)";
@tabletLand:	~"only screen and (min-width: 1px)";
@desktop:		~"only screen and (min-width: 1px)";

@upToTablet:	~"only screen and (max-width: 1px)";
@upToDesktop:	~"only screen and (max-width: 1px)";*/
/*----- Default functions -----*/
/*----- Default Crossbrowser functions -----*/
/*----- CSS3 functions -----*/
/*----- CSS3 Animation functions -----*/
/*----- Buttons -----*/
/*----- Responsive functions -----*/
.vat {
  color: #afafaf;
}
.saveCartWrapper {
  width: 100%;
  display: block;
  margin: 30px 0 10px;
  text-align: center;
}
@media only screen and (min-width: 600px) {
  .saveCartWrapper {
    text-align: right;
    padding: 10px 0;
    margin: 30px 0 10px;
  }
}
@media only screen and (min-width: 768px) {
  .saveCartWrapper ~ .formButtons {
    margin-top: 30px !important;
    overflow: visible;
  }
}
.saveCartWrapper .SaveCartControl {
  text-align: left;
  padding: 10px;
}
@media only screen and (min-width: 768px) {
  .saveCartWrapper .SaveCartControl {
    padding: 3%;
  }
}
.saveCartWrapper .link {
  padding: 7px 5px;
  display: block;
}
@media only screen and (min-width: 768px) {
  .saveCartWrapper .link {
    padding: 3px 10px;
  }
}
.saveCartWrapper .link:after {
  content: '\f0c7';
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: 18px;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: auto;
  height: auto;
  line-height: auto;
  padding: 0 0 0 10px;
  vertical-align: text-bottom;
}
.saveCartWrapper .text {
  margin: 0 0 15px;
  display: block;
}
.saveCartWrapper label {
  font-weight: bold;
  font-size: 14px !important;
  display: block !important;
}
.saveCartWrapper input[type="text"],
.saveCartWrapper input[type="email"] {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .saveCartWrapper {
    float: right;
    text-align: right;
  }
}
.topStepButtons .bttnPrev {
  display: none;
}
.cart,
.invoice {
  position: relative;
}
.cart #productsWrapper,
.invoice #productsWrapper {
  margin-bottom: 15px;
}
.cart #productsWrapper:after,
.invoice #productsWrapper:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  *zoom: 1;
}
.cart table tr th,
.invoice table tr th,
.cart table tr td,
.invoice table tr td {
  padding: 3% .5%;
  display: table-cell;
  float: none;
}
@media only screen and (min-width: 768px) {
  .cart table tr th,
  .invoice table tr th,
  .cart table tr td,
  .invoice table tr td {
    padding: 1% .5%;
  }
}
.cart table tr th.price,
.invoice table tr th.price,
.cart table tr td.price,
.invoice table tr td.price,
.cart table tr th .price,
.invoice table tr th .price,
.cart table tr td .price,
.invoice table tr td .price,
.cart table tr th .totalPrice,
.invoice table tr th .totalPrice,
.cart table tr td .totalPrice,
.invoice table tr td .totalPrice,
.cart table tr th.totalPrice,
.invoice table tr th.totalPrice,
.cart table tr td.totalPrice,
.invoice table tr td.totalPrice {
  text-align: right;
}
.cart table tr th.price.desktop,
.invoice table tr th.price.desktop,
.cart table tr td.price.desktop,
.invoice table tr td.price.desktop {
  display: none;
}
@media only screen and (min-width: 768px) {
  .cart table tr th.price.desktop,
  .invoice table tr th.price.desktop,
  .cart table tr td.price.desktop,
  .invoice table tr td.price.desktop {
    display: table-cell;
  }
}
.cart table tr th.alignRight,
.invoice table tr th.alignRight,
.cart table tr td.alignRight,
.invoice table tr td.alignRight {
  text-align: right;
}
.cart table thead,
.invoice table thead {
  background: #f7f7f7;
}
.cart table tbody td.deliveryOptionsWrapper,
.invoice table tbody td.deliveryOptionsWrapper {
  float: none;
  padding: 0;
}
.cart table tbody td.image,
.invoice table tbody td.image {
  width: 100px;
  padding-right: 5%;
  padding-left: 0;
  margin: 10px 0;
  display: block;
}
.cart table tbody td.image > a,
.invoice table tbody td.image > a {
  height: inherit;
  display: block;
}
.cart table tbody td.image > a img,
.invoice table tbody td.image > a img {
  display: block;
}
.cart table tbody td.product,
.invoice table tbody td.product {
  padding: 3% 3% 1% 1%;
}
@media only screen and (min-width: 768px) {
  .cart table tbody td.product,
  .invoice table tbody td.product {
    padding: 1% 3% 1% 1%;
  }
}
.cart table tbody td.product a,
.invoice table tbody td.product a {
  color: black;
}
.cart table tbody td.product .title,
.invoice table tbody td.product .title {
  font-weight: 700;
}
.cart table tbody td.product .articleNumber,
.invoice table tbody td.product .articleNumber {
  padding: 0 0 5px;
  display: inline-block;
}
.cart table tbody td.delete,
.invoice table tbody td.delete {
  text-align: right;
}
.cart table tfoot td,
.invoice table tfoot td {
  padding-top: 0;
}
.cart table tfoot td.empty,
.invoice table tfoot td.empty {
  border: 0 none;
}
.cart table tfoot td.totalPrice,
.invoice table tfoot td.totalPrice {
  font-weight: bold;
}
.cart table tfoot td.title,
.invoice table tfoot td.title {
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .cart table tfoot td.title,
  .invoice table tfoot td.title {
    text-align: right;
  }
}
.cart table tfoot td .deleteButton,
.invoice table tfoot td .deleteButton {
  float: left;
  margin-right: 5px;
}
.cart table tfoot td .discount,
.invoice table tfoot td .discount {
  float: right;
}
.cart table tfoot tr.total .title,
.invoice table tfoot tr.total .title {
  font-size: 20px;
  font-weight: 700;
  font-style: italic;
}
.cart table tfoot tr.total .price,
.invoice table tfoot tr.total .price {
  font-style: italic;
  font-size: 20px;
}
.cart table.costs .price,
.invoice table.costs .price,
.cart table.costs .link,
.invoice table.costs .link {
  text-align: right;
}
.cart .discountCode,
.invoice .discountCode {
  margin: 20px 0;
}
.cart .discountCode a[data-toggle-selector=".promotionCodeContainer"],
.invoice .discountCode a[data-toggle-selector=".promotionCodeContainer"] {
  padding: 0 0 5px;
  display: block;
}
.cart .discountCode a[data-toggle-selector=".promotionCodeContainer"]:after,
.invoice .discountCode a[data-toggle-selector=".promotionCodeContainer"]:after {
  content: '\f055';
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: 18px;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: auto;
  height: auto;
  line-height: auto;
  color: #f69a0b;
  vertical-align: middle;
  padding: 0 0 0 8px;
}
.cart .discountCode .remove,
.invoice .discountCode .remove {
  font-style: italic;
}
@media only screen and (min-width: 1024px) {
  .cart .discountCode .remove,
  .invoice .discountCode .remove {
    margin-right: 15px;
  }
}
.cart .discountCode a.deleteButton,
.invoice .discountCode a.deleteButton {
  color: #f69a0b;
  margin-left: 10px;
  font-style: normal;
}
.cart .discountCode a.deleteButton:hover,
.invoice .discountCode a.deleteButton:hover {
  color: #e6575a;
  -webkit-transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
  /*-moz-backface-visibility: hidden;*/

}
@media only screen and (max-width: 1023px) {
  .cart .discountCode .discount,
  .invoice .discountCode .discount {
    display: block;
  }
}
.cart #invoiceBottom,
.invoice #invoiceBottom {
  text-align: center;
}
.cart #invoiceBottom .openingHours,
.invoice #invoiceBottom .openingHours {
  width: 300px;
  margin: 20px auto;
}
.cart #invoiceBottom .openingHours caption,
.invoice #invoiceBottom .openingHours caption {
  margin: 20px 0;
}
.products tr {
  border-bottom: 1px solid #eae9e9;
}
.products tr:last-child {
  border-bottom: none;
}
.costs tr {
  border: none;
}
.costs tr.total .title {
  font-weight: 700;
  font-style: italic;
  font-size: 20px;
}
.costs tr.total .price {
  font-weight: 700;
  font-style: italic;
  font-size: 20px;
  position: relative;
}
tfoot tr {
  border-bottom: none !important;
}
@media only screen and (min-width: 768px) {
  .cart table tr th,
  .invoice table tr th,
  .cart table tr td,
  .invoice table tr td {
    display: table-cell;
    float: none;
  }
  .cart table tr th.price,
  .invoice table tr th.price,
  .cart table tr td.price,
  .invoice table tr td.price {
    float: none;
  }
  .cart table tr th,
  .invoice table tr th {
    min-width: 70px;
    padding: .5%;
    width: 12%;
    font-size: 16px;
    font-weight: 700;
    height: 40px;
    line-height: 28px;
  }
  .cart table tr th.image,
  .invoice table tr th.image,
  .cart table tr th.product,
  .invoice table tr th.product {
    width: auto;
  }
  .cart table tr .image,
  .invoice table tr .image,
  .cart table tr .product,
  .invoice table tr .product {
    padding-left: 1%;
  }
  .cart table thead .delete,
  .invoice table thead .delete {
    width: 2%;
    min-width: 0;
  }
  .cart table tbody td.image,
  .invoice table tbody td.image {
    float: none;
  }
  .cart table tbody td.size:before,
  .invoice table tbody td.size:before,
  .cart table tbody td.amount:before,
  .invoice table tbody td.amount:before {
    display: none;
  }
  .cart table tbody td.totalPrice,
  .invoice table tbody td.totalPrice {
    float: none;
  }
  .cart table tfoot td,
  .invoice table tfoot td {
    float: none;
    width: auto;
  }
  .cart table tfoot tr.discountCode td,
  .invoice table tfoot tr.discountCode td {
    padding-top: 40px;
  }
  .cart .products tbody td,
  .invoice .products tbody td {
    vertical-align: middle;
  }
}
@media only screen and (min-width: 1280px) {
  .cart #productsWrapper,
  .invoice #productsWrapper {
    overflow: hidden;
  }
  .cart #productsWrapper .col,
  .invoice #productsWrapper .col {
    float: left;
    margin-right: 1.171875%;
    margin-bottom: 1.171875%;
    width: 49.4140625%;
  }
  .lt-ie9 .cart #productsWrapper .col,
  .lt-ie9 .invoice #productsWrapper .col {
    /*IE 8*/
    width: 48.828125%;
  }
  .cart #productsWrapper .col:nth-of-type(n),
  .invoice #productsWrapper .col:nth-of-type(n) {
    /*reset if function is called more then once*/
    margin-right: 1.171875%;
  }
  .cart #productsWrapper .col:nth-of-type(2n),
  .invoice #productsWrapper .col:nth-of-type(2n) {
    margin-right: 0;
  }
  .cart #productsWrapper .col,
  .invoice #productsWrapper .col {
    background: none;
  }
  .cart table tr td.price,
  .invoice table tr td.price {
    font-weight: normal;
  }
  .cart table tr td.price.finalPrice,
  .invoice table tr td.price.finalPrice {
    font-size: 16px;
    font-weight: bold;
  }
}
/* LOADER */

.loader-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.4);
  z-index: 100;
}
.loader-wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  right: auto;
  left: 0;
  bottom: 0;
  width: 1px;
  background-color: white;
  -moz-opacity: 0.5;
  -khtml-opacity: 0.5;
  -webkit-opacity: 0.5;
  opacity: 0.5;
  filter: alpha(opacity=50);
  -webkit-box-shadow: 0 0 130px 100px white;
  -moz-box-shadow: 0 0 130px 100px white;
  box-shadow: 0 0 130px 100px white;
  -webkit-transform: translateX(-100px);
  -moz-transform: translateX(-100px);
  -o-transform: translateX(-100px);
  -ms-transform: translateX(-100px);
  transform: translateX(-100px);
  animation: load-bar 1000ms linear infinite;
}
@keyframes load-bar {
  0% {
    left: -500px;
  }
  100% {
    left: 130%;
  }
}
.lds-spinner {
  color: official;
  display: inline-block;
  position: relative;
  width: 64px;
  height: 64px;
  top: 100px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
.lds-spinner div {
  transform-origin: 32px 32px;
  animation: lds-spinner 600ms linear infinite;
}
.lds-spinner div:after {
  content: " ";
  display: block;
  position: absolute;
  top: 3px;
  left: 29px;
  width: 3px;
  height: 10px;
  border-radius: 20%;
  background: #f69a0b;
}
.lds-spinner div:nth-child(1) {
  transform: rotate(0deg);
  animation-delay: -550ms;
}
.lds-spinner div:nth-child(2) {
  transform: rotate(30deg);
  animation-delay: -500ms;
}
.lds-spinner div:nth-child(3) {
  transform: rotate(60deg);
  animation-delay: -450ms;
}
.lds-spinner div:nth-child(4) {
  transform: rotate(90deg);
  animation-delay: -400ms;
}
.lds-spinner div:nth-child(5) {
  transform: rotate(120deg);
  animation-delay: -350ms;
}
.lds-spinner div:nth-child(6) {
  transform: rotate(150deg);
  animation-delay: -300ms;
}
.lds-spinner div:nth-child(7) {
  transform: rotate(180deg);
  animation-delay: -250ms;
}
.lds-spinner div:nth-child(8) {
  transform: rotate(210deg);
  animation-delay: -200ms;
}
.lds-spinner div:nth-child(9) {
  transform: rotate(240deg);
  animation-delay: -150ms;
}
.lds-spinner div:nth-child(10) {
  transform: rotate(270deg);
  animation-delay: -100ms;
}
.lds-spinner div:nth-child(11) {
  transform: rotate(300deg);
  animation-delay: -50ms;
}
.lds-spinner div:nth-child(12) {
  transform: rotate(330deg);
  animation-delay: 0ms;
}
@keyframes lds-spinner {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.cartBottomtext {
  float: right;
  border-radius: 15px;
  padding: 6px 20px;
  color: white;
  font-weight: bold;
  letter-spacing: 1px;
  font-size: 13px;
  margin-top: 15px;
}
.promotionMessages.pane {
  margin-bottom: 15px;
  -webkit-animation: fadeIn 800ms ease-in-out;
  -moz-animation: fadeIn 800ms ease-in-out;
  -ms-animation: fadeIn 800ms ease-in-out;
  -o-animation: fadeIn 800ms ease-in-out;
  animation: fadeIn 800ms ease-in-out;
  color: #2d672d;
  background-color: #b5dfb5;
  border-color: #5cb85c;
  padding: 16px 24px;
}
.promotionMessages.pane q {
  display: flex;
  font-size: 15px;
  line-height: 1.8;
}
.promotionMessages.pane q:before {
  content: "\f05a";
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: 22px;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: auto;
  height: auto;
  line-height: auto;
  vertical-align: text-bottom;
  margin-right: 10px;
  position: relative;
  top: 5px;
}
@media only screen and (min-width: 768px) {
  .promotionMessages.pane q:before {
    top: 2px;
  }
}
