
/******************************
 * General
 ******************************/

* {
    margin: 0px;
}

html, body {
    font-family: sans-serif;
    font-size: .9em;
}

a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

li {
    line-height: 2em;
}

.wrapper {
    overflow: auto;
}

table.wrapper {
    /* border: 1px solid black; */
    width: 100%;
}

.left {
    float: left;
    text-align: left;
}

.right {
    float: right;
    text-align: right;
}

td.right {
    float: none;
}

table.wrapper td.right {
    vertical-align: bottom;
}


/******************************
 * Main Layout
 ******************************/

#main-wrapper {
    padding: 5px;
    text-align: center;
}

#main {
    margin: auto;
    text-align: left;
    width: 800px;
}

#header {
    border-bottom: 1px solid #000000;
    overflow: auto;
}

#header h1 {
    margin: 0px 5px 10px 5px;
}

#login {
    margin: 8px 20px auto auto;
}

#user-menu {
    float: left;
}

#home-link {
    font-weight: bold;
}

#header-links {
    float: right;
    text-align: right;
}

#main-menu {
    border-top: 1px solid black;
    clear: both;
    font-weight: bold;
}

#main-menu li {
    display: inline;
    margin-right: 15px;
}

ul.sub-menu {
    border-top: 1px solid black;
}

ul.sub-menu li {
    display: inline;
    margin-right: 15px;
}

#footer {
    clear: both;
    margin-top: 40px;
    text-align: center;
}

#body {
    padding-top: 15px;
}

h1 {
    margin-bottom: 15px;
}

h2 {
    margin: 20px auto 10px auto;
}

p {
    margin-bottom: 5px;
}

div.flash-message {
    background-color: #dddddd;
    margin-bottom: 8px;
    padding: 3px;
}

div.error {
    color: #dd6666;
    font-weight: bold;
    margin-bottom: 10px;
}

div.buttons {
    clear: both;
    margin-top: 10px;
}

div.controls {
    font-weight: bold;
    margin: 10px auto;
}

div.controls div {
    margin: 5px;
}

div.controls label {
    display: block;
    float: left;
    width: 120px;
}

/******************************
 * Dialogs
 ******************************/

div.dialog {
    display: none;
}

#feedback-dialog textarea {
    height: 180px;
    width: 500px;
}

/******************************
 * Filters
 ******************************/

div.filterset {
    margin-bottom: 8px;
}

div.filters {
    /* margin-bottom: 10px; */
}

div.filter {
    margin-bottom: 10px;
}

div.filter label {
    margin-right: 8px;
}

div.filter select.filter-type {
    margin-right: 8px;
}

div.filters div.buttons * {
    margin-right: 8px;
}

/******************************
 * "Grid Management"
 ******************************/

/* div.grid-mgmt { */
/*     float: right; */
/* } */

table.search-wrapper {
    border-collapse: collapse;
    margin-bottom: 10px;
    width: 100%;
}

table.search-wrapper td {
    /* border: 1px solid black; */
    padding: 0px;
}

table.search-wrapper td.grid-mgmt {
    text-align: right;
    vertical-align: bottom;
}

/******************************
 * Grids
 ******************************/

/* a.add-object { */
/*     display: block; */
/*     float: right; */
/* } */

/* ul.grid-menu { */
/*     display: block; */
/*     float: right; */
/*     list-style-type: none; */
/*     margin-bottom: 5px; */
/* } */

div.grid {
    clear: both;
    /* margin-top: 8px; */
}

div.grid table {
    border-top: 1px solid black;
    border-left: 1px solid black;
    border-collapse: collapse;
    font-size: 9pt;
    line-height: normal;
    white-space: nowrap;
    width: 100%;
}

div.grid table th,
div.grid table td {
    border-right: 1px solid black;
    border-bottom: 1px solid black;
    padding: 2px 3px;
}

div.grid table th.sortable a {
    display: block;
    padding-right: 18px;
}

div.grid table th.sorted {
    background-position: right center;
    background-repeat: no-repeat;
}

div.grid table th.sorted.asc {
    background-image: url(../img/sort_arrow_up.png);
}

div.grid table th.sorted.desc {
    background-image: url(../img/sort_arrow_down.png);
}

div.grid table tr.even {
    background-color: #e0e0e0;
}

div.grid table thead th.checkbox,
div.grid table tbody td.checkbox {
    text-align: center;
    vertical-align: middle;
    width: 15px;
}

div.grid table td.action {
    cursor: default;
}

div.grid table td.delete {
    text-align: center;
    width: 18px;
    background-image: url(../img/delete.png);
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}

div.grid table tbody tr.hovering {
    background-color: #bbbbbb;
}

div.grid table.hoverable tbody tr {
    cursor: default;
}

div.grid.clickable table tbody tr {
    cursor: pointer;
}

div.grid table.selectable tbody tr,
div.grid table.checkable tbody tr {
    cursor: pointer;
}

div.grid table.selectable tbody tr.selected,
div.grid table.checkable tbody tr.selected {
    background-color: #666666;
    color: white;
}

div.pager {
    margin-top: 3px;
}

div.pager p.showing {
    float: left;
}

#grid-page-count {
    font-size: 85%;
}

div.pager p.page-links {
    float: right;
}

/******************************
 * Fieldsets
 ******************************/

div.field-couple {
    clear: both;
    overflow: auto;
    min-height: 30px;
}

div.field-couple div.label,
div.field-couple label {
    display: block;
    float: left;
    width: 135px;
    font-weight: bold;
    margin-top: 2px;
    white-space: nowrap;
}

div.field-couple div.field-error {
    clear: both;
    color: #dd6666;
    font-weight: bold;
}

div.field-couple div.field {
    display: block;
    float: left;
    margin-bottom: 5px;
    line-height: 25px;
}

div.field-couple div.field input[type=text],
div.field-couple div.field input[type=password],
div.field-couple div.field select {
    width: 320px;
}

div.checkbox {
    margin: 15px 0px;
}

table.fieldset tbody tr {
    vertical-align: top;
}

table.fieldset tbody td {
    height: 30px;
    padding: 2px;
}

table.fieldset td.label {
    font-weight: bold;
    width: 120px;
}

table.fieldset tbody td ul {
    padding-left: 15px;
}

table.fieldset tbody td ul li {
    line-height: 1em;
    margin-bottom: 4px;
}


/******************************
 * Sub-Grids
 ******************************/

div.subgrid {
    margin-top: 20px;
}

div.subgrid label {
    font-weight: bold;
    display: block;
    float: left;
    margin-bottom: 5px;
}

/******************************
 * Autocomplete
 ******************************/

div.autocomplete {
    border: 1px solid #000000;
    margin-top: 5px;
}

div.autocomplete div {
    background-color: #dddddd;
    margin: 0px;
    padding: 2px 5px;
}

div.autocomplete strong {
    margin: 0px 1px;
}

div.autocomplete .selected {
    cursor: pointer;
    background-color: #aaaaaa;
}
