.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .single-product-body,
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
	padding: 40px;
}
@media (max-width: 768px) {
	.woocommerce div.product .woocommerce-tabs .panel,
	.woocommerce div.product .single-product-body,
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper,
	.woocommerce-additional-fields__field-wrapper {
		padding: 20px;
	}
	#add_payment_method #payment div.form-row {
		width: 100%;
	}	
}
.woocommerce form.checkout_coupon, 
.woocommerce form.login, 
.woocommerce form.register,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper,
.woocommerce-billing-fields__field-wrapper,
.woocommerce table.shop_table,
.woocommerce nav.woocommerce-pagination ul li a, 
.woocommerce nav.woocommerce-pagination ul li span,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .single-product-body,
.woocommerce ul.products li.product .item-body, 
.woocommerce-page ul.products li.product .item-body,
.woocommerce-error, .woocommerce-info, .woocommerce-message,
#add_payment_method #payment, 
.woocommerce-cart #payment, 
.woocommerce-checkout #payment,
.woocommerce ul.order_details,
.woocommerce .woocommerce-customer-details {
	background-color: #fff;
}
.woocommerce form.checkout_coupon, 
.woocommerce form.login, 
.woocommerce form.register,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper,
.woocommerce-billing-fields__field-wrapper,
.woocommerce table.shop_table,
#add_payment_method #payment, 
.woocommerce-cart #payment, 
.woocommerce-checkout #payment,
.woocommerce ul.order_details,
.woocommerce .woocommerce-customer-details {
	-webkit-box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);
	box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05);
	border-radius: 4px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce #reviews #comments ol.commentlist li img.avatar,
#add_payment_method #payment, 
.woocommerce-cart #payment, 
.woocommerce-checkout #payment {
	border: none;
}
.woocommerce ul.products li.product .button,
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce ul.products li.product a img,
.woocommerce-Tabs-panel h2,
.woocommerce .products ul, 
.woocommerce ul.products,
.woocommerce-checkout form .col2-set .col-1, 
.woocommerce-checkout form .col2-set .col-2  {
	margin: 0;
}
.woocommerce #reviews #comments ol.commentlist,
.woocommerce #reviews #comments ol.commentlist li img.avatar,
.woocommerce div.product .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce .woocommerce-customer-details address,
.woocommerce-checkout form .col2-set .col-1, 
.woocommerce-checkout form .col2-set .col-2,
#add_payment_method #payment div.form-row, 
.woocommerce-cart #payment div.form-row, 
.woocommerce-checkout #payment div.form-row  {
	padding: 0;
}
.woocommerce nav.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul,
.woocommerce table.shop_table,
.woocommerce form.checkout_coupon, 
.woocommerce form.login, 
.woocommerce form.register,
.woocommerce .woocommerce-customer-details address {
	border: none;
}
.woocommerce h2 {
	font-size: 1.5em;
}

/* buttons
/* ------------------------------------------------------------------------ */
.woocommerce #respond input#submit.alt, 
.woocommerce a.button.alt, 
.woocommerce button.button.alt, 
.woocommerce input.button.alt,
.woocommerce #review_form #respond .form-submit input,
.woocommerce .cart .button, .woocommerce .cart input.button,
.woocommerce button[name="apply_coupon"] {
	line-height: 42px;
	padding: 0 20px !important;
	height: 42px;
	font-weight: 500;
}
/* shop
/* ------------------------------------------------------------------------ */
.woocommerce ul.products li.product .woocommerce-loop-category__title, 
.woocommerce ul.products li.product .woocommerce-loop-product__title, 
.woocommerce ul.products li.product h3 {
	font-size: 16px;
	padding: 0;
	margin: 0 0 3px;
}
.woocommerce ul.products li.product .price {
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 15px;
}
.woocommerce ul.products li.product, 
.woocommerce-page ul.products li.product {
	margin: 0 30px 30px 0;
	width: calc(25% - 23px);
	text-align: center;
	border-radius: 4px;
	overflow: hidden;
}
@media (max-width: 768px) {
	.woocommerce ul.products li.product, 
	.woocommerce-page ul.products li.product {
		margin: 0 0 15px 0;
	}
}

.woocommerce ul.products li.product .item-body, 
.woocommerce-page ul.products li.product .item-body {
	padding: 20px 20px 25px;
}
.woocommerce ul.products li.last, 
.woocommerce-page ul.products li.last {
	margin-right: 0;
}
.woocommerce ul.products li.product .button {
	/*line-height: 32px;
	padding: 0 10px;
	height: 32px;*/
	font-weight: 500;
}
.woocommerce a.added_to_cart {
	padding-left: 5px;
	padding-right: 5px;
	font-weight: 500;
}
.woocommerce span.onsale {
	z-index: 1;
	font-size: 10px;
	line-height: 11px;
	font-weight: 500;
	text-transform: uppercase;
	padding: 3px 5px;
	min-height: auto;
	min-width: auto;
	border-radius: 4px;
}
.woocommerce ul.products li.product .onsale {
	left: 20px;
	top: 20px;
	right: auto;
}

/* single product
/* ------------------------------------------------------------------------ */
.woocommerce div.product .product_title {
	font-size: 30px;
	margin-bottom: 10px;
}
.woocommerce div.product .single-product-body .onsale {
	top: 60px;
	left: 60px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	padding: 20px;
	text-transform: uppercase;
	line-height: 14px;
	white-space: nowrap;
	font-size: 13px;
	border-radius: 0;
}
.related.products > h2,
.woocommerce-Tabs-panel h2 {
	font-size: 18px;
	border-bottom: 1px solid #dce0e0;
	margin-bottom: 25px;
	padding-bottom: 40px;
}
.woocommerce-tabs,
.woocommerce div.product .single-product-body  {
	margin-bottom: 40px;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar {
	width: 64px;
	border-radius: 100%;
	background: none;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text {
	margin: 0 0 0 90px;
}
.woocommerce #reviews #comments ol.commentlist li .meta {
	font-size: 14px;
}
/* forms
/* ------------------------------------------------------------------------ */
.woocommerce label {
	display: block;
}
.woocommerce input[type="checkbox"] + label {
	display: inline;
}
.woocommerce input,
.woocommerce textarea {
	height: 42px;
	padding: .375rem .75rem;
	line-height: 1.5;
	border-radius: .25rem;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
	font-weight: 400;
	border: 1px solid;
	border-color: #dce0e0;
}
.woocommerce textarea,
.woocommerce input[type="checkbox"] {
	height: auto;
}
.woocommerce input[type="checkbox"] {
	margin-right: 10px;
}
.woocommerce-message {
	border-top-color: #85c341;
}
.woocommerce-message::before {
	color: #85c341;
}
.woocommerce .products .star-rating {
	margin: 0 auto;
}
/* pagination
/* ------------------------------------------------------------------------ */
.woocommerce nav.woocommerce-pagination {
	margin: 10px 0 30px 0;
}
.woocommerce nav.woocommerce-pagination ul li a, 
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid;
	margin: 0 3px;
	border-color: transparent;
	width: 40px;
	line-height: 40px;
	text-align: center;
	padding: 0;
	font-weight: 500;
	margin-left: 1px;
	border-radius: 4px;
	display: inline-block;
}
/* cart
/* ------------------------------------------------------------------------ */
.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
	padding: 15px 20px;
}
#coupon_code {
	min-width: calc(100% - 140px);
}
.woocommerce-page table.cart td.actions .coupon {
	min-width: 40%;
}
.cart-subtotal td,
.order-total td,
.product-total {
	text-align: right;
}
.woocommerce button.button:disabled, 
.woocommerce button.button:disabled[disabled] {
	color: #fff;
}
/* checkout
/* ------------------------------------------------------------------------ */
.woocommerce-checkout form .col2-set {
    width: 50%;
    float: left;
    padding-right: 1.5vw;
}
.woocommerce-checkout form .col2-set .col-1, 
.woocommerce-checkout form .col2-set .col-2 {
    float: none;
    width: 100%;
    flex: none;
    max-width: unset;
}
.woocommerce .col2-set .col-1, 
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2, 
.woocommerce-page .col2-set .col-2 {
	flex: none;
    max-width: unset;
    padding: 0;
}
.woocommerce-checkout form #order_review, 
.woocommerce-checkout form #order_review_heading {
    width: 50%;
    padding-left: 1.5vw;
    float: right;
    clear: right;
}
#order_review_heading {
	margin: 40px 0 20px;
}
.woocommerce-billing-fields .woocommerce-input-wrapper,
.woocommerce-shipping-fields .woocommerce-input-wrapper,
.woocommerce-additional-fields .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
#order_review_heading {
	margin: 20px 0;
}
.woocommerce #payment #place_order, 
.woocommerce-page #payment #place_order {
    width: 100%;
}

/* my account
/* ------------------------------------------------------------------------ */
.woocommerce-MyAccount-navigation {
	margin-bottom: 30px;
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.woocommerce-MyAccount-navigation ul li {
	padding: 5px 0;
}
.woocommerce-account .addresses .title h3 {
	font-size: 18px;
}
.woocommerce-form-row em {
	font-size: 13px;
	line-height: 18px;
	padding-top: 10px;
	display: block;
}
.woocommerce form .password-input, 
.woocommerce-page form .password-input {
	flex-basis: 100%;
}
.woocommerce legend {
	padding-top: 30px;
	font-size: 18px;
}
.woocommerce-input-wrapper,
#add_payment_method #payment ul.payment_methods .stripe-card-group, 
.woocommerce-checkout #payment ul.payment_methods .stripe-card-group,
.wc-stripe-elements-field, .wc-stripe-iban-element-field {
	display: block;
}
#add_payment_method #payment ul.payment_methods, 
.woocommerce-cart #payment ul.payment_methods, 
.woocommerce-checkout #payment ul.payment_methods,
.woocommerce ul.order_details,
.woocommerce .woocommerce-customer-details {
	padding: 30px;
}
.woocommerce ul.order_details li {
	line-height: 2;
}
#add_payment_method #payment ul.payment_methods li label, 
.woocommerce-cart #payment ul.payment_methods li label, 
.woocommerce-checkout #payment ul.payment_methods li label {
	display: inline-block;
}
#add_payment_method #payment ul.payment_methods li input, 
.woocommerce-cart #payment ul.payment_methods li input, 
.woocommerce-checkout #payment ul.payment_methods li input {
	height: auto;
}
#add_payment_method #payment div.payment_box, 
.woocommerce-cart #payment div.payment_box, 
.woocommerce-checkout #payment div.payment_box {
	background-color: #dce0e0;
}
#add_payment_method #payment div.payment_box::before, 
.woocommerce-cart #payment div.payment_box::before, 
.woocommerce-checkout #payment div.payment_box::before {
	border: 1em solid #dce0e0;
	border-right-color: transparent;
	border-left-color: transparent;
	border-top-color: transparent;
}
.woocommerce #add_payment_method .woocommerce-PaymentMethods {
	padding: 0 !important;
}

.woocommerce-terms-and-conditions-wrapper {
    padding: 15px 15px 0;
}

@media(max-width: 767px) {
    .woocommerce-checkout form .col2-set,
    .woocommerce-checkout form #order_review,
    .woocommerce-checkout form #order_review_heading {
        width: 100%;
    }
}

/* stripe payments
/* ------------------------------------------------------------------------ */
.woocommerce-input-wrapper, 
#add_payment_method #payment ul.payment_methods .stripe-card-group, 
.woocommerce-checkout #payment ul.payment_methods .stripe-card-group, 
.wc-stripe-elements-field, .wc-stripe-iban-element-field {
	display: block !important;
}
#stripe-exp-element,
#stripe-cvc-element,
#stripe-card-element,
.stripe-card-group {    
    width: 100%;
}
#stripe-payment-data label {
    padding-bottom: 5px;
    line-height: 14px;
}

