input[type=radio],
input[type=checkbox] {
  cursor: pointer;
}

.timesheet-download {
  background-color: #093088;
  border-radius: 7px;
  color: #ffffff;
  display: inline-block;
  font-size: 1.1em;
  padding: 9px 12px 9px 12px;
  text-decoration: none;
  text-align: center;
  transition: all 0.2s ease-in-out;
}
.timesheet-download a {
  color: white;
}
.timesheet-download:hover {
  color: #093088;
  background-color: #e3f2fd;
}

.a-form,
.a-form * {
  box-sizing: border-box;
}

.mp-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.mp-section .a-form {
  width: 100%;
}

.a-form {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 1em;
  max-width: 90vw;
  text-align: left;
}
.a-form > * {
  width: 100%;
}
.a-form button[type=submit] {
  background-color: #093088;
  padding: 1em;
  color: white;
  font-size: 1.2em;
  font-weight: bold;
  cursor: pointer;
}

.section-header {
  text-align: center;
}
.section-header ul {
  text-align: left;
}

.form-group {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1em;
}
.form-group > .form-group {
  width: 100%;
}
.form-group.row {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}
.form-group.row > .input-field {
  flex: 1;
}

.input-field {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.5em;
  min-width: 200px;
}
.input-field .field-label,
.input-field .field-input {
  width: 100%;
}
.input-field .field-label {
  font-weight: bold;
}
.input-field .field-input {
  padding: 0.5em;
}
.input-field textarea.field-input {
  min-height: 100px;
  resize: vertical;
}
.input-field.row {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.input-field.row .field-label {
  flex: 25%;
  text-align: center;
}
.input-field.row .field-input {
  flex: 75%;
}
.input-field.required .field-label::after {
  content: "*";
  color: red;
}
.input-field.more-space .radio-options {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1em;
  font-size: 1.25em;
}
.input-field.more-space .radio-options .option {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
}
.input-field.more-space .radio-options .option input {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.input-field.wide {
  flex: 5;
}
.input-field.narrow {
  flex: 2;
}

.required-mark {
  color: red;
}

.activity-record {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0px;
}
.activity-record .activity-selection {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 1em;
  width: 100%;
  flex-wrap: wrap;
  padding: 0.75em;
}
.activity-record .activity-selection:not(:last-of-type) {
  border-bottom: 2px solid rgb(192, 192, 192);
}
.activity-record .activity-selection label {
  flex: 5%;
  min-width: 200px;
  max-width: 300px;
}
.activity-record .activity-selection input {
  width: 20px;
  height: 20px;
  cursor: pointer;
  margin: 0px;
}
.activity-record .activity-selection textarea {
  flex: 1;
  min-height: 50px;
  min-width: 200px;
}