@charset "UTF-8";
:root {
  --border-color: #333;
  --success-color: rgb(44, 133, 41);
  --error-color: rgb(158, 75, 75);
  --accent-color: cornflowerblue;
  --progress-bg: #3333;
  --progress-text: #000;
}
.application-form {
  gap: 1rem;
  width: 100%;
  margin: auto;
  display: flex;
  max-width: 100%;
  min-width: 100%;
  align-items: center;
  flex-direction: column;
  justify-content: center;
}
.application-form .block-row {
  gap: 1rem;
  padding: 5px;
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: left;
  align-content: center;
  width:calc(100% - 10px);
}
.application-form .block-row.has-submit {
  justify-content: right;
}
.application-form .block-column {
  gap: 5px;
  width: 100%;
  padding: 5px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  width:calc(100% - 10px);
}
.application-form .block-row .block-column {
  width: 50%;
}
.application-form label {
  gap: 5px;
  width: 100%;
  padding: 0px;
  display: flex;
  font-weight: bold;
  align-items: center;
  flex-direction: row;
  justify-items: center;
  justify-content: left;
}
.application-form label .required,
.application-form label .label_text {
  margin: 0;
  padding: 0;
  line-height: 1.25rem;
}
.application-form label .required {
  text-align: center;
  font-size: 1.225rem;
  color: var(--error-color, rgb(158, 75, 75));
}
.application-form .error {
  color: var(--error-color, rgb(158, 75, 75));
}
.application-form .success {
  color: var(--success-color, rgb(44, 133, 41));
}
.application-form input,
.application-form textarea,
.application-form button,
.application-form input[type=file]::file-selector-button,
.application-form input[type=file]::file-selector-button:hover,
.application-form .progress-container {
  border-width: 0.5px;
  border-style: solid;
  border-color: var(--border-color, #333);
}
.application-form input,
.application-form textarea {
  padding: 5px;
  display: block;
  border-radius: 5px;
  width:calc(100% - 10px);
  transition: 1s;
}
.application-form input[type="file"] {
  padding: 5px;
  border-radius: 5px;
  transition: 1s;
}
.application-form input[type=file]::file-selector-button,
.application-form input[type="submit"],
.application-form button {
  cursor: pointer;
  font-weight: bold;
  padding: .2em 1em;
  border-radius: .2em;
  color: #fff;
  background-color: var(--accent-color, cornflowerblue);
  transition: 1s;
}
.application-form input[type=file]::file-selector-button:hover,
.application-form input[type="submit"]:hover,
.application-form button:hover {
  background-color: var(--accent-color, cornflowerblue);
}

.application-form .progress-container {
  display: none; /* Hidden by default */
  width: 100%;
  background-color: var(--progress-bg, #3333);
  border-radius: 5px;
  margin: 10px 0;
  overflow: hidden;
  height: 20px;
  position: relative;
}
.application-form .progress-bar {
  height: 100%;
  width: 0%;
  background-color: var(--accent-color, cornflowerblue);
  transition: width 0.2s;
}
.application-form .progress-status {
  position: absolute;
  width: 100%;
  text-align: center;
  font-size: 12px;
  line-height: 20px;
  color: var(--progress-text, #000);
}
.application-form.is-uploading button {
  opacity: 0.5;
  pointer-events: none;
}
