/**
 * File created by Peter Olszowka July 17, 2020
 * Copyright (c) 2020-2026 Peter Olszowka. All rights reserved. See copyright document for more details.
 */
/* Header Stuff */
header h1 {
  flex-grow: 1;
  text-align: center;
  font-family: Verdana, helvetica, san-serif;
  font-size: 2rem;
  padding: 1em;
  color: #000000;
  font-weight: 700;
  margin: 10px 0;
}
header label {
  color: #000000;
  display: block;
  text-align: right;
  font-size: 1.1em;
}
header .imgButton {
  cursor: pointer;
}
header p {
  font-size: 1rem;
  line-height: 1.5;
}
.collapsible-wrapper {
  display: flex;
  overflow: hidden;
}
.collapsible-wrapper:after {
  content: '';
  height: 50px;
  transition: height 0.3s linear, max-height 0s 0.3s linear;
  max-height: 0;
}
.collapsible-wrapper.collapsed > .collapsible {
  margin-bottom: -500px;
  transition: margin-bottom 0.3s cubic-bezier(1, 0, 1, 1), visibility 0s 0.3s, max-height 0s 0.3s;
  visibility: hidden;
  max-height: 0;
}
.collapsible-wrapper.collapsed:after {
  height: 0;
  transition: height 0.3s linear;
  max-height: 50px;
}
.collapsible {
  transition: margin-bottom 0.3s cubic-bezier(0, 0, 0, 1);
  margin-bottom: 0;
  max-height: 500px;
}
.header {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.header.participant-header {
  background-color: #dedcff;
  background-image: linear-gradient(0deg, #e5e5e5 0%, #c3c1db 57%, #8d86d9 87.3%, #2c14ff 100%);
}
.header.staff-header {
  background-color: #a7d2a5;
  background-image: linear-gradient(0deg, #f0f0f0 0%, #f0f0f0 24%, #b8cfbd 54%, #73ba83 74%, #0d8026 100%);
  color: black;
}
.header-contents {
  height: 12.5rem;
  flex-grow: 1;
  display: flex;
}
.header-contents img {
  height: 100%;
}
#welcome {
  float: right;
  margin: 1em 1em 0 0;
}
#welcome p {
  color: #ffffff;
  text-align: right;
  letter-spacing: 0.04rem;
}
#welcome.extended {
  margin-top: 3rem;
}
.alt-header-contents {
  display: flex;
}
.alt-header-contents.participant-header {
  background-color: #dedcff;
  background-image: linear-gradient(0deg, #e5e5e5 0%, #9e99dc 30.2%, #6156e0 71.8%, #2c14ff 100%);
}
.alt-header-contents.staff-header {
  background-color: #a7d2a5;
  background-image: linear-gradient(0deg, #f0f0f0 0%, #b8cfbd 54%, #73ba83 74%, #0d8026 100%);
}
.alt-header-spacer {
  width: 15rem;
}
.alt-header-title {
  flex-grow: 1;
  text-align: center;
  align-self: center;
  font-weight: bold;
  font-size: 1.5rem;
  letter-spacing: 0.04rem;
  font-family: Verdana, helvetica, san-serif;
}
.alt-header-controls p {
  display: inline-block;
  padding-right: 0.5em;
}
.participant-header .alt-header-controls p {
  color: #e5e5e5;
}
.alt-header-controls img {
  margin-right: 0.4rem;
  margin-left: 0.4rem;
}
/* End Header Stuff */
body:not(.full-page) {
  background-image: url('../images/light_honeycomb.png');
  background-repeat: repeat;
}
#ParticipantView {
  color: #4da3ff;
  letter-spacing: 0.03rem;
}
#ParticipantView:hover {
  color: #75d6ff;
}
#StaffView {
  color: #00aa00;
}
#StaffView:hover {
  color: #22ee22;
}
/* General Form Defaults */
input[type="text"],
input[type="password"],
input:not([type]),
select {
  height: 2rem;
  border: 1px solid #606060;
  border-radius: 4px;
}
textarea {
  border: 1px solid #606060;
  border-radius: 4px;
}
textarea.tall-textarea {
  height: calc(12rem - 5px);
}
/* Make a closed "choices" (see external/choices9.0.0) select match the height/border/font of a plain select. */
.choices:not(.is-open) .choices__inner {
  min-height: initial;
  height: 2rem;
  display: flex;
  align-items: center;
  padding: 0 1.6rem 0 0.5rem;
  border: 1px solid #606060;
  border-radius: 4px;
  background-color: #fff;
  font-size: 1rem;
}
.choices:not(.is-open) .choices__list--single {
  padding: 0 0 0 0.25rem;
  min-width: 0;
}
.choices:not(.is-open) .choices__list--single > .choices__item--selectable {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.form-group .tox-tinymce {
  border: 1px solid #606060;
  border-radius: 4px;
}
/* End of General Form Defaults */
.note {
  font-size: 90%;
}
.hidden {
  display: none !important;
  visibility: hidden !important;
}
.clearboth {
  clear: both;
}
#no-menu-spacer {
  margin-bottom: 1rem;
  margin-left: -15px;
  margin-right: -15px;
  height: 0.5rem;
  background-color: black;
}
.roles-list-container {
  column-count: 3;
  max-width: 60rem;
}
.roles-list-container {
  column-count: 3;
  max-width: 70rem;
}
/* Report table (DataTables) */
.reportPageContent {
  line-height: normal;
}
div.reportPageContent table,
table.report {
  border-collapse: collapse;
  margin: 10px;
  border: 1px solid #000000;
  font-family: Arial;
  font-size: 13.5px;
}
div.reportPageContent table th,
th.report {
  border: 1px solid #000000;
  background-color: #c0e4ff;
  padding-right: 0.2em;
  padding-left: 0.2em;
}
div.reportPageContent table td {
  border: 1px solid #000000;
  vertical-align: top;
  padding-left: 0.2em;
  padding-right: 0.2em;
}
td.report {
  border: 1px solid #000000;
  vertical-align: top;
  padding-left: 0.2em;
  padding-right: 0.2em;
}
td.report.report-spacious {
  padding-left: 0.5em;
  padding-right: 0.5em;
}
td.report.report-align-right {
  text-align: right;
}
div.reportPageContent table td a,
.report A {
  color: #1c30b0;
}
th.report.sorting_disabled span.sorting {
  display: none;
}
td.report.highlight1 {
  font-weight: bold;
  background-color: #e17575;
}
td.za-report-lastRowCell {
  border-bottom: 2px solid #000000;
}
/* Override DataTables' default inactive sort-arrow opacity (0.125) to make it more visible.
   ".dt-orderable-{asc,desc}" (can be sorted this way) and ".dt-ordering-{asc,desc}" (is
   currently sorted this way) co-occur on an actively-sorted header, so the :not() exclusions
   below are needed to avoid also dimming the active arrow (styled to opacity 0.6 by DataTables). */
table.dataTable thead > tr > th.dt-orderable-asc:not(.dt-ordering-asc) .dt-column-order:before,
table.dataTable thead > tr > td.dt-orderable-asc:not(.dt-ordering-asc) .dt-column-order:before,
table.dataTable thead > tr > th.dt-orderable-desc:not(.dt-ordering-desc) .dt-column-order:after,
table.dataTable thead > tr > td.dt-orderable-desc:not(.dt-ordering-desc) .dt-column-order:after,
table.dataTable thead > tr > th.dt-ordering-asc .dt-column-order:after,
table.dataTable thead > tr > td.dt-ordering-asc .dt-column-order:after,
table.dataTable thead > tr > th.dt-ordering-desc .dt-column-order:before,
table.dataTable thead > tr > td.dt-ordering-desc .dt-column-order:before {
  opacity: 0.25 !important;
}
/* End of report table (DataTables) */
/**
 * Maintain Room Schedule
 */
.room-select-td > .choices {
  width: 31rem;
}
.room-select-td {
  /* min-height is not honored on table cells by browsers; height acts as a floor instead, and is tall enough
     to fit the choices select's open (search box) state so opening it doesn't reflow the table */
  height: 4rem;
}
.schedule-time-input {
  width: 4.5rem;
}
.schedule-duration-input {
  width: 4rem;
}
.current-schedule-editable.field-modified {
  border-color: #d4a017;
  background-color: #fff8e1;
}
.revert-row-btn {
  margin-top: 0.25rem;
}
/**
 * <end> Maintain Room Schedule
 */
