﻿/* HTML 5 Reset - Provided by: https://github.com/murtaugh/HTML5-Reset */

a, hr {
	padding: 0
}

a, button, input, select, textarea {
	margin: 0
}

article, aside, details, figure, footer, header, hr, nav, section, summary {
	display: block
}

abbr, address, article, aside, audio, b, blockquote, body, body div, caption, cite, code, dd, del, details, dfn, dl, dt, em, fieldset, figure, footer, form, h1, h2, h3, h4, h5, h6, header, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-weight: 400;
	vertical-align: baseline;
	background: 0 0
}

input[type=checkbox], th {
	vertical-align: bottom
}

strong, th {
	font-weight: 700
}

html {
	box-sizing: border-box;
	overflow-y: scroll
}

*, :after, :before {
	box-sizing: inherit
}

embed, img, object {
	max-width: 100%
}

ul {
	list-style: none
}

blockquote, q {
	quotes: none
}

	blockquote:after, blockquote:before, q:after, q:before {
		content: '';
		content: none
	}

a {
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}

del {
	text-decoration: line-through
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted #000;
	cursor: help
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	font: 100%
}

td {
	font-weight: 400;
	vertical-align: top
}

hr {
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0
}

input, select {
	vertical-align: middle
}

pre {
	white-space: pre;
	white-space: pre-wrap;
	white-space: pre-line;
	word-wrap: break-word
}

input[type=radio] {
	vertical-align: text-bottom
}

.ie7 input[type=checkbox] {
	vertical-align: baseline
}

.ie6 input {
	vertical-align: text-bottom
}

input, select, textarea {
	font: 99% sans-serif
}

small {
	font-size: 85%
}

td, td img {
	vertical-align: top
}

sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative
}

sup {
	top: -.5em
}

sub {
	bottom: -.25em
}

code, kbd, pre, samp {
	font-family: monospace,sans-serif
}

.clickable, button, input[type=button], input[type=file], input[type=submit], label {
	cursor: pointer
}

button, input[type=button] {
	width: auto;
	overflow: visible
}

.ie7 img {
	-ms-interpolation-mode: bicubic
}

.clearfix:after, .clearfix:before {
	content: "\0020";
	display: block;
	height: 0;
	overflow: hidden
}

.clearfix:after {
	clear: both
}

.clearfix {
	zoom: 1
}


@font-face {
	font-family: 'ralewayregular';
	src: url('raleway-regular-webfont.eot');
}

@font-face {
	font-family: 'ralewayregular';
	src: url('raleway-regular-webfont.woff2') format('woff2'), url('raleway-regular-webfont.woff') format('woff'), url('raleway-regular-webfont.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'ralewaybold';
	src: url('raleway-bold-webfont.eot');
}

@font-face {
	font-family: 'ralewaybold';
	src: url('raleway-bold-webfont.woff2') format('woff2'), url('raleway-bold-webfont.woff') format('woff'), url('raleway-bold-webfont.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

/* font */
body, input, select, textarea {
	font-family: var(--font-name);
}
/* Primary Color */
a, .breadcrumbs span, .store_name a:hover, .your_cart_button:hover, .selected_shipping_address_edit, .coupon_code_add, .checkout_coupon_added_code a, .selected_billing_address_edit {
	color: var(--main-color);
}

button, input[type="button"], .button, .your_cart_item_quantity, .account_register_prompt, .saved_address_item_more, .add_new_address, .checkout_call_number, .checkout_secure_info, .saved_address h4 {
	background-color: var(--main-color);
	color: #FFF;
}

	.button:hover, input[type="button"]:hover, .button:hover, .load_start .button, .tipping_content_preselect_item_total .spinner .double-bounce1, .tipping_content_preselect_item_total .spinner .double-bounce2 {
		background-color: var(--main-highlight);
	}

.billing_address_checkbox_selected, .shipping_options_item_selected, .payment_terms_checkbox_selected, .payment_instructions_checkbox_selected, .checkbox_selected, .payment_item_toggle_selected {
	background-color: var(--main-color) !important;
}

input:focus, select:focus, textarea:focus {
	box-shadow: 0px 0px 0px 1px var(--main-color);
	border-color: var(--main-color);
}

.your_cart {
	border-bottom: 3px solid var(--main-color);
}

.saved_address_item::after {
	border-right: 100px solid var(--main-color);
}

.checkout_call_number::after, .checkout_secure_info::after {
	border-bottom: 8px solid var(--main-color);
}

.saved_address_item_select {
	background-color: var(--main-color);
	color: #fff;
}

.tipping_content_preselect_item:hover, .tipping_content_preselect_item_selected {
	border-color: var(--main-color) !important;
	background-color: var(--main-color) !important;
	color:#fff;
}
           

body {
	/*font-family: arial;*/
	font-size: 1rem;
	color: #404041;
}

@media only screen and (min-width : 900px) {
	body {
		font-size: 0.8rem;
	}
}

.checkout_tips_call a {
	color: #404041;
	cursor: text;
}

h1 {
	font-size: 2rem;
}

h2 {
	font-size: 1.4rem;
}

a {
	text-decoration: none;
}

.center {
	text-align: center;
}

.float_right {
	float: right;
}

section {
	clear: both;
	margin-bottom: 20px;
}

section::after{
	clear: both;
	content: '';
	display: block;
}

main {
	padding: 1rem;
	/*max-width: 660px;*/
	margin: 0 auto;
	overflow: hidden;
}

.main_inner {
	max-width: 660px;
	margin: 0 auto;
}

@media only screen and (min-width : 900px) {

	#sbs_main_outer {
		display: flex;
		flex-wrap: nowrap;
	}

	main {
		order: 1;
		margin-top: 50px;
		width: 100%;
	}
}

/*@media only screen and (min-width : 1150px) {
    main {
        float: right;
        margin-right: 48%;
        margin-top: 80px;
    }
}

@media only screen and (min-width : 1250px) {
    main {
        margin-right: 44%;
        margin-top: 90px;
    }
}*/
/*
@media only screen and (min-width : 1350px) {
    main {
        margin-right: 40%;
        margin-top: 100px;
    }
}

@media only screen and (min-width : 1550px) {
    main {
        margin-right: 36%;
        margin-top: 110px;
    }
}*/

/* ========================= */
/* Input =================== */
/* ========================= */

.input_container {
	position: relative;
	padding: 2px;
}

.input_container2 {
	overflow: hidden;
}

.input_container3 {
	overflow: hidden;
}

input, select, textarea {
	border: 1px solid #cacaca;
	border-radius: 4px;
	width: 100%;
	padding: 22px 20px 7px 20px;
	margin-top: 5px;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-ms-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	-webkit-appearance: none;
	appearance: none;
	-moz-appearance: none;
}

/*select {
    padding: 22px 20px 7px 15px;
}*/

.select_no_label {
	padding: 13px 20px 13px 15px;
}

.select_down_arrow {
	position: absolute;
	top: 20px;
	right: 15px;
	font-size: 1.2rem !important;
	pointer-events: none;
}

textarea {
	height: 100px;
	padding: 10px 10px 10px 10px;
}

	input:focus, select:focus, textarea:focus {
		outline: none;
	}

select::-ms-expand {
	display: none;
}

.address_form_input_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#shipping_telephony_container, #billing_telephony_container {
	display: inline-flex;
}

	#shipping_wo_states.address_form_input_container_item,
	#shipping_w_states.address_form_input_container_item,
	#billing_w_states.address_form_input_container_item,
	#billing_wo_states.address_form_input_container_item,
	#shipping_telephony_container.address_form_input_container_item,
	#billing_telephony_container.address_form_input_container_item {
		flex-wrap: wrap;
		justify-content: space-between;
	}

#shipping_postcode_container,
#shipping_mobile_container,
#shipping_telephone_container,
#billing_postcode_container,
#billing_mobile_container,
#billing_telephone_container,
#billing_zipcode_container {
	flex-wrap: wrap;
}

.address_form_input_container .address_form_input_container_item {
	width: 100%;
}

.address_form_input_container_item input {
	max-height: 45px;
}


@media only screen and (min-width : 1000px) {

	.address_form_input_container .address_form_input_container_item {
		width: 49%;
	}

		.address_form_input_container .address_form_input_container_item.input_container_full_width {
			width: 100%;
		}

	/*.input_container2 .input_container {
        display: inline-block;
        width: 49%;
        margin-left: 2%;
        float: left;
    }

    .input_container2 .input_container:nth-of-type(2n+1) {
        margin-left: 0% !important;
    }*/
}


/* ========================= */
/* Labels ================== */
/* ========================= */

label {
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-ms-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
	position: absolute;
	top: 22px;
	left: 20px;
	color: #909090;
}

.label_select {
	top: 11px;
	font-size: 0.7rem;
	text-indent: 2px;
}

.label_move {
	top: 11px;
	font-size: 0.7rem;
	text-indent: 2px;
}



/* ========================= */
/* Buttons ================= */
/* ========================= */


button, input[type="button"], .button {
	height: 50px;
	/*line-height: 50px;*/
	padding: 0px 20px;
	border: none;
	border-radius: 4px;
	margin-top: 20px;
	float: right;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-ms-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	position: relative;
	-webkit-appearance: none;
	width: 100%;
}

.button_container {
	position: relative;
	display: block;
	width: 100%;
}

@media only screen and (min-width : 900px) {
	button, input[type="button"], .button {
		width: auto;
	}

	.button_container {
		width: auto;
		display: inherit;
	}
}

.button_container_payment input {
	float: none;
}

.spinner {
	width: 15px;
	height: 15px;
	position: relative;
	display: none;
	position: absolute;
	right: 0;
	margin-top: 22px;
	margin-right: 2px;
	z-index: 4;
}

.double-bounce1, .double-bounce2 {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background-color: #fff;
	opacity: 0.6;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-animation: sk-bounce 2.0s infinite ease-in-out;
	animation: sk-bounce 2.0s infinite ease-in-out;
}

.double-bounce2 {
	-webkit-animation-delay: -1.0s;
	animation-delay: -1.0s;
}

@-webkit-keyframes sk-bounce {
	0%, 100% {
		-webkit-transform: scale(0.0)
	}

	50% {
		-webkit-transform: scale(1.0)
	}
}

@keyframes sk-bounce {
	0%, 100% {
		transform: scale(0.0);
		-webkit-transform: scale(0.0);
	}

	50% {
		transform: scale(1.0);
		-webkit-transform: scale(1.0);
	}
}

.load_start .spinner{
	display: inline-block !important;
}


/* ========================= */
/* Breadcrumbs ============= */
/* ========================= */

.breadcrumbs {
	margin-bottom: 2rem;
}

	.breadcrumbs ul {
		display: flex;
		flex-wrap: nowrap;
	}


		.breadcrumbs ul li::after {
			content: "•";
			margin: 0px 10px;
			color: #ccc;
		}

		.breadcrumbs ul li:last-child::after {
			content: none;
		}

	.breadcrumbs span {
		cursor: pointer;
	}

	.breadcrumbs ul li p {
		display: none;
	}

@media only screen and (min-width : 900px) {
	.breadcrumbs ul li:not(:first-child) i {
		display: none !important;
	}

	.breadcrumbs ul li p {
		display: inline-block;
	}
}

/* ========================= */
/* Alerts ================== */
/* ========================= */

.alert {
	margin-top: 5px;
	color: #C53333;
	display: none;
}

.alert_focus {
	box-shadow: 0px 0px 0px 1px #C53333;
	border-color: #C53333;
	outline: none;
}


.vat_number_alert {
	clear: both;
}

#address_add_error, #account_register_error {
	display: inline-block;
	text-align: right;
	width: 100%;
	font-size: 1.2em;
	font-weight: bold;
}

/* ========================= */
/* Misc or Hidden ========== */
/* ========================= */
.section_float_left {
	float: left;
}

.shipping_usa, #shipping_information, #account_guest_active, #billing_address, #shipping_options, #payment {
	display: none;
}

#shipping_options_wait {
	display: none;
	width: 100%;
	text-align: center;
}

.county-hidden {
	float: right !important;
}

/* =========================================================================== */
/* Start of Header CSS ======================================================= */
/* =========================================================================== */

/* ========================= */
/* Header ================== */
/* ========================= */

header {
	height: 50px;
	line-height: 50px;
	background-color: #404041;
	color: #FFF;
	width: 100%;
}

.header_container {
	width: 95%;
	margin: 0 auto;
}

.store_name {
	float: left;
	max-width: 50%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 1rem;
}

	.store_name a {
		color: #FFF;
	}



.your_cart_button {
	float: right;
	font-size: 1.8rem;
	cursor: pointer;
	max-width: 45%;
	height: 50px;
	line-height: 50px;
}

	.your_cart_button i {
		float: right;
		height: 50px;
		line-height: 50px;
	}

	.your_cart_button span {
		font-size: 0.8rem;
		float: right;
		margin-right: 5px;
		height: 50px;
		line-height: 50px;
	}

.your_cart_button_chev {
	margin-left: 5px;
	font-size: 0.8rem !important;
}

@media only screen and (min-width : 900px) {

	.your_cart_button {
		display: none;
	}


	.store_name {
		font-size: 2rem;
	}

	header {
		z-index: 9998;
	}
}





/* =========================================================================== */
/* Start of Cart CSS ======================================================= */
/* =========================================================================== */

/* ========================= */
/* Your Cart =============== */
/* ========================= */

.your_cart {
	background-color: #F5F5F5;
	display: none;
}

.your_cart_items {
	padding: 1rem;
	border-bottom: 1px solid #eaeaea;
	position: relative;
}

.your_cart_edit_button {
	position: absolute;
	top: 10px;
	right: 10px;
	cursor: pointer;
	z-index: 999;
}

.your_cart_item {
	overflow: hidden;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-bottom: 10px;
	position: relative;
	align-items: center;
}

	.your_cart_item:last-child {
		margin-bottom: 0px;
	}

.your_cart_item_left {
	width: 70%;
}

.your_cart_item_right {
	width: 28%;
	text-align: right;
	align-items: center;
	font-size: 1rem;
}

.your_cart_image_container {
	float: left;
	margin-right: 2%;
	max-width: 75px;
	max-height: 75px;
	border-radius: 4px;
	width: 20%;
}

.your_cart_image {
	border-radius: 4px;
	border: 1px solid #ccc;
	width: 100%;
}

.your_cart_item_text {
	float: left;
	width: 78%;
}

.your_cart_item_quantity {
	padding: 2px 5px;
	display: inline-block;
	border-radius: 4px;
	margin-bottom: 5px;
	font-size: 0.6rem;
	opacity: 0.7;
}

.your_cart_item_name {
	font-size: 0.8rem;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	letter-spacing: 0.5px;
	line-height: 18px;
}

/* Your Cart Button */

.your_cart_desktop_button {
	display: none;
}


@media only screen and (min-width : 600px) {
	.your_cart_item_quantity {
		padding: 3px 5px;
		font-size: 0.7rem;
	}
}

@media only screen and (min-width : 900px) {

	.your_cart_desktop_button {
		height: 50px;
		line-height: 50px;
		background-color: #FFF;
		display: block;
		padding: 0px 1rem;
		border-bottom: 1px solid #eaeaea;
		position: relative;
		cursor: pointer;
		font-size: 1rem;
	}

		.your_cart_desktop_button i {
			position: absolute;
			right: 1rem;
			line-height: 50px;
		}

	.your_cart_button {
		display: none;
	}

	.your_cart {
		width: 100%;
		display: inline !important;
		max-width: 540px;
		border-left: 1px solid #eaeaea;
		border-bottom: none;
		overflow-y: auto;
		padding-bottom: 50px;
		order: 2;
		min-height: calc(100vh - 50px);
	}

	.your_cart_items {
		display: block;
		background-color: #FFF;
	}
}





/* Checkout Total */

.checkout_total {
	padding: 1rem;
	overflow: hidden;
}

.checkout_total_item {
	height: 30px;
	line-height: 30px;
	overflow: hidden;
	border-bottom: 1px solid #eaeaea;
}

.checkout_total_item_total {
	border-bottom: none;
	height: auto;
	line-height: inherit;
	width:100%;
}

.checkout_total_item_left {
	float: left;
	display: inline-block;
}

.checkout_total_item_right {
	float: right;
	display: inline-block;
	font-size: 1rem;
}

.checkout_total_item:last-child .checkout_total_item_right {
	font-weight: bold;
}

.checkout_total_total {
	font-weight: bold;
	font-size: 1.8rem;
}

.checkout_total_item_total .checkout_total_item_left {
	line-height: 40px;
	height: 40px;
}

div#basket_totals_topay{
	margin-top:0.8em;
	font-size:1.8em;
}
/* =========================================================================== */
/* Start of Account2 CSS ======================================================= */
/* =========================================================================== */
.check {
	cursor: pointer;
	height: 40px;
	line-height: 40px;
	padding: 0px 5px;
	border-radius: 4px;
	margin: 5px 2px 0px 2px;
	display: block;
	clear: both;
	border: 1px solid #ddd;
}

.checkbox {
	border-radius: 4px;
	height: 15px;
	width: 15px;
	background-color: #ddd;
	position: relative;
	float: left;
	margin-right: 10px;
	margin-top: 12px;
}

@media only screen and (min-width : 900px) {
	.check {
		border: none !important;
		float: none;
		padding: 0px;
		margin: 0px;
		margin-top: 5px;
		border-radius: inherit;
		height: inherit;
		line-height: inherit;
	}

	.checkbox {
		margin-top: 0px;
	}
}

.check:hover .checkbox {
	background-color: #CCC;
}

.checkbox_selected::after {
	position: absolute;
	width: 5px;
	height: 5px;
	border-radius: 1px;
	background-color: #FFF;
	content: '';
	top: 5px;
	left: 5px;
}

.account_options {
	overflow: hidden;
}

.account_login_forgotten {
	float: left;
	display: inline-block;
	margin-top: 5px;
}

.account_register_prompt {
	margin-top: 5px;
	border-radius: 4px;
	padding: 10px;
}

.account_login, .account_register {
	display: none;
}

.welcome_message_guest, .welcome_message_logged_in {
	display: none;
	margin-bottom: 20px;
	line-height: 20px;
	border: 1px solid #eaeaea;
	background-color: #f5f5f7;
	border-radius: 4px;
	padding: 10px;
}

.welcome_message_guest_top span, .welcome_message_logged_in_top span {
	font-weight: bold;
}

.welcome_message_guest a, .welcome_message_logged_in a {
	cursor: pointer;
}




/* =========================================================================== */
/* Start of Shipping CSS ======================================================= */
/* =========================================================================== */


/* Billing Address */
#billing_address {
	margin-bottom: 0px;
}

.billing_address_check {
	float: left;
	margin-top: 20px;
	margin-bottom: 20px;
	cursor: pointer;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 10px;
	width: 100%;
}

@media only screen and (min-width : 900px) {
	.billing_address_check {
		border: none !important;
		padding: 0px;
		width: auto;
	}
}

.billing_address_checkbox {
	border-radius: 4px;
	height: 15px;
	width: 15px;
	background-color: #ddd;
	position: relative;
	float: left;
	margin-right: 10px;
}

.billing_address_check:hover .billing_address_checkbox {
	background-color: #CCC;
}

.billing_address_checkbox_selected::after {
	position: absolute;
	width: 5px;
	height: 5px;
	border-radius: 1px;
	background-color: #FFF;
	content: '';
	top: 5px;
	left: 5px;
}



/* =========================================================================== */
/* Start of Shipping Options CSS ============================================= */
/* =========================================================================== */

/* Shipping Saved Addresses */

.saved_address {
	margin-top: 30px;
	overflow: hidden;
	display: none;
}

	.saved_address h4 {
		line-height: 30px;
		border-radius: 4px;
		padding: 0px 10px;
	}

		.saved_address h4:last-child {
			margin-top: 5px;
		}

.saved_address_item {
	border: 1px solid #eaeaea;
	padding: 10px;
	font-style: italic;
	line-height: 18px;
	border-radius: 4px;
	margin-bottom: 10px;
	position: relative;
	overflow: hidden;
	cursor: pointer;
}

	.saved_address_item:hover {
		box-shadow: 0px 0px 3px 2px #f5f5f5;
	}

		.saved_address_item:hover::after {
			opacity: 0.5;
		}

	.saved_address_item::after {
		content: '';
		position: absolute;
		bottom: -1px;
		right: 0;
		left: 0;
		border-top: 400px solid rgba(0, 255, 0, 0);
		-moz-transform: scale(.9999);
		z-index: 3;
		opacity: 0.2;
		-webkit-transition: all 0.4s ease;
		-moz-transition: all 0.4s ease;
		-ms-transition: all 0.4s ease;
		-o-transition: all 0.4s ease;
		transition: all 0.4s ease;
	}

.saved_address_item_select {
	position: absolute;
	z-index: 10;
	height: 25px;
	line-height: 25px;
	padding: 0px 10px;
	border-radius: 4px;
	bottom: 10px;
	right: 10px;
	cursor:pointer;
}

.saved_address_add_new {
	width: 100%;
	text-align: center;
	margin: 20px 0px;
	clear: both;
	position: relative;
}

	.saved_address_add_new::before {
		position: absolute;
		top: 5px;
		height: 2px;
		width: 100%;
		background-color: #ddd;
		content: '';
		left: 0;
		z-index: 1;
	}

	.saved_address_add_new span {
		background-color: white;
		padding: 0px 10px;
		z-index: 2;
		position: relative;
		position: relative;
	}

.saved_address_item_selected {
	box-shadow: 0px 0px 3px 2px #f5f5f5 !important;
}

	.saved_address_item_selected::after {
		opacity: 0.8 !important;
	}

.saved_address_item p {
	position: relative;
	z-index: 4;
}

	.saved_address_item p::after {
		content: ','
	}

	.saved_address_item p:last-child::after {
		content: none;
	}

.saved_address_item_more {
	text-align: center;
	cursor: pointer;
	border-radius: 4px;
	height: 30px;
	line-height: 30px;
}

.add_new_address {
	border-radius: 4px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	height: 30px;
	line-height: 30px;
	font-size: 0.8rem;
	clear: both;
	cursor: pointer;
	margin-bottom: 10px;
}

@media only screen and (min-width : 1000px) {
	.saved_address_item_more {
		display: none;
	}

	#saved_address_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.saved_address_item {
		width: 48%;
		min-height: 205px;
	}

		.saved_address_item p {
			overflow: hidden;
			height: 18px;
			text-overflow: ellipsis;
			white-space: nowrap;
		}

		.saved_address_item:nth-of-type(2n+1) {
			margin-left: 0%;
		}

	.add_new_address {
		width: 30%;
		display: block;
	}
}



.shipping_billing {
	overflow: hidden;
	margin-bottom: 20px;
}

/* Shipping Selected Address */


.selected_shipping_address {
	background-color: #f5f5f5;
	padding: 10px;
	border-radius: 4px;
	border: 1px solid #eaeaea;
	margin-bottom: 10px;
	position: relative;
	line-height: 18px;
}

	.selected_shipping_address h2 {
		margin-bottom: 5px;
		line-height: initial;
	}

.selected_shipping_address_edit_icon {
	cursor: pointer;
	position: absolute;
	top: 0px;
	right: 0px;
	font-size: 1.2rem;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 40px;
}

.selected_shipping_address p {
	display: inline;
}

.selected_shipping_address span:empty {
	display: none !important;
}

.selected_shipping_address span {
	display: block !important;
	font-style: italic;
}


	.selected_shipping_address span::after, .selected_billing_address span::after {
		content: ','
	}

	.selected_shipping_address span:last-child::after, .selected_billing_address span:last-child::after {
		content: none;
	}




/* Billing Selected Address */

.selected_billing_address {
	background-color: #f5f5f5;
	padding: 10px;
	border-radius: 4px;
	border: 1px solid #eaeaea;
	margin-bottom: 20px;
	display: none;
	width: 100%;
	float: left;
	clear: none;
	position: relative;
	line-height: 18px;
}

	.selected_billing_address h2 {
		margin-bottom: 5px;
		line-height: initial;
	}

.selected_billing_address_edit {
	cursor: pointer;
	position: absolute;
	top: 0px;
	right: 0px;
	font-size: 1.2rem;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 40px;
}

.selected_billing_address p {
	display: inline;
}

.selected_billing_address span:empty {
	display: none !important;
}

.selected_billing_address span {
	display: block !important;
	font-style: italic;
}

/* Billing */

#billing_address {
	margin-bottom: 30px;
}

.billing_address_container h2 {
	display: none;
}

@media only screen and (min-width : 1250px) {
	.selected_shipping_address {
		width: 48%;
		display: inline-block;
		float: left;
		margin-bottom: 30px;
	}

	.billing_address_container {
		width: 48%;
		display: inline-block;
		float: left;
		margin-bottom: 30px;
		margin-left: 4%;
	}

		.billing_address_container h2 {
			display: block;
		}
}

/* Shipping Options */

.shipping_options h2 {
	margin-bottom: 5px;
}

.shipping_options_item {
	display: block;
	padding: 0px 10px;
	margin-bottom: 10px;
	cursor: pointer;
	background-color: #FFF;
	min-height: 40px;
	border: 1px solid #ccc;
	border-radius: 4px;
}

.shipping_options_item_inner_wrapper {
	display: flex;
	justifY-content: space-between;
	align-items: center;
	min-height: 40px;
	padding: 5px 0;
}

.shipping_option_item_circle_name_wrapper {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}

.shipping_option_item_circle, .shipping_option_item_name, .shipping_option_item_price {
	display: inline-block;
}

.shipping_option_item_name {
	display: flex;
	flex-wrap: nowrap;
}

.shipping_option_item_image {
	max-height: 22px;
	margin-right: 10px;
	display: none;
}


@media only screen and (min-width : 400px) {
	.shipping_option_item_image {
		display: inline-block;
	}
}

.shipping_option_item_circle {
	border-radius: 4px;
	height: 15px;
	width: 15px;
	min-width: 15px;
	background-color: #ddd;
	margin-right: 10px;
	position: relative;
}

.shipping_option_item_estimated_delivery {
	font-size: 0.7rem;
}

.shipping_option_item_price {
	font-weight: bold;
}

.shipping_options_item:hover .shipping_option_item_circle {
	background-color: #CCC;
}

.shipping_options_item_selected::after {
	position: absolute;
	width: 5px;
	height: 5px;
	border-radius: 1px;
	background-color: #FFF;
	content: '';
	top: 5px;
	left: 5px;
}

.shipping_options_item:hover .shipping_options_item_selected {
	background-color: #1ea1ca;
}




/* =========================================================================== */
/* Start of Payments CSS ===================================================== */
/* =========================================================================== */


.checkbox_alert {
	background-color: #C53333 !important;
}

/* Additional Instructions */

#additional_instructions {
	margin-bottom: 30px;
}

.additional_instruction_container {
	display: none;
}

.payment_terms {
	margin: 25px 0;
	overflow: hidden;
}

.payment_terms_text {
	width: 80%;
	float: left;
}

.payment_terms_check, .payment_instructions_check {
	margin-top: 5px;
	cursor: pointer;
}

.payment_terms_check {
	border: 1px solid #ccc;
	overflow: hidden;
	padding: 10px;
	border-radius: 4px;
}

.payment_terms_checkbox, .payment_instructions_checkbox {
	border-radius: 4px;
	height: 15px;
	width: 15px;
	background-color: #ddd;
	position: relative;
	float: left;
	margin-right: 10px;
}

.payment_terms_check:hover .payment_terms_checkbox, .payment_instructions_check:hover .payment_instructions_checkbox {
	background-color: #CCC;
}

.payment_terms_checkbox_selected::after, .payment_instructions_checkbox_selected::after {
	position: absolute;
	width: 5px;
	height: 5px;
	border-radius: 1px;
	background-color: #FFF;
	content: '';
	top: 5px;
	left: 5px;
}

.payment_hear, .payment_vat {
	margin-top: 30px;
	overflow: hidden;
}

	.payment_hear select {
		width: inherit;
	}


.payment_options {
	margin-top: 10px;
}

/* VAT */
.valid_vat {
	padding: 10px;
	overflow: hidden;
	border-radius: 4px;
	display: none;
	clear: both;
}

.valid_vat_text {
	display: inline-block;
	float: left;
	line-height: 20px;
}

.remove_vat {
	height: 20px;
	line-height: 20px;
	width: 20px;
	background-color: #C53333;
	color: #FFF;
	text-align: center;
	float: right;
	display: inline-block;
	cursor: pointer;
	border-radius: 4px;
}


/* =============================== */
/* VAT Number button next to input */
/* =============================== */

.input_container_joint {
	position: relative;
}

.button_container_joint {
	position: absolute;
	top: 0;
	right: 0;
}

	.button_container_joint input {
		margin-top: 6px;
		height: 50px;
		line-height: 50px;
		border-top-left-radius: 0px;
		border-bottom-left-radius: 0px;
	}

@media only screen and (min-width : 900px) {
	.button_container_joint input {
		height: 45px;
		line-height: 45px;
	}
}



/* Payment Items */

.payment_item {
	border-left: 3px solid #eaeaea;
	border-right: 3px solid #eaeaea;
	border-bottom: 1px solid #eaeaea;
	border-top: 1px solid #eaeaea;
	background-color: #F5F5F5;
	overflow: hidden;
	cursor: pointer;
	position: relative;
}

	.payment_item:first-child {
		border-top: 3px solid #eaeaea;
		border-top-left-radius: 4px;
		border-top-right-radius: 4px;
	}

	.payment_item:last-child {
		border-bottom: 3px solid #eaeaea;
		border-bottom-left-radius: 4px;
		border-bottom-right-radius: 4px;
	}

.payment_item_top, .payment_item_content {
	padding: 1rem;
	overflow: hidden;
}

/* Toggle */

.payment_item_toggle_container {
	width: 10%;
	display: inline-block;
	float: left;
}

.payment_item_toggle {
	border-radius: 4px;
	height: 15px;
	width: 15px;
	background-color: #ddd;
	position: relative;
	margin-top: 10px;
	margin-bottom: 10px;
}

@media only screen and (min-width : 900px) {
	.payment_item_toggle {
		margin-top: 20px;
		margin-bottom: 0px;
	}
}

.payment_item:hover .payment_item_toggle {
	background-color: #CCC;
}

/* Info */

.payment_item_info {
	width: 90%;
	display: inline-block;
	float: left;
	line-height: 15px;
	margin-top: 10px;
}

	.payment_item_info p {
		display: none;
	}


@media only screen and (min-width : 900px) {
	.payment_item_info {
		width: 80%;
		margin-top: 0px;
	}

		.payment_item_info p {
			display: block;
		}
}

@media only screen and (min-width : 1000px) {
	.payment_item_info {
		width: 70%;
	}
}

@media only screen and (min-width : 1100px) {
	.payment_item_info {
		width: 60%;
	}
}

/* Images */

.payment_item_images {
	position: absolute;
	top: 5px;
	right: 5px;
}

	.payment_item_images img {
		max-height: 20px;
	}

.payment_item_images_notselected {
	-webkit-filter: grayscale(1);
	-webkit-filter: grayscale(100%);
	filter: gray;
	filter: grayscale(100%);
}

@media only screen and (min-width : 1000px) {
	.payment_item_images {
		position: inherit;
		top: 0;
		right: 0;
		display: inline-block;
		float: left;
		margin-top: 15px;
		width: 20%;
		text-align: right;
	}

		.payment_item_images img {
			max-height: none;
			width: 90%;
			max-width: 120px;
		}
}

@media only screen and (min-width : 1100px) {
	.payment_item_images {
		width: 30%;
	}
}


/* Card Details */

.payment_item_content {
	clear: both;
	border-top: 1px solid #eaeaea;
	display: none;
}

.payment_item_content_selected {
	display: block;
}

.payment_card_cvc_post {
	overflow: hidden;
	margin-bottom: 10px;
}

.payment_card_input3 {
	overflow: hidden;
}

.payment_card_month, .payment_card_cvc {
	width: 42.5%;
	display: inline-block;
	float: left;
	margin-left: 5%;
}

.payment_card_month {
	width: 52.5%;
}

.payment_card_month {
	margin-left: 0% !important;
}

input[type='number'] {
	-moz-appearance: textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

@media only screen and (min-width : 1000px) {
	.payment_card_month {
		width: 140px;
	}

	.payment_card_cvc {
		width: 90px;
		margin-left: 2%;
	}

	.payment_card_input3 {
		float: left;
		width: 55%;
	}

	.payment_card_postcode {
		float: right;
		width: 45%;
	}
}

/* Payment Redirect */

.payment_item_redirect {
	text-align: center;
}

	.payment_item_redirect button {
		float: none;
	}

/* Payment Item Selected */

.payment_item_selected {
	background-color: #FFF;
}

.payment_item_toggle_selected::after {
	position: absolute;
	width: 5px;
	height: 5px;
	border-radius: 1px;
	background-color: #FFF;
	content: '';
	top: 5px;
	left: 5px;
}



/* Initial Error State */

#initial_error {
	margin-bottom: 10px;
	display: none;
}

.initial_error {
	background-color: #C53333;
	color: #FFF;
	border-radius: 4px;
	padding: 10px;
	text-align: left;
	margin-bottom: 10px;
}

#initial_error .button {
	float: none;
	display: inline-block;
}



/* Discount Codes */

.coupon_code_add {
	font-size: 0.7rem;
	float: right;
	cursor: pointer;
}

.checkout_coupon_all {
	display: none;
	width: 100%;
	clear: both;
}

.checkout_coupon {
	margin-top: 30px;
	overflow: hidden;
}

	.checkout_coupon button {
		margin-bottom: 10px;
	}

#coupon_list {
	clear: both;
	margin-top: 20px;
}

	#coupon_list > div {
		clear: both;
		border: 1px solid #ddd;
		background-color: #FFF;
	}

.checkout_coupon_added_item {
	border-bottom: 1px solid #ddd;
	padding: 10px;
}

	.checkout_coupon_added_item:last-child {
		border-bottom: none;
	}

.checkout_coupon_added_code strong {
	font-size: 1rem;
}

.checkout_coupon_added_code a {
	font-size: 0.7rem;
	float: right;
}

.checkout_coupon_added_description {
	margin-top: 5px;
}

/* Terms and Condition alert */

.text_alert {
	color: #C53333;
}

/* Payment Failed */

.payment_failed {
	background-color: #C53333;
	color: #FFF;
	border-radius: 4px;
	padding: 10px;
	margin-top: 10px;
	display: none;
}


/* Shipping Error State */


#shipping_error, #billing_shipping_error {
	margin-bottom: 10px;
	display: none;
}
	/*
.shipping_error{
    background-color: #C53333;
    color: #FFF;
    border-radius: 4px;
    padding: 10px;
    text-align: left;
    margin-bottom: 10px;
}*/

	#shipping_error .button {
		float: none;
		display: inline-block;
	}

/* Pay By Other */

.pay_by_other {
	display: none;
}




.button_left {
	float: left;
}

.payment_item_redirect button {
	float: none;
}

/* Forgotten Password */
.account_forgotten_password {
	clear: both;
	display: none;
}

#account_forgotten_password_feedback, #forgotten_password_done {
	display: none;
}

/* Where did you hear */
#ddlWhereDidYouHear_input_container {
	max-width: 350px;
}

#ddlWhereDidYouHear {
	width: 100%;
}


@media only screen and (min-width : 1250px) {
	.selected_billing_address {
		width: 48%;
		margin-left: 4%;
	}
}




/* Checkout Tips */

.checkout_tips {
	border-bottom: 3px solid #f5f5f5;
	overflow: hidden;
	margin-bottom: 10px;
}

.checkout_tips_secure {
	display: inline-block;
	float: left;
}

.checkout_tips_call {
	display: inline-block;
	float: right;
}

	.checkout_tips_call span a i {
		margin-right: 5px;
	}

.checkout_tips span {
	line-height: 30px;
}




/* ==== Card Input Formatting ====*/

#stripe_cardname {
	text-transform: uppercase;
}

/* ==== Encrypted Image ====*/

.secure_image {
	display: none;
}

@media only screen and (min-width : 1250px) {
	.secure_image {
		max-width: 160px;
		opacity: 0.5;
		margin-top: 10px;
		display: inline-block;
	}
}


/* Accept Terms Failed */

.payment_failed input {
	border-radius: 4px;
	height: 15px;
	width: 15px;
	background-color: #fff;
	border: 1px solid #fff;
	position: relative;
	margin-right: 10px;
	padding: 0;
	cursor: pointer;
}

	.payment_failed input:hover {
		background-color: #ccc;
		border-color: #ccc;
	}

.payment_failed a {
	color: #FFF;
	text-decoration: underline;
}


/*  Stripe Card Image */
.stripe_cardimage {
	position: absolute;
	top: 14px;
	right: 10px;
	width: 50px;
	border: 1px solid #ddd;
	border-radius: 6px;
	display: none; /* starting point */
}

/* Footer links and copy */
.footer_information {
	clear: both;
	margin-top: 100px;
	width: 100%;
	display: inline-block;
	text-align: center;
}

	.footer_information span {
		margin-bottom: 5px;
		display: block;
	}

	.footer_information li {
		display: inline-block;
		margin: 0px 5px;
	}


.paypal-paylater-div {
	max-width: 380px;
	width: 100%;
	line-height: 35px;
}

.paypal-paylater-div1 {
	max-width: 380px;
	margin: 0 auto;
}

.paypal-paylater-container {
	display: flex;
	width: 100%;
}



/* Tipping */

#tipping_main_container{
	/*display: none;*/
}

#tipping_main_container.tipping_main_container_active{
	display: block;
}

#tipping_outer_container {
	display: flex;
	justify-content: flex-end;
}

#tipping_container {
	border: 1px solid #cacaca;
	background-color: #f5f5f5;
	border-radius: 4px;
	/*max-width: 400px;*/
	width: 100%;
}

#tipping_info_container {
	padding: 10px;
	border-bottom: 1px solid #cacaca;
}

#tipping_info_text{
	margin-top: 5px;
}

#tipping_content_preselect_container {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	column-gap: 5px;
	padding: 10px;
}

.tipping_content_preselect_item {
	height: 60px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	text-align: center;
	border: 1px solid var(--main-color);
	background-color: #FFF;
	border-radius: 4px;
	cursor: pointer;
	width: 100px;
	transition: 0.25s;
}

#tipping_content_preselect_item_custom_price{
	display: none;
}

#tipping_content_preselect_item_custom_price.tipping_content_preselect_item_custom_price_active{
	display: flex;
}

.tipping_content_preselect_item_total{
	margin-top: 4px;
}

#tipping_content_custom_container {
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
	padding: 0 10px 10px 10px;
}

#tipping_content_custom_input_container{
	width: 100%;
}

#tipping_content_custom {
	margin-top: 0 !important;
	width: 100%;
}

#tipping_content_custom_input_container label {
	top: 17px;
}

#tipping_content_custom_input_container label.label_move {
	top: 11px;
}

.tipping_content_preselect_item_total .spinner{
	display: inline-block !important;
	margin: 0 auto !important;
	left: 0; right: 0;
	position: relative;
}

#tip_feedback_error{
	padding: 0 10px 10px 10px;
}

/* PayPal bits */
#paypal_hosted_fields label {
	position: initial !important;
	width: 100%;
	margin-bottom: 5px;
	font-weight: bold;
	display: block;
}

#card-number, #expiration-date, #cvv {
	border-radius: 4px;
	border: 1px solid #eaeaea;
	height: 40px;
	padding: 0 10px;
	width: 100%;
}

#paypalv2-hosted-form-ineligible {
	display: none;
	text-align: center;
	margin: 40px
}

.paypalv2-hosted-form-fws-input-container {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
	position: relative;
}

.paypalv2-hosted-form-fws-input-container2 {
	display: flex;
	flex-wrap: nowrap;
}

.paypalv2-hosted-form-fws-input-container2-item {
	width: 45%;
}

#paypalv2-hosted-form-fws-input-container2-item-expdate {
	margin-right: 10%;
}


@media only screen and (min-width: 900px) {
	#paypalv2-hosted-form .button_container {
		width: auto;
		display: inline-block;
	}

		#paypalv2-hosted-form .button_container .spinner {
			margin-top: 2px;
		}
}

#paypal_hosted_submit {
	margin: 0 auto 20px auto;
	display: inline-block;
}

#paypal_hosted_or_line {
	text-align: center;
	margin-bottom: 20px;
}

#paypal-button-container {
	margin: 20px auto 10px auto;
	display: flex;
	justify-content: center;
	width: 50%;
}

	#paypal-button-container.paypal-button-container-notchecked {
		pointer-events: none !important;
		filter: grayscale(1);
	}

#payment_failed_ppcp {
	text-align: center;
}

#paypal_button_connecting, #stripe_button_connecting, #ryft_button_connecting {
	display: none;
}

	#paypal_button_connecting.load_start, #stripe_button_connecting.load_start, #ryft_button_connecting.load_start {
		display: block;
	}

		#paypal_button_connecting.load_start .spinner, #stripe_button_connecting.load_start .spinner, #ryft_button_connecting.load_start .spinner {
			position: relative;
			width: 20px;
			height: 20px;
			margin-top: 0;
			top: 5px;
		}

			#paypal_button_connecting.load_start .spinner .double-bounce1,
			#paypal_button_connecting.load_start .spinner .double-bounce2,
			#stripe_button_connecting.load_start .spinner .double-bounce1,
			#stripe_button_connecting.load_start .spinner .double-bounce2,
			#ryft_button_connecting.load_start .spinner .double-bounce1,
			#ryft_button_connecting.load_start .spinner .double-bounce2 {
				background-color: #04a0de;
			}

#paypal_completing_order_modal_overlay, #stripe_completing_order_modal_overlay, #ryft_completing_order_modal_overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 198;
	background-color: rgba(0,0,0,0.5);
	display: none;
}

#paypal_completing_order_modal, #stripe_completing_order_modal, #ryft_completing_order_modal {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 199;
	font-size: 1rem;
	display: none;
	width: 100%;
	max-width: 400px;
	text-align: center;
}

#paypal_completing_order_modal_inner, #stripe_completing_order_modal_inner, #ryft_completing_order_modal_inner {
	background-color: #FFF;
	border-radius: 10px;
	box-shadow: 1px 1px 15px -3px #444444;
	padding-bottom: 20px;
}

#paypal_completing_order_modal_inner_image, #stripe_completing_order_modal_inner_image, #ryft_completing_order_modal_inner_image {
	max-width: 200px;
	margin-top: 10px;
	margin:0 auto;
}

#paypal_completing_order_modal_text_container, #stripe_completing_order_modal_text_container, #ryft_completing_order_modal_text_container {
	margin-top: 10px;
}

#paypal_completing_order_modal_text, #stripe_completing_order_modal_text, #ryft_completing_order_modal_text {
	margin-left: 10px;
	font-weight: bold;
}

#paypal_completing_order_modal_outer_text, #stripe_completing_order_modal_outer_text, #ryft_completing_order_modal_outer_text {
	color: #FFF;
	font-size: 0.8rem;
	margin-top: 5px;
	text-shadow: 0 4px 4px #000;
}

#ppcp-card-image, #stripe-card-image {
	position: absolute;
	right: 10px;
	height: 32px;
	bottom: 4px;
	opacity: 0;
	visibility: hidden;
	transition: 0.4s;
	background-color: #fff;
	padding: 0 10px;
	border-radius: 4px;
}

	#ppcp-card-image.cansee, #stripe-card-image.cansee {
		opacity: 1;
		visibility: visible;
	}

.button_disabled {
	cursor: text !important;
	pointer-events: none !important;
	background-color: #dddddd !important;
	color: #404041 !important;
}

/* Stuff for the new stripe checkout flow */
.hidden {
	display: none;
}
/* PayPal Confirm/Return*/
.shipping_information_mismatch {
	margin-top: 20px;
}

	.shipping_information_mismatch h2 {
		margin-bottom: 10px;
		margin-top: 20px;
	}

.status_panel {
	background-color: #F5F5F5;
	border: 1px solid #ddd;
	margin-top: 10px;
	padding: 20px;
}

.saved_address_item {
	width: 100%;
	min-height: auto;
	cursor:pointer;
	float: none;
	display: block;
}

#shipping_add_wait {
	display: none;
	width: 100%;
	text-align: center;
}

#finalPriceBox {
	display: flex;
	justify-content: flex-end;
	line-height: 25px;
	border-radius: 4px;
}

	#finalPriceBox strong {
		min-width: 150px;
		display: inline-block;
	}

#btnReturnToCart a {
	height: 50px;
	line-height: 50px;
}

#btnReturnToCart {
	display: inline-block;
	text-align: center;
}

#btnConfirmShipping input[disabled] {
	background: #8a8787;
	pointer-events: none;
}

@media only screen and (min-width: 900px) {
	#btnReturnToCart {
		display: inline-block;
		text-align: left;
	}
}

#finalPriceBox span {
	display: inline-block;
	text-align: right;
	min-width: 80px;
}

#paypal_completing_order_modal_overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 198;
	background-color: rgba(0,0,0,0.5);
	display: none;
}

#paypal_completing_order_modal {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 199;
	font-size: 1rem;
	display: none;
	width: 100%;
	max-width: 400px;
	text-align: center;
}

#paypal_completing_order_modal_inner {
	background-color: #FFF;
	border-radius: 10px;
	box-shadow: 1px 1px 15px -3px #444444;
	padding-bottom: 20px;
}

#paypal_completing_order_modal_inner_image {
	max-width: 200px;
	margin-top: 10px;
}

#paypal_completing_order_modal_text_container {
	margin-top: 10px;
}

#paypal_completing_order_modal_text {
	margin-left: 10px;
	font-weight: bold;
}

#paypal_completing_order_modal_outer_text {
	color: #FFF;
	font-size: 0.8rem;
	margin-top: 5px;
	text-shadow: 0 4px 4px #000;
}

.checkout_total_total2 {
	font-weight: bold;
}

.has_tool_tip {
	position: relative;
	pointer-events: inherit;
}

.tool_tip {
	position: absolute;
	background-color: #ea1636;
	color: #FFF;
	border-radius: 4px;
	line-height: 15px;
	font-size: 0.7rem;
	padding: 5px 10px;
	min-width: 160px;
	bottom: 50px;
	right: 0;
	opacity: 0;
	visibility: hidden;
	z-index: 4;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-ms-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

	.tool_tip::after {
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 10px solid #ea1636;
		position: absolute;
		bottom: -10px;
		right: 10px;
	}

#btnConfirmShipping.tool_tip_enabled:hover .tool_tip {
	opacity: 1;
	visibility: visible;
	bottom: 60px;
}

#saved_address_list1, #shipping_confirmation {
	display: none;
}

	#saved_address_list1 .saved_address_item {
		cursor: pointer;
	}

#shipping_not_supported {
	display: none;
}

#shipping_blocked_msg {
	font-size: larger
}
.additional_instruction_container {
	display: none; /*hide instructions by default*/
}

#tipping_info_title {
	margin-top: 0px;
}

.payment_hear {
	margin-top: 0 !important;
}

#additional_instructions {
	margin-bottom: 0 !important;
}

#shipping_extra_info_required {
	display: none;
}

#shipping_address {
	display: none;
}

#shipping_loading {
	margin-top: 30px;
	width: 100%;
	text-align: center;
	font-size: large
}
/* Rewards Program */
#order_worth_container
{
	width:75%;
	margin:0 auto;
	margin-bottom:2em;
}
#ul_orders_worth {
	margin-top: 1em;
	margin-bottom: 1em;
}
#ul_orders_worth li
{
	text-align:left;
	padding-left:2em;
	line-height:30px;
	border-bottom:1px solid #e1e1e1;
}
#ul_orders_worth li i
{
	font-size:1.2em;
}
.ul_li_points
{
	text-align:right;
	float:right;
	font-weight:bold;
}
.ul_li_label
{
	text-align:left;
}

/* Gift Cards */
.overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	display: flex;
	justify-content: center;
	align-items: center;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
	z-index: 2147483647 !important;
}

.popup, #fws-giftcard-busywait {
	background: white;
	padding: 20px;
	border-radius: 8px;
	width: 360px;
	text-align: center;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
	z-index: 2147483647 !important;
	position: relative;
}

	.popup svg {
		width: 50px;
		height: 50px;
		margin-bottom: 10px;
	}

	.popup input, #fws-giftcard-busywait input, #fws-giftcard-busywait input {
		width: 100%;
		padding: 10px 0;
		margin: 10px 0;
		border: 1px solid #ccc;
		border-radius: 4px;
		text-align: center;
		font-size: 16px;
		letter-spacing: 2px;
	}

	.popup button, #fws-giftcard-busywait button, #fws-giftcard-busywait button {
		background-color: var(--main-color);
		color: white;
		border: none;
		padding: 10px;
		width: 100%;
		border-radius: 4px;
	}

.giftcard_input_button {
	cursor: pointer;
}

.close-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	cursor: pointer;
	font-size: 24px;
}

#giftcards_container {
	text-transform: uppercase;
	line-height: 38px;
	font-weight: bold;
	width: 100%;
	text-align: right;
	margin-top: 1.5em;
}

	#giftcards_container a {
		background-color: var(--main-color);
		color: #fff;
		padding: 0px 20px;
		border-radius: 4px;
		min-width: 160px;
		display: inline-block;
		text-align: center;
	}

		#giftcards_container a i {
			margin-left: 0.8em;
			display: inline-block;
		}

.giftcard_input_text {
	min-width: 300px;
	text-transform: uppercase;
	font-weight: bold;
	border: none;
	height: 40px;
}

.giftcard_input_button {
	background-color: var(--main-color);
	color: #fff;
	padding: 0px 20px;
	display: inline-block;
	border-radius: 4px;
	border: none;
	height: 44px;
	min-width: 160px;
	text-transform: capitalize;
	text-align: center;
}

.giftcard_close {
	position: absolute;
	top: 20%;
	font-size: 1.2em;
}

#fws-giftcard-busywait, #giftcardbusywait, #giftcardbusywaitfail, #giftcardbusywaitsuccess {
	display: none;
}

#giftcard_feedback {
	line-height: 38px;
	margin: 1em 0;
}

#giftcardh1 {
	margin-bottom: 1em;
}

#basket_giftcards_div {
	margin-top: 1em;
	cursor: pointer;
}

	#basket_giftcards_div span {
		text-decoration: underline;
	}

button.remove-giftcard {
	width: 30px;
	height: 30px;
	margin-left: 2em;
	cursor: pointer;
	margin-top: 0px;
}

#active_giftcards span {
	line-height: 2em;
	font-weight: bold;
}

div#active_giftcards {
	line-height:3em;
}

div#giftcardConfirm {
	display: none;
}

.confirm-btns {
	display: flex;
	justify-content: space-around;
	margin-top: 15px;
	cursor: pointer;
}

.confirm-btn img {
	width: 40px;
	height: 40px;
	cursor: pointer;
}

/* ========== Busy Overlay ========== */
#busy-overlay {
	position: fixed;
	inset: 0;
	display: none; /* shown via .is-active */
	align-items: center;
	justify-content: center;
	z-index: 99999; /* above everything */
	pointer-events: none; /* re-enabled on backdrop for click-block */
}

	#busy-overlay.is-active {
		display: flex;
		pointer-events: auto;
	}

/* Backdrop blocks interactions and dims page */
.busy-overlay__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.35);
	backdrop-filter: blur(1px);
}

/* Spinner container */
.busy-overlay__spinner {
	position: relative;
	width: 80px;
	height: 80px;
}

/* SVG sizing */
.busy-overlay__svg {
	width: 100%;
	height: 100%;
	transform-origin: center;
	animation: busy-rotate 1.2s linear infinite;
}

/* Track (faint circle) */
.busy-overlay__track {
	stroke: rgba(255,255,255,0.25);
}

/* Indicator (animated arc) */
.busy-overlay__indicator {
	stroke: #fff;
	stroke-dasharray: 125;
	stroke-dashoffset: 100;
	animation: busy-dash 1.2s ease-in-out infinite;
}

/* Rotate animation */
@keyframes busy-rotate {
	to {
		transform: rotate(360deg);
	}
}

/* Dash animation (swooshing arc) */
@keyframes busy-dash {
	0% {
		stroke-dashoffset: 110;
	}

	50% {
		stroke-dashoffset: 40;
	}

	100% {
		stroke-dashoffset: 110;
	}
}

/* Prevent scroll while overlay is active */
body.busy-no-scroll {
	overflow: hidden;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	.busy-overlay__svg {
		animation: none;
	}

	.busy-overlay__indicator {
		animation: none;
	}
}