/* Cart Toggle Tab
 ======================================== */
.shop-button {
    color: #fff;
    font-size: 16px;
    background: #ef9f21;
    padding: 10px 5px;
    border: 1px solid #ef9f21;
    border-radius: 3px;
    cursor: pointer;
    transition: all 200ms ease;
    max-width: 100%;
    width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    line-height: 20px;
    -moz-appearance: none;
    -webkit-appearance: none;
}
.shop-button--cart-tab {
    padding: 5px 11px;
    border-radius: 3px 0 0 3px;
    position: fixed;
    right: 0;
    top: 50%;
    transform: translate(100%, -50%);
    opacity: 1;
    min-width: inherit;
    width: auto;
    height: auto;
    z-index: 100; 
}
.shop-button--cart-tab.js-active {
    transform: translateY(-50%);
    opacity: 1;
}
.shop-button--product-added {
    background-color: #333 !important;
}
.shop-button__counter {
    display: block;
    margin: 0 auto 10px auto;
    font-size: 18px; 
}
.icon-cart--side {
    height: 20px;
    width: 20px; 
}






.shop-product__title {
    display: block;
    text-align: center;
    margin:15px 0;
}
.shop-actions {
        margin: 20px 0;
}
.shop-variant__selectors {
    display: block;
}
.cart-item__variants {
    display: block;
    float: left;
}
.shop-variant__swatch {
    display: inline-block;
    border: 1px solid black;
    text-indent: -9999px;
    height: 21px;
    width: 30px;
    margin: 0 3px;
    cursor: pointer;
}
.shop-variant__swatch.selected {
    border: 2px solid #ef9f21;
    height: 23px;
    width: 32px;
}


/*
.alt-fizzics-font h1,
.alt-fizzics-font h2,
.alt-fizzics-font h3 {
    font-size: 15px;
    color: #7a7a7a;
    font-weight: 400;
    line-height: 25px;
    font-family: 'Open Sans', sans-serif;
    text-transform: none;
    letter-spacing: 0;
}
*/

.variant-image { max-width: 100% }

.cart #add-ons { 
    text-align: center; 
}
.cart #add-ons .col-sm-4 {
    display: inline-block;
    float: none;
    vertical-align: top;
}

/* Cart
 ======================================== */
.cart {
    position: fixed;
    width: 100%;
    height: 100%;
    display: none;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.55);
    z-index: 10000;
}
.cart.js-active {
    display: block;
}
.cart.cart--is-empty .cart-bottom {
    display: none;
    visibility: hidden;
}
.cart-inner {
    position: absolute;
    overflow-y: auto;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    background: white;
}
@media screen and (min-width: 1024px){
    .cart {
        overflow-y: scroll
    }
    .cart-inner {
        position: relative;
        width: auto;
        margin: 0 50px;
    }
}


/* Cart Animate In 
 ======================================== */
@media screen and (min-width:1024px){
    .cart-inner {
      -webkit-animation-duration: 600ms;
      animation-duration: 600ms;
      -webkit-animation-fill-mode: both;
      animation-fill-mode: both;
    }
    
    @-webkit-keyframes cart--fadeInDown {
      from {
        opacity: 0;
        -webkit-transform: translate3d(0, 20%, 0);
        transform: translate3d(0, 20%, 0);
      }
    
      to {
        opacity: 1;
        -webkit-transform:translate(0, 0);
        transform:translate(0, 0);
      }
    }
    
    @keyframes cart--fadeInDown {
      from {
        opacity: 0;
        -webkit-transform: translate3d(0, 20%, 0);
        transform: translate3d(0, 20%, 0);
      }
    
      to {
        opacity: 1;
        -webkit-transform:translate(0, 0);
        transform:translate(0, 0);
      }
    }
    
    .cart--fadeInDown {
      -webkit-animation-name: cart--fadeInDown;
      animation-name: cart--fadeInDown;
    }

}


/* Inner Cart Styles
 ======================================== */
.cart-empty-title {
    display: none;
    padding: 20px 20px 0 20px;
    text-align: center;
    font-size: 22px;
    color: #7a7a7a;
}
.cart--is-empty .cart-empty-title {
    display: block;
}
.cart-section {
    position: relative;
    padding: 10px 20px; 
}
.cart-section--top {
    padding-top: 20px;
    z-index: 5;
    background-color: #eee;
}
.cart-section--bottom {
    position: absolute;
    bottom: 0;
    background: #eee;
    width: 100%;
    padding: 15px;
    text-align: center;
}
.cart-section__title {
    font-size: 22px;
    color: #7a7a7a;
    font-weight: 600;
    line-height: 1.6;
    margin: 0 0 10px 0;
    font-family: 'Open Sans', sans-serif;
    text-transform: none;
    text-align: left;
    letter-spacing: 0;
}
.cart--continue {
    margin-right: 20px !important;
}
.cart-title {
    text-transform: uppercase;
    font-size: 18px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding: 0 20px;
}
.cart-title:after {
    margin: 15px auto 0;    
}
.cart .btn--close {
    position: absolute;
    right: 20px;
    top: 9px;
    font-size: 35px;
    padding: 0;
    line-height: 1;
    color: #767676;
    border: none;
    background: transparent;
    transition: transform 100ms ease;
    cursor: pointer; 
}
.cart .btn--close:hover {
    transform: scale(1.2);
    color: #ef9f21; 
}
.cart-bottom {
    border-top: 1px solid #a5a5a5; 
    transition: opacity 0.2s ease-in-out;
}
.cart-info {
    padding: 15px 20px 10px;
    font-size: 15px;
    color: #111;
    font-weight: 600;    
}
.cart-info__total {
    float: left;
    text-transform: uppercase; 
}
.cart-info__pricing {
    float: right; 
}
.cart-discount-notice {
    color: #767676;
    font-size: 11px;
    margin: 10px 0 0; 
}
.cart-actions-container {
    padding-top: 5px; 
    text-align: center;
}
.cart .pricing {
    margin-left: 5px;
}
.cart .btn--cart-checkout {
    padding: 0 45px;
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none;
}


/* Cart Products Section
 ======================================== */
.cart-form {
    padding: 20px 10px 50px 10px;
}
@media screen and (min-width: 1024px){
    .cart-form {
        padding: 20px;
    }
}
.cart-item-container {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* Cart Product Line Item
 ======================================== */
.cart-item {
    font-family: 'Open Sans', sans-serif;
    margin-bottom: 20px;
    overflow: hidden;
    backface-visibility: visible;
    min-height: 65px;
    position: relative;
    opacity: 1;
    transition: opacity 0.2s ease-in; 
}
.cart-item.js-hidden { 
    opacity: 0; 
}
.cart-item.js-working:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.5);
    z-index: 2; 
}
.cart-item__img {
    width: 65px;
    height: 65px;
    border-radius: 3px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #e5e5e5;
    position: absolute; 
}
.cart-item__content {
    position: relative;
    width: 100%;
    padding-left: 75px;
    padding-right: 65px;
}
.cart-item__content-row { 
    margin-bottom: 10px; 
}
.cart-item__price-row {
    position: absolute;
    top: 0;
    right: 0; 
    text-align: right; 
}

.cart-item__title {
    display: inline-block;
    margin-bottom: 4px;    
}
.cart-item__variant-title {
    font-weight: bold;
    font-size: 11px;
    line-height: 17px;
    color: #767676; 
    text-transform: capitalize;
}
.cart-item__remove-row {
    font-size: 14px;
}
.cart-item__quantity-container {
    border: 1px solid #767676;
    float: left;
    border-radius: 3px; 
    margin-bottom: 10px;
    margin-right: 10px;
}
.cart .quantity-decrement, 
.cart .quantity-increment {
    color: #767676;
    display: block;
    float: left;
    height: 21px;
    line-height: 16px;
    font-family: monospace;
    width: 25px;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    font-size: 18px;
    text-align: center; 
}
.cart-item__quantity {
    color: black;
    width: 38px;
    height: 21px;
    font-size: inherit;
    border: none;
    text-align: center;
    -moz-appearance: textfield;
    background: transparent;
    border-left: 1px solid #767676;
    border-right: 1px solid #767676;
    display: block;
    float: left;
    padding: 0;
    border-radius: 0; 
}
.cart input[type=number]::-webkit-inner-spin-button,
.cart input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0; 
}
.cart-item__remove {
    cursor: pointer;
    display: inline-block;
    margin-right: 20px;
}
.cart-item__price {
    line-height: 23px;
    float: right;
    font-weight: 600; 
}
.cart-item__compare-at-price {
    line-height: 23px;
    clear:both;
    font-weight: 600; 
    color: #ff0000;
    text-decoration: line-through;
}

.cart-item__variants {
    margin-bottom: 10px;    
}

.cart-item__variants select {
    border: 1px solid #7a7a7a;
    max-width: 100%;
}

@media screen and (max-width:768px){
    .cart-item__quantity-container {
        display: inline-block;
        float: none;
    }
    .cart-item__variants {
        float: none;
    }
}

.cart-item__item-msg {
    display: inline-block;
    color: red;
    padding: 0 20px 0 0;
}

/* Cart Systems
 ======================================== */

.cart-item-system {
    padding: 10px;
    border: 1px solid #bbb;
    margin-bottom: -1px;
}

.cart-item-system--is-hidden {
    display: none;
}


/* Cart Add-Ons
 ======================================== */

.cart .cart-add-ons {
    text-align: center;
}
.cart .cart-add-ons__products {
    padding: 10px;
    border: 1px solid #bbb;    
}
.cart .add-ons-title {
    font-size: 17px;
}
.cart .addon-product {
    width: 100%;
    padding: 10px;
    display: inline-block;
}
.cart .addon-product--is-hidden {
    display: none;
}
@media screen and (min-width: 480px){
    .cart .addon-product {
        width: 50%;
    }
}
@media screen and (min-width: 768px){
    .cart .addon-product {
        width: 20%;
        padding: 0 10px;
    }    
}
.cart .addon-product .variant-image {
    width: 100%;
    max-width: 80px;
    padding-bottom: 10px;
}
.cart .addon-product .product-title {
    font-size: 11px;
    min-height: 40px;
    margin: 0 auto;    
}
.cart .addon-product .variant-price {
    padding: 5px 0;
}
.cart .variant__variants {
    padding: 10px 0;
    min-height: 43px;
}
@media screen and (min-width:1024px){
    .cart .variant__variants {
        padding: 10px 30px;
    }
}
.cart .variant__variants select {
    border: 1px solid #7a7a7a;
    max-width: 100%;
}
.cart .addon-product .compare-at-price {
    padding: 5px 0 0;
    color: #ff0000;
    text-decoration: line-through;
}
.cart .addon-product .shop__buy-button {
    line-height: 1;
}

/* Cart Retailers
 ======================================== */


/* Promo Modal Styles
 ======================================== */

@media screen and (max-width:767px){
    .st-modal-promo .modal-dialog {
        margin: 140px 20px;
    }
}
.st-modal-promo .modal-body {
    text-align: center;    
}
.st-promo__header {
    font-size: 2em;
    margin: 15px 0;
}
.st-promo__details {
    margin: 10px 0;
    color: #898989;
    font-size: 20px;
}
.st-promo__limited {
    margin: 10px 0;
    font-size: 20px;
    font-style: italic;
}
.st-promo__savings {
    color: #898989;
    font-size: 18px;
    margin-bottom: 5px;
}
.st-promo__button {
    margin: 20px 0 0;
    position: relative;
}

/* Extend Modal Styles
 ======================================== */
@media (min-width: 992px) {
    .modal-md {
        width: 500px;
    }
}
.modal-close {
    position: absolute;
    top: 0;
    right: 10px;
    font-size: 35px;
    color: #767676;
    cursor: pointer;
}
.modal-close:hover {
    transform: scale(1.2);
    color: #ef9f21; 
}

/* Waytap Swatch Colors
 ======================================== */
.swatch--waytap_-_black { background-color: #000; }
.swatch--waytap_-_white { background-color: #fff; }
.swatch--waytap_-_slate_grey { 
    background: #99a2aa; /* Old browsers */
    background: -moz-linear-gradient(45deg,  #99a2aa 0%, #ffffff 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(45deg,  #99a2aa 0%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(45deg,  #99a2aa 0%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#99a2aa', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}