/* tools */
.replace { position:relative; margin: 0; padding: 0; overflow: hidden; }
.replace span { display: block; float: left; position: absolute; top: 0; left: 0; z-index: 100; }
.replace a { cursor: pointer; }
.clear { clear: both; }
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } /* clear fix */
.clearfix {display: inline-block;}
* html .clearfix {height: 1%;} /* Hides from IE-mac \*/
.clearfix {display: block;}


/* global */
body { font-size: 76%; background: #ffd6f5; font-family: "Lucida Grande", "Lucida Sans", arial, sans-serif; margin: 0; color: #4b4b4b; }
a img { border: none; }


/* container */
div.container { width: 948px; margin: 0 auto; padding: 0; clear: both; z-index: 0;  }
div.bg { }

/* --------- LAYOUT --------- */

/* header */
div#header { display: inline; float: left; background: #ffebfa; width: 100%; height: 100px; margin: 0; padding: 10px 0 0; clear: both; z-index: 100; }

div#header #logo { display: block; float: left; margin: 0; width: 240px; }
div#header #logo a { outline: none; }

/* search form */
div#header form.search { float: right; width: 132px; margin: 0; height: 20px; }
div#header form.search .formelement { width: 80px; padding: 4px; border: 1px solid #dadada; }
div#header form.search .button { background: #ff93a0; border: 1px solid #ff93a0; padding: 4px; margin: 0 0 4px 0; font-size: 11px; vertical-align: none; }

/* global navigation */
div#global { display: inline; float: right; width: 675px; padding: 0; margin: 0 0 20px; }
div#global ul { display: inline; float: left; margin: 5px 0 0; padding: 0; list-style-type: none; }
div#global ul.login, div#global ul.cart { float: right; margin: 0; }
div#global ul.login li a { color: #704d66; margin: 0; }
div#global ul.cart { margin: 5px 30px 0 0; }
div#global ul.cart li { margin: 0 0 0 14px; }
div#global ul.cart li a { margin: 0; }
div#global ul.cart li.last { margin: 0; }
div#global li { display: inline; float: left; margin: 0; padding: 0; color: #704d66; }
div#global li a { display: block; float: left; margin: 0 14px 0 0; padding: 0; color: #bd5aa1; text-shadow: 0 1px 0 #fff; outline: none; text-decoration: none; cursor: pointer; }
div#global li.social a { margin: 0 5px 0 0; text-indent: -9000px; }
div#global li#facebook a { width: 16px; background: url(../images/social_facebook.png) no-repeat; }
div#global li#twitter a { width: 16px; background: url(../images/social_twitter.png) no-repeat; }
div#global li#rss a { width: 16px; background: url(../images/social_rss.png) no-repeat; }

/* navigation */
div#navigation { display: inline; float: right; background: #fff5fd; width: 660px; padding: 0 0 0 15px; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; z-index: 200; }
div#navigation ul { display: inline; float: left; margin: 0; padding: 0; list-style-type: none; }
div#navigation li { position: relative; display: inline; float: left; margin: 0 20px 0 0; padding: 0; z-index: 1000; }
div#navigation li a { display: inline; float: left; margin: 0; padding: 15px 0; color: #bd5aa1; font-size: 14px; text-decoration: none; text-shadow: 0 1px 0 #fff; outline: none; cursor: pointer; }
div#navigation li a:hover { color: #dca3cc; }
div#navigation li.expanded a { padding-right: 12px; background: url(../images/subnav.gif) no-repeat right center; }
div#navigation li.active a { }
div#navigation li a:hover { }
div#navigation li.last { border: none; }
div#navigation li ul.subnav { display: none; position: absolute; top: 40px; left: 0; width: 150px; padding: 0 7px; background: #ffeefc; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; -moz-box-shadow: 0px 0px 5px #ccc; -webkit-box-shadow: 0px 0px 5px #ccc; box-shadow: 0px 0px 5px #ccc; z-index: 1000; }
div#navigation li ul.subnav li { position:relative; width: 100%; margin: 0; z-index: 200; }
div#navigation li ul.subnav li a { background: none; padding: 7px 0; margin: 0; font-size: 12px; }
div#navigation li ul.subnav li.expanded a { padding-right: 12px; background: url(../images/subnav.gif) no-repeat right center; }
div#navigation li ul.subnav li ul.subnav { top: 10px; left: 125px; z-index: 1200; }
div#navigation li ul.subnav li ul.subnav li a { background: none; font-size: 11px; }

/* content div */
div#home { display: inline; float: left; background: #fff; width: 100%; height: 300px !important; height: 400px; min-height: 200px; padding: 20px 0 10px; border-bottom: 1px solid #f9e8f5; border-top: 1px solid #f9e8f5; clear: both; }

/* lower div */
div#content { display: inline; float: left; background: #ffebfa; width: 100%; height: auto !important; height: 400px; min-height: 200px; padding: 20px 0 10px; border-bottom: 1px solid #f7cfed; clear: both; } 


/* footer */
div#footer { display: inline; float: left; width: 100%; background: #ffd6f5; padding: 20px 0 40px; clear: both; text-align: center; }
div#footer .container { background: none; }
div#footer ul { list-style-type: none; margin: 0 0 10px; padding: 0; clear: both; }
div#footer ul li { display: inline; margin: 0 10px 20px; padding: 0; font-size: 1em; }
div#footer h4 { color: #000; font-size: 1.3em; font-weight: normal; margin: 0 0 5px; }
div#footer p { font-size: 1em; }
div#footer a { color: #804076; font-weight: bold; text-shadow: 0 1px 0 #fff; text-decoration: none; }
div#footer small { color: #888; }
div#footer .col { display: inline; float: left; width: 170px; border-right: solid #d3d2d1 1px; margin: 0 20px 0 0; padding: 0; }
div#footer .col.first { width: 200px; padding: 0; margin: 0 20px 0 40px; }
div#footer .col.last { width: 160px; margin: 0; padding: 0; border: none; }
div#footer .copy { color: #c595bd; font-weight: bold; text-shadow: 0 1px 0 #fff; clear: both; text-align: center; }


/* --------- DEFAULT TEMPLATE --------- */

/* content styles */
div.content h1 { font-size: 30px; font-weight: normal; color: #f27786; margin: 0 0 20px; }
div.content h1 strong { color: #272727; }
div.content h2 { font-size: 1.6em; font-weight: normal; color: #f27786; margin: 0 0 20px; }
div.content h1.underline, div.content h2.underline { border-bottom: 1px solid #aaa; margin: 10px 0 20px; padding: 0 0 6px; }
div.content h1 small, div.content h2 small { line-height: 2em; font-size: 0.5em; }
div.content h3 { font-size: 1.5em; font-weight: bold; color: #a5a5a5; margin: 0 0 20px; }
div.content h4 { font-size: 1.1em; font-weight: bold; color: #333; margin: 0 0 10px; }
div.content h5 { font-size: 1.1em; font-weight: bold; color: #a5a5a5; margin: 0 0 10px; }
div.content p { font-size: 1.1em; margin: 0 0 15px; line-height: 1.4em; }
div.content small { color: #a6a6a6; font-size: 0.9em; }
div.content small strong { color: #777; }
div.content ul { padding: 0 0 0 16px; list-style-position: outside; font-size: 1.1em; line-height: 1.4em; }
div.content ul li { padding: 0 0 15px 5px; }
div.content ol { padding: 0 0 0 30px; list-style-position: inside; font-size: 1.1em; line-height: 1.4em; }
div.content ol li { padding: 0 0 15px 5px; }
div.content a { color: #C165A7; font-weight: bold; text-decoration: none; }
div.content a:hover { text-decoration: underline; }
div.content a.title { color: #222; text-decoration: none; }
div.content blockquote { color: #888; font-size: 1em; line-height: 1.8em; margin: 0 0 20px; padding: 10px 0 10px 40px; border-left: 3px solid #222; }
div.content li { padding: 0 0 8px 20px; }
div.content hr { border: 0; color: #f9ebf6; background-color: #f9ebf6; height: 1px; width: 100%; text-align: left; margin: 20px 0 20px; clear: both; }
div.content .big { font-size: 120%; }
div.content .nomargin { margin: 0; }

/* menus */
div.content ul.menu { list-style-type: none; margin: 20px 0; padding: 0; }
div.content ul.menu li { padding: 0; margin: 0; border-bottom: 1px solid #fff; }
div.content ul.menu li.active { background: #972a23; }
div.content ul.menu li a { display: block; color: #000; font-size: 1em; padding: 6px 0 6px 6px; }
div.content ul.menu li.active { background: #fff; padding: 0; }
div.content ul.menu li.active a { color: #972a23; font-weight: bold; }
div.content ul.menu ul.subnav { list-style-type: none; margin: 0; padding: 0; background: #fff; }
div.content ul.menu ul.subnav li { border-top: 1px solid #e3edf8; }
div.content ul.menu ul.subnav li a { color: #000; font-weight: normal; padding: 6px 0 6px 15px; }

/* breadcrumb */
div.content div.breadcrumb ul { float: left; width: 100%; list-style-type: none; margin: 0 0 20px; padding: 0 0 10px; color: #e4c2da; font-weight: bold; border-bottom: 1px solid #f9ebf6; clear: both; }
div.content div.breadcrumb ul li { float: left; margin: 0; padding: 0 5px; }
div.content div.breadcrumb ul li a { color: #c165a7; padding: 0 5px 0 0; }

/* forms */
form.default { display: block; margin: 0 0 10px; padding: 20px 0; }
form.default.bg { background: #ffd1f8; padding: 40px 20px; }
form.default .formrow { float: left; width: 100%; margin: 0 0 10px; clear: both; }
form.default .formrow.buttons { margin: 20px 0 10px; }
form.default label, form.default input, form.default textarea, form.default select, a.button { float: left; font-family: arial, sans-serif; font-size: 1em; }
form.default input, form.default textarea, form.default select, .formelement { margin: 0 3px 6px 0; }
form.default label { width: 110px; margin: 0 40px 6px 0; color: #9b4a8e; font-weight: bold; font-size: 1.1em; text-align: right; }
form.default .formelement { width: 350px; background: #fff; color: #444; border: 1px solid #c1c2c1; padding: 6px; }
form.default input.small { width: 80px !important; }
form.default select.formelement { width: 260px; padding-right: 2px !important; }
form.default textarea.formelement { width: 586px; height: 200px; }
form.default textarea.small { width: 356px !important; height: 100px; }
form.default textarea.big { width: 740px; height: 280px; }
form.default .button { margin: 0 4px 0 0; font-size: 1.1em; }
form.default .nolabel { margin: 0 4px 6px 150px; }
form.default .uploadfile { float: left; width: 250px; padding: 6px; background: #ffeece; border: 1px solid #bbb; margin: 0 0 6px; }
form.default .tip { float: left; border: 1px solid #ccc; background: #eee; padding: 6px; font-size: 0.95em; color: #4A9F45; margin: 0 0 6px 0; }
form.default input.error, form.default select.error, form.default textarea.error { border: 1px solid red !important; }
form.default label.error { color: red !important; }
form.default img.formelement { float: left; margin: 0 6px 6px 0; }
form.default .price { float: left; line-height: 30px; margin: 0 5px; }

form.default.consultation { padding: 0; }
form.default.consultation input.formelement { width: 250px; }
form.default.consultation select.formelement { width: auto; }
form.default.consultation textarea.formelement { width: 250px; height: 50px; }
form.default.consultation label { width: 100%; clear: both; margin: 0 0 10px 0; text-align: left; color: #2c2c2c; }
form.default.consultation .checkboxes input { margin: 0 20px 0 0; }
form.default.consultation .checkboxes label.checkbox { float: left; width: auto;  margin: 0 5px 0 0; font-size: 12px; clear: none; }
form.default.consultation .skins .pic { cursor: pointer; }
form.default.consultation .skins .pic.active { border: 2px solid #000; }


/* errors */
div.error { background: #fff2f2; padding: 20px; border: 1px solid #ff0000; margin: 0 0 30px 0; color: #444; clear: both; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }
div.warning { background: #fffaf2; padding: 20px; border: 1px solid #ffb033; margin: 0 0 30px 0; color: #444; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }
div.message { background: #f4f4f4; padding: 20px; border: 1px solid #ccc; margin: 0 0 30px 0; clear: both; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }
div.error p, div.warning p, div.error p { padding: 0; margin: 0; }

/* boxes */
div.box { background: #fff; padding: 15px; margin: 0 0 20px; border: 1px solid #f7dff1; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; }
div.page { background: #fff; padding: 20px; margin: 0 0 20px; border: 1px #f7dff1 solid; height: auto !important; height: 1000px; min-height: 1000px; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }

/* popups */
div.content div.popupcontainer { position: fixed; width: 100%; margin: 0 auto; z-index: 1000; }
div.content div.popup { position: relative; top: -100px; display: none; min-height: 100px; width: 590px; background: #fff; padding: 30px 15px 15px; margin: 0 auto; border: 1px solid #fffce4; -moz-border-radius:15px; -webkit-border-radius:15px; border-radius:15px; -webkit-box-shadow: 0px 0px 15px #999; -moz-box-shadow: 0px 0px 15px #999; box-shadow: 0px 0px 15px #999; z-index: 1000; text-align: center; }
div.content div.popup .hidepopup { margin: 0; line-height: 20px; }
div.content div.popup input { float: none; }

/* tables */
table.default { width: 100%; font-size: 1em; border-collapse: collapse; margin: 0 0 20px; clear: both; }
table.default th { padding: 6px 8px; background: #e8e8e8; color: #585858; text-align: left; border-bottom: 1px solid #ddd; }
table.default td { padding: 10px 8px; vertical-align: top; }
table td.narrow { width: 60px; }
table td.separate { border-right: 1px solid #eaeaea; }
table.default label { font-weight: bold; }

/* columns */
div.col { display: inline; float: left; margin: 0 20px 0 0; padding: 0; }
div.col.last { margin: 0; padding: 0; }

/* buttons */
.button { background: #ff3366; border: 1px solid #ff3366; color: #fff !important; text-decoration: none; vertical-align: middle; font-size: 15px; margin: 0 4px 6px 0; padding: 5px 10px; -moz-border-radius:4px; -webkit-border-radius:4px; border-radius:4px; cursor: pointer; font-weight: normal; font-family: arial, sans-serif; }

/* pics */
.pic { margin: 0 0 20px; }

/* pic alignment */
img.pic.default { margin: 0; }
img.pic.bordered { }
img.pic.left { display: inline; float: left; margin: 0 20px 0 0; }
img.pic.right { display: inline;  float: right; margin: 0 0 0 20px; }
img.pic.center  { display: block; margin-left: auto; margin-right: auto; }
img.pic.full { width: 100%; margin: 0; text-align: center; }

/* positioning */
div.content .right { float: right; margin: 0 0 10px 15px; }
div.content .left { float: left; margin: 0 15px 10px 0; }

/* --------- SPECIFIC STUFF --------- */

/* signup */
div.signup { position: relative; width: 460px; height: 124px; margin: 0 0 20px; background: url(../images/box_signup_bg.jpg) no-repeat; }
div.signup form { position: absolute; bottom: 20px; left: 20px; margin: 0; padding: 0; }
div.signup form .formelement { display: block; float: left; width: 280px; background: #fff; padding: 8px 5px; margin: 0; border: 1px solid #cd91c3; color: #b07ca8; }
div.signup form .submit { display: block; float: left; margin: 0; padding: 0; }
div.signup.small { width: 220px; height: 140px; background: url(../images/box_signup_small_bg.jpg) no-repeat; }
div.signup.small form .formelement { width: 88px; padding: 8px 4px; }

/* shop */
div#tpl-shop h1 { margin: 0 0 7px; }
div#tpl-shop form { margin: 0; padding: 0; }
div#tpl-shop table.products td { vertical-align: top; }
div#tpl-shop table.products td.productpic { width: 140px; text-align: center; }
div#tpl-shop table.products img.productpic { max-width: 140px; max-width: 140px; }
div#tpl-shop table.products.smaller td.productpic { width: 80px; }
div#tpl-shop table.products.smaller img.productpic { max-width: 80px; max-width: 80px; }
div#tpl-shop table.products td.price { color: #333; font-size: 16px; width: 50px; }
div#tpl-shop table.products h3 { color: #c165a7; font-size: 16px; margin: 0 0 7px; }
div#tpl-shop table.products h3 a { color: #c165a7; }
div#tpl-shop table.products h4 { color: #d28ebe; text-transform: uppercase; font-size: 12px; margin: 0 0 7px; }
div#tpl-shop table.products p { color: #333; font-size: 11px; margin: 0 0 7px; }
div#tpl-shop img.productpic { margin: 0 0 20px; }
div#tpl-shop span.price { font-size: 20px; color: #277226; }
div#tpl-shop span.subtitle { font-size: 18px; color: #333; }
div#tpl-shop .variationlabel { display: none; }
div#tpl-shop .variation { margin: 10px 0; }
div#tpl-shop .col1 { width: 150px; min-height: 200px; text-align: center; }
div#tpl-shop .col2 { width: 496px; }
div#tpl-shop p { color: #4b4b4b; }
div#tpl-shop img.productpic { max-width: 140px; max-height: 140px; }
div#tpl-shop .ccexpiry-row select { width: 80px; }

div#tpl-shop div.buy { margin: 20px 0 20px 170px; vertical-align: middle; }
div#tpl-shop div.buy input { vertical-align: bottom; }
div#tpl-shop div.buy .formelement { width: 20px; padding: 6px; margin: 0 10px 0 0; background: #fff; border: 1px solid #f4a5ae; color: #333; font-weight: bold; font-size: 15px; }


/* --------- TEMPLATES AND OVERRIDES --------- */

/* standard template */
div.tpl-standard { margin: 0 0 20px; }

/* 2 column template  */
div.tpl-2col { margin: 0 0 20px; }
div.tpl-2col .col1 { width: 464px; margin: 0 20px 0 0; }
div.tpl-2col .col2 { width: 464px; margin: 0; }

div.tpl-2col div.tpl-2col .col1 { width: 222px; }
div.tpl-2col div.tpl-2col .col2 { width: 222px; margin: 0; }

div.page div.tpl-2col .col1 { width: 323px; margin: 0 20px 0 0; }
div.page div.tpl-2col .col2 { width: 323px; margin: 0; }

/* left col template */
div.tpl-leftcol { margin: 0 0 20px; }
div.tpl-leftcol .col1 { width: 464px; margin: 0 20px 0 0; }
div.tpl-leftcol .col2 { width: 464px; margin: 0; }

/* left col template */
div.tpl-rightcol { margin: 0 0 20px; }
div.tpl-rightcol .col1 { width: 708px; margin: 0 20px 0 0; }
div.tpl-rightcol .col2 { width: 220px; margin: 0; }

/* 3 column template */
div.tpl-3col { margin: 0 0 20px; }
div.tpl-3col .col1 { width: 306px; margin: 0 20px 0 0; }
div.tpl-3col .col2 { width: 306px; margin: 0 20px 0 0; }
div.tpl-3col .col3 { width: 306px; margin: 0; }

