@charset "ISO-8859-1";

.main .container h1 {
	margin:			20px 5px;
	font-size:		2.2em;
	font-weight: 	300;
}

.main .container .checkout-content-container{
	padding-right: 17px;
}

.main .container .checkout-basket-container{
	padding-left: 17px;
}

.main .container .checkout-section {
	background:		#fff;
	overflow:		hidden;
	border-radius:	4px;
	padding:  		15px 25px;
	margin:			0 0 25px;
}

	.main .container .checkout-section h2 {
		font-weight: 500;
	    font-size: 1.75em;
	    color: #0099ff;
	    padding: 0;
	    margin: 5px 0 15px;
	}

	.main .container .checkout-section .checkout-section-content {
	    padding: 0;
	    font-size: 1.2em;
	   	line-height: 1.2em;
	}
	
		.main .container .checkout-section .checkout-section-content p {
			margin: 0 0 5px;
		}
	
		.main .container .checkout-section .checkout-section-content p a {
			color: #0099ff;
		}
		
			.main .container .checkout-section .checkout-section-content p a:hover {
				color: #32abff;
			}
			
		.main .container .checkout-section .checkout-section-content form {
			margin: 5px 0;
    		text-align: center;
		}
		
@media (max-width: 767px){
	.main .container .checkout-section {
		padding:  		15px;
	}

	.main .container .checkout-content-container{
		padding-right: 5px;
	}
	
	.main .container .checkout-basket-container{
		padding-left: 5px;
	}
}

/*************************************
 * Basket Section
 */

.main .container .basket-section {
	padding:	0;
	background-color: transparent;
}

.main .container .basket-section table.basket {
	margin-bottom: 0;
	background-color: #eeeff3;
}

	table.table {
		--bs-table-bg: unset !important;
		border-radius: 1rem;
		overflow: hidden;
	}
	table.basket thead tr {
		background-color: #454545;
	}
		table.basket thead tr th {
			font-size:	 1.3em;
			font-weight: 700;
			padding:	 12px 15px 8px;
			border: 	 none;
			color:		 #fff;
		}		
		@media (min-width: 992px) {
			table.basket thead tr th:first-child,
			table.basket tbody tr td:first-child {
				padding-left: 25px;
			}
		}
		
	table.basket tbody {
		background-color: #eeeff3; 
	}
		table.basket tbody tr td {
			background-color: #fff;
			font-size:		 1.2em;
    		line-height: 	 1.2em;
			padding:		 20px 15px;
			border:			 none;
			overflow: 		 hidden;
		}
			table.basket tbody tr.basketItemRow:not(:first-child) td:first-child,
			table.basket tbody tr.basketDeliveryRow td:first-child { 
				border-top-left-radius: 3px; 
			}
			table.basket tbody tr.basketItemRow td:first-child,
			table.basket tbody tr.spacer-white td:first-child { 
				border-bottom-left-radius: 3px; 
			}
			table.basket tbody tr.basketItemRow:not(:first-child) td:last-child,
			table.basket tbody tr.basketDeliveryRow td:last-child { 
				border-top-right-radius: 3px; 
			}
			table.basket tbody tr.basketItemRow td:last-child,
			table.basket tbody tr.spacer-white td:last-child { 
				border-bottom-right-radius: 3px; 
			}
		
		table.basket tbody tr.basketComponentRow td:first-child {
			padding-left: 15px;
		}
		table.basket tr.basketComponentRow td.item {
			border-left: 5px solid #0099ff;
			overflow: visible;
		}
			table.basket tr.basketComponentRow td.item .item-image {
				padding: 5px;
			}
			@media (max-width: 767px) {
				table.basket tr.basketComponentRow td.item,
				table.basket tr.basketComponentRow td.options {
					border-left: 5px solid #0099ff;
				}
			}
		
		table.basket tbody tr.spacer td {
			padding: 10px;
			background-color: #eeeff3;
		}
		table.basket tbody tr.spacer-white td {
			padding: 2px;
			background-color: #fff;
		}
		
		table.basket tr td h3 {
		    margin-top: 10px;
		}
		
		table.basket tr td.item {
			width: 40%;
		}	
			table.basket tr td.item .item-title {
				font-size: 1.1em;
				word-wrap:break-word;
			}
				table.basket tr.basketComponentRow td.item .item-title {
					margin-top: 0;
				}
				table.basket tr td.item .item-image {
					margin-top: 10px;
				}
				table.basket tr td.item .item-details {
					padding: 0 0 0 5px;
				}
			
			table.basket tr td.item .item-details p:first-child {
				margin-bottom: 10px;
			}

			table.basket tr td.item .item-details .item-price {
				font-weight: 700;
			    font-size: 1.3em;
			    vertical-align: middle;
			}
			
			table.basket tr td.item .item-details .remove {
				color: #0099ff;    
				vertical-align: middle;
			}
				@media (max-width: 767px) {
					table.basket tr td.item .item-details .remove {
					    margin: 0;
					    margin-left: 10px;
					}
				}
				table.basket tr td.item .item-details .remove:hover {
				    color: #32abff;
				}
			
			table.basket tr td.item .item-details .remove span {
				background: #999999;
				border-radius: 3px;
				width: 16px;
				height: 16px;
				padding: 2px 0 0 0;
				font-size: 12px;
				vertical-align: text-top;
			}
				table.basket tr td.item .item-details .remove:hover span {
				    background: #32abff;
				}
				
				table.basket tr td.item .popover {
					z-index: 14;
				}
					table.basket tr td.item .popover h3 {
						padding: 8px;
						margin: 0;
					}
					table.basket tr td.item .popover .pushbutton-container {
						padding: 0 8px 8px;
					}
						table.basket tr td.item .popover .pushbutton-container .pushbutton {
							display: block;
						}

			table.basket tr td.item .item-details .item-desc {
			    margin: 4px 0 0;
			    line-height: 1.2em;
			    font-size: 0.9em;
			    clear: both;
			}

			table.basket tr td.item .item-details .item-addon-prompt {
			    border: 1px solid #0099ff;
				margin: 10px 10px 0 0;
				border-radius: 6px;
				padding: 10px;
				padding-right: 8px;
			}
				table.basket tr td.item .item-details .item-addon-prompt p { 
					line-height: 1.3em; 
					font-size: 0.95em;
					margin: 0; 
				}
			@media (max-width: 991px) {
				table.basket tr td.item .item-details .item-addon-prompt {
					margin-right: 0;
				}
			}

		table.basket tr td.options {
			width: 45%;
			position: inherit;
		}
			table.basket tr td.options .qty-option {
				height: 40px;
				margin-top: 10px;
				position: relative;
    			display: block;
			}
				table.basket tr td.options .qty-option .item-qty-header,
				table.basket tr td.options .qty-option .item-quantity,
				table.basket tr td.options .qty-option .qty-confirm {
					position: relative;
					top: 50%;
					transform: translateY(-50%);
					-webkit-transform: translate(0,-50%);		/* Compat: Safari */
				}
				
			table.basket tr td.options .item-qty-header {
				margin: 0;
				margin-right: 10px;
				float: left;
			}	
			
			table.basket tr td.options .item-quantity {
				max-width: 140px;
				width: 140px;		/* Compat: Safari */
				float: left;
			}
			
				table.basket tr td.options .item-quantity .input-group-btn {
					width: 38px;
				}
				
				table.basket tr td.options .item-quantity .btn {
					background-color: #0099ff;
					padding: 6px;
				}
					table.basket tr td.options .item-quantity .btn:hover {
						background-color: #32abff;
					}
					table.basket tr td.options .item-quantity .btn-disabled,
					table.basket tr td.options .item-quantity .btn-disabled:hover {
						background-color: #ddd;
						cursor: default;
					}
				
				table.basket tr td.options .item-quantity input {
					padding: 	6px 10px 4px;
					height:		34px;
					font-size:	1em;
				}
					table.basket tr td.options .item-quantity input:disabled {
						cursor: default;
					}
						
				table.basket tr td.options .qty-confirm {
					display: none;
					color:	#fff;
					background-color:#81c029;
			   		margin-left: 10px;
				}
					table.basket tr td.options .qty-confirm:hover {
						background-color:		#81c029;
					}
					
				table.basket tr td.options .checkbox,
				table.basket tr td.options .radio {
					border: 2px solid #e8e8e8;
					border-radius: 6px;
					background: #eeeff3;
					padding: 15px 5px;
					margin: 25px 0 10px;
				}					
				table.basket tr.basketDonationRow td.options .checkbox {
					margin: 10px 0;
				}		
					table.basket tr td.options .checkbox label, 
					table.basket tr td.options .radio label {
						margin: 0;
						padding: 0;
						color: #0099ff;
					}
					table.basket tr td.options .checkbox .option-label,
					table.basket tr td.options .radio .option-label {
						margin-left: 45px;
						cursor: default;
					}
					table.basket tr td.options .checkbox .option-label.label-sm,
					table.basket tr td.options .radio .option-label.label-sm {
						font-size: 0.95em;
					}
						table.basket tr td.options .checkbox .option-label a, 
						table.basket tr td.options .radio .option-label a {
							color: #0099ff;
						}
						table.basket tr td.options .checkbox .option-label label, 
						table.basket tr td.options .radio .option-label label {
							display: none;
						}
						table.basket tr td.options .warrantyCheckbox .option-label .option-price {
							color:#ffc823;
						}  
					table.basket tr td.options .checkbox input[type=checkbox],
					table.basket tr td.options .radio input[type=radio] {
						width: 25px;
						height: 25px; 
						margin-top: 0;
						margin-left: 10px;
						cursor: pointer;
					}  
						table.basket tr td.options .checkbox input[type=checkbox]:disabled,
						table.basket tr td.options .radio input[type=radio]:disabled {
							cursor: default;
						} 
					table.basket tr td.options .checkbox .info-popup-link,
					table.basket tr td.options .radio .info-popup-link {
						margin: 0;
    					margin-left: 45px;
						font-weight:400;
						line-height: 1.4em;
    					color:#454545;
					}
						table.basket tr td.options .checkbox .info-popup-link span.glyphicon,
						table.basket tr td.options .radio .info-popup-link span.glyphicon {
	    					color:#565656;
							font-size: 0.9em;
							width: 20px;
						}
					table.basket tr td.options .checkbox a.option-link,
					table.basket tr td.options .radio a.option-link {
						position:absolute;
						display:block;
						height:45px;
						width:45px;
						z-index:1;
					}

					table.basket tr td.options .postcode-check input,
					table.basket tr td.options .postcode-check .btn {
						display: none;
					}
					table.basket tr td.options .showHideBtn,
					table.basket tr td.options .postcode-check a.btn {
						color: #fff;
						background-color: #0099ff;
						padding: 6px;
						display:inline-block;
					}
						table.basket tr td.options .showHideBtn:hover,
						table.basket tr td.options .postcode-check .btn:hover {
							background-color: #32abff;
						}
					table.basket tr td.options .glyphicon-wrench {
						color:#e40000;
						float:right;
						font-size:1.4em;
						margin:2px;
					}
				@media (max-width: 767px) {
					table.basket tr td.options .checkbox input[type=checkbox],
					table.basket tr td.options .radio input[type=radio] {
						width: 35px;
						height: 35px;
						margin-left: 10px;
					}
					table.basket tr td.options .checkbox .option-label,
					table.basket tr td.options .radio .option-label {
						margin-left: 55px;
						width: 80%;
						width: calc(100% - 60px);
					}  
						table.basket tr td.options .checkbox .option-label .option-price,
						table.basket tr td.options .radio .option-label .option-price {
							font-weight: 700;
							float: right;
						}  
					table.basket tr td.options .checkbox .info-popup-link,
					table.basket tr td.options .radio .info-popup-link {
    					margin-left: 55px;
					}
				}

				table.basket tr td.options .warrantyCheckbox {
					border: 2px solid #0054a5;
					background-color: #0054a5;
					color: #fff;
				}
					table.basket tr td.options .warrantyCheckbox label,
					table.basket tr td.options .warrantyCheckbox .info-popup-link,
					table.basket tr td.options .warrantyCheckbox .info-popup-link span.glyphicon {
						color: #fff;
					}

				table.basket tr td.options .checkboxOLDPRODCOL {
					border: 2px solid #50a842;
					background-color: #fff;
				}
					table.basket tr td.options .checkboxOLDPRODCOL label {
						color: #50a842;
					}

				table.basket tr td.options .checkboxUNWRAP {
					border: 2px solid #abdef3;
					background-color: #fff;
				}
					table.basket tr td.options .checkboxUNWRAP label {
						color: #0054a5;
					}
				
				table.basket tr td.options .redundant,
				table.basket tr td.options .excluded {
					opacity: 0.6;
				}
				table.basket tr td.options .radio .hideRedundant,
				table.basket tr td.options .checkbox .hideRedundant {
					display: inline;
				}
					table.basket tr td.options .redundant .hideRedundant {
						display: none;
					}
				table.basket tr td.options .radio .showRedundant,
				table.basket tr td.options .checkbox .showRedundant,
				table.basket tr td.options .checkbox .excludeReason {
					display: none;
				}
					table.basket tr td.options .redundant .showRedundant,
					table.basket tr td.options .excluded .excludeReason {
						display: inline;
					}
				table.basket tr td.options .checkbox .redundantBy,
				table.basket tr td.options .checkbox .excludeReason {
					font-weight: 700;
					margin-left: 4px;
				}

				@media(max-width: 992px) and (min-width:768px) {
					table.basket tr td.options .checkbox .serviceRedundancy {
						margin-left: 10px;
					}
				}
				
				/* noscript prices appear in the options column */
				table.basket tr td.options .qty-option .noscript-price,
				table.basket tr td.options .checkbox .noscript-price, 
				table.basket tr td.options .radio .noscript-price {
				    position: absolute;
				    right: -120px;
				    top: 10px;
				    font-weight: 700;
				}
				table.basket tr td.options .qty-option .noscript-price {
				    top: -10px;
				    font-size: 1.4em;
				}
				
			table.basket tr.basketComponentRow td.options .checkbox:first-of-type {
				margin-top: 0;
			}
				
		table.basket tr td.price {
			width: 15%;
			font-size: 1.3em;
			font-weight: 700;
		}
		table.basket tr.basketItemRow td.price,
		table.basket tr.basketDeliveryRow td.price {
			visibility: hidden;
		}
			table.basket tr td.price div:not(.item-price) {
				border: 1px solid #fff;
				margin: 25px 0 10px;
				padding: 15px 0;
			}				
				table.basket tr.basketDonationRow td.price div:not(.item-price) {
					margin: 10px 0;
				}		
				table.basket tr.basketComponentRow td.price div:first-of-type {
					margin-top: 0;
				}
			table.basket tr td.price div p {
				margin-top:0;
				position: relative;
				top: 50%;
				transform: translateY(-50%);
				-webkit-transform: translate(0,-50%);		/* Compat: Safari */
			}
			
			table.basket tr td.price .item-price {
				height: 40px;
				font-size: 1.4em;
    			margin-top: 10px;
			}
			
			table.basket tr td.price div.redundant {
				opacity: 0.5;
			}
			table.basket tr td.price div .hideRedundant {
				display: block;
			}
				table.basket tr td.price div.redundant .hideRedundant {
					display: none;
				}
			table.basket tr td.price div .showRedundant {
				display: none;
			}
				table.basket tr td.price div.redundant .showRedundant {
					display: block;
				}
				
			table.basket tr td.price h4.subtotal {
			    font-size: 1.25em;
			}
				
		table.basket tr td.options #standard-delivery,
		table.basket tr td.price #standard-delivery-price {
			margin-top: 10px;
		}
		
		table.basket tr td.options #collection-note {    
			padding-right: 10px;
			float: right;
		}

		@media(min-width:768px) {
			table.basket tr#discounts td {
				padding-top: 0;
			}
		}
		table.basket tr#discounts td.titles p {
			 line-height: 1.4em;
			 margin: 10px 0 0;
		}
		table.basket tr#discounts td hr {
			margin: 10px 0 15px;
			border-color: #e8e8e8;
		}
			table.basket tr#discounts td.values hr {
				border-color: #fff;
			}
			table.basket tr#discounts td.values div {
				margin: 10px 0 0;
				padding: 0;
			}
			table.basket tr#discounts td hr:last-of-type {
			    display: none;
			}

		table.basket tr#discounts td .remove {
		    margin: 0 25px; 
		}
		
		table.basket tr#discounts td .remove span {
		    background: #0099ff;
			border-radius: 3px;
			width: 18px;
			height: 18px;
			padding: 2px 1px 0 0;
			font-size: 14px;
		}
			table.basket tr#discounts td .remove:hover span {
			    background: #32abff;
			}
			
		table.basket #promolink {
			cursor: pointer;
			text-transform:uppercase;
			padding-left: 0;
		}	

		#promolink a {
			color:#454545;
			font-weight:700;
		}
		
		table.basket #promolink a {
			display:inline-block;
			padding:0;
			margin:8px 0;
			font-size: 1.1em;
			font-weight:700;
			color: #0099ff;	
		}
			table.basket #promolink a span {
				color: #0099ff;	
			}
		@media(max-width:992px) {
			table.basket #promolink a {
				margin-top:-4px;
			}
		}

		@media(max-width:767px) {
			table.basket #promolink {
				padding-bottom:0px;
			}
			table.basket #promocode .btn {
				margin-top:5px;
			}
		}

		table.basket #promocode input {
			font-weight:700;
			text-transform:uppercase;
		}
		@media(min-width:768px) {
			table.basket #promocode input {
				max-width:200px;
				padding: 6px 10px;
			}
		}

		table.basket #promocode,
		table.basket #promo-message {
			margin:0 -5px -10px;
			padding:5px 0;
		}
		
		table.basket #promocode .btn {
			color: #fff;
			font-weight:700;
			background-color: #0099ff;
			padding: 7px 14px;
			border: none;
		}
			table.basket #promocode .btn:hover {
				background-color: #32abff;
			}
			
		table.basket #promo-message p {
			color: #e40000;
		    margin: -4px 0;
		}
			
		table.basket tr td .grand-total-header {
			font-size: 1.8em;
			font-weight: 700;
			text-align: right;
			line-height: 48px;
			padding: 0;
		}
			
		table.basket tr td#grand-total {
			font-size: 2em;
			font-weight: 700;
		    line-height: 48px;
		}

	table.basket tbody tr#totalRow td,
	table.basket tbody tr#deposit td {
		background-color: #eeeff3;
	
	}
		table.basket tbody tr#deposit td {
			padding-top: 0;
		}
		table.basket tbody tr#deposit td h3 {
			float:right;
			line-height: 1.5em;
		}
	@media (min-width: 768px) {
		table.basket tbody tr#totalRow td,
		table.basket tbody tr#deposit td {
			padding-bottom: 0;
		}
	}

/* Stack rows vertically on xs */
@media (max-width: 767px) {
	/* Get table cells to act like rows */
	table.basket:not(.empty) tbody tr,
	table.basket:not(.empty) tbody tr td {
		display: block;
		width: 100% !important;
	}
	table.basket:not(.empty) tbody tr:not(#totalRow):not(#deposit),
	table.basket:not(.empty) tbody tr:not(#totalRow):not(#deposit) td {
		border-bottom: 1px solid #ddd;
	}
	table.basket tbody tr + tr:not(.basketComponentRow):not(.spacer-white):not(#deposit) {
		margin-top: 2em;
	}
	table.basket tbody tr.spacer {
		display: none;
	}
	table.basket tr td.price {
		visibility: visible;
	}
}

/*Zip Widget*/
.basket-section .barclaysFinanceWidget {
	margin: auto;
	padding: 15px 20px;
    max-width: 100%;
}
div.info-popup-paypalcredit {
	color:#fff;
	border: 2px solid white;
	border-radius: 5px;
}
	.checkout-section div.info-popup-paypalcredit .info-popup-body h2 {
		font-size: 2em;
		font-weight: 300;
		color:#fff;
		text-align: center;
	}
	div.info-popup-paypalcredit .info-popup-body p {
		text-align: center;
		line-height: 1.2em;
		margin-top: 5px;
		font-weight: 300;
	}
		div.info-popup-paypalcredit .info-popup-body p.instalmentOffer {
			font-size: 1em;
			padding-bottom:2px;
		}
	div.info-popup-paypalcredit .info-popup-body a {
		color:#fff;
		font-weight: 500;
		text-decoration:underline;
	}
	div.info-popup-paypalcredit .info-popup-body p small {
		font-size: 75%;			
	}
.info-popup-paypalcredit .info-popup-body,
.basket-section .paypalCreditWidget {
	background-color: #194493; /* For browsers that do not support gradients */
	background: linear-gradient(to right, #1970b6, #194493);
	background: -webkit-linear-gradient(to right, #1970b6, #194493);
	background: -o-linear-gradient(to right, #1970b6, #194493);
	background: -moz-linear-gradient(to right, #1970b6, #194493);
}
.basket-section .zip-widget__wrapper {
	padding: 8px 10px 10px 15px;
	max-width: 350px;
	margin: auto;
	text-align: right;
}
.basket-section .paypalCreditWidget {
	padding: 8px 15px 10px 18px;
	border-radius: 4px;	
	margin: auto;
	margin-bottom: 5px;
	max-width: 350px;
	text-align: left;
}
.basket-section .financeWidget,
.basket-section .openpayBox {
	padding: 0 10px 0 15px;
	background: #f5f5f5;
	border-radius: 4px;	
	margin: auto;
	margin-bottom: 5px;
	max-width: 350px;
	border: 1px solid #dbdcde;
}
	.basket-section .financeWidget  {
		padding: 8px 13px 10px;
	}
.basket-section afterpay-placement,
.basket-section #clearpayWidget {
	text-align: center;
	margin-block-start: 5px;
	margin-block-end: 5px;
	font-family: 'Roboto', Arial, Helvetica, serif;
	max-width: 420px;
	margin: auto;
}
.basket-section klarna-placement {
    text-align: center;
	display: block;
	max-width: 350px;
	margin:auto;
	margin-bottom:5px;
}
	.basket-section klarna-placement div {
		margin-bottom: 5px;
		max-width: 350px;
	}
.basket-section .financeWidget {
	background: #fff;
	border: 1px solid #dbdcde;
	font-size: 0.95em;
}
.basket-section .financeWidget .financeWidgetLogo,
.basket-section .paypalCreditWidget .paypalCreditWidgetLogo {
	float: left;
	margin-top: 5px;
	margin-right: 10px;
	margin-bottom: 5px;
}
	.basket-section .paypalCreditWidget .paypalCreditWidgetLogo img {
		max-width: 80px;
	}
	.basket-section .financeWidget .financeWidgetLogo img {
		max-width: 85px;
	}
.basket-section .financeWidget .financeWidgetText {
	line-height: 1.3em;
	margin-top: 8px;
}
.basket-section .paypalCreditWidget .paypalCreditWidgetText {
	line-height: 1.5em;
	color:#fff;
}
	.basket-section .paypalCreditWidget .paypalCreditWidgetText .info-popup-link {
		color:#fff;
		font-weight: 300;
		text-decoration: underline;
	}

#basketForm .basket-section .financeWidget,
#basketForm .basket-section .paypalCreditWidget,
#basketForm .basket-section .zip-widget__wrapper,
#basketForm .basket-section .paypal-banner-container,
#basketForm .basket-section .openpayBox {
	margin-right: 0;
}
#basketForm .basket-section afterpay-placement,
#basketForm .basket-section #clearpayWidget {
	text-align: right;
}
#basketForm .basket-section klarna-placement {
    text-align: right;
}
@media (max-width: 767px) {
	.checkout-section div.info-popup-paypalcredit .info-popup-body h2 {
		font-size: 1.7em;
	}
	#basketForm .basket-section .financeWidget,
	#basketForm .basket-section .paypalCreditWidget,
	#basketForm .basket-section .zip-widget__wrapper,
	#basketForm .basket-section .paypal-banner-container,
	#basketForm .basket-section .openpayBox,
	#basketForm .basket-section klarna-placement {
		margin-left: 15px;
		text-align: left;
	}
	#basketForm .basket-section afterpay-placement, 
	#basketForm .basket-section #clearpayWidget {
		margin-left: 20px;
		text-align: left;
	}
}

/*************************************
 * Basket Summary (condensed)
 */

	
table.basket-summary thead tr th,
table.basket-summary thead tr th:first-child {
	padding:	 8px 20px 5px
}
table.basket-summary tbody tr td,
table.basket-summary tbody tr th:first-child {
	font-size:		 1em;
  	line-height: 	 1em;
	padding:		 10px; 
}
	
table.basket-summary tr.basketComponentRow td.item {
	border-left: 5px solid #0099ff;
}
	table.basket-summary tr.basketComponentRow td.item .item-image {
		margin-top: 0;
		padding: 0;
	}
	@media (max-width: 767px) {
		table.basket-summary tr.basketComponentRow td.options {
			border-left: 5px solid #0099ff;
		}
	}

table.basket-summary tbody tr.spacer td {
	padding: 5px;
}

table.basket-summary tr td.item {
	width: 45%;
}	

@media(max-width: 992px) and (min-width:768px) {
	table.basket-summary tr td.item  p {
		max-width: 88px;
		word-wrap:break-word;	
	}
}

	table.basket-summary tr td.item .item-title,
	table.basket-summary tr td h3
	{
		font-size: 1em;
		line-height: 1.1em;
	}
		
table.basket-summary tr td.options {
	width: 40%;
}
	table.basket-summary tr td.options .qty-option {
		margin-top: 0;
		height: 30px;
	}
	table.basket-summary tr td.options .checkbox, 
	table.basket-summary tr td.options .radio {
		padding: 5px;
		margin: 5px 0 10px;
		border-width: 1px;
		border-radius: 3px;
		background-color: #eeeff3;
	}
		table.basket-summary tr td.options .checkbox input, 
		table.basket-summary tr td.options .radio input {
			display: none;
		}
		table.basket-summary tr td.options .checkbox label, 
		table.basket-summary tr td.options .radio label {
			color: #454545;
			cursor: default;
		}
		
		table.basket-summary tr td.options .checkbox .option-label, 
		table.basket-summary tr td.options .radio .option-label {
			margin: 0;
			padding: 0;
			line-height: 1.1em;
			font-size: 0.95em;
			width: 100%;
		}
			table.basket-summary tr td.options .checkbox .option-label label, 
			table.basket-summary tr td.options .radio .option-label label {
				display: inline;
			}
			table.basket-summary tr td.options .warrantyCheckbox .option-label .option-price {
				color:#454545;
				margin-top: -13px;
				text-align: right;
			}
			
		/* noscript prices appear in the options column */
		table.basket-summary tr td.options .qty-option .noscript-price,
		table.basket-summary tr td.options .checkbox .noscript-price, 
		table.basket-summary tr td.options .radio .noscript-price {
		    right: -90px;
		    top: -5px;
		}
		table.basket tr td.options .qty-option .noscript-price {
		    font-size: 1.2em;
		}
		
table.basket-summary tr td.price {
	font-size: 1.05em;
}
	table.basket-summary tr td.price .item-price {
		height: 30px;
		font-size: 1.2em;
  		margin-top: 0;
	}		
	table.basket-summary tr td.price div:not(.item-price) {
		margin: 5px 0 10px
	}
	table.basket-summary tr.basketDonationRow td.price div:not(.item-price) {
		margin: 5px 0;
	}
	table.basket-summary tr td.price .warranty-price {
		min-width: 75px;
	}
	
table.basket-summary tr#discounts td.titles p,
table.basket-summary tr#discounts td.values p {
	margin-top: 5px;
	line-height: 1.1em;
}
table.basket-summary tr#discounts td.values div {
	margin: 0;
}
table.basket-summary tr#discounts td hr {
	margin: 6px 0;
	border-color: #e8e8e8;
}
	
table.basket-summary tr td .grand-total-header,
table.basket-summary tr td#grand-total {
	font-size: 1.4em;
}

/*************************************
 * D&G Warranty
*/

table.basket tr td.options .warrantyCheckbox {
	background-color: #D4EEC080;
	border: 1px solid #1D8D08;
	border-radius: 3px;
}

table.basket tr td.options .warrantyCheckbox .option-label label {
	font-weight: 700;
}

table.basket tr td.price .warranty-price .cancel-anytime {
	background-color: #D4EEC080;
	border: 1px solid #0C54002E;
	border-radius: 5px;
	font-size: 0.6em;
	padding: 5px;
}

table.basket tr td.options .dg-direct-debit {
	font-size: 0.75em;
}

table.basket tr td.options .dg-direct-debit i {
	color: #0099ff;
}

/*************************************
 * Basket Page
 */	
 
.main .container .warnings-section {
	text-align: center;
}
	.main .container .warnings-section h3 {
		font-weight:700;
		font-size:1.25em;
	}
	.main .container .basket-warnings .basket-video {
		text-align: center;
		padding: 0 5px;
	}
		.main .container .basket-warnings .basket-video img {
			margin: auto;
		}

 	.main .container .checkout .checkout-payment-options {
 	 	text-align: center;
 	}
		.main .container .checkout .checkout-payment-options h3,
		.main .container .checkout .checkout-payment-options img {
			margin: 0 8px 8px;
			display:inline;
	 	}
.main .container .checkout .checkout-payment-options img.paymentOptionLogo {
    max-height:60px;
    padding:0px 10px;
    margin-top:5px
}
.main .container .checkout .checkout-buttons {
	text-align: center;
	margin: 0 0 20px;
}
	.main .container .checkout .checkout-buttons p,
	.main .container .checkout .checkout-buttons button {
		display:inline;	/* Compat: Safari */   
	}
.main .container .checkout .checkout-buttons .payment-or {
	margin: 0 20px;
	display: inline-block;
}
.main .container .checkout .paypalButton {
	display: inline-block;
}
	@media (max-width: 991px) {
		.main .container .checkout .checkout-buttons .payment-or {
			margin: 15px 0;
			width: 100%;
		}
	}
#basketForm .checkout-buttons button,
#paypal-button-container {
	width:330px;
}
	#paypal-button-container iframe {
		z-index:10;
	}
.main .container .checkout #finance-summary {
	margin-bottom: 10px;
}
 
.main .container .feedback {
	background-color: transparent;
	padding-top: 0;
	padding-bottom: 0;
	text-align: center;
}
	.main .container .feedback h2 {
		color: #454545;
	}
	.main .container .feedback h2 img {
		display: inline;
		vertical-align: bottom;
	}
 
/*  Home-esesential CSS has been updated with new .home-essential-and-cart-recs class. PM - 04/06/2021 */
/* .main .container .home-essentials {
	border:	2px solid #0099ff;
	text-align: center;
}
	.main .container .home-essentials h2 {
		background-color: #0099ff;
		color: #fff;
		margin: -15px -25px 0;
		padding: 10px 20px;
	}
	.main .container .home-essentials .cell {
	 	text-align: center;
	 	padding: 10px 20px
	}
	.main .container .home-essentials .cell .price{
	    font-size: 0.9em;
	    padding-top: 1.5em;
	}
		.main .container .home-essentials .cell .price span {
		 	font-size: 1.8em;
    		font-weight: 500;
		}
 
	.main .container .home-essentials .cell h4 {
		 height: 3.2em;
		 overflow: hidden;
		 margin-top: 5px;
	}
		.main .container .home-essentials .cell h4 a {
			position: relative;
			display: block;
			top: 50%;
			transform: translateY(-50%);
			-webkit-transform: translate(0,-50%);		
		}
		
	.main .container .home-essentials .cell .pushbutton {
		 max-width: 200px;
	}

	@media (max-width: 992px) {
		.main .container .home-essentials .cell .image-link {
		 	padding: 0;
		}
		.main .container .home-essentials .cell .price {
		 	padding: 20px 0 0;
		}
		.main .container .home-essentials .cell .price span {
		 	font-size: 1.4em;
		}
		.main .container .home-essentials .cell h4 {
			 height: 4.2em;
		}
	}
	
	@media (max-width: 500px) {
		.main .container .home-essentials .cell {
		 	padding: 10px;
		}
	} */


		
/*************************************	
 * Checkout Progress Breadcrumbs 
 */
.checkoutProgress {
	list-style: none;
	margin-top: 20px;
	margin-bottom: 20px;
}
	.checkoutProgress li {    
	    background-color: #d8d8d8;
	    text-align: center;
		width: 20%;		 /* Compat: Safari - calc/-webkit-calc not suppported. Won't fill width of page on Safari */ 
	    width: calc(25% - 1.2em);
	    margin-right: 1.2em;
	    height: 32px;
	}	
	.collectionProgress li {    
	    width: 45%;		/* Compat: Safari - calc/-webkit-calc not suppported. Won't fill width of page on Safari */ 
	    width: calc(50% - 1.2em);
	}
	.paypalProgress li {    
	    width: 28%;		/* Compat: Safari - calc/-webkit-calc not suppported. Won't fill width of page on Safari */ 
	    width: calc(33% - 1.2em);
	}
		.checkoutProgress li:after, 
		.checkoutProgress li:before {
		    content: "";
		    border-top: 16px solid transparent;
		    border-bottom: 16px solid transparent;
		    position: absolute;
		}
			.checkoutProgress li:before {
			    border-left: 15px solid #eeeff3;
			    bottom: 0;
			    left: 0;
			}
			.checkoutProgress li:after {
			    border-left: 15px solid #d8d8d8;
			    top: 50%;
			    margin-top: -16px;
			    right: -15px;
			}
		
		.checkoutProgress li a, 
		.checkoutProgress li span {
		    font-size: 1.2em;
		    color: #fff;
		    display: block;
		    padding: 4px 10px;
		}
		@media (max-width: 767px) {
			.checkoutProgress li a, 
			.checkoutProgress li span {
			    font-size: 1em;
			    padding: 0;
			    padding-left: 10px;
			    line-height: 1.5em;
			}
		}
		
	.checkoutProgress li.visited {    
	    background-color: #3fb6f3;
	}		
		.checkoutProgress li.visited:after {
			border-left: 15px solid #3fb6f3;
		}
	.checkoutProgress li.active {    
	    background-color: #0099ff;
	}
		.checkoutProgress li.active:after {
			border-left: 15px solid #0099ff;
		}
		


/*************************************	
 * Checkout Form
 */

#delivery-form .GDPR-tip-trigger,
#payment-billing-form .GDPR-tip-trigger {
	padding:6px 5px;
	border-top-right-radius:5px;
	border-bottom-right-radius:5px;
	border-left:0;

}

#delivery-form .GDPR-tip-trigger:hover + noscript .GDPR-tip.GDPR-noscript {
	display:inline-block;
}

.checkout-section .form-group.card-type-container{
	margin-bottom: 15px;
}

.checkout-section .form-group {
	font-size:			 0.9em;
	margin-bottom: 		 5px;
}

.checkout-section .form-group select {
	line-height:28px;	/* Compat: Safari */
}

	.checkout-section .form-group label {
		margin: 12px 0 0 5px;
    	line-height: 1em;
		padding-right:10px;
	}
		@media (max-width: 991px) {
			.checkout-section .form-group label {
				margin: 0;
			}
		}
	
	.checkout-section .form-group .input-group-addon {
	    background-color: #d8d8d8;
	    font-size: 16px;
	}
	
	.checkout-section .form-group .form-control-feedback {
		line-height: 42px;
		width: 34px;
	}

	.checkout-section .form-group .form-control-feedback.GDPR-tip-input {
		right:30px;
	}
	.checkout-section .form-group .input-group #what3words {
		display: none;
	}
	.checkout-section .form-group .input-group what3words-autosuggest {
		width: 100%;
	}
	.checkout-section .form-group .input-group .what3words-autosuggest_input {
		border-top-right-radius: 4px;
		border-bottom-right-radius: 4px;
	}

.checkout-section .error {
	background-color:	 #fdaaaa;
}

.checkout-section p.error {
	padding:			 4px;
}

em.required {
	color:				 #ff0000;
	font-weight:		 700;
}

li.wide-li {
	list-style-type: none;
}

.checkout-section textarea {
	margin-left:		 10px;
}
	
#delivery-form .delivery-section {
	overflow: visible;
}

.express-checkout .button-container{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	align-items: center;
}

.stumpy {
	padding-right:1px;
}
.stumpy .pcaAutoComplete .pnlAutoComplete {
	max-width: 520px;
}
/* Note: have added x-index inline to [.stumpy .pcaAutoComplete] as it doesn't seem to work via css (assuming due to js rewriting)  */
.stumpy .pcaAutoComplete,
.stumpy .pcaAutoComplete .pnlAutoComplete,
.stumpy .pcaAutoComplete .pnlAutoComplete .pcaContent,
.stumpy .pcaAutoComplete .pnlAutoComplete .bottom,
.stumpy .pcaAutoComplete .pnlResults,
.stumpy .pcaAutoComplete .pnlResults .pcaContent,
.stumpy .pcaAutoComplete .pnlResults .bottom {
	z-index: 5;
}

#info-popup-deliveryoptions h4 {
	display: none;
}
#info-popup-deliveryoptions p {
	padding: 5px 0;
    margin: 0;
}

#deliveryDateDescription {
	margin-top: 20px;
}

#deliveryDateInput {
	margin: 5px 30px;
}
	@media (max-width: 767px){
		#deliveryDateInput {
			margin: 5px 0;
		}
	}
.deliveryDate {
	margin-top:20px;
}
	.deliveryDate label {
		font-weight:700;
	}
	.deliveryDate select {
		font-size:1.1em;
		max-width:550px;
	}
	.deliveryDate a.info-popup-link {
		margin-left:32px;
	}

.deliveryNote {
	margin-top:20px;
}
	.deliveryNote label {
		font-weight:700;
	}
	.deliveryNote textarea {
		width:90%;
		height:100px;
		margin:15px 5%;
		resize: vertical;
	}

#accessRequirements  {
	width:90%;
	margin-left: 5%;
	margin-right: 5%;
	font-size: 0.95em;
}
	#accessRequirements .panel-heading  {
		margin-bottom: 10px;
		color: #e40000;
	}
		#accessRequirements .panel-heading h3  {
			font-size: 1em;
			font-weight: 700;
		}
	#accessRequirements .row  {
		padding: 0 15px 5px;
	}

.delivery-notice {
	border:1px solid #ffa500;
	background-color:#ffffaa;
	padding:1em;
}

.delivery-notice a {
	text-decoration:underline;
	font-weight:bold;
}

.deliveryDateNoService ul{
	padding: 0;
	display: block;
	list-style-type: disc;
	width: 80%;
	margin-left: 96px;
}
	.deliveryDateNoService ul li{
		padding-left: 0;
		margin-left: 0;
	}
	
.checkout-section .customer-details h3 {
	font-weight: 700; 
}

.checkout-section .customer-details.paypal-delivery {
	background:#eeeff3; 
	padding:1px 10px 6px; 
	border-radius:5px;
}

.checkout-section .customer-details #changeShipAddress,
.checkout-section .customer-details #changePayment {
	color:#0099ff;
	cursor: pointer;
}

.payment-choice {
	border:2px solid #cccccc;
	border-radius:6px;
	padding:7px 10px;
	margin:0 2px 15px;
}
	.payment-choice p {
		clear:both;
	}
	.payment-choice input[name='paymentType'] {
		width: 24px;
	    height: 24px;    
	    vertical-align: sub;
	    cursor: pointer;
	}
	.payment-choice .paymentPanel {
		margin-left:20px;
	}
	@media (max-width: 991px) {
		.payment-choice .paymentPanel {
			margin-left:10px;
		}
	}
	@media (max-width: 767px) {
		.payment-choice .paymentPanel {
			margin-left:0;
		}
	}
	.payment-choice .paymentPanel p {
		font-size: 0.9em;
		line-height: 1.3em;
	}
	
.payment-choice label.paymentOption {
	font-size:			1.4em;
	font-weight:		700;
}

.payment-choice .paymentOptionLogo {
	float: 				right;
	border:				0;
	padding:			0;
	margin:				0;
	max-height:         35px;
	max-width:100%;
}

.payment-choice .vyne-promo {
	display: flex;
	flex-direction: column;
}

.payment-choice .vyne-promo .vyne-promo-details {
	padding: 10px;
	background-color: #1E0E41;
	border-radius: 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 10px 0;
}

.payment-choice.checked .vyne-promo .vyne-promo-details {
	display: none;
}

.payment-choice .vyne-promo .vyne-promo-details .promo-text {
	color: #ADA2FB;
	font-weight: 700;
	margin-bottom: 0 !important;
}

.payment-choice #formPanelVyne .vyne-promo-panel {
	padding: 20px;
	background-color: #1E0E41;
	border-radius: 5px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	margin-top: 10px;
}

.payment-choice #formPanelVyne .vyne-promo-panel .vyne-logo {
	margin-bottom: 10px;
}

.payment-choice #formPanelVyne .vyne-promo-panel .promo-text {
	color: #ADA2FB;
	margin-bottom: 0 !important;
	text-align: center;
}

.payment-choice #formPanelVyne .vyne-promo-panel .promo-text .bold {
	font-weight: 700;
	font-size: 16px;
}

.payment-choice .cardDateR,
.payment-choice .cardDateL {
	padding:			0;
}
@media (min-width: 992px) {
	.payment-choice .cardDateR {
		padding-left: 5px;
	}
	.payment-choice .cardDateL {
		padding-right: 5px;
	}
}

.checkout-section .terms {
	font-size: 1.15em;
	text-align: center;
	margin-bottom: 0px;
}
	.checkout-section .terms label,
	.checkout-section .terms .checkbox {
		margin: 0;
	}
	.checkout-section .terms input {
		width: 20px;
		height: 20px;
		margin: 0;
		vertical-align: text-bottom;
		margin-right: 5px;
		cursor: pointer;
		position: relative;
	}
	.checkout-section .terms a {
		font-weight:700;
		color:#0099ff;
		cursor: pointer;
	}
	.checkout-section .terms .help-block {
		font-weight:700;
		font-size: 1.1em;
		color: #f00;
	}
.checkout-section .postcode-request-error {	
	font-weight: 700;
	color: #f00;
	font-size: 1.05em;
}
.checkout-section .paypal-complete {	
	font-weight: 700;
    color: #e40000;
    font-size: 1.05em;
}

.order-confirmation #refman .form-group {
	margin: 0;
}
.order-confirmation #refman label {
    margin: 0;
}
	@media (max-width: 991px){
		.order-confirmation #refman label {
		    margin-top: 4px;
		}
	}
	

.claim-block {
	text-align:center;
}
	.claim-block img {
		width:100%;
	}
.claim-block a {
		display:inline-block;
	}
	.claim-block img {
		width: 100%;
	}
.claim-block .claim-title {
	padding:0;
	margin:0;
	font-weight:500;
	font-size:1.2em;
	line-height:1.6em;
}	

#delivery-charges {
	text-align:right;
	margin:-10px 0 10px;
}

.customer-details h3 {
	margin:0;
}

.checkout-section .pushbutton,
.checkout-section .pushbutton-container .pushbutton {
	display:inline-block;	/* Compat: Safari (doesn't centre without this) */
	font-family: 'Roboto', Arial, Helvetica, serif;
}
	#referral-form .pushbutton-container .pushbutton.disabled,
	.checkout-section .pushbutton-container .pushbutton.disabled {
	    cursor: not-allowed;
	    filter: alpha(opacity=65);
	    -webkit-box-shadow: none;
	    box-shadow: none;
	    opacity: .65;
	}
	
@media (max-width: 767px){
	.checkout-buttons .pushbutton-container .pushbutton {
		font-size: 1.2em;
	}
}

#remove-warranties {
	display: block;
}

.consent-table-container {
	display:table;
	background:#eeeff3;
	border:1px solid #e8e8e8;
	border-radius:4px;
	/*margin:15px 20px;*/
	margin:10px 0;
	font-size:0.9em;
}

.consent-payment {
	border:2px solid #cccccc;
	border-radius:6px;
	padding:10px;
	margin:0 0 15px;
}

.consent-payment .consent-table-container {
	margin:10 auto;
	width:100%;
}


.consent-table-container h3 {
	padding:10px 10px 0;
	margin:0;
	text-align:left;
	/* text-decoration:underline; */
	font-weight:700;
}

.consent-table-container h2 {
	padding:10px 10px 0;
	margin:0;
	text-align:left;
	/* text-decoration:underline; */
	font-weight:700;
}

.consent-row {
	display:table-row;
}

div.consent-row > .consent-cell {
	border-bottom:2px dotted #cccccc;
}

div.consent-row:last-child > .consent-cell {
	border-bottom-width:0px;
}

.consent-table-caption {
	caption-side: top; display: table-caption; text-align: center;
}

.consent-cell {
	display:table-cell;
	vertical-align:middle;
	padding:5px 10px;
}

.consent-message {
	padding-right:5%;
}

.consent-controls {
	width:158px;
}

.consent-save {
	border-color:#e40000;
}

.consent-button {
	display:inline-block;
	border: 2px solid #aaa;
	width:65px;
	height:30px;
	border-radius:4px;
	margin-top:0px;
	background:#ddd;
	font-weight:700;
	color:#777;
	margin:2px;
}

@media (max-width:585px) {
	.consent-cell,
	.consent-row,
	.consent-table {
		display:block;
	}

	.consent-table-container {
		border:0px;
		border-radius:0;
		background:none;
		margin-bottom:10px;
	}

	
	div.consent-row {
		border:1px solid #e8e8e8;
		border-radius:5px;
		background-color:#eeeff3;
		margin-bottom:10px;
	}

	div.consent-row > .consent-cell.consent-message,
	div.consent-row > .consent-cell.consent-controls {
		border-bottom:none;
	}

	.consent-controls {
		width:100%;
		text-align:center;
		padding:0;
		border-bottom-width:10px;
	}

	.consent-button {
		width:50%;
		margin:0;
		border-radius:0;
		border-width:1px 0 0;
		border-color:#cccccc;
	}
	.consent-button.yes {
		border-right-width:1px;
	}

}

/* Start consent-container using flex - pm - 08/06/21 */
.consent-container{
    display: flex;
    width: 100%;
    padding: 10px;
    justify-content: space-between;
}

.consent-container span{
    width: 85%;
}
.consent-container .checkbox{
    height: 16px;
    width: 16px;
    width: 10%;
    margin: 0px;
}
.checkout-section-content .age-consent-container{
    border-top: 2px dotted #cccccc;
}
.age-consent-container .title{
    padding: 10px;
}

#age-consent-section{
    text-align: center;
}

#age-consent-section input[type=checkbox] {
    vertical-align: middle;
    float: right;
    height: 16px;
    width: 16px;
    margin: auto;
    margin-left:5px;

}
#age-consent-section label {
    display: block;
    overflow: hidden;
    width: 320px;
    margin: auto;
}

/* End consent-container using flex - pm - 08/06/21 */


.consent-button:hover,
.consent-button:focus {
	background:#d8d8d8;
	outline:none;
}

.consent-button:focus {
	border-color:#ccc;
}

.consent-button.active {
	color:#444;
}

.consent-button.no.active,
.consent-button.no.active:hover,
.consent-button.no.active:focus {
	background:#f88;
}

.consent-button.yes.active,
.consent-button.yes.active:hover,
.consent-button.yes.active:focus {
	background:#8f8;
}

label.consent-checkbox-label {
	float:left;
	width:92%;
	padding:10px 10px 5px;
}
input.del {
	margin: 20px 5px 0;
	height: 16px;
	width: 16px;
}

.checkout-section .terms .label-button,
.label-button {
	border:2px solid #aaa;
	border-radius:4px;
	margin:2px;
	width:65px;
	height:30px; 
	line-height:28px;
	font-size:14px;
	text-align:center;
	font-weight:700;
	background-color:#ddd;
	color:#777;
	cursor:pointer;
}


.label-button:focus {
	border-color:#ccc;
	outline:none;
	background:#d8d8d8;
}

.hidden-button:checked +label.green {
	background-color:#8f8;
	color:#444;
}

.hidden-button:checked +label.red {
	background-color:#f88;
	color:#444;
}

.hidden-button {
	display:none;
}

@media (max-width:585px) {
	.checkout-section .terms .label-button,	
	.label-button {
		width:50%;
		margin:0;
		border-radius:0;
		border-width:1px 0 0;
		border-color:#cccccc;
	}
	
	.checkout-section .terms .label-button:first-of-type,
	.label-button:first-of-type {
		border-right-width:1px;
	}

}

#accessform  {
	font-size: 0.95em;
	margin:	25px auto 5px;
}
@media (min-width:992px) {
	#accessform  {
		width:100%;
		/* margin-left: 5%;
		margin-right: 5%; */
	}
}
	#accessform form {
		margin:	0;
	}
	#accessform .panel-heading  {
		margin-bottom: 10px;
		color: #e40000;
	}
		#accessform .panel-heading h3  {
			font-size: 1em;
			font-weight: 700;
		}
	#accessform .row  {
		padding: 5px 15px;
	}
		#accessform .row  label {
			line-height: 1.2em;
			text-align: left;
			margin: 0;
		}		
		#accessform .row sup,
		#accessform .row span {
			color: #e40000;
			font-weight: 500;
		}
		#accessform .row select {
			width: 100%;
			max-width: 210px;
			margin: 0 auto;
		}
	#accessform .panel-footer  {
		margin-top: 10px;
		text-align: center;
	}
	@media (max-width:767px) {
		#accessform .row  {
			margin: 0 0 10px;
		}
	}
	#accessform-thanks p {
		font-size: 1.75em;
		text-align: center;
		margin: 40px 10px;
	}
	#accessform-error p {
		color: #e40000;
		font-size: 0.9em;
		margin-top: 0;
	}

/* signup */

.signup-container {
	background:		#fff;
	overflow:		hidden;
	border-radius:	4px;
	margin:			0 0 16px;
}

.signup-container img{
	width:100%;
}

.signup-img{
	display: block;
}

.signup-img-mobile{
	display: none;
}

@media (max-width: 767px) {

	.checkbox-container{
		padding-left: 28px;
		width: 24px;
	}
}

@media (max-width: 360px) {
	.signup-img{
		display: none;
	}

	.signup-img-mobile{
		display: block;
	}
}

/* payment cards */

.payment-cards-container{
	display:flex;
	flex-direction: column;
	max-width:552px;
}


.payment-card{
	background-color: #eee;
	color: rgb(69, 69, 69);
	border: 1px solid #ddd;
	border-radius: 4px;
}

.payment-option-img {
	display: flex;
	align-items: center;

}

.payment-option-img img {
	height: 21px;
	margin-right: 10px;
}

.payment-card{
	display: flex;
	flex-direction: row;
	padding: 12px 16px;
	flex-grow: 1;
	cursor:pointer;
	margin-bottom:8px;
}

.payment-card:hover{
    border-color: #09f;
    border-width: 1px;
    border-style: solid;
	border-radius: 4px;
	background-color: #09f3;
}

.payment-card input{
	margin: 0px 10px 0px 0px;
}
.payment-card span{
	font-weight: 400;
	flex-grow: 1;
}

.save-payment label{
	margin:0px;
}

.checkbox.save-payment strong{
	color:#454545;
	font-weight: 600;
	font-size: 0.95em;
}


.checkbox-container{
	position: relative;
	padding-left: 28px;
	margin-bottom: 12px;
	width: 24px;
	cursor: pointer;
	font-size: 22px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.checkbox.save-payment label{
	margin:0px;
	min-height: 16px;
}

.checkbox.save-payment {
    font-size: 1.1em;
}

.checkbox-container input{
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0
}

.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 21px;
	width: 21px;
	border: 1px solid #37afff;
	border-radius: 4px;
}

.checkbox-container:hover input ~ .checkmark {
	background-color: #b7ebfb;
}

.checkbox-container input:checked ~ .checkmark {
	background-color: white;
}

.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}

.checkbox-container input:checked ~ .checkmark:after {
	display: block;
}

.checkbox-container .checkmark:after {
	left: 7px;
	top: 2px;
	width: 6px;
	height: 13px;
	border: solid #333;
	border-width: 0 2px 2px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}


/* Start - basket-page - Cart emarsy recommendation and home essentials css rules */

.home-essential-and-cart-recs {
    background: white;
    margin-bottom: 10px;
}

.home-essential-and-cart-recs h2.title {
    background-color: #0099ff;
    color: #fff;
    padding: 10px 20px;
    margin: 0px;
    text-align: center;
    margin-bottom: 0px;
    font-weight: 500;
    font-size: 1.75em;
}

.home-essential-and-cart-recs .productContainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    border: 2px solid #0099ff;
    padding: 15px 25px;
}

@media (max-width: 500px) {
    .home-essential-and-cart-recs .productContainer {
         padding: 10px;
    }
}

.home-essential-and-cart-recs .productContainer>.product {
    display: flex;
    flex-direction: column;
    width: 25%;
    padding: 10px 20px;
    
}

.home-essential-and-cart-recs .productContainer>.product .product-name {
    font-size: 1.2em;
    text-align: center;
    padding-top: 5px;
}

@media (max-width: 767px) {
    .home-essential-and-cart-recs .productContainer>.product {
        width: 50%;
    }
}

.home-essential-and-cart-recs .product .price {
    margin: auto;
    font-size: 14.4px;
    text-align: center;
}

    .home-essential-and-cart-recs .product .price span {
        margin: auto;
        font-size: 1.8em;
        font-weight: 500;
    }

@media (max-width: 992px) {

    .home-essential-and-cart-recs .product .price span {
        font-size: 1.4em;
    }
}

.home-essential-and-cart-recs .product .row {
    display: flex;
}

.home-essential-and-cart-recs .product .pushbutton-container {
    margin-top: auto;
    padding: 5px 0px 5px 0px;
}

.home-essential-and-cart-recs .product .pushbutton-container .pushbutton{
    align-items: center;
    font-family:'Roboto', Arial, Helvetica, serif;
    font-size: 14.4px;
}


/* End - basket-page - Cart emarsy recommendation and home essentials css rules */

.zip-container-section{
	margin-bottom: 5px;
}

/* ApptoPay style */
.apptopay-container-section .apptopay-widget__wrapper{
    margin:auto auto 5px auto;
}

/* Hokodo - styling */

#company-search-container .company-checkbox-container{
	padding: 10px 0px;
}
#company-search-container .business-checkbox,
#company-search-container .customer-checkbox{
	display: inline-block;
	margin-right: 5px!important;
}
#company-search-container #company-list{
	max-height: 300px;
	border: 1px solid lightgray;
	overflow-y:scroll;
}
#company-search-container #company-list li label span{
	margin-left: 5px;
}
#company-search-container #company-list>li.active>a {
	background-color: #ccc;
}
#company-search-container #company-list li{
	list-style: none;
}

#company-search-container .list-group-item.active, 
#company-search-container .list-group-item.active:hover,
#company-search-container .list-group-item.active:focus{
	background-color: #0099ff;
}

#hokodoPlanContainer{
	padding: 5px;
}

#hokodoPlanContainer .form-group  .payment-plan{
	border: 1px solid lightgrey;
	padding: 5px 10px;
}
#hokodoPlanContainer .form-group .hokodo-rejection-reason{
	margin-top: 5px;
	font-size: 12px;
}

#hokodoPlanContainer .form-group  .form-check-input{
	margin-top: -1px;
	vertical-align: middle;
}

#hokodoPlanContainer .form-group  .form-check-label{
	margin: 0px 0px 0px 5px;
	line-height: normal;
}

#hokodoPlanContainer .loader {
	margin: auto;
	border: 6px solid #f3f3f3;
	border-radius: 50%;
	border-top: 6px solid #3498db;
	width: 35px;
	height: 35px;
	-webkit-animation: spin 2s linear infinite;
	animation: spin 2s linear infinite;
}

#hokodoPlanContainer .hokodo-checkout-badge{
	height: 20px;
	margin-left: 10px;
}

#hokodoPlanContainer .loader .hidden{
	display: none;
}

#hokodoPlanContainer .alert{
	margin-bottom: 0px;
}

@-webkit-keyframes spin {
	0% { -webkit-transform: rotate(0deg); }
	100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* Paypal finance payment popup styling. Duplicate on item.css */
.paypal-flexible-options-container .paypal-flexible-option-content{
	padding-bottom: 50px!important;
	padding-top: 30px!important;
}
.paypal-flexible-options-container #paypal-paylater,
.paypal-flexible-options-container #paypal-credit{
	border: 1px solid lightgray;
	margin-left: 0px;
	margin: auto!important;
}
.paypal-flexible-options-container #paypal-paylater:hover,
.paypal-flexible-options-container #paypal-credit:hover{
	background: #1970b6;
	cursor: pointer;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
.paypal-flexible-options-container #paypal-paylater img,
.paypal-flexible-options-container #paypal-credit img{
	max-width: 100px;
	margin-right: 5px;
}
/* Paypal finance payment popup styling */

/* Referral styling */
#referral-popup .addFriendButton{
	margin-left: auto;
	padding: 5px 10px;
}
#referral-popup .feedback-body{
	border:1px solid lightgray;
	padding: 20px;
	max-height: 300px;
	overflow-y: scroll;
	text-align: center;
}
#referral-popup #input-container{
	display: block;
	max-height: 190px;
	overflow-y: scroll;
	border: 1px solid lightgray;
	margin-top: 10px;
	padding: 10px 10px 10px 20px;
}
#referral-popup .referral-intro{
	width:95%;
	margin:auto;
	margin-bottom: 10px;
}
#referral-popup .terms{
	display:block;
	text-align:center;
	width:85%;
	margin:auto;
}
#referral-popup .pushbutton-container{
		padding: 10px 20px 5px!important;
}
#referral-popup .emailInputContainer{
	margin-bottom: 10px;
	display: flex;
}
#referral-popup .emailInputContainer span{
	margin: auto;
}
#referral-popup #referral-feedback-body{
	border:1px solid lightgray;
	padding: 20px;
	max-height: 300px;
	overflow-y: scroll;
	text-align: center;
}
@media (max-width: 767.98px) {
	#referral-popup .pushbutton-container{
		padding: 10px 5px 5px!important;
	}
}
@media (max-width: 320px){
	#referral-popup #input-container{
		max-height: 145px;
	}
	#referral-popup .referral-intro{
		width:100%;
	}
	#referral-form .pushbutton-container{
		padding: 10px 0px 5px!important;
	}
	#referral-popup .terms{
		width:100%;
	}
}

/* Terms and conditions popup override styles */
.terms-and-conditions .terms-middle-container, .terms-and-conditions .terms-middle-container-even {
	width: 100% !important;
}

div.info-popup div.info-popup-body .terms-and-conditions h4 {
	font-size: 20px;
	margin-top: 0;
}

div.info-popup .info-popup-body div.info-popup .info-popup-body p {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5em;
}

div.info-popup .terms-and-conditions a {
	font-weight: 400;
}

div.info-popup .info-popup-body .terms-and-conditions ul {
	margin: 0;
}

#damage-report-period{
	margin: 15px 0px 15px 0px;
	padding: 0px;
	text-align: left;
	font-size: 12.6px;
	line-height: normal;
}

/* domestic-and-general-popup */
#domestic-and-general-popup.modal {
	text-align: center;
	padding: 0!important;
}
#domestic-and-general-popup.modal:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
	margin-right: -4px;
}
#domestic-and-general-popup iframe{
	width: 100%;
}
#domestic-and-general-popup .modal-dialog {
	display: inline-block;
	text-align: left;
	vertical-align: middle;
	min-width:320px;
	max-width: 600px;
}
#domestic-and-general-popup .modal-content{
	position: relative;
	margin: auto;
	min-width:320px;
	max-width: 600px;
}
#domestic-and-general-popup .modal-content button{
	position: absolute;
	top: 8px;
	right: 16px;
	color: white;
}
#domestic-and-general-popup .modal-content .close span{
	font-size: 30px;
}