body {
	font-size: 13pt;
}

header nav#main-nav > ul,
header nav#prod-groups {
	font-size: 1em;
}

header form.search-form {
	display: none;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: 0;
	transform: none;
	border-bottom: 1px solid #DDD
}

header form.search-form.visible {
	display: flex;
	width: auto;
}


header nav#prod-groups > ul.menu {
	display: none;
}

header nav#prod-groups > ul.compact {
	display: flex;
}

header nav#main-nav > ul.menu > li {
	display: none;
}

header nav#main-nav > ul.menu > li.basket,
header nav#main-nav > ul.menu > li.search {
	display: flex;
}


#site-banner {
	font-size: 0.7em;
}

#sidebar {
	float: none;
	width: 100%;
}

body.js #sidebar {
	display: none;
}

main div#body {
	padding-left: 0;
}

div.popup-menu ul {
	font-size: 0.8em;
}

main {
	padding: 10px;
	margin: 0;
	clear: both;
	min-height: 0px;
}



body.home main {
	padding: 0;
	margin-top: 0;
}

body.home #sidebar {
	margin-bottom: 0;
}

footer p.smallprint {
	font-size: 0.8em;
}

body.home footer {
	margin-top: 0;
}

p, li, cite {
	margin-bottom: 0.4em;
}

div.cols {
	flex-wrap: wrap;
}

div.cols > div.col,
div.cols > div.col-span {
	width: 100%;
}

div.cols,
body.home div.cols.compact-mobile {
	margin-bottom: 0;
}

div.cols > div.col {
	margin-bottom: 25px;
}

div.cols.compact-mobile > div.col {
	margin-bottom: 10px;
}

div.countdown {
	font-size: 0.6em;
}


#privacy-banner {
	font-size: 0.8em;
}

#privacy-banner span.privacy-buttons {
	display: block;
	margin-top: 0.5em;
}

@media (max-height: 500px) { 
	#privacy-banner {
		display: none;
	}
}


table {
	width: 100% !important;
	font-size: 0.8em;
}

iframe, object {
	width: 100%;
}

h1.category {
	font-size: 1.2em;
}

h1.category span {
	display: block;
}

ul.products {
	margin-right: -25px;
}

ul.products-small {
	text-align: center;
	margin-right: -10px;
}

ul.products > li {
	width: 50%;
}

@media (max-width: 425px) { 
	ul.products > li {
		width: 100%;
	}
}

ul.products > li.thumb-1.odd {
	width: 100%;
}

ul.products > li.thumb-2,
ul.products > li.thumb-3 {
	width: 100%;
}

ul.products.small-thumbs > li {
	width: 50%;
	font-size: 0.7em;
}

p.products-cols {
	float: right;
	display: block;
}

p.products-cols button {
	border-right: 1px solid #999;
	outline: 0;
	cursor: pointer;
	background-position: 50% 50%;
	background-size: 100%;
	background-repeat: no-repeat;
	width: 32px;
	height: 31px;
	text-indent: -2000px;
	overflow: hidden;
	background-color: transparent;
}

p.products-cols button.current {
	background-color: #CCC;
}

p.products-cols button:first-child {
	background-image: url(/graphics/select-large-thumbs.svg);
}

p.products-cols button:last-child {
	border-right: none;
	background-image: url(/graphics/select-small-thumbs.svg);
}

ul.products > li span.low-stock,
ul.products > li span.sizes span {
	font-size: 0.7em;
}

ul.products > li:hover span.controls {
	display: none;
}

body.js div.product-filters {
	padding: 10px;
}

body.js div.product-filters ul {
	font-size: 1.2em;
}

div.mobile-buttons {
	display: block;
}

div.product {
	margin-top: -10px;
}

div.product > h1 {
	margin-top: 0;
	clear: none;
}

p.product-results-return {
	float: left;
}

div.product h1 {
	font-size: 1.3em;
	text-align: center;
}

div.product ul.photo-thumbs,
div.product ul.photos,
div.product div.detail {
	max-width: 100%;
	padding-right: 0;
	float: none;
	margin-left: auto;
	margin-right: auto;
}

div.product ul.photo-thumbs {
	display: none;
	margin-left: -10px;
}

div.product ul.photo-thumbs li {
	clear: none;
	padding-left: 10px;
	max-width: 25%;
}



div.product ul.photos {
	height: auto;
	display: block;
}

div.product ul.photos li {
	padding: 0;
	display: block;
	max-width: 100%;
}

div.product div.photo-wrapper {
	position: relative;
	padding: 0;
	margin: 0 -10px 0.5em -10px;
	text-align: center;
}

div.product div.photo-wrapper > div.image-select {
	position: absolute;
	bottom: 8px;
	width: 100%;
}

div.product div.photo-wrapper > div.image-select > span {
    display: inline-block;
    text-indent: -1000px;
	border: 1px solid rgba(0,0,0,0.5);
	background-color: rgba(255,255,255,0.4);
    border-radius: 50%;
    width: 16px;
    height: 16px;
    margin: 0 6px;
}

div.product div.photo-wrapper span.image-select.current {
	border-color: rgba(255,255,255,0.6);
	background-color: rgba(0,0,0,0.7);
}


div.product div.detail {
	width: 100%;
	display: block;
}

div.product ul.fake-select,
div.product div.price {
	text-align: center;
}

div.product input.add,
div.product ul.fake-select a {
	/*font-size: 1.3em;*/
	padding: 5px 10px;
}

div.product ul.fake-select li {
	width: auto;
}



div.waiting {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(/graphics/ajax-loader.gif);
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-color: #EEE;
	background-color: rgba(255,255,255,0.9);
}



div.currency-selector,
div.currency-selector ul {
	max-width: 100%;
}

div.currency-selector ul li {
	width: 320px;
	max-width: 100%;
}



ul.gallery-home {
	min-height: 0;
}

@media screen and (orientation: portrait) { 
	body.home ul.gallery-home,
	body.home ul.gallery-home + ul.slideshow-controls {
		display: none;
	}
	
	ul.gallery-handheld {
		display: block;
	}
}

body.home ul.slideshow-controls {
	top: -35px;
	right: 0;
}

div.blog-feed {
	padding: 25px 0;
	padding: 10px;
}

div.blog-feed ul.feed li {
	width: 50%;
	margin-bottom: 25px;
}

ul.products li span.quick-shop {
	display: none;
}

ul.news li {
	width: 50%;
}

@media (max-width: 600px) { 
	ul.news li {
		width: 100%;
	}
}

/**********************************************************
 * Basket/Checkout                                        *
 **********************************************************/

div.checkout {
	flex-wrap: wrap;
	margin: 0;
}

div.basket-summary {
	order: 2;
	width: 100%;
	max-width: 600px;
	border-right: none;
	margin: 0 auto;
}

div.basket-summary div.basket {
	max-width: unset;
}

form.basket div.checkout-controls {
	background-color: #eee;
	margin: 0 -10px;
	padding: 10px 10px;
}

form.basket ul.basket-items li {
	width: 100%;
}

@media (max-width: 390px) { 
	form.basket div.checkout-links div.checkout-link,
	form.basket div.checkout-links div.checkout-link:nth-child(odd):last-child,
	form.checkout div.checkout-links div.checkout-link,
	form.checkout div.checkout-links div.checkout-link:last-child {
		flex-grow: 0;
		width: 200px;
		margin-right: 0;
	}
}

form.checkout {
	margin: 0 auto;
}

form.checkout fieldset.payment div.control {
	width: 100%;
}

form.checkout div.checkout-links fieldset > div {
	flex-wrap: wrap;
}

form.checkout div.details {
	display: block;
	border: 1px solid #DDD;
	padding: 10px;
}

form.checkout div.details > * {
	width: 100%;
	border: 0;
	margin: 0 0 1em 0;
	padding: 0;
}

form.checkout p.button {
	text-align: center;
}

#basket p.delivery-message {
	font-size: 0.55em;
}

form.basket div.voucher label {
	display: none;
}



/**********************************************************
 * Overlay                                                *
 **********************************************************/

#overlay-content {
    padding: 0;
	background-color: White;
    -webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0; 
}

#overlay-content div.overlay-controls {
	background-color: #AAA;
	color: White;
	padding: 5px;
	text-align: right;
}

#overlay-content div.overlay-controls a {
	color: White;
	font-size: 1.1em;
	text-transform: uppercase;
	text-decoration: none;
}


/**********************************************************
 * Forms                                                  *
 **********************************************************/

fieldset {
	margin: 1em 0;
}

fieldset div.inline {
	display: block;
}

fieldset div.inline > div {
	margin-right: 0;
}

.form-container label,
fieldset label {
	width: 100%;
	padding: 0;
	margin: 0;
	text-align: left;
}

label.invisible {
	display: none;
}

input,
select,
textarea {
	width: 100%;
	border-color: #333;
}

div.control input,
div.control select,
div.control textarea {
	padding: 1.5em 0.5em 0.25em 1em;
}

div.control.empty input, 
div.control.empty select, 
div.control.empty textarea, 
div.control label.hidden + input, 
div.control label.hidden + select, 
div.control label.hidden + textarea {
	padding-top: 1em;
	padding-bottom: 0.75em;
}

div.control.empty label {
	top: 1.25em;
}

div.control label, 
div.control span.label {
	top: 0.5em;
}

fieldset .control div.input {
	margin: 0;
	clear: both;
}

div.checkbox label, div.checkbox input {
	width: auto;
}


.buttons {
	margin-left: 0;
}

fieldset p.note {
	margin-left: 0;
}

ul.twitter-horizontal li {
	min-width: 250px;
}

form.mailing-list p.consent, 
form.mailing-list p.subscribe {
	padding-left: 0;
}

.form-container.narrow {
	width: 100%;
}

/**********************************************************
 * Gift Cards                                             *
 **********************************************************/
 
 
div.giftcard {
	font-size: 1em;
}

div.giftcard input {
	font-size: 1.5em
}

div.giftcard p.button {
	display: inline-block;
	position: static;
}



ul.wishlist li {
	width: 100%;
}

div.wishlist-search,
div.wishlist-share {
	width: 100%;
	float: none;
}


/**********************************************************
 * Shop the Feed                                          *
 **********************************************************/


ul.shop-the-feed > li {
	width: 50%;
}

div.shop-the-feed {
	display: block;
	margin: 0;
}

div.shop-the-feed > div {
	width: auto;
	margin-right: 0;
}