﻿.cart {
  position: relative; }
  .cart .spinner {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    background-color: rgba(244, 244, 244, 0.9);
    padding: 10px 20px;
    border-radius: 10px; }
    .cart .spinner__label {
      font-size: 1.2rem;
      font-weight: 500;
      padding-right: 10px; }
    .cart .spinner__icon {
      vertical-align: middle; }
  .cart.popup {
    font-size: 0.9rem; }
  .cart__header {
    text-transform: uppercase;
    font-size: 2.4rem;
    text-decoration: none;
    display: block;
    color: #b11f25;
    font-weight: 500;
    margin-bottom: 25px; }
    .popup .cart__header {
      font-size: 1.3rem;
      font-weight: 600;
      margin-bottom: 10px; }
  .cart__description {
    font-size: .9rem;
    padding-bottom: 25px;
    border-bottom: solid 3px #b7b7b7; }
  .popup .cart__items {
    margin-top: 25px; }
  .cart__item {
    position: relative;
    display: flex;
    margin-bottom: 25px;
    padding-bottom: 25px; }
    .cart__item:not(:last-child) {
      border-bottom: solid 1px #ddd; }
    .cart__item > div {
      padding: 0 15px; }
  .cart__item-thumbnail {
    flex: 1 1 0; }
    .cart__item-thumbnail img {
      max-width: 100%; }
    .popup .cart__item-thumbnail {
      display: none; }
  .cart__item-description {
    flex: 4 1 0; }
    .popup .cart__item-description {
      padding-left: 0; }
  .cart__item-extended-price {
    position: absolute;
    top: 0;
    right: 0;
    font-weight: 500; }
  .cart__product-quantity label {
    border-radius: 500px;
    background-color: #ddd;
    padding: 0 12.5px;
    height: 30px;
    display: inline-block;
    line-height: 30px;
    margin-right: 12.5px;
    margin-bottom: 5px;
    text-transform: uppercase;
    font-size: .75rem; }
  .cart__product-quantity input[type="number"] {
    width: 50px;
    text-align: center;
    background-color: #fff;
    border: none;
    padding: 3px;
    resize: none;
    transition: all 0.3s ease-in-out 0s;
    border-radius: 3px;
    margin-left: 5px; }
  .cart__product-quantity button {
    font-size: .75rem;
    transition: background-color 0.1s ease-in-out 0s;
    padding: 0 12.5px;
    height: 30px;
    display: inline-block;
    line-height: 30px; }
    .cart__product-quantity button.flashing {
      background-color: #fff;
      color: #444; }
  .cart__product-price {
    opacity: .75;
    font-size: .8rem;
    font-style: italic;
    margin-top: 10px; }
    .cart__product-price:after {
      content: '/Item'; }
  .cart__product-added-on {
    opacity: .75;
    font-size: .8rem;
    font-style: italic;
    text-align: right; }
    .cart__product-added-on:before {
      content: 'Added on '; }
  .cart__product-name {
    font-weight: 500;
    margin-top: 0;
    margin-right: 75px; }
  .cart__product-description {
    margin-bottom: 0; }
    .popup .cart__product-description {
      font-size: .75rem; }
  .cart__footer {
    padding: 0 15px;
    text-align: right;
    padding: 15px 15px 0 15px;
    border-top: solid 1px #ddd; }
  .cart__total-before-discount {
    padding-bottom: 15px; }
    .cart__total-before-discount:before {
      content: 'Total before discount: '; }
  .cart__discount {
    color: #820A0C;
    font-weight: bold;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: dotted 1px #ddd; }
    .cart__discount:before {
      content: 'Discount: -'; }
  .cart__nav-buttons {
    clear: right;
    margin-top: 25px; }
    .breakpoint-675 .cart__nav-buttons {
      clear: none;
      margin-top: 0;
      float: left;
      width: calc(100% - 150px); }
  .cart__continue-shopping {
    margin-bottom: 25px; }
    .breakpoint-525 .cart__continue-shopping, .breakpoint-675 .cart__continue-shopping {
      float: left;
      margin-bottom: 0; }
  .cart__total {
    font-weight: 500;
    font-size: 1.2rem; }
    .cart__total:before {
      content: 'Total: '; }
    .breakpoint-675 .cart__total {
      float: right;
      width: 150px; }
  .cart__missing-company {
    background-color: rgba(255, 0, 0, 0.1);
    padding: 15px;
    border-radius: 5px;
    color: maroon;
    border: solid 1px maroon;
    margin-bottom: 25px; }
