/* https://stackoverflow.com/questions/41377501/how-to-vertically-align-bootstrap-v4-modal-dialogs */
.modal-dialog {
  min-height: calc(100vh - 60px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: visible; }
  @media (min-width: 576px) {
    .modal-dialog:not(.modal-sm):not(.modal-lg) {
      max-width: 570px; }
    .modal-dialog.confirmation-alert {
      max-width: 380px;
      font-size: 16px; } }
  @media (max-width: 991.98px) {
    .modal-dialog {
      min-height: calc(100vh - 20px); } }

.modal-header, .modal-footer {
  padding: 16px 24px; }

.modal-header {
  border-bottom: 0; }
  .modal-header .close {
    z-index: 1;
    /* in order for its outline to sit above other content when it receives focus */
    font-size: 1.85rem;
    font-weight: 400;
    line-height: .75;
    padding: 16px 24px;
    margin: -16px -24px -16px auto; }

.modal-title-centered {
  width: 100%;
  text-align: center;
  margin-right: -35px; }

.modal-body {
  padding: 24px 24px 8px; }
  .modal-body .modal-title {
    margin-top: 29px; }
  .modal-body .modal-title + form {
    margin-top: 42px; }
  .modal-body .ideascale-form-action-bar {
    margin-top: 28px; }
  .modal-header + .modal-body {
    padding-top: 8px; }

.modal.show + .modal-backdrop + .modal.show > .modal-dialog {
  padding-left: 10px;
  padding-right: 10px; }

.modal-footer {
  border-top: 0; }
  .modal-footer > * {
    margin: 0; }
  .modal-footer .btn.btn-cancel {
    margin-right: 10px; }

.modal-backdrop {
  transition: none !important; }

.alert-fix-top {
  position: fixed;
  left: 0;
  right: 0;
  top: 38px;
  z-index: 9999; }

.alert {
  border: 0;
  padding: 15px; }
  .alert.alert-popup {
    text-align: center;
    font-size: 16px;
    border-radius: 0;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.15); }
  .alert.alert-danger {
    color: #611A15;
    background: #FDECEA; }
    .alert.alert-danger .close {
      color: #611A15; }
    .alert.alert-danger a, .alert.alert-danger .alert-link {
      color: #611A15;
      font-weight: bold; }
  .alert.alert-warning {
    color: #663C00;
    background: #FFF4E5; }
    .alert.alert-warning .close {
      color: #663C00; }
    .alert.alert-warning a, .alert.alert-warning .alert-link {
      color: #663C00;
      font-weight: bold; }
  .alert.alert-info {
    color: #0D3C61;
    background: #E8F4FD; }
    .alert.alert-info .close {
      color: #0D3C61; }
    .alert.alert-info a, .alert.alert-info .alert-link {
      color: #0D3C61;
      font-weight: bold; }
  .alert.alert-success {
    color: #1E4620;
    background: #EDF7ED; }
    .alert.alert-success .close {
      color: #1E4620; }
    .alert.alert-success a, .alert.alert-success .alert-link {
      color: #1E4620;
      font-weight: bold; }
  .alert a:hover, .alert a:focus, .alert-link:hover, .alert-link:focus {
    text-decoration: underline; }
  .alert .is-icon {
    margin-right: 12px; }
  .alert .close {
    font-weight: 400;
    opacity: 1; }
  .alert.alert-dismissible .close {
    position: static;
    padding: 0 0 0 10px; }

.tag {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding-left: 12px;
  padding-right: 12px;
  font-size: 12px;
  border-radius: 12px;
  color: #333;
  border: 1px solid #999;
  margin-bottom: 12px; }
  .tag-label {
    white-space: nowrap;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis; }
  .tag .close {
    font-size: 1rem;
    padding-left: 5px; }
  .tag-badge {
    position: absolute;
    left: 100%;
    top: -12px;
    display: inline-block;
    height: 22px;
    min-width: 22px;
    padding: .143rem .286rem .214rem;
    margin-left: -14px;
    background-color: #2483cb;
    color: white;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.35;
    border: 2px solid white;
    border-radius: 21px;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline; }
  .tag + .tag {
    margin-left: 10px; }
  .tag.with-badge + .tag {
    margin-left: 18px; }
  a.tag {
    text-decoration: none;
    color: #333333; }
    a.tag:hover, a.tag:focus, a.tag:active {
      border-color: #2483cb; }
  .tag.active {
    border-color: #2483cb; }

.avatar {
  border-radius: 50%; }
  .avatar-sm {
    width: 30px;
    height: 30px; }
  .avatar-md {
    width: 60px;
    height: 60px; }
  .avatar-lg {
    width: 102px;
    height: 102px; }

.infotip {
  color: #333;
  cursor: pointer;
  text-decoration: none; }
  .infotip:hover, .infotip:focus {
    color: #333;
    text-decoration: none; }

.infotip-container .popover, .infotip-container.popover {
  background: #000000;
  color: white;
  border-color: #000000; }
  .infotip-container .popover .popover-header, .infotip-container .popover .popover-title, .infotip-container.popover .popover-header, .infotip-container.popover .popover-title {
    padding: 0.75rem 1rem 0;
    background: #000000;
    font-size: 16px;
    border-bottom: 0; }
  .infotip-container .popover .popover-body, .infotip-container .popover .popover-content, .infotip-container.popover .popover-body, .infotip-container.popover .popover-content {
    color: white;
    font-size: 14px;
    padding: 0.75rem 1rem; }
    .infotip-container .popover .popover-body a, .infotip-container .popover .popover-content a, .infotip-container.popover .popover-body a, .infotip-container.popover .popover-content a {
      color: #f5f5f5;
      text-decoration: underline; }
      .infotip-container .popover .popover-body a:hover, .infotip-container .popover .popover-body a:focus, .infotip-container .popover .popover-content a:hover, .infotip-container .popover .popover-content a:focus, .infotip-container.popover .popover-body a:hover, .infotip-container.popover .popover-body a:focus, .infotip-container.popover .popover-content a:hover, .infotip-container.popover .popover-content a:focus {
        color: white; }
  .infotip-container .popover[x-placement^="right"] > .arrow:after, .infotip-container .popover.right > .arrow:after, .infotip-container.popover[x-placement^="right"] > .arrow:after, .infotip-container.popover.right > .arrow:after {
    border-right-color: #000000; }
  .infotip-container .popover[x-placement^="left"] > .arrow:after, .infotip-container .popover.left > .arrow:after, .infotip-container.popover[x-placement^="left"] > .arrow:after, .infotip-container.popover.left > .arrow:after {
    border-left-color: #000000; }
  .infotip-container .popover[x-placement^="top"] > .arrow:after, .infotip-container .popover.top > .arrow:after, .infotip-container.popover[x-placement^="top"] > .arrow:after, .infotip-container.popover.top > .arrow:after {
    border-top-color: #000000; }
  .infotip-container .popover[x-placement^="bottom"] > .arrow:after, .infotip-container .popover.bottom > .arrow:after, .infotip-container.popover[x-placement^="bottom"] > .arrow:after, .infotip-container.popover.bottom > .arrow:after {
    border-bottom-color: #000000; }

.checkbox-btn-group .btn {
  text-align: left;
  margin-bottom: 0.8em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }
  .checkbox-btn-group .btn > input[type="checkbox"] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none; }
  .checkbox-btn-group .btn.btn-tag {
    position: relative;
    font-size: 14px;
    font-weight: 400;
    border-radius: 4px;
    color: #333;
    border: none;
    background-color: #E8E8E8;
    box-shadow: none;
    padding: 8px 20px;
    margin-right: 10px;
    height: 36px;
    max-width: 320px; }
    .checkbox-btn-group .btn.btn-tag.checkbox-btn-sm {
      height: 32px;
      padding: 6px 16px;
      margin-left: 0; }
    .checkbox-btn-group .btn.btn-tag .check-mark {
      background: #666;
      height: 10px;
      position: relative;
      width: 2px;
      display: inline-block;
      margin-left: 3px;
      margin-right: 10px; }
      .checkbox-btn-group .btn.btn-tag .check-mark:after {
        background: #666;
        content: "";
        height: 2px;
        left: -4px;
        position: absolute;
        top: 4px;
        width: 10px; }
    .checkbox-btn-group .btn.btn-tag input[type='checkbox']:checked ~ .check-mark {
      background-color: transparent;
      border-color: transparent; }
      .checkbox-btn-group .btn.btn-tag input[type='checkbox']:checked ~ .check-mark:after {
        display: block;
        content: "";
        top: -2px;
        left: -2px;
        width: 6px;
        height: 12px;
        border: solid #1A68A4;
        border-width: 0 2px 2px 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        background: transparent; }
    .checkbox-btn-group .btn.btn-tag:active, .checkbox-btn-group .btn.btn-tag.active {
      color: #1A68A4;
      border: none;
      background-color: #BBE9FB; }

.btn {
  padding: 6px 16px;
  font-weight: 700;
  border-radius: 4px; }
  .btn.btn-primary {
    background-color: #2483CB;
    border-color: #2483CB; }
    .btn.btn-primary:not(:disabled):not(.disabled):hover, .btn.btn-primary:not(:disabled):not(.disabled):focus, .btn.btn-primary:not(:disabled):not(.disabled):active, .btn.btn-primary:not(:disabled):not(.disabled).active {
      background-color: #18598a;
      border-color: #18598a; }
  .btn.btn-secondary {
    background-color: #E8F4FD;
    border-color: #E8F4FD;
    color: #2483CB; }
    .btn.btn-secondary:not(:disabled):not(.disabled):hover, .btn.btn-secondary:not(:disabled):not(.disabled):focus, .btn.btn-secondary:not(:disabled):not(.disabled):active, .btn.btn-secondary:not(:disabled):not(.disabled).active {
      background-color: #a2d2f7;
      border-color: #a2d2f7;
      color: #18598a; }
  .btn.btn-dark {
    background-color: #333;
    border-color: #333; }
    .btn.btn-dark:not(:disabled):not(.disabled):hover, .btn.btn-dark:not(:disabled):not(.disabled):focus, .btn.btn-dark:not(:disabled):not(.disabled):active, .btn.btn-dark:not(:disabled):not(.disabled).active {
      background-color: #0d0d0d;
      border-color: #0d0d0d; }
  .btn.btn-light {
    background-color: #f5f5f5;
    border-color: #f5f5f5;
    color: #333; }
    .btn.btn-light:not(:disabled):not(.disabled):hover, .btn.btn-light:not(:disabled):not(.disabled):focus, .btn.btn-light:not(:disabled):not(.disabled):active, .btn.btn-light:not(:disabled):not(.disabled).active {
      background-color: #cfcfcf;
      border-color: #cfcfcf;
      color: #0d0d0d; }
  .btn.btn-danger {
    background-color: #F44336;
    border-color: #F44336; }
    .btn.btn-danger:not(:disabled):not(.disabled):hover, .btn.btn-danger:not(:disabled):not(.disabled):focus, .btn.btn-danger:not(:disabled):not(.disabled):active, .btn.btn-danger:not(:disabled):not(.disabled).active {
      background-color: #d2190b;
      border-color: #d2190b; }
  .btn.btn-warning {
    background-color: #FF9800;
    border-color: #FF9800; }
    .btn.btn-warning:not(:disabled):not(.disabled):hover, .btn.btn-warning:not(:disabled):not(.disabled):focus, .btn.btn-warning:not(:disabled):not(.disabled):active, .btn.btn-warning:not(:disabled):not(.disabled).active {
      background-color: #b36a00;
      border-color: #b36a00; }
  .btn.btn-success {
    background-color: #4CAF50;
    border-color: #4CAF50; }
    .btn.btn-success:not(:disabled):not(.disabled):hover, .btn.btn-success:not(:disabled):not(.disabled):focus, .btn.btn-success:not(:disabled):not(.disabled):active, .btn.btn-success:not(:disabled):not(.disabled).active {
      background-color: #357a38;
      border-color: #357a38; }
  .btn.btn-cancel {
    color: #666; }
    .btn.btn-cancel:not(:disabled):not(.disabled):hover, .btn.btn-cancel:not(:disabled):not(.disabled):focus, .btn.btn-cancel:not(:disabled):not(.disabled):active, .btn.btn-cancel:not(:disabled):not(.disabled).active {
      color: #404040; }
  .btn.btn-xs {
    font-size: 12px;
    padding: 5px 9px; }
  .btn.btn-sm {
    font-size: 12px;
    padding: 5px 16px; }
  .btn.btn-lg {
    font-size: 14px;
    padding: 6px 30px; }
  .btn.btn-xl {
    font-size: 16px;
    padding: 8px 40px; }

.select2-container .select2-selection {
  border-radius: 4px;
  border: 0;
  background-color: #F0F2F5;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.025); }
  .form-control-alt ~ .select2-container .select2-selection {
    background-color: white;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1); }

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: 0; }

.form-control {
  background-color: #F0F2F5;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.025);
  border: 0;
  border-radius: 4px; }
  .form-control:focus {
    background-color: #F0F2F5; }
  .form-control.form-control-alt {
    background-color: white;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1); }
    .form-control.form-control-alt:focus {
      background-color: white; }
  .form-control::placeholder {
    color: #999; }

.has-error .control-label, .has-error .help-block {
  color: #F44336; }

.has-error .form-control {
  border: 1px solid #F44336;
  background-color: rgba(244, 67, 54, 0.02);
  box-shadow: none; }

.is-invalid {
  background-color: rgba(244, 67, 54, 0.02);
  border: 1px solid #F44336 !important;
  box-shadow: none; }

.is-invalid-label, .invalid-feedback {
  color: #F44336; }

.flatpickr-calendar {
  border-radius: 4px !important; }
  .flatpickr-calendar .flatpickr-months {
    border-bottom: 1px solid #e6e6e6;
    padding-bottom: 5px; }
    .flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
    .flatpickr-calendar .flatpickr-months .flatpickr-next-month {
      padding: 7px 10px; }
      .flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg,
      .flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg {
        fill: #2483CB; }
    .flatpickr-calendar .flatpickr-months .flatpickr-current-month {
      padding-bottom: 6px; }
      .flatpickr-calendar .flatpickr-months .flatpickr-current-month .flatpickr-monthDropdown-months {
        appearance: none;
        -webkit-appearance: none;
        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACqSURBVHgBnVHBCcQgENwcaSKQvJMG8kgaSD3BOgTfVqD2IfYhFqAV7J3CSdSDy92AILPDzjDb4QvwBY+akFK2KrxAa43DMCDn/EpjIVrXNYmWZUHvfeazHaUUnHPpH0KA8zxLO2tt2lC/aB/RR6FSCrZta/JGft936P6q4BP6d2hjTDMcxxEYY/eCJ7tpmoAQUmw5jiOFzhXUZc7zXJT5+1kihBA1hbd6egKhGOlgZIaD6AAAAABJRU5ErkJggg==") !important;
        background-repeat: no-repeat !important;
        background-position: 102px 2px !important;
        padding-right: 20px; }
        .flatpickr-calendar .flatpickr-months .flatpickr-current-month .flatpickr-monthDropdown-months:hover {
          background: transparent; }
  .flatpickr-calendar .numInputWrapper:hover {
    background: transparent; }
  .flatpickr-calendar .flatpickr-day {
    border-radius: 4px;
    margin-top: 0.175rem;
    margin-bottom: 0.175rem; }
  .flatpickr-calendar .flatpickr-day.selected,
  .flatpickr-calendar .flatpickr-day.startRange,
  .flatpickr-calendar .flatpickr-day.endRange,
  .flatpickr-calendar .flatpickr-day.selected.inRange,
  .flatpickr-calendar .flatpickr-day.startRange.inRange,
  .flatpickr-calendar .flatpickr-day.endRange.inRange,
  .flatpickr-calendar .flatpickr-day.selected:focus,
  .flatpickr-calendar .flatpickr-day.startRange:focus,
  .flatpickr-calendar .flatpickr-day.endRange:focus,
  .flatpickr-calendar .flatpickr-day.selected:hover,
  .flatpickr-calendar .flatpickr-day.startRange:hover,
  .flatpickr-calendar .flatpickr-day.endRange:hover,
  .flatpickr-calendar .flatpickr-day.selected.prevMonthDay,
  .flatpickr-calendar .flatpickr-day.startRange.prevMonthDay,
  .flatpickr-calendar .flatpickr-day.endRange.prevMonthDay,
  .flatpickr-calendar .flatpickr-day.selected.nextMonthDay,
  .flatpickr-calendar .flatpickr-day.startRange.nextMonthDay,
  .flatpickr-calendar .flatpickr-day.endRange.nextMonthDay {
    background: #2483CB;
    border-color: #2483CB; }

.input-group .form-control {
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1); }

.classic-link {
  color: #0000EE !important; }
  .classic-link:visited, .classic-link:active {
    color: #551A8B !important; }

.action-link {
  color: #666 !important;
  text-decoration: none; }
  .action-link:hover, .action-link:focus {
    text-decoration: none; }
  .action-link.disable {
    pointer-events: none;
    cursor: default; }
