/* lib/css/generic.css -- WebLayout 1.04, (C) 2009-02-02 caugustin.de */




/* ******************************

   Basics section

   ****************************** */


/* Basic cleanup ... */

*, table, th, td { margin: 0; padding: 0; font-size: 100%; text-align: left; }
table { border-collapse: collapse; }
td, th { vertical-align: top; }
img, object, table, th, td { border: none; background: transparent; }
@media screen { pre { overflow: auto; } }



/* Body settings ... */

html { height: 100%; margin-bottom: 1px; }
body { min-height: 100.001%;}



/* Paged media settings ... */

h1, h2, h3, h4, h5, h6, dt, thead {
	page-break-inside: avoid;
	page-break-after: avoid;
}
p, li, dd, tr, th, td, address, .figure {
	page-break-inside: avoid;
}
hr, div.hr, div.divider, div.space, tfoot {
	page-break-before: avoid;
}




/* ******************************

   Content section

   ****************************** */


/* Content elements ... */

h1, h2, h3, h4, h5, h6 { position: relative; }

div.hr hr, div.divider hr { display: none; }
div.hr, div.divider {
	position: relative;
	height: 1px;
	margin-bottom: -1px;
	background: black;
}

ul, ol, dl { position: relative; }

dt { font-weight: bold; }

/* ul { list-style-type: none; } */
ul li, ol ul li, ol ol ul li, ol ol ol ul li {
	list-style-type: none;
	margin-left: 0;
	padding-left: 16px;
	background-repeat: no-repeat;
	background-position: 0 0.5em;
	background-image: url(/assets/custom/media/ul.li.1.gif);
}
ol li, ul ol li, ul ul ol li, ul ul ul ol li {
	background-image: none;
	margin-left: 1.5em;
	padding-left: 0;
}
ul ul li {
	list-style-type: none;
	background-image: url(/assets/custom/media/ul.li.2.gif);
}
ol ol li {
	list-style-type: lower-alpha;
	background-image: none;
}
ul ul ul li {
	list-style-type: none;
	background-image: url(/assets/custom/media/ul.li.3.gif);
}
ol ol ol li {
	margin-left: 2em;
	background-image: none;
	list-style-type: upper-roman;
}
ul ul ul ul li {
	background-image: url(/assets/custom/media/ul.li.4.gif);
	list-style-type: none;
}
ol ol ol ol li {
	margin-left: 1.5em;
	list-style-type: lower-roman;
}

ul ul, ul ol, ul dl, ul p,
ol ol, ol ul, ol dl, ol p,
dl ul, dl ol, dl dl, dl p {
	margin-top: 0;
	padding-top: 0;
}
ul.wide, ol.wide, dl.wide {
	margin-top: 0;
	padding-top: 0;
}
.wide ul li, .wide ul p, .wide ul ul, .wide ul ol, .wide ul dl,
.wide ol li, .wide ol p, .wide ol ul, .wide ol ol, .wide ol dl,
.wide dl dt, .wide dl p, .wide dl ul, .wide dl ol, .wide dl dl {
	margin-top: 0;
	padding-top: 0;
}


/* Media elements ... */

img, object { vertical-align: bottom; }
img.dummy, img.missing { width: 100%; }
img.dummy   { background-color: #00CCFF; }
img.missing { background-color: #FF0099; }

.figure p, p.legend { position: relative; margin-top: 0; }



/* Tables ... */

.table { position: relative; }
.table table { width: 100%; }
.colLayout td.leftmost, .colLayout th.leftmost { padding-left: 0; }



/* Links ... */

a:link, a:visited { text-decoration: none; }
a                 { color: gray; }
a:link            { color: blue; }
a:visited         { color: purple; }

a:before, a:after { content: "\A0"; }
a:before, a .before, a:after, a .after {
	display: none;
	margin-right: -0.25em;
	background: no-repeat;
	background-image: url(/assets/lib/media/a.icons.gif);
}

a.seamless:before, a.seamless .before,
a.seamless:after, a.seamless .after   { display: none !important; }

/* For compatibility with generic.css prior to 2008-07-17 ... */
a span.begin, a span.end { display: none !important; }

/* "real" ones,    MSIE 6/7 behavior  { ...                               } */

a:before,          a .before,
a.goto:before,     a.goto .before     { background-position:     0px 50%; }
a:after,           a .after
a.goto:after,      a.goto .after      { background-position:   -25px 50%; }
a.open:before,     a.open .before     { background-position:   -50px 50%; }
a.open:after,      a.open .after      { background-position:   -75px 50%; }

a.external:before, a.external .before { background-position:  -100px 50%; }
a.external:after,  a.external .after  { background-position:  -125px 50%; }
a.mailto:before,   a.mailto .before   { background-position:  -150px 50%; }
a.mailto:after,    a.mailto .after    { background-position:  -175px 50%; }

a.more:before,     a.more .before     { background-position:  -200px 50%; }
a.more:after,      a.more .after      { background-position:  -225px 50%; }
a.back:before,     a.back .before     { background-position:  -250px 50%; }
a.back:after,      a.back .after      { background-position:  -275px 50%; }

a.first:before,    a.first .before    { background-position:  -300px 50%; }
a.first:after,     a.first .after     { background-position:  -325px 50%; }
a.previous:before, a.previous .before { background-position:  -350px 50%; }
a.previous:after,  a.previous .after  { background-position:  -375px 50%; }

a.next:before,     a.next .before     { background-position:  -400px 50%; }
a.next:after,      a.next .after      { background-position:  -425px 50%; }
a.last:before,     a.last .before     { background-position:  -450px 50%; }
a.last:after,      a.last .after      { background-position:  -475px 50%; }

a.down:before,     a.down .before     { background-position:  -500px 50%; }
a.down:after,      a.down .after      { background-position:  -525px 50%; }
a.up:before,       a.up .before       { background-position:  -550px 50%; }
a.up:after,        a.up .after        { background-position:  -575px 50%; }

a.skip:before,     a.skip .before     { background-position:  -600px 50%; }
a.skip:after,      a.skip .after      { background-position:  -625px 50%; }
a.head:before,     a.head .before     { background-position:  -650px 50%; }
a.head:after,      a.head .after      { background-position:  -675px 50%; }

a.download:before, a.download .before { background-position:  -700px 50%; }
a.download:after,  a.download .after  { background-position:  -725px 50%; }
a.zip:before,      a.zip .before      { background-position:  -750px 50%; }
a.zip:after,       a.zip .after       { background-position:  -775px 50%; }

a.pdf:before,      a.pdf .before      { background-position:  -800px 50%; }
a.pdf:after,       a.pdf .after       { background-position:  -825px 50%; }
a.txt:before,      a.txt .before      { background-position:  -850px 50%; }
a.txt:after,       a.txt .after       { background-position:  -875px 50%; }

a.image:before,    a.image .before    { background-position:  -900px 50%; }
a.image:after,     a.image .after     { background-position:  -925px 50%; }
a.missing:before,  a.missing .before  { background-position:  -950px 50%; }
a.missing:after,   a.missing .after   { background-position:  -975px 50%; }

a.new:before,      a.new .before      { background-position: -1000px 50%; }
a.new:after,       a.new .after       { background-position: -1025px 50%; }
a.edit:before,     a.edit .before     { background-position: -1050px 50%; }
a.edit:after,      a.edit .after      { background-position: -1075px 50%; }

a.tool:before,     a.tool .before     { background-position: -1100px 50%; }
a.tool:after,      a.tool .after      { background-position: -1125px 50%; }
a.feedback:before, a.feedback .before { background-position: -1150px 50%; }
a.feedback:after,  a.feedback .after  { background-position: -1175px 50%; }



/* Text markup ... */

b, strong         { font-weight: bold; }
i, em, var        { font-style: italic; }
.narrow, .formula { word-spacing: -0.2em; }
.nobr             { white-space: nowrap; }
sub {
	font-size: 0.8em;
	line-height: 0.2em;
	vertical-align: -0.25em;
}
sup {
	font-size: 0.8em;
	line-height: 0.5em;
	vertical-align: 0.43em;
}
abbr, acronym {
	font-weight: inherit;
	font-style: inherit;
	text-decoration: inherit;
	text-transform: inherit;
	border-bottom: inherit;
}
abbr, acronym, .num {
	white-space: nowrap;
	word-spacing: -0.2em;
}



/* Forms ... */





/* Generic modifiers ... */

.nobr   { white-space: nowrap !important; }
.narrow { word-spacing: -0.2em !important; }
.seamless, .seamless * {
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: bottom !important;
}

.near       { padding-top: 0; margin-top: 0 }

.l, .left   { text-align: left !important; }
.c, .center { text-align: center !important; }
.r, .right  { text-align: right !important; }

.t, .top    { vertical-align: top !important; }
.m, .middle { vertical-align: middle !important; }
.b, .bottom { vertical-align: bottom !important; }

.lf, .leftFloat  { float: left !important; }
.rf, .rightFloat { float: right !important; }
.cf, .clearFloat { clear: both !important; }
.cl, .clearLeft  { clear: left !important; }
.cr, .clearRight { clear: right !important; }

.scale, .hScale     { width: 100% !important; height: auto !important; }
.vScale             { width: auto !important; height: 100% !important; }
.stretch, .hStretch { width: 100% !important; }
.vStretch           { height: 100% !important; }

.shade  { background-color: #E8E8E8; }
.border { border: 1px solid black; }

.hide         { display: none !important; }
@media screen { .print, .hideOnScreen { display: none !important; } }
@media print  { .screen, .hideInPrint  { display: none !important; } }

.avoidPageBreakInside { page-break-inside: avoid !important; }
.avoidPageBreakBefore { page-break-before: avoid !important; }
.avoidPageBreakAfter  { page-break-after: avoid !important; }
.pageBreakBefore      { page-break-before: always !important; }
.pageBreakAfter       { page-break-after: always !important; }


/* Annotations ... */

del, del *                 { text-decoration: line-through; color: gray; }
ins, ins *                 { text-decoration: underline; color: green; }
.annotation, .annotation * { color: red; }
.highlight, .highlight *   { background-color: yellow; }
.dim, .dim *               { color: gray; }

.hideAnnotations del          { display: none; }
.hideAnnotations ins,
.hideAnnotations ins *        { text-decoration: inherit; color: inherit; }
.hideAnnotations .annotation  { display: none; }
.hideAnnotations .highlight,
.hideAnnotations .highlight * { background-color: inherit; }
.hideAnnotations .dim         { display: none; }






/* ******************************

   Layout section

   ****************************** */


/* Layout modules ... */

.block, .box, .cols { clear: both; position: relative; }
.block:before, .block:after,
.box:before, .box:after,
.cols:before, .cols:after {
	content: "."; display: block; height: 0; visibility: hidden; clear: both;
}
.cols { margin-right: -11%; }
.col, .mainCol, .marginCol {
	float: left;
	position: relative;
	margin-right: 3%;
}
.col, .half, .six, .wHalf, .fullHalf                      { width: 43.5%; }
.third, .four, .margin, .marginCol, .wThird, .fullThird   { width: 28%; }
.twoThirds, .eight, .mainCol, .wTwoThirds, .fullTwoThirds { width: 59%; }

.aside {
	float: right;
	width: 28%;
	margin-right: -31%;
}

#Page { 
	position: relative;
	text-align: left;     /* Undo occasional "text-align: center" from body */
}
#Header {
	position: relative;
	float: none;
	clear: both;
}
#Header:after {
	content: "."; display: block; height: 0; visibility: hidden; clear: both;
}
#Logo {
	position: relative;
	float: left;
}
@media print {
	#Logo img.print { display: inline !important; }
}
#HeaderTitle {
	position: relative;
	float: left;
}
#MetaNavigation {
	position: relative;
	float: right;
}
#Main {
	position: relative;
	clear: both;
}
#Main:before, #Main:after {
	content: "."; display: block; height: 0; visibility: hidden; clear: both;
}
#AreaNavigation {
	position: relative;
	overflow: hidden;
	clear: both;
}
#AreaNavigation ul {
	overflow: hidden;
}
#AreaNavigation ul li {
	float: left;
	/* background: none; */
	/* padding-left: 0; */
}
#Breadcrumb {
	position: relative;
}
#Navigation {
	position: relative;
	float: left;
	width: 20%;
	padding-bottom: 1em; /* Force #Navigation to occupy space */
}
#Content {
	position: relative;
	float: left;
	width: 55%;
	padding-bottom: 1em; /* Force #Content to occupy space */
}
#Sidebar {
	position: relative;
	float: right;
	width: 20%;
	padding-bottom: 1em; /* Force #Sidebar to occupy space */
}
#Footer {
	position: relative;
	float: none;
	clear: both;
}
	



/* ******************************

   Components section

   ****************************** */


/* Layout control and testing support ... */

body.showLayout     {
	background-image: url(/assets/lib/media/showLayout.grid.10x10.gif);
}
.showLayout img,
.showLayout object  {
	background-image: url(/assets/lib/media/showLayout.checker.png) !important;
}
.showLayout div     { background-image: url(/assets/lib/media/showLayout.div.1.gif); }
.showLayout div div { background-image: url(/assets/lib/media/showLayout.div.2.gif); }
.showLayout div div div {
	background-image: url(/assets/lib/media/showLayout.div.3.gif);
}
.showLayout div div div div {
	background-image: url(/assets/lib/media/showLayout.div.4.gif);
}
.showLayout div div div div div {
	background-image: url(/assets/lib/media/showLayout.div.1.gif);
}
.showLayout div div div div div div {
	background-image: url(/assets/lib/media/showLayout.div.2.gif);
}
.showLayout div div div div div div div {
	background-image: url(/assets/lib/media/showLayout.div.3.gif);
}
.showLayout div div div div div div div div {
	background-image: url(/assets/lib/media/showLayout.div.4.gif);
}
.showLayout div div div div div div div div div {
	background-image: url(/assets/lib/media/showLayout.div.1.gif);
}
.showLayout div div div div div div div div div div {
	background-image: url(/assets/lib/media/showLayout.div.2.gif);
}
.showLayout div div div div div div div div div div div {
	background-image: url(/assets/lib/media/showLayout.div.3.gif);
}
.showLayout div div div div div div div div div div div div {
	background-image: url(/assets/lib/media/showLayout.div.4.gif);
}

li.testpages, a.testpages { display: none; }
.showLayout li.testpages,
.testpage li.testpages    { display: block; }
.showLayout a.testpages,
.testpage a.testpages     { display: inline; }




/* Outline ... */

/* .outline { margin-left: -1em; } */
.outline ul, .outline li {
	position: relative;
	/*background: none;*/
}
.outline .branchClosed ul { display: none; }