/** Reusable layout styling for Commerce Cart components **/
body.cart #first-content { margin-bottom: 80px; }
body.checkout #first-content { margin-bottom: 80px; }

.cart-form form { width: 100%; max-width: 1080px; margin: 0 auto; padding: 0 20px; }
.cart-form form table { width: 100%; }

.cart-block--summary a { display: block; }

.cart-block--contents { display: none; position: absolute; z-index: 300; overflow: hidden; }

.cart-block--contents__items { overflow-x: hidden; overflow-y: scroll; max-height: 300px; }

#commerce-product-add-to-cart-form form { padding: 0; }

.cart-block--contents.is-outside-horizontal { right: 0;}
.cart-block--contents__expanded { overflow: visible; }

.layout-region-checkout-main { width: 100%; max-width: 680px; margin: 0 auto; }
.layout-region-checkout-main  #edit-review-contact-information { margin-bottom: 50px; }

.layout-region-checkout-main legend { display: block; font-family: 'ptsbold', sans-serif; font-size: 21px; margin: 0 auto 10px auto; }
.layout-region-checkout-main legend a { font-family: 'ecdmed', sans-serif; font-size: 14px; color: #7bb914; }
.layout-region-checkout-main legend a:hover { text-decoration: underline; }

.layout-region-checkout-main .fieldset-wrapper { text-align: center; }

.layout-region-checkout-main .address p { text-align: center; }
.layout-region-checkout-main .shipping_method { padding: 50px 0 0; margin: 0 0 10px; width: 100%; text-align: center; font-family: 'ptsbold', sans-serif; font-size: 21px;
    background-color: transparent; background-image: url('../../images/shipping.png'); background-repeat: no-repeat; background-position: top center; background-size: 45px; }

.layout-region-checkout-main #edit-review-payment-information { margin-top: 50px; }
#edit-shipping-information-shipping-profile { margin-bottom: 50px; }
#edit-shipping-information-shipping-profile input { display: block; width: auto; margin: 0 auto; }

.stripe-payment-element-form { margin: 0 0 50px 0; }

.checkout-complete { position: relative; width: 100%; max-width: 560px; text-align: center; margin: 0 auto 25px; padding: 0 20px 20px; font-family: 'ecdmed', sans-serif; z-index: 1;
    background: #efefef; }
.checkout-complete p { text-align: center; }
.checkout-complete::before { content: ' '; position: relative; display: block; width: 50px; height: 90px; margin: 0 auto; top: -15px;
    background-color: transparent; background-image: url('../../images/status-tooth.png'); background-repeat: no-repeat; background-size: 50px; background-position: center; } 
