/* Manifest generated by process-elements.js */
:root {
  --question-spacing: 30px;
  --q-spacer-color: #cacaca;
  --q-border-color: #000;
  --progress-bar-bg-color: rgba(108, 56, 127, 0.4);
  --progress-bar-fill-color: rgba(108, 56, 127, 1);
}

.questionnaire-wrapper {
  max-width: 762px;
  margin: 0 auto;
  position: relative;
}
.questionnaire-wrapper.align-start {
  margin: 0;
}

.questionnaire-heading h2 {
  padding: 0;
  margin-bottom: 0;
}

.explanation_btn {
  background-color: transparent;
  border: 0;
  padding: 0;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
}

.explanation_collapse > div {
  padding-top: 20px;
}

.questionnaire {
  border: 1px solid var(--q-border-color);
  padding: 36px 40px;
  position: relative;
  z-index: 12;
  /*-----------------------
     STEPS */
}
@media (max-width: 580px) {
  .questionnaire {
    padding: 20px;
  }
}
.questionnaire .button {
  cursor: default !important;
}
.questionnaire .btn {
  margin: 0;
}
.questionnaire .disclaimer {
  margin-top: 20px;
}
.questionnaire .disclaimer p:last-of-type {
  margin: 0;
}
.questionnaire p.sm {
  font-size: 0.8em;
}
.questionnaire .group {
  margin-top: var(--question-spacing);
  margin-bottom: var(--question-spacing);
  border-bottom: 1px solid var(--q-spacer-color);
  padding-bottom: var(--question-spacing);
}
.questionnaire .group:last-of-type {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
.questionnaire .group p {
  margin: 0 0 0.4em 0;
}
.questionnaire .group .group_description {
  margin-bottom: 20px;
}
.questionnaire .group .group_description:only-child {
  margin-bottom: 0;
}
.questionnaire .group .group_description p:last-of-type {
  margin: 0;
}
.questionnaire .group .input_group_row {
  align-items: flex-end;
}
@media (min-width: 768px) {
  .questionnaire .group.button_group .input_group_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .questionnaire .group.button_group .input_group_row > .button {
    width: 50%;
  }
}
.questionnaire .group.button_group .input_group_row > .button:nth-child(2) {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .questionnaire .group.button_group .input_group_row > .button:nth-child(2) {
    margin-top: 0;
    text-align: right;
  }
}
@media (min-width: 768px) {
  .questionnaire .group.button_group .input_group_row .button:has(.body_link) {
    width: 75%;
  }
}
@media (min-width: 768px) {
  .questionnaire .group.button_group .input_group_row .button:has(.body_link) ~ .button {
    width: 25%;
  }
}
.questionnaire .wizard {
  padding-top: 30px;
  padding-bottom: var(--question-spacing);
}
@media (max-width: 580px) {
  .questionnaire .wizard {
    padding-bottom: 15px;
    padding-top: 20px;
  }
}
.questionnaire .wizard + .group {
  margin-top: 0;
}
.questionnaire .wizard p {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 600;
  margin: 0 0 10px 0;
}
.questionnaire .wizard .progress_bar {
  width: 100%;
  height: 5px;
  background-color: var(--progress-bar-bg-color);
  position: relative;
}
.questionnaire .wizard .progress_bar .progress_bar_fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: var(--progress-bar-fill-color);
}

:root {
  --box-heading-color: #000;
  --box-text-color: #000;
  --box-padding: 40px 20px 40px 20px;
  --box-border-radius: 20px;
  --box-wrapper-bg-color: transparent;
  --box-image-bg-color: transparent;
  --box-content-bg-color: transparent;
  --box-border-width: 2px;
  --box-border-color: #000;
}

.box_section {
  margin-bottom: 20px;
}
.box_section h2,
.box_section h3 {
  margin-top: 0;
  margin-bottom: 15px;
}
.box_section .box_content *:last-child {
  margin-bottom: 0;
}
.box_section .box_item_wrapper {
  margin-top: 20px;
}
.box_section .box_item_wrapper .box_item {
  height: 100%;
  border-radius: var(--box-border-radius);
  position: relative;
  overflow: hidden;
  background-color: var(--box-wrapper-bg-color);
  border-width: var(--box-border-width);
  border-color: var(--box-border-color);
  border-style: solid;
}
@media (min-width: 768px) {
  .box_section .box_item_wrapper .box_item {
    display: flex;
  }
}
.box_section .box_item_wrapper .box_content {
  padding: var(--box-padding);
  background-color: var(--box-content-bg-color);
}
.box_section .box_item_wrapper .box_content h1,
.box_section .box_item_wrapper .box_content h2,
.box_section .box_item_wrapper .box_content h3,
.box_section .box_item_wrapper .box_content h4,
.box_section .box_item_wrapper .box_content h5,
.box_section .box_item_wrapper .box_content h6 {
  color: var(--box-heading-color);
}
.box_section .box_item_wrapper .box_content p {
  color: var(--box-text-color);
}
.box_section .box_item_wrapper .box_image {
  display: flex;
  align-items: center;
  padding: 12px 30px;
  border-radius: var(--bs-border-radius-xl) var(--bs-border-radius-xl) 0 0;
  background-color: var(--box-image-bg-color);
}
@media (min-width: 768px) {
  .box_section .box_item_wrapper .box_image {
    flex: 0 0 190px;
    padding: 0 20px;
    padding: 10px 20px;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    border-radius: var(--bs-border-radius-xl) 0 0 var(--bs-border-radius-xl);
  }
}
.box_section .box_item_wrapper .box_image img,
.box_section .box_item_wrapper .box_image svg {
  max-height: 40px;
  max-width: 40px;
}
@media (min-width: 768px) {
  .box_section .box_item_wrapper .box_image img,
  .box_section .box_item_wrapper .box_image svg {
    max-width: 80px;
    max-height: 80px;
    width: 100%;
    height: 100%;
  }
}

.references {
  margin-top: 20px;
}
.references .reference_heading {
  font-size: 1.3rem;
}

ol.footnote_list {
  padding: 0;
  margin: 0 0 0 16px;
}
ol.footnote_list li {
  margin-bottom: 4px;
  font-size: 1.3rem;
  letter-spacing: 0.4px;
}
ol.footnote_list li:target, ol.footnote_list li:focus {
  outline: 0;
}
ol.footnote_list li:target span, ol.footnote_list li:focus span {
  outline: 2px solid rgba(0, 0, 0, 0.7);
}
ol.footnote_list li a {
  font-size: 1em;
  display: inline-block;
  padding: 0 2px;
  text-decoration-color: transparent;
}
ol.footnote_list li a:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.7);
  box-shadow: none;
  position: relative;
  z-index: 10;
}

sup.footnote_sup:target a {
  outline: 2px solid rgba(0, 0, 0, 0.5);
}
sup.footnote_sup a {
  border: 1px solid transparent;
  font-size: 0.9em;
  padding: 0;
  transform: translateY(2px);
  text-decoration: none;
}
sup.footnote_sup a:focus {
  outline: 2px solid rgba(0, 0, 0, 0.7);
  box-shadow: none;
}
sup.footnote_sup a:hover {
  outline: 2px solid rgba(0, 0, 0, 0.7);
}

:root {
  /* 
     To update button variables when they're against
     a dark background, set them under _light-content.scss
  */
  --btn-fs: 1.6rem;
  --btn-font-weight: 600;
  --btn-ff: "Montserrat", sans-serif;
  --btn-padding: 12px 20px;
  --btn-mt: 20px;
  --body-link-label-color: #6c387f;
  --body-link-tdc: #6c387f;
  --body-link-fs: 1.6rem;
  --body-link-fw: 700;
  --body-link-hover-label-color: #6c387f;
  --body-link-hover-tdc: transparent;
  --btn-primary-bgc: #6c387f;
  --btn-primary-label-color: #fff;
  --btn-primary-br: 30px;
  --btn-primary-bc: #6c387f;
  --btn-primary-hover-bc: hotpink;
  --btn-primary-hover-bgc: hotpink;
  --btn-primary-hover-label-color: #fff;
  --btn-primary-fv-oc: #000;
  --btn-primary-fv-bc: #fff;
  --btn-secondary-bgc: transparent;
  --btn-secondary-label-color: #6c387f;
  --btn-secondary-br: 30px;
  --btn-secondary-bc: #6c387f;
  --btn-secondary-hover-bc: #6c387f;
  --btn-secondary-hover-bgc: lavender;
  --btn-secondary-hover-label-color: #fff;
  --btn-secondary-fv-oc: #000;
  --btn-secondary-fv-bc: #fff;
}
@media (min-width: 992px) {
  :root {
    --body-link-fs: 1.7rem;
    --btn-fs: 1.7rem;
  }
}

.btn {
  cursor: pointer;
  display: inline-block;
  font-size: var(--btn-fs);
  font-family: var(--btn-ff);
  font-weight: var(--btn-font-weight);
  line-height: 1.3;
  margin-top: var(--btn-mt);
  padding: var(--btn-padding);
  text-decoration: none;
  transition: background-color 0.2s ease, border 0.15s ease, box-shadow 0.2s ease, color 0.25s ease, transform 0.2s ease;
}
.btn.btn-primary {
  border-radius: var(--btn-primary-br);
  border: 2px solid var(--btn-primary-bc);
  background-color: var(--btn-primary-bgc);
  color: var(--btn-primary-label-color);
}
.btn.btn-primary:hover {
  border-color: var(--btn-primary-hover-bc);
  background-color: var(--btn-primary-hover-bgc);
  color: var(--btn-primary-hover-label-color);
}
.btn.btn-primary:focus-visible {
  outline: 3px solid var(--btn-primary-fv-oc);
  border-color: var(--btn-primary-fv-bc);
}
.btn.btn-secondary {
  border-radius: var(--btn-secondary-br);
  border: 2px solid var(--btn-secondary-bc);
  background-color: var(--btn-secondary-bgc);
  color: var(--btn-secondary-label-color);
}
.btn.btn-secondary:hover {
  border-color: var(--btn-secondary-hover-bc);
  background-color: var(--btn-secondary-hover-bgc);
  color: var(--btn-secondary-hover-label-color);
}
.btn.btn-secondary:focus-visible {
  outline: 3px solid var(--btn-secondary-fv-oc);
  border-color: var(--btn-secondary-fv-bc);
}

a:not(.btn),
button.body_link {
  cursor: pointer;
  color: var(--body-link-label-color);
  font-family: var(--btn-ff);
  font-size: var(--body-link-fs);
  font-weight: var(--body-link-fw);
  transition: text-decoration-color 0.2s ease, color 0.2s ease;
  line-height: 1.5;
  display: inline-block;
  background-color: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  text-wrap: balance;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: var(--body-link-tdc);
}
a:not(.btn).btn-arrow,
button.body_link.btn-arrow {
  display: inline-flex;
  align-items: center;
  font-weight: 700;
}
a:not(.btn).btn-arrow svg,
button.body_link.btn-arrow svg {
  display: block;
  margin-left: 6px;
  width: 20px;
  height: 12px;
}
a:not(.btn):hover,
button.body_link:hover {
  color: var(--body-link-hover-label-color);
  text-decoration-color: var(--body-link-hover-tdc);
}
a:not(.btn):focus-visible,
button.body_link:focus-visible {
  outline: 3px solid rgba(0, 0, 0, 0.7);
}

button.body_link {
  text-align: left;
}

:root {
  --input-br: 6px;
  --input-padding: 8px 8px;
  --radio-fill-color: #6c387f;
  --radio-border-color: #6c387f;
  --accent_rgb: 108, 56, 127;
  --radio-card-accent-color: #6c387f;
  --radio-checkbox-label-fw: 400;
  --card-padding: 30px;
  --card-radius: 15px;
  --card-border-style: 2px solid #d7d2cb;
}

.icon_input {
  width: 100%;
  position: relative;
}
.icon_input input {
  padding-left: 36px !important;
}
.icon_input i {
  position: absolute;
  font-size: 1.6rem;
  color: #848484;
  top: 0;
  bottom: 0;
  left: 12px;
  margin: auto;
  display: flex;
  align-items: center;
}

label,
legend {
  display: inline-block;
  font-weight: 600;
  margin: 0 0 0.8em 0;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.3;
}

.label_helper {
  display: block;
  font-size: 0.8em;
  margin-top: 4px;
  font-weight: normal;
}
.label_helper + span[aria-hidden=true] {
  font-weight: normal;
}

/*====================================
   INPUTS
====================================*/
input,
textarea,
select {
  font-family: var(--input-ff);
  font-size: 1.6rem;
  margin: 0;
  border: 2px solid #8f8f8f;
  padding: var(--input-padding);
  display: block;
  width: 100%;
  border-radius: var(--input-br);
}
input:focus,
textarea:focus,
select:focus {
  outline: 3px solid rgba(var(--accent_rgb), 0.75);
  border-color: #000;
}

select {
  background-color: transparent;
}

.input_helper {
  font-size: 1.3rem;
  opacity: 1;
  margin: 5px 0 0 0 !important;
}
@media (max-width: 575.98px) {
  .input_helper {
    font-size: 1.2rem;
  }
}

.field-xs input {
  max-width: 120px;
  width: 100%;
}

.field-sm input {
  max-width: 200px;
  width: 100%;
}

.field-md input {
  max-width: 70%;
  width: 100%;
}
@media (max-width: 991px) {
  .field-md input {
    max-width: 100%;
  }
}

/*====================================
   RADIO & CHECKBOX
====================================*/
.radio,
.checkbox {
  position: relative;
  display: flex;
  align-items: flex-start;
}
.radio:not(:last-child),
.checkbox:not(:last-child) {
  margin: 0 0 16px 0;
}
.radio input[type=radio],
.radio input[type=checkbox],
.checkbox input[type=radio],
.checkbox input[type=checkbox] {
  outline: 1px solid hotpink;
  height: 100%;
  width: 100%;
  display: block;
  cursor: pointer;
  z-index: 6;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.radio input[type=radio]:checked ~ span,
.radio input[type=checkbox]:checked ~ span,
.checkbox input[type=radio]:checked ~ span,
.checkbox input[type=checkbox]:checked ~ span {
  background-color: var(--radio-fill-color);
  border-color: var(--radio-fill-color);
}
.radio input[type=radio]:focus-visible ~ span, .radio input[type=radio]:focus ~ span,
.radio input[type=checkbox]:focus-visible ~ span,
.radio input[type=checkbox]:focus ~ span,
.checkbox input[type=radio]:focus-visible ~ span,
.checkbox input[type=radio]:focus ~ span,
.checkbox input[type=checkbox]:focus-visible ~ span,
.checkbox input[type=checkbox]:focus ~ span {
  border-style: solid;
  outline: 2px solid rgba(var(--accent_rgb), 0.75);
  border-color: #000;
}
.radio input[type=radio]:focus-visible:checked ~ span, .radio input[type=radio]:focus:checked ~ span,
.radio input[type=checkbox]:focus-visible:checked ~ span,
.radio input[type=checkbox]:focus:checked ~ span,
.checkbox input[type=radio]:focus-visible:checked ~ span,
.checkbox input[type=radio]:focus:checked ~ span,
.checkbox input[type=checkbox]:focus-visible:checked ~ span,
.checkbox input[type=checkbox]:focus:checked ~ span {
  border-color: #fff;
}
.radio > span,
.checkbox > span {
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  display: block;
  border: 2px solid var(--radio-border-color);
  border-radius: 50%;
  margin: 4px auto auto auto;
  transition: all 0.15s ease;
}
.radio input[type=checkbox] ~ span,
.checkbox input[type=checkbox] ~ span {
  border-radius: 0;
}
.radio label,
.checkbox label {
  cursor: pointer;
  margin: 0 0 0 8px;
  font-weight: var(--radio-checkbox-label-fw);
  width: 100%;
  line-height: 1.3;
  transition: border 0.4s ease, background 0.4s ease;
}

.radio_flex .input_group_row .radio {
  width: auto;
}
.radio_flex .input_group_row .radio:not(:last-child) {
  margin: 0 10px 0 0;
}
@media (max-width: 991px) {
  .radio_flex .input_group_row .radio:not(:last-child) {
    margin: 0 0 10px 0;
  }
}
@media (max-width: 991px) {
  .radio_flex .input_group_row .radio {
    width: 100%;
  }
}

fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}

@media (max-width: 991px) {
  .input_group_row > .col-lg-6:not(:first-child) {
    margin-top: 26px;
  }
}

.questionnaire .group.radio_card_group .input_group_row {
  align-items: unset;
}

.radio_card.col-lg-6:not(:last-child), .radio_card.col-lg-6:last-child {
  margin: 20px 0 0 0;
}
.radio_card > div {
  position: relative;
  width: 100%;
  height: 100%;
}
.radio_card > div > span {
  display: block;
  width: 15px;
  height: 15px;
  border: 2px solid var(--radio-card-accent-color);
  position: absolute;
  bottom: 26px;
  left: var(--card-padding);
  z-index: 20;
  border-radius: 50%;
}
.radio_card > div input:hover ~ label {
  border-color: var(--radio-card-accent-color);
}
.radio_card > div input:hover ~ label .selector {
  border-top-color: var(--radio-card-accent-color);
}
.radio_card > div input:checked ~ label {
  border-color: var(--radio-card-accent-color);
}
.radio_card > div input:checked ~ label .selector {
  border-top-color: var(--radio-card-accent-color);
}
.radio_card > div label {
  border: var(--card-border-style);
  border-radius: var(--card-radius);
  margin: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-weight: normal;
}
.radio_card > div label span.content {
  display: block;
  padding: var(--card-padding);
  position: relative;
  z-index: 30;
}
.radio_card > div label span.selector {
  display: block;
  padding: 20px calc(var(--card-padding) + 20px);
  border-radius: 0 0 13px 13px;
  background: rgba(215, 210, 203, 0.25);
  border-top: 2px solid #d7d2cb;
  transition: border 0.4s ease;
}

.non_selectable_card.radio {
  display: block;
}
.non_selectable_card .content {
  padding: var(--card-padding);
  border-radius: var(--card-radius);
  border: var(--card-border-style);
}
.non_selectable_card .content input {
  pointer-events: none;
}