/* center spinner on screen */
.spinner-wrapper {
    pointer-events: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.spinner-position-absolute {
    position: absolute;
}

.btn {
    will-change: opacity;
}

.btn:active, .btn.active {
    background-color: #9cc3ff;
}

/* common components */
.form-space {
    height: 11px;
}

.form-xlarge .control-label {
    width: 400px;
    cursor: default;
}

.form-xlarge .controls {
    margin-left: 420px;
}

.form-xlarge .btn-group {
    margin-left: 20px;
}

.form-xlarge .btn {
    margin-top: 10px;
}

.form-large .control-label {
    width: 300px;
    cursor: default;
}

.form-large .controls {
    margin-left: 320px;
}

.form-large .btn-group {
    margin-left: 20px;
}

.form-med .control-label {
    width: 220px;
    cursor: default;
}

.form-med .controls {
    margin-left: 240px;
}

.controls input[type="radio"] {
    margin-top: 0;
}

/* fixes error coloring for form-inline */
input.error, select.error, textarea.error {
    color: #ee3324;
    border-color: #ee3324;
    border-color: #cf1e10;
}

.form-med .btn-group {
    margin-left: 20px;
}

/* pulled from a newer version of bootstrap because otherwise buttons look disabled but can still be clicked */
.btn.disabled, .btn[disabled], fieldset[disabled] .btn, a[disabled="disabled"]{
    cursor: not-allowed;
    pointer-events: none;
}

.clear-pulls {
    clear: both;
}

.form-horizontal .controls label {
    padding-top: 5px;
}

.leftcolumn .controls {
    margin-left: 100px;
}

.leftcolumn .control-label {
    width: 130px;
    padding-right: 10px;
}

.label {
    text-align: center;
}

/* fixes bug that causes required form boxes to turn red before the user enters anything */
.ng-pristine.ng-invalid-required:focus:invalid:focus {
    border-color: #3b73b9;
    outline-color: #3b73b9;
    color: #5c5f63;
}

.accordion-heading .icon-remove-sign {
    padding: 9px 15px;
    font-size: 18px;
    cursor: pointer;
}

.accordion-heading .accordion-toggle {
    text-decoration: none;
}

.chevron:hover {
    text-decoration: none;
    cursor: pointer;
}

.search-query-div {
    margin-bottom: 0;
}

.noWrap {
    white-space: nowrap;
}

.wrapText {
    word-break: break-all;
}

.tooltip-inner {
    word-break: normal;
}

.upper {
    text-transform: uppercase;
}

.capitalize {
    text-transform: capitalize;
}

.click-icon {
    font-size: 16px;
    vertical-align: middle;
    cursor: pointer;
}

.pagination {
    cursor: pointer;
    margin: 0;
}

/* fixes race condition from angular-ui-bootstrap */
.collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    transition: height .35s ease;
}

.alert-fixed-top .btn-icon .icon-undo {
    margin-right: 3px;
}

.btn [class*="icon-chevron-"], .btn [class*="icon-remove"] {
    font-size: 16px;
    vertical-align: inherit;
}

.scrollWidth {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

.scrollHeight {
    height: 100%;
    overflow-y: auto;
}

.help-block, .help-inline {
    color: #55595f;
}

.dataTable.table-condensed td {
    padding: 0 5px;
}

.dataTable.table-list td {
    padding: 0 5px;
    border: 1px solid #bfc2c5;
    background-color: #ffffff;
}

.inner-nav .active {
    color: #ffffff;
    text-decoration: none;
    background-color: #3b73b9;
    border-color: #3b73b9;
}

.dataTable .short-td {
    height: 20px;
}

.table-scroll .tableScroll {
    max-width: 100%;
    overflow-x: auto;
    overflow-y: auto;
    height: 475px;
}

.table-scroll .tableScroll .filter-row select {
    min-width: 90px;
    width: 95%;
}

.table-scroll .tableScroll .wrapText {
    min-width: 330px;
    max-width: 500px;
}

.table-scroll .tableScroll input{
    width: 95% !important;
}

.modal-box {
    width: 520px;
    height: 270px;
}

label.user-group {
    box-sizing: border-box;
    width: 220px;
    float: left;
    padding-right: 10px;
    text-align: right;
}

div.user-group {
    margin-left: 0;
    display: inline;
}

.module.fill-vertical {
    display: flex;
    flex-flow: column;
    height: 100%;
}

.max-height {
    height: 100%;
}

/* override of max-height for Tables with a button (i.e. "New") above them (see ACMF Rules and Tasks for example) */
.max-height-with-button {
    height: 87%;
}

.fill-vertical .module-header {
    flex: 0 1 auto;
}

.fill-vertical .module-body {
    flex: 1 1 auto;
    min-height: 200px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.fill-vertical .module-body .fill {
    flex-grow: 1;
}

.fill-vertical .module-footer {
    flex: 0 1 40px;
}

/* non-resizable text area */
textarea.no-resize {
    resize: none;
}

.accordion-heading .accordion-heading-right {
    margin-top: 5px;
    margin-bottom: 0;
    vertical-align: baseline;
    float: right;
}

.accordion-heading {
    clear: both;
}

.indent {
    margin-left: 2em;
}

/* progress bars with centered text */
.progress {
    position: relative;
}

.bar {
    z-index: 1;
    position: absolute;
}

.scrollbar-horizontal {
    max-width: 100%;
    overflow-x: auto;
}

.progress span {
    position: absolute;
    top: 0;
    z-index: 2;
    color: black;
    text-align: center;
    width: 100%;
}

.table-scrollbar {
    max-width: 100%;
    overflow: auto;
}

.chosen-scroll .chosen-container .chosen-drop {
    height: auto;
    max-height: 80px;
    overflow-x: hidden;
}

.scrollable-typeahead-menu .dropdown-menu {
    max-height: 175px; /* displays approximately 7 options at a time */
    overflow-y: auto;
    overflow-x: hidden;
}

.scrollable-typeahead-menu-small .dropdown-menu {
    max-height: 95px; /* displays approximately 4 options at a time */
    overflow-y: auto;
    overflow-x: hidden;
}

.overflow-visible {
    overflow: visible;
}

.overflow-hidden {
    overflow: hidden;
}

.fault-reports {
    height: 250px;
}

.reorderable td {
    padding-right: 5px;
    padding-bottom: 5px;
}

.reorderable th {
    text-align: left;
    font-weight: normal;
    padding-bottom: 5px;
}

.list-group-item .icons {
    font-size: 18px;
}

.fault-reports-table tbody {
    overflow-y: auto;
    width: 95%;
    max-height: 80%;
    position: absolute;
    border: 1px solid #bfc2c5;
    box-sizing: border-box;
}

.dropdown button {
    margin: auto 0px;
    display: block;
}

.dropdown.open button {
    margin: auto auto auto -5px;
    display: block;
}

.ha-grid {
    height: 180px;
}

.height-med {
    height: 350px;
}

.max-height-med {
    max-height: 350px;
}

.module-body-fullscreen {
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 600px;
    max-height: 600px;
}

.module-body-triple-sub-module {
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 138px;
    max-height: 138px;
}

.fault-reports-box {
    height: 200px;
    padding: 0 0 20px 0;
    box-sizing: border-box;
}

.fault-reports-box-content tbody {
    overflow-y: auto;
    width: 95%;
    max-height: 195px;
    position: absolute;
    border: 1px solid #bfc2c5;
    box-sizing: border-box;
}

.ms-import-table {
    display: table;
    width: 100%;
}

.ms-import-table-row {
    display: table-row;
}

.ms-import-table-cell-small {
    display: table-cell;
    width: 75px;
    text-align: center;
}

.ms-import-table-cell-large {
    display: table-cell;
    width: 175px;
    text-align: left;
}

.acinfo-table {
    display: table;
    width: 100%;
}

.acinfo-table-row {
    display: table-row;
}

.acinfo-table-cell-fixed {
    display: table-cell;
    text-align: left;
    width: 285px;
}

.ms-admin-table {
    display: table;
    width: 100%;
}

.ms-admin-table-header-row {
    display: table-row;
    background-color: #3f4145;
    color: #ffffff;
}

.ms-admin-table-row {
    display: table-row;
}

.ms-admin-table-header-cell-small {
    display: table-cell;
    width: 75px;
    text-align: center;
    background-color: #3f4145;
    color: #ffffff;
}

.ms-admin-table-header-cell-medium {
    display: table-cell;
    width: 175px;
    text-align: center;
    background-color: #3f4145;
    color: #ffffff;
}

.ms-admin-table-header-cell-large {
    display: table-cell;
    width: 250px;
    text-align: center;
    background-color: #3f4145;
    color: #ffffff;
}

.ms-admin-table-header-cell-xlarge {
    display: table-cell;
    width: 300px;
    text-align: center;
    background-color: #3f4145;
    color: #ffffff;
}

.ms-admin-table-cell-small {
    display: table-cell;
    width: 75px;
    text-align: center;
}

.ms-admin-table-cell-medium {
    display: table-cell;
    width: 175px;
    text-align: center;
}

.ms-admin-table-cell-large {
    display: table-cell;
    width: 250px;
    text-align: left;
}

.ms-admin-table-cell-xlarge {
    display: table-cell;
    width: 300px;
    text-align: center;
}

.accordion-heading-ms-admin {
    clear: both;
    background-color: #3f4145;
    color: #ffffff;
}

.dl-table {
    display: table;
    width: 100%;
}

.dl-table-row {
    display: table-row;
    width: 100%;
}

.dl-table-cell-td {
    display: table-cell;
    width: 100%;
    text-align: left;
}

.dl-table-cell-button {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.dl-table-container {
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 170px;
}

.dl-interfering-ms-table-grid {
    max-height: 235px;
}

.dl-target-hardware-table-grid {
    max-height: 197px;
}

.dl-padding-form {
    margin-top: 20%;
}

.dl-modal-table-container {
    overflow-y: auto;
    overflow-x: hidden;
    width: 70%;
    margin: auto;
    max-height: 400px;
}

.dl-textarea {
    display: block;
    width: 210px;
    height: 100px;
}

.frm-container-centered {
    text-align: center;
}

.ti-table-container {
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 500px;
}

.ti-modal-table-container {
    overflow-y: auto;
    overflow-x: hidden;
    width: 90%;
    margin: auto;
    max-height: 400px;
}

.acars-list-container {
    overflow-y: auto;
    overflow-x: auto;
    max-height: 130px;
}

.oms-data-table {
    display: table;
    text-align: center;
    width: 100%;
}

.oms-data-table-row {
    display: table-row;
    width: 100%;
}

.oms-data-table-cell-header {
    box-sizing: border-box;
    display: table-cell;
    color: #ffffff;
    background-color: #3f4145;
    border: 1px solid #3f4145;
    padding: 10px 10px;
    width: auto;
    text-align: left;
}

.oms-data-table-cell-header-search {
    box-sizing: border-box;
    display: table-cell;
    background-color: #e1e2e5;
    border: 1px solid #e1e2e5;
    padding: 10px 10px;
    width: 100%;
    text-align: left;
}

.oms-data-table-cell-no-border {
    display: table-cell;
    padding-right: 5px;
}

.oms-data-table-cell-border {
    box-sizing: border-box;
    display: table-cell;
    border: 1px solid #e1e2e5;
    padding: 10px 10px;
    width: auto;
    text-align: left;
}

.oms-data-table-cell-border-faultset {
    box-sizing: border-box;
    display: table-cell;
    border: 1px solid #e1e2e5;
    padding: 10px 10px;
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}

.oms-data-table-cell-border .input-small {
    width: 100%;
}

.text-limit {
    overflow: hidden;
    text-overflow: ellipsis;
}

.modal.modal-lg {
    width: 800px;
    margin-left: -400px;
    min-height: 400px;
}

.modal.modal-xl {
    width: 1140px;
    margin-left: -570px;
}

.popover {
    z-index: 1051;
}

/* fix to prevent spacing between a tab list and the tab contents */
ul[role="tablist"] {
    margin-bottom: 0;
    border-bottom: 0;
}

/* formatting for focused and error display to tabs */
.nav-tabs>.active>a:focus {
    background-color: #ffffff;
    color: #3b73b9;
}

.nav-tabs>li.error>a {
    border-color: #ee3324;
    color: #ee3324;
}

/* formatting for red and italicized text on an item in accordion or table to indicate an error */
.accordion-toggle.error, td.error {
    color: #ee3324;
    font-style: italic;
}

/* | ACCORDIONS | */

/* Apply consistent spacing to all icons in accordion heading */
.panel-info i[class^="icon-"] {
    display: inline-block;
    margin: 0px;
    min-width: 15px;
    text-align: center;
}

/* Visibly disable icons in accordion headers */
.panel-group .panel-heading a[disabled] [class^="icon-"] {
    transition: none;
    color: #bfc2c5;
}

/* Disable transition for disabled accordion panels. */
.panel-group .panel[disabled] .panel-collapse.collapsing {
    transition: none;
}

/* Remove extra margin from forms in accordion body */
.panel-group .panel-body form {
    margin: 0px;
}

/* Prevent displacement of input messages caused by extra margin in help-inline */
.panel-group .panel-body .control-group .help-inline {
    margin: 0px;
    padding-top: 5px;
}

/* | FORM-INLINE | */

.form-inline {
    display: inline-block;
    margin: 0;
}

.form-inline .btn {
    padding: 3px 10px;
}

/* Sharpen borders of button group buttons in in-line forms */
.form-inline .btn-group > .btn-group > .btn,
.form-inline > .btn-group > .btn,
.form-inline > .btn-group > .ng-isolate-scope > .btn,
.form-inline > .btn-group > .ng-isolate-scope > .btn-group > .btn {
    border-radius: 0;
    margin-left: 0px;
    margin-right: 0px;
}

/* Round borders of first and last button group buttons in in-line forms */
.form-inline .btn-group > .btn-group > .btn:first-child,
.form-inline > .btn-group > .btn:first-child,
.form-inline > .btn-group > .ng-isolate-scope:first-child > .btn:first-child,
.form-inline > .btn-group > .ng-isolate-scope:first-child > .btn-group:first-child > .btn {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}
.form-inline .btn-group > .btn-group > .btn:last-child,
.form-inline > .btn-group > .btn:last-child,
.form-inline > .btn-group > .ng-isolate-scope:last-child > .btn:last-child,
.form-inline > .btn-group > .ng-isolate-scope:last-child > .btn-group:last-child > .btn {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

/* Remove gaps between button groups and isolate-scope button groups in in-line forms */
.form-inline .ng-isolate-scope,
.form-inline .ng-isolate-scope > .btn-group {
    float: inherit;
    margin-left: -1px;
    margin-right: -1px;
}

/* Prevent highlighting all buttons when a single button in the in-line form is pressed */
.form-inline .btn-group.open .btn:not(:focus) {
    background-color: #f7f8fa;
    box-shadow: unset;
}

/* Format button group icon buttons in in-line forms */
.form-inline .btn-group .btn-icon {
    font-size: 16px;
}

/* Format drop-downs in in-line forms */
.form-inline .btn-group .dropdown-menu {
    left: auto;
    right: 0;
    padding: 0;
}
.form-inline .btn-group .dropdown-menu li {
    cursor: pointer;
    line-height: 28px;
    padding: 0 20px 0 10px;
    min-width: 175px;
    color: #5c5f63;
}
.form-inline .btn-group .dropdown-menu li:hover {
    background-color: #e1e2e5;
}
.form-inline .btn-group .dropdown-menu li:first-child {
    padding-top: 5px;
}
.form-inline .btn-group .dropdown-menu li:last-child {
    padding-bottom: 5px;
}
.form-inline .btn-group .dropdown-menu li > label {
    padding: 0;
    margin: 0;
    overflow: hidden;
    display: inline-block;
    max-width: 155px;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: middle;
    font-size: 12px;
    user-select: none;
}

/* Keep left-aligned drop-downs in in-line forms on screen */
.form-inline .btn-group .dropdown-menu.leftAlignDropDown {
    right: auto;
}

/* | ANGULAR-JS OVERRIDES | */

/* Allow angular.js to be loaded in body, hiding cloaked elements until
templates compile. The !important is important given that there may be
other selectors that are more specific or come later and might alter display. */
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak,
    .x-ng-cloak {
    display: none !important;
}

/* Allow hidden elements to maintain their spacing */
.ng-hide.preserve-space {
    visibility: hidden;
     /* Angular style includes !important */
    display: revert !important;
}

/* GE Branding */
.ge-logo {
    background: transparent url("../images/GE_Aerospace_Logo.png") no-repeat;
    background-size: contain;
    width: 188px;
    height: 45px;
}

/* BA Branding rules for the logo and its container */
.ba-logo {
    background: transparent url("../images/BBD_Logo_Wh.gif") no-repeat;
    background-size: contain;
    border: 0;
    color: transparent;
    float: left;
    height: 38px;
    margin: 2px 9px -10px -3px;
    padding-bottom: 10px;
    width: 281px;
    box-sizing: border-box;
}

.navbar .brand {
    max-width: 65%;
}

.flightPhase-col {
    float: left;
    width: 200px;
}

.ms-dataload-tables {
    width: 450px;
    float: left;
    margin-left: 30px;
}

.scroll-container-135 {
    max-height: 135px;
    overflow-x: auto;
}

.message-list {
    margin-left: 0;
    list-style: none;
}

.message-list > .message-item:not(:first-child) {
    border-top: 1px solid #bfc2c5;
    margin-top: 10px;
    padding-top: 10px;
}

.navbar-separated {
    border-left: #ccc solid 2px;
}

.dropdown-menu li > a:hover, .dropdown-menu li > a:focus, .dropdown-submenu:hover > a,
.typeahead-faceted > ul > li:last-child a:hover, .dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:focus {
    background-image: none;
    background-color: #e1e2e5;
    color: #313337;
    filter: none;
}