* {
	margin: 0;
	padding: 0;
}

html {
	font-family:  Helvetica, sans-serif;
	font-size: 13pt;
}

body {
    background: #eaeaea;
    margin: 0;
}
div.page {
	position: fixed;
	top: 0;
	transform-style:preserve-3d;
	perspective: 1px;
    perspective-origin: 50% 310px;
	overflow-x: hidden;
	overflow-y: auto;
	height: 100vh;
	width: 100vw;
}
main {
    background-color: #f3f3f3;
    border-radius: 8px;
    max-width:1200px;
    margin: 50px auto 1em;
	filter: drop-shadow(0px 8px 8px rgba(0,0,0, 0.20));
}
input[type='checkbox'][readonly]{
    pointer-events: none;
}

h1, h2, h3, h4, h5, h6 {
    font-family:  'Exo', sans-serif;
  /*font-family: serif;*/
  /*color: #F0F0F0;*/
}
h3 {
    margin-top: 1em;
}

section {
    border-radius: 8px;
}
section, .review-page div.instructions {
    padding: 0 1em 1em;
}
div.page-title div {
    padding: 0 1em 1em;
}

div.menu {
    position: fixed;
    top:0;
    width:100vw;
    z-index: 999;
    padding: 0.5em 0;
    margin: 0;
    background-color: rgba(0, 0, 0, 0.85);
}
nav {
    display: flex;
    justify-content: space-between;
    color: #F0F0F0;
    font-size: 12pt;
    padding: 0 1em;
}
nav ul  {
    display: flex;
    gap: 1.5em;
    list-style: none;
    align-items: center;
    margin: 0;
    padding: 0;
}

nav ul li, nav a {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
nav ul li span, header .action {
    display: block;
}
nav img {
    height: 1.2em;
}
.admin-title {
    font-weight: bold;
    padding-right: 1em;
    color: rgba(255, 255, 255, 0.49);
}

img.user_icon {
    border-radius: 50%;
    height: 1.5em;
    margin-left:0.5em;
    margin-right:0.5em;
}

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

img.group-logo {
  width: 100%;
  padding: 1em 0 1em 0;
}

.form-heading a {
  color: blue;
}
hr {
  border: none;
  border-top: 1px solid lightgray;
}

div.page-title {
	z-index: -1;
	position: absolute;
	top: -800px;
	width: 100vw;
	height: 120px;
    padding: 1em;
    background-color: rgba(40,25,40, 0.8);
	background-position: center center;
  	background-repeat: no-repeat;
  	background-size: cover;
	overflow: hidden;
	object-fit: cover;
    transform: translateZ(-4px) scale(5);
	transform-style: preserve-3d;
}
h1.title {
    margin-top: 1.5em;
    font-family: 'Montserrat', "Avenir Next", sans-serif;
	font-size: 38px;
	color: white;
    text-align: center;
}

.page-title div.logo {
  flex: auto;
  margin: 0;
}

.content {
  padding: 1rem;
}

.content > header {
  display: flex;
  align-items: flex-end;
}

.content > header h1 {
  flex: auto;
  margin: 1rem 0 0.25rem 0;
}

.flash {
    margin: 1em 0;
    padding: 1em;
    border: 1px solid black;
    border-radius: 8px;
    /*box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);*/
}
.flash-error {
    background: #ffbbbb;
    border-color: #dd3333;
    color: #9f2626;
}
.flash-message {
    background: #bbeebb;
    border-color: #33dd33;
    color: #26a126;
}

input.danger {
  color: #cc2f2e;
}

input[type=submit] {
  align-self: start;
  min-width: 10em;
}

div.login {

}
div.login, div.form-heading {
    background-color: white;
	width: 400px;
	padding: 2em;
	padding-top: 1em;
	margin-left:auto;
	margin-right: auto;
	border-radius: 0 0 10px 10px;
	font-size: 14pt;
}
div.form-heading {
	background-color: #DDDDDD;
	border-radius: 10px 10px 0 0;
	padding-bottom: 1em;
    font-weight: bold;
}
div.login div.label {
	width: 98%;
    margin: 0;
	margin-top: 1em;
	margin-bottom: 0.25em;
}
div.login div.field {
  width: 99%;
}
div.login input {
  width: 99%;
  font-size: 14pt;
  padding: 0.25em;
  color: blue;
  border: solid 1px #F0F0F0;
  border-bottom-color: #AAAAAA;
  border-radius: 4px;
}
div.login div.buttons {
    width: 100%;
    margin: 0;
    padding: 0;
	margin-top: 0.5em;
	text-align: right;
    display:flex;
    flex-direction: column;
}

button, .pseudo-button {
	font-family: sans-serif;
    font-size: 14pt;
    font-weight: bold;
	padding: 0.5em 1em;
  	background-color: #DDDDDD;

  	border: none;
  	border-radius: 8px;
}
.disabled-button {
    color: #706f6f;
}
a.pseudo-button {
    text-decoration: none;
    color: black;
}
.sending-button {
    display: none;
}
div.admin-buttons {
    margin-top: 1em;
    display: flex;
    justify-content: flex-end;
}
div.admin-buttons button {
    padding: 0.15em 0.5em;
    background-color: rgba(255, 255, 255, 0.5);
}

div.cfp-message {
    font-weight: bold;
}
div.edit-links {
    padding: 1em 0 1em;
    margin: 1em 0 1em;
    border-top: solid 1px lightgrey;
    border-bottom: solid 1px lightgrey;
}
div.home-buttons {
    width: 100%;
    margin: 0px;
    padding: 0px;
	margin-top: 2em;

    display: flex;
    justify-content: center;
}

div.submit-buttons {
    display: flex;
    justify-content: flex-end;
}
div.submit-buttons button {
    margin-left: 0.5em;
}
.home-buttons div, .edit-button, .status {
	font-size: 14pt;
	padding: 0.5em 1em 0.5em 1em;
  	background-color: #DDDDDD;

  	border: none;
  	border-radius: 4px;
    margin-left: 0.5em;
    margin-right: 0.5em;
}
button:hover, .home-buttons div:hover, a.pseudo-button:hover {
    box-shadow: 0 6px 8px 0 rgba(0,0,0,0.10), 0 17px 50px 0 rgba(0,0,0,0.15);
    padding: 0.5em 1.1em;
}
.home-buttons a {
    text-decoration: none;
}
.home-buttons a:visited, .edit-button a:visited {
    color:black;
}
button.link-button {
    background: none!important;
    border: none;
    padding: 0!important;
    /*optional*/
    font-family: arial, sans-serif;
    /*input has OS specific font-family*/
    color: #069;
    text-decoration: underline;
    cursor: pointer;
}
button.link-button:hover {
    box-shadow:none;

}
button.danger {
    background-color: #bc8282;
}
.field div.label  {
    margin-top:1.5em;
    margin-bottom:0.5em;
    font-weight: bold;
}
.multichoice .field-value label  {
    font-size: 12pt;
}
.field span.required {
    vertical-align: super;
    font-size: 10px;
    font-weight: normal;
    color: rgba(91, 13, 154, 0.87);
}
.login div.description, .form-heading div.description {
    margin-top:0.25em;
    margin-bottom:0.5em;
    font-size:14px;
    color:#555555;
}
.field div.errors  {
    margin-top:0.25em;
    margin-bottom:0.5em;
    font-size:14px;
    color:#ff5555;
}
.field div.post-hint {
    margin-top:0;
    padding-top: 0;
    margin-bottom:0.5em;
    font-size:12px;
    display: flex;
    justify-content: space-between;
}
.field div.pre-hint {
    margin: 0.5em 0;
    padding-top: 0;
    font-size:12px;
    display: flex;
    justify-content: space-between;
}
.pre-hint a {
    text-decoration: underline;
    cursor: pointer;
}
div.shadow-field {
    display: none
}

.field div.markdown-accepted  {
    color: rgba(85, 119, 92, 0.85);
}
.field div.box-can-be-dragged  {
    color:#555555;
}
.field div.shadowed {
    color: gray;
}

.field input[type='text'], textarea, select {
    width: 99%;
    font-size: 14pt;
    font-family: "Helvetica", serif;
    padding: 0.5em;
    color: #5555AA;
    border: solid 1px #F0F0F0;
    border-bottom-color: #AAAAAA;
    border-radius: 4px;
}
textarea {
    resize: vertical;
}
.field select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%238C98F2'><polygon points='0,0 100,0 50,50'/></svg>") no-repeat;
  background-size: 12px;
  background-position: calc(100% - 20px) center;
}

.field select {
    width: calc(100% + 1em);
}
.view-field .field-value {
    color: #5555AA;
    background-color: #fAfAfA;
    padding: 4px 8px;
    border-radius: 4px;
    word-wrap: break-word;
}
div.field-value {
    min-height: 1.25em;
}
div.short-string-field {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    align-content: stretch;
    margin-bottom: 0.5em;
}
div.short-string-field div.label {
	width: 33%;
	margin-top: revert;
	margin-bottom: revert;
}
div.short-string-field div.field-value {
    width: 100%;
}

div.short-string-field input[type='text'] {
    width: 95%;
}

div.login input[type=checkbox] {
    width:auto;
}
/*input[type=checkbox] {*/
/*    width:auto;!**!*/
/*    position: relative;*/
/*    cursor: pointer;*/
/*    appearance: none;*/
/*}*/
/*input[type=checkbox]:before {*/
/*    content: "";*/
/*    display: block;*/
/*    position: absolute;*/
/*    width: 16px;*/
/*    height: 16px;*/
/*    top: 0;*/
/*    left: 0;*/
/*    border: 2px solid #555555;*/
/*    border-radius: 3px;*/
/*    background-color: white;*/
/*}*/
/*input[type=checkbox]:checked:after {*/
/*    content: "";*/
/*    display: block;*/
/*    width: 5px;*/
/*    height: 10px;*/
/*    border: solid black;*/
/*    border-width: 0 2px 2px 0;*/
/*    transform: rotate(45deg);*/
/*    position: absolute;*/
/*    top: 2px;*/
/*    left: 6px;*/
/*}*/

div.multichoice {
    margin-bottom: 2em;
}
.multichoice span {
    /*position: relative;*/
    /*top: 16px;*/
    /*left: 1.5em;*/
    margin-left: 0.5em;
}

.choice span {
    position: relative;
    left: 0.5em;
}

.choice .field > div {
    /*height: 1.4em;*/
}

a {
    color: blue;
}

nav a {
    color: rgb(204, 157, 212);
    text-decoration: none;
}

.submitter-name a {
    text-decoration: none;
}

a.no_proposals {
    color: rgba(0, 0, 0, 0.6);
}
a.no_proposals p {
    margin-top: 0.5em;
}

nav a:hover, .submitter-name a:hover {
    text-decoration: underline;
}


table.proposals {
    margin-top: 0.5em;
    /*width:100%;*/
    border-collapse: collapse;
    /*border-top: solid 1px lightgray;*/
}
.proposals tr {
    font-family: Helvetica, serif;
}
.proposal td {
    padding-top: 4px;
    padding-bottom: 4px;
    border-bottom: solid 1px rgba(221, 221, 221, 0.26);
}
.proposal a {
    text-decoration: none;
}
.proposal a:hover {
    text-decoration: underline;
}

.proposals td.title {
    width:100%;
}
tr.only-unsubmitted a, h3.only-unsubmitted, .status-unsubmitted {
    color: rgba(255, 255, 255, 0.62) !important;
}
.proposals div.status {
    padding: 2px 8px;
    /*margin: 2px;*/
    font-size:12px;
    border-radius: 8px;
}
tr.prop-status-unsubmitted {
    /*display: none;*/
}
tr.prop-status-unsubmitted select {
    background-color: #bebdbd;
}
.status {
    background-color: #F0F0F0;
}
.status-submitted {
    /*color: rgba(255, 255, 255, 0.62);*/
}
.status-submitted {
    background-color: #fed8b1;
}
.status-accepted, .status-provisionally-accepted {
    background-color: rgba(136, 207, 136, 0.3);
}
.status-declined, .status-provisionally-declined {
    background-color: rgba(208, 122, 122, 0.3);
}
.status-reserved {
    background-color: rgba(131, 180, 201, 0.3);
}

.status-changed, .length-changed {
    background-color: yellow;
}
tr select.length {
    display: none;
}
tr.prop-status-accepted select.length, tr.prop-status-provisionally-accepted select.length {
    display: block;
}
.proposals td.spacer {
    width:1em;
}

div.submitter-name {
    display: flex;
    align-items: baseline;
    gap: 1em;
    & a {
    }
    & p {
        padding: 0.1em 0.4em;
        border-radius: 16px;
    }
    & p.pages_completed_True {
        background-color: green;
        color: white;
    }
    & p.pages_completed_False {
        background-color: #e08f04;
        color: white;
    }
}


div.proposal-link {
    padding: 0.35em 0.5em;
}
p {
    margin-bottom: 0.5em;
}

div.preview div, table {
    font-size:12pt;
}
div.preview h2 {
    color: green;
    font-size:16pt;
}
div.preview h3 {
    color: #598CE1;
}
div.preview td {
    vertical-align: top;
 }

.preview td.key {
    white-space: nowrap;
    font-weight: bold;
    padding-right: 1em;
}

table.admin-proposals {
    margin-left: 2em;
}
.proposal td.score {
    padding-right: 0.5em;
}
td.lengths {
    min-width: 12em;
}
div.meta {
    margin-top: 0.2em;
    margin-bottom: 0.5em;
}
div.meta-tags {
	display:flex;
	flex-direction: row;
	flex-wrap:wrap;
	justify-content: flex-start;
	white-space: nowrap;
    margin-bottom: 0.5em;
}
div.meta-tag, div.meta-nontag {
	font-size:10pt;
	margin-top: 0.25em;
}
div.track {
    border: solid 1px #b0773e;
    text-wrap: nowrap;
}
.review  div.meta-tag, .review div.meta-nontag {
	font-size:8pt;
}

div.meta-tag {
	border-radius: 4px;
	padding: 0.2em 0.6em 0.2em 0.6em;
	margin-right:0.5em;
}
div.meta-nontag {
    padding: 0.3em 0.7em 0.3em 0;
}
.meta div.length {
	background-color: #EAEAEA;
    color: #396ce1;
}
.meta div.tag {
	background-color: #EAEAEA;
	color: chocolate;
}
div.level-beginner {
	color: white;
	background-color: #88CF88;
}
div.level-intermediate {
	background-color: #82BBFE;
	color: white;
}
div.level-advanced {
	color: white;
	background-color: #ff6666;
}
div.level-expert {
	color: white;
	background-color: black;
}
div.level-everyone {
	color: white;
	background-color: #EFC429;
}

ol, ul, pre {
    margin-bottom: 1em;
}
pre code {
    white-space: pre-wrap;
}

.full_name a {
    text-decoration: none;
}
td.position {
    padding-right: 1em;
}
div.title-container {
    display: flex;
    justify-items: center;
}
div.title-container a {
    margin-bottom: 0;
}
div.title-container a p {
    margin-bottom: 0;
}
div.title-container a {
    color: black;
    text-decoration: none;
}
div.title-container a:hover, .full_name a:hover {
    color: #5555AA;
    text-decoration: underline;
}
.title-container div.meta-tags {
    margin-bottom: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.title-container div.meta-tag {
    margin-top: 0;
}


div.footer {
    position: fixed;
    bottom: 0;
    left:0;
    width:calc(100vw - 4em);
    font-weight: bold;
    padding: 0.25em 2em;
    box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
    display:flex;
    justify-content: flex-end;
    align-items: center;
}
div#submit-footer {
    background-color: black;
    color: #88CF88;
    border-top: 1px solid green;
}
div#skip-footer {
    background-color: black;
    background-color: rgba(0,0,0,0.80);
    color: lightgray;
    border-top: 1px solid lightgray;
}
div.hide-footer {
    display:none;
}

.footer button {
    padding-left:1em;
    margin-left:1em;
    font-weight: bold;
}


.admin-page button#ok {
    background-color: green;
    color: yellow;
}
.admin-page button#cancel {
    background-color: orange;
    color: black;
}
div.status_dropdowns {
    display: flex;
}
div.filters {
    display: flex;
    gap: 1em;
}
select.filter-list {
    width: 11em;
}

select.status, select.length {
	font-size: 10pt;
    min-width: 7em;
}
select.status-provisionally-accepted, select.status-provisionally-declined {
    min-width: 12em;
}

div#ReportSelector {
    display: flex;
    justify-content: center;
}

select#reports {
    width:16em;
    margin-left: 1em;
    margin-right: 1em;
}

footer {
    border-top: 1px solid lightgray;
    display:flex;
    flex-direction: row;
    justify-content: space-between;
    /*margin-top:2em;*/
    padding:1em;
    font-size: 12px;
}
footer img {
    /*position: relative;*/
    /*top:-2px;*/
    height:1.5em;
}
footer div.inclu {
    display:flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5em;
    white-space: nowrap;
}

span.logo-text1 {
    font-weight: bold;
}

div.summary {
    border: solid 1px lightgray;
    padding: 0.5em;
    border-radius: 8px;
    margin-bottom: 1em;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}
