/**
 * Common CSS declarations that are used site-wide
 */
input[type="checkbox"],
input[type="radio"] {
  cursor: pointer;
}
input[type='number'] {
    -moz-appearance: textfield;
    -webkit-appearance: none;
}
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
    -webkit-appearance: none;
}
.btn-table {
  margin-bottom: -6px;
  margin-top: -10px;
}
.dropdown-toggle::after {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent;
}
.modal-buttons {
  display: flex;
  justify-content: space-between;
}
.list-inline-bulleted {
  font-size: 18px;
}
.list-inline-bulleted > li {
  white-space: nowrap;
}
.list-inline-bulleted > li:not(:last-child):after {
  content: "\2022";
  margin-left: 12px;
}
.margin-left-15 {
  margin-left: 15px;
}
.margin-left-10 {
  margin-left: 10px;
}
.margin-left-5 {
    margin-left: 5px;
}
.margin-left-20 {
  margin-left: 20px;
}
.margin-left-25 {
  margin-left: 25px;
}
.margin-left-30 {
  margin-left: 30px;
}
.no-margin {
  margin: 0 !important;
}
.no-padding {
  padding: 0;
}

.vertical-align-middle {
  vertical-align: middle !important;
}
.pointer {
    cursor: pointer
}
.pointer-default {
    cursor: default
}

a.functional-link, button.functional-link {
  background-color: inherit;
  border: transparent;
  cursor: pointer;
  color: inherit;
  margin: 0;
  text-decoration: inherit;
  text-transform: inherit;
  display: inline;
}
.table-striped .functional-link {
  background-color: transparent;
  display: inline;
}

.big-text {
    font-size: 250%
}

/* Bootstrap overrides */
.form-control {
  transition: none;
}

.file-management-form-control {
  /* Override Bootstrap form-control styling for file management */
  height: inherit;
  border: inherit;
  box-shadow: inherit;
  padding: inherit;
  background-color: inherit;
}


.file-management-form-control {
  /* Override Bootstrap form-control styling for file management */
  height: inherit;
  border: inherit;
  box-shadow: inherit;
  padding: inherit;
  background-color: inherit;
}

.anchor:before {
    content: '';
    display: block;
    position: relative;
    width: 0;
    /* this is roughly the height of the header + 20 ish pixels */
    height: 116px;
    margin-top: -116px;
}

/* Style backend validation errors */
.backend-error {
    display: block;
    margin-bottom: 10px;
    margin-top: 5px;
}
.is-invalid .backend-error {
    color: #a94442;
}
.is-valid .backend-error {
    color: #3c763d;
}

.link-with-view:after {
  content: "(click here to view)";
  text-decoration: underline;
}

/* lha help page css */
.help-collapsible {
  align-items: center;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  color: #000000;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  font-size: 18px;
  outline: none;
  padding: 3px 18px;
  text-align: left;
  width: 100%;
  margin-bottom: 1rem;
}
.help-collapsible:hover {
  background-color: #eeeeee;
}
.help-content { /* styling of entries hidden on faq pages.*/
  padding: 0 18px;
  display: none;
  overflow: hidden;
}
.help-collapsible:before {
  content: "\ff0b"; /* plus sign */
  margin-right: 10px;
}
.help-active:before {
  content: "\2013"; /* en dash */
}
.blank-help-spacer {
  margin-top: 40px;
}
.help-links {
  margin: 10px 10px 20px 10px;
}
.help-page-title{
  margin-bottom: 20px;
}
#check-the-system {
    height: 75px;
    color: white;
    font-size: 200%;
}
@media (max-width: 400px) {
  /* Center the captcha on small screens
     The captcha has width 304, plus the bootstrap padding of 15 pixels on each side, giving 334px total
     width. Half of this is 167px, so that's how far from the left the captcha should be. */
  .captcha {
    padding: 0;
    position: relative;
    left: calc(50vw - 167px);
  }
}

.pale-gray-background {
    background-color: #f5f5f5;
}

.light-gray-background{
    background-color: #DDDDDD;
}
.gray-background{
    background-color: #707070;
}
.blue-background{
    /* bay blue 10% tint */
    background-color: #2C669A;
}
.white-background {
    background-color: white;
}

/* Banners that go on every page */
.red-banner {
  color: #ffffff;
  background-color: #CD0D0D; /* Mayflower $c-error-red */
  padding-top: 8px;
  padding-bottom: 8px;
  width: 100%;
}
.red-banner h1 {
  color: #ffffff;
}
.downtime-banner {
  color: #ffffff;
  background-color: #ffc600;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 100%;
}
.downtime-banner p {
  color: #000000;
  font-size: 16px;
  font-weight: 800;
  text-align: center;
}
.application-changes-banner {
  color: #000000;
  background-color: #dff0d8;
  padding-top: 20px;
  padding-bottom: 12px;
  width: 100%;
}
.application-changes-banner p {
  font-size: 21px;
  font-weight: 600;
  text-align: center;
}
.staff-updates-banner {
  color: #000000;
  background-color: #dff0d8;
  padding-top: 20px;
  padding-bottom: 12px;
  width: 100%;
}
.staff-updates-banner p {
  font-size: 18px;
  text-align: center;
}
.new-training-banner {
    background-color: #dff0d8;
    color: black;
    width: 100%;
    text-align: center;
    font-size: 18px;
    padding-top: 5px;
    padding-bottom: 5px;
}
.unsupported-browser-banner {
    background-color: white;
    color: red;
    width: 100%;
    text-align: center;
    font-size: 18px;
    padding-top: 12px;
    padding-bottom: 12px;
}
.boston-selections-banner {
  color: #000000;
  background-color: #dff0d8;
  padding-top: 20px;
  padding-bottom: 12px;
  width: 100%;
}
.boston-selections-banner p {
    font-size: 21px;
    text-align: center;
    font-weight: 600;
}
.flex-between-center {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.one-third {
  display: inline-block;
  width: 32%;
  vertical-align: middle;
}

.button-container {
    overflow: auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

/* Semantic badges using Mayflower colors */
.badge, .badge-default {
    background-color: #707070;
}
.badge-danger {
  background-color: #cd0d0d;
}
.badge-warning {
  background-color: #f6c51b;
  color: initial; /* contrast ratio */
}
.badge-unread {
  background-color: #E1EDE2;
  color: initial;
}
.badge-success {
    background-color: #388557;
}
/* This badge doesn't use Mayflower */
.badge-green {
    background-color: #2e9994;
  }
.badge-danger {
    background-color: #C60000;
  }

.bottom-spacing {
    height: 100px;
}
.list-group.aligned {
    padding-left: 12px;
}
.dashboard-tile {
  border: 1px solid #dddddd;
  border-radius: 10px;
  margin-bottom: 15px;
  padding: 15px;
}

.shadow_box {
  background-color: #fff;
  border: solid 1px #ccc;
  border-radius: 3px;
  box-shadow: 2px 2px 6px #ccc;
  margin-top: 20px;
  padding: 15px 20px;
}
.d-flex {
    display: flex;
}
.d-inline {
  display: inline;
}
.flex-grow-1 {
    flex: 1;
}
.flex-shrink-0 {
  flex-shrink: 0; 
}
.flex-column {
    flex-direction: column;
}
.justify-content-start {
    justify-content: start;
}
.justify-content-end {
    justify-content: end;
}
.justify-content-between {
    justify-content: space-between;
}
.align-items-center {
    align-items: center;
}
.align-self-end {
	align-self: flex-end;
}
.unbold {
    font-weight: normal;
}
.member-list {
    display: inline;
    font-weight: 700;
    margin-right: 5px;
}
/* File Upload For Drag and Drop */
.file-upload-img {
    display: block;
    font-size: 50px;
    margin-bottom: 10px;
}
.file-upload-block {
    text-align: center;
    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 10px;
    border: 1px dashed #000;
}
.list_pull_header_lead {
    font-size: 16px;
    font-weight: 300;
}
.alert-warning {
    color: var(--bs-warning-text-emphasis);
    background-color: var(--bs-warning-bg-subtle);
    border-color: var(--bs-warning);
}
.certified-and-signed-button {
    width: 242px;
    height: 35px;
}
.certified-and-signed-field {
    margin-left: 20px;
}
.certified-and-signed-row {
    display: flex;
    justify-content: end;
    margin-left: 10px !important;
    margin-right: 30px !important;
}
.certified-and-signed-row>*:first-child {
    margin-right: auto;
}
#applicant-certified-and-signed-tile .btn.btn-primary {
    margin-top: 0 !important;
}

.remove-file-button {
  background: transparent;
  color: #0f0f0f;
  border: none;
  margin: 0;
}

.remove-file-button:hover {
  color: #505050;
}


#unsupported_browser_banner {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body.unsupported > :not(#unsupported_browser_banner) {
    display: none;
}

.tooltip {
    white-space: pre-line;
    min-width: 200px;
}

.negative-margin {
    margin-top: -10px;
}

#feature-alert-content .modal-content .modal-body {
    font-size: 1.75rem;
}
