/**
 *
 * Stylesheet for layout, fonts, and borders
 * Coded by Douglas Waldron
 *   
 **/

/* Basic Body Styles */
html {
 color: #000;
 background: #fff;
 margin: 0;
}
body {
 font: 76%/1.3 verdana, sans-serif;
 margin: 0;
}
h1 {
 font-family: verdana, sans-serif;
 letter-spacing: .12em;
 font-size: 2em;
 margin: 0 0 1em;
 font-weight: bold;
}
h2 {
 font-family: georgia, times, serif;
 letter-spacing: .12em;
 font-size: 1.3em;
 margin: 5px 15px;
}
h3 {
 margin: 10px 0 0;
 text-align: center;
 font-weight: normal;
 font-size: 1em;
}
acronym,
abbr {
 font-size: .9em;
 letter-spacing: .07em;
}
acronym[title],
abbr[title] {
 border-bottom: 1px dashed gray;
}

/* footerStickAlt <http://www.themaninblue.com/writing/perspective/2005/08/29/> */
html, body {height: 100%;}
#wrap {position: relative; min-height: 100%;}
#footer {position: relative; margin: -5.8em auto 0 auto;}
#content {padding: 5px 0 3.5em;}

/* Basic Table Styles */
table {
 border-collapse: collapse;
}
td {
 vertical-align: top;
}
thead {
 border-top-width: 1px;
 border-top-style: solid;
 border-bottom-width: 2px;
 border-bottom-style: solid;
}
thead th {
 padding: 3px 2px;
 text-align: center;
 vertical-align: middle;
 font-weight: bold;
}
tbody th {
 padding: 3px 2px;
 text-align: left;
}
caption {
 margin-right: 10px;
 font-style: italic;
 text-align: right;
}

/* Basic Form Styles */
input, select, textarea {
 border-width: 1px;
 border-style: solid;
}
label {
 /*display: block;*/
 padding: 5px 2px;
}
input.submit,
input.cancel,
input.delete {
 border-width: 2px;
 border-style: solid;
}
input.submit,
input.delete {
 padding-left: 17px;
}
input.submit:hover:active,
input.delete:hover:active {
 padding-left: 18px;
}

/* Header */
#header {
 font-weight: normal;
 height: 150px;
 border-bottom-width: 2px;
 border-bottom-style: solid;
}
h1 {
 margin: 0 10px;
}

/* Data Entry Section */
#edit {
 float: right;
 margin: 15px 15px 10px 10px;
}
#edit h2 {
 font-size: 1.2em;
 font-weight: normal;
 margin: 0;
 padding: 5px 15px;
}
#edit, #edit div {
 width: 280px;
 border-width: 1px;
 border-style: solid;
 z-index: 2;
}
#edit div {
 margin-left: -1px;
 border-top-style: none;
}
#edit div.warning {
 width: auto;
 padding: 5px;
 margin: 10px 0;
 border-style: solid;
}
#edit form {
 margin: 10px;
}
#edit p {
 margin: .5em 0;
}
#edit select {
 width: 100px;
}
#edit p.warning {
 padding-left: 20px;
 margin-bottom: 1em;
}
#edit p.submit {
 text-align: right;
}
#edit p.delete {
 border-top-width: 1px; 
 border-top-style: dashed;
 margin-top: 15px;
 padding-top: 15px; 
 text-align: center;
}
#edit.editor {
 float: none;
 margin: 15px auto 10px;
}
#edit.editor h2 {
 text-align: center;
}
#edit input[name="dayofmonth"] {
 text-align: center;
} 

/* Data Entry Section */
#view-list {
 float: right;
 margin: 15px 15px 10px 10px;
 width: 190px;
 border-width: 1px;
 border-style: solid;
 font-family: georgia, times, serif;
 letter-spacing: .12em;
}
#view-list a {
 display: block;
 font-size: 1.2em;
 font-weight: normal;
 margin: 0;
 padding: 5px 15px;
 text-decoration: none;
}

/* Calendar-View Section */
#calendar-section {
 margin: 5px 20px 30px 20px;
 border-width: 1px;
 clear: both;
}
table#calendar {
 width: 100%;
}
table#calendar col {
 width: 14%;
}
table#calendar tbody tr {
 height: 7em;
}
table#calendar td {
 border-width: 1px;
 border-style: solid;
}
table#calendar span.date {
 font-family: verdana, sans-serif;
 float: left;
 margin: 0 0 4px;
 padding: 2px 4px;
 border-right-style: solid;
 border-bottom-style: solid;
 border-width: 1px;
 -moz-border-radius: 0 0 8px 0;
 -khtml-border-radius: 0 0 8px 0;
}
table#calendar td.today {
 font-size: 1.1em;
 border-width: 3px;
 border-style: solid;
}
table#calendar td.today span {
 font-weight: bold;
}
table#calendar div.month-name {
 float: right;
 margin-right: 4px;
 font-weight: bold;
}
table#calendar td.month-start,
table#calendar td.month-start+td,
table#calendar td.month-start+td+td,
table#calendar td.month-start+td+td+td,
table#calendar td.month-start+td+td+td+td,
table#calendar td.month-start+td+td+td+td+td,
table#calendar td.month-start+td+td+td+td+td+td {
 border-top-width: 3px;
 border-top-style: solid;
}
table#calendar td.month-start {
 border-left-width: 3px;
 border-left-style: solid;
}
#calendar-section ul {
 margin: 2px 3px;
 padding: 0;
 list-style-type: none;
 font-size: .9em;
 clear: both;
}
#calendar-section li {
 margin: 3px 0;
 padding: 2px;
 border-left-width: 3px;
 border-left-style: inset;
 text-indent: -10px;
 padding-left: 12px;
 line-height: 1.1;
}
#calendar-section li a {
 display: block;
 text-decoration: none;
}
table#calendar tfoot td {
 padding-top: 7px;
 border: none;
 text-align: center;
 font-size: .9em;
}
table#calendar h3 {
  display: inline;
}
table#calendar dl {
 display: inline;
 line-height: 1.5;
 margin: 2px 0;
 padding: 0;
}
table#calendar dt {
 margin: 0 0 0 5px;
 padding: 2px 3px;
 display: inline;
 border-left-width: 3px;
 border-left-style: inset;
}
table#calendar dd {
 display: inline;
 margin: 0 5px 0 0;
 padding: 2px 2px;
}
/* Style switcher */
table#calendar .switch {
 float: left;
 width: 8.5em;
}
table#calendar .switch a {
 text-decoration: none;
 border-width: 2px;
 border-style: solid;
 display: block;
 padding: 3px;
}

/* List-View Section */
#list-section {
 width: 470px;
 margin: 5px auto 30px;
 border-width: 1px;
 padding: 0;
 clear: both;
}
table#list {
 width: 100%;
}
table#list th.cell-name,
table#list th.cell-date {
 text-align: left;
}
table#list th a {
 padding: 2px;
}
table#list tbody {
 border-bottom-width: 2px;
 border-bottom-style: solid;
}
table#list tbody td {
 vertical-align: middle;
}
table#list td.cell-prog,
table#list td.cell-edit {
 text-align: center;
}
table#list td.cell-edit a {
 display: block;
 margin: 3px -4px 3px 3px;
 padding: 2px 3px;
 border-width: 0 1px 1px 0;
 border-style: solid;
 text-decoration: none;
}

/* Footer */
#footer {
 border-top-width: 1px;
 border-top-style: solid;
 padding: 10px 0;
 font-size: .8em;
 text-align: center;
}
#footer h3 {
 display: inline;
 margin-left: 15px;
}
#footer p {
 margin: .8em 0 .2em;
 padding: 0;
}
#footer ul {
 display: inline;
 margin: 0;
 padding: 0;
 list-style-type: none;
}
#footer li {
 margin: 0;
 padding: 1px 10px;
 display: inline;
 border-right-width: 1px;
 border-right-style: solid;
}
#footer li:last-child {
 border: none;
}
#footer li a {
 padding: 2px;
}

/* DOMcollapse styles */
.domcollapse .trigger {
 cursor: pointer;
}
.domcollapse .expanded {
 cursor: pointer;
}
.show {
 position: absolute;
}
.hide {
 display: none;
}
.trigger img,
.expanded img {
 border: none;
 position: relative;
 top: 2px;
}
