@import url(//fonts.googleapis.com/css?family=Ubuntu:400,400italic,300,500,700|Yanone+Kaffeesatz:700);

/* Body */

* {
	margin: 0;
	padding: 0;
}

body {
	background: #f8f8f8;
	font-family: Ubuntu, Helvetica, 'Lucida Grande', sans-serif;
	font-weight: 400;
	font-size: 14px;
	color: #222;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

#wrapper {
	margin: 0 auto;
}

/*
 * Header
 */

#header {
	position: relative;
	margin-bottom: 15px;
	padding-top: 1px;
	background-image: url('../images/top_img.jpg?v=2025');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	height: 390px;
}

#header.christmas-theme {
	background-image: url('../images/top_img_christmas.jpg');
}

#header_logo_customer {
	display: block;
	margin-top: -1px;
	padding: 27px 20px;
	background: url('../images/logo_bg.png') repeat-y;
}

#header_logo {
	width: calc(100% / 3);
	display: block;
	position: absolute;
	top: -90px;
	right: 0;
	background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,1));
	padding: 30px;
	text-align: right;
}

#header_logo img {
	display: inline-block;
}

/* Menu */

#menu_open, .menu-opener-label {
	display: none;
}

#menu {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	background: url('../images/menu_bg.png') center top;
}
.compact #menu {
	position: fixed;
	right: 0;
	bottom: auto;
	left: 0;
	background: url(../images/menu_bg.png) center top;
	top: 0;
	z-index: 50;
}

#menu ul {
	margin: 0 auto;
	padding: 0;
	max-width: 810px;
	list-style: none;
	text-align: center;
}

#menu li {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	height: 60px;
}

#menu li:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	height: 20px;
	border-left: 1px solid #ed1c24;
}

#menu li:last-child:after, #menu li.last-in-row:after {
	border: 0;
}

#menu li a {
	position: relative;
	display: inline-block;
	padding: 21px 15px 21px 10px;
	color: #fff;
	font-weight: 500;
	font-size: 14px;
	line-height: 1;
	white-space: nowrap;
	-webkit-transition: color 0.3s ease-in;
	transition: color 0.3s ease-in;
}

#menu li a:hover {
	color: #ed1c24;
}

/*
 * Content
 */

/* Text */

h1, .h1 {
	margin: 20px;
	padding: 0;
	border: 0;
	font-size: 30px;
	font-weight: 300;
	color: #222;
}

h2 {
	margin: 20px;
	font-size: 32px;
	font-weight: 300;
	color: #222;
	text-transform: uppercase;
}

h3 {
	margin: 20px;
	font-size: 16px;
	font-weight: 400;
	color: #ed1c24;
}

p {
	margin: 20px;
	line-height: 1.3;
}

.collapse-up {
	margin-top: 0;
}

strong {
	font-weight: 700;
}

ul, ol {
	margin: 0;
	padding-left: 10px;
	line-height: 1.7;
	list-style-position: inside;
}

dl {
	font-size: 0;
}

dt {
	font-weight: 600;
}

dt, dd {
	display: inline-block;
	vertical-align: top;
	width: 50%;
	font-size: 14px;
	line-height: 1.5;
}

a {
	color: #ed1c24;
	text-decoration: none;
}

a:hover {
	color: #ed1c24;
}

a img {
	border: 0;
}

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

table {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 20px;
	width: -webkit-calc(100% - 40px);
	width: calc(100% - 40px);
	border-collapse: collapse;
}

tr {
	border-bottom: 1px solid #e8e8e8;
}

th {
	font-weight: 500;
	text-align: left;
}

th, td {
	padding: 3px;
	font-size: 18px;
}

.alignright {
	text-align: right;
}

/* Grids */

.inline, .inline-1-2, .inline-1-3, .inline-1-4, .inline-2-3, .inline-2-5, .inline-3-4, .inline-3-5 {
	display: inline-block;
	vertical-align: top;
	width: 100%;
}

.inline-1-2 {
	width: 50%;
}

.inline-1-3 {
	width: 33%;
}

.inline-1-4 {
	width: 25%;
}

.inline-1-5 {
	width: 20%;
}

.inline-2-3 {
	width: 66%;
}

.inline-2-5 {
	width: 40%;
}

.inline-3-4 {
	width: 75%;
}

.inline-3-5 {
	width: 60%;
}

/* Sections */

.section {
	padding: 1px 0;
	background: #fff;
	border-bottom: 1px solid #ebebeb;
}

.section, .section-invisible {
	margin: 10px auto;
	max-width: 810px;
}

.error-message {
	background: #ef3239;
	border-color: #ad2428;
	color: #fff;
}

/* Product gallery */

.product-thumb {
	position: relative;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: top;
	margin: 10px;
	width: 255px;
	min-height: 363px;
	background: #fff;
	border-bottom: 1px solid #ebebeb;
	text-align: center;
}

.product-thumb:nth-child(3n+1) {
	margin-left: 0;
}

.product-thumb:nth-child(3n) {
	margin-right: 0;
}

.product-pic {
	margin: 55px auto 0;
	width: 230px;
	height: 155px;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

.product-no-pic {
	background-image: url('../images/no-img.png');
}

.product-thumb .product-price {
	display: block;
	position: absolute;
	top: 20px;
	left: 0;
	padding: 10px;
	background: #ef3239;
	font-size: 18px;
	color: #fff;
}

.product-thumb h3 {
	margin-top: 10px;
	margin-bottom: 0;
}

.product-thumb .product-extratext {
	margin-top: 0;
	font-size: 13px;
	color: #333;
}

.product-cart {
	margin: 0 auto;
	width: 180px;
	background: #333;
	border-radius: 6px;
	text-align: left;
}

.product-cart input {
	margin: 3px;
	padding: 7px 0;
	width: 37px;
	height: auto;
	border: 0;
	border-radius: 6px;
	text-align: center;
}

.product-cart button {
	margin-left: 6px;
	padding: 0;
	background: none;
	font-size: 13px;
	color: #fff;
}

.subcategory {
	padding-bottom: 50px;
}

.subcategory-meta {
	float: left;
	max-width: 490px;
}

.subcategory > img {
	float: left;
	margin: 20px;
	max-width: 230px;
}

.subcat-product {
	clear: both;
	margin: 0 20px;
	border-bottom: 1px solid #d6d6d6;
}

.subcat-product h3, .subcat-product .product-price, .subcat-product .product-cart {
	display: inline-block;
	vertical-align: middle;
	font-size: 18px;
}

.subcat-product h3 {
	margin: 0;
	width: 34%;
	font-weight: 300;
}

.subcat-product h3 a {
	color: #222;
}

.subcat-product .product-price {
	width: 41%;
	font-weight: 500;
	color: #ef3239;
}

.subcat-product .product-cart {
	margin: 4px 0;
}

.subcategory-content-info {
	font-style: italic;
}

/* Cart */

.cart-contents img {
	max-width: 80px;
}

.cart-contents td {
	color: #ed1c24;
	font-weight: 300;
}

.cart-contents input {
	padding: 3px;
	width: 50px;
	height: auto;
	text-align: center;
}

.cart-contents .input-large {
	width: 100%;
	text-align: left;
}

.cart-total {
	overflow: hidden;
	margin: 0;
	padding: 20px;
	border-top: 1px solid #e2e2e2;
	font-size: 20px;
	font-weight: 300;
	text-align: right;
}

.cart-remove {
	background: none;
}

.cart-update-button {
	float: left;
	background: #6aad38 url('../images/icon_update-btn.png') no-repeat 20px center;
	color: #fff;
}

/* Order form */

.order-button {
	text-align: right;
}

.order-button button, .button {
	background: #6aad38 url('../images/icon_send-btn.png') no-repeat 20px center;
	color: #fff;
}

#orderform_changes_info {
	font-style: italic;
}

#order_pickup_name {
	height: 135px;
}

/* Popups */

#popup_overlay {
	display: none;
	position: fixed;
	z-index: 101;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(35, 35, 35, 0.75);
}

.popup {
	position: fixed;
	z-index: 102;
	top: 50%;
	left: 50%;
	background: rgba(255, 255, 255, 0.95);
}

#cart_added_popup {
	top: 100px;
	margin-left: -175px;
	width: 350px;
	height: 140px;
	text-align: center;
}

#cart_added_popup .button {
	display: inline-block;
	margin-top: 3px;
}

#cart_added_popup .button:first-of-type {
	margin-right: 10px;
}

/* Forms */

label {
	display: block;
	font-weight: 500;
	font-size: 16px;
	color: #ed1c24;
}

input, select, textarea, button, .button {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-family: Ubuntu, Helvetica, 'Lucida Grande', sans-serif;
	font-weight: 400;
	font-size: 16px;
}

input, textarea, select {
	padding: 10px;
	width: 100%;
	height: 47px;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 3px;
}

input[readonly] {
	background: #f0f0f0;
}

button, .button {
	padding: 13px 20px 13px 45px;
	border: 0;
	border-radius: 7px;
	font-size: 14px;
	text-transform: lowercase;
}

.button {
	padding-left: 20px;
	background-image: none;
}

.button-small {
	padding: 5px;
}

/* Datepicker */

.dateup-button {
	cursor: pointer;
	width: 16px;
	height: 16px;
	display: inline-block;
	background-image: url('../images/calendar.png');
}

#dateup_calendar {
	display: none;
	position: absolute;
	width: 315px;
	background: #fff;
	border: 1px solid #d8d8d8;
	border-radius: 3px;
	text-align: center;
	z-index: 100;
}

#dateup_calendar select {
	margin-top: 15px;
	margin-bottom: 10px;
	width: auto;
}

#dateup_calendar table {
	margin-top: 0;
	margin-bottom: 0;
	width: 275px;
	border-collapse: collapse;
}

#dateup_calendar tr {
	border-bottom: 0;
}

#dateup_calendar .today {
	background: #de201f;
}

#dateup_calendar .today a {
	color: #fff;
}

#dateup_calendar td.disabled {
	background: #ededed;
}

#dateup_calendar .disabled {
	color: #d7d7d7;
}

#dateup_calendar td a {
	display: block;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}

#dateup_calendar th {
	padding: 5px 0;
	background: #222;
	color: #fff;
	text-align: center;
}

#dateup_calendar td {
	padding: 5px 1px;
}

/* UI Dialogs */

.ui-widget-overlay {
	background: #000 !important;
	opacity: 0.5 !important;
}

.ui-dialog {
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
}

.ui-dialog {
	max-width: calc(100% - 40px) !important;
}

.ui-dialog .ui-dialog-content {
	padding: 0 20px !important;
}

.ui-dialog p {
	margin: 20px 0;
}

.fancybox-iframe body {
	padding: 0 !important;
}

/* Media query for Facebook canvas */

@media screen and (max-width: 810px) {
	#wrapper {
		width: 810px;
	}
}