html {
  box-sizing: border-box; }

*, *::after, *::before {
  box-sizing: inherit; }

.onoffswitch {
  position: relative;
  width: 90px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none; }

.onoffswitch-checkbox {
  display: none; }

.onoffswitch-label {
  display: block;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid #999999;
  border-radius: 20px; }

.onoffswitch-inner {
  display: block;
  width: 200%;
  margin-left: -100%;
  transition: margin 0.3s ease-in 0s; }

.onoffswitch-inner:before, .onoffswitch-inner:after {
  display: block;
  float: left;
  width: 50%;
  height: 30px;
  padding: 0;
  line-height: 30px;
  font-size: 14px;
  color: white;
  font-family: Trebuchet, Arial, sans-serif;
  font-weight: bold;
  box-sizing: border-box; }

.onoffswitch-inner:before {
  content: attr(data-content-before);
  padding-left: 10px;
  background-color: #34A7C1;
  color: #FFFFFF; }

.onoffswitch-inner:after {
  content: attr(data-content-after);
  padding-right: 10px;
  background-color: #EEEEEE;
  color: #999999;
  text-align: right; }

.onoffswitch-switch {
  display: block;
  width: 18px;
  margin: 6px;
  background: #FFFFFF;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 56px;
  border: 2px solid #999999;
  border-radius: 20px;
  transition: all 0.3s ease-in 0s; }

.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
  margin-left: 0; }

.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
  right: 0px; }

input[type] + label.onoffswitch-label {
  margin-bottom: -4px;
  margin-top: 0; }

input[type] + label.onoffswitch-label::before {
  display: none; }

header > .usa-site-navbar {
  position: absolute;
  /*bottom:46px;*/
  top: 91px;
  left: 70px; }

header > .usa-site-navbar > div {
  display: inline-block;
  background-color: #F1F1F1;
  margin: 0;
  border: solid 1px gray;
  border-left: none;
  height: 30px; }
  header > .usa-site-navbar > div:nth-of-type(1) {
    border-left: solid 1px gray; }
  header > .usa-site-navbar > div:hover:not(.active) {
    border-bottom-width: 3px;
    border-bottom-color: #4773AA; }

header .usa-site-navbar .home {
  background-color: #4773AA; }
  header .usa-site-navbar .home i {
    color: white; }

header > .usa-site-navbar > div > div:not(.home) > i {
  color: black; }

header > .usa-site-navbar > div > div:not(.home):hover {
  background-color: rgba(0, 0, 0, 0.2); }

header > .usa-site-navbar > div > div:not(.home).active {
  border-bottom-color: #F1F1F1;
  background-color: rgba(0, 0, 0, 0.2); }

header > .usa-site-navbar > div > div {
  padding: 3px 5px; }
  header > .usa-site-navbar > div > div:hover {
    cursor: pointer; }
  header > .usa-site-navbar > div > div > span, header > .usa-site-navbar > div > div > a {
    position: relative;
    text-decoration: none;
    color: black;
    display: inline-block; }
  header > .usa-site-navbar > div > div + nav {
    z-index: 2;
    display: none;
    min-width: 100%;
    -webkit-box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.75);
    box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.75); }
  header > .usa-site-navbar > div > div.active + nav {
    display: block;
    position: absolute;
    background-color: #F1F1F1;
    border: solid 1px gray;
    top: 29px; }
    header > .usa-site-navbar > div > div.active + nav > * {
      display: block;
      margin-bottom: 3px;
      text-decoration: none;
      color: black;
      padding: 3px 5px; }
      header > .usa-site-navbar > div > div.active + nav > *:hover {
        color: black;
        cursor: pointer;
        background-color: rgba(0, 0, 0, 0.2); }
      header > .usa-site-navbar > div > div.active + nav > *:last-child {
        margin-bottom: 0; }

/*header > .usa-site-navbar > a {
    color:white;
    cursor: pointer !important;
    text-decoration:none;
}

header > .usa-site-navbar > a::after {
    content: " | ";
    text-decoration:none;
}

header > .usa-site-navbar > a:last-of-type::after {
    content: "";
    text-decoration:none;
}

header > .usa-site-navbar > a:hover {
    text-decoration:underline;
}*/
.bccu,
section.body-content > .container {
  font-size: 1.5rem; }
  .bccu label,
  section.body-content > .container label {
    margin-top: 0;
    /*font-size:1.5rem;*/ }
  .bccu input,
  .bccu textarea,
  .bccu select,
  section.body-content > .container input,
  section.body-content > .container textarea,
  section.body-content > .container select {
    margin-top: 0;
    margin-bottom: 0;
    padding: .1rem .5rem;
    height: initial;
    line-height: normal;
    /*font-size:1.5rem;*/ }
  .bccu table th,
  .bccu table td,
  section.body-content > .container table th,
  section.body-content > .container table td {
    padding: .5rem;
    /*font-size:1.5rem;*/ }
  .bccu table td .usa-button,
  section.body-content > .container table td .usa-button {
    margin-top: 0;
    margin-bottom: 0; }
  .bccu .usa-button,
  .bccu .usa-button-primary,
  .bccu .usa-button:visited,
  .bccu .usa-button-primary:visited,
  .bccu button,
  .bccu [type=button],
  .bccu [type=submit],
  .bccu [type=reset],
  .bccu [type=image],
  section.body-content > .container .usa-button,
  section.body-content > .container .usa-button-primary,
  section.body-content > .container .usa-button:visited,
  section.body-content > .container .usa-button-primary:visited,
  section.body-content > .container button,
  section.body-content > .container [type=button],
  section.body-content > .container [type=submit],
  section.body-content > .container [type=reset],
  section.body-content > .container [type=image] {
    padding: .5rem 1rem;
    font-size: 1.5rem; }

.table-component_container .table-component_header_type-filter [type='checkbox'] {
  display: none; }

select[size],
select[multiple] {
  background-image: none; }

option:first-child {
  font-weight: initial; }

.hide-all {
  display: none; }

.body-content.loading-api {
  pointer-events: none; }

.body-content.loading-api button,
.body-content.loading-api input[type='button'],
.body-content.loading-api input[type='submit'] {
  background-color: #d6d7d9;
  color: white; }

.body-content.loading-api input[type='text'],
.body-content.loading-api textarea,
.body-content.loading-api select {
  background-color: #d6d7d9; }

/*input[type='text'],
textarea,
div.label + div,
.upper,
table.table-component td {
 text-transform:uppercase;   
}*/
button.usa-button, input[type='button'].usa-button, input[type='submit'].usa-button {
  margin-bottom: 1.5em;
  margin-top: 2.5rem; }

label,
span.label,
fieldset.yes-no > legend {
  font-weight: bold; }

.label.col-md-5 {
  font-weight: bold; }

.help-container > a.help {
  cursor: pointer;
  margin-left: 5px;
  color: gray; }

.help-container > a.help:hover {
  color: black; }

.flex-holder {
  display: flex !important;
  /*> * > button {
        margin-top:0;
        margin-bottom:0;
    }*/ }
  .flex-holder > .flex-left, .flex-holder > .flex-right {
    display: flex;
    flex-basis: 100%;
    flex: 1;
    align-content: center; }
  .flex-holder > .flex-left {
    justify-content: flex-start; }
  .flex-holder > .flex-right {
    justify-content: flex-end; }

:not(.flex-holder) > .flex-right {
  display: flex;
  justify-content: flex-end;
  /*> button {
        margin-top:0;
        margin-bottom:0;
    }*/ }

.usa-additional_text {
  float: right;
  font-style: italic;
  margin-left: 10px; }

.form-row:after,
.clearfix {
  content: "";
  display: table;
  clear: both; }

@media screen and (min-width: 768px) {
  .container.bccu {
    max-width: 1200px; } }

@media screen and (min-width: 992px) {
  .container.bccu {
    max-width: 1200px; } }

@media screen and (min-width: 1200px) {
  .container.bccu {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto; } }

html.ie11 {
  overflow-y: scroll; }

html, body {
  height: 100%; }

#ui {
  min-height: 100%;
  position: relative; }

form button[type=submit] {
  display: inline-block; }

.body-content.no-popup {
  padding-bottom: 87px; }

header {
  position: relative; }

body #environment {
  position: fixed;
  bottom: 39%;
  right: 35%;
  opacity: 0.1;
  z-index: -1;
  color: red;
  -webkit-transform: rotate(321deg);
  -moz-transform: rotate(321deg);
  -o-transform: rotate(321deg);
  writing-mode: lr-tb;
  font-weight: bold;
  font-size: 10rem; }

header.environment {
  color: red; }

footer {
  position: absolute;
  height: 87px;
  bottom: 0;
  width: 100%; }

.header_version {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0 5px 0 0;
  color: black;
  font-size: .8em;
  font-style: italic; }

legend {
  font-size: inherit;
  font-weight: inherit; }

section.active > h3:hover {
  background-color: #f1f1f1; }

section.error.active > h3:hover {
  background-color: #f9dede; }

section.error > h3 {
  background-color: #f9dede; }

.wizard.wizard-mode-accordion section.error,
.wizard.wizard-mode-accordion section.error + .wizard-nav-button {
  border-color: #f9dede; }

#ui > .usa-alert {
  margin: 10px; }

.usa-alert {
  position: relative;
  margin-bottom: 20px;
  min-height: 75px; }
  .usa-alert::before {
    background-color: #8b8b8b;
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 1rem; }

.usa-alert-success::before {
  background-color: #2e8540; }

.usa-alert-warning::before {
  background-color: #fdb81e; }

.usa-alert-error::before {
  background-color: #e31c3d; }

.usa-alert-info::before {
  background-color: #02bfe7; }

td > input[type='checkbox'] + label,
td > input[type='radio'] + label {
  margin-top: 0; }

input[type='checkbox'],
input[type='radio'] {
  height: 0;
  position: relative;
  display: block;
  margin-left: 0; }

td > input[type='checkbox'],
td > input[type='radio'] {
  position: absolute; }

button:disabled {
  background-color: #d6d7d9;
  color: #323a45;
  pointer-events: none; }

.user-info {
  position: absolute;
  color: black;
  border-left: solid 1px black;
  text-align: right;
  top: 46px;
  right: 0;
  min-width: 100px;
  height: 75px;
  padding: 3px 5px; }
  .user-info a:visited,
  .user-info a:active {
    color: black; }

[type="checkbox"]:disabled:checked + label::before,
[type="radio"]:disabled:checked + label::before {
  background: gray;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px gray;
  /*box-shadow: 0 0 0 1px #aeb0b5;*/
  cursor: not-allowed; }

[type="checkbox"]:disabled:checked + label::before {
  background-image: url(../node_modules/uswds/dist/img/correct8.png);
  background-image: url(../node_modules/uswds/dist/img/correct8.svg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-color: gray; }

a {
  cursor: pointer; }

fieldset.fieldset_bordered {
  border: solid 1px gray;
  padding: 10px 20px;
  margin-bottom: 20px; }

fieldset.fieldset_bordered > legend {
  margin-left: 15px;
  font-weight: bold; }

fieldset.fieldset_bordered > legend + * fieldset {
  margin-top: 0; }

.dynamic-lookup > .dynamic-lookup__progress-bar {
  display: none;
  height: 4.4rem;
  margin: 0.2em 0; }

.dynamic-lookup > * {
  display: block; }

.dynamic-lookup.loading > .dynamic-lookup__progress-bar,
.dynamic-lookup.loading > label {
  display: block !important; }

.dynamic-lookup.loading > * {
  display: none !important; }

.loader {
  border: 16px solid #f3f3f3;
  border-radius: 50%;
  border-top: 16px solid #3498db;
  width: 120px;
  height: 120px;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
  margin: 0 auto; }

.loader > * {
  visibility: hidden; }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg); } }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

/* END PAGE SPECIFIC STUFF - JUST FOR PROTO SPEED */
.spinner {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 11em;
  height: 11em;
  border-radius: 50%;
  background: #ffffff;
  background: -moz-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -webkit-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -o-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: -ms-linear-gradient(left, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  background: linear-gradient(to right, #ffffff 10%, rgba(255, 255, 255, 0) 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0); }

.spinner:before {
  width: 50%;
  height: 50%;
  background: #ffffff;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: ''; }

.spinner:after {
  background: #0dc5c1;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0; }

@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.progress-bar {
  background-color: #f2f2f2;
  border: 1px solid gainsboro;
  border-radius: 3px;
  box-shadow: inset 0 0 3px 0 rgba(115, 115, 115, 0.15);
  height: 30px;
  margin: 0 auto;
  padding: 2px;
  width: 100%; }
  .progress-bar > span.meter {
    animation: progress 0.7s linear infinite;
    background-color: #477DCA;
    background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%);
    background-repeat: repeat-x;
    background-size: 40px 40px;
    border: 1px solid #2c5999;
    border-radius: 2px;
    box-sizing: border-box;
    display: block;
    height: 100%;
    width: 60%; }

@-webkit-keyframes progress {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 40px 0; } }

@-moz-keyframes progress {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 40px 0; } }

@-ms-keyframes progress {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 40px 0; } }

@-o-keyframes progress {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 40px 0; } }

@keyframes progress {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 40px 0; } }

.source-record_disabled {
  border-style: dashed;
  border-width: 6px;
  border-color: #e59393; }

button:last-child, input[type='button']:last-child, input[type='submit']:last-child {
  margin-right: 0; }

.usa-input-error {
  margin-top: 0; }
