body {
    margin: 0;
    padding: 0;
    font-size: 11px;
    font-family: "Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif;
    color: #333;
    background: #fff;
    height: 100vh;
}

/* CONTAINER */
#container {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/*  HEADER  */
#header {
    background: #417690;
    color: #ffc;
    overflow: hidden;
    flex: none;
}

#header a: link, #header a: visited {
    color: white;
}
#header a: hover {
    text-decoration: underline;
}

/* LINKS */
#header a:link, #header a:visited {
    text-decoration: none;
}

#header a:hover, #header a:active {
    text-decoration: underline;
    color: #f6a828;
}

#branding h1 {
    padding: 0 10px;
    font-size: 18px;
    margin: 8px 0;
    font-weight: normal;
    color: #f4f379;
}

#branding h2 {
    padding: 0 10px;
    font-size: 14px;
    margin: -8px 0 8px 0;
    font-weight: normal;
    color: #ffc;
}

#user-tools {
    position: absolute;
    top: 0;
    right: 0;
    padding: 1.2em 10px;
    font-size: 11px;
    text-align: right;
}

/* CONTENT */

#content {
    height: auto;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

/* MENU */
#header ul.menubar {
    color: #ffc;
    background: #000000;
    border: none;
}

ul.menubar {
    background: #bbb;
    border: none;
}

ul.menubar .ui-menu-item {
    display: inline-block;
    font-weight: normal;
}

/* SCREEN */

.viewport .button {
    float: right;
}

.content {
    display: flex;
    flex-direction: column;
}

.viewport {
    margin: 5px;
    padding: 0px;
    border-radius: 10px;
    background: #ddd;
    border: 1px solid #ccc;
    height: auto;
    display: flex;
    flex-direction: column;
    flex: 0 1 auto;
}

.viewport .removed {
    text-decoration: line-through;
    opacity: 0.5;
}

.viewport .regenerate {
    background: #CCE;
    color: #333;
}

.viewport .viewport_header {
    border: 1px solid #e78f08;
    background: #f6a828 url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;
    color: #ffffff;
    font-weight: bold;
    border-radius: 10px;
    padding: 5px 10px 5px 10px;
    flex: none;
}
.viewport .viewport_content {
    padding: 10px;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.viewport.disabled {
    background: #eee;
    flex: none;
}
.viewport.disabled .viewport_header {
    border: none;
    color: #ccc;
    background: none;
}
.viewport.disabled .viewport_content {
    display: none;
}

.viewport .viewport_content > * {
    flex: none;
}

.viewport .viewport_content > .photo_list {
    flex: 1 1 auto;
}

/* MAXIMIZED SCREEN */
.maximize {
}

.maximize .viewport  {
    margin: 0px;
    border: none;
    border-radius: 0;
}

.maximize .viewport .viewport_header {
    border: none;
    border-radius: 0;
}

.maximize .viewport.disabled {
    display: none;
}

/*
.maximize .viewport  {
    margin: 0px;
    background: #fff;
    border: none;
    border-radius: 0;
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;

    display: flex;
    flex-direction: column;
}

.maximize .viewport .viewport_content {
    display: flex;
    max-height: none;
}

.maximize .viewport .viewport_header {
    border: none;
    border-radius: 0;
    flex: none;
}

.maximize .viewport .infobox .image img {
    max-height: none;
}

.maximize .viewport .photo_list {
    border: none;
    margin: 0 -10px 0 -10px;
}
*/

/* DIALOGS */
.ui-dialog .fields {
    width: 100%;
}

.ui-dialog .ui-tabs {
    width: 100%;
    margin: 0;
}

/* TABBULAR PANELS */
.ui-tabs .ui-tabs-panel {
    padding: 5px 0px;
}

.ui-tabs .ui-widget-header {
    background: none;
    border: none;
    border-bottom: 1px solid #ccc;
    border-radius: none;
}

.ui-tabs .ui-widget-content {
}

/* PHOTO LIST */
.photo_item {
    border: 1px solid #dddddd;
}
.photo_item:HOVER {
    border: 1px solid #000;
}
.photo_item .title {
    font-weight: bold;
}
.photo_item.ui-selecting {
    background: #FECA40;
}
.photo_item .desc {
    text-align: left;
}
.photo_item .desc ul {
    text-align: left;
}
.photo_item .desc ol {
    text-align: left;
}

.photo_item a {
    color: #333;
    text-decoration: none;
}


.photo_list {
    display: flex;
    border: 1px solid #666;
    overflow-y: scroll;
    background: #fff;
}
.photo_list > ul {
    padding: 0;
    margin: 0;
}
.photo_list .removed {
    text-decoration: line-through;
    opacity: 0.5;
}
.photo_list .regenerate {
    background: #CCE;
    color: #333;
}
.photo_list .ui-selected {
    background: #F39814;
}
.photo_list .photo_item {
    display: inline-block;
    vertical-align: top;
    height: 170px;
    margin: 10px;
    padding-top: 10px;
    text-align: center;
    width: 140px;
}

.photo_list.disabled {
    background: #ddd;
}

/* AUTO COMPLETE */
.ui-autocomplete-input {
    width: 99%;
}

.ui-autocomplete {
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 500px;
    max-width: 340px;
}

.ui-autocomplete.ui-front {
    z-index: 200;
}

.ui-autocomplete .desc {
    max-height: 100px;
    overflow-y: hidden;
}

/* LIST INFO BOX */
.infobox {
    display: flex;
    margin: 10px 0 10px 0;
}

.infobox > .image {
    display: inline-block;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
}

.infobox > .fields {
    margin: 0 0 0 10px;
    flex: 1 1 auto;
}

.infobox .image img {
    display: inline-block;
    margin: 0;
    padding: 0;
    max-height: 150px;
    width: auto;
}

.infobox .image.subject img {
    max-height: none;
}

.infobox .fields, .ui-dialog .fields {
    display: inline-block;
    vertical-align: top;
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 4px;
}

.infobox .def_list .item {
    border-top: 1px solid #ddd;
    margin-bottom: 5px;
}

.infobox .def_list .term {
    margin: 0;
    padding: 5px;
    background: #ffeedd;
    color: #666;
    text-align: right;
    font-weight: bold;
    position: absolute;
    width: 100px;
    vertical-align: top;
}

.infobox .def_list .definition {
    margin-left: 110px;
    padding: 5px;
    display: inline-block;
    vertical-align: top;
}

.infobox .ui-tabs {
    margin: 0 0 0 10px;
}

.infobox .ui-tabs .def_list {
}


/* FEEDBACK LIST */
.feedback_item {
    border: 1px solid #dddddd;
    background: #ddd;
    margin: 5px;
}

.feedback_item > div {
    text-decoration: none;
    opacity: 1.0;
}

.feedback_item .title {
    font-weight: bold;
}

.feedback_item img {
    float: right;
}

.feedback_item.public > div {
    background: #fff;
}

.feedback_item.public {
    background: #fff;
}

.feedback_item.removed > div {
    text-decoration: line-through;
    opacity: 0.5;
}

.feedback_list {
    border: 1px solid #333;
    margin-bottom: 10px;
}

.feedback_list .feedback_ul {
    padding: 0;
}

.feedback_list .feedback_ul > li {
    list-style-type: none;
}

.feedback_list .feedback_item {
    vertical-align: top;
    margin: 10px;
    padding: 10px;
}

/* GLOBAL DEFAULTS */
p, ol, ul, dl {
    margin: .2em 0 .8em 0;
}

h1,h2,h3,h4,h5 {
    font-weight: bold;
}

h1 {
    font-size: 180%;
    color: #666;
    padding: 0 6px 0 0;
    margin: 0 0 .2em 0;
}

h2 {
    font-size: 160%;
    margin: 1em 0 .5em 0;
}

h2.subhead {
    font-weight: normal;margin-top: 0;
}

h3 {
    font-size: 140%;
    margin: .8em 0 .3em 0;
    color: #666;
    font-weight: bold;
}

h4 {
    font-size: 120%;
    margin: 1em 0 .8em 0;
    padding-bottom: 3px;
}

h5 {
    font-size: 100%;
    margin: 1.5em 0 .5em 0;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 1px;
}

form {
    margin: 0;
    padding: 0;
}

fieldset {
    margin: 0;
    padding: 0;
}

blockquote {
    color: #777;
    margin-left: 2px;
    padding-left: 10px;
    border-left: 5px solid #ddd;
}

code, pre {
    font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace;
    background: inherit;
    color: #666;
}

pre.literal-block {
    margin: 10px;
    background: #eee;
    padding: 6px 8px;
}

code strong {
    color: #930;
}
hr {
    clear: both;
    color: #eee;
    background-color: #eee;
    height: 1px;
    border: none;
    margin: 0;
    padding: 0;
    font-size: 1px;
    line-height: 1px;
}

.hidden {
    display: none !important;
}

/* TEXT STYLES & MODIFIERS */
.small {
    font-size: 11px;
}

.tiny {
    font-size: 10px;
}

p.tiny {
    margin-top: -2px;
}

.mini {
    font-size: 9px;
}

p.mini {
    margin-top: -3px;
}

.help, p.help {
    color: #999;
}

p img, h1 img, h2 img, h3 img, h4 img, td img {
    vertical-align: middle;
}

.quiet, a.quiet: link, a.quiet: visited {
    color: #999 !important;font-weight: normal !important;
}

.quiet strong {
    font-weight: bold !important;
}

.float-right {
    float: right;
}

.float-left {
    float: left;
}

.clear {
    clear: both;
}

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

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

.example {
    margin: 10px 0;
    padding: 5px 10px;
    background: #efefef;
}

.nowrap {
    white-space: nowrap;
}

/* MESSAGES & ERRORS */
ul.messagelist {
    padding: 0 0 5px 0;
    margin: 0;
}

ul.messagelist li {
    display: block;
    padding: 4px 5px 4px 25px;
    margin: 0 0 3px 0;
    border-bottom: 1px solid #ddd;
    color: #666;
    background: #ffc url(../img/admin/icon_success.gif) 5px .3em no-repeat;
}

.errornote {
    display: block;
    padding: 4px 5px 4px 25px;
    margin: 0 0 3px 0;
    border: 1px solid red;
    color: red;background: #ffc url(../img/admin/icon_error.gif) 5px .3em no-repeat;
}

ul.errorlist {
    margin: 0 !important;
    padding: 0 !important;
}

.errorlist li {
    display: block;
    padding: 4px 5px 4px 25px;
    margin: 0 0 3px 0;
    border: 1px solid red;
    color: white;
    background: red url(../img/admin/icon_alert.gif) 5px .3em no-repeat;
}

td ul.errorlist {
    margin: 0 !important;
    padding: 0 !important;
}

td ul.errorlist li {
    margin: 0 !important;
}

.errors {
    background: #ffc;
}

.errors input, .errors select {
    border: 1px solid red;
}

div.system-message {
    background: #ffc;
    margin: 10px;
    padding: 6px 8px;
}

div.system-message p.system-message-title {
    padding: 4px 5px 4px 25px;
    margin: 0;
    color: red;
    background: #ffc url(../img/admin/icon_error.gif) 5px .3em no-repeat;
}

.description {
    padding: 5px 0 0 12px;
}

.error {
    background: #f00;
}

/* FORMS */
label {
    font-weight: normal;
    color: #666;
    font-size: 12px;
}
.required label, label.required {
    font-weight: bold;
    color: #333;
}

/* MOBILE */
@media viewport and (max-width: 700px) {
}
