@charset "UTF-8";
body { font-family: 'Open Sans', sans-serif; font-weight: 300; line-height: 150%; }

h1 { font-weight: 400; margin: 0 0 15px 0; padding: 0; }

h2 { font-weight: 700; margin: 0 0 15px 0; padding: 0; font-size: 1.3em; }

h3 { font-weight: 700; margin: 0 0 15px 0; padding: 0; line-height: 150%; font-size: 1em; }

h4 { font-weight: 400; margin: 0 0 15px 0; padding: 0; }

p { font-weight: 300; margin: 0 0 15px 0; padding: 0; }

img { display: block; max-width: 100%; height: auto; }

a { color: #444; text-decoration: none; }
a:hover { text-decoration: none; }

.btn { border: none; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
.btn.btn-primary { background: #C90D50; text-align: center; text-transform: uppercase; padding: 12px 20px; }
.btn.btn-primary:hover { background: #7D0A30; }

.hide { position: absolute; left: -9999px; width: 0; height: 0; overflow: hidden; }

.price { font-weight: 400; }

.red { color: #C90D50; }

.title { color: #C90D50; font-weight: 400; }

.user-info span { display: none; }
@media (min-width: 992px) { .user-info span { display: inline-block; } }

@media (min-width: 768px) { header.header { position: fixed; left: 0; top: 0; width: 100%; height: 100px; text-align: right; background: #FFF; z-index: 20; padding-top: 10px; }
  header.header .container { position: relative; }
  header.header .container .titles h1 { float: left; }
  header.header .container nav.nav ul { list-style-type: none; margin: 0; padding: 45px 0 0 0; display: inline-block; width: 100%; }
  header.header .container nav.nav ul > li { margin: 0 0 0 20px; padding: 0; display: inline-block; }
  header.header .container .user-info { position: absolute; top: 10px; right: 15px; }
  .page-login header.header .titles h1 { float: none; }
  .page-login header.header .titles h1 a { margin: 0 auto; }
  .page-login .nav { display: none; }
  .page-wrapper { padding-top: 110px; padding-bottom: 150px; } }
.nav li .fa-search { font-size: 1.5em; color: #C90D50; }

.titles h1 a { display: block; background-image: url(/img/logo.full-01.svg); background-size: 100% auto; background-repeat: no-repeat; width: 300px; max-width: 100%; height: 100px; }

.range-summary a { display: block; position: relative; padding-top: 60%; border: solid 1px #C90D50; margin-bottom: 15px; }
.range-summary a .summary-img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: hidden; }
.range-summary a .summary-img img { width: 100%; height: auto; }
.range-summary a .summary-title { position: absolute; bottom: 0; left: 0; width: 100%; padding: 15px; text-align: center; z-index: 10; background: rgba(0, 0, 0, 0.5); }
.range-summary a .summary-title h3 { color: #FFF; margin: 0; font-weight: 300; font-size: 1.5em; }

.product-summary { position: relative; }
.product-summary a.summary-url { display: block; position: relative; border: solid 1px #C90D50; margin-bottom: 15px; height: 370px; }
@media (min-width: 768px) { .product-summary a.summary-url { height: 390px; } }
@media (min-width: 1200px) { .product-summary a.summary-url { height: 370px; } }
.product-summary a.summary-url .summary-img { height: 200px; padding: 20px; }
.product-summary a.summary-url .summary-img img { margin: 0 auto; max-height: 100%; }
.product-summary a.summary-url .summary-info { padding: 20px; }
.product-summary a.summary-url .summary-info h3 { margin: 0; font-weight: 300; font-size: 1.1em; }
.product-summary a.summary-url .summary-info p { margin: 0; }
.product-summary .add-to-basket { position: absolute; bottom: 10px; right: 10px; }

.add-to-basket, .btn-primary { text-align: right; background: #C90D50; display: inline-block; color: #FFF; padding: 5px 13px 5px 10px; }
.add-to-basket:hover, .btn-primary:hover { background: #7D0A30; color: #FFF; }
.add-to-basket:focus, .btn-primary:focus { color: #FFF; }
.add-to-basket .fa, .btn-primary .fa { font-size: 1.5em; }

.product-filters { border: solid 1px #C90D50; padding: 10px 20px; margin-bottom: 15px; }
.product-filters ul { list-style-type: none; margin: 0; padding: 0; }
.product-filters ul li { display: inline-block; margin: 0; padding: 0; }
.product-filters ul li label { font-weight: 300; padding: 5px 20px 5px 0; }

.row > .col-sm-4:nth-child(3n+4) { clear: both; }
.row > .col-sm-3:nth-child(4n+5) { clear: both; }

.searchBlock, .addressSearch { position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.8); z-index: 30; display: none; }
.searchBlock .container, .addressSearch .container { position: relative; }
@media (min-width: 768px) { .searchBlock, .addressSearch { padding-top: 60px; } }
.searchBlock .closeSearch, .addressSearch .closeSearch { position: absolute; right: 12px; top: -15px; font-size: 2em; color: #FFF; cursor: pointer; }
.searchBlock .form-group, .addressSearch .form-group { position: relative; }
.searchBlock .form-group input, .addressSearch .form-group input { border: none; border-bottom: solid 1px #CCC; background: none; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; color: #fff; }
.searchBlock .form-group input::placeholder, .addressSearch .form-group input::placeholder { color: #ccc; }
.searchBlock .emptySearch, .addressSearch .emptySearch { position: absolute; right: 10px; top: 10px; }
.searchBlock .searchResults, .searchBlock .address-searchResults, .addressSearch .searchResults, .addressSearch .address-searchResults { padding-top: 40px; color: #FFF; padding-bottom: 250px; overflow-y: scroll; /* has to be scroll, not auto */ -webkit-overflow-scrolling: touch; }
.searchBlock .searchResults h3, .searchBlock .address-searchResults h3, .addressSearch .searchResults h3, .addressSearch .address-searchResults h3 { font-weight: 400 !important; font-size: 1.3em; }
.searchBlock .searchResults a, .searchBlock .address-searchResults a, .addressSearch .searchResults a, .addressSearch .address-searchResults a { color: #FFF; text-decoration: none; }
.searchBlock .searchResults ul, .searchBlock .address-searchResults ul, .addressSearch .searchResults ul, .addressSearch .address-searchResults ul { color: #FFF; }
.searchBlock .searchResults ul li, .searchBlock .address-searchResults ul li, .addressSearch .searchResults ul li, .addressSearch .address-searchResults ul li { font-size: 1.2em; margin-bottom: 10px; }
.searchBlock .searchResults ul li a, .searchBlock .address-searchResults ul li a, .addressSearch .searchResults ul li a, .addressSearch .address-searchResults ul li a { color: #FFF; }

.login-page { padding-top: 200px; }

.popout { position: fixed; right: 0; bottom: 150px; background: #261F63; padding: 20px 30px 10px 30px; border-radius: 10px 0 0 10px; color: #FFF; min-width: 200px; display: none; }
.popout .fa { font-size: 1.5em; }

.menu-opener { display: none; }
@media (min-width: 768px) { .menu-opener { display: none; } }

.product .product-images { border: solid 1px #261F63; padding: 30px; }
.product .product-images img { margin: 0 auto; }
.product .product-details h3 { background: #F3F3F3; padding: 5px 15px; }
.product .product-details .product-info { background: #EFEFEF; padding: 30px; margin-top: 50px; }
.product .product-details .product-info .product-detail span.detail-title { display: inline-block; width: 100px; }
.product .product-details .product-info .product-detail span.detail-spec { display: inline-block; width: 100px; text-align: right; }
.product .product-details .add-to-basket-form { float: right; }
.product .product-details .add-to-basket-form input { float: right; width: 50px; text-align: right; margin-left: 10px; }

.existing-baskets .existing-baskets-result { /*
@include transition(all 0.4s ease-in-out); background: $white; 
.user {
	display: inline-block; float: left; margin: 0 15px 25px 0; 
}
.purchase-history {
	float: right; 
}
&:hover {
	background: #EFEFEF; 
}
*/ }

.section-title { background: #C90D50; padding: 15px; margin-bottom: 20px; color: #FFF; }
.section-title h2 { text-align: center; margin: 0; padding: 0; }
.section-title a { color: #FFF; }

.baskets .basket-search-results .user { display: inline-block; float: left; margin: 0 15px 25px 0; }
.baskets .basket-search-results .purchase-history { float: right; }

.customer-search .customer-search-form-container { background: #EFEFEF; padding: 20px; margin-bottom: 30px; }
.customer-search .customer-search-results .user { display: inline-block; float: left; margin: 0 15px 25px 0; }
.customer-search .customer-search-results .purchase-history { float: right; }

form.customer table.customer-content tbody tr th { width: auto; }
form.customer table.customer-content tbody tr td { background: #FFF; }

.basket table tfoot tr:first-child td { border-top: solid 4px #CCC; }
.basket table tfoot td { font-weight: 400; }
.basket table tfoot tr.row-total td { border-bottom: double 3px #CCC; border-top: double 3px #CCC; }

table { width: 100%; margin-bottom: 30px; }
table tr th { background: #EFEFEF; padding-top: 10px !important; padding-bottom: 10px !important; }
table tr th.currency { text-align: center; }
table tr th.center { text-align: center; }
table tr th.qty, table tr th.takeaway { text-align: center; }
table tr td.currency { text-align: right; }
@media (min-width: 768px) { table tr td.currency { width: 100px; } }
table tr td.currency span:before { content: '£'; display: inline-block; float: left; }
table tr td.qty, table tr td.takeaway { text-align: center; padding-right: 0; width: 60px; }
table tr td.qty input, table tr td.takeaway input { width: 50px; text-align: right; padding-right: 5px; }
table.basket-content th, table.basket-content td, table.customer-content th, table.customer-content td { padding: 5px; border: solid 1px #CCC; }

input.currency { text-align: right; padding-right: 10px; }

nav.lower-nav { position: fixed; bottom: 0; left: 0; width: 100%; background: #444; padding: 5px 0; z-index: 3000; }
nav.lower-nav li { border-right: solid 1px #999; }
nav.lower-nav li a { color: #FFF; padding-top: 15px; padding-bottom: 15px; }
nav.lower-nav li a span { display: none; }
nav.lower-nav li a .fa { display: block; font-size: 1.5em; }

.bordered { border-top: solid 1px #C90D50; border-bottom: solid 1px #C90D50; }

.searchResults, .address-searchResults { /* ajax popup results */ max-height: 100vh; overflow: auto; padding-bottom: 100px; }
.searchResults .customer-result, .address-searchResults .customer-result { position: relative; padding-left: 30px; padding-bottom: 15px; }
.searchResults .customer-result i.fa, .address-searchResults .customer-result i.fa { position: absolute; left: 0; top: 0; }
.searchResults .customer-result .customer-result-detail .customer-result-detail, .address-searchResults .customer-result .customer-result-detail .customer-result-detail { display: none; }

.find-address { cursor: pointer; }
.find-address:hover { color: #C90D50 !important; }

.baskets input[type=checkbox] { display: none; }
.baskets input[type=checkbox] + label:after { content: "\f096"; font-family: FontAwesome; font-size: 1.5em; display: block; padding: 0 0 0 15px; }
.baskets input[type=checkbox]:focus + label:after { color: #261F63; }
.baskets input[type=checkbox]:checked + label:after { content: "\f046"; }

.working { position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.5); color: #FFF; z-index: 4000; align-items: center; justify-content: center; display: none; }
.working .fa { font-size: 3em; }
.working.show { display: -webkit-flex; display: flex; }

h3 .markup { font-weight: 300; }

.not-live-warning { position: fixed; top: 0; left: 0; width: 100%; padding: 3px 20px; background: red; color: #FFF; z-index: 1000; font-size: 0.5em; }

.finder-popup { position: absolute; right: 15px; margin-top: 40px; padding: 10px; background: #C90D50; color: #FFF; width: 300px; display: none; }

.print-only { display: none; }

@media print { .print-only { display: block; }
  .header, .lower-nav, .form.basket > .row, .customer-content, .baskets > .container > .row > .col-sm-12, .customer-content, .baskets > .container > .row > .col-sm-4, .baskets .fa-trash, .nav, .user-info, .customer-content, .baskets > .container > .row > .col-sm-8 > h3 { display: none; }
  .baskets input { border: none; padding: 0; text-align: right; display: inline-block; }
  .baskets .col-sm-8 { width: 100% !important; max-width: 100% !important; display: block !important; -webkit-flex-basis: inherit; flex-basis: inherit; }
  .baskets a { text-decoration: none; }
  .page-wrapper { padding-top: 70px; }
  .basket-content tr th:nth-child(3), .basket-content tr td:nth-child(3) { width: 0; }
  td.qty { text-align: center; } }
