/**
 * TABLE OF CONTENTS
 *
 * SETTINGS
 * Global..................Globally-available variables and config.
 *
 * TOOLS
 * Mixins..................Useful mixins.
 *
 * COMPONENTS
 * 
 * 
 * MODULES
 *
 */
/*------------------------------------*\
  #SETTINGS
\*------------------------------------*/
/**
 * Returns the value of the `$key` value of a provided `$map`.
 */
/**
 * Uses `getProperty()` to return a value from the `$colors` map.
 */
/**
 * Uses `getProperty()` to return a value from the `$breakpoints` map.
 */
/*------------------------------------*\
  #TYPOGRAPHY
\*------------------------------------*/
/*------------------------------------*\
  #COLORS
\*------------------------------------*/
/*------------------------------------*\
  #ELEMENT-DEFAULTS
\*------------------------------------*/
/*------------------------------------*\
  #HORIZONTAL-SPACING
\*------------------------------------*/
/*------------------------------------*\
  #BREAKPOINTS
\*------------------------------------*/
/*------------------------------------*\
  #TRANSITIONS
\*------------------------------------*/
/*------------------------------------*\
  #TOOLS
\*------------------------------------*/
/**
 * Responsive Mixin
 * This mixin is designed for a _cleaner_ first approach
 * This means that css isn't overridden but rather replaced for
 * different viewport widths; making it easier to inspect/debug css
 *
 * Usage:
 * @include media-query(exclude-medium)    { ... }
 * @include media-query(medium-up-to-site) 	   { ... }
 * ... etc
 */
/**
 * [Adds styles to allow an element's height scale proportionatelly]
 * @param  {[Number]} $width
 * @param  {[Number]} $height
 */
/**
 * [Calculates the percentage aspect ratio (what % height is compared to the width)]
 * @param  {[Number]} $width
 * @param  {[Number]} $height
 * @return {[Number(%)]}
 */
/**
 * *****REMEMBER TO USE MARGIN OR PADDING AND NOT TOP/BOTTOM******
 * [Calculates the center of an element in relation to a provided width and height.
 * Useful to place an absolute element at the center of another when
 * the positioned element cannot be the target's child ]
 * @param  {[Number]} $width
 * @param  {[Number]} $height
 * @return {[Number(%)]}
 */
/**
 * [In the  awful case you can't use Flexbox to vertically align something]
 * @param  {[type]} $transform:       false         [Use transforms to align instead of the absolute trick]
 * @param  {[type]} $pos:             absolute      [position type]
 * @param  {[type]} $posAdj:          0             [position adjustment. If $transform is true, this value only affects the 'top' property.]
 * @param  {[type]} $alignHorizontal: false         [Includes horizontal alignment]
 */
/**
 * Generate Enumerated Class
 * Iterates from 0 to the specified length and generates classes that set the specified property
 * @param  {[String]} $classname:       required      [Required: Specify the class name]
 * @param  {[String]} $property:        $classname    [Optional: Specify the enumerated property (if it's different from the name of the class)]
 * @param  {[Number]} $length:          10            [Optional: Specify the end of the loop]
 * @param  {[String]} $units:           null          [Optional: specify units to append to the enumerated property]
 */
/**
 * [Strip the pesky units from values]
 * @param  {[Number]} $value
 */
/**
 * [Fluid Type]
 */
/*------------------------------------*\
  #COMPONENTS
\*------------------------------------*/
.cart--empty .cart__header,
.cart--empty .cart__empty-message {
  text-align: center; }

.cart--empty .cart__header-details {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.cart__header-details {
  margin-top: .5rem; }

.cart__items {
  border-top: solid 0.0625rem #E1E1E1;
  border-bottom: solid 0.0625rem #E1E1E1; }

.cart__items-footer {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem; }

.cart__recommendations {
  margin-top: 4rem; }

.product-discount {
  display: none; }

@media (min-width: 48rem) {
  .cart {
    padding-top: 3rem;
    padding-bottom: 11.5rem; }
  .cart__header {
    margin-bottom: 1.4rem; }
    .cart__header .approaching-discounts__item {
      margin-right: .5em; } }

@media (max-width: 47.9375rem) {
  .cart {
    padding-top: 2rem;
    padding-bottom: 5rem; }
  .cart__header {
    margin-bottom: 1rem; }
  .cart__header-details {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; } }

.cart-coupon {
  margin-bottom: 1.7rem; }
  .cart-coupon:first-child {
    margin-top: 2.4rem; }

.cart-coupon__remove-action {
  margin-left: .5rem; }

.cart__summary-title {
  display: block;
  margin-bottom: 1rem; }

.cart__checkout-actions {
  z-index: 0;
  position: relative;
  margin-top: 2.25rem; }
  .cart__checkout-actions .edit-btn {
    display: none; }

.cart__checkout-action:not(:first-child) {
  margin-top: .5rem; }

@media (min-width: 48rem) {
  .cart__summary-section:not(:first-child) {
    margin-top: 3.5rem; } }

@media (max-width: 47.9375rem) {
  .cart__summary {
    margin-top: 3.5rem; }
  .cart__summary-section:not(:first-child) {
    margin-top: 3.5rem; }
  .cart__summary-section .__affirm-logo.__ligature__affirm_full_logo__ {
    font-size: 1.6rem; } }

.total-list__row:not(:first-child) {
  margin-top: .75em; }

.total-list__row:last-child {
  margin-top: 1.65em; }


/*# sourceMappingURL=cartMain.css.map*/