﻿@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/Content/Fonts/open-sans-v15-latin-regular.eot');
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('/Content/Fonts/open-sans-v15-latin-regular.eot?#iefix') format('embedded-opentype'),
       url('/Content/Fonts/open-sans-v15-latin-regular.woff2') format('woff2'),
       url('/Content/Fonts/open-sans-v15-latin-regular.woff') format('woff'),
       url('/Content/Fonts/open-sans-v15-latin-regular.ttf') format('truetype'),
       url('/Content/Fonts/open-sans-v15-latin-regular.svg#OpenSans') format('svg');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('/Content/Fonts/open-sans-v15-latin-700.eot');
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
       url('/Content/Fonts/open-sans-v15-latin-700.eot?#iefix') format('embedded-opentype'),
       url('/Content/Fonts/open-sans-v15-latin-700.woff2') format('woff2'),
       url('/Content/Fonts/open-sans-v15-latin-700.woff') format('woff'),
       url('/Content/Fonts/open-sans-v15-latin-700.ttf') format('truetype'),
       url('/Content/Fonts/open-sans-v15-latin-700.svg#OpenSans') format('svg');
}

body,html {
    font-family: 'Open Sans', sans-serif;
    font-size: 0.9em;
    background: #f1f2f6;
}
code,kbd,pre,.img-rounded,.img-thumbnail,.img-circle,.form-control,.btn,.btn-link,.list-group-item,.input-group-addon,.input-group-btn,.nav-tabs a,.nav-pills a,.navbar,.navbar-toggle,.icon-bar,.breadcrumb,.pagination,.pager *,.label,.badge,.jumbotron,.thumbnail,.alert,.progress,.panel,.well,.modal-content,.tooltip-inner,.popover,.popover-title,.carousel-indicators li {
    border-radius: 0 !important;
}
.input-group-addon:not(:first-child):not(:last-child) {
    border-left: 0;
    border-right: 0;
}
a, a:hover {
    color: #000000;
}
.alert a {
    color: #6e7655;
    text-decoration: underline;
}
.alert h6 {
    font-weight: bold;
    margin: 0;
}

h1,h2 {
    font-size: 2em;
    padding: 0;
    margin: 0 0 20px 0;
}
h2 {
  font-size: 1.5em;
  padding: 0;
  margin: 0 0 10px 0;
}
h1 a,h2 a,h1 a:hover,h2 a:hover {
    color: #000000;
}
h2.form-section {
    margin-top: 0.5em;
    margin-bottom: 0.2em;
}
label.plain { font-weight: normal; margin: 0; }

.resource-description span {
    display: block;
    margin-top: 1px;
    padding: 5px 5px 4px;
}

.form-control-static { padding: 0; min-height: 0; }

.form-group textarea { min-height: 6rem; }
.form-group[data-valid="0"] .radio,
.form-group[data-valid="0"] .resource-description,
.form-group[data-valid="0"] .form-control,
.form-group[data-valid="0"] input[type="radio"],
.form-group[data-valid="0"] input[type="text"],
.radio[data-valid="0"],
.resource-description[data-valid="0"],
.form-control[data-valid="0"],
input[type="radio"][data-valid="0"],
input[type="text"][data-valid="0"] {
    outline: 1px solid #ff0000;
}

a.suggestive {
    text-decoration: underline;
}

input[readonly].editable {
    background-color: #fff;
}

.container {
    padding-top: 20px;
}
.centered-box {
    max-width: 400px;
    padding: 25px;
    margin: 50px auto;
}
.centered-box img {
    max-width: 90%;
}
.centered-box button.btn-block {
    margin: 20px 0 10px 0;
}

.middle {
    vertical-align: middle !important;
}
.navigable {
    cursor: pointer;
}
.navigable *:first-child {
    text-decoration: underline;
}
.clearfix {
    margin: 0;
    padding: 0;
}
.mb { margin-bottom: 15px !important; }
.mb0 { margin-bottom: 0 !important; }
.mb1 { margin-bottom: 15px !important; }
.mb2 { margin-bottom: 30px !important; }
.mt { margin-top: 15px !important; }
.mt0 { margin-top: 0 !important; }
.ml { margin-left: 15px !important; }
.pl { padding-left: 15px !important; }
.pr { padding-right: 15px !important; }
.p05 { padding: 8px !important; }
.hidden-if-empty:empty {
    display: none;
}
.width-full {
    width: 100% !important;
}
.width-half {
    width: 50% !important;
}
th.width-fit {
    width: 1%;
}
td.width-fit {
    width: 1%;
    white-space: nowrap;
}
td.pb-min {
    padding-block: 2px !important;
}
.text-normal {
    font-weight: normal;
    text-decoration: none;
}

#navbar-menu {
    color: #fff;
    border: none;
    margin-bottom: 0;
}
#navbar-menu a,
#navbar-menu p {
    color: #fff;
}
.navbar-brand {
    font-weight: bold;
    font-size: 1.4em;
    color: #fff;
}
.navbar-brand span {
    color: #000;
}
.navbar-subnav .active a,
#navbar-menu .active a,
#navbar-menu a:hover {
    background: rgba(255,255,255,0.2);
    color: #000000;
    transition: all 0.25s linear;
}
.navbar-subnav {
    border: none;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
}
.navbar-subnav ul {
    width: 100%;
    background: rgba(255,255,255,0.2);
}
.navbar-subnav ul li a {
    transition: all 0.25s linear;
}
.navbar-subnav ul li a:hover {
    background: rgba(255,255,255,0.2);
    color: #000000;
}

#opm-message {
    position: fixed;
    padding: 30px;
    bottom: 0;
    right: 15px;
    margin-left: 15px;
    z-index: 10000;
    color: #fff;
    border-color: #fff;
}
#opm-message.alert-success {
    background-color: #249d4e;
}
#opm-message.alert-info {
    background-color: #31b0d5;
}
#opm-message.alert-warning {
    background-color: #f0ad4e;
}
#opm-message.alert-danger {
    background-color:#c9302c;
}
#opm-message-title {
    display: block;
}
#opm-message-close {
    color: #fff;
    opacity: 1.0;
    font-weight: normal;
    text-shadow: none;
    position: absolute;
    top: 2px;
    right: 7px;
}
#opm-note-add textarea {
    min-height: 16em;
}
.opm-note-text a {
    color: #337ab7;
}

.title-actions {
    display: inline-block;
    float: right;
    position: relative;
    z-index: 1;
}
.btn-secondary {
    background-color: #eee;
}
.btn-success,
.title-actions a,
.title-actions button {
    background-color: #91ce44;
    border: 1px solid #91ce44;
}
.title-actions form {
    display: inline-block;
}
.title-actions a,
.title-actions button {
    display: inline-block;
    padding: 6px 12px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    transition: all 0.5s linear;
    color: #fff;
}
.title-actions a.focus,
.title-actions a:focus,
.title-actions a:hover,
.title-actions button.focus,
.title-actions button:focus,
.title-actions button:hover {
    color: #fff;
    background-color: #449d44;
    border: 1px solid #449d44;
    text-decoration: none;
}
.title-actions a.danger,
button.danger {
    background-color: #d9534f;
    border-color: #d43f3a;
}
.title-actions a.danger.focus,
.title-actions a.danger:focus,
.title-actions a.danger:hover,
.title-actions button.danger.focus,
.title-actions button.danger:focus,
.title-actions button.danger:hover {
    background-color: #c9302c;
    border: 1px solid #c9302c;
}

.title-actions a.secondary,
.title-actions button.secondary {
    background-color: #eee;
    border-color: #eee;
    color: #000;
}
.title-actions a.secondary.focus,
.title-actions a.secondary:focus,
.title-actions a.secondary:hover,
.title-actions button.secondary.focus,
.title-actions button.secondary:focus,
.title-actions button.secondary:hover {
    background-color: #eee;
    border: 1px solid #eee;
    color: #000;
}

.title-actions-sm a,
.title-actions-sm button {
    font-size: 12px;
    padding: 3px 6px;
}

.properties,
.related-data {
    border: 1px solid #ddd;
    margin-bottom: 20px;
    background-color: #fff;
}
.related-data-noheader {
    border-top: none;
}
.related-data-noheader thead {
    display: none;
}
.properties caption,
.related-data caption,
.related-data .caption {
    position: relative;
    caption-side: top;
    padding: 8px;
    border-bottom: 2px solid #ddd;
    font-size: 1em;
    font-weight: bold;
    color: #000;
}
.properties caption a,
.properties caption button,
.related-data caption a,
.related-data caption button,
.related-data .caption a {
    margin-top: -2px;
    margin-bottom: -2px;
}
.properties caption .btn-group-related-data {
    position: absolute;
    right: 0;
    top: 2px;
}
.properties caption .btn-related-data,
.related-data caption .btn-related-data,
.related-data .caption .btn-related-data {
    position: absolute;
    right: 0;
    top: 0;
    padding: 8px 13px;
    border: none;
    background-color: #ddd;
    font-size: 1em;
}
.properties table,
.related-data table {
    width: 100%;
    margin-bottom: 8px;
}
span.inactive {
    color: #808080;
}
table.inactive,
table tr.inactive {
    background-color: #f0f0f0;
    color: #808080;
}
.related-data table:not(:last-child) {
    border-bottom: 1px solid #ddd;
}
.properties table th,
.properties table td
{
    padding: 5px 8px;
    vertical-align: top;
}
.properties table td a {
    text-decoration: underline;
}
.properties table td a.btn {
    text-decoration: none;
}
.related-data table th,
.related-data table td {
    padding: 5px 8px;
    vertical-align: top;
}
.properties table tbody th {
    width: 40%;
    padding-left: 8px;
}
.properties table tbody td {
    padding-right: 8px;
}
.properties table tbody td ol {
    padding-left: 14px;
}
.properties-inline table,
.related-data table {
    margin-bottom: 0px;
}
.properties-inline table tr th,
.properties-inline table tr td {
    padding: 8px;
}

#opm-tabs-body .properties {
    border: none;
    margin-bottom: 10px;
}

#opm-tabs-body h2 {
    font-size: 1.2rem;
    padding-block: 10px 8px;
    border-bottom: 1px solid #ddd;
}

#opm-tabs-body .property {
    display: flex;
    margin-bottom: 4px;
}

#opm-tabs-body .property label {
    width: 25%;
}

input::-ms-clear {
    display: none;
}
select.invalid, input.invalid {
    border-color: #a94442;
    background-color: #f2dede;
}

.btn {
    transition: all 0.5s linear;
}
.btn-group-vertical {
    width: 100%;
}
.btn-default.active,
.btn-default.focus,
.btn-default:active,
.btn-default:focus,
.btn-default:hover {
    background-color: #e5f4fb;
    border-color: #b5cad4;
}
.btn-group-vertical .btn {
    text-align: left;
}
.btn-group-vertical .btn span.glyphicon {
    margin-right: 7px;
}
.btn-group > ul.dropdown-menu > li button {
    display: block;
    padding: 3px 20px;
    border: none !important;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
    width: 100%;
    text-align: left;
}

@media (min-width: 768px) {
    .pull-right-sm {
        float: right !important;
    }
}

a.forgot-password {
    display: block;
    margin-top: 10px;
    text-align: center;
}

.form-inline {
    position: relative;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
    background-color: #f6f6f6;
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  filter: alpha(opacity=10);
  opacity: 0.1;
  pointer-events: all !important;
  cursor: default;
}

div.table { margin-bottom: 0px; }
table.table { background-color: #fff; }
table.table-transparent { background-color: transparent; }
table.table-nogrid tbody tr td { border: none; }
table tr.empty td {
    text-align: center;
}
table.table-hover tbody tr {
    cursor: pointer;
}
table.table th a {
    color: #000000;
    text-decoration: none;
    font-weight: bold;
}
table.table tr.empty {
    cursor: default;
}
table.table tr.empty td {
    text-align: center;
}
tr[data-selected="1"] td,
table.table tr.selected td {
    background-color: #d9edf7;
}
table.table tfoot td {
    font-weight: bold;
    border-bottom: none;
    border-left: none;
    border-right: none;
}
table.table tr.disabled {
    color: #aaa;
}
table.table th,
table.table td {
    border-left: none !important;
    border-right: none !important;
}
table.table td.actions,
table.table td.col-actions,
table.table th.actions,
table.table th.col-actions {
    width: 0px;
    white-space: nowrap;
    text-align: right;
    vertical-align: top;
}
table.table th.strong, table.table td.strong {
    font-weight: bold;
    border: 1px solid #ddd;
}
.table .table-progress {
    position: absolute;
    top: -20px;
    z-index: 1;
    width: 100%;
}
table.table-middle th,
table.table-middle td {
    vertical-align: middle !important;
}
.table .col-nw {
    white-space: nowrap;
}
.table .col-w10 {
    min-width: 10%;
    max-width: 10%;
    overflow: hidden;
}
thead tr {
    border-bottom: solid 2px rgb(221,221,221) !important;
}
.table .table-progress img {
    display: block;
    width: 128px;
    margin: 0 auto;
}
.table-condensed > tr {
    height: 2.5rem;
}
.table-transparent {
    background-color: #fff0;
}
div.table-filters {
    margin:0 0 20px 0;
    padding:0;
    min-height: 34px;
}
#opm-tabs-body div.table-filters {
    margin: 10px;
}
div.table-filters .table-filters-row {
    margin-top: 4px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 4px;
}
.modal-xl {
    width: 99%;
    max-width: 1200px;
}
.modal-body .table-filters {
    margin: 0 0 1em;
}
.modal-footer .alert { text-align: left; }
div.pageControls {
    margin-left: auto;
    margin-right: auto;
    width: 250px;
    text-align: center;
}
div.pageControls select {
    width: auto;
    display: inline-block;
    vertical-align: middle;
}
div.pageInfo {
    float: right;
    width: 150px;
    text-align: right;
    padding-top: 6px;
    margin-right: 20px;
}
div.paging-footer               { margin-top: -10px; }
div.paging-controls             { margin-left: auto; margin-right: auto; width: 250px; text-align: center; vertical-align: middle; position: relative; }
div.paging-controls select      { width: auto; display: inline-block; }
div.paging-controls input       { vertical-align: middle; width: 34px; height: 34px; }
div.paging-info                 { float: right; width: 150px; text-align: right; padding-top: 6px; margin-right: 20px; }
table.table caption { caption-side: bottom; text-align: center; border-top: none !important; font-weight: normal; }
.related-data table caption { border: none; border-top: 1px solid #ddd; }
th.sortable         { user-select: none; -moz-user-select: none; -ms-user-select: none; -webkit-user-select: none; cursor: pointer; }
th.sortable[data-order="0-asc"]:after   { content: " ▲"; }
th.sortable[data-order="0-desc"]:after  { content: " ▼"; }
th.sortable[data-order="1-asc"]:after   { content: " ▲2"; }
th.sortable[data-order="1-desc"]:after  { content: " ▼2"; }
th.sortable[data-order="2-asc"]:after   { content: " ▲3"; }
th.sortable[data-order="2-desc"]:after  { content: " ▼3"; }
th.sortable[data-order="3-asc"]:after   { content: " ▲4"; }
th.sortable[data-order="3-desc"]:after  { content: " ▼4"; }
table .col-w0               { width: 2%; }
table .col-w1               { width: 4%; }
table .col-w2               { width: 8%; }
table .col-w3               { width: 12%; }
table .col-w4               { width: 16%; }
table .col-w5               { width: 24%; }
table .col-w6               { width: 32%; }
table .col-w80 { width: 80px; }
table .col-w100 { width: 100px; }
table .col-w120 { width: 120px; }
table .col-w140 { width: 140px; }
table .col-min { width: 1px; white-space: nowrap; }
table .col-Periods {
    padding: 0 !important;
    vertical-align: middle !important;
}

.panel {
    border: none !important;
}
.panel a {
    color: #000000;
}
.panel .panel-heading {
    border-radius: 0 !important;
    font-weight: bold;
    font-size: 1.4em;
    color: #ffffff;
    padding: 15px 20px;
}
.panel .logoHolder {
    padding: 20px 0 20px 30px;
}
.panel .loginHolder {
    padding-top: 20px;
    padding-right: 30px;
}
.panel-heading span.pull-right {
    font-size: 0.8em;
    font-weight: normal;
    padding-top: 5px;
}
.panel-heading span input {
    vertical-align: middle;
    margin-top: -2px;
    margin-left: 7px;
}
.panel .table {
    margin-bottom: auto;
}
.panel .table tr.empty td {
    border-top: none;
}

.subscription-change {
    border: 1px solid #a0a0a0;
    margin-top: 20px;
    padding: 15px 20px 40px;
    cursor: pointer;
}
.subscription-change:hover {
    background-color: #f0f0f0;
}
.subscription-change label {
    margin-bottom: 40px;
}

.year-selector {
    float: right;
    font-size: 2em;
    line-height: 1.1;
}
#group-selector {
    padding: 0;
}
#group-selector select {
    border: none;
}

.trait {
    display: inline-block;
    margin: .2rem;
    padding: 0 .6rem;
    line-height: 1.6rem;
    background-color: #eee;
    color: #000;
    border-radius: 0;
    white-space: nowrap;
    vertical-align: baseline;
}
.trait-assigned {
    background-color: #c0c0c0;
}
.trait-assigned:before {
    content: 'x ';
    font-size: 0.8em;
    vertical-align: top;
}
.trait-list .trait {
    user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
    cursor: pointer;
}
.trait-list .label {
    display: inline-block;
}


#opm-tabs-content {}
#opm-tabs-body { overflow: auto; background-color: #fff; border: 1px solid #ddd; border-top: none; }
#opm-tabs-body .table-bordered { border-left: none; border-right: none; }
#opm-tabs-body .table { margin-bottom: 0; border-bottom: 0; }
#opm-tabs-body .table tr:last-child td { border-bottom: 0; }
#opm-model-summary { margin-bottom: 30px; display: flex; gap: 0px 30px; flex-wrap: wrap; flex-basis: 150px; }
#opm-model-summary p { flex-basis: 150px; white-space: nowrap; }
#opm-model-summary label { display: block; color: #aaa; font-weight: normal; font-size: 0.9em; }
.opm-tab-actions { position: absolute; right: 18px; margin-top: 3px; }
.nav-tabs li a { background-color: #fff; border: 1px solid #ddd !important; margin: 0; }
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover { color: #fff; background-color: #5067b6; border: 1px solid #5067b6 !important; }


@media (min-width: 992px) {
    .row.row-collapse {
        padding-left: 10px;
        padding-right: 10px;
    }
    .row.row-collapse > div {
        padding-left: 5px;
        padding-right: 5px;
    }
}
@media (min-width: 1600px) {
    .container {
        width: 1570px;
    }
}
