


/* Fonts & Typography
-------------------------------------------------------------------------------------- */
@font-face {
    font-family: 'Butler Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Butler Regular'), url('Butler/Butler_Regular.woff') format('woff');
}
    

@font-face {
    font-family: 'Butler UltraLight';
    font-style: normal;
    font-weight: normal;
    src: local('Butler UltraLight'), url('Butler/Butler_Ultra_Light.woff') format('woff');
}
    

@font-face {
    font-family: 'Butler Light';
    font-style: normal;
    font-weight: normal;
    src: local('Butler Light'), url('Butler/Butler_Light.woff') format('woff');
}
    

@font-face {
    font-family: 'Butler Medium';
    font-style: normal;
    font-weight: normal;
    src: local('Butler Medium'), url('Butler/Butler_Medium.woff') format('woff');
}
    

@font-face {
    font-family: 'Butler Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Butler Bold'), url('Butler/Butler_Bold.woff') format('woff');
}
    

@font-face {
    font-family: 'Butler ExtraBold';
    font-style: normal;
    font-weight: normal;
    src: local('Butler ExtraBold'), url('Butler/Butler_ExtraBold.woff') format('woff');
}
    

@font-face {
    font-family: 'Butler Black';
    font-style: normal;
    font-weight: normal;
    src: local('Butler Black'), url('Butler/Butler_Black.woff') format('woff');
}

body {
    font-size: 15px;
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1,
h2,
h3,
.h1,
.h2,
.h3 {
	font-family: 'Butler Regular', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1 strong,
h2 strong,
h3 strong,
.h1 strong,
.h2 strong,
.h3 strong {
	font-family: 'Butler Bold', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
	color: #333;
	text-transform: uppercase;
	letter-spacing: -0.8px;
	word-break: break-word;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 30px;
}

@media screen and (min-width: 768px) and (max-width: 991px) {
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		margin-top: 20px;
	}
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
	margin-top: 0;
}

p, li {
	color: #333;
}

a {
	color: #333;
	text-decoration: underline;
}

a:hover {
	color: #333;
	text-decoration: underline;
}

.no-underline a {
	text-decoration: none;
}

.no-underline a:hover {
	text-decoration: underline;
}

h1 {
	font-size: 2.5em;
}

h2 {
	font-size: 2em;
}

h3 {
	font-size: 1.6em;
}







/* General Styles
-------------------------------------------------------------------------------------- */

/* .placeholder class is dynamically applied to inputs/textareas on browsers that don't support the placeholder attribute */
.placeholder {
	color: #aaa;
}

.btn {
	border-radius: 0;
	box-shadow: none;
	text-transform: uppercase;
	text-decoration: none;
}

.btn-default {
	background-color: white;
	border: 1px solid #333;
	color: #333;
}

.btn-primary {
	border-color: #333;
	background-color: #333;
	color: white;
}

.btn-primary:hover {
	background-color: #000;
	border-color: #000;
	color: white !important;
}

.floatRight {
	float: right;
	margin: 0 0 15px 15px;
}

.floatLeft {
	float: left;
	margin: 0 15px 15px 0;
}

.centred {
	margin-left: auto;
	margin-right: auto;
}

.icon-bg {
	background-color: white;
	background-image: url('../media/templateImages/iconBgLight50pc.png');
	background-position: 50% 50%;
	background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
	.icon-bg .narrow p,
	.icon-bg .narrow ul,
	.icon-bg .narrow ol,
	.icon-bg .narrow h1,
	.icon-bg .narrow h2,
	.icon-bg .narrow h3,
	.icon-bg .narrow h4,
	.icon-bg .narrow h5,
	.icon-bg .narrow h6 {
		width: 60%;
		margin-left: auto;
		margin-right: auto;
	}
}

.bg-white {
	background: white;
}

.bg-white .btn,
.bg-white .btn:hover {
	background-color: #333;
	color: white !important;
}

.bg-dk-grey {
	background: #58585a;
}

.bg-dk-grey .btn,
.bg-dk-grey .btn:hover {
	background-color: white;
	color: #58585a;
}

.bg-a { /* Cream */
	background: #f7ece0;
}

.bg-a .btn,
.bg-a .btn:hover {
	background-color: #1b4070; /* Blue */
	color: #f7ece0;
}

.bg-b { /* Blue */
	background: #1b4070;
}

.bg-b .btn,
.bg-b .btn:hover {
	background-color: white;
	color: #1b4070;
}

.bg-c { /* Pink */
	background: #ea1d89;
}

.bg-c .btn,
.bg-c .btn:hover {
	background-color: white;
	color: #ea1d89;
}

.bg-d { /* Green */
	background: #99cc68;
}

.bg-d .btn,
.bg-d .btn:hover {
	background-color: white;
	color: #99cc68;
}

.bg-e { /* light grey */
	background: #cfd2d1;
}

.bg-e .btn,
.bg-e .btn:hover {
	background-color: #333; /* Dark grey */
	color: #cfd2d1;
}

.bg-white .btn,
.bg-dk-grey .btn
.bg-a .btn,
.bg-b .btn,
.bg-c .btn,
.bg-d .btn,
.bg-e .btn {
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
}

.bg-white .btn:hover,
.bg-dk-grey .btn:hover,
.bg-a .btn:hover,
.bg-b .btn:hover,
.bg-c .btn:hover,
.bg-d .btn:hover,
.bg-e .btn:hover {
	opacity: .5;
}

.bg-b h1, .bg-b h2, .bg-b h3, .bg-b h4, .bg-b p, .bg-b li, .bg-b a, .bg-b a:hover,
.bg-c h1, .bg-c h2, .bg-c h3, .bg-c h4, .bg-c p, .bg-c li, .bg-c a, .bg-c a:hover,
.bg-d h1, .bg-d h2, .bg-d h3, .bg-d h4, .bg-d p, .bg-d li, .bg-d a, .bg-d a:hover,
.bg-dk-grey h1, .bg-dk-grey h2, .bg-dk-grey h3, .bg-dk-grey h4, .bg-dk-grey p, .bg-dk-grey li, .bg-dk-grey a, .bg-dk-grey a:hover {
	color: white;
}
.bg-b.color-c h1, .bg-b.color-c h2, .bg-b.color-c h3, .bg-b.color-c h4, .bg-b.color-c p, .bg-b.color-c li, .bg-b.color-c a, .bg-b.color-c a:hover {
	color: #ea1d89; /* Pink */
}
.bg-white.color-d h1, .bg-white.color-d h2, .bg-white.color-d h3, .bg-white.color-d h4, .bg-white.color-d h4, .bg-white.color-d p, .bg-white.color-d li, .bg-white.color-d a, .bg-white.color-d a:hover {
	color: #99cc68; /* Green */
}

.bg-a h1, .bg-a h2, .bg-a h3, .bg-a h4, .bg-a p, .bg-a li, .bg-a a, .bg-a a:hover,
.bg-e h1, .bg-e h2, .bg-e h3, .bg-e h4, .bg-e p, .bg-e li, .bg-e a, .bg-e a:hover {
	color: #333; /* Dark grey */
}





/* Full-width, responsive,  2-column feature with image on one side & text on the other */

.full-width-feature {
	display: table;
	width: 100%;
}

.full-width-feature .col {
	display: block;
	width: 100%;
}

.full-width-feature .col .banner {
	width: 100%;
}

.full-width-feature .text {
	padding: 50px;
	text-align: center;
}

.full-width-feature .text.text-left {
	text-align: left;
}

.full-width-feature .text li {
	text-align: left;
}

.full-width-feature .text h1,
.full-width-feature .text h2 {
	font-size: 3em;
}

.full-width-feature .text h1 span,
.full-width-feature .text h2 span {
	font-size: 0.8em;
}

.full-width-feature .text h3 {
	font-size: 2.5em;
}

.full-width-feature .text h3 span {
	font-size: 0.8em;
}

.full-width-feature h1 img,
.full-width-feature h2 img {
	max-width: 90%;
	height: auto;
	opacity: 0.7;
}

.full-width-feature.compact .text {
	font-size: 0.8em;
	line-height: 1.1;
	padding: 50px 20px;
}


@media screen and (min-width: 768px) {
	.full-width-feature .col {
		display: table-cell;
		width: 50%;
		position: relative;
	}
	
	.full-width-feature .col .banner {
		min-height: 270px;
	}
	
	.full-width-feature .text {
		width: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
}

@media screen and (min-width: 768px) and (max-width: 991px) {
	.full-width-feature.compact .text {
		font-size: 0.9em;
		line-height: 1.1;
		padding: 20px;
	}
	
	.full-width-feature.compact .text h1,
	.full-width-feature.compact .text h2 {
		font-size: 1.5em;
	}
	
	.full-width-feature.compact .text h3,
	.full-width-feature.compact .text h4 {
		font-size: 1.2em;
	}
	
	.full-width-feature.compact .text a.scroll-down {
		padding: 0 10px;
	}
	
	.full-width-feature.compact .text a.scroll-down span {
	  top: 5px;
	}
}

@media screen and (min-width: 992px) {
	.full-width-feature.compact .text {
		padding: 50px;
		font-size: 0.9em;
		line-height: 1.2;
	}
	.full-width-feature .col .banner {
		min-height: 340px;
	}
	
	.full-width-feature .text h1,
	.full-width-feature .text h2 {
		font-size: 3.5em;
	}
	
	.full-width-feature .text h3 {
		font-size: 3.0em;
	}
	
	.full-width-feature.compact .text h3 {
		font-size: 3em;
	}
	
	.full-width-feature.compact .text h4 {
		font-size: 1.5em;
	}
}

@media screen and (min-width: 1200px) {
	.full-width-feature.compact .text {
		padding: 50px 50px;
		font-size: 1.1em;
		line-height: 1.4;
	}
	
	.full-width-feature.compact .text h1 {
		line-height: 1;
	}

	.full-width-feature .col .banner {
		min-height: 420px;
	}
	
	.full-width-feature .text {
		padding: 50px 100px;
		font-size: 1.1em;
	}

	.full-width-feature .text h1,
	.full-width-feature .text h2 {
		font-size: 3.5em;
	}
	
	.full-width-feature .text h3 {
		font-size: 3.0em;
	}
}

@media screen and (min-width: 1450px) {
	.full-width-feature.compact .text {
		padding: 50px 100px;
	}
	
	.full-width-feature.compact .text h1 {
		line-height: 1.1;
	}
}





/* Full width feature as above, but with store logo in place of the image */

.full-width-feature .col.logo {
	padding: 0 50px 50px 50px;
}

@media screen and (min-width: 768px) {
	.full-width-feature .col.logo {
		padding: 50px;
	}
	.full-width-feature .col.logo .wrapper {
		min-height: 270px;
		position: relative;
	}
	
	.full-width-feature .col.logo .wrapper img {
		max-width: 100%;
		height: auto;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
}

@media screen and (min-width: 992px) {
	.full-width-feature .col.logo .wrapper {
		min-height: 340px;
	}
}

@media screen and (min-width: 1200px) {
	.full-width-feature .col.logo {
		padding: 50px 75px;
	}
	.full-width-feature .col.logo .wrapper {
		min-height: 420px;
	}
}



/* Full width feature as above, but with location content in the text section */

.full-width-feature.location .text {
	text-align: left;
	padding: 10%;
}

.full-width-feature.location .text h2 {
	position: relative;
	padding-left: 50px;
	margin-bottom: 30px;
	font-size: 2em;
}

.full-width-feature.location .text h2 span.glyphicon {
	position: absolute;
	left: -10px;
	font-size: 1.9em;
}

.full-width-feature.location .text ul.opening-days {
	list-style-type: none;
	margin: -10px 0 30px 0;
	padding: 0;
}

.full-width-feature.location .text ul.opening-days li {
	display: inline-block;
	margin: 0 5px 0 0;
	padding: 0;
	font-family: 'Butler Regular', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 2em;
	color: white;
}

.full-width-feature.location .text ul.opening-days li:last-of-type {
	margin-right: 0;
}

.full-width-feature.location .text ul.opening-days li.closed {
	opacity: 0.2;
}

.full-width-feature.location .text a.store-web-link {
	margin-bottom: 10px;
}

.full-width-feature.location .text .socials a {
	margin-right: 5px;
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
	font-size: 2em;
}

.full-width-feature.location .text .socials a:hover {
	text-decoration: none;
	opacity: .5;
}

.full-width-feature.location .text .socials a.sid-approved img {
	max-width: 40px;
	height: auto;
}

@media screen and (min-width: 370px) {
	.full-width-feature.location .text ul.opening-days li {
		font-size: 2.5em;
	}
}

@media screen and (min-width: 390px) {
	.full-width-feature.location .text ul.opening-days li {
		font-size: 3em;
	}
}

@media screen and (min-width: 440px) {
	.full-width-feature.location .text {
		padding: 15%;
	}
}


@media screen and (min-width: 768px) {
	.full-width-feature.location .text h2 {
		padding-left: 18px;
		font-size: 1em;
	}
}

@media screen and (min-width: 992px) {
	.full-width-feature.location .text h2 {
		padding-left: 25px;
		font-size: 1.4em;
	}

	.full-width-feature.location .text h2 span.glyphicon {
		font-size: 1.6em;
	}

	.full-width-feature.location .text ul.opening-days li {
		margin-right: 10px;
		font-size: 3.5em;
	}

	.full-width-feature.location .text .socials a.sid-approved img {
		max-width: 50px;
	}
}

@media screen and (min-width: 1200px) {
	.full-width-feature.location .text h2 {
		padding-left: 29px;
		font-size: 1.6em;
	}

	.full-width-feature.location .text h2 span.glyphicon {
		font-size: 1.4em;
	}

	.full-width-feature.location .text {
		padding: 17%;
	}

	.full-width-feature.location .text ul.opening-days li {
		margin-right: 10px;
		font-size: 4em;
	}
}

@media screen and (min-width: 1470px) {
	.full-width-feature.location .text {
		padding: 20%;
	}
}







/* Scroll down animated link */

a.scroll-down {
	position: relative;
	display: inline-block;
	padding: 20px 10px;
	color: white;
	text-decoration: none;
}

a.scroll-down:hover {
	color: white;
}

a.scroll-down span {
  position: absolute;
  top: 25px;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb05 1.5s infinite;
  animation: sdb05 1.5s infinite;
  box-sizing: border-box;
}

/* 
.bg-c a.scroll-down,
 */
.bg-e a.scroll-down {
	color: #333;
}

/* 
.bg-c a.scroll-down span,
 */
.bg-e a.scroll-down span {
  border-left-color: #333;
  border-bottom-color: #333;
}

@-webkit-keyframes sdb05 {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb05 {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}






/* Modals & alerts */

.modal-header {
	border-bottom: none;
/* 
	background: #f0f0f0;
	border-radius: 6px 6px 0 0;
 */
}

.modal-footer {
	border-top: none;
	text-align: center;
/* 
	background: #f0f0f0;
	border-radius: 0 0 6px 6px;
 */
}

.alert-danger ul,
.alert-success ul
{
	list-style-type: disc;
	margin-bottom: 0;
	padding-left: 70px;
	min-height: 60px;
}

.alert-danger li,
.alert-success li
{
	color: inherit;
	padding-left: 0;
}

.alert-danger ul {
	background: url('../media/templateImages/alert32.png') no-repeat 5px 5px;
}

.alert-success ul {
	background: url('../media/templateImages/tick32.png') no-repeat 5px 5px;
}

#openingHoursModal .modal-header span.glyphicon,
#findUsModal .modal-header span.glyphicon {
	display: block;
	width: 50px;
	margin-bottom: 10px;
}

#findUsModal .modal-body p.address {
	margin-top: -30px;
}

#findUsModal .gmap {
	height: 300px;
}

@media screen and (min-width: 768px) {

	#findUsModal .gmap {
		height: 400px;
	}

}

@media screen and (min-width: 1200px) {

	#findUsModal .gmap {
		height: 500px;
	}

}




/* Pagination */

.pagination > li > a,
.pagination > li > span {
  background-color: #ffffff;
  border: 1px solid #dddddd;
  color: #c60;
  text-shadow: none;
}

.pagination > .disabled > span,
.pagination > .disabled > span:hover {
  color: #ddd;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  color: #ffffff;
	background-color: #c60;
	border-color: #496a98;
  text-shadow: none;
}

/* Force small pagination for smallest devices */
@media screen and (max-width: 768px) {

	.pagination > li > a,
	.pagination > li > span {
		padding: 5px 7px;
		font-size: 12px;
	}

	.pagination > li:first-child > a,
	.pagination > li:first-child > span {
		border-bottom-left-radius: 3px;
		border-top-left-radius: 3px;
	}

	.pagination > li:last-child > a,
	.pagination > li:last-child > span {
		border-top-right-radius: 3px;
		border-bottom-right-radius: 3px;
	}

}






/* Carousels */

.carousel {
	margin: 0;
}

.carousel .wrapper {
	padding: 0 45px;
}

.carousel.no-controls .wrapper {
	padding: 0;
}

.carousel ul {
	/* hide slider items until slider has initialised */
	display: none;	
}

.carousel .bx-wrapper {
  margin-bottom: 0;
}

.carousel .bx-wrapper ul.bxslider {
	/* show slider once initialised */
	display: block;
}

.carousel ul.bxslider li a {
	display: block;
	text-decoration: none;
}

.carousel.img-and-p ul li a:hover {
	text-decoration: underline;
}

.carousel ul li img {
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
}

.carousel ul li a:hover img {
	opacity: .5;
}

.carousel.img-and-p ul li p {
	margin-bottom: 0;
}

.carousel .bx-wrapper .bx-prev {
	left: -45px;
}

.carousel .bx-wrapper .bx-next {
	right: -45px;
}

.carousel.img-and-p.aspect-ratio-square .bx-wrapper .bx-controls-direction a {
	top: 50%;
}

/* 
1:1 ratio image with <p> below - vertically centre the direction controls on the image.
Images are responsive but we can easily determine the width from the viewport width less the fixed padding/margins.
Image aspect ratio is square 1:1, and on the smallest screens only one image shows at a time, so controls need to be 1/2 the image width from the top.
.aspect-ratio-square class assumes slide width of 300px. Add .width-400 for 400px slide width.
*/
.carousel.img-and-p.aspect-ratio-square ul li img {
	margin-bottom: 16px;
}

.carousel.img-and-p.aspect-ratio-square .bx-wrapper .bx-controls-direction a {
	top: 135px;
	top: calc((100vw - 120px) / 2);
}

@media screen and (min-width: 421px) {
	.carousel.img-and-p.aspect-ratio-square .bx-wrapper .bx-controls-direction a {
		top: 108px;
		top: calc((100vw - 136px) / 4); /* At this screen size we're showing two images now, so controls need to be 1/4 of the total combined image width. */
	}
	.carousel.img-and-p.aspect-ratio-square.width-400 .bx-wrapper .bx-controls-direction a {
		top: 135px;
		top: calc((100vw - 120px) / 2); /* Still showing only one image here */
	}
}

@media screen and (min-width: 522px) {
	.carousel.img-and-p.aspect-ratio-square.width-400 .bx-wrapper .bx-controls-direction a {
		top: 108px;
		top: calc((100vw - 136px) / 4); /* At this screen size we're showing two images now, so controls need to be 1/4 of the total combined image width. */
	}
}

@media screen and (min-width: 737px) {
	.carousel.img-and-p.aspect-ratio-square .bx-wrapper .bx-controls-direction a {
		top: 114px;
		top: calc((100vw - 142px) / 6); /* At this screen size we're showing three images now, so controls need to be 1/6 of the total combined image width. */
	}
}

@media screen and (min-width: 768px) {
	.carousel.img-and-p.aspect-ratio-square .bx-wrapper .bx-controls-direction a {
		top: 100px;	/* Showing 3 images at constant width of 199px, so controls position doesn't change until next break point */
	}
	.carousel.img-and-p.aspect-ratio-square.width-400 .bx-wrapper .bx-controls-direction a {
		top: 153px;	/* Showing 2 images at constant width of 307px, so controls position doesn't change until next break point */
	}
}

@media screen and (min-width: 992px) {
	.carousel.img-and-p.aspect-ratio-square .bx-wrapper .bx-controls-direction a,
	.carousel.img-and-p.aspect-ratio-square.width-400 .bx-wrapper .bx-controls-direction a {
		top: 136px;	/* Showing 3 images at constant width of 272px, so controls position doesn't change until next break point */
	}
}

@media screen and (min-width: 1200px) {
	.carousel.img-and-p.aspect-ratio-square .bx-wrapper .bx-controls-direction a {
		top: 125px;	/* Showing 4 images at constant width of 250px, so controls position doesn't change until next break point */
	}
	.carousel.img-and-p.aspect-ratio-square.width-400 .bx-wrapper .bx-controls-direction a {
		top: 170px;	/* Showing 3 images at constant width of 339px, so controls position doesn't change until next break point */
	}
}

/* 
4:3 ratio image with <p> below - vertically centre the direction controls on the image.
Images are responsive but we can easily determine the width from the viewport width less the fixed padding/margins.
Image aspect ratio is 4:3, and on the smallest screens only one image shows at a time, so controls need to be 3 eighths the image width from the top.
.aspect-ratio-4-3 class assumes slide width of 300px. Add .width-400 for 400px slide width.
*/
.carousel.img-and-p.aspect-ratio-4-3 ul li img {
	margin-bottom: 16px;
}

.carousel.img-and-p.aspect-ratio-4-3 .bx-wrapper .bx-controls-direction a {
	top: 90px;
	top: calc((100vw - 120px) * 3 / 8);
}

@media screen and (min-width: 421px) {
	.carousel.img-and-p.aspect-ratio-4-3 .bx-wrapper .bx-controls-direction a {
		top: 108px;
		top: calc((100vw - 136px) * 3 / 16); /* At this screen size we're showing two images now, so controls need to be 3/16 of the total combined image width. */
	}
	.carousel.img-and-p.aspect-ratio-4-3.width-400 .bx-wrapper .bx-controls-direction a {
		top: 90px;
		top: calc((100vw - 120px) * 3 / 8); /* Still showing only one image here */
	}
}

@media screen and (min-width: 521px) {
	.carousel.img-and-p.aspect-ratio-4-3.width-400 .bx-wrapper .bx-controls-direction a {
		top: 108px;
		top: calc((100vw - 136px) * 3 / 16); /* At this screen size we're showing two images now, so controls need to be 3/16 of the total combined image width. */
	}
}

@media screen and (min-width: 737px) {
	.carousel.img-and-p.aspect-ratio-4-3 .bx-wrapper .bx-controls-direction a {
		top: 114px;
		top: calc((100vw - 142px) / 8); /* At this screen size we're showing three images now, so controls need to be 1/8 of the total combined image width. */
	}
	.carousel.img-and-p.aspect-ratio-4-3.width-400 .bx-wrapper .bx-controls-direction a {
		top: 108px;
		top: calc((100vw - 136px) * 3 / 16); /* Still showing two images here */
	}
}

@media screen and (min-width: 768px) {
	.carousel.img-and-p.aspect-ratio-4-3 .bx-wrapper .bx-controls-direction a {
		top: 83px;	/* Showing 3 images at constant size of 220x165px, so controls position doesn't change until next break point */
	}
	.carousel.img-and-p.aspect-ratio-4-3.width-400 .bx-wrapper .bx-controls-direction a {
		top: 115px;	/* Showing 2 images at constant size of 307x230px, so controls position doesn't change until next break point */
	}
}

@media screen and (min-width: 992px) {
	.carousel.img-and-p.aspect-ratio-4-3 .bx-wrapper .bx-controls-direction a {
		top: 110px;	/* Showing 3 images at constant size of 293x220px, so controls position doesn't change until next break point */
	}
	.carousel.img-and-p.aspect-ratio-4-3.width-400 .bx-wrapper .bx-controls-direction a {
		top: 102px;	/* Showing 3 images at constant size of 272x204px, so controls position doesn't change until next break point */
	}
}

@media screen and (min-width: 1200px) {
	.carousel.img-and-p.aspect-ratio-4-3 .bx-wrapper .bx-controls-direction a {
		top: 94px;	/* Showing 4 images at constant size of 250x188px, so controls position doesn't change until next break point */
	}
	.carousel.img-and-p.aspect-ratio-4-3.width-400 .bx-wrapper .bx-controls-direction a {
		top: 127px;	/* Showing 3 images at constant size of 339x254px, so controls position doesn't change until next break point */
	}
}


/* 
Jobs carousel has logo images that are different aspect ratios - vertically centre the logo images within their container divs.
We need to calculate the height of the container divs so that we can then specify the image position. Since it's a square container, the height = width.
Images are responsive but we can easily determine the width from the viewport width less the fixed padding/margins.
Image container ratio is square 1:1, and on the smallest screens only one image shows at a time.
*/
#jobsCarousel ul.bxslider li a div {
	position: relative;
	height: 270px;
	height: calc(100vw - 120px);
}

#jobsCarousel ul.bxslider li a div img {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
}

@media screen and (min-width: 421px) {
	#jobsCarousel ul.bxslider li a div {
		height: 216px;
		height: calc((100vw - 136px) / 2); /* At this screen size we're showing two images now, so container height needs to be 1/2 of the total combined image width. */
	}
}

@media screen and (min-width: 737px) {
	#jobsCarousel ul.bxslider li a div {
		height: 228px;
		height: calc((100vw - 142px) / 3); /* At this screen size we're showing three images now, so container height needs to be 1/3 of the total combined image width. */
	}
}

@media screen and (min-width: 768px) {
	#jobsCarousel ul.bxslider li a div {
		height: 199px;	/* Showing 3 images at constant width of 199px, so container height doesn't change until next break point */
	}
}

@media screen and (min-width: 992px) {
	#jobsCarousel ul.bxslider li a div {
		height: 272px;	/* Showing 3 images at constant width of 272px, so container height doesn't change until next break point */
	}
}

@media screen and (min-width: 1200px) {
	#jobsCarousel ul.bxslider li a div {
		height: 250px;	/* Showing 4 images at constant width of 250px, so container height doesn't change until next break point */
	}
}





/*
Responsive iframes
Usage:
- Put iframe inside a container div with class intrinsic-container.
- Also add intrinsic-container-16x9 or intrinsic-container-4x3 class to container div.
- Remove width/height attributes from iframe tag.
*************************************************/
.intrinsic-container {
  position: relative;
  height: 0;
  overflow: hidden;
}
 
/* 16x9 Aspect Ratio */
.intrinsic-container-16x9 {
  padding-bottom: 56.25%;
}
 
/* 4x3 Aspect Ratio */
.intrinsic-container-4x3 {
  padding-bottom: 75%;
}
 
.intrinsic-container iframe {
  position: absolute;
  top:0;
  left: 0;
  width: 100%;
  height: 100%;
}







/* General Page Structure
-------------------------------------------------------------------------------------- */

html, body {
	height: 100%;
}

#content .container,
#content .container-fluid {
	padding-top: 50px;
	padding-bottom: 50px;
}

.gmap {
	height: 400px;
}

@media screen and (min-width: 992px) {
	#content .container,
	#content .container-fluid {
		padding-top: 75px;
		padding-bottom: 75px;
	}
}

@media screen and (min-width: 1200px) {
	#content .container,
	#content .container-fluid {
		padding-top: 100px;
		padding-bottom: 100px;
	}
}





/* Header
-------------------------------------------------------------------------------------- */
header {
	background: white;
}

body.home header {
	background: none;
}

header .top-bar {
	background: #343434;
	border-bottom: 1px solid white;
	color: white;
	font-size: 0.8em;
}

body.home header .top-bar {
	background: none;
}

header .top-bar a {
	color: white;
	text-decoration: none;
}

header .top-bar a:hover {
	text-decoration: underline;
}

header .top-bar .find-us {
	float: left;
	width: 50%;
	padding: 5px 10px;
	border-right: 1px solid white;
}

header .top-bar .opening-hours {
	float: right;
	width: 50%;
	padding: 5px 10px;
	text-align: right;
}

header .logo img {
	display: block;
	width: 100px;
	height: auto;
	margin: -45px auto 15px auto;
}

body.home header .logo img {
	width: 150px;
}

@media screen and (min-width: 768px) {

	header .top-bar {
		font-size: 1em;
	}

	header .top-bar .find-us {
		width: auto;
		padding: 5px 10px;
	}

	header .top-bar .opening-hours {
		float: left;
		width: auto;
		padding: 5px 10px;
	}

	header .logo img {
		width: 150px;
		margin: 20px auto 10px auto;
	}

	body.home header .logo img {
		width: 166px;
	}
	
}

@media screen and (min-width: 992px) {

	body.home header .logo img {
		width: 252px;
	}
	
}







/* Mobile nav
-------------------------------------------------------------------------------------- */
#mobileNavTrigger {
	color: #343434;
	font-size: 0.8em;
}

#mobileNavTrigger a.mburger:active,
#mobileNavTrigger a.mburger:focus,
#mobileNavTrigger a.mburger:hover {
	color: #343434;
}

body.home #mobileNavTrigger {
	color: white;
	font-size: 0.8em;
}

body.home #mobileNavTrigger a.mburger:active,
body.home #mobileNavTrigger a.mburger:focus,
body.home #mobileNavTrigger a.mburger:hover {
	color: #fff;
}




/* Main nav Superfish menu
-------------------------------------------------------------------------------------- */

#mainNav {
	font-family: 'Butler Regular', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* Hide 'Home' link on desktop menu (will still show on mobile) */
#mainNav ul.sf-menu li.home {
	display: none;
}

/*** ESSENTIAL STYLES ***/
.sf-menu, .sf-menu * {
	margin: 0;
	padding: 0;
	list-style: none;
}
.sf-menu li {
	position: relative;
}
.sf-menu ul {
	position: absolute;
	display: none;
	top: 100%;
	left: 0;
	z-index: 99;
}
.sf-menu > li {
	display: inline-block;
/* 
	float: left;
 */
}
.sf-menu li:hover > ul,
.sf-menu li.sfHover > ul {
	display: block;
}

.sf-menu a {
	display: block;
	position: relative;
}
.sf-menu ul ul {
	top: 0;
	left: 100%;
}


/*** SKIN ***/

/* styles for top level items */
.sf-menu {
	margin: 20px auto;
	text-align: center;
	text-transform: uppercase;
}

@media (min-width: 992px) {
	.sf-menu {
	}
}

.sf-menu > li > a {
	padding: 0;
	font-size: 16px;
	letter-spacing: -0.8px;
	color: #333;
	text-decoration: none;
	zoom: 1; /* IE7 */
}

body.home .sf-menu > li > a {
	color: white;
}

.sf-menu > li {
	white-space: nowrap; /* no need for Supersubs plugin */
	*white-space: normal; /* ...unless you support IE7 (let it wrap) */
	-webkit-transition: background .2s;
	transition: background .2s;
	margin-left: 10px;
}

.sf-menu > li:first-child {
	margin-left: 0;
}

.sf-menu > li > a:hover,
.sf-menu > li.sfHover > a:hover {
	color: #999;
}

body.home .sf-menu > li > a:hover,
body.home .sf-menu > li.sfHover > a:hover {
	color: #ccc;
}

@media (min-width: 992px) {
	.sf-menu > li > a {
		font-size: 16px;
		letter-spacing: 0;
	}

	.sf-menu > li {
		margin-left: 20px;
	}
}


/* styles for sub level items */
.sf-menu ul {
	box-shadow: 2px 2px 6px rgba(0,0,0,.2);
	min-width: 15em; /* allow long menu items to determine submenu width */
	*width: 15em; /* no auto sub width for IE7, see white-space comment below */
	text-align: left;
}

.sf-menu ul a {
	border-left: 1px solid #ddd;
	border-top: 1px solid #ddd;
	padding: .55em 1em;
	text-decoration: none;
	color: #333;
	zoom: 1; /* IE7 */
}

.sf-menu ul li {
	background-color: #fff;
	background-position: 8px 7px;
	background-repeat: no-repeat;
	white-space: nowrap; /* no need for Supersubs plugin */
	*white-space: normal; /* ...unless you support IE7 (let it wrap) */
	-webkit-transition: background .2s;
	transition: background .2s;
}

.sf-menu ul li:hover,
.sf-menu ul li.sfHover {
	background-color: #f8f8f8;
	box-shadow: 0 0 4px #ddd inset;
	/* only transition out, not in */
	-webkit-transition: none;
	transition: none;
}

.sf-menu ul li a:hover,
.sf-menu ul li.sfHover a:hover {
/* 
	color: #ec008c;
 */
	color: #000;
}


/*** arrows (for all except IE7) **/
.sf-arrows .sf-with-ul {
	padding-right: 2.5em;
	*padding-right: 1em; /* no CSS arrows for IE7 (lack pseudo-elements) */
}

/* styling for both css and generated arrows */
.sf-arrows .sf-with-ul:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 1em;
	margin-top: -3px;
	height: 0;
	width: 0;
	/* order of following 3 rules important for fallbacks to work */
	border: 5px solid transparent;
	border-top-color: #ddd;
}

.sf-arrows > li > .sf-with-ul:focus:after,
.sf-arrows > li:hover > .sf-with-ul:after,
.sf-arrows > .sfHover > .sf-with-ul:after {
	border-top-color: #333;
}

/* styling for right-facing arrows */
.sf-arrows ul .sf-with-ul:after {
	margin-top: -5px;
	margin-right: -3px;
	border-color: transparent;
	border-left-color: #ddd;
}

.sf-arrows ul li > .sf-with-ul:focus:after,
.sf-arrows ul li:hover > .sf-with-ul:after,
.sf-arrows ul .sfHover > .sf-with-ul:after {
	border-left-color: #333;
}





/* Title bar
-------------------------------------------------------------------------------------- */

#content .titleBar .container {
	background: none;
	padding-top: 15px;
	padding-bottom: 15px;
}

#content .titleBar {
	background: #7fb344;
}

#content .titleBar h1 {
	color: #fff;
	text-align: center;
}

#content .titleBar + .container {
	padding-top: 15px;
}





/* Breadcrumbs
-------------------------------------------------------------------------------------- */

nav.breadcrumbs {
	text-align: center;
}

nav.breadcrumbs ul {
	margin: 0 0 15px 0;
	padding: 0;
	list-style-type: none;
}

nav.breadcrumbs ul li {
	display: inline-block;
	margin: 0 5px 0 0;
	padding: 0;
	color: #fff;
}

nav.breadcrumbs ul li:first-child {
	padding: 0;
}

nav.breadcrumbs ul li:before {
	content: "> ";
}

nav.breadcrumbs ul li:first-child:before {
	content: "";
}

nav.breadcrumbs ul a {
	font-weight: bold;
	color: #fff;
}





/* Subnav
-------------------------------------------------------------------------------------- */

.subNav h3 {
	font-size: 24px;
	font-weight: 600;
}

.subNav ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.subNav > ul {
	border-top: 1px solid #aaa;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.subNav ul li {
	margin: 0;
	padding: 0;
}

.subNav ul li a {
	display: block;
	margin: 0;
	padding: 10px 20px;
	background: #f0f0f0;
	background: rgba(0, 0, 0, 0.1);
	border-left: 1px solid #aaa;
	border-right: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
	color: #000;
}

.subNav ul li a:hover {
	background: #7fb344;
	text-decoration: none;
	color: #fff;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.15) inset;
}

.subNav > ul > li:first-child > a {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.subNav > ul > li:last-child > a:last-child,
.subNav ul > li:last-child ul > li:last-child > a:last-child {
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}

.subNav ul li a.current {
	font-weight: bold;
}

.subNav ul ul li a {
	padding-left: 40px;
}

/* Page ID 26 (Medical Practice) */
.subNav.pageId26 p {
	position: relative;
	padding-left: 24px;
}

.subNav.pageId26 p strong {
	line-height: 2;
}

.subNav.pageId26 p span.glyphicon {
	position: absolute;
	left: 4px;
	top: 6px;
}

.subNav.pageId26 p.web span.glyphicon {
	top: 3px;
}













/* CMS page content
-------------------------------------------------------------------------------------- */
/* 
.container.cms .cms-content a {
	color: #585858;
	text-decoration: underline dashed;
}

.container.cms .cms-content a:hover {
	color: #585858;
	text-decoration: underline solid;
}
 */
 
.text-center li,
.text-center td
{
	text-align: left;
}







/* Footer
-------------------------------------------------------------------------------------- */

footer {
	background: #343434;
	padding: 50px 0 0 0;
}

footer a,
footer p,
footer li,
footer i,
footer h4 {
	color: #ccc;
	text-decoration: none;
}

footer a:hover {
	color: #ccc;
	text-decoration: underline;
}

footer h4 {
	margin: 0;
}

footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

footer li::before {
	content: "-";
	padding-right: 8px;
}

footer .address {
	position: relative;
	min-height: 115px;
}

footer .address img {
	position: absolute;
	left: 15px;
	bottom: 0;
	width: 150px;
	height: auto;
}

footer .address p {
	position: absolute;
	left: 195px;
	bottom: -4px;
	color: #ccc;
	margin: 0;
}

footer .visit {
	padding-top: 35px;
}

footer .links {
	padding-top: 25px;
}

footer .bordered {
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin-top: 30px;
	padding-top: 15px;
	padding-bottom: 15px;
}

footer .socials a {
	margin-right: 5px;
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
	font-size: 19px;
}

footer .socials a:hover {
	text-decoration: none;
	opacity: .5;
}

footer .contact h4 {
	margin: 3px 0 0 0;
	text-align: right;
}

footer .credits {
	padding: 15px 0;
}

footer .credits p {
	margin: 0;
	font-size: 11px;
	text-align: center;
	color: #666;
}

footer .credits p a {
	color: #666;
}

@media screen and (min-width: 768px) {

	footer .visit,
	footer .links {
		padding-top: 0;
	}

	footer .credits .left p {
		text-align: left;
	}

	footer .credits .right p {
		text-align: right;
	}

}






/* Top link
-------------------------------------------------------------------------------------- */

#toTop {
	position: fixed;
	bottom: 30px;
	right: 30px;
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	text-decoration: none;
	background: #eee;
	background: rgba(0, 0, 0, 0.25);
	opacity: 0.8;
	filter: Alpha(opacity=80);
	color: #f0f0f0;
	font-size: 20px;
	outline: none;
	border-radius: 5px;
	-webkit-transition: .2s;
	-moz-transition: .2s;
	transition: .2s;
}

#toTop:hover {
	opacity: 1;
	filter: Alpha(opacity=100);
	background: rgba(0, 0, 0, 0.5);
}





/* Retina Specific CSS
-------------------------------------------------------------------------------------- */

/* 
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (   min--moz-device-pixel-ratio: 2),
only screen and (     -o-min-device-pixel-ratio: 2/1),
only screen and (        min-device-pixel-ratio: 2),
only screen and (                min-resolution: 192dpi),
only screen and (                min-resolution: 2dppx) {

	header a.logoStandard img {
		display: none !important;
	}

	header a.logoRetina img {
		display: inline-block;
	}
 */

/* set background size to dimensions of standard image
	.p-overlay-icons a {
		background-image: url("../images/icons/portfolio-overlay@2x.png");
		background-size: 112px 28px;
		-moz-background-size: 112px 28px;
		-webkit-background-size: 112px 28px;
		-o-background-size: 112px 28px;
	}
*/






/* Home content
-------------------------------------------------------------------------------------- */


body.home {
	background-image: url('/images/site/large/2.jpg?1732872740');
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
}

.home-splash {
	position: relative;
	text-align: center;
	height: calc(100vh - 212px); /* Subtract 129px for header height, plus another 83px for the Mobile Safari address bar (without that it leaves an empty space when scrolling) */
}

.home-splash h1 {
	position: absolute;
	top: 40%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: white;
	text-align: center;
	width: 250px;
	margin: 0;
	font-size: 2.0em;
}

.home-splash h1 strong {
	font-weight: bold;
}

.home-splash a.scroll-down {
	position: absolute;
	bottom: 30px;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	color: white;
	font-size: 0.8em;
 }

body.home #welcome {
	text-align: center;
}

body.home #welcome .container {
	text-align: center;
}


@media screen and (min-width: 768px) {
	body.home {
		background-image: url('/images/site/large/1.jpg?1732872505');
		background-size: cover;
	}

	.home-splash {
		height: calc(100vh - 227px); /* Subtract 204px for header height, plus an extra 33px for Mobile Safari on iPad */
	}

	.home-splash h1 {
		font-size: 3em;
		width: 350px;
	}
}

@media screen and (min-width: 992px) {
	.home-splash {
		height: calc(100vh - 245px); /* Subtract 245px for header height */
	}
}

@media screen and (min-width: 1200px) {
	.home-splash h1 {
		font-size: 3.5em;
		width: 420px;
	}

	.home-splash a.scroll-down {
		bottom: 30px;
	}
}

body.home #explore-stores h2,
body.home #meet-traders h2 {
	margin-bottom: 20px;
}

body.home #explore-stores img,
body.home #meet-traders img {
	margin-bottom: 16px;
}

body.home #explore-stores p,
body.home #meet-traders p {
	margin-bottom: 0;
}



.home.stores {
/* 
   background: #58585a;
 */
}

.home.stores h2 {
	color: #fff;
	text-align: center;
	margin-bottom: 20px;
}

.home.stores .row.logos a {
	width: 100%;
	height: 120px;
	display: block;
	margin: 0 auto 30px auto;
	opacity: .2;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: contain;
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
	text-indent: -9999px;
	text-align: center;
}

.home.stores .row.logos.long a {
	height: 70px;
}

.home.stores .row.logos a:hover {
	opacity: 1;
}

/*
.home.stores .row.logos a.central-bean {
	background-image: url('/images/storelogos/small/22.png');
}
*/

.home.stores .row.logos a.browns {
	background-image: url('../media/templateImages/homeBrandLogoBrowns.png');
}

.home.stores .row.logos a.costa {
	background-image: url('../media/templateImages/homeBrandLogoCosta.png');
}

.home.stores .row.logos a.fatface {
	background-image: url('../media/templateImages/homeBrandLogoFatFace.png');
}

.home.stores .row.logos a.halfords {
	background-image: url('../media/templateImages/homeBrandLogoHalfords.png');
}

.home.stores .row.logos a.jysk {
	background-image: url('../media/templateImages/homeBrandLogoJysk.png');
}

.home.stores .row.logos a.laura {
	background-image: url('../media/templateImages/homeBrandLogoLauraAshley.png');
}

.home.stores .row.logos a.marks {
	background-image: url('../media/templateImages/homeBrandLogoMarksAndSpencer.png');
}

.home.stores .row.logos a.mountain {
	background-image: url('../media/templateImages/homeBrandLogoMountainWarehouse.png');
}

.home.stores .row.logos a.newlook {
	background-image: url('../media/templateImages/homeBrandLogoNewLook.png');
}

.home.stores .row.logos a.next {
	background-image: url('../media/templateImages/homeBrandLogoNext2.png');
}

.home.stores .row.logos a.poundland {
	background-image: url('../media/templateImages/homeBrandLogoPoundland.png');
}

.home.stores .row.logos a.prezzo {
	background-image: url('../media/templateImages/homeBrandLogoPrezzo.png');
}

.home.stores .row.logos a.seasalt {
	background-image: url('../media/templateImages/homeBrandLogoSeasalt.png');
}

.home.stores .row.logos a.therange {
	background-image: url('../media/templateImages/homeBrandLogoTheRange.png');
}

.home.stores .row.logos a.wilko {
	background-image: url('../media/templateImages/homeBrandLogoWilko.png');
}












/* 404 error page
-------------------------------------------------------------------------------------- */

#content .container.error404 {
	background-image: url('../media/templateImages/404.png');
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: 75%;
}

#content .titleBar + .container.error404 {
	padding-top: 50px;
	padding-bottom: 50px;
}

@media screen and (min-width: 768px) {
	#content .titleBar + .container.error404 {
		padding-top: 100px;
		padding-bottom: 100px;
	}
}

@media screen and (min-width: 992px) {
	#content .titleBar + .container.error404 {
		padding-top: 150px;
		padding-bottom: 150px;
	}
}

@media screen and (min-width: 1200px) {
	#content .titleBar + .container.error404 {
		padding-top: 200px;
		padding-bottom: 200px;
	}
}












/* About Us page
-------------------------------------------------------------------------------------- */

#about-us-page #timelineCarousel li h3 {
    font-size: 1.3em;
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	margin-top: 0;
	color: #5aabea;
}

@media screen and (min-width: 768px) {
	#about-us-page #contact h2 {
		font-size: 3em;
		margin-bottom: 1em;
	}
}

@media screen and (min-width: 992px) {
	#about-us-page #contact h2 {
		margin-bottom: 0;
		margin-top: 106px;
	}
}

#about-us-page #jobs h2 {
	margin-bottom: 1em;
}

@media screen and (min-width: 768px) {
	#about-us-page #become-a-retailer h2 {
		font-size: 3em;
	}
	#about-us-page #become-a-retailer h2 + p {
		margin-bottom: 3em;
	}
}

@media screen and (min-width: 992px) {
	#about-us-page #become-a-retailer h2 {
		margin-top: 106px;
	}
}






/* Visit Us page
-------------------------------------------------------------------------------------- */

#visit-us-page #how-to-get-here img {
	max-width: 30%;
	height: auto;
	margin: 30px 0 0 0;
	padding: 0;
}

#visit-us-page #parking-info div.col-sm-6:last-of-type h2 {
	margin-top: 50px;
}

#visit-us-page #parking-info div.container:last-of-type {
/* 
	padding-top: 0;
 */
}

#visit-us-page #accessibility i.fas {
	border: 2px solid white;
	border-radius: 5px;
	padding: 5px;
}

@media screen and (min-width: 768px) {
	#visit-us-page #how-to-get-here img {
		max-width: 70%;
		height: auto;
		margin: 30px 0;
	}
	
	#visit-us-page #how-to-get-here img.car {
		padding-top: 51px;
	}
	
	#visit-us-page #how-to-get-here img.bus {
		padding-top: 38px;
	}
	
	#visit-us-page #how-to-get-here img.taxi {
		padding-top: 19px;
	}
	
	#visit-us-page #how-to-get-here img.train {
		max-width: 32%;
	}

	#visit-us-page #parking-info div.col-sm-6:last-of-type h2 {
		margin-top: 0;
	}
	
	#visit-us-page #parking-charges .text h4 {
		margin-top: 5px;
	}
}

@media screen and (min-width: 992px) {
	#visit-us-page #how-to-get-here img.car {
		padding-top: 63px;
	}
	
	#visit-us-page #how-to-get-here img.bus {
		padding-top: 46px;
	}
	
	#visit-us-page #how-to-get-here img.taxi {
		padding-top: 27px;
	}
	
	#visit-us-page #parking-charges .text h2 {
		font-size: 2em;
	}
}

@media screen and (min-width: 1200px) {
	#visit-us-page #how-to-get-here img.car {
		padding-top: 76px;
	}
	
	#visit-us-page #how-to-get-here img.bus {
		padding-top: 55px;
	}
	
	#visit-us-page #how-to-get-here img.taxi {
		padding-top: 32px;
	}
	
	#visit-us-page #parking-charges .text h2 {
		font-size: 3em;
	}
	
	#visit-us-page #parking-charges .text h4 {
		margin-top: 20px;
	}
}

#visit-us-page #explore-centre h2 {
	margin-bottom: 20px;
}







/* Stores index & market index
-------------------------------------------------------------------------------------- */

#stores-index-page #cat-links a.btn,
#stores-index-page #cat-links a.clear {
	display: block;
	margin-bottom: 20px;
}

#stores-index-page #cat-links a.clear {
	display: block;
	margin-bottom: 20px;
}

#stores-index-page #cat-links a.btn-primary {
	opacity: 0.5;
}

#stores-index-page #storesIndexCarousel ul li a img {
	margin: 30px 0 15px 0;
}

#stores-index-page #storesIndexCarousel ul li a:first-of-type img {
	margin-top: 0;
}

#stores-index-page #storesIndexCarousel ul li h4,
#stores-index-page #storesIndexCarousel ul li p {
	margin: 0;
}

#stores-index-page #storesIndexCarousel .bx-wrapper .bx-pager {
	position: static;
}

@media screen and (min-width: 768px) {
	#stores-index-page #cat-links {
		margin-bottom: 30px;
	}
	
	#stores-index-page #cat-links a.btn,
	#stores-index-page #cat-links a.clear {
		display: inline-block;
		margin-bottom: 0;
	}

	#stores-index-page #cat-links a.btn:first-of-type {
		margin-left: 45px;
	}

	#stores-index-page #cat-links a.clear {
		margin-left: 10px;
	}
}







/* Store detail (default)
-------------------------------------------------------------------------------------- */

#store-details-page .full-width-feature:first-of-type h2 {
	font-size: 2em;
}

#store-details-page #store-description a {
	color: #333;
	text-decoration: underline;
}

#store-details-page #store-description a:hover {
	color: #999;
	text-decoration: underline;
}

#store-details-page #store-description a.btn-primary {
	color: white;
	text-decoration: none;
}

#store-details-page #store-description a.btn-primary:hover {
	color: white;
	text-decoration: none;
}








/* Store detail (market stores)
-------------------------------------------------------------------------------------- */

#store-details-page.market .full-width-feature:first-of-type h2 {
	font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 1.5em;
	text-transform: none;
}

@media screen and (min-width: 992px) {
	#store-details-page.market .full-width-feature:first-of-type h2 {
		font-size: 2em;
	}
}








/* Store detail (office tenants)
-------------------------------------------------------------------------------------- */









/* Offices index
-------------------------------------------------------------------------------------- */
#offices-page #items .container {
	padding-top: 0;
}









/* Events/news/offers index
-------------------------------------------------------------------------------------- */

#events-page #marketsWhatsOn {
	padding-bottom: 0;
}

#events-page #marketsWhatsOn img {
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
}

#events-page #marketsWhatsOn a:hover img {
	opacity: .5;
}

#itemsIndexCarousel ul li a img {
	margin: 30px 0 15px 0;
}

#itemsIndexCarousel ul li a:first-of-type img {
	margin-top: 0;
}

#itemsIndexCarousel ul li h4,
#itemsIndexCarousel ul li p {
	margin: 0;
}

#itemsIndexCarousel ul li h4 {
	font-size: 1em;
}

#itemsIndexCarousel .bx-wrapper .bx-pager {
	position: static;
}

@media screen and (min-width: 768px) {
	#itemsIndexCarousel ul li h4 {
		font-size: 1.2em;
	}
}












/* Recipes
-------------------------------------------------------------------------------------- */
#recipe-index-page #itemsIndexCarousel h4 {
	display: block;
	min-height: 2.4em;
}

#recipe-detail-page #recipe li {
	margin-bottom: 1em;
}









/* Offer popup modal
-------------------------------------------------------------------------------------- */
#offerModal .modal-dialog {
	max-width: 600px;
	aspect-ratio: 3 / 2;
	margin: 10px;
}

#offerModal .modal-content {
	background: url('../media/templateImages/giftGuidePopupFiveValleys.jpg') no-repeat;
	background-size: cover;
	border-radius: 15px;
	border: none;
}

#offerModal .modal-body {
	padding: 0;
}

#offerModal #offerLink {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
}

@media screen and (min-width: 620px) {
	#offerModal .modal-dialog {
		margin: 30px auto;
	}
}








