
html {
	background:url(/Images/bg-page.gif);
}
body {
	font:13px/130% "Times New Roman", Georgia, Serif;
	color:#3f3f3f;
}
#container {
	width:920px;
	padding:0 23px;
	margin:0 auto;
	background:url(/Images/bg-page-shadow.png) center repeat-y;
}
textarea, select, option, input {
	font-family:"Times New Roman", Georgia, Serif;
}
h1,h2,h3,h4,legend {
	font-weight:bold;
}
h1 {
	font-size:28px;
	margin-bottom:1em;
}
h2,h3 {
	font-size:34px;
	color:#e1391e;
	line-height:34px;
	height:34px;
	margin-bottom:22px;
}
legend {
	font-size:18px;
	color:#3f3f3f;
}
a {
	color:#e1391e;
	text-decoration:none;
}
a:hover {
	text-decoration:underline;
}
strong {
	font-weight:bold;
}
p {
	margin-bottom:1em;
}
ul.bullet {
	padding-left:30px;
	margin-bottom:25px;
}
ul.bullet li {
	list-style:disc;
}
div.clear {
	clear:both;
	height:0;
	line-height:0;
}

/*
===================
Header
===================
*/
#header {
	height:170px;
	position:relative;
}
.logo {
	position:absolute;
	top:9px; left:37px;
}
.userStatus {
	position:absolute;
	bottom:101px; left:666px;
}
.cartSummary {
	position:absolute;
	bottom:76px; left:666px;
	float:left;
	padding:3px 24px 0 0;
}
.userStatus span {
	display:block;
	color:#E1391E;
	font-size:18px;
	padding-bottom:8px;
}
.userStatus a, .cartSummary a {
	text-transform:uppercase;
	color:#3f3f3f;
	font-size:12px;
	border:0;
	padding-right:15px;
	background:#fff url(/Images/arrow.gif) top right no-repeat;
	margin-right:8px;
}
.userStatus a:hover, .cartSummary a:hover span {
	text-decoration:underline;
}
.cartSummary a {
	display:block;
	background:url(/Images/icon-cart.gif) right no-repeat;
	padding:2px 24px 0 0;
}
.cartSummary a span {
	padding-right:15px;
	background:#fff url(/Images/arrow.gif) right no-repeat;
	margin-right:8px;
}
.cartSummary a:hover, .cartSummary a:hover strong {
	text-decoration:none;
}
dl.contactInfo {
	position:absolute;
	top:20px; left:295px;
	width:220px;
}
dl.contactInfo * {
	display:inline;
	line-height:25px;
}
dl.contactInfo dt {
	text-transform:uppercase;
	clear:left;
	margin-right:2px;
}
dl.contactInfo dd {
	font-weight:bold;
	color:#e1391e;
}
dl.contactInfo dd.large {
	font-size:24px;
	font-weight:normal;
}
dl.contactInfo dd.twitter {
	width:37px;
	height:25px;
	display:block;
	background:url(/Images/icon-twitter-large.gif) bottom right no-repeat;
	position:absolute;
	left:150px;
	top:60px;
}

/*
===================
Navigation
===================
*/
#nav {
	position:absolute;
	bottom:4px; left:30px;
	margin:0;
	font-size:13px;
}
#nav li {
	float:left;
}
#nav a {
	float:left;
	line-height:16px;
	padding:0 11px 16px 11px;
	text-transform:uppercase;
}
#nav li.active a {
	background:url(/Images/bg-nav-active.gif) bottom center no-repeat;
}

/*
===================
Content
===================
*/
.pageHeading {
	background:#e1391e;
	padding:30px 30px 30px 424px;
	position:relative;
	min-height:90px;
}
.pageHeading h1 {
	position:absolute;
	left:40px; top:20px;
	color:#fff;
	font-size:65px;
	line-height:65px;
	height:65px;
}
.pageHeading div {
	border-left:1px dotted #fff;
	padding:8px 0 1px 39px;
	color:#fff;
	font-size:14px;
}
.pageHeading a {
	color:#fff;
	text-decoration:underline;
}
.pageContent {
	padding:48px;
}

/*
===================
Home Page
===================
*/
#welcome {
	height:288px;
	background:url(/Images/bg-welcome.jpg) no-repeat;
	position:relative;
	color:#fff;
	padding:30px 412px 0 69px;
	font-size:17px;
	line-height:130%;
}
#welcome h1 {
	font-size:45px;
	line-height:45px;
	height:45px;
	margin-bottom:25px;
}
#promoItems {
	padding:10px 0 0 45px;
}
#promoItems h2 {
	margin-bottom:18px;
}
#promoItems li {
	float:left;
	width:200px;
	margin:0 10px 45px 0;
	background:url(/Images/divider-200px.gif) bottom left no-repeat;
	padding-bottom:17px;
}
#promoItems li a, #promoItems li img {
	display:block;
	text-decoration:none !important;
}
#promoItems li strong {
	display:block;
	color:#000;
	margin-top:10px;
	font-weight:normal;
	font-size:16px;
	padding-bottom:4px;
}
#promoItems li span.price {
	display:block;
	font-size:20px;
	height:16px;
	margin:0;
}
#promoItems li span.price small {
	font-size:11px;
}
#promoItems li span.button {
	float:left;
	text-transform:uppercase;
	color:#E1391E;
	font-weight:bold;
	font-size:11px;
	border:0;
	padding-right:18px;
	margin-top:4px;
	background:#fff url(/Images/arrow.gif) right no-repeat;
}


/*
===================
Account Page
===================
*/
.detailsReadOnly p {
	margin-bottom:2px;
}
.detailsReadOnly div {
	float:left;
	padding-right:20px;
	border-right:1px solid #ccc;
	margin:20px 20px 0 0;
	height:100px;
}
.detailsReadOnly strong {
	font-weight:bold;
	display:block;
}

/*
===================
CMS Pages
===================
*/
.cmsContent h4 {
	font-size:22px;
	color:#e1391e;
	margin:25px 0 .6em 0;
	line-height:110%;
}

/*
===================
Footer
===================
*/
#footer {
	background:#f7f7f7;
	border-top:1px solid #d6d6d6;
	padding:23px 48px 0 48px;
	height:137px;
}
#footer dl, #footer ul {
	float:left;
	width:210px;
}
#footer dd, #footer span {
	font-size:12px;
}
#footer a {
	font-weight:bold;
	color:#3f3f3f;
}
#footer dt {
	font-weight:bold;
}

/*
===================
Category Gallery
===================
*/
#categoryGallery {
	position:relative;
	width:732px;
	margin-top:25px;
	min-height:460px;
}
* html #categoryGallery {
	position:absolute;
	height:460px;
}
#categoryGallery li {
	float:left;
	width:163px;
	height:190px;
	margin:0 16px 16px 0;
}
#categoryGallery a {
	display:block;
	text-align:center;
	font-weight:bold;
	line-height:110%;
	border:1px solid #ccc;
	height:203px;
	font-size:18px;
	padding:0 12px;
}
#categoryGallery a:hover {
	text-decoration:none;
	border-color:#00AFF0;
}
#categoryGallery span.image {
	display:block;
	height:130px;
	background-color:#fff;
	background-position:center;
	background-repeat:no-repeat;
	margin:0 -12px;
}

/*
===================
Product Grid
===================
*/
#products {
	margin:30px 0 0 30px;
	min-height:500px;
}
#products li {
	float:left;
	width:267px;
	margin:0 29px 30px 0;
	background:url(/Images/divider-267px.gif) bottom left no-repeat;
	padding-bottom:12px;
}
#products li a, #products li img {
	display:block;
	text-decoration:none !important;
}
#products li strong {
	display:block;
	font-size:36px;
	line-height:36px;
	height:36px;
	margin:8px 0 20px 0;
}
#products li span.button {
	display:block;
	text-align:right;
	text-transform:uppercase;
	color:#E1391E;
	font-weight:bold;
	font-size:11px;
	border:0;
	padding-right:18px;
	background:#fff url(/Images/arrow.gif) right no-repeat;
}
#products.otherProducts li {
	float:none;
	padding:0 0 0 213px;
	position:relative;
	background:url(/Images/divider-648px.gif) bottom right no-repeat;
	width:auto;
	height:185px;
}
#products.otherProducts li p.buttonWrapper {
	position:absolute;
	bottom:0; right:0;
	margin-bottom:3px;
}
#products.otherProducts li img {
	position:absolute;
	left:0; top:0;
}
#products.otherProducts li em {
	display:block;
	font-size:16px;
	font-weight:bold;
}
#products.otherProducts li label {
	font-weight:bold;
	padding-right:120px;
}
#products.otherProducts li input.arrowButton {
	vertical-align: bottom;
	display:block;
	text-align:right;
	text-transform:uppercase;
	color:#E1391E;
	font-weight:bold;
	font-size:11px;
	border:0;
	padding-right:18px;
}

/*
===================
Product Page
===================
*/
#productDisplay {
	position:relative;
	padding-left:420px;
	min-height:500px;
}
.attributesContainer {
	padding-top:5px;
}
.attribute {
	position:relative;
	padding-left:160px;
	margin-bottom:12px;
}
.attribute .attributeLabel {
	position:absolute;
	top:0; left:0;
	font-size:14px;
	font-weight:bold;
}
.attribute select {
	width:165px;
}
.attribute textarea {
	width:230px;
}
.attribute table {
	width:100%;
	margin-top:15px;
}
.attribute table th {
	width:60%;
	font-weight:bold;
	font-size:14px;
	padding-bottom:8px;
}
.attribute table td {
	height:24px;
	font-size:12px;
}
.attribute table input {
	text-align:center;
	border:1px solid #c5c5c5;
	width:29px;
	color:#777;
}
.cupcakes .flavours label.attributeLabel {
	display:none;
}
.cupcakes .flavours .attribute {
	padding:0;
}
.personalise {
	margin:26px 0;
}
.personalise p strong {
	font-size:14px;
}
.personalise .attributeLabel {
	font-weight:normal;
}
.radio label {
	margin:0 20px 0 2px;
}
.personalise input.text {
	width:140px;
}
.imageGallery {
	position:absolute;
	top:0; left:0;
	width:380px;
}
.imageGallery p {
	margin-top:20px;
	font-size:14px;
}
.price {
	font-size:12px;
	margin-bottom:2px;
}
.price strong {
	display:block;
	font-size:18px;
	font-weight:normal;
}
.price span.oldPrice {
	text-decoration:line-through;	
}
.price span.specialPrice {
	color:#E1391E;	
}
.productLinks {
	height:25px;
	margin-top:30px;
}
.productLinks a {
	float:left;
	background-repeat:no-repeat;
	margin-right:20px;
	padding-left:20px;
}
a.print {
	background-image:url(/Images/icon-print.gif);
}
a.email {
	background-image:url(/Images/icon-email.gif);
}
div.customProductWrapper {
	margin-top: 5px;
}
div.customProductWrapper textarea{
	display:block;
}
div.customProductWrapper label 
{
	float:left;
	clear:left;
	width: 80px;
}
div.customProductWrapper p {
	margin: 0;
}
div.customProductWrapper input, 
div.customProductWrapper textarea {
	border: 1px solid #c5c5c5;
	color: #777777;
	width: 300px;
}
input.quantity {
	width: 29px;	
	text-align:center;
}
div.customProductWrapper input.personalisation {
	width: 180px;	
}
div.customProductWrapper i {
	font-size: 11px;
}
/*
========================
Buttons
========================
*/
.buttonWrapper {
	background:url(/Images/divider.gif) bottom left no-repeat;
	margin-bottom:25px;
	padding:0 1px 12px 0;
	text-align:right;
}
.buttonWrapperFull {
	background:url(/Images/divider-760px.gif) bottom left no-repeat;
	margin-top:30px;
}
.noBorder{
	background: none;	
}
.buttonWrapper input {
	text-transform:uppercase;
	color:#E1391E;
	font-weight:bold;
	font-size:12px;
	border:0;
	padding-right:13px;
	background:#fff url(/Images/arrow.gif) right no-repeat;
	cursor:pointer;
}
input.button {
	margin-top:10px;
	padding:4px;
}
span.buttonText a {
	margin-left:10px;
}
input.right {
	float:right;
	margin-top:10px;
	padding:4px;
}
p.nextStep {
	width:200px;
	float:right;
	margin-top:30px;
}
p.nextStep span {
	display:block;
	padding-left:15px;
	width:185px;
}
p.confirm {
	margin-bottom:30px;
}
input.btnNext {
	background:#00AFF0 url(/Images/button-next.gif) no-repeat;
	color:#fff;
	text-align:left;
	width:200px;
	height:44px;
	border:none;
	font-weight:bold;
	font-size:16px;
	padding-left:11px;
	margin:30px 0 5px 0;
	cursor:pointer;
	text-transform:uppercase;
}

/*
========================
Tables
========================
*/
table.gridview {
	width:100%;
	background:#fff;
	margin-bottom:20px;
}
table.gridview tr.unavailable {
	background:#F4ACAC;
}
table.gridview tr.warning {
	background:#ffc;
}
table.gridview tr.total * {
	border-width:0;
}
table.gridview tr.total select {
	border-width:1px;
	margin-left:5px;
}
table.gridview tr.total select option {
	padding-right:10px;
}
table.gridview th, table.gridview td {
    padding:10px 0 10px 8px;
    text-align:left;
    border-bottom:1px solid #ddd;
    vertical-align:middle;
}
table.gridview th {
	font-weight:bold;
	font-size:16px;
	padding:4px 0 4px 8px;
}
table.gridview .hidden {
	display:none !important;
}
table.gridview th a {
	color:#fff;
	border-color:#fff;
	background:none !important;
}
table.gridview .short {
	width:15%;
}
table.gridview input.text {
	width:35px;
	padding:2px 0;
	font-size:13px;
	text-align:center;
}
table.gridview .money {
	text-align:right;
	padding-right:30px;
}
table.cart .highlight {
	background:#fff;
}
table.gridview .customer {
	padding-top:8px;
	padding-bottom:8px;
}
table.gridview .subtotal {
	border-top:10px solid #ddd;
}
table.gridview td.total {
	font-weight:bold;
}
table.gridview a {
	margin-right:10px;
}
table.gridview img {
	float:left;
	padding:1px;
	border:1px solid #ddd;
	width:50px;
	height:50px;
	background:#fff;
}
table.gridview tr.total td {
	text-align:right;
	padding:10px 30px 10px 0;
}
table.gridview tr.total div {
	text-align:right;
}
table.gridview tr.freight td {
	padding-top:20px;
}
table.gridview tr.grand td {
	font-weight:bold;
	font-size:14px;
	border-top:1px solid #ddd;
	border-bottom:1px solid #ddd;
}
table.gridview strong {
	font-size:14px;
	font-weight:normal;
}
table.gridview ul.bullet {
	margin-bottom:.5em;
	padding:0;
	list-style:none;
}
table.gridview ul.bullet li {
	list-style:none;
	line-height:130%;
}
table.gridview dt {
	float:left;
	clear:left;
	width:100px;
	text-align:right;
	padding-right:8px;
	color:#E1391E;
}
table.gridview dd {
	display:block;
	font-weight:bold;
}
table.gridview input.button {
	margin:0 3px 0 0;
	font-weight:bold;
	color:#fff;
	padding:4px 7px;
	border:0;
	background:#fff;
	cursor:pointer;
}
table.gridview input.update {
	color:#00AFF0;
	border:1px solid #00AFF0;
}
table.gridview input.remove {
	color:#000000;
	font-weight:normal;
}
table.gridview input.button:hover {
	color:#E1391E;
}

/*
===================
Paging
===================
*/
.pagerControl * {
	padding:0 2px;
}

/*
===================
Forms
===================
*/
.form {
	min-height: 1px;
}
.shaded{
	padding:25px 15px 15px 15px;
	background:#f2f2f2;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	margin-bottom:20px;
	min-height:1px;
}
* html .form {
	height:1%;
}
.form fieldset {
	margin-bottom:20px;
}
.form legend {
	margin-bottom:16px;
}
.form p {
	position:relative;
	padding-left:120px;
	min-height:26px;
}
* html .form p {
	height:26px;
}
.form label {
	position:absolute;
	top:0; left:0;
	display:block;
	width:112px;
	font-weight:bold;
	padding:4px 0 2px 0;
}
.form p.checkboxes label {
	position:static;
	display:inline;
	padding:0;
	margin-left:4px;
}
.form span.value {
	display:block;
	padding-top:4px;
}
.form h3 {
	padding-left:120px;
	margin-bottom:20px;
}
.form label span {
	font-size:11px;
	font-weight:normal;
}
.form input.text {
	font-size:14px;
	padding:5px;
	width:300px;
	border:1px solid #ccc;
	margin-right:8px;
}
.form textarea {
	width:300px;
	height:180px;
	display:block;
	padding:5px;
	border:1px solid #bbb;
	font-family:Arial, Sans-Serif;
}
.form input.medium {
	width:100px;
}
.form input.xlong {
	width:550px;
}
.form select {
	font-size:14px;
	padding:3px;
	width:210px;
	margin-right:8px;
}
.form select.xlong {
	width: 250px;
}
.form span select {
	width:auto;
}
.form input.text:focus,
.form textarea:focus {
	border-color:#e1391e;
	background-color:#faf0ee;
}
.inputWrapper {
	border:4px solid #eee;
}
.floatedSection {
	float:left;
	margin-right:50px;
	width:350px;
}
.form .floatedSection input.text,
.form .floatedSection textarea {
	width:200px;
}
.form .floatedSection input.short {
	width:50px;
}
div.floatedSection div.instructionSet {
	margin-top:-15px;
}
div.floatedSection div.instructionSet label {
	position: relative;
	width: auto;
	font-weight: normal;
}
div.floatedSection div.instructionSet textarea {
	height: 60px;
	width: 330px;
	margin-top: 3px;
}

/*
========================
Validation
========================
*/
.validation-container {
	border:2px solid #e1391e;
	background:#faf0ee url(/Images/icon-warning.gif) 15px 15px no-repeat;
	color:#e1391e;
	padding:20px 20px 20px 55px;
	font-weight:bold;
	margin-bottom:25px;
	line-height:130%;
}
.validation-title {
	font-size:16px;
	margin-bottom:4px;
}

/*
===================
Contact Page
===================
*/
#contactInfo {
	float:left;
	width:310px;
}
#contactInfo strong {
	font-size:18px;
	font-weight:normal;
}
address {
	display:block;
	margin-bottom:30px;
}
address span, address a {
	display:block;
}
address a {
	margin-top:6px;
}
address img {
	border:1px solid #ddd;
	display:block;
	margin-top:6px;
}
#contactInfo dl {
	line-height:32px;
}
#contactInfo dt {
	float:left;
	clear:left;
	padding-left:26px;
	background-repeat:no-repeat;
	background-position:4px center;
	width:70px;
	height:33px;
	border-bottom:1px solid #ddd;
	text-transform:uppercase;
}
#contactInfo dt.phone {
	background-image:url(/Images/icon-phone.gif);
}
#contactInfo dt.fax {
	background-image:url(/Images/icon-fax.gif);
}
#contactInfo dt.email {
	background-image:url(/Images/icon-email.gif);
}
#contactInfo dt.web {
	background-image:url(/Images/icon-web.gif);
}
#contactInfo dt.skype {
	background-image:url(/Images/icon-skype.gif);
}
#contactInfo dt.twitter {
	background-image:url(/Images/icon-twitter.gif);
}
#contactInfo dd {
	float:left;
	border-bottom:1px solid #ddd;
	width:180px;
	height:33px;
}
.contactForm {
	float:left;
	background:#f2f2f2;
	border:1px solid #ddd;
	padding:20px;
	width:470px;
	margin-bottom:40px;
}
.contactForm label {
	padding-left:25px;
	width:87px;
}

/*
========================
Definition Lists
========================
*/
dl.text dt {
	font-weight:bold;
}
dl.text dd {
	margin-bottom:1em;
}

/*
========================
Checkout
========================
*/
.checkoutPage {
	padding:20px 80px 60px 80px;
}
.checkoutStepCounter {
	height:21px;
	margin-bottom:25px;
	background:#ddd;
	border-top:3px solid #fff;
}
.checkoutStepCounter li {
	float:left;
	width:170px;
	line-height:21px;
	font-size:12px;
	font-weight:bold;
	color:#fff;
	background:url(/Images/bg-step-counter.gif) top right no-repeat;
	margin-right:-15px;
	position:relative;
	text-align:center;
}
.checkoutStepCounter li.active {
	background-position:center right;
}
.checkoutStepCounter li.current {
	background-position:bottom right;
}
.checkoutStepCounter li a {
	color:#fff;
	display:block;
}
.detailsSection {
	float:left;
	margin-right:50px;
	width:150px;
}
.paymentTypeWrapper {
	float:left;
	background:url(/Images/bg-payment-options.gif) no-repeat;
	padding:20px 0 20px 20px;
	margin-top:40px;
	width:600px;
	height:127px;
}
.paymentInfo {
	float:left;
	width:250px;
	height:97px;
	margin-right:20px;
	background:url(/Images/bg-payment-type.gif) no-repeat;
	padding:15px;
}
.paymentInfo label {
	font-size:16px;
	font-weight:bold;
	color:#777;
	margin-left:3px;
}
.paymentInfo p {
	padding-top:6px;
	margin:0;
}
.orderConfirmation strong {
	font-size:16px;
	line-height:140%;
}
.orderConfirmation strong.order {
	color:#f60;
}
.orderConfirmation .bankDetails {
	margin:25px 0;
}
.deliveryDateWrapper select {
	width: 60px !important;
	padding: 3px;
}
.deliveryPickupText {
	display:block;
	margin-bottom: 15px;
}
/*
========================
Notifications
========================
*/
.popup {
	display:none;
}
div.messagePanel {
	border: 2px solid #ccc;
	padding: 10px;
	margin-bottom:20px;
}
div.messagePanel ul {
	margin:5px 0 15px 0;		
}
div.messagePanel h4 {
	color:#fff;
	font-size:16px;
	padding:6px 10px;
	margin:-10px -10px 10px -10px;
}
div.messagePanel a {
	font-weight: bold;
}
div.confirm {
	border-color: #e1391e;
	background-color:#f9fef6;
}
div.confirm h4 {
	background-color:#e1391e;
}
div.confirm a {
	color:#e1391e;
}
div.notify {
	border-color: #fb8200;
	background-color: #fffeea;
}
div.notify h4 {
	background-color:#fb8200;
	
}
div.notify a {
	background-color:#fb8200;
	
}
div.warning {
	border-color: #e70101;
	background-color: #fcfcf4;
}
div.warning h4 {
	background-color:#e70101;
}
div.warning a {
	background-color:#e70101;
}
/*
========================
Cart Popup
========================
*/
#messagePopup {
	position:absolute;
	width:402px;
	border:8px solid #ddd;
	padding:20px;
	text-align:center;
	background:#fff;
	display:none;
	z-index:5;
	color:#000;
}
#messagePopup .validation-title,
#messagePopup h4 {
	display:block;
	font-size:16px;
	font-weight:bold;
	margin-bottom:.3em;
}
#messagePopup input {
	width:120px;
	padding:2px 0;
}
#dimmer {
	display:none;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:3000px;
	background:#000;
	opacity:.7;
	filter:alpha(opacity=70);
	z-index:4;
}