@import "css/bootstrap.min.css";
@import "css/jquery-ui-1.8.21.custom.css";
@import "css/jquery.bxslider.css";
@import "css/elastislide.css";
@import "css/magnific-popup.css";
@import "css/font-awesome.min.css";

/*################### Setup layout containers ######################*/
body {
	color: #777;
	font-size: 12px;
	font-family: arial,verdana,tahoma,helvetica,ms-sans;
	letter-spacing: 0;
	margin: 0;
	padding: 0;
	text-align:center;
}
#Body {
	background:#f0f0f0;
	color: #777;
	font-size: 12px;
	font-family: arial,verdana,tahoma,helvetica,ms-sans;
	letter-spacing: 0;
	margin: 0;
	padding: 0;
	text-align:left;
}

fieldset {
	border: 0;
}

select,
input,
textarea {
	color: #000;
	font-family: arial,verdana,tahoma,helvetica,ms-sans;
	font-size: 100%;
}

table,th {
	color:#333;
	font-family: arial,verdana,tahoma,helvetica,ms-sans;
	font-size:12px;
}

hr {
	display: block;
	float: left;
	border: 0;
	border-bottom: 1px solid #e0e0e0;
	height: 1px;
	margin: 10px 0 10px 0;
	width:100%;
}

form {
	margin: 0;
	padding: 0;
}

a img,
img {
	border: 0;
}

a,
a:active,
a:focus,
a:visited,
a:link {
	color: #333;
	outline: none;
	text-decoration: none;
}

a:hover {
	color: #000;
	text-decoration: underline;
}

h1 {
	color: #000;
	font-family: arial,verdana,tahoma,helvetica,ms-sans;
	margin: 0;
	padding: 0;
	border:0;
	font-size:24px;
}

h2 {
	color: #000;
    font-size:16px;
	font-family: arial,verdana,tahoma,helvetica,ms-sans;
	margin: 0;
	padding: 0;
}

h3 {
	color: #000;
	font-family: arial,verdana,tahoma,helvetica,ms-sans;
	margin: 0;
	padding: 0;
}

th, td {
    color: #717375;
}

#error {
	background-color: #fff;
	border: 1px solid red;
	color: red;
	float: left;
	font-weight: bold;
	margin: 1%;
	padding: 1%;
	text-align: center;
	width: 95%;
}

.fixed-logo.active {
background-color: #7E122E !important;
}

.sitemap {
	float: left;
}

.sitemap ul {
	list-style-type: none;
	margin: 0 0 0 10px;
	padding: 0;
}

.sitemap li {
	line-height: 150%;
}

.center {
	text-align: center;
}

.required {
	color: red;
	font-size: 10px;
}

/*############ [ Popup ] ##############*/
#popup {
	float: left;
}

#popupContainer {
	background-color:#fff;
	float: left;
	height:500px;
	width: 675px;
}

#popupContainer .content {
	float: left;
	width: 675px;
}

#popupContainer .content p {
	margin: 0 0 10px 0;
	padding: 0;
}

#popupContainer .header {
	float: left;
	width: 500px;
	height: 8px;
}

#popupContainer .footer {
	float: left;
	width: 500px;
	height: 9px;
}



/*############# Error | Warning | Information message ##################*/

.messageContainer {
	font-size: 14px;
}

.messageContainer  em {
	font-style: normal;
}

.messageContainer a {
	color: inherit;
}


/*################# Setup layout containers ################*/

.additionalContentTop {
	padding:20px 0 23px 0;
	margin:0 0 20px 0;
}

.additionalContentTop img {
	float:left;
}

#containerTop {
	width:100%;
	background:url('images/layout/bg_top.png') top center no-repeat;
	height:34px;
}

#middleContent {
    padding:19px;
    margin:0;
 	z-index: 0;
 	background-color:#fff;
 	border:1px solid #e5e5e5;
 	margin-top:10px;

}

@media (max-width: 768px) {
	#middleContent {
		padding:19px 15px;
	}
}

#dnn_ContentPane {
	width: 100%;
	border: 0 !important;
	position:relative;
	z-index: 0;
}

#contentContainer {
	float: left;
	display: block;
	width: 1000px;
	margin: 0;
	padding: 0;
	position:relative;
	z-index: 0;
	background: url('images/layout/contentRightBg.jpg') top right no-repeat;
}

#content {
	float: left;
	display: block;
	width: 1000px;
	margin: 0;
	padding: 0;
	background: url('images/layout/contentLeftBg.jpg') top left no-repeat;
	position:relative;
	z-index: 0;
}

#contentFull {
	float: left;
	display: block;
	width: 1000px;
	margin: 0;
	padding: 0;
	z-index: 10;
}

#pageContent {
	float: left;
	width: 100%;
}

.bodyText {
	padding: 10px 0 5px 10px;
	float: left;
}

.horiBreak {
	float: left;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 8px;
	background-color: #eb6fa5;
}

/*########### brand drop down #############*/

.brandShop {
	float:left;
	width:260px;
	height:25px;
    margin:7px 3px 0 0;
    line-height:25px;
    font-weight:bold;
}

.brandShop select {
	border:1px solid #e5e5e5;
	color: #777;
    font-size:12px;
    padding:4px 5px 4px 5px;
    background:fff;
    width:250px;
}



/*############# [ footer definitions] #############*/


#footer {
    width:100%;
    font-size:12px;
    margin-bottom: 10px;
    position:relative;
    color:#fff;
    z-index: 1;
}

#socialFooter {
	width:100%;
	margin-top:15px;
	min-height:265px;
	text-align:left;
	position:relative;
}

#socialFooter .about .fa {
	font-size:24px;
	margin-right: 10px;
	color:#7E122E;
}

.footerContent {

	padding-top: 10px;
	height:255px;
	overflow: hidden;

}



.footerContent .ModBlogC {
	max-height: 255px;
	width:100%;
	overflow: auto;
}

.Blog_RecentEntries {
	margin-bottom: 5px;
}

#socialFooter #twitter {


	margin:5px -10px;
}
/*
#twitter-widget-0, #twitter-widget-1 {
  float: none;
  width: 222px !important;
  height: 270px !important;
}*/


#socialFooter .header {
	font-weight:bold;
	font-size:14px;

}

#socialFooter .header span {
	color:#333;
	padding-right:10px;
}

#socialFooter .info {
	text-align:left;
	line-height:20px;
	color:#333;

	font-size:13px;

	padding-top: 10px;
}

#socialFooter .info a {
	color:#333;
}

#bottomNav {
	font-size:11px;
    margin:0;
}

#bottomNav ul {
	text-align:right;
	list-style-type: none;
	margin: 15px 0 10px 0;
	padding: 0;
	float:right;
}

#bottomNav ul a,
#bottomNav ul a:link,
#bottomNav ul a:visited {
	padding: 0;
	color:#a4a3a3;
}

#bottomNav ul a:hover {
	text-decoration: underline;
}

#bottomNav li {
	display:inline-block;
	padding-right:15px;
}

#footer a {
	color:#333;
}

#footer .copyright {
	text-align:left;
	color:#333;
	font-size:11px;
	margin-top:15px;
}

@media (max-width: 768px) {
	#bottomNav ul,
	#footer .copyright {
		text-align: center;
	}

	#footer .copyright {
		margin-top: 5px;
	}
}

.ajax__calendar_container {
	z-index: 1000;
	padding:4px;
	position:absolute;
	cursor:default;
	width:170px;
	font-size:11px;
	text-align:center;
	font-family:tahoma,verdana,helvetica;
	background-color: #fff;
	border: 2px solid #000;
}

.ajax__calendar_container TABLE {float: left;}

.red {
	color:#c50000;
}

a.red-button,
.red-button {
	background: #7E122E;
	color:#fff;
	line-height:24px;
	padding:0 10px;

	display: inline-block;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
}

#eKomiWidget_default {
	margin-top: 20px
}

@media (max-width: 1200px) {
	#eKomiWidget_default {
		margin-left:-20px;
		margin-top: 0;
	}
}

/*############ Setup header containers ###############*/

header .container {
	position: relative;
}

#whiteSection {
	background-color:#F0F0F0;
	border:1px solid #F0F0F0;
	border-bottom:0;
	float:right;
	height:35px;
}



#contactInfo {
	clear:both;
	color:#7E122E;
	position:absolute;
	top:43px;
	right:245px;
	font-weight: normal;

	font-size:16px;
	/*margin:45px 0 15px 0;*/
	text-align:right;
	line-height: 2
}

.tel_number {
	font-weight: bold;
	color: #7E122E;
	color:#58595b;
}

#contactInfo a {

	color:#58595b;
	margin-right:15px;
	font-weight: bold;
	text-decoration: none;
	line-height: 2;
}

#contactInfo .glyphicon-envelope {
	position: relative;
	top:3px;
}

@media (max-width: 992px) {
	header .logo {
		margin:15px 0 15px 0;
	}

	#contactInfo {
		position: absolute;
		top:-85px;
		right:20px;
		width:200px;
		font-size: 18px;
		line-height:1.2;
	}

	#contactInfo a  {
		margin:0;
	}

	#inlineSearch {
		position: absolute;
		right:15px;
		top:-85px;
	}

}

#topNav {
	background: #adacac; /* Old browsers */

	min-height:25px;
	margin:0 0 15px 0;
	width:100%;

	text-align: left;
}

#topNav ul {
	list-style-type:none;
	margin:0;
	padding:0 0 0 5px;
	text-align:left;
	width:auto;
	display: inline-block;
}

#topNav ul li {
	display:inline;
	font-size:11px;
	line-height:25px;
	list-style-type:none;
	padding:0 7px;
}

#topNav ul li a {
	color:#fff;
}

@media (max-width: 1199px) {

	#topNav ul li {
		padding:0 3px;
	}

	#topNav ul {
		padding: 0;
	}

	#contactInfo {
		font-size: 15px;
	}

}

/*############# inline basket (t4) ##################*/

#inlineWishlist {
	position: absolute;
	top:0;
	right:230px;
	width: 208px;
	height:30px;
	padding: 0;
	margin: 0 11px 0 0;
	text-align:left;
	background:#a4a3a3 url('images/layout/bg_miniWishlist.gif') no-repeat top left;
	cursor:pointer;

}

#inlineBasket {
	position: absolute;
	right:20px;
	top:0;
	width: 209px;
	height:30px;
	padding: 0;
	margin: 0;
	text-align:left;
	background:#222222 url('images/layout/bg_miniBasket.gif') no-repeat top left;
	cursor:pointer;

}

#inlineBasket .totals, #inlineWishlist .totals {
	width:180px;
	float:left;
	margin-left:15px;
	color:#fff;
	font-size:11px;
	line-height:30px;
	padding:0;
}

#inlineBasket .totals a, #inlineWishlist a {
	font-size:11px;
	color:#fff;
}

#inlineBasket .totals span,
#inlineWishlist .totals span {
	font-size:15px;
}

@media (max-width: 768px) {
	#inlineBasket {
		min-width: 60px;
		width:auto;
		padding: 0 5px;
	}

	#contactInfo {
		display: none;
	}

	#inlineBasket .totals {
		margin:0;
		width: 100%;
		text-align: center;
	}
}

#loadme a.basketItem,
#loadme2 a.basketItem {
	color:#9c9e9f;
    overflow:hidden;
    display:inline;
}

#loadme a.moreItems,
#loadme2 a.moreItems {
	display:block;
	margin-top:3px;
	width:200px;
}

#loadme .miniBasketPrice,
#loadme2 .miniBasketPrice {
	color:#999;
}

#loadme .itemList,
#loadme2 .itemList {
	display:block;
	color:#9c9e9f;
	background-color:#fff;
	font-size:11px;
}

#loadme .basketLinks,
#loadme2 .basketLinks {
	width:100%;
	background-color:#B9B9BB;
	text-align:right;
	height:25px;
	font-size:11px;
	line-height:27px;
}

#loadme .basketLinks a,
#loadme2 .basketLinks a {
	margin:0 10px 0 0;
	color:#fff;
}

.itemList .tbl {
	display:table;
	margin:5px;
	width:196px;
}

.itemList .tr {
	display:table-row;
}

.itemList .th {
	display:table-cell;
	font-weight:bold;
	text-align:left;
	color:#58585a;
	padding-bottom:5px;
	*float: left;
}

.itemList .td {
	display:table-cell;
	text-align:left;
	border-top:1px solid #dae3e4;
	padding:5px 0;
	*float: left;
}

.itemList .td.qty {
	text-align:center;
}

.itemList .total {
	font-weight:bold;
	color:#58585a;
	width:160px;
}

.itemList .prodImage {
	max-width:45px;
	float:left;
	margin-right:5px;
}

.itemList .items, .itemList .item {
	width:160px;
}

.itemList .qty {
	width:45px;
}

.itemList .price {
	padding-left:5px;
}

.itemList .total.price {
	width:auto;
}

/*################ Search ################*/

#inlineSearch {
	float: right;

    text-align:left;
    width:215px;

    padding:0;
    margin:45px 0 10px 0;
}

#inlineSearch .txtSearch {
	border:1px solid #e5e5e5;
	color: #777;
    font-size:12px;
    float:left;
    height:27px;
    line-height:27px;
    padding-left:5px;
    padding-top:0;
    width:180px;
    font-style:italic;

}

#inlineSearch .goBtn {
   float:left;
   margin:0 0 0 0;
   width:27px;
   height:31px;
}



@media (max-width: 768px) {

	.navbar-form {
		border:0;
		width:70%;
		float:left;
		padding:0;
		margin-left:0;
		line-height:25px;
		box-shadow: none;


	}

	#inlineSearch {
		position: absolute;
		right:15px;
		top:-100px;
	}


	.inline-search {
	    float:none;
	    text-align:left;
	    width:100%;
	    height:27px;
	    line-height: 27px;
	    padding:0;
	    margin:2px 0 0 0;
	    position: relative;

	}

	.inline-search .txtSearch {
		border:0;
		color: #777;
	    font-size:12px;
	    height:27px;
	    line-height:27px;
	    padding-left:5px;
	    padding-top:0;
	    width:100%;
	    font-style:italic;

	}

	.inline-search .goBtn {

	   margin:0;
	   width:30px;
	   height:28px;
	   position:absolute;
	   right:1px;
	   top:0;
	   overflow: hidden;
	}

	.inline-search img {

	}


}
/*############## Category navigation definitions 7 ###############*/

#nav {
	margin:0 0 10px 0;
	background: #7E122E; /* Old browsers */


	border:1px solid #e4e4e4;
	border-top:0;
	text-align: left;
	line-height:30px;
	border-radius: 0;

	padding:0;
}

.navbar {
	min-height:30px;
}

.navbar-collapse {
	padding: 0;
}

#nav .container-fluid {
	padding:0 5px;
}

@media only screen and (min-width : 768px) {

    .dropdown:hover .dropdown-menu {
        display: block;
    }

	#nav ul.nav > li.dropdown:hover > a {
		background-color: #fff;

		color:#7E122E;
	}

}

#nav li {
	list-style-type: none;
}

#nav li a {
	color:#fff;
}

#nav li li a {
	color: #333333;
	text-transform: none;
	font-size: 12px
}

.nav > li > a {
	padding:7px 8px;
	font-size:14px;
	font-weight: bold;
}

#nav .navbar-nav > .active > a,
#nav .navbar-nav > .active > a:hover,
#nav .navbar-nav > .active > a:focus {
	font-weight:bold;
	background: transparent;
}

#nav .navbar-nav > .open > a,
#nav .navbar-nav > .open > a:hover,
#nav .navbar-nav > .open > a:focus{
	background-color: #fff;
	color:#5D090E;
}

#nav .navbar-nav .open li a {
	color: #333333;
	text-transform: none;
}

.dropdown-menu {
	left:-1px;
	border-top-color: #fff;
	margin-top: 0;
}

.navbar-default .navbar-nav .open .dropdown-menu > .active > a,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
  	background-color: transparent;
  	font-weight: bold;
}

#nav .dropdown-menu > .active > a {
	background-color: #7E122E;
	color:#fff;
}

@media(min-width:768px) and (max-width:991px) {
	.nav > li > a {
		font-size: 12px;
		font-weight: normal;
		padding:10px 5px;
	}

	.nav > li > a > span {
		display: none;
	}

	.navbar-collapse {
		padding-left:0;
		padding-right: 0;
	}

}

@media (max-width: 767px) {
	.navbar-collapse {
		padding: 0 15px;
	}

	#nav .container-fluid {
		padding:0 15px;
	}

	#nav .navbar-nav > .open > a,
	#nav .navbar-nav > .open > a:hover,
	#nav .navbar-nav > .open > a:focus {
		background-color: transparent;
		border-radius: 0;
		color:#fff;
	}

	#nav .navbar-nav .open li a {
		color: #fff;
		text-transform: none;
	}

	#nav li li {
		border-bottom: 1px solid #0057aa;
	}

	.navbar-default .navbar-toggle {
		border:0;
	}

	.navbar-default .navbar-toggle .icon-bar {
		background-color:#fff;
	}

}

.nav > li:nth-child(8) > a{
	background-color:#b80d0d;
}

/*--- products 1 ---*/
/*################## Product headers ##################*/

#productCode {
	color: #767676;
	display: block;
	line-height: 20px;
	padding-bottom: 5px;

}

#productListContainer {
	margin: 0;
	padding: 0;
}

/*############# Product Container Brief ##############*/

.productContainerBrief {
    margin:10px 0;
    position:relative;
    width:100%;
    text-align:left;
    background-color:#fff;
    box-sizing:border-box;
}


.productContainerBrief .overlay {
	background: url('images/layout/more-info.png') no-repeat center;
	color:#fff;
	display:none;
	font-size:24px;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:9999;
	background-color: rgb(0,107,211);
	background-color: rgba(0,107,211,.8);
}

.overlay a {
	display: block;
	width: 100%;
	position: absolute;
	top:0;
	bottom: 0;
}

.productContainerBrief:hover .overlay {
	/*display:block;*/
}

.productContainerBrief .overlay .moreInfo {
	float:left;
}

.productContainerBrief .flash {
	position:absolute;
	left:-1px;
	top:-1px;
	z-index:99;
}

.productContainerBrief .productTitle {
    color:#000;
	font-weight:bold;
	font-size:13px;
    height:63px;
    overflow:hidden;
    margin:0;
	text-align:left;
	padding:0 7px 2px 7px;
	margin-bottom: 4px;
}

.productContainerBrief .productTitle h2 {
	font-size: 13px;
	font-weight: bold;
	margin:0;
	padding: 0;
}

.productContainerBrief .productTitle a {
	display: block;
	height:45px;
	line-height: 1.2
}

.productContainerBrief .productTitle a:hover {
	color:	#333;
}

.productContainerBrief .productTitle small {
	font-weight:normal;
}

.productContainerBrief .productImage {
	height:145px;
	text-align: center;
	white-space: nowrap;
	position: relative;
}

.helper {
    display: inline-block;
    height: 145px;
    vertical-align: middle;
}

.productContainerBrief .productImage img {
	max-height:145px;
	vertical-align: middle;
	max-width: 100%;
	top: 5px;
	position: relative;
}

.productContainerBrief .productImage span a {
	display: block;
}
.productContainerBrief .more-info {
	position: absolute;
	bottom:3px;
	left:0;
	right:0;
	text-align: center;
	background-color: rgba(255,255,255,.7);
}

.productContainerBrief .more-info a {
	color:#333;
}
.productContainerBrief .productInfo {
	/*background: -moz-linear-gradient(top,  #d4d4d4 0%, #d6d6d6 2%, #e5e5e5 8%, #ebebeb 13%, #ededed 17%, #ededed 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#d4d4d4), color-stop(2%,#d6d6d6), color-stop(8%,#e5e5e5), color-stop(13%,#ebebeb), color-stop(17%,#ededed), color-stop(100%,#ededed));
	background: -webkit-linear-gradient(top,  #d4d4d4 0%,#d6d6d6 2%,#e5e5e5 8%,#ebebeb 13%,#ededed 17%,#ededed 100%);
	background: -o-linear-gradient(top,  #d4d4d4 0%,#d6d6d6 2%,#e5e5e5 8%,#ebebeb 13%,#ededed 17%,#ededed 100%);
	background: -ms-linear-gradient(top,  #d4d4d4 0%,#d6d6d6 2%,#e5e5e5 8%,#ebebeb 13%,#ededed 17%,#ededed 100%);
	background: linear-gradient(to bottom,  #d4d4d4 0%,#d6d6d6 2%,#e5e5e5 8%,#ebebeb 13%,#ededed 17%,#ededed 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d4d4d4', endColorstr='#ededed',GradientType=0 );*/
	min-height:108px;
    	height:auto;
    	width:100%;
    	padding:8px 0 0 0;
    	box-sizing:border-box;
}

.productContainerBrief hr {
	width: 100%;
}

.productType {
	min-height: 70px;
}

.productInfo .buttons {
	float:right;
	margin-right:5px;
	margin-top:2px;
	width:58px;
}

.productInfo .buttons a {
	background-color:#000;
	float:right;
	height:17px;
}

/*############## individualPriceDisplay ###############*/

.productContainerBrief .prod-code {
	font-size:11px;
	font-weight:normal;
	margin-top: 3px;
	    white-space: nowrap;
}

.productContainerBrief .stockListing {
	/*height:24px;
	line-height:14px;*/
	font-weight:normal;
	text-align: right;
	font-size:11px;
	margin-top: 3px;


}

.productContainerBrief .stockListing .in {
	/*color:#82bd0f;
	color:#717375;*/
}

.productContainerBrief .stockListing  .out {
	/*color:#8e0014;
	color:#717375;
	color:#e2a501*/
}
.productContainerBrief .stockListing .dd {
/*	color:#0068b5;*/
}


.productContainerBrief .stockListing a {
	text-decoration:none;
	color:#717375;
}

.productContainerBrief .buyNow {
	background: #D6B45F;
	/*background: -moz-linear-gradient(top,  #f98311 1%, #D6B45F 100%);
	background: -webkit-linear-gradient(top,  #f98311 1%,#D6B45F 100%);
	background: linear-gradient(to bottom,  #f98311 1%,#D6B45F 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f98311', endColorstr='#D6B45F',GradientType=0 );
	border-radius:3px;*/
	color:#fff;
	float:left;
	padding:5px 5px;
	font-weight:bold;
	text-transform:uppercase;
	margin:0 0 0 7px;
}

.productContainerBrief .infoButton {
	background: #ADACAC;
	/*background: -moz-linear-gradient(top,  #f98311 1%, #D6B45F 100%);
	background: -webkit-linear-gradient(top,  #f98311 1%,#D6B45F 100%);
	background: linear-gradient(to bottom,  #f98311 1%,#D6B45F 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f98311', endColorstr='#D6B45F',GradientType=0 );
	border-radius:3px;*/
	color:#fff;
	float:left;
	padding:5px 5px;
	font-weight:bold;
	text-transform:uppercase;
	margin:0 0 0 7px;
}

.productContainerBrief .infoButton .fa-solid, .productContainerBrief .buyNow .fa-solid {
	color: #fff;
	padding: 0;
	margin-right: 6px;
}


.productContainerBrief .buyNow:hover {
	text-decoration:none;
	background:#7E122E;
}

.productContainerBrief .infoButton:hover {
	text-decoration:none;
	background:#7E122E;
}

.productContainerBrief .individualPrice {
	color:#7E122E;
	font-weight:bold;
	float:right;
	font-size:14px;
	height:24px;
	line-height:24px;
	margin:0 7px 0 0;
	text-align:right;
}

.productContainerBrief .individualPrice .price .nowPrice {
	color:#b50613;
	line-height:12px;
}

.productContainerBrief .individualPrice .price .wasPrice {
	font-size:11px;
}

.productContainerBrief .individualPrice .price.saving {
	line-height:12px;
	margin-top:-2px;
}

.productContainerBrief .variants {
	display: block;
	float: left;
	font-size: 12px;
	height: 30px;
	width: 100%;
}

.productContainerBrief .variants .price {
	display:block;
	float:left;
	line-height:15px;
	overflow:hidden;
	padding-right:5px;
	text-align:right;
	width:85px;
}

.productContainerBrief .variants .variantPrice {
	width: 100%;
	float: left;
	display: block;
	line-height: 15px;
	overflow: hidden;
}

.productContainerBrief .variants .price {
	display: block;
	float: left;
	padding-right: 5px;
	line-height: 15px;
	overflow: hidden;
	text-align: right;
	width: 85px;
}

@media (max-width: 768px) {
	.productContainerBrief .individualPrice {

		float:none;
		width:100%;
		text-align: center;

	}

	.productContainerBrief .buyNow, .productContainerBrief .infoButton {
		float: none;
		margin:5px auto 0 auto;
		text-align: center;
		width:100%;
		display: block;
	}

	.productContainerBrief .stockListing  {
		height:18px;
		margin-top:2px;
	}

	.productContainerBrief .productInfo {
    min-height:165px;
    height:auto;
}
}


.searchTerm {
	background-color:#f1f1f1;
	display:block;
	margin:10px 0 ;
	padding:5px 10px;

}

.searchedFor {
	font-weight:bold;
}

.searchTerm .searchNoResults {
	font-weight:bold;
	margin:10px 0 0 0;
	display: block;
}



/*--- product info 4 --*/

/*############# Product Header ##################*/

.product-info-container .header {
	border-bottom:1px solid #e5e5e5;
	overflow:hidden;
	margin-top:10px;
	padding-bottom:15px;
	position:relative;
	width:100%;
}

.product-info-container .header h1 {
	color:#000;
	font-size:21px;
	font-weight:normal;
}

.product-info-container  {
	margin-bottom:10px;
	padding:20px;
}

/*############# Product Image ##################*/

.product-info-container .main-image {
	margin:0 0 10px 0;
	position:relative;
	text-align: center;
	z-index: 10;
}

.image-test {
	width: 100%;
	text-align: center;
}

.product-info-container .main-image img {
	text-align: center;
	display:inline-block;
	vertical-align: middle;
	max-height: 400px;
}

.product-info-container .main-image a {
	text-align: center;
	width: 100%;
	display: block;
}

.product-info-container .enlargeImage {
	text-align: left;
	position: absolute;
	right: 21px;
	color: #fff;
	bottom: 1px;
	font-size: 12px;
	line-height: 28px;
	width:124px;
	padding: 0 0 0 29px;
	background: url('images/layout/bg_enlargeImage.png') no-repeat top left;
	pointer-events: none;
}

.alternateImages {
	margin: 9px 0 20px 0;
	position:relative;
	text-align:left;
	width: 100%;
	z-index:1;
	padding:10px;
	background-color: #fff;
}

.alternateImages .slide {
	width:85px;
	display: inline-block;
	padding:0 5px;
}
.alternateImages .slide img {
	max-width: 100%;

}

.alternateImages .bx-wrapper .bx-prev {
	left:-32px;
	background: url("images/layout/controls.png") no-repeat scroll 0 -24px transparent;
	background-size: 70px 47px;
}

.alternateImages .bx-wrapper .bx-next {
	right:-32px;
	background-position: -31px -24px;
	background-size: 70px 47px;
}

.alternateImages .bx-wrapper .bx-next:hover {
	background-position: -31px 0;
}

.alternateImages  .bx-wrapper .bx-controls-direction a {
	width: 24px;
	height:24px;
	margin-top:-12px;

}

@media (max-width: 768px) {
	.product-info-container .header {
		margin-top: 0;
	}

	.product-info-container .main-image {
		padding: 0;
		margin-bottom: 0;
	}

	.enlargeImage {display: none;}

	.additional-buttons .wishlist-col {
    		padding-right: 15px !important;
	}
	.additional-buttons .mail-col {
		padding-left: 15px !important;
	}
	.product-info-container  {
		border: 0;
		border-radius: 0;
		margin-bottom:0;
		padding:0;

	}
}

.helper-thumb {
	display: inline-block;
	height: 85px;
	vertical-align: middle;
}

#bx-pager a img {
	max-width: 100%;
	display:inline-block;
	max-height: 85px;
	vertical-align: middle;
}
/*
 #bx-pager a:hover,
 #bx-pager a.active{
	border: solid #d4d4d8 1px;
}*/
/*############# Product Information container ##################*/

.product-info-container  {
	margin-top:20px;
	background-color: #fff;
	padding: 10px 20px;
	text-align: left;
}


.product-info-container .productText {

	padding:10px 0;
	position:relative;
}

.productShortText,
.productLongText {
	color:#717375;
	font-weight:normal;
	line-height:16px;
	padding: 0 0 15px 0;
}

@media (max-width: 480px) {
	.stock {
		position: relative;
		top:-10px;
	}
}

/*####################### Free gift #######################*/

.freeGiftRadio {
	display: none;
}

.freeGift h2 {
	font-size: 18px;

	margin:20px 0 10px 0;

}

.freeGift {
	background-color:#eeeef1;
	box-shadow:inset 0 0 0 1px #FFFFFF;

	padding:15px;

	margin-top:10px;
	margin:10px auto;
	border: 1px solid #dadae3;
}

.freeGiftImage {
	background-color: #fff;
	border: 1px solid #dadae3;

}

.freeGiftImage img {
	margin:0 auto;
	max-height:100px;
	border:0;
}

.freeGiftName {
	font-size:14px;

}

/*
.stock span {
	color:#82bd0f;
}

.stock span.out {
	color:#8e0014;
	color:#e2a501;
}*/

.productCode {
	color:#000;
	margin:5px 0 15px 0;
}

.productCode span {
	color:#777;
}

.bullets {
	width:100%;
}

.bullets ul {
	margin:0 0 0 15px;
	padding:0 0 15px 0;
}

.bullets ul li {
	list-style-type:disc;
}

.product-info-container .additional-buttons {
	padding:14px 0 10px 0;
	width:100%;
}

.additional-buttons a {
	background-color:#7E122E;
	color:#fff;
	width:100%;
	text-align: center;
	line-height: 28px;
	text-transform: uppercase;
	font-weight: bold;
	text-decoration: none;
	margin-bottom:2px;
	display: block;
}

.additional-buttons .fa-solid, #purchaseContainer .fa-solid {
	color: #fff;
}

.additional-buttons a:hover {
	background-color:#adacac;
	color: #7E122E;
}
.additional-buttons .wishlist-col {
	padding-right:0;
}

.additional-buttons .mail-col {
	padding-left:0;
}

/*############# Xsells 4 ##################*/

#relatedItems.panel {
	border: none !important;
box-shadow:none !important;
}

#relatedItems .header {
border-bottom: none !important;
}

#relatedItems .page-content {
padding: 0;
}


#relatedProducts {
	min-height:220px;
	line-height:12px;
}

.relatedProduct {
	border:1px solid #f3f3f3;
	margin-bottom:15px;
	padding:0;
	position:relative;
}

.relatedImage {
	display: table-cell;
	height:140px;
	width:100%;
	padding: 0 5px;
	position:relative;
	text-align: center;
	vertical-align:middle;
}

.relatedImage img {
	max-width:100%;
    max-height:140px;
	vertical-align:middle;
	display:block;
	text-align: center;
}

.relatedInfo {
	background-color:#f7f7f8;
	border-bottom:1px solid #fff;
	padding-top:5px;
}

.relatedProductName {
	color:#000;
	font-weight:bold;
	font-size:13px;
    height:30px;
    overflow:hidden;
    margin:10px 0 0 0;
	text-align:center;
	width:100%;
}

.relatedProductName a {
	color:#000;
}

.relatedProduct .price {
	color:#006bd3;
	font-size:12px;
	height:24px;
	line-height:24px;
	margin:5px 0 0 0;
	text-align:center;

}

/*############# Free Gift ##################*/

.freeGiftRadio {
	display: none;
}

.freeGift {
	width:100%;

}

.freeGift h2 {
	font-weight: normal;
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 1px solid #E5E5E5;
	font-size: 14px;
}

.freeGift .relatedImage {
	width:75px;
	height:75px;
	overflow: hidden;

	margin:0;
	text-align: left;
}

.freeGift img {
	width: 75px;
}

.giftName {

	line-height: 70px;
	font-weight: bold;
	margin-left:5px;
}

.giftName a {
	color: #717375
}

/*############# Product Container Detail - Variants 1 ##################*/

#purchaseContainer {
	font-size:12px;
	padding:15px 15px 13px 15px;
	background-color:#7E122E;
	color:#fff;
	margin:10px 0;

}

#purchaseContainer input  {
	border:1px solid #fff;

	padding:3px;
	margin-left:1px;
}

#purchaseContainer .priceLine {
	font-size:18px;
	font-weight:bold;
}

#purchaseContainer .priceLine small {
	font-size: 12px;
}

.variants .options {
	width:100%;
	padding:15px 0;
	border-bottom:1px solid #D4D4D6;
}

.options .variantSelect {
	font-weight:bold;
	font-size:13px;
}

.variants select {
	max-width:200px;
}

#purchaseContainer .variants .priceHeader,
#purchaseContainer .individual .priceHeader {
	line-height:21px;
	padding:5px 0 7px 0;
	width:55px;
	color:#86a3a7;
	text-align:left;
}

#purchaseContainer .variants .priceInfo,
#purchaseContainer .individual .priceInfo {
	line-height:14px;
	padding:7px 0 7px 2px;
	width:25px;
}

#purchaseContainer .individual .priceInfo input
#purchaseContainer .variants .priceInfo input{
	background-color:#e7e7e8;
	border:0;

	font-size:10px;
	text-align:center;
	padding:3px 0;
}

.variants td,
.variants th,
#purchaseContainer .individual td,
#purchaseContainer .individual th {
	color:#717375;
	padding:5px 0 5px 2px;
	text-align:left;
}

.variants th {
	border:0;
	font-weight:normal;
	width:90px;
	vertical-align:middle;
	line-height:12px;
	padding-left:0;
}

.variants td,
#purchaseContainer .individual td {
	padding:5px 0 5px 2px;
}

#purchaseContainer .add-to-basket {
	display:inline-block;

	background: #D6B45F;
	color:#fff;
	text-transform: uppercase;

	line-height: 28px;
	text-align: center;
	font-weight: bold;
	width: 100%;
}

@media (max-width: 991px) {
	#purchaseContainer .add-to-basket {
		margin-top:10px;
	}
}

#purchaseContainer .vat {
	font-size:12px;
	font-weight:normal;
}

#purchaseContainer .variants .matrix,
#purchaseContainer .individual .matrix {
	color:#fff;/*
	float:left;
	margin:10px 10px 0 15px;
	width:120px;*/
}

#purchaseContainer .variants .matrix th,
#purchaseContainer .individual .matrix th {
	border-bottom:1px dotted #e0e0e0;
	color:#fff;
}

#purchaseContainer .variants .matrix .matrix_qty,
#purchaseContainer .individual .matrix .matrix_qty  {
	border-right:1px dotted #e0e0e0;
	color:#fff;
}

.matrix td, .matrix th,
#purchaseContainer .individual .matrix td {
	/*color:#fff;
	padding:2px;*/
	font-size: 14px;
}

.matrix-title {
	margin-bottom:5px;
	margin-top:15px;
	color:#D6B45F;
	text-transform: uppercase;
	font-weight:600;
	
	font-size:16px;
}

.matrix {
	/*background-color: #D6B45F;*/
	border: 1px solid #dddddd;

}

.matrix th {
	color:#D6B45F;
}


.blank {
	display:none;
	padding:0;
}

#purchaseContainer .wasPrice {
	font-size:15px
}

#purchaseContainer .nowPrice {
	clear:both;
	color: #ab8c95;
	float:left;
	font-size:18px;
}

#purchaseContainer .saving {
	color:#ab8c95;
	clear:both;
	float:left;
	font-size:12px;
	font-weight:normal;
}

#purchaseContainer .price {
	color:#fff;
}

.inStock {
	color:#403b6d;
}

/* ########### individualPrice products ############ */
#purchaseContainer .individualPrice {
	float: left;
	margin:0;
	width:300px;
}

#purchaseContainer .individualPrice .matrix {
	border:1px solid #d1ebf5;
	float:left;
	width:150px;
}

#purchaseContainer .individualPrice .matrix th {
	border-bottom:1px solid #d1ebf5;
	color:#4c4a4a;
}

#purchaseContainer .individualPrice .matrix .matrix_qty {
	border-right:1px solid #d1ebf5;
}

#purchaseContainer .individualPrice td,
#purchaseContainer .individualPrice th {
	color:#000;
	margin: 0;
	padding: 4px 0;
}

#purchaseContainer .individualPrice th {
	color:#000;
	font-weight: bold;
}

/*############# kit items 1 ##################*/

#kitItems {
	margin-top: 10px;


}

.kitComponents {
	padding:0 15px;
}

#kitItems h2 {
	margin: 0;
	padding: 0;
	font-size: 14px;
	color: #b02c6b;
}

#kitItems table thead {
	display: none;
	border: 0;
	padding: 0;
	margin: 0;
}

#kitItems .space {
	background: url('images/layout/products/relatedProducts_hr.gif') top center no-repeat;
}

#kitItems h3 {
	font-size: 80%;
	color: #4f4f4f;
	padding: 0;
	margin: 0;
	line-height: 200%;
	position: relative;
}

#kitItems .bodyContent div.last {
	border-right: 0;
}

#kitItems .bodyContent a.image img {
	line-height: 100px;
	vertical-align: middle;
}

#kitItems .bodyContent a.image {
	vertical-align: middle;
	width: 150px;
	display: block;
	text-align: center;
}

.thumbs {
	float:left;
	border:#000 solid 1px;
	margin-bottom:20px;
	margin-right:20px;
}

.fb-like img,
#like iframe,
.fb_iframe_widget{
	vertical-align:top;
}

.fb-like {
	margin-right:15px;
}

.social {
	width:100%;
	margin-top:-1px;
	*display:none;
	padding-bottom: 20px;
}

.social .twitter-share-button{
	width:	95px !important
}

.social #___plusone_0,
.social #___plusone_0 iframe {
	width:75px !important;
}

.social .pintrest {
	float:right;
	width:40px;
	height:20px;
}

#specification span span {
	display:inline-block;
	font-weight:bold;
	min-width:140px;
}

.downloads {
	margin:0 0 0 5px;
	padding:0;
}

.downloads li {
	list-style-type:none;
	background:url('images/layout/save.png') no-repeat top left;
	line-height:24px;
	padding-left:33px;
	padding-bottom: 5px;
}

button.product-accordion-button {
    width: 100%;

    text-align: left;
    padding: 12px 15px;
    background-color: #EAEAEA !important;
    color: #000 !important;
    border: none !important;
    font-size: 15px;

}/*

button.product-accordion-button:after {
    content: '\f068';
    font-family: 'FontAwesome';
    float: right;
}

button.product-accordion-button.collapsed:after {
    content: '\f067';
    font-family: 'FontAwesome';
    float: right;
}

button.collapsed {
	background-color: #EAEAEA !important;
	border-color: #eaeaea;
	color: #000 !important;
	border: none !important;
}
*/
.panel {
	margin-bottom: 5px !important;
	border-color: #e3e3e3;
	border-radius: 0;

}

.accordion .panel div {
	/*padding:0px 15px;*/

}

.accordion .panel p{
	padding:5px 15px;
border: none !important;
}

ul.downloads {
	padding:15px;
}


.accordion {
	margin:10px 0;
	padding-top:10px;
}

.accordion .glyphicon {
	color: #949294;
	font-size: 18px
}

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
	min-height:200px;
	margin:15px;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.kitComponents {
	width:100%;
	display:block;
}

.kitComponents table {
	margin-top:10px;
}

.kitComponents table tr td:first-child {
	padding: 0 10px 10px 0
}

a.wishlist:hover i,
a.wishlist:focus i,
a.wishlist:active i,
a.tell-a-friend:hover i,
a.tell-a-friend:focus i,
a.tell-a-friend:active i,
a.mail:hover i,
a.mail:focus i,
a.mail:active i
 {
  color: #7E122E;
}

.kitItems {
	display:block;
}

.kitItem {
	display:inline-block;
	width:250px;
}

.kitComponents  .kitImage {
	width:90px;
	height:90px;
	border:1px solid #eee;
	display:table-cell;
	vertical-align:middle;
	text-align:center;
}

.kitComponents  .kitImage img{
	max-width:70px;
	max-height:70px;
	vertical-align:middle;
	text-align:center;
}

.kitComponents .stockKit {
	margin-top:3px;
}

.kitComponents .stockKit .in {
	/*color:#82bd0f;*/
}

.stockKit .out {
	color:#8e0014;
	color:#e2a501;
}
/*############## [ Category Selection ] #############*/
.category {
	border:1px solid #cacaca;
	margin: 0 0 20px 0;
	padding:0;
	position:relative;

	width: 100% !important;
}

.category .catImage {
	display:block;
	text-align:center;
	width:100%;
}

.category span {
	display:block;
	padding:8px 0;
	text-align:center;
	width:100%;
	background-color:#7E122E;

}

.category img {
	text-align:center;
	vertical-align:middle;
/*
 	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.5s ease;*/
    max-width: 100%;
    display: inline-block;
}
/*
.bwWrapper {
    position:relative;
    display:block;
	cursor:pointer;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.5s ease;
    opacity:0.9;
	filter:alpha(opacity=90);
	text-align: center;
	width: 100%;
}
.bwWrapper:hover{
	opacity:1;
	filter:alpha(opacity=100);
}*/


.category h2 {
	display: block;
	font-size:14px;
	font-weight:normal;
	margin: 0;
	overflow:hidden;
	padding: 0;

}

.category a,
.category a:link,
.category a:visited {
	color:#fff;
	font-weight:bold;
}

/*######################################*/
/*############# Products ###############*/
/*######################################*/

/*############## [ Product pages] ##################*/

.backBtn {
	padding-left: 10px;
}

/*############# cat header #############*/

#catHeader {
	margin: 0;
	position:relative;
	z-index:101;
}

#catHeader .heading {
	margin-bottom:20px;
	padding:10px 10px 10px 10px;
background-color:#7E122E;
}

#catHeader .heading h1 {
	color:#fff;
	font-size:22px;
	font-weight: 200;
	position:relative;
	z-index:101;
	margin-bottom: 0px !important;
}

.heading .content {
	padding-top:10px;
}

#categoryTitleLarge .contentText {
	padding:5px 0 10px 0;
	margin-top: 10px
}

@media (max-width: 767px) {
	#catHeader .heading {

		min-height:40px;

	}

	#catHeader .heading h1 {
		font-size: 16px;
		text-align: left;
		font-weight: bold;
		margin:0;
	}

		#catHeader .heading table{
		margin:15px 0 0 0;
	}

	.productSort {
		margin-bottom: 5px;
	}

}

/*################# [ Product pager] ###############*/

.pageNoContainer {
	color:#6b6b6b;
	font-size:12px;
	padding: -1px 15px;
	margin-bottom: 10px;
}

.pageList {
	display: block;
	text-align: right;
	margin-top:7px;
}

/*############ [ Product pager link styles ] ##########*/

.pageNoContainer .pageNo,
.pageNoContainer .nextPageLink,
.pageNoContainer .prevPageLink,
.pageNoContainer .current {
	margin: 0 0 0 2px;
	padding: 4px 9px 4px 8px;
	clear: none;
	text-decoration: none;
	position: relative;
	width: auto;
	color:#fff;
	background-color: #ADACAC;
	border: 1px solid #ADACAC;
	font-size: 14px;
}

.pageNoContainer .pageNo:hover,
.pageNoContainer .nextPageLink:hover,
.pageNoContainer .prevPageLink:hover,
.pageNoContainer .current {
	color:#fff;
	background-color: #7E122E;
	border-color: #7E122E;
}

.lastPageLink, .firstPageLink {
	display:none;
}

/*############### [ Category header styles ] ##############*/

.categoryContent p {
	margin: 0 0 10px 0;
	padding: 0;
}

/*############ Variants global ##############*/

.variants input {
	cursor: pointer;
}

#mobile-filters-wrapper  {
	background-color: #7E122E;
	margin-bottom: 10px;

	padding:0 10px;
}

#mobile-filters-wrapper h3 a {
	font-size: 12px;
	font-weight: bold;
	line-height: 30px;
	color:#fff;
	display: block;
}

#mobile-filters-wrapper h3 a::after {
	content: "+";
	float: right;
	font-size: 16px;
	font-weight: normal;
}

#mobile-filters-wrapper h3 a.accordion-expanded::after {
	content: "-";
}

#mobile-filters .lhsBox {
	background-color: #fff;
	margin-bottom: 15px;
}

#mobile-filters .lhsBox .foot {
	display: none;
}

#mobile-filters  {
	padding-bottom: 5px;
}

/*################# My Account ###################*/

.my-account h2,
.my-account .order-confirmation h2,
.my-account h3 {
	font-size:22px;
	font-weight: normal;
	padding-bottom: 10px;
}

.horiList {
    margin: 0;
    padding: 15px 0;
    list-style-type: none;
}

.horiList li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e7e7e7;
    list-style-type: none;
    display:block;
    line-height:35px;
}

.horiList li a {
	display:block;
	width:100%;
	color:#575757;
	-webkit-transition:all .2s ease-in-out;
   	-moz-transition:all .2s ease-in-out;
   	-o-transition:all .2s ease-in-out;
   	transition:all .2s ease-in-out;
}

.horiList li a span {
	float:right;
	font-family:verdana;
	color:#9b9b9b;
}

.horiList li a:hover,
.horiList li a:hover span {
	color:#2F69B3;
	text-decoration: none;
}

.my-account .dp_statement {
	margin: 10px 0 0 0;
}

.my-account .dp_checkboxes {
	margin-top: 10px;
}

.my-account .dpUpdate {
	background: #222;
	color: #fff;
	padding: 3px 15px;
	font-weight: bold;
	margin: 10px 0 0 4px;
	float: left;
}

.my-account .stepInner table {
	margin: 0;
	padding: 0;
}

.my-account label {
	font-weight: normal;
}

.order-confirmation {
	margin-bottom:20px;
}

.order-confirmation  h1 {
	margin:0 0 5px 0;
}

.order-confirmation h2 {
	margin:5px 0 5px 0;
}

.order-confirmation p {
	line-height: 2.5;
}

.order-details th {
	padding-right: 5px;
}

/*################################ keep ################################*/

.brochure-request table {
	width:100%;
}

.brochure-contact, .brochure-selection, .here-about {
	padding:10px;
	border:1px solid #eee;
	border-radius: 6px;
	margin:20px 0;
}

.brochure-request h2 {
	margin-bottom: 15px;
}

.brochure-request .form-group {
	margin-bottom:5px;
}

.brochure-selection input {
	margin-right: 5px;
	display: inline-block;
}


.basket-container h1 {
	margin-top: 10px;
	padding:10px;
}

.basketButtons .continue-shopping {
	text-align: center;
	width:100%;
	margin-bottom: 10px;
	padding:2px 10px;
}

.basketButtons {
	margin: 20px 0;
}

.basketButtons .checkout-button {
	width: 100%;
	text-align: center;
	background: #D6B45F;
	/*background: -moz-linear-gradient(top,  #f98311 1%, #D6B45F 100%);
	background: -webkit-linear-gradient(top,  #f98311 1%,#D6B45F 100%);
	background: linear-gradient(to bottom,  #f98311 1%,#D6B45F 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f98311', endColorstr='#D6B45F',GradientType=0 );*/
	padding:2px 10px;
}

@media (min-width: 768px) {
	.button-col {
		padding-right:0;
	}
}

@media (max-width: 768px) {

	.basketButtons .checkout-button, .basketButtons .continue-shopping {
		padding:4px 10px;
	}

}

.basketButtons .paypalBtn {
	margin-top: 10px;
	float: right;
}

.basket-footer {
	margin-top:0;
	padding: 6px 6px 15px 6px;
	width: 100%;
	background-color:#F7F7F9;



}

/*############ [ Basket table ] ###############*/

.tbl-basket-totals {
	border-collapse: collapse;
	width:98%;
	margin-top:5px;
}

.tbl-basket-totals th {
	padding: 5px 10px 5px 0;
	text-align: right;
	vertical-align:bottom;
	color:#444446;
	font-weight:normal;
}

.tbl-basket-totals td,
.tbl-basket-totals td.grandTotal {
	text-align: right;
	padding: 5px 0;
	width:70px;
}

.tbl-basket-totals .totals {
	font-size:14px;
	vertical-align:top;
	font-weight:normal;
}

.tbl-basket-totals .grandTotal {
	font-size: 16px;
	font-weight: normal;
	padding:5px 10px 5px 0;
}

.tbl-basket {
	width: 100%;
	padding: 0;
	margin: 10px 0 0 0;
	border-collapse: collapse;
	border: 0;
	font-size: 14px;
}

.tbl-basket th,
.tbl-basket td {
	margin: 0;
	padding: 0;
	text-align: center;
}

.tbl-basket td {
	padding: 2px 0;
	vertical-align: top;
	background-color: #fff;
}

.tbl-basket th span {
	padding: 0 2px;
	font-size: 16px;
}

.tbl-basket .productInformation,
.tbl-basket .content  {
	text-align: left;
}

.tbl-basket .content .product-link {
	color:#000;
	font-size:16px;
}

.tbl-basket .qty {
	text-align:center;
	position:relative;
	float:left;
	height:39px;
	width:36px;
	margin:0;
	padding:0;
	border: 1px solid #e4e4e4;
	border-width:0 1px 1px 0;
	background: #fff;
	color:#575757;
}

.tbl-basket .qtyIncrease,
.tbl-basket .qtyDecrease {
	position:relative;
	float:left;
	height:39px;
	width:36px;
	margin:0;
	font-size:18px;
	color:#575757;
	line-height:39px;
	background: #fff;
	border: 1px solid #e4e4e4;
	border-width:0 1px 1px 0;
	text-align: center;
}

.tbl-basket .itemRemove {
	display:block;
	height:27px;
	width:27px;
	margin:0 auto;
	font-size:16px;
	background-color:#BABABC;
	line-height:25px;
	color: #fff;
	border-radius:5px;
	border: 1px solid #98989A;
	border-width:0 1px 1px 0;
}

.tbl-basket .qtyIncrease:hover,
.tbl-basket .qtyDecrease:hover,
.tbl-basket .itemRemove:hover {
	background: #7E122E;
	color: #ffffff;
	border-color: #005ab1;
	text-decoration: none;
}

.tbl-basket .qtyContainer {
	max-width:115px;
	width:108px;
	margin:0 auto;
}

.tbl-basket .qty-xs {
	margin:5px 0 0 0;
}

.basket-line-total {
	min-width:100px;
}

.tbl-basket th {
	background-color:#E5E5E8;
	color: #444446;
	font-weight: normal;
	padding: 10px 0 8px 0;




	font-size:16px;
	white-space: nowrap;
}

@media (max-width: 991px) {
	.tbl-basket th, .tbl-basket {
		font-size: 12px;
	}
}

.tbl-basket td {
	padding: 2px 0;
	vertical-align: middle;
	background-color:#F7F7F9;
}

.tbl-basket .saving {
	color: #cc0000;
	font-weight: bold;
	font-style: italic;
}

.tbl-basket .leftHead,
.tbl-basket .rightHead,
.tbl-basket .leftItem,
.tbl-basket .rightItem  {
	width: 10px;
}



.tbl-basket .productSpacer {
	padding: 15px 0 15px 0;
	margin: 0;
	vertical-align: bottom;
}

.tbl-basket .productSpacer span {
	width: 100%;
	border-bottom:1px solid #e0e0e0;
	height: 1px;
	padding: 0;
	margin: 0;
	float: left;
}

.kitItemsBasket {
	font-size:12px;
}

#tbl_basket .kitItemsBasket span {
	padding:0;
	display:inline;
}

#tbl_basket td .kitItemsBasket .in {
	/*color:#82bd0f;*/
}

#tbl_basket td .kitItemsBasket .out {
/*	color:#8e0014;*/
}

.additionalButtons {
	float:left;
	width: 140px;
	padding: 0;
	text-align: left;
	margin-top:17px;
}

.basketEmpty {
	padding: 10px 0;
	height: 350px;
}

.tbl-basket .tblHeader, .tbl-basket .tblHeaderRight {
	padding-bottom:15px;
}

.discount-box {
	padding:15px 10px 10px;

  	background-color: #ededf0;
  	margin-left: 5px;

}

.discount-box .btn {
	width:100%;
	text-align: center;
	border-radius: 0;
}

.discount-box .col-xs-4 {
	padding-left: 0;
}

.discount-box .col-xs-8 {
	padding-right: 5px;
}

.discount-box h2 {
	font-size: 16px;
}

.discount-box span {
	line-height: 2.5
}

@media (max-width: 768px) {
	.discount-box h2 {
		margin-bottom:10px;
	}

	.discount-box {
		padding:10px 10px 0 10px;
		margin-top:15px;
	}

	.tbl-basket-totals {
		margin-top:0;
	}
}

input[type=number] {
  -moz-appearance: textfield;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}


.wishlist-text {
	line-height: 3;
}


#orderContainer {
	float: left;
	width: 736px;
	padding-top: 20px;
}

#orderContainer input,
#orderContainer select,
#orderContainer textarea {
	font-size: 10px;
}

#orderContainer #stepHeader {
	float: left;
	background: url('images/layout/checkout/stepHeaderBg.gif') top left no-repeat;
	width: 716px;
	height: 35px;
	padding: 0px 10px;
}

#orderContainer #stepHeader h2 {
	float: left;
	margin: 0px;
	padding: 0px;
    width: 250px;
	font-size: 18px;
	line-height: 28px;
	color: #b02c6b;
	padding-top: 7px;
}

#orderContainer #stepHeader .inlineContent {
	padding-top: 10px;
	width: 462px;
	float: left;
	text-align: right;
	color: #b7648a;
	font-style: italic;
}

#orderContainer #stepHeader .inlineContent label {
	font-weight: bold;
}

#orderContainer .stepContent {
	float: left;
	width: 550px;
	padding-top: 10px;
	font-size: 12px;
}

#orderContainer .stepContainer {
	float: left;
	background: #fff url('images/layout/checkout/stepContentBg.gif') top left repeat-y;
	width: 716px;
	padding: 0px 10px;
}

#orderContainer .stepInner {
	float: left;
	width: 716px;
	padding: 0px;
	margin: 0px;
	color: #4e577a;
}

#orderContainer .stepInner label {
	color: #4e577a;
}

#orderContainer #orderFooterLeft {
	float: left;
	width: 340px;
	margin-right: 35px;
}

#orderContainer #orderFooterLeft #discountCodeContainer,
#orderContainer #orderFooterLeft #carriageContainer {
	float: left;
	background: #fff url('images/layout/basket/basketFooterLeftBg.gif') top left no-repeat;
	padding: 6px;
	width: 325px;
}

#orderContainer #orderFooterLeft #discountCodeContainerFooter,
#orderContainer #orderFooterLeft #carriageContainerFooter {
	float: left;
	width: 337px;
	background: #fff url('images/layout/basket/basketFooterLeftFooter.gif') top left no-repeat;
	height: 10px;
	padding-bottom: 15px;
}

#orderContainer #orderFooterLeft #discountCodeContainer h3,
#orderContainer #orderFooterLeft #carriageContainer h3 {
	float: left;
	width: 325px;
	line-height: 25px;
	color: #587e99;
	font-weight: bold;
	padding-bottom: 5px;
}

#orderContainer #orderFooterLeft #discountCodeContainer .content,
#orderContainer #orderFooterLeft #carriageContainer .content {
	width: 325px;
}

#orderContainer #orderFooterLeft #discountCodeContainer .content {
	text-align: center;
}

#orderContainer #orderFooterLeft #carriageContainer .content th {
	width: 80px;
	color: #7d83a7;
}

#orderContainer #orderFooterRight {
	float: right;
	width: 337px;
	margin-bottom: 15px;
}

#orderContainer #orderFooterRightHeader {
	float: left;
	width: 337px;
	background: #fff url('images/layout/basket/basketFooterRightHeader.gif') top left no-repeat;
	height: 10px;
}

#orderContainer #orderFooterRight div.totals {
	float: left;
	background: url('images/layout/basket/basketFooterRightBg.gif') bottom left no-repeat;
	width: 325px;
	padding: 6px 6px 0px 6px;
}

#orderContainer #additionalButtons {
	float: left;
	width: 325px;
	padding: 6px;
	text-align: center;
}

#tbl_orderTotals {
	float: left;
	border-collapse: collapse;
}

#tbl_orderTotals th {
	text-align: right;
	width: 223px;
	padding: 5px 0px;
	padding-right: 10px;
	color: #000;
}

#tbl_orderTotals td {
	text-align: left;
	padding: 5px 0px;
	color: #000;
}

#tbl_orderTotals .totals {
}

#tbl_orderTotals .grandTotal {
	color: #135e96;
	font-size: 16px;
	font-weight: bold;
	border-top: 1px solid #d2d5da;
	border-bottom: 1px solid #d2d5da;
	padding-top: 10px;
	padding-bottom: 10px;
}

#tbl_orderTotals .confirmButton {
	width: 337px;
	padding: 15px 0px;
	text-align: center;
}

/*############## [ order table ] ##############*/

#tbl_order {
	float: left;
	width: 100%;
	padding: 0px;
	margin: 0px;
	border-collapse: collapse;
	border: 0px;
	margin-bottom: 15px;
	color: #4e577a;
}

#tbl_order th,
#tbl_order td {
	padding: 0px;
	margin: 0px;
	text-align: center;
}

#tbl_order th {
	border-left: 2px solid #fff;
}

#tbl_order th span {
	padding: 0px 2px;
	font-size: 12px;
}

#tbl_order th.productInformation,
#tbl_order td.productInformation,
#tbl_order .leftHead,
#tbl_order th.rightHead {
	border-left: 0px;
	text-align: left;
}

#tbl_order td.productInformation .productImage {
	float: left;
	width: 130px;
	text-align: center;
	overflow: hidden;
}

#tbl_order td.productInformation .content {
	float: left;
	width: 309px;
}

#tbl_order td.productInformation .content b a {
	font-size: 14px;
	color: #3c467e;
}

#tbl_order td.productInformation .content table {
	float: left;
	border-collapse: collapse;
	width: 100%;
	border-bottom: 1px solid #e7ecef;
	margin-top: 5px;
}

#tbl_order td.productInformation .content th {
	background: transparent;
	padding: 0px;
	margin: 0px;
	font-size: 11px;
	text-decoration: none;
	font-weight: normal;
	width: 100px;
}

#tbl_order td.productInformation .content td,
#tbl_order td.productInformation .content th {
	text-align: left;
	border-top: 1px solid #e7ecef;
	padding: 2px;
	color: #7d83a7;
}

#tbl_order td.productInformation .content td.qtyContainer {
	width: 61px; /* Make sure the increase/decrease and qty input box appear side-by-side */
}

#tbl_order th {
	background: #fff url('images/layout/basket/basketHead.gif') top left repeat-x;
	padding: 7px 0px;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
}

#tbl_order th.leftHead {
	width: 5px;
	background: #fff url('images/layout/basket/basketLeftHead.gif') top left no-repeat;
}

#tbl_order th.rightHead {
	width: 10px;
	background: #fff url('images/layout/basket/basketRightHead.gif') top right no-repeat;
}

#tbl_order td {
	padding: 2px 0px;
	vertical-align: top;
}

#tbl_order td span {
	display: block;
	padding-top: 6px;
}

#tbl_order .leftItem {
	width: 5px;
	background: #fff url('images/layout/basket/basketLeft.gif') top left repeat-y;
}

#tbl_order .rightItem {
	width: 10px;
	background: #fff url('images/layout/basket/basketRight.gif') top right repeat-y;
}

#tbl_order .foot {
	background: #fff url('images/layout/basket/basketFoot.gif') top left repeat-x;
}

#tbl_order .leftFoot {
	width: 10px;
	background: #fff url('images/layout/basket/basketLeftFoot.gif') top left no-repeat;
}

#tbl_order .rightFoot {
	width: 10px;
	background: #fff url('images/layout/basket/basketRightFoot.gif') top right no-repeat;
}

#tbl_order .productSpacer {
	padding: 10px 0px;
}

#tbl_order .productSpacer span {
	float: left;
	width: 100%;
	border-top: 1px solid #d2d5da;
	height: 1px;
}

.qtyBox {
	float: left;
	width: 30px;
	padding-top: 4px;
	vertical-align: middle;
}

.qtyBox input {
	display: inline;
}

.qtyButtons {
	float: left;
	width: 27px;
}

.qtyDecrease,
.qtyIncrease,
.qtyDecrease img,
.qtyIncrease img {
	float: left;
}

#orderContainer .stepContainer {
	float: left;
	background: #fff url('images/layout/checkout/stepContentBg.gif') top left repeat-y;
	width: 716px;
	padding: 0px 10px;
}

#orderContainer .stepInner {
	float: left;
	background: #fff url('images/layout/checkout/stepContentInnerBg.gif') top left no-repeat;
	width: 716px;
	padding: 0px;
	margin: 0px;
	margin-top: 10px;
	color: #4e577a;
}

#orderContainer .stepInner label {
	color: #4e577a;
}

#orderContainer .stepInner p {
	margin: 0px;
	padding: 10px;
}

#orderContainer table.tbl_orderInfo {
	float: left;
	width: 696px;
	padding: 0px 10px;
	color: #b7648a;
	font-size: 11px;
}

#orderContainer table.tbl_orderInfo .hr {
	border-top: 1px solid #dfc5d2;
	padding: 0px;
}

#orderContainer table#deliveryAddress th,
#orderContainer table#invoiceAddress th {
	width: 140px;
	text-align: left;
	padding: 2px 0px;
	padding-right: 10px;
	color: #903a61;
	font-size: 11px;
}

#orderContainer table.deliveryAddress td,
#orderContainer table.invoiceAddress td {
	font-size: 11px;
	width: 356px;
	padding: 2px 0px;
}

#orderContainer table.tbl_orderInfo th {
	width: 200px;
	text-align: left;
	padding: 2px 0px;
	padding-right: 10px;
	color: #4e577a;
	font-size: 11px;
	vertical-align: top;
}

#orderContainer table.tbl_orderInfo td {
	font-size: 11px;
	width: 506px;
	padding: 2px 0px;
}

#orderContainer table td.center {
	text-align: center;
	width: 100%;
}


/*############### filter list #############*/

.lhsBox .header {
    height:32px;
    line-height:32px;
    padding-left:10px;
    text-align:left;
    background-color:#7E122E;
    color:#fff;
    text-transform:uppercase;
    font-weight:bold;
    font-size:12px;

}

.lhsBox .body {
	width: 100%;
background-color: #fff;
}

.lhsBox .subCategoryContainer{
	color: #343434;
	padding:0;
	text-align: left;
	font-family:helvetica,arial;
}

.lhsBox .subCategoryContainer ul,
.lhsBox .subCategoryContainer li {
	margin:0;
	padding:0;
	list-style-type:none;
}

.lhsBox .subCategoryContainer a {
	color:#6b6b6b;
	text-decoration:none;
	font-size:13px;
	display:block;
	padding:5px 12px;
}
.lhsBox .subCategoryContainer a:hover {
	color:#fff;
	background-color:#ADACAC;
}

.filterContainerContainer {
    padding:0;
    border-top:0;
    line-height:18px;
 	margin: 0;
}

.filterHeader {
    height:32px;
    line-height:32px;
    padding-left:10px;
    text-align:left;
    background-color:#7E122E;
    color:#fff;
    text-transform:uppercase;
    font-weight:bold;

}

.filterContainer .header {
	font-size: 13px;
	color: #343434;
	padding:8px 10px 8px 35px;
	font-weight:bold;
	border:1px solid #ebebeb;
	font-family:helvetica,arial;
	background:url('images/layout/bg_filterHeader.gif') no-repeat top left;
	text-align: left;
}

.filterHeader .clearBtn {
	float:right;
	margin-right:10px;
	color:#dbdbdb;
	text-transform:capitalize;
	font-weight:normal;
}

.filterContainer ul {
	width: 100%;
	display: block;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.filterContainer li {
	line-height:18px;
	list-style-type: none;
	margin: 0;
	position: relative;
	padding: 0;
	font-size: 11px;
}

.filterContainer li .colour {
	display:inline-block;
	width:20px;
	height:14px;
	background-color:#ccc;
	margin-right:7px;
	float:left;
	margin-top:2px;
}

.filterContainer li.filtered a,
.filterContainer li.filtered a:visited,
.filterContainer li.filtered a:link {
	background: url('images/layout/tickbox-ticked.gif') no-repeat 10px 7px;
}

.filterContainer li a,
.filterContainer li a:visited,
.filterContainer li a:link {
	color:#6b6b6b;
	text-decoration:none;
	font-size:13px;
	display:block;
	padding:5px 12px;
	border:1px solid #e6e6e6;
	border-width:0 1px 1px 1px;
	background:url('images/layout/tickbox.gif') no-repeat 10px 7px;
}

.filterContainer li img.cross {
	vertical-align: middle;
	padding: 0;
	margin: 0;
	padding-left: 10px;
}

.filterContainer li a.cross img {
	display: inline;
	margin: 0;
	padding: 6px;
	vertical-align: middle;
}

.filterContainer li a:hover {
	color:#fff;
	background-color:#006bd3;
	text-decoration:none;
}

.filterContainer li.filtered a:hover {
	color:#fff;
	background-color:#9a9a9a;
	text-decoration:none;
}

.noUiSlider {
	width:				90%;
	height:				8px;
	background:			#eaeaea;
	margin-left:15px;
	margin-top:25px;
}

.noUi-midBar {
	height:				8px;
	z-index:			0;
	background:			#eaeaea;
}

.noUi-handle > div {
	position:			absolute;
	width:				25px;
	height:				25px;
	top:				0;
	left:				0;
	z-index: 			5;
	background:url('images/layout/bg_sliderLower.png') no-repeat top left;
	cursor:pointer;
}

.noUi-upperHandle > div {
	background:url('images/layout/bg_sliderUpper.png') no-repeat top left;
	left:-25px;
	z-index:5;
}

.disabled > .noUi-midBar {
	background:			#999;
}

.disabled .noUi-handle > div {
	border-color:		#CCC;
	background:			#CCC;
}
/*
@media (-webkit-min-device-pixel-ratio:1.2),-moz-touch-enabled,(max-device-width:1024px){
	.noUi-handle > div {
		height:			13px;
		width:			13px;
		top:			-6px;
		left:			0;
	}
}
*/
.filterContainer.slider {

background-color: #fff;
}

.filterContainer.slider .header {
	margin-bottom:10px;
	border:0;
}

.infoBox {
	position:absolute;
	top:-19px;
	left:-10px;
	font-size:11px;
	color:#6b6b6b;
}

.noUi-upperHandle .infoBox {
	left:0;
	right:-10px;
}
/*AutoComplete flyout */

.qo_completionListElement, .ps_completionListElement
{
	margin : 0px!important;
	background-color : #fff;
	color : windowtext;
	border : buttonshadow;
	border-width : 1px;
	border-style : solid;
	overflow : auto;
	height : 50px;
    text-align : left;
    list-style-type : none;
    cursor:pointer;
    padding-left:0px;
}

/* AutoComplete highlighted item */

.qo_highlightedListItem, .ps_highlightedListItem
{
    background-color: #ffff99;
    color: black;
    padding:1px;
	list-style-type : none;
	margin-left:0px;
}

/* AutoComplete item */

.qo_listItem, .ps_listItem
{
	background-color : window;
	color : windowtext;
	padding : 1px;
	list-style-type : none;
	margin-left:0px;
}


/*******************************/

.middle .bodyText {
	width:116px;
	padding:0px 10px;
}

.right .bodyText {
	padding:0px 0px 0px 10px;
}


/*###################email friends ###############*/
.emailTable {
	display:none;
}

.emailForm {
	border:1px solid #e7e7e7;
	padding:20px 0;
}

.emailPageContent {
	text-align:left;
	font-size:12px;
}

#emailFriendFields {
	padding:0 20px 15px 0;
	color:#333333;
	border-bottom:1px solid #e5e5e5;
	margin-bottom: 30px
}

#emailFriendFields textarea {
	margin-bottom:20px;
}

.emailPageContent h1 {
	font-size:22px;
	font-weight:normal;
}

.emailPageContent .emailLink {
	font-size: 12px;
	border-bottom:1px solid #e5e5e5;
	padding-bottom:15px;
	color: #b1b3b4;
	margin-top:5px;
	margin-bottom:25px;

}

.emailPageContent .imageContainer {
	text-align: center;
}

.emailPageContent .imageContainer img {
	margin:100px auto 30px auto;
}


@media (max-width: 768px) {
	.emailPageContent .imageContainer img {
		margin:10px auto 30px auto;
	}
}


.emailPageContent.complete {
	margin-top:23px;
	font-weight:bold;
	font-size:14px;
}

.emailPageContent.complete a {
	font-size:12px;
}

.contactHeader {
	margin-bottom: 20px;
}

.captcha input {
	height: 34px;
	padding:6px 12px;
	font-size: 14px;
	line-height: 1.42857;
	color: #555;
	border:1px solid #ccc;
	border-radius: 4px;
	box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.075) inset;
	transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;
}

#cluetip-close img {
  	border: 0;
}

#cluetip-title {
  	overflow: hidden;
}

#cluetip-title #cluetip-close {
  	float: right;
  	position: relative;
}

#cluetip-waitimage {
 	background-image: url('images/cluetipimages/wait.gif');
  	height: 11px;
  	position: absolute;
  	width: 43px;
}

.cluetip-arrows {
  	background-position: 0 0;
  	background-repeat: no-repeat;
  	display: none;
  	height: 22px;
  	position: absolute;
  	top: 0;
  	left: -11px;
  	width: 11px;
}

#cluetip-extra {
  	display: none;
}

/***************************************
   =cluetipClass: 'default'
-------------------------------------- */

.cluetip-default {
  	background-color: #fff;

}

.cluetip-default #cluetip-outer {
	background-color: #fff;position: relative;
	margin: 0px;
	border:1px solid #B9B9BB;
	position: relative;
}

.cluetip-default h3#cluetip-title {
	background-color: #B9B9BB;
  	color: #fff;
  	font-size: 11px;
  	font-weight: normal;
  	margin: 0px 0px 5px;
  	padding: 4px 10px 1px;
  	text-align:left;
}

.cluetip-default #cluetip-title a {
	color: #666;
  	font-size: 11px;
}

.cluetip-default #cluetip-inner {
  	padding: 0px;
}

.cluetip-default div#cluetip-close {
	color: #fff;
  	margin: 0px 5px 5px;
  	text-align: right;
}

.cluetip-default div#cluetip-close a {
	color:#fff;
}

/* default arrows */

.clue-right-default .cluetip-arrows {
  	background-image: url('images/cluetipimages/darrowleft.gif');
}

.clue-left-default .cluetip-arrows {
 	background-image: url('images/cluetipimages/darrowright.gif');
  	left: 100%;
  	margin-right: -11px;
}

.clue-top-default .cluetip-arrows {
  	background-image: url('images/cluetipimages/darrowdown.gif');
  	top: 100%;
  	left: 50%;
  	height: 11px;
  	margin-left: -11px;
  	width: 22px;
}

.clue-bottom-default .cluetip-arrows {
 	background-image: url('images/cluetipimages/darrowup.gif');
  	height: 11px;
  	top: -11px;
  	left: 50%;
  	margin-left: -11px;
  	width: 22px;
}

/***************************************
   =cluetipClass: 'jtip'
-------------------------------------- */
.cluetip-jtip {
  	background-color: transparent;
}

.cluetip-jtip #cluetip-outer {
  	background-color: #fff;
  	border: 2px solid #ccc;
  	position: relative;
}

.cluetip-jtip h3#cluetip-title {
  	background-color: #ccc;
  	color: #333;
  	font-size: 16px;
  	font-weight: normal;
  	margin: 0px 0px 5px;
  	padding: 2px 5px;
}

.cluetip-jtip #cluetip-inner {
  	display: inline-block;
  	padding: 0px 5px 5px;
}

.cluetip-jtip div#cluetip-close {
  	color: #900;
  	margin: 0px 5px 5px;
  	text-align: right;
}

/* jtip arrows */

.clue-right-jtip .cluetip-arrows {
 	background-image: url('images/cluetipimages/arrowleft.gif');
}

.clue-left-jtip .cluetip-arrows {
 	background-image: url('images/cluetipimages/arrowright.gif');
  	left: 100%;
  	margin-right: -11px;
}

.clue-top-jtip .cluetip-arrows {
 	background-image: url('images/cluetipimages/arrowdown.gif');
  	height: 11px;
  	top: 100%;
  	left: 50%;
  	margin-left: -11px;
  	width: 22px;
}

.clue-bottom-jtip .cluetip-arrows {
 	background-image: url('images/cluetipimages/arrowup.gif');
  	height: 11px;
  	top: -11px;
  	left: 50%;
  	margin-left: -11px;
  	width: 22px;
}



/* stupid IE6 HasLayout hack */
.cluetip-rounded #cluetip-title,
.cluetip-rounded #cluetip-inner {
  	zoom: 1;
}

#sitemap {
	width:100%;
	float:left;
	margin-top:10px;
}




/*######################### colorbox ########################*/

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#fff;}
#colorbox{outline:0;}
    #cboxTopLeft{width:25px; height:25px; background:url('images/colorbox/border1.png') no-repeat 0 0;}
    #cboxTopCenter{height:25px; background:url(images/colorbox/border1.png) repeat-x 0 -50px;}
    #cboxTopRight{width:25px; height:25px; background:url(images/colorbox/border1.png) no-repeat -25px 0;}
    #cboxBottomLeft{width:25px; height:25px; background:url(images/colorbox/border1.png) no-repeat 0 -25px;}
    #cboxBottomCenter{height:25px; background:url(images/colorbox/border1.png) repeat-x 0 -75px;}
    #cboxBottomRight{width:25px; height:25px; background:url(images/colorbox/border1.png) no-repeat -25px -25px;}
    #cboxMiddleLeft{width:25px; background:url(images/colorbox/border2.png) repeat-y 0 0;}
    #cboxMiddleRight{width:25px; background:url(images/colorbox/border2.png) repeat-y -25px 0;}
    #cboxContent{background:#fff; overflow:hidden;}
        .cboxIframe{background:#fff;}
        #cboxError{padding:50px; border:1px solid #ccc;}
        #cboxLoadedContent{margin-bottom:20px;}
        #cboxTitle{position:absolute; bottom:0px; left:0; text-align:center; width:100%; color:#999;display:none!important;}
        #cboxCurrent{position:absolute; bottom:0px; left:100px; color:#999;display:none!important;}
        #cboxLoadingOverlay{background:#fff url(images/colorbox/loading.gif) no-repeat 5px 5px;}

        /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
        #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }

        /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
        #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}


       	#cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}
        #cboxPrevious{position:absolute; bottom:0; left:0; background:url(images/colorbox/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px; display:none!important;}
        #cboxPrevious:hover{background-position:-75px -25px;}
        #cboxNext{position:absolute; bottom:0; left:27px; background:url(images/colorbox/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px; display:none!important;}
        #cboxNext:hover{background-position:-50px -25px;}
        #cboxClose{position:absolute; bottom:0; right:0; background:url(images/colorbox/controls.png) no-repeat -25px 0; width:25px; height:25px; text-indent:-9999px;}
        #cboxClose:hover{background-position:-25px -25px;}
/*
  The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
  when an alpha filter (opacity change) is set on the element or ancestor element.  This style is not applied to or needed in IE9.
  See: http://jacklmoore.com/notes/ie-transparency-problems/
*/
.cboxIE #cboxTopLeft,
.cboxIE #cboxTopCenter,
.cboxIE #cboxTopRight,
.cboxIE #cboxBottomLeft,
.cboxIE #cboxBottomCenter,
.cboxIE #cboxBottomRight,
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
}
/*######################*/


.cluetip-rounded {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  background-color: #fff;
  border: 1px solid #ccc;
}
.cluetip-rounded  .cluetip-arrows {
  border-color: #ccc;
}

/* need to be more specific here to override ThemeRoller defaults */
div.cluetip-rounded  .cluetip-arrows {
  font-size: 0;
  line-height: 0%;
  width: 0;
  height: 0;
  border-style: solid;
  background: transparent none;
}
div.clue-right-rounded .cluetip-arrows {
  border-width: 11px 11px 11px 0;
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
div.clue-left-rounded .cluetip-arrows {
  left: 100%;
  margin-right: -11px;
  border-width: 11px 0 11px 11px;
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;

}
div.clue-top-rounded .cluetip-arrows {
  top: 100%;
  left: 50%;
  border-width: 11px 11px 0 11px;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
}
.clue-bottom-rounded .cluetip-arrows {
  top: -11px;
  left: 50%;
  border-width: 0 11px 11px 11px;
  border-top-color: transparent;
  border-right-color: transparent;
  border-left-color: transparent;

}
/* stupid IE6 HasLayout hack */
.cluetip-rounded .cluetip-title,
.cluetip-rounded .cluetip-inner {
  zoom: 1;
}

.vg {
	text-align: left;
}


#vanguard .button input {

	cursor:pointer;
	color:#fff;
	background-color:#006BD3;
	-webkit-border-radius: 3px;
    border-radius: 3px;
	padding:6px 10px 4px 10px;
	cursor:pointer;
	font-size:11px;
	text-transform:uppercase;

	border:0px;
	float:left;
    margin:10px 0 15px 0px;
    text-decoration:none;
    text-shadow: 1px 1px 0px #00366b;
    filter: dropshadow(color=#00366b, offx=1, offy=1);
    background: #006BD3; /* Old browsers */
}

#pleaseWait,
#pleaseWaitCheckout {
	position:fixed;
	left:0;
	top:0;
	right:0;
	bottom:0;
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.4);
	color:#fff;
	color: rgba(255, 255, 255, 0.4);
	text-align:center;
	z-index: 99999;
}

#pleaseWait img,
#pleaseWaitCheckout img {
	position:absolute;
	top:50%;
	left:50%;
	margin:-66px 0 0 -33px;
}

#dnn_ctr3145_ViewCyraneCardProcessing_ctl00_Vanguard_pnlCardCaptureFrame body {
	background-color:#fff;
	height:290px;
}

#loadme {
	font-size:11px;
	background-color:#fff;
}

#loadme div {
	background-color:#fff;
}


#loadme div img {
	margin:5px 5px 5px 0;
}

#loadme img {
	height:50px;
	float:left;
}

#loadme div.text {
	width:180px;
	padding-top:5px;
	height:55px;
	float:left;
}

#loadme div img {
	margin:5px;
}

#contact_details {
	float:left;
}

#dnn_ctr3114_BrochureRequest_ctl00_pnlAccountInfo .brochureContact {
	background-image:none;
}

#quickOrder {

	margin-bottom:20px;
}


#quickOrder input {
	border:1px solid #cacaca;
	border-radius:3px;
	padding:3px 5px;
	margin:2px 0;
}


.dnn_ctr2583_View_ps_pnlEdit {
	z-index:99999;
	width:100%;
	float:left;
	position:absolute;
}

.popCats img {
	float:left;
}

.marginLeft {
	margin-left:17px;
}


.lhsfacebook {
	float:left;
	margin:5px 7px 0 0;
}

.lhstwitter {
	float:left;
	margin-top:5px;
}

.ModCyraneCSSCC table {
	width:100%;
	clear:both;
}

#brandList ul li {
	list-style:none;
	display: inline-block;
	vertical-align:middle;
	width:20%;
	height:130px;
	line-height:130px;
	text-align:center;
}



#brandList ul {
	width:100%;
	margin:0 0 20px 0;
	padding:0;

	clear:both;
}

#brandList ul li img {
	vertical-align:middle;
	/*margin:0 auto;*/
	max-width: 70%;
	display: inline-block;
}

@media (max-width: 768px) {
	#brandList ul li {
		width:50%;
	}

	#brandList ul li img {
		max-height: 130px;
	}

}

.secure-payments {
	margin-top:-22px;
}

.loginpage h1, .loginpage h2{
	margin-bottom: 30px;
}

.selectAddress li:nth-child(even)  {
	background-color:#f1f1f1;
}
/*
.selectAddress ul:nth-child(odd)  {
	background-color:red;
}*/


.selectAddress {
	max-height: 150px;
	background-color: #fff;
	/*padding:20px;*/
	/*margin-left:20%;*/
	overflow-y: auto;
	border:1px solid #d1d1d1;

}

.selectAddress ul {
	padding-left: 10px !important;
}

.selectAddress a:hover {
	background-color:#7E122E;
	color:#fff;
	text-decoration: none;

}

.selectAddress a {
	width:100%;
	display:block;
}

.postcodeLookup, .postcodeLookup2 {
	width:75% !important;
	float:right;
	margin:5px 0 15px 0;
}

@media (max-width:767px) {

	.postcodeLookup, .postcodeLookup2 {
		width:100% !important;
		float: left !important;
	}
}




.postcodeLookup ul li {
	list-style-type: none;
}

#dnn_ctr2517_ViewCheckout_ctl00_cyrDeliveryAddress_dtvEdit_butPostcodeLookup,
#dnn_ctr2517_ViewCheckout_ctl00_cyrInvoiceAddress_dtvAccount_butPostcodeLookup,
 #dnn_ctr2517_ViewCheckout_ctl00_cyrDeliveryAddress_dtvEdit_butPostcodeLookup,
 #dnn_ctr2517_ViewCheckout_ctl00_cyrInvoiceAddress_dtvAccount_butPostcodeLookup,
 .postcode-btn a {
background: #7E122E;
    color: #fff;
    line-height: 34px;
    padding: 0 10px;
    border-radius: 3px;
    display: inline-block;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    width:100%;
    text-align: center;


}



.postcode-btn {
	padding-left:0;
}

.homepageTabs {
	position: relative;

}

.homepageTabs > div {
	background: #fff;
	margin-bottom: 25px;
}


.homepage-categories h2 {
	font-size: 18px;
	text-transform: uppercase;
	position: relative;
	padding:8px 15px;
	background-color: #7E122E;
	color:#fff;

}


.homepage-categories ul {
	font-size: 13px;
	color: #717375;
	margin-top: 10px;
	padding:0 0 0 20px;



}

@media (max-width: 767px) {
	.homepage-categories ul {
		font-size: 14px;
	}
.cta-col {
width: 100% !important;
}
	.homepageTabs > div {
		height:auto;
	}

	.homepageTabs > div img {
		width:100%;
	}
}

.homepage-categories ul li {
	list-style-type: square;
	margin-left:10px;

}



.homepage-categories a, .homepage-categories a:hover, .homepage-categories a:visited {
	color: #606264;
	text-decoration: none;
}

.homepage-categories h2 a {
	color:#fff !important;
}

.homepage-categories .col-sm-4 {
	padding-left: 0px !important;
	padding-right: 0px !important;
	width: 385px;
}

@media (max-width: 767px)
{
.homepage-categories {
		width:auto;

	}
.homepage-categories h2{
	width: auto;
	top: 1px;
}
}

.homepage-categories-responsive {
	margin-top: 20px;
/*	padding-left: 0px; */
/*	padding-right: 0px;*/

}
/*
.homepage-categories-responsive .col-md-4 {
	padding-left: 0px !important;
	padding-right: 0px !important;
}
*/



.homepage-categories-responsive h2 {
	font-size: 18px;
	color: white;
	text-transform: uppercase;
	position: absolute;
	top: 0;
	left: 3px;
	width: 355px;
	background: #7e0c12;
	border: #7e0c12;
	border-radius: 2px;
	padding: 7px 10px;
}



.homepage-categories-responsive ul {
	font-size: 16px;
	color: #717375;
	list-style-type: initial;
	position: absolute;
	top: 40px;
	padding-left: 30px !important;
}

.homepage-categories-responsive ul li {
	list-style-type: none;

}

.homepage-categories-responsive ul li:before {
	content: "- ";
}

.homepage-categories-responsive a {
	color: #717375;
	text-decoration: none;
}
.homepage-categories-responsive .col-sm-4 {
	padding-left: 0px !important;
	padding-right: 0px !important;
	width: 385px;
}

.home .bx-wrapper {
	margin:0 auto 0 auto;
	}

.floating-reviews {
	position: fixed;
	bottom:0;
	right:0;
	z-index: 2;
}

.form-control {
	border-radius: 0;
}

.rhs .Normal {
	font-size:14px;
	color:#333;
}

.rhs .Normal h1 {
	margin:0 0 .67em 0;
	font-size:36px;
	color:#333;
}

.rhs .Normal h2 {
	margin-bottom:10px;
	margin-top:20px;
	color:#333;
	font-size:26px;
}

.rhs .Normal a {
	color:#7E122E;
}

.rhs .Normal ul li {
	list-style-type: disc;
}


.user-guides h1,
.user-guide h1 {
	margin-bottom: 20px;
}


.user-guides  ul li a {
	font-size:12px;
	color: #7E122E;
}

.user-guides  ul li {
	list-style-type: none;
}

.user-guide p,
.user-guide ol {
	font-size: 14px;
	line-height:1.5;
}

.guide-breadcrumb {
	margin-bottom:15px;
}

.user-guide h2 {
	font-weight: bold;
	margin:20px 0 5px 0;
}

.external-link {
  color: #7E122E;
  font-size: 14px;
  background-color: #fff;
}

.navUl1 {
  display: flex;
  flex-wrap: wrap; /* Optional: wrap to next line if too many categories */
  gap: 10px; /* Optional: spacing between items */
  list-style: none;
  float: right;
  margin-bottom: 0px;
}

.navLi1 {
  display: inline-block; /* Optional, flex takes care of layout */
}

.navbar-nav .dropdown-menu {
	position: absolute !important;
}

.lighting-section .list-group-item {
  font-size: 1.1rem;
  transition: background-color 0.2s;
}
.lighting-section .list-group-item:hover {
  background-color: #f8f9fa;
}

.Normal, .NormalDeleted, .NormalDisabled {
	color: #333 !important;
	line-height: 18px !important;
	font-size: 14px !important;
}

#guidesAccordion .card-header h4, #guidesAccordion .card-header button {
	color: #7E122E !important;
	font-size: 14px !important;
}

.bx-wrapper .bx-controls-direction a {
	z-index: 0 !important;
}

/* Styles to discover content wider than container
body { margin: 30px; }
body * { border: 1px solid red; }
body * { outline: 1px solid red; }   **/

/* Variables */

:root {
    --primary-red: #7E122E;
    --dark-red: #c61821;
    --dark-text: #000000;
    --grey-text: #5E6271;
    --light-text: #FFFFFF;
    --white: #FFFFFF;
    --black: #000000;
    --lightgrey: #F6F6F6;
    --mediumgrey: #D5D6DB;
    --darkgrey: #969696;
    --purple: #7b0095;
    --skyblue: #0090ff;
    --lightgreen: #8ad01c;
    --base-font: 'Play', sans-serif;
}

html, body {
    overflow-x: hidden !important;
    width:100%;
}

/* General Elements */
body {
    font-size: 12px;
    background-color: #FFFFFF;
    color: #000000;
    font-family: 'Play', sans-serif;
    /*width: 100vw;*/ 
}

p 
{
    margin: 0px;
}

a:hover {
    color: #FFFFFF;
    text-decoration: none;
}
ul {
    padding: 0;
    list-style: none;
}
.img-responsive {
    width: 100%;
}
.clear {
    clear:both;
}
input::placeholder {
    font-size: 14px;
    font-weight: bold;
    color: #FFFFFF;
    opacity: 1; /* Firefox */
}
input:-ms-input-placeholder { /* Internet Explorer 10-11 */
    font-size: 14px;
    font-weight: bold;
    color: #FFFFFF;
}
input::-ms-input-placeholder { /* Microsoft Edge */
    font-size: 14px;
    font-weight: bold;
    color: #FFFFFF;
}
.dark-placeholder::placeholder {
    color: #000000;
    text-transform: uppercase;
    font-size: 15px;
    font-weight: normal;
}
.dark-placeholder:-ms-input-placeholder { /* Internet Explorer 10-11 */ 
    color: #000000;
    text-transform: uppercase;
    font-size: 15px;
    font-weight: normal;
}
.dark-placeholder::-ms-input-placeholder { /* Microsoft Edge */
    color: #000000;
    text-transform: uppercase;
    font-size: 15px;
    font-weight: normal;
}

.notbold::placeholder {
    font-weight: normal;
}
.not-bold:-ms-input-placeholder {
    font-weight: normal;
}
.not-bold::-ms-input-placeholder {
    font-weight: normal;
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
    -webkit-appearance: none;
    appearance: none;
    margin: 0; 
}

input[type=number] {
    -moz-appearance: textfield;
}

/* Checkboxes and Radio Buttons */

.checkbox label,
.radio-button label,
.product-check-radios span span:nth-child(2n) label {
    display: flex;
    align-items: center;
    /*color: #FFFFFF;*/
    font-size: 16px;
    margin-bottom: 0;
}

.checkbox input[type="checkbox"] {
    display: none;
}

/*.filter-options .checkbox input[type="checkbox"] {
    display: inline-block;
}
*/
.radio-button input[type="radio"],
.product-check-radios span span:nth-child(2n)   input[type="radio"]{
    position: absolute;
    opacity: 0;
    cursor: pointer;
    width: 50%;
    left:50%;

    z-index:   99999;
}

.product-check-radios span span:nth-child(2n)   input[type="radio"]:first-child {
left:0;
}

.attributeFilter input,
.brandFilter input,
.priceFilter input  {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.priceFilter label:before,
.attributeFilter label:before,
.brandFilter label:before,
.checkbox label:before,
.radio-button label:before,
.product-check-radios span span:nth-child(2n) label:before {
    content: "\f45c";
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
    display: inline-block;
    font-size: 14px;
    margin-right: 10px;
    margin-left:10px;
}

.attributeFilter input[type="checkbox"]:checked + label:before,
.priceFilter input[type="checkbox"]:checked + label:before,
.brandFilter input[type="checkbox"]:checked + label:before,
.checkbox input[type="checkbox"]:checked + label:before,
.radio-button input[type="radio"]:checked + label:before,
.product-check-radios span span:nth-child(2n) input[type="radio"]:checked + label:before 
 {
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900;
}
.radio-button input[type="radio"]:checked + label:before,
.checkbox input[type="checkbox"]:checked + label:before,
.product-check-radios span span:nth-child(2n)  input[type="radio"]:checked + label:before
 { 
    /*color: #7E122E;*/
}
.radio-button {
   /* margin-left: 10px;*/
    position: relative;
}
.radio-button label,
.checkbox label,
.product-check-radios span span:nth-child(2n) label
 {
    /*color: #000000;*/
}
.radio-button label:before,
.product-check-radios span span:nth-child(2n) label:before {
    margin-right: 10px;
}

/* Select Dropdowns */

select {    
    font-size: 14px !important;   
padding:0 10px !important;
    width: 100%;
    border:2px solid #e1e1e1;
        /*color: #FFFFFF;*/
    -webkit-border-radius: 0!important;
    -moz-border-radius: 0!important;
    border-radius: 0!important;
    background-color: transparent;
    margin-bottom:10px;
}
.dnnEditState select {
    padding:5px;
    width:auto;
    border:1px solid #ccc;
    color:#000;
    font-weight: normal;
}

input:focus,
select:focus,
button:focus {
    outline: none;
}

.form-control {
    border-radius: 0;
}

.cta-full-width {
    background-color: #7E122E;
    display: flex;
    align-items: center;
    color: #FFFFFF;
    justify-content: center;
    text-transform: uppercase;
    padding: 40px 0;
    /*margin-bottom: 20px;*/
}

.cta-full-width .Normal {
    display: flex;
    align-items: center;
    color: #FFFFFF;
    justify-content: center;
}

.cta-full-width h4 {
    margin-bottom: 0;
}
.cta-full-width h4 span {
    font-weight: bold;
}
.cta-full-width a,
.Normal .cta-full-width a{
    display: inline-block;
    color: #FFFFFF !important;
    text-align: center;
    border: 1px solid #fff;
    padding: 15px 30px;
    margin-left: 30px;
    letter-spacing: 2px;
    transition: all 0.25s ease;
}
.cta-full-width a:hover {
    background-color: #FFFFFF;
    color: #7E122E !important;
}
.cta-full-width.mobile-only {
    display: none;
    padding: 40px;
    text-align: center;
}
.cta-full-width.mobile-only h4 {
    font-size: 30px;
}
.cta-full-width.mobile-only a {
    margin-left: 0px;
    margin-top: 15px;
}

/* END */

/* === Header Styling === */

/* Top Bar */

.top-bar {
    color: #000000;
    font-weight: bold;
}

.top-bar .delivery-msg {  
    padding: 10px 15px;
}

.top-bar .delivery-msg span {
    color: #333;
}

.top-bar .top-menu-container {    
	padding: 10px 0;
}

.fixed-cart .fa-solid {
	color: #fff !important;
}

.fa-solid {
	color: #7E122E;
	padding: 0 8px;
}

ul.top-menu {
    list-style: none;
    float: right;
    margin-bottom: 0px;
}

ul.top-menu li {
    float: left;
}

ul.top-menu li a {
    color: #000000;
    padding: 10px;
    display: block;
}

ul.top-menu li.header-call {
    background-color: #7E122E;
    color: #FFFFFF;
}

ul.top-menu li.header-call a {
    color: #FFFFFF;
    display: inline-block;
    padding: 10px;
}

ul.top-menu li.header-call i.fas.fa-phone {
    transform: rotate(90deg);
}

.search-top i.fa.fa-search {
    position: absolute;
    top: 20%;
    right: -10px;
    font-size: 20px;
}


/* Logo Bar */

.logo-bar {
    padding: 15px 0;
    background-color: #f0f0f0;
}

.row.inner-wrapper {
    align-items: center;
}

.search-top input {
    color: #000000;
    border: none;
    padding: 10px 5px;
    float: left;
    width: 100%;
background-color: #fff !important;
color:#ADACAC;
font-weight: 600;
}

.search-top input:focus {
    outline: none;
}


.search-top a {
    color:#000;
    top: 10px;
    position: relative;
    right: 15px;
}
.logo-bar a.logo-link {
    text-align: center;
    display: block;
    background-color: #f0f0f0 !important;
}

.logo-bar a.logo-link img {
    max-width: 240px;
display: block;
/*    margin: 0 auto; */
    background-color: #f0f0f0 !important;
}

.login-top ul {
    list-style: none;
    float: right;
    display: flex;
    align-items: center;
    margin-bottom: 0;
}

.login-top ul a {
    color: #000000;
    padding: 10px 0px;
    font-size: 25px;
}


.login-top li {
    position: relative;
    padding:10px 50px;
}

.wishlist-count {
    position: absolute;
    font-family: 'Play', sans-serif;
    font-weight: normal;
 
    right:30px;
    width:25px;
    text-align:center;
    top:0;
    font-size: 14px
}

.wishlist-heart {
    position: relative;
    display: block;
}

/* Menu Bar */

#menu-bar {
    border-top: 1px solid #E0E0E0;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ebebeb+100 */
    background: #7E122E; /* Old browsers */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#7E122E',GradientType=0 ); /* IE6-9 */
}
.fixedMenu {
    position: fixed;
    top: 0;
    z-index: 9999;
    width: 100vw;
}

.topLevelCat {
    display: block;
    padding: 10px;
    color: #000000;
    text-transform: uppercase;
    transition: background-color 0.25s ease;
}

#menu-bar ul.top-level {
    list-style: none;
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0;
    margin-bottom: 0;
}
#menu-bar ul.top-level > li {
    flex: 1;
    text-align: center;
}



#menu-bar ul.top-level > li:last-child .sub-menu-content-wrapper {
  display: none !important;
}

.menu-cat a,
.menu-cat a:hover,
.menu-cat a:visited,
.menu-cat a:active,
.menu-cat a:focus,
.topLevelCat,
.topLevelCat:hover,
.topLevelCat:visited,
.topLevelCat:focus,
.topLevelCat:active {
    color: #fff;
}

.topLevelCat:hover {
	background: #D5D6DB;
	color:#fff;
}

ul.top-level .active {
    background-color: #D5D6DB;
}


ul.top-level .active .topLevelCat {
    color: #7E122E !important;
}

.tabletNotActive {
	color:#fff !important;
}

#menu-bar ul.top-level > li > div.menu-cat {
    display: block;
    padding: 10px;
    color: #000000;
    text-transform: uppercase;
    transition: background-color 0.25s ease;
}
#menu-bar ul.top-level > li > div.menu-cat:hover,
#menu-bar ul.top-level > li.active > div.menu-cat {
    background-color: #7E122E;
    color: #FFFFFF;
}
#menu-bar ul.top-level li.fixed-logo,
#menu-bar ul.top-level li.fixed-cart {
    visibility: hidden;
    opacity: 0;
    flex: 0;
    transition: all 0.5s ease;
}
#menu-bar.fixedMenu ul.top-level li.fixed-logo,
#menu-bar.fixedMenu ul.top-level li.fixed-cart {
    flex: 1;
    visibility: visible;
    opacity: 1;
    background-color: #7E122E;
}
#menu-bar ul.top-level li.fixed-logo a img {
    max-width: 130px;
}
#menu-bar.fixedMenu ul.top-level li.fixed-logo a:hover {
    background-color: #7E122E;
}
#menu-bar ul.top-level li.fixed-cart {
    height: 0;
}
#menu-bar.fixedMenu ul.top-level li.fixed-cart {
    display: flex;
    align-items: center;
}
#menu-bar.fixedMenu ul.top-level li.fixed-cart a {
    font-size: 16px;
    padding: 0 15px;
    color: #fff !important;
}
#menu-bar.fixedMenu ul.top-level li.fixed-cart.active > a {
    background: transparent;
    color: #000000;
}
#menu-bar.fixedMenu ul.top-level li.fixed-cart.active > a:hover {
    color: #7E122E;
    font-weight:bold;
}
/*#menu-bar.fixedMenu ul.top-level li.fixed-cart a:last-child {
    margin-left: 10px;
}*/

/* Sub Menu Content */

.menu-content-wrapper-inner {
    overflow-x: hidden;
    max-height: 85vh;
}
div.sub-menu-content-wrapper {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.25s, opacity 0.5s ease;
    position: absolute;
    width: 100%;
    z-index: 999999;
    left: 0;
    height: 99%;
}
ul.top-level li.active:hover div.sub-menu-content-wrapper {
    visibility: visible;
    opacity: 1;
transition-delay: .25s; 
}
.cat-header {
    color: #7E122E;
    background-color: #D5D6DB;
    padding: 20px;
}
.cat-header h4 {
    margin-bottom: 0;
    font-weight: bold;
    text-transform: uppercase;
    position: relative;
}
.cat-header a {
    color: #FFFFFF;
    text-transform: uppercase;
    border: 1px solid #FFFFFF;
    padding: 10px 20px;
    display: block;
    position: absolute;
    right: 90px;
    top: 14px;
}

.cat-header a:hover {
    color:#7E122E !important;
    background-color: #fff !important;
}

.sub-cat-column {
    width: 25%;
    margin-right: 1%;
    float: left;
}

.menu-column-wrapper,
.navUl2:not(.mobile-sub-menu) {
    column-count: 4;
    padding-bottom: 30px;
    padding-top: 10px;
background-color:#fff;
}

.sub-cat-listing,
.navLi2:not(.mobile-item) {
    text-align: left;
    padding: 10px 20px;
    /*min-height: 235px;*/
}
.sub-cat-listing h5,
.navLi2:not(.mobile-item) > a {
    font-weight: bold;
    padding-bottom: 5px;
    font-size:1.50rem;
    color:#7E122E;
    margin-bottom:.5rem;
    line-height: 1.2;
    display: block;

}
.sub-cat-listing ul,
.navLi2:not(.mobile-item) ul {
    list-style: none;
    padding-left: 0;

}
.sub-cat-listing ul a,
.navLi2:not(.mobile-item) ul a {
    color: #000;
    padding: 2px 0;
    display: block;
    font-size: 14px;

}
.sub-cat-listing ul li:last-child a,
.navLi2:not(.mobile-item) ul li:last-child a {
    color: #7E122E;
}
.shop-brand {
    display: inline-block;
    align-items: center;
    text-align: left;
    background-color: #D5D6DB;
}
.brand-title {
    width: 25%;
    padding: 30px;
}
.brand-title h4 {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 18px;
    margin-bottom: 0px;
}
.brand-title a {
    font-weight: bold;
    color: #7E122E;
}
.brand-title h3 {
    font-size:18px;
    color: #7E122E;
    margin:0 !important;
}
.brand-logos {
    width: 75%;
    padding: 30px;
}

.brand-logos ul {
    list-style: none;
    padding: 0;
    display: flex;
    align-items: center;
    min-height:50px;
}
.brand-logos ul a {
    display: block;
    text-align: center;
}
.brand-logos ul img {
    width: 70%;
    opacity: 0.3;
}
.brand-logos ul a:hover img {
    opacity: 1;
}

/* Mobile Header */

.mobile-header .logo-bar .inner-wrapper > * {
    flex: 1;
}
.mobile-header .logo-bar .inner-wrapper .logo-link {
    flex: 3;
}
.mobile-header .logo-bar .inner-wrapper {
    text-align: center;    
    padding: 0 20px;
}
.mobile-header .logo-bar a.logo-link {
    padding: 0 20px;
}
.mobile-header .mobile-links {
    font-size: 25px;
    color: #fff;
    margin-left: auto;
    margin-right: auto;
    display: inline-block;
    /* text-align: center; */
    width: 25%;
}

/* Category Nav Brand Section */

.catBrandSection {
    padding:10px 0;
    background-color: #d5d6db;
}

.catBrandSection h2 {
    font-size:18px;
    margin-top: 30px;
}

.catBrandSection h3 {
    font-size:14px;
    color:#df1522;
}

.catBrandSection a,
.catBrandSection a:hover,
.catBrandSection a:visited,
.catBrandSection a:active,
.catBrandSection a:focus {
    text-decoration: none !important;
}

/* Icon */

.mobile-header #nav-icon {
    width: 30px;
    height: 20px;
    position: relative;
    margin: 0 0 0 auto;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
    background: transparent !important;
    box-shadow: 0 0;
}

.mobile-header #nav-icon span {
    display: block;
    position: absolute;
    height: 2px;
    width: 70%;
    background: #000000;
    opacity: 1;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

.mobile-header #nav-icon span:nth-child(1) {
    top: 0px;
    -webkit-transform-origin: right center;
    -moz-transform-origin: right center;
    -o-transform-origin: right center;
    transform-origin: right center;
}

.mobile-header #nav-icon span:nth-child(2) {
    top: 9px;
    -webkit-transform-origin: right center;
    -moz-transform-origin: right center;
    -o-transform-origin: right center;
    transform-origin: right center;
}

.mobile-header #nav-icon span:nth-child(3) {
    top: 18px;
    -webkit-transform-origin: right center;
    -moz-transform-origin: right center;
    -o-transform-origin: right center;
    transform-origin: right center;
}

.mobile-header #nav-icon.nav-open span:nth-child(1) {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: -1px;
}

.mobile-header #nav-icon.nav-open span:nth-child(2) {
    width: 0%;
    opacity: 0;
}

.mobile-header #nav-icon.nav-open span:nth-child(3) {
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 20px;
}

.nav-open > i.fal.fa-search {
    color:#7E122E;
}

.mobile-header .menu-wrapper,
.mobile-header .search-wrapper {
    visibility: hidden;
    opacity: 0;
    height: 0;
    transition: all 0.5s ease;
    position: absolute;
    width: 100%;
}
.mobile-header .menu-wrapper.nav-open,
.mobile-header .search-wrapper.nav-open {
    visibility: visible;
    opacity: 1;
    height: 100vh;
    overflow: auto;
    background-color: #F6F6F6;
    z-index: 9999;
    margin-top: 14px;
}
.mobile-header .menu-wrapper ul,
.mobile-header .search-wrapper ul {
    list-style: none;
    padding: 0;
}

li.mobile-close span {
    display: block;
    text-align: center;
    padding: 10px;
    font-size: 18px;
    background-color: #7E122E;
    color: #FFFFFF;
}

/* Mobile Search Styling */

.mobile-header .search-wrapper.nav-open {
    height: auto;
}
.mobile-header .search-wrapper ul {
    margin-bottom: 0px;
}
.mobile-header .search-wrapper ul li.mobile-search {
    position: relative;
}
.mobile-header .search-wrapper ul li.mobile-search input[type="text"] {
    width: 100%;
    background-color: transparent;
    border: none;
    border-radius: 0;
    padding: 20px 30px;
    color: #000000;
    font-size: 15px;
}

#dnn_mobileSearch_txtSearch {
    color:#000 !important;
}

.mobile-header .search-wrapper ul li.mobile-search input[type="text"]:focus {
    outline: none;
}
.mobile-header .search-wrapper ul li.mobile-search i.fa.fa-search {
    position: absolute;
    top: 35%;
    right: 30px;
    font-size: 20px;
    color: #000;
}

/* Mobile Menu Styling */

.mobile-header .menu-wrapper ul.mobile-top-menu > li > div,
.mobile-header .menu-wrapper ul.mobile-top-menu > li > a.mobile-account,
.mobile-header .menu-wrapper ul.mobile-top-menu li.mobile-pages a {
    display: block;
    padding: 20px 30px;
    font-size: 15px;
    border-top: 1px solid #D5D6DB;
    color: #000000;
    text-transform: uppercase;
}

.mobile-header .menu-wrapper ul.mobile-top-menu > li > div:after,
.mobile-header .menu-wrapper ul.mobile-top-menu > li > a.mobile-account:after {
  content: "\f067"; /* angle-down */
  font-family: "Font Awesome 6 Free"; /* FA6 Free family name */
  font-weight: 900;                    /* Solid is 900 in FA6 Free */
  float: right;
  color: #7E122E;
  font-size: 20px;
  line-height: 21px;
  transition: all 0.5s ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.mobile-header .menu-wrapper ul.mobile-top-menu > li.sub-open > div:after {
    transform: rotate(45deg);
}

.mobile-header .menu-wrapper ul.mobile-top-menu > li > a.mobile-account {
    background-color: #7E122E;
    color: #FFFFFF;
}
.mobile-header .menu-wrapper ul.mobile-top-menu > li > a.mobile-account:after {
    content: '\f007';
    color: #FFFFFF;
}
.mobile-header .menu-wrapper ul.mobile-top-menu li.mobile-pages {
    display: flex;
    align-items: center;
}

.mobile-header .menu-wrapper ul.mobile-top-menu li.mobile-pages a {
    background-color: #000000;
    color: #FFFFFF;
    border: 1px solid #D5D6DB;
    width: 100%;
    padding: 20px 0;
    text-align: center;
}

.mobile-header .menu-wrapper ul.mobile-top-menu li.mobile-pages a:after {
    content: none;
}

.mobile-header .menu-wrapper ul.mobile-top-menu ul.mobile-sub-menu {
    visibility: hidden;
    opacity: 0;
    max-height: 0;
    transition: max-height 0.5s ease, opacity 1s ease;
}

.mobile-header .menu-wrapper ul.mobile-top-menu > li.sub-open > ul.mobile-sub-menu {    
    visibility: visible;
    opacity: 1;
    max-height: 500px;
    padding: 10px 0;
    background-color: #dcdde1;
    overflow-x: scroll;
}

.mobile-header .menu-wrapper ul.mobile-top-menu ul.mobile-sub-menu > li > a {
    display: block;
    padding: 7px 40px 7px 50px;
    font-size: 14px;
    color: #969696;
}
.mobile-header .menu-wrapper ul.mobile-top-menu ul.mobile-sub-menu li:first-child a {
    color: #7E122E;
    font-weight: bold;
    text-transform: uppercase;
}

/* === Homepage === */

.home-banner-cta-wrapper {
    background-color: #000000;
}

.dnnEditState .home-banner-cta-wrapper {
    background-color: #fff
}

.not-prod .bx-wrapper, 
.not-prod .bx-viewport,
.not-prod ul.bxslider,
.not-prod ul.bxslider li
{
    height: 81vh !important;

}

.not-prod ul.bxslider li img {
    display: none;
}
.not-prod ul.bxslider li {
    background-size: cover;
    background-position: center;
}

/* Banner */
.bx-wrapper {
    position: relative !important;
    margin: 0 auto;
    padding: 0;
    *zoom: 1;
}
.bxslider {
    margin:0;
    padding: 0;
    list-style: none;
}
.slide-content {
    /*position: absolute;*/
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    left: 10%;
    text-align: left;
}
.slide-content span,
.slide-content a {
    display: block;
    color: #fff;
}
span.slide-header {
    color: #FFFFFF;
    background-color: #7E122E;
    padding: 10px 25px;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 14px;
    display: inline-block;
    margin-bottom: 20px;
}
span.slide-main {
    font-size: 60px;
    line-height: 60px;
    margin-bottom: 10px;
    text-transform: uppercase;
    font-weight: bold;
}
span.slide-sub {
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: normal;
    color: #D5D6DB;
}
a.slide-link {
    font-size: 14px;
    border: 1px solid #D5D6DB;
    display: inline-block;
    padding: 10px 50px;
    font-weight: bold;
    text-transform: uppercase;
    /*transition: all 0.5s ease;*/
}
a.slide-link:hover {
    background-color: #D5D6DB !important;
    color: #000000;
}
.bx-controls-direction {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    padding: 0 20px;
}
.bx-controls-direction a {
    color: grey;
    font-size: 30px;
    padding-right:20px;
}
a.bx-next {
    float: right;
}
.ls-slide:hover a.slide-link {
    background-color: #D5D6DB !important;
    color: #000000 !important;
} 

/* Call to Actions */

.cta-col,.cta-left-col {
    float: left;
    width: 33.33%;
    color: #FFFFFF;
    display: block;
    font-size: 14px;
    position: relative;
    background-color: #7E122E;
    overflow: hidden;
            outline: 2px solid #f0f0f0;
        outline-offset: 0px;
}


.cta-col-white {
    float: left;
    width: 25%;
    color: #FFFFFF;
    display: block;
    font-size: 14px;    
    position: relative;
    background-color: #fff;    
    overflow: hidden;
    min-height:150px;
    /*margin:5px;*/
}


/*.catNoImage img {
    border:solid 1px grey;
    border-radius:4px;
}*/


.cta-full-col {
    position: relative;
    overflow: hidden;
     display: block;
    font-size: 14px;    
     background-color: #7E122E;    
}
.cta-col img,
.cta-left-col img,
.cta-full-col  img {
    max-width: 100%;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    /*position: relative;*/
    z-index:1;
}

.cta-col-white img {
    max-width: 100%;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: relative;
    z-index:1;
    display: inline-block;
    /*margin-left: 25%;*/
    padding:10px;
}

.cta-col:hover img,
.cta-col-white:hover img,
.cta-left-col:hover img,
.cta-full-col:hover img {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

/* CTA image cards */
.cta-col,
.cta-col-white,
.cta-left-col,
.cta-full-col {
    overflow: hidden;
    position: relative;
}

/* Make images behave predictably */
.cta-col img,
.cta-col-white img,
.cta-left-col img,
.cta-full-col img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.25s ease;
    transform-origin: center center;
}

/* Keep the text bar above the zoomed image */
.cta-info,
.cta-title {
    position: relative;
    z-index: 2;
}

/* Softer zoom so it does not spill into other content */
.cta-col:hover img,
.cta-col-white:hover img,
.cta-left-col:hover img,
.cta-full-col:hover img {
    -moz-transform: scale(1.035);
    -webkit-transform: scale(1.035);
    transform: scale(1.035);
}

.cta-left-col {
   /* height:700px;*/
}

span.category {
    position: absolute;
    top: 11%;
    left: 8%;
    background-color: #7E122E;
    padding: 5px 20px;
    text-transform: uppercase;
    font-weight: bold;
}
span.cta-info {
    position: absolute;
    bottom: 21%;
    left: 8%;
    z-index: 2;
}

.homepage-categories p {
	margin-bottom:0px !important;
}

.homepage-categories .cta-columns {
	width:100%;
	float:left;
    	position: absolute;
    	bottom: 8%;
    	left: 6.5%;
    	z-index: 2;
	color:#fff;
}

.homepage-categories li {
	list-style-type:none !important;
	line-height: 20px;
font-weight: bold;
}


.homepage-categories li a,
.homepage-categories li a:hover,
.homepage-categories li a:visited,
.homepage-categories li a:active {
 color:#fff;
}

span.cta-title {
    font-size: 28px;
    line-height: 30px;
    margin-bottom: 20px;
    font-weight: bold;
    display: block;
    color:#fff;
}
span.cta-title.title-red {
    color: #7E122E;
}
span.cta-sub {
    text-transform: uppercase;
    font-weight: bold;
    color: #7E122E;
}
span.cta-sub.sub-dark {
    color: #000000;
}
.cta-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    /*background-color: rgba(0,0,0,0.5);*/
}
/*.homepage-cta-upper .cta-overlay,
.landing-cta-upper .cta-overlay {
    display: none;
}*/

/* CTA Lower */

.lower-cta-title {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 100%;
    text-align: left;
    font-size: 34px;
    line-height: 40px;
    font-weight: bold;
    z-index: 1;
    text-transform: uppercase;
    padding: 0 15%;
    /*color: #7E122E;*/
}

/* END */

/* === Featured & Recent Carousels === */

.featured-product-wrapper,
.recent-product-wrapper {
    background-color: #F6F6F6;
    padding: 60px 0 80px;
    text-align: center;
    position: relative;
}
.featured-product-wrapper h3,
.recent-product-inner h3 {
    font-weight: bold;
    margin-bottom: 30px;
}
.featured-carousel .owl-stage-outer,
.recent-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    -webkit-transform: translate3d(0,0,0);
}
.featured-carousel,
.recent-carousel {
    position: relative;
}
.owl-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
}
.owl-prev,
.owl-next {
    font-size: 30px;
    color: #7E122E;
    cursor: pointer;
}
.owl-prev {
    float: left;
    margin-left: -40px;
}
.owl-next {    
    float: right;
    margin-right: -40px;
}
.owl-item {
    float: left;
}
.product-wrapper {
    background-color: #fff;
}
.product-wrapper a {
    display: block;
    position: relative;
}
.productStatus span.top-left-info,
.productStatus span.top-right-info {
    position: static;
}
span.top-left-info,
span.top-right-info {
    position: absolute;
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: bold;
}
span.top-left-info {
    top: 2%;
    left: 4%;
}
span.top-left-info.red {
    color: #7E122E;
}
span.top-left-info.orange {
    color: #ff5a00;
}
span.top-left-info.purple {
    color: #7b0095;
}
span.top-right-info {
    top: 2%;
    right: 4%;
}
span.top-right-info.skyblue {
    color: #0090ff;
}
span.junior-title {
    position: absolute;
    bottom: -3%;
    width: 100%;
    font-size: 18px;
    text-transform: uppercase;
    color: #8ad01c;
    display: block;
    /*position: relative;*/
    text-align: center;
    /*padding: 5% 0;*/
}
span.details-price {
    display: block;
    text-align: center;
    padding: 10px 30px;
}
span.product-name {
    display: block;
    font-size: 18px;
    line-height: 20px;
    color: #969696;
}
span.price {
    font-weight: bold;
    color: #000000;
    font-size: 25px;
}
span.prod-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    font-size: 14px;
}
span.reg-ret-price,
span.saving {
    color: #969696;
}
span.reg-ret-price span {
    /*text-decoration: line-through;*/
}
span.saving span {
    font-weight: bold;
    color: #8ad01c;
}

/* END */

/* === Page Styling === */

.page-title {
    text-align: center;
    background-size: cover;
    color: #000000;
    position: relative;
}


.category-header {
    display: none;
}

.dnnEditState .category-header {
    display: block;
}

.buyers-guide {
    position: absolute;
    right:50px;
    top:70px;

    background: #7E122E;
    color:#fff;
    font-size:14px;
    padding:10px 15px;
    text-transform: uppercase;
}


.breadcrumbs ul li {
    display: inline-block;
}
.breadcrumbs ul li a {
    color: #D5D6DB;
    font-size: 16px;
}
.breadcrumbs ul li a:after {
    content: '\f054';
    font-family: 'Font Awesome 6 Free';
    float: right;
    font-weight: 900;
    color: var(--pmediumgrey);    
    margin: 0 10px;
    font-size: 12px;
    line-height: 19px;
}
.breadcrumbs ul li:last-child a {
    color: #7E122E;
}
.breadcrumbs ul li:last-child a:after {
    content: none;
}

/* END */

/* === Landing Page Styling === */

.brand-wrapper {
    border-top: 1px solid #E0E0E0;
    text-align: left;
    background: linear-gradient(90deg, #F6F6F6 75%, #7E122E 75%);
    display: none;
}
.brand-wrapper ul {
    list-style: none;
    padding: 0;
    margin-bottom: 0;
    display: flex;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
.brand-wrapper ul a {
    background-color: #F6F6F6;
    display: flex;
    height: 100%;
    align-items: center;
    flex-grow: 1;
    padding: 15px 0px;
    text-align: center;
}
li.view-brands a {
    background-color: #7E122E;
    color: #FFFFFF;    
    padding-left: 20px;
    padding-right: 20px;
}
.brand-wrapper ul a img {
    width: 60%;
    opacity: 0.3;
    margin-left: auto;
    margin-right: auto;
    transition: opacity 0.5s ease;
}
.brand-wrapper ul a:hover img {
    opacity: 0.8;
}
.landing-cta-upper {
    display: flex;
    align-items: center;
}

.landing-left-panel,
.landing-right-panel {
    align-self: stretch;
}
.landing-left-panel {
    flex: 1;    
}
.landing-left-panel a {
    height: 100%;
    color: #FFFFFF;
    display: block;
    font-size: 14px;    
    position: relative;
    background-color: #7E122E;    
    background-size: cover;
    background-position: center;
}
.landing-left-panel a:hover {
    background-size: 120% 110%;
}
.landing-left-panel a img {
    max-width: 100%;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
.landing-left-panel a:hover img {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.landing-right-panel {
    flex: 2;
}
.landing-right-panel .cta-col {
    width: 50%;
}

.landing-lower-banner {
    position: relative;
    width: 100%;
    height: 50vh;
    background-size: cover;
    background-position: center;
}
.landing-banner-content {
    position: absolute;
    width: 45%;
    top: 50%;
    transform: translateY(-50%);
    right: 7%;
}
.landing-banner-upper,
a.landing-banner-link {
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
}
.landing-banner-content span, 
.landing-banner-content a {
    display: block;
    color: #fff;
}
span.landing-banner-main {
    font-size: 50px;
    line-height: 50px;
    margin-bottom: 10px;
    text-transform: uppercase;
    font-weight: bold;
}
span.landing-banner-sub {
    font-size: 16px;
    margin-bottom: 20px;
    font-weight: normal;
    color: #D5D6DB;
}
a.landing-banner-link {
    border: 1px solid #D5D6DB;
    padding: 10px 50px;
    display: inline-block;
    transition: all 0.5s ease;
}
a.landing-banner-link:after {
    content: '\f04b';
    font-family: 'Font Awesome 5 Pro';
    float: right;
    font-weight: 900;
    margin: 0 10px;
    font-size: 12px;
    line-height: 25px;
    margin-top: -2px;
}

/* END */

/* === Category Styling === */

/* Filters Header */

.product-filter-row {
    background-color: #7E122E;
}
.product-filter-inner {
    display:flex;
    align-items: center;
    width: 100%;
}
.product-filter-inner p {
    color: #FFFFFF;
    text-transform: uppercase;
    font-size: 16px;
}
.product-filter-inner > ul {
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
}
.product-filter-inner > ul > li {
    display: inline-block;
}
.product-filter-inner ul li span {
    color: #FFFFFF;    
    padding: 20px 10px 20px 20px;
    display: inline-block;;
    font-size: 20px;
    width: 100%;
    text-align: center;
}
.product-filter-inner ul li span:hover {
    cursor:pointer;
}
.product-filter-inner ul li span.filter-open {
    background-color: #201d52;
}
.product-filter-inner ul li span.filter-open:after {
    transform: rotate(180deg);
}
.product-filter-inner ul li span.filter-close {
    text-align: center;
    display: block;
    width: 30%;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #FFFFFF;
    padding: 5px;
    transition: all 0.5s ease;
}
.product-filter-inner ul li span.filter-close.filter-footer {
    margin-top: 40px;
}
.product-filter-inner ul li span.filter-close:hover {
    background-color: #FFFFFF;
    color: #7E122E;
    cursor: pointer;
}
.filters-wrapper {
    background-color: #201d52;
    position: absolute;
    width: 100%;
    z-index: 1;
    padding: 50px;    
    left: 0;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.5s, opacity 0.5s ease;
    margin-left: 0 !important;
}

/*.attributeFilter .filter-options label.checkbox.checked span, .attributeFilter .filter-options li:hover label.checkbox span {
    background-image: url(img/checkbox-active.png);
}*/

.attributeFilter .filter-options label.checkbox span:before {
    content: "\f45c";
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
    display: inline-block;
    font-size: 14px;
    margin-right: 10px;
    margin-left: 10px;
}

.attributeFilter li.filtered label:before {
    color:#fff !important;
}

.attributeFilter .filtered .checked:before {
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900 !important;
}

.brandFilter .filtered label::before {
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900 !important;
}


.attributeFilter label {
    font-size: 16px;
    color:#fff;
font-weight: normal;

}

span.filter-open + .filters-wrapper {
    visibility: visible;
    opacity: 1;
}

.stockFilter input::before {
    content: "\f45c";
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
    display: inline-block;
    font-size: 14px;
    margin-right: 10px;
    margin-left: 10px;
}

.stockFilter input[type="checkbox"]:checked + ::before {
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900 !important;
}

.stockFilter input {
    -webkit-appearance: none;
    color: #fff;
    font-size: 16px;
    text-decoration: none;
}

.stockFilter input[type=checkbox]:checked ~ input::before {
    font-family: 'Font Awesome 5 Pro';
    font-weight: 900 !important;
}

#toggle


/*.filter-list {
    width: 80vw;
    margin: 0 auto;
}*/
/*.filter-list {
    width: 23%;
    margin: 0 auto;
    float: left;
    margin-right: 1%;
    margin-left: 1%;
}*/

.filter-list span.filter-title {
    padding-left: 0;
    padding-bottom: 10px;
    margin-bottom: 20px;
    text-transform: uppercase;
    border-bottom: 1px solid #FFFFFF;
}
span..filter-list {
    text-transform: uppercase;
}

.filters-wrapper span {
    padding:7px 0px !important;
    border-bottom: 1px solid #FFFFFF;
    margin-bottom: 20px;
}

.filter-options {
    padding-left: 10px !important;
}

.filter-options li label,
.filter-options li label:hover,
.filter-options li label:active,
.filter-options li label:visited,
.filter-options li label:focus,
.filter-list a,
.filter-list a:hover,
.filter-list a:active,
.filter-list a:visited,
.filter-list a:focus {
    color:#fff;
    font-size:16px;
    text-decoration: none;
    cursor:pointer;
        font-weight: normal;
}

.breadcrumbs ul li a,
.breadcrumbs ul li a:hover,
.breadcrumbs ul li a:visited,
.breadcrumbs ul li a:focus,
.breadcrumbs ul li a:active {
    text-decoration: none;
}

#dnn_ctr747_ViewProductListing_ctl00_hypBuyersGuide,
#dnn_ctr747_ViewProductListing_ctl00_hypBuyersGuide:hover,
#dnn_ctr747_ViewProductListing_ctl00_hypBuyersGuide:visited,
#dnn_ctr747_ViewProductListing_ctl00_hypBuyersGuide:active,
#dnn_ctr747_ViewProductListing_ctl00_hypBuyersGuide:focus {
    text-decoration: none;
    color:#fff;
}

a, a:visited {
    text-decoration: none !important;

}

.top-bar a:hover {
color: #000 !important;
}

.subCategories ul {
    max-height:100% !important;
}

.filter-list ul {
    margin: 0 auto;
    float: left;
    margin-right: 1vw;
    margin-left: 1vw;
    max-height: 200px;
    overflow: hidden;
    overflow-y: auto;
    width: 95%;
}
.filter-list h6 {
    color: #FFFFFF;
    text-transform: uppercase;
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-size: 25px;
    display: inline-block;
    border-bottom: 1px solid;
}

/* Product Section */

.category-listing-wrapper {
    padding: 2vh 0;
    background-color: #F6F6F6;
}

.category-listing-wrapper article {
    font-size: 14px;
    margin-top:15px;
}

.category-listing-wrapper article p {
    margin: 0 0 1rem 0;
}

.category-listing-wrapper  .products-section {
    width:100%;
}

.products-section .product-wrapper {
    width: 23.5%;
    margin: 0 0.5% 1%;
    display: inline-block;
}

span.image-cta-wrap {
    display: block;
    position: relative;
    text-align: center;
    padding: 5% 0;
    max-height: 425px;    
}

span.image-cta-wrap:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em; /* Adjusts for spacing */
}

span.image-cta-wrap img {
    max-width: 90%;
    width:auto;
    max-height:320px;
    /*min-height:320px;*/
}

.products-section .pagination-row:last-child {
    margin-top: 40px;
}

/* Pagination Row */

.pagination-row,
.sorter-dropdowns {
    display: flex;
    align-items: center;
}
.pagination-row {
    padding: 0 0.5% 20px;
    font-size: 14px;
    flex-wrap: wrap;
}

.sorter-dropdowns {
    border: 1px solid #D5D6DB;
    flex: 1;
    padding-left: 20px;
    margin-right: 20px;
}

.sorter-dropdowns p {
margin-bottom: 0px !important;
}

.pagination-row select {
    border: none;
    opacity: 0.4;
}
.category-pagination {
    flex: 3;
}
.category-pagination ul {
    margin-bottom: 0;
    text-align: right;
    margin-right: 2.5%;
}
.category-pagination ul li {
    display: inline-block;
}
.category-pagination ul li a {
    color: #000000;
    padding: 10px 14px;
}
.category-pagination ul li a.active,
.category-pagination ul li a:hover {
    color: #FFFFFF;
    background-color: #7E122E;
}


.wishlist-prodlist {
    font-size: 22px;
    color:#000;
}

a.wishlist-active {
    color:#7E122E;
    padding:0;      
}

/* END */

/* === Single Product Styling === */

.product-breadcrumbs-row {
    padding: 20px;
}
.product-breadcrumbs-row .breadcrumbs ul {
    margin-bottom: 0;
}
.product-breadcrumbs-row .breadcrumbs ul li a {
    color: #000000;
    font-size: 14px;
}
.product-breadcrumbs-row .breadcrumbs ul li:last-child a {
    color: #7E122E;
}

/* Main Content */

.product-title {
    padding-top: 30px;
    padding-bottom: 30px;
    display: flex;
    align-items: center;
}

.product-title h1 {
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 0;
}

.product-title a.wishlist {
    margin-left: auto;
    font-size: 18px;
    color: #000000;
}
.product-title a.wishlist i {
    margin-right: 5px;
}

.product-content {
    padding-bottom: 80px;
}

/* Image Section */

/*.main-image-wrapper {
    border: 1px solid #D5D6DB;
}*/

.main-image-wrapper {
    text-align: center;
}

.product-image {
    max-height:550px;
    width:auto;
    max-width: 100%;
    margin:0 auto;
}

.product-thumbnails a {
    border-left: 1px solid #D5D6DB;
    border-bottom: 1px solid #D5D6DB;
}

.product-thumbnails img {
    display: inline-block;
    float: left;
    /*width: 20%;*/

}

.product-thumbnails .alternateImages li {
    float: left;
    list-style: outside none none;
    position: relative;
    /*width: 76px;*/
}

.product-thumbnails .alternateImages li a.video img {
    /*z-index: 99999 !important;*/
    /*position: absolute;*/
    max-height: 95%;
    max-width: 95%;
}

.product-thumbnails a:last-child {
    border-right: 0.5px solid #D5D6DB;
}
.product-thumbnails .active {
    z-index:1;
    outline: 2px solid #7E122E;
    outline-offset: -2px;
}
ul.social-share li {
    display: inline-block;
}
ul.social-share li a {
    display: block;
    color: #D5D6DB;
    font-size: 25px;
    padding: 10px 15px;
}
ul.social-share li a:hover {
    color: #7E122E;
}

/* Info Section */

.price-row,
.savings-row {
    display: flex;
    align-items: center;
}

span.main-price {
    display: inline-block;
    font-size: 40px;
    font-weight: bold;
    margin-right: 20px;
}
span.main-price.old-price {
    color: #D5D6DB;
    text-decoration: line-through;
    font-weight: normal;
}

.price-row img {
    width: 15%;
    margin-left: auto;
}

.savings-row span {
    font-size: 14px;
    font-weight: bold;
    color: #000000;
    margin-right: 15px;
}
.savings-row span.product-code {
    margin-left: auto;
    margin-right: 0;
}

.product-dropdowns {
    margin-top: 30px;
}
.product-dropdowns select,
.product-check-radios select,
.styled-select {
    background: url(images/selectbox-arrow-black.png) right center no-repeat;
    text-transform: uppercase;
    color: #000000;
    border: 1px solid #D5D6DB;
    padding: 20px 30px;
    margin-bottom: 30px;
}

.product-dropdowns table {
    width:100%;
}

.product-dropdowns th {
    display: none;
}

.styled-select {
    padding:5px;
    margin-bottom:10px;
}

.product-check-radios > span,
.product-check-radios-knock  {
    display: flex;
    flex-wrap: wrap;
    padding: 25px 0;
    border-top: 1px solid #D5D6DB;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
}
/*.product-information .product-check-radios:last-child {
    border-bottom: 1px solid #D5D6DB;
}*/
.product-check-radios span span span,
.product-check-radios-knock span {
    color: #7E122E;
}
.product-check-radios .input-wrapper,
.product-check-radios span span:nth-child(2n) {
    margin-left: auto;
    display: flex;
    align-items: center;
    position: relative;
}

.product-check-radios table,
.product-check-radios tbody  {
    width:100%;
}

.product-check-radios table tr {
    width:50%;
    float: left;
}

.additional-fields {
    visibility: hidden;
    opacity: 0;
    height: 0;
    flex: 0 0 100%;
    display: flex;
    align-items: center;
    transition: all 0.5s ease-in-out;
}
.additional-fields.additional-open {
    visibility: visible;
    opacity: 1;
    height: 80px;
}
.additional-fields .product-dropdowns {
    margin-top: 15px;
    flex: 1;
}
.additional-fields .product-dropdowns select {
    margin-bottom: 0px;
}
.additional-fields input[type="text"],
.product-check-radios input[type="text"] {
    flex: 2;
    /*margin-left: 20px;*/
    font-size: 14px;
    color: #000000;
    font-weight: bold;
    text-transform: uppercase;
    padding: 19px;
    /*margin-top: 15px;*/
    border: 1px solid #D5D6DB;
}


    .multi-save-wrapper {
        margin-top: 30px;
        text-align: center;
        text-transform: uppercase;
        font-size: 16px;
        color: #DD1825;
    }
    .multi-saving {
        display: flex;
        align-items: center;
    }
    .multi-col {
        flex: 1;
        align-self: stretch;
        padding: 15px;
        border: 1px solid #DD1825;
    }
    .multi-col.multi-text {
        font-weight: bold;
    }
    .multi-col.multi-price {
        border-top: none;
    }
    .multi-save-wrapper .multi-saving:first-child .multi-col.multi-price {
        border-top: 1px solid #DD1825;
        border-left: none;
        padding-left: 17px;
    }
    .multi-save-wrapper .multi-saving:not(:first-of-type) {    
        justify-content: flex-end;
    }
    .multi-save-wrapper .multi-saving:not(:first-of-type) .multi-col.multi-price {
        flex: unset;
        width: 50.2%;
    }


/* Stock Status */

.stock-status {    
    font-weight: bold;
    font-size: 14px;
    padding: 25px 0;
    border-top: 1px solid #D5D6DB;
    border-bottom: 1px solid #D5D6DB;
}
.stock-status span.out-stock {
    color: #7E122E;
}
.stock-status span.in-stock {
    color: #8ad01c;
}

/* Email Button */

a.email-when-instock {
    display: block;
    text-transform: uppercase;
    text-align: center;
    padding: 20px;
    background-color: #7E122E;
    color: #FFFFFF;
    margin-top: 20px;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 2px;
    border: 1px solid #7E122E;
}

a.email-when-instock:hover {
    color: #7E122E;
    background-color: transparent;
}

a.learn-more-btn {
    display: block;
    text-transform: uppercase;
    text-align: center;
    padding: 20px;
    background-color: #FFFFFF;
    color: #7E122E !important;
    margin-top: 20px;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 5px;
    border: 1px solid #7E122E;
    cursor: pointer;
}
a.learn-more-btn:hover {
    color: #FFFFFF !important;
    background-color: #7E122E;
}

/* Add Cart */

.add-to-cart {
    padding: 30px 0 0;    
    display: flex;
    align-items: center;
}
div#quantity-field {
    display: flex;
    align-items: center;
    font-size: 16px;
}
div#quantity-field button {
    -webkit-appearance: none;
    border: 0;
    font-weight:bold;
    padding: 15px 10px;
    border: 1px solid #D5D6DB;
    cursor: pointer;
}
div#quantity-field input {
    border: 0;
    border-top: 1px solid #D5D6DB;
    border-bottom: 1px solid #D5D6DB;
    text-align: center;
    font-weight: bold;
    padding: 15px 0;
    width: 70%;
}
a.add-to-bag {
    text-align: center;
    display: block;
    width: 100%;
    margin-left: 20px;
    padding: 15px;
    background-color: #7E122E;
    color: #FFFFFF;
    text-transform: uppercase;
    font-size: 16px;
    border: 1px solid #7E122E;
}
a.add-to-bag:hover {
    background-color: transparent;
    color: #7E122E;
}

a.exploreVideo {
    text-align: center;
    display: block;
    width: 100%;
    padding: 15px;
    background-color: #FFFFFF;
    color: #7E122E;
    text-transform: uppercase;
    font-size: 16px;
    border: 1px solid #7E122E;
}

a.exploreVideo:hover {
    background-color: transparent;
    color: #FFFFFF;
    background-color: #7E122E;
}


/* Details */

ul.product-details {
    margin-top: 30px;
}
ul.product-details > li {
    border-top: 1px solid #D5D6DB;
}
ul.product-details > li:last-child {
    border-bottom: 1px solid #D5D6DB;
}
.pd-sections {
    padding: 25px 0;
    font-weight: bold;
    font-size: 16px;
    text-transform: uppercase;
    cursor: pointer;
}
.pd-sections:after {
    content: '\f067';
    font-family: 'Font Awesome 5 Pro';
    float: right;
    font-weight: 300;
    margin: 0 10px;
    transform: rotate(0deg);
    transition:  transform 0.5s ease;
}
.pd-sections.pd-open:after {
    transform: rotate(-45deg);
    color: #7E122E;
}
ul.product-details > li div.pd-sections + div.pd-section-subwrapper {
    visibility: hidden;
    opacity: 0;
    height: 0;
    transition: all 0.5s ease;
}

ul.product-details > li div.pd-sections.pd-open + div.pd-section-subwrapper {
    visibility: visible;
    opacity: 1;
    height: auto;
    padding-bottom: 25px;
}

div.pd-section-subwrapper ul li {
    font-size: 14px;
    padding: 5px 0;
}

div.pd-section-subwrapper ul li:before {
    content: '\f068';
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
    margin: 0 10px;
}

div.pd-section-subwrapper p {
    font-size: 14px;
    margin-bottom: 15px;
    /*display: list-item;          
    list-style-type: disc;       
    list-style-position: inside; */
}


div.pd-section-subwrapper h3 {
    font-size: 16px;
    color:#000;
    text-transform: uppercase;
    font-weight: bold;
}

div.pd-section-subwrapper a {
    color:red;
}

/* END */

/* === Footer Styling === */

/* Reviews */

.reviews-wrapper {
    /*padding: 60px 0 80px;*/
    background-color: #FFFFFF;
    text-align: center;
    position: relative;
}
.reviews-wrapper h3 {
    font-weight: bold;
    margin-bottom: 20px;
}
.reviews-wrapper h4 {
    font-size: 16px;
}
.reviews-carousel {
    margin-top: 30px;
}
.reviews-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    -webkit-transform: translate3d(0,0,0);
    padding-bottom: 60px;
}
.carousel-review {
    background-color: #FFFFFF;
    text-align: left;
    padding: 30px;    
    margin: 20px;
    border: 1px solid #D5D6DB;
    box-shadow: 0px 20px 30px rgba(0,0,0,0.14)!important;
    min-height: 300px;
}
.star-rating {
    display: flex;
    align-items: center;
    justify-content: space-between;    
    margin-bottom: 20px;
}
.star-rating .stars i {
    color: #f1bb16;
}
.carousel-review h6 {
    font-weight: bold;
}
.carousel-review p {
    color: #969696;
}
.reviews-wrapper .owl-nav .disabled {
  display: none;
}
.reviews-lower {
    margin-top: 30px;
}
.reviews-lower p {
    font-size: 14px;
}
.review-logo {
    width: 10%;
}

/* All Footers */

footer ul {
    padding: 0;
    list-style: none;
}
footer .navLi1 a,
footer .navLi1 a:visited,
footer .navLi1 a:hover,
footer .navLi1 a:focus,
footer .navLi1 a:active {
    color: #333 !important;
}
footer a:hover {
    color: #7E122E;
}






/* Footer Top */

.newsletter-col {
    float: left;
    width: 33.33%;
    padding: 60px;
    color: #FFFFFF;
    display: block;
    font-size: 14px;
}

/*.newsletterSignup {
    padding: 40px 60px;
}
*/
.newsletterSignup li,
.newsletterSignup p {
    color:#fff;
    font-weight: bold;
    padding:5px 10px;
    font-size: 16px;
}

.newsletter-col input[type="text"] {
    width: 100%;
    margin-bottom: 20px;
    padding: 10px 10px 15px 10px;
    border: 0;
    border-radius: 0;
    border-bottom: 2px solid #FFFFFF;
    color: #FFFFFF;
    background-color: transparent;
    -webkit-appearance: none;
   -moz-appearance:    none;
   appearance:         none;
}
.newsletter-col select {    
    background: url(images/selectbox-arrow.png) right center no-repeat;
    border: 2px solid #FFFFFF;
    color: #FFFFFF;
}
.newsletter-col button {
    width: 100%;
    margin-top: 15px;
    padding: 10px;
    text-transform: uppercase;
    border: 2px solid #FFFFFF;
    background-color: #FFFFFF;
    cursor: pointer;
    font-weight: bold;
}
.newsletter-col button:hover {
    background-color: transparent;
    color: #FFFFFF;
}
.newsletter-info {
    background-color: #7E122E;
}
.newsletter-info ul {
    margin-top: 20px;
}
.newsletter-info ul li {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
}
.newsletter-info ul li i {
    font-size: 25px;
    margin-right: 15px;
}
.newsletter-signup {
    background-image: url('images/newsletter-signup-bg.jpg');
    background-size: cover;
}
.news-form-title.mobile-title {
    display: none;
}
.catalogue-request {
    background-color: #969696;
}

ul.sport-choices {
    column-count: 3;
}

/* Footer Middle */

footer.footer-middle {
    padding: 30px 0;
    background-color: #FFFFFF;
    font-size: 14px;
}
footer.footer-middle h4 {
    color: #7E122E;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 20px;
    padding-top: 20px;
}
footer.footer-middle p {
    line-height: 26px;
    margin-bottom: 5px;
    color: #5E6271;
}
footer.footer-middle p strong {
    margin-bottom: 5px;
    display: block;
}
footer.footer-middle ul {
    float: left;
    width: 30%;
}
footer.footer-middle ul li a {
    display: block;
    padding: 5px 0;
}
footer.footer-middle ul.footer-social {
    width: 100%;
    display: flex;
    align-items: center;
}
footer.footer-middle ul.footer-social li a {
    font-size: 20px;
    padding: 5px;
    border: 1px solid #7E122E;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    display: block;
    width: 42px;
    height: 42px;
    text-align: center;
    margin-right: 10px;
}

footer.footer-middle ul.footer-social li i {
    position: relative;
    top: 2px;
    font-size: 24px !important;
}

footer.footer-middle ul.footer-social li a:hover {
    background-color: #7E122E;
    color: #FFFFFF;
}
footer.footer-middle .footer-contacts {
    margin-top: 30px;
}
footer.footer-middle .footer-contacts a {
    display: block;
    font-size: 20px;
}
footer.footer-middle .footer-contacts a i.fas.fa-phone {
    transform: rotate(90deg);
}
footer.footer-middle .footer-contacts a i.fal,
footer.footer-middle .footer-contacts a i.fas {
    color: #7E122E;    
    margin-right: 5px;
}

/* Footer Lower */

footer.footer-lower .copyright-left,
footer.footer-lower .copyright-right {
    display: flex;
    align-items: center;
    padding: 30px 0;
    color: #5E6271;
}

footer.footer-lower .copyright-right > div {
    width:100%;
}
footer.footer-lower a.logo-link {
    flex: 1;
    display: block;
    margin-right: 20px;
}
footer.footer-lower ul.copyright-menu {
    flex: 7;
}
footer.footer-lower ul {
    margin-bottom: 0;
}
footer.footer-lower ul li {
    float: left;
}
footer.footer-lower ul li p { 
    padding: 10px 5px;
}
footer.footer-lower ul li a {
    display: block; 
    padding: 10px;
}
footer.footer-lower .copyright-right ul {
    display: flex;
    align-items: center;
}
footer.footer-lower .copyright-right ul li {
    margin-right: 10px;
list-style-type:none;
}
.global-sign {
    width: 80px;
}

/* END */



/*############### cyrane styles ################*/

/* mini basket */

.basket-dropdown {
    display: none;
     position: absolute;
    background-color: #fff;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 11000;
    top:65px;
    right: 45px;
    left: -400px;
  /*  border: 1px solid #1d1d1c;*/
    padding: 20px 30px 30px;
    max-height: 700px;
    text-transform: none;
    text-align: left;
}

.basket-dropdown:before/*,
.basket-dropdown:after*/ {
    content:"\A";
    border-style: solid;
    border-width: 0 15px 15px 15px;
    border-color:   transparent transparent #fff transparent;
    position: absolute;
    top:-13px;
    right: 10px;
}

.basket-dropdown h4 span {
    font-size: 12px;
    font-style: italic;
}

.basket:hover {
    color: #000;
}


#miniBasketData {
    max-height: 390px !important;
    overflow: hidden;
    display: block;
    overflow-y: auto;
    border-top: 1px solid #e3e3e3

}

@media (max-width:1024px) {
    #miniBasketData .img-container {
        max-width:110px;
        min-width:110px;

    }
    #miniBasketData img {
    max-width:110px;
    min-width:110px;
    padding:15px 0px;
}
}

#miniBasketData img {

    max-height:85px;
}


.basket-products .basket-item,  #miniBasketData .row{
    border-bottom: 1px solid #e3e3e3;
    padding: 5px 0;
   /* height: 130px;
    width: 100%;*/
    min-height:112px;
}

 #miniBasketData .img-container {
  text-align: center;

    width:100%;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100%;
 }

.mini-basket-qty {
    position: absolute;
    /*right:-15px;*/
    color: #7E122E;
    
    top:0;
    font-size:14px;
}

 .minibasket-product-info {
    padding-left:0;
    padding-top:10px;

}

#miniBasketData .remove {
    position: relative;
}

#miniBasketData .remove a {
   position:absolute;
    top:30px;
    left:15px;
    z-index: 999

}

span.basket-price {
    margin-left: 10px;
    font-size: 18px;
}


#miniBasketData h5 {
  font-size: 14px
  margin-left:5px;
}

.basket-dropdown .basket-totals {

    margin-bottom:15px;
    width:100%;
}

.basket-dropdown .bskttotal {
    float:right;
    padding:5px 0 10px 0;

}

.basket-dropdown .bskttotal p{
    font-size: 14px;
    
}

.basket-dropdown .bskttotal p span {
    margin-left:85px;
}

.basket-dropdown .basket-buttons {
          padding-top:15px;
}

.basket-dropdown .basket-buttons a {
    font-size: 12px;
    color:#fff;
    display: block;
background-color: #7E122E;
text-transform: uppercase;
border: none !important;
}

.basket-dropdown .basket-buttons a:hover {
background-color: #D5D6DB !important;
    color: #7E122E !important;
}

/* full basket */

.basket-empty {
    padding:20px 0 100px 0;
}

.full-basket,
.basket-bottom {
    font-size: 14px;
  
}

.basket-bottom {
      margin:0 ;
      padding:15px;
}

.full-basket {
    padding-top:15px;
    position: relative;
}

.full-basket .empty {
    position: relative;
    height:10px;
}

.full-basket .emptyBtn {
    color:#000;
    position: absolute;
    right:0;
    top:0;
}

.full-basket table {
    width:100%;
    margin:15px 0 0 0;
}

#basket-container table td.product {
      text-align: left; }

.full-basket table thead td {

    font-size: 16px;
     text-transform: uppercase;
        line-height: 45px;
        text-align: center; }

#basket-container table tbody td {
      border-bottom: 1px solid #dee2e6;
      padding: 10px 6px 10px 0px;
      text-align: center; }
#basket-container table tbody tr:last-child td {
    border-bottom:1px solid #bbb;
}      

#basket-container .basket-img {
    max-width: 150px;
    width:150px;
    padding-right: 20px;
}

.full-basket .product a {
    color:#333;
}

.remove a:visited,
.remove a:active,
.remove a:focus,
.remove a:hover,
.remove a {
    color: #e3e3e3 !important;
    text-decoration: none;
    font-size: 24px;
}        

/*.basket-qty {
    float: left;
    font-size: 12px;
    height: 25px;
    border-radius:  0;
    border-width:   1px 0;
    text-align:     center;
    padding-left:0;
    padding-right:  0;
    position: relative;
    top: -1px;
}
*/
.miniqty {
      width: 25px;
    text-align: center;
    background-color: #e3e3e3;
    border: none;
    height: 24px;
    padding: 0;
    margin: 0;
    font-size: 12px;
    height: 30px;
    border-radius:  0;
    border-width:   1px 0;
    text-align:     center;
    padding-left:0;
    padding-right:  0;
}

 .qty-container {

    /*margin:5px 0px;*/
    width:  119px;
    text-align:     center;
    float:  left;
    line-height: 28px;
    height:30px;
}

.qty-container a {
    float:left;
    padding:0 9px;
    text-decoration: none;
    border:1px solid #ccc;
    font-size:  16px;
}

.qty-container input[type="number"] {
     -webkit-appearance: none !important;
     -moz-appearance: text !important;
}        

.qty-container a:active,
.qty-container a:focus,
.qty-container a:visited,
.qty-container a:hover,
.qty-container a {
    color: #1c1c1c;
    text-decoration: none;
}

.qty-container a:hover {
    background-color:   #ccc;
}

.qty-container span {
    float: left;
}

input.qtyplus,
input.qtyminus {
    border: 1px solid #d7d7d7;
    background-color: #fff;
    width: 25px;
    height: 25px;
}

.basket-qty:focus,
input.qtyplus,
input.qtyminus {
    outline: none;
}


.basket-bottom h4 {
    margin-bottom: 10px
}


.full-basket-totals {
    font-size:14px;
    width:100%;
 /*   float:right;*/
}

.totals {
    text-transform: uppercase;
    position: relative;
    text-align: left;
}

.totals span {
    float:right;
}

.total {
    font-weight:bold;
    margin-bottom:20px;
}

.delivery-options input {
    position: absolute;

    margin-top: .3rem;

    margin-left: -1.25rem;
}

.delivery-options label {
    margin-left: 5px;
}

.custom-select {
    font-weight: normal;
}

.basket-btn {
    width:100%;
    text-align: center;
    margin-bottom:10px;
background-color: #7E122E !important;
text-transform: uppercase;
border: none !important;
}

.delivery-options label,
#delivery-method-chooser label {
font-weight: normal !important;
}

.basket-btn:hover {
background-color: #D5D6DB !important;
color: #7E122E !important;
}

a.basket-btn {
    color:#fff;
font-size: 12px;
}

.brochure-contact table {
    width:100%;
    font-size:14px;
}

.accountFeatures table tbody > tr > th,
.accountFeatures table tbody > tr > td {
    vertical-align: top;
    
}

.accountFeatures {
    padding-bottom: 10px;
}

.accountFeatures table tbody > tr > td label {
    margin:0 5px 0 0;
    position: relative;
    
}

.accountFeatures table tbody > tr > td input {
    margin-right:3px;
    margin-left:3px;
    position: relative;
    top:1px;
}

.brochure-contact h2,
h2.brochures {
    font-size:1.4rem;
}

h2.brochures {
    
    margin-top:5px;
}

#brochureTypeSelection input {
    position: relative;
    top:2px;
    margin-right:5px;
}

/*######## login page ##############*/

.forgotten-password {
    position: relative;
    top:-10px;
}

.checkout_login .form-group {
    width:50%;
}

/*===== my account =====*/

#account-tabs {
  margin-top: 38px;
  width:100%; }
  #account-tabs h2.tab-accordion a, #account-tabs h2.tab-accordion a:visited {
    background: #16205a url(../img/plus.png) right center no-repeat; }
  #account-tabs h2.tab-accordion.active a, #account-tabs h2.tab-accordion.active a:visited {
    background: #16205a url(../img/minus.png) right center no-repeat; }
  #account-tabs  table.order-history {
    margin-top: 30px;
    width: 100%; }
     #account-tabs  .basket-table table {
        margin-top:15px;
     }
    #account-tabs table.order-details,
    #account-tabs table.basket-totals{
        margin-top:5px;
    }
    #account-tabs table.order-history td {
      padding: 0 15px;
      text-align: center;
      font-family: 'PT Sans', sans-serif;
      font-weight: 400; }
    #account-tabs table.order-history thead {
      border: 1px solid #eeeded; }
      #account-tabs table.order-history thead td {
        background: #f4f4f4;
        text-transform: uppercase;
        line-height: 45px;
        font-size: 16px;
        white-space: nowrap; }
    #account-tabs table.order-history tbody td {
      border-bottom: 1px solid #d1d1d0;
      padding: 20px 15px;
      text-align: center;
      font-size: 14px; }
    #account-tabs table.order-details tbody td {
        border:0;
        padding:0 10px;
        text-align: left;
    }
    #account-tabs table.basket-totals tbody td.grandTotal {
        border:0;    }
    #account-tabs table.order-history tbody td.status {
      /*color: #999;*/
      text-transform: uppercase; }
    #account-tabs table.order-history tbody td.details a, #account-tabs table.order-history tbody td.details a:visited {
      text-decoration: none;
      background: #cd2131;
      display: inline-block;
      padding: 0 12px;
      line-height: 34px;
      text-align: center;
      color: white;
      text-transform: uppercase; }
    #account-tabs table.order-history tbody td.details a:hover {
      text-decoration: none;
      background: #16205a;
      -webkit-transition: background-color 200ms linear;
      -moz-transition: background-color 200ms linear;
      -o-transition: background-color 200ms linear;
      -ms-transition: background-color 200ms linear;
      transition: background-color 200ms linear; }
    @media (max-width: 767px) {
        #account-tabs .basket .container {
            padding:0;
        }
        #account-tabs .breadcrumbs-basket h1 {
            font-size:22px;  }
      #account-tabs table.order-history tbody tr,
      #account-tabs table.confirmation-basket tbody tr {
        display: block;
        overflow: hidden;
        border-bottom: 1px solid #d1d1d0;
        padding: 15px 20px; }
        #account-tabs table.order-history tbody tr td,
        #account-tabs table.confirmation-basket tbody tr td  {
          display: block;
          padding: 0;
          border-bottom: none;
          text-align: left;
          line-height: 2em; }
          #account-tabs table.order-history tbody tr td strong.visible-xs {
            display: inline !important;
            text-transform: uppercase;
            color: #666666; }
        #account-tabs table.order-history tbody tr td.details {
          display: block; } }
  #account-tabs #data-protection-form {
    background: #f4f4f4;
    padding: 15px; }
    #account-tabs #data-protection-form p {
      margin: 0; }
    #account-tabs #data-protection-form .help {
      font-size: 12px; }
    #account-tabs #data-protection-form label {
      color: #666666;
      margin-bottom: 5px;
      text-transform: uppercase; }

.tab-accordion-wrapper ul.main-tabs {
  padding: 0;
  list-style: none;
  margin-bottom: 0px;
  margin-left:0; }
  .tab-accordion-wrapper ul.main-tabs li {
    display: inline-block;
    margin-right: 5px;
    border: 1px solid #cecece;
    border-bottom: none;
    background: #f4f4f4;
    position: relative;
    font-size: 14px;
    top: 1px; }
    .tab-accordion-wrapper ul.main-tabs li a {
      color: #666666;
      display: inline-block;
      padding: 20px 35px;
      border-bottom: 1px solid #f4f4f4;
      font-weight: 600;}
    .tab-accordion-wrapper ul.main-tabs li a:hover {
      text-decoration: none; }
  .tab-accordion-wrapper ul.main-tabs li.active {
    background: #cd2131;
    color:#fff;
    border-bottom: none;
    padding-bottom: 1px;
     border: 1px solid #aa1f2c;
     }
    .tab-accordion-wrapper ul.main-tabs li.active a {
      border-bottom: none;
      color:#fff; }
.tab-accordion-wrapper h2.tab-accordion {
  background: #4CB748;
  margin: 0;
  border-bottom: 1px solid white;
  font-size: 18px;
  text-transform: uppercase; }
  .tab-accordion-wrapper h2.tab-accordion a, .tab-accordion-wrapper h2.tab-accordion a:visited {
    text-decoration: none;
    color: white;
    display: block;
    padding: 14px 16px; }
.tab-accordion-wrapper .tab-content {
  border: 1px solid #cecece;
  background-color:#fff;
  font-size: 14px;
  padding: 30px;
  margin-bottom: 30px; }
  .tab-accordion-wrapper .product-breadcrumbs-row {
    display: none;
  }
  .tab-accordion-wrapper .tab-content .tab {
    display: none; }
    .tab-accordion-wrapper .tab-content .tab .tab-inner h3,  .tab-accordion-wrapper .tab-content #stepHeader h2{
      color: #666666;
      font-size: 16px;
      margin-top: 0;
      font-weight: 400; }
      .tab-accordion-wrapper .tab-content .tab .tab-inner  h3 {
        color:#3d3d3d;
       font-weight: bold;
        margin-top:10px;    }
    .tab-accordion-wrapper .tab-content .tab .tab-inner p {
      font-size: 14px; }
    .tab-accordion-wrapper .tab-content .tab .tab-inner a:not(.btn) {
        color:#cd2131;
    }
  .tab-accordion-wrapper .tab-content .tab.active {
    display: block; }


@media screen and (min-width:992px) {
    .tab-accordion-wrapper .tab-content .tab .tab-inner .form-group {
        width:50%;
    }


}

@media screen and (max-width:991px) {
       .order-details.fixed-layout {
        margin-bottom:15px;
     }
}

@media only screen and (min-width:991px) and (max-width : 1200px) {
    .order-details.fixed-layout {
        table-layout: fixed;
        max-width:100%;
        width:100%;
    }
}

.order-confirmation {
    font-size: 14px;
}

.tab-content .order-confirmation,
.tab-content .full-basket {
    padding:0;
}



.order-details .email-address {
    word-wrap: break-word;
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover,
  .mfp-close:focus {
    opacity: 1; }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover,
  .mfp-arrow:focus {
    opacity: 1; }
  .mfp-arrow:before,
  .mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px; }
  .mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px; }
  .mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/*########## content pages ########*/


.main-content .Normal {
    font-size:14px;
}

.main-content .Normal p {
    font-size: 14px;
    margin:10px 0;
}

.main-content .Normal ul {
    list-style: disc;
    padding-left:15px;
    font-size: 14px;
}

.main-content .Normal li {
    margin-bottom:5px;
}

.Normal h2 {
    color:#dc3545;
    margin-top:30px;

}

.Normal h3 {
    font-size:1.6rem;
    margin-top:15px;
    margin-bottom: 0px;
}


.anchor a {
  position: absolute;
  left: 0px;
  top: -80px;
}

.anchor {
  position: relative;
}

/*.table {
    width:auto;
}*/
/*############## responsive.css ###########*/


@media only screen and (min-width : 1200px) {
    .container {     
        max-width: 88vw !important;
    } 

    
}

@media screen and (min-width: 1025px) {
    .product-wrapper:hover {
        outline: 1px solid #D5D6DB;
        outline-offset: -1px;
    }


}

@media screen and (max-width: 1025px) {

    

    /* Header */

    .top-bar .delivery-msg {
        flex: 0 0 40%;
    }
    .top-bar .top-menu-container {
        flex: 0 0 60%;
        max-width: 60%;
    }

    /* Homepage */

    span.slide-main {
        font-size: 50px;
        line-height: 50px;
    }

    span.cta-title {
        font-size: 18px;
        /*line-height: 10px;*/
        margin-bottom: 10px;        
    }
    span.cta-sub {
        font-size: 10px;
    }
    .owl-prev {
        margin-left: -30px;
    }
    .owl-next {
        margin-right: -30px;
    }

    .lower-cta-title {
        padding: 0;
        font-size: 20px;
        line-height: 22px;
    }

    /* Footer */

    footer.footer-lower a.logo-link {
        margin-right: 5px;
    }
    footer.footer-lower ul li a {
        padding: 10px 5px;
    }

    /* Landing Page */

    .brand-wrapper ul {
        width: 90%;
    }

    /* Cat Page */

    .category-pagination {
        flex: 2;
    }

    span.prod-footer {
        text-align: left;
    }
    span.reg-ret-price, span.saving {
        line-height: 25px;
        display: inline-block;
        width: 80%;
    }
/*    span.saving {
        margin-top: -22px;
    }*/
    a.wishlist-prodlist {
        float: right;
        /*margin-top: 20px;*/
    }

    a span.wishlist {
        color:#000;
    }

    .featured-product-wrapper span.saving,
    .recent-product-inner span.saving,
    .featured-product-wrapper span.wishlist,
    .recent-product-inner span.wishlist {
        margin-top: 0px;
    }

    /* Product Page */

    .product-title h1 {
        font-size: 30px;
    }

    .savings-row span.saving {
        display: block;
    }

} /* END: max-width: 1025px */

@media screen and (min-width: 767px) and (max-width: 1025px) {

    div.sub-menu-content-wrapper {
        border-left: 1px solid #7E122E;
        border-right: 1px solid #7E122E;        
        border-bottom: 1px solid #7E122E;
    }

    ul.top-menu li a {
        padding: 10px 5px;
    }
    ul.top-menu li.header-call a {
        padding: 10px 5px;
    }
     ul.top-menu li.header-call i.fas.fa-phone {
        display: none;
    }
}

@media screen and (max-height:769px) {
    div.sub-menu-content-wrapper {
        border-left: 1px solid #7E122E;
        border-right: 1px solid #7E122E;        
        border-bottom: 1px solid #7E122E;
    }
}


@media screen and (max-width: 991px) {
    .buyers-guide {
    position: absolute;
    right:50%;
    top:auto;
    bottom:15px;
    margin-right:-62px;
}
}

    @media screen and (min-width: 769px) and (max-width: 991px) {
        .multi-saving {
            font-size: 12px;
        }
    }

@media screen and (max-width: 813px) {
    /* Header */

    .top-bar .delivery-msg {
        flex: 0 0 35%;
    }
    .top-bar .top-menu-container {
        flex: 0 0 65%;
        max-width: 65%;
    }
    ul.top-menu li a {
        padding: 10px 5px;
    }
    ul.top-menu li.header-call a {
        padding: 10px 5px;
    }
    ul.top-menu li.header-call i.fas.fa-phone {
        display: none;
    }

    .login-top ul a {
        padding: 10px 20px;
        font-size: 22px;
    }

    .tab-accordion-wrapper ul.main-tabs li a {
        padding: 20px 19px;
    }

    /* Homepage */

    span.slide-header {
        padding: 5px 15px;
        font-size: 11px;
    }
    span.slide-main {
        font-size: 24px;
        line-height: 30px;
    }
    span.slide-sub {
        font-size: 14px;
        margin-bottom: 15px;
    }
    a.slide-link {
        font-size: 12px;
        padding: 10px 40px;
    }
    span.cta-info {
        bottom: 26%;
    }

    /* Footer */

    .newsletter-col {
        width: 50%;
    }
    .newsletter-info {
        display: none;
    }
    .news-form-title.mobile-title {
        display: block;
    }
    .news-form-title.desktop-title {
        display: none;
    }
    h4.news-form-title {
        font-size: 20px;
    }

    footer.footer-middle {
        text-align: center;
    }
    footer.footer-middle ul {       
        width: 33.33%;
    }
    footer.footer-middle ul.footer-social {
        display: block;
        margin-left: auto;
        float: none;
        width: 48%;
        margin-right: auto;
    }
    footer.footer-middle ul.footer-social li {
        float: left;
    }
    footer.footer-lower .copyright-left, 
    footer.footer-lower .copyright-right {
        display: block;
    }
    footer.footer-lower a.logo-link {
        width: 20%;
        margin-bottom: 15px;
        margin-left: auto;
        margin-right: auto;
    }
    footer.footer-lower ul li a {
        padding: 10px 14px;
    }
    footer.footer-lower .copyright-right {
        padding: 0 0 30px;
        margin-left: auto;
        margin-right: auto;
    }

    /* Cat Pages */

    .filter-list {
        width: 100%;
        float: none;
    }

    .filter-list ul {
        column-count: 2;
        margin-bottom: 20px;
    }

    .category-listing-wrapper .product-wrapper {
        width: 32%;
        margin: 0.5%;
    }

    /* Product Page */

    .product-title h1 {
        font-size: 26px;
    }

    .product-title a.wishlist {
        font-size: 20px;
    }
   /* a.wishlist span {
        display: none;
    }*/
    .bx-controls {
        display: none;
    }
    .product-thumbnails img:last-child {
        border-right: 1px solid #D5D6DB;
    }

    span.main-price {
        font-size: 30px;
        margin-right: 10px;
    }

    #dnn_ctr744_ViewProductInfo_ctl00_info_ctl00_pd_cyrCustomAttr_attr0,
    #dnn_ctr744_ViewProductInfo_ctl00_info_ctl00_pd_cyrCustomAttr_attr0 select {
        width:100%;
    }
    .price-row img {
        width: 25%;
        margin-left: auto;
    }
    .savings-row,
    .savings-row span.saving {
        display: inline-block;
    }

    .savings-row span.product-code {
        display: block;
    }
    .socialIcons {
        width: 100% !important;
    }

} /* END: max-width: 813px */

@media screen and (max-width: 769px) {

    .cta-full-width h4 {
        margin-bottom: 0;
        font-size: 18px;
    }

    .tab-accordion-wrapper .tab-content,
    .tab-accordion-wrapper .tab-content .order-confirmation,
    .tab-accordion-wrapper .tab-content .full-basket     {
        padding:0;
    }

    .tab-accordion-wrapper .tab-content .tab-inner {
        padding:15px;
    }

    .discount-code-fields {
        border-top:1px solid #ccc;
        padding:15px 0;
        border-bottom:1px solid #ccc;
    }



} /* END: max-width: 769px */

@media screen and (max-width: 767px) { /*changed from 737 */

    .top-bar .delivery-msg {
        flex: 0 0 125%;
        text-align: center;
        display: flex;
        padding: 10px 20px 0 20px;
    }
    .top-bar .delivery-msg a {
        display: inline-block;
        text-align: center;
        color: #7E122E;
    }
    .col-md-6.top-menu-container,
    #menu-bar {
        display: none;
    }

    /*header.mobile-header {
        border-bottom: 1px solid #D5D6DB;
    }*/
    .checkout_login .form-group {
        width:100%;
    }
    .mobile-header #nav-icon span {
        width: 45%;
    }

    .product-breadcrumbs-row {
        display: none;
    }
    .shop-brand {
        display: none !important;
    }

    /* Footer */

    footer.footer-lower a.logo-link {
        width: 40%;
    }
    footer.footer-lower {
        text-align: center;
    }
    footer.footer-lower .copyright-left ul {
        margin-top: 20px;
        columns: 2;
        -webkit-columns: 2;
        -moz-columns: 2;
    }
    footer.footer-lower .copyright-left ul li {
        float: none;
    }
    footer.footer-lower .copyright-left ul li a {
        padding: 5px 10px;
    }
    footer.footer-lower .copyright-right {
        width: 70%;
    }
    footer.footer-middle ul.footer-social {
        width: 65%;
    }

    /* Cat Page */

    .sorter-dropdowns {
        margin-right: 2px;
        margin-left: 2px;
    }
    .sorter-dropdowns {
        flex:100%;
        margin-top: 10px;
    }
    .category-pagination {
        flex: 100%;
        margin-top: 40px;
    }
    .category-pagination ul {
        text-align: center;
    }

    .category-listing-wrapper .product-wrapper {
        width: 48%;
        margin: 0.5%;
    }

    span.top-left-info {
        left: 7%;
    }
    
    .reviews-upper, 
    .reviews-lower {
        padding: 0 15%;
    }

} /* END: max-width: 737px */

@media screen and (max-width: 680px) {

    .top-bar a {
        padding: 0 10px;
    }

    /* Homepage */

    .featured-product-wrapper,
    .recent-product-inner {
        padding-left: 30px;
        padding-right: 30px;
    }

    .homepage-reviews-upper,
    .homepage-reviews-lower {
        padding: 0 30px;
    }
    .cta-full-width {
        display: none;
    }
    .cta-full-width.mobile-only {
        display: block;
    }
    .homepage-cta-lower .lower-cta-title {
        text-align: left;
        font-size: 16px;
        width: 80%;
        margin-left: 10%;
    }
    .homepage-cta-lower .lower-cta-title:after {
        content: '\f054';
        font-family: 'Font Awesome 5 Pro';
        font-weight: 300;
        font-size: 16px;
        position: absolute;
        right: 0;
    }

    /* Footer */

    .newsletter-col {
        width: 100%;
        padding: 25px;
    }
    footer.footer-middle .popular-pages ul {
        width: 100%;
    }
/*    .popular-pages ul:last-child {
        display: none;
    }*/
    footer.footer-middle ul.footer-social {
        width: 41%;
    }

    /* Cat Pages */

    .category-listing-wrapper .product-wrapper {
        width: 49.5%;
        margin: 0;
        margin-left: 0;
        margin-bottom: 0.8%;
    }

    /* Single Product */

    .product-check-radios p {
        /*width: 100%;*/
        text-align: center;
    }

    

    .additional-fields {
        flex-wrap: wrap;
    }
    .additional-fields .product-dropdowns,
    .additional-fields input[type="text"] {
        flex: 0 0 100%;
    }
    .additional-fields input[type="text"] {
        margin-left: 0px;
        padding: 19px 30px;
    }
    .additional-fields.additional-open {
        height: 150px;
    }

} /* END: max-width: 680px */

@media screen and (max-width: 668px) {

    /* Footer */

    footer.footer-middle ul.footer-social {
        width: 65%;
    }

} /* END: max-width: 668px */

@media screen and (max-width: 415px) {

    .mobile-header #nav-icon span {
        width: 64%;
    }

    /* Homepage */

    .slide-content {
        left: 18%;
    }

    .homepage-call-to-actions {
        padding: 40px 0 80px;
    }
    #dnn_CtaUpperTLPane.full-mobile,
    #dnn_CtaUpperBMPane.full-mobile,
    #dnn_CtaUpperBRPane.full-mobile  {
        height: 100% !important;
    }
    #dnn_CtaUpperTLPane.cta-col,
    #dnn_CtaUpperBRPane.cta-col {
        height: 28vh !important;
    }
    #dnn_CtaUpperTPane.cta-full-col span.cta-info {
        bottom:2vh !important;
    }
/*     #dnn_CtaUpperTPane.cta-full-col img {
        display: none !important;
     }*/
    .cta-col, .cta-left-col {
        /*float: none;*/
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    .cta-col.mobile-col {
        float: left;
        width: 50%;
        height: auto;
    }


    .homepage-cta-upper .cta-overlay,
    .landing-cta-upper .cta-overlay {
        display: block;
    }
    span.cta-info {
        bottom: 6vh;
        width: 85%;
    }
    .cta-overlay {
        background-color: rgba(0,0,0,0.5);
    }
    .full-mobile .cta-overlay {
        background-color: rgba(0,0,0,0.0) !important;
    }
    span.cta-info:after {
        content: '\f054';
        font-family: 'Font Awesome 5 Pro';
        font-weight: 300;
        font-size: 30px;
        position: absolute;
        right: 0;
        top: -1vh;
        color: #fff;
    }
    .mobile-col span.cta-title,
    .mobile-col span.cta-sub {
        color:#fff !important;
    }

    .cta-col span.cta-title {
        color: #fff;
    }
    
    span.cta-title.title-red,
    span.cta-sub.sub-dark {
        color: #7E122E;
    }
    span.cta-info::after {
        display: none;
    }
    .new-cta span.cta-info:after {
        color: #000000;
    }
    .new-cta .category {
        display: none;
    }

    .new-cta {
        background-color: #D5D6DB;
    }
    .new-cta .cta-title {
        color: #7E122E;
    }
    /*.new-cta .cta-sub {
        color: #000000;
    }*/

    .cta-full-width.mobile-only h4 {
        font-size: 20px;
    }
    .cta-full-width a {
        padding: 10px 20px;
    }

    /* Footer */

    footer.footer-middle ul.footer-social {
        width: 41%;
    }

    ul.sport-choices {
        column-count: 2;
    }

    /* Landing Page */

    .brand-wrapper {
        display: none;
    }
    .landing-left-panel {
        flex: 2;
    }
    .landing-right-panel .cta-col {
        width: 100%;
        height: 25%;
    }
    .lower-cta-title {
        padding: 0;
    }
    span.landing-banner-main {
        font-size: 30px;
        line-height: 30px;
    }
    .landing-banner-content {
        width: 65%;
    }
    span.landing-banner-sub {
        font-size: 14px;
        line-height: 18px;
    }
    a.landing-banner-link {
        padding: 10px 20px 10px 30px;
    }

    /* Category Page */

    .page-title {
        padding: 2vh;
    }
    /*.breadcrumbs {
        display: none;
    }*/
    .page-title h1 {
        font-size: 30px;
    }
    .product-filter-inner ul li span {
        padding: 15px 10px 15px 20px;
        font-size: 16px;
    }

    .filter-list ul {
        column-count: 1;
        overflow: visible;
        overflow-y: unset;
        max-height: none;
    }

    .category-listing-wrapper {
        padding: 4vh 0;
    }

    span.image-cta-wrap {
        padding: 10% 0;
        min-height: 200px;
    }
    .tab-heading {
        margin-left: 15px;
    }
    span.image-cta-wrap {
        max-width:100%;
        /*height: 343px;*/
    }
    .owl-item span.image-cta-wrap {
        /*max-width:100%;*/
        height: 343px;
    }
    .owl-item span.image-cta-wrap img {
        
        max-height:285px;

    } 
    span.image-cta-wrap img {
        
        max-height:150px;

    }    
    span.top-left-info, 
    span.top-right-info {
        font-size: 12px;
    }
    span.junior-title {
        width: 100%;
        font-size: 14px;
    }
    span.details-price {
        padding: 5px 10px 0px;
    }
    span.product-name {
        font-size: 14px;
        line-height: 16px;
        min-height: 48px !important;
    }
    span.price {
        font-size: 20px;
    }
    span.prod-footer {
        padding: 0px 20px 10px;
        display: inline-block;
        width:100%;
    }

    span.saving {
        margin-top: -12px;
        display: inline-block;
        width:80%;
    }
    a.wishlist-prodlist {
        font-size: 18px;
        margin-top: 15px;
    }

    /* reviews */

    .reviews-wrapper h3 {
        font-size: 20px;
    }
    .reviews-wrapper {
        padding: 20px 0 10px;
    }
    .reviews-lower {
        margin-top: -40px;
        margin-bottom: 40px;
    }
    .review-logo {
        width: 50%;
        margin-top: 0;
        padding-top: 0px;
        margin-left: auto;
        margin-right: auto;
    }

    .buyers-guide {
    background:transparent;
    color:#7E122E;
    bottom:-5px;
    }

} /* END: max-width: 415px */

@media screen and (max-width: 376px) {

    
    .mobile-header #nav-icon span {
        width: 70%;
    }

    /* Footer */

    footer.footer-middle ul.footer-social {
        width: 46%;
    }

} /* END: max-width: 367px */

@media screen and (max-width: 361px) {

    .mobile-header #nav-icon span {
        width: 73%;
    }

    .multi-saving {
            font-size: 14px;
        }

    /* Footer */

    footer.footer-middle ul.footer-social {
        width: 48%;
    }

} /* END: max-width: 320px */

@media screen and (max-width: 320px) {
    
    .mobile-header #nav-icon span {
        width: 85%;
    }

    /* Footer */

    footer.footer-middle ul.footer-social {
        width: 54%;
    }

} /* END: max-width: 320px */

.product-overview__description .product-overview__optional-extras {
    border: 1px solid #a4a4a4;
    border-radius: 3px;
    margin-bottom: 20px;
}

.product-overview__description .product-overview__optional-extras h2 {
    border-bottom: 1px solid #a4a4a4;
    padding: 10px 20px;
    margin-bottom: 0;
    font-weight: 700;
    text-align: left;
    font-size: 20px;
    font-size: 2rem;
}

.product-overview__description .product-overview__optional-extras .product-overview__optional-extras-body {
    display: table;
    width: 100%;
    border-collapse: collapse;
}
.product-overview__optional-extras div {
    word-break: normal !important;
}

.product-overview__description .product-overview__optional-extras .product-overview__optional-extras-body .product-overview__optional-extras-row {
    display: table-row;
    width: 100%;
    border-bottom: 1px solid #a4a4a4;
    overflow: hidden;
}
.product-overview__optional-extras div {
    word-break: normal !important;
}

.product-overview__description .product-overview__optional-extras .product-overview__optional-extras-body .product-overview__optional-extras-row .product-overview__optional-extras-col:first-child {
    border-right: 1px solid #a4a4a4;
}
.product-overview__description .product-overview__optional-extras .product-overview__optional-extras-body .product-overview__optional-extras-row .product-overview__optional-extras-col {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    padding: 10px 20px;
}
.product-overview__optional-extras div {
    word-break: normal !important;
}
/*
#dnn_CtaUpperTLPane {
    height: 700px;
}

#dnn_CtaUpperTMPane,
#dnn_CtaUpperTRPane,
#dnn_CtaUpperBMPane,
#dnn_CtaUpperBRPane {
    height:350px !important;
}*/

/*.bx-controls {
    display: none;
}*/

/*.zoomContainer {
    display: none;
}*/

.mobile-mini-basket-qty {
    position: relative;
    right: 11%;
}

.cat-header-mobile {
    color:white;
    background-color: #7E122E;
    padding:5px 10px;
    border:solid 1px #fff;
}

.cat-title-mobile span{
    width: 25%;
    display: inline-block;
}

.wishlistButtons a {
    color:#fff;
}

.container-fluid .newsletterSignup {
    display: none;
}

#dnn_ctr744_ViewProductInfo_ctl00_info_ctl00_pd_cyrCustomAttr label {
    color:#000 !important;
}

.product-details .text-center {
    text-align: left !important;
}

.product-details img {
    margin-left:5px !important;
    margin-right:5px !important;
}

.xsell-info a,
.xsell-info a:hover {
    color:#000000 !important;
}

#dnn_ctr732_ViewCheckout_ctl00_cyrRegister_butForgottonPassword,
#dnn_ctr732_ViewCheckout_ctl00_cyrRegister_butForgottonPassword:hover,
#dnn_ctr732_ViewCheckout_ctl00_cyrRegister_butForgottonPassword:visited,
#dnn_ctr732_ViewCheckout_ctl00_cyrRegister_butForgottonPassword:active {
    color:  #007bff !important;
}

@media only screen and (min-device-width : 360px) and (max-device-width : 812px) and (orientation: portrait) {
    .wishlist-count {
        position: relative;
        left: -16px;
        top:-5px;
    }
    .mobile-mini-basket-qty {
        right: -2%;
        font-size:11px;
        top: -12px;
	color: #7E122E !important;
    }

}

@media only screen and (min-device-width : 360px) and (max-device-width : 812px) and (orientation: landscape) {
    .wishlist-count {
        
        left: -5px;
        top:-5px;
    }
    .mobile-mini-basket-qty {
        right:32%;
        font-size:11px;
        top: -1px;
    }

}

@media only screen  and (min-device-width: 375px)  and (max-device-width: 812px) and (orientation: portrait) { 
    .videoText {
        bottom:3% !important;
        left:5% !important;
        width:100% !important;
    }
    .videoText p, .videoText span {
        display: none !important;
    }
    .videoText h3 {
        font-size:18px !important;
    }
    .tab-heading a::after {
        content: '\f055' ;
        font-family: 'FontAwesome';
        float: right;
        font-size: 22px;
        margin-top: -5px;
        display: block;
    }
    a.accordian-expanded::after {
        content: '\f056' !important;
        font-family: 'FontAwesome';
        float: right;
        font-size: 22px;
        margin-top: -5px;
        display: block;
    }
    .panel-menu {
        display: none;
    }
    .basketBody {
        width: 100%;
        display: grid;
    }
}

@media only screen  and (min-device-width: 375px)  and (max-device-width: 812px) and (orientation: landscape) { 
    .videoText {
        bottom:15% !important;
        left:5% !important;
        width:100% !important;
    }
    .tab-heading a::after {
        content: '\f055' ;
        font-family: 'FontAwesome';
        float: right;
        font-size: 22px;
        margin-top: -5px;
        display: block;
    }

    a.accordian-expanded::after {
        content: '\f056' !important;
        font-family: 'FontAwesome';
        float: right;
        font-size: 22px;
        margin-top: -5px;
        display: block;
    }
    .panel-menu {
        display: none;
    }
}

@media only screen and (min-device-width : 768px) and (max-device-width : 1024px)  {
    .videoText {
        bottom:10% !important;
        left:45% !important;
        width:50% !important;
    }
    .videoText p, .videoText span {
        display: block !important;
    }
    .videoText h3 {
        font-size:28px !important;
    }
    .tab-heading a::after {
        content: '\f055' ;
        font-family: 'FontAwesome';
        float: right;
        font-size: 22px;
        margin-top: -5px;
        display: block;
        }
    a.accordian-expanded::after {
        content: '\f056' !important;
        font-family: 'FontAwesome';
        float: right;
        font-size: 22px;
        margin-top: -5px;
        display: block;
    }
    .panel-menu {
        display: none;
    }
    .basketBody {
        width: 100%;
        display: contents;
    }
}

.wishlist-active {
    color:#7E122E !important;
}

.wishlist-notactive,
.wishlist-notactive:hover {
    color:#7E122E;
}



@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .junior-title {
        left:19px !important;
    }
}

.brandFilter ul {
    height:150px;
    overflow: auto;
    overflow-x: hidden;
}


.attributeFilter ul {
    height:150px;
    overflow: auto;
    overflow-x: hidden;
}

.videoText {
    position: absolute;
    text-align: left;
    width: 50%;
    bottom: 20%;
    left: 45%;
}

.videoText h3, .videoText p, .videoText span    {
    color:#fff !important;
    text-transform: uppercase;
}

.videoText p {
    font-size:22px;
}

.videoText span {
    margin:10px 0;
    display: block;
}

.videoText h3  {
    font-size:36px;
}

.videoText .watchNow {
    padding:5px 15px;
    border:1px #fff solid;
    width:125px;
    color: #fff;
}


.videoText .watchNow:after {
    content: '\f054';
    font-family: 'Font Awesome 5 Pro';
    float: right;
    font-weight: 300;
    color:#fff;
    font-size: 20px;
    line-height: 21px;
    transition: all 0.5s ease;
}

.popular-pages ul li {
    font-size:12px !important;
}

.tab-heading a {
    color: #7E122E;
}

.clearButton {
    margin-top:30px;
    text-align: center;
    width: 100%;
    display: block;
}



.clearBtn:hover {
    cursor:pointer;
}

.magnify {
    width: 100%;
    position: relative;
    cursor: none;
}

.large {
    display: none;
    width: 200px;
    height: 200px;
    position: absolute;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    -webkit-box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.85), 0 0 7px 7px rgba(0, 0, 0, 0.25), inset 0 0 40px 2px rgba(0, 0, 0, 0.25);
    -moz-box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.85), 0 0 7px 7px rgba(0, 0, 0, 0.25), inset 0 0 40px 2px rgba(0, 0, 0, 0.25);
    box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.85), 0 0 7px 7px rgba(0, 0, 0, 0.25), inset 0 0 40px 2px rgba(0, 0, 0, 0.25);
}

.imgbox {
    display: block;
    width: 100%;
    position: relative;
}
/*
.filter-options li {
    line-height:15px;
}*/

.filter-options li a {
    color:#fff;
    font-size: 16px;
    text-decoration: none;
}

.checkbox:hover {
    cursor: pointer;
}

.filter-options li span {
    border-bottom:none !important;
    margin-bottom:0px !important;
    width:auto !important;
}

.filter-options label {
    margin-bottom: 0px !important;
}

#dnn_ctr714_CyraneLogin_ctl00_lgnCtl_butPassword:hover {
    color:#007bff;
}
/*
.juniorTitle {
    display: block;
    margin:auto;
}*/

/*ul.custom-filter li a:hover, ul.custom-filter li.filtered a {
    text-decoration: none;
    background: #7E122E url(images/bg_catFilterAdd.png) no-repeat 95% 45%;
    color: #fff;
    display: block;
    width:100%;
}

ul.filter-options li.filtered a:hover {
    background: #000 url(images/bg_catFilterRemove.png) no-repeat 95% 45%;
}*/

.contact-us-form {
    margin-top: 20px;
}

.alternateImages ul {
    width: 100%;
    display: inline-block;
	margin: 0px !important;
    align-items: center;
    justify-content: center;
    min-height: 85px;
}

.alternateImages ul li img {
	max-width: 100% !important;
	max-height: 100% !important;
	margin: auto !important;
}

.alternateImages li a {
    border: 1px solid #eee;
    display: inline-block;
    float: left;
    height: 76px;
    list-style-type: none;
    margin: 0px 3px 8px 3px;
    overflow: hidden;
    text-align: center;
    vertical-align: middle;
    width: 76px;
}

/*.alternateImages li a {
    width: 70px;
    display: inline-block;
    height: 70px;
}*/

.alternateImages li img {
    display: inline-block;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .equipmentGuides {
        display: none !important;
    }
}


@media only screen and (min-device-width: 375px) and (max-device-width: 812px) { 
    #dnn_ctr1206_ContentPane {
        display: none !important;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1600px) { 
    #dnn_ctr1207_ContentPane {
        display: none !important;
    }
}

.DnnModule-Admin .slide-content {
    display: none;
}

.search-inner-wrapper .btn-search {
    position:absolute;
    display: block;
    right:0;
    top:0;
    bottom:0;
    /*background-color:#8d6c2b;*/
    color: #473729;
    border:0;
    padding:0 10px;
    border-left:1px dotted #ccc;
    text-align: center;
    line-height:32px;
}

.product-content .product-images .product-thumbnails .video-overlay {
    background: rgba(0,0,0, 0.5) url('img/video-overlay.png') 50% 50% no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    max-height: 76px;
    max-width: 76px;
}

.socialIcons {
    display: inline-block;
    width: 50%;
    margin:20px 0;
}

.DnnModule-DNN_HTML.DnnModule-794 {
    margin-top: 20px;
}

.moreInfo {
    text-decoration: underline;
    text-decoration-style: dashed;
    z-index: 99999;
}

.extra { 
    display: none;
}

p:hover .extra {
    display: inline-block;
    position: absolute;
    width: 100%;
    border: 1px solid #D5D6DB;
    background-color: #fff;
    top:1%;
    right: 0%;
    padding:5px;
    text-align: center;
    color:#000000;
    font-size: 12px;
}

.moreInfo i {
    font-size: 15px;
    margin-left: 10px;
}

#share a {
    width: 20%;
    float: left;
    font-size: 24px;
    color: #D5D6DB;
    text-align: center;
}

body::-webkit-scrollbar {
    width: 1em;
}
 
body::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
}
 
body::-webkit-scrollbar-thumb {
  background-color: darkgrey;
  outline: 1px solid slategrey;
  border-radius: 3px;
}

.filter-options::-webkit-scrollbar {
    width: 5px;
}
 
.filter-options::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
}
 
.filter-options::-webkit-scrollbar-thumb {
  background-color: darkgrey;
  outline: 1px solid slategrey;
  border-radius: 3px;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1366px) {
    .tabletNotActive {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}

@media only screen and (min-device-width: 1366px) {
    .desktop-slider .ls-container {
        height: 81vh !important; 
    }
    .desktop-slider .ls-preloaded, .desktop-slider .ls-nexttile img, .desktop-slider .ls-curtile img {
       height: 81vh !important; 
       width: auto !important; 
       margin-top: 0px !important;
       margin-left: calc((100vw - (2000 * (81vh / 740))) / 2) !important; 
    }
}
    
@media screen and (max-width: 1024px) {

        .login-top li {
            position: relative;
            padding:10px 20px;
        }

        .top-level .navLi2 {
            height: 25%;
        }

}

@media screen and (min-width:768px) and (max-width: 1024px) {

       .product-check-radios .input-wrapper, .product-check-radios span span:nth-child(2n) {
            display: block;
       }

}



@media screen and (min-width:325px) and (max-width:813px) {
    /*.zoomContainer {
        display:none;
    }*/
    .desktopFilter {
        display: none;
    }
    .bx-wrapper img {
        /*max-width: 100% !important;*/
        /*display: block !important;*/
        width: 100% !important;
    }
    
}

@media screen and (min-width:325px) and (max-width:813px) {
    .desktopCatList {
        display:none !important;
    }
    .clearBtn {
        width: 100%;
        display: block;
        text-align: center !important;
        margin-bottom: 10px;
    }
    .clearButton {
        width: auto;
    }
}

@media screen and (min-width:814px) {
    .mobileCatList {
        display: none;
    }
  
}

.desktopCatList {
        border-left:#fff solid 1px;
    }

.fixedMenu .wishlist-count {
    display: none;
}

/*Checkout*/


.card-input {
    width: auto;
    display: inline-block;
    border-radius: 0;
}

form input[type="submit"]:not(.CommandButton) {
    font-family: 'Play', sans-serif;
    text-transform: uppercase;
    text-align: center;
    font-weight: 300;
    color: #fff;
    padding: 5px 32px;
    border: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -o-border-radius: 0;
    -ms-border-radius: 0;
    border-radius: 0;
}

.brochure-contact .form-group a {
    color: #fff;
    background-color: #7E122E;
    padding: 10px 40px;
    font-family: 'Play', sans-serif;
    top: 10px;
    position: relative;
}

.brochure-contact .form-group a:hover {
    color: #7E122E;
    background-color: #fff;
    padding: 10px 40px;
    border: 1px solid #7E122E;
    top: 10px;
    position: relative;
}

#dnn_ctr724_BrochureRequest_ctl00_chkBrochures,
#dnn_ctr724_BrochureRequest_ctl00_chkBrochures tbody {
    display: inline-block;
    width: 100%;
    margin:10px 0px;
}


#dnn_ctr724_BrochureRequest_ctl00_chkBrochures tbody tr {
    float: left;
    text-align: center;
    width: 33%;
}

#dnn_ctr724_BrochureRequest_ctl00_chkBrochures tbody tr td {
    text-align: center;
    width:100%;
}

.modal-dialog-scrollable .modal-body {
     overflow-y: none !important; 
}

#checkout h3 {
    font-size:16px;
}

.payment img {
	margin-right: 7px;
}

.payment span {
	font-size:11px;
	font-family: Arial, Verdana;
}

.tab-content .breadcrumbs {
	display: inline-flex;
}

#order-basket-summary table {
	width:100%;
}

#order-basket-summary table tr .product {
	width:40% !important;
}

#order-basket-summary table tr td {
	width:15%;
}

@media screen and (max-width:812px) {
	#order-basket-summary table thead {
		display:none !important;
	}
}

.logo-bar .fa {
color: #7E122E !important;
}

.basket-container {
	background-color: #fff;
}

.dnnEditState .DnnModule {
width: 96%
}


#dnn_ContentPane .pageContent {
	margin-top:0px !important;
	padding: 0 15px 0 15px !important;
}

.mobile-close .fa-times {
	color: #fff !important;
}

.checkoutBackground, .basketBackground {
background-color: #fff;
margin-top: 10px;
margin-bottom:10px;
}

.checkoutBackground input {
font-size: 14px;
}

.mobileSearchBox::placeholder { color: #ADACAC !important; font-size: 12px; font-weight: 600; }

.productSort .form-control, .productShow .form-control {
	border: none !important;
	height: 35px;
	-webkit-appearance: none;
}

#menu-bar ul.top-level > li:nth-of-type(9) > .sub-menu-content-wrapper {
  display: none !important;
}

.pageContent {
  text-align: left;
  font-size:12px;
  padding: 0 15px 0 15px;

}

.pageContent .header {
  background-image: url(/Portals/_default/Skins/i4m-responsive/images/layout/bg_header.png) !important;
background-repeat: repeat-x;
  background-position: center;
  background-size: 8px 20px;                 /* keep circles round */
    height: 40px;  
  width: 100%;
  padding: 0 10px;
  min-height: 30px; /* guarantees a 35px tall strip */
}

.popularProducts {
background-color: #f0f0f0;
}

.pageContent .header .Head {
	color: #fff;
	font-size:16px;
	font-weight:bold;
	padding:5px 5px 5px 5px;
text-transform: uppercase;
margin-top: 5px;

}

#relatedItems .pageContent .header .Head
{
	color:#7E122E;
background-color: #fff;
}


.heading-dots-precise{
  --dot: 2.5px;        /* dot radius */
  --gap: 22px;         /* horizontal spacing between columns */
  --stack: 18px;       /* total height of the 3-dot column */
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
}

#productDetail .productHeader {
	background-color: #7E122E;
	font-size: 22px;
	padding:10px;
}

#productDetail .productHeader h1 {
	color:#fff;
}

#productDetail .pageContent {
	padding: 0 !important;
}

.bx-viewport {
    height: 400px !important;
}

.bx-viewport li img {
    width: auto !important;
    height: 400px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
}

.bx-viewport li img {
    display: block !important;
    width: 100% !important;
    height: 400px !important;
    object-fit: contain !important;
    margin: 0 !important;
}

.bx-wrapper img {
    max-width: 100%;
    max-height: 100%;
}

ul.product-thumbs > li {
  width: 85px;          /* adjust */
  height: 85px;         /* adjust (or use min-height) */
  padding: 0;
  list-style: none;
margin:5px;
}

/* make the link fill the LI and center its contents */
ul.product-thumbs > li > a {
  display: flex;
  align-items: center;    /* vertical */
  justify-content: center;/* horizontal */
  width: 100%;
  height: 100%;
}

/* keep images from stretching; fit inside the box */
ul.product-thumbs img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;    /* safe with explicit width/height */
}

.accordion .panel {
	border: none !important;
	box-shadow: none !important;
}

@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1366px)
  and (-webkit-min-device-pixel-ratio: 1) {
    .homepage-categories .cta-columns {
		width: auto;
	}
span.cta-title {
	position:relative;
	top:-40px;
}	
	
}

@media (min-width: 768px) and (max-width: 1366px) {

  /* Target your exact pager area */
  .product-thumbnails #bx-pager.alternateImages ul.product-thumbs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 0 !important;
    margin: 12px 0 0 0 !important;
    list-style: none !important;
    width: 100%;
  }

  /* Kill any float/inline styles coming from theme */
  .product-thumbnails #bx-pager.alternateImages ul.product-thumbs > li {
    float: none !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
  }

  /* Make the whole tile clickable and consistent */
  .product-thumbnails #bx-pager.alternateImages ul.product-thumbs > li > a {
    display: block !important;
    width: 100% !important;
    line-height: 0; /* removes small gaps under images */
  }

  /* Make thumbs uniform squares */
  .product-thumbnails #bx-pager.alternateImages ul.product-thumbs img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid #e6e6e6;
    background: #fff;
  }

  /* Active thumb (bx pager uses a.active) */
  .product-thumbnails #bx-pager.alternateImages ul.product-thumbs > li > a.active img {
    outline: 2px solid #111;
    outline-offset: 2px;
  }
  /* Make the whole block full width */
  #additionalButtons.additional-buttons {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 0 !important;
  }

  /* Remove Bootstrap row side padding */
  #additionalButtons .row {
    margin-left: 0;
    margin-right: 0;
  }

  /* Force columns to stack full width */
  #additionalButtons .row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin-bottom: 10px;
    padding-right: 0;
    padding-left: 0;
  }

  /* Make links span full width */
  #additionalButtons a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;        /* iPad-friendly tap size */
    text-align: center;
  }
}

/* Price filter wrapper */
.filterContainer.slider {
    padding: 10px 10px 12px 10px;
}

/* Slider track */
.price-slider-v15 {
    margin: 16px 18px 8px 18px;
    height: 6px;
}

.price-slider-v15.noUi-target {
    border: 0;
    box-shadow: none;
    background: #e1e1e1;
    border-radius: 10px;
}

/* Active range */
.price-slider-v15 .noUi-connect {
    background: #7E122E;
    border-radius: 10px;
}

/* Handles */
.price-slider-v15 .noUi-handle {
    width: 22px;
    height: 22px;
    top: -8px;
    right: -11px;
    border-radius: 50%;
    background: #ffffff;
    cursor: pointer;
}

.price-slider-v15 .noUi-handle:before,
.price-slider-v15 .noUi-handle:after {
    display: none;
}

/* Optional small icon feel inside handle */
.price-slider-v15 .noUi-handle::after {
    content: "";
}

/* Price labels */
.price-slider-values {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 4px 4px 0 4px;
    font-size: 11px;
    line-height: 14px;
    color: #666666;
}

.price-slider-values span {
    display: inline-block;
    background: #f4f4f4;
    padding: 2px 5px;
    border-radius: 3px;
}

/* Product count */
.price-slider-count {
    margin-top: 6px;
    font-size: 11px;
    line-height: 14px;
    color: #777777;
}

/* Min handle - right arrow */
.price-slider-v15 .noUi-handle-lower > div,
.noUi-lowerHandle > div {
    background: url(images/layout/bg_sliderLower.png) no-repeat top left;
}

/* Max handle - left arrow */
.price-slider-v15 .noUi-handle-upper > div,
.noUi-upperHandle > div {
    background: url(images/layout/bg_sliderUpper.png) no-repeat top left;
}
.noUi-horizontal .noUi-handle {
    width: 28px !important;
}

/* Delivery options layout */
#delivery-method-chooser .form-inline {
    display: block;
}

/* Each label/input pair on its own line */
#delivery-method-chooser .form-inline label {
    display: block;
    margin: 0 0 4px 0;
    font-weight: 400;
}

/* Postcode input and country dropdown same styling */
#delivery-method-chooser #dnn_ctr406_ViewBasket_ctl00_delPostcode,
#delivery-method-chooser #dnn_ctr406_ViewBasket_ctl00_delCountryID {
    display: block;
    width: 220px;
    height: 32px;
    padding: 4px 8px;
    margin: 0 0 10px 0;
    border: 1px solid #ced4da;
    border-radius: 0;
    background-color: #fff;
    font-size: 14px;
    line-height: 1.5;
    color: #495057;
    box-sizing: border-box;
}

/* Optional: keep delivery radio options neatly spaced */
#delivery-method-chooser .delivery-options input[type="radio"] {
    margin-right: 6px;
}

#delivery-method-chooser .delivery-options label {
    margin-bottom: 6px;
}

/* Contact Us Page */


.contact-page .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 15px;
}

.contact-hero {
    background: #ffffff;
    padding: 34px 30px;
    margin-bottom: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.contact-hero h1 {
    margin: 0 0 12px;
    font-size: 36px;
    font-weight: 700;
    color: #222222;
}

.contact-hero p {
    max-width: 760px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.6;
    color: #555555;
}

.contact-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 22px;
}

.contact-btn {
    display: inline-block;
    padding: 12px 20px;
    background: #7E122E;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}

.contact-btn:hover {
    opacity: 0.9;
}

.contact-btn.secondary {
    background: #333333;
}

.contact-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.contact-card {
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    min-height: 180px;
}

.contact-card h2,
.contact-card h3 {
    margin: 0 0 12px;
    font-size: 21px;
    color: #222222;
}

.contact-card p {
    margin: 0 0 10px;
    color: #555555;
    line-height: 1.6;
}

.contact-card a {
    color: #7E122E;
    font-weight: 600;
    text-decoration: none;
}

.contact-card a:hover {
    text-decoration: underline;
}

.contact-label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #777777;
    font-weight: 700;
}

.contact-main {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 24px;
    align-items: stretch;
}

.contact-section {
    background: #ffffff;
    padding: 26px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.contact-section h2 {
    margin: 0 0 16px;
    font-size: 24px;
    color: #222222;
}

.contact-section p {
    color: #555555;
    line-height: 1.6;
}

.contact-section .contact-help-title {
    margin-top: 28px;
}

.opening-hours {
    list-style: none;
    margin: 0;
    padding: 0;
}

.opening-hours li {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 11px 0;
    border-bottom: 1px solid #eeeeee;
    color: #555555;
}

.opening-hours li:last-child {
    border-bottom: 0;
}

.opening-hours strong {
    color: #222222;
}

.contact-note {
    margin-top: 18px;
    padding: 14px 16px;
    border-left: 4px solid #7E122E;
    background: #fafafa;
    color: #555555;
}

.contact-help-list {
    margin: 0;
    padding-left: 20px;
    color: #555555;
    line-height: 1.8;
}

.contact-help-list li {
    margin-bottom: 4px;
}

.map-wrap {
    overflow: hidden;
    min-height: 360px;
    height: 100%;
    background: #eeeeee;
}

.map-wrap iframe {
    width: 100%;
    height: 100%;
    min-height: 360px;
    border: 0;
    display: block;
}

.contact-footer-info {
    margin-top: 24px;
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.contact-footer-info p {
    margin: 0;
    color: #555555;
    line-height: 1.6;
}

/* Responsive */

@media (max-width: 991px) {
    .contact-grid,
    .contact-main {
        grid-template-columns: 1fr;
    }

    .contact-hero h1 {
        font-size: 30px;
    }
}

@media (max-width: 575px) {
    .contact-page {
        padding: 25px 0 40px;
    }

    .contact-hero,
    .contact-card,
    .contact-section,
    .contact-footer-info {
        padding: 20px;
    }

    .opening-hours li {
        display: block;
    }

    .opening-hours span {
        display: block;
        margin-top: 3px;
    }

    .contact-actions {
        display: block;
    }

    .contact-btn {
        display: block;
        margin-bottom: 10px;
        text-align: center;
    }
}

/* Delivery Page */


.delivery-page .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 15px;
}

.delivery-hero {
    background: #ffffff;
    padding: 34px 30px;
    margin-bottom: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.delivery-hero h1 {
    margin: 0 0 12px;
    font-size: 36px;
    font-weight: 700;
    color: #222222;
}

.delivery-hero p {
    max-width: 820px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.6;
    color: #555555;
}

.delivery-highlight {
    display: inline-block;
    margin-bottom: 16px;
    padding: 10px 16px;
    background: #7E122E;
    color: #ffffff;
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.delivery-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 22px;
}

.delivery-btn {
    display: inline-block;
    padding: 12px 20px;
    background: #7E122E;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}

.delivery-btn:hover {
    opacity: 0.9;
}

.delivery-btn.secondary {
    background: #333333;
}

.delivery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.delivery-card {
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    min-height: 185px;
}

.delivery-card h2,
.delivery-card h3 {
    margin: 0 0 12px;
    font-size: 21px;
    color: #222222;
}

.delivery-card p {
    margin: 0 0 10px;
    color: #555555;
    line-height: 1.6;
}

.delivery-card a {
    color: #7E122E;
    font-weight: 600;
    text-decoration: none;
}

.delivery-card a:hover {
    text-decoration: underline;
}

.delivery-label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #777777;
    font-weight: 700;
}

.delivery-section {
    background: #ffffff;
    padding: 26px;
    margin-bottom: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.delivery-section h2 {
    margin: 0 0 8px;
    font-size: 26px;
    color: #222222;
}

.delivery-section-intro {
    margin: 0 0 18px;
    color: #555555;
    line-height: 1.6;
}

.delivery-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.delivery-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
}

.delivery-table th {
    background: #222222;
    color: #ffffff;
    padding: 14px 16px;
    text-align: left;
    font-weight: 700;
    border: 1px solid #222222;
}

.delivery-table td {
    padding: 14px 16px;
    color: #555555;
    border: 1px solid #e5e5e5;
    vertical-align: top;
    line-height: 1.5;
}

.delivery-table tr:nth-child(even) td {
    background: #fafafa;
}

.delivery-table .delivery-price {
    white-space: nowrap;
    font-weight: 700;
    color: #222222;
}

.delivery-table .delivery-free {
    color: #16823a;
    font-weight: 700;
}

.delivery-table .delivery-quote {
    color: #7E122E;
    font-weight: 700;
}

.delivery-note {
    margin-top: 18px;
    padding: 15px 18px;
    border-left: 4px solid #7E122E;
    background: #fafafa;
    color: #555555;
    line-height: 1.6;
}

.delivery-note strong {
    color: #222222;
}

.delivery-warning {
    background: #ffffff;
    padding: 24px;
    margin-bottom: 24px;
    border-left: 5px solid #7E122E;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.delivery-warning h2 {
    margin: 0 0 12px;
    font-size: 24px;
    color: #222222;
}

.delivery-warning p {
    margin: 0 0 10px;
    color: #555555;
    line-height: 1.6;
}

.delivery-warning p:last-child {
    margin-bottom: 0;
}

.delivery-info-list {
    margin: 0;
    padding-left: 20px;
    color: #555555;
    line-height: 1.8;
}

.delivery-info-list li {
    margin-bottom: 4px;
}

.delivery-footer-info {
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.delivery-footer-info p {
    max-width: 900px;
    margin: 0 auto;
    color: #555555;
    line-height: 1.6;
}

.delivery-footer-info a {
    color: #7E122E;
    font-weight: 700;
    text-decoration: none;
}

.delivery-footer-info a:hover {
    text-decoration: underline;
}

/* Responsive */

@media (max-width: 991px) {
    .delivery-grid {
        grid-template-columns: 1fr;
    }

    .delivery-hero h1 {
        font-size: 30px;
    }
}

@media (max-width: 767px) {
    .delivery-table,
    .delivery-table thead,
    .delivery-table tbody,
    .delivery-table th,
    .delivery-table td,
    .delivery-table tr {
        display: block;
    }

    .delivery-table thead {
        display: none;
    }

    .delivery-table tr {
        border: 1px solid #e5e5e5;
        margin-bottom: 14px;
    }

    .delivery-table td {
        border: 0;
        border-bottom: 1px solid #eeeeee;
        padding: 11px 14px;
    }

    .delivery-table td:last-child {
        border-bottom: 0;
    }

    .delivery-table td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 4px;
        font-weight: 700;
        color: #222222;
    }
}

@media (max-width: 575px) {
    .delivery-page {
        padding: 25px 0 40px;
    }

    .delivery-hero,
    .delivery-card,
    .delivery-section,
    .delivery-warning,
    .delivery-footer-info {
        padding: 20px;
    }

    .delivery-actions {
        display: block;
    }

    .delivery-btn {
        display: block;
        margin-bottom: 10px;
        text-align: center;
    }
}

/* Visiting Us Page */

.visit-page {
    background: #f5f5f5;
    padding: 40px 0 55px;
}

.visit-page .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 15px;
}

.visit-hero {
    background: #ffffff;
    padding: 34px 30px;
    margin-bottom: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.visit-hero h1 {
    margin: 0 0 12px;
    font-size: 36px;
    font-weight: 700;
    color: #222222;
}

.visit-hero p {
    max-width: 820px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.6;
    color: #555555;
}

.visit-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 22px;
}

.visit-btn {
    display: inline-block;
    padding: 12px 20px;
    background: #7E122E;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}

.visit-btn:hover {
    opacity: 0.9;
}

.visit-btn.secondary {
    background: #333333;
}

.visit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 24px;
}

.visit-feature {
    background: #ffffff;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.visit-feature img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    display: block;
}

.visit-feature-content {
    padding: 24px;
}

.visit-feature-content h2 {
    margin: 0 0 12px;
    font-size: 24px;
    color: #222222;
}

.visit-feature-content p {
    margin: 0 0 12px;
    color: #555555;
    line-height: 1.6;
}

.visit-feature-content p:last-child {
    margin-bottom: 0;
}

.visit-section {
    background: #ffffff;
    padding: 26px;
    margin-bottom: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.visit-section h2 {
    margin: 0 0 14px;
    font-size: 26px;
    color: #222222;
}

.visit-section p {
    color: #555555;
    line-height: 1.6;
}

.visit-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.visit-card {
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.visit-card h3 {
    margin: 0 0 10px;
    font-size: 21px;
    color: #222222;
}

.visit-card p {
    margin: 0;
    color: #555555;
    line-height: 1.6;
}

.visit-label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #777777;
    font-weight: 700;
}

.visit-list {
    margin: 0;
    padding-left: 20px;
    color: #555555;
    line-height: 1.8;
}

.visit-list li {
    margin-bottom: 4px;
}

.visit-note {
    margin-top: 18px;
    padding: 15px 18px;
    border-left: 4px solid #7E122E;
    background: #fafafa;
    color: #555555;
    line-height: 1.6;
}

.visit-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.visit-link-card {
    display: block;
    background: #ffffff;
    padding: 22px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    text-decoration: none !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.visit-link-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 26px rgba(0, 0, 0, 0.09);
}

.visit-link-card strong {
    display: block;
    margin-bottom: 8px;
    color: #222222;
    font-size: 18px;
}

.visit-link-card span {
    color: #555555;
    line-height: 1.5;
}

@media (max-width: 991px) {
    .visit-grid,
    .visit-info-grid,
    .visit-links {
        grid-template-columns: 1fr;
    }

    .visit-hero h1 {
        font-size: 30px;
    }
}

@media (max-width: 575px) {
    .visit-page {
        padding: 25px 0 40px;
    }

    .visit-hero,
    .visit-feature-content,
    .visit-section,
    .visit-card,
    .visit-link-card {
        padding: 20px;
    }

    .visit-actions {
        display: block;
    }

    .visit-btn {
        display: block;
        margin-bottom: 10px;
        text-align: center;
    }

    .visit-feature img {
        height: 190px;
    }
}

/* User Guides Page */


.guides-page .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 15px;
}

.guides-hero {
    background: #ffffff;
    padding: 34px 30px;
    margin-bottom: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.guides-hero h1 {
    margin: 0 0 12px;
    font-size: 36px;
    font-weight: 700;
    color: #222222;
}

.guides-hero p {
    max-width: 820px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.6;
    color: #555555;
}

.guides-category-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.guides-category-card {
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.guides-category-card h2 {
    margin: 0 0 10px;
    font-size: 21px;
    color: #222222;
}

.guides-category-card p {
    margin: 0;
    color: #555555;
    line-height: 1.6;
}

.guides-label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #777777;
    font-weight: 700;
}

.guides-section {
    background: #ffffff;
    padding: 26px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.guides-section h2 {
    margin: 0 0 18px;
    font-size: 26px;
    color: #222222;
}

.guides-accordion {
    border-top: 1px solid #e5e5e5;
}

.guide-group {
    border-bottom: 1px solid #e5e5e5;
}

.guide-group summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 0;
    font-size: 20px;
    font-weight: 700;
    color: #222222;
    position: relative;
}

.guide-group summary::-webkit-details-marker {
    display: none;
}

.guide-group summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 18px;
    font-size: 26px;
    line-height: 1;
    color: #7E122E;
}

.guide-group[open] summary::after {
    content: "-";
}

.guide-group-content {
    padding: 0 0 20px;
}

.guides-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.guides-list li {
    margin: 0;
}

.guides-list a {
    display: block;
    padding: 14px 16px;
    background: #fafafa;
    border-left: 4px solid #7E122E;
    color: #222222;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.guides-list a:hover {
    background: #eeeeee;
    color: #7E122E;
    text-decoration: none;
}

.guides-list a::after {
    content: "\203A";   /* renders › with no literal unicode in the file */
    float: right;
    color: #7E122E;
    font-weight: 700;
}

.guides-note {
    margin-top: 22px;
    padding: 15px 18px;
    border-left: 4px solid #7E122E;
    background: #fafafa;
    color: #555555;
    line-height: 1.6;
}

.guides-note a {
    color: #7E122E;
    font-weight: 700;
    text-decoration: none;
}

.guides-note a:hover {
    text-decoration: underline;
}

@media (max-width: 991px) {
    .guides-category-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .guides-hero h1 {
        font-size: 30px;
    }
}

@media (max-width: 767px) {
    .guides-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .guides-page {
        padding: 25px 0 40px;
    }

    .guides-hero,
    .guides-category-card,
    .guides-section {
        padding: 20px;
    }

    .guides-category-grid {
        grid-template-columns: 1fr;
    }

    .guide-group summary {
        padding-right: 34px;
        font-size: 18px;
    }
}

/* Terms & Conditions Page */

.terms-page {
    background: #f5f5f5;
    padding: 40px 0 55px;
}

.terms-page .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 15px;
}

.terms-hero {
    background: #ffffff;
    padding: 34px 30px;
    margin-bottom: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.terms-hero h1 {
    margin: 0 0 12px;
    font-size: 36px;
    font-weight: 700;
    color: #222222;
}

.terms-hero p {
    max-width: 860px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.6;
    color: #555555;
}

.terms-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.terms-card {
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.terms-card h2 {
    margin: 0 0 10px;
    font-size: 21px;
    color: #222222;
}

.terms-card p {
    margin: 0;
    color: #555555;
    line-height: 1.6;
}

.terms-label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #777777;
    font-weight: 700;
}

.terms-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 24px;
    align-items: start;
}

.terms-nav {
    background: #ffffff;
    padding: 22px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 20px;
}

.terms-nav h2 {
    margin: 0 0 14px;
    font-size: 21px;
    color: #222222;
}

.terms-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.terms-nav li {
    margin-bottom: 8px;
}

.terms-nav a {
    display: block;
    padding: 9px 10px;
    background: #fafafa;
    border-left: 4px solid #7E122E;
    color: #222222;
    font-weight: 600;
    text-decoration: none;
    line-height: 1.35;
}

.terms-nav a:hover {
    background: #eeeeee;
    color: #7E122E;
    text-decoration: none;
}

.terms-content {
    background: #ffffff;
    padding: 30px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.terms-section {
    padding-bottom: 26px;
    margin-bottom: 26px;
    border-bottom: 1px solid #e5e5e5;
}

.terms-section:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}

.terms-section h2 {
    margin: 0 0 16px;
    font-size: 26px;
    color: #222222;
}

.terms-section h3 {
    margin: 22px 0 10px;
    font-size: 20px;
    color: #222222;
}

.terms-section p {
    margin: 0 0 14px;
    color: #555555;
    line-height: 1.7;
}

.terms-section ol,
.terms-section ul {
    margin: 0 0 16px 22px;
    padding: 0;
    color: #555555;
    line-height: 1.7;
}

.terms-section li {
    margin-bottom: 8px;
}

.terms-note {
    padding: 15px 18px;
    margin: 18px 0;
    border-left: 4px solid #7E122E;
    background: #fafafa;
    color: #555555;
    line-height: 1.6;
}

.terms-note strong {
    color: #222222;
}

.terms-top-link {
    display: inline-block;
    margin-top: 8px;
    color: #7E122E;
    font-weight: 700;
    text-decoration: none;
}

.terms-top-link:hover {
    text-decoration: underline;
}

@media (max-width: 991px) {
    .terms-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .terms-layout {
        grid-template-columns: 1fr;
    }

    .terms-nav {
        position: static;
    }

    .terms-hero h1 {
        font-size: 30px;
    }
}

@media (max-width: 575px) {
    .terms-page {
        padding: 25px 0 40px;
    }

    .terms-hero,
    .terms-card,
    .terms-nav,
    .terms-content {
        padding: 20px;
    }

    .terms-grid {
        grid-template-columns: 1fr;
    }

    .terms-section h2 {
        font-size: 22px;
    }
}

/* Privacy & Cookies Page */

.privacy-page {
    background: #f5f5f5;
    padding: 40px 0 55px;
}

.privacy-page .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 15px;
}

.privacy-hero {
    background: #ffffff;
    padding: 34px 30px;
    margin-bottom: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.privacy-hero h1 {
    margin: 0 0 12px;
    font-size: 36px;
    font-weight: 700;
    color: #222222;
}

.privacy-hero p {
    max-width: 860px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.6;
    color: #555555;
}

.privacy-updated {
    display: inline-block;
    margin-bottom: 16px;
    padding: 10px 16px;
    background: #7E122E;
    color: #ffffff;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.privacy-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.privacy-card {
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.privacy-card h2 {
    margin: 0 0 10px;
    font-size: 21px;
    color: #222222;
}

.privacy-card p {
    margin: 0;
    color: #555555;
    line-height: 1.6;
}

.privacy-label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #777777;
    font-weight: 700;
}

.privacy-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 24px;
    align-items: start;
}

.privacy-nav {
    background: #ffffff;
    padding: 22px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 20px;
}

.privacy-nav h2 {
    margin: 0 0 14px;
    font-size: 21px;
    color: #222222;
}

.privacy-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.privacy-nav li {
    margin-bottom: 8px;
}

.privacy-nav a {
    display: block;
    padding: 9px 10px;
    background: #fafafa;
    border-left: 4px solid #7E122E;
    color: #222222;
    font-weight: 600;
    text-decoration: none;
    line-height: 1.35;
}

.privacy-nav a:hover {
    background: #eeeeee;
    color: #7E122E;
    text-decoration: none;
}

.privacy-content {
    background: #ffffff;
    padding: 30px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.privacy-section {
    padding-bottom: 26px;
    margin-bottom: 26px;
    border-bottom: 1px solid #e5e5e5;
}

.privacy-section:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}

.privacy-section h2 {
    margin: 0 0 16px;
    font-size: 26px;
    color: #222222;
}

.privacy-section h3 {
    margin: 22px 0 10px;
    font-size: 20px;
    color: #222222;
}

.privacy-section p {
    margin: 0 0 14px;
    color: #555555;
    line-height: 1.7;
}

.privacy-section ul,
.privacy-section ol {
    margin: 0 0 16px 22px;
    padding: 0;
    color: #555555;
    line-height: 1.7;
}

.privacy-section li {
    margin-bottom: 8px;
}

.privacy-note {
    padding: 15px 18px;
    margin: 18px 0;
    border-left: 4px solid #7E122E;
    background: #fafafa;
    color: #555555;
    line-height: 1.6;
}

.privacy-note strong {
    color: #222222;
}

.privacy-table-wrap {
    width: 100%;
    overflow-x: auto;
    margin: 18px 0;
}

.privacy-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
}

.privacy-table th {
    background: #222222;
    color: #ffffff;
    padding: 14px 16px;
    text-align: left;
    font-weight: 700;
    border: 1px solid #222222;
}

.privacy-table td {
    padding: 14px 16px;
    color: #555555;
    border: 1px solid #e5e5e5;
    vertical-align: top;
    line-height: 1.5;
}

.privacy-table tr:nth-child(even) td {
    background: #fafafa;
}

.privacy-top-link {
    display: inline-block;
    margin-top: 8px;
    color: #7E122E;
    font-weight: 700;
    text-decoration: none;
}

.privacy-top-link:hover {
    text-decoration: underline;
}

.privacy-content a {
    color: #7E122E;
    font-weight: 700;
    text-decoration: none;
}

.privacy-content a:hover {
    text-decoration: underline;
}

@media (max-width: 991px) {
    .privacy-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .privacy-layout {
        grid-template-columns: 1fr;
    }

    .privacy-nav {
        position: static;
    }

    .privacy-hero h1 {
        font-size: 30px;
    }
}

@media (max-width: 767px) {
    .privacy-table,
    .privacy-table thead,
    .privacy-table tbody,
    .privacy-table th,
    .privacy-table td,
    .privacy-table tr {
        display: block;
    }

    .privacy-table thead {
        display: none;
    }

    .privacy-table tr {
        border: 1px solid #e5e5e5;
        margin-bottom: 14px;
    }

    .privacy-table td {
        border: 0;
        border-bottom: 1px solid #eeeeee;
        padding: 11px 14px;
    }

    .privacy-table td:last-child {
        border-bottom: 0;
    }

    .privacy-table td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 4px;
        font-weight: 700;
        color: #222222;
    }
}

@media (max-width: 575px) {
    .privacy-page {
        padding: 25px 0 40px;
    }

    .privacy-hero,
    .privacy-card,
    .privacy-nav,
    .privacy-content {
        padding: 20px;
    }

    .privacy-grid {
        grid-template-columns: 1fr;
    }

    .privacy-section h2 {
        font-size: 22px;
    }
}

/* Homepage About / Intro Section */

.home-intro {
    background: #f5f5f5;
    padding: 45px 0;
}

.home-intro .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 15px;
}

.home-intro-hero {
    background: #ffffff;
    padding: 34px 30px;
    margin-bottom: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.home-intro-hero h2 {
    margin: 0 0 12px;
    font-size: 34px;
    font-weight: 700;
    color: #222222;
}

.home-intro-hero p {
    max-width: 900px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.7;
    color: #555555;
}

.home-intro-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.home-intro-card {
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.home-intro-card h3 {
    margin: 0 0 10px;
    font-size: 21px;
    color: #222222;
}

.home-intro-card p {
    margin: 0;
    color: #555555;
    line-height: 1.6;
}

.home-intro-label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #777777;
    font-weight: 700;
}

.home-intro-main {
    background: #ffffff;
    padding: 30px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.home-intro-main h2 {
    margin: 0 0 16px;
    font-size: 28px;
    color: #222222;
}

.home-intro-main p {
    margin: 0 0 16px;
    color: #555555;
    line-height: 1.7;
}

.home-intro-main p:last-child {
    margin-bottom: 0;
}

.home-intro-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.home-intro-btn {
    display: inline-block;
    padding: 12px 20px;
    background: #7E122E;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}

.home-intro-btn:hover {
    opacity: 0.9;
}

.home-intro-btn.secondary {
    background: #333333;
}

.home-intro-note {
    margin-top: 20px;
    padding: 15px 18px;
    border-left: 4px solid #7E122E;
    background: #fafafa;
    color: #555555;
    line-height: 1.6;
}

.home-intro-main a:not(.home-intro-btn) {
    color: #7E122E;
    font-weight: 700;
    text-decoration: none;
}

.home-intro-main a:not(.home-intro-btn):hover {
    text-decoration: underline;
}

@media (max-width: 991px) {
    .home-intro-grid {
        grid-template-columns: 1fr;
    }

    .home-intro-hero h2 {
        font-size: 30px;
    }
}

@media (max-width: 575px) {
    .home-intro {
        padding: 30px 0;
    }

    .home-intro-hero,
    .home-intro-card,
    .home-intro-main {
        padding: 20px;
    }

    .home-intro-actions {
        display: block;
    }

    .home-intro-btn {
        display: block;
        margin-bottom: 10px;
        text-align: center;
    }
}

/* Installation Service Page */

.install-page {
    background: #f5f5f5;
    padding: 40px 0 55px;
}

.install-page .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 15px;
}

.install-hero {
    background: #ffffff;
    margin-bottom: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.install-hero-image {
    display: block;
    width: 100%;
    max-height: 360px;
    object-fit: cover;
}

.install-hero-content {
    padding: 34px 30px;
    text-align: center;
}

.install-hero-content h1 {
    margin: 0 0 12px;
    font-size: 36px;
    font-weight: 700;
    color: #222222;
}

.install-hero-content p {
    max-width: 860px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.7;
    color: #555555;
}

.install-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 22px;
}

.install-btn {
    display: inline-block;
    padding: 12px 20px;
    background: #7E122E;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}

.install-btn:hover {
    opacity: 0.9;
}

.install-btn.secondary {
    background: #333333;
}

.install-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

.install-card {
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.install-card h2,
.install-card h3 {
    margin: 0 0 10px;
    font-size: 21px;
    color: #222222;
}

.install-card p {
    margin: 0;
    color: #555555;
    line-height: 1.6;
}

.install-label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #777777;
    font-weight: 700;
}

.install-section {
    background: #ffffff;
    padding: 30px;
    margin-bottom: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.install-section h2 {
    margin: 0 0 16px;
    font-size: 28px;
    color: #222222;
}

.install-section h3 {
    margin: 22px 0 10px;
    font-size: 21px;
    color: #222222;
}

.install-section p {
    margin: 0 0 16px;
    color: #555555;
    line-height: 1.7;
}

.install-section p:last-child {
    margin-bottom: 0;
}

.install-list {
    margin: 0;
    padding-left: 20px;
    color: #555555;
    line-height: 1.8;
}

.install-list li {
    margin-bottom: 4px;
}

.install-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: start;
}

.install-note {
    margin-top: 18px;
    padding: 15px 18px;
    border-left: 4px solid #7E122E;
    background: #fafafa;
    color: #555555;
    line-height: 1.6;
}

.install-highlight {
    background: #ffffff;
    padding: 24px;
    margin-bottom: 24px;
    border-left: 5px solid #7E122E;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.install-highlight h2 {
    margin: 0 0 12px;
    font-size: 24px;
    color: #222222;
}

.install-highlight p {
    margin: 0;
    color: #555555;
    line-height: 1.7;
}

.install-download {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding: 16px;
    background: #fafafa;
    border-left: 4px solid #7E122E;
}

.install-download img {
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
}

.install-download a {
    color: #7E122E;
    font-weight: 700;
    text-decoration: none;
}

.install-download a:hover {
    text-decoration: underline;
}

.install-school-box {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 18px;
    align-items: center;
    margin-top: 20px;
    padding: 18px;
    background: #fafafa;
    border-left: 4px solid #7E122E;
}

.install-school-box img {
    width: 100%;
    max-width: 120px;
    height: auto;
}

.install-school-box p {
    margin: 0;
    font-weight: 700;
    color: #222222;
    line-height: 1.6;
}

.install-process {
    counter-reset: install-step;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 18px;
}

.install-process-step {
    background: #fafafa;
    padding: 20px;
    border-left: 4px solid #7E122E;
    counter-increment: install-step;
}

.install-process-step::before {
    content: counter(install-step);
    display: inline-block;
    margin-bottom: 10px;
    width: 30px;
    height: 30px;
    background: #7E122E;
    color: #ffffff;
    font-weight: 700;
    text-align: center;
    line-height: 30px;
}

.install-process-step h3 {
    margin: 0 0 8px;
    font-size: 19px;
    color: #222222;
}

.install-process-step p {
    margin: 0;
    color: #555555;
    line-height: 1.6;
}

.install-small-print {
    margin-top: 14px;
    font-size: 12px;
    color: #777777;
    line-height: 1.5;
}

.install-section a:not(.install-btn),
.install-highlight a:not(.install-btn) {
    color: #7E122E;
    font-weight: 700;
    text-decoration: none;
}

.install-section a:not(.install-btn):hover,
.install-highlight a:not(.install-btn):hover {
    text-decoration: underline;
}

@media (max-width: 991px) {
    .install-grid,
    .install-process {
        grid-template-columns: repeat(2, 1fr);
    }

    .install-two-col {
        grid-template-columns: 1fr;
    }

    .install-hero-content h1 {
        font-size: 30px;
    }
}

@media (max-width: 575px) {
    .install-page {
        padding: 25px 0 40px;
    }

    .install-hero-content,
    .install-card,
    .install-section,
    .install-highlight {
        padding: 20px;
    }

    .install-grid,
    .install-process {
        grid-template-columns: 1fr;
    }

    .install-actions {
        display: block;
    }

    .install-btn {
        display: block;
        margin-bottom: 10px;
        text-align: center;
    }

    .install-school-box {
        grid-template-columns: 1fr;
        text-align: left;
    }
}

/* Account / Order Pages */

.account-page,
.order-confirmation,
.order-detail-page {
    background: #f5f5f5;
    padding: 40px 0 55px;
}

.account-page .container,
.order-confirmation .container,
.order-detail-page .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 15px;
}

.account-hero,
.account-panel,
.account-section,
.account-card,
.account-totals,
.account-sidebar,
.order-success {
    background: #ffffff;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.account-hero {
    padding: 34px 30px;
    margin-bottom: 24px;
    text-align: center;
}

.account-hero h1 {
    margin: 0 0 12px;
    font-size: 36px;
    font-weight: 700;
    color: #222222;
}

.account-hero p {
    max-width: 820px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.6;
    color: #555555;
}

.account-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 24px;
    align-items: start;
}

.account-sidebar {
    padding: 22px;
}

.account-sidebar h2 {
    margin: 0 0 14px;
    font-size: 21px;
    color: #222222;
}

.account-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.account-menu li {
    margin-bottom: 8px;
}

.account-menu a,
.account-menu .aspNetDisabled,
.account-menu input,
.account-menu button {
    display: block;
    width: 100%;
    padding: 11px 12px;
    background: #fafafa;
    border: 0;
    border-left: 4px solid #7E122E;
    color: #222222;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
    text-decoration: none;
}

.account-menu a:hover,
.account-menu li.selected a,
.account-menu li.active a {
    background: #eeeeee;
    color: #7E122E;
    text-decoration: none;
}

.account-menu .account-logout,
.account-menu a[id*="butLogoff"] {
    color: #7E122E;
}

.account-panel,
.account-section {
    padding: 30px;
}

.account-section-header {
    margin-bottom: 22px;
}

.account-section-header h1,
.account-section-header h2 {
    margin: 0 0 8px;
    font-size: 30px;
    font-weight: 700;
    color: #222222;
}

.account-section-header p {
    margin: 0;
    color: #555555;
    line-height: 1.6;
}

.account-card-grid {
    display: grid;
    gap: 18px;
    margin-bottom: 24px;
}

.account-card-grid-three {
    grid-template-columns: repeat(3, 1fr);
}

.account-card-grid-two {
    grid-template-columns: repeat(2, 1fr);
}

.account-card {
    padding: 24px;
}

.account-card h2,
.account-card h3 {
    margin: 0 0 14px;
    font-size: 21px;
    color: #222222;
}

.account-label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #777777;
    font-weight: 700;
}

.account-detail-table,
.account-table,
.account-totals table {
    width: 100%;
    border-collapse: collapse;
}

.account-detail-table th,
.account-detail-table td {
    padding: 9px 0;
    border-bottom: 1px solid #eeeeee;
    vertical-align: top;
    line-height: 1.5;
}

.account-detail-table th {
    width: 38%;
    padding-right: 15px;
    color: #222222;
    font-weight: 700;
}

.account-detail-table td {
    color: #555555;
}

.account-detail-table tr:last-child th,
.account-detail-table tr:last-child td {
    border-bottom: 0;
}

.account-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.account-table {
    background: #ffffff;
}

.account-table th {
    background: #222222;
    color: #ffffff;
    padding: 14px 16px;
    text-align: left;
    font-weight: 700;
    border: 1px solid #222222;
}

.account-table td {
    padding: 14px 16px;
    color: #555555;
    border: 1px solid #e5e5e5;
    vertical-align: top;
    line-height: 1.5;
}

.account-table tr:nth-child(even) td {
    background: #fafafa;
}

.account-table .product-name,
.account-table .product-name a,
.account-table .order-view-link {
    color: #7E122E;
    font-weight: 700;
    text-decoration: none;
}

.account-table .product-name a:hover,
.account-table .order-view-link:hover {
    text-decoration: underline;
}

.account-table .amount,
.account-table .qty,
.account-table .status {
    white-space: nowrap;
}

.account-table .line-total,
.account-table .amount {
    font-weight: 700;
    color: #222222;
}

.account-table .discount {
    color: #b00020;
    font-weight: 700;
}

.account-totals {
    max-width: 420px;
    margin: 24px 0 24px auto;
    padding: 22px;
}

.account-totals h2 {
    margin: 0 0 12px;
    font-size: 22px;
    color: #222222;
}

.account-totals th,
.account-totals td {
    padding: 10px 0;
    border-bottom: 1px solid #eeeeee;
    color: #555555;
}

.account-totals th {
    text-align: left;
    font-weight: 700;
}

.account-totals td {
    text-align: right;
}

.account-totals .grandTotal,
.account-totals .grand-total {
    color: #222222;
    font-size: 18px;
    font-weight: 800;
    border-bottom: 0;
}

.account-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 20px;
}

.account-btn,
.checkout-btn,
.backBtnDetail {
    display: inline-block;
    padding: 12px 20px;
    background: #7E122E;
    color: #ffffff !important;
    font-weight: 700;
    text-decoration: none !important;
    border: 0;
    transition: opacity 0.2s ease;
}

.account-btn:hover,
.checkout-btn:hover,
.backBtnDetail:hover {
    opacity: 0.9;
}

.account-btn.secondary,
.backBtnDetail {
    background: #333333;
}

.order-success {
    padding: 30px;
    margin-bottom: 24px;
    text-align: center;
}

.order-success-icon {
    display: inline-block;
    width: 54px;
    height: 54px;
    margin-bottom: 14px;
    background: #16823a;
    color: #ffffff;
    font-size: 31px;
    font-weight: 700;
    line-height: 54px;
    text-align: center;
}

.order-success h1 {
    margin: 0 0 10px;
    font-size: 34px;
    color: #222222;
}

.order-success p {
    max-width: 760px;
    margin: 0 auto;
    color: #555555;
    font-size: 16px;
    line-height: 1.6;
}

.order-summary-strip {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
    max-width: 720px;
    margin: 22px auto 0;
    background: #e5e5e5;
}

.order-summary-strip div {
    background: #fafafa;
    padding: 16px;
}

.order-summary-strip span {
    display: block;
    margin-bottom: 4px;
    color: #777777;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.order-summary-strip strong {
    color: #222222;
    font-size: 18px;
}

.account-subpage h2 {
    margin: 0 0 16px;
    font-size: 26px;
    color: #222222;
}

.account-note {
    margin-top: 18px;
    padding: 15px 18px;
    border-left: 4px solid #7E122E;
    background: #fafafa;
    color: #555555;
    line-height: 1.6;
}

/* Responsive */

@media (max-width: 991px) {
    .account-layout,
    .account-card-grid-three,
    .account-card-grid-two {
        grid-template-columns: 1fr;
    }

    .account-hero h1,
    .order-success h1 {
        font-size: 30px;
    }

    .account-totals {
        max-width: none;
    }
}

@media (max-width: 767px) {
    .account-table,
    .account-table thead,
    .account-table tbody,
    .account-table th,
    .account-table td,
    .account-table tr {
        display: block;
    }

    .account-table thead {
        display: none;
    }

    .account-table tr {
        border: 1px solid #e5e5e5;
        margin-bottom: 14px;
    }

    .account-table td {
        border: 0;
        border-bottom: 1px solid #eeeeee;
        padding: 11px 14px;
    }

    .account-table td:last-child {
        border-bottom: 0;
    }

    .account-table td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 4px;
        font-weight: 700;
        color: #222222;
    }

    .order-summary-strip {
        grid-template-columns: 1fr;
    }

    .account-actions {
        justify-content: stretch;
    }

    .account-btn,
    .checkout-btn,
    .backBtnDetail {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 575px) {
    .account-page,
    .order-confirmation,
    .order-detail-page {
        padding: 25px 0 40px;
    }

    .account-hero,
    .account-panel,
    .account-section,
    .account-card,
    .account-sidebar,
    .order-success {
        padding: 20px;
    }
}

/* Terralec / i4m Checkout Modern Styling
   Add this to your server-side/site CSS file. */

.checkout-modern {
    background: #f5f5f5;
    color: #222222;
    font-size: 15px;
    line-height: 1.5;
}

.checkout-modern *,
.checkout-modern *::before,
.checkout-modern *::after {
    box-sizing: border-box;
}

.checkout-modern a {
    color: #7E122E;
    font-weight: 700;
    text-decoration: none;
}

.checkout-modern a:hover {
    text-decoration: underline;
}

.checkout-modern .stepControl,
.checkout-modern .checkout-panel,
.checkout-modern #checkout_payment,
.checkout-modern #checkout_confirm,
.checkout-modern #checkout_carriage,
.checkout-modern #checkout_registration,
.checkout-modern #checkout_basket {
    background: #ffffff;
    margin: 0 0 22px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    border: 0;
    width: 100%;
}

.checkout-modern .stepHeader,
.checkout-modern #checkout_payment > .checkout-header,
.checkout-modern .checkout-header {
    background: #222222;
    color: #ffffff;
    padding: 18px 24px;
    border-left: 5px solid #7E122E;
}

.checkout-modern .stepHeader h2,
.checkout-modern .section-title,
.checkout-modern .checkout-header h2,
.checkout-modern #checkout_payment h2 {
    margin: 0;
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
}

.checkout-modern .inlineContent,
.checkout-modern .checkout-summary {
    margin-top: 10px;
    color: #ffffff;
    font-size: 14px;
}

.checkout-modern .inlineContent .headerText,
.checkout-modern .checkout-summary .headerText {
    color: #ffffff;
    font-weight: 600;
}

.checkout-modern .stepContainer,
.checkout-modern .stepInner,
.checkout-modern .checkout-body {
    padding: 24px;
}

.checkout-modern .stepContent,
.checkout-modern .checkout-section {
    padding: 0;
}

.checkout-modern h3 {
    margin: 0 0 18px;
    color: #222222;
    font-size: 21px;
    font-weight: 700;
}

.checkout-modern p {
    margin: 0 0 16px;
    color: #555555;
}

.checkout-modern .form-group {
    margin-bottom: 18px;
}

.checkout-modern .form-horizontal .form-group,
.checkout-modern .checkout_delivery .form-group,
.checkout-modern .checkout-form-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0 0 16px;
}

.checkout-modern .control-label,
.checkout-modern label {
    color: #222222;
    font-weight: 700;
}

.checkout-modern .form-horizontal .control-label,
.checkout-modern .checkout_delivery .control-label,
.checkout-modern .checkout-form-row label {
    flex: 0 0 190px;
    max-width: 190px;
    padding-top: 9px;
    text-align: left !important;
}

.checkout-modern .col-sm-9,
.checkout-modern .col-sm-6,
.checkout-modern .col-sm-5,
.checkout-modern .col-5,
.checkout-modern .postcode-input,
.checkout-modern .checkout-form-field {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.checkout-modern .col-sm-3,
.checkout-modern .postcode-btn {
    padding-left: 0;
    padding-right: 0;
}

.checkout-modern .postcode-btn {
    flex: 0 0 150px;
    max-width: 150px;
    padding-top: 0;
}

.checkout-modern .form-control,
.checkout-modern input[type="text"],
.checkout-modern input[type="email"],
.checkout-modern input[type="password"],
.checkout-modern textarea,
.checkout-modern select {
    width: 100%;
    max-width: 100%;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid #d7d7d7;
    background: #ffffff;
    color: #222222;
    box-shadow: none;
}

.checkout-modern textarea.form-control,
.checkout-modern textarea {
    min-height: 96px;
    resize: vertical;
}

.checkout-modern input:focus,
.checkout-modern textarea:focus,
.checkout-modern select:focus {
    outline: 2px solid rgba(126, 18, 46, 0.15);
    border-color: #7E122E;
}

.checkout-modern .required {
    color: #7E122E;
    font-weight: 700;
}

.checkout-modern span[id*="vld"],
.checkout-modern [class*="Validator"],
.checkout-modern .field-validation-error {
    display: block;
    margin-top: 5px;
    color: #a00000;
    font-size: 13px;
    font-weight: 600;
}

.checkout-modern .radio-inline,
.checkout-modern .radio,
.checkout-modern .checkout-choice {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: 18px;
    margin-bottom: 8px;
    font-weight: 600;
}

.checkout-modern input[type="radio"],
.checkout-modern input[type="checkbox"] {
    margin-right: 7px;
}

.checkout-modern .buttons,
.checkout-modern .button,
.checkout-modern .continueBtn,
.checkout-modern .buttonsRight {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 22px;
    clear: both;
}

.checkout-modern .checkout-btn,
.checkout-modern .returnToBasket,
.checkout-modern .checkout-logout-btn,
.checkout-modern .checkout-address-btn,
.checkout-modern input[type="submit"],
.checkout-modern button {
    display: inline-block;
    padding: 12px 20px;
    border: 0;
    background: #7E122E;
    color: #ffffff !important;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.checkout-modern .checkout-btn:hover,
.checkout-modern .returnToBasket:hover,
.checkout-modern .checkout-logout-btn:hover,
.checkout-modern .checkout-address-btn:hover {
    opacity: 0.9;
    text-decoration: none !important;
}

.checkout-modern .checkout-logout-btn,
.checkout-modern .returnToBasket,
.checkout-modern .checkout-btn.secondary {
    background: #333333;
}

.checkout-modern .stepFooter,
.checkout-modern .stepFooterDisabled,
.checkout-modern .footer {
    display: none;
}

.checkout-modern .questionp,
.checkout-modern .checkout-note,
.checkout-modern .secure-message,
.checkout-modern .changeAddressText {
    margin: 16px 0;
    padding: 15px 18px;
    background: #fafafa;
    border-left: 4px solid #7E122E;
    color: #555555;
}

.checkout-modern .checkout-note strong {
    color: #222222;
}

.checkout-modern .checkout_option-grid,
.checkout-modern .checkout-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 16px 0;
}

.checkout-modern .checkout-option,
.checkout-modern .payment-option {
    padding: 16px;
    background: #fafafa;
    border: 1px solid #e5e5e5;
}

.checkout-modern .payment-option label {
    margin: 0;
}

.checkout-modern .checkout-basket-table,
.checkout-modern #tbl_basket,
.checkout-modern #tbl_basketTotals,
.checkout-modern .deliveryInfo,
.checkout-modern .deliveryTable,
.checkout-modern table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
}

.checkout-modern #tbl_basket th,
.checkout-modern .checkout-basket-table th,
.checkout-modern #tbl_basketTotals th,
.checkout-modern .deliveryInfo th,
.checkout-modern .deliveryTable th {
    background: #222222;
    color: #ffffff;
    padding: 13px 14px;
    border: 1px solid #222222;
    text-align: left;
    font-weight: 700;
}

.checkout-modern #tbl_basket td,
.checkout-modern .checkout-basket-table td,
.checkout-modern #tbl_basketTotals td,
.checkout-modern .deliveryInfo td,
.checkout-modern .deliveryTable td {
    padding: 13px 14px;
    border: 1px solid #e5e5e5;
    color: #555555;
    vertical-align: top;
}

.checkout-modern .deliveryInfo th,
.checkout-modern .deliveryTable th,
.checkout-modern #tbl_basketTotals th {
    width: 180px;
    background: #fafafa;
    color: #222222;
    border-color: #e5e5e5;
}

.checkout-modern .grandTotal,
.checkout-modern .totals,
.checkout-modern .basketItem {
    font-weight: 700;
    color: #222222 !important;
}

.checkout-modern .basket-footer,
.checkout-modern .checkout-basket-footer {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: start;
    margin-top: 20px;
}

.checkout-modern #tbl_basketTotals {
    max-width: 360px;
    margin-left: auto;
}

.checkout-modern #tbl_basketTotals th,
.checkout-modern #tbl_basketTotals td {
    padding: 10px 12px;
}

.checkout-modern .checkout-carriage-summary {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.checkout-modern .checkout-carriage-row {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 14px;
    align-items: start;
}

.checkout-modern .checkout-carriage-value {
    padding: 10px 0;
    color: #222222;
    font-weight: 700;
}

.checkout-modern .address-book {
    margin-top: 24px;
}

.checkout-modern .address-book .row {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.checkout-modern .address-book .col-md-6 {
    flex: 1 1 calc(50% - 18px);
    max-width: calc(50% - 18px);
    padding: 0;
}

.checkout-modern .address-book .item {
    height: 100%;
    padding: 18px;
    background: #fafafa;
    border-left: 4px solid #7E122E;
}

.checkout-modern .address-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.checkout-modern .selectedAddressMsg {
    display: inline-block;
    margin-top: 14px;
    padding: 7px 10px;
    background: #16823a;
    color: #ffffff;
    font-weight: 700;
}

.checkout-modern .postcodeLookup,
.checkout-modern .postcodeLookup2,
.checkout-modern .address-lookup-panel {
    padding: 18px;
    margin: 16px 0;
    background: #fafafa;
    border-left: 4px solid #7E122E;
}

.checkout-modern .address-lookup-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.checkout-modern .address-lookup-actions {
    margin-top: 12px;
}

.checkout-modern .selectAddress ul,
.checkout-modern .address-results {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}

.checkout-modern .selectAddress li,
.checkout-modern .address-results li {
    border-bottom: 1px solid #e5e5e5;
}

.checkout-modern .selectAddress li a,
.checkout-modern .address-results li a {
    display: block;
    padding: 10px 0;
    color: #222222;
}

.checkout-modern .checkout-terms {
    padding: 18px;
    background: #fafafa;
    border-left: 4px solid #7E122E;
}

.checkout-modern .checkout-terms label {
    font-weight: 600;
}

.checkout-modern .payment-methods,
.checkout-modern .payment {
    display: grid;
    gap: 12px;
}

.checkout-modern .payment .radio,
.checkout-modern .payment-methods .radio,
.checkout-modern .payment-methods label {
    display: block;
    padding: 14px 16px;
    background: #fafafa;
    border: 1px solid #e5e5e5;
}

.checkout-modern .vanguardPnl,
.checkout-modern .checkout-payment-panel {
    margin-top: 18px;
    padding: 18px;
    background: #fafafa;
    border-left: 4px solid #7E122E;
}

.checkout-modern .checkout-status {
    margin: 0 0 18px;
}

.checkout-modern .checkout-alert {
    padding: 15px 18px;
    border-left: 5px solid #7E122E;
    background: #ffffff;
    box-shadow: 0 6px 22px rgba(0,0,0,0.06);
}

.checkout-modern .checkout-alert strong {
    color: #222222;
}

.checkout-modern .checkout-alert--error {
    border-left-color: #a00000;
}

.checkout-modern .checkout-alert--warning {
    border-left-color: #c27b00;
}

.checkout-modern .checkout-alert--success {
    border-left-color: #16823a;
}

@media (max-width: 991px) {
    .checkout-modern .checkout_option-grid,
    .checkout-modern .checkout-options,
    .checkout-modern .address-lookup-grid {
        grid-template-columns: 1fr;
    }

    .checkout-modern .basket-footer,
    .checkout-modern .checkout-basket-footer {
        grid-template-columns: 1fr;
    }

    .checkout-modern #tbl_basketTotals {
        max-width: none;
        margin-left: 0;
    }
}

@media (max-width: 767px) {
    .checkout-modern .form-horizontal .form-group,
    .checkout-modern .checkout_delivery .form-group,
    .checkout-modern .checkout-form-row,
    .checkout-modern .checkout-carriage-row {
        display: block;
    }

    .checkout-modern .form-horizontal .control-label,
    .checkout-modern .checkout_delivery .control-label,
    .checkout-modern .checkout-form-row label,
    .checkout-modern .checkout-carriage-row label {
        display: block;
        max-width: none;
        margin-bottom: 6px;
        padding-top: 0;
    }

    .checkout-modern .postcode-btn {
        max-width: none;
        margin-top: 8px;
    }

    .checkout-modern .address-book .col-md-6 {
        flex-basis: 100%;
        max-width: 100%;
    }

    .checkout-modern #tbl_basket,
    .checkout-modern #tbl_basket tbody,
    .checkout-modern #tbl_basket tr,
    .checkout-modern #tbl_basket td {
        display: block;
        width: 100%;
    }

    .checkout-modern #tbl_basket tr:first-child {
        display: none;
    }

    .checkout-modern #tbl_basket td {
        border-bottom: 0;
    }
}

@media (max-width: 575px) {
    .checkout-modern .stepHeader,
    .checkout-modern .checkout-header,
    .checkout-modern .stepContainer,
    .checkout-modern .stepInner,
    .checkout-modern .checkout-body {
        padding: 18px;
    }

    .checkout-modern .buttons,
    .checkout-modern .button,
    .checkout-modern .continueBtn,
    .checkout-modern .buttonsRight,
    .checkout-modern .address-buttons {
        display: block;
    }

    .checkout-modern .checkout-btn,
    .checkout-modern .returnToBasket,
    .checkout-modern .checkout-logout-btn,
    .checkout-modern .checkout-address-btn {
        display: block;
        width: 100%;
        margin-bottom: 10px;
        text-align: center;
    }
}
/* Final checkout layout override */

.checkout-modern.checkout-shell-page {
    background: #f5f5f5;
    padding: 24px 0 55px;
}

/* Widen the checkout area so the form and summary both have room */
.checkout-shell-page .checkout-shell {
    width: 100%;
    max-width: 1400px !important;
    margin: 0 auto;
    padding: 0 20px;
}

/* Main two-column checkout layout */
.checkout-shell-page .checkout-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 430px !important;
    gap: 24px;
    align-items: start;
    width: 100%;
    margin: 0;
}

/* Stop old Bootstrap/floating layout fighting the grid */
.checkout-shell-page .checkout-main-column,
.checkout-shell-page .checkout-summary-column {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    padding: 0 !important;
}

/* Main form */
.checkout-shell-page .checkout-main-column {
    min-width: 0;
}

/* Right-hand basket card */
.checkout-shell-page .checkout-summary-column {
    min-width: 0;
}

.checkout-shell-page .checkout-summary-sticky {
    position: sticky;
    top: 20px;
    width: 100%;
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

/* Make the order summary heading sit neatly */
.checkout-shell-page #checkoutBasket h2,
.checkout-shell-page #checkoutBasket h3,
.checkout-shell-page #checkoutBasket .section-title {
    margin: 0 0 18px;
    font-size: 22px;
    color: #222222;
}

/* Force summary tables to fit inside the sidebar */
.checkout-shell-page #checkoutBasket table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
    border-collapse: collapse;
}

/* Compact the order summary table */
.checkout-shell-page #checkoutBasket #tbl_basket th,
.checkout-shell-page #checkoutBasket #tbl_basket td,
.checkout-shell-page #checkoutBasket .checkout-basket-table th,
.checkout-shell-page #checkoutBasket .checkout-basket-table td {
    padding: 10px 8px !important;
    font-size: 13px;
    line-height: 1.4;
    white-space: normal !important;
    word-break: normal;
    overflow-wrap: break-word;
}

/* Basket column widths */
.checkout-shell-page #checkoutBasket #tbl_basket th:nth-child(1),
.checkout-shell-page #checkoutBasket #tbl_basket td:nth-child(1) {
    width: 52%;
}

.checkout-shell-page #checkoutBasket #tbl_basket th:nth-child(2),
.checkout-shell-page #checkoutBasket #tbl_basket td:nth-child(2) {
    width: 18%;
}

.checkout-shell-page #checkoutBasket #tbl_basket th:nth-child(3),
.checkout-shell-page #checkoutBasket #tbl_basket td:nth-child(3) {
    width: 12%;
    text-align: center;
}

.checkout-shell-page #checkoutBasket #tbl_basket th:nth-child(4),
.checkout-shell-page #checkoutBasket #tbl_basket td:nth-child(4) {
    width: 18%;
    text-align: right;
}

/* Stop price/total cells forcing the table wider */
.checkout-shell-page #checkoutBasket .price,
.checkout-shell-page #checkoutBasket .total,
.checkout-shell-page #checkoutBasket .grandTotal,
.checkout-shell-page #checkoutBasket .totals {
    white-space: nowrap;
}

/* Basket footer/totals area */
.checkout-shell-page #checkoutBasket .basket-footer,
.checkout-shell-page #checkoutBasket .checkout-basket-footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px;
    margin-top: 20px;
}

/* Totals table should not float out to the right */
.checkout-shell-page #checkoutBasket #tbl_basketTotals {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.checkout-shell-page #checkoutBasket #tbl_basketTotals th,
.checkout-shell-page #checkoutBasket #tbl_basketTotals td {
    padding: 11px 12px !important;
    font-size: 14px;
}

.checkout-shell-page #checkoutBasket #tbl_basketTotals td:last-child {
    text-align: right;
    font-weight: 700;
}

/* Return to basket button full width */
.checkout-shell-page #checkoutBasket .returnToBasket,
.checkout-shell-page #checkoutBasket a.returnToBasket {
    display: block;
    width: 100%;
    margin-top: 12px;
    padding: 12px 16px;
    background: #333333;
    color: #ffffff !important;
    text-align: center;
    text-decoration: none !important;
}

/* Secure card message inside sidebar */
.checkout-shell-page #checkoutBasket .secure-message,
.checkout-shell-page #checkoutBasket .questionp,
.checkout-shell-page #checkoutBasket .checkout-note {
    margin: 0;
    padding: 14px 16px;
    background: #fafafa;
    border-left: 4px solid #7E122E;
    font-size: 13px;
    line-height: 1.5;
}

/* Keep images under control */
.checkout-shell-page #checkoutBasket img {
    max-width: 100%;
    height: auto;
}

/* Tablet */
@media (max-width: 1100px) {
    .checkout-shell-page .checkout-layout {
        grid-template-columns: minmax(0, 1fr) 380px !important;
    }

    .checkout-shell-page .checkout-summary-sticky {
        padding: 20px;
    }
}

/* Mobile */
@media (max-width: 991px) {
    .checkout-shell-page .checkout-layout {
        grid-template-columns: 1fr !important;
    }

    .checkout-shell-page .checkout-summary-column {
        order: -1;
    }

    .checkout-shell-page .checkout-summary-sticky {
        position: static;
    }
}

@media (max-width: 575px) {
    .checkout-shell-page .checkout-shell {
        padding: 0 12px;
    }

    .checkout-shell-page .checkout-summary-sticky {
        padding: 18px;
    }

    .checkout-shell-page #checkoutBasket #tbl_basket,
    .checkout-shell-page #checkoutBasket #tbl_basket tbody,
    .checkout-shell-page #checkoutBasket #tbl_basket tr,
    .checkout-shell-page #checkoutBasket #tbl_basket td {
        display: block;
        width: 100% !important;
    }

    .checkout-shell-page #checkoutBasket #tbl_basket th {
        display: none;
    }

    .checkout-shell-page #checkoutBasket #tbl_basket td {
        text-align: left !important;
    }
}

/* ==========================================================
   Checkout Modern Final
   Put this at the VERY BOTTOM of skin.css or load after skin.css
   ========================================================== */

.checkout-modern,
.checkout-modern * ,
.checkout-modern *::before,
.checkout-modern *::after {
    box-sizing: border-box;
}

.checkout-modern.checkout-shell-page {
    background: #f5f5f5;
    padding: 28px 0 55px;
    color: #222222;
    font-size: 15px;
    line-height: 1.5;
}

.checkout-shell-page .checkout-shell {
    width: 100%;
    max-width: 1400px !important;
    margin: 0 auto;
    padding: 0 20px;
}

.checkout-shell-panel,
.checkout-shell-page .checkout-progress {
    width: 100%;
}

.checkout-shell-page a {
    color: #7E122E;
    font-weight: 700;
    text-decoration: none;
}

.checkout-shell-page a:hover {
    text-decoration: underline;
}

/* Hero and trust cards */

.checkout-shell-page .checkout-shell-hero {
    background: #ffffff;
    padding: 34px 30px;
    margin: 0 0 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    text-align: center;
}

.checkout-shell-page .checkout-shell-hero h1 {
    margin: 0 0 12px;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
    color: #111111;
}

.checkout-shell-page .checkout-shell-hero p {
    max-width: 850px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.6;
    color: #444444;
}

.checkout-shell-page .checkout-trust-strip {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0 0 28px;
}

.checkout-shell-page .checkout-trust-item {
    background: #ffffff;
    padding: 22px;
    border-left: 4px solid #7E122E;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
}

.checkout-shell-page .checkout-trust-item strong {
    display: block;
    margin: 0 0 8px;
    font-size: 18px;
    color: #111111;
}

.checkout-shell-page .checkout-trust-item span {
    display: block;
    color: #444444;
    line-height: 1.5;
}

/* Main checkout grid */

.checkout-shell-page .checkout-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 400px !important;
    gap: 24px;
    align-items: start;
    width: 100%;
    margin: 0 !important;
}

.checkout-shell-page .checkout-main-column,
.checkout-shell-page .checkout-summary-column {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    position: relative;
}

.checkout-shell-page .checkout-main {
    width: 100%;
    min-width: 0;
}

/* Step panels */

.checkout-modern .stepControl,
.checkout-modern .checkout-panel,
.checkout-modern #checkout_payment,
.checkout-modern #checkout_confirm,
.checkout-modern #checkout_carriage,
.checkout-modern #checkout_registration,
.checkout-modern #checkout_basket {
    background: #ffffff;
    margin: 0 0 22px !important;
    border: 0 !important;
    width: 100% !important;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.checkout-modern .stepHeader,
.checkout-modern .stepHeaderDisabled,
.checkout-modern .stepHeaderCompleted,
.checkout-modern .stepHeaderCompletedDisabled,
.checkout-modern .checkout-header {
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.3 !important;
    padding: 18px 24px !important;
    background: #222222 !important;
    color: #ffffff !important;
    border: 0 !important;
    border-left: 5px solid #7E122E !important;
    border-radius: 0 !important;
    overflow: hidden;
}

.checkout-modern .stepHeaderDisabled,
.checkout-modern .stepHeaderCompletedDisabled {
    background: #ffffff !important;
    border-left-color: #eeeeee !important;
}

.checkout-modern .stepHeaderDisabled .section-title,
.checkout-modern .stepHeaderCompletedDisabled .section-title {
    color: #555555 !important;
}

.checkout-modern .section-title,
.checkout-modern .stepHeader h2,
.checkout-modern .checkout-header h2,
.checkout-modern #checkout_payment h2 {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 24px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.checkout-modern .stepHeaderDisabled .section-title,
.checkout-modern .stepHeaderCompletedDisabled .section-title {
    color: #555555 !important;
}

.checkout-modern .inlineContent {
    float: none !important;
    width: auto !important;
    padding: 6px 0 0 0 !important;
    margin: 0 !important;
    text-align: left !important;
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    position: static !important;
}

.checkout-modern .inlineContent .headerText,
.checkout-modern .headerText {
    float: none !important;
    display: inline !important;
    color: inherit !important;
    text-align: left !important;
}

.checkout-modern .inlineContent img {
    display: none !important;
}

.checkout-modern .stepContainer,
.checkout-modern .stepInner,
.checkout-modern .checkout-body {
    border: 0 !important;
    padding: 24px !important;
    margin: 0 !important;
    background: #ffffff;
}

.checkout-modern .stepContent {
    padding-top: 0 !important;
}

.checkout-modern .stepFooter,
.checkout-modern .stepFooterDisabled,
.checkout-modern .stepFooterCompleted,
.checkout-modern .stepFooterCompletedDisabled,
.checkout-modern .footer {
    display: none !important;
}

.checkout-modern h3 {
    margin: 0 0 18px;
    color: #222222;
    font-size: 20px;
    font-weight: 700;
}

.checkout-modern p {
    margin: 0 0 16px;
    color: #555555;
}

/* Form layout */

.checkout-modern .deliveryTable,
.checkout-modern .checkout-address-table,
.checkout-modern .checkout-address-table tbody,
.checkout-modern .checkout-address-table tr,
.checkout-modern .checkout-address-table td,
.checkout-modern .deliveryTable tbody,
.checkout-modern .deliveryTable tr,
.checkout-modern .deliveryTable td {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.checkout-modern .form-horizontal .form-group,
.checkout-modern .checkout_delivery .form-group,
.checkout-modern .checkout-form-row {
    display: grid !important;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    width: 100%;
    margin: 0 0 16px !important;
    padding: 0 !important;
}

.checkout-modern .form-horizontal .form-group::before,
.checkout-modern .form-horizontal .form-group::after,
.checkout-modern .checkout_delivery .form-group::before,
.checkout-modern .checkout_delivery .form-group::after {
    display: none !important;
    content: none !important;
}

.checkout-modern .form-horizontal .control-label,
.checkout-modern .checkout_delivery .control-label,
.checkout-modern .checkout-form-row label,
.checkout-modern label.control-label {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
    color: #111111;
    font-weight: 700;
    line-height: 1.3;
}

.checkout-modern .form-horizontal .col-sm-3,
.checkout-modern .form-horizontal .col-sm-9,
.checkout-modern .form-horizontal .col-sm-12,
.checkout-modern .checkout_delivery .col-sm-3,
.checkout-modern .checkout_delivery .col-sm-9,
.checkout-modern .checkout_delivery .col-sm-12,
.checkout-modern .postcode-input,
.checkout-modern .checkout-form-field {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.checkout-modern input[type="text"],
.checkout-modern input[type="email"],
.checkout-modern input[type="password"],
.checkout-modern input[type="tel"],
.checkout-modern input[type="number"],
.checkout-modern textarea,
.checkout-modern select,
.checkout-modern .form-control {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 42px;
    height: auto;
    padding: 9px 11px;
    border: 1px solid #d7d7d7;
    border-radius: 0 !important;
    background-color: #ffffff !important;
    color: #222222 !important;
    box-shadow: none !important;
    font-size: 14px;
    line-height: 1.4;
}

/* Fix repeated dropdown arrows / theme background conflicts */
.checkout-modern select,
.checkout-modern select.form-control {
    background-image: none !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
    background-size: auto !important;
    -webkit-appearance: menulist !important;
    -moz-appearance: menulist !important;
    appearance: auto !important;
    padding-right: 12px !important;
}

.checkout-modern input:focus,
.checkout-modern textarea:focus,
.checkout-modern select:focus {
    outline: 2px solid rgba(126, 18, 46, 0.15);
    border-color: #7E122E;
}

.checkout-modern .required {
    color: #7E122E !important;
    font-size: 12px !important;
    font-weight: 700;
}

.checkout-modern span[id*="vld"],
.checkout-modern [class*="Validator"],
.checkout-modern .field-validation-error {
    display: block;
    margin-top: 6px;
    color: #a00000;
    font-size: 13px;
    font-weight: 600;
}

/* Notes, radio areas, data protection */

.checkout-modern .questionp,
.checkout-modern .checkout-note,
.checkout-modern .secure-message,
.checkout-modern .changeAddressText {
    margin: 16px 0 22px !important;
    padding: 16px 18px !important;
    background: #fafafa !important;
    border: 0 !important;
    border-left: 4px solid #7E122E !important;
    color: #444444 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    width: 100% !important;
}

.checkout-modern .radio-inline,
.checkout-modern .radio,
.checkout-modern .checkout-choice {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin: 8px 20px 0 0 !important;
    font-weight: 600;
}

.checkout-modern input[type="radio"],
.checkout-modern input[type="checkbox"] {
    width: auto !important;
    min-height: 0 !important;
    margin: 0 7px 0 0 !important;
}

/* Buttons */

.checkout-modern .buttons,
.checkout-modern .button,
.checkout-modern .continueBtn,
.checkout-modern .buttonsRight,
.checkout-modern .address-buttons {
    display: flex !important;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 12px;
    margin: 22px 0 0 !important;
    clear: both;
    text-align: right !important;
}

.checkout-modern .checkout-btn,
.checkout-modern .returnToBasket,
.checkout-modern .checkout-logout-btn,
.checkout-modern .checkout-address-btn,
.checkout-modern .checkout-postcode-btn,
.checkout-modern input[type="submit"],
.checkout-modern button {
    display: inline-block !important;
    min-width: 130px;
    padding: 12px 18px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #7E122E !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase;
    text-shadow: none !important;
    cursor: pointer;
}

.checkout-modern .checkout-btn:hover,
.checkout-modern .returnToBasket:hover,
.checkout-modern .checkout-logout-btn:hover,
.checkout-modern .checkout-address-btn:hover,
.checkout-modern .checkout-postcode-btn:hover {
    opacity: 0.9;
    text-decoration: none !important;
}

.checkout-modern .checkout-logout-btn,
.checkout-modern .returnToBasket,
.checkout-modern .checkout-address-btn.secondary,
.checkout-modern .checkout-btn.secondary {
    background: #333333 !important;
}

/* Postcode lookup overrides, including old hard-coded DNN ID rules */

.checkout-modern .postcodeLookup,
.checkout-modern .postcodeLookup2,
.checkout-modern .address-lookup-panel {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px 0 !important;
    padding: 18px !important;
    background: #fafafa !important;
    border: 0 !important;
    border-left: 4px solid #7E122E !important;
}

.checkout-modern [id$="_butPostcodeLookup"],
.checkout-modern .checkout-postcode-btn {
    margin: 10px 0 0 196px !important;
    color: #ffffff !important;
    background: #7E122E !important;
    min-width: 150px;
}

.checkout-modern [id$="_txtInsPostcode"] {
    margin-bottom: 0 !important;
}

.checkout-modern [id$="_txtInsCompanyName"] {
    margin-top: 0 !important;
}

.checkout-modern [id$="_lblNoResultsContent"] {
    float: none !important;
    width: auto !important;
}

.checkout-modern .address-lookup-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.checkout-modern .address-lookup-block {
    background: #ffffff;
    padding: 18px;
    border: 1px solid #eeeeee;
}

.checkout-modern .address-lookup-block h4 {
    margin: 0 0 14px;
    color: #222222;
    font-size: 16px;
    font-weight: 700;
}

.checkout-modern .selectAddress {
    max-height: 220px;
    overflow-y: auto;
    background: #ffffff;
    border: 1px solid #d7d7d7;
}

.checkout-modern .selectAddress ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

.checkout-modern .selectAddress li {
    list-style: none !important;
    border-bottom: 1px solid #eeeeee;
}

.checkout-modern .selectAddress li a {
    display: block;
    width: 100%;
    padding: 10px 12px;
    color: #222222;
    text-decoration: none;
}

.checkout-modern .selectAddress li a:hover {
    background: #7E122E;
    color: #ffffff;
}

/* Address book */

.checkout-modern .address-book {
    width: 100% !important;
    padding: 10px 0 0 !important;
    margin: 24px 0 0 !important;
}

.checkout-modern .address-book .row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 0 !important;
}

.checkout-modern .address-book .col-md-6 {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.checkout-modern .address-book .item {
    height: 100%;
    min-height: 0 !important;
    padding: 18px !important;
    background: #fafafa !important;
    border-left: 4px solid #7E122E;
}

.checkout-modern .selectedAddressMsg {
    display: inline-block !important;
    margin-top: 12px;
    padding: 7px 10px;
    background: #16823a;
    color: #ffffff !important;
    font-style: normal !important;
    font-weight: 700;
    text-align: left !important;
}

/* Order summary */

.checkout-shell-page .checkout-summary-sticky {
    position: sticky;
    top: 20px;
    width: 100%;
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

.checkout-modern .checkout-summary-card h2,
.checkout-shell-page #checkoutBasket h2 {
    margin: 0 0 18px;
    color: #222222;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
}

.checkout-shell-page #checkoutBasket table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
    border-collapse: collapse;
    background: #ffffff;
}

.checkout-shell-page #checkoutBasket #tbl_basket th,
.checkout-shell-page #checkoutBasket #tbl_basket td {
    padding: 10px 8px !important;
    border: 1px solid #e5e5e5 !important;
    color: #222222;
    font-size: 13px;
    line-height: 1.4;
    white-space: normal !important;
    overflow-wrap: break-word;
    vertical-align: top;
}

.checkout-shell-page #checkoutBasket #tbl_basket th {
    background: #222222 !important;
    color: #ffffff !important;
    font-weight: 700;
    text-align: left;
}

.checkout-shell-page #checkoutBasket #tbl_basket th.productInformation,
.checkout-shell-page #checkoutBasket #tbl_basket td.content {
    width: 52%;
}

.checkout-shell-page #checkoutBasket #tbl_basket th.price,
.checkout-shell-page #checkoutBasket #tbl_basket td.price {
    width: 18%;
}

.checkout-shell-page #checkoutBasket #tbl_basket th.qty,
.checkout-shell-page #checkoutBasket #tbl_basket td.qty {
    width: 12%;
    text-align: center;
}

.checkout-shell-page #checkoutBasket #tbl_basket th.total,
.checkout-shell-page #checkoutBasket #tbl_basket td.total {
    width: 18%;
    text-align: right;
    font-weight: 700;
}

.checkout-shell-page #checkoutBasket .basketItem,
.checkout-shell-page #checkoutBasket .totals,
.checkout-shell-page #checkoutBasket .grandTotal {
    color: #222222 !important;
    font-weight: 700;
}

.checkout-shell-page #checkoutBasket .secure-message {
    margin: 18px 0 !important;
}

.checkout-shell-page #checkoutBasket .basket-footer,
.checkout-shell-page #checkoutBasket .checkout-summary-footer {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    text-align: left !important;
}

.checkout-shell-page #checkoutBasket #tbl_basketTotals th,
.checkout-shell-page #checkoutBasket #tbl_basketTotals td {
    padding: 12px !important;
    border: 1px solid #e5e5e5 !important;
    background: #ffffff !important;
    font-size: 14px;
}

.checkout-shell-page #checkoutBasket #tbl_basketTotals th {
    color: #222222 !important;
    text-align: left;
    font-weight: 700;
}

.checkout-shell-page #checkoutBasket #tbl_basketTotals td {
    text-align: right;
}

.checkout-shell-page #checkoutBasket .returnToBasket {
    display: block !important;
    width: 100%;
    margin: 12px 0 0 !important;
    background: #333333 !important;
}

/* Payment panel */

.checkout-modern #vanguard-body {
    width: 100% !important;
}

.checkout-modern .vg {
    padding-left: 0 !important;
}

.checkout-modern .card-input {
    display: inline-block;
    width: auto !important;
}

/* Loading overlays */

.checkout-modern #pleaseWaitCheckout.checkout-loading,
.checkout-modern .checkout-processing-overlay {
    position: fixed;
    z-index: 99999;
    inset: 0;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.78);
}

.checkout-modern #pleaseWaitCheckout.checkout-loading {
    display: flex;
}

.checkout-modern .checkout-loading-box {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 22px;
    background: #ffffff;
    border-left: 5px solid #7E122E;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.14);
    color: #222222;
    font-weight: 700;
}

.checkout-modern .checkout-loading-box img {
    width: 32px;
    height: 32px;
}

/* Responsive */

@media (max-width: 1200px) {
    .checkout-shell-page .checkout-layout {
        grid-template-columns: minmax(0, 1fr) 370px !important;
    }

    .checkout-shell-page .checkout-summary-sticky {
        padding: 20px;
    }
}

@media (max-width: 991px) {
    .checkout-shell-page .checkout-layout {
        grid-template-columns: 1fr !important;
    }

    .checkout-shell-page .checkout-summary-column {
        order: -1;
    }

    .checkout-shell-page .checkout-summary-sticky {
        position: static;
    }

    .checkout-shell-page .checkout-trust-strip {
        grid-template-columns: 1fr;
    }

    .checkout-shell-page .checkout-shell-hero h1 {
        font-size: 30px;
    }

    .checkout-modern .address-book .row,
    .checkout-modern .address-lookup-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767px) {
    .checkout-modern .form-horizontal .form-group,
    .checkout-modern .checkout_delivery .form-group,
    .checkout-modern .checkout-form-row {
        display: block !important;
    }

    .checkout-modern .form-horizontal .control-label,
    .checkout-modern .checkout_delivery .control-label,
    .checkout-modern .checkout-form-row label {
        display: block;
        margin: 0 0 6px !important;
    }

    .checkout-modern [id$="_butPostcodeLookup"],
    .checkout-modern .checkout-postcode-btn {
        margin-left: 0 !important;
    }
}

@media (max-width: 575px) {
    .checkout-shell-page .checkout-shell {
        padding: 0 12px;
    }

    .checkout-shell-page .checkout-shell-hero,
    .checkout-shell-page .checkout-trust-item,
    .checkout-modern .stepHeader,
    .checkout-modern .stepContainer,
    .checkout-modern .stepInner {
        padding: 18px !important;
    }

    .checkout-modern .buttons,
    .checkout-modern .button,
    .checkout-modern .continueBtn,
    .checkout-modern .buttonsRight,
    .checkout-modern .address-buttons {
        display: block !important;
        text-align: left !important;
    }

    .checkout-modern .checkout-btn,
    .checkout-modern .returnToBasket,
    .checkout-modern .checkout-logout-btn,
    .checkout-modern .checkout-address-btn,
    .checkout-modern .checkout-postcode-btn {
        display: block !important;
        width: 100%;
        margin: 0 0 10px !important;
    }

    .checkout-shell-page #checkoutBasket #tbl_basket,
    .checkout-shell-page #checkoutBasket #tbl_basket thead,
    .checkout-shell-page #checkoutBasket #tbl_basket tbody,
    .checkout-shell-page #checkoutBasket #tbl_basket tr,
    .checkout-shell-page #checkoutBasket #tbl_basket th,
    .checkout-shell-page #checkoutBasket #tbl_basket td {
        display: block;
        width: 100% !important;
    }

    .checkout-shell-page #checkoutBasket #tbl_basket thead {
        display: none;
    }

    .checkout-shell-page #checkoutBasket #tbl_basket tr {
        border: 1px solid #e5e5e5;
        margin-bottom: 12px;
    }

    .checkout-shell-page #checkoutBasket #tbl_basket td {
        border: 0 !important;
        border-bottom: 1px solid #eeeeee !important;
        text-align: left !important;
    }
}

/* Final checkout layout override */

.checkout-modern.checkout-shell-page {
    background: #f5f5f5;
    padding: 24px 0 55px;
}

/* Widen the checkout area so the form and summary both have room */
.checkout-shell-page .checkout-shell {
    width: 100%;
    max-width: 1400px !important;
    margin: 0 auto;
    padding: 0 20px;
}

/* Main two-column checkout layout */
.checkout-shell-page .checkout-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 430px !important;
    gap: 24px;
    align-items: start;
    width: 100%;
    margin: 0;
}

/* Stop old Bootstrap/floating layout fighting the grid */
.checkout-shell-page .checkout-main-column,
.checkout-shell-page .checkout-summary-column {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    padding: 0 !important;
}

/* Main form */
.checkout-shell-page .checkout-main-column {
    min-width: 0;
}

/* Right-hand basket card */
.checkout-shell-page .checkout-summary-column {
    min-width: 0;
}

.checkout-shell-page .checkout-summary-sticky {
    position: sticky;
    top: 20px;
    width: 100%;
    background: #ffffff;
    padding: 24px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

/* Make the order summary heading sit neatly */
.checkout-shell-page #checkoutBasket h2,
.checkout-shell-page #checkoutBasket h3,
.checkout-shell-page #checkoutBasket .section-title {
    margin: 0 0 18px;
    font-size: 22px;
    color: #222222;
}

/* Force summary tables to fit inside the sidebar */
.checkout-shell-page #checkoutBasket table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
    border-collapse: collapse;
}

/* Compact the order summary table */
.checkout-shell-page #checkoutBasket #tbl_basket th,
.checkout-shell-page #checkoutBasket #tbl_basket td,
.checkout-shell-page #checkoutBasket .checkout-basket-table th,
.checkout-shell-page #checkoutBasket .checkout-basket-table td {
    padding: 10px 8px !important;
    font-size: 13px;
    line-height: 1.4;
    white-space: normal !important;
    word-break: normal;
    overflow-wrap: break-word;
}

/* Basket column widths */
.checkout-shell-page #checkoutBasket #tbl_basket th:nth-child(1),
.checkout-shell-page #checkoutBasket #tbl_basket td:nth-child(1) {
    width: 52%;
}

.checkout-shell-page #checkoutBasket #tbl_basket th:nth-child(2),
.checkout-shell-page #checkoutBasket #tbl_basket td:nth-child(2) {
    width: 18%;
}

.checkout-shell-page #checkoutBasket #tbl_basket th:nth-child(3),
.checkout-shell-page #checkoutBasket #tbl_basket td:nth-child(3) {
    width: 12%;
    text-align: center;
}

.checkout-shell-page #checkoutBasket #tbl_basket th:nth-child(4),
.checkout-shell-page #checkoutBasket #tbl_basket td:nth-child(4) {
    width: 18%;
    text-align: right;
}

/* Stop price/total cells forcing the table wider */
.checkout-shell-page #checkoutBasket .price,
.checkout-shell-page #checkoutBasket .total,
.checkout-shell-page #checkoutBasket .grandTotal,
.checkout-shell-page #checkoutBasket .totals {
    white-space: nowrap;
}

/* Basket footer/totals area */
.checkout-shell-page #checkoutBasket .basket-footer,
.checkout-shell-page #checkoutBasket .checkout-basket-footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px;
    margin-top: 20px;
}

/* Totals table should not float out to the right */
.checkout-shell-page #checkoutBasket #tbl_basketTotals {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.checkout-shell-page #checkoutBasket #tbl_basketTotals th,
.checkout-shell-page #checkoutBasket #tbl_basketTotals td {
    padding: 11px 12px !important;
    font-size: 14px;
}

.checkout-shell-page #checkoutBasket #tbl_basketTotals td:last-child {
    text-align: right;
    font-weight: 700;
}

/* Return to basket button full width */
.checkout-shell-page #checkoutBasket .returnToBasket,
.checkout-shell-page #checkoutBasket a.returnToBasket {
    display: block;
    width: 100%;
    margin-top: 12px;
    padding: 12px 16px;
    background: #333333;
    color: #ffffff !important;
    text-align: center;
    text-decoration: none !important;
}

/* Secure card message inside sidebar */
.checkout-shell-page #checkoutBasket .secure-message,
.checkout-shell-page #checkoutBasket .questionp,
.checkout-shell-page #checkoutBasket .checkout-note {
    margin: 0;
    padding: 14px 16px;
    background: #fafafa;
    border-left: 4px solid #7E122E;
    font-size: 13px;
    line-height: 1.5;
}

/* Keep images under control */
.checkout-shell-page #checkoutBasket img {
    max-width: 100%;
    height: auto;
}

/* Tablet */
@media (max-width: 1100px) {
    .checkout-shell-page .checkout-layout {
        grid-template-columns: minmax(0, 1fr) 380px !important;
    }

    .checkout-shell-page .checkout-summary-sticky {
        padding: 20px;
    }
}

/* Mobile */
@media (max-width: 991px) {
    .checkout-shell-page .checkout-layout {
        grid-template-columns: 1fr !important;
    }

    .checkout-shell-page .checkout-summary-column {
        order: -1;
    }

    .checkout-shell-page .checkout-summary-sticky {
        position: static;
    }
}

@media (max-width: 575px) {
    .checkout-shell-page .checkout-shell {
        padding: 0 12px;
    }

    .checkout-shell-page .checkout-summary-sticky {
        padding: 18px;
    }

    .checkout-shell-page #checkoutBasket #tbl_basket,
    .checkout-shell-page #checkoutBasket #tbl_basket tbody,
    .checkout-shell-page #checkoutBasket #tbl_basket tr,
    .checkout-shell-page #checkoutBasket #tbl_basket td {
        display: block;
        width: 100% !important;
    }

    .checkout-shell-page #checkoutBasket #tbl_basket th {
        display: none;
    }

    .checkout-shell-page #checkoutBasket #tbl_basket td {
        text-align: left !important;
    }
}

/* =========================================================
   Professional Checkout Styling - CSS only
   Add to very bottom of skin.css
   ========================================================= */

/* Main checkout page wrapper */
.checkoutBackground {
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
    padding: 20px 0 45px;
    text-align: left;
    background: transparent;
}

/* Remove rounded corners only inside checkout */
.checkoutBackground *,
.checkoutBackground *:before,
.checkoutBackground *:after {
    border-radius: 0 !important;
    box-sizing: border-box;
}

/* Optional page title card created with CSS only */
.checkoutBackground:before {
    content: "Secure Checkout";
    display: block;
    margin: 0 0 18px;
    padding: 22px 26px;
    background: #ffffff;
    border-left: 5px solid #7E122E;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.06);
    color: #222222;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
}

/* Two-column checkout layout */
.checkoutBackground > .row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-left: -12px;
    margin-right: -12px;
}

.checkoutBackground > .row > .col-md-8,
.checkoutBackground > .row > .col-sm-7 {
    float: none !important;
    width: auto !important;
    flex: 1 1 calc(100% - 405px);
    max-width: calc(100% - 405px);
    padding-left: 12px;
    padding-right: 12px;
}

.checkoutBackground > .row > .col-md-4,
.checkoutBackground > .row > .col-sm-5 {
    float: none !important;
    width: 405px !important;
    flex: 0 0 405px;
    max-width: 405px;
    padding-left: 12px;
    padding-right: 12px;
}

/* Checkout main area */
.checkoutBackground #checkout.checkout {
    margin: 0;
    font-size: 14px;
    color: #444444;
}

/* Each checkout section as a professional card */
.checkoutBackground .checkout .stepControl {
    margin: 0 0 18px;
    background: #ffffff;
    border: 1px solid #e3e3e3;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}

/* Header card styling */
.checkoutBackground .checkout .stepHeader,
.checkoutBackground .checkout .stepHeaderDisabled,
.checkoutBackground .checkout .stepHeaderCompleted,
.checkoutBackground .checkout .stepHeaderCompletedDisabled {
    min-height: 48px;
    height: auto !important;
    line-height: normal !important;
    padding: 0 !important;
    background: #222222 !important;
    border: 0 !important;
    border-left: 5px solid #7E122E !important;
    color: #ffffff !important;
    overflow: hidden;
}

/* Disabled/incomplete headers */
.checkoutBackground .checkout .stepHeaderDisabled,
.checkoutBackground .checkout .stepHeaderCompletedDisabled {
    background: #eeeeee !important;
    border-left-color: #adacac !important;
}

/* Section title */
.checkoutBackground .checkout .section-title,
.checkoutBackground #checkout_carriage .section-title {
    float: left;
    width: auto;
    margin: 0;
    padding: 15px 18px;
    color: #ffffff !important;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

.checkoutBackground .checkout .stepHeaderDisabled .section-title,
.checkoutBackground .checkout .stepHeaderCompletedDisabled .section-title {
    color: #777777 !important;
}

/* Header summary/edit area */
.checkoutBackground .checkout .inlineContent {
    float: right;
    width: auto;
    max-width: 55%;
    padding: 12px 18px 10px 10px;
    color: #ffffff !important;
    font-size: 12px;
    font-style: normal;
    line-height: 1.4;
    text-align: right;
}

.checkoutBackground .checkout .inlineContent a,
.checkoutBackground .checkout .inlineContent .headerText {
    color: #ffffff !important;
    font-weight: 700;
}

.checkoutBackground .checkout .stepHeaderDisabled .inlineContent,
.checkoutBackground .checkout .stepHeaderCompletedDisabled .inlineContent,
.checkoutBackground .checkout .stepHeaderDisabled .inlineContent a,
.checkoutBackground .checkout .stepHeaderCompletedDisabled .inlineContent a,
.checkoutBackground .checkout .stepHeaderDisabled .headerText,
.checkoutBackground .checkout .stepHeaderCompletedDisabled .headerText {
    color: #777777 !important;
}

/* Card body */
.checkoutBackground .checkout .stepContainer,
.checkoutBackground .checkout .stepInner {
    width: 100% !important;
    margin: 0 !important;
    padding: 24px !important;
    background: #ffffff !important;
    border: 0 !important;
    color: #444444;
}

.checkoutBackground .checkout .stepContent {
    padding-top: 0;
}

/* Remove old footer strips */
.checkoutBackground .checkout .stepFooter,
.checkoutBackground .checkout .stepFooterDisabled,
.checkoutBackground .checkout .stepFooterCompleted,
.checkoutBackground .checkout .stepFooterCompletedDisabled {
    display: none !important;
}

/* Form layout */
.checkoutBackground .checkout .form-group {
    margin-bottom: 16px;
}

.checkoutBackground .checkout label,
.checkoutBackground .checkout .control-label {
    color: #222222;
    font-weight: 700;
    font-size: 13px;
}

.checkoutBackground .checkout .form-horizontal .control-label {
    padding-top: 9px;
    text-align: left;
}

/* Inputs/selects */
.checkoutBackground .checkout .form-control,
.checkoutBackground .checkout input[type="text"],
.checkoutBackground .checkout input[type="email"],
.checkoutBackground .checkout input[type="password"],
.checkoutBackground .checkout input[type="tel"],
.checkoutBackground .checkout select,
.checkoutBackground .checkout textarea {
    width: 100%;
    max-width: 100%;
    min-height: 40px;
    padding: 9px 11px;
    border: 1px solid #d4d4d4;
    background-color: #ffffff;
    background-image: none !important;
    box-shadow: none !important;
    color: #222222;
    font-size: 14px;
}

.checkoutBackground .checkout textarea,
.checkoutBackground .checkout textarea.form-control {
    min-height: 90px;
    resize: vertical;
}

.checkoutBackground .checkout input:focus,
.checkoutBackground .checkout select:focus,
.checkoutBackground .checkout textarea:focus {
    outline: 2px solid rgba(126, 18, 46, 0.16);
    border-color: #7E122E;
}

/* Validation/errors */
.checkoutBackground .checkout .required,
.checkoutBackground .checkout span[id*="vld"],
.checkoutBackground .checkout [class*="Validator"],
.checkoutBackground .checkout .field-validation-error {
    color: #a00000 !important;
    font-size: 12px;
    font-weight: 700;
}

/* Notes / data protection / secure blocks */
.checkoutBackground .checkout .questionp,
.checkoutBackground .checkout .secure-message,
.checkoutBackground .checkout .changeAddressText,
.checkoutBackground .checkout .checkout-note,
.checkoutBackground .checkout .dp_statement {
    margin: 14px 0;
    padding: 14px 16px;
    background: #fafafa;
    border: 1px solid #e5e5e5;
    border-left: 4px solid #7E122E;
    color: #444444;
    font-size: 13px;
    line-height: 1.5;
}

/* Address book */
.checkoutBackground .checkout .address-book {
    width: 100% !important;
    padding: 10px 0 0;
}

.checkoutBackground .checkout .address-book .row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-left: 0;
    margin-right: 0;
}

.checkoutBackground .checkout .address-book .col-md-6 {
    float: none !important;
    width: calc(50% - 8px) !important;
    max-width: calc(50% - 8px);
    padding: 0 !important;
}

.checkoutBackground .checkout .address-book .item {
    height: 100%;
    min-height: 0 !important;
    padding: 16px !important;
    background: #fafafa !important;
    border: 1px solid #e5e5e5;
    border-left: 4px solid #7E122E;
}

/* Address buttons */
.checkoutBackground .checkout .address-buttons {
    margin-top: 12px;
    text-align: right;
}

.checkoutBackground .checkout .selectedAddressMsg {
    display: inline-block;
    margin-top: 10px;
    padding: 6px 9px;
    background: #16823a;
    color: #ffffff !important;
    font-style: normal;
    font-weight: 700;
    text-align: left;
}

/* Buttons */
.checkoutBackground .checkout .buttons,
.checkoutBackground .checkout .button,
.checkoutBackground .checkout .continueBtn,
.checkoutBackground .checkout .buttonsRight {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin: 22px 0 0;
    clear: both;
    text-align: right;
}

.checkoutBackground .checkout .checkout-btn,
.checkoutBackground .checkout input[type="submit"],
.checkoutBackground .checkout button,
.checkoutBackground .checkout .button a,
.checkoutBackground .checkout .buttons a {
    display: inline-block;
    min-height: 40px;
    padding: 11px 20px;
    border: 0 !important;
    background: #7E122E !important;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    text-shadow: none !important;
    box-shadow: none !important;
}

.checkoutBackground .checkout .checkout-btn:hover,
.checkoutBackground .checkout input[type="submit"]:hover,
.checkoutBackground .checkout button:hover,
.checkoutBackground .checkout .button a:hover,
.checkoutBackground .checkout .buttons a:hover {
    background: #222222 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Payment options */
.checkoutBackground .checkout .payment .radio {
    display: block;
    margin: 0 0 10px;
    padding: 14px 16px;
    background: #fafafa;
    border: 1px solid #e5e5e5;
}

.checkoutBackground .checkout .payment .radio input[type="radio"] {
    margin-left: 0;
    margin-right: 8px;
}

/* Delivery/carriage table areas */
.checkoutBackground .checkout .deliveryTable,
.checkoutBackground .checkout .deliveryInfo,
.checkoutBackground .checkout table {
    width: 100%;
    border-collapse: collapse;
}

.checkoutBackground .checkout .deliveryTable th,
.checkoutBackground .checkout .deliveryTable td,
.checkoutBackground .checkout .deliveryInfo th,
.checkoutBackground .checkout .deliveryInfo td {
    padding: 10px 12px;
    border: 1px solid #e5e5e5;
}

/* =========================================================
   Order Summary Sidebar
   ========================================================= */

.checkoutBackground #checkoutBasket.checkout-basket {
    position: sticky;
    top: 20px;
    margin: 0;
    padding: 18px;
    background: #ffffff;
    border: 1px solid #e3e3e3;
    box-shadow: 0 5px 18px rgba(0, 0, 0, 0.06);
    font-size: 13px;
    overflow: hidden;
}

/* Order summary title card */
.checkoutBackground #checkoutBasket:before {
    content: "Order Summary";
    display: block;
    margin: -18px -18px 18px;
    padding: 15px 18px;
    background: #222222;
    border-left: 5px solid #7E122E;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

/* Basket table */
.checkoutBackground #checkoutBasket table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
    border-collapse: collapse;
    background: #ffffff;
}

/* Remove old image/spacer columns */
.checkoutBackground #checkoutBasket .leftHead,
.checkoutBackground #checkoutBasket .rightHead,
.checkoutBackground #checkoutBasket .leftItem,
.checkoutBackground #checkoutBasket .rightItem {
    display: none !important;
    width: 0 !important;
}

/* Basket table headings */
.checkoutBackground #checkoutBasket .tbl-basket th {
    padding: 10px 6px !important;
    background: #eeeeee !important;
    border: 1px solid #dddddd;
    color: #222222 !important;
    font-size: 12px !important;
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
    white-space: normal;
}

.checkoutBackground #checkoutBasket .tbl-basket th span {
    padding: 0;
    font-size: 12px;
}

/* Basket table cells */
.checkoutBackground #checkoutBasket .tbl-basket td {
    padding: 10px 6px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #eeeeee;
    color: #444444;
    font-size: 12px;
    line-height: 1.4;
    text-align: left;
    vertical-align: top;
    word-break: normal;
    overflow-wrap: break-word;
}

.checkoutBackground #checkoutBasket .tbl-basket .content {
    width: auto !important;
    text-align: left;
}

.checkoutBackground #checkoutBasket .tbl-basket .content b a {
    color: #222222 !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.checkoutBackground #checkoutBasket .tbl-basket .basketItem,
.checkoutBackground #checkoutBasket .tbl-basket .price,
.checkoutBackground #checkoutBasket .tbl-basket .total,
.checkoutBackground #checkoutBasket .tbl-basket td:nth-child(3),
.checkoutBackground #checkoutBasket .tbl-basket td:nth-child(5) {
    font-weight: 700;
    white-space: nowrap;
}

/* Basket totals */
.checkoutBackground #checkoutBasket .tbl-basket-totals {
    width: 100% !important;
    margin: 15px 0 0;
    border-collapse: collapse;
    background: #fafafa;
}

.checkoutBackground #checkoutBasket .tbl-basket-totals th,
.checkoutBackground #checkoutBasket .tbl-basket-totals td {
    padding: 9px 6px;
    border-bottom: 1px solid #e5e5e5;
    color: #222222;
    font-size: 13px;
}

.checkoutBackground #checkoutBasket .tbl-basket-totals th {
    width: auto;
    text-align: left;
    font-weight: 700;
}

.checkoutBackground #checkoutBasket .tbl-basket-totals td {
    width: 90px;
    text-align: right;
    font-weight: 700;
}

.checkoutBackground #checkoutBasket .tbl-basket-totals .grandTotal {
    color: #7E122E !important;
    font-size: 16px;
    font-weight: 700;
}

/* Basket footer / return button */
.checkoutBackground #checkoutBasket .basket-footer {
    margin: 16px -18px -18px;
    padding: 16px 18px;
    background: #fafafa;
    border-top: 1px solid #e5e5e5;
    text-align: center;
}

.checkoutBackground #checkoutBasket .returnToBasket,
.checkoutBackground #checkoutBasket a.returnToBasket {
    display: block;
    width: 100%;
    margin: 0;
    padding: 11px 14px;
    background: #333333 !important;
    color: #ffffff !important;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none !important;
    text-shadow: none !important;
}

/* Secure message in summary */
.checkoutBackground #checkoutBasket .secure-message {
    margin: 15px 0 0;
    padding: 13px 14px;
    background: #fafafa;
    border: 1px solid #e5e5e5;
    border-left: 4px solid #7E122E;
    color: #444444;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}

/* Loader overlays */
#pleaseWait,
#pleaseWaitCheckout {
    position: fixed !important;
    inset: 0;
    z-index: 99999;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.78);
    text-align: center;
}

#pleaseWait[style*="display: block"],
#pleaseWaitCheckout {
    display: flex !important;
}

#pleaseWait img,
#pleaseWaitCheckout img {
    display: block;
    margin: 0 auto;
}

/* =========================================================
   Mobile / tablet
   ========================================================= */

@media (max-width: 1199px) {
    .checkoutBackground > .row > .col-md-8,
    .checkoutBackground > .row > .col-sm-7 {
        flex-basis: calc(100% - 360px);
        max-width: calc(100% - 360px);
    }

    .checkoutBackground > .row > .col-md-4,
    .checkoutBackground > .row > .col-sm-5 {
        flex-basis: 360px;
        width: 360px !important;
        max-width: 360px;
    }
}

@media (max-width: 991px) {
    .checkoutBackground {
        padding-top: 10px;
    }

    .checkoutBackground:before {
        font-size: 24px;
    }

    .checkoutBackground > .row {
        display: block;
    }

    .checkoutBackground > .row > .col-md-8,
    .checkoutBackground > .row > .col-sm-7,
    .checkoutBackground > .row > .col-md-4,
    .checkoutBackground > .row > .col-sm-5 {
        float: none !important;
        width: 100% !important;
        max-width: 100%;
        padding-left: 12px;
        padding-right: 12px;
    }

    .checkoutBackground #checkoutBasket.checkout-basket {
        position: static;
        margin-bottom: 18px;
    }

    .checkoutBackground > .row > .col-md-4,
    .checkoutBackground > .row > .col-sm-5 {
        display: block;
    }
}

@media (max-width: 767px) {
    .checkoutBackground {
        padding-left: 0;
        padding-right: 0;
    }

    .checkoutBackground:before {
        margin-left: 12px;
        margin-right: 12px;
        padding: 18px;
        font-size: 22px;
    }

    .checkoutBackground .checkout .section-title,
    .checkoutBackground #checkout_carriage .section-title {
        float: none;
        display: block;
        width: 100%;
        padding: 14px 16px 8px;
    }

    .checkoutBackground .checkout .inlineContent {
        float: none;
        display: block;
        width: 100%;
        max-width: none;
        padding: 0 16px 14px;
        text-align: left;
    }

    .checkoutBackground .checkout .stepContainer,
    .checkoutBackground .checkout .stepInner {
        padding: 18px !important;
    }

    .checkoutBackground .checkout .form-horizontal .control-label,
    .checkoutBackground .checkout .control-label {
        display: block;
        width: 100%;
        padding-top: 0;
        margin-bottom: 6px;
        text-align: left;
    }

    .checkoutBackground .checkout .form-horizontal .col-sm-9,
    .checkoutBackground .checkout .form-horizontal .col-sm-3,
    .checkoutBackground .checkout .col-sm-9,
    .checkoutBackground .checkout .col-sm-3 {
        float: none !important;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .checkoutBackground .checkout .address-book .col-md-6 {
        width: 100% !important;
        max-width: 100%;
    }

    .checkoutBackground .checkout .buttons,
    .checkoutBackground .checkout .button,
    .checkoutBackground .checkout .continueBtn,
    .checkoutBackground .checkout .buttonsRight,
    .checkoutBackground .checkout .address-buttons {
        display: block;
        text-align: left;
    }

    .checkoutBackground .checkout .checkout-btn,
    .checkoutBackground .checkout input[type="submit"],
    .checkoutBackground .checkout button,
    .checkoutBackground .checkout .button a,
    .checkoutBackground .checkout .buttons a {
        display: block;
        width: 100%;
        margin-bottom: 10px;
    }
}

@media (max-width: 575px) {
    .checkoutBackground #checkoutBasket .hidden-xs {
        display: block !important;
    }

    .checkoutBackground #checkoutBasket .tbl-basket,
    .checkoutBackground #checkoutBasket .tbl-basket tbody,
    .checkoutBackground #checkoutBasket .tbl-basket tr,
    .checkoutBackground #checkoutBasket .tbl-basket td {
        display: block;
        width: 100% !important;
    }

    .checkoutBackground #checkoutBasket .tbl-basket th {
        display: none;
    }

    .checkoutBackground #checkoutBasket .tbl-basket td {
        text-align: left !important;
    }

    .checkoutBackground #checkoutBasket .tbl-basket .content {
        padding-top: 12px !important;
    }
}


/* =========================================================
   Checkout Postcode Lookup Fix
   Keeps AddressLookup results directly below postcode field
   ========================================================= */

.checkoutBackground .postcodeLookup,
.checkoutBackground .postcodeLookup2 {
    float: none !important;
    clear: both !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 0 0 !important;
    padding: 14px 16px !important;
    background: #fafafa;
    border: 1px solid #e5e5e5;
    border-left: 4px solid #7E122E;
}

/* Make sure the lookup control does not sit beside the postcode row */
.checkoutBackground .checkout .postcodeLookup,
.checkoutBackground .checkout .postcodeLookup2,
.checkoutBackground .checkout [id*="cyrAddLookup"],
.checkoutBackground .checkout [id*="cyrInvLookup"] {
    float: none !important;
    clear: both !important;
    display: block !important;
    width: 100% !important;
}

/* Search results list */
.checkoutBackground .selectAddress {
    float: none !important;
    clear: both !important;
    display: block !important;
    width: 100% !important;
    max-height: 220px;
    margin: 10px 0 0 0 !important;
    padding: 0 !important;
    overflow-y: auto;
    background: #ffffff;
    border: 1px solid #dcdcdc;
}

/* Remove awkward old list spacing */
.checkoutBackground .selectAddress ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

.checkoutBackground .selectAddress li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
    border-bottom: 1px solid #eeeeee;
}

.checkoutBackground .selectAddress li:nth-child(even) {
    background: #f7f7f7;
}

.checkoutBackground .selectAddress a {
    display: block;
    width: 100%;
    padding: 10px 12px;
    color: #222222;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}

.checkoutBackground .selectAddress a:hover {
    background: #7E122E;
    color: #ffffff;
    text-decoration: none;
}

/* No results message */
.checkoutBackground .checkout [id*="lblNoResultsContent"] {
    float: none !important;
    clear: both !important;
    display: block !important;
    width: 100% !important;
    margin: 10px 0 0 0 !important;
    padding: 12px 14px;
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-left: 4px solid #7E122E;
    color: #444444;
    font-size: 13px;
    font-weight: 700;
}

/* Keep postcode button aligned with postcode input */
.checkoutBackground .postcode-btn {
    padding-left: 0 !important;
}

.checkoutBackground .postcode-btn a,
.checkoutBackground [id*="butPostcodeLookup"] {
    display: inline-block;
    width: 100%;
    min-height: 40px;
    padding: 10px 14px !important;
    background: #7E122E !important;
    border: 0 !important;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4 !important;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none !important;
    text-shadow: none !important;
}

/* Ensure the row after postcode lookup starts below it */
.checkoutBackground .postcodeLookup:after,
.checkoutBackground .postcodeLookup2:after,
.checkoutBackground .selectAddress:after {
    content: "";
    display: block;
    clear: both;
}


.checkoutBackground #checkout_carriage .stepContainer,
.checkoutBackground #checkout_carriage .stepInner {
    padding: 24px !important;
    background: #ffffff !important;
}

.checkoutBackground #checkout_carriage .checkout-carriage-intro {
    margin: 0 0 20px;
    color: #333333;
    font-size: 14px;
    line-height: 1.5;
}

.checkoutBackground #checkout_carriage .checkout-carriage-options {
    margin: 0 0 24px;
    padding: 0;
    background: #ffffff;
}

/* Tidy rows rendered inside CarriageBasket.ascx */
.checkoutBackground #checkout_carriage .checkout-carriage-options .form-group {
    display: flex;
    align-items: center;
    margin: 0 0 12px;
}

.checkoutBackground #checkout_carriage .checkout-carriage-options label,
.checkoutBackground #checkout_carriage .checkout-carriage-options .control-label {
    flex: 0 0 180px;
    max-width: 180px;
    margin: 0;
    padding: 0 16px 0 0;
    color: #222222;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
}

.checkoutBackground #checkout_carriage .checkout-carriage-options select,
.checkoutBackground #checkout_carriage .checkout-carriage-options .form-control {
    width: 100%;
    min-height: 40px;
    border: 1px solid #d4d4d4;
    background-color: #ffffff;
    color: #222222;
    font-size: 14px;
    box-shadow: none;
}

/* If CarriageBasket renders as a table, this tidies that too */
.checkoutBackground #checkout_carriage .checkout-carriage-options table {
    width: 100%;
    border-collapse: collapse;
}

.checkoutBackground #checkout_carriage .checkout-carriage-options th,
.checkoutBackground #checkout_carriage .checkout-carriage-options td {
    padding: 7px 0;
    border: 0;
    color: #222222;
    font-size: 14px;
    vertical-align: middle;
}

.checkoutBackground #checkout_carriage .checkout-carriage-options th,
.checkoutBackground #checkout_carriage .checkout-carriage-options td:first-child {
    width: 180px;
    padding-right: 16px;
    font-weight: 700;
}

/* Delivery remarks as its own section */
.checkoutBackground #checkout_carriage .checkout-carriage-remarks {
    clear: both;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin: 8px 0 0;
}

.checkoutBackground #checkout_carriage .checkout-carriage-remarks label {
    margin: 8px 0 0;
    color: #222222;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
}

.checkoutBackground #checkout_carriage .checkout-carriage-remarks textarea {
    width: 100%;
    min-height: 92px;
    padding: 10px 12px;
    border: 1px solid #d4d4d4;
    background: #ffffff;
    color: #222222;
    font-size: 14px;
    resize: vertical;
    box-shadow: none;
}

.checkoutBackground #checkout_carriage .checkout-carriage-remarks textarea:focus {
    outline: 2px solid rgba(126, 18, 46, 0.16);
    border-color: #7E122E;
}

/* Continue button */
.checkoutBackground #checkout_carriage .checkout-carriage-buttons {
    clear: both;
    display: flex;
    justify-content: flex-end;
    margin: 22px 0 0;
    text-align: right;
}

.checkoutBackground #checkout_carriage .checkout-carriage-buttons .checkout-btn {
    display: inline-block;
    min-width: 150px;
    padding: 12px 22px;
    background: #7E122E !important;
    border: 0 !important;
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none !important;
    text-shadow: none !important;
}

.checkoutBackground #checkout_carriage .checkout-carriage-buttons .checkout-btn:hover {
    background: #222222 !important;
    color: #ffffff !important;
}

/* Mobile */
@media (max-width: 767px) {
    .checkoutBackground #checkout_carriage .checkout-carriage-options .form-group {
        display: block;
    }

    .checkoutBackground #checkout_carriage .checkout-carriage-options label,
    .checkoutBackground #checkout_carriage .checkout-carriage-options .control-label {
        display: block;
        max-width: none;
        margin-bottom: 6px;
        padding-right: 0;
    }

    .checkoutBackground #checkout_carriage .checkout-carriage-remarks {
        display: block;
    }

    .checkoutBackground #checkout_carriage .checkout-carriage-remarks label {
        display: block;
        margin: 0 0 6px;
    }

    .checkoutBackground #checkout_carriage .checkout-carriage-buttons {
        display: block;
    }

    .checkoutBackground #checkout_carriage .checkout-carriage-buttons .checkout-btn {
        display: block;
        width: 100%;
    }
}


/* Product code / stock card */
.product-meta-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-left: 5px solid #870a2c;
    border-radius: 1px;
    padding: 12px 16px;
    margin: 0 0 18px;
}

.product-meta-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
}

.product-meta-row + .product-meta-row {
    border-top: 1px solid #eeeeee;
}

.product-meta-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 50%;
    background: #f5e7ec;
    color: #870a2c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.product-meta-content {
    min-width: 0;
}

.product-meta-label {
    display: block;
    margin-bottom: 3px;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #777;
}

.product-meta-value {
    display: block;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    color: #111;
}

.product-code-value {
    letter-spacing: 0.02em;
    user-select: all;
}

/* Stock status pills */
.stock-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    white-space: normal;
}

.stock-pill--in,
.stock-pill--delivery {
    background: #e8f5ec;
    color: #1f7a3a;
}

.stock-pill--soon,
.stock-pill--low {
    background: #fff4df;
    color: #9a6500;
}

.stock-pill--out {
    background: #fdebea;
    color: #b42318;
}

.stock-pill--neutral {
    background: #eeeeee;
    color: #444;
}

@media (max-width: 767px) {
    .product-meta-card {
        margin-top: 15px;
        padding: 10px 14px;
    }

    .product-meta-row {
        align-items: flex-start;
    }

    .product-meta-value {
        font-size: 14px;
    }
}

/* Global product detail flow */
.productText {
    display: block;
}

.productText > .product-meta-card,
.productText > .product-section-card,
.productText > .accordion,
.productText + .purchase-card,
.purchase-card,
.variant-card,
.discount-card {
    margin-bottom: 16px;
}

/* Shared cards */
.product-section-card,
.purchase-card,
.product-detail-accordion,
.variant-card,
.discount-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-left: 5px solid #870a2c;
    border-radius: 1px;
}

.product-section-card,
.variant-card,
.discount-card {
    padding: 14px 16px;
}

.product-section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    color: #111;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.02em;
}


/* Product meta card */
.product-meta-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-left: 5px solid #870a2c;
    border-radius: 0px;
    padding: 12px 16px;
    margin: 0 0 16px;
}

.product-meta-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
}

.product-meta-row + .product-meta-row {
    border-top: 1px solid #eeeeee;
}

.product-meta-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 50%;
    background: #f5e7ec;
    color: #870a2c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.product-meta-label {
    display: block;
    margin-bottom: 3px;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #777;
}

.product-meta-value {
    display: block;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    color: #111;
    margin-top:5px;
}

.product-code-value {
    
    letter-spacing: 0.02em;
    user-select: all;
}

/* Stock pills */
.stock-pill {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 700;
    white-space: normal;
}

.stock-pill--in,
.stock-pill--delivery {
    background: #e8f5ec;
    color: #1f7a3a;
}

.stock-pill--soon,
.stock-pill--low {
    background: #fff4df;
    color: #9a6500;
}

.stock-pill--out {
    background: #fdebea;
    color: #b42318;
}

.stock-pill--neutral {
    background: #eeeeee;
    color: #444;
}

/* Bullet points */
.product-feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.product-feature-list li {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 8px 0;
    color: #333;
    font-size: 14px;
    line-height: 1.45;
}

.product-feature-list li + li {
    border-top: 1px solid #f0f0f0;
}


/* Purchase card */
.purchase-card {
    padding: 16px;
    margin: 0 0 16px;
}

.purchase-card-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.purchase-price-area {
    flex: 1;
    min-width: 0;
}

.purchase-actions-area {
    display: flex;
    align-items: center;
    gap: 10px;
}

.price-block {
    color: #111;
}

.price-was {
    display: block;
    color: #666;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 2px;
}

.price-was strike {
    color: #666;
}




.add-to-basket {
    padding: 0 20px;
    background: #d7bd6c;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    transition: all 0.2s ease;
}


.discount-matrix-wrapper .matrix-title {
    display: none;
}

.discount-matrix-wrapper .matrix,
#discountMatrix .matrix {
    width: 100%;
    margin: 0;
}

.discount-matrix-wrapper .matrix th,
.discount-matrix-wrapper .matrix td,
#discountMatrix .matrix th,
#discountMatrix .matrix td {
    padding: 8px 10px;
    border-top: 1px solid #eeeeee;
}

/* Variant options */
.variant-card .options {
    margin-bottom: 14px;
}

.variant-card select {
    min-height: 38px;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 6px 10px;
    background: #fff;
    color: #111;
    font-weight: 700;
}

.variantSelect {
    display: block;
    margin-bottom: 6px;
    color: #555;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

/* Additional image action buttons */

.product-action-link-col {
    margin-bottom: 0;
}

.product-action-link {
    min-height: 44px;
    background: #fbf7f9;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 10px;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    text-decoration: none !important;
    transition: all 0.2s ease;
}

.product-action-link i {
    font-size: 14px;
}

.product-action-link:hover,
.product-action-link:focus {
    background: #f5e7ec;
    border-color: #d6b9c3;
    color: #870a2c !important;
    text-decoration: none !important;
}

/* Accordion */
.product-detail-accordion {
    overflow: hidden;
    padding: 0;
    margin-top: 16px;
}

.product-detail-accordion .product-accordion-panel {
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
}

.product-detail-accordion .product-accordion-panel + .product-accordion-panel {
    border-top: 1px solid #eeeeee;
}

.product-accordion-button {
    width: 100%;
    min-height: 50px;
    border: 0;
    background: #fff;
    color: #111;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    font-size: 14px;
    text-align: left;
    text-transform: none;
    outline: none;
}

.product-accordion-button:hover,
.product-accordion-button:focus {
    background: #fbf7f9;
    color: #870a2c;
    outline: none;
}

.product-accordion-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.product-accordion-title i {
    width: 28px;
    height: 28px;
    min-width: 28px;

    color: #870a2c;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}

.product-accordion-body {
    padding: 0 16px 16px;
    color: #333;
    font-size: 14px;
    line-height: 1.55;
}

.product-accordion-body p {
    margin: 0;
}

.specification-content span span,
.specification-content p span span {
    font-weight: 800;
    color: #111;
}

.product-download-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.product-download-list li {
    margin-bottom: 8px;
}

.product-download-list a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #870a2c;
    font-weight: 800;
}

.kit-intro {
    margin: 0 0 10px !important;
    color: #555;
    font-weight: 700;
}

/* Free gift */
.freeGift {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-left: 5px solid #d7bd6c;
    border-radius: 10px;
    padding: 14px;
    margin: 0 0 16px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.freeGift h2 {
    margin-top: 0;
    color: #870a2c;
    font-size: 16px;
    font-weight: 900;
}

.freeGiftName a {
    color: #111;
    font-weight: 800;
}

/* Mobile */
@media (max-width: 767px) {
    .product-meta-card,
    .product-section-card,
    .purchase-card,
    .product-detail-accordion {
        margin-bottom: 14px;
    }

    .purchase-card-main {
        display: block;
    }

    .purchase-price-area {
        margin-bottom: 14px;
    }

    .purchase-actions-area {
        display: grid;
        grid-template-columns: 48px 1fr;
        gap: 8px;
        align-items: center;
    }

    .purchase-actions-area .qty-label {
        grid-column: 1 / 3;
    }

    .purchase-actions-area .add-to-basket {
        width: 100%;
    }

    .price-current {
        font-size: 24px;
    }

    .product-action-link-col {
        margin-bottom: 8px;
    }

    .product-action-link-col:last-child {
        margin-bottom: 0;
    }

    .product-meta-row {
        align-items: flex-start;
    }

    .product-meta-value {
        font-size: 14px;
    }
}

.product-bullets-heading {
    margin: 0 0 10px;
    color: #111;
    font-size: 16px;
    line-height: 1.3;
    font-weight: bolder;
}

.simple-feature-list {
    margin: 0;
    padding-left: 20px;
}

.simple-feature-list li {
    display: list-item;
    padding: 5px 0;
    border-top: 0;
    color: #333;
    font-size: 14px;
    line-height: 1.45;
}

.simple-feature-list li::marker {
    color: #870a2c;
}

/* Checkout summary wrapper */
.checkout-summary-wrapper {
    width: 100%;
}

/* Main card */
.checkout-summary-card {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #e4e4e4;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
}

/* Header */
.checkout-summary-header {
    background: #870a2c;
    color: #fff;
    padding: 16px 18px;
}

.checkout-summary-header h2 {
    margin: 0;
    color: #fff;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 900;
}

/* Body */

/* Basket item table */
.checkout-items-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.checkout-items-table thead th {
    background: #f6f6f6;
    color: #111;
    border: 1px solid #e2e2e2;
    padding: 10px 8px;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 900;
    text-align: left;
}

.checkout-items-table tbody td {
    border-bottom: 1px solid #eeeeee;
    padding: 14px 8px;
    color: #111;
    font-size: 13px;
    line-height: 1.35;
    vertical-align: top;
}

.checkout-items-table .productInformation,
.checkout-items-table .product-cell {
    width: 44%;
}

.checkout-items-table .price-col {
    width: 20%;
}

.checkout-items-table .qty-col {
    width: 14%;
    text-align: center;
}

.checkout-items-table .total-col {
    width: 22%;
    text-align: right;
    font-weight: 800;
}

.checkout-product-name a {
    color: #111;
    text-decoration: none;
}

.checkout-product-name a:hover {
    color: #870a2c;
    text-decoration: underline;
}

.checkout-variant-info {
    margin-top: 5px;
    color: #555;
    font-size: 12px;
}

.checkout-variant-info span {
    display: block;
}

/* Totals */
.checkout-totals-section {
    margin-top: 18px;
    padding-top: 4px;
}

.checkout-totals-table {
    width: 100%;
    margin: 0 0 16px;
    border-collapse: collapse;
}

.checkout-totals-table th,
.checkout-totals-table td {
    padding: 11px 6px;
    border-bottom: 1px solid #eeeeee;
    color: #111;
    font-size: 14px;
    line-height: 1.3;
}

.checkout-totals-table th {
    font-weight: 800;
    text-align: left;
}

.checkout-totals-table td {
    text-align: right;
    font-weight: 800;
}

.checkout-totals-table .grand-total-row th,
.checkout-totals-table .grand-total-row td {
    border-bottom: 0;
    padding-top: 14px;
    color: #870a2c;
    font-size: 16px;
    font-weight: 900;
}

/* Return button */
.returnToBasket {
    width: 100%;
    min-height: 44px;
    border-radius: 6px;
    background: #222;
    color: #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 11px 14px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    transition: all 0.2s ease;
}

.returnToBasket:hover,
.returnToBasket:focus {
    background: #870a2c;
    color: #fff !important;
    text-decoration: none !important;
}

/* Secure message */
.secure-message {
    margin-top: 14px;
    background: #fbf7f9;
    border: 1px solid #ead9df;
    border-left: 5px solid #870a2c;
    border-radius: 6px;
    padding: 12px 14px;
    color: #222;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 700;
}

.secure-icon {
    color: #870a2c;
    font-size: 14px;
    line-height: 1.2;
    margin-top: 1px;
}

/* Clean up old basket styling bleeding through */
.checkout-summary-card .leftHead,
.checkout-summary-card .rightHead,
.checkout-summary-card .leftItem,
.checkout-summary-card .rightItem,
.checkout-summary-card .productSpacer {
    display: none !important;
}

.checkout-summary-card img[src*="1x1.gif"] {
    display: none !important;
}

/* Narrow checkout panel adjustments */
@media (max-width: 520px) {
    .checkout-summary-body {
        padding: 14px;
    }

    .checkout-items-table thead th {
        padding: 8px 6px;
        font-size: 11px;
    }

    .checkout-items-table tbody td {
        padding: 12px 6px;
        font-size: 12px;
    }

    .checkout-product-name a {
        font-size: 12px;
    }

    .checkout-variant-info {
        font-size: 11px;
    }

    .checkout-totals-table th,
    .checkout-totals-table td {
        font-size: 13px;
    }

    .checkout-totals-table .grand-total-row th,
    .checkout-totals-table .grand-total-row td {
        font-size: 15px;
    }
}

/* Variant selector inside product meta card */
.variant-selector-mount {
    display: block;
}

.product-meta-separator {
    height: 1px;
    background: #eeeeee;
    margin: 12px 0 0;
}

.product-variant-row {
    display: block;
    padding: 14px 0 4px;
}

.product-variant-content {
    width: 100%;
}

.product-variant-content .product-meta-label {
    margin-bottom: 8px;
}

.variant-options {
    display: block;
}

.variant-options select {
    width: 100%;
    min-height: 40px;
    border: 1px solid #dddddd;
    border-radius: 6px;
    background: #ffffff;
    color: #111111;
    padding: 7px 10px;
    font-size: 14px;
    box-shadow: none;
}

.variant-options select + select {
    margin-top: 8px;
}

.variant-options label,
.variant-options span:not(.variantSelect) {
    display: block;
    margin-bottom: 5px;
    color: #555555;
    font-size: 12px;
    font-weight: 800;
}

/* Hide any old Choose Options card styling if still present */
.variant-card .product-section-heading {
    display: none;
}

.product-variant-content .variant-options {
    display: flex;
    align-items: center;
    gap: 16px;
}

.product-variant-content .variant-options label,
.product-variant-content .variant-options span {
    margin-right: 10px;
}

.product-variant-content .variant-options select {
    margin-left: 10px;
    min-width: 170px;
}


/* Continue Shopping - secondary but still prominent */
.basket-btn.btn-secondary,
#butContinue,
a[id$="butContinue"] {
    background: #222222 !important;
    color: #ffffff !important;
    width: 100%;
    margin-top: 12px;
}


/* Basket action layout */
.full-basket-totals + .clear + .basket-btn,
.full-basket-totals ~ .basket-btn,
.full-basket-totals ~ a.basket-btn {
    width: 100%;
}

/* Make checkout button full width on basket totals */
.large-submit.basket-btn,
a.large-submit {
    width: 100%;
    margin-top: 18px;
    margin-bottom: 0;
}

/* Icon spacing */
.add-to-basket i,
.large-submit i,
.basket-btn i {
    font-size: 15px;
}

/* Mobile */
@media (max-width: 767px) {
    .add-to-basket,
    .basket-btn,
    .large-submit,
    .returnToBasket {
        width: 100%;
        font-size: 13px;
    }
}

/* Login page */
.account-login-page,
.account-login-page * {
    border-radius: 0 !important;
}

.account-login-page {
    padding: 42px 15px 70px;
    background: #f3f3f3;
}

.account-login-wrap {
    max-width: 1180px;
    margin: 0 auto;
}

.account-login-header {
    margin-bottom: 24px;
}

.account-login-kicker {
    display: block;
    margin-bottom: 8px;
    color: #870a2c;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.account-login-header h1 {
    margin: 0 0 8px;
    color: #111;
    font-size: 34px;
    line-height: 1.15;
    font-weight: 900;
}

.account-login-header p {
    margin: 0;
    color: #555;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 600;
}

.account-login-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, 0.6fr);
    gap: 24px;
    align-items: stretch;
}

.account-login-card {
    background: #fff;
    border: 1px solid #e1e1e1;
    border-left: 5px solid #870a2c;
    padding: 26px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
}

.account-card-title {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid #eeeeee;
}

.account-card-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    background: #f5e7ec;
    color: #870a2c;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.account-card-title h2 {
    margin: 0 0 4px;
    color: #111;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 900;
}

.account-card-title p {
    margin: 0;
    color: #666;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 600;
}

/* Login control cleanup */
.login-form-card table {
    width: 100%;
}

.login-form-card label,
.login-form-card td,
.login-form-card span {
    color: #333;
    font-size: 13px;
    line-height: 1.4;
}

.login-form-card input[type="text"],
.login-form-card input[type="password"],
.login-form-card input[type="email"],
.login-form-card select {
    width: 100% !important;
    height: 44px;
    border: 1px solid #d9d9d9;
    background: #fff;
    color: #111;
    padding: 9px 12px;
    font-size: 14px;
    font-weight: 600;
    box-shadow: none;
}

.login-form-card input[type="text"]:focus,
.login-form-card input[type="password"]:focus,
.login-form-card input[type="email"]:focus,
.login-form-card select:focus {
    border-color: #870a2c;
    outline: none;
    box-shadow: 0 0 0 2px rgba(135, 10, 44, 0.12);
}

.login-form-card input[type="submit"],
.login-form-card input[type="button"],
.login-form-card button,
.login-form-card .btn,
.login-form-card a[id*="Login"],
.login-form-card a[id*="Register"] {
    min-height: 44px;
    border: 0 !important;
    background: #870a2c !important;
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    margin: 10px 8px 0 0;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-decoration: none !important;
    box-shadow: 0 5px 0 rgba(0, 0, 0, 0.18);
    transition: all 0.18s ease;
}

.login-form-card input[type="submit"]:hover,
.login-form-card input[type="button"]:hover,
.login-form-card button:hover,
.login-form-card .btn:hover,
.login-form-card a[id*="Login"]:hover,
.login-form-card a[id*="Register"]:hover {
    background: #6f0824 !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 7px 0 rgba(0, 0, 0, 0.22);
}

/* Secondary register button if rendered beside login */
.login-form-card input[value="Register"],
.login-form-card a[id*="Register"] {
    background: #222 !important;
}

.login-form-card input[value="Register"]:hover,
.login-form-card a[id*="Register"]:hover {
    background: #870a2c !important;
}

/* Forgotten password link */
.login-form-card a {
    color: #870a2c;
    font-weight: 800;
    text-decoration: none;
}

.login-form-card a:hover {
    color: #6f0824;
    text-decoration: underline;
}

/* Right information card */
.account-help-card {
    background: #222;
    border-left-color: #d7bd6c;
    color: #fff;
}

.account-help-card .account-card-title {
    border-bottom-color: rgba(255, 255, 255, 0.15);
}

.account-help-card .account-card-icon {
    background: #d7bd6c;
    color: #111;
}

.account-help-card h2,
.account-help-card .account-card-title p {
    color: #fff;
}

.account-benefits {
    list-style: none;
    margin: 0;
    padding: 0;
}

.account-benefits li {
    position: relative;
    padding: 11px 0 11px 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
}

.account-benefits li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 17px;
    width: 8px;
    height: 8px;
    background: #d7bd6c;
}

.account-secure-note {
    margin-top: 20px;
    padding: 14px;
    background: rgba(255, 255, 255, 0.08);
    border-left: 4px solid #d7bd6c;
    display: flex;
    gap: 10px;
    align-items: center;
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 800;
}

.account-secure-note i {
    color: #d7bd6c;
}

/* Mobile */
@media (max-width: 991px) {
    .account-login-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .account-login-page {
        padding: 28px 12px 50px;
    }

    .account-login-header h1 {
        font-size: 26px;
    }

    .account-login-card {
        padding: 20px;
    }

    .account-card-title {
        display: block;
    }

    .account-card-icon {
        margin-bottom: 12px;
    }

    .login-form-card input[type="submit"],
    .login-form-card input[type="button"],
    .login-form-card button,
    .login-form-card .btn {
        width: 100%;
        margin-right: 0;
    }
}

/* Login page typography reset - do not override icon fonts */
.account-login-page {
    font-family: inherit;
    border-radius: 0 !important;
}

/* Fix FontAwesome icons inside login page */
.account-login-page i.fa,
.account-login-page i.fas,
.account-login-page i.far,
.account-login-page i.fab,
.account-login-page i.fa-solid {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
}

.account-login-page * {
    border-radius: 0 !important;
}

.account-login-kicker {
    color: #870a2c;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.account-login-header h1 {
    margin: 0 0 8px;
    color: #111;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 500;
}

.account-login-header p {
    margin: 0;
    color: #444;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}

.account-card-title h2 {
    margin: 0 0 4px;
    color: #111;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 500;
}

.account-card-title p {
    margin: 0;
    color: #555;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 400;
}

.login-form-card label,
.login-form-card td,
.login-form-card span {
    color: #222;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 400;
}

/* Less heavy card title icons */
.account-card-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    background: #f5e7ec;
    color: #870a2c;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

/* Inputs */
.login-form-card input[type="text"],
.login-form-card input[type="password"],
.login-form-card input[type="email"],
.login-form-card select {
    width: 100% !important;
    height: 42px;
    border: 1px solid #d5d5d5;
    background: #fff;
    color: #111;
    padding: 8px 10px;
    font-size: 14px;
    font-weight: 400;
    box-shadow: none;
}

/* Buttons - still clear, but not overly bold */
.login-form-card input[type="submit"],
.login-form-card input[type="button"],
.login-form-card button,
.login-form-card .btn,
.login-form-card a[id*="Login"],
.login-form-card a[id*="Register"] {
    min-height: 40px;
    border: 0 !important;
    background: #870a2c !important;
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    margin: 10px 8px 0 0;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    box-shadow: none;
    transition: background 0.18s ease, color 0.18s ease;
}

.login-form-card input[type="submit"]:hover,
.login-form-card input[type="button"]:hover,
.login-form-card button:hover,
.login-form-card .btn:hover,
.login-form-card a[id*="Login"]:hover,
.login-form-card a[id*="Register"]:hover {
    background: #6f0824 !important;
    color: #fff !important;
    transform: none;
    box-shadow: none;
}

/* Forgotten password button/link */
.login-form-card a {
    color: #870a2c;
    font-weight: 500;
    text-decoration: none;
}

.login-form-card a:hover {
    color: #6f0824;
    text-decoration: underline;
}

/* Right card - less shouty */
.account-help-card {
    background: #222;
    border-left-color: #d7bd6c;
    color: #fff;
}

.account-help-card .account-card-title h2 {
    color: #fff;
    font-size: 20px;
    font-weight: 500;
}

.account-help-card .account-card-title p {
    color: #fff;
    font-weight: 400;
}

.account-benefits li {
    position: relative;
    padding: 11px 0 11px 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 400;
}

.account-benefits li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 17px;
    width: 7px;
    height: 7px;
    background: #d7bd6c;
}

.account-secure-note {
    margin-top: 20px;
    padding: 14px;
    background: rgba(255, 255, 255, 0.08);
    border-left: 4px solid #d7bd6c;
    display: flex;
    gap: 10px;
    align-items: center;
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 400;
}

/* Wish list page */
.wishlist-page,
.wishlist-page * {
    border-radius: 0 !important;
}

.wishlist-page {
    background: #f3f3f3;
    padding-bottom: 60px;
}

/* Header */
.wishlist-header {
    margin: 28px 0 22px;
}

.wishlist-kicker {
    display: block;
    margin-bottom: 7px;
    color: #870a2c;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.wishlist-header h1 {
    margin: 0 0 8px;
    color: #111;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 500;
}

.wishlist-header p {
    margin: 0;
    color: #444;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}

/* Main card */
.wishlist-card {
    background: #fff;
    border: 1px solid #dedede;
    border-left: 5px solid #870a2c;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
}

.wishlist-card-header {
    padding: 24px 28px 18px;
    border-bottom: 1px solid #eeeeee;
}

.wishlist-card-header h2 {
    margin: 0 0 6px;
    color: #111;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 500;
}

.wishlist-card-header p {
    margin: 0;
    color: #555;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 400;
}

/* Table */
.wishlist-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    background: #fff;
}

.wishlist-table thead th {
    padding: 13px 18px;
    background: #f7f7f7;
    border-bottom: 1px solid #e2e2e2;
    color: #222;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.wishlist-table tbody td {
    padding: 20px 18px;
    border-bottom: 1px solid #eeeeee;
    color: #222;
    font-size: 14px;
    line-height: 1.4;
    vertical-align: middle;
}

.wishlist-table tbody tr:last-child td {
    border-bottom: 0;
}

.wishlist-product-col {
    width: 65%;
}

.wishlist-price-col {
    width: 18%;
    font-weight: 500;
}

.wishlist-action-col {
    width: 17%;
    text-align: right;
}

.wishlist-product-info h3 {
    margin: 0 0 6px;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 500;
}

.wishlist-product-info h3 a {
    color: #111;
    text-decoration: none;
}

.wishlist-product-info h3 a:hover {
    color: #870a2c;
    text-decoration: underline;
}

.wishlist-product-code {
    display: block;
    color: #666;
    font-size: 13px;
    line-height: 1.4;
}

.wishlist-mobile-price {
    margin-top: 8px;
    color: #222;
    font-size: 13px;
}

/* Remove button */
.wishlist-remove-btn {
    min-height: 38px;
    padding: 10px 14px;
    background: #222;
    color: #fff !important;
    border: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    transition: background 0.18s ease, color 0.18s ease;
}

.wishlist-remove-btn:hover,
.wishlist-remove-btn:focus {
    background: #870a2c;
    color: #fff !important;
    text-decoration: none !important;
}

.wishlist-remove-btn i {
    font-size: 13px;
}

/* Bottom actions */
.wishlist-actions {
    margin: 22px 0 50px;
    text-align: right;
}

.wishlist-continue-btn {
    min-height: 46px;
    padding: 13px 24px;
    background: #870a2c !important;
    color: #fff !important;
    border: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    box-shadow: none;
}

.wishlist-continue-btn:hover,
.wishlist-continue-btn:focus {
    background: #6f0824 !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* Empty state */
.wishlist-empty-card {
    max-width: 720px;
    margin: 36px auto 70px;
    padding: 38px 34px;
    background: #fff;
    border: 1px solid #dedede;
    border-left: 5px solid #870a2c;
    text-align: center;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
}

.wishlist-empty-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 18px;
    background: #f5e7ec;
    color: #870a2c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.wishlist-empty-card h2 {
    margin: 0 0 8px;
    color: #111;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 500;
}

.wishlist-empty-card p {
    max-width: 520px;
    margin: 0 auto 22px;
    color: #555;
    font-size: 14px;
    line-height: 1.5;
}

/* Mobile */
@media (max-width: 767px) {
    .wishlist-header {
        margin-top: 22px;
    }

    .wishlist-header h1 {
        font-size: 26px;
    }

    .wishlist-card-header {
        padding: 20px;
    }

    .wishlist-table thead {
        display: none;
    }

    .wishlist-table,
    .wishlist-table tbody,
    .wishlist-table tr,
    .wishlist-table td {
        display: block;
        width: 100%;
    }

    .wishlist-table tbody tr {
        padding: 18px 20px;
        border-bottom: 1px solid #eeeeee;
    }

    .wishlist-table tbody td {
        padding: 0;
        border-bottom: 0;
    }

    .wishlist-product-col,
    .wishlist-price-col,
    .wishlist-action-col {
        width: 100%;
        text-align: left;
    }

    .wishlist-action-col {
        margin-top: 14px;
    }

    .wishlist-remove-btn,
    .wishlist-continue-btn {
        width: 100%;
    }

    .wishlist-actions {
        text-align: left;
    }

    .wishlist-empty-card {
        margin: 24px 0 50px;
        padding: 28px 22px;
    }
}

/* Wish list column alignment */
.wishlist-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.wishlist-table th,
.wishlist-table td {
    vertical-align: middle;
}

/* Product column */
.wishlist-table .wishlist-product-col,
.wishlist-table th:nth-child(1),
.wishlist-table td:nth-child(1) {
    width: 65%;
    text-align: left !important;
}

/* Price column */
.wishlist-table .wishlist-price-col,
.wishlist-table th:nth-child(2),
.wishlist-table td:nth-child(2) {
    width: 18%;
    text-align: left !important;
}

/* Action column */
.wishlist-table .wishlist-action-col,
.wishlist-table th:nth-child(3),
.wishlist-table td:nth-child(3) {
    width: 17%;
    text-align: center !important;
}

/* Stop product text being centred by older basket styles */
.wishlist-product-info,
.wishlist-product-info h3,
.wishlist-product-info h3 a,
.wishlist-product-code {
    text-align: left !important;
    padding-left: 5px;
}

/* Keep remove button centred under Action */
.wishlist-action-col .wishlist-remove-btn {
    margin: 0 auto;
}

/* Confirm terms section */
.terms-form-group,
.terms-form-group * {
    border-radius: 0 !important;
}

.terms-confirmation-box {
    margin: 18px 0 22px;
    padding: 16px 18px;
    background: #fbfbfb;
    border: 1px solid #e2e2e2;
    border-left: 5px solid #870a2c;
}

.terms-check-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.terms-checkbox {
    display: inline-block;
    margin-top: 2px;
}

.terms-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
}

.terms-copy {
    flex: 1;
    color: #222;
    font-size: 14px;
    line-height: 1.45;
}

.terms-main-text {
    margin-bottom: 7px;
}

.terms-main-text strong {
    font-weight: 600;
}

.terms-link-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    color: #666;
    font-size: 13px;
}

.terms-link-row a {
    color: #870a2c;
    font-weight: 600;
    text-decoration: none;
}

.terms-link-row a:hover,
.terms-link-row a:focus {
    color: #6f0824;
    text-decoration: underline;
}

.terms-divider {
    color: #aaa;
}

@media (max-width: 767px) {
    .terms-confirmation-box {
        padding: 14px;
    }

    .terms-check-row {
        gap: 10px;
    }

    .terms-link-row {
        display: block;
    }

    .terms-divider {
        display: none;
    }

    .terms-link-row a {
        display: block;
        margin-top: 5px;
    }
}

/* Checkout section states */
.checkoutBackground .checkout .stepHeaderDisabled,
.checkoutBackground .checkout .stepHeaderCompletedDisabled,
.checkoutBackground #checkout_carriage .stepHeaderDisabled,
.checkoutBackground #checkout_carriage .stepHeaderCompletedDisabled {
    background: #eeeeee !important;
    border-left: 5px solid #adacac !important;
    color: #777777 !important;
}

.checkoutBackground .checkout .stepHeaderDisabled .section-title,
.checkoutBackground .checkout .stepHeaderCompletedDisabled .section-title,
.checkoutBackground #checkout_carriage .stepHeaderDisabled .section-title,
.checkoutBackground #checkout_carriage .stepHeaderCompletedDisabled .section-title {
    color: #777777 !important;
}

/* Only active/current sections should be black */
.checkoutBackground .checkout .stepHeader {
    background: #222222 !important;
    border-left: 5px solid #7E122E !important;
    color: #ffffff !important;
}

.checkoutBackground .checkout .stepHeader .section-title {
    color: #ffffff !important;
}

/* Basket page */
.basket-page,
.basket-page * {
    border-radius: 0 !important;
}

.basket-page {
    background: #f3f3f3;
    padding-bottom: 60px;
}

.basket-page-header {
    margin: 28px 0 22px;
}

.basket-kicker {
    display: block;
    margin-bottom: 7px;
    color: #870a2c;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.basket-page-header h1 {
    margin: 0 0 8px;
    color: #111;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 500;
}

.basket-page-header p {
    margin: 0;
    color: #444;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}

/* Notice */
.basket-notice {
    margin: 0 0 16px;
    padding: 13px 16px;
    background: #d8f0dc;
    border: 1px solid #b9dfc0;
    color: #145322;
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 14px;
}

.basket-notice i {
    color: #145322;
}

/* Basket card */
.basket-card {
    background: #fff;
    border: 1px solid #dedede;
    border-left: 5px solid #870a2c;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
}

.basket-card-header {
    padding: 24px 28px 18px;
    border-bottom: 1px solid #eeeeee;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.basket-card-header h2 {
    margin: 0 0 6px;
    color: #111;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 500;
}

.basket-card-header p {
    margin: 0;
    color: #555;
    font-size: 13px;
    line-height: 1.5;
}

/* Table */
.basket-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
}

.basket-table thead th {
    padding: 13px 14px;
    background: #f7f7f7;
    border-bottom: 1px solid #e2e2e2;
    color: #222;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.basket-table tbody td {
    padding: 18px 14px;
    border-bottom: 1px solid #eeeeee;
    color: #222;
    font-size: 14px;
    line-height: 1.4;
    vertical-align: middle;
}

.basket-table tbody tr:last-child td {
    border-bottom: 0;
}

.basket-image-col {
    width: 110px;
    text-align: center !important;
}

.basket-image-col img {
    max-width: 85px;
    max-height: 85px;
    display: inline-block;
}

.basket-product-col {
    width: auto;
    text-align: left !important;
}

.basket-stock-col {
    width: 115px;
}

.basket-price-col,
.basket-total-col {
    width: 95px;
    font-weight: 500;
}

.basket-qty-col {
    width: 120px;
    text-align: center !important;
}

.basket-remove-col {
    width: 60px;
    text-align: center !important;
}

.basket-product-info h3 {
    margin: 0 0 6px;
    color: #111;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 500;
}

.basket-product-info h3 a {
    color: #111;
    text-decoration: none;
}

.basket-product-info h3 a:hover {
    color: #870a2c;
    text-decoration: underline;
}

.basket-product-code,
.basket-product-meta {
    display: block;
    color: #666;
    font-size: 13px;
    line-height: 1.4;
}

.basket-personalisation {
    margin-top: 8px;
    color: #555;
    font-size: 13px;
}

.basket-personalisation span {
    display: block;
}

.kitItemsBasket {
    margin-top: 8px;
    color: #555;
    font-size: 13px;
}

.kitItem {
    display: block;
    width: auto;
    margin-top: 3px;
}

/* Qty */
.basket-qty {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.basket-qty input[type="button"] {
    width: 34px;
    height: 34px;
    border: 1px solid #d5d5d5;
    background: #222;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    font-weight: 600;
    cursor: pointer;
}

.basket-qty input[type="button"]:hover,
.basket-qty input[type="button"]:focus {
    background: #870a2c;
    color: #fff;
}

.basket-qty .miniqty {
    width: 42px;
    height: 34px;
    border: 1px solid #d5d5d5;
    border-left: 0;
    border-right: 0;
    background: #fff;
    color: #111;
    text-align: center;
    font-size: 14px;
    box-shadow: none;
}

/* Remove / empty */
.basket-remove-btn {
    width: 34px;
    height: 34px;
    background: #222;
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
}

.basket-remove-btn:hover,
.basket-remove-btn:focus {
    background: #870a2c;
    color: #fff !important;
    text-decoration: none !important;
}

.basket-empty-btn {
    min-height: 36px;
    padding: 10px 14px;
    background: #222;
    color: #fff !important;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none !important;
}

.basket-empty-btn:hover,
.basket-empty-btn:focus {
    background: #870a2c;
    color: #fff !important;
    text-decoration: none !important;
}

/* Stock */
.in-stock {
    color: #145322;
    font-weight: 600;
}

.no-stock {
    color: #870a2c;
    font-weight: 600;
}

/* Bottom grid */
.basket-bottom-grid {
    margin: 24px 0 55px;
    display: grid;
    grid-template-columns: 1fr 1fr 360px;
    gap: 20px;
    align-items: stretch;
}

.basket-panel {
    background: #fff;
    border: 1px solid #dedede;
    border-left: 5px solid #870a2c;
    padding: 22px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
}

.basket-panel h2 {
    margin: 0 0 16px;
    color: #111;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 500;
}

.basket-field-row {
    margin-bottom: 12px;
}

.basket-field-row label {
    display: block;
    margin: 0 0 5px;
    color: #222;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 600;
}

.basket-field-row input,
.basket-field-row select,
.basket-discount-fields input[type="text"],
.basket-discount-fields .discount-input {
    width: 100% !important;
    height: 40px;
    border: 1px solid #d5d5d5;
    background: #fff;
    color: #111;
    padding: 8px 10px;
    font-size: 14px;
    line-height: 1.2;
    box-shadow: none;
}

.basket-delivery-options {
    margin-top: 12px;
    color: #333;
    font-size: 13px;
    line-height: 1.5;
}

.basket-delivery-options label {
    margin-left: 6px;
    font-weight: 400;
}

.basket-discount-fields {
    display: flex;
    gap: 8px;
}

.basket-discount-fields .discount-input {
    flex: 1;
}

.discount-button {
    min-height: 40px;
    padding: 10px 16px;
    border: 0 !important;
    background: #222 !important;
    color: #fff !important;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.discount-button:hover,
.discount-button:focus {
    background: #870a2c !important;
    color: #fff !important;
}

/* Totals */
.full-basket-totals {
    margin-bottom: 18px;
}

.full-basket-totals .totals {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 8px 0;
    border-bottom: 1px solid #eeeeee;
    color: #333;
    font-size: 14px;
    line-height: 1.35;
}

.full-basket-totals .totals span {
    font-weight: 600;
    color: #111;
}

.full-basket-totals .basket-saving-total span {
    color: #870a2c;
}

.full-basket-totals .total {
    margin-top: 6px;
    padding-top: 12px;
    border-bottom: 0;
    color: #111;
    font-size: 17px;
    font-weight: 600;
}

.full-basket-totals .total span {
    color: #870a2c;
}

/* Buttons */
.basket-btn {
    min-height: 46px;
    padding: 13px 18px;
    border: 0 !important;
    background: #870a2c !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    box-shadow: none;
}

.basket-btn:hover,
.basket-btn:focus {
    background: #6f0824 !important;
    color: #fff !important;
    text-decoration: none !important;
}

.basket-secondary-btn {
    background: #222 !important;
}

.basket-secondary-btn:hover,
.basket-secondary-btn:focus {
    background: #870a2c !important;
}

/* Empty state */
.basket-empty-card {
    max-width: 720px;
    margin: 36px auto 70px;
    padding: 38px 34px;
    background: #fff;
    border: 1px solid #dedede;
    border-left: 5px solid #870a2c;
    text-align: center;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
}

.basket-empty-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 18px;
    background: #f5e7ec;
    color: #870a2c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.basket-empty-card h2 {
    margin: 0 0 8px;
    color: #111;
    font-size: 24px;
    line-height: 1.25;
    font-weight: 500;
}

.basket-empty-card p {
    max-width: 520px;
    margin: 0 auto 22px;
    color: #555;
    font-size: 14px;
    line-height: 1.5;
}

/* PayPal strip */
.basket-paypal-strip {
    background: #222;
    color: #fff;
    padding: 16px 0;
}

.basket-paypal-strip h4 {
    margin: 0;
    color: #fff;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 400;
}

.basket-paypal-strip h4 span {
    color: #d7bd6c;
    font-weight: 600;
}

/* Mobile */
@media (max-width: 1199px) {
    .basket-bottom-grid {
        grid-template-columns: 1fr 1fr;
    }

    .basket-summary-panel {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .basket-page-header h1 {
        font-size: 26px;
    }

    .basket-card-header {
        padding: 20px;
        display: block;
    }

    .basket-empty-btn {
        width: 100%;
        margin-top: 14px;
    }

    .basket-table,
    .basket-table tbody,
    .basket-table tr,
    .basket-table td {
        display: block;
        width: 100%;
    }

    .basket-table thead {
        display: none;
    }

    .basket-table tbody tr {
        padding: 18px 20px;
        border-bottom: 1px solid #eeeeee;
    }

    .basket-table tbody td {
        padding: 0;
        border-bottom: 0;
    }

    .basket-remove-col {
        margin-top: 14px;
        text-align: left !important;
    }

    .basket-remove-btn {
        width: 100%;
    }

    .basket-mobile-summary {
        margin-top: 12px;
        display: block !important;
    }

    .basket-mobile-summary .basket-qty {
        margin: 7px 0 10px;
    }

    .basket-bottom-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .basket-panel {
        padding: 20px;
    }

    .basket-discount-fields {
        display: block;
    }

    .discount-button {
        width: 100%;
        margin-top: 8px;
    }

    .basket-empty-card {
        margin: 24px 0 50px;
        padding: 28px 22px;
    }
}

@media only screen and (min-width: 1025px) {

    #menu-bar,
    #menu-bar .inner-wrapper,
    #menu-bar ul.top-level,
    #menu-bar ul.top-level > li {
        height: 56px;
    }

    #menu-bar ul.top-level > li > a.topLevelCat {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 56px;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        box-sizing: border-box;
        line-height: 16px;
    }

    #menu-bar ul.top-level > li:hover > a.topLevelCat,
    #menu-bar ul.top-level > li.active > a.topLevelCat {
        height: 56px;
        background-color: #d4d4d8;
        color: #8d002b;
    }

    #menu-bar ul.top-level > li > .sub-menu-content-wrapper {
        top: 56px;
    }
}

@media only screen and (min-width: 1025px) {
    #menu-bar ul.top-level > li > .sub-menu-content-wrapper {
        top: calc(100% - 1px) !important;
    }
}

iframe[src*="PaypalProcessing.aspx"] {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
}

.payment-processing-overlay {
    display: none;
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    z-index: 2147483647;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(255, 255, 255, 0.78);
    cursor: wait;
    pointer-events: auto;
    touch-action: none;
}

.payment-processing-overlay.is-visible {
    display: flex;
}

.payment-processing-message {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 22px;
    background: #ffffff;
    border: 1px solid #d6d6d6;
    color: #222222;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    pointer-events: none;
}

.payment-processing-spinner {
    width: 28px;
    height: 28px;
    border: 3px solid #d6d6d6;
    border-top-color: #222222;
    border-radius: 50%;
    animation: payment-spinner-rotate 0.8s linear infinite;
}

html.payment-processing-active,
body.payment-processing-active {
    overflow: hidden;
}

@keyframes payment-spinner-rotate {
    to {
        transform: rotate(360deg);
    }
}

.payment-processing-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    width: 100vw;
    height: 100vh;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgb(255 255 255 / 82%);
    cursor: wait;
    pointer-events: auto;
    touch-action: none;
    overscroll-behavior: contain;
}

.payment-processing-overlay.is-visible {
    display: flex;
}

.payment-processing-message {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 240px;
    padding: 18px 22px;
    background: #ffffff;
    border: 1px solid #d6d6d6;
    color: #222222;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    pointer-events: none;
}

.payment-processing-message img {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
}

html.payment-processing-active,
body.payment-processing-active {
    overflow: hidden !important;
}

.checkout-ajax-overlay,
.payment-processing-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    width: 100vw !important;
    height: 100vh !important;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgb(255 255 255 / 82%);
    cursor: wait;
    pointer-events: auto !important;
    touch-action: none;
}

.checkout-ajax-overlay {
    display: flex;
}

.payment-processing-overlay {
    display: none;
}

.payment-processing-overlay.is-visible {
    display: flex !important;
}

.checkout-wait-message {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 230px;
    padding: 18px 22px;
    background: #ffffff;
    border: 1px solid #d6d6d6;
    color: #222222;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    pointer-events: none;
}

.checkout-wait-message img {
    display: block;
    width: 32px;
    height: 32px;
    object-fit: contain;
}

html.payment-processing-active,
body.payment-processing-active {
    overflow: hidden !important;
}

/* Payment method container */
[id$="_pnlButtons"],
[id$="_pnlButtons"] .form-group.payment,
[id$="_pnlButtons"] .radio {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Credit-card image label */
[id$="_pnlButtons"] label[for$="_rbCreditCard"] {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 8px 0 16px;
    box-sizing: border-box;
    overflow: hidden;
}

/* Verifone/card payment image */
[id$="_pnlButtons"] label[for$="_rbCreditCard"] img {
    display: block;
    width: 100%;
    max-width: 400px;
    height: auto;
    margin: 0;
    object-fit: contain;
    box-sizing: border-box;
    margin-left: 12px;
}

/* Prevent all payment content from forcing horizontal overflow */
[id$="_pnlButtons"] img,
[id$="_pnlButtons"] iframe,
[id$="_pnlButtons"] button {
    max-width: 100%;
    box-sizing: border-box;
}

@media (max-width: 480px) {
    [id$="_pnlButtons"] label[for$="_rbCreditCard"] img {
        width: 100%;
        max-width: 92%;
    }
}

.card-entry-divider {
    display: flex;
    align-items: center;
    width: calc(100% - 30px);
    max-width: 400px;
    margin: 5px 15px 20px;
    color: #111111;
    font-size: 12px;
    line-height: 16px;
    text-align: center;
}

.card-entry-divider::before,
.card-entry-divider::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: #222222;
}

.card-entry-divider span {
    flex: 0 0 auto;
    padding: 0 8px;
}

.form-group.payment .radio {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    column-gap: 10px;
    width: 100%;
    margin: 0 0 15px;
}

.form-group.payment .radio > input[type="radio"] {
    position: static !important;
    width: 14px;
    height: 14px;
    margin: 0 !important;
    justify-self: center;
}

.form-group.payment .radio > label {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 !important;
    font-weight: normal;
}

.form-group.payment .radio > label img {
    display: block;
    width: 100%;
    height: auto;
}

/* =========================================
   PAYMENT SECTION
   ========================================= */

.payment-container,
.card_container {
    width: 100%;
    max-width: 400px;
    margin: 25px 0 0 25px;
    font-family: Arial, Helvetica, sans-serif;
    box-sizing: border-box;
}

.payment-container *,
.card_container * {
    box-sizing: border-box;
}


/* =========================================
   PAYMENT BUTTONS
   ========================================= */

#applepay-container,
#googlepay-container,
#paypal-button-container {
    width: 100%;
    margin-bottom: 8px;
}

/* Keep all payment methods the same width */
#applepay-container > *,
#googlepay-container > *,
#paypal-button-container > * {
    width: 100% !important;
    max-width: none !important;
}


/* Apple Pay */

.apple-pay-button,
#applepay-container button {
    width: 100% !important;
    height: 45px !important;
    min-height: 45px;
    border: 0;
    border-radius: 0 !important;
}


/* Google Pay */

.gpay-button,
#googlepay-container button {
    width: 100% !important;
    height: 45px !important;
    min-height: 45px;
    border-radius: 0 !important;
}


/* PayPal */

#paypal-button-container {
    min-height: 45px;
}

#paypal-button-container iframe {
    width: 100% !important;
}


/* =========================================
   CARD DIVIDER
   ========================================= */

.card-divider {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 32px 0 24px;
    font-size: 12px;
    color: #222;
    white-space: nowrap;
}

.card-divider::before,
.card-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #333;
}

.card-divider span {
    padding: 0 8px;
}


/* =========================================
   CARD FIELDS
   ========================================= */

.card-field-group {
    margin-bottom: 10px;
}

.card-field-group label {
    display: block;
    margin-bottom: 5px;
    font-size: 13px;
    font-weight: 600;
    color: #222;
}


/* PayPal hosted field containers */

#card-number-field-container,
#expiration-date-field-container,
#cvv-field-container {
    width: 100%;
    height: 46px;
    min-height: 46px;
    padding: 0 11px;
    background: #fff;
    border: 1px solid #d6d6d6;
    border-radius: 0 !important;
}


/* Remove any existing fieldset styling */

.card_container fieldset {
    padding: 0;
    margin: 0;
    border: 0;
}


/* =========================================
   EXPIRY / CVV ROW
   ========================================= */

.card-details-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}


/* =========================================
   PAY NOW
   ========================================= */

#card-field-submit-button,
.pay-now-button {
    width: 100%;
    height: 48px;
    margin-top: 0;
    padding: 0 20px;

    background: #222;
    color: #fff;

    border: 0;
    border-radius: 0 !important;

    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
}

#card-field-submit-button:hover,
.pay-now-button:hover {
    background: #000;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 480px) {

    .payment-container,
    .card_container {
        max-width: none;
        width: 100%;
        margin: 20px 0;
    }

    .card-details-row {
        grid-template-columns: 1fr 1fr;
    }
}

/* Order confirmation page */
.confirmation-page,
.confirmation-page * {
    border-radius: 0 !important;
}

.confirmation-page {
    background: #f3f3f3;
    padding: 30px 0 60px;
}

/* Header */
.confirmation-header {
    margin: 0 0 22px;
}

.confirmation-kicker {
    display: block;
    margin-bottom: 7px;
    color: #870a2c;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.confirmation-header h1 {
    margin: 0 0 8px;
    color: #111;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 500;
}

.confirmation-header p {
    margin: 0;
    color: #444;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}

/* Success card */
.confirmation-success-card {
    margin-bottom: 22px;
    padding: 22px 26px;
    background: #fff;
    border: 1px solid #dedede;
    border-left: 5px solid #870a2c;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
    display: flex;
    align-items: center;
    gap: 16px;
}

.confirmation-success-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    background: #f5e7ec;
    color: #870a2c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.confirmation-success-copy h2 {
    margin: 0 0 5px;
    color: #111;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 500;
}

.confirmation-success-copy p {
    margin: 0;
    color: #555;
    font-size: 14px;
    line-height: 1.5;
}

/* Detail cards */
.confirmation-details-grid {
    margin-bottom: 24px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.confirmation-info-card {
    background: #fff;
    border: 1px solid #dedede;
    border-left: 5px solid #870a2c;
    padding: 22px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
}

.confirmation-info-card h2 {
    margin: 0 0 15px;
    color: #111;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 500;
}

.confirmation-details-table {
    width: 100%;
    border-collapse: collapse;
}

.confirmation-details-table th,
.confirmation-details-table td {
    padding: 7px 0;
    border-bottom: 1px solid #eeeeee;
    color: #333;
    font-size: 13px;
    line-height: 1.4;
    vertical-align: top;
    text-align: left;
}

.confirmation-details-table tr:last-child th,
.confirmation-details-table tr:last-child td {
    border-bottom: 0;
}

.confirmation-details-table th {
    width: 112px;
    padding-right: 12px;
    color: #666;
    font-weight: 600;
}

.confirmation-details-table td {
    color: #222;
    font-weight: 400;
}

/* Order card */
.confirmation-order-card {
    background: #fff;
    border: 1px solid #dedede;
    border-left: 5px solid #870a2c;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
}

.confirmation-card-header {
    padding: 24px 28px 18px;
    border-bottom: 1px solid #eeeeee;
}

.confirmation-card-header h2 {
    margin: 0 0 6px;
    color: #111;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 500;
}

.confirmation-card-header p {
    margin: 0;
    color: #555;
    font-size: 13px;
    line-height: 1.5;
}

/* Order table */
.confirmation-order-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
}

.confirmation-order-table thead th {
    padding: 13px 18px;
    background: #f7f7f7;
    border-bottom: 1px solid #e2e2e2;
    color: #222;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.confirmation-order-table tbody td {
    padding: 18px;
    border-bottom: 1px solid #eeeeee;
    color: #222;
    font-size: 14px;
    line-height: 1.4;
    vertical-align: middle;
}

.confirmation-order-table tbody tr:last-child td {
    border-bottom: 0;
}

.confirmation-product-col {
    width: auto;
    text-align: left !important;
}

.confirmation-price-col,
.confirmation-total-col {
    width: 130px;
    font-weight: 500;
    text-align: left !important;
}

.confirmation-qty-col {
    width: 80px;
    text-align: center !important;
}

.confirmation-product-info h3 {
    margin: 0 0 6px;
    color: #111;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 500;
}

.confirmation-product-info h3 a {
    color: #111;
    text-decoration: none;
}

.confirmation-product-info h3 a:hover {
    color: #870a2c;
    text-decoration: underline;
}

.confirmation-product-code,
.confirmation-product-meta {
    display: block;
    color: #666;
    font-size: 13px;
    line-height: 1.4;
}

.confirmation-discount-row td {
    background: #fbfbfb;
}

/* Summary */
.confirmation-summary-card {
    max-width: 430px;
    margin: 24px 0 0 auto;
    background: #fff;
    border: 1px solid #dedede;
    border-left: 5px solid #870a2c;
    padding: 22px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
}

.confirmation-summary-card h2 {
    margin: 0 0 14px;
    color: #111;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 500;
}

.confirmation-totals-table {
    width: 100%;
    border-collapse: collapse;
}

.confirmation-totals-table th,
.confirmation-totals-table td {
    padding: 9px 0;
    border-bottom: 1px solid #eeeeee;
    color: #333;
    font-size: 14px;
    line-height: 1.35;
}

.confirmation-totals-table th {
    text-align: left;
    font-weight: 500;
}

.confirmation-totals-table td {
    text-align: right;
    font-weight: 600;
    color: #111;
}

.confirmation-saving-row td {
    color: #870a2c;
}

.confirmation-grand-total th,
.confirmation-grand-total td {
    padding-top: 14px;
    border-bottom: 0;
    color: #111;
    font-size: 17px;
    font-weight: 600;
}

.confirmation-grand-total td {
    color: #870a2c;
}

/* Actions */
.confirmation-actions {
    margin: 24px 0 0;
    text-align: right;
}

.confirmation-home-btn,
.confirmation-actions .checkout-btn {
    min-height: 46px;
    padding: 13px 24px;
    background: #870a2c !important;
    color: #fff !important;
    border: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    box-shadow: none;
}

.confirmation-home-btn:hover,
.confirmation-home-btn:focus,
.confirmation-actions .checkout-btn:hover,
.confirmation-actions .checkout-btn:focus {
    background: #6f0824 !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* Mobile */
@media (max-width: 991px) {
    .confirmation-details-grid {
        grid-template-columns: 1fr;
    }

    .confirmation-summary-card {
        max-width: none;
        margin-left: 0;
    }
}

@media (max-width: 767px) {
    .confirmation-page {
        padding-top: 24px;
    }

    .confirmation-header h1 {
        font-size: 26px;
    }

    .confirmation-success-card {
        padding: 20px;
        align-items: flex-start;
    }

    .confirmation-order-table,
    .confirmation-order-table thead,
    .confirmation-order-table tbody,
    .confirmation-order-table tr,
    .confirmation-order-table td {
        display: block;
        width: 100%;
    }

    .confirmation-order-table thead {
        display: none;
    }

    .confirmation-order-table tbody tr {
        padding: 18px 20px;
        border-bottom: 1px solid #eeeeee;
    }

    .confirmation-order-table tbody td {
        padding: 4px 0;
        border-bottom: 0;
    }

    .confirmation-price-col,
    .confirmation-total-col,
    .confirmation-qty-col {
        width: 100%;
        text-align: left !important;
    }

    .confirmation-price-col:before {
        content: "Price: ";
        font-weight: 600;
    }

    .confirmation-qty-col:before {
        content: "Qty: ";
        font-weight: 600;
    }

    .confirmation-total-col:before {
        content: "Total: ";
        font-weight: 600;
    }

    .confirmation-actions {
        text-align: left;
    }

    .confirmation-home-btn,
    .confirmation-actions .checkout-btn {
        width: 100%;
    }
}

/* Email form page */
.email-form-page,
.email-form-page * {
    border-radius: 0 !important;
}

.email-form-page {
    background: #f3f3f3;
    padding: 30px 0 60px;
}

/* Header */
.email-form-header {
    margin: 0 0 22px;
}

.email-form-kicker {
    display: block;
    margin-bottom: 7px;
    color: #870a2c;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.email-form-header h1,
.email-form-header .contactHeader {
    margin: 0 0 8px;
    color: #111;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 500;
}

.email-form-header p {
    margin: 0;
    color: #444;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}

/* Main card */
.email-form-card {
    background: #fff;
    border: 1px solid #dedede;
    border-left: 5px solid #870a2c;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
}

.email-form-card-header {
    padding: 24px 28px 18px;
    border-bottom: 1px solid #eeeeee;
    display: flex;
    align-items: center;
    gap: 14px;
}

.email-form-card-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    background: #f5e7ec;
    color: #870a2c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}

.email-form-card-header h2 {
    margin: 0 0 5px;
    color: #111;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 500;
}

.email-form-card-header p {
    margin: 0;
    color: #555;
    font-size: 13px;
    line-height: 1.5;
}

/* Form layout */
.email-form-card .email-form {
    padding: 26px 28px 10px;
}

.email-form-row {
    margin-bottom: 18px;
}

.email-form-row label,
.email-form-card .control-label {
    padding-top: 9px;
    color: #222;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
    text-align: left;
}

.email-form-card input[type="text"],
.email-form-card input[type="email"],
.email-form-card select,
.email-form-card textarea,
.email-form-card .form-control {
    width: 100% !important;
    min-height: 40px;
    border: 1px solid #d5d5d5;
    background: #fff;
    color: #111;
    padding: 8px 10px;
    font-size: 14px;
    line-height: 1.35;
    font-weight: 400;
    box-shadow: none;
}

.email-form-card textarea,
.email-form-card textarea.form-control {
    min-height: 130px;
    resize: vertical;
}

.email-form-card input:focus,
.email-form-card select:focus,
.email-form-card textarea:focus,
.email-form-card .form-control:focus {
    border-color: #870a2c;
    outline: 0;
    box-shadow: none;
}

.email-form-error,
.email-form-card .NormalRed,
.email-form-card span[style*="red"] {
    display: block;
    margin-top: 5px;
    color: #870a2c !important;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 600;
}

.email-form-hidden {
    display: none;
}

/* Captcha */
.email-form-captcha {
    margin: 10px 28px 0;
    padding: 18px 0;
    border-top: 1px solid #eeeeee;
}

.email-form-captcha .captcha {
    display: inline-block;
}

.email-form-captcha input[type="text"] {
    max-width: 220px;
    margin-top: 8px;
}

/* Actions */
.email-form-actions {
    padding: 20px 28px 28px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.email-form-btn {
    min-height: 44px;
    padding: 12px 22px;
    border: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    box-shadow: none;
}

.email-form-submit-btn {
    background: #870a2c !important;
}

.email-form-submit-btn:hover,
.email-form-submit-btn:focus {
    background: #6f0824 !important;
    color: #fff !important;
    text-decoration: none !important;
}

.email-form-cancel-btn {
    background: #222 !important;
}

.email-form-cancel-btn:hover,
.email-form-cancel-btn:focus {
    background: #870a2c !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* Completed state */
.email-form-completed-card {
    max-width: 720px;
    margin: 0 auto;
    padding: 38px 34px;
    background: #fff;
    border: 1px solid #dedede;
    border-left: 5px solid #870a2c;
    text-align: center;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.07);
}

.email-form-completed-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 18px;
    background: #f5e7ec;
    color: #870a2c;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.email-form-completed-card h1 {
    margin: 0 0 8px;
    color: #111;
    font-size: 28px;
    line-height: 1.25;
    font-weight: 500;
}

.email-form-completed-card p {
    max-width: 520px;
    margin: 0 auto 10px;
    color: #555;
    font-size: 14px;
    line-height: 1.5;
}

.email-form-completed-actions {
    padding: 16px 0 0;
    justify-content: center;
}

/* Mobile */
@media (max-width: 767px) {
    .email-form-page {
        padding: 24px 0 50px;
    }

    .email-form-header h1,
    .email-form-header .contactHeader {
        font-size: 26px;
    }

    .email-form-card-header {
        padding: 20px;
        align-items: flex-start;
    }

    .email-form-card .email-form {
        padding: 22px 20px 8px;
    }

    .email-form-row label,
    .email-form-card .control-label {
        padding-top: 0;
        margin-bottom: 6px;
    }

    .email-form-captcha {
        margin: 8px 20px 0;
    }

    .email-form-actions {
        padding: 20px;
        display: block;
    }

    .email-form-btn {
        width: 100%;
        margin-top: 8px;
    }

    .email-form-completed-card {
        padding: 28px 22px;
    }
}

/* Login button layout */
.login-action-row {
    margin: 18px 0 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.forgotten-password-row {
    margin: 14px 0 0;
    text-align: left;
}

.account-login-btn,
.account-register-btn,
.account-forgotten-btn {
    border-radius: 0 !important;
    min-height: 40px;
    padding: 12px 18px;
    border: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    box-shadow: none;
}

.account-login-btn,
.account-register-btn {
    background: #870a2c !important;
}

.account-forgotten-btn {
    background: #222 !important;
}

.account-login-btn:hover,
.account-login-btn:focus,
.account-register-btn:hover,
.account-register-btn:focus,
.account-forgotten-btn:hover,
.account-forgotten-btn:focus {
    background: #6f0824 !important;
    color: #fff !important;
    text-decoration: none !important;
}

@media (max-width: 767px) {
    .login-action-row {
        display: block;
    }

    .account-login-btn,
    .account-register-btn,
    .account-forgotten-btn {
        width: 100%;
        margin: 0 0 10px;
    }

    .forgotten-password-row {
        margin-top: 4px;
    }
}

/* ============================================================
   PRODUCT LISTING - TABLET / SMALL DESKTOP FIXES ONLY

   0 - 767      untouched
   768 - 991    2 products
   992 - 1279   3 products
   1280+        untouched
   ============================================================ */


/* ============================================================
   TABLET
   768px - 991px
   ============================================================ */

@media (min-width: 768px) and (max-width: 991px) {

    /*
       Use flex only inside this troublesome range.
       This prevents Bootstrap float/clearfix issues.
    */
    #productListContainer > .row {
        display: flex;
        flex-wrap: wrap;
    }

    /*
       Don't allow Bootstrap clearfix elements to occupy
       positions inside the flex row.
    */
    #productListContainer > .row > .clearfix {
        display: none !important;
    }

    /*
       2 products per row
    */
    #productListContainer .js-product-card {
        float: none !important;
        width: 50% !important;
        flex: 0 0 50%;
    }

    /*
       Give cards some vertical separation.
    */
    #productListContainer .productContainerBrief {
        margin-top: 10px;
        margin-bottom: 10px;
    }

    /*
       Keep title area consistent.
    */
    #productListContainer .productTitle {
        height: 63px;
    }

    /*
       Price + buttons area
    */
    #productListContainer .js-product-price {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        width: 100%;
        padding: 0 7px 8px;
        box-sizing: border-box;
    }

    /*
       Price gets its own line.
    */
    #productListContainer .individualPrice {
        order: 1;

        float: none;
        flex: 0 0 100%;
        width: 100%;
        height: auto;

        margin: 0 0 5px 0;

        text-align: right;
        line-height: 20px;
    }

    /*
       ADD button
    */
    #productListContainer .buyNow {
        order: 2;

        float: none;

        display: block;

        width: 50%;
        flex: 0 0 50%;

        margin: 0;
        padding: 5px;

        text-align: center;

        box-sizing: border-box;
    }

    /*
       INFO button
    */
    #productListContainer .infoButton {
        order: 3;

        float: none;

        display: block;

        width: 50%;
        flex: 0 0 50%;

        margin: 0;
        padding: 5px;

        text-align: center;

        box-sizing: border-box;
    }
}


/* ============================================================
   SMALL DESKTOP / LARGE TABLET
   992px - 1279px
   ============================================================ */

@media (min-width: 992px) and (max-width: 1279px) {

    #productListContainer > .row {
        display: flex;
        flex-wrap: wrap;
    }

    #productListContainer > .row > .clearfix {
        display: none !important;
    }

    /*
       3 products per row
    */
    #productListContainer .js-product-card {
        float: none !important;

        width: 33.333333% !important;
        flex: 0 0 33.333333%;
    }

    #productListContainer .productContainerBrief {
        margin-top: 10px;
        margin-bottom: 10px;
    }

    /*
       Consistent title space.
    */
    #productListContainer .productTitle {
        height: 63px;
    }

    /*
       Bottom area.
       Put price above the two buttons so nothing competes
       horizontally for space.
    */
    #productListContainer .js-product-price {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;

        width: 100%;

        padding: 0 7px 8px;

        box-sizing: border-box;
    }

    #productListContainer .individualPrice {
        order: 1;

        float: none;

        flex: 0 0 100%;
        width: 100%;
        height: auto;

        margin: 0 0 5px 0;

        text-align: right;
        line-height: 20px;
    }

    #productListContainer .buyNow {
        order: 2;

        float: none;

        display: block;

        width: 50%;
        flex: 0 0 50%;

        margin: 0;
        padding: 5px;

        text-align: center;

        box-sizing: border-box;
    }

    #productListContainer .infoButton {
        order: 3;

        float: none;

        display: block;

        width: 50%;
        flex: 0 0 50%;

        margin: 0;
        padding: 5px;

        text-align: center;

        box-sizing: border-box;
    }
}

/* =========================================================
   TABLET PRODUCT COLUMNS ONLY
   768px - 991px
   ========================================================= */

@media (min-width: 768px) and (max-width: 991px) {

    #productListContainer .row {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    #productListContainer .js-product-card {
        float: none !important;
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
        clear: none !important;
    }

    #productListContainer .clearfix {
        display: none !important;
    }
}

/* =========================================================
   SMALL DESKTOP PRODUCT GRID
   992px - 1279px ONLY
   ========================================================= */

@media (min-width: 992px) and (max-width: 1279px) {

    #productListContainer > .row {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    #productListContainer > .row > .clearfix {
        display: none !important;
    }

    #productListContainer .js-product-card {
        float: none !important;
        clear: none !important;

        width: 33.333333% !important;
        max-width: 33.333333% !important;
        flex: 0 0 33.333333% !important;
    }
}

/* =========================================================
   LARGE DESKTOP PRODUCT ACTIONS
   1400px+
   Keep existing product grid/layout unchanged
   ========================================================= */





@media (min-width: 1400px) {

    #productListContainer .js-product-card {
        margin-bottom: 30px;
    }

}

.productContainerBrief .productInfo:after {
    content:"";
    display:table;
    clear:both;
}

/* =========================================================
   PRODUCT ACTIONS
   Tablet and desktop - 768px+
   ========================================================= */

@media (min-width: 768px) {

    /*
       Price + buttons area:
       price full row,
       ADD / INFO 50% each underneath
    */
    #productListContainer .js-product-price {
        display: grid !important;
        grid-template-columns: 1fr 1fr;

        width: 100%;
        margin: 0;
        padding: 0;

        box-sizing: border-box;
    }


    /* Price - full width row */
    #productListContainer .individualPrice {
        grid-column: 1 / -1;
        grid-row: 1;

        float: none !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 7px 6px 7px;

        line-height: 24px;
        text-align: right;
        white-space: nowrap;

        box-sizing: border-box;
    }


    /*
       Critical fix:
       remove the old 58px .buttons wrapper from layout
    */
    #productListContainer .productInfo .buttons {
        display: contents !important;

        float: none !important;

        width: auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* ADD - left 50% */
    #productListContainer .buyNow {
        grid-column: 1;
        grid-row: 2;

        float: none !important;

        display: flex !important;
        align-items: center;
        justify-content: center;

        width: 100% !important;

        margin: 0 !important;
        padding: 6px 5px !important;

        box-sizing: border-box;

        text-align: center;
        white-space: nowrap;
    }


    /* INFO - right 50% */
    #productListContainer .infoButton {
        grid-column: 2;
        grid-row: 2;

        float: none !important;

        display: flex !important;
        align-items: center;
        justify-content: center;

        width: 100% !important;
        height: auto !important;

        margin: 0 !important;
        padding: 6px 5px !important;

        box-sizing: border-box;

        text-align: center;
        white-space: nowrap;
    }
}/* =========================================
   404 PAGE
   ========================================= */

.i4m-404-page {
    width: 100%;
    max-width: 1000px;
    margin: 45px auto 70px;
    padding: 0 20px;
    box-sizing: border-box;
    font-family: inherit;
    color: #333;
}


/* Header
----------------------------------------- */

.i4m-404-header {
    padding: 35px 40px;
    background: #f5f5f5;
    border-top: 4px solid #7e122e;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    text-align: center;
}

.i4m-404-code {
    display: block;
    margin-bottom: 8px;
    color: #7e122e;
    font-size: 68px;
    line-height: 1;
    font-weight: 700;
}

.i4m-404-header h1 {
    margin: 0 0 10px;
    padding: 0;
    color: #222;
    font-size: 30px;
    line-height: 1.2;
    font-weight: 600;
}

.i4m-404-header p {
    max-width: 650px;
    margin: 0 auto;
    color: #555;
    font-size: 15px;
    line-height: 1.6;
}


/* Main Content
----------------------------------------- */

.i4m-404-content {
    padding: 35px 40px;
    background: #fff;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.i4m-404-content h2 {
    margin: 0 0 12px;
    padding: 0;
    color: #7e122e;
    font-size: 21px;
    font-weight: 600;
}

.i4m-404-content > p {
    margin: 0;
    color: #444;
    font-size: 14px;
    line-height: 1.7;
}


/* Action Buttons
----------------------------------------- */

.i4m-404-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 25px;
}

.i4m-404-btn {
    display: inline-block;
    min-width: 180px;
    padding: 12px 22px;
    box-sizing: border-box;
    border: 1px solid #7e122e;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    transition: background-color 0.2s ease,
                border-color 0.2s ease,
                color 0.2s ease;
}

.i4m-404-btn-primary {
    background: #7e122e;
    color: #fff !important;
}

.i4m-404-btn-primary:hover,
.i4m-404-btn-primary:focus {
    background: #5f0d23;
    border-color: #5f0d23;
    color: #fff !important;
}

.i4m-404-btn-secondary {
    background: #fff;
    color: #7e122e !important;
}

.i4m-404-btn-secondary:hover,
.i4m-404-btn-secondary:focus {
    background: #7e122e;
    color: #fff !important;
}


/* Help Section
----------------------------------------- */

.i4m-404-help {
    margin-top: 32px;
    padding-top: 25px;
    border-top: 1px solid #e1e1e1;
}

.i4m-404-help h3 {
    margin: 0 0 8px;
    padding: 0;
    color: #7e122e;
    font-size: 17px;
    font-weight: 600;
}

.i4m-404-help p {
    margin: 0 0 8px;
    color: #444;
    font-size: 14px;
    line-height: 1.6;
}

.i4m-404-contact {
    margin-top: 10px !important;
}

.i4m-404-contact a {
    color: #7e122e;
    font-weight: 600;
    text-decoration: none;
}

.i4m-404-contact a:hover {
    color: #5f0d23;
    text-decoration: underline;
}

.i4m-404-divider {
    display: inline-block;
    margin: 0 10px;
    color: #aaa;
}


/* Responsive
----------------------------------------- */

@media (max-width: 767px) {

    .i4m-404-page {
        margin: 25px auto 40px;
        padding: 0 15px;
    }

    .i4m-404-header {
        padding: 28px 20px;
    }

    .i4m-404-code {
        font-size: 52px;
    }

    .i4m-404-header h1 {
        font-size: 25px;
    }

    .i4m-404-header p {
        font-size: 14px;
    }

    .i4m-404-content {
        padding: 25px 20px;
    }

    .i4m-404-actions {
        display: block;
    }

    .i4m-404-btn {
        display: block;
        width: 100%;
        min-width: 0;
        margin-bottom: 10px;
    }

    .i4m-404-divider {
        display: none;
    }

    .i4m-404-contact a {
        display: block;
        margin-bottom: 5px;
    }
}