/* MOBILE AT BOTTOM */

body.checkout_body {
	background-color:#FAFAFA;
}


.jv_checkout_flex {
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row nowrap;

	width:100%;
	max-width:1200px;
	margin:0 auto;
}

.jv_checkout_flex>div {
	position:relative;
}

.jv_checkout_info {
	/* LEFT SIDE */
	flex:1 1 100%;
	padding:15px;
	background-color:white;
	border-radius:3px;
	border:1px solid #CCC;
}

.jv_checkout_summary_wrap {
	/* RIGHT SIDE */
	flex:0 0 375px;
	overflow:visible;
	padding-left:15px;
	position:relative;
}

.jv_checkout_in_store_pickup_only_wrap h2 {
	margin-bottom:0;
}
.jv_checkout_in_store_pickup_only_wrap h2+p {
	margin-top:0;
}


.jv_checkout_flex input[type=text],
.jv_checkout_flex input[type=number],
.jv_checkout_flex select,
.jv_checkout_flex textarea,
.jv_checkout_flex input[type=email],
.jv_checkout_flex input[type=tel],
.jv_checkout_flex  input[type=password] {
	font:1.125em Inter,sans-serif;
	padding:5px 5px !important;
	xwidth:100% !important;
	xmax-width:300px !important;
	/*margin-bottom:10px !important;*/
}




.jv_checkout_summary {
	padding:15px 15px 30px 15px;
	position: sticky;
	top:100px;

	background-color: #f9f9f9;
	background-color: white;  

	border: 1px solid #e5e5e5; 
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	border-radius:3px;
	border:1px solid #CCC;
}


.jv_checkout_summary>div {
	/* summary row */
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row nowrap;
	width:100%;
	font:1rem Inter;
	padding:4px 0;
	border-bottom:1px dotted #CCC;
}

.jv_checkout_summary>div:first-child {
	flex:0 0 170px;
}

.jv_checkout_summary>div:last-child {
	flex:1 1 100%;
}

.jv_checkout_summary_total>div {
	font-weight:800;
}

tr.checkout-custom-shipping-message-row td {
	font-weight:400 !important;
	text-align:center;
}



.jv_cart_summary {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.jv_cart_summary>div {

}

.jv_cart_summary_item_thumb {
	flex:0 0 40px;
}

.jv_cart_summary_item_thumb img {
	width:100%;
	height:auto;
	max-width:40px;
}

.jv_cart_summary_item_name {
	flex:1 1 100%;
	padding-left:10px;
	font-size:1rem;
}

.jv_cart_summary_item_variations {
	font-size:.75em;
}

.jv_cart_summary_item_price {
	flex:0 0 70px;
	text-align:right;
}

/*
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
#order_review_heading {
	xborder-top:2px dotted #CCC;
	xpadding-top:20px;
	xmargin-top:20px;
}
*/

#order_review_heading {
	/* this element is outside of a wrap. Needs margin */
	margin-top:20px;
}

#ship-to-different-address label{
	cursor:pointer !important;
}

/* force the lable to align with checkbox */
#ship-to-different-address label {
	display:flex;
	justify-content:flex-start;
	align-items:flex-end;
	align-content:flex-start;
	flex-flow:row nowrap;
	
}

#ship-to-different-address input[type="checkbox"] {
	width: 20px;
	height: 20px;
}

.woocommerce-checkout h3,
.form-row.notes label {
	background-color:#7c8638 ;
	color:white;
	padding:4px 10px !important;
	margin-bottom:20px !important;
	border-radius:3px !important;
	font-size:1.3rem !important;
	line-height:normal !important;
}

.woocommerce-checkout-payment {
	background-color:#f2f4e8 !important;
}

.payment_box {
	/* payment box note */
	background-color:#dfe4be !important;

}

.payment_box p {
	margin:0;
	padding:0;
	line-height:normal;
}

.payment_box:before  {
	/* little arrow above note */
	border-bottom-color:#dfe4be !important;
}

p.form-row.notes {
	padding:0 0 0 0;
}

.order-total {
	background-color:#f2f4e8;
}

.woocommerce-shipping-methods li {
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.woocommerce-shipping-methods li label {
	width:100%;
}

/* don't style it if there's no radio button: */
input[type=radio].shipping_method+label {
	width:100%;
	margin-top:-3px;
	border-bottom:1px solid #ccc;
	padding:2px 3px;
}

.shipping_method:checked+label {
	background-color:#d3e368;
}



/* for viewing the order after it's been purchases */

.jv_view_order_table {
	width:100%;
}

.jv_view_order_table td {
	vertical-align:top;
	border-bottom:1px solid #CCC;
	padding:3px 5px;
}

.jv_view_order_table td:last-child {
	text-align:right;
}

.jv_view_order_table th {
	text-align:left;
	padding:3px 5px;
	font-size:1.125em;
}

.jv_view_order_table th:last-child {
	text-align:right;
}

.view_order_product_name span {
	display:block;
}

.original_item_name_for_order_archive {
	font:.75em Inter,Arial;
	color:#999;
	margin-top:.5em;
}


.archive_order_addresses_flex {
	display:flex;
	justify-content:center;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.oaddr {
	flex:0 0 50%;
	padding:10px;
	margin-top:40px;
}

.oaddr address {
	border:1px solid #CCC;
	width:100%;
	padding:20px;
	font-style:normal;
}

.oaddr_phone,
.oaddr_email {
	margin:0 0 0 1em;
}

.oaddr_phone:before {
	font-family: WooCommerce;
	speak: never;
	font-weight: 400;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	margin-right: .618em;
	content: "\e037";
	text-decoration: none;
	margin-left: -1.5em;
	line-height: 1.75;
	position: absolute;
}

.oaddr_email:before {
	font-family: WooCommerce;
	speak: never;
	font-weight: 400;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	margin-right: .618em;
	content: "\e02d";
	text-decoration: none;
	margin-left: -1.5em;
	line-height: 1.75;
	position: absolute;
}


table.jv_view_order_totals {
	width:100%;
	border-collapse: collapse;
	margin-top:40px;
	background-color:#FAFAFA;
}

table.jv_view_order_totals th,
table.jv_view_order_totals td {
	border:1px solid #CCC;
	border-right:none;
	border-left:none;
	padding:5px 10px;
}

table.jv_view_order_totals th {
	text-align:left;
}

table.jv_view_order_totals td {
	text-align:right;
}



@media all and (max-width:800px) {
	.jv_checkout_flex {
		flex-direction: column;
	}
	.jv_checkout_info {
		order:1;
	}
	.jv_checkout_summary_wrap {
		padding-left:0;
		flex:1 1 100%;
		order:0;
	}
	.jv_checkout_summary {
		position:relative;
		top:0;
	}
}

@media all and (max-width:450px) {
	p.form-row-first,
	p.form-row-last {
		float:none !important;
		width:100% !important;
	}
}