/*html, body { height: 100%;} /*pushes footer to bottom of page*/
/*body > .footerhelp { height: auto; min-height: 100%;} /*pushes footer to bottom of page*/
.hidden-attr-msgbox {
    border: solid 1px #ccc;
    border-radius: 5px;
    padding: 10px;
    margin: 5px;
}

.deprecated-attr-msgbox {
    border: solid 1px #ccc;
    border-radius: 5px;
    padding: 10px;
    margin: 5px;
}

.hidden-attribute {
    background-color: #f5f5f5;
}

.publicnote {
    border: 2px solid #EEE;
    border-radius: 8px;
}

.publicnote .tag {
    color: #505050;
    padding: 4px;
    background-color: #f5f5f5;
}

.publicnote .txt {
    color: #505050;
    font-size: .95em;
    padding: 4px;
}

.form-error {
    color: #C55;
    font-weight: bold;
}

.btn-fa {
    border: none;
    background: none;
}

.muted {
    color: #aaa;
}

.tipbox {
    font-size: .9em;
    color: #666;
}

.footer-button-box {
    margin-top: 18px;
    padding-top: 14px;
}

.footer {
    clear: both;
    margin-top: 5em;
    padding: 6px;
    text-align: center;
    font-size: 9pt;
    color: #aaa;
}

.resources-rich-text {
    height: 640px;
}

textarea {
    font-family: Arial, Verdana, Helvetica, Sans-Serif;
}

.helpflyertext {
    display: none;
    background-color: #F2F2F2;
    padding: 6px;
    margin: 4px 10px 0px 6px;
    border: 1px solid #DDD;
    border-radius: 6px;
}

.helpflyertext div {
    margin-bottom: 1em;
}

.helpflyertext ul {
    margin-top: 0px;
}

.inputline {
    padding-top: 3px;
    padding-bottom: 3px;
    font-size: .95em;
}

.inputlinespacer {
    border-top: 1px solid #CCC;
    margin: 6px 0;
}

.inputlinename {
    height: 18px;
    font-size: .95em;
}

.inputlinevalues {
    padding: 0 0 6px 24px;
    font-size: .95em;
}

.inputlinelabel {
    padding-right: 16px;
}

.inputgroup {
    font-weight: bold;
    padding: 12px 0px 0px 0px;
}

.inputheading {
    font-weight: bold;
    padding: 8px 0 6px 6px;
    margin-top: 6px;
    background-color: #EEE;
    clear: both;
}

.inputheadingoption {
    padding-left: 2px;
    font-weight: normal;
    font-size: .95em;
}

.inputcolumnbox {
    margin: 4px 0 0 8px;
    font-size: .95em;
}

.inputcolumnleft {
    float: left;
    margin: 0 18px 12px 0;
    padding-right: 18px;
    width: 454px;
}

.inputcolumnright {}

.inputshort {
    width: 60px;
}

.twocolumn {
    column-count: 2;
    -moz-column-count: 2;
    -webkit-column-count: 2;
}

.threecolumn {
    column-count: 3;
    -moz-column-count: 3;
    -webkit-column-count: 3;
}

.columngroup {
    display: inline-block;
    width: 100%;
}

.revisable {
    font-weight: bold;
}

.revisable-t-top {
    border-bottom: 1px solid #ddd;
    padding: 6px;
}

.revisable-t {
    padding: 12px;
    display: inline-block;
    border-right: 1px solid #ddd;
}

.isrevised {
    text-decoration: line-through;
    color: #999;
}

.revision-display {
    display: inline-block;
}

.revision {
    font-size: .9em;
    margin-left: 8px;
    color: #999;
}

.revisiontoggle {
    font-size: .9em;
    margin-left: 8px;
}

.revisionlabel {
    font-size: .9em;
    margin-left: 8px;
    color: #666;
}

.revisioninput {
    width: 88px !important;
    font-size: 1em;
}

.calculatedcost {
    font-weight: bold;
}

.input-group-addon {
    font-size: .93em;
    padding: 6px 6px;
}

.ProgramSpaceDesignationName {
    width: 416px;
}

.movedesignationup {
    color: #333;
    margin: 2px;
    cursor: pointer;
}

.movedesignationdown {
    color: #333;
    margin: 2px;
    cursor: pointer;
}

.designationexpanderhandle {
    text-align: center;
    margin-bottom: 8px;
    margin-left: 204px;
    width: 66px;
    background-color: #EEE;
    border: solid 1px #CCC;
    border-top: 0px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.figure {
    margin: 2em 0;
    text-align: center;
    font-size: .95em;
    color: #666;
}

.figure img {
    padding: 6px;
    border: 1px solid #ccc;
}

.loading-bar {
    background-repeat: no-repeat;
    background-image: url('/Images/loading-bar.gif');
}

.loading-bar-placeholder {
    margin-left: 5px;
    margin-right: 5px;
    display: inline-block;
    height: 11px;
    width: 16px;
}

.loading-small-placeholder {
    display: inline-block;
    height: 10px;
    width: 10px;
}

.spacecategoryselectionbox {
    padding: 2px 0 2px 0;
}

.tagline {
    font-style: italic;
    color: Gray;
    clear: both;
    margin: 5px;
}

.selectionlist {
    background-color: #FFF;
    border: 1px solid #CCC;
    border-radius: 8px;
    padding: 0;
    list-style-type: none;
}

.selectionlist li {
    background-image: url('/Images/br_next_icon16.png');
    background-size: 12px;
    background-position: 99% center;
    background-repeat: no-repeat;
    cursor: pointer;
    border-top: solid 1px #CCC;
}

.selectionlist li:first-child {
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    border-top: none;
}

.selectionlist li:last-child {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

.selectionlist li:hover {
    background-color: #EFEFFF;
}

.selectionlist a {
    text-decoration: none;
    color: #505050;
}

.selectionlist a:hover {
    text-decoration: none;
}

.selectionitem {
    padding: 10px;
}

.selectionitemname {
    font-weight: bold;
}

.scenariocalcsummary {
    text-align: right;
    font-weight: bold;
    display: flex;
    gap: 0.5rem !important;
}

.scenariocalcsummary .scenariocalcsummary-area {
    min-width: 120px;
}

.scenariocalcsummary .scenariocalcsummary-cost {
    min-width: 120px;
}

.scenariocalcsummary .scenariocalcsummary-costperarea {
    min-width: 100px;
}

.selectionitemdescription {
    font-size: .9em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.thumb {
    float: left;
    margin: 0 6px;
    height: 50px;
    border: 1px solid lightgray;
    border-radius: 6px;
}

.thumbtext {
    padding: 6px;
}

.listnav {
    font-size: .9em;
    padding: 2px;
}

.listnav a {
    color: #666;
}

.listnav a:link {
    text-decoration: none;
}

.listnav a:hover {
    text-decoration: underline;
    color: #666;
}

.bodylink {
    text-decoration: none;
}

.bodylink:hover {
    text-decoration: underline;
}

.bodylinkbig {
    text-decoration: none;
    font-weight: bold;
    font-size: larger;
}

.bodylinkbig:hover {
    text-decoration: underline;
}

.bodylinkmuted {
    color: #DDD;
}

.imagelink {
    margin: 4px;
}

.imagelink img {
    margin: 0 4px -2px 0;
}

.usertitle {
    float: right;
    margin: 8px;
}

.usertitle a:hover {
    background-color: #0185c6;
    text-decoration: none;
}

.usertitle a {
    font-size: .95em;
    border-radius: 4px;
    padding: 4px;
    margin-left: 4px;
    background-color: #666;
}

.title {
    display: inline;
}

.title h1 {
    display: inline;
}

.title img {
    margin-top: -1px;
}

header,
nav,
section {
    display: block;
}

.navbadge {
    padding-right: 2px;
    font-weight: bold;
}

/* project pages 
-----------------------------------------------------------*/
.scenario {
    margin: 5px;
    padding: 5px;
    border-top: 1px solid #E5E5E5;
}

.disabled {
    color: #ccc;
    cursor: default;
}

/* Styles for basic forms
-----------------------------------------------------------*/
h1 {
    margin: 0.1em;
}

h2 {
    margin-top: 6px;
    margin-bottom: 12px;
}

h3 {
    margin-bottom: 4px;
}

h4 {
    margin-top: 12px;
    margin-bottom: 4px;
}

fieldset {
    margin: 2px;
}

fieldset label {
    display: inline-block;
    width: 10em;
    text-align: right;
    margin-right: 8px;
}

legend {
    font-size: 1.2em;
    font-weight: bold;
}

.editor-label {
    margin: 1em 0 0 0;
}

.editor-field {
    margin: 0.5em 0 0 0;
}

img {
    margin: 0px;
    padding: 0px;
    border: 0px;
}

table {
    border-collapse: collapse;
}

table thead,
table tfoot {
    font-weight: bold;
}

table td.numeric,
table th.numeric {
    white-space: nowrap;
    text-align: right;
    padding-left: 10px;
    padding-right: 5px;
}

.separated {
    border-top: solid 1px #dfdfdf;
    padding-top: 8px;
    margin-top: 8px;
}

.dialog {
    background-color: #fff;
    border: solid 1px #dfdfdf;
    border-radius: 6px;
    padding: 8px;
    margin: 4px 0px 12px 0px;
}

.confirmation-summary {
    font-weight: bold;
    color: #8eb316;
    border: 2px solid #8eb316;
    border-radius: 6px;
    background-color: #FFD;
    margin: 4px 0 6px 0;
    padding: 8px;
}


/* Styles for validation helpers
-----------------------------------------------------------*/
.field-validation-error {
    color: #633;
    padding-left: 2px;
    background: #FEE;
    border: 1px solid #FAA;
    display: block;
}

.field-validation-valid {
    display: none;
}

.input-validation-error {
    border: 1px solid #FAA;
    background-color: #FEE;
}

.validation-summary-errors {
    font-weight: bold;
    color: #A66;
    border: 2px solid #FAA;
    border-radius: 6px;
    background-color: #FEE;
    margin: 4px 0 6px 0;
}

.validation-summary-valid {
    display: none;
}


.hidden {
    display: none;
}

.chevron {
    background-position: left;
    background-repeat: no-repeat;
    cursor: pointer;
    padding-left: 14px;
}

.chevron_opened {
    background-image: url('/Images/open.png');
}

.chevron_closed {
    background-image: url('/Images/shut.png');
}

.expander {
    border-radius: 6px;
    border: 1px solid #CCC;
    padding: 6px;
    margin-top: 4px;
}

.expanderHandle {
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
    width: 50%;
    margin: 0 auto;
    height: 12px;
    width: 66px;
    background-color: #EEE;
    border: solid 1px #BBB;
    border-top: 0px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.expander_opened {
    background-image: url('/Images/arrowless.png');
}

.expander_closed {
    background-image: url('/Images/arrowmore.png');
}

.dashpanel {
    background-color: #f5f5f5;
    border-radius: 6px;
    border: solid 1px #dfdfdf;
    padding: 14px;
    margin-bottom: 16px;
}

.nowrap {
    text-wrap: none;
    white-space: nowrap;
}

.fineprint {
    margin-bottom: 2px;
    font-size: .8em;
    color: #888;
}

.notetext {
    margin-bottom: 4px;
    font-size: .95em;
    color: #888;
}

.notetextarea {
    font-size: .9em;
    width: 98%;
}

.adminbox {
    padding: 8px;
    border: dotted 2px #f93;
    border-radius: 6px;
    color: #888;
}

.adminhead {
    color: #f93;
    border-bottom: dotted 2px #f93;
    margin-bottom: 6px;
    font-weight: bold;
}


.loading-content {
    background-color: white;
    padding: 20px 50px;
    width: 500px;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    border: 5px solid gray;
    border-radius: 20px;
    text-align: center;
}

.showcase {
    padding-top: 2em;
}

img.img-sub-main {
    padding: 2em;
}

.vertically-center-container {
    height: 100%;
    width: 100%;
    display: table;
}

.vertically-center {
    display: table-cell;
    vertical-align: middle;
}

.overflow-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chart-title {
    font-weight: bold;
    font-size: 11px;
}

.chart-container {
    margin: 20px 0;
}


/* https://github.com/marceljuenemann/angular-drag-and-drop-lists#recommended-css-styles */
.dndDraggingSource {
    opacity: .2;
}

table.markable th,
table.markable td:first-child {
    cursor: pointer
}

table.markable .selected-horz,
.selected-vert {
    background-color: lightskyblue;
}

.gap-1 {
    gap: 0.25rem !important;
}

.gap-2 {
    gap: 0.5rem !important;
}

.gap-3 {
    gap: 0.75rem !important;
}

.gap-4 {
    gap: 1rem !important;
}

/* Dropleft */
.dropleft .dropdown-toggle::before {
    rotate: 180deg;
}
.dropleft .dropdown-toggle[aria-expanded=true]::before {
    rotate: -90deg;
}

/* bootstrap-multiselect */
.multiselect-native-select .multiselect-group {
    color: lightgray;
}
.multiselect-native-select .form-check-input[type=radio] {
    display: none;
}
.multiselect-native-select .form-check:has(>.form-check-input[type=radio]) {
    padding-left: 0;
}

/* btn-xs */
.btn-group-sm>.btn, .btn-xs {
    padding: .125rem .5rem;
    font-size: .825rem;
    line-height: 1.2;
    border-radius: .2rem;
}