@charset "UTF-8";
/* Bulma Utilities */
@keyframes spinAround {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
.select:not(.is-multiple):not(.is-loading)::after, select:not(.is-multiple):not(.is-loading)::after {
  border: 3px solid transparent;
  border-radius: 2px;
  border-right: 0;
  border-top: 0;
  content: " ";
  display: block;
  height: 0.625em;
  margin-top: -0.4375em;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: rotate(-45deg);
  transform-origin: center;
  width: 0.625em;
}

.select.is-loading::after, select.is-loading::after {
  animation: spinAround 500ms infinite linear;
  border: 2px solid #dbdbdb;
  border-radius: 290486px;
  border-right-color: transparent;
  border-top-color: transparent;
  content: "";
  display: block;
  height: 1em;
  position: relative;
  width: 1em;
}

input[type=text], input[type=password], input[type=email], textarea, .select select, select select, .textarea, .input {
  -moz-appearance: none;
  -webkit-appearance: none;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 4px;
  box-shadow: none;
  display: inline-flex;
  font-size: 1rem;
  height: 2.5em;
  justify-content: flex-start;
  line-height: 1.5;
  padding-bottom: calc(0.5em - 1px);
  padding-left: calc(0.75em - 1px);
  padding-right: calc(0.75em - 1px);
  padding-top: calc(0.5em - 1px);
  position: relative;
  vertical-align: top;
}
input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, textarea:focus, .select select:focus, select select:focus, .textarea:focus, .input:focus, input.is-focused[type=text], input.is-focused[type=password], input.is-focused[type=email], textarea.is-focused, .select select.is-focused, select select.is-focused, .is-focused.textarea, .is-focused.input, input[type=text]:active, input[type=password]:active, input[type=email]:active, textarea:active, .select select:active, select select:active, .textarea:active, .input:active, input.is-active[type=text], input.is-active[type=password], input.is-active[type=email], textarea.is-active, .select select.is-active, select select.is-active, .is-active.textarea, .is-active.input {
  outline: none;
}
input[disabled][type=text], input[disabled][type=password], input[disabled][type=email], textarea[disabled], .select select[disabled], select select[disabled], [disabled].textarea, [disabled].input, fieldset[disabled] input[type=text], fieldset[disabled] input[type=password], fieldset[disabled] input[type=email], fieldset[disabled] textarea, fieldset[disabled] .select select, fieldset[disabled] select select, .select fieldset[disabled] select, select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input {
  cursor: not-allowed;
}

input[type=text], input[type=password], input[type=email], textarea, .select select, select select, .textarea, .input {
  background-color: white;
  border-color: #dbdbdb;
  border-radius: 4px;
  color: #363636;
}
input[type=text]::-moz-placeholder, input[type=password]::-moz-placeholder, input[type=email]::-moz-placeholder, textarea::-moz-placeholder, .select select::-moz-placeholder, select select::-moz-placeholder, .textarea::-moz-placeholder, .input::-moz-placeholder {
  color: rgba(54, 54, 54, 0.3);
}
input[type=text]::-webkit-input-placeholder, input[type=password]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, textarea::-webkit-input-placeholder, .select select::-webkit-input-placeholder, select select::-webkit-input-placeholder, .textarea::-webkit-input-placeholder, .input::-webkit-input-placeholder {
  color: rgba(54, 54, 54, 0.3);
}
input[type=text]:-moz-placeholder, input[type=password]:-moz-placeholder, input[type=email]:-moz-placeholder, textarea:-moz-placeholder, .select select:-moz-placeholder, select select:-moz-placeholder, .textarea:-moz-placeholder, .input:-moz-placeholder {
  color: rgba(54, 54, 54, 0.3);
}
input[type=text]:-ms-input-placeholder, input[type=password]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, textarea:-ms-input-placeholder, .select select:-ms-input-placeholder, select select:-ms-input-placeholder, .textarea:-ms-input-placeholder, .input:-ms-input-placeholder {
  color: rgba(54, 54, 54, 0.3);
}
input[type=text]:hover, input[type=password]:hover, input[type=email]:hover, textarea:hover, .select select:hover, select select:hover, .textarea:hover, .input:hover, input.is-hovered[type=text], input.is-hovered[type=password], input.is-hovered[type=email], textarea.is-hovered, .select select.is-hovered, select select.is-hovered, .is-hovered.textarea, .is-hovered.input {
  border-color: #b5b5b5;
}
input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, textarea:focus, .select select:focus, select select:focus, .textarea:focus, .input:focus, input.is-focused[type=text], input.is-focused[type=password], input.is-focused[type=email], textarea.is-focused, .select select.is-focused, select select.is-focused, .is-focused.textarea, .is-focused.input, input[type=text]:active, input[type=password]:active, input[type=email]:active, textarea:active, .select select:active, select select:active, .textarea:active, .input:active, input.is-active[type=text], input.is-active[type=password], input.is-active[type=email], textarea.is-active, .select select.is-active, select select.is-active, .is-active.textarea, .is-active.input {
  border-color: #3273dc;
  box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
}
input[disabled][type=text], input[disabled][type=password], input[disabled][type=email], textarea[disabled], .select select[disabled], select select[disabled], [disabled].textarea, [disabled].input, fieldset[disabled] input[type=text], fieldset[disabled] input[type=password], fieldset[disabled] input[type=email], fieldset[disabled] textarea, fieldset[disabled] .select select, fieldset[disabled] select select, .select fieldset[disabled] select, select fieldset[disabled] select, fieldset[disabled] .textarea, fieldset[disabled] .input {
  background-color: whitesmoke;
  border-color: whitesmoke;
  box-shadow: none;
  color: #7a7a7a;
}
input[disabled][type=text]::-moz-placeholder, input[disabled][type=password]::-moz-placeholder, input[disabled][type=email]::-moz-placeholder, textarea[disabled]::-moz-placeholder, .select select[disabled]::-moz-placeholder, select select[disabled]::-moz-placeholder, [disabled].textarea::-moz-placeholder, [disabled].input::-moz-placeholder, fieldset[disabled] input[type=text]::-moz-placeholder, fieldset[disabled] input[type=password]::-moz-placeholder, fieldset[disabled] input[type=email]::-moz-placeholder, fieldset[disabled] textarea::-moz-placeholder, fieldset[disabled] .select select::-moz-placeholder, fieldset[disabled] select select::-moz-placeholder, .select fieldset[disabled] select::-moz-placeholder, select fieldset[disabled] select::-moz-placeholder, fieldset[disabled] .textarea::-moz-placeholder, fieldset[disabled] .input::-moz-placeholder {
  color: rgba(122, 122, 122, 0.3);
}
input[disabled][type=text]::-webkit-input-placeholder, input[disabled][type=password]::-webkit-input-placeholder, input[disabled][type=email]::-webkit-input-placeholder, textarea[disabled]::-webkit-input-placeholder, .select select[disabled]::-webkit-input-placeholder, select select[disabled]::-webkit-input-placeholder, [disabled].textarea::-webkit-input-placeholder, [disabled].input::-webkit-input-placeholder, fieldset[disabled] input[type=text]::-webkit-input-placeholder, fieldset[disabled] input[type=password]::-webkit-input-placeholder, fieldset[disabled] input[type=email]::-webkit-input-placeholder, fieldset[disabled] textarea::-webkit-input-placeholder, fieldset[disabled] .select select::-webkit-input-placeholder, fieldset[disabled] select select::-webkit-input-placeholder, .select fieldset[disabled] select::-webkit-input-placeholder, select fieldset[disabled] select::-webkit-input-placeholder, fieldset[disabled] .textarea::-webkit-input-placeholder, fieldset[disabled] .input::-webkit-input-placeholder {
  color: rgba(122, 122, 122, 0.3);
}
input[disabled][type=text]:-moz-placeholder, input[disabled][type=password]:-moz-placeholder, input[disabled][type=email]:-moz-placeholder, textarea[disabled]:-moz-placeholder, .select select[disabled]:-moz-placeholder, select select[disabled]:-moz-placeholder, [disabled].textarea:-moz-placeholder, [disabled].input:-moz-placeholder, fieldset[disabled] input[type=text]:-moz-placeholder, fieldset[disabled] input[type=password]:-moz-placeholder, fieldset[disabled] input[type=email]:-moz-placeholder, fieldset[disabled] textarea:-moz-placeholder, fieldset[disabled] .select select:-moz-placeholder, fieldset[disabled] select select:-moz-placeholder, .select fieldset[disabled] select:-moz-placeholder, select fieldset[disabled] select:-moz-placeholder, fieldset[disabled] .textarea:-moz-placeholder, fieldset[disabled] .input:-moz-placeholder {
  color: rgba(122, 122, 122, 0.3);
}
input[disabled][type=text]:-ms-input-placeholder, input[disabled][type=password]:-ms-input-placeholder, input[disabled][type=email]:-ms-input-placeholder, textarea[disabled]:-ms-input-placeholder, .select select[disabled]:-ms-input-placeholder, select select[disabled]:-ms-input-placeholder, [disabled].textarea:-ms-input-placeholder, [disabled].input:-ms-input-placeholder, fieldset[disabled] input[type=text]:-ms-input-placeholder, fieldset[disabled] input[type=password]:-ms-input-placeholder, fieldset[disabled] input[type=email]:-ms-input-placeholder, fieldset[disabled] textarea:-ms-input-placeholder, fieldset[disabled] .select select:-ms-input-placeholder, fieldset[disabled] select select:-ms-input-placeholder, .select fieldset[disabled] select:-ms-input-placeholder, select fieldset[disabled] select:-ms-input-placeholder, fieldset[disabled] .textarea:-ms-input-placeholder, fieldset[disabled] .input:-ms-input-placeholder {
  color: rgba(122, 122, 122, 0.3);
}

.textarea, .input {
  box-shadow: inset 0 0.0625em 0.125em rgba(10, 10, 10, 0.05);
  max-width: 100%;
  width: 100%;
}
[readonly].textarea, [readonly].input {
  box-shadow: none;
}
.is-white.textarea, .is-white.input {
  border-color: white;
}
.is-white.textarea:focus, .is-white.input:focus, .is-white.is-focused.textarea, .is-white.is-focused.input, .is-white.textarea:active, .is-white.input:active, .is-white.is-active.textarea, .is-white.is-active.input {
  box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25);
}
.is-black.textarea, .is-black.input {
  border-color: #0a0a0a;
}
.is-black.textarea:focus, .is-black.input:focus, .is-black.is-focused.textarea, .is-black.is-focused.input, .is-black.textarea:active, .is-black.input:active, .is-black.is-active.textarea, .is-black.is-active.input {
  box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25);
}
.is-light.textarea, .is-light.input {
  border-color: whitesmoke;
}
.is-light.textarea:focus, .is-light.input:focus, .is-light.is-focused.textarea, .is-light.is-focused.input, .is-light.textarea:active, .is-light.input:active, .is-light.is-active.textarea, .is-light.is-active.input {
  box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25);
}
.is-dark.textarea, .is-dark.input {
  border-color: #363636;
}
.is-dark.textarea:focus, .is-dark.input:focus, .is-dark.is-focused.textarea, .is-dark.is-focused.input, .is-dark.textarea:active, .is-dark.input:active, .is-dark.is-active.textarea, .is-dark.is-active.input {
  box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25);
}
.is-primary.textarea, .is-primary.input {
  border-color: #00d1b2;
}
.is-primary.textarea:focus, .is-primary.input:focus, .is-primary.is-focused.textarea, .is-primary.is-focused.input, .is-primary.textarea:active, .is-primary.input:active, .is-primary.is-active.textarea, .is-primary.is-active.input {
  box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);
}
.is-link.textarea, .is-link.input {
  border-color: #3273dc;
}
.is-link.textarea:focus, .is-link.input:focus, .is-link.is-focused.textarea, .is-link.is-focused.input, .is-link.textarea:active, .is-link.input:active, .is-link.is-active.textarea, .is-link.is-active.input {
  box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
}
.is-info.textarea, .is-info.input {
  border-color: #3298dc;
}
.is-info.textarea:focus, .is-info.input:focus, .is-info.is-focused.textarea, .is-info.is-focused.input, .is-info.textarea:active, .is-info.input:active, .is-info.is-active.textarea, .is-info.is-active.input {
  box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25);
}
.is-success.textarea, .is-success.input {
  border-color: #48c774;
}
.is-success.textarea:focus, .is-success.input:focus, .is-success.is-focused.textarea, .is-success.is-focused.input, .is-success.textarea:active, .is-success.input:active, .is-success.is-active.textarea, .is-success.is-active.input {
  box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25);
}
.is-warning.textarea, .is-warning.input {
  border-color: #ffdd57;
}
.is-warning.textarea:focus, .is-warning.input:focus, .is-warning.is-focused.textarea, .is-warning.is-focused.input, .is-warning.textarea:active, .is-warning.input:active, .is-warning.is-active.textarea, .is-warning.is-active.input {
  box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25);
}
.is-danger.textarea, .is-danger.input {
  border-color: #f14668;
}
.is-danger.textarea:focus, .is-danger.input:focus, .is-danger.is-focused.textarea, .is-danger.is-focused.input, .is-danger.textarea:active, .is-danger.input:active, .is-danger.is-active.textarea, .is-danger.is-active.input {
  box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25);
}
.is-small.textarea, .is-small.input {
  border-radius: 2px;
  font-size: 0.75rem;
}
.is-medium.textarea, .is-medium.input {
  font-size: 1.25rem;
}
.is-large.textarea, .is-large.input {
  font-size: 1.5rem;
}
.is-fullwidth.textarea, .is-fullwidth.input {
  display: block;
  width: 100%;
}
.is-inline.textarea, .is-inline.input {
  display: inline;
  width: auto;
}

.input.is-rounded {
  border-radius: 290486px;
  padding-left: calc(calc(0.75em - 1px) + 0.375em);
  padding-right: calc(calc(0.75em - 1px) + 0.375em);
}
.input.is-static {
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
}

.textarea {
  display: block;
  max-width: 100%;
  min-width: 100%;
  padding: calc(0.75em - 1px);
  resize: vertical;
}
.textarea:not([rows]) {
  max-height: 40em;
  min-height: 8em;
}
.textarea[rows] {
  height: initial;
}
.textarea.has-fixed-size {
  resize: none;
}

.select, select {
  display: inline-block;
  max-width: 100%;
  position: relative;
  vertical-align: top;
}
.select:not(.is-multiple), select:not(.is-multiple) {
  height: 2.5em;
}
.select:not(.is-multiple):not(.is-loading)::after, select:not(.is-multiple):not(.is-loading)::after {
  border-color: #3273dc;
  right: 1.125em;
  z-index: 4;
}
.select.is-rounded select, select.is-rounded select {
  border-radius: 290486px;
  padding-left: 1em;
}
.select select, select select {
  cursor: pointer;
  display: block;
  font-size: 1em;
  max-width: 100%;
  outline: none;
}
.select select::-ms-expand, select select::-ms-expand {
  display: none;
}
.select select[disabled]:hover, select select[disabled]:hover, fieldset[disabled] .select select:hover, fieldset[disabled] select select:hover {
  border-color: whitesmoke;
}
.select select:not([multiple]), select select:not([multiple]) {
  padding-right: 2.5em;
}
.select select[multiple], select select[multiple] {
  height: auto;
  padding: 0;
}
.select select[multiple] option, select select[multiple] option {
  padding: 0.5em 1em;
}
.select:not(.is-multiple):not(.is-loading):hover::after, select:not(.is-multiple):not(.is-loading):hover::after {
  border-color: #363636;
}
.select.is-white:not(:hover)::after, select.is-white:not(:hover)::after {
  border-color: white;
}
.select.is-white select, select.is-white select {
  border-color: white;
}
.select.is-white select:hover, select.is-white select:hover, .select.is-white select.is-hovered, select.is-white select.is-hovered {
  border-color: #f2f2f2;
}
.select.is-white select:focus, select.is-white select:focus, .select.is-white select.is-focused, select.is-white select.is-focused, .select.is-white select:active, select.is-white select:active, .select.is-white select.is-active, select.is-white select.is-active {
  box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25);
}
.select.is-black:not(:hover)::after, select.is-black:not(:hover)::after {
  border-color: #0a0a0a;
}
.select.is-black select, select.is-black select {
  border-color: #0a0a0a;
}
.select.is-black select:hover, select.is-black select:hover, .select.is-black select.is-hovered, select.is-black select.is-hovered {
  border-color: black;
}
.select.is-black select:focus, select.is-black select:focus, .select.is-black select.is-focused, select.is-black select.is-focused, .select.is-black select:active, select.is-black select:active, .select.is-black select.is-active, select.is-black select.is-active {
  box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25);
}
.select.is-light:not(:hover)::after, select.is-light:not(:hover)::after {
  border-color: whitesmoke;
}
.select.is-light select, select.is-light select {
  border-color: whitesmoke;
}
.select.is-light select:hover, select.is-light select:hover, .select.is-light select.is-hovered, select.is-light select.is-hovered {
  border-color: #e8e8e8;
}
.select.is-light select:focus, select.is-light select:focus, .select.is-light select.is-focused, select.is-light select.is-focused, .select.is-light select:active, select.is-light select:active, .select.is-light select.is-active, select.is-light select.is-active {
  box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25);
}
.select.is-dark:not(:hover)::after, select.is-dark:not(:hover)::after {
  border-color: #363636;
}
.select.is-dark select, select.is-dark select {
  border-color: #363636;
}
.select.is-dark select:hover, select.is-dark select:hover, .select.is-dark select.is-hovered, select.is-dark select.is-hovered {
  border-color: #292929;
}
.select.is-dark select:focus, select.is-dark select:focus, .select.is-dark select.is-focused, select.is-dark select.is-focused, .select.is-dark select:active, select.is-dark select:active, .select.is-dark select.is-active, select.is-dark select.is-active {
  box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25);
}
.select.is-primary:not(:hover)::after, select.is-primary:not(:hover)::after {
  border-color: #00d1b2;
}
.select.is-primary select, select.is-primary select {
  border-color: #00d1b2;
}
.select.is-primary select:hover, select.is-primary select:hover, .select.is-primary select.is-hovered, select.is-primary select.is-hovered {
  border-color: #00b89c;
}
.select.is-primary select:focus, select.is-primary select:focus, .select.is-primary select.is-focused, select.is-primary select.is-focused, .select.is-primary select:active, select.is-primary select:active, .select.is-primary select.is-active, select.is-primary select.is-active {
  box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);
}
.select.is-link:not(:hover)::after, select.is-link:not(:hover)::after {
  border-color: #3273dc;
}
.select.is-link select, select.is-link select {
  border-color: #3273dc;
}
.select.is-link select:hover, select.is-link select:hover, .select.is-link select.is-hovered, select.is-link select.is-hovered {
  border-color: #2366d1;
}
.select.is-link select:focus, select.is-link select:focus, .select.is-link select.is-focused, select.is-link select.is-focused, .select.is-link select:active, select.is-link select:active, .select.is-link select.is-active, select.is-link select.is-active {
  box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
}
.select.is-info:not(:hover)::after, select.is-info:not(:hover)::after {
  border-color: #3298dc;
}
.select.is-info select, select.is-info select {
  border-color: #3298dc;
}
.select.is-info select:hover, select.is-info select:hover, .select.is-info select.is-hovered, select.is-info select.is-hovered {
  border-color: #238cd1;
}
.select.is-info select:focus, select.is-info select:focus, .select.is-info select.is-focused, select.is-info select.is-focused, .select.is-info select:active, select.is-info select:active, .select.is-info select.is-active, select.is-info select.is-active {
  box-shadow: 0 0 0 0.125em rgba(50, 152, 220, 0.25);
}
.select.is-success:not(:hover)::after, select.is-success:not(:hover)::after {
  border-color: #48c774;
}
.select.is-success select, select.is-success select {
  border-color: #48c774;
}
.select.is-success select:hover, select.is-success select:hover, .select.is-success select.is-hovered, select.is-success select.is-hovered {
  border-color: #3abb67;
}
.select.is-success select:focus, select.is-success select:focus, .select.is-success select.is-focused, select.is-success select.is-focused, .select.is-success select:active, select.is-success select:active, .select.is-success select.is-active, select.is-success select.is-active {
  box-shadow: 0 0 0 0.125em rgba(72, 199, 116, 0.25);
}
.select.is-warning:not(:hover)::after, select.is-warning:not(:hover)::after {
  border-color: #ffdd57;
}
.select.is-warning select, select.is-warning select {
  border-color: #ffdd57;
}
.select.is-warning select:hover, select.is-warning select:hover, .select.is-warning select.is-hovered, select.is-warning select.is-hovered {
  border-color: #ffd83d;
}
.select.is-warning select:focus, select.is-warning select:focus, .select.is-warning select.is-focused, select.is-warning select.is-focused, .select.is-warning select:active, select.is-warning select:active, .select.is-warning select.is-active, select.is-warning select.is-active {
  box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25);
}
.select.is-danger:not(:hover)::after, select.is-danger:not(:hover)::after {
  border-color: #f14668;
}
.select.is-danger select, select.is-danger select {
  border-color: #f14668;
}
.select.is-danger select:hover, select.is-danger select:hover, .select.is-danger select.is-hovered, select.is-danger select.is-hovered {
  border-color: #ef2e55;
}
.select.is-danger select:focus, select.is-danger select:focus, .select.is-danger select.is-focused, select.is-danger select.is-focused, .select.is-danger select:active, select.is-danger select:active, .select.is-danger select.is-active, select.is-danger select.is-active {
  box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25);
}
.select.is-small, select.is-small {
  border-radius: 2px;
  font-size: 0.75rem;
}
.select.is-medium, select.is-medium {
  font-size: 1.25rem;
}
.select.is-large, select.is-large {
  font-size: 1.5rem;
}
.select.is-disabled::after, select.is-disabled::after {
  border-color: #7a7a7a;
}
.select.is-fullwidth, select.is-fullwidth {
  width: 100%;
}
.select.is-fullwidth select, select.is-fullwidth select {
  width: 100%;
}
.select.is-loading::after, select.is-loading::after {
  margin-top: 0;
  position: absolute;
  right: 0.625em;
  top: 0.625em;
  transform: none;
}
.select.is-loading.is-small:after, select.is-loading.is-small:after {
  font-size: 0.75rem;
}
.select.is-loading.is-medium:after, select.is-loading.is-medium:after {
  font-size: 1.25rem;
}
.select.is-loading.is-large:after, select.is-loading.is-large:after {
  font-size: 1.5rem;
}

:root {
  --bg: #fff;
  --nav-bg: #f8f8cc;
  --nav-bg-hover: #ffe;
  --nav-selected-border: #aa6;
  --text-color: black;
  --deemphasized-color: #777;
  --correct-color: #080;
  --error-color: #900;
  --secondary-bg: #f2f2f2;
  --tertiary-bg: #e2e2e2;
  --link-color: #00e;
  --visited-color: #551a8b;
  --border-color: #aaa;
  --active-shadow-color: #69f;
  --nav-color: var(--text-color);
  --nav-link-color: var(--link-color);
  --nav-visited-color: var(--visited-color);
  --nav-deemphasized-color: var(--deemphasized-color);
  --input-bg: var(--bg);
  --by-author-color: #fee;
  --testsolve-color: #efe;
}

/* general */
html, body {
  background-color: #fffbec;
}

nav {
  margin-bottom: 1em;
}

.small-md p:first-child {
  margin-top: 0;
}

.small-md p:last-child {
  margin-bottom: 0;
}

.content {
  padding-top: 2em;
}

.content table tbody tr:last-child td {
  border-bottom-width: 1px;
}

body.awaiting-editor table th, body.byround table th {
  background-color: var(--secondary-bg);
}

body.assign-answers .answer, body.answers .answer, body.byround table .answer {
  font-family: monospace;
  font-weight: bold;
  font-size: 0.9rem;
}
body.assign-answers .answer a, body.answers .answer a, body.byround table .answer a {
  color: black;
}

body.byround table {
  font-size: 0.95rem !important;
}
body.byround table .authors, body.byround table .editors {
  font-size: 0.9em;
}
body.byround table .mechanics, body.byround table .notes {
  font-size: 0.8em;
}
body.byround .meta {
  background: rgba(0, 128, 0, 0.05);
}

body.awaiting-editor .puzzle-desc div {
  display: block;
}
body.awaiting-editor .puzzle-desc button {
  display: none;
}

.puzzle-page h3 .button {
  font-weight: normal;
}

.puzzle-sidebar {
  background: #f1f1f1;
}
.puzzle-sidebar h3 {
  border-bottom: 1px solid #ddd;
  padding-bottom: 0.3em;
}
.puzzle-sidebar h5 {
  margin-bottom: 0.3em;
}

#change-status button {
  text-align: left;
  display: block;
}

/* navigation */
.countdown {
  color: var(--nav-deemphasized-color);
  font-size: 85%;
}

.countdown .time {
  color: var(--nav-color);
}

h1 {
  font-size: 140%;
}

h2 {
  font-size: 120%;
  font-weight: bold;
}

h3 {
  font-size: 120%;
  font-weight: bold;
}

table.classic {
  border-collapse: collapse;
  overflow-wrap: break-word;
}

table.classic th, table.compact th {
  padding: 0.5em;
  background-color: var(--secondary-bg);
}

table.classic th.small {
  font-size: 85%;
}

table.compact th {
  text-align: left;
  font-weight: normal;
}

table.compact th :first-child {
  margin-top: 0;
}

table.compact tr > td:first-child {
  padding-left: 2em;
}

table.compact th :last-child {
  margin-bottom: 0;
}

td.label-cell {
  max-width: 24em;
}

td.label-cell label {
  font-weight: bold;
}

.help {
  font-size: 85%;
}

.comment-id {
  font-size: 85%;
  opacity: 50%;
}

table.classic td {
  padding: 0.5em;
  border-top: 1px solid var(--border-color);
  max-width: 30em;
}

.warning {
  font-weight: bold;
}

.warning::before {
  content: "⚠️";
  font-size: 150%;
  margin-right: 0.2em;
}

body.eic .answer {
  background: white;
  color: #333;
  text-transform: uppercase;
  font-size: 1em;
}

/* puzzle */
table.puzzle-table {
  min-width: 100%;
  border-collapse: collapse;
}
table.puzzle-table th {
  padding: 0.5em;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
  text-align: right;
}
table.puzzle-table table.puzzle-people th {
  width: 10em;
}
table.puzzle-table table.puzzle-info th {
  width: 7em;
}
table.puzzle-table td {
  padding: 0.5em;
  border-top: 1px solid var(--border-color);
  border-bottom: 1px solid var(--border-color);
}
table.puzzle-table table.puzzle-info td {
  padding: 0 0.5em;
}
table.puzzle-table td:first-child, table.puzzle-table th:first-child {
  padding-left: 0;
}
table.puzzle-table td:last-child, table.puzzle-table th:last-child {
  padding-right: 0;
}
table.puzzle-table td p, table.puzzle-table td pre {
  margin: 0.5em 0;
}

.edit-link {
  font-size: 80%;
  font-weight: normal;
}

/* comments */
.date {
  font-size: 80%;
}

.system {
  color: var(--deemphasized-color);
}

.by-author {
  background-color: var(--by-author-color);
}

.testsolve {
  background-color: var(--testsolve-color);
}

.status-change {
  color: var(--deemphasized-color);
  border: 1px solid var(--border-color);
  border-radius: 3px;
  padding: 0.25em;
}

.status-change::before {
  content: "→ ";
}

.ghost-button {
  background-color: transparent;
  color: inherit;
  border: 1px dashed var(--border-color);
  border-radius: 3px;
}

.ghost-selected {
  border: 3px double var(--border-color);
  font-weight: bold;
}

/* statistics */
.flex-row {
  display: flex;
}

.vertical-divider {
  width: 50px;
}

/* testsolving */
.testsolve-finish {
  font-size: 120%;
}

.testsolve-finish-correct {
  font-weight: bold;
  border: 0.25em solid var(--correct-color);
  padding: 0.25em;
}

.guess.correct {
  font-weight: bold;
  color: var(--correct-color);
}
.guess.correct::before {
  content: "✅";
}

.guess.incorrect::before {
  content: "❌";
}

.empty {
  color: var(--deemphasized-color);
  font-style: italic;
}

.hidden {
  display: none;
}

.hide-dead:checked ~ div table tr.dead {
  display: none;
}

.hide-deferred:checked ~ div table tr.deferred {
  display: none;
}

.hide-visited:checked ~ div table tr.puzzle-row:not(.unvisited) {
  display: none;
}

.hide-past-solution:checked ~ div table tr.past_needs_solution {
  display: none;
}

.show-only-answer:checked ~ div table tr.puzzle-row:not(.answered) {
  display: none;
}

.unvisited .puzzle-link {
  font-weight: bold;
  position: relative;
}
.unvisited .puzzle-link::before {
  position: absolute;
  left: -0.8em;
  width: 0.6em;
  height: 0.6em;
  border-radius: 0.3em;
  background-color: var(--error-color);
  content: " ";
  display: block;
}

.hide-assigned:checked ~ div .assigned {
  display: none;
}

.hide-assignments:checked ~ div > table .assignment-spoiler {
  display: none;
}

.hide-assignments:not(:checked) ~ div > table .assignment-unspoiler {
  display: none;
}

.hide-delete-answer:checked ~ div > table .delete-answer-button {
  display: none;
}

.hide-assignments:not(:checked) ~ div > table .assignment-unspoiler {
  display: none;
}

.hide-test-authored:checked + label + input + label + div > table tr.test-authored {
  display: none;
}

.hide-test-spoiled:checked + label + div > table tr.test-spoiled {
  display: none;
}

.show-delete-answer:checked ~ .deemph {
  color: var(--deemphasized-color);
  font-size: 80%;
}

.assigned-to-other {
  color: var(--deemphasized-color);
}

.hide-assigned-to-other:checked + label + br + br + div table tr.assigned-to-other {
  display: none;
}

.markdown-textarea {
  display: inline-block;
  border: 1px solid var(--border-color);
  background-color: var(--input-bg);
  border-radius: 3px;
  padding: 2px;
  padding: 0.5em;
}

.markdown-preview p:first-child {
  margin-top: 0;
}

.markdown-preview p:last-child {
  margin-bottom: 0;
}

.success {
  font-size: 200%;
  color: var(--correct-color);
}

.user-checkbox-select-multiple {
  border: 1px solid var(--border-color);
  background-color: var(--input-bg);
  border-radius: 3px;
  max-height: 20em;
  overflow-y: auto;
  padding: 0.5em;
}
.user-checkbox-select-multiple ul {
  padding-left: 1.5em;
  margin: 0;
  padding: 0;
}
.user-checkbox-select-multiple li {
  padding: 0.1em 0.5em;
  list-style-type: none;
}

/* edit round */
body.rounds h2 .edit-link {
  font-size: 0.6em;
  font-weight: normal;
}

body.singleround h2 .round-link {
  color: black;
}

.sure-delete:checked + label + br + input.delete-round-button {
  display: block !important;
}

.delete-round-button {
  display: none;
}

/* spoiled */
.testsessions {
  display: flex;
  flex-direction: column;
}

/* django */
.errorlist {
  color: var(--error-color);
  font-weight: bold;
}

.pretitle {
  display: block;
  font-size: 1rem;
  margin-bottom: 0.5em;
  font-weight: normal;
}

.is-required .label p::before {
  content: "*";
}

.timestamp {
  font-size: 0.8em;
}

.left-border {
  border-left: 1px solid #ccc !important;
}

.testsolving-session label {
  font-weight: normal;
}
.testsolving-session textarea {
  width: 100%;
  height: 4rem;
}
.testsolving-session .control ul {
  margin: 0;
}
.testsolving-session .control li {
  list-style-type: none;
}

.testsolve-form .technical_issues_device, .testsolve-form .technical_issues_description, .testsolve-form .stuck_points, .testsolve-form .stuck_time, .testsolve-form .stuck_unstuck {
  display: none;
}
.testsolve-form .technical_issues_device .form-column, .testsolve-form .technical_issues_description .form-column, .testsolve-form .stuck_points .form-column, .testsolve-form .stuck_time .form-column, .testsolve-form .stuck_unstuck .form-column {
  padding-left: 3em;
}

.has-tech-problems .technical_issues_device, .has-tech-problems .technical_issues_description {
  display: flex;
}

.is-stuck .stuck_points, .is-stuck .stuck_time, .is-stuck .stuck_unstuck {
  display: flex;
}

.support-sidebar {
  background: #f1f1f1;
}
.support-sidebar h3 {
  border-bottom: 1px solid #ddd;
  padding-bottom: 0.3em;
}
.support-sidebar h5 {
  margin-bottom: 0.3em;
}
