/*@import "compass/css3";


I wanted to go with a mobile first approach, but it actually lead to more verbose CSS in this case, so I've gone web first. Can't always force things...

Side note: I know that this style of nesting in SASS doesn't result in the most performance efficient CSS code... but on the OCD/organizational side, I like it. So for CodePen purposes, CSS selector performance be damned.
*/

/* Global settings */
html {
color-border: #eee;
color-label: #aaa;
font-default: 'Mulish', sans-serif;
font-bold: 'Mulish', sans-serif;
}

#errorMess { color:#cc0000; font-weight: 500; text-align: center; margin: -20px auto 0 auto; width: 90%;}
/* Global "table" column settings */
.product-image { float: left; width: 20%; }
.product-details { float: left; width: 37%; }
.product-price { float: left; width: 12%; }
.product-quantity { float: left; width: 10%; }
.product-removal { float: left; width: 9%; }
.product-line-price { float: left; width: 12%; text-align: right; }

.spin-button::-webkit-inner-spin-button, 
.spin-button::-webkit-outer-spin-button { 
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; 
}
/* Chrome, Safari, Edge, Opera */
.spin-button::-webkit-outer-spin-button,
.spin-button::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
.spin-button {
  -moz-appearance: textfield;
}

input, select, textarea{
    width: 80%;
	-ms-box-sizing:content-box;
    -moz-box-sizing:content-box;
    box-sizing:content-box;
    -webkit-box-sizing:content-box; 
}



/* This is used as the traditional .clearfix class */
.group:before,
.group:after {
    content: '';
    display: table;
} 
.group:after {
    clear: both;
}
.group {
    zoom: 1;
}

.shopping-cart:before,
.shopping-cart:after {
    content: '';
    display: table;
} 
.shopping-cart:after {
    clear: both;
}
.shopping-cart {
    zoom: 1;
}

.column-labels:before,
.column-labels:after {
    content: '';
    display: table;
} 
.column-labels:after {
    clear: both;
}
.column-labels {
    zoom: 1;
}


.product:before,
.product:after {
    content: '';
    display: table;
} 
.product:after {
    clear: both;
}
.product {
    zoom: 1;
}


.totals-item:before,
.totals-item:after {
    content: '';
    display: table;
} 
.totals-item:after {
    clear: both;
}
.totals-item {
    zoom: 1;
}


/* Apply clearfix in a few places 
.shopping-cart, .column-labels, .product, .totals-item {
  @extend .group;
}
*/

/* Apply dollar signs */
.product .product-price:before, .product .product-line-price:before, .totals-value:before {
  content: '$';
}

.flexTable {display: flex; width: 100%; padding: 0 10px; align-content: flex-start; flex-direction: row; flex-wrap: wrap;gap:10px 40px; margin-bottom: 40px;}
.halfWidth {width: 47%;}
.formRow {margin: 0 auto 0 auto; width:100%; max-width:350px;}
.formRow input {width: 80%; }
.required {color:#cc0000;font-weight:700;}
#itemHeaderShow{display: none;}


/* Body/Header stuff */
body {
/*  padding: 0px 30px 30px 20px; */
  font-family: 'Mulish', sans-serif;
  font-weight: 100;
}

h1 {
  font-weight: 100;
}

label {
  color: #aaa;
}

.cartHeader { background-color: #333; width: 100%;padding: 5px 10px; margin-bottom: 15px;}
.shopping-cart {
  margin-top: 0;
}

.productCartName {font:500 13px/16px 'Mulish', sans-serif; color:#000; text-transform:uppercase; letter-spacing: 1px;}

/* Column headers */
.column-labels label {
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid #eee;
	background-color: #333;
  }
  /*
 .product-image, .product-details, .product-removal {
    text-indent: -9999px;
  }
*/



/* Product entries */
.product {
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #eee;
}
.product .product-image {
	text-align: center; 
}
 .product .product-image img {
      width: 100px; height: auto;
    }
  
  
  .product-details  .product-title {
      margin-right: 20px;
      font-family: 'Mulish', sans-serif;
    }
  .product-details  .product-description {
      margin: 5px 20px 5px 0;
      line-height: 1.4em;
    }
 
  
 .product-quantity input {
      width: 40px;
	 padding: 5px 3px 5px 3px;
    }
 
  
  .remove-product {
    padding: 4px 8px;
    background-color: #ddd6d0;
    font-family: 'Mulish', sans-serif;
	  border-color: #666;
	  color:#666;
  }
  
  .remove-product:hover {
    background-color: #a44;
	  color: #fff;
  }



/* Totals section */
 .totals .totals-item {
    float: right;
    clear: both;
    width: 100%;
    margin-bottom: 10px;
}
  .totals  label {
      float: left;
      clear: both;
      width: 79%;
      text-align: right;
	  color: #333;
    }
    
  .totals  .totals-value {
      float: right;
      width: 21%;
      text-align: right;
    }

.totals  .shipping-totals-value {
      float: right;
      width: 21%;
      text-align: right;
    }
  
  .totals-item-total {
    font-family: 'Mulish', sans-serif;
  }

.cartDetails p {font-size: 13px; line-height: 16px; color:#666; margin-top: 8px;}
.checkout {
  float: right;
  margin: 20px 0 20px 0;
  padding: 6px 25px;
  font-size: 15px;
}

.checkout:hover {
  background-color: #4E3D2D;
	color:#fff;
	border-color: #fff;
}

.carts {
  float: right;
  margin: 20px 0 20px 0;
  padding: 6px 25px;
  font-size: 15px;
}

.carts:hover {
  background-color: #4E3D2D;
	color:#fff;
	border-color: #fff;
}

/* Make adjustments for tablet */
@media screen and (max-width: 740px) {
	.halfWidth {width: 44%;}
	
}

/* Make adjustments for tablet */
@media screen and (max-width: 650px) {
	#itemHeaderShow{display: block;}
  .flexPayment {flex-direction: column-reverse;}
  .cartHeader {margin-left: -10px;}
  .shopping-cart {
    margin: 0;
    padding-top: 20px;
    border-top: 1px solid #eee;
  }
  
  .column-labels {
    display: none;
  }
  
  .product-image {
    float: right;
    width: auto;
	}
  .product-image  img {
      margin: 0 0 10px 10px;
    }
  
  .product-details {
    float: none;
    margin-bottom: 10px;
    width: auto;
  }
  
  .product-price {
    clear: both;
    width: 70px;
  }
  
  .product-quantity {
	  width: 100px; }
   .product-quantity  input {
      margin-left: 20px;
    }
  
  .product-quantity:before {
    content: 'x';
  }
  
  .product-removal {
    width: auto;
  }
  
  .product-line-price {
    float: right;
    width: 70px;
	margin-right: 20px;
  }
  .halfWidth {width: 95%;}
  
}


/* Make more adjustments for phone */
@media screen and (max-width: 350px) {
  
  .product-removal {
    float: right;
  }
  
  .product-line-price {
    float: right;
    clear: left;
    width: auto;
    margin-top: 10px;
	margin-right: 5px;
  }
  
  .product .product-line-price:before {
    content: 'Item Total: $';
  }
  
 .product-quantity input {
     width: 50px;
	 padding: 5px;
    }
  .totals .totals-item label {
        width: 60%;
      }
      
  .totals  .totals-value {
        width: 40%;
      }
  .product-quantity  input {
      width: 30px;
    }
}