body {
  min-height: 100vh;
  width: 100vw;
  font-family: Arial, sans-serif;
  display: flex;
  flex-direction: column;
  background-color: #f4f5f7 !important;
}

.govuk-header {
  border-bottom: none !important;
}

.govuk-panel--warning {
  background-color: #d4351c;
  color: #fff;
}

.govuk-success {
  color: #00703c;
  font-weight: bold;
}

.govuk-panel__body {
  font-size: 1.5rem;
}

#container {
  width: 100%;
  max-width: 960px;
  flex: 1 0 auto;
  margin: 0 auto;
}

footer {
  flex-shrink: 0;
}

.form-container {
  margin: 1.6rem 1rem;
}

.start__list {
  list-style: none;
  display: block;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  padding-inline-start: 0;
  unicode-bidi: isolate;
}

/* .start__list li {
  padding-left: 0;
} */

.chevron-card {
  display: list-item;
  text-align: -webkit-match-parent;
  unicode-bidi: isolate;
  padding: 0.8rem;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 8px 10px -6px rgb(0 0 0 / 20%);
}

.chevron-card + .chevron-card {
  margin-top: 1rem;
}

.chevron-card__wrapper {
  position: relative;
}

.chevron-card:first-child .chevron-card__wrapper {
  padding-top: 0;
}

.chevron-card__link {
  font-size: 1.4rem;
}

.chevron-card__description {
  font-size: 1.2rem;
  letter-spacing: -0.4px;
  color: #5b616b;
  margin: 0;
}

.medicus-card {
  background-color: #fff;
  border: 1px solid #dadde1;
  box-shadow:
    0 4px 6px rgba(0, 0, 0, 0.02),
    0 2px 4px rgba(0, 0, 0, 0.06);
}

.medicus-banner {
  display: flex;
  align-items: center;
  justify-content: start;
}

.medicus-banner > .icon {
  width: 50px;
  height: 50px;
  margin-right: 1rem;
}

.medicus-banner > .content {
  flex: 1;
}

.govuk-fieldset__legend--m {
  font-size: 1.1rem;
}

.govuk-hint {
  color: #5b616b;
  border-left: 4px solid #cccccc;
  padding-left: 0.8rem;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
  font-size: 1.1rem;
  letter-spacing: -0.2px;
}

.govuk-hint:empty {
  display: none;
}

.govuk-error-message {
  font-size: 1.2rem;
  margin: 0;
}
.govuk-form-group--error .govuk-error-message {
  margin-bottom: 1.2rem;
}

.govuk-input,
.govuk-date-input__input,
.govuk-textarea {
  background: #ffffff;
  border: 2px solid #8f95a0;
  border-radius: 3px;
  box-shadow: 0 8px 10px -6px rgb(0 0 0 / 10%);
  font-size: 1.2rem;
  padding: 0.6rem;
  margin-bottom: 0;
}

.govuk-input,
.govuk-date-input__input {
  height: 2.8rem;
}

.govuk-input:focus,
.govuk-textarea:focus {
  outline-color: #8bc1ff;
}

.govuk-textarea {
  min-height: 80px;
  height: 140px;
  max-height: 640px;
}

.medicus-submit-button,
.medicus-submit-button:hover,
.medicus-submit-button:active {
  background-color: #3d73af;
  color: #fff;
  border: 1px solid #005ea5;
  border-radius: 4px;
  padding: 0.8rem 1rem;
  min-width: 120px;
  font-size: 1.2rem;
  font-weight: bold;
  cursor: pointer;
  margin-top: 1.2rem;
  box-shadow: 0 8px 10px -6px rgb(0 0 0 / 20%);
  text-shadow: 0 2px 1px rgb(0 0 0 / 14%);
}

.medicus-submit-button:hover,
.medicus-submit-button:active {
  background-color: #005ea5;
}

.medicus-submit-button:focus:not(:active):not(:hover) {
  background: #005ea5;
  color: white;
  box-shadow: 0 0 0 4px #8bc1ff;
}

.medicus-submit-button[disabled]:hover {
  background: #3d73af;
  opacity: 0.5;
}

.medicus-secondary-button,
.medicus-secondary-button:hover,
.medicus-secondary-button:active {
  background-color: #cecece;
  color: #000;
  border: 1px solid #4d4d4d;
  border-radius: 4px;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
}

.medicus-secondary-button:hover,
.medicus-secondary-button:active {
  background-color: #8a8a8a;
  padding: 0.5rem 1rem;
}

.medicus-gp-practice-name {
  font-size: 1.4rem;
  line-height: 1.2;
}

.flex {
  display: flex;
}

.justify-between {
  justify-content: space-between;
}

.items-start {
  align-items: flex-start;
}

.items-center {
  align-items: center;
}

.medicus-message-card {
  margin-bottom: 1rem;
  border-radius: 0.5rem;
  width: 85%;
  padding: 1rem;
  box-shadow:
    0 4px 10px rgba(0, 0, 0, 0.07),
    0 2px 6px rgba(0, 0, 0, 0.07);
}

.medicus-outbound-message {
  background-color: #f4f5f7;
}

.medicus-inbound-message {
  background-color: #eef6ff;
  margin-left: auto;
}

.medicus-questionnaire-question {
  color: rgb(0, 0, 0, 0.5);
}

.medicus-w-10 {
  width: 10%;
}
.medicus-w-20 {
  width: 20%;
}
.medicus-w-30 {
  width: 30%;
}
.medicus-w-40 {
  width: 40%;
}
.medicus-w-50 {
  width: 50%;
}
.medicus-w-60 {
  width: 60%;
}
.medicus-w-70 {
  width: 70%;
}
.medicus-w-80 {
  width: 80%;
}
.medicus-w-90 {
  width: 90%;
}
.medicus-w-100 {
  width: 100%;
}

.medicus-margin-x-auto {
  margin-left: auto;
  margin-right: auto;
}

.medicus-margin-y-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.flex {
  display: flex;
}

.justify-end {
  justify-content: flex-end;
}

.text-center {
  text-align: center;
}

.info-container {
  background-color: #4078b6;
  color: white;
  width: 100%;
  min-height: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
}

ul {
  padding-left: 1.8rem;
  padding-right: 1rem;
}

ul li + li {
  margin-top: 0.6rem;
}

.message-container {
  padding: 1rem 1.4rem 0.4rem;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 8px 10px -6px rgb(0 0 0 / 20%);
}

.message-container .message-title {
  margin-top: 0;
  font-size: 1.8rem;
  border-bottom: 2px solid #dadde1;
  padding-bottom: 0.8rem;
  color: #0b0c0c;
  letter-spacing: -1px;
  word-spacing: -1px;
  text-align: left;
}

.message-container h3 {
  font-size: 1.3rem;
  letter-spacing: -1px;
  word-spacing: -1px;
}

.message-container p,
.message-container ul {
  font-size: 1.2rem;
  line-height: 1.2;
  letter-spacing: 0.2px;
}

.phone-number {
  font-weight: bold;
}

/* GOV UK Overrides */
.govuk-header {
  box-shadow: 0 8px 10px -6px rgb(0 0 0 / 20%);
  background: #091c39;
}

.govuk-header__container {
  padding-top: 0;
  border: 0;
  margin-bottom: 0;
}

.govuk-header__container h1 {
}

.govuk-heading-l {
  letter-spacing: -1px;
  word-spacing: -1px;
  margin-bottom: 1.2rem;
  margin-top: 0;
  font-size: 1.8rem;
}

.govuk-panel {
  border-radius: 3px;
  padding: 1.4rem;
}

.govuk-panel__body {
  font-weight: bold;
  text-align: left;
  line-height: 1.2;
}

.govuk-footer {
  margin-top: 2rem;
  border: 0;
  background: #ffffff;
  color: #727780;
  padding: 1rem;
}

.govuk-footer__meta-item {
  margin: 0.6rem;
}

.govuk-label {
  font-weight: bold;
  font-size: 1.2rem;
}

.govuk-fieldset__heading {
  font-size: 1.4rem;
}

.govuk-form-group {
  margin: 0;
}

.govuk-form-group + .govuk-form-group {
  margin-top: 1.6rem;
}

.govuk-form-group + .govuk-form-group:has(> .govuk-fieldset) {
  margin-top: 2.6rem;
}

.govuk-summary-list__caption {
  margin: 0;
}

.govuk-link,
.govuk-link:link,
.govuk-link:visited,
.govuk-back-link {
  font-weight: bold;
  color: #3d73af;
}
.govuk-link:focus,
.govuk-back-link:focus {
  background-color: #e1efff;
  box-shadow: 0 4px #0b0c0c;
}

.govuk-back-link {
  margin-top: 0;
  font-size: 1rem;
  font-weight: bold;
  padding: 0.4rem 0.6rem 0.4rem 1.8rem;
  margin-bottom: 1rem;
}

.govuk-back-link::before {
  border-width: max(1px, 0.2em) max(1px, 0.2em) 0 0;
  font-size: max(16px, 1.4em);
  border-color: #0b0c0c;
  left: 0.35em;
}

.summary-card {
  padding: 1rem;
  background: #fff;
  border: 1px solid #dadde1;
  border-radius: 3px;
}

.summary-card + .summary-card {
  margin-top: 1rem;
}

.summary-list-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.6rem;
}

.summary-list {
  display: flex;
  flex-direction: column;
  margin: 0;
}

.govuk-summary-list__row {
  border: 0;
  margin: 0;
  padding: 0.4rem 0.8rem;
}

.govuk-summary-list__row + .govuk-summary-list__row {
  border-top: 1px solid #dadde1;
}

.govuk-summary-list__key {
  font-weight: normal;
  color: #5b616b;
  font-size: 1.2rem;
}

.govuk-summary-list__value {
  margin: 0;
  font-size: 1.2rem;
  font-weight: bold;
}

.govuk-radios__input:focus + .govuk-radios__label:before {
  box-shadow: 0 0 0 4px #8bc1ff;
}

form {
  background: white;
  padding: 1rem;
}

form .medicus-submit-button {
  margin-bottom: 0;
}

.pointer {
  cursor: pointer;
}

.prescription-card {
  background-color: #fff;
  border: 1px solid #dadde1;
  box-shadow:
    0 4px 6px rgba(0, 0, 0, 0.02),
    0 2px 4px rgba(0, 0, 0, 0.06);
  margin-top: 1rem;
  padding: 1rem;
}

.medicus-slot-button {
  margin-bottom: 1rem;
  background-color: #3d73af;
  color: white;
  text-align: center;
  padding: 1rem;
  min-width: 120px;
  cursor: pointer;
}

.selected-files-list {
  max-width: 100%;
}

.selected-file {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 100%;
}

.selected-file-name {
  word-wrap: break-word;
  overflow-wrap: break-word;
  margin-right: 1rem;
  max-width: 75%;
}

.cursor-pointer {
  cursor: pointer;
}

.required {
  color: #d4351c;
  /* superscript */
  vertical-align: super;
}

.appointment-listing-container {
  margin-top: 40px;
}

.appointment-listing-container .appointment-listing-filters {
  position: relative;
}

.appointment-listing-filters .reset-filters {
  position: absolute;
  top: -1rem;
  right: 0;
  font-size: 1rem;
}

.appointment-listing-container .appointment-listing-slots {
  margin-top: 40px;
}

.govuk-fieldset__heading {
  font-size: 1.2rem;
}

/* for tablets and desktops*/
@media (min-width: 768px) {
  .appointment-listing-container {
    display: grid;
    grid-template-columns: 1fr 250px;
    grid-gap: 20px;
    grid-template-areas: "main-content filters";
  }

  .appointment-listing-container.block {
    display: block;
  }

  .appointment-listing-container .appointment-listing-filters {
    grid-area: filters;
  }

  .appointment-listing-container .appointment-listing-slots {
    grid-area: main-content;
    margin-top: 0;
  }

  .appointment-listing-filters .reset-filters {
    top: -0.8rem;
  }

  .medicus-card {
    padding: 10px;
    margin-top: 20px;
  }

  .upload-button:not(:first-child) {
    margin-left: 1rem;
  }

  .selected-files-list {
    margin: 0 1rem;
  }
}
