body {
  font-family: Verdana,Geneva,sans-serif;
  margin: 0;
  overflow-x: hidden;
  font-size: 1.7em;
  padding-bottom: 5em; }

a {
  color: #060076;
  text-decoration: none; }
  a:hover {
    color: #040054;
    text-decoration: underline; }

#logo-img {
  background-color: #fff;
  text-align: center; }
  #logo-img img {
    width: 340px;
    height: 97px;
    margin: 2em 0 .5em 0; }

h1 {
  text-align: center;
  color: #666;
  font-style: italic;
  font-weight: 100;
  font-size: 120%; }

.stepLabel {
  width: 100%;
  background-color: #333;
  color: #ddd;
  padding: .5em;
  box-sizing: border-box;
  text-align: center; }
  .stepLabel span:first-child::after {
    content: ': '; }
  .stepLabel.no-step-num span:first-child::after {
    content: ''; }

.stepBody {
  width: 100%;
  background-color: #ddd;
  color: #333;
  padding: 1em;
  box-sizing: border-box;
  text-align: center; }
  .stepBody.odd {
    background-color: #eee; }
  .stepBody .message {
    margin: .5em 0 1.5em 0; }
  .stepBody .deadline-date {
    font-weight: bold;
    margin-top: .5em;
    color: #c93626; }
  .stepBody .dataLabel {
    font-size: .8em;
    font-weight: bold; }
  .stepBody .dataValue {
    margin-bottom: 1em; }
  .stepBody .sectionHead, .stepBody h2 {
    font-size: 1.2em;
    font-weight: bold;
    margin: 1em 0 .5em 0; }
    .stepBody .sectionHead:first-child, .stepBody h2:first-child {
      margin-top: .2em; }
  .stepBody label {
    margin-bottom: 0.5em; }
  .stepBody textarea, .stepBody input[type="text"] {
    font-size: 1em;
    display: block;
    width: 95%;
    margin: .3em auto;
    padding: .2em;
    border-color: #ccc #eee #eee #ccc;
    border-style: inset;
    border-width: 2px; }
  .stepBody textarea {
    resize: none;
    height: 3.2em;
    overflow-y: auto; }
  .stepBody input[type="submit"] {
    display: none;
    width: 50%;
    font-size: 2em;
    margin: .5em auto;
    text-align: center; }
  .stepBody input[type="file"] {
    opacity: 0;
    position: absolute; }
  .stepBody .explanation {
    font-size: .6em;
    font-style: italic;
    width: 95%;
    text-align: center;
    margin: .3em auto; }
  .stepBody ul {
    list-style-type: disc; }
  .stepBody ul, .stepBody ol {
    margin-top: 0.3em;
    padding-left: 1em; }
    .stepBody ul li, .stepBody ol li {
      padding: 0 0 1em 0.5em; }
      .stepBody ul li ul, .stepBody ul li ol, .stepBody ol li ul, .stepBody ol li ol {
        margin-top: .3em; }
    .stepBody ul:last-child, .stepBody ol:last-child {
      margin-bottom: .2em; }
  .stepBody .review {
    font-size: .8em;
    font-style: italic;
    margin: 2em 0 0 0; }
  .stepBody .agreeToTermFirstMsg {
    font-size: .6em;
    font-style: italic;
    margin-bottom: .5em; }
  .stepBody .uploadFileSection {
    margin-bottom: 1.5em; }
    .stepBody .uploadFileSection .uploadFileDesc {
      font-size: .6em;
      font-style: italic;
      margin-bottom: .8em; }
    .stepBody .uploadFileSection:last-child {
      margin-bottom: 0; }
  .stepBody#terms {
    text-align: left;
    font-size: .7em; }
    .stepBody#terms p {
      margin-block-start: 0.2em; }

#presData, #videoSpecs {
  font-size: 80%; }

#presData td:first-child {
  text-align: right;
  font-weight: bold; }

#presData td:last-child {
  text-align: left; }

#presData .data-st-outer {
  display: none; }

#videoSpecs {
  text-align: left; }
  #videoSpecs p {
    margin-top: 0; }
  #videoSpecs ul {
    list-style-type: disc;
    margin-top: 0.3em; }
    #videoSpecs ul li {
      padding-bottom: .3em; }
      #videoSpecs ul li ul {
        margin-top: .3em; }

#suggestions {
  text-align: left; }
  #suggestions h3 {
    margin-block-start: 0; }
  #suggestions p {
    margin-top: 0; }
  #suggestions h4 {
    margin-block-end: .3em; }
  #suggestions ul {
    list-style-type: disc;
    margin-top: 0.3em; }
    #suggestions ul li {
      padding-bottom: .3em; }
      #suggestions ul li ul {
        margin-top: .3em; }

#agreeToTerms {
  height: 2em;
  width: 2em; }

#agreedToTerms {
  color: #318f31;
  font-size: 40%;
  display: inline-block;
  vertical-align: middle;
  padding-bottom: .4em; }

#agreeToTermsLabel {
  font-size: 100%;
  user-select: none; }
  #agreeToTermsLabel.disable {
    color: #aaa; }

#fileSection {
  padding: 1em .25em; }

#files {
  display: none; }

.textInput {
  margin-bottom: 2em; }

.textInputPair {
  margin-bottom: 3em; }
  .textInputPair .textInput {
    margin-bottom: 1.5em; }

label.button, label.file-upload, label.save {
  font-size: 1em;
  padding: .2em;
  border-radius: .2em;
  border: 1px solid #999;
  color: white;
  background-color: #aaa;
  display: inline-block;
  user-select: none; }
  label.button.enabled, label.file-upload.enabled, label.save.enabled {
    background-color: #318f31;
    border-color: #246924; }
    label.button.enabled:hover, label.file-upload.enabled:hover, label.save.enabled:hover {
      background-color: #3eb53e;
      border-color: #318f31; }
  label.button.disabled, label.button.disabled:hover, label.button.done, label.button.done:hover, label.file-upload.disabled, label.file-upload.disabled:hover, label.file-upload.done, label.file-upload.done:hover, label.save.disabled, label.save.disabled:hover, label.save.done, label.save.done:hover {
    background-color: #aaa;
    border: 1px solid #999; }

.textUpdateResp {
  margin: .3em 0 1.5em 0; }

.progress {
  display: none; }
  .progress progress {
    width: 100%;
    height: 1em; }
  .progress #s3finalmsg {
    color: #ddd; }
    .progress #s3finalmsg.uploading {
      color: #6f4499; }
    .progress #s3finalmsg.warning {
      color: #b37b0e; }
    .progress #s3finalmsg.success {
      color: #318f31; }
    .progress #s3finalmsg.error {
      color: #c42033; }
  .progress #s3progressbar {
    width: 90%;
    height: 1em; }
  .progress .progress-reload {
    display: none; }
  .progress.display {
    display: block; }

ol.ast {
  font-size: 75%;
  margin-top: 0;
  margin-bottom: .2em; }

#review-overlay {
  display: none;
  z-index: 500;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: .8em;
  font-family: sans-serif; }
  #review-overlay #review-close {
    position: fixed;
    z-index: 512;
    text-align: left;
    top: .5em;
    right: .5em;
    color: #444; }
  #review-overlay #review-inner {
    position: fixed;
    z-index: 510;
    top: 2em;
    bottom: 2em;
    left: 2em;
    right: 2em;
    background-color: #ddd;
    color: #333;
    border: 1px solid #aaa;
    text-align: center; }
    #review-overlay #review-inner .fileSection, #review-overlay #review-inner .formDescription {
      font-size: 1.5em;
      font-style: italic;
      margin: .5em; }
    #review-overlay #review-inner .textEntryPair, #review-overlay #review-inner .logicalFilePair {
      margin: .5em 0 1.5em 0; }
    #review-overlay #review-inner .textEntryLabel, #review-overlay #review-inner .logicalFileLabel {
      font-style: italic;
      font-size: .8em;
      font-weight: bold; }
    #review-overlay #review-inner .textEntryValue.na, #review-overlay #review-inner .logicalFileValue.na {
      color: #555; }
    #review-overlay #review-inner .textEntryTuple {
      margin: .5em 0 1.5em 0; }
      #review-overlay #review-inner .textEntryTuple .textEntryPair {
        margin-bottom: .5em; }
    #review-overlay #review-inner #review-files {
      margin-top: 2em; }
    #review-overlay #review-inner #review-header {
      background-color: #333;
      color: #bbb;
      border: 1px solid #aaa; }
    #review-overlay #review-inner #review-header {
      position: absolute;
      top: 0;
      width: 100%;
      left: 0;
      height: 2em;
      font-size: 1em;
      font-weight: bold;
      box-sizing: border-box;
      padding-top: .5em; }
    #review-overlay #review-inner #review-body {
      overflow-y: auto;
      position: absolute;
      top: 2em;
      width: 100%;
      left: 0;
      bottom: 0;
      border: 1px solid #aaa;
      padding: 1em;
      box-sizing: border-box; }
      #review-overlay #review-inner #review-body #review-message {
        margin-top: 2em;
        text-align: left; }
        #review-overlay #review-inner #review-body #review-message ul {
          margin: .5em 1em 0 1em; }
          #review-overlay #review-inner #review-body #review-message ul li {
            margin-bottom: .5em; }
    #review-overlay #review-inner a.logicalFileValue {
      display: block; }
    #review-overlay #review-inner .review-message {
      margin-top: 1em; }
  #review-overlay #review-bg {
    position: fixed;
    z-index: 505;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #888;
    opacity: .8; }

@supports (grid-template-columns: auto) {
  @media screen and (min-width: 70em) {
    body {
      display: grid;
      grid-template-columns: 2fr 5fr;
      grid-gap: 0.2em;
      font-size: 1.5em;
      overflow-x: hidden; }
    #logo-img {
      align-self: center;
      justify-self: center; }
    h1 {
      align-self: self-end;
      justify-self: self-end;
      padding-right: 5%;
      padding-bottom: .5em; }
    .stepLabel {
      text-align: right;
      display: grid;
      grid-template-columns: minmax(2em, 1fr) 4fr; }
      .stepLabel span:first-child {
        font-size: 3em;
        justify-self: center;
        align-self: start;
        color: #555; }
      .stepLabel span:first-child::after {
        content: ''; }
      .stepLabel span:last-child {
        justify-self: end;
        align-self: start;
        display: inline-block;
        padding-top: 0.4em; }
    #termsAgree {
      padding: 1em 0.5em; } } }
