
/* = general
-------------------------------------------------- */
* {
	font-family: arial, sans-serif;
	font-size: 100%;
	line-height: 1.5;
	padding: 0;
	border: 0;
	margin: 0;
}

body {
	font-size: .875em;
	color: #000;
	background: #fff url(../images/gradient.png) fixed repeat-x center bottom;
}

h1 {
	float: left;
	margin-bottom: 20px;
}

h1 img {
	display: block;
}

.hidden,
h2 {
	position: absolute;
	top: -1000em;
	left: -1000em;
}

h3,
h4 {
	font-size: 1.6428em;
	font-weight: normal;
	margin-bottom: .25em;
}

h3 {
	color: #27b9d9;
}

h4 {
	font-size: 1.2857em;
}

p,
ul,
fieldset {
	margin: 0 0 1em 0;
}

ul {
	list-style: none;
}

a {
	text-decoration: underline;
	color: #27b9d9;
}

a:hover,
a:focus,
a:active {
	color: #747471;
}

table {
	border-collapse: collapse;
}

table th,
table td {
	padding: .1em .5em;
}

table tr.odd,
table tr.odd td {
	background: #e9e9e3;
}

input,
textarea {
	background: #fff url(../images/sprite.png) no-repeat;
	padding: .1428em .5714em;
	border: 1px solid #e2e2e2;
}

textarea {
	padding-right: 0;
}

input:hover,
input:focus,
input:active,
textarea:hover,
textarea:focus,
textarea:active {
	border-color: #747471;
}

button {
	cursor: pointer;
}

form fieldset button {
	font-weight: bold;
	color: #fff;
	background: #27b9d9;
	padding: .3em;
}

form fieldset button:hover,
form fieldset button:focus,
form fieldset button:active {
	background: #747471;
}

#main {
	position: relative;
	background: #fff;
	width: 67.8571em;
	padding: 27px 10px 10px;
	margin: 0 auto;
}

/* clearfix */
#main:after,
.login:after,
#content .pagination:after {
	content: " ";
	visibility: hidden;
	clear: both;
	display: block;
	height: 0;
}
/* /general */

/* = skiplinks
-------------------------------------------------- */
#skip {
	list-style: none;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
}

#skip li a {
	display: block;
	position: relative;
	top: -1000em;
	left: 28em;
	white-space: nowrap;
}

#skip li a:hover,
#skip li a:focus,
#skip li a:active {
	position: absolute;
	top: 2.7em;
}

a.jumplink {
	position: absolute;
	bottom: 2em;
	left: -1000em;
}

a.jumplink:hover,
a.jumplink:focus,
a.jumplink:active {
	left: 1.8em;
}
/* /skiplinks */

/* = header
-------------------------------------------------- */
#search {
	float: right;
	margin: 10px 0;
}

#search input {
	width: 22.3em;
}

#search button {
	position: relative;
	top: 1px;
	text-indent: -1000em;
	background: url(../images/sprite.png) no-repeat 3px -297px;
	width: 22px;
	height: 22px;
	margin-left: -2px;
}

#search button:hover,
#search button:focus,
#search button:active {
	background-position: 3px -397px;
}

#keyvisual {
	clear: both;
	display: block;
	margin-bottom: 20px;
}
/* /header */

/* = navigation
-------------------------------------------------- */
#nav {
	list-style: none;
	clear: left;
	float: left;
	width: 25%;
	padding-top: 30px;
	margin-left: 0;
}

#nav li a,
#nav li strong {
	display: block;
	font-size: 1.1428em;
	text-decoration: none;
	background: #c3e6f1;
	color: #000;
	padding: .25em .5625em;
	margin-bottom: 5px;
}

#nav li a:hover,
#nav li a:focus,
#nav li a:active,
#nav li a.active,
#nav li strong {
	font-weight: bold;
	color: #fff;
	background: #27b9d9;
}

#nav li a.active,
#nav li strong {
	background: #27b9d9 url(../images/sprite.png) no-repeat 100% -200px;
	margin-right: -8px;
}

#nav li strong {
	cursor: default;
}

/* subnavigation */
#nav ul {
	margin: 0 0 5px .7142em;
}

#nav ul li a,
#nav ul li strong {
	font-size: 1em;
	color: #27b9d9;
	background: transparent url(../images/sprite.png) no-repeat 0 -489px;
	padding: .2857em .7142em;
	margin: 0;
}

#nav ul li a:hover,
#nav ul li a:focus,
#nav ul li a:active,
#nav ul li a.active,
#nav ul li strong {
	color: #fff;
	background: #27b9d9 url(../images/sprite.png) no-repeat 0 -589px;
	margin-right: 0;
}

/* subnavigation third level */
#nav ul ul {
	margin-top: 5px;
}

#nav ul ul li a,
#nav ul ul li strong {
	background: none;
	padding: 0 .7142em;
}

#nav ul ul li a:hover,
#nav ul ul li a:focus,
#nav ul ul li a:active,
#nav ul ul li a.active,
#nav ul ul li strong {
	font-weight: normal;
	background: #27b9d9;
}

/* breadcrumb */
#breadcrumb {
	list-style: none;
	clear: both;
	padding-bottom: 5px;
	border-bottom: 1px dashed #e9e9e3;
	margin: -1.1em 0 -.8em 28%;
}

#breadcrumb li {
	display: inline;
	margin-right: 1px;
}

#breadcrumb li a,
#breadcrumb li strong {
	font-weight: normal;
	text-decoration: none;
	background: url(../images/sprite.png) no-repeat 0 -795px;
	padding-left: 8px;
}

#breadcrumb li.first a {
	background-position: 0 -495px;
}
/* /navigation */

/* = content
-------------------------------------------------- */
#content,
#marginalia {
	float: left;
	padding: 21px 0 2em;
	margin-left: 3%;
}

#content {
	width: 53%;
}

#content img {
	margin-bottom: .25em;
}

#content img.left {
	float: left;
	margin-right: 1em;
}

#content img.right {
	float: right;
	margin-left: 1em;
}

#content img.collapse {
	margin: 0;
}

#content ul li {
	background: url(../images/sprite.png) no-repeat 0 -793px;
	padding-left: 8px;
	margin-bottom: 1em;
}

#content ul li a {
	font-weight: bold;
	text-decoration: none;
}

#content p.pdf {
	background: url(../images/sprite.png) no-repeat -400px -700px;
	min-height: 59px;
	padding-left: 57px;
}

#content p.pdf a {
	display: block;
	font-weight: bold;
	text-decoration: none;
	background: url(../images/sprite.png) no-repeat 0 -793px;
	padding-left: 8px;
}

/* marginalia */
#marginalia {
	width: 16%;
}

#marginalia h4 {
	font-size: 1.6428em;
}

#marginalia .login,
#marginalia .teaser,
#marginalia .text {
	padding-bottom: 1.5em;
	border-bottom: 1px dashed #e9e9e3;
	margin-bottom: 1.5em;
}

#marginalia .last {
	border: 0;
}

#marginalia .teaser .date {
	display: block;
	margin-bottom: .5em;
}

/* searchresult pagination */
#searchresult {
	clear: both;
}

#content .pagination {
	clear: both;
	margin: 2em 0;
}

#content .pagination li {
	float: left;
	background: none;
	padding: 0;
	margin: 0 2px 0 0;
}

#content .pagination li a,
#content .pagination li strong {
	float: left;
	text-align: center;
	width: 1.5em;
	border: 2px solid #27b9d9;
}

#content .pagination li strong {
	cursor: default;
	color: #fff;
	background: #27b9d9;
}

#content .pagination li a {
	font-weight: normal;
}

#content .pagination li a:hover,
#content .pagination li a:focus,
#content .pagination li a:active {
	border-color: #747471;
}

#content .pagination li.prev a,
#content .pagination li.next a {
	overflow: hidden;
	text-indent: -1000em;
	background: url(../images/sprite.png) no-repeat 8px -793px;
}

#content .pagination li.prev a {
	background: url(../images/sprite.png) no-repeat 8px -693px;
}

/* sitemap */
#content #sitemap a {
	font-weight: normal;
	text-decoration: underline;
	background: #fff;
}

#content #sitemap a.home {
	font-weight: bold;
}

#content #sitemap a.mainnode {
	display: block;
	font-weight: bold;
	text-decoration: none;
	color: #fff;
	background: #27b9d9 url(../images/sprite.png) no-repeat 0 -593px;
	padding: 0 .7142em;
	margin-left: -12px;
}

#content #sitemap a.mainnode:hover,
#content #sitemap a.mainnode:focus,
#content #sitemap a.mainnode:active {
	outline-color: #747471
}

#content #sitemap li {
	background: none;
	padding: 0;
}

#content #sitemap li ul {
	padding-top: 1.5em;
	border-left: 1px dashed #e9e9e3;
	margin-left: 5px;
}

#content #sitemap li ul li {
	padding-left: 18px;
}

#content #sitemap li ul li.last {
	background-color: #fff;
	padding-left: 19px;
	margin-left: -1px;
}

#content #sitemap li ul li a,
#content #sitemap li ul li ul {
	position: relative;
	top: -.8em;
}

#content #sitemap li ul li a {
	margin-left: -4px;
}

#content #sitemap li ul li ul {
	margin-left: 0;
}

#content #sitemap li ul li ul li {
	background: #fff url(../images/sitemap_tree.png) no-repeat 3px 0;
	margin-bottom: 0;
}
/* /content */

/* = form
-------------------------------------------------- */
.login div,
.login p {
	float: left;
	margin: 0;
}

.login label span {
	display: none;
}

.login input {
	display: block;
	width: 7.7em;
	margin-bottom: .8em;
}

.login button {
	text-indent: -1000em;
	background: url(../images/sprite.png) no-repeat 100% -299px;
	width: 16px;
	height: 56px;
	margin-left: 9px;
}

.login button:hover,
.login button:focus,
.login button:active {
	background-position: 100% -399px;
}

#content .login input {
	width: 15em;
}

#content form fieldset p {
	clear: both;
}

#content form fieldset p label {
	float: left;
	padding-right: .5em;
}

#content form fieldset p input,
#content form fieldset p textarea {
	clear: both;
	display: block;
	width: 24.2em;
}

#content form fieldset p textarea {
	width: 24.9em;
}

#content form fieldset p.zip,
#content form fieldset p.city {
	clear: none;
	float: left;
	margin-right: .85em;
}

#content form fieldset p.zip input {
	width: 5.02em;
}

#content form fieldset p.city input {
	width: 16.75em;
}

#content form fieldset p.error,
#content form fieldset p.error input,
#content form fieldset p.error textarea {
	color: #f00;
}

#content form fieldset p.error input:hover,
#content form fieldset p.error input:focus,
#content form fieldset p.error input:active,
#content form fieldset p.error textarea:hover,
#content form fieldset p.error textarea:focus,
#content form fieldset p.error textarea:active {
	border-color: #f00;
}
/* /form */

/* = footer
-------------------------------------------------- */
#footer {
	clear: both;
	text-align: right;
	color: #747471;
	background: #e9e9e3 url(../images/footer.png) repeat-x;
	padding: 31px 10px 63px;
}

#footer p {
	margin: 0;
}

#footer ul {
	float: left;
	margin: 0;
}

#footer ul li {
	display: inline;
	margin-right: 1.2em;
}

#footer ul li a {
	text-decoration: none;
	font-weight: bold;
	color: #747471;
}

#footer ul li a:hover,
#footer ul li a:focus,
#footer ul li a:active {
	text-decoration: underline;
}
/* /footer */
