@charset "UTF-8";
div.form_header {
  margin-bottom: 2em; }
  div.form_header h2 {
    margin-bottom: 0.5em; }

div.fields2 {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; }

div.field {
  background-color: #fafafa;
  border-radius: 8px;
  margin: 0.5em;
  padding: 0.25em 0.5em; }
  div.field label {
    font-weight: bold; }

div.field-edit {
  border-left: solid 8px lightgray;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  padding: 0.5em 1em 0.5em 1em;
  display: flex;
  flex-direction: column;
  gap: 0.5em; }
  div.field-edit div.description {
    font-size: 0.66em;
    color: #6b6b6b; }
  div.field-edit textarea {
    resize: vertical; }
  div.field-edit input[type='text'], div.field-edit input[type="email"], div.field-edit input[type="password"], div.field-edit textarea, div.field-edit select {
    font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 18px;
    padding: 0.5em;
    border: solid 1px #F0F0F0;
    border-bottom-color: #AAAAAA;
    border-radius: 4px;
    color: #296b83; }
  div.field-edit input::placeholder, div.field-edit textarea::placeholder {
    color: rgba(49, 127, 145, 0.25); }
  div.field-edit select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: white;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' class='svgarrow' fill='%23296B83'><polygon points='0,0 100,0 50,50'/></svg>") no-repeat;
    background-size: 12px;
    background-position: calc(100% - 20px) center; }
  div.field-edit fieldset.checkboxes {
    padding: 0.5em 1em 0.5em 0.5em;
    border: solid 1px #F0F0F0;
    border-radius: 8px;
    background-color: white;
    width: fit-content; }
    div.field-edit fieldset.checkboxes > div {
      display: flex;
      flex-direction: row;
      gap: 0.5em;
      align-items: center;
      border-bottom: solid 1px rgba(0, 0, 0, 0); }
      div.field-edit fieldset.checkboxes > div label {
        font-weight: normal; }
    div.field-edit fieldset.checkboxes > div:hover {
      border-bottom: solid 1px rgba(49, 127, 145, 0.25); }
    div.field-edit fieldset.checkboxes label {
      color: #6b6b6b; }
    div.field-edit fieldset.checkboxes input:checked + label {
      color: #296b83; }

div.field-active {
  background-color: #EDEDED; }

div.hidden_edit_box {
  display: none; }

div.field-not-yet-valid {
  border-left: solid 8px #ffd180; }

div.field-valid {
  border-left: solid 8px #9dc69d; }

div.field-invalid {
  border-left: solid 8px #ff8080; }

div.field-view {
  display: flex;
  flex-direction: row;
  gap: 0.5em;
  font-size: 18px; }
  div.field-view > div {
    color: #296b83; }
  div.field-view a {
    word-break: break-word; }

div.long-text-field {
  flex-direction: column; }
  div.long-text-field > div {
    overflow-wrap: anywhere;
    hyphens: auto; }

div.drop-down {
  border: 1px solid transparent; }

div.drop-down:after {
  content: "\a0▿"; }

div.drop-down:hover {
  border: 1px solid rgba(107, 107, 107, 0.2); }

div.drop-down:hover:after {
  content: "\a0▾"; }

div.changed {
  border: 1px solid black;
  filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.2)); }

div.dropdown-menu {
  position: absolute;
  background-color: rgba(43, 43, 43, 0.7);
  color: white;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  filter: drop-shadow(0px 10px 10px rgba(0, 0, 0, 0.3));
  font-size: 0.8em;
  border-radius: 12px;
  padding: 8px 0; }
  div.dropdown-menu div.option {
    padding: 4px 0.75em;
    display: flex;
    border-top: 1px solid rgba(107, 107, 107, 0.5); }
    div.dropdown-menu div.option div.check {
      width: 1em; }
  div.dropdown-menu div.option:first-child {
    border-top: revert; }
  div.dropdown-menu div.option:hover {
    background-color: rgba(90, 89, 89, 0.75);
    cursor: default; }
  div.dropdown-menu div.selected div.check:before {
    content: "✓"; }

form div.button_strip {
  margin-right: 0;
  margin-left: auto;
  display: inline-block;
  border-bottom: solid 8px lightgray;
  border-bottom-left-radius: 4px;
  padding: 0 1em 1em 0; }

form.login {
  margin-top: 2em;
  border-right: solid 8px lightgray; }
  form.login div.login-footer {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5em; }
    form.login div.login-footer p {
      margin: 0 1em 0 auto; }
      form.login div.login-footer p a {
        font-size: 0.7em;
        text-decoration: none; }
      form.login div.login-footer p a:hover {
        text-decoration: underline; }

div.footer-bar, div.footer-bar-gap {
  height: 2em;
  padding: 8px 1em; }

div.footer-bar-gap {
  margin-top: 1em; }

div.footer-bar {
  position: fixed;
  left: 0;
  bottom: 0;
  width: calc(100% - 2em);
  background-color: rgba(43, 43, 43, 0.7);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  color: white;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  gap: 8px; }
  div.footer-bar button, div.footer-bar a.link-button {
    font-weight: bold; }

button.ok-button:hover, a.link-button.ok-button:hover {
  background-color: #cdf1cd; }

button.edit-button:hover, a.link-button.edit-button:hover {
  background-color: #fce6ce; }

button.close-button:hover, a.link-button.close-button:hover {
  background-color: #cef3fc; }

button.delete-button:hover, a.link-button.delete-button:hover {
  background-color: #f8caca; }

.extra-notes div.button_strip_inline {
  align-items: flex-start;
  margin: 0.5em;
  padding: 0.25em 0.5em; }

.extra-notes div.notes_with_buttons {
  display: flex;
  flex-direction: row;
  justify-content: space-between; }

.extra-notes button {
  font-size: 0.8em; }

div.guard_block, div.guard_block_lite {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh; }

div.guard_block {
  background-color: rgba(64, 64, 64, 0.25);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px); }

div.guard_block_lite {
  background-color: rgba(64, 64, 64, 0.15);
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px); }

button.dev_random {
  position: fixed;
  top: calc(100vh - 2.25em);
  color: red;
  z-index: 1000; }

@media screen and (max-width: 700px) {
  div.dropdown-menu div.option {
    padding: 8px 1em; } }

* {
  margin: 0;
  padding: 0; }

html {
  font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 18px;
  background-color: #fafafa; }

a {
  color: #296b83; }

main {
  margin-bottom: 2em; }

section {
  margin: 1em auto 0;
  max-width: 1000px;
  padding: 0.5em 0.75em;
  border-radius: 8px;
  background-color: #fafafa; }

div.sections {
  margin: 0 1em;
  display: flex;
  flex-wrap: wrap;
  align-content: stretch;
  justify-content: center;
  align-items: flex-start;
  gap: 1em; }
  div.sections section {
    border: solid 1px rgba(107, 107, 107, 0.2);
    margin: 0;
    filter: drop-shadow(0px 10px 10px rgba(0, 0, 0, 0.17)); }
  div.sections section.page-header {
    border: none; }

section.full-width {
  width: 1000px; }

section.intro {
  margin-top: 1em !important; }
  section.intro p {
    margin: 0; }

summary {
  display: flex;
  flex-direction: row-reverse;
  align-items: baseline;
  justify-content: flex-end;
  gap: 8px; }

form section {
  background-color: white; }

#verify-login-page section, #verify-login-page h1, #login-page section, #login-page h1 {
  max-width: 600px; }

h1, h2, h3, h4 {
  font-family: Exo, Garamond, "Lucida Sans", sans-serif; }

h1 {
  font-size: 2em;
  color: rgba(43, 43, 43, 0.7); }

h3 {
  font-size: 1.1em;
  margin-bottom: 1em;
  color: #296b83; }

section.page-header {
  position: fixed;
  top: 0;
  left: 0;
  height: 14em;
  max-width: revert;
  width: 100%;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background-color: #aec0de;
  background-image: url("/static/img/banner-image.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  object-fit: cover;
  display: flex;
  flex-direction: column;
  justify-content: flex-end; }

div.page-title {
  position: relative;
  margin: 2.5em auto 0 auto;
  height: 6.5em;
  display: flex;
  flex-direction: column;
  justify-content: center; }
  div.page-title h1 {
    font-size: 2em;
    text-align: center; }

div.header-bottom {
  position: relative;
  height: 5.5em;
  -webkit-backdrop-filter: blur(100px);
  backdrop-filter: blur(100px);
  mask: linear-gradient(transparent, black), linear-gradient(transparent, black);
  background: linear-gradient(rgba(255, 255, 255, 0), #fafafa); }

div.header-spacer {
  height: 9em; }

div.menu-bar, div.menu_spacer {
  height: 2.5em; }

div.menu-bar {
  display: flex;
  align-items: center;
  justify-content: space-between; }
  div.menu-bar div.left-menu {
    display: flex;
    align-items: center; }
  div.menu-bar div.speakerfish {
    display: flex;
    flex-direction: row;
    background-color: black;
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
    color: #d3eaf1;
    font-size: 0.8em;
    padding-right: 0.5em; }
    div.menu-bar div.speakerfish img {
      height: 1.2em;
      padding-right: 0.5em; }
    div.menu-bar div.speakerfish a {
      text-decoration: none;
      color: inherit;
      padding: 0.5em;
      display: flex;
      align-items: center; }

div.menu-bar, div#pop_up_menu {
  position: fixed;
  z-index: 100;
  top: 0;
  width: 100%;
  font: Exo, sans-serif;
  font-size: 22px;
  background-color: rgba(43, 43, 43, 0.7);
  color: white;
  text-shadow: 0 0 8px rgba(43, 43, 43, 0.7);
  filter: drop-shadow(0 0 10px rgba(128, 92, 0, 0.25));
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px); }

nav {
  display: flex;
  align-items: center; }
  nav a {
    text-decoration: none;
    color: inherit;
    padding: 0.5em 0.5em;
    display: flex;
    align-items: center; }
  nav a:hover {
    background-color: rgba(0, 0, 0, 0.05); }

nav.full-menu a {
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  border-left: none;
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
  font-size: 0.8em; }

nav.full-menu a:hover {
  border: solid 0.5px white;
  color: #d3eaf1; }

nav.full-menu a, nav.full-menu a:hover {
  border-left: none; }

nav.burger-menu {
  display: none;
  justify-content: space-between; }
  nav.burger-menu img.burger-icon {
    margin-left: 0.5em; }
  nav.burger-menu a:hover {
    padding-bottom: calc(0.5em - 2px);
    border-bottom: solid 2px white;
    background-color: rgba(0, 0, 0, 0.05); }

div#pop_up_menu {
  position: fixed;
  width: revert;
  height: revert;
  padding: 0;
  background-color: #354b7c;
  border: solid 1px rgba(107, 107, 107, 0.2);
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.5));
  display: flex;
  flex-direction: column;
  align-items: stretch; }
  div#pop_up_menu a {
    text-decoration: none;
    padding: 1em;
    color: white; }
  div#pop_up_menu a:hover {
    padding-bottom: calc(1em - 2px);
    border-bottom: solid 2px #d3eaf1;
    background-color: rgba(0, 0, 0, 0.05); }

footer {
  font-size: 12px;
  background-color: white;
  display: flex;
  width: 100%;
  padding-top: 1em;
  padding-bottom: 2em;
  margin-top: 1em;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; }
  footer a {
    text-decoration: none;
    color: black; }
  footer a:hover {
    text-decoration: underline;
    color: blue; }
  footer div {
    margin: 1em; }
  footer img, footer .logo-link {
    height: 24px; }

p {
  margin-bottom: 1em; }

ul, ol {
  display: block;
  padding-left: 1rem; }

.rounded-box, .tabbed-box {
  border: solid 1px #d3eaf1; }

.rounded-box {
  border-radius: 8px; }

.tabbed-box {
  border-top: none;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px; }

div.button_strip {
  display: flex;
  justify-content: flex-end;
  margin: 0 1em; }

a.link-button {
  text-decoration: none;
  display: flex;
  align-content: flex-start;
  align-items: center;
  inline-size: fit-content; }

button, a.link-button {
  font: Exo, Garamond, "Lucida Sans", sans-serif;
  font-size: 18px;
  color: black;
  background-color: #ececec;
  padding: 0.3em 0.8em;
  border: solid 1px lightgray;
  border-radius: 8px; }

button:hover, a.link-button:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  background-color: #dddddd;
  border: solid 1px darkgray; }

button:active, a.link-button:active {
  background-color: #cccccc; }

section.flash_messages {
  width: 100%;
  max-width: calc(1000px + 1.5em) !important;
  border: none !important;
  border-radius: revert;
  background-color: revert;
  filter: revert !important;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5em; }

div.flash {
  border-radius: 8px;
  border: solid 1px rgba(107, 107, 107, 0.2);
  filter: drop-shadow(0px 10px 10px rgba(0, 0, 0, 0.17));
  padding: 0.5em;
  color: white; }

div.flash-success {
  background-color: rgba(97, 209, 97, 0.9); }

div.flash-error {
  background-color: rgba(199, 71, 71, 0.9); }

table {
  border-collapse: collapse;
  margin-bottom: 1em; }
  table td {
    border-bottom: 1px dashed rgba(107, 107, 107, 0.2);
    vertical-align: middle;
    padding: 0.5em; }
  table tr:last-child td {
    border-bottom: none; }

div.lozenge {
  font-size: 0.8em;
  border-radius: 12px;
  padding: 2px 10px 4px; }

table.proposals td.status-column {
  padding-left: 0;
  width: 1px;
  text-wrap: nowrap;
  vertical-align: top; }
  table.proposals td.status-column > div {
    display: flex;
    justify-content: flex-end; }
  table.proposals td.status-column div.status-open {
    background: linear-gradient(to top right, rgba(255, 221, 167, 0.31), rgba(245, 171, 119, 0.6)); }
  table.proposals td.status-column div.status-selected {
    background: linear-gradient(to top right, rgba(208, 231, 214, 0.5), rgba(130, 212, 151, 0.5)); }
  table.proposals td.status-column div.status-not_selected {
    background: linear-gradient(to top right, rgba(251, 199, 199, 0.5), rgba(251, 141, 141, 0.5)); }
  table.proposals td.status-column div.status-removed {
    background: linear-gradient(to top right, rgba(203, 235, 249, 0.5), rgba(135, 213, 248, 0.5)); }

table.proposals td.title-column a {
  text-decoration: none;
  color: #296b83;
  word-break: break-word; }

table.proposals td.title-column a:hover {
  text-decoration: underline; }

hr {
  color: rgba(107, 107, 107, 0.2);
  margin: 1em 0; }

div.event_summary {
  display: flex;
  gap: 1em;
  margin-bottom: 1em; }

@media screen and (max-width: 1000px) {
  section.full-width {
    width: calc(100vw - 2em); } }

@media screen and (max-width: 700px) {
  nav.full-menu, span.speakfish-home {
    display: none; }
  nav.burger-menu {
    display: flex; }
  div.sections {
    margin: 0; } }

