/*
 * Standard palette:
 *
 * Highlight: rgb(0, 80, 200)
 * Links: rgb(0, 80, 200) / rgb(128, 80, 200)
 */

body {
	font-family: sans-serif;
	font-size: 12px;
}

h1 {
	font-weight: 600;
#	text-shadow: rgb(192, 192, 192) 2px 2px 2px;
}

h2, h3 {
	font-weight: 600;
#	text-shadow: rgb(192, 192, 192) 2px 2px 2px;
}

h1 {
	/* Hack to fix the problem where the first element is moved down a
	 * bit because of the top rounding of #body */
	margin-top: 0px;
#	border-bottom: rgb(0, 80, 200) solid 1px;
    margin-bottom: 5px;
	font-size: 1.8em;
}

h2 {
	font-size: 1.3em;
}

h3 {
	font-size: 1em;
}

hr {
	border: none;
	border-bottom: rgb(0, 80, 200) solid 1px;
}

#body {
	color: rgb(0, 0, 0);
}

/* Firefox is buggy and only accepts this selector in this specific form */
::-moz-selection {
    color: rgb(255, 255, 255);
    background: rgb(100, 128, 255);
}

::selection {
    color: rgb(255, 255, 255);
    background: rgb(100, 128, 255);
}

a[href] {
	text-decoration: none;
	font-weight: 400;
	color: rgb(0, 80, 200);
	border-bottom: 1px dashed;
}

a[href]:hover {
	border-bottom: 1px solid;
}

a[href]:visited {
	color: rgb(128, 80, 200);
}

a img, a.img, a.img:hover {
	border: 0;
}

#header a {
	border-bottom: none;
}

#footer a {
	border-bottom: none;
	color: rgb(255, 255, 255);
}

#footer a:hover {
	color: rgb(192, 192, 192);
}

strong {
	color: rgb(0, 80, 200);
}

ul {
	list-style-type: disc;
	/* IE has some odd defaults that we need to override */
	padding-left: 3em;
	margin-left: 0px;
}

li {
	/* We need the extra margin when we have links with the underline */
	margin: 4px 0px;
	padding: 0px;
}

li p {
    /* Use a reduced margin inside lists */
	margin: 0.7em 0px;
}

dt {
    padding: 0.5em 0px;
    font-weight: 800;
    color: rgb(0, 80, 200);
}

ul.checklist {
    list-style-type: none;
    padding-left: 2em;
}

ul.checklist li.done {
    font-style: italic;
    color: rgb(128, 128, 128);
}

ul.checklist li.current {
    list-style-type: square;
    list-style-image: url("/images/arrow.png");
    font-weight: 800;
}

img.imgright {
    float: right;
	margin: 0px 0px 1em 1em;
}

img.imgleft {
    float: left;
	margin: 0px 1em 1em 0px;
}

div.floater, div.mfloater, div.lfloater,
div.xlfloater, div.xxlfloater, div.xxxlfloater, div.xxxxlfloater {
	float: right;
	margin: 0px 0px 1em 1em;
	padding: 10px;
}

div.floater h1, div.mfloater h1, div.lfloater h1,
div.xlfloater h1, div.xxlfloater h1, div.xxxlfloater h1 {
	margin: 0px;
	font-weight: 800;
	font-size: 1em;
	border: none;
}

div.floater ul, div.mfloater ul, div.lfloater ul,
div.xlfloater ul, div.xxlfloater ul, div.xxxlfloater ul {
	margin: 5px 0px;
}

div.floater {
	background: transparent url(/images/floaters/small.png);
	width: 180px;
	height: 90px;
}

div.mfloater {
	background: transparent url(/images/floaters/medium.png);
	width: 180px;
	height: 140px;
}

div.lfloater {
	background: transparent url(/images/floaters/large.png);
	width: 180px;
	height: 190px;
}

div.xlfloater {
	background: transparent url(/images/floaters/xlarge.png);
	width: 180px;
	height: 240px;
}

div.xxlfloater {
	background: transparent url(/images/floaters/xxlarge.png);
	width: 180px;
	height: 290px;
}

div.xxxlfloater {
	background: transparent url(/images/floaters/xxxlarge.png);
	width: 180px;
	height: 340px;
}

div.xxxxlfloater {
	background: transparent url(/images/floaters/xxxxlarge.png);
	width: 180px;
	height: 440px;
}

.download[href], .download[href]:visited {
	display: block;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: 5px 5px;
	padding: 15px 20px;
	margin-left: 4em;
	background-image: url(/images/download.png);
	width: 190px;
	height: 44px;

	border-bottom: none;
	color: rgb(0,0,0);
}

.download[href]:hover {
	text-decoration: underline;
	border-bottom: none;
	color: rgb(0,0,0);
}

.download h1 {
	margin-bottom: 5px;
	font-weight: 400;
	font-size: 1.2em;
	border: none;
}

.download p {
	margin: 0px;
	font-size: 0.9em;
	font-style: italic;
}

table.halfdivision {
	border-collapse: collapse; /* This is supposed to be default :/ */
	margin: 1em 0px;
	clear: none;
	width: auto;
}

table.halfdivision td, div.fulldivision {
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: 5px 5px;
	padding: 15px;
}

table.halfdivision td {
	background-image: url(/images/division/half.png);
	width: 305px;
	height: 110px;
}




div.fulldivision {
	background-image: url(/images/division/full.png);
	width: 640px;
	height: 90px;
}

table.halfdivision td h1, div.fulldivision h1 {
	margin-bottom: 0.5em;
	font-weight: 400;
	font-size: 1.2em;
	border: none;
}

table.halfdivision td p, div.fulldivision p {
    margin: 0.5em 0px;
}

table.halfdivision img.imgright, div.fulldivision img.imgright {
	margin: 0px 0px 0px 1em;
}

table.halfdivision img.imgleft, div.fulldivision img.imgleft {
	margin: 0px 1em 0px 0px;
}

table {
	border-collapse: collapse; /* This is supposed to be default :/ */
	width: 100%;
	clear: both;
}

td, th {
	vertical-align: top;
	text-align: left;
}

table.list {
	border-spacing: 0px;
}

table.list th, table.list td {
	padding: 5px 2px;
}

table.list th {
	border-bottom: rgb(0, 80, 200) solid 1px;
}

table.list td {
	border-bottom: rgb(192, 192, 192) solid 1px;
}

table.list img {
  vertical-align: bottom;
}

.centered {
	text-align: center;
}

fieldset {
	border: 1px solid rgb(0, 80, 200);
	margin: 1em 0px;
	padding: 0px;
}

fieldset > * {
	padding: 0px;
	margin: 1em;
}

fieldset > legend {
	padding: 0px 0.5em;
	margin: 0px 2em;
}

label {
	color: rgb(0, 80, 200);
	font-weight: 800;
}

label.checkbox {
	color: rgb(0, 0, 0);
	font-weight: 400;
}

input, select, textarea {
	border: 1px solid rgb(192, 192, 192);
	background: transparent;
}

option {
	background: white;
}

textarea {
	display: block;
	width: 100%;
}

/*
 * "news" is a list of news entry summaries, while "newspage" is
 * the main page for one specific news entry.
 */

.news .entry p {
	border-bottom: rgb(192, 192, 192) solid 1px;
	font-size: 1.2em;
}

.news .entry .date {
	color: rgb(0, 80, 200);
	font-style: italic;
	float: right;
}

/* "p after p", i.e. all but the first */

.news .entry p + p{
	border: none;
	padding-left: 2em;
	font-size: 1em;
}

.newspage p.ingress {
    font-weight: 800;
}

.newspage p .date {
	color: rgb(0, 80, 200);
}

.moreentries {
	clear: both;
	text-align: right;
}

.quote {
    font-style: italic;
}

.quote:before {
    content: open-quote;
}

.quote:after {
    content: close-quote;
}

.note {
    font-size: 0.8em;
}

.note:before {
    content: "Note: ";
    font-weight: 800;
}

.continue {
    text-align: right;
    clear: both;
    font-size: 1.3em;
    margin: 1em;
}

.continue img {
    vertical-align: text-top;
}

.continue a[href], .continue a[href]:visited {
	border-bottom: none;
	color: rgb(0, 0, 0);
}

.continue a[href]:hover {
	border-bottom: 1px solid rgb(0, 0, 0);
}

div.clear {
    clear: both;
}

.shell {
    margin: 12px 2em;
    padding: 1em;
    white-space: pre-wrap;

    font-family: monospace;
    background: rgb(212, 212, 212);
    border: rgb(128, 128, 128) 1px solid;
}

.shell .input {
	font-weight: 800;
}

.saleitem {
    margin: 2em 0px 2em 2em;
}

.saleitem h1 {
  font-size: 1.2em;
  border: none;
}

.saleitem p {
  margin: 1em 2em;
  color: rgb(128, 128, 128);
}

.saleitem .quantity {
  margin: 1em 2em;
}

.saleitem .quantity input {
  width: 3em;
  text-align: right;
}

.saleitem .price {
  float: right;
  margin: 0px 1em 0px 2em;

  font-size: 1.5em;
}

.addtocart, .viewcart {
  text-align: right;
  margin: 1em;
}

.addtocart input, .viewcart input {
  border: none;
  text-align: left;
  width: 120px;
  height: 30px;
}

.addtocart input {
  background: url("/images/addcart.png");
}

.viewcart input {
  background: url("/images/showcart.png");
}


pre.legal {
    font-size: 1.20em;
    white-space: pre-wrap;
}

.error {
	color: rgb(200, 0, 0);
}

p.error, div.error {
    padding: 0px 2em;
}

.traceback {
    margin: 12px 2em;
    padding: 1em;
    white-space: pre-wrap;

    font-family: monospace;
    background: rgb(212, 212, 212);
    border: rgb(128, 128, 128) 1px solid;
}

.video {
    text-align: center;
}

table.thirddivision td {
	width: 200px;
	padding-right: 10px;
}

table.thirddivision td:last-child {
	width: 200px;
	padding-right: 0px;
}

table.thirddivision p {
    margin: 0px;
}

a.link_button {
    display: block;
    height: 16px;
    padding: 5px 5px;
    margin: 0px;
    font-size: 1.2em;
    font-weight: bold;
    text-decoration: none;
    background-color: #EEEEEE;
    border: 2px solid #44DD44;
    color: #0050c8;
    white-space: nowrap;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
	background: -moz-linear-gradient(
		center top,
		rgba(255, 255, 255, .1) 0%,
		rgba(0, 0, 0, .1) 100%
	);/* FF3.6 */
	background: -webkit-gradient(
		linear,
		center bottom,
		center top,
		from(rgba(0, 0, 0, .1)),
		to(rgba(255, 255, 255, .1))
	);/* Saf4+, Chrome */
	filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#19FFFFFF', EndColorStr='#19000000'); /* IE6,IE7 */
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#19FFFFFF', EndColorStr='#19000000')"; /* IE8 */
	-moz-user-select: none;
	-webkit-user-select:none;
	-khtml-user-select: none;
	user-select: none;
	margin-bottom:10px;
}

a.link_button:hover {
    background: #AAFFAA;
    text-decoration: underline;
    border: 2px solid #44DD44;
    color: #0050c8;
}

table.thirddivision p {
    margin: 0px;
    padding: 0px;
    padding-left: 7px;
    padding-right: 7px;
}

a.link_button:visited {
    color: #8050c8;
}

table.halfdivision {
    margin-left: -5px;
    margin-right: -10px;
}

