/**
 * hwDoko - Doppelkopf Account Management System
 *
 * hwDoko is a web-based management and information system for keeping
 * track of Doppelkopf accounts.
 * I realize that this is rather specific to the way my Doppelkopf group
 * manages their money, but I do believe that this can be used for other
 * groups of players to manage their money.
 *
 * This file is part of hwDoko.
 *
 * hwDoko is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * hwDoko is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with hwDoko. If not, see <http://www.gnu.org/licenses/>.
 *
 * hwDoko uses the CakePHP Rapid Development Framework.
 *
 * CakePHP(tm) :  Rapid Development Framework <http://www.cakephp.org/>
 * Copyright 2005-2008, Cake Software Foundation, Inc.
 *                      1785 E. Sahara Avenue, Suite 490-204
 *                      Las Vegas, Nevada 89104
 *
 * CakePHP(tm) is licensed under The MIT License.
 * <http://www.opensource.org/licenses/mit-license.php/>
 * Redistributions of CakePHP(tm) files must retain the above copyright notice.
 *
 * @package cake
 * @author Cake Software Foundation
 * @version $LastChangedRevision: 66 $
 * @copyright Copyright 2005-2008, Cake Software Foundation, Inc.
 *
 * @filesource
 *
 * Created:     Tue Feb 17 2009
 * Last Update: $Date: 2009-05-05 13:30:17 -0700 (Tue, 05 May 2009) $
 * $Id: cake.generic.css 66 2009-05-05 20:30:17Z kai $
 */

/**
 * Generic stuff
 */
* {
  margin:0;
  padding:0;
}

/** 
 * Body element
 */
body {
  margin: 20px 0;
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #717171;
}

a {
  color: #87a019;
  text-decoration: none;
}

a:hover {
  color: #2582a4;
}

h1 {
  color: #87a019;
  text-align: center;
  margin-bottom: 10px;
}

/**
 * Container
 */
#container {
}
  
/**
 * Header
 */
#header {
  width: 928px;
  height: 37px;
  margin: 0 auto;
  background: #becf74 url(../img/headerBG.gif) repeat-x;
  border-bottom: 3px solid white;
}
  
/**
 * Menu
 */
#menu {
  float: left;
  width: 430px;
  height: 37px;
  margin: 0;
  padding: 0 0 0 10px;
  background: url(../img/headerLeft.gif) no-repeat;
}

#menu ul {
  list-style: none;
}
  
#menu ul li {
  display: inline;
}

#menu ul li a {
  display: block;
  float: left;
  height: 27px;
  padding: 10px 15px 0px 15px;
  text-transform: lowercase;
  text-decoration: none;
  font-size: 12px;
  font-weight: bold;
  color: white;
}

#menu a:hover {
  background: #a4b74c url(../img/menuSelect.gif) repeat-x;
}

/**
 * Flash Element
 */
#flash {
  float: right;
  height: 28px;
  width: 450px;
  margin: 0;
  padding: 9px 25px 0 0;
  background: url(../img/headerRight.gif) no-repeat right top;
  font-size: 12px;
  color: #990000;
  font-weight: bold;
}
  
/**
 * Content
 */
#content {
  width: 928px;
  margin: 0 auto;
}

/**
 * Left Column - room for logo and the calendar
 */
#leftColumn {
  float: left;
  width: 238px;
  margin-bottom: 10px;
}

#logo {
  height: 150px;
  background: url(../img/logo.png) no-repeat;
}
  
#calendar {
  margin-bottom: 0;
  padding-bottom: 0;
  background: url(../img/leftTop.gif) repeat-x left bottom;
}

#calendar h2 {
  color: #2582a4;
  text-align: center;
}

#calendar table {
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
  cellspacing: 2px;
}

#calendar table th {
  text-align: center;
}

#calendar table td {
  text-align: center;
}

#calendar table td.today {
  border: 1px solid #2582a4;
}

#calendar table td.isEvent {
  font-weight: bold;
  color: #2582a4;
}

#eventList {
  margin-bottom: 0;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 10px;
  background: url(../img/leftBottom.gif) no-repeat left bottom;
}

#eventList ul {
  margin-left: 0;
  list-style: none;
}
  
#eventList li {
  padding: 5px 0;
  border-top: 1px solid #efefef;
}

#eventList li.first {
  border: none;
}

#transTotal {
  margin-bottom: 0;
  padding: 30px 0 0 0;
  background: url(../img/leftTop.gif) repeat-x left bottom;
}

#transTotal div {
  margin-bottom: 0;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  background: url(../img/leftBottom.gif) no-repeat left bottom;
}

#transTotal div ul {
  margin-left: 0;
  list-style: none;
}
  
#transTotal div ul li {
  padding: 5px 0;
  border-top: 1px solid #efefef;
  clear: both;
}

#transTotal div ul li.first {
  border: none;
}

#transTotal div ul li span.left {
  text-align: left;
  width: 50px;
  display: block;
  float: right;
  color: #2582a4;
  font-weight: bold;
}

#transTotal div ul li span.right {
  text-align: right;
  width: 130px;
  display: block;
  float: left;
}

#additionalLinks {
  margin-bottom: 0;
  padding-bottom: 0;
  padding-top: 50px;
  background: url(../img/leftTop.gif) repeat-x left bottom;
}

#addlLinkList {
  margin-bottom: 0;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 10px;
  margin-left: 0;
  list-style: none;
  background: url(../img/leftBottom.gif) no-repeat left bottom;
}

#addlLinkList li {
  padding: 5px 0;
  border-top: 1px solid #efefef;
}

#addlLinkList li.first {
  border: none;
}

/**
 * Right Column - main display area
*/
#rightColumn {
  float: right;
  width: 617px;
  padding: 30px 40px 0px 30px;
  margin-bottom: 10px;
  background: url(../img/mainBG.gif) repeat-x;
  overflow: auto;
}
  
/**
 * Forms
 */
#rightColumn div.form {
  margin-bottom: 0;
  padding-bottom: 0;
  background: url(../img/rightTop.gif) repeat-x left bottom;
}
  
#rightColumn form {
  display: block;
  margin-bottom: 0;
  padding-top: 0px;
  padding-bottom: 20px;
  padding-left: 20px;
  padding-right: 10px;
  background: url(../img/rightBottom.gif) no-repeat left bottom;
}

fieldset {
  border: 1px solid #a1a1a1;
  margin-top: 30px;
  padding: 16px 20px;
}
  
fieldset legend {
  color: #2582a4;
  font-size: 160%;
  font-weight: bold;
  padding-left: 50px;
  background: url(../img/olle.png) no-repeat;
}

form ul {
  padding: 0 0 10px 15px;
}
  
form div {
  padding-bottom: 10px;
  clear: both;
}

form div.input {
}

form div.required {
}

form div.submit {
}

form div label {
  width: 125px;
  float: left;
  display: block;
  padding-right: 20px;
  text-align: right;
  font-variant: small-caps;
  font-weight: bold;
}

form div.required label {
  color: #2582a4;
}

form div input, form div textarea {
  width: 300px;
  float: left;
  display: block;
  margin-bottom: 10px;
  border: solid black;
  border-width: 1px 2px 2px 1px;
}

form div input:focus, form div select:focus, form div textarea:focus {
  background-color: #becf74;
}

form div.date select, form div.datetime select {
  width: auto;
  float: none;
  display: inline;
  margin-bottom: 10px;
  border: solid black;
  border-width: 1px 2px 2px 1px;
}

form div select {
  width: 300px;
  float: left;
  display: block;
  margin-bottom: 10px;
  border: solid black;
  border-width: 1px 2px 2px 1px;
}

form table select {
  float: left;
  display: block;
  width: 100%;
  border: solid black;
  border-width: 1px 2px 2px 1px;
}

form table select:focus {
  background-color: #becf74;
}
form div.checkbox {
  padding-left: 145px;
}

form div.checkbox input {
  border: none;
  width: auto;
}

form div.submit {
  padding-left: 145px;
  background: none;
}
  
form div.submitAvail {
  background: none;
}
  
form div.submit input, div.submitAvail input {
  background-color: #2582a4;
  color: white;
  font-weight: bold;
}

form div.error input, form div.error select, form div.error textarea {
  border: solid #990000;
  border-width: 1px 2px 2px 1px;
}

form div.error-message {
  padding-left: 145px;
  font-weight: bold;
  color: #990000;
}
  
form div.forgot {
  clear: both;
  padding-left: 145px;
  background: none;
}
  
form.directions label.checkbox {
  padding-left: 10px;
}

/**
 * Error message for response error page
 */
div.error p.error {
  font-weight: bold;
  color: #990000;
}
  
/**
 * These only appear in the actions, security and manage attendee forms
 */
div.actionList {
  width: 617px;
}

div.actionList table {
  border: 1px solid #a1a1a1;
  border-right: 0;
  border-bottom: 0;
  clear: both;
  margin-bottom: 10px;
}
  
div.actionList table tr th {
  background: #f2f2f2;
  border: 1px solid #bbbbbb;
  border-top: 1px solid white;
  border-left: 1px solid white;
  text-align: center;
  color: #2582a4;
}

div.actionList table tr td {
  padding: 4px;
  text-align: left;
  vertical-align: top;
  border-right: 1px solid #a1a1a1;
  border-bottom: 1px solid #a1a1a1;
}

div.actionList table tr.altrow td {
  background: #f4f4f4;
}

div.actionList table tr td label {
  padding-left: 5px;
}

div.security {
  width: 617px;
}

div.security p {
  padding-bottom: 1em;
}

div.security table {
  border: 1px solid #a1a1a1;
  border-right: 0;
  border-bottom: 0;
  clear: both;
  margin-bottom: 10px;
}
  
div.security table tr th {
  background: #f2f2f2;
  border: 1px solid #bbbbbb;
  border-top: 1px solid white;
  border-left: 1px solid white;
  text-align: center;
  color: #2582a4;
}

div.security table tr td {
  padding: 4px;
  text-align: left;
  vertical-align: top;
  border-right: 1px solid #a1a1a1;
  border-bottom: 1px solid #a1a1a1;
}

div.security table tr.altrow td {
  background: #f4f4f4;
}

div.security table tr td label {
  padding-left: 5px;
  padding-right: 5px;
}

div.calendarEventsAdmin {
  width: 617px;
}

div.calendarEventsAdmin table {
  border: 1px solid #a1a1a1;
  border-right: 0;
  border-bottom: 0;
  clear: both;
  margin-bottom: 10px;
  margin-left: 145px;
}
  
div.calendarEventsAdmin table tr th {
  background: #f2f2f2;
  border: 1px solid #bbbbbb;
  border-top: 1px solid white;
  border-left: 1px solid white;
  text-align: center;
  color: #2582a4;
}

div.calendarEventsAdmin table tr td {
  padding: 4px;
  text-align: left;
  vertical-align: top;
  border-right: 1px solid #a1a1a1;
  border-bottom: 1px solid #a1a1a1;
}

div.calendarEventsAdmin table tr.altrow td {
  background: #f4f4f4;
}

div.calendarEventsAdmin table tr td label {
  padding-left: 5px;
  padding-right: 5px;
}

/**
 * Reports
 */
div.report {
  width: 617px;
  background: url(../img/rightTop.gif) repeat-x left bottom;
}
  
div.report h2 {
  color: #2582a4;
  padding-left: 50px;
  margin-bottom: 1em;
  background: url(../img/dolle.png) no-repeat;
}

div.report div {
  padding-left: 20px;
  padding-bottom: 20px;
  background: url(../img/rightBottom.gif) no-repeat left bottom;
}

div.report div table {
  border: 1px solid #a1a1a1;
  border-right: 0;
  border-bottom: 0;
  clear: both;
  margin-bottom: 10px;
  width: 100%;
}
  
div.report div table tr th {
  background: #f2f2f2;
  border: 1px solid #bbbbbb;
  border-top: 1px solid white;
  border-left: 1px solid white;
  text-align: center;
  color: #2582a4;
}

div.report div table tr td {
  padding: 4px;
  text-align: right;
  vertical-align: top;
  border-right: 1px solid #a1a1a1;
  border-bottom: 1px solid #a1a1a1;
}

div.report div table tr.altrow td {
  background: #f4f4f4;
}

div.balance div table {
  width: 300px;
}

div.balanceSheet div table {
  width: 1500px;
}

div#noBGFormTop {
  background: none;
  padding-left: 0;
  margin-left: 0;
}

div#noBGFormTop form {
  background: none;
  padding-left: 0;
  margin-left: 0;
}

div#noBGFormTop form div.submit {
  background: none;
  padding: 0;
  margin: 0;
}

div#noBGFormBottom {
  background: none;
  padding-left: 0;
  margin-left: 0;
}

div#noBGFormBottom form {
  background: none;
  padding-left: 0;
  margin-left: 0;
}

div#noBGFormBottom form div.submit {
  background: none;
  padding: 0;
  margin: 0;
}

/**
 * CalendarEvents View
 */
div.calendarEvents {
  width: 617px;
}

div.calendarEvents h2 {
  color: #2582a4;
  padding-left: 50px;
  margin-bottom: 1em;
  background: url(../img/fuchs.png) no-repeat;
}

div.calendarEvents table {
  border-left: 1px solid #a1a1a1;
  border-top: 1px solid #a1a1a1;
  border-right: 0;
  border-bottom: 0;
  clear: both;
  margin-bottom: 10px;
  width: 100%;
}
  
div.calendarEvents table.calendarInfo {
  margin-left: 20px;
  width: 577px;
}
  
div.calendarEvents table tr th {
  background: #f2f2f2;
  border: 1px solid #bbbbbb;
  border-top: 1px solid white;
  border-left: 1px solid white;
  text-align: center;
  color: #2582a4;
}

div.calendarEvents table tr td {
  padding: 4px;
  text-align: left;
  vertical-align: top;
  border-right: 1px solid #a1a1a1;
  border-bottom: 1px solid #a1a1a1;
}

div.calendarEvents table tr.altrow td {
  background: #f4f4f4;
}

/**
 * Locations View
 */
div.locations {
  width: 617px;
}

div.locations h2 {
  color: #2582a4;
  padding-left: 50px;
  margin-bottom: 1em;
  background: url(../img/charlie.png) no-repeat;
}

div.locations table {
  border-left: 1px solid #a1a1a1;
  border-top: 1px solid #a1a1a1;
  border-right: 0;
  border-bottom: 0;
  clear: both;
  margin-bottom: 10px;
  margin-left: 20px;
  width: 577px;
  }
  
div.locations table tr th {
  background: #f2f2f2;
  border: 1px solid #bbbbbb;
  border-top: 1px solid white;
  border-left: 1px solid white;
  text-align: center;
  color: #2582a4;
}

div.locations table tr td {
  padding: 4px;
  text-align: left;
  vertical-align: top;
  border-right: 1px solid #a1a1a1;
  border-bottom: 1px solid #a1a1a1;
}

div.locations table tr.altrow td {
  background: #f4f4f4;
}
  
div.locations div.locationsList {
  width: 617px;
  background: url(../img/rightTop.gif) repeat-x left bottom;
}

div.locations div.locationsList ul {
  padding-left: 20px;
  list-style: none;
  background: url(../img/rightBottom.gif) no-repeat left bottom;
}

div.locations div.locationsList ul li {
  padding-top: 1em;
  padding-bottom: 1em;
  margin-right: 10px;
  border-top: 1px solid #efefef;
}

div.locations div.locationsList ul li.first {
  border: 0;
}

/**
 * Google Maps Container / Table (used in both locations and calendarevents)
 */
div.googleMapsContainer {
  width: 617px;
  background: url(../img/rightTop.gif) repeat-x left bottom;
}

div.googleMapsContainer div.googleMapsTable {
  padding-left: 20px;
  padding-bottom: 20px;
  width: 577px;
  background: url(../img/rightBottom.gif) no-repeat left bottom;
}

div.googleMapsTable table {
  border: 1px solid #a1a1a1;
  border-right: 0;
  clear: both;
  margin-bottom: 10px;
  width: 100%;
}
  
div.googleMapsTable table tr th {
  background: #f2f2f2;
  border: 1px solid #bbbbbb;
  border-top: 1px solid white;
  border-left: 1px solid white;
  text-align: center;
  color: #2582a4;
}

div.googleMapsTable table tr td {
  padding: 4px;
  text-align: left;
  vertical-align: top;
  border-right: 1px solid #a1a1a1;
}

/**
 * User Profile Manager (myDoko)
 */
div.profile {
  width: 617px;
}

div.profile h2 {
  color: #2582a4;
  padding-left: 50px;
  margin-bottom: 1em;
  background: url(../img/dolle.png) no-repeat;
}

div.profile div {
  width: 617px;
  background: url(../img/rightTop.gif) repeat-x left bottom;
}

div.profile div ul {
  padding-left: 20px;
  list-style: none;
  background: url(../img/rightBottom.gif) no-repeat left bottom;
}

div.profile div ul li {
  padding-top: 1em;
  padding-bottom: 1em;
  margin-right: 10px;
  border-top: 1px solid #efefef;
}

div.profile div ul li.first {
  border: 0;
}

/**
 * Administration
 */
div.administration {
  width: 617px;
}

div.administration h2 {
  color: #2582a4;
  padding-left: 50px;
  margin-bottom: 1em;
  background: url(../img/fuchs.png) no-repeat;
}

div.administration div {
  width: 617px;
  background: url(../img/rightTop.gif) repeat-x left bottom;
}

div.administration div ul {
  padding-left: 20px;
  list-style: none;
  background: url(../img/rightBottom.gif) no-repeat left bottom;
}

div.administration div ul li {
  padding-top: 1em;
  padding-bottom: 1em;
  margin-right: 10px;
  border-top: 1px solid #efefef;
}

div.administration div ul li.first {
  border: 0;
}

/**
 * Index views in administration modules. Contains pagination
 */
div.index {
  width: 617px;
  background: url(../img/rightTop.gif) repeat-x left bottom;
}

div.index h2 {
  color: #2582a4;
  padding-left: 50px;
  margin-bottom: 1em;
  background: url(../img/fuchs.png) no-repeat;
}

div.index p {
  margin-left: 20px;
}

div.index table {
  border-left: 1px solid #a1a1a1;
  border-top: 1px solid #a1a1a1;
  border-right: 0;
  border-bottom: 0;
  clear: both;
  margin-top: 10px;
  margin-bottom: 10px;
  margin-left: 20px;
  width: 577px;
}
  
div.index table tr th {
  background: #f2f2f2;
  border: 1px solid #bbbbbb;
  border-top: 1px solid white;
  border-left: 1px solid white;
  text-align: center;
  color: #2582a4;
}

div.index table tr td {
  padding: 4px;
  text-align: left;
  vertical-align: top;
  border-right: 1px solid #a1a1a1;
  border-bottom: 1px solid #a1a1a1;
}

div.index table tr.altrow td {
  background: #f4f4f4;
}
  
div.paging {
  margin-bottom: 2em;
}

div.paging div.disabled {
  display: inline;
  color: #ddd;
}

div.paging span {
}

div.paging span.current {
color: #2582a4;
}

div.actions {
  padding-left: 20px;
  padding-bottom: 20px;
  background: url(../img/rightBottom.gif) no-repeat left bottom;
}

div.actions ul {
  margin: 0;
  padding: 0;
}

div.actions ul li {
  display: inline;
  list-style-type: none;
  line-height: 2em;
  margin: 0 2em 0 0;
  white-space: nowrap;
}

#rightColumn div.groupsAdmin form {
  background: none;
}

#rightColumn div.usersAdmin form {
  background: none;
}

#rightColumn div.locationsAdmin form {
  background: none;
}

#rightColumn div.calendarEventsAdmin form {
background: none;
}

#rightColumn div.security form {
  background: none;
}
  
/**
 * Doko Rules Page
 */
div.rules {
  width: 617px;
}

div.rules h2 {
  color: #2582a4;
  padding-left: 50px;
  margin-bottom: 1em;
  background: url(../img/charlie.png) no-repeat;
}

div.rules div {
  width: 617px;
  background: url(../img/rightTop.gif) repeat-x left bottom;
}

div.rules div ul.rulesList {
  padding-left: 20px;
  list-style: none;
  background: url(../img/rightBottom.gif) no-repeat left bottom;
}

div.rules div ul.rulesList li.rule {
  padding-top: 1em;
  padding-bottom: 1em;
  margin-right: 10px;
  border-top: 1px solid #efefef;
  font-weight: bold;
}

div.rules div ul.rulesList li.first {
  border: 0;
}
 
div.rules div ul.rulesList li.rule ul {
  padding-left: 30px;
}

div.rules div ul.rulesList li.rule ul li {
  font-weight: normal;
}

/**
 * Footer
 */
#footer {
  clear: both;
  width: 928px;
  height: 60px;
  margin: 0 auto;
  padding-top: 40px;
  background: url(../img/footerBG.gif) repeat-x;
}
  
#footer p {
  margin: 0;
  background: url(../img/cake.power.gif) no-repeat bottom right;
  text-align: center;
  font-size: 10px;
}

#footer p a {
  text-decoration: none;
  color: #2582a4
}
