/* (c) 2009 Johannes J. Schmidt
 * gray: #c0bfbd
 * red:  #cf4c2e
 * */
body {
  margin: 0;
  padding: 0;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 80%;
  background-color: #f6f6f6;
  color: #555;
  min-width: 750px;
  line-height: 2.8ex;
}

/* General elements */
a {
  text-decoration: none;
  color: #666;
}
a:visited {
  color: #c7b299;
}
a:active,
a:hover,
a.current {
  color: #d8392b;
}
img {
  border: none;
}
.clear {
  clear: both;
}
fieldset {
  border: none;
  border-top: 1px dashed silver;
  padding: 1em;
}
fieldset.login,
fieldset.password,
fieldset.user,
fieldset.search,
fieldset.page,
fieldset.tag,
fieldset.store,
fieldset.todo,
fieldset.participation,
fieldset.attendance,
fieldset.language,
fieldset.resource,
fieldset.submit {
  border: none;
}
fieldset.search {
  margin: 0;
  padding: 0 0 0 1em;
}
fieldset fieldset {
  font-size: 0.8em;
}
table.form {
  border-collapse: collapse;
  margin: 0;
}
table.form input,
table.form select {
  width: auto !important;
}
table.form tr td {
  padding: 0 1em 0 0;
}
table.form tr th {
  text-align: left;
}
fieldset.pricing table {
  width: 100%;
  border-collapse: collapse;
  margin: 0;
}
fieldset.pricing table tr td {
  padding: 0;
}
fieldset.pricing table tr th {
  text-align: left;
}
fieldset.pricing table input,
fieldset.pricing table select {
  width: auto !important;
  font-size: 0.9em;
}
legend {
  color: #cc3333;
}
fieldset p {
  margin: 0 0 1ex 0;
}
fieldset input {
  margin: 0 0 1ex 0;
}
label {
  letter-spacing: 0.5ex;
}
input[type="text"],
select {
  width: 32em;
}
input[type="text"],
input[type="password"],
textarea {
  font-weight: bold;
  font-size: 1.2em;
}
input.price {
  width: auto;
}
a.button {
  -moz-appearance: toolbarbutton;
}
label,
tr {
  cursor: default;
}
label {
  letter-spacing: 0.5ex;
}
textarea {
  width: 50em;
}
table {
  margin: 1em 1ex;
}
table th {
  text-align: right;
  padding-right: 1ex;
}

/* Definition lists */
dl {
  line-height: 3.3ex;
}
dl dt {
  font-weight: bold;
  width: 12em;
  height: 3ex;
  overflow: hidden;
}
dl.registration_form dt {
  width: 26em;
}
#content .gmnoprint dl {
  font-size: 0.9em;
}
#content .gmnoprint dl dt {
  width: 6em;
}
dl dt {
  float: left;
}
ol {
  list-style-type: none;
  padding-left: 1em;
  line-height: 3.3ex;
}


ol.two_column,
ol.thumbs {
  list-style-type: none;
  padding: 0;
}
ol.two_column li,
ol.thumbs li {
  float: left;
  width: 45%;
  margin: 0.5ex 1em 0.618em 1em;
  border-bottom: none;
  height: 6em;
}
ol.thumbs li {
  background: #eee;
  height: 50px;
  overflow: hidden;
}
#content ol.thumbs li h3 {
  display: inline;
  max-width: 80%;
  overflow: hidden;
}
ol.thumbs li h3 a {
  color: #333 !important;
}
ol.two_column li.past h3 a {
  color: #cba5bb !important;
}
ol.thumbs li img.icon {
  padding-right: 1em;
  float: left;
  max-width: 20%;
}
ol.thumbs li .tool {
  float: right;
  margin: 0 1ex 0 0;
}
ol.two_column li h3 {
  background: #eee;
  margin: 0;
}
ol.two_column li h3 a {
  display: block;
}
ol.two_column li p {
  margin: 1ex 0 0 0;
  color: #333;
}
ol.two_column li h3 a.tool {
  font-size: 0.84em;
  color: #555 !important;
  float: right;
}
p.info {
  font-weight: bold;
}

/* Head */
#header {
  background-color: #B5B8B4;
  color: #F8F8F8;
  padding: 0 0 1px 0;
}


/* User menu */
#header_bar {
  background-color: #5D5953;
  border-top: 1px solid #898883;
  border-bottom: 1px solid #898883;
  font-size: 10px;
  color: #c0bfbd;
}
#header_bar .breadcrump {
  float: left;
  padding: 10px 0 4px 1em;
  margin: 0;
}
#header_bar ul.usermenu {
  float: right;
  padding: 10px 1ex 4px 0;
}
#header_bar ul {
  margin: 0;
}
#header_bar ul li {
  display: inline;
  padding: 0 1ex;
  border-left: 1px solid #c0bfbd;
}
#header_bar ul li:first-child {
  border-left: none;
}
#header_bar ul li a {
  color: #c0bfbd;
}
#header_bar ul li a.nickname {
  color: #cf4c2e;
}

#flash {
  position: relative;
  top: -5.5ex;
  margin-bottom: -7ex;
  clear: both;
  font-size: 0.8em;
}
#flash.notice {
  background: transparent url(/images/notice.png) no-repeat 12px 0;
  height: 25px;
  padding: 10px 0 0 35px;
  color: green;
}
#flash.warning {
  color: #cc3333;
}

/* Logo */
#logo {
  margin: 43px 0 0 47px;
}
#logo h1 {
}
#logo h1 a {
  color: transparent;
}

/* Title */
#title {
  margin: -25px 0 0 40em;
}
#title h2 {
  color: #e5e5e5;
  display: inline;
  font-size: 23px;
  font-weight: normal;
  padding: 0.2ex 1ex 0 0;
  margin: 0 0.5ex 0 0;
}
#title h2 a {
  color: #e5e5e5;
}
#title h2 a:hover {
  color: #cc3333;
}
#title h3 {
  display: inline;
  margin: 0;
  padding: 0.2ex 0 0 1em;
  border-left: 1px solid #e5e5e5;
  color: #e5e5e5;
  font-size: 14px;
  font-weight: normal;
}
#languages {
  float: right;
  margin: 0 1em;
}
#languages a {
  border-left: 1px solid #ddd;
  padding: 0 0.5ex 0 1ex;
}
#languages a:first-child {
  border: none;
}
#languages a.current {
  color: #eee;
}

/* Body */
#body {
  background: #f6f6f6 url(/images/body_bg.png) repeat-x top left;
  padding: 50px 0 30px 0;
}

/* Menu */
#menu {
  background: transparent url(/images/menu_bg.png) repeat-x top left;
  width: 20%;
  max-width: 20em;
  min-height: 445px;
  float: left;
}
#menu ul {
  font-size: 12px;
  margin: 0 16px 0 0;
  padding: 0;
  border-bottom: 3px solid #d74b2b;
}
#menu ul ul {
  margin: 0;
  border-bottom: none;
}
#menu li {
  list-style-type: none;
  padding: 0;
}
#menu li.seperator {
  height: 3px;
}
#menu li input {
  cursor: pointer;
  width: 100%;
  border: none;
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
  width: 100%;
  text-align: left;
}
#menu li a,
#menu li input {
  color: #f4f4f4;
  background-color: #a3a3a3;
  display: block;
  padding: 0.3em 10px 0.2em 18px;
  margin: 3px 0 3px 0;
}
#menu li li a,
#menu li li input {
  color: #666666;
  background-color: #cfcfcf;
  font-size: 0.97em;
  padding-left: 35px;
  background-image: none;
}
#menu li li li a,
#menu li li li input {
  background-color: #dfdfdf;
  color: #444;
  padding-left: 55px;
  background-image: none;
}
#menu li li li li a,
#menu li li li li input {
  color: #222;
  background-color: #efefef;
  padding-left: 85px;
}
#menu li li li li li a,
#menu li li li li li input {
  color: #111;
  background-color: #fff;
  padding-left: 100px;
}
#menu li a.current,
#menu li a:hover,
#menu li input:hover {
  color: #f4f4f4;
  background: #a3a3a3 url(/images/menu_entry_active_red.png) repeat-y top left;
}

/* Content */
#content {
  float: left;
  border: 2px solid #f8f8f8;
  border-right: none;
  padding: 0 0 33px 0;
  margin: 2px 0 0 -2px;
  width: 80%;
  min-height: 445px;
  max-width: 57em;
}
#content .contentbox {
  margin: 1cm 1cm 1cm 1cm;
  clear: both;
}
#content .contentbox a {
  border-bottom: 1px dotted silver;
}
#content .contentbox .browser a,
#content .contentbox .tree a,
#content .contentbox .images a,
#content .contentbox a.tool,
#content .contentbox h3 a {
  border: none;
}

/* form style */
#content.new,
#content.create,
#content.edit,
#content.update {
}

#content h1 {
  background-color: white;
  color: #666;
  margin: 0;
  padding: 2px 36px 3px 17px;
  margin-left: -1px;
  font-weight: normal;
  font-size: 1.07em;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
#toolbar {
  margin: -2px;
}
#toolbar .page_header h1 {
  float: left;
  max-width: 40%;
}
#toolbar .page_header .tools {
  float: right;
  text-align: right;
}

#content ul.tools {
  font-size: 0.84em;
  margin: 0.3ex;
  padding: 0;
  clear: right;
}
#content ul.tools li {
  display: inline;
  padding: 0;
}
#content div.pagination {
  font-size: 1em;
  text-align: right;
  clear: right;
  color: #d8392b;
}
#content div.pagination a {
  font-size: 0.84em;
  padding: 2px 4px;
}

#content .seperator {
  border-left: 1px dotted silver;
  padding-right: 2px;
}
#content ul.tools a {
  padding: 0 2px;
  margin: 0 3px;
  background-color: #F2F2F2;
  -moz-appearance: toolbarbutton;
  white-space: nowrap;
}
#content ul.tools a:hover {
  background-color: #FcFcFc;
}

#content .contentbox > form {
  margin-top: 1.7em;
}
#content h2 {
  font-size: 1.1em;
  background: transparent url(/images/line.png) no-repeat bottom left;
  margin-bottom: 1cm;
}
#content h3 {
  font-size: 1em;
  margin-top: 3em;
}
#content.events li h3 {
  min-height: 6em;
}
#content .gmnoprint h3 {
  margin-top: 0;
}
#content ol h3 {
  margin-top: 1em;
}
#content h2, 
#content h3,
#content h2 a, 
#content h3 a {
  color: #cf4c2e;
  font-weight: normal;
}
#content h2 {
  padding-bottom: 1ex;
}
span.date {
  color: #808080;
  font-size: 0.9em;
}
#content h2 span.date, 
#content h3 span.date {
  font-size: 0.7em;
  padding-left: 2em;
}
#content .images {
  float: right;
  list-style-type: none;
  margin: 0;
}

/* Foot */
#footer {
  background: transparent url(/images/footer_bg.png) repeat-x top left;
  min-height: 108px;
  text-align: center;
}
#footer p {
  color: #808080;
  padding: 70px 0 0 0;
  margin: 0;
}

div.autocomplete {
  position:absolute;
  width:250px;
  background-color:white;
  border:1px solid #808080;
  margin:0;
  padding:0;
}
div.autocomplete ol {
  list-style-type:none;
  margin:0;
  padding:0;
}
div.autocomplete ol li.selected { 
  background-color: #ffb;
}
div.autocomplete ol li {
  list-style-type:none;
  display:block;
  margin:0;
  padding:2px;
  height:32px;
  cursor:pointer;
}
div.autocomplete ol li.image {
  padding-left: 37px;
}

#content p.participation,
#content p.event_location,
#content p.participant_location,
#content p.resourcing,
#content p.tagging {
  line-height: 6ex;
  word-spacing: 1ex;
}
#content p.participation a,
#content p.event_location a,
#content p.participant_location a ,
#content p.tagging a {
  font-size: 2em;
}
#content 
#content p.resources,
#content p.tags {
  font-size: 0.9em;
  margin: 0;
}
#content p.resources a,
#content p.tags a {
  color: #cf4c2e;
  font-style: italic;
}

/* Foot */
#footer {
  height: 108px;
}

#bigmap_div {
  margin: -1px 0 0 -2px;
}
#bigmap_div,
#map_div {
  border: 1px solid #c0bfbd;
}
#map_div {
  margin-top: 1cm;
}
#tags {
  width: 50em;
  text-align: justify;
  line-height: 4.3ex;
}
.tag1 { font-size: 1.0em; }
.tag2 { font-size: 1.5em; }
.tag3 { font-size: 1.8em; }
.tag4 { font-size: 2.2em; }
.tag5 { font-size: 2.6em; }
.tag6 { font-size: 2.9em; }


span.tool {
  vertical-align: super;
  font-weight: bold;
  padding: 1ex;
}
span.tool a img {
  border: none !important;
}

/* Browser */
table.browser {
  width: 100%;
  border-collapse: collapse;
}
table.browser th {
  text-align: left;
}
table.browser tr:first-child th {
  padding-bottom: 1em;
}
table.browser tr:hover {
  background-color: #eee8aa;
}
table.browser tr:first-child:hover {
  background-color: transparent;
}
table.browser td {
  padding-right: 1em;
  cursor: default;
}
table.browser td a {
  display: block;
  overflow: hidden;
}
table.browser .icon {
  width: 32px;
}
table.browser img.icon {
  border: 1px outset #aaa;
  -moz-border-radius: 2px;
  height: 32px;
  width: 32px;
}
table.browser .size {
  min-width: 6em;
  text-align: right;
}
table.browser .mime {
  width: 6em;
}
table.browser .date {
  width: 6em;
}
div.image_list img {
  float: left;
}

ol.tree {
  padding: 1em 2em;
}
ol.tree li {
  padding: 3px 4px 2px 0;
  list-style-type: none;
}
ol.tree li a {
  padding-left: 1ex;
}
.handle {
  padding: 0 3px;
  font-family: monospace;
  font-size: 0.7em;
  cursor: move;
}

/* http://edition-w3c.de/TR/1998/REC-CSS2-19980512/kap12.html#heading-12.5%A0
 * Das folgende Stylesheet nummeriert verschachtelte Listenelemente als „1“, „1.1“, „1.1.1“: */
ol.tree,
ol.tree ol { 
  counter-reset: item;
}
ol.tree li { 
  display: block
  border: 1px dotted transparent;
}
ol.tree li:before { 
  content: counters(item, ".");
  counter-increment: item;
}


.selected-files {
  list-style-type: none;
  padding: 0;
}

span.todoables {
  font-style: italic;
  font-size: 0.8em;
}

table.matrix tr th {
  font-weight: normal;
  line-height: 2ex;
  vertical-align: bottom;
  font-size: 0.6em;
}
#content div.todo {
  border: 1px dashed #cc3333;
  display: table;
  padding: 0 1.618em 0 1em;
}
#content div.todo ol {
}
#content div.todo h3 {
  margin: 1ex 0 0 0;
}
ol.todos {
  margin: 0.5ex 0 1ex 0;
  padding-left: 2.8ex;
}
#todo_list li {
  margin-bottom: 1ex;
  border-bottom: 1px solid #ddd;
}
#todo_list li.todo_0 {
  font-size: 1.8em;
}
#todo_list li.todo_1,
#todo_list li.todo_2 {
  font-size: 1.3em;
}
#todo_list li.todo_3,
#todo_list li.todo_4,
#todo_list li.todo_5 {
  font-size: 1.1em;
}

#content.maps .contentbox {
  margin: 0;
}
#content.calendar #toolbar,
#content.maps #toolbar {
  display: none;
}
#content.calendar .contentbox {
  margin-top: 0;
}

ol.store li {
  background: transparent url(/images/line.png) no-repeat bottom left;
  padding: 0 0 0.618cm 0;
  margin: 0 0 1.618cm 0;
}
ol.store li span.image,
.articles span.image {
  float: left;
  padding: 0.7ex 2em 0 0;
}
ol.store li p.category,
.articles p.category {
  padding: 0 0 1em 0;
}
ol.store li h3 {
  font-size: 1.1em !important;
}
#content.articles h3 {
  font-size: 1.1em;
  margin-top: 1em;
  padding-top: 0;
}
.articles h3 a,
ol.store li h3 a {
  color: #333 !important;
}
ol.store li h2 {
  background: none !important;
}
div.article_body {
  margin-top: 1cm;
}
.articles ul.tools,
.articles div.price,
ol.store li .price,
ol.store li .tools {
  float: right;
  padding: 0 0 1em 1em;
}
table.cart {
  width: 100%;
  border-collapse: collapse;
}
table.cart tr td {
  border-bottom: 1px solid silver;
  padding: 1ex 0 1em 0;
}
table.cart tr th {
  text-align: left;
  border-bottom: 1px solid silver;
  font-weight: normal;
}
table.cart input,
table.cart select {
  width: auto !important;
}
#errorExplanation h2 {
  background: none;
}
input.clipboard {
  font-weight: normal;
  font-size: inherit;
}
#content .tools a.send_to_colleague {
  background: transparent url(/images/send_to_colleague.png) no-repeat center center;
  padding: 12px;
  font-size: 0px;
  color: transparent;
  -moz-appearance: none;
}
