html {
    position: relative;
    min-height: 100%;
}
body {
   padding:0;
   margin: 0 0 30px; /* bottom = footer height */
   _margin-left:5px;
   _margin-right:5px;
   background:white;
   font-family:"Noto Sans","Gotham Rounded A","Gotham Rounded B",sans-serif;
   font-size:10pt;
   display: flex;
   color: #595959;
   flex-direction: column;
}
.tooltip {
   display: none;
}
input,select,textarea {
   font-family: inherit;
}
header > section.top {
   background-color: white;
   height:50px;
}
header > section.top > .left {
   float: left;
   width: 50%;
   background-image: url('images/logo.svg');
   background-repeat: no-repeat;
   background-position: 20px center;
   height:50px;
   background-color: white;
   background-size: 60px;
}
header > section.top > .right {
   background-color: #c9c9c9;
   padding: 7px;
   height: 50px;
}
header > section.bottom {
   color:white;
   height:60px;
}
header > section.bottom > .left {
   float: left;
   width: 50%;
   background-color: #022d5b;
   height:60px;
   display: table;
}
body.anonymous header > section.bottom > .left {
   width:auto;
   float:none;
}
body.anonymous header > section.top > .left {
   width:100%;
   background-color: #E0E0E0;
}
body.anonymous header > section.top > .left .description {
   margin-left: 130px;
   display: inline-block;
   color: transparent; /* make invisible against background color */
}
body.anonymous header > section.top > .left > h1 {
   text-align: right;
   padding-right:20px;
}
header > section.bottom > .right {
   background-color:#001f3f;
   height:60px;
   display: table;
   width: 50%;
}
header > section.bottom > .left .page_heading {
   _font-size: 25px;
   _line-height: 60px;
   padding-left: 20px;
   white-space: nowrap;
   font-size: calc(10px + 1vw);
   display: table-cell;
   vertical-align: middle;
}
header > section.bottom > .left .page_heading .page_subheading {
   font-weight: bold;font-size: calc(8px + 0.5vw);
}
header > section.bottom > .right .login_user {
   text-align:right;   
   padding-right: 20px;
   display: table-cell;
   vertical-align: middle;
   font-size: calc(8px + 0.8vw);
}
header > section.bottom > .right .login_user .user_name .user_id {
   margin-left:10px;
   display:none;
}
footer {
    position: fixed;
    left: 0;
    bottom: 0;
    _height: 30px;
    width: 100%;
    background:linear-gradient(#FFFFFF,#D0D0D0);
    text-align:center;
    _line-height:30px;
    box-shadow: 0px 5px 10px 0px #888888;
    z-index: 1000;
}
footer .content {
   line-height:30px;
   height:30px;
}
footer a {
   margin-left:20px;
}

a {
   color: #595959;
}
a:hover {
   color: #AA0000;
}
a.task_open {
   color: #FFFFFF;
}
a.task_open:hover {
   color: #ce0000;
}
.login_banner {
   background-image: url('images/logo.svg');
   background-repeat: no-repeat;
   background-position: center center;
   height:250px;
   width: 350px;
   _border-radius: 12px;
   margin: auto;
   _margin-left:-50px;
   _margin-right:-50px;
   _margin-top:0;
   background-color:transparent;
   _box-shadow: 0px 0px 5px 0px #888;
}
header a {
   color:white;
}
main {
   _padding-top: 130px;
   margin-left:10px;
   margin-right:10px;
   _margin:0;
}
a.edit {
   display: inline-block;
   cursor: pointer;
   height: 30px;
   width: 30px;
   background-repeat: no-repeat;
   background-position: center center;
   background-image: url('images/edit.svg');
}

/*
 * nosession template
 */
header.nosession {
   _position: absolute;
}
header.nosession .banner {
   background-image: url('images/logo.svg');
   background-repeat: no-repeat;
   background-position: center center;
   height:150px;   
   background-size: auto 130px;
}
main.nosession .content {
   width:80%;
   margin:auto;
}
main.nosession .content h1 {
   font-size:16pt;
   border-bottom:2px solid #D0D0D0;
   padding-bottom:5px;
}

#page_heading {
   line-height:50px;
   font-style:italic;
   font-weight:bold;
   font-size:12pt;
   margin-left:60px;
   display:inline-block;
   _color:#595959;
   height: 20px;
   line-height: 20px;
   padding: 5px;
   border-radius: 15px;
   vertical-align: middle;
   top: 10px;
   position: absolute;
   padding-left: 10px;
   padding-right: 10px;
   _background:linear-gradient(#D0D0D0,#EEE);
   _min-width:400px;
   background-color:#555;
   color:white;
}
nav {
   background:#25386B;
   padding:10px;
   padding-top:5px;
   color: white;
   border-radius: 5px;
   background:linear-gradient(#D0D0D0, #8C8C8C);
   background:transparent;
   float:right;
}
nav a {
   color:white;
   vertical-align:middle;
}
#nav_login_user {
   float:left;
   _text-shadow: 1px 1px 2px #333;
   text-align:right;
   padding-right:10px;
   color:#595959;
   padding-top:3px;
}
#nav_login_user .user_name {
   font-weight:bold;
}
#nav_login_user .role_name {
   font-size:80%;
}
#nav_menu_container {
   float: right;
}
#nav_menu_container > ul > li > a {
   height:30px;
   width:30px;
}
#nav_menu > li {
   width:35px;
   height:35px;
}
#nav_menu_admin  {
   background-image: url('images/navbar_admin.svg');
}
#nav_menu_account  {
   background-image: url('images/navbar_account.svg');
}
#nav_menu_help  {
   background-image: url('images/navbar_help.svg');
}
#nav_menu_report_type_index {
   background-image: url('images/navbar_reports.svg');
}

.login_container {
   margin:auto;
   margin-top:30px;
   padding:10px;
   _background:white;
   _border: 2px solid #D0D0D0;
   border:0;
   border-top:0;
   border-bottom-left-radius:10px;
   border-bottom-right-radius:10px;
   display:table;
   _width: 320px;
   padding-left: 50px;
   padding-right:50px;
   font-size:15pt;
   _box-shadow: 0px 0px 5px 0px #888;
}
#login_select_user_role, 
#activation_container {
   margin:auto;
   padding:10px;
   background:white;
   border: 2px solid #D0D0D0;
   border-top:0;
   border-bottom-left-radius:10px;
   border-bottom-right-radius:10px;
   display:table;
}
#register_form_container,
#register_request_form_container,
#password_reset_form_container,
#user_activate_form_container {
   width:600px;
   font-size:12pt;
}
#register_form > table {
   width:100%;
}
#user_activate_form_container .user_details {
   text-align:center;
   font-weight:bold;
   
}
.login_container .success {
   margin:30px;
}
.login_container .login_url {
   text-align:center;
}
.login_container h1
{
   text-align:center;
   font-size:16pt;
   border-bottom:2px solid #D0D0D0;
   padding-bottom:5px;
   font-style:italic;
}
.login_container .button_container {
   text-align:center;
   padding:5px;
}
div.button_container a.reject.clicked {
   background-color: lightgray;
   color: gray;
   border-color: lightgray;
}
.login_container .instructions {
   font-size:80%;
   width:auto;
   min-width: 400px;
   margin:10px;
}
.login_container .tabular-form {
   margin:auto;
}
#login_form {
    margin-top: 30px;
}
#login_form input[type="text"], #login_form input[type="password"] {
   font-size:18pt;
}
#login_form .forgot_password {
   margin-top:10px;
}
button.login {
   font-size:14pt;
   box-shadow: 0px 0px 2px 0px #555;
}
#activation_container {
   width:80%;
   max-width:500px;
}
#activation_instructions {
   margin:10px;
}
.otp_instructions {
   font-size:12pt;
}
.otp_timer {
   text-align:center;
   background-color:#F0F0F0;
   padding:5px;
   border-radius:5px;
}
button.otp_alt_actions {
   background:none;
   border:0;
   font-weight:bold;
   color:#555;
   margin:0px;
   font-size:9pt;
   cursor:pointer;
}
button.otp_alt_actions:hover {
   text-decoration:underline;
}

div.pager {
   text-align:right;
   border:0;
}
div.pager.top {
   margin-top:20px;
}
div.pager .page_controls .page_selector {
   height: 26px;
   width: 22px;
   border: 0;
   background-color: #CCC;
   vertical-align: sub;
   border-radius:3px;
   vertical-align:bottom;
}

/*
 * generic terms container
 */
.terms_container {
   text-align:center;
   background-color:#DDD;
   border-radius:20px;
   width:50%;
   margin:auto;
   margin-top:20px;
   padding:20px;
}
.terms {
   _margin:auto;
   _margin-top:20px;
   _width:50%;
   text-align:left;
}

.pdf_container {
   border:5px solid #CCC;
   border-radius:5px;
}
.pdf_container a {
   margin:10px;
}
table.tabular-form {
  background:transparent;
}
div.mvc-report {
   border: 0;
}
table.mvc-report tr.selected {
   background-color: #EEE;
}
table.mvc-report > tbody td input[type="checkbox"] {
   vertical-align:super;
}
input, 
select, 
textarea {
   font-size:10pt;
   background:#F7F7F7;
}
input.ajax_spinner {
   background-image: url('images/ajax_loader-indicator-16px.gif');
   background-repeat: no-repeat;
   background-position: right center;
}
.role_added_user {
   color:green;
   text-decoration: none;
}
.role_deleted_user {
   text-decoration: line-through;
   color:red;
}
form.data_input,.form_container {
   border: 1px solid lightgray;
   border-top:0px;
   _display: table;
   margin: auto;
   padding: 10px;
   border-radius:10px;
   border-top-left-radius:0px;
   border-top-right-radius:0px;
   background:#F8F8F8;
   _overflow: auto;
}
.form_container.read {
   border: 1px solid lightgray;
   border-radius:0;
}
form.data_input.noborder {
   border:0;
}
form.data_input .instructions,.form_container .instructions {
   /* an instructions container within a form container */
   _width:500px;
   margin:10px;
}
td > img {
   vertical-align:middle;
}

#toggle_search_form,
#toggle_report_filters_form {
   background: none;
   background-image: url('images/open_search_dialog.svg');
   background-repeat: no-repeat;
   background-position: center center;
   height: 33px;
   width:50px;
   padding:0;
}

#nav_menu #nav_menu_page_settings {
   width: 30px;
   height: 30px;
}
#nav_menu_container ul li {
   padding:0;
}
#nav_menu_container ul li ul {
   top:50px;
   right:0;
   box-shadow: 0px 0px 10px 0px #888888;
   border-radius:0;
}

#cpanel_container.open {
   top:130px;
}



/* 
 * buttons 
 */
button.accept,
button.decline,
button.defer {
   color:white;
   font-weight:bold;
   cursor:pointer;
   height:24px;
   border-radius:12px;
   border:0;
   _line-height:20px;
   _vertical-align:middle;
   min-width: 50px;
   padding:0px 10px;
   font-size:10pt;
}
button.accept {
   background:#1B8C35;
}
button.decline {
   background:#BA3213;
}
button.defer {
   background:#666;
}
button.delete {
   border:0;
   height:25px;
   width:25px;
   background:none;
   background-image: url('images/delete_row.svg');
   cursor:pointer;
}
button.calltoaction {
   background-color: #AA0000;
   border-radius:4px;
   color: #fff !important;
   text-decoration: none;
   cursor: pointer;
   border:none;
   font-weight:bold;
   _box-shadow: 0px 2px 2px 0px #555;   
}
.button_WHERAMI {
   background-color: rgb(85, 85, 85);
   color: white;
   font-weight: bold;
   display: inline-block;
   _width: 70px;
   text-align: center;
   padding: 2px;
   border-radius: 5px;
   margin: 3px;
   padding-left: 4px;
   padding-right: 4px;
   cursor:pointer;
}
button.ajax_spinner,
button.ajax_spinner:hover {
   transition:none;
   background-color: #EEE;
   color: #BBB;
   border-color: #BBB;
   background-image: url('images/ajax_loader-indicator-16px.gif');
   background-repeat: no-repeat;
   background-position: center center;
}
/*
 * messages
 */
.app_messages {
   font-size:9pt;
}
.app_messages ul {
   list-style:none;
    padding:0;
}

.thumbnail {
   border: 3px solid #CCC;
   border-radius: 5px;
   background-color: white;
   background-repeat: no-repeat;
   background-position: center center;
   box-shadow: 0px 0px 5px 0px #555;
   min-width:100px;
   min-height:100px;
   margin:5px;
   vertical-align:middle;
}

.loading {
   background-image: url('images/ajax_loader-indicator-32px.gif');
   background-repeat: no-repeat;
   background-position: center center;
   min-height:35px;
}

/*
 * role accept
 */
 .role_accept h1 {
   text-align: center;   
   width: 80%;
   margin: auto;
   margin-top:20px;
   padding: 10px;   
   border-bottom: 2px solid #DDD;
 }
.role_terms .button_container {
   margin:20px;
   text-align:center;
}

/*
 * doc
 */
.doc_preview_link {
   cursor: pointer;
   vertical-align: middle;
}
div.doc_preview_sidebar {
    float: right;
    width: 18%;
    background-color:#F0F0F0;
    padding: 5px;
    border-radius: 10px;
}
#doc_preview_container {
   float:left;
   width:77%;
}
img.doc_preview_img {
   vertical-align: middle;
   box-shadow: 0px 0px 5px 0px #555;
   margin: 5px;
}
div.doc_preview_details h2 {
   margin-bottom:0;
   margin-top:2px;
}
div.doc_preview_details > div {
    background-color: #fcfcfc;
    padding: 5px;
    margin-bottom: 5px;
    border-radius: 10px;
}
div.doc_preview_details .unviewed,
div.doc_preview_details .unaccepted {
   color: #AA0000;
}
div.doc_preview_details ul {
   margin:0;
}
.dialog.container.doc_preview {
   max-width: 1425px;
}


/*
 * doc_msg_accept (this was moved from docbox.css to here, as this element can be displayed anywhere in the application
 */
.doc_msg_accept {
   position:fixed;
   background:white;
   _right:0px;
   top:-300px;
   display:inline-block;
   border-bottom-right-radius:10px;
   border-bottom-left-radius:10px;
   box-shadow: 0px 5px 10px 0px #888888;
   padding:10px;
   overflow: none;
   right:0;
   left:0;
   width:400px;
   margin:auto;
   z-index:100; /* must be larger than 10 for the overlay */
   text-align:center;
}

/*
 * dashboard
 */
.dashboard {
   overflow:auto;
   _border: 1px solid #CCC;
   background-color: #F0F0F0;
   padding: 20px;
   margin: 10px;
}
.dashboard #entity_search_results {
   background:beige;
}
.dashboard > h1 {
   background-color: #CCC;
   padding: 10px;
   margin-top: -20px;
   margin-left: -20px;
   margin-right: -20px;
   font-style: italic;
   cursor:pointer;
   background-image: url('images/minimize.svg');
   background-repeat: no-repeat;
   background-position: 5px center;
   background-size: 25px;
   padding-left: 35px;
}
.dashboard > h1.minimized {
   background-image: url('images/maximize.svg');
}
.dashboard div.grid-item {
   _float:left;
   min-height:40px;
   min-width:250px;
   padding: 15px;
   background-color: white;
   margin-bottom: 10px;
   _box-shadow: 0px 0px 5px 0px #888;
   _border: 1px solid #CCC;
   border-radius: 15px;
   overflow: auto;
}
.dashboard div.grid-item h1 {
   margin-top:0;
   font-style: italic;
}
.dashboard div.grid-item h1.show {
}
.dashboard div.grid-item h1.hide {
}
.dashboard div.grid-item > div {
   max-height: 400px;
   overflow: auto;
}
div.outstanding_tasks > table {
   width:100%;
   border-collapse: collapse; 
}
div.outstanding_tasks > table > tbody > tr {
   border-bottom: 1px dotted #939393;
}
div.outstanding_tasks > table > tbody > tr:last-child {
   border-bottom: 0;
}
div.outstanding_tasks > table > tbody > tr:hover {
   background-color:#F5F5F5;
}
div.outstanding_tasks > table > tbody > tr > td {
   padding:5px
}
div.outstanding_tasks > table > tbody > tr > td.update {
   width:40px;
}
div.outstanding_tasks > table > tbody > tr > td.entity {
   width: 1%;
   white-space: nowrap;
}
div.outstanding_tasks > table > tbody > tr > td.entity > div {
}
div.outstanding_tasks td.task_name a {
   font-weight:bold;
   _font-style:italic;
}
div.outstanding_tasks td.entity > div.task_name, 
div.outstanding_tasks td.entity > div.category_name {
   font-size: 8pt;
   _font-weight: bold;
}
div.outstanding_tasks td.entity > div.entity_name {
   _font-size:12pt;
   _font-weight:bold;
}
div.outstanding_tasks > table td.update > a {
   background-image: url('images/cpanel_widget_edit.svg');
   background-repeat: no-repeat;
   background-position: center center;
   display:inline-block;
   width:40px;
   height:40px;
}
div.outstanding_tasks > table td.workflow_message > div {
   border-left: 4px solid #DDD;
   padding:10px;
}
div.outstanding_tasks > table td.workflow_message .date_queued {
   font-size:8pt;
}
div.outstanding_tasks > table td.workflow_message .author {
   margin-top:10px;
   font-style: italic;
   font-weight: bold;
}
div.outstanding_tasks > table td.workflow_message .message_text p {
   margin:0;
}
div.outstanding_tasks > table td.workflow_message .message_text ul {
   margin: 0;
   padding-left: 1em;
}
span.outstanding_task_count {
   display: inline-block;
   margin: 0px 10px;
   border: solid #F33 3px;
   padding: 0px 5px;
   background: #F33;
   border-radius: 15px !important;
}
.dashboard .workflow_task .speech {
   max-width:250px;
}
.dashboard .workflow_task .speech_bubble {
   width:300px;
}

/*
 * workflow_task
 */
.workflow_task .header .speech_bubble {
   width:auto;
}
.workflow_task .header .speech {
   max-width:none;
}
div.workflow_task {
   border: 2px solid lightgray;
   border-top:0px;
   margin: auto;
   padding: 10px;
   border-radius:10px;
   border-top-left-radius:0px;
   border-top-right-radius:0px;
   background:white;
}
div.workflow_task div.header h1 {
   font-style: italic;
   _border-bottom: 1px solid #555;
   float:none;
   margin-bottom:8px;
}
div.workflow_task .header .instructions {
   margin:10px;
   _border: 1px solid #CCC;
   padding: 5px;
   _background-color: cornsilk;
   font-style: italic;
   _border-bottom: 1px solid #DDD;
}
div.workflow_task .header .instructions h2,
div.workflow_task .header .message h2 {
   margin:0;
}
div.workflow_task .header .message {
   margin:10px;
   _border: 1px solid #CCC;
   padding: 5px;
   background-color: cornsilk;
   font-style: italic;
   _border-bottom: 1px solid #AA0000;
   _color: white;
   border-radius: 5px;
   box-shadow: 0px 0px 5px 0px #888;
   background-image: url('images/user.svg');
   background-repeat: no-repeat;
   background-position: 7px center;
   min-height: 70px;
   padding: 5px 5px 5px 65px;
}
div.workflow_task .header .message p {
   margin:0;
}
div.workflow_task .header .message ul {
   margin:0;
}
div.workflow_task .header .dates {
   font-size:9pt;
}
div.workflow_task .header .days_due_text {
   background-color: none;
   color: #AA0000;
   font-weight: bold;
   padding: 5px;
   border-radius: 4px;
   text-transform: uppercase;
   font-size: 11pt;
}
div.workflow_task .header .alert {
   _border: 2px solid;
   margin: 10px;
   padding:12px 5px 12px 45px;
   background-repeat: no-repeat;
   background-position: 7px center;
   border-radius: 5px;
   text-align:left;
   color: white;
   font-style: italic;
   font-weight: bold;
   background-color: firebrick;
   background-image: url('images/feedback_warning.svg');
}
div.workflow_task_message_text {
   padding: 5px;
   border-left: 1px solid #CCC;
   border-right: 1px solid #CCC;
}
div.workflow_task_message_text p {
   margin:0;
}
div.workflow_task_message_text ul {
   margin: 0;
   padding-left: 1em;
}
div.workflow_task_message_text .author {
   font-style:italic;
   font-size:80%;
}
div.workflow_task form.data_input {
   border:0;
}
div.workflow_task .button_container {
   padding:5px;
   background-color:#DDD;
}
.workflow_task_due_days {
   font-weight:bold;
   color:white;
   padding:2px;
   padding-left:5px;
   padding-right:5px;
   border-radius:3px;
   display:inline-block;
   margin:3px;
   text-transform:uppercase;
}
.workflow_task_due_days.over {
   background-color:#AA0000;
}
.workflow_task_due_days.today {
   background-color:orange;
}
.workflow_task_due_days.under {
   background-color:cornflowerblue;
}
.task_outstanding,
.task_done {
   display: block;
   color: white;
   font-weight: bold;
   font-style: italic;
   padding: 4px;
   border-radius:4px;
   text-align: center;
}
.task_outstanding {
   background-color: #AA0000;
}
.task_done {
   background-color: forestgreen;
}
.task_outstanding a,
.task_done a {
   color:white;
   font-weight: bold;
   font-style: italic;
}

.cm_override_pricing {
   _display: inline-block;
   background-color: #AA0000;
   padding: 7px;
   color: white;
   border-radius: 4px;
   font-weight: bold;
   text-transform: uppercase;
}
.cm_override_pricing input {
       vertical-align: sub;
}
.reject_reason_input {
   padding:10px;
   line-height: 2em;
}
.workflow_task {
   background-color: #F0F0F0;
   padding: 10px;
   border-bottom-left-radius: 5px;
   border-bottom-right-radius: 5px;
}
.workflow_task .selected {
   background-color:cornflowerblue;
   color:white;
}
.workflow_task .viewing {
   background-color:lightgoldenrodyellow;
   color:inherit;
}
.workflow_task td.name {
   cursor: pointer;
   text-decoration: underline;
}
.workflow_task table,
.workflow_task table
{
   border: 1px solid lightgray;
}
.workflow_task table.uom_identifiers tr.uom td,
.workflow_task table.uom_identifiers tr.uom td 
{
   font-weight:bold;
}
.workflow_task table.uom_identifiers td,
.workflow_task table.uom_identifiers td 
{
   padding:2px;
}
.workflow_task div.matching_identifier,
.workflow_task div.matching_identifier 
{
   cursor: pointer;
   text-decoration: underline;
   margin-bottom: 5px;
}
.workflow_task tr.selected {
   background-color: darkseagreen;
   color: white;
   font-weight: bold;
}
.workflow_task tr.selected:hover {
}
.workflow_task h1 {
   margin-top:0;
}
#workflow_task a.task_name,
#entity_search_results a.task_name {
   font-weight:bold;
   _font-style:italic;
}
#dialog_workflow_task_rollback div.confirm {
   background-color: whitesmoke;
}
#dialog_workflow_task_rollback table.mvc-report-attr-value {
}
div.workflow_task .button_container .item_name {
   margin-left:10px;
}

div.workflow_task .page_block .rejected_comment{
   display:none;
}
.cpanel_button.workflow_task{
   margin: 0;
   padding: 0;
   background: none;
   background-image: url('images/cpanel_button.svg');
   background-repeat: no-repeat;
   background-position: center center;
}

/*
 * entity_preview_dialog
 */
.load_entity_preview_dialog {
   line-height: 20px;
   _background-color: #E0E0E0;
   _padding: 5px;
   min-width: 2em;
   display: inline-block;
   text-align: center;
   _border-radius: 5px;
   white-space:nowrap;
   _background-image: url('images/load_entity_preview_dialog.svg');
   _background-size: 5px;
   _background-repeat: no-repeat;
   _background-position: right center;
   _padding-right: 18px;
   _padding-left:0px;
   cursor: pointer;
   text-decoration:underline;
}
.load_entity_preview_dialog:hover {
   _background-color:#F0F0F0;
}
.entity_preview_dialog {
   padding:10px;
   background-color:white;
   border-radius: 10px;
   box-shadow: 0px 0px 10px 0px #AAA;
   margin-top:10px;
   margin-bottom:10px;

}
.entity_preview_dialog .data {
   max-height: 400px;
   overflow: auto;
}

/*
 * fine-uploader
 */
.qq-uploader {
   max-height:none;
}
.qq-upload-list {
   max-height:none;
}
.qq-upload-file {
   height:auto;
}
.qq-thumbnail-selector {
   vertical-align: bottom;
}
#tabs-attachments .qq-thumbnail-selector {
   cursor: pointer;
}
li .qq-thumbnail-selector.tiny {
   border-width:0;
   background: none;
   box-shadow:none;
   margin:0;
   vertical-align: bottom;
}
.qq-upload-size-selector.qq-upload-size {
   _width:50px;
   display:block;
}
.qq-upload-file-selector.qq-upload-file {
   width: auto;
   display: block;
   text-overflow: initial;
}
.qq-upload-button-selector.qq-upload-button {
   width:auto;
   border:0;
   margin-right:20px;
   box-shadow: none;
   border-radius: 5px;
   text-transform: uppercase;
}
.qq-upload-button-selector.qq-upload-button.required {
   background-color:#AA0000;
}
.qq-upload-button-selector.qq-upload-button.required.uploaded, 
.qq-upload-button-selector.qq-upload-button.single.uploaded {
   display:none !important; /* make sure we override display:block added by hide() method */
}
#extra_upload_buttons {
   overflow:auto;
}
.qq-upload-list li {
   line-height: normal;
}
.qq-upload-size {
   cursor: auto;
}
/*
 * attachments
 */
#attachments .thumbnail {
   display: inline-block;
   text-align: center;
   border: 0;
   padding: 5px;
   margin-right: 20px;
}
#attachments .thumbnail img {
   height: 150px;
   display: block;
   margin: auto;
   cursor: pointer;
}
#attachments .thumbnail .type {
   font-weight:bold;
   background-color: #CCC;
   margin-bottom: 5px;
}

/*
 * template
 */
#template_subs_ref {
   background-color: #F0F0F0;
   padding: 10px;
}
#entity_search_results.template #entity_report> tbody > tr > td:nth-child(3) > div {
   white-space:normal;
   min-height:200px;
   max-height:400px;
   overflow-y:auto;
   border: 1px dashed #E0E0E0;
   padding: 5px;
   background-color: ivory;
}

/*
 * email_queue
 */
#entity_search_results.email_queue #entity_report> tbody > tr > td.data_html > div {
   white-space:normal;
   max-height:300px;
   overflow-y:auto;
   border: 1px dashed #E0E0E0;
   padding: 5px;
   background-color: ivory;
   width:600px;
   font-size:80%;
}
#entity_search_results.email_queue #entity_report> tbody > tr > td.data_html > div td,
#entity_search_results.email_queue #entity_report> tbody > tr > td.data_html > div th {
   padding:2px;
}
#entity_search_results.email_queue #entity_report> tbody > tr > td.subject {
   white-space:normal;
}

/*
 * role_delegate
 */
#delegate_roles table {
   _border-collapse: collapse; 
}
#delegate_roles table > tbody > tr.pending {
   background-color: palegoldenrod;
   border-bottom: 2px solid white;
}
#delegate_roles table > tbody > tr.pending input {
   border-color:#bcb786;
}
#delegate_roles table > tbody > tr.pending td:first-child {
   color:#5a5740;
}
#delegate_roles table > tbody > tr.active {
   background-color: darkseagreen;
   border-bottom: 2px solid white;
}
#delegate_roles table > tbody > tr.active input {
   border-color:#83ac83;
}
#delegate_roles table > tbody > tr.active td:first-child {
   color:#415641;
}
#delegate_roles table > tbody > tr.current {
}
#delegate_roles table > tbody td .update_status {
   padding: 0 !important;
   height: 30px;
   width: 30px;
   margin: 0;
   border: 0;
   background-color: transparent;
   background-position: center center;
   background-size: contain;
}
#login_select_user_role table.tabular-form td:nth-child(2) {
   display:none;
}
#login_select_user_role table.tabular-form > tbody > tr > td:first-child {
   white-space:normal;
}
#login_select_user_role .role_name > a {
   display:block;
   background-color:#0b95ff;
   color: white;
   padding:5px;
   text-decoration: none;
   background-image: url('theme_faircapewater/login.svg');
   background-repeat: no-repeat;
   background-position: right;
   background-size: 20px;
   background-origin: content-box;
   border-radius: 5px;
}
#login_select_user_role .role_name > a:hover {
   opacity: 70%;
}
#login_select_user_role .delegate_status.pending > a {
   background-color:darkorange;
   color:white;
}
#login_select_user_role .delegate_status.pending {
   _border-bottom: 2px solid darkorange;
}
#login_select_user_role .delegate_status.active > a {
   background-color:green;
   color:white;
}
#login_select_user_role .delegate_status.active {
   _border-bottom: 2px solid green;
}
#login_select_user_role .delegate_status_text {
   display: inline-block;
   text-transform:initial;
   _font-weight: normal;
   font-style: italic;
   font-size:10pt;
   color: white;
   padding:2px;
   padding:5px;
   padding-top:0;
   margin-right: 5px;
   border-bottom-left-radius: 5px !important;
   border-bottom-right-radius: 5px !important;
}
#login_select_user_role .delegate_status_text.pending {
   background-color: darkorange;
}
#login_select_user_role .delegate_status_text.active {
   background-color: green;
}
#login_select_user_role .tabular-form {
   width: 100%;
}
#login_select_user_role .tabular-form  td:last-child {
   width: 10px;
}
#login_select_user_role .delegate_status.default_role > a {
   background-color:#00539B;
   color:white;
}
div.default_role_text {
   display: inline-block;
   text-transform:initial;
   font-style: italic;
   font-size:10pt;
   color: white;
   padding:2px;
   padding:5px;
   padding-top:0;
   border-bottom-left-radius: 5px !important;
   border-bottom-right-radius: 5px !important;
   background-color: #00539B;
   margin-left: 5px;
   top: -1px;
   position: relative;
}
header > section.bottom > .right .delegate_status_text a {
   text-decoration:none;
}
header > section.bottom > .right .delegate_status_text.pending a {
   color:orange;
}
header > section.bottom > .right .delegate_status_text.active  a {
   color:chartreuse;
}
span.delete_delegation {
   background-image: url('images/delete_role_delegation.svg');
   background-repeat: no-repeat;
   background-position: center center;
   height:20px;
   width:30px;
   display:block;
   cursor:pointer;
}

/*
 * report and report_type views
 */
#report_type_run div.header {
   padding-left:10px;
   padding-right:10px;
   overflow:unset;
   border:0;
   background:none;
   margin:0;
}
#report_type_run div.header h1 {
   margin-top:10px;
   margin-bottom:10px;
   float:none;
}
a.run_report {
   background-image: url('images/run_report.svg');
   background-repeat: no-repeat;
   background-position: center right;
   background-size: contain;
   display:block;
   text-decoration:none;
   height:25px;
   width:25px;
}
#report_type_run .warning.nodata {
   width:300px;
   margin:auto;
   text-transform:uppercase;
   font-weight:bold;
   text-align:center;
}

/*
 * jquery.tablesorter override
 */
.tablesorter-default tbody > tr.selected > td {
   background-color:#C0E4BB;
   color: #000;
}
.tablesorter-default {
   font:inherit;
}   
.tablesorter-default th, .tablesorter-default thead td {
   background-color: initial;
   color: white;
}
.tablesorter-default thead .headerSortUp, 
.tablesorter-default thead .tablesorter-headerSortUp, 
.tablesorter-default thead .tablesorter-headerAsc {
   border-bottom: initial;
   background-image: url('images/tablesorter/asc.png');
   background-color: forestgreen;
}
.tablesorter-default .header, 
.tablesorter-default .tablesorter-header {
   background-image: url('images/tablesorter/bg.png');
   padding: 8px 20px 8px 8px;
}
.tablesorter-default thead .headerSortDown, 
.tablesorter-default thead .tablesorter-headerSortDown, 
.tablesorter-default thead .tablesorter-headerDesc {
   background-image: url('images/tablesorter/desc.png');
   border-bottom: initial;
   background-color: forestgreen;
}
.tablesorter-default th{
   position: sticky;
   position: -webkit-sticky;
   position: -moz-sticky;
   position: -ms-sticky;
   position: -o-sticky;  
   top: 0;
   border-top: 0;
   border-bottom: 0;
   margin: 0;
}
.tablesorter-default td {
   vertical-align:middle;
}
.tablesorter-default .header, .tablesorter-default .tablesorter-header {
   white-space: nowrap;
}

/* 
 * jquery overrides 
 */
.ui-widget {
   font-family:"Noto Sans","Gotham Rounded A","Gotham Rounded B",sans-serif;
   font-size:10pt;  
}
.ui-autocomplete-input {
   _width:20em;
   background-color:#EFF6FF !important;
}
.ui-widget-overlay {
/*
   opacity: .40;
   filter: Alpha(Opacity=40);
*/
}
.ui-dialog.ui-widget {
   _box-shadow: 0px 5px 10px 0px #888888;
   border-radius: 10px;
}
.ui-dialog-titlebar {
   border-top-left-radius: 10px;
   border-top-right-radius: 10px;
}
.ui-widget-content {
   color: #595959;
}
.ui-widget input {
   font-family:"Noto Sans","Gotham Rounded A","Gotham Rounded B",sans-serif;
}
.ui-datepicker-trigger {
   margin-left:5px;
   vertical-align: bottom;
   cursor:pointer;
}
/*
 * See https://stackoverflow.com/questions/16471890/responsive-jquery-ui-dialog-and-a-fix-for-maxwidth-bug
 * Makes dialog scale to 100% of page if wider than the page
 */
.ui-dialog {
   z-index:1000000000;
   top: 0; left: 0;
   margin: auto;
   position: fixed;
   max-width: 100%;
   max-height: 100%;
   display: flex;
   flex-direction: column;
   align-items: stretch;
}
.ui-dialog .ui-dialog-content {
   flex: 1;
}

.save_update::after{
   content: "Update";
}
.app_body {
   margin: 0 0 65px;
}
.app_body table.tabular-form tr.section td, div.tabular-form .tr.section td {
   padding: 10px;
}
.app_body .section {
   font-size: 16px;
}
.app_body #login_select_user_role .role_name > a {
   padding: 15px;
   background-size: 30px;
   font-size: 17px;
}
.app_footer {
   background-color: #0b95ff;
   text-align: center;
}
.app_footer #nav_menu_container {
   float: none;
}
.app_footer #nav_menu_container ul {
   margin-right: 0px;
   padding:5px 0px 5px 0px;
}
.app_footer #nav_menu_container ul li a {
   font-size: 14pt;
   line-height: 25px;
}
.app_footer #nav_menu_container > ul > li > a {
   width: 45px;
   height: 45px;
   margin: 0px;
}
.app_footer #nav_menu_container ul li {
   border: solid 2px white;
   width: 45px;
   height: 45px;
   border-radius: 25px;
   margin: 2px 5px;
}
.app_footer #nav_menu_container ul li ul {
   top: auto;
   /* right: auto; */
   bottom: 60px;
   box-shadow: none;
   /* margin-right: 10px; */
   left: 0px;
   width: 100%;
   background-color: #0b95ff;
   border-top: medium solid #0063cd;
   border-bottom: medium solid #0063cd;
}
.app_footer #nav_menu_container ul li ul a {
   margin: 0px;
   color: white;
}
.app_footer #nav_menu_container ul li ul li:hover {
   background-color: #40b9fc;;
}
.app_footer #nav_menu_container ul li ul li {
   border: none;
   border-radius: 0px;
   margin-top: 0px;
   width: auto;
   height: auto;
   line-height: 15px;
}
/************************************
 * BREAKPOINT 550px
 ************************************/
@media only screen and (max-width: 580px) {
   header > section.bottom > .left { 
      width: 100%;
   }
   header > section.bottom > .right { 
      display: none;
   }
}
/************************************
 * BREAKPOINT 860px
 ************************************/
@media only screen and (max-width: 860px) {

   /* STACK HEADER SECTIONS UNDERNEATH EACH OTHER */
   /*
   header > section.top {
      height:auto;
   }
   header > section.top > .left,
   header > section.bottom > .left,
   header > section.top > .right,
   header > section.bottom > .right {
      float: none; 
      width:100%;
      text-align:center;
      height: 50px;
   }
   header > section.top > .right {
      padding: 10px 0 10px 0;
      height:auto;
   }
   header > section.bottom {
      height:auto;
   }
   header > section.bottom > .right .login_user {
      text-align:center;
      width:100%;
      line-height: 22px;
   }
   header > section.top > .left {
      background-position: center center;
   }
   header > section.bottom > .right .login_user {
      margin:auto;
   }
   header > section.bottom > .left .page_heading {
      font-size: 20px;
   } 
   #nav_menu_container {
      float:none;
   }
   */
   .save_update::after{
      content: "";
   }
   .save_update{
      border: solid 2px white;
      width: 65px;
      height: 65px;
      border-radius: 35px;
      margin: 2px 5px;
      padding: 0px;
      position: fixed;
      bottom: 80px;
      right: 15px;
      background-image: url('theme_faircapewater/save.svg');
      background-repeat: no-repeat;
      background-position: center center;
      background-size: contain;
   }
   /* SCALE HEADER SECTIONS AND KEEP STRADDLED LEFT/RIGHT */
   header > section.top > .left {
         margin-left: 5px;
         background-position: left center;
         background-size: contain;
   }
   header > section.top > .right{
         background-color:white;        
   }
   header > section.bottom,     
   header > section.bottom > .left,
   header > section.bottom > .right { 
         height:45px;
   }
   header > section.bottom > .right .login_user,
   header > section.bottom > .left .page_heading {
         padding: 0 5px 0 5px;
         _font-size: calc(5px + 0.6vw);
   }

   #nav_menu > li {
      width:30px;
   }

  .login_banner {
      height:150px;
   } 

   #page_menu_container {
      display:block;
      margin: 0;
   }
   #page_context_menu ul {
      top: 110px;
   }
   main {
      margin:0;
   }
   form.data_input, .form_container {
      border:0;
   }
   main.nosession .content {
      width:95%;
   }
   form.data_input, .form_container {
      border:0;
      width:100%;
      padding:0;
      background:none;
   }
   .login_container {
      box-shadow:none;
      width:auto;
      border:0;
      border-radius:0;
   }

   #login_form input[type="text"], 
   #login_form input[type="password"] {
      font-size: 12pt;
   }
   .login_container .instructions,
   #register_form_container, 
   #register_request_form_container, 
   #password_reset_form_container, 
   #user_activate_form_container {
      width:auto;
      min-width:auto;
   }
   #login_select_user_role {
      border:0;
      display:block;
   }
   #selected_search_fields.active {
      border-radius: 0;
   }
}

@media only screen and (min-width: 1600px) {
   header > section.bottom > .left .page_heading {
      font-size:20px;
   }
   header > section.bottom > .right .login_user {
      font-size:20px;
   }
}