body {background: white; text-align: center; padding: 0px; font-family: Verdana, "Trebuchet MS", Tahoma; margin: 0px; padding: 0px; font-size: 76%; }
html {overflow-y: scroll;}

body, a, a:visited { color: black;}

h1, .h1 {font-size: 180%; margin: 0px 0px 10px 0px; padding: 0px; font-weight: bold;}
h2, .h2 {font-size: 160%; margin: 0px 0px 10px 0px; padding: 0px; font-weight: bold;}
h3, .h3 {font-size: 130%; margin: 0px 0px 10px 0px; padding: 0px; font-weight: bold;}
h4, .h4 {font-size: 110%; margin: 0px 0px 10px 0px; padding: 0px; font-weight: bold;}
h5, .h5 {font-size: 100%; margin: 0px 0px 10px 0px; padding: 0px; font-weight: bold;}
p {margin: 0px 0px 10px 0px; padding: 0px;}
h1, h2, h3, h4, h5, p {position: relative; left: 0px; top: 0px;}

img {border: none; margin: 0px; padding: 0px; vertical-align: bottom; }
ul { text-align: left;}
li {padding-left: 6px;}
div {margin: 0px; padding: 0px;}
td {vertical-align: top;}
form {padding: 0px; margin: 0px;}

/* generic css */
.logo {width: 308px; height: 100px; border: none;}
.clear {clear: both; font-size: 1px; height: 1px;}
.clear img, .clear div {width: 100%; height: 1px;}
.textonly {display: none;}
.formErr {display: block; color: red; }
.formNoErr {display: none; }
.page404 {text-align: center;}
.bold {font-weight: bold;}
.btn {border: none; height: 24px; padding: 0px 8px; font-weight: bold; cursor: pointer}
.txtfield { border: 1px solid rgb(165,172,178); padding: 1px 2px;}
.txtarea { font-size: 100%; font-family: Verdana, "Trebuchet MS", Tahoma; }
.selfield { border: 1px solid rgb(165,172,178);  }
.chkbox {position: relative; top: 2px; left: 0px;}
.imgbtn {padding: 0px; border: 0px; margin: 0px;}
.accesskeys {display: none;}

/* standard content css */
.content li {margin-bottom: 4px;}

/* layout css */
.page {width: 760px; margin: 10px auto 0px auto; text-align: left; }

.header { height: 95px; }
.header, .header a, .header a:visited { text-decoration: none;}
.header .lcol {float: left; width: 200px;}
.header .rcol {float: left; width: 560px;}
.header .rcol .sub { }

.header .upper a:hover {text-decoration: underline;}
.header .options {height: 45px; }
.header .options  p {margin: 0px; padding: 5px 19px 0px 19px; font-size: 90%;}

.header .search {float: right; height: 24px; margin-right: 1px;}
.header .search .txtfield {border: 1px solid rgb(192,191,191); margin: 0px; position: relative; left: 4px; top: -5px; width: 115px; height: 18px;}
html>body .header .search .txtfield {height: auto; }
.header .search .imgbtn {height: 23px; width: 23px;}
.header .account {float: right; height: 24px; margin-right: 1px;}
.header .basket {float: right; height: 24px; width: 200px;}
.header .basket p {margin-right: 24px;}

.header .bar { background-color: #336666; padding: 5px; color: #fff; border-top: 3px solid #000; border-bottom: 3px solid #000; }
.header .bar .lcol { width: 200px; }
.header .bar .rcol { width: auto; float: right; text-align: right; }

.topmenu { height: 25px; background:transparent url(/images/topheader.gif) no-repeat; margin-top: 45px;}
.topmenu .menu {width: 550px; height: 25px; display: inline;}
.topmenu .menu a, .topmenu .menu a:visited {font-weight: bold; text-decoration: underline; font-family: Georgia,Times New Roman,Times,serif;}
.topmenu .menu a:hover {text-decoration: underline; color: #44665D;}
.topmenu .menu .item {float: right; height: 25px; }
.topmenu .menu .item p { margin: 0px; padding: 5px 15px 0px 15px; text-align: center; }

.sidemenu { margin-bottom: 24px;}
.sidemenu .menu {}
.sidemenu .menu .item {padding: 3px 6px 0px 15px; }
.sidemenu .menu .sel {background: rgb(166,167,169);}
.sidemenu .menu p {padding: 0px 0px 4px 20px; margin: 0px; }
.sidemenu .menu .cat { background-color: #f6f5f4; color: #336666; font-weight: bold; font-size: 13px; font-family: Georgia,Times New Roman,Times,serif; padding-bottom: 5px; }
.sidemenu .menu .subcat { color: #000; font-family: Georgia,Times New Roman,Times,serif; font-size: 13px; text-decoration: none; font-weight: normal; background: #f6f5f4 url(/images/nav_block.gif) no-repeat bottom; padding-bottom: 5px; }
.sidemenu .menu .subcat img { margin-bottom: 3px; }
.sidemenu .menu .subcat a:hover { background-color: #99CCCC; color: #000; font-family: Georgia,Times New Roman,Times,serif; font-size: 13px; text-decoration: underline; }

/* default page styles */
.pageBody { margin: 0px 0px; }
.pagearea { height: 340px;}
html>body .pagearea {height: auto; min-height: 340px;}

.pageBody .bcrumb {font-size: 90%; margin-bottom: 16px; }
.pageBody .bcrumb a, .bcrumb a:visited { color: rgb(89,89,89); text-decoration: none;}
.pageBody .bcrumb a:hover {text-decoration: underline;}

.pageBody .lcol {float: left; width: 175px;}
.pageBody .rcol {float: left; width: 575px; margin-left: 10px; background-color: #f6f5f4;}

.pageBody table { border-collapse: collapse;}
.pageBody table td {border: 1px solid rgb(166, 167, 169); padding: 4px 5px; margin: 0px;}
.pageBody .th {font-weight: bold;}

.footer {padding: 10px 0px; border-top: 3px solid #000; font-size: 90%;}
.footer .lcol { float: left; width: 250px; }
.footer .rcol { float: right; width: auto; text-align: right; background-color: transparent;}
.footer, .footer a, .footer a:visited {color: rgb(89,89,89); text-decoration: none; }
.footer a:hover {text-decoration: underline;}
.footer .menu { }
.footer .menu .item {display: inline; }
.footer .menu .sep {display: inline; border-right: 1px solid rgb(89,89,89); height: 16px;}
.footer .menu p {margin: 0px; padding: 0px 4px 0px 6px; text-align: center; display: inline; text-transform: lowercase;}
.footer .menu .tab { margin: 0px 4px; padding: 0px;}


/* home page */
.pageBody .home td {border: none; padding: 0px; margin: 0px;}
.pageBody h1 { font-size: 16px; font-weight: bold; color: #336666; font-family: Arial,Helvetica,sans-serif; }
.pageBody h2 { font-size: 16px; font-weight: bold; color: #000; font-family: Arial,Helvetica,sans-serif; }
.pageBody h3 { font-size: 110%; background-color: #99cccc; font-family: Arial,Helvetica,sans-serif;}
.pageBody .home .lcol, .pageBody .home .rcol { float: left; width: 45%; }
.pageBody .home .rcol { margin-left: 20px; }

/* default page layout 2-col */
.default{}
.default .lcol {}
.default .rimage {float: right; margin-left: 20px; }

/* basic page layout 1-col */
.basic {background-color: rgb(155, 154, 170);}


/* site map */
.sitemap li {margin-bottom: 10px;}
.sitemap li a, .sitemap li a:visited {text-decoration: none;}
.sitemap li a:hover {text-decoration: underline;}
.sitemap .level1 {float: left; margin: 0px 15px; display: inline;}

/* generic login form */
.loginForm {}
.loginForm .row {}
.loginForm .warning {color: red;}

/* generic class css */
/* messages used by multiple classes on the site */
.messages {padding: 3px; background-color: rgb(215, 236, 236); border: 1px solid rgb(180, 180, 180); margin: 0px 0px 20px 0px;}
.pagearea .messages {margin: 0px 0px 20px 0px;}
.messages .warning {color: red}
.messages .message {color: green;}
.messages .title {}
.messages ul {}
.messages li {}

/* shop class */
.shoppagearea {height: 380px; }
html>body .shoppagearea {height: auto; min-height: 380px;}
.shop {}
.shop .label {font-weight: bold;}

/* shop home page */
.shop .root a, .shop .root a:visited {text-decoration: none;}
.shop .root a:hover {text-decoration: underline;}
.shop .root h2 {position: relative; top: -4px; left: 20px;}
.shop .root .header {border-bottom: 1px solid rgb(211,217,210); margin-bottom: 20px; }
.shop .root .lcol {float: left; width: 220px; margin-left: 20px; display: inline;}
.shop .root .mcol {float: left; width: 250px;}
.shop .root .rcol {float: left; width: 220px;}
.shop .root .item {margin-bottom: 10px; font-size: 110%; margin-left: 20px;}

/* shop category list */
.shop .cat_cat {margin-left: 20px; margin-bottom: 10px; font-size: 110%;}
.shop .cat_cat a, .shop .cat_cat a:visited {text-decoration: none;}
.shop .cat_cat a:hover {text-decoration: underline;}

/* shop item list */
.shop .itemtable {margin: 0px; padding: 0px; width: 540px;}
.pageBody .shop .itemtable td {border: none; padding: 18px 15px; margin: 0px; vertical-align: bottom; }
.shop .item_list { }
.shop .item_list .imgcon { float: left; width: 210px; }
.shop .item_list .info   { float: left; width: 300px; }
.shop .item_list .info .title { font-weight: bold; margin-bottom: 10px; }
.shop .item_list .sep { margin-top: 10px; height: 15px; background: transparent url(/images/nav_block.gif) repeat-x; }
.shop .item_list .callnow { margin-top: 10px; background-color: #99cccc; color: #330000; font-weight: bold; font-size: 15px; text-transform: uppercase; margin-bottom: 25px; }
.shop .item_list .callnow .lcol { float: left; width: 260px; }
.shop .item_list .callnow .rcol { float: right; text-align: right; width: auto; background-color: transparent; }

.shop .item_list a, .shop .item_list a:visited {text-decoration: none;}
.shop .item_list h4 {font-size: 120%; font-weight: normal;}
.shop .item_list .info {margin: 4px 0px 0px 0px; height: 54px;}
.shop .item_list .subinfo {margin-bottom: 10px;}
.shop .item_list .price {margin: 10px 0px 4px 0px; font-size: 110%; font-weight: bold;}
html>body .shop .item_list .info {height: auto; min-height: 54px;}
.shop .item_list form {text-align: right;}
.shop .item_list .btn {margin-top: 10px; }
.shop .catTitle {width: 170px; text-align: left;}
.shop .catTitle form {padding-top: 6px; text-align: right;}
.shop .catTitle .selfield {width: 120px; font-size: 90%;}
.shop .catImg {float: right;}
.shop .linkstr {text-align: center;  font-size: 95%; padding-top: 10px;}
.shop .linkstr a, .shop .linkstr a:visited {text-decoration: none; }
.shop .linkstr a:hover {text-decoration: underline;}
.shop .linkstr .link {display: inline;}
.shop .linkstr .link p {display: inline;}
.shop .linkstr .small { padding: 0px 2px;}
.shop .linkstr .large {padding: 0px 10px;}
.shop .linkstr .showall {padding-left: 10px;}

/* shop individual item */
.shop .item_detail {}
.shop .item_detail .info {margin-left: 50px;}
.shop .item_detail .infoleft {float: left; width: 240px; margin-bottom: 20px;}
.shop .item_detail .inforight {float: left; width: 298px; margin-bottom: 20px; background-color: rgb(215, 236, 236); border: 1px solid rgb(180, 180, 180);}
.shop .item_detail .inforight .subcon {padding: 8px}
.shop .item_detail .project {font-weight: bold; text-decoration: underline; margin-bottom: 3px;}
.shop .item_detail .title {font-weight: bold; font-size: 120%; }
.shop .item_detail .writing {margin-top: 8px;}
.shop .item_detail .code { margin-top: 8px;}
.shop .item_detail .price {font-weight: bold; margin-top: 8px;}
.shop .item_detail .infoleft .label {margin-top: 40px;}
.shop .item_detail .venues {margin-top: 0px;  padding-left: 0px; margin-left: 30px;}
.shop .item_detail .venues li {margin: 1px 0px 2px 0px}
.shop .item_detail .inforight table {width: 100%; margin: 0px 0px; padding: 0px; border-collapse: collapse}
.shop .item_detail .inforight table td { vertical-align: top; margin-left: 0px; padding-left: 0px;}
.shop .item_detail .inforight .label {padding: 6px 0px 3px 0px;}
.shop .item_detail form {  }
.shop .item_detail form select { padding: 0px; margin-left: 0px; width: 266px;}
.shop .item_detail .inforight .btn { width: auto; padding-left: 4px; padding-right: 4px; margin-right: 12px; margin-top: 5px;}
.shop .item_detail .txtfield {width: 35px;}
.shop .item_detail .delegates {overflow-y: scroll; position: relative; width: 266px;}
.shop .item_detail .inforight .input {padding-left: 15px;}

.shop .item_detail .add {margin-top: 20px;}
.shop .item_detail .add .title { padding-bottom: 5px;}
.shop .item_detail .add .imgcon {float: left; width: 80px; margin-left: 40px;}
.shop .item_detail .sim {margin-top: 20px;}
.shop .item_detail .sim .title { padding-bottom: 5px;}
.shop .item_detail .sim .imgcon {float: left; width: 60px; margin-right: 30px;}

.item_thumb img {float: left; margin: 1px 6px 1px 0px;}
.item_thumb { height: 110px; border-bottom: 1px solid #000; margin-bottom: 10px; }
.item_thumb .link { font-weight: bold; float: right; }

.contact label { float: left; display: block; width: 120px; font-weight: bold; }
.contact .field { float: left; margin-left: 20px; }

.about img { width: 170px; height: 128px; }


/* basket class (also used on the checkout & account page) */
.basket {}
.basket .summary {width: 100%; margin: 0px 0px 18px 0px;}
.basket .summary td {border: 1px solid rgb(206, 206, 206); padding: 3px; }
.basket .summary a {text-decoration: none;}
.basket .summary .label {background-color: rgb(254, 247, 221);}
.basket .summary .prod_img {width: 50px; float: left; margin-right: 5px;}
.basket .summary .total {font-weight: bold; background-color: rgb(215, 236, 236);}
.basket .summary .btn {border: none; width: 125px; padding: 0px 0px 2px 0px; margin-right: 10px;}
.basket .summary .buttons {background-color: rgb(215, 236, 236)}

.basket .start {width: 100%;}
.basket .formbox h3, .basket .formbox h4 {margin-bottom: 2px;}
.basket .formbox p {margin-bottom: 17px;}
.basket .start td {width: 50%;} /* watch out for how these few lines override each other to get a specfic result */
.basket .formbox {}
.basket .start td, .checkout .formbox { padding: 11px; background-color: rgb(215, 236, 236); border: 1px solid rgb(180, 180, 180);}
.basket .start td .formbox {width: auto; display: block; padding: 0px; background-color: transparent; border: none;}

/* checkout also used on the account page */
.checkout {}
.checkout .txtfield {width: 170px; margin-left: 0px;}
.checkout .btn {padding: 1px 4px;}
.checkout .row { padding-top: 4px; padding-bottom: 2px; height: 28px; }
.checkout .highrow { padding-top: 4px; padding-bottom: 2px; height: 40px;}
.checkout .row .label {margin-right: 2px;}
.checkout .row .value {font-weight: bold; margin-left: 5px;}
.checkout .form_c1 { display: inline; }
.checkout .form_c2 { display: inline; margin-left:10px; }
.checkout .short { float: left; width: 60px; position: relative; top: 4px; left: 0px;}
.checkout .form_c1 .txtfield {}

.checkout .stage {font-size: 130%; font-weight: bold; margin-bottom: 20px;}
.checkout .stage, .checkout .stage a {color: black; text-decoration: none;}
.checkout .stage .step {}
.checkout .stage .done, .checkout .stage .done a {color: rgb(0, 123, 132);}

.checkout .paytable {border: 1px solid rgb(206, 206, 206); width: 100%;}
.checkout .paytable td {vertical-align: top; padding: 3px 3px; }
.checkout .paytable .label {background-color: rgb(215, 236, 236); font-weight: bold; border-bottom: 1px solid rgb(206, 206, 206);}
.checkout .confirm .txtarea {width: 515px; height: 60px;}

.checkout .faillink {text-align: center;}

.checkout_popup {}
.checkout_popup li {margin-bottom: 10px;}

/* account */
.account .start {}
.account .start .txtfield {width: 160px;}
.account .newuser {width: 200px;}

/* search */
.searchpage {}
.searchpage .search {margin-bottom: 20px;}
.searchpage .search .txtfield {margin-left: 0px;}
.searchpage .string {text-decoration: none;}

/* generic page */
.generic h3 {margin-bottom: 18px;}
.generic h4 {margin-bottom: 5px;}
.generic .summary {margin-bottom: 22px;}
.generic .summary a {text-decoration: none;}

/* form css */
.waitMsg {display: none; background: rgb(99, 99, 99); border: 3px solid rgb(255, 173, 99); width: 300px; text-align: center; position: absolute; top: 0px; left: 0px;}
.waitMsg p {padding: 10px 20px; font-size: 140%; color: white;}
.waitMsg .wImg {margin-bottom: 10px;}