/* DESIGN */

/* reset */

body, h1, h2, h3, h4, p, ul, li, dl, dt, dd, fieldset, form, label, td, th {
	margin: 0;
	padding: 0;
}

html {
	height: 100%;
}

body {
	background: #fff;
	font: 12px/14px Arial, Helvetica, sans-serif;
	height: 100%;
}

a {
	color: #e48a00;
}

a img {
	border: 0;
}

table {
	border-collapse: collapse;
}

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

ul {
	list-style: none;
}

fieldset {
	border: none;
}

kbd {
	font: bold 10px/10px Arial, Helvetica, sans-serif;
	border: 1px solid #bcbcbc;
	padding: 0 3px;
	position: relative;
	top: -1px;
}

.clearfix
{
	min-height: 1%;
}

* html .clearfix
{
	height: 1%;
}

.clearfix:after
{
	content: ".";
	display: block;
	height: 0;
	clear: both;
	font-size: 0;
	visibility: hidden;
}

/* common elements */

a.button,
button {
	display: block;
	height: 20px;
}

button {
	border: 0px solid #FFFFFF; /* see http://www.terrysmith.net/blog/2008/02/ie7-bug-on-button-background-images.html */
}

a.button span,
button span {
	left: -6174px;
	position: absolute;
}

/* grid */

div#wrapper {
	min-height: 100%;
	height: auto !important;
	height: 100%;
	margin: 0 0 -89px; /* see footer height */
}

div#header,
div#menu,
div#body,
div#footer {
	margin: 0 auto;
	padding: 0 10px;
	position: relative;
	width: 940px;
}

div#wrapper-spacer {
	clear: left;
	height: 89px; /* see footer height */
}

div#header-wrapper,
div#header {
	background: #124567 url(img/header-bg.jpg) repeat-x center bottom;
	height: 220px;
}

div#menu-wrapper,
div#menu {
	background: url(img/menu-bg.gif) repeat-x;
	height: 30px;
}

div#body-wrapper,
div#body {
	background: url(img/body-bg.jpg) repeat-x;
	min-height: 263px;
	height: auto !important;
	height: 263px;
}

div#left-content {
	float: left;
	padding: 20px 10px 0 0;
	width: 700px;
}

div#right-content {
	float: left;
	padding: 20px 0 0;
	width: 230px;
}

div#footer-wrapper {
	background: url(img/footer-bg.jpg) repeat-x center bottom;
	height: 89px;
}

div#footer {
	background: url(img/footer-bg.jpg) repeat-x center bottom;
	height: 42px; /* in total: 89px */
	padding-top: 47px;
}

/* header */

h1 {
	background: url(img/logo.jpg) no-repeat;
	height: 171px;
	left: 10px;
	position: absolute;
	top: 32px;
	width: 473px;
}

h1 a {
	display: block;
	height: 171px;
	width: 473px;
}

h1 a span {
	position: absolute;
	left: -6174px;
}

div#header a {
	color: #fff;
}

div#header ul.status {
	bottom: 6px;
	color: #fff;
	line-height: 18px;
	position: absolute;
	right: 10px;
}

div#header ul.status li {
	text-align: right;
}

div#header ul.meta-nav {
	color: #fff;
	font-size: 10px;
	line-height: 12px;
	position: absolute;
	right: 10px;
	top: 68px;
}

div#header ul.meta-nav li {
	background: url(img/meta-nav-separator.gif) no-repeat 4px 3px;
	display: inline;
	padding-left: 11px;
}

div#header ul.meta-nav li.first {
	background: none;
	padding-left: 0;
}

/* header > login */

div.header-login {
	background: url(img/header-loginbox.gif);
	bottom: 5px;
	color: #fff;
	height: 115px;
	line-height: 18px;
	overflow: hidden;
	position: absolute;
	right: 10px;
	width: 230px;
}

div.header-login h2 {
	font: bold 15px/18px Arial, Helvetica, sans-serif;
	padding: 4px 10px 0;
}

div.header-login label {
	display: block;
	padding: 2px 10px 0;
}

div.header-login input {
	display: block;
	margin: 0 10px;
	width: 204px;
}

div.header-login input#pin {
	width: 73px;
}

div.header-login button.button-login {
	bottom: 10px;
	position: absolute;
	right: 10px;
}

/* menu */

div#menu ul {
	background: url(img/menu-left.gif) no-repeat;
	height: 30px;
	padding-left: 2px;
}

div#menu li {
	float: left;
	height: 30px;
}

div#menu a {
	display: block;
	height: 30px;
	text-indent: -6174px;
}

/* body > sub-nav */

ul.sub-nav {
	background: url(img/tab-right.gif) no-repeat right top;
	float: right;
	margin: 5px 10px 0 0;
	padding-right: 1px;
	position: relative;
	top: 1px;
}

* html ul.sub-nav {
	margin-right: 5px; /* dbl margin bug */
}

ul.sub-nav-top-position {
	margin-top: -15px;
}

ul.sub-nav li {
	background: url(img/tab-left.gif) no-repeat 0 -2px;
	float: left;
}

ul.sub-nav li.first {
	background-position: 0 0;
}

ul.sub-nav a {
	background: url(img/tab-right.gif) no-repeat 0 24px;
	color: #000;
	display: block;
	height: 24px;
	line-height: 25px;
	padding: 1px 9px 0 10px;
	text-decoration: none;
}

ul.sub-nav a:hover {
	text-decoration: underline;
}

* html ul.sub-nav a {
	float: left;
	background-position: 0 25px;
}

ul.sub-nav li.active a {
	background: none;
}

ul.sub-nav li.active a:hover {
	text-decoration: none;
}

/* body > boxes > common */

div#left-content div.box,
div#right-content div.box {
	padding: 10px 0 0;
}

div.box span.top,
div.box span.bottom {
	background-repeat: no-repeat;
	display: block;
	height: 2px;
	overflow: hidden;
}

/* body > boxes > left */

div#left-content span.top,
div#left-content span.bottom,
div#left-content div.content {
	background-image: url(img/box-left-std.gif);
}

div#left-content span.top {
	background-position: -700px 0;
	width: 700px;
}

div#left-content span.bottom {
	background-position: -700px -2px;
	width: 700px;
}

div#left-content div.content {
	background-repeat: repeat-y;
	padding: 6px 10px 10px;
	position: relative;
	width: 680px;
}

/* body > boxes > left > error */

div.error-box {
	color: #fff;
}

div#left-content div.error-box span.top,
div#left-content div.error-box span.bottom,
div#left-content div.error-box div.content {
	background-image: url(img/box-left-error.gif);
}

/* body > boxes > left > ok */

div.ok-box {
	color: #fff;
}

div#left-content div.ok-box span.top,
div#left-content div.ok-box span.bottom,
div#left-content div.ok-box div.content {
	background-image: url(img/box-left-ok.gif);
}

/* body > boxes > left > info */

div#left-content div.info-box span.top,
div#left-content div.info-box span.bottom,
div#left-content div.info-box div.content {
	background-image: url(img/box-left-info.gif);
}

/* body > boxes > right */

div#right-content span.top,
div#right-content span.bottom,
div#right-content div.content {
	background-image: url(img/box-right-std.gif);
}

div#right-content span.top {
	background-position: -230px 0;
	width: 230px;
}

div#right-content span.bottom {
	background-position: -230px -2px;
	width: 230px;
}

div#right-content div.content {
	background-repeat: repeat-y;
	padding: 6px 10px 10px;
	position: relative;
	width: 210px;
}

/* body > boxes > right > info */

div#right-content div.info-box span.top,
div#right-content div.info-box span.bottom,
div#right-content div.info-box div.content {
	background-image: url(img/box-right-info.gif);
}

/* body > boxes > content > common elements */

h2 {
	font: 18px/18px Georgia;
	padding: 0 0 8px;
}

h3 {
	font: bold 15px/18px Arial, Helvetica, sans-serif;
	padding: 13px 0 5px;
}

h4 {
	font: bold 12px/14px Arial, Helvetica, sans-serif;
	padding: 6px 0 2px;
}

div.content p,
div.content ul.list li,
ul.ol li {
	padding-bottom: 14px;
}

div.content ul.ol p.last {
	padding-bottom: 0;
}

/* body > boxes > content > big phonenumber */

strong.big-number {
	display: block;
	font-size: 18px;
	padding: 10px 0;
}

strong.centered {
	text-align: center;
}

body strong.number span,
strong.big-number span {
	float: none;
	padding: 0 2px;
}

/* body > boxes > content > alterations */

div.info-box a {
	color: #176295;
}

/* body > boxes > content > other elements: see "elements >" after footer */

/* body > boxes > start grid */

div.start-grid {
	padding: 20px 0 0 145px;
	width: 660px;
}

div.start-grid div.box
{
	background-position: 0 10px;
	background-repeat: no-repeat;
	height: 225px;
	float: left;
	padding: 10px 10px 0 0;
	position: relative;
	width: 320px;
}

div.start-grid div.box a.action
{
	display: block;
	height: 225px;
	width: 320px;
}

div.start-grid div.box a.action span {
	display: none;
}

/* body > boxes > start grid > login */

div#login-box {
	color: #fff;
}

div#login-box h2 {
	padding: 10px 10px 52px;
	font-size: 20px;
}

div#login-box label {
	display: block;
	padding: 8px 10px 2px;
}

div#login-box input {
	display: block;
	margin: 0 10px;
	width: 219px;
}

div#login-box input#pin {
	float: left;
	width: 84px;
}

div#login-box a {
	color: #fff;
	position: relative;
	top: 3px;
}

div#login-box button.button-login {
	bottom: 10px;
	position: absolute;
	right: 20px;
}

ul#error-messages,
ul#ok-messages {
	color: #fff;
	left: 0;
	padding: 5px 10px;
	position: absolute;
	top: 53px;
	width: 280px;
}

ul#error-messages {
	background: #c12f2a;
	margin: 0 10px;
}

/* footer */

div#footer ul,
div#footer p {
	color: #535353;
	font-size: 10px;
	line-height: 12px;
	text-align: center;
	width: 940px;
}

div#footer a {
	color: #535353;
	text-decoration: none;
}

div#footer a:hover {
	text-decoration: underline;
}

div#footer li,
div#footer span {
	background: url(img/footer-separator.gif) no-repeat 4px 3px;
	display: inline;
	padding-left: 11px;
}

div#footer li.first,
div#footer span.first {
	background: none;
	padding-left: 0;
}

/* audioplayer */

div#audioplayer {
	position: absolute;
	left: -6174px;
}

/* elements > list table */

table.list {
	border-bottom: 1px solid #b9d0df;
	margin: 0 0 5px;
	width: 680px;
}

table.list thead tr {
	background: #176295;
	color: #fff;
}

table.list tbody tr.odd {
	background: #b9d0df;
}

table.list td,
table.list th {
	height: 24px;
	line-height: 24px;
	padding-right: 10px;
	vertical-align: middle;
}

table.list td.lpad,
table.list th.lpad {
	padding-left: 10px;
}

table.list td.right,
table.list th.right {
	text-align: right;
}

table.list td.rpad-0 {
	padding-right: 0;
}

table.list td.rpad-4,
table.list th.rpad-4 {
	padding-right: 4px;
}

table.list td.rpad-30,
table.list th.rpad-30 {
	padding-right: 30px;
}

/* elements > list table > nav and form */

table.list input { /* type checkbox */
	margin: -1px 0 0 5px;
	vertical-align: middle;
}

* html table.list input { /* IE6 */
	margin-left: 1px;
}

*:first-child+html table.list input { /* IE7 */
	margin-left: 1px;
}

div.content ul.functions {
	display: block;
}

div.content ul.functions li {
	float: left;
	height: 25px;
	overflow: hidden;
	width: 680px;
}

div.content ul.functions input { /* type image */
	display: block;
}

/* elements > list table > phonebook */

table.additional {
	margin-top: 19px;
}

dl.phonebook-speeddial-list dt {
	float: left;
	width: 20px;
}

dl.phonebook-speeddial-list dd {
	float: left;
	width: 190px;
}

/* elements > edit table and commit pages */

ul.commit {
	float: right;
	margin: 0 0 -2px;
}

* html ul.commit {
	position: relative;
	top: 2px;
	margin: -2px 0 0;
}

ul.commit li {
	float: left;
	margin-left: 5px;
}

ul.commit li.reverse {
	float: right;
}

ul.item-list-to-commit {
	padding: 10px 0 4px;
}

ul.item-list-to-commit li {
	font-weight: bold;
	margin-bottom: 6px;
}

p.last-before-commit {
	padding: 0 0 10px;
}

/* elements > edit table */

table.edit {
	margin: 10px 0 20px;
}

col.label {
	width: 200px;
}

col.field {
	width: 235px;
}

col.comment {
	width: 245px;
}

table.edit tr th,
table.edit tr td {
	border-bottom: 12px solid #fff;
}

table.edit tr.last th,
table.edit tr.last td {
	border-bottom: none;
}

table.edit tr.focus {
	background: #b9d0df;
}

table.edit tr.error {
	background: #c12f2a;
	color: #fff;
}

table.edit td.comment {
	color: #999;
}

.js table.edit td.comment {
	color: #fff;
}

table.edit td {
	padding-top: 1px;
}

table.edit td.comment {
	padding: 5px 0;
}

table.edit th {
	padding: 5px 10px 5px 60px;
	width: 130px;
}

table.edit input {
	width: 219px; /* -6px */
}

table.edit td.checkbox input {
	width: auto;
}

table.edit select {
	width: 225px;
}

table.edit td.large textarea {
	width: 450px;
}

table.edit span.readonly {
	display: block;
	padding-top: 4px;
}

/* elements > edit table > steps */

ul.steps {
	float: left;
	font-size: 10px;
}

ul.steps li {
	color: #535353;
	float: left;
	padding-right: 10px;
}

ul.steps li strong {
	color: #000;
}

/* elements > text for information es e.g. agb or imprint */

div.content p.version {
	padding-left: 0;
	padding-top: 28px;
}

table.dl th {
	padding-right: 20px;
}

div.indent p,
div.indent ul li,
h3.ol,
h4.ol,
h3.indent,
h4.indent {
	padding-left: 24px;
}

div.indent ul ul li,
div.indent p.no-indent,
div.indent li p {
	padding-left: 0;
}

ul.ol span,
h3.ol span,
h4.ol span {
	float: left;
	text-indent: -24px;
	width: 0;
}

ul.ol ul li {
	padding: 6px 0 0;
}

/* elements > transfer credits */

table#transfer-credits {
	margin-bottom: 20px;
}

table#transfer-credits tr.error {
	background: #c12f2a;
	color: #fff;
}

table#transfer-credits tfoot td.sum {
	border-bottom: 1px solid #b9d0df;
}

table#transfer-credits input.credits {
	text-align: right;
	width: 30px;
}

table#transfer-credits strong.label {
	float: left;
}

table#transfer-credits span.credits,
table#transfer-credits strong.credits {
	float: right;
}

table#transfer-credits .error {
	color: #c12f2a;
	font-weight: bold;
}

table#transfer-credits tfoot tr.first td {
	border-top: 1px solid #b9d0df;
}

/* elements > spacer */

div.spacer-l {
	height: 33px;
	overflow: hidden;
}

/* elements > message */

table.message tbody tr.error {
	background: #c12f2a;
	color: white;
}

table.message tbody tr.new {
	background: #176295;
	color: white;
}

table.message tr.new td {
	border-bottom: 1px solid #fff;
}

table.message td {
	line-height: 14px;
	padding: 5px 0;
	vertical-align: top;
}

table.message dt {
	float: left;
	width: 30px;
}

table.message dd {
	float: left;
	width: 150px;
}

table.message td.msg strong { /* state */
	white-space: nowrap;
}

/* elements > products (/credits/pay) */

div.product-list {
	padding: 0 0 10px;
}

div.product-list div {
	border: 1px solid #b9d0df;
	float: left;
	margin: 0 0 10px 10px;
	position: relative;
	width: 218px;
}

div.product-list div.first {
	margin-left: 0;
}

div.product-list input {
	position: absolute;
	left: 0;
	top: 1px;
}

div.product-list h4 {
	background: #b9d0df;
	padding: 4px 0 4px 24px;
}

div.product-list p {
	height: 42px;
	padding: 6px;
}

div.product-list label {
	display: block;
}

/* elements > about pages */

ul.horizontal-boxes {
	padding: 0 0 14px;
}

ul.horizontal-boxes li {
	background-repeat: no-repeat;
	float: left;
	height: 150px;
	margin-left: 10px;
	width: 160px;
}

ul.horizontal-boxes li.first {
	margin-left: 0;
}

ul.horizontal-boxes li span {
	display: none;
}

dl.vertical-box {
	margin: 0 0 10px;
}

dl.vertical-box dt {
	background-repeat: no-repeat;
	clear: left;
	float: left;
	height: 150px;
	margin-right: 20px;
	width: 160px;
}

dl.vertical-box dt span {
	display: none;
}

dl.vertical-box dd {
	float: left;
	width: 470px;
}

/* devel resultsets */

code.sql {
	display: block;
	padding: 10px 0;
}

table.list thead tr.sub th {
	background: #fff;
	color: #000;
	font-size: 10px;
	height: 14px;
	line-height: 14px;
	padding-bottom: 6px;
}
