html.staging {
    border-top: solid red 10px;
}
#staging_environment {
    color: #F84;
    text-align: center;
    font-style: italic;
}

body {
    background: #ccc;
}

* {
  box-sizing: content-box;
}

body div.hidden {
  display: none;
}
div.field:not([class*="filter"]), div.inline_input, div.field-group {
  margin-bottom: 20px;
}
body.popup {
    background: white;
}
body, td, th, li, dt, dd, p {
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px;
    line-height: 1.4;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  font-family: 'Roboto', sans-serif !important;
}
input, input[type=button], button, select, option, textarea, body#tinymce  li, body#tinymce  dt, body#tinymce  dd, body#tinymce  p {
    font-size: 13px;
    font-family: 'Roboto', sans-serif !important;
}
body#tinymce {
  background: white;
}
.mce-restore-button button.is_draft {
  color: #333 !important;
}

input[type=text].wide {
  width: 837px;
}
textarea {
  max-width: 835px;
  width: 100%;
}
textarea {
  height: 300px;
}
textarea.low {
  height: 100px;
}
textarea.fixed-width {
    font-family: courier;
}
body.mceContentBody {
    background: white;
}
p {
    margin: 0 0 1em 0;
}

body.admin #footer {
    clear: both;
}

hr {
    clear: both;
}
hr.group_separator {
  width: 100%;
  clear: both;
  float: left;
  border-top: 1px solid #8e8e8e;
  border-bottom: 0;
  margin-top: 10px;
  margin-bottom: 20px;
}

br.clear {
    clear: both;
}
.disabled {
    color: #aaa;
}

div.field.check_boxes span.checkbox label {
  font-weight: normal;
}

/* Program category checkboxes - align checkbox to the left of label on the same line - Assets file */
div.field.check_boxes.program_categories span.checkbox input[type="checkbox"],
div.field.check_boxes.program_category_ids span.checkbox input[type="checkbox"],
div.field.check_boxes.document_program_categories span.checkbox input[type="checkbox"],
div.field.check_boxes.page_program_categories span.checkbox input[type="checkbox"],
#program_category_ids span.checkbox input[type="checkbox"] {
  margin-right: 8px;
  margin-top: 0;
  margin-bottom: 0;
}

div.field.check_boxes.program_categories span.checkbox label,
div.field.check_boxes.program_category_ids span.checkbox label,
div.field.check_boxes.document_program_categories span.checkbox label,
div.field.check_boxes.page_program_categories span.checkbox label,
#program_category_ids span.checkbox label {
  margin: 0;
  display: flex;
  align-items: center;
}

/* for simple_form, otherwise required labels asterisk is underlined */
abbr {
    border: medium none;
    text-decoration: none;
}

.bold-text {
  font-weight: bold;
}

/* flash */
#flash {
  font-style: normal;
  margin-bottom: 10px;
}
#flash div {
  font-weight: normal;
}
#flash div.notice {
  color: green;
  display: list-item;
  list-style-type: disc;
  list-style-position: inside;
}
#flash div.notice .error, #flash div.notice .errors, #flash div.error {
  color: red;
  display: list-item;
  list-style-type: disc;
  list-style-position: inside;
}

/* forms */
  form label {
      display: block;
      margin-top: .5em;
      font-weight: normal;
  }
  .error_message {
      color: red;
  }
  form .field_with_errors {
      display: inline;
  }
  form input.submit, form button.submit {
      display: block;
      margin-top: 0.5em;
      margin-right: 0.5em;
      font-weight: bold;
      -webkit-appearance: button;
  }
  a.button-to {
      text-decoration: none;
  }
  .button-to, .button-to div {
      display: inline;
      font-size: 13px;
  }
  .button-to img {
      border: none;
  }
  .mceEditor {
      display: block;
  }

  .mce_toggle_editor_button {
      font-size: small;
      color: #888;
  }

  form div.actions input {
      margin-top: 0;
      float: left;
  }

  form div.actions select {
      margin-top: 0;
      margin-right: 4px;
      padding: 1px;
      float: left;
  }

  form div.actions {
      margin-top: 1.5em;
      clear: both;
  }
        form .secondary-info {
                color: #999;
                font-size: 11px;
                font-weight: normal;
        }

  .with-explanation {
      border-bottom: 1px dashed #888;
  }

  .field-with-explanation {
      max-width: 50em;
  }

  .hidden_submit {
      display: none;
  }

/* tables */
  body.admin table.list, body.admin table.index {
      width: 100%;
      border-collapse: collapse;
      margin-bottom: 14px;
      border-bottom: solid black 1px;
  }
  body.admin table.list tr.odd, body.admin table.index tr.odd, .row.odd {
      background: #eee;
  }
  body.admin table.list td, body.admin table.list th, body.admin table.index td, body.admin table.index th {
      padding: 4px;
  }
  body.admin table.list tr.header th, body.admin table.list thead th, body.admin table.index tr.header th, body.admin table.index thead th {
      border-bottom: solid black 1px;
      text-align: left;
      vertical-align: bottom;
  }
  body.admin table.list th.integer, body.admin table.index th.integer, body.admin table.list td.integer, body.admin table.index td.integer {
      width: 5em;
      text-align: right;
  }
  body.admin table.list th.boolean, body.admin table.index th.boolean {
      width: 4em;
  }
  body.admin table.list th.date, body.admin table.index th.date {
      width: 6em;
  }
  body.admin table.list th.datetime, body.admin table.index th.datetime {
      width: 18em;
  }
  body.admin table.list th.actions, body.admin table.index th.actions {
      width: 10em;
  }
  body.admin table.list td.actions div {
    display:inline;
  }
  body.admin-programs textarea {
    height: 60px;
  }
  body.admin-programs textarea#program_short_description {
    height: auto;
  }
  body.admin-programs th.name,
  body.admin-programs td.name {
      white-space: nowrap;
  }
  .generic-index .actions {
      margin-bottom: 1em;
  }
  .generic-index .actions form.search, body.index form.search {
      float: right;
  }
  tr.no-records {
      font-style: italic;
      text-align: center;
  }

  td.level-2 a {
      padding-left: 20px;
  }

  td.level-3 a {
      padding-left: 40px;
  }

/* menu */
  body.admin #header div.menu {
      position: relative;
  }
  body.admin #header div.menu-depth-1 {
      height: 30px;
  }
  body.admin #header div.menu-depth-1 ul.menu {
      border: none;
  }
  body.admin #header div.menu-depth-2 ul.menu ul {
      border: none;
  }
  body.admin #header div.menu-depth-2 {
      height: 64px;
  }
  body.admin #header ul.menu {
      position: relative;
      width: 100%;
      height: 26px;
      margin: 0;
      padding: 2px 0;
      list-style: none;
  }
  body.admin #header ul.menu ul {
      position: absolute;
      left: 0;
      top: 34px;
  }
  body.admin #header ul.menu li {
      display: block;
      height: 18px;
      float: left;
      margin: 0 0 0 3px;
      padding: 3px 6px 5px 6px;
      border-radius: 4px 4px 0 0;
      border: solid black 2px;
      border-bottom: none;
      background: white;
  }
  body.admin #header ul.menu li a {
      color: black;
      text-decoration: none;
  }
  body.admin #header ul.menu li a .white-svg {
      display: none;
  }
  body.admin #header ul.menu li.active {
      background: black;
      padding: 1px 8px 7px 8px;
  }
  body.admin #header ul.menu li.active.current .black-svg{
      display: none;
  }
  body.admin #header ul.menu li.active.current .white-svg{
      display: inline-block;
  }

  body.admin #header ul.menu li.active.current span ::before{
    background: url(/../images/menu/icon_lunch_white.svg);
    background-repeat: no-repeat;
    background-size: 17px;
  }
  body.admin #header ul.menu li a.active {
      font-weight: bold;
      font-size: larger;
      color: white;
  }

  body.admin #header div.locales {
    text-align: right;
  }

  body.admin .current_user {
      position: absolute;
      top: 0;
      right: 0;
      margin-bottom: .5em;
      padding: 0;
      width: 300px;
      height: 57px;
      overflow: hidden;
  }

  body.admin .current_user .info {
      text-align: right;
      width: 228px;
      margin: 0;
      padding: 2px;
      overflow: hidden;
      line-height: 10px;
  }
  body.admin .current_user span {
      display: inline;
      font-size: 11px;
  }
  body.admin .current_user span.name {
      font-size: 14px;
  }
  body.admin .current_user a.photo {
      float: right;
      display: block;
      height: 57px;
      width: 57px;
      margin-right: 8px;
      overflow: hidden;
  }
  body.admin .current_user a.photo img {
      border: none;
  }

  body.admin #user-paused {
      background: #fcc;
      border: solid #f88 2px;
      padding: 8px;
      font-size: larger;
      margin: 0 0 1em 0;
  }

  body.admin #content {
      position: relative;
      padding: 20px;
      background: white;
      border: solid black 2px;
      z-index: 1;
  }
  body.admin #content h2 {
      margin: 0 0 8px 0;
  }

/* footer */
  body.admin #footer {
      padding: 8px;
      margin-bottom: 16px;
  }

  body.admin #footer .actions {
    font-size: 12px;
    text-align: right;
    margin-right: auto;
  }

  body.admin #footer .actions a {
    color: black;
  }

  body.admin #footer .version {
      float: right;
      font-size: 9px;
      text-align: right;
  }

  body.admin #footer .copyright {
      float: left;
      font-size: 9px;
      text-align: left;
  }

/* paging */
  .paginate {
      border-top: solid #ccc 1px;
      text-align: center;
  }
  .pagination {
      text-align: right;
      font-size: 12px;
  }

/* general */
  .group_internal {
      font-style: italic;
  }

/* search */
  body.admin-search div.form div.columns div.column {
    float: left;
    width: 265px;
    padding-right: 20px;
    margin-bottom: 1em;
  }
  body.admin-search div.form div.columns div.column.first {
    width: 360px;
  }
  body.admin-search div.columns input, body.admin-search select#user_query_program, body.admin-search select#user_query_program_ids, body.admin-search select#user_query_coach_id, body.admin-search select#user_query_company_id, body.admin-search select#user_query_group_ids, body.admin-search select#user_query_overdue_questionnaire_id {
      width: 100%;
  }
  body.admin-search select#user_query_group_ids,  body.admin-search select#user_query_program_ids {
      height: 155px;
      width: 100%;
  }
  body.admin-search div.columns input.checkbox {
      width: auto;
  }
  body.admin-search div.form div.actions {
      clear: both;
      margin-bottom: 1em;
      padding-bottom: 0.5em;
      text-align: left;
  }
  body.admin-search div#results p {
      clear: both;
      margin: 0;
      padding: 1em 0 0 0;
  }
  body.admin-search table td {
      border: solid black 1px;
  }
  body.admin-search div.form div.date {
      margin-bottom: 0.7em;
  }
  body.admin-search div.form div.date div.field {
    margin-bottom: 10px;
  }
  body.admin-search div.form div.date_range {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  body.admin-search div.form div.date div.date_from {
    display: inline-block;
    margin-right: 7px;
  }
  body.admin-search div.form div.date div.date_from input {
    width: 125px;
  }
  body.admin-search div.form div.date div.date_until {
    display: inline-block;
  }
  body.admin-search div.form div.date div.date_until input {
    width: 125px;
  }
  body.admin-search table.users .toggle, body.admin-search table.users tr.header th.toggle {
      text-align: center;
  }
  body.admin-search table.users .unauthorized .program {
      color: red;
  }
  body.admin-search table.users td.registered_on, body.admin-search table.users td.last_login_on, body.admin-search table.users td.program_start_on {
      text-align: right;
  }
  body.admin-search table.users {
      width: 100%;
  }
  body.admin-search table.users .pending_actions, body.admin-search table.users .unread_messages, body.admin-search table.users .unread_survey_responses {
      width: 2em;
  }
  body.admin-search table.users .days_of_exercise_in_last_month {
      width: 100px;
  }
  body.admin-search table.users .date {
      width: 6em;
  }
  body.admin-search table.users .name {
      width: 150px;
  }
  body.admin-search table.users .membership {
      width: 6em;
  }
  body.admin-search table.users span.archived {
      color: #bbb;
  }
  body.admin-search table.users span.cancelled {
    text-decoration: line-through;
  }
  body.admin-search div#results p {
      width: 80%;
  }
  body.admin-search table.users a.no_action_needed {
    color: #bbb;
    text-decoration: none;
  }

/* users */
  body.admin label {
      font-weight: bold;
  }
  body.admin-users div.columns .column {
      float: left;
      width: 300px;
      background: #fff;
  }
  body.admin-users div.columns div.group {
      width: 280px;
      margin: 0 0 1em 0;
      padding: 0 0 1em 0;
      border-bottom: solid #eee 2px;
      clear: both;
  }
  body.admin-users div.columns input, body.admin-users div.columns select#user_group_ids, body.admin-users div.columns select#program_enrollment_program_id, body.admin-users div.columns select#user_extra_info_attributes_company_id, body.admin-users div.columns select#membership_period_coach_ids, body.admin-users div.columns select.coach, body.admin-users div.columns select.program {
      width: 275px;
  }
  body.admin-users div.columns select#user_group_ids {
      height: 250px
  }
  body.admin-users div.columns input.checkbox {
      width: auto;
  }
  body.admin-users div.columns textarea {
      width: 275px;
      height: 150px;
  }
  body.admin div .dummy {
      width: 270px;
      min-height: 20px;
      padding: 2px 3px;
      border: solid #ddd 1px;
      background: #eee;
  }
  body.admin-users .button-to div {
    float: right;
    margin-right: 10px;
  }
  body.admin-users div.more.actions {
    float:left;
  }
  body.admin-users form div.actions {
    float:right;
    margin-top: 0px;
  }
  body.admin-users form div.actions .submit {
      display: inline;
  }
  body.admin-users #content .photo {
      position: absolute;
      right: 2em;
      z-index: -1;
  }
  body.admin-users-edit form ul {
      margin: 0;
      padding: 0;
  }
  body.admin-users-edit form ul li {
      margin: 0.25em 0 0.25em 1.25em;
      padding: 0;
  }

  body.admin-users-edit div#password_explanation {
    display: none;
  }
  body.admin-users ul.edit-involvements {
      list-style: none;
      margin: 0;
      padding: 0;
  }
  body.admin-users ul.edit-involvements li.involvement {
      margin: 0 0 0.5em 0;
      padding: 0 0 0.5em 0;
      border-bottom: solid #eee 2px;
  }
  body.admin-users ul.readonly-involvements li.involvement {
      font-style: italic;
  }
  body.admin-users ul.readonly-involvements li.involvement span {
      font-style: normal;
  }

  body.admin-users #user_program_enrollment_attributes_program_id {
      /*width: 275px;*/
  }
  .user-status-update {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: auto;
    gap: 5px;
  }
  .user-status-update .field {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
  }
  .user-status-update .field .label-container {
    flex: 1;
  }
  .user-status-update .field .label-container label,
  .user-status-update .field label {
    margin-bottom: 0;
  }
  .user-status-update .field input[type="checkbox"] {
    margin: 0;
  }
  .user-status-update > div:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .user-status-update > div:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
  }
  .user-status-update > div:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
  }
  .user-status-update > div:nth-child(4) {
    grid-column: 1;
    grid-row: 2;
  }
  .user-status-update > div:nth-child(5) {
    grid-column: 1;
    grid-row: 3;
  }

  /* Admin users: all boolean checkboxes right-aligned (label left, checkbox right).
     All boolean fields use block-override pattern: checkbox is a sibling of label-container. */
  body.admin-users div.field.boolean {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
  }
  body.admin-users div.field.boolean .label-container {
    flex: 1;
  }
  body.admin-users div.field.boolean .label-container label {
    margin-bottom: 0;
  }
  body.admin-users div.field.boolean > input[type="checkbox"] {
    margin: 0;
    flex-shrink: 0;
  }

  #company_all_program_ids {
      min-width: 450px;
  }
  #company_program_ids.program_field{
      min-width: 450px;
  }

/* sports coach */

  div .hot_questions_for_coach {
     clear: both;
  }

  .selection {
    clear: both;
    float: left;
    margin-bottom: 15px;
  }

  #per_category_id {
    text-transform: capitalize;
    float: left;
  }

  #per_type_id {
    text-transform: capitalize;
    float: left;
  }

  .chart_main_container {
    clear: both;
  }

  #chart_exercises_per_category_container,
  #chart_exercises_per_type_container,
  #chart_exercises_per_stacked_category_container,
  #fitbit_activity_chart_container {
    min-width: 310px;
    width: 700px;
    height: 400px;
    margin: 0 auto;
    border: solid 1px #cccccc;
    float: left;
    background-color: #ffffff;
    margin-bottom: 20px;
    padding-bottom: 5px;
  }

  #no_data {
    width: 100%;
    text-align: center;
    padding-top: 25%;
    font-size: 24px;
  }

  h3 {
    clear: both;
  }

  #previous_per_category,
  #next_per_category,
  #previous_per_soort_type,
  #next_per_soort_type,
  #previous_per_fitbitactivity_type,
  #next_per_fitbitactivity_type {
    float: left;
    width: 70px;
    height: 405px;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    border: solid 1px #cccccc;
  }

  #previous_per_category,
  #previous_per_soort_type,
  #previous_per_fitbitactivity_type {
    background-image: url(/../images/exercises/graph-navigate-left.png);
    border-right: none;
  }

  #next_per_category,
  #next_per_soort_type,
  #next_per_fitbitactivity_type {
    background-image: url(/../images/exercises/graph-navigate-right.png);
    border-left: none;
  }

  #high_scores {
    border: none;
    float: left;
    clear: both;
  }

  #high_scores h3 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
  }

  #ranking_all_teams_container h3 {
    margin-bottom: 33px !important;
  }

  #high_scores #all_teams, #high_scores #own_team, #high_scores #ranking {
    border: solid 1px #cccccc;
    float: left;
    padding: 20px;
    margin-right: 20px;
    margin-bottom: 20px;
    width: 300px;
  }

  #high_scores #ranking_all_teams_container, #high_scores #ranking_own_team_container, #high_scores #ranking_container {
    padding: 0px !important;
  }

  #high_scores table {
    table-layout:fixed;
    width: 100%;
  }

  #high_scores table td {
    border: solid 1px #ffffff;
    font-weight: normal;
  }

  #high_scores .dotted_line {
    line-height: 0px;
    border-top: dotted 2px #555555;
  }

  #high_scores .column1 {
    width: 15px;
    text-align: left;
    padding-right: 5px;
  }

  #high_scores .column2 {
    text-align: left;
    padding-right: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #high_scores .column3 {
    width: 55px;
    text-align: right;
  }

  #high_scores .ranking_self {
    font-style: italic;
  }

  #high_scores .heart {
    margin-left: 3px;
    padding: 0 0 2px;
  }

  #high_scores .select_container {
    width: 100px;
    float: right;
    margin-bottom: 10px;
    margin-right: 10px;
  }

  #high_scores #number_of_players, #high_scores #number_of_teams {
    margin-top: 10px;
  }

  .company_departments_name_nl, .company_departments_name_en, .company_departments_name_fr {
    width: 97% !important;
  }

  .company_departments_name_nl input, .company_departments_name_fr input, .company_departments_name_en input, .company_privacy_link input {
    width: 100% !important;
  }

  #company_department_question_en, #company_department_question_nl, #company_department_question_fr {
    width: 100% !important;
  }

  td.remove-department-fields {
    vertical-align: top;
  }

  .custom-department-table div.field:not([class*="filter"]), 
  .custom-department-table div.inline_input, 
  .custom-department-table div.field-group {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

/* babble box */
  body.admin-babble_box .messages .actions .search {
      float: right;
  }
  body.admin-babble_box tr.message a.details {
      display: block;
      width: 100%;
      color: black;
      text-decoration: none;
  }
  body.admin-babble_box .list .date-time {
      width: 10em;
  }
  body.admin-babble_box .list .sender {
      width: 12em;
  }
  body.admin-babble_box .list .subject {
      width: 16em;
      overflow: hidden;
  }
  body.admin-babble_box .list .role {
      width: 8em;
  }

  body.admin-babble_box table.list tr.not_read a.details {
      color: red;
  }

  body.admin-babble_box-alert_co_coach input.receiver, body.admin-babble_box-alert_co_coach input.subject, body.admin-babble_box-alert_co_coach textarea {
      display: block;
      width: 600px;
  }
  body.admin-babble_box-alert_co_coach textarea.body {
      height: 240px;
  }
  body.admin-babble_box dt {
      font-weight: bold;
      width: 10em;
      float: left;
  }
  body.admin-babble_box dd.body {
      margin: 0 10em;
      padding: 4px;
      border: solid #aaa 1px;
  }
  body.admin-babble_box #message_subject {
      width: 680px;
  }
  body.admin-babble_box div.recipients {
      padding: 4px;
      width: 680px;
  }
  body.admin-babble_box-reply #message_subject {
    width: 700px;
  }
  body.admin-babble_box-reply textarea {
    width: 700px;
  }

/* schedule */
  body.admin-schedule table.list td.date {
      width: 8em;
  }
  body.admin-schedule table.list td.required {
      width: 8em;
  }
  body.admin-schedule table.list td.done {
      width: 11em;
  }
  body.admin-schedule form.reset_for_program {
    margin-top: 30px;
  }

/* questionnaire */
body.admin-questionnaire_responses .moodle_survey textarea {
    display: block;
    width: 75%;
    height: 8em;
    font-weight: bold;
    font-size: larger;
    font-family: 'Roboto', sans-serif !important;
    color: black !IMPORTANT;
}
body.admin-questionnaire_responses .moodle_survey .entered {
    font-size: larger;
    font-weight: bold;
}
body.admin-questionnaire_responses div.actions {
  margin-bottom: 1em;
}
body.admin-questionnaire_responses div.actions span {
  margin-right: 0.5em;
}

/* dashboard intake */
body.admin-dashboard table.user {
    float: left;
    margin-right: 5em;
}
body.admin-dashboard table.user th {
    text-align: right;
    padding-right: 0.5em;
}

body.admin-dashboard table.measurements {
    width: auto;
}
body.admin-dashboard table.measurements th {
   text-align: right;
}
body.admin-dashboard table.measurements th {
    text-align: right;
    font-weight: bold;
}
body.admin-dashboard table.measurements tbody td {
    border-left: solid black 1px;
}
body.admin-dashboard table.measurements tbody tr td, body.admin-dashboard table.measurements thead tr.header th {
    width: 6em;
    text-align: right;
}
body.admin-dashboard table.measurements td.units {
    text-align: left;
}

body.admin-dashboard ol li {
    margin-bottom: 1em;
}

body.admin-dashboard ol li ul li {
    margin-bottom: .2em;
}

body.admin-dashboard .answer q {
    font-style: italic;
}
body.admin-dashboard .questionnaire_question-description {
    font-weight: bold;
}
body.admin-dashboard #comment_comment {
    width: 100%;
}
body.admin-dashboard .questionnaire_question_option, body.admin-dashboard .questionnaire_response div.survey_question .questionnaire_question_option input {
    display: none;
}
body.admin-dashboard .questionnaire_question_option_selected {
    display: block !IMPORTANT;
}
body.admin-dashboard .questionnaire_response div.survey_question p,
body.admin-dashboard .questionnaire_response div.survey_question div.questionnaire_question-description,
body.admin-dashboard .questionnaire_response div.survey_question .questionnaire_question_option,
body.admin-dashboard .questionnaire_response div.survey_question {
    margin: 0;
    padding: 0;
}
body.admin-dashboard .questionnaire_response div.survey_question .answer,
body.admin-dashboard .questionnaire_response div.survey_question .questionnaire_question_response-other {
    margin-left: 1em;
}
body.admin-dashboard .questionnaire_response div.survey_question,
body.admin-dashboard .questionnaire_response div.survey_question .questionnaire_question_response-other div.textarea,
body.admin-dashboard .questionnaire_response div.survey_question .questionnaire_question_option_selected {
    background-color: transparent;
    border: none;
}
body.admin-dashboard .questionnaire_response div.survey_question label,
body.admin-dashboard .questionnaire_response div.survey_question .questionnaire_question_option_selected {
    font-weight: normal;
    font-size: inherit;
}
body.admin-dashboard div#fitbit {
  padding-bottom: 20px;
  max-width: 835px;
  width: 100%;
}
body.admin-dashboard #fitbit_data {
  -webkit-columns: auto 3; /* Chrome, Safari, Opera */
  -moz-columns: auto 3; /* Firefox */
  columns: auto 3;
  -webkit-column-gap: 30px; /* Chrome, Safari, Opera */
  -moz-column-gap: 30px; /* Firefox */
  column-gap: 30px;
}
body.admin-dashboard div.cell {
  display: inline-block;
  width: 80px;
  float:left;
}
body.admin-dashboard #fitbit_data div.succesful {
  color: green;
  font-weight: bold;
}
body.admin-dashboard div.row {
  height: 24px;
  padding-top: 3px;
  clear: both;
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid-column;
}
body.admin-dashboard div.row.header {
  font-weight: bold;
}
body.admin-dashboard #fitbit div.cell.number {
  text-align: right;
}
body.admin-newsletter_mailer #email_from, body.admin-newsletter_mailer #email_subject, body.admin-activity_mailing #email_from, body.admin-activity_mailing #email_subject {
    width: 30em;
}
body.admin-newsletter_mailer form input.submit.send_mail {
 float: left;
}
body.admin-newsletter_mailer form input.submit.test_mail {
 float: right;
 margin-right: 10px;
}
body.admin-newsletter_mailer #preview_iframe {
    float: right;
    width: 600px;
    height: 400px;
    margin-bottom: 1em;
}
body.admin-newsletter_mailer table.articles {
    width: 400px;
    border-bottom: none;
}
body.admin-newsletter_mailer table.articles td.actions {
    text-align: right;
}

body.admin-actions form ul.actions {
    list-style: none;
    margin: 1em 0 0 0;
    padding: 0;
}
body.admin-actions form ul.actions li {
    margin: .25em 0 0 0;
    padding: 0;
}

body.admin-bio_feedback div.container {
    position: relative;
}
body.admin-bio_feedback div.preferences_graph_show_value {
    margin-top: 8px;
}
body.admin-bio_feedback div.boolean {
    margin-bottom: 8px;
}
body.admin-bio_feedback div#graph, body.admin-bio_feedback div#preferences, body.admin-bio_feedback div#data, body.admin-bio_feedback div#group-progress {
    float: left;
    margin: 1em 2em 0 0;
}
body.admin-bio_feedback #data dt, .admin-bio_feedback #data dd {
    padding: 2px;
}
body.admin-bio_feedback #data dt {
    border-top: solid #888 1px;
}
body.admin-bio_feedback #data dd {
    margin-left: 2em;
}
body.admin-bio_feedback #data form span.value {
    display: block;
    margin-left: 2em;
}
body.admin-bio_feedback #data input {
    width: 7em;
    font-size: 14px;
}
body.admin-bio_feedback #data input.submit {
    width: auto;
    display: inline;
}
body.admin-bio_feedback .field_with_errors input {
    background-color: #f88;
}
body.admin-bio_feedback dl.data dd {
    position: relative;
}
body.admin-bio_feedback dl.data dd form.button-to {
    position: absolute;
    bottom: 0;
    right: 0;
}
body.admin-bio_feedback #preferences h4 {
    margin: 1.33em 0 1em 0;
}
body.admin-bio_feedback #preferences form {
    padding-left: 1em;
}
body.admin-bio_feedback #preferences form label[for=preferences_graph_weight_period] {
    display: inline;
}
body.admin-bio_feedback form#save_target {
    padding-bottom: 1em;
    margin-bottom: 1em;
    border-bottom: solid #888 1px;
}
body.admin-bio_feedback button {
    cursor: pointer;
}
body.admin-bio_feedback #data #create_measurement button, body.admin-bio_feedback #data #values table button {
    border: none;
    background: transparent;
    width: 20px;
    padding: 0;
}
body.admin-bio_feedback #data .field label .help {
    font-weight: normal;
    font-size: 9px;
    color: #444;
}
body.admin-bio_feedback #data #create_measurement {
    padding: 0;
    margin: 0;
}
body.admin-bio_feedback #data #create_measurement button {
    margin: 30px 0 0 0;
}
body.admin-bio_feedback #data .field, body.admin-bio_feedback #data button {
    float: left;
    margin-right: 1em;
}
body.admin-bio_feedback #data #values {
    clear: both;
    padding-top: 2em;
    width: 255px;
}
body.admin-bio_feedback #data #values table {
    widthz: 210px;
}
body.admin-bio_feedback #data #values th, body.admin-bio_feedback #data #values td {
    text-align: right;
}
body.admin-bio_feedback #data #values th.date, body.admin-bio_feedback #data #values th.value, body.admin-bio_feedback #data #values td.date, body.admin-bio_feedback #data #values td.value {
    width: 7em;
}
body.admin-bio_feedback #type_selector {
    position: absolute;
    top: 23px;
    left: 250px;
}

body.admin-actions table.list tr.in-use {
    background-color: #fbb;
}

body.admin-bio_feedback #progress {
    clear: both;
    position: relative;
    padding-top: 20px;
}

body.admin-actions th.due_at_days, body.admin-actions th.show_at_days  {
    width: 4em;
}
body.admin-actions th.required {
    width: 6em;
}
body.admin-contact_notes #contact_note_description {
    width: 35em;
}
body.admin-contact_notes #contact_note_contact_length_otherwise {
    width: 2em;
}

body.admin-contact_notes #length_otherwise .field {
    display: inline;
}
body.admin-contact_notes form.new_contact_note {
    float: left;
    padding-right: 1em;
    background: white;
}
body.admin-contact_notes div.contact_notes {
    float: left;
    margin: 0 0 2em 0;
    max-width: 835px;
    width: 100%;
}
body.admin-contact_notes div.contact_notes .pagination {
    float: right;
    padding: 1em;
}
body.admin-contact_notes div.contact_note {
    border: solid #000 1px;
    padding: 1em;
    margin: 1em 0;
    clear: both;
}
body.admin-contact_notes div.contact_note dl {
    float: left;
    width: 20em;
    margin: 0;
    padding: 0;
}
body.admin-contact_notes div.contact_note dt {
    font-weight: bold;
}
body.admin-contact_notes div.contact_note .description {
    clear: both;
    padding: .5em;
    margin: 0 0 1em 0;
    width: 98%;
    background: #eee;
    overflow: auto;
}
body.admin-dashboard .programs {
    padding: 0px;
    margin: 0px;
    border-collapse: collapse;
}
body.admin-dashboard .programs td {
    padding-right: 20px;
}
body.admin-dashboard h4 {
    margin-top: 12px;
    margin-bottom: 0px;
}
body.admin-dashboard dl dt {
    font-weight: bold;
}
body.admin-dashboard dl dd {
    margin: 0 0 0.5em 2em;
}
body.admin-dashboard dl dd.health-issues pre {
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px;
    line-height: 1.4em;
    padding: 0;
    margin: 0;
}

body.admin-companies table td.name {
  width: 250px;
}
body.admin-companies table tr th.actions {
  width: 30px !important;
  text-align: right;
}

body.admin-companies table td  {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 33%;
}
body.admin-companies table td:nth-child(2) {
  width: 33%;
  max-width: 0; /* Avoid resizing beyond table width */
}
body.admin-companies div .field .warning {
    font-weight: normal;
    color: #a0a0a0;
}

body.admin-companies div.company textarea {
    max-width: 835px;
    width: 100%;
    height: 100px;
}

body.admin-companies.edit div.options {
    margin-left: 165px;
    width: 75%;
}

body.admin-companies.edit div.checkbox_options {
  margin-left: 165px;
  width: 75%;
}

body.admin-companies.edit li.extra_field {
    margin-bottom: 40px;
}

body.admin-companies.edit div.options input[type=text] {
    width: 95%;
}

body.admin-companies.edit div.options table  {
    width: 100%;
}

body.admin-companies.edit div.checkbox_options input[type=text] {
  width: 95%;
}

body.admin-companies.edit div.checkbox_options table  {
  width: 100%;
}

div#style_colors div.field {
    width: 150px;
}

form.edit_company .text.color, form.new_company .text.color {
    border-radius: 5px;
      border: 1px solid #777777;
      box-shadow: none;
}

div.colpick {
    margin-top: -120px;
    margin-left: 150px;
    z-index: 9999;
}

form.edit_company input.color, form.new_company input.color {
    width: 60px !important;
}

body.admin-activity_mailing #content {
    min-height: 450px;
}
body.admin-activity_mailing #preview_iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 600px;
    height: 450px;
}
body.admin-activity_mailing #scope_in_days_form {
    position: absolute;
    bottom: 0;
    margin: 0;
}

body.admin-actions .filter {
    position: absolute;
    width: 35em;
    top: 0;
    right: 0;
    height: 36px;
    font-size: 9pt;
}
body.admin-actions .filter input, body.admin-actions .filter select, body.admin-actions .filter button {
    font-size: 9pt;
}
body.admin-actions .filter form {
    position: relative;
    height: 4em;
}
body.admin-actions .filter form div.field, body.admin-actions form.filter div.actions {
    position: absolute;
    bottom: 0;
    background: #fcfcfc;
}
body.admin-actions .filter form div.field input {
    width: 15em;
}
body.admin-actions form.filter div.field select {
    width: 10em;
}
body.admin-actions .filter form div.filter_text-field {
    left: 0;
}
body.admin-actions .filter form div.filter_audience-field {
    left: 16em;
}
body.admin-actions .filter form div.actions {
    left: 27em;
}
body.admin-actions .filter form div.actions input, body.admin-actions .filter form div.actions button {
    width: 7em;
    padding: 0;
}
body.admin-actions span.bulk_copy {
    background: #ccc;
}
body.admin-actions .documentation {
    width: 40em;
}
body.admin-actions .documentation div.autocomplete-select {
    width: 40em;
    height: 30px;
}
body.admin-actions .documentation div.autocomplete-select input {
    width: 30em;
}
body.admin-actions .documentation .reorder, .documentations .destroy {
    float: right;
}
body.admin-actions .documentation .error_message {
    display: block;
}
body.admin-actions .documentation .document-url {
    display: block;
    text-align: right;
}
body.admin-actions .documentations {
    margin: 0 0 2em 1em;
}
body.admin-groups th.internal, th.users-count {
    width: 5em;
}
body.admin-groups form.bulk-grouping div.field {
    float: left;
    margin: 0 2em 2em 0;
}
.clear-both {
    clear: both;
}
/* exercise advice */

/* flex */
.flex-row {
    width: 100%;
    max-width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    -webkit-box-pack: justify !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;

    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
}

.flex-row .flex-col {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%
}

.flex-row .flex-col.left {
    flex-shrink: 0;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
}

.flex-row .flex-col.right {
    -webkit-box-flex: 30;
    -ms-flex-positive: 30;
    flex-grow: 30;
    overflow: auto;
}
/* enf flex */

body.admin table.exercise_schemes .checkbox {
  width: 17px;
}

body.admin .exercise_advice_exercise_scheme_title input {
  max-width: 835px;
  width: 100%;
}
body.admin table.list.physical_activity_types th.name {
  width: 100%;
  text-align: left;
}
body.admin table.list td.weekday {
  text-align: center;
  max-width: 59px;
  padding: 0;
}
body.admin table.scrollable {
  display: block;
  max-width: 100%;
  overflow: auto;
}
body.admin table.list td.weekday.monday, body.admin table.list th.weekday.monday {
  padding-left: 10px;
}
body.admin table.list td.weekday.sunday, body.admin table.list th.weekday.sunday {
  padding-right: 10px;
}
body.admin table.list th.week-header {
  text-align: center;
}

#table_exercise_advice .block-aside-table {
  white-space: nowrap;
  height: 100%;
  display: inline-block;
}

#table_exercise_advice h4 {
  margin: 0;
  line-height: 48px;
}

.block-aside-table .list {
  border: none;
}

.activity-custom-counter {
  width: fit-content;
}

.physical-activity {
  padding: 4px 0;
  height: 70px;
}

.physical-activity td {
  line-height: normal;
}

.physical-activity-selection {
  height: 70px;
  padding: 4px;
  margin: 0 4px 0 0;
  position: relative;
  background: #8080803b;
  box-sizing: border-box;
}

.physical-activity.even {
  height: 50px;
}

.week-header .add-week-button, .week-header:not(.hide):only-of-type .delete-week-button {
  display: none;
}

.week-header:not(.hide):last-of-type .add-week-button {
  display: inline;
}

.exercise_schemes .hide,
#activity-list .hide,
#table_exercise_advice .hide {
  display: none !important;
}

.activity-inline-block {
  display: inline-block;
  margin-top: 4px;
}

.activity-top {
  display: block;
  margin-bottom: 4px;
}

.activity-top.inline{
    display: inline;
}
.delete-activity-button {
  vertical-align: top;
}

.block-control-activities {
  margin-top: 6px;
}

.physical-activity-selection:first-child {
  margin-top: 0;
}

#table_exercise_advice .block-table table thead th, #table_exercise_advice .block-table table {
  border-bottom: none;
}

.activity_additional_select {
  height: 50px;
  display: flex;
  align-items: center;
  padding: 4px;
  margin: 0px 4px 0 0;
  box-sizing: border-box;
}

.activity_additional_select select,
.activity_additional_select input {
  height: 20px;
}

.physical-activity td {
  background: #8080803b;
}

.physical-activity td input:first-child {
  margin-bottom: 5px;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.mce-tinymce {
  max-width: 100% !important;
}

/* exercise advice END */

/* programs */
body.admin-programs th.count {
    width: 5em;
}
.questionnaires table.questionnaires td, .questionnaires table.questionnaires th, .questionnaire_questions table.questionnaire_questions td, .questionnaire_questions table.questionnaire_questions th {
    border: none;
    padding: 2px 4px;
}
.questionnaires table.questionnaires td.actions, .questionnaire_questions table.questionnaire_questions td.actions {
    text-align: right;
    width: 13em;
}
.questionnaires table.questionnaires th.number, .questionnaire_questions table.questionnaire_questions th.number {
    width: 5em;
}
.questionnaire div.warning, .questionnaire_question div.warning {
    font-size: larger;
    font-weight: bold;
    color: red;
    padding: 1em 0;
}

.questionnaire form .field select {
    width: 600px;
}
.questionnaire form textarea, .questionnaire_question form textarea {
    height: 200px;
    width: 600px;
}
.questionnaire form .reorder, .questionnaire_question form .reorder {
    float: right;
}
.questionnaire form .destroy, .questionnaire_question form .destroy  {
    float: right;
}

.questionnaire form .mce-tinymce, .questionnaire_question form .mce-tinymce {
  width: calc(100% - 100px);
}
.questionnaire form .section {
    padding: 4px;
    margin-top: 4px;
    border: solid #888 2px;
}
.questionnaire form .question_placement, .questionnaire_question form .question_option {
    padding: 4px;
    margin-top: 4px;
    border: solid #888 2px;
}
.questionnaire form .question_placement .autocomplete-select input {
    width: 450px;
}
.questionnaire form .autocomplete-select .appearance {
    font-size: smaller;
    font-style: italic;
}

.questionnaire_questions form.search select#by_questionnaire {
    max-width: 25em;
}
.questionnaire_questions th.appearance {
    width: 10em;
}
.questionnaire_questions th.question_placements, .questionnaire_questions th.question_response_count {
    width: 5em;
}

.questionnaire_question form .question_option textarea {
    height: 100px;
}
.questionnaire_question form .appearance-text .question_options {
    display: none;
}
.questionnaire_question form .appearance-tabular .other {
    display: none;
}
.questionnaire_question .used-in, .admin-surveys.edit .used-in {
    float: right;
    font-size: smaller;
}
.questionnaire_question .used-in li, .admin-surveys.edit .used-in li {
    font-size: smaller;
}

body.admin-questionnaire_responses tr.unread a {
    color: red;
}
body.admin-questionnaire_responses th.datetime {
    width: 15em;
}
body.admin-questionnaire_responses textarea {
    height: 3em;
}
.questionnaire_response div.questionnaire_section {
    background: #f8f8f8;
    border: solid #f8f8f8 1px;
    margin: 1em 0;
    padding: 4px;
}
.questionnaire_response div.questionnaire_section h3.questionnaire_section-title {
    margin: 0 0 1em 0;
}
.questionnaire_response div.questionnaire_section div.questionnaire_section-description {
    margin: 0 0 1em 0;
}
.questionnaire_response div.survey_question {
    background: #eee;
    border: solid #eee 1px;
    margin-bottom: 1em;
    padding: .5em;
                /*# page-break-inside: avoid;*/
}
.questionnaire_response div.survey_question div.questionnaire_question-description {
    margin: 0 0 1em 0;
}
.questionnaire_response div.survey_question div.questionnaire_question-description {
    font-size: 14px;
}
.questionnaire_response div.survey_question div.questionnaire_question-description p {
    font-size: 14px;
}
.questionnaire_response div.survey_question_option {
    clear: both;
}
.questionnaire_response div.survey_question input.checkbox, .questionnaire_response div.survey_question input.radiobutton {
    float: left;
}
.questionnaire_response div.question-error {
    font-weight: bold;
    color: red;
    margin-bottom: 1em;
    font-size: larger;
}
.questionnaire_response div.question-with-error {
    border: solid red 2px;
}
.questionnaire_response div.questionnaire-completed_at {
    padding: 1em;
    margin-bottom: 1em;
    border-bottom: solid 4px;
    font-size: larger;
    font-weight: bold;
    text-align: center;
    color: green;
}
.questionnaire_response div.survey_question div.required-question {
    float: right;
    padding: 0 0 2em 2em;
    font-size: smaller;
    font-weight: bold;
}
.questionnaire_response input.completed {
    font-size: larger;
    font-weight: bold;
    padding: 1em 2em;
}
.questionnaire_response .question-number {
    float: left;
    display: block;
    padding: 0 1em 0 0;
    font-size: larger;
    font-weight: bold;
}
.questionnaire_response p {
    margin: 0 0 1em 0;
}

.questionnaire_response table.survey-score th, .questionnaire_response table.survey-score td {
    border: solid black 1px;
    text-align: left;
    padding: .5em .75em;
}
.questionnaire_response table.survey-score th {
    font-weight: bold;
    border-top: solid black 3px;
    border-bottom: solid black 3px;
}

.questionnaire_response table.survey-score th:first-child,
.questionnaire_response table.survey-score td:first-child {
    border-left: solid black 3px;
}
.questionnaire_response table.survey-score th:last-child,
.questionnaire_response table.survey-score td:last-child {
    border-right: solid black 3px;
}
.questionnaire_response table.survey-score tr:last-child td {
    border-bottom: solid black 3px;
}

.questionnaire_response div.survey_question .questionnaire_question {
    clear: both;
}
.questionnaire_response div.survey_question .questionnaire_question_option p {
    margin: 0;
}

.questionnaire_response div.survey_question .questionnaire_question_option {
    margin-bottom: .7em;
}
.questionnaire_response div.survey_question .questionnaire_question_option input {
    margin: 0 .5em 0 0;
    display: block;
}
.questionnaire_response div.survey_question .questionnaire_question_option .answer {
    float: left;
    width: 90%;
}
.questionnaire_response div.survey_question .questionnaire_question_option .answer .questionnaire_question_response-other textarea {
    margin-top: 5px;
    width: 550px;
    height: 35px;
}
.questionnaire_response div.survey_question .questionnaire_question_option .questionnaire_question_response-other textarea {
    width: 600px;
    height: 75px;
}

.questionnaire_response div.survey_question .appearance-ratings .questionnaire_question_option {
    font-weight: normal;
    color: #666;
}
.questionnaire_response div.survey_question label {
    font-weight: normal;
}
.questionnaire_response div.survey_question .appearance-boolean .questionnaire_question_option_selected label,
.questionnaire_response div.survey_question .appearance-radiobuttons .questionnaire_question_option_selected label,
.questionnaire_response div.survey_question .appearance-checkboxes .questionnaire_question_option_selected label,
.questionnaire_response div.survey_question .appearance-ratings .questionnaire_question_option_selected label,
.questionnaire_response div.survey_question .appearance-text .questionnaire_question_option_selected label {
    font-weight: bold;
}
.questionnaire_response div.survey_question .appearance-ratings .questionnaire_question_option_selected,
.questionnaire_response div.survey_question .appearance-ratings .questionnaire_question_option_selected p {
    font-weight: bold;
    font-size: larger;
    color: #000;
}
.questionnaire_response div.survey_question .appearance-ratings .questionnaire_question_option {
    clear: none;
    float: left;
    margin-left: 1em;
}
.questionnaire_response div.survey_question .appearance-ratings .questionnaire_question_option-description {
    padding: 2px 4px;
}
.questionnaire_response div.survey_question .appearance-ratings .questionnaire_question_option input {
    margin: 0;
}
.questionnaire_response div.survey_question .appearance-boolean .questionnaire_question_option_selected,
.questionnaire_response div.survey_question .appearance-radiobuttons .questionnaire_question_option_selected,
.questionnaire_response div.survey_question .appearance-checkboxes .questionnaire_question_option_selected,
.questionnaire_response div.survey_question .appearance-ratings .questionnaire_question_option_selected,
.questionnaire_response div.survey_question .appearance-text .questionnaire_question_option_selected,
.questionnaire_response div.survey_question .appearance-tabular .questionnaire_question_option_selected .input {
    font-weight: bold;
    font-size: larger;
    background: #ddd;
    border: solid #ccc 2px;
}
.questionnaire_response div.survey_question .appearance-tabular .questionnaire_question_option_selected .input {
    display: block;
    padding: 2px 4px;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.questionnaire_response div.survey_question .questionnaire_question_option_selected .answer .questionnaire_question_response-other textarea {
    font-weight: bold;
    font-size: larger;
    color: black;
    height: 3em;
}
.questionnaire_response div.survey_question .questionnaire_question_response-other div.textarea {
    display: none;
}
.questionnaire_response div.survey_question .questionnaire_question_option_selected .questionnaire_question_response-other div.textarea {
    display: block;
}
.questionnaire_response div.survey_question .questionnaire_question_response-other div.textarea {
    font-family: 'Roboto', sans-serif !important;
    border: solid #ccc 1px;
    background: #e8e8e8;
    margin: 4px 0;
    padding: 8px 4px 0 4px;
}
.questionnaire_response div.survey_question .questionnaire_question_response-other div.textarea p {
    margin-bottom: 8px;
}
.questionnaire_response .appearance-help {
    display: none;
}
.questionnaire_response table {
    border-collapse: collapse;
}
.questionnaire_response table th, .questionnaire_response table td {
    padding: 2px 4px;
    border: solid #ddd 1px;
}
.questionnaire_response table td input {
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.questionnaire_response td.reset {
    text-align: right;
}
#questionnaire_scoring {
    min-width: 80em;
    min-height: 40em;
}
.questionnaire_response table.uniform-ratings tr.question th.questionnaire_question_option-description,
.questionnaire_response table.uniform-ratings tr.question td.questionnaire_question_option-input {
    min-width: 2em;
    text-align: center;
}
.scoring-error h3 {
    color: red;
    font-weight: bold;
}
.scoring-error pre.score-exception {
    padding: 1em;
    max-height: 20em;
    overflow: auto;
    background: #fee;
    border: solid red 2px;
    font-size: smaller;
}
div.autocomplete {
    background-color: white;
    border: 2px solid #888;
    margin: 0;
    padding: 0;
}
    div.autocomplete ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
div.autocomplete ul li.selected {
    background-color: #ffb;
}
div.autocomplete ul li {
    list-style-type: none;
    display: block;
    margin: 0;
    padding: 4px;
    max-height: 4em;
    cursor: pointer;
    overflow: hidden;
    border: 1px solid #aaa;
}
div.autocomplete ul li .details {
    display: none;
}
div.autocomplete-select input.not-found {
    background: #fee;
}
div.autocomplete-select a.autocomplete-selection {
    display: block;
    margin: 4px 0;
    padding: 2px 4px;
    background-color: #eee;
    text-decoration: none;
    cursor: pointer;
    line-height: 1.4;
}
div.autocomplete-select a.autocomplete-selection-disabled {
    color: #888;
}
div.autocomplete-select .search-extras {
    margin-left: 1em;
}
div.autocomplete-select {
    margin-right: 1em;
}

div.photo #photo_program_thumbnail{
    float: left;
    margin-right: 20px;
}

/* activity statistics */
    body.admin-activity_statistics form.scope {
        position: relative;
        min-height: 14em;
    }
    body.admin-activity_statistics form.scope .date {
        position: absolute;
        top: 0;
        left: 0;
    }
    body.admin-activity_statistics form.scope .date .field {
        margin-bottom: 1em;
    }
    body.admin-activity_statistics form.scope .types {
        position: absolute;
        top: 0;
        left: 13em;
    }
    body.admin-activity_statistics form.scope .types select {
        width: 16em;
        height: 12em;
    }
    body.admin-activity_statistics form.scope .actions {
        position: absolute;
        top: 2em;
        left: 30em;
    }
    body.admin-activity_statistics form.scope .actions button {
        font-weight: bold;
        padding: 0.5em 1em;
    }
    body.admin-activity_statistics div.charts div.chart {
        float: left;
    }
    body.admin-activity_statistics div.charts {
        height: 280px;
        padding: 1em 0;
        margin-bottom: 1em;
        border-top: solid #000 1px;
        border-bottom: solid #000 1px;
    }
    body.admin-activity_statistics div.charts #activity_per_month_chart {
        width: 650px;
    }
    body.admin-activity_statistics div.charts .loading {
        color: #aaa;
        font-weight: bold;
        font-size: xx-large;
        padding: 2em;
        display: block;
    }
    body.admin-activity_statistics div.users {
        clear: both;
    }
    body.admin-activity_statistics div.users a.user-profile, body.admin-activity_statistics div.users .role {
        font-size: smaller;
        font-style: italic;
        margin-left: 1em;
    }
    body.admin-activity_statistics div.users .role:before {
        content: "(";
    }
    body.admin-activity_statistics div.users .role:after {
        content: ")";
    }
    body.admin-activity_statistics th.mentor, body.admin-activity_statistics td.mentor {
        width: 12em !important;
    }
    body.admin-activity_statistics-mentor textarea, body.admin-activity_statistics-mentor input.text, body.admin-activity_statistics-mentor div.field div.dummy {
        width: 450px;
    }


/* Articles and Pages */
body.admin-articles.edit textarea#article_intro_image {
  height: 250px;
  width: 400px;
}
body.admin-articles.edit #article_intro_image_align {
  width: 100px;
}
body.admin-articles.edit #article_intro_image_width {
  height: 20px;
  width: 30px !important;
}
body.admin-articles.edit #intro_image_settings {
vertical-align: top;
padding-left: 20px;
}

body.admin-articles button.create {
  width: 130px;
}
body.admin-articles button.edit {
  width: 70px;
}
body.admin-articles td.actions {
  width: 320px;
  text-align:right;
}

body.admin-articles.edit input#article_slug,
body.admin-articles.edit input#article_title {
  max-width: 835px;
  width: 100%;
}

body.admin-articles.edit textarea#article_intro {
  height: 45px;
  max-width: 835px;
  width: 100%;
}
body.admin-articles.edit textarea#article_keywords {
  height: 45px;
  max-width: 835px;
  width: 100%;
}
body.admin-articles.edit textarea#article_body {
  height: 500px;
  max-width: 835px;
  width: 100%;
}


/* involvements */
    body.admin-involvements fieldset {
        border: none;
        padding: 0;
        margin: 0 2em 2em 0;
        width: 30%;
    }
    body.admin-involvements fieldset#adding-involvements {
        float: left;
    }
    body.admin-involvements form .actions {
        clear: both;
    }
    .big-fat-warning {
        margin: 1em 0;
        color: red;
    }

/* pauses */
body.admin-pauses input[type=submit], button.destroy {
  margin-top: 10px;
}

/* documents */

    .admin-documents .inline_input {
        display: inline;
    }

    .admin-documents form .field input.text {
        width: 400px;
    }
    .admin-documents #programs {
        float: right;
        font-size: smaller;
        margin: 1em;
    }
    .admin-documents #programs h3 {
        margin: 0;
    }
    .admin-documents #programs li {
        font-size: smaller;
    }
    .admin-documents th.content_type {
        width: 8em;
    }
    .admin-documents th.programs {
        width: 4em;
    }
    .admin-documents .warning {
        margin-left: 1em;
        color: red;
    }

/* exercise diaries */
body.admin-exercise_diaries .diary_day_block {
  line-height: 1.4;
  clear: both;
}
body.admin-exercise_diaries h4 {
  margin-bottom: 0em;
}
body.admin-exercise_diaries h4::first-letter, body.admin-exercise_diaries div.source {
  text-transform: capitalize;
}
body.admin-exercise_diaries h3 {
  margin-bottom: 0.5em;
  font-size: 14px;
  width: 100%;
  background-color: #eee;
  padding: 3px 0px 3px 3px;
  box-sizing: border-box;
}
body.admin-exercise_diaries h5 span {
  float: right;
}
body.admin-exercise_diaries .diary_row {
  margin-bottom: 10px;
}
body.admin-exercise_diaries .diary_day {
  width: 300px;
  padding-right: 30px;
  display: inline-block;
  vertical-align: top;
}
body.admin-exercise_diaries .diary_day_block span.number {
  float: right;
}
body.admin-exercise_diaries form.exercise_diary {
  margin-bottom: 20px;
  margin-right: 10px;
  float: left;
}
body.admin-exercise_diaries form.exercise_diary div.date div.date_from {
  display: inline-block;
  margin-right: 7px;
}
body.admin-exercise_diaries form.exercise_diary div.date div.date_from input {
  width: 125px;
}
body.admin-exercise_diaries form.exercise_diary div.date div.date_until {
  display: inline-block;
}
body.admin-exercise_diaries form.exercise_diary div.date div.date_until input {
  width: 125px;
}
body.admin-exercise_diaries form.exercise_diary .submit_action {
  display: inline-block;
}
body.admin-exercise_diaries div.total_distance {
  margin-top: 35px;
}
body.admin-exercise_diaries div.exercise_diary {
  clear: both;
}
body.admin-exercise_diaries div.sum {
  border-top: 1px solid black;
  margin-top: 5px;
  padding-top: 5px;
}

/* i18n_snippets */
    .admin-i18n_snippets input.text {
        width: 30%;
        min-width: 30em;
    }
    .admin-i18n_snippets textarea {
        width: 30%;
        min-width: 50em;
    }

    .button-panel {
        display: inline-block;
        margin-top: 16px;
        margin-left: 10px;
    }

    /* Trust badges (SOUTHVILLE-1098): group each badge with its own
       reorder/delete controls, and gap the "Add" button below the list. */
    .admin-i18n_snippets .trust_badge {
        border-bottom: 1px solid #e2e2df;
        padding-bottom: 12px;
        margin-bottom: 12px;
    }
    .admin-i18n_snippets .trust_badge .button-panel {
        margin-top: 6px;
        margin-left: 0;
    }
    .admin-i18n_snippets .add_trust_badge {
        margin-top: 12px;
    }

    /* FAQ (SOUTHVILLE-1111): a distinct section, separated from the trust badges
       above; each entry groups its own reorder/delete controls (flush-left). */
    .admin-i18n_snippets .faqs {
        margin-top: 28px;
        padding-top: 20px;
        border-top: 2px solid #d0d0cd;
    }
    .admin-i18n_snippets .faqs > h4 {
        margin: 0 0 14px;
    }
    .admin-i18n_snippets .faqs .faq {
        border-bottom: 1px solid #e2e2df;
        padding-bottom: 12px;
        margin-bottom: 12px;
    }
    .admin-i18n_snippets .faqs .faq .button-panel {
        margin-top: 6px;
        margin-left: 0;
    }

    .field.text.optional.company_company_columns_text,
    .field.text.optional.registration_page_company_columns_text {
        float: left;
    }

    .buttons-right {
        float: right;
    }

    .buttons-right .button-to {
        display: inline-block;
        margin-left: 5px;
        float: left;
    }

    .buttons-right .button-apply {
        display: inline-block;
        float: right;
        margin-left: 5px;
    }

    .buttons-right .select-list {
        display: inline-block;
        float: left;
        margin-right: 5px;
        margin-bottom: 5px;
    }
    .company-programs-block {
        float: left;
        margin: 5px;
    }

/* images aside */
/* Image upload for articles and pages */

    aside .image-list-container {
      height: calc(100% - 25px) !important;
      padding: 10px 10px 10px 10px !important;
    }

    aside.image-list {
      height: calc(100% - 65px) !important;
    }
    .admin.edit .container {
      padding-bottom: 20px !important;
    }
    aside.images #images-toggle .hide {
        display: none;
    }
    aside.images #images-toggle .show {
        display: inline;
    }
    aside.images.expanded #images-toggle .hide {
        display: inline;
    }
    aside.images.expanded #images-toggle .show {
        display: none;
    }
    aside.images .loading {
        display: none;
    }
    aside.images.loading-images .loading {
        display: block;
        font-size: 14px;
        line-height: 1;
    }
    aside.images #images-toggle {
        padding: 4px;
        text-decoration: none;
        text-align: center;
        font-size: smaller;
        width: 150px;
        display: inline-block;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
    }
    aside.images .form .file-input-button input {
        cursor: pointer;
        opacity: 0;
        position: absolute;
        top: 0;
        right: 0;
    }

    aside.images .form .file-input-button {
        position: relative;
        overflow: hidden;

        font-weight: bold;
        text-align: center;

        display: block;
        margin:  4px 0px;
        padding: 4px 0px;

        border: outset 2px;
        background: #ccc;
    }
    aside.images .progress {
        width: 0;
        height: 0;
        background: red;
        transition: height .5s, width .5s;
        -moz-transition: height .5s, width .5s;
        -webkit-transition: height .5s, width .5s;
    }
    aside.images.uploading .progress {
        height: 10px;
    }
    aside.images .form input.search {
        display: none;
        margin:  4px 0px;
        padding: 4px 0px;
        width: 100% !important;
        border: inset 2px;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
    }
    aside.images {
        position: fixed;
        top: 75px;
        right: 0px;
        width: 170px !important;
        background: white;
        box-shadow: -5px 5px 5px #888;
        height: 75%;
    }
    aside.images .container {
        position: relative;
        top: 0;
        overflow-x: hidden;
        overflow-y: hidden;

        transition: height .5s;
        -moz-transition: height .5s;
        -webkit-transition: height .5s;
    }
    aside.images .image-list {
        border: solid #000 2px;
        border-top: solid #000 1px;
        border-bottom: solid #000 1px;
        line-height: 0;
        font-size: 0;
        height: calc(100% - 65px);
        overflow-x: hidden;
        overflow-y: auto;

        transition: height .5s;
        -moz-transition: height .5s;
        -webkit-transition: height .5s;
    }
    aside.images .image-container {
        display: block;
        border-top: solid #000 1px;
        border-bottom: solid #000 1px;
        width: 100%;
        height: auto;
        overflow: hidden;
    }
    aside.images .image, aside.images .image img{
        display: block;
        width: 100px;
    }
    aside.images .actions {
        float: right;
        margin: 10px 10px 0px 0px;
    }
    aside.images .image-container.dummy {
        display: none;
    }

/* images control panel */
body.admin-images table .preview img {
  max-width: 50px;
  max-height: 50px;
}
body.admin-images tr {
  height: 95px;
}
body.admin-images table td {
  text-align: center;
  vertical-align: bottom;
  width:50px;
}
body.admin-images table tr:not(:last-child) {
  border-bottom: 2px solid #eee;
}
body.admin-images table.list {
  border-bottom: none !important;
}
body.admin-images table button {
  background-color: white;
  border: none;
}
body.admin-images img.copy_link {
  cursor: pointer;
  cursor: hand;
}
body.admin-images table div.actions * {
  margin: 0 0 0 0 !important;
  padding: 0 0 0 0 !important;
}
body.admin-images-edit img {
  width: 100px;
}

/* puzzle photos */
    body.admin-puzzle_photos div.photo {
      position: relative;
      float: left;
      margin-right: 10px;
    }
    body.admin-puzzle_photos div.photo image, body.admin-puzzle_photos div.photo button {
      position: absolute;
      left: 0;
      top: 0;
      background: none;
      border: none;
    }
    body.admin-puzzle_photos div.photos {
      margin-bottom: 20px;
      overflow: auto;
    }
    body.admin-puzzle_photos #uploading {
      display: none;
    }

/* menu_items */
    .admin-menu_items li.menu_item .level {
        font-weight: normal;
        font-size: smaller;
    }
    .admin-menu_items li.menu_item .level:before {
        content: "(";
    }
    .admin-menu_items li.menu_item .level:after {
        content: ")";
    }
    .admin-menu_items .ancestors {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    .admin-menu_items .ancestors li {
        display: inline-block;
        padding: 0;
        margin: 0;
    }
    .admin-menu_items .ancestors li:before {
        content: "> ";
    }
    .admin-menu_items select {
        min-width: 250px;
    }

    .admin-menu_items #graph_links {
      margin: 10px 0 10px 0;
    }

/* graphs */

div#content .highcharts-graph {
    clear: both;
    margin-bottom: 10px;
    padding-top: 0 !important;
    position: relative;
    width: 700px !important;
}

div#content .container {
    padding-top: 20px !important;
    height: auto !important;
    padding-left: 60px !important;
    padding-right: 60px !important;
}
div#content .graph {
    height: 300px !important;
}

/* company-games */
.admin-exercise_company_games h2 {
  padding-top: 20px;
}
.admin-exercise_company_games table.game.list {
  width: 600px !important;
  border-bottom: 0px;
}
.admin-exercise_company_games table.game td.position {
  width: 20px;
}

.games .actions {
  width: 14em !important;
}


.simple_error_messages {
  color: red;
}

/* simple form adjustments */
body form label.checkbox {
  margin: 0 0 0 0 !important;
}

/* Checkbox alignment for simple_form nested boolean style.
   Checkbox is inside the label: <label><input type="checkbox"> Text</label>
   Ensure checkbox and text are on the same line, vertically centered. */
div.field.boolean .label-container label.checkbox {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 0;
}
div.field.boolean .label-container label.checkbox input[type="checkbox"] {
  margin: 0;
  flex-shrink: 0;
}
body.admin-pages.edit span.checkbox label {
    font-weight: normal;
}
div#content .messages div.details {
  font-size: 12px !important;
  color: grey;
}
div#content div.pagination a.previous_page, div#content div.pagination a.next_page {
  font-weight: bold;
}

/* babble box */
body.admin-babble_box textarea#message_body, body.admin-babble_box input#message_subject {
  width: 100% !important;
  -webkit-box-sizing: border-box !important;
  -moz-box-sizing: border-box !important;
  box-sizing: border-box !important;
}
body.admin-babble_box .actions {
  margin-top: 10px;
}
/* features */
body.admin-features select {
  height: 300px;
}
/* faqs */
body.admin-faq_chapters img.photo, body.admin-faqs img.photo {
  padding-top: 10px;
}
body.admin-faq_chapters div.error,body.admin-faqs div.error {
  font-weight: bold;
  color: red;
  margin: 10px 0px 10px 0px;
}

/* food diary */
div.admin-food_diary div.finished {
  float: right;
}
div.admin-food_diary div.entry {
  float: left;
  margin: 0 10px 15px 0px;
  border: 3px solid #fef5c2;
  width: 350px;
  height: 120px;
  background-color: #fef5c2;
}
body.my_food_diary div.admin-food_diary div.entry {
  width: 300px;
}

div.admin-food_diary div.entry.photo-only {
  width: 120px;
}
div.admin-food_diary div.entry img {
  float: left;
}
div.admin-food_diary div.entry div.text {
  height: 100%;
  width: auto;
  padding: 5px 5px 5px 10px;
  box-sizing: border-box;
  overflow-y: auto;
}
div.admin-food_diary div.entry a {
  text-decoration: none ;
  color: black;
}
div.admin-food_diary h2:first-letter, div.admin-food_diary h3:first-letter {
  text-transform: capitalize;
}
div.admin-food_diary li.day {
  padding-bottom: 10px;
  margin-bottom: 10px;
  overflow: auto;
}
div.admin-food_diary li.moment {
  margin-bottom: 20px;
  list-style-type: none;
}
div.admin-food_diary ul {
  padding-left:0;
}
div.admin-food_diary li.day:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
div.admin-food_diary div.time {
  position: absolute;
  font-size: .8em;
  background-color: rgba(255,255,255,0.6);
  margin: 2px 2px 2px 2px;
  padding: 1px 1px 1px 1px;
}
div.admin-food_diary form, div.admin-food_diary #pdf {
  float: left;
  margin-right: 6px;
}
div.admin-food_diary ul {
  clear: both;
}
body.admin-food_diary.popup {
  background-color: white;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}
body.admin-food_diary.popup div.content {
  height: 100%;
  overflow: hidden;
}
body.admin-food_diary.popup div.center {
  text-align: center;
}
body.admin-food_diary.popup div.photo-description {
  height: 15%;
  margin-top: 20px;
  text-align: left;
  overflow-y: auto;
}
body.admin-food_diary.popup img {
  height: 85%;
}
body.admin.email-popup {
  height: 500px;
  background-color: white;
}
body.admin.email-popup textarea#body {
  height: 300px;
}
.hc_popup_action_required {
  height: 30px;
  weight: 30px;
  background-color: white;
  display: block;
  color: red;
  font-weight: 600;
  font-size: 17px;
  border-radius: 5px;
}
/* food diary reports (templates) and menus*/
body.admin-reports div.header, body.admin-menus div.header {
  border-bottom: 1px solid black;
  min-height: 30px;
  margin-bottom: 10px;
}
body.admin-reports div.header input, body.admin-menus div.header input {
  float: right;
}

form.admin-reports div.tab, form.admin-menus div.tab {
  width: 850px;
  margin-left: 20px;
}

form.admin-reports div.tab input[type=text].wide, form.admin-menus div.tab input[type=text].wide,
form.admin-menus div.tab textarea {
    width: 99% ;
}

form.admin-reports div.tab li.moment, form.admin-menus div.tab li.moment {
  margin-top: 20px;
}

form.admin-reports div#tabs li.published, form.admin-menus div#tabs li.published {
  font-weight: bold;
  text-decoration: none;
}

form.admin-reports div#tabs li.notpublished a, form.admin-menus div#tabs li.notpublished a {
  font-weight: normal;
  text-decoration: line-through;
}

form.admin-reports li.topic div.smiley {
  width: 20px;
  margin-right: 5px;
}

form.admin-reports input.positive {
  width: 20px;
}

form.admin-reports .report_title {
  padding-left: 0.4em;
}

form.admin-reports ul, form.admin-menus ul {
  padding-left: 0;
}

form.admin-reports li.topic, form.admin-menus li.moment  {
  clear: both;
  list-style-type: none;
}

form.admin-reports li.topic {
  height: 65px;
}

form.admin-reports li.topic div {
  float: left;
}

form.admin-reports li.topic textarea {
  width: 782px;
  height: 40px;
}
form.admin-reports input[type=button], form.admin-menus input[type=button], form.admin-reports input[type=submit], form.admin-menus input[type=submit]  {
  float: right;
  margin-left: 5px;
}
form.admin-reports .face-icon svg {
  width: 16px;
  float: left;
  margin-right: 5px;
}

#custom-score {
    margin-left: 20px;
}

.face-icon svg.smile-happy {
  fill: #56af31;
}

.face-icon svg.smile-sad {
  fill: #ffc338;
}

.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active
{
    background: green;
}

form.admin-menus div.moment {
  margin-right: 10px;
  font-weight: bold;
  width: 300px;
  float: left;
  text-transform: capitalize;
}

form.admin-menus div.moment .moment_title {
    width: 100%;
}

form.admin-menus div.time-group {
  float: right;
  width: auto;
}

form.admin-menus div.time,  form.admin-menus div.to{
  float: left;
  width: auto;
  height: 10px;
}

form.admin-menus div.to {
  margin-left: 10px;
  margin-right: 10px;
}

form.admin-menus div.time div.label-container label {
  margin-top: 0 !important;
}

form.admin-menus textarea {
  height: 220px;
}

form.admin-reports div.errors li {
  margin-left: 20px;
  color: red;
}

form.admin-reports .ui-tabs-vertical .ui-tabs-nav li.error:not(.ui-tabs-active) a {
  color: red;
}
form.admin-reports .ui-tabs-vertical .ui-tabs-nav li.error.ui-tabs-active a {
  color: white;
  background-color: red;
}

/* tabs */
div#tabs { border:0px !important;}
div#tabs .ui-state-active {background-color: grey; border: 0px; }
div#tabs *:focus { outline: none; }
.ui-tabs-vertical { width: 100%; box-sizing: border-box;}
.ui-tabs-vertical .ui-tabs-nav { padding: .2em .1em .2em .2em; float: left; width: 200px; background: none !important; border: none !important;}
.ui-tabs-vertical .ui-tabs-nav li { clear: left; width: 100%; border-bottom-width: 1px !important;margin: 0 -1px .2em 0; white-space: normal !important;}
.ui-tabs-vertical .ui-tabs-nav li a { display:block; width: 100%; box-sizing: border-box;}
.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active { padding-bottom: 0; padding-right: .1em; border-right-width: 1px;}
.ui-tabs-vertical .ui-tabs-panel { padding: 1em; float: left; width: 40em;}

/* date range partial (exercise diary and performance) */
form.date_range {
  margin-bottom: 20px;
  margin-right: 10px;
  float: left;
}
form.date_range div.date div.date_from {
  display: inline-block;
  margin-right: 7px;
}
form.date_range div.date div.date_from input {
  width: 125px;
}
form.date_range div.date div.date_until {
  display: inline-block;
}
form.date_range div.date div.date_until input {
  width: 125px;
}
form.date_range .submit_action {
  display: inline-block;
}

/* quality_control */
/* perfomance */
body.quality_control table {
    clear: both;
}
body.quality_control tr.header {
    text-align: left !important;
    font-weight: bold;
    background-color: #ccc;
}
body.quality_control th.date-form,
body.quality_control tr.header th {
    border: 1px solid #000;
}
body.quality_control td.number, body.quality_control th.number {
    text-align: right;
}
body.quality_control table td  {
    border: solid #000;
    border-width: 0 1px;
}
body.quality_control table td, body.quality_control table th  {
    padding: 6px 20px 6px 0;
}

/* quality control appointments */
.qc_appointments {
  overflow: auto;
  margin-bottom: 20px;
}
.qc_appointments table,
.qc_appointments table tr th {
  border: solid 2px;
}
.qc_appointments table tr th {
  box-sizing: border-box !important;
  padding-left: 4px !important;
  padding-right: 0px !important;
}
.qc_appointments table tr td.border {
  border: solid 1px;
}

.qc_appointments table tr td.border-right {
  border-right: solid 2px;
}
.qc_appointments table tr td:nth-child(-n+2){
  box-sizing: border-box;
  padding: 0 0 0 3px;
  text-align: left;
}
.qc_appointments table tr td:not(:nth-child(-n+2)) {
  box-sizing: border-box;
  padding: 0 3px 0 0;
  text-align: right;
}
.qc_appointments .empty-row {
  background-color: rgb(204, 204, 204);
  height: 20px;
}
.qc_by_role, .qc_by_name {
  display: none;
}
.data_by_filter {
  margin-bottom: 5px;
}
.qc_date .date_until {
  margin-top: 5px;
}
.qc_date .date_from .quality_control_query_date_from,
.qc_date .date_until .quality_control_query_date_until{
  margin-bottom: 5px;
}
.qc_date label{
  margin-top: 0px;
}
.qc_actions {
  margin: 10px 0 10px 0;
  display: flex;
  gap: 10px;
  align-items: center;
}
.qc_clear {
  text-decoration: none;
  color: rgb(51, 51, 51);
  background-color: rgb(239, 239, 239);
  border: solid 1px rgb(118, 118, 118);
  padding: 2px 6px 2px 6px;
  box-sizing: content-box;
  border-radius: 2px;
  font-size: 13px;
}

.qc_clear:hover {
  text-decoration: none;
  color: rgb(51, 51, 51);
  background-color: rgb(219, 219, 219);
}

.qc_all_participants:hover::after {
  content: "Total number of participants for this program and coach";
  background: blue;
  display: block;
  padding: 5px;
  margin: 2px;
  color: white;
}
.qc_participants:hover::after {
  content: "Number of participants for this program and coach who are enrolled in only 1 program";
  background: green;
  display: block;
  padding: 5px;
  margin: 2px;
  color: white;
}
.qc_rejecteds_participants:hover::after,
.qc_time:hover::after,
.qc_missing:hover::after {
  background: black;
  display: block;
  padding: 5px;
  margin: 2px;
  color: white;
}
.qc_fields_container {
  display: flex;
  gap: 20px;
}
.qc_fields_container div.quality_control_query_date_from,
.qc_fields_container div.quality_control_query_date_until {
  margin-bottom: 0px;
}
.qc_appointments > table .align_center {
  text-align: center !important;
}
.qc_appointments > table th {
  font-weight: bold !important;
}
.qc_rejecteds_participants:hover::after {
  content: attr(data-rejected-tooltip-content);
}
.qc_time:hover::after {
  content: attr(data-time-tooltip);
}
.qc_missing:hover::after {
  content: attr(data-missing-tooltip-content);
}

/* perfomance */
body.admin-performance table {
  clear: both;
}
body.admin-performance th {
  text-align: left !important;
  font-weight: normal;
}
body.admin-performance td.number, body.admin-performance th.number {
  text-align: right;
}
body.admin-performance table td  {
  border-top: 1px solid #ddd;
}
body.admin-performance table td, body.admin-performance table th  {
  padding: 6px 20px 6px 0px;
}
body.admin-performance .empty {
  color: #ccc;
}
body.admin-performance .star {
    font-size: 1.2em;
    display: inline-block;
    color: #eee;
    position:relative;
}
body.admin-performance .star:last-child {
    margin-right: 0;
}
body.admin-performance .star:before {
    content:'\2605';
}
body.admin-performance .star.on {
    color: black;
}
body.admin-performance .star.half:after {
    content:'\2605';
    color: black;
    position: absolute;
    left:0;
    right:50%;
    top:0;
    bottom:0;
    overflow: hidden;
}
body.admin-involvements table.involvements {
   border-spacing: 0px;
   table-layout:fixed;
   width: 0px;
}
body.admin-involvements table th {
  text-align: left;
  padding-right: 15px;
}

body.admin-involvements table th {
  text-align: left;
  padding-right: 15px;
}
body.admin-involvements table tr td {
  padding: 7px 15px 7px 0px;
  vertical-align: top;
}
body.admin-involvements table.form tr td {
  padding: 0px 15px 3px 0px;
}
body.admin-involvements table.involvements tr:not(:last-child) td {
  border-bottom: 1px solid #dddddd !important;
}
body.admin-involvements div.group {
  padding-bottom: 25px;
}
body.admin-involvements h3 {
  margin-bottom: 0;
}
body.admin-involvements td.submit {
  vertical-align: middle;
}
body.admin-involvements div.field {
  margin-bottom: 0;
}
body.admin-involvements table tr th.coach,
body.admin-involvements select.coach {
  width: 150px;
}
body.admin-involvements table tr td {

}
body.admin-involvements table tr th.program,
body.admin-involvements select.program {
  width: 325px;
}
body.admin-involvements table tr th.start_on,
body.admin-involvements table tr th.cancelled_on,
body.admin-involvements table tr th.end_on {
  width: 80px;
}
body.admin-involvements table tr th.pauses {
  width: 210px;
}
body.admin-involvements table div.pauses {
  float: left;
}
body.admin-involvements table tr td  img {
  margin-top: -4px;
  margin-right: 5px;
}
body.admin-involvements table tr th.cancel,
body.admin-involvements table tr th.archive,
body.admin-involvements table tr th.resume,
body.admin-involvements table tr th.edit {
  width: 55px;
}
body.admin-involvements table tr th.unarchive {
  width: 70px;
}
body.admin-involvements table tr th.add_pause {
  width: 110px;
}
body.admin-involvements table tr th.paused {
  width: 100px;
}
body.admin-involvements-edit div.destroy {
  margin-top: 20px;
}
body.admin-involvements-edit div.destroy span.label {
  margin-left: 6px;
}
/* bulk involvements */
body.admin.bulk_archive select, body.admin.involvement_archive select {
  width: 400px;
  height: 300px;
}
/* scoring dimensions */
body.admin-scoring_dimensions.new textarea {
  height: 110px;
}
body.admin-scoring_dimensions.index div.instruction {
  margin-bottom: 20px;
}
/* survey groups */
body.admin-survey_groups input[type=text], body.admin-survey_groups select {
  width: 400px;
}
body.admin-survey_groups div.surveys {
  margin-top: 20px;
}
body.admin-survey_groups div.add_survey, body.admin-survey_groups div.surveys table, body.admin-survey_groups button[type=submit] {
  margin-top: 10px;
}
body.admin-survey_groups div.surveys table tr td:first-child {
  min-width: 350px;
}
/* company reports & slides */
body.admin-reports.companies input:not([type='submit']), body.admin-slides input, body.admin-slides select {
  width: 450px;
}
body.admin-reports select#management_report_program_ids {
  height: 150px;
}
body.admin-reports img.preview {
  margin-left: 6px;
}
body.admin-reports button[type=submit] {
  float: left;
}
body.admin-slides #scoring_dimensions select {
  height: 200px;
}

/* mobile display */
@media screen and (max-width: 1199px) {
    body.admin #header ul.menu li  {
    max-width: 35px;
    overflow: hidden;
  }
}

#report-title-test {
  font-family: Bitter;
  font-size: 35px;
  position: absolute;
  visibility: hidden;
  text-transform: uppercase;
  white-space: nowrap;
  width: auto;
}

.daterangepicker select.hourselect,
.daterangepicker select.minuteselect {
  font-size: 15px !important;
}

.daterangepicker .calendar-table th,
.daterangepicker .calendar-table td {
  font-size: 15px !important;
}

.d-none {
  display: none;
}

.duration-picker {
  margin-bottom: 75px;
}

.checkbox input[type=checkbox],
.checkbox-inline input[type=checkbox],
.radio input[type=radio],
.radio-inline input[type=radio] {
  position: static !important;
  margin-left: 0 !important;
}
.actions-icon { -webkit-transition: all .3s ease; -moz-transition: all .3s ease; -ms-transition: all .3s ease; -o-transition: all .3s ease; transition: all .3s ease; }

.actions-icon:hover { -moz-transform: scale(1.3); -webkit-transform: scale(1.3); -o-transform: scale(1.3); -ms-transform: scale(1.3); transform: scale(1.3); }

.graph_container {
  display: grid;
  grid-template-columns: 1fr 3fr;
  grid-gap: 20px;
}

#two-factor{text-align: center;}
#security-method{font-weight: bold;}
#authentication-app{border: solid 2px black; padding: 2%; margin-left: 1.5%}
.two-factor-modal {
  display: none; 
  position: fixed;
  z-index: 1;
  left: 0;
  top: -20rem;
  width: 100%;
  height: 100%;
  overflow: none;
  background-color: rgba(0, 0, 0, 0.4); 
}

.two-factor-modal-content {
  background-color: #fefefe;
  margin: 15% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 620px;
}

.two-factor-close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.two-factor-close:hover,
.two-factor-close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.qr-container {
  display: flex; 
  align-items: center; 
  justify-content: center;
}

.two-factor-modal-content a button{
  color: #444;
}

@media screen and (max-width: 1199px) {
  .two-factor-modal {
    top: 0;
  }
}

.program_registration_category, .program_coaching_type{
  width: 17rem;
}

.registration_category_note, .coaching_type_note{
  font-weight: bold;
}

.admin_login_password_container{
  position: relative;
  width: 173px;
}

.admin_login_eye{
  position: absolute;
  top: 29px;
  right: 2px;
  cursor: pointer;
  border-left: solid 0.5px;
  padding-left: 3px;
  background-color: transparent;
}

.admin_login_custom_width{
  width: 165px;
}

.program_search_fields{
  display: inline-block;
}
.search_input_field > input{
  height: 30px;
  padding: 0px !important;
}
.search_input_field > select{
  height: 32px;
  padding: 0px !important;
  border: 1px solid rgb(118, 118, 118);
  border-radius: 3px;
}
.choice_container{
  display: flex;
  max-width: 70%;
  position: relative;
}
.dossier_program_registration_container{
  width: 50%;
  padding-right: 12px;
}
.dossier_program_registration_container #guidance {
  width: 350px;
}
.dossier_program_registration_container > .form_container{
  width: 100%;
}
.dossier_program_registration_container > .form_container > form > select{
  margin-bottom: 11px;
  width: 261px;
}
.dossier_program_registration_container > .form_container > form > .field_with_errors > select, #desired_start_date{
  width: 261px;
}
.dossier_program_registration_container > .form_container > form > input{
  min-width: 261px;
}
.choice_container .choice_modal{
  display: none;
  border: solid black 2px;
  height: auto;
  background-color: rgb(219, 219, 219);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 20px;
  box-sizing: border-box;
  text-align: center;
  z-index: 999;
}
.choice_modal_buttons {
  margin: 10px 0 10px 0;
}
.choice_user_fields {
  text-align: left;
  margin-bottom: 30px;
}
.dossier_program_registration_container .form_container .bold_span{
  font-weight: bold;
}
.dossier_program_registration_container .form_container .confirm{
  margin-top: 30px;
  width: 261px;
  text-align: center;
}
.dossier_program_registration_container .form_container .program_label{
  margin-top: 19px;
}

.choice_button {
  background-color: blue;
  border-radius: 4px;
  cursor: pointer;
  display: block;
  text-align: center;
  box-sizing: border-box;
  text-decoration: none;
  color: white;
}
.choice_button:hover {
  color: white;
  text-decoration: none;
}
.dossier_program_registration_container .form_container .program-list-button{
  width: 261px;
  height: 30px;
  padding-top: 5px;
}
.choice_reminder .manual_data_request_button {
  margin-top: 20px;
  max-width: 261px;
  padding: 10px;
  border-style: none;
}
.choice_reminder .choice-reminder-button {
  padding: 10px;
  border-style: none;
}
.dossier_program_registration_container #no_company_message{
  color: red;
}
.last_program_container{
  width: 50%;
  box-sizing: border-box;
  border-left: 2px solid;
  padding-left: 80px;
}
.last_program_container #program_selected, #program_start_date_done{
  border: solid 1px;
  border-radius: 3px;
  background-color: rgb(239, 239, 239);
  min-width: 265px;
}
.last_program_container .program_start_date_done_label{
  margin-top: 25px;
}
.last_program_container #last_program_description{
  width: 350px;
}
.choice_reminder .choice_reminder_table {
  margin-top: 20px;
  display: flex;
  gap: 20px;
  align-items: center;
}
.choice_reminder_table table{
  border: solid 2px;
}
.choice_reminder_table table th,
.choice_reminder_table table td {
  border: solid 1px;
  padding: 5px;
}
#choice_overlay {
  display: none;
  position: absolute;
  content: "";
  top:0;
  left: 0;
  background: transparent;
  width: 100%;
  height: 100%;
  z-index:0;
}

.coaches_container,
.programs_container,
.involved_coaches_container{
  display: flex;
  flex-direction: row;
}
.coaches_container select,
.programs_container select,
.involved_coaches_container select {
  width: 425px;
  height: 200px !important;
  overflow-x: auto;
}
.add_remove_container{
  margin-left: 30px;
  margin-right: 30px;
}

/* Appointment Information */
.program_edit_container{
  display: flex;
  align-items: flex-start;
  position: relative;
}
.appointment_information_form_container{
  max-width: 550px;
  min-width: 450px;
  display: flex;
  flex: 1;
  margin-left: 50px;
  display: flex;
  flex-direction: column;
  position: relative;
  height: 1800px;
  overflow: auto;
  padding-right: 0px;
}
.appointment_information_form_container .appointment_information_form{
  position: sticky;
  top: 0;
  background-color: white;
}
.appointment_information_form_container form{
  display: flex;
  flex: 1;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 97%;
}

.appointment_information_number,
.appointment_information_number input#appointment_information_number,
.appointment_information_duration,
.appointment_information_duration input
{
  width: 80px;
}
.appointment_information_type,
.appointment_information_appointment_type,
.appointment_information_appointment_type input#appointment_information_appointment_type{
  width: 160px;
}

.appointment_information_number,
.appointment_information_number input#appointment_information_number,
.appointment_information_duration,
.appointment_information_duration input,
.appointment_information_type,
.appointment_information_appointment_type,
.appointment_information_appointment_type input#appointment_information_appointment_type{
  padding: 0px;
  margin: 0px;
}
.appointment_information_buttons{
  width: 100px;
  text-align: center;
}

.appointment_informations table{
  width: 100%;
}
.appointment_information_row{
  display: flex;
  flex: 1;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}

.edit_appointment_information_container{
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  border: solid 1px;
  background-color: rgb(238, 238, 238);
  max-width: 350px;
  min-width: 290px;
  display: none;
  min-height: 150px;
  text-align: center;
  height: 220px;
  z-index: 999;
}
.edit_appointment_information_container form{
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
.edit_appointment_information_container form .edit_appointment_information_buttons{
  position: absolute;
  transform: translate(-50%);
  top: 86%;
  left: 50%;
}
.edit_appointment_information_container form .edit_appointment_information_buttons button{
  padding: 7px;
  border: solid 1px black;
  border-radius: 3px;
  margin-left: 5px;
}
.edit_appointment_information_container form .edit_appointment_information_buttons button:hover{
  border: solid 2px black;
}
.appointment_information_errors{
  padding: 0px;
  margin-left: 10px;
  margin-top: 5px;
  list-style: none;
}
.appointment_information_errors li{
  color: red;
}
#edit_information_icon {
  transition: transform 0.3s ease-in-out;
  transform: scale(1);
}
#edit_information_icon:hover {
  transform: scale(1.4);
}
.appointment_information_overlay{
  position: absolute;
  content: "";
  top:0;
  left: 0;
  background: transparent;
  width: 100%;
  height: 100%;
  z-index:0;
}
.appointment_information_overlay_item{
  display: none;
}

/* program appointment information in  agenda tab*/
.agenda_container{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.agenda_appointment_information_container{
  margin-bottom: 20px;
  box-sizing: border-box;
  padding-right: 10px;
}

.agenda_appointment_information{
  margin-bottom: 20px;
}

.agenda_appointment_information_container table{
  border: solid 2px black;
  width: 100%;
}

.agenda_appointment_information_container table thead{
  border-bottom: solid 2px;
  background: rgb(219, 219, 219);
}

.align_center{
  text-align: center;
}

.align_right{
  text-align: right;
}

.table_cell_border{
  border: solid 1px rgb(219, 219, 219);
}

.gap-20{
  gap: 20px;
}
.search_from_date, .search_to_date, .search_appointment_type, .search_state{
  margin-bottom: 0px !important;
}

/* model versions */
.versions-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.versions-header h1 {
  margin: 5px;
}
.model_versions table {
  border: solid 2px;
  width: 100%;
}

.model_versions table th,
.model_versions table td{
  border: solid 1px;
  padding: 10px;
  min-width: 130px;
}

/* Company Registration Pages */
.company_registration_pages {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-top: 20px;
}
.company_registration_pages h3 {
  margin: 0;
}
.company_registration_pages > .add_button {
  text-decoration: none;
  border: solid 1px;
  padding: 4px;
  color: rgb(51, 51, 51);
  font-size: 13px;
  background-color: rgb(239, 239, 239);
  border-radius: 3px;
}
.company_registtration_pages_form form .input_fields{
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.company_registration_pages_table table{
  width: 100%;
  margin-top: 20px;
}
.company_registration_pages_table table thead,
.company_registration_pages_table table tbody {
  border-bottom: solid 2px;
}
.company_registration_pages_table table thead tr > :nth-child(-n+3),
.company_registration_pages_table table tbody tr > :nth-child(-n+3) {
  padding: 10px;
}
.company_registration_pages_table table tbody tr:nth-child(even) {
  background: #eee;
}
.company_registration_pages_table table .ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
}
body.admin-i18n_snippets.edit_page ul.company_page_specifc_feilds {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
body.admin-i18n_snippets.edit_page div.options {
  margin-left: 165px;
}
body.admin-i18n_snippets.edit_page div.options .option-input{
  min-width: 150px;
  margin-bottom: 10px;
}


/* admin view involvements */
.involvements.user-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding: 1rem;
}

.involvements.user-summary .grid-item {
  background-color: #f9f9f9;
  padding: 0.75rem;
  border: 1px solid #ddd;
  border-radius: 8px;
}

.involvements.user-summary .grid-item p:first-child {
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.involvements-container {
  margin-top: 20px;
  min-width: 59%;
}
.involvements-container .coach-and-programs-sections {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.involvements-container .involvement-actions {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  padding-right: 10px;
}
.involvements-container .involvement-actions #add-involvement {
  font-size: 16px;
  font-weight: 900;
  text-decoration: none;
}
.involvements-container .involvement-actions .submit {
  margin-left: auto;
}

.involvement-programs-container {
  display: flex;
  gap: 20px;
  min-height: 200px;
}
.involvement-programs-container .involvement-programs-block select {
  min-height: 100%;
  min-width: 300px;
}
.involvement-programs-block.actions {
  min-height: 100%;
  margin: 0px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 20px;
}
.involvement-programs-block.actions .remove-involvement {
  margin-top: auto;
}

/* compnay health check tab */
/* .enable-hc-cuttoff {
  display: flex;
  align-items: center;
  gap: 10px;
}
.enable-hc-cuttoff input[type="checkbox"] {
  margin: 0;
  width: 20px;
  height: 20px;
}

.hc-cuttoff-date {
  margin-left: 2.5%;
}
.hc-cuttoff-date > label {
  font-weight: 100 !important;
  margin-top: 0px !important;
} */

/* search selected members */
div.selectedMembersList ul li a:hover {
  color: #23527c !important;
}

div.selectedMembersList ul {
  list-style: none;
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

/* company department questions — card UI (second-level) */
#department-dissapear-fields {
  margin-top: 0.5rem;
}

#department-questions-container {
  margin-top: 0.75rem;
  margin-bottom: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

#department-questions-container .second-level-question-card {
  background: #fff;
  border: 1px solid #cfd8e3;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.07);
  overflow: hidden;
  margin-bottom: 0;
}

#department-questions-container .second-level-question-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 0.95rem 1.25rem;
  background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%);
  border-bottom: 1px solid #cbd5e1;
}

#department-questions-container .second-level-question-card__header-main {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  flex: 1;
}

#department-questions-container .second-level-question-card__toggle {
  position: relative;
  flex-shrink: 0;
  padding: 0.5rem 0.65rem;
  line-height: 1;
  border: 1px solid #94a3b8;
  border-radius: 8px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

#department-questions-container .second-level-question-card__toggle:hover {
  background: #fff;
}

#department-questions-container .second-level-question-card__toggle-icon {
  display: inline-block;
  font-size: 1rem;
  line-height: 1;
  transition: transform 0.2s ease;
}

#department-questions-container .second-level-question-card--collapsed .second-level-question-card__toggle-icon {
  transform: rotate(-90deg);
}

#department-questions-container .second-level-question-card--collapsed .second-level-question-card__header {
  border-bottom: none;
}

#department-questions-container .second-level-question-card--collapsed .second-level-question-card__body {
  display: none;
}

#department-questions-container .second-level-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

#department-questions-container .second-level-question-card__title {
  font-size: 1.35rem;
  font-weight: 600;
  color: #0f172a;
  letter-spacing: 0.01em;
  line-height: 1.3;
}

#department-questions-container .second-level-question-card__header-actions {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  flex-shrink: 0;
}

#department-questions-container .second-level-question-card__header-actions .btn {
  font-size: 1rem;
}

#department-questions-container .second-level-remove-answer {
  font-size: 1.05rem !important;
  font-weight: 600;
  padding: 0.35rem 0.5rem !important;
}

/* Header toolbar: flat icon buttons (sleek, not chunky boxes) */
#department-questions-container .second-level-reorder-btn,
#department-questions-container .second-level-remove-question-btn {
  background-image: none !important;
  text-shadow: none !important;
  filter: none;
}

#department-questions-container .second-level-reorder-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.4rem !important;
  line-height: 1;
  text-decoration: none !important;
  color: #1e293b !important;
  background-color: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 8px;
  box-shadow: none !important;
}

#department-questions-container .second-level-reorder-btn__icon {
  display: block;
  font-size: 1.52rem;
  font-weight: 700;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#department-questions-container .second-level-reorder-btn:hover:not(.disabled) {
  background-color: rgba(37, 99, 235, 0.1) !important;
  background-image: none !important;
  border-color: transparent !important;
  color: #1d4ed8 !important;
}

#department-questions-container .second-level-reorder-btn:focus {
  outline: 2px solid rgba(37, 99, 235, 0.45);
  outline-offset: 1px;
}

#department-questions-container .second-level-reorder-btn.disabled {
  cursor: not-allowed !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  color: #64748b !important;
  opacity: 0.72 !important;
  box-shadow: none !important;
}

#department-questions-container .second-level-remove-question-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding: 0.4rem !important;
  margin-left: 0.15rem;
  line-height: 1;
  text-decoration: none !important;
  color: #dc2626 !important;
  background-color: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 8px;
  box-shadow: none !important;
}

#department-questions-container .second-level-remove-question-btn__icon {
  font-size: 1.35rem;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#department-questions-container .second-level-remove-question-btn:hover {
  background-color: rgba(220, 38, 38, 0.1) !important;
  background-image: none !important;
  border-color: transparent !important;
  color: #b91c1c !important;
}

#department-questions-container .second-level-remove-question-btn:focus {
  outline: 2px solid rgba(220, 38, 38, 0.45);
  outline-offset: 1px;
}

#department-questions-container .second-level-question-card__body {
  padding: 1rem 1.2rem 1.35rem;
  background: #eef2f7;
}

/* Single grouped surface: question text + answers read as one form */
#department-questions-container .second-level-question-answer-stack {
  border: 1px solid #d1d9e6;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

#department-questions-container .second-level-question-answer-stack .second-level-panel {
  margin-bottom: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 1.25rem 1.4rem 1.35rem;
}

#department-questions-container .second-level-question-answer-stack .second-level-panel--wording {
  background: #fafbfd;
  border-bottom: 1px solid #e2e8f0;
}

#department-questions-container .second-level-question-answer-stack .second-level-panel--answers {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  border-left: 4px solid #2563eb;
  padding-left: 1.35rem;
}

#department-questions-container .second-level-answer-block__eyebrow {
  margin: 0 0 0.45rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #2563eb;
}

#department-questions-container .second-level-panel--answers .second-level-answer-block__heading {
  margin-top: 0;
}

#department-questions-container .second-level-panel__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 1.1rem;
  letter-spacing: 0.015em;
}

#department-questions-container .second-level-question-wording {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

#department-questions-container .second-level-question-wording .second-level-field {
  margin-bottom: 1.05rem;
}

#department-questions-container .second-level-question-wording .second-level-field:last-child {
  margin-bottom: 0;
}

#department-questions-container .second-level-question-wording label {
  font-weight: 600;
  font-size: 1.1rem;
  color: #1e293b;
  margin-bottom: 0.55rem;
}

/* BS3 admin has no .form-control-lg — size question text explicitly */
#department-questions-container .second-level-question-wording input.form-control,
#department-questions-container .second-level-question-wording textarea.form-control {
  border-radius: 8px;
  border: 1px solid #94a3b8;
  font-size: 1.2rem;
  line-height: 1.45;
  font-weight: 400;
  color: #0f172a;
  min-height: 3rem;
  padding: 0.65rem 0.9rem;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.05);
}

#department-questions-container .second-level-question-wording input.form-control::placeholder,
#department-questions-container .second-level-question-wording textarea.form-control::placeholder {
  color: #64748b;
  opacity: 1;
  font-size: 1.1rem;
}

#department-questions-container .second-level-question-wording input.form-control:-ms-input-placeholder,
#department-questions-container .second-level-question-wording textarea.form-control:-ms-input-placeholder {
  color: #64748b;
  font-size: 1.1rem;
}

#department-questions-container .second-level-question-wording input.form-control:focus,
#department-questions-container .second-level-question-wording textarea.form-control:focus {
  color: #0f172a;
  border-color: #2563eb;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.05), 0 0 0 0.2rem rgba(37, 99, 235, 0.18);
}

#department-questions-container .second-level-answer-block__heading {
  font-size: 1.02rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  color: #334155;
  margin-bottom: 0.5rem;
}

#department-questions-container .second-level-answer-block__hint {
  margin: 0 0 1.1rem;
  font-size: 1.08rem;
  line-height: 1.55;
  color: #475569;
  max-width: 62rem;
}

#department-questions-container .second-level-answer-block__table-scroll {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
  background: #f1f5f9;
}

#department-questions-container .second-level-answers-table {
  align-self: stretch;
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  margin-bottom: 0;
  background: #fff;
}

#department-questions-container .second-level-answers-table thead th {
  background: #f1f5f9;
  font-size: 1.02rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #1e293b;
  border-bottom: 2px solid #e2e8f0;
  padding: 0.85rem 0.8rem;
  vertical-align: top;
}

#department-questions-container .second-level-answers-table thead th.second-level-th-programs {
  text-transform: none;
  letter-spacing: 0.01em;
}

#department-questions-container .second-level-th-programs__line {
  display: block;
  font-size: 1.05rem;
  font-weight: 700;
  color: #0f172a;
}

#department-questions-container .second-level-th-programs__sub {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #475569;
  line-height: 1.35;
}

#department-questions-container .second-level-answers-table tbody tr.department-fields,
#department-questions-container .second-level-answers-table tbody tr.second-level-answer-row {
  border-bottom: 1px solid #e9eef5;
}

#department-questions-container .second-level-answers-table tbody tr.department-fields:nth-child(even),
#department-questions-container .second-level-answers-table tbody tr.second-level-answer-row:nth-child(even) {
  background: #fafbfc;
}

#department-questions-container .second-level-answers-table tbody tr.department-fields:hover,
#department-questions-container .second-level-answers-table tbody tr.second-level-answer-row:hover {
  background: #f0f7ff;
}

#department-questions-container .second-level-answers-table tbody tr.department-fields:last-child,
#department-questions-container .second-level-answers-table tbody tr.second-level-answer-row:last-child {
  border-bottom: none;
}

#department-questions-container .second-level-answers-table th,
#department-questions-container .second-level-answers-table td {
  vertical-align: top;
  padding: 0.85rem 0.8rem;
  box-sizing: border-box;
}

/* Keep NL/EN/FR inputs top-aligned when validation errors render (input then error). */
#department-questions-container .second-level-answers-table td.custom-department-table__name .second-level-answer-cell {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.25rem;
}

#department-questions-container .second-level-answers-table td.custom-department-table__name .second-level-answer-cell .error_message {
  display: block;
  margin: 0;
  line-height: 1.3;
}

#department-questions-container .second-level-answers-table th:nth-child(1),
#department-questions-container .second-level-answers-table td:nth-child(1) {
  width: 16%;
}

#department-questions-container .second-level-answers-table th:nth-child(2),
#department-questions-container .second-level-answers-table td:nth-child(2) {
  width: 16%;
}

#department-questions-container .second-level-answers-table th:nth-child(3),
#department-questions-container .second-level-answers-table td:nth-child(3) {
  width: 16%;
}

#department-questions-container .second-level-answers-table th:nth-child(4),
#department-questions-container .second-level-answers-table td:nth-child(4) {
  width: 44%;
  min-width: 11rem;
}

#department-questions-container .second-level-answers-table th:nth-child(5),
#department-questions-container .second-level-answers-table td:nth-child(5) {
  width: 8%;
  min-width: 4.75rem;
  white-space: nowrap;
  text-align: right;
}

#department-questions-container .second-level-answers-table td:nth-child(1) .form-control,
#department-questions-container .second-level-answers-table td:nth-child(1) input[type="text"],
#department-questions-container .second-level-answers-table td:nth-child(2) .form-control,
#department-questions-container .second-level-answers-table td:nth-child(2) input[type="text"],
#department-questions-container .second-level-answers-table td:nth-child(3) .form-control,
#department-questions-container .second-level-answers-table td:nth-child(3) input[type="text"] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-radius: 8px;
  border: 1px solid #94a3b8;
  font-size: 1.15rem;
  line-height: 1.45;
  font-weight: 400;
  color: #0f172a;
  min-height: 3rem;
  padding: 0.6rem 0.8rem;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

#department-questions-container .second-level-answers-table td:nth-child(1) input::placeholder,
#department-questions-container .second-level-answers-table td:nth-child(2) input::placeholder,
#department-questions-container .second-level-answers-table td:nth-child(3) input::placeholder {
  color: #64748b;
  opacity: 1;
  font-size: 1.08rem;
}

#department-questions-container .second-level-answers-table td:nth-child(1) input:-ms-input-placeholder,
#department-questions-container .second-level-answers-table td:nth-child(2) input:-ms-input-placeholder,
#department-questions-container .second-level-answers-table td:nth-child(3) input:-ms-input-placeholder {
  color: #64748b;
  font-size: 1.08rem;
}

#department-questions-container .second-level-answers-table td:nth-child(1) input:focus,
#department-questions-container .second-level-answers-table td:nth-child(2) input:focus,
#department-questions-container .second-level-answers-table td:nth-child(3) input:focus {
  color: #0f172a;
  border-color: #2563eb;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04), 0 0 0 0.2rem rgba(37, 99, 235, 0.16);
}

#department-questions-container .second-level-answers-table select.department-auto-programs-select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  max-height: 18rem;
  overflow-y: auto;
  border-radius: 8px;
  border: 1px solid #94a3b8;
  font-size: 1.1rem;
  line-height: 1.5;
  font-weight: 400;
  color: #0f172a;
  padding: 0.5rem 0.65rem;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04);
}

#department-questions-container .second-level-add-answer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-top: 1.15rem;
  padding: 0.7rem 1.45rem !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  line-height: 1.25;
  border-radius: 10px !important;
  border-width: 2px !important;
  color: #fff !important;
  background: #2563eb !important;
  border-color: #1d4ed8 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 8px rgba(37, 99, 235, 0.35);
}

#department-questions-container .second-level-add-answer:hover,
#department-questions-container .second-level-add-answer:focus {
  color: #fff !important;
  background: #1d4ed8 !important;
  border-color: #1e40af !important;
  box-shadow: 0 3px 10px rgba(30, 64, 175, 0.4);
}

#department-questions-container .second-level-add-answer:focus {
  outline: 2px solid #93c5fd;
  outline-offset: 2px;
}

#department-questions-container .second-level-plus {
  font-weight: 800;
  font-size: 1.25rem;
  line-height: 1;
  margin-right: 0.15rem;
  opacity: 1;
}

/* SOUTHVILLE-1065: per-answer card with per-language sections */
#department-questions-container .answer-card {
  padding: 0.5rem 0;
}

#department-questions-container .answer-card__actions {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.5rem;
}

#department-questions-container .answer-card__language-section {
  border-top: 1px solid #e9eef5;
  padding: 0.75rem 0;
}

#department-questions-container .answer-card__language-section:first-of-type {
  border-top: none;
}

#department-questions-container .answer-card__column-headers,
#department-questions-container .answer-card__row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  align-items: start;
}

#department-questions-container .answer-card__column-headers {
  margin-bottom: 0.35rem;
}

#department-questions-container .answer-card__row--extra {
  margin-top: 0.5rem;
}

#department-questions-container .answer-card__field-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #5a6b80;
  margin-bottom: 0.35rem;
}

#department-questions-container .answer-card__cell .form-control {
  width: 100%;
}

#department-questions-container .add-auto-enrollment {
  margin-top: 0.35rem;
  font-size: 0.85rem;
}

/* Extra-row Remove sits inline with the coach select, not below it. */
#department-questions-container .answer-card__row--extra .answer-card__cell--coach {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

#department-questions-container .answer-card__row--extra .answer-card__cell--coach .form-control {
  flex: 1;
  min-width: 0;
}

#department-questions-container .second-level-remove-auto-enrollment {
  flex: 0 0 auto;
  padding: 0.25rem 0.5rem;
  font-size: 0.85rem;
  white-space: nowrap;
}

.second-level-btn-add-question {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
  padding: 0.6rem 1.35rem;
  font-weight: 600;
  font-size: 1.05rem;
  color: #fff !important;
  background: #1e2a3a !important;
  border: 1px solid #152030 !important;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(30, 42, 58, 0.2);
}

.second-level-btn-add-question:hover,
.second-level-btn-add-question:focus {
  background: #2d3d52 !important;
  border-color: #1e2a3a !important;
  color: #fff !important;
}

.second-level-after-questions {
  height: 1px;
  margin: 0.75rem 0 0.25rem;
  background: linear-gradient(90deg, transparent, #dee2e6 15%, #dee2e6 85%, transparent);
}

/* Admin Users Filter actions */
.search_result_actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
}


/* Program Delete Modal */
.program-delete-modal-conatiner .modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1050;
}

.program-delete-modal-conatiner .modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: nowrap;
}

.program-delete-modal-conatiner .modal-footer .btn {
  white-space: normal;
  word-break: break-word;
}

.program-delete-modal-conatiner .modal.d-none {
  display: none !important;
}

.program-delete-modal-conatiner .modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1040;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.15s;
}

.program-delete-modal-conatiner .modal-backdrop.show {
  opacity: 0.5;
}

.program-delete-modal-conatiner .modal.show {
  animation: fadeInScale 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}

@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  60% {
    opacity: 1;
    transform: translateY(10px) scale(1.02);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Management Report - Expandable Logic Section */
.report-logic-expandable {
  margin-bottom: 20px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: #f9f9f9;
}

.report-logic-toggle {
  display: flex;
  align-items: center;
  padding: 12px 15px;
  text-decoration: none;
  color: #0066cc;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.report-logic-toggle:hover {
  background-color: #eef5ff;
  text-decoration: none;
}

.report-logic-icon {
  display: inline-block;
  margin-right: 10px;
  font-size: 12px;
  transition: transform 0.3s ease;
}

.report-logic-icon.expanded {
  transform: rotate(90deg);
}

.report-logic-title {
  font-size: 14px;
}

.report-logic-content {
  padding: 15px 20px;
  border-top: 1px solid #ddd;
  background-color: #fff;
  line-height: 1.6;
}

.report-logic-content h4 {
  margin-top: 35px;
  margin-bottom: 15px;
  padding-bottom: 10px;
  color: #222;
  font-size: 17px !important;
  font-weight: 700 !important;
  border-bottom: 2px solid #ddd;
}

.report-logic-content h4:first-child {
  margin-top: 0;
}

.report-logic-content ul {
  margin: 10px 0 20px 0;
  padding-left: 25px;
}

.report-logic-content li {
  margin-bottom: 8px;
}

.report-logic-content ul ul {
  margin-top: 8px;
  margin-bottom: 0;
}

.report-logic-content ul ul li {
  margin-bottom: 4px;
}

.report-logic-content p {
  margin: 10px 0;
}

/* Solution Categories */
.solution-categories-container .solution-category-programs-cell {
  vertical-align: top;
}

.solution-categories-container .solution-category-programs-list {
  margin: 0;
  padding-left: 16px;
  font-size: smaller;
}

.solution-categories-container .solution-category-programs-list li {
  margin-bottom: 2px;
  line-height: 1.3;
}

.solution-categories-container .solution-category-programs-toggle {
  display: inline-block;
  margin-top: 2px;
  font-size: smaller;
}

.solution-categories-container .custom-modal {
  display: none;
  position: fixed;
  z-index: 1050;
  inset: 0;
  background: rgba(0,0,0,0.5);
  overflow-y: auto;
}

.solution-categories-container .custom-modal.show {
  display: block;
}

.solution-categories-container .custom-modal-dialog {
  width: 100%;
  max-width: 600px;
  margin: 60px auto;
  padding: 0 15px;
  box-sizing: border-box;
}

.solution-categories-container .custom-modal .panel {
  margin-bottom: 0;
}

.solution-categories-container .custom-modal .panel-body {
  overflow: hidden;
}

.solution-categories-container .custom-modal .form-group {
  margin-bottom: 15px;
}

.solution-categories-container .custom-modal input.form-control {
  width: 100%;
  box-sizing: border-box;
}
/* Collapsible sections on the Edit Program form (SOUTHVILLE-1097) */
.program-form-section {
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  margin-bottom: 8px;
}
.program-form-section-header {
  margin: 0;
  padding: 10px 14px;
  background: #f4f4f4;
  cursor: pointer;
  font-size: 14px;
  -webkit-user-select: none;
  user-select: none;
}
.program-form-section-header:before {
  content: "\25B8";
  display: inline-block;
  margin-right: 8px;
  color: #888;
  transition: transform 0.15s ease;
}
.program-form-section.open > .program-form-section-header:before {
  transform: rotate(90deg);
}
.program-form-section-body {
  padding: 12px 14px;
}

/* Outcome stat rows on the Edit Program form (SOUTHVILLE-1097) */
.program-form-section .outcome-stat {
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #e5e5e5;
}
.program-form-section .outcome-stat:last-child {
  border-bottom: 0;
}

/* Repeatable FAQ / bullet rows on the Edit Program form (SOUTHVILLE-1097) */
.program-form-section .list-row {
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #e5e5e5;
}
.program-form-section .faq.dummy,
.program-form-section .bullet.dummy {
  display: none;
}

/* Collapse-all / expand-all control on the Edit Program form (SOUTHVILLE-1097) */
.reg-page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.program-sections-toggle {
  flex: none;
  padding: 6px 12px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background: #f4f4f4;
  cursor: pointer;
  font-size: 13px;
}
.program-sections-toggle:hover {
  background: #ececec;
}

/* SOUTHVILLE-1123: registration-page menu-topic icon dropdown. A hidden field holds
   the value; the trigger mirrors the chosen icon+name, the menu lists icon+name
   rows (inline SVG, currentColor). Selected row = filled + checkmark. Non-default
   pages only. */
.nd-icon-select {
  position: relative;
  width: 260px;
  max-width: 100%;
  margin-top: 4px;
}
.nd-icon-select__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 34px;
  padding: 6px 10px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
  line-height: 1.3;
  text-align: left;
}
.nd-icon-select__trigger:hover { border-color: #999; }
.nd-icon-select__trigger[aria-expanded="true"] {
  border-color: #2b5544;
  box-shadow: inset 0 0 0 1px #2b5544;
}
.nd-icon-select__current { display: inline-flex; align-items: center; gap: 8px; min-width: 0; white-space: nowrap; overflow: hidden; }
.nd-icon-select__caret { color: #888; flex: none; }
.nd-icon-select__menu {
  position: absolute;
  z-index: 30;
  left: 0;
  right: 0;
  top: calc(100% + 3px);
  margin: 0;
  padding: 4px;
  list-style: none;
  max-height: 300px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .14);
}
.nd-icon-select__option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 13px;
  color: #333;
  white-space: nowrap;
}
.nd-icon-select__option:hover { background: #f0f4f2; }
.nd-icon-select__option.is-selected { background: #f3f7f5; font-weight: 600; }
.nd-icon-select__option.is-selected::after {
  content: "\2713";
  margin-left: auto;
  color: #2b5544;
  font-weight: 700;
}
.nd-icon-select__glyph { width: 20px; height: 20px; color: #333; flex: none; }
.nd-icon-select__glyph svg { width: 100%; height: 100%; display: block; }
.nd-icon-select__label--none { color: #888; font-style: italic; }
