@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

:root {
	--primary: #d7282d;
	--primary-hover: #0b55af;
	--secondary: #1c3555;
	--secondary-hover: #0b55af;
	--success: #198754;
	--success-hover: #198754;
	--white: #ffffff;
	--black: #000000;
	--blue: #0b55af;
	--dark-blue: #1c3555; 
	--grey: #c1c6c8;
	--dark-grey: #2d2926; 
	--font-body: "Inter", sans-serif;
	--font-body-weight: 400;
	--font-heading: "Inter", sans-serif; 
	--font-heading-weight: 700; 
	--font-heading-bolder: "Inter", sans-serif; 
	--font-heading-weight-bolder: 900; 
	--font-heading-text-transform: ;
	--font-color: #2d2926;
}
/* ---------------------------------------------------- */

*{
	margin: 0 auto;
	padding: 0;	
}

html, body{
	height: 100%;	
}

div{
	box-sizing: border-box;	
}

.clear{
	clear: both;
	overflow: hidden;	
}

span, object, iframe, h1, h2, h3, h4, h5, h6, p, em, img, li, fieldset, form, label, legend, input, textarea, select, table, caption, tbody, tfoot, thead, tr, th, td, footer, header, audio, video, figcaption, a{
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	box-sizing: border-box;	
}

body {
	font-family: var(--font-body);
	font-weight: var(--font-body-weight);
    font-size: 1rem;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

/*  ----------------------------------------------------------	*/
/*  					Sticky Footer 	 						*/
/*  ----------------------------------------------------------	*/
#wrapper {
  	min-height: 100%;
  	margin-bottom: -110px; /* Make the same as the footer height */
}

#wrapper:after {
	content: "";
	display: block;
}

#footer, #wrapper:after {
  height: 110px; 
}

/* ---------------------------------------------------- */
/* 						Styling							*/
/* ---------------------------------------------------- */
img{
	max-width: 100%;	
}

strong{
	 font-family: '';
	 font-weight: normal;	
}

.red, .errorReport{
	color:#C61018;	
}

.errorReport{
	margin-bottom: 5px;
	display: block;
}

.fleft{
	float: left;
}

.fright{
	float: right;	
}

.text-left {
	width: 50%;
	float: left;
	padding-right: 10px;
}

.text-right {
	width: 50%;
	float: right;
	padding-left: 10px;
}

.text-left input, .text-right input, input.form-control {
	max-width: none;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
  display:block;
  height:1px;
  border:0;   
  border-top:1px solid #cccccc;
  margin: 25px 35px;
	margin-bottom: 35px;
  padding:0;
}

.smalltext{
	font-size: 10pt;
}

/*  ----------------------------------------------------------	*/
/*  					Form Fields 	 						*/
/*  ----------------------------------------------------------	*/

input, button, select{
	border: 0;
	border-radius: 0;
	-webkit-appearance: none; /* stop OS auto styling */
  	-webkit-border-radius: 0; /* stop OS auto styling */
}

input:not(.form-control), select:not(.form-control), textarea:not(.form-control) {
	vertical-align:middle;
	background: #EDEDED;
	font-family: var(--font-body);
	font-weight: var(--font-body-weight);
	width: 100%;
	max-width: 450px;
	margin: 10px 0px;
	padding: 7px;
	line-height: normal;
	border: 1px solid #A7A7A7;
}

select{
	appearance: menulist;
	-webkit-appearance: menulist;
	-moz-appearance: menulist;
}

input.smallwidth{
	max-width: 350px;
}

.button, a.button, button, input[type=button], input[type=submit] {
	background: #c61018;
	border: 2px solid white;
	color: #ffffff;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
	font-family: var(--font-heading-bolder);
	font-weight: var(--font-heading-weight-bolder);
	cursor: pointer;
	text-decoration: none;
	height: 37px;
	padding: 0px 10px;
	line-height: 33px;
	border-radius: 4px;
	vertical-align:middle;
	width: auto;
}

input[type=submit], button{
	line-height: normal !important;
}

input[type=submit].large, button.large, .button.large, a.button.large{
	padding:0 15px;
	font-size: 20px;
	line-height: 43px;
	height: 45px;
}

input[type=submit].fleft, button.fleft, .button.fleft{
	margin: 10px 0px;
	margin-right: 10px;
	float: left;
}

input[type=submit].fright, button.fright, .button.fright{
	margin: 10px 0px;
	margin-left: 10px;	
	float: right;
}


input[type=submit], input[type=checkbox]{
	width: auto;
}

input[type=checkbox]{
	appearance: checkbox;
	-webkit-appearance: checkbox;
}

.button.disabled {
	background: #9e9e9e;
	pointer-events: none;
}

ul.ticks {
  list-style: none;
}

ul.ticks li:before {
	font-size: 16px;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
	content: "\f00c";
}

/*  ----------------------------------------------------------	*/
/*  					Header Tags 	 						*/
/*  ----------------------------------------------------------	*/

h1, h2, h3, h4, h5, h6{
	position: relative;
	margin: 0px 0px 30px 0px;
	padding: 0px 0px 0px 0px;
	font-family: var(--font-heading);
	font-weight: var(--font-heading-weight);
	color: #002173;
}

h1{
	font-family: var(--font-heading-bolder);
	font-weight: var(--font-heading-weight-bolder);
	font-size: 36px;
	line-height: 40px;
}

h2{
	margin: 30px 0px 15px 0px;
  font-weight: 700;
  font-size: 30px;
  line-height: 30px;
}

h3{
	margin: 15px 0px 15px 0px;    
  font-weight: 700;
  font-size: 24px;
  line-height: 29px;
}

h4{
	margin: 15px 0px 10px 0px;
  font-weight: 700;
  font-size: 22px;
  line-height: 27px;
	color: #000000;
}

h5{ 
	margin: 15px 0px 10px 0px;
  font-weight: 700;
  font-size: 18px;
  line-height: 23px;
	color: #000000;
}

h6{ margin: 15px 0px 10px 0px;
  font-weight: 700;
  font-size: 16px;
  line-height: 21px;
	color: #000000;
}


.card {
	position: relative;
	overflow: hidden;
}
.card-title {
	color: #002173;
}
.card .corner-stripe {
	position: absolute;
	top: 17px;
	right: -37px;
	width: 140px;
	padding: 10px 0;
	background-color: #c61018;
	color: #ffffff;
	font-size: 10px;
	line-height: normal;
	transform: rotate(45deg);
}

/*  ----------------------------------------------------------	*/
/*  						Links 	 							*/
/*  ----------------------------------------------------------	*/

a{
	color: #c61018;
	cursor: pointer;
}

a:hover{
	transition: 0.3s ease;
}


a.button{
	display:inline-block;	
}

img.tesco-clubcard, img.agencyvoucher-logo {
	position: absolute;
	top: -35px;
	right: 15px;
	width: 150px;
}

/*  ----------------------------------------------------------	*/
/*  						Coach Products	 						*/
/*  ----------------------------------------------------------	*/

.coach-item{
	position: relative;
	width: calc(33.333% - 25px);
	border: 1px solid #e2e2e2;
	padding: 15px 10px;
	margin: 10px;
	text-align:center;
	display: inline-block;
	vertical-align:top;
}

.coach-item h3{
	font-size: 20px;
}

.coach-item .text-wrap{
	min-height: 50px;
}


@media screen and (max-width: 900px) { 
	.coach-item{
		width: calc(50% - 25px);
	}
}

@media screen and (max-width: 600px) { 
	.coach-item{
		width: 100%;
		margin: 10px 0px;
	}
	
	.coach-item .text-wrap{
		min-height: 0;
	}
}

/*  ----------------------------------------------------------	*/
/*  				Super User Products	 						*/
/*  ----------------------------------------------------------	*/

.superuser-item{
	position: relative;
  width: calc(33.333% - 25px);
  border: 1px solid #e2e2e2;
  padding: 15px 10px;
  margin: 10px;
	text-align:center;
	display: inline-block;
	vertical-align:top;
}

.superuser-item h3{
	font-size: 20px;
}

.superuser-item .text-wrap{
	min-height: 50px;
}


@media screen and (max-width: 900px) { 
	.superuser-item{
		width: calc(50% - 25px);
	}
}

@media screen and (max-width: 600px) { 
	.superuser-item{
		width: 100%;
		margin: 10px 0px;
	}
	
	.superuser-item .text-wrap{
		min-height: 0;
	}
}

/*  ----------------------------------------------------------	*/
/*  						Categories	 						*/
/*  ----------------------------------------------------------	*/


.cat-item{
	position: relative;
  width: calc(25% - 30px);
  border: 1px solid #e2e2e2;
  padding: 25px;
  margin: 15px;
	text-align:center;
	display: inline-block;
}

.cat-image {
	width: 100%;
	padding-bottom: 73%;
	max-width: 150px;
	max-height: 150px;
  	margin: auto;
  	position: relative;
  	overflow: hidden;
	background-position: center center;
	background-repeat: no-repeat;
	background-size:contain;
}

.cat-item img {
	
}


.cat-item .text{
	
}

.cat-item a{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}

.cat-item:hover {
    border: 1px solid #000000;
}
/* ---------------------------------------------------- */
/* 						Products				*/

/* ---------------------------------------------------- */
.product-item{
	width:100%;
  border: 1px solid #e2e2e2;
  padding: 25px;
	margin-bottom: 15px;
	background:  #FFFFFF;
	display: inline-block;
	position: relative;
	overflow:hidden;
	vertical-align:top;
}

.product-item h2{
	padding-right: 195px;
}

.product-item .product-image{
	float: right;
	max-width:180px;
	margin-top:  -40px;
	border: 1px solid #000000;
	margin-left: 15px;
	margin-bottom: 15px;
}

.product-item span.small{
	font-size: 10pt;
}

.product-item span.price{
	font-size:17pt;
	font-weight: 700;
}

.product-item select{
	width: 130px;
}

.cat-item:nth-child(4n+1){
	margin-left: 0;
}

.cat-item:nth-child(4n){
	margin-right: 0;
}

.product-bar{
	text-align:right;
}

.breadcrumbs{
	display:inline-block;
	margin-bottom: 15px;	
}

.pagination-wrap{
	display:inline-block;	
}

.pagination-wrap a{
	background: #292929;
	padding: 5px;
	color: #ffffff;
	border: 1px solid #000000;
	display:inline-block;
	text-decoration:none;
	min-width:22px;
	text-align:center;
}

.pagination-wrap a:first-child{
	margin-left: 15px;	
}

.pagination-wrap a:hover{
	background: rgba(41,41,41,0.8);
}

.pagination-wrap a.pageselected{
	background: #C61018;
}

.cat-wrap{
	width: 100%;
}

@media screen and (max-width: 1000px) { 
	.payment-breadcrumb {
		margin-top: 85px;	
	}
}


@media screen and (max-width: 350px) { 
	.featured-item .text .title, .product-item .text .title{
		font-size: 10pt;
	}
}

@media screen and (max-width: 640px) { 
	.featured-item:hover a.boxlink, .product-item:hover a.boxlink{
		position: absolute;
		top: 0;
		left: 0;
		height: 0%;
		width: 0%;
	}
}

/* ---------------------------------------------------- */
/* 						Product Details 				*/
/* ---------------------------------------------------- */

.product-details{
	background: #292929;
	color: #FFFFFF;
	float: right;
	width: 40%;
	position: relative;
	z-index: 100;
}

.product-images{
	float: left;
	width: 55%;	
}


.qtyminus, .qtyplus{
	background: #000000;
	border-radius: 32px;
	padding: 5px 0px;
	width: 32px;
	height: 32px;
	color: #ffffff;
	line-height: 15px;	
	cursor: pointer;
	box-sizing: border-box;
	margin: 0px;
}

#prodqty{
	width: 70px;
	background: #ffffff;
	border: 1px solid #000000;
	text-align:center;
	margin: 0 5px;
	font-size:10pt;
}

@media screen and (max-width:750px) {
	.product-images, .product-details{
		width: 100%;	
	}
	
	.product-images{
		text-align:center;
		margin: 15px 0px;
	}
	
	.product-details{
		float: left;
	}
}

/* ---------------------------------------------------- */
/* 						Login							*/
/* ---------------------------------------------------- */
.register-wrap{
	max-width: 750px;
	text-align:left;
}
.checkout-wrap{
	width: 600px;
	max-width: 100%;
}
.login-wrap{
	width: 350px;
	max-width: 100%;
}

.login-wrap, .register-wrap, .checkout-wrap, .myaccount-wrap{
	/*background: rgba(0,0,0,0.6);
	color: #ffffff;
	padding: 35px 25px;
	margin-bottom: 50px;*/
	display: inline-block;
}

.checkout-wrap.login{
	margin-top:;
}

.checkout-wrap.login input, .checkout-wrap.login input[type="submit"]{
	width: 100%;
	max-width: none;	
}

.login-wrap a, .checkout-wrap a{
	color: #C61018;	
	text-decoration: none;
}

.login-wrap a.button, .checkout-wrap a.button{
	color: #ffffff;	
}

.login-wrap a:hover, .checkout-wrap a:hover{
	text-decoration: underline;
}

.login-wrap input, .checkout-wrap input{
	width: 100%;
}

.login-wrap input.password, .checkout-wrap input.password{
	background-image: url(/images/icon-password.png);
	background-position: left 10px center;
	padding-left: 40px;
	background-repeat: no-repeat;
}

.login-wrap input.user, .checkout-wrap input.user{
	background-image: url(/images/icon-user.png);
	background-position: left 10px center;	
	padding-left: 40px;
	background-repeat: no-repeat;
}

.login-wrap input[type=submit], .checkout-wrap input[type=submit]{
	background: #C61018;	
	color: #ffffff;
	text-transform: uppercase;
	font-family: var(--font-heading-bolder);
	font-weight: var(--font-heading-weight-bolder);
	cursor: pointer;
	margin-bottom: 15px;
}

.login-wrap p, .checkout-wrap p{
	font-size:10pt;
	text-align:center;
	margin-top: 5px;
}

.register-wrap label, .checkout-wrap label, .myaccount-wrap label{
	width: 120px;
	padding-right: 15px;
	display: inline-block;
	vertical-align:middle;
}

.register-wrap label.wide, .checkout-wrap label.wide, .myaccount-wrap label.wide{
	min-width: 140px;
}

.register-wrap input, .register-wrap select,  .checkout-wrap input,  .checkout-wrap select, .myaccount-wrap input, .myaccount-wrap select{
	width:calc(100% - 125px);
	max-width: 300px;
}

.details{
	display: inline-block;
	width: 100%;
	margin-right: -4px;
	vertical-align:top;
}

.details.left{
	padding-right:10px;
	width: 50%;
}

.details.right{
	padding-left: 10px;
	width: 50%;
}

.details select, .details input{
	width:calc(100% - 125px);
	max-width: 350px;
}

.details label{
	width: 160px;
}

.details label.wide{
	width: auto;
}

.superuser-register-wrap{
	background: #F7F7F7;
	padding: 15px;
	max-width: 600px;
	margin-top: 15px;
	border: 1px solid #D3D5D6;
}

.superuser-register-wrap .details label{
	width: 260px;
	display: inline-block;
	text-align:left;
	
}

.superuser-register-wrap .details select, .superuser-register-wrap .details input{
	width:calc(100% - 270px);
	max-width: 300px;
}

.checkout-wrap .details.left a.button{
	float: right;
	margin-top: 0;
}
.checkout-wrap.login .details.left{
	padding-right: 25px;
	vertical-align:top;
}

.checkout-wrap.login .details.right{
	border-left: 1px solid #ffffff;
	padding-left: 25px;
}

.register-wrap h2{
	font-size:16pt;	
	margin-bottom: 10px;
}

.register-wrap hr{
	background: #ffffff;
}

.register-wrap input[type=submit],  .checkout-wrap input[type=submit]{
	width: auto;	
	padding: 5px 10px;
	vertical-align:top;
}

.checkout-wrap{
	margin-top: 0px;	
}

.info-fields {
  width: calc(33% - 21px);
  display: inline-block;
  vertical-align: top;
  margin: 7px 0px;
	margin-right: 20px;
	
}

.info-fields.full {
	width: 100%;
}

.info-fields .details.right{
	padding-left: 0;
}

.info-fields label{
	line-height: 36px;
	display: inline-block;
}

.info-fields input, .info-fields select{
	width: 100%;
	margin: 0;
}

@media screen and (max-width: 800px) {
    .info-fields {
        width: calc(50% - 25px);
    }
}

/*  ----------------------------------------------------------	*/
/*  					My Account 				 				*/
/*  ----------------------------------------------------------	*/

.myaccount-left{
	width: calc(60% - 10px);
	float: left;
}

.myaccount-right{
	width: calc(40% - 10px);
	float: right;
}

.myaccount-right .wrap, .myaccount-left .wrap{
	background: #F9F9FA;
	border: 1px solid #DBDBDB;
	padding: 15px;
	margin-bottom: 15px;
}

.myaccount-left strong, .myaccount-right strong{
	min-width: 150px;
	display: inline-block;
}

.myaccount-edit{
	background: #F9F9FA;
	border: 1px solid #DBDBDB;
	padding: 15px;
	margin-bottom: 15px;
}

@media screen and (max-width: 850px) { 
	.myaccount-left{
		width: 100%;
		
	}
	
	.myaccount-right{
		width: 100%;
	}
}

@media screen and (max-width: 400px) { 
	.myaccount-left strong, .myaccount-right strong{
		width: 100%;
		margin-top: 5px;
	}
        
	.stock_color_divs {
		float:none !important;
		text-align:left;
		width:100% !important;
	}
}

/* ---------------------------------------------------- */
/* 						Tables 							*/
/* ---------------------------------------------------- */
table{
	width:100%;
	text-align:left;
	color: #000000;
	margin-bottom: 35px;
}

table.basket td{
	width: 14%;	
	background: #ffffff;
}

table.basket td.basket-item{
	width: 38%;	
}

table.basket td.basket-qty{
	width: 18%;	
}

table.basket td.availability{
	width: 20%;	
	background: #f9f9f9;
	font-size:10pt;
}

table.basket td.availability span{
	display:inline-block;
	margin-bottom: 5px;	
}

table.basket tr td.promo{
	padding: 15px;	
	background: #ECECEC;
}

table.basket .promo input{
	background: #ffffff;	
}

table.basket td.ptop{
	padding-top: 15px;
	border-top: 5px solid #ECECEC;
}

table.basket td.pleft{
	padding-left: 25px;
}

table.basket td.pbottom{
	padding-bottom: 15px;
	border-bottom: 5px solid #ECECEC;
}

table.basket td.pright{
	padding-right: 15px;
	border-right: 5px solid #ECECEC;
}

table.basket .basket-image{
	height: 90px; 
	width: 90px; 
	background: #5E7AE5; 
	float: left;
	margin-right: 15px;
}

table tr th{
	padding: 5px;
	background: #EDEDED !important;
	border-left: 1px solid #ECECEC;
}


table tr.heading{
	border: 1px solid #D3D5D6;
}

table td.subheading{
	background-color: #F8F8F8;
	border: 1px solid #D3D5D6;
}

table tr td{
	padding: 5px;
}

table tr{  
	border: 1px solid #ECECEC;
}

table.basket .qtyminus, table.basket .qtyplus{
	width: 25px;
	height:25px;
	line-height: 0px;	
	margin-top: 5px;
}

table.basket .qty{
	margin: 0px;
	margin-top: 5px;
	padding: 7px 10px;
}

table.basket .smalltext{
	font-size: 10pt;	
}

table .tright{
	text-align:right;	
}

table .tleft{
	text-align:left;	
}

table .tcenter{
	text-align:center;	
}

table.basket tr.basket-spacer{
	border-left: 0;
	border-right: 0;	
}

table.basket tr.basket-spacer td{
	background: none;	
}

table.basket .totalprice{
	font-size: 15pt;
	font-family: var(--font-heading);
	font-weight: var(--font-heading-weight);
}

table { display: table; }
thead { display: table-header-group; }
tbody { display: table-row-group; }
tfoot { display: table-footer-group; }
tr { display: table-row; }
th, td { display: table-cell; }

span.basket-mobile{
	display: none;
}


table#superuser-purchase th{
	
}

table#superuser-purchase td{
	
}

@media screen and (max-width: 900px) { 
	table.basket, table.basket thead, table.basket tbody, table.basket tfoot, table.basket tr, table.basket th, table.basket td {
		display: block; /* Set all of our table elements to display type block */
		box-sizing: border-box;
		position:relative;
	}
	
	table caption {
		display: block;
	}
	
	table.basket th{
		display: none;	
	}
	
	table.basket th.basket-item{
		display: block;	
	}
	
	table.basket td, table.basket td.basket-item, table.basket td.basket-qty, table.basket td.availability{
		width: 100%;
		
	}
	
	span.basket-mobile{
		display: inline-block;
	}
	
	table.basket .pleft, table.basket .pright, table.basket .ptop, table.basket .pbottom{
		padding: 5px !important;
		border: 0 !important;
	}
	
	table.basket .basket-prices{
		width: 50%;
		display: inline-block;
		margin-right: -3px;
			
	}	
	
	table.basket td.basket-qty{
		display: inline-block; 
		float: left;
		width: auto;
		margin-top: -30px;
	}
}

table.basketnew{
	width:100%;
	text-align:left;
	color: #000000;
	margin-bottom: 0;
}

table.basketnew th{
	border-left: 1px solid #ECECEC;
	color: #ffffff;
}

table.basketnew td{
	width: 14%;	
	background: #ffffff;
	border-left: 1px solid #ECECEC;
}

table.extratable{
	table-layout: fixed;
}
table.extratable th {
	vertical-align: top;
}
table.extratable td {
	vertical-align: top;
}
table.extratable tr td:first-child, table.extratable tr th:first-child{
	width: 100px;
}
table.extratable input, table.extratable select{
	max-width: 100px;
}

table.basketnew td.basket-item, table.basketnew th.basket-item{
	width: 28%;	
}

table.basketnew td.basket-qty, table.basketnew th.basket-qty{
	width: 20%;
}

table.basketnew td.basket-qty{
	background: #f9f9f9;
	font-size:10pt;
}

table.basketnew td.basket-qty.extraprice{
	width: 8%;
	
}

table.basketnew td.availability, table.basketnew th.availability{
	width: 16%;
}

table.basketnew td.availability{
	background: #f9f9f9;
	font-size:10pt;
}

table.basketnew td.availability span{
	display:inline-block;
	margin-bottom: 5px;	
}

table.basketnew tr td.promo{
	padding: 15px;	
	/*background: #ECECEC;*/
	width: 64%;
}

table.basketnew td.basket-prices{
	width: 22%;
	text-align: right;
	color: #012174;
	font-family: var(--font-heading);
	font-weight: var(--font-heading-weight);
	
}
table.basketnew .promo input{
	background: #ffffff;	
}
	
table.basketnew .promo input.button{
	background: #c61018;
}

table.basketnew td.ptop{
	padding-top: 15px;
	border-top: 1px solid #ECECEC;
}

table.basketnew td.pleft{
	padding-left: 25px;
}

table.basketnew td.pbottom{
	padding-bottom: 15px;
	border-bottom: 1px solid #ECECEC;
}

table.basketnew td.pright{
	padding-right: 15px;
	border-right: 1px solid #ECECEC;
}

table.basketnew .basket-image{
	height: 90px; 
	width: 90px; 
	background: #5E7AE5; 
	float: left;
	margin-right: 15px;
}

table.basketnew tr th, table.extratable tr th{
	padding: 5px;
	color: #000000;
	background: #ECECEC !important;
}

table.basketnew tr td{
	padding: 5px;
}

table.basketnew tr{  
	border: 1px solid #ECECEC;
}
table.basketnew .qtyminus, table.basketnew .qtyplus{
	width: 25px;
	height:25px;
	line-height: 0px;	
	margin-top: 5px;
}

table.basketnew .qty{
	margin: 0px;
	margin-top: 5px;
	padding: 7px 10px;
}

table.basketnew .smalltext{
	font-size: 10pt;	
}

table .tright{
	text-align:right;	
}

table .tleft{
	text-align:left;	
}

table .tcenter{
	text-align:center;	
}

table.basketnew tr.basket-spacer{
	border-left: 1px solid #FFFFFF;
	border-right: 1px solid #FFFFFF;
}

table.basketnew tr.basket-spacer td{
	background: #FFFFFF;	
	border-right: 1px solid #FFFFFF;
	border-left: 1px solid #FFFFFF;
	padding: 15px;
}

table.basketnew .totalprice{
	font-size: 16pt;
	font-family: var(--font-heading);
	font-weight: var(--font-heading-weight);	
}
	
table.basketnew .totalprice td{
	padding-top: 20px;
	padding-bottom: 20px;
}

table.basketnew .totalprice .basket-price{
	font-size: 18pt;
}

span.basket-mobile{
	display: none;
}

span.basket-mobile img{
	width: 220px;
}

.reschedulePlus img {
	width: 137px;
}

@media screen and (max-width: 900px) { 
	table.basketnew{
		border: 0px;
	}
	table.basketnew, table.basketnew thead, table.basketnew tbody, table.basketnew tfoot, table.basketnew tr, table.basketnew th, table.basketnew td, table.extratable, table.extratable thead, table.extratable tbody, table.extratable tfoot, table.extratable tr, table.extratable th, table.extratable td  {
		display: block; /* Set all of our table elements to display type block */
		box-sizing: border-box;
		position:relative;
    clear: both;
	}
	
	table.extratable input, table.extratable select {
		float: right;
		margin-top: 0;
		margin-bottom: 15px;
	}
        
	table.basketnew th, table.extratable th{
		display: none;	
	}
	
	table.basketnew th.basket-item{
		display: block;	
		width: 100%;
	}
	
	table.basketnew td, table.basketnew td.basket-item, table.basketnew td.basket-qty, table.basketnew td.availability{
		width: 100%;
		
	}
	
	span.basket-mobile{
		display: inline-block;
	}
	
	table.basketnew .pleft, table.basketnew .pright, table.basketnew .ptop, table.basketnew .pbottom{
		padding: 5px !important;
		border: 0 !important;
	}
	
	table.basketnew td.basket-prices, table.basketnew td.basket-price{
		width: 50%;
		display: inline-block;
		margin-right: -3px;
			
	}	
	
	table.basketnew td.basket-qty, table.basketnew td.basket-qty.extraprice{
		display: inline-block; 
		float: none;
		width: 50%;
		margin-right: -3px;
		/*margin-top: -30px;*/
		vertical-align:top;
		min-height: 30px;
	}
	
	table.basketnew td.basket-qty.extra{
		width: calc(100% - 71px);
	}
	
	table.basketnew td.basket-qty.extraprice{
		width: 70px;
	}
	
	table.basketnew tr td.promo{
		width: 100%;
	}
	
	table.basketnew th, table.basketnew td, table tr{
		padding: 0;
	}	
}

@media screen and (max-width: 520px) {
	span.basket-mobile {
		width: 80%;
		text-align: center;
	}
	
	.reschedulePlus {
		text-align: center;
	}
	
	table.extratable input, table.extratable select {
		float: none;
		margin-top: 10px;
		margin-bottom: 15px;
	}
}

/* ---------------------------------------------------- */
/* 						Checkout Pages					*/
/* ---------------------------------------------------- */

.payment-breadcrumb{
	margin-top: 105px;
	margin-bottom: 25px;
	overflow:hidden;
}

.payment-breadcrumb ul{
	padding-left: 0;
	list-style-type: none;
}

.payment-breadcrumb li{
	background: #ECECEC;
	display: inline-block;
	padding: 5px 10px;
	padding-top: 7px;
	padding-left: 45px;
	position: relative; 
	float: left;
	cursor: default;
}

.payment-breadcrumb li:first-child{
	padding-left: 10px;	
}

.payment-breadcrumb li.active{
	background: #C61018;
	color: #ffffff;
}

.payment-breadcrumb li:after { 
	content: " "; 
	display: block; 
	width: 0; 
	height: 0;
	border-top: 50px solid transparent;           /* Go big on the size, and let overflow hide */
	border-bottom: 50px solid transparent;
	border-left: 30px solid #ECECEC;
	position: absolute;
	top: 50%;
	margin-top: -50px; 
	left: 100%;
	z-index: 2; 
}

.payment-breadcrumb li:before { 
	content: " "; 
	display: block; 
	width: 0; 
	height: 0;
	border-top: 50px solid transparent;       
	border-bottom: 50px solid transparent;
	border-left: 30px solid white;
	position: absolute;
	top: 50%;
	margin-top: -50px; 
	margin-left: 2px;
	left: 100%;
	z-index: 1; 
}

.payment-breadcrumb li.active:after { 
	border-left: 30px solid #C61018;
}

/* ---------------------------------------------------- */
/* 						My Account						*/
/* ---------------------------------------------------- */

.myaccount{
	display: inline-block;
	width: 50%;
	margin-right: -2px;
	vertical-align:top;	
}
.myaccount:nth-child(odd){
	padding-left: 10px;
}
.myaccount:nth-child(even){
	padding-right: 10px;
}

.myaccount .box{
	border: 1px solid #5F5F5F;
	background: rgba(0,0,0,0.5);
	padding: 15px;
	margin-bottom: 10px;
}

.myaccount a{
	display:inline-block;
	float: right;	
}

.photo_info{
	display: inline-block;
	width: 60%;
	margin-right: -4px;
	padding-left: 25px;
	vertical-align:top;
}

.image_box{
	width: 40%;
	display: inline-block;
	margin-right: -4px;
	vertical-align:top;
}

@media screen and (max-width:750px) {
	.image_box{
		width: 100%;
	}
	
	.image_box img{
		max-width: 550px;
		width: 100%;
	}
	
	.photo_info {
		width:100%;
	}
}
/*  ----------------------------------------------------------	*/
/*  					jQuery UI CSS Overide	 				*/
/*  ----------------------------------------------------------	*/

.ui-widget.ui-widget-content{
	background: #ffffff !important;
	border: 2px solid #002173 !important;
	color: #000000;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.5) !important;
	font-family: var(--font-heading);
	font-weight: var(--font-heading-weight);
	cursor: pointer;
	text-decoration: none;
	/*height: 37px;*/
	padding: 0px 10px;
	line-height: 33px;
	border-radius: 4px;
	vertical-align:middle;
	font-size: 13pt;
}
.ui-widget-header{
	background: #ffffff !important;
	border: 0 !important;
	color: #000000;
	font-family: var(--font-heading);
	font-weight: var(--font-heading-weight);
	border-radius: 0px !important;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default{
	background: #38A976 !important;
	border: 2px solid white !important;
	color: #ffffff !important;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
	font-family: var(--font-heading) !important;
	font-weight: var(--font-heading-weight) !important;
	cursor: pointer !important;
	text-decoration: none !important;
	height: 37px !important;
	padding: 0px 10px !important;
	line-height: 33px !important;
	border-radius: 4px !important;
	vertical-align:middle !important;
	font-size: 13pt !important;
}

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {
    background: #ffffff !important;
    color: #212121 !important;
}

.ui-dialog .ui-dialog-titlebar-close{
	background: #ffffff !important;
	box-shadow: none;
	border: 0px solid white !important;
	padding-top: 0px !important;
	height: auto !important;
}

.ui-dialog .ui-dialog-titlebar-close .ui-button-text{
	padding-top: 0px !important;
}

#voucherType_1{
	height: auto !important;
}

.ui-dialog-buttonset{
	width: 100%;
}

.ui-dialog-buttonset button{
	float: right;
}

.ui-dialog-buttonset button:first-child{
	float: left;
}

.ui-dialog .ui-dialog-buttonpane{
	padding-right: 0px !important;
}

.ui-dialog.ui-widget.ui-widget-content{
	background: #ffffff !important;
}

/*  ----------------------------------------------------------	*/
/*  					Booking Calendars 	 					*/
/*  ----------------------------------------------------------	*/
.activity-box{
	width: calc(33.333% - 14px);
	display: inline-block;
	background-color: #ffffff;
	border: 1px solid #c1c1c1;
	padding: 10px;
	min-height: 300px;
	min-width: 320px;
	vertical-align:top;
	text-align:center;
	position: relative;
	max-width: 380px;
	margin: 0 5px;
}

.activity-box.two{
	width: calc(50% - 14px);
}

.activity-box.flightinfo{
padding: 25px;
}
.activity-box.flightinfo h3{
	margin-bottom: 25px;
}

.activity-box.flightinfo p{
	margin-bottom: 10px;
	font-size: 14pt;
}

.activity-box.flightinfo span{
	/*min-width: 140px; */
	display: inline-block; 
	/*text-align:right;*/
	font-size: 18pt;
}
.activity-box.flightinfo strong{
	color: #012173;
	/* width: 85px; */
	display:inline-block;
	text-align:right;
}

/*Makes the booking time/date select responsive :) */
.shopClientBookingSystemTimeItem:hover {
	transform: scale(1.1); 
	font-weight:bold;
}

 .shopClientBookingSystemTimeItem .active{
	border: 1px
	 solid #000 !important;
}

a.shopClientBookingSystemTimeItem{
	background: #012173 !important; /*#63CB9C*/
	cursor: pointer;
	transition: all .2s ease-in-out;
	text-decoration:none;
	padding: 4px 15px;
	display:inline-block;
	margin: 4px;
	margin-top: 0px;
	color: #FFFFFF !important;
	float: left;
	width:calc(25% - 8px);
	font-size: 14px;
}
			
a.shopClientBookingSystemTimeItem:hover{
	background: #A7A7A7 !important;

}

#datetimeForm {
	display:inline-block;
}

#timepicker{
	width: 100% !important;
	padding: 0px !important;
	float: none !important;
	display: inline-block !important;
	text-align: center;
	padding-top: 4px !important;
}

#activityPrice{
	width: 100% !important;
	float: right !important;
	display: inline-block;
	vertical-align:top;
}

#datepicker{
	float: none !important;
	display: inline-block !important;
	text-align: center;
}

#timepicker div{
	/*display: inline-block;	*/
}

#timepicker h3.show{
	display: none;
}	

#dateAndTimeArea{
	display:inline-block;
	/*width: 66.666%;*/
    width: auto;
	margin-right: -3px;
	vertical-align:top;
}

.activity-box.dateBox{
    margin-right: -8px;
}

@media only screen and (max-width: 992px){
    .activity-box.dateBox {
        margin-right: 0;
    }
}

#datetimeForm{
	width: 100%; 
	text-align: center;

}
	
#timepicker	strong{
	margin-bottom: 10px;
	display: block;
	margin-top: 5px;
}
	
#timepicker strong:nth-child(2){
	margin-top: 0;
}
	
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default{
	padding: 0px !important;
	text-align:center;

}
	
	.ui-widget-header{
		background: transparent !important;
		padding-top: 0px !important;
		padding-bottom: 10px !important;
	}
	
	.ui-datepicker td, .ui-datepicker th{
		width: 14.2%;
	}
	
	.ui-datepicker th{
		color: #000000;
	}
	
	.ui-widget.ui-widget-content{
		background: transparent !important;
		padding: 0px 2px;
	}
	
	#datepicker{
		margin-top: 15px;
	}
	
	#datepicker table{
		margin-bottom: 0;
		
	}
	
	.ui-datepicker-unselectable.ui-state-disabled .ui-state-default{
		background: #666 !important;
	}

.ui-widget.ui-widget-content{
	height: auto;
		min-height: 37px;
}
@media screen and (max-width: 1050px) {
	#dateAndTimeArea{
		display:inline-block;
		width: 100%;
		margin-right: -3px;
		vertical-align:top;
	}	

	#datetimeForm .elements{
		text-align:center;
	}


	.activity-box{
		width: calc(50% - 4px);
		margin-bottom: 5px;
	}

}
	
		
@media screen and (max-width: 690px) {
	.activity-box{
		width: 100%;
                margin-left: 0;
                margin-right: 0px;
		margin-bottom: 5px;
		max-width: none;
	}

	}
@media screen and (max-width: 680px) {	
	.activity-box.two{
		width: 100%;
		margin-left: 0;
                margin-right: 0px;
	}
	}
@media screen and (max-width: 350px) {
        #datepicker {
            width: 100%;
        }
        .ui-widget.ui-widget-content {
            width: 100%;
        }
        .activity-box.flightinfo {
            margin-left: 2px;
        }
	}

/*  ----------------------------------------------------------	*/
/*  				Redeem Multi Vouchers 	 					*/
/*  ----------------------------------------------------------	*/
.redeemMultiVouchers{
	border: 1px solid #c1c1c1; 
	padding: 15px;
	text-align:left;
	margin: 15px 0px;
	min-height: 134px;
}

.details .redeemMultiVouchers input{
	width: calc(100% - 144px);
}

		.extraGroupon{
			border: 1px solid #a7a7a7;
			background: #efefef;
			padding: 15px;
			margin-bottom: 15px;
		}
		
		.extraGroupon .notice{
			background: #C61018;
			color: #ffffff;
			display:inline-block;
			padding: 4px;
		}
		
		.extraGroupon .info{
			display:inline-block;
			float: left;
		}
		
		.extraGroupon .images{
			display:inline-block;
			float: right;
		}
		
		.extraGroupon .images img{
			margin-left: 25px;
		}
		
		.extraGroupon .smallText{
			font-size: 10pt;
		}
		
		.addExtrasWrap{
			text-align:;
		}
		
		.addExtras{
			
		}
		
		.addExtras label{
			margin-right: 15px;
		}
		
		.addExtras select{
			width: 100px;
			cursor: pointer;
		}
		
		#overlayPopup{   
			position: fixed;
			background: rgba(0,0,0,0.6);
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: 10;
			display:none;
		}
	   
	   #alertMessage, .messagePopup{
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%,-50%);
			background: #ffffff;
			padding: 15px;
			text-align:center;
			border: 2px solid #C61018;	
			width: 500px;
			max-width: 92%;
	   }

		
		#overlayPopup .nostyling{
			border: 0; background: none; padding: 0; box-shadow: none; font-weight: 400; color: #C61018;height: auto; vertical-align:top; font-size:12pt;
		}
		
		#overlayPopup .nostyling:hover{
			text-decoration: underline;
		}
		
		@media screen and (max-width: 760px) { 
			
			.extraGroupon .info{
				display: block;
				float: none;
			}
			.extraGroupon .images{
				display:block;
				float: none;
				text-align:center;
			}
			
			.extraGroupon .images img{
				margin: 10px;
				max-width: 40%;
			}
		}

/*  ----------------------------------------------------------	*/
/*  						Media Queries 	 					*/
/*  ----------------------------------------------------------	*/


@media screen and (max-width: 1170px) { 
	.cat-item{
		width: calc(25% - 11px);
		border: 1px solid #e2e2e2;
		padding: 15px;
		margin: 5px;
	}

}

@media screen and (max-width: 950px) { 
	.details .redeemMultiVouchers table{
		
	}
	
	.redeemMultiVouchers table, .redeemMultiVouchers table thead, .redeemMultiVouchers table tbody, .redeemMultiVouchers table tfoot, .redeemMultiVouchers table tr, .redeemMultiVouchers table th, .redeemMultiVouchers table td, .redeemMultiVouchers table{
		display: block; /* Set all of our table elements to display type block */
		box-sizing: border-box;
		position:relative;
	}
	
	
	
	.redeemMultiVouchers table td:first-child{
		width: 100%;
	}
	
	.redeemMultiVouchers table td{
		display: inline-block;
	}
	.redeemMultiVouchers table td:nth-child(2){
		width: calc(100% - 75px);
	}
	
	.redeemMultiVouchers table td:last-child{
		text-align:right;
		width: 70px;
	}
}

@media screen and (max-width: 900px) { 
	.cat-item h4{
		font-size: 18px;
	}
}


@media screen and (max-width: 850px) { 
	.product-item .product-image{
		float: right; 
		margin-top: auto;
	}
	
	.product-item h2{
		padding-right: 0;
	}
	
	.product-desc{
		margin-top: 15px;
	}
	
	.details .redeemMultiVouchers input{
		width: 100%;
		max-width: none;
	}

		
}

@media screen and (max-width: 800px) { 
	.payment-breadcrumb li{
		padding-left: 10px;
		margin-right: 2px;
		margin-bottom: 2px;
	}
	
	.payment-breadcrumb li:after { 
		border-top: 0px;           /* Go big on the size, and let overflow hide */
		border-bottom: 0px ;
		border-left: 0px;
		top: 0%;
		margin-top: 0px; 
	}
	
	.payment-breadcrumb li:before { 
		border-top: 0px solid transparent;       
		border-bottom: 0px solid transparent;
		border-left: 0px solid white;
		top: 0%;
		left: 0%;
	}
	
	.payment-breadcrumb li.active { 
		margin-left: 1px;
	}
	
	.payment-breadcrumb li.active:after { 
		border-left: 0px;
	}
	
	.cat-item{
		width: calc(33.333% - 10px);
	}
	
	.cat-item:nth-child(4n), .cat-item:nth-child(4n+1){
		margin-right: 5px;
		margin-left: 5px;
	}
	
	.cat-item:nth-child(3n+1){
		margin-left: 0px;
	}
	
	.cat-item:nth-child(3n){
		margin-right: 0px;
	}

}

@media screen and (max-width: 620px) { 
	.details, .details.left, .details.right{
		display: inline-block;
		width: 100%;
		margin-right: 0px;
	}
	
	.info-fields {
      width: 100%;
			margin-right: 0;
    }
	
	.info-fields .details, .info-fields .details.left, .info-fields .details.right{
		width: 50%;
		margin-right: -4px;
	}
	
	
	.checkout-wrap.login .details.left, .checkout-wrap.login .details.right{
		padding-left: 0;
		padding-right: 0;
	}
	
	.details.left, .details.right, .checkout-wrap .details.left, .checkout-wrap .details.right{
		padding: 0;	
		border: 0;
	}
	
	.register-wrap label, .checkout-wrap label, .myaccount-wrap label{
		min-width:130px;	
	}
	
	.register-wrap input, .register-wrap select, .checkout-wrap input, .checkout-wrap select, .myaccount-wrap input, .myaccount-wrap select{
		width: calc(100% - 134px)
	}

	.myaccount{
		display:block;
		width: 100%;
		margin-right: 0px;
	}
	
	.login-wrap, .register-wrap, .checkout-wrap{
		padding: 25px 0;
	}
	
	.superuser-register-wrap .details{
		text-align:left;
	}
	
	.superuser-register-wrap .details label{
		width: auto;
		display: block;
		text-align:left;

	}

	.superuser-register-wrap .details select, .superuser-register-wrap .details input{
		width:100%;
		max-width: 300px;
	}
}


@media screen and (max-width: 600px) { 
	.f-copyright{
		display: block;
		padding-top: 0;
	}
	
	.f-IBA{
		display: block;
		max-width: none;
		text-align: left;
	}
	
	.cat-item{
		width: calc(50% - 5px);
		margin: 5px 2.5px;
	}
	
	.cat-item h4{
		font-size: 16px;
	}
	
	.cat-item:nth-child(3n), .cat-item:nth-child(3n+1){
		margin-right: 2.5px;
		margin-left: 2.5px;
	}
	
	.cat-item:nth-child(2n+1){
		margin-left: 0px;
	}
	
	.cat-item:nth-child(2n){
		margin-right: 0px;
	}
}

@media screen and (max-width: 550px) { 
	.payment-breadcrumb {
		margin-top: 15px;	
	}
	
	.product-item .product-image{
		max-width: 110px;
	}
	
	.product-item .button.fright{
		float: none;
	}
	
	#viewBasket {
		position: absolute;
		top: 65px;
		left: 0;
	}
	 
	#viewAccount {
		position: absolute;
		top: 65px;
		right: 0;
	}

}
@media screen and (max-width: 420px) { 
	.product-item{
		text-align:center;
	}
	.product-item .product-image{
		float: none;
		margin-left: 0;
		display: inline-block;
		margin-left: calc(50% - 55px);
		margin-right: calc(50% - 55px);

	}
	.activity-box{
		min-width: 100%;
	}
}

@media screen and (max-width: 370px) { 
	.cat-item{
		width: 100%;
		margin: 5px 0px;
	}
	
	.cat-item h4{
		font-size: 16px;
	}
	
	/* Resets sticky footer */
	#wrapper {
		min-height: 0;
		margin-bottom: auto; 
	}

	#footer, #wrapper:after {
	  height: auto; 
	}

}

/* Bootstrap md (or less) */
@media (max-width: 991.98px) {
	h1 {
		font-size: 28px;
	}
	h2 {
		font-size: 20px;
	}
	img.tesco-clubcard, img.agencyvoucher-logo {
		position: static;
		float: right;
		width: 110px;
	}
}

/* SM new styles */
ul li:before {
	content: "\f00c";
}

.productCard, .productCard .card-header {
	border-radius: 0;
}

.productCard .card-header {
	color: #101820;
    background: #fee715;
}