body {
	font-size: .85rem;
}
h1 {
	font-size: 1.75rem;
}
h2 { 
	font-size: 1.5rem;
}
h3, h4 { 
	font-size: 1.25rem;
}
h5, h6 { 
	font-size: 1rem;
}
p.lead {
	font-size: 1rem;
}
small .form-control-sm {
	font-size: .75rem;
	line-height: 1rem;
	padding: .125rem .25rem;
	height: calc(1.25rem + 2px);
}
.colour-inherit {
	color: inherit;
}
.colour-black {
	color: #000;
}
.colour-grey {
	color: #999;
}
.colour-red {
	color: #f00;
}
.colour-pink {
	color: #ff6ec7;
}
.colour-orange {
	color: #f90;
}
.colour-yellow {
	color: #fd0;
}
.colour-green {
	color: #090;
}
.colour-brown {
	color: #654321;
}
.colour-amazon {
	color: #ff9900;
}
.colour-amex {
	color: #27aee3;
}
.colour-feefo {
	color: #fd0;
}
.colour-mastercard {
	color: #cc0000;
}
.colour-paypal {
	color: #003087;
}
.colour-twitter {
	color: #00aced;
}
.colour-visa {
	color: #1a1e5a;
}
.bg-grey {
	background: #eee;
}
.bg-dark-grey {
	background: #666;
}
.bg-facebook {
	background: #4267b2;
}
.bg-google {
	background: #dd4b39;
}
.btn-grey {
	background-color: #ddd;
}
.btn-icon {
	font-size: 2rem;
	line-height: 2rem;
	margin-right: 1rem;
}
.text-wrap {
	word-break: break-word;
	word-wrap: break-word;
}
.text-strike {
	text-decoration: line-through;
}
.form-check-label {
	margin-left: .25rem;
}
.form-select,
.form-control {
	display: inline-block;
}
.form-select.w-sm,
.form-control.w-sm {
	width: 75px;
}
.form-select.w-md,
.form-control.w-md {
	width: 150px;
}
.form-select.w-lg,
.form-control.w-lg {
	width: 300px;
}
.table th,
.table td {
    background: none !important;
}
.table-restrict {
	max-height: 250px;
	overflow-y: auto;
}
.table-headless tr:first-child > * {
	border-top: 0;
}
.table-borderless th,
.table-borderless td {
	border-top: 0;
}
.table-middle tbody th,
.table-middle tbody td {
	vertical-align: middle;
}
.table .form-control.w-sm {
	width: 75px;
}
.table .form-control.w-md {
	width: 150px;
}
.table .form-control.w-lg {
	width: 300px;
}
.table tfoot th {
	border-top-width: 2px;
}
.carousel-inner {
	height: 1px;
}
.row-grid {
	margin-left: -5px;
	margin-right: -5px;
}
.row-grid .col {
	padding: 0 5px 10px 5px;
	max-width: calc(100%/2);
	flex: 0 0 calc(100%/2);
	ms-flex: 0 0 calc(100%/2);
}
.grid-item a {
	position: relative;
	display: block;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .1);
	color: inherit;
	padding: 10px;
}
.grid-item .overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: auto;
	text-align: center;
	z-index: 100;
}
.grid-item .overlay.overlay-right {
	left: auto;
	right: 0;
}
.grid-item .overlay img {
	display: block;
	margin: 0 auto 2px auto;
	width: 35px;
	height: 35px;
}
.grid-item .delivery {
	height: 1.25rem;
	line-height: 1.25rem;
	margin-bottom: .25rem;
}
.grid-item .delivery .border {
	text-transform: uppercase;
	padding: .1rem .25rem;
	font-size: .7rem;
}
.grid-item .brand {
	max-height: 50px;
	line-height: 50px;
	text-align: center;
	margin-bottom: .25rem;
}
.grid-item .brand img {
	max-width: 100px;
	max-height: 50px;
}
.grid-item .image {
	position: relative;
	height: 150px;
	line-height: 150px;
	text-align: center;
	margin-bottom: .5rem;
}
.grid-item .image.image-missing {
	background: url(../../images/image-missing.jpg) no-repeat center;
}
.grid-item .image .flip.back {
	display: none;
}
.grid-item .swatch {
	margin-bottom: .25rem;
	height: 20px;
	overflow: hidden;
}
.grid-item .swatch div {
	display: inline-block;
	margin-right: 1px;
	padding: 1px;
}
.grid-item .swatch span {
	display: block;
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
}
.grid-item .swatch span.more {
	background-image: url(../../images/swatch-plus.gif);
}
.grid-item .title {
	height: 3.75rem;
	line-height: 1.25rem;
	margin-bottom: .25rem;
	font-weight: 600;
	text-align: center;
}
.grid-item .title div {
	width: 100%;
	max-height: 100%;
	overflow: hidden;
}
.grid-item .features {
	font-size: .7rem;
	height: 4rem;
	line-height: 1rem;
	margin-bottom: .25rem;
}
.grid-item .features span {
	display: block;
	text-overflow: ellipsis;
	text-align: center;
	white-space: nowrap; 
	overflow: hidden;
}
.grid-item .rating  {
	height: 1rem;
	line-height: 1rem;
	margin-bottom: .25rem;
}
.grid-item .rating .stars {
	font-size: .9rem;
}
.grid-item .rating .count {
	font-size: .7rem;
}
.grid-item .meta {
	font-size: .7rem;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap; 
	height: 1.8rem;
	line-height: .9rem;
}
.grid-item .meta div {
	width: 100%;
	max-height: 100%;
	overflow: hidden;
}
.grid-item .price {
	margin-bottom: .5rem;
	height: 3.75rem;
}
.grid-item .price .info {
	width: 100%;
	text-align: center;
	font-size: .8rem;
	line-height: 1.25rem;
	height: 1.25rem;
	white-space: nowrap; 
	overflow: hidden;
}
.grid-item .price .major {
	width: 100%;
	text-align: center;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1.25rem;
	height: 1.25rem;
}
.grid-item .price .minor {
	width: 100%;
	text-align: center;
	font-size: .7rem;
	line-height: 1.25rem;
	height: 1.25rem;
}
.grid-item .from {
	font-size: .7rem;
	line-height: 1rem;
}
.grid-item .from .info {
	font-size: .8rem;
}
.grid-item .from .amount-significant {
	font-size: 1.4rem;
	font-weight: bold;
}
.step div {
	position: relative;
}
.step div:not(:last-child):after {
	position: absolute;
	content: '';
	background: rgba(0, 0, 0, .1);
	top: 3rem;
	height: auto;
	bottom: -.75rem;
	left: 1.875rem;
	width: 1px;
}
.step-item {
	position: relative;
	font-weight: 500;
	color: #333;
	padding: 1rem;
}
.step-item .index {
	display: inline-block;
	width: 1.75rem;
	height: 1.75rem;
	line-height: 1.75rem;
	margin-right: .75rem;
	color: #fff;
	border-radius: 50%;
	background: rgba(0, 0, 0, .25);
	text-align: center;
}

@media (min-width: 576px) {
	.row-grid .col {
		max-width: calc(100%/3);
		flex-basis: calc(100%/3);
		ms-flex: 0 0 calc(100%/3);
	}
}
@media (min-width: 768px) {
	body {
		font-size: 1rem;
	}
	p.lead {
		font-size: 1.25rem;
	}
	.carousel-inner {
		height: auto;
	}
	.row-grid .col {
		max-width: calc(100%/4);
		flex-basis: calc(100%/4);
		ms-flex: 0 0 calc(100%/4);
	}
	.grid-item .features {
		font-size: .8rem;
		height: 4.5rem;
		line-height: 1.15rem;
	}
	.step div:not(:first-child):before {
		flex: 1;
		height: 1px;
		content: '';
		background: rgba(0, 0, 0, .1);
	}
	.step div:not(:last-child):after {
		position: relative;
		flex: 1;
		height: 1px;
		width: auto;
		top: auto;
		left: auto;
		bottom: auto;
	}
	.step-item {
		font-size: 1rem;
		padding: 1.5rem;
	}
	.step-item .index {
		width: 2.25rem;
		height: 2.25rem;
		line-height: 2.25rem;
	}
}
@media (min-width: 992px) {
	.row-grid .col {
		max-width: calc(100%/5);
		flex-basis: calc(100%/5);
		ms-flex: 0 0 calc(100%/5);
	}
}
@media (min-width: 1200px) {
	.row-grid .col {
		max-width: calc(100%/6);
		flex-basis: calc(100%/6);
		ms-flex: 0 0 calc(100%/6);
	}
}