.cartQtyInput {
 max-width:100%;
 border-width: 1px 0px 1px 0px;
 border-color: silver;
 border-style:solid;
}

.hasQty {
 background-color:#d9f3d9;
}

#cart{ padding-bottom:15px; }
.cartPromoOuter, .cartBottom{ padding-bottom:15px; }

#specialOfferOuter{
  position:relative; 
}

#specialOffer .panel-body{
  position:relative;
  z-index:100;
}
#offerBg{
  z-index:50;
  opacity:0.1;
  color:green;
  position:absolute;
  top:20px;
  left:50%;
  font-size:100px;
}
#offerBg .fa{ 
  margin:20px 0 0 -50px;
  position:absolute;
}
#offerBg .fa-spin{
    -webkit-animation: spin 8s infinite linear;
    -moz-animation: spin 8s infinite linear;
    -o-animation: spin 8s infinite linear;
    animation: spin 8s infinite linear;
}

.salePrice{color:red;}
.priceStrike {position:relative}
.priceStrike:before {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  right: 0;
  border-top: 1px solid;
  border-color: inherit;

  -webkit-transform:rotate(-5deg);
  -moz-transform:rotate(-5deg);
  -ms-transform:rotate(-5deg);
  -o-transform:rotate(-5deg);
  transform:rotate(-5deg);
}

/* Decorate Popup */
.designColorOuter { float: left; margin:2px 5px 2px 2px; border:1px solid #CCCCCC; background-color:#FFF; }
.designColorInner { width:35px; height:16px; margin: 1px; overflow:hidden;}
.designColorInner img { width:35px; height:16px; }

#decorationPreviewOuter{ 
 width:500px; padding:25px; background-color:#FAFAFA; margin:0 auto 25px auto;
	font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif;
	font-size: 14px;
	line-height: 20px;
}
.decoPreviewTitle{ text-align:center; }
.designLocationsOuter{ margin:0 auto; }
.designLocations{ float:left; }
.locImage{ float:left;text-align:center; }
.locImage img{ 
  width:100%;
  min-width:100px;
  max-width:250px;
}
.designProdList{
  margin:0 0 15px 0; padding:0;
  border-bottom: 1px solid #ddd;
  text-align:left;
}
.designProdList li{
  border-top: 1px solid #ddd;
  list-style:none;
  padding:5px;
  line-height:25px;
  background:#fff;
}
.designProdList li img{
  float:left;
  width:55px;
  height:auto;
  margin-right:10px;
}
.designProdSizeDesc{
  opacity:0.7;
}
.designProdDesc{ text-align:center; opacity:0.6; margin-top:0; }
.designProdGrid{ text-align:left; width:100%; border:1px solid #ccc; background-color:#eee; border-spacing: 1px; border-collapse: separate; }
.designProdGridHeader{ }
.designProdGridHeader th:first-child{ padding-left:5px; } 
.designSizeCol{ text-align:center; min-width:25px; }
#decoPreview{
  z-index: 9999;
  display: none;
  position: absolute;
  width: 600px;
  background-color: #ffffff;
  top: 125px;
  border: 1px solid #666;
  border-radius: 6px;
  box-shadow: 0 0 75px #000;
  box-sizing: border-box;
}
.designColorCol{ background-color:#fff; line-height:24px; }
.designQtyCol{background-color:#fff;text-align:center}
.designName{ background:#EEE; border:1px solid #ddd; padding:10px; margin-top:30px; }
#decorationPreviewOuter .designOuter:first-child .designName:first-child{ margin-top:0; }
#decorationPreviewOuter .locImage img{ width:175px; }
#decorationPreviewOuter .locDesc{ display:none; }
#cartUploadFile{padding:0px;  -webkit-padding-before: 6px;-webkit-padding-start: 12px;}
#freightEstOuter{margin-top:10px;}

.cartTable tbody{ border: 1px solid #ccc; border-top:0; }

/* Gift / offer corner ribbons */
.ribbonOuter {  
  position: relative;
}
.ribbon {
  position: absolute;
  left: -5px; top: -5px;
  z-index: 1;
  overflow: hidden;
  width: 65px; height: 65px;
  text-align: right;
}
.ribbon span {
  font-size: 10px;
  font-weight: bold;
  color: #FFF;
  text-transform: uppercase;
  text-align: center;
  line-height: 20px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  width: 75px;
  display: block;
  background: #79A70A;
  background: linear-gradient(#9BC90D 0%, #79A70A 100%);
  box shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
  position: absolute;
  top: 10px; left: -18px;
}
.ribbon span::before {
  content: "";
  position: absolute; left: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid #79A70A;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #79A70A;
}
.ribbon span::after {
  content: "";
  position: absolute; right: 0px; top: 100%;
  z-index: -1;
  border-left: 3px solid transparent;
  border-right: 3px solid #79A70A;
  border-bottom: 3px solid transparent;
  border-top: 3px solid #79A70A;
}

.ribbon.ribbonGift span{
  background: #79A70A;  
  background: linear-gradient(#9BC90D 0%, #668C09 100%);  
}
.ribbon.ribbonGift span::before {
  border-left: 3px solid #557507;  
  border-top: 3px solid #557507;  
}
.ribbon.ribbonGift span::after {
  border-right: 3px solid #557507;  
  border-top: 3px solid #557507;  
}
.ribbon.ribbonOffer span{
  background: #79A70A;
  background: linear-gradient(#05EFF7 0%, #087F8F 100%); 
}
.ribbon.ribbonOffer span::before {
  border-left: 3px solid #06545F;  
  border-top: 3px solid #06545F;  
}
.ribbon.ribbonOffer span::after {
  border-right: 3px solid #06545F;  
  border-top: 3px solid #06545F;  
}

/* BEGIN flex table */ 

.table-flex-bordered {
  margin-top: 1rem;
}

@media (max-width: 767px) {
  .table-flex-bordered {
    margin-top: 0;
  }
 .cartTop{ padding-bottom: 10px; }
}

.table-flex-bordered .mCustomScrollBox {
  border-bottom: 1px solid #cdcdcd;
}

.table-flex-bordered .table-flex-head {
  border-bottom: 1px solid #cdcdcd;
  border-top: 1px solid #cdcdcd;
  padding-top: 1px;
}

@media (max-width: 1023px) {
  .table-flex-bordered .table-flex-head > div:first-child {
    text-align: left;
  }
}

.table-flex-bordered .table-flex-head, .table-flex-bordered .table-flex-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.table-flex-bordered .table-flex-head > div, .table-flex-bordered .table-flex-row > div {
  width: 42%;
  text-align: center;
}

@media (max-width: 1023px) {
  .table-flex-bordered .table-flex-head > div:first-child, .table-flex-bordered .table-flex-row > div:first-child {
    width: 43%;
  }
}

@media (max-width: 767px) {
  .table-flex-bordered .table-flex-head > div:first-child, .table-flex-bordered .table-flex-row > div:first-child {
    width: 100%;
  }
}

@media (max-width: 1023px) {
  .table-flex-bordered .table-flex-head > div:nth-child(2), .table-flex-bordered .table-flex-row > div:nth-child(2) {
    width: 32%;
  }
}

@media (max-width: 767px) {
  .table-flex-bordered .table-flex-head > div:nth-child(2), .table-flex-bordered .table-flex-row > div:nth-child(2) {
    width: 100%;
  }
}

.table-flex-bordered .table-flex-head > div:last-child, .table-flex-bordered .table-flex-row > div:last-child {
  width: 16%;
  text-align: right;
}

@media (max-width: 1023px) {
  .table-flex-bordered .table-flex-head > div:last-child, .table-flex-bordered .table-flex-row > div:last-child {
    width: 25%;
  }
}

@media (max-width: 767px) {
  .table-flex-bordered .table-flex-head > div:last-child, .table-flex-bordered .table-flex-row > div:last-child {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .table-flex-bordered .table-flex-head, .table-flex-bordered .table-flex-row {
    display: block;
  }
}

@media (max-width: 767px) {
  .table-flex-bordered .table-flex-body {
    margin: 0 -15px;
  }
}

.table-flex-bordered .table-flex-row {
  border-bottom: 1px solid #cdcdcd;
}

.table-flex-bordered .table-flex-row:last-child {
  margin-bottom: -1px;
}

@media (max-width: 767px) {
  .table-flex-bordered .table-flex-row {
    padding: 0 15px;
  }
}

.table-flex-bordered .table-flex-row > div:first-child {
  text-align: left;
}

.table-flex-bordered .product-desc-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-right: 1px solid #cdcdcd;
  text-align: left;
  padding: 26px 29px;
  padding: 1.625rem 1.8125rem;
}

@media (max-width: 1023px) {
  .table-flex-bordered .product-desc-wrap {
    padding: 26px 15px 26px 0;
    padding: 1.625rem 0.9375rem 1.625rem 0;
  }
}

@media (max-width: 767px) {
  .table-flex-bordered .product-desc-wrap {
    border-right: none;
  }
}

.table-flex-bordered .product-size-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; 
}

@media (max-width: 767px) {
  .table-flex-bordered .product-size-wrap {
    border-top: 1px solid #cdcdcd;
    border-bottom: 1px solid #cdcdcd;
  }
}

.table-flex-bordered .product-size-wrap .size-item {
  width: calc(100% / 8);
  border-right: 1px solid #cdcdcd;
  border-top: 1px solid #cdcdcd;
  margin-top:-1px;
  padding: 0.625rem 0;
}

@media (max-width: 1023px) {
  .table-flex-bordered .product-size-wrap .size-item {
    width: calc(100% / 4);
  }
}

@media (max-width: 767px) {
  .table-flex-bordered .product-size-wrap .size-item {
    padding: 7px 0;
  }
  .table-flex-bordered .product-size-wrap .size-item:nth-child(4n + 4) {
    border-right: none;
  }
}

.table-flex-bordered .product-size-wrap .size-item span {
  display: block;
  margin-bottom: 4px;
}

.table-flex-bordered .product-size-wrap .size, .table-flex-bordered .product-size-wrap .price {
  font-size: 14px;
  color: #808080;
}

@media (max-width: 767px) {
  .table-flex-bordered .product-size-wrap .value {
    font-size: 16px;
  }
}

.table-flex-bordered .product-img {
  width: 150px;
  height: auto;
  margin-right:10px;
}

@media (max-width: 1439px) {
  .table-flex-bordered .product-img {
    width: 130px;
    height: auto;
  }
}

@media (max-width: 1023px) {
  .table-flex-bordered .product-img {
    width: 105px;
    height: auto;
  }
}

.table-flex-bordered .product-desc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.table-flex-bordered .product-desc span {
  display: block;
  margin-bottom: 18px;
  margin-bottom: 0.625rem;
}

@media (max-width: 767px) {
  .table-flex-bordered .product-desc span {
    margin-bottom: 0.625rem;
  }
}

.table-flex-bordered .product-total-wrap {
  margin-top: 40px;
  margin-top: 2.5rem;
  font-size: 15px;
  letter-spacing: 1px;
}

@media (max-width: 767px) {
  .table-flex-bordered .product-total-wrap {
    margin-top: 0;
    padding: 22px 10px;
    padding: 1.375rem 0.625rem;
  }
}

.table-flex-bordered .product-links {
  text-align: left;
}

/**** updates not copied in from Bel Mockup ****/
.table-flex-head, .product-total-wrap{ font-weight:bold; }
.product-img img{ max-width:100%; }
.size-item .value{ font-weight:bold; }
/* END flex table */
.item-backorder{ color:orange; font-size:12px; }
.cartSubTotals{ font-size:15px; letter-spacing:1px; padding: 15px 0; margin-bottom:15px; border-bottom:1px solid #ccc; font-weight:bold;  }

.link-simple {
  font-size: 14px;
  letter-spacing: 0.5px;
  text-decoration: none;
  position: relative;
  text-decoration: none;
  line-height: 1;
  display: inline-block;
  padding-bottom:4px;
  color:#333;
  margin-right:10px;
}

.link-simple:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 2px;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.2);
  -webkit-transition: width 0.2s;
  transition: width 0.2s;
}

.link-simple:focus, .link-simple:hover {
  text-decoration: none;
}

.link-simple:focus:after, .link-simple:hover:after {
  width: 0;
}

.link-simple.disabled {
  opacity: 0.15;
  pointer-events: none;
}

.btnPaypalExpressOuter{
  display: inline-block;
  vertical-align: bottom;
  position: relative;
  top: 4px;
}

.product-design img{
   max-width:90px;
   max-height:90px;
}

.btnQuickDesign{ 
  position:relative;
  padding-left:49px;
}
.btnQuickDesign img{ 
  position:absolute;
  top:-14px;
  left:4px;
}

