@charset "UTF-8";
/*$validation-color: #CB253B;// -> Set in theme
$validation-font-color: $validation-color;
$validation-border-color: $validation-color;
$validation-border-focus-color: $validation-color;
$validation-border-radius: $border-radius;// -> Set in theme
$validation-bg-color: $validation-color;
$validation-bg-font-color: white;
$validation-tinted-bg-color: tint($validation-color, 10);// -> Set in theme
*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.5;
  padding: 0;
  margin: 0;
}

/* Sections 
    ========================================================================== */
/**
  * Remove the margin in all browsers.
  */
body {
  margin: 0;
  padding: 0;
}

/**
  * Render the `main` element consistently in IE.
  */
main {
  display: block;
}

/**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Firefox, and Safari.
  */
h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

/* Grouping content
    ========================================================================== */
/**
  * 1. Add the correct box sizing in Firefox.
  * 2. Show the overflow in Edge and IE.
  */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
    ========================================================================== */
/**
  * Remove the gray background on active links in IE 10.
  */
a {
  background-color: transparent;
}

/**
  * 1. Remove the bottom border in Chrome 57-
  * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
  */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
  * Add the correct font weight in Chrome, Edge, and Safari.
  */
b,
strong {
  font-weight: bolder;
}

/**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
  * Add the correct font size in all browsers.
  */
small {
  font-size: 80%;
}

/**
  * Prevent `sub` and `sup` elements from affecting the line height in
  * all browsers.
  */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
    ========================================================================== */
/**
  * Remove the border on images inside links in IE 10.
  */
img {
  border-style: none;
}

/* Forms
    ========================================================================== */
/**
  * 1. Change the font styles in all browsers.
  * 2. Remove the margin in Firefox and Safari.
  */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.5; /* 1 */
  margin: 0; /* 2 */
}

/**
  * Show the overflow in IE.
  * 1. Show the overflow in Edge.
  */
button,
input { /* 1 */
  overflow: visible;
}

/**
  * Remove the inheritance of text transform in Edge, Firefox, and IE.
  * 1. Remove the inheritance of text transform in Firefox.
  */
button,
select { /* 1 */
  text-transform: none;
}

/**
  * Correct the inability to style clickable types in iOS and Safari.
  */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
  * Remove the inner border and padding in Firefox.
  */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
  * Restore the focus styles unset by the previous rule.
  */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
  * Correct the padding in Firefox.
  */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
  * 1. Correct the text wrapping in Edge and IE.
  * 2. Correct the color inheritance from `fieldset` elements in IE.
  * 3. Remove the padding so developers are not caught out when they zero out
  *    `fieldset` elements in all browsers.
  */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
  * Add the correct vertical alignment in Chrome, Firefox, and Opera.
  */
progress {
  vertical-align: baseline;
}

/**
  * Remove the default vertical scrollbar in IE 10+.
  */
textarea {
  overflow: auto;
}

/**
  * 1. Add the correct box sizing in IE 10.
  * 2. Remove the padding in IE 10.
  */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
  * Correct the cursor style of increment and decrement buttons in Chrome.
  */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
  * 1. Correct the odd appearance in Chrome and Safari.
  * 2. Correct the outline style in Safari.
  */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
  * Remove the inner padding in Chrome and Safari on macOS.
  */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
  * 1. Correct the inability to style clickable types in iOS and Safari.
  * 2. Change font properties to `inherit` in Safari.
  */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
    ========================================================================== */
/*
  * Add the correct display in Edge, IE 10+, and Firefox.
  */
details {
  display: block;
}

/*
  * Add the correct display in all browsers.
  */
summary {
  display: list-item;
}

/* Misc
    ========================================================================== */
/**
  * Add the correct display in IE 10+.
  */
template {
  display: none;
}

/**
  * Add the correct display in IE 10.
  */
[hidden] {
  display: none;
}

.is-hidden, .hidden {
  display: none;
}

.invisible {
  visibility: hidden;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.position-relative {
  position: relative;
}

.overflow-hidden {
  overflow: hidden;
}

.flex {
  display: flex;
}

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

.flex-column {
  flex-direction: column;
}

.flex-stretch {
  align-content: stretch;
}

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

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

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

.flex-break {
  flex-basis: 100%;
  height: 0;
}

.flex-spread {
  display: flex;
  justify-content: space-between;
}

.border-box {
  box-sizing: border-box;
}

#AddressField {
  display: none !important;
}

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

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.display-block {
  display: block;
}

.grid-column-full-width {
  grid-column: 1/-1;
}

.m-0 {
  margin: 0 !important;
}

.mt-0, .my-0 {
  margin-top: 0 !important;
}

.mr-0, .mx-0 {
  margin-right: 0 !important;
}

.mb-0, .my-0 {
  margin-bottom: 0 !important;
}

.ml-0, .mx-0 {
  margin-left: 0 !important;
}

.m-1 {
  margin: 0.25em !important;
}

.mt-1, .my-1 {
  margin-top: 0.25em !important;
}

.mr-1, .mx-1 {
  margin-right: 0.25em !important;
}

.mb-1, .my-1 {
  margin-bottom: 0.25em !important;
}

.ml-1, .mx-1 {
  margin-left: 0.25em !important;
}

.m-2 {
  margin: 0.5em !important;
}

.mt-2, .my-2 {
  margin-top: 0.5em !important;
}

.mr-2, .mx-2 {
  margin-right: 0.5em !important;
}

.mb-2, .my-2 {
  margin-bottom: 0.5em !important;
}

.ml-2, .mx-2 {
  margin-left: 0.5em !important;
}

.m-3 {
  margin: 0.75em !important;
}

.mt-3, .my-3 {
  margin-top: 0.75em !important;
}

.mr-3, .mx-3 {
  margin-right: 0.75em !important;
}

.mb-3, .my-3 {
  margin-bottom: 0.75em !important;
}

.ml-3, .mx-3 {
  margin-left: 0.75em !important;
}

.m-4 {
  margin: 1em !important;
}

.mt-4, .my-4 {
  margin-top: 1em !important;
}

.mr-4, .mx-4 {
  margin-right: 1em !important;
}

.mb-4, .my-4 {
  margin-bottom: 1em !important;
}

.ml-4, .mx-4 {
  margin-left: 1em !important;
}

.m-5 {
  margin: 1.5em !important;
}

.mt-5, .my-5 {
  margin-top: 1.5em !important;
}

.mr-5, .mx-5 {
  margin-right: 1.5em !important;
}

.mb-5, .my-5 {
  margin-bottom: 1.5em !important;
}

.ml-5, .mx-5 {
  margin-left: 1.5em !important;
}

.m-6 {
  margin: 3em !important;
}

.mt-6, .my-6 {
  margin-top: 3em !important;
}

.mr-6, .mx-6 {
  margin-right: 3em !important;
}

.mb-6, .my-6 {
  margin-bottom: 3em !important;
}

.ml-6, .mx-6 {
  margin-left: 3em !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0, .py-0 {
  padding-top: 0 !important;
}

.pr-0, .px-0 {
  padding-right: 0 !important;
}

.pb-0, .py-0 {
  padding-bottom: 0 !important;
}

.pl-0, .px-0 {
  padding-left: 0 !important;
}

.p-1 {
  padding: 0.25em !important;
}

.pt-1, .py-1 {
  padding-top: 0.25em !important;
}

.pr-1, .px-1 {
  padding-right: 0.25em !important;
}

.pb-1, .py-1 {
  padding-bottom: 0.25em !important;
}

.pl-1, .px-1 {
  padding-left: 0.25em !important;
}

.p-2 {
  padding: 0.5em !important;
}

.pt-2, .py-2 {
  padding-top: 0.5em !important;
}

.pr-2, .px-2 {
  padding-right: 0.5em !important;
}

.pb-2, .py-2 {
  padding-bottom: 0.5em !important;
}

.pl-2, .px-2 {
  padding-left: 0.5em !important;
}

.p-3 {
  padding: 0.75em !important;
}

.pt-3, .py-3 {
  padding-top: 0.75em !important;
}

.pr-3, .px-3 {
  padding-right: 0.75em !important;
}

.pb-3, .py-3 {
  padding-bottom: 0.75em !important;
}

.pl-3, .px-3 {
  padding-left: 0.75em !important;
}

.p-4 {
  padding: 1em !important;
}

.pt-4, .py-4 {
  padding-top: 1em !important;
}

.pr-4, .px-4 {
  padding-right: 1em !important;
}

.pb-4, .py-4 {
  padding-bottom: 1em !important;
}

.pl-4, .px-4 {
  padding-left: 1em !important;
}

.p-5 {
  padding: 1.5em !important;
}

.pt-5, .py-5 {
  padding-top: 1.5em !important;
}

.pr-5, .px-5 {
  padding-right: 1.5em !important;
}

.pb-5, .py-5 {
  padding-bottom: 1.5em !important;
}

.pl-5, .px-5 {
  padding-left: 1.5em !important;
}

.p-6 {
  padding: 3em !important;
}

.pt-6, .py-6 {
  padding-top: 3em !important;
}

.pr-6, .px-6 {
  padding-right: 3em !important;
}

.pb-6, .py-6 {
  padding-bottom: 3em !important;
}

.pl-6, .px-6 {
  padding-left: 3em !important;
}

.size-ch-1 {
  max-width: 1ch;
}

input[type=number].size-ch-1 {
  max-width: 2ch;
}

.size-ch-2 {
  max-width: 2ch;
}

input[type=number].size-ch-2 {
  max-width: 3ch;
}

.size-ch-3 {
  max-width: 3ch;
}

input[type=number].size-ch-3 {
  max-width: 5ch;
}

.size-ch-4 {
  max-width: 4ch;
}

input[type=number].size-ch-4 {
  max-width: 6ch;
}

.size-ch-5 {
  max-width: 5ch;
}

input[type=number].size-ch-5 {
  max-width: 8ch;
}

.size-ch-10 {
  max-width: 10ch;
}

input[type=number].size-ch-10 {
  max-width: 16ch;
}

.size-ch-15 {
  max-width: 15ch;
}

input[type=number].size-ch-15 {
  max-width: 24ch;
}

.size-ch-20 {
  max-width: 20ch;
}

input[type=number].size-ch-20 {
  max-width: 32ch;
}

.size-ch-25 {
  max-width: 25ch;
}

input[type=number].size-ch-25 {
  max-width: 40ch;
}

.size-ch-27 {
  max-width: 27ch;
}

input[type=number].size-ch-27 {
  max-width: 43ch;
}

.size-ch-30 {
  max-width: 30ch;
}

input[type=number].size-ch-30 {
  max-width: 48ch;
}

.size-ch-35 {
  max-width: 35ch;
}

input[type=number].size-ch-35 {
  max-width: 56ch;
}

.size-ch-40 {
  max-width: 40ch;
}

input[type=number].size-ch-40 {
  max-width: 64ch;
}

.size-ch-45 {
  max-width: 45ch;
}

input[type=number].size-ch-45 {
  max-width: 72ch;
}

.size-ch-50 {
  max-width: 50ch;
}

input[type=number].size-ch-50 {
  max-width: 80ch;
}

.size-ch-60 {
  max-width: 60ch;
}

input[type=number].size-ch-60 {
  max-width: 96ch;
}

.size-ch-70 {
  max-width: 70ch;
}

input[type=number].size-ch-70 {
  max-width: 112ch;
}

.size-ch-80 {
  max-width: 80ch;
}

input[type=number].size-ch-80 {
  max-width: 128ch;
}

.size-ch-90 {
  max-width: 90ch;
}

input[type=number].size-ch-90 {
  max-width: 144ch;
}

.size-ch-100 {
  max-width: 100ch;
}

input[type=number].size-ch-100 {
  max-width: 160ch;
}

.size-width-100 {
  width: 100%;
}

.gap-0 {
  gap: 0px !important;
}

.row-gap-0 {
  row-gap: 0px !important;
}

.col-gap-0 {
  column-gap: 0px !important;
}

.gap-1 {
  gap: 1px !important;
}

.row-gap-1 {
  row-gap: 1px !important;
}

.col-gap-1 {
  column-gap: 1px !important;
}

.gap-2 {
  gap: 2px !important;
}

.row-gap-2 {
  row-gap: 2px !important;
}

.col-gap-2 {
  column-gap: 2px !important;
}

.gap-3 {
  gap: 3px !important;
}

.row-gap-3 {
  row-gap: 3px !important;
}

.col-gap-3 {
  column-gap: 3px !important;
}

.gap-4 {
  gap: 4px !important;
}

.row-gap-4 {
  row-gap: 4px !important;
}

.col-gap-4 {
  column-gap: 4px !important;
}

.gap-5 {
  gap: 5px !important;
}

.row-gap-5 {
  row-gap: 5px !important;
}

.col-gap-5 {
  column-gap: 5px !important;
}

.gap-6 {
  gap: 6px !important;
}

.row-gap-6 {
  row-gap: 6px !important;
}

.col-gap-6 {
  column-gap: 6px !important;
}

.gap-7 {
  gap: 7px !important;
}

.row-gap-7 {
  row-gap: 7px !important;
}

.col-gap-7 {
  column-gap: 7px !important;
}

.gap-8 {
  gap: 8px !important;
}

.row-gap-8 {
  row-gap: 8px !important;
}

.col-gap-8 {
  column-gap: 8px !important;
}

.gap-9 {
  gap: 9px !important;
}

.row-gap-9 {
  row-gap: 9px !important;
}

.col-gap-9 {
  column-gap: 9px !important;
}

.gap-10 {
  gap: 10px !important;
}

.row-gap-10 {
  row-gap: 10px !important;
}

.col-gap-10 {
  column-gap: 10px !important;
}

.gap-11 {
  gap: 11px !important;
}

.row-gap-11 {
  row-gap: 11px !important;
}

.col-gap-11 {
  column-gap: 11px !important;
}

.gap-12 {
  gap: 12px !important;
}

.row-gap-12 {
  row-gap: 12px !important;
}

.col-gap-12 {
  column-gap: 12px !important;
}

.gap-13 {
  gap: 13px !important;
}

.row-gap-13 {
  row-gap: 13px !important;
}

.col-gap-13 {
  column-gap: 13px !important;
}

.gap-14 {
  gap: 14px !important;
}

.row-gap-14 {
  row-gap: 14px !important;
}

.col-gap-14 {
  column-gap: 14px !important;
}

.gap-15 {
  gap: 15px !important;
}

.row-gap-15 {
  row-gap: 15px !important;
}

.col-gap-15 {
  column-gap: 15px !important;
}

.gap-16 {
  gap: 16px !important;
}

.row-gap-16 {
  row-gap: 16px !important;
}

.col-gap-16 {
  column-gap: 16px !important;
}

.gap-17 {
  gap: 17px !important;
}

.row-gap-17 {
  row-gap: 17px !important;
}

.col-gap-17 {
  column-gap: 17px !important;
}

.gap-18 {
  gap: 18px !important;
}

.row-gap-18 {
  row-gap: 18px !important;
}

.col-gap-18 {
  column-gap: 18px !important;
}

.gap-19 {
  gap: 19px !important;
}

.row-gap-19 {
  row-gap: 19px !important;
}

.col-gap-19 {
  column-gap: 19px !important;
}

.gap-20 {
  gap: 20px !important;
}

.row-gap-20 {
  row-gap: 20px !important;
}

.col-gap-20 {
  column-gap: 20px !important;
}

.gap-21 {
  gap: 21px !important;
}

.row-gap-21 {
  row-gap: 21px !important;
}

.col-gap-21 {
  column-gap: 21px !important;
}

.gap-22 {
  gap: 22px !important;
}

.row-gap-22 {
  row-gap: 22px !important;
}

.col-gap-22 {
  column-gap: 22px !important;
}

.gap-23 {
  gap: 23px !important;
}

.row-gap-23 {
  row-gap: 23px !important;
}

.col-gap-23 {
  column-gap: 23px !important;
}

.gap-24 {
  gap: 24px !important;
}

.row-gap-24 {
  row-gap: 24px !important;
}

.col-gap-24 {
  column-gap: 24px !important;
}

.gap-25 {
  gap: 25px !important;
}

.row-gap-25 {
  row-gap: 25px !important;
}

.col-gap-25 {
  column-gap: 25px !important;
}

.gap-26 {
  gap: 26px !important;
}

.row-gap-26 {
  row-gap: 26px !important;
}

.col-gap-26 {
  column-gap: 26px !important;
}

.gap-27 {
  gap: 27px !important;
}

.row-gap-27 {
  row-gap: 27px !important;
}

.col-gap-27 {
  column-gap: 27px !important;
}

.gap-28 {
  gap: 28px !important;
}

.row-gap-28 {
  row-gap: 28px !important;
}

.col-gap-28 {
  column-gap: 28px !important;
}

.gap-29 {
  gap: 29px !important;
}

.row-gap-29 {
  row-gap: 29px !important;
}

.col-gap-29 {
  column-gap: 29px !important;
}

.gap-30 {
  gap: 30px !important;
}

.row-gap-30 {
  row-gap: 30px !important;
}

.col-gap-30 {
  column-gap: 30px !important;
}

html {
  font-family: Arial, Helvetica, sans-serif;
  min-height: 100%;
}

body {
  width: 100%;
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.page-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  scroll-behavior: smooth;
}

.section-wrapper {
  display: flex;
  flex-direction: column;
  z-index: 0;
}

.sections {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

footer.sections {
  z-index: -1;
}

a:focus, a:focus-visible {
  outline: 2px solid blue;
}

img {
  max-width: 100%;
  height: auto;
}

/* TODO ... do we need this done on the new sections?
//
// Unsupported feature workarounds
//

// Add margin to .inner-container when display:grid is not supported
// It is intentionally using $outer-container because we're trying to recreate the gaps
.inner-container
{
    margin-top: map-get($_scale, 'base');
    margin-bottom: map-get($_scale, 'base');
}

@supports (display:grid)
{
    .inner-container
    {
        margin-top: 0;
        margin-bottom: 0;
    }
}
*/
.outer {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  flex-direction: column;
  align-items: center;
}

.inner {
  width: 100%;
  display: flex;
  row-gap: 20px;
  justify-content: space-between;
  flex-wrap: wrap;
  box-sizing: border-box;
  padding: 15px 30px;
}
@media screen and (min-width: 576px) {
  .inner {
    row-gap: 28px;
    padding: 20px 40px;
  }
}

.main-inner {
  padding: 30px;
}
@media screen and (min-width: 576px) {
  .main-inner {
    padding: 40px;
  }
}

.bottom-inner {
  padding-top: 0;
}

.section-container {
  margin: 0;
}

.message-container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  row-gap: 32px;
  padding: 32px 0;
  box-sizing: border-box;
  text-align: center;
}

p, ul, ol, dl, table {
  margin: 0 0 1em 0;
}
p:last-child, ul:last-child, ol:last-child, dl:last-child, table:last-child {
  margin-bottom: 0 !important;
}

a:link,
a:visited,
a:active {
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

.subheading {
  font-weight: 500;
}

.option-title.subheading {
  font-size: 1rem;
}

.q-text,
.q-options-label {
  overflow-wrap: anywhere;
}

.element {
  flex-basis: 100%;
}

.element-group {
  width: 100%;
  display: flex;
  row-gap: 28px;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}

@media screen and (min-width: 576px) {
  .element.basis-70 {
    flex-basis: 69%;
  }
  .element.basis-30 {
    flex-basis: 29%;
  }
  .page-title-and-progress-element-group .element.basis-30 {
    order: 2;
  }
}
.element.spacer-xs {
  height: 2px;
  width: 100%;
}

.element.spacer-s {
  height: 8px;
  width: 100%;
}

.element.spacer-m {
  height: 16px;
  width: 100%;
}

.element.spacer-l {
  height: 32px;
  width: 100%;
}

.element.spacer-xl {
  height: 64px;
  width: 100%;
}

@media screen and (min-width: 576px) {
  .element.spacer-xs {
    height: 4px;
  }
  .element.spacer-s {
    height: 12px;
  }
  .element.spacer-m {
    height: 24px;
  }
  .element.spacer-l {
    height: 48px;
  }
  .element.spacer-xl {
    height: 96px;
  }
}
.element.hr {
  width: 100%;
}

.logos-container {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: nowrap;
  align-items: flex-start;
}
.logos-container.flex-start {
  justify-content: flex-start;
}
.logos-container.flex-end {
  justify-content: flex-end;
}
.logos-container.center {
  justify-content: center;
}
.logos-container.space-between {
  justify-content: space-between;
}
.logos-container.center {
  justify-content: space-evenly;
}
.logos-container .logo-image {
  height: auto;
}

input,
select,
textarea,
button,
label,
div {
  outline-offset: 2px;
}

fieldset {
  border: none;
  margin: 0;
  padding: 0;
  gap: 0px;
}

legend {
  display: block;
}
legend::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
  clear: both;
}

label {
  display: block;
}

.q-legend {
  margin-bottom: 12px;
}

.q-title {
  display: block;
}

.q-num-wrapper {
  display: inline;
}
.q-text-wrapper {
  display: inline;
}
.q-text-wrapper .q-text {
  display: inline;
  word-break: break-word;
}

.q-block-heading {
  margin-bottom: 12px;
}

.questions-container {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding-bottom: 36px;
  row-gap: 36px;
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 576px) {
  .questions-container {
    padding-bottom: 24px;
    row-gap: 24px;
  }
}

.question-container {
  position: relative;
}

.question-scrollable.active {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  padding-bottom: 1rem;
}

.question-separator {
  width: 100%;
  visibility: hidden;
  display: block;
}

.q-block, .q-options, fieldset, .fieldset .flexable {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-width: 100%;
  min-width: 100%;
  gap: 4px;
}

fieldset {
  gap: 0;
}

.q-options-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.is-horizontal {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  flex-wrap: wrap;
}
.is-horizontal > .q-options-group {
  flex-basis: 100%;
}
.is-horizontal > .q-options-option:has(.q-other-block) {
  flex-basis: 100%;
}

.is-columns-2,
.is-columns-3,
.is-columns-4,
.is-columns-5,
.is-columns-6 {
  display: flex;
  flex-direction: column;
  column-gap: 8px;
  align-items: flex-start;
}
.is-columns-2 > .q-options-option:has(.q-other-block),
.is-columns-3 > .q-options-option:has(.q-other-block),
.is-columns-4 > .q-options-option:has(.q-other-block),
.is-columns-5 > .q-options-option:has(.q-other-block),
.is-columns-6 > .q-options-option:has(.q-other-block) {
  flex-basis: 100%;
}

@media screen and (min-width: 576px) {
  .is-columns-2,
  .is-columns-3,
  .is-columns-4,
  .is-columns-5,
  .is-columns-6 {
    flex-direction: row;
  }
  .is-columns-2 .q-options-option, .is-columns-2 .q-options-group,
  .is-columns-3 .q-options-option,
  .is-columns-3 .q-options-group,
  .is-columns-4 .q-options-option,
  .is-columns-4 .q-options-group,
  .is-columns-5 .q-options-option,
  .is-columns-5 .q-options-group,
  .is-columns-6 .q-options-option,
  .is-columns-6 .q-options-group {
    flex-basis: calc(50% - 8px);
  }
}

@media screen and (min-width: 768px) {
  .is-columns-3 {
    flex-direction: row;
  }
  .is-columns-3 .q-options-option, .is-columns-3 .q-options-group {
    flex-basis: calc(33.3333% - 8px);
  }
}

@media screen and (min-width: 768px) {
  .is-columns-4,
  .is-columns-5,
  .is-columns-6 {
    flex-direction: row;
  }
  .is-columns-4 .q-options-option, .is-columns-4 .q-options-group,
  .is-columns-5 .q-options-option,
  .is-columns-5 .q-options-group,
  .is-columns-6 .q-options-option,
  .is-columns-6 .q-options-group {
    flex-basis: calc(25% - 8px);
  }
}

@media screen and (min-width: 1200px) {
  .is-columns-5 {
    flex-direction: row;
  }
  .is-columns-5 .q-options-option, .is-columns-5 .q-options-group {
    flex-basis: calc(20% - 8px);
  }
}

@media screen and (min-width: 1200px) {
  .is-columns-6 {
    flex-direction: row;
  }
  .is-columns-6 .q-options-option {
    flex-basis: calc(16.6667% - 8px);
  }
}

.nav-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 0;
  padding-bottom: 16px;
}
.nav-container .nav-buttons {
  display: flex;
  justify-content: space-between; /* Back + Save on left, Next on right */
  width: 100%;
  flex-wrap: wrap;
  gap: 12.8px; /* Space between Back and Next buttons */
}
.nav-container .nav-buttons .flex-break {
  display: none;
}
.nav-container .nav-buttons .button {
  width: 100%;
}
.nav-container .nav-buttons .button.button-next {
  order: 1;
}
.nav-container .nav-buttons .button.button-prev {
  order: 2;
}
.nav-container .nav-buttons .button.button-save {
  order: 3;
}
@media screen and (min-width: 576px) {
  .nav-container .nav-buttons {
    column-gap: 16px;
    flex-wrap: wrap;
  }
  .nav-container .nav-buttons .button {
    width: auto;
  }
  .nav-container .nav-buttons .button.button-next {
    order: 2;
  }
  .nav-container .nav-buttons .button.button-prev {
    order: 1;
  }
  .nav-container .nav-buttons .button.button-save {
    order: 4;
  }
  .nav-container .nav-buttons .button.button-save.no-back-button {
    order: 1;
  }
  .nav-container .nav-buttons .flex-break {
    order: 3;
    flex-basis: 100%;
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .nav-container .nav-buttons {
    justify-content: space-between; /* Back + Save on left, Next on right */
    width: 100%;
    flex-wrap: nowrap;
    column-gap: 12.8px; /* Space between Back and Next buttons */
  }
  .nav-container .nav-buttons .button.button-save {
    order: 3;
  }
  .nav-container .nav-buttons .button.button-next {
    order: 4;
  }
}

.skip-to-main-content-link {
  position: absolute;
  left: -9999px;
  z-index: 999;
  padding: 1em;
  background-color: black;
  opacity: 0;
}

html[dir=rtl] .skip-to-main-content-link {
  left: 0;
  right: -9999px;
}

.skip-to-main-content-link:link,
.skip-to-main-content-link:visited,
.skip-to-main-content-link:active {
  color: white;
}

.skip-to-main-content-link:focus {
  left: 50%;
  transform: translateX(-50%);
  opacity: 1;
}

.element.powered-by {
  text-align: center;
  font-size: 12px;
  padding: 10px;
  direction: ltr;
}
.element.powered-by a.powered-by-logo {
  background-image: url(https://assets.smartsurvey.io/images/surveys/sslogo.svg);
  background-repeat: no-repeat;
  font-size: 0;
  width: 110px;
  height: 18px;
  display: inline-block;
  line-height: 28px;
  margin-left: 5px;
}
.element.powered-by a.powered-by-logo .sr-only {
  font-size: 1rem;
}

#saveAndContinue .email-label {
  font-weight: bold;
}
#saveAndContinue .email-input {
  width: 90%;
  border-radius: 0px;
}

table.scoring_totals {
  background-color: #EEE;
  width: 400px;
  border-spacing: 1px;
  border: none;
}
table.scoring_totals th, table.scoring_totals td {
  padding: 5px;
}
table.scoring_totals thead tr {
  background-color: #1170a8;
  color: white;
}
table.scoring_totals tfoot tr {
  background-color: #eee;
}

#serps-topbar {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: space-between;
  position: sticky;
  top: 0;
  width: 100%;
  padding: 30px;
  box-sizing: border-box;
  border-bottom: 1px solid #efefef;
  font-family: azo-sans-web, sans-serif;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 400;
  font-style: normal;
  color: #525252;
  background-color: #fefefe;
}
#serps-topbar div {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #serps-topbar {
    padding: 20px;
  }
  #serps-topbar div {
    justify-content: center;
  }
}
@media screen and (min-width: 1200px) {
  #serps-topbar {
    padding: 20px;
    flex-direction: row;
  }
  #serps-topbar div {
    justify-content: center;
  }
}
#serps-topbar .serps-topbar-message {
  color: #7b7474;
}
#serps-topbar .serps-topbar-links a {
  color: #525252;
  text-decoration: none;
}
#serps-topbar .serps-topbar-links a.button {
  font-family: azo-sans-web, sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #fefefe;
  background-color: #f36621 !important;
  background: #f36621;
  background: -webkit-linear-gradient(left, #f36621, #f24938);
  background: -webkit-gradient(linear, left top, right top, from(#f36621), to(#f24938));
  background: linear-gradient(to right, #f36621, #f24938);
  border: none;
  border-radius: 4px;
  padding: 11px 20px;
  font-size: 13px;
  text-transform: uppercase;
  display: inline-block;
  text-align: center;
}
#serps-topbar .serps-topbar-logo img {
  vertical-align: middle;
  width: 150px;
  height: 27px;
}

div.maintenance-message {
  background-color: #981010;
  color: white;
  border-bottom: 3px solid #5D0909;
  padding: 10px;
  text-align: center;
}

.short-maintenance-overlay {
  -ms-opacity: 0.9;
  background: #444;
  height: 100%;
  left: 0;
  opacity: 0.9;
  position: fixed;
  top: 0;
  vertical-align: middle;
  width: 100%;
  z-index: 500001;
  display: flex;
  justify-content: center;
  align-items: center;
}
.short-maintenance-overlay .content {
  max-width: 500px;
  padding: 20px;
}
.short-maintenance-overlay .text {
  color: #FFF;
  font-size: 18px;
  text-align: center;
  max-width: 600px;
}
.short-maintenance-overlay .text h2 {
  margin-bottom: 20px;
}
.short-maintenance-overlay .loader {
  width: 80%;
  height: 6px;
  background: rgba(0, 0, 0, 0.15);
  position: relative;
  overflow: hidden;
  margin: 20px auto 0 auto;
}
.short-maintenance-overlay .loader::after {
  content: "";
  width: 0;
  height: 100%;
  background: #009825;
  position: absolute;
  top: 0;
  left: 0;
  animation: progress 20s linear forwards;
}
@keyframes progress {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}

.emoji-rating {
  font-size: 1.25rem;
  line-height: 1em;
}

.column-labels .emoji-rating {
  display: block;
  margin-bottom: 5px;
}

input[type=text],
input[type=number],
input[type=password],
input[type=email],
input[type=date],
input[type=datetime],
input[type=datetime-local],
textarea,
select,
div.selectize-control {
  padding: 0.5em;
  box-sizing: border-box;
  outline: none;
  width: 100%;
  min-width: 50px;
}

/* When immediately followed by .o-required-asterisk */
input:has(+ .o-required-asterisk),
select:has(+ .o-required-asterisk),
textarea:has(+ .o-required-asterisk) {
  width: calc(100% - 20px);
}

label {
  transition: background 0.2s;
}

.button {
  cursor: pointer;
  padding: 16px 24px;
  border-width: 2px;
  border-style: solid;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s, border 0.2s;
  -webkit-transition: background 0.2s ease-in-out;
  -ms-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
}
.button:focus, .button:focus-visible {
  outline: 2px solid blue;
}

.button.button-text {
  padding: 0px;
  text-decoration: underline;
}
.button.button-text:hover, .button.button-text:focus, .button.button-text:focus-visible {
  text-decoration: none;
}

.button.small {
  padding: 8px 16px;
}

.modal {
  display: none;
}
.modal.is-open {
  display: block;
}
.modal .overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal .overlay .container {
  background-color: #fff;
  padding: 30px;
  max-width: 500px;
  max-height: 100vh;
  overflow-y: auto;
  box-sizing: border-box;
  position: relative;
}
.modal .overlay .container .page-bg {
  z-index: 1;
}
.modal .overlay .container .modal-inner {
  position: relative;
  z-index: 2;
}
.modal .overlay .container .modal-inner header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal .overlay .container .modal-inner header h2.title {
  margin: 0;
  font-weight: 600;
  font-size: 1.25rem;
  color: #444444;
  box-sizing: border-box;
}
.modal .overlay .container .modal-inner header button.close {
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
  margin: 0;
}
.modal .overlay .container .modal-inner header button.close:before {
  content: "✕";
}
.modal .overlay .container .modal-inner div.content {
  margin-top: 1rem;
  color: rgba(0, 0, 0, 0.8);
}

.q-required-badge, .q-required-badge-comments {
  font-weight: normal;
}

abbr.q-required-asterisk, abbr.o-required-asterisk, abbr.c-required-asterisk, abbr.o-row-required-asterisk {
  display: inline;
  text-decoration: none;
}

.matrix-row.section-validation-error .o-row-required-asterisk {
  display: none;
}

.element .progress {
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 2px;
  width: 100%;
}
.element .progress .progress-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 9.6px;
}
.element .progress .progress-row .progress-value {
  line-height: 0.6em;
  order: 2;
}
.element .progress .progress-row .progress-bar {
  order: 1;
  width: 100%;
  box-sizing: border-box;
  height: 12px;
  border-style: solid;
}
.element .progress .progress-row .progress-bar::before {
  content: "";
  display: block;
  height: 100%;
  width: var(--progress-width, 0%);
}

@media screen and (min-width: 1200px) {
  .element.basis-30 .progress {
    max-width: 300px;
  }
}

@media (forced-colors: active), (-ms-high-contrast: active) {
  .element .progress .progress-label, .element .progress .progress-value {
    color: CanvasText;
  }
  .element .progress .progress-row .progress-bar {
    border: 1px solid CanvasText;
    background-color: Canvas;
  }
  .element .progress .progress-row .progress-bar::before {
    background-color: Highlight !important;
    border-right: 1px solid CanvasText;
  }
}
.ss-loading-container {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.ss-loading-bar {
  height: 100%;
  background: linear-gradient(90deg, #28a745, #5cb85c, #28a745);
  background-size: 200% 100%;
  width: 100%;
  animation: ss-loading-shimmer 0.5s infinite, ss-loading-progress 3s ease-out forwards;
}

/* Shimmer effect */
@keyframes ss-loading-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
/* Progress animation */
@keyframes ss-loading-progress {
  0% {
    width: 0%;
  }
  10% {
    width: 50%; /* Reach 50% very quickly (0.3 seconds) */
  }
  50% {
    width: 75%; /* Continue to 75% by 1.5 seconds */
  }
  100% {
    width: 90%; /* End at 90% to show it's still working */
  }
}
/* Mobile optimization */
@media (max-width: 768px) {
  .ss-loading-container {
    height: 4px;
  }
}
/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .ss-loading-bar {
    animation: ss-loading-progress 3s ease-out forwards;
  }
}
@media (prefers-contrast: high) {
  .ss-loading-container {
    background: rgba(0, 0, 0, 0.3);
  }
  .ss-loading-bar {
    background: #ff0000;
  }
}
.q-type-option-single.q-style-radio .q-options-label {
  padding: 0.5em 0.75em;
  position: relative;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  column-gap: 0.5em;
  -webkit-transition: background 0.2s ease-in-out;
  -ms-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
}
.q-type-option-single.q-style-radio .q-other-block {
  padding: 0 0.75em 0.75em 0.75em;
}
.q-type-option-single.q-style-radio .q-other-block .q-type-text label + input {
  margin-top: 0px;
}
.q-type-option-single.q-style-radio .q-other-block .q-type-text input, .q-type-option-single.q-style-radio .q-other-block .q-type-text textarea {
  box-sizing: border-box;
}
.q-type-option-single.q-style-radio .q-options-control {
  position: absolute;
  width: 10px;
  height: 10px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  border: 0;
  opacity: 0;
  cursor: pointer;
}
.q-type-option-single.q-style-radio .q-options.is-horizontal .q-options-option.subheading-option {
  flex: 0 1 100%;
}
.q-type-option-single.q-style-radio .subheading-option {
  padding-top: 0em;
}
.q-type-option-single.q-style-nps .q-options-control {
  position: absolute;
  width: 10px;
  height: 10px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  border: 0;
  opacity: 0;
  cursor: pointer;
}

@media (forced-colors: active), (-ms-high-contrast: active) {
  .q-type-option-single.q-style-radio .q-options-control:focus + .q-options-label {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .q-type-option-single.q-style-radio .q-options-control:focus + .q-options-label .tickbox {
    border-color: Highlight;
  }
  .q-type-option-single.q-style-radio .q-options-control:focus + .q-options-label .tickbox::before {
    border-color: Highlight;
  }
  .q-type-option-single.q-style-radio .q-options-control:checked + .q-options-label .tickbox {
    background-color: Highlight;
    border-color: Highlight;
  }
  .q-type-option-single.q-style-radio .q-options-control:checked + .q-options-label .tickbox::before {
    background-color: HighlightText;
  }
}
.q-type-option-multi .q-options-label, .q-type-option-multi .q-type-option-single.q-style-radio .q-options-label, .q-type-option-single.q-style-radio .q-type-option-multi .q-options-label {
  padding: 0.5em 0.75em;
  position: relative;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  column-gap: 0.5em;
  -webkit-transition: background 0.2s ease-in-out;
  -ms-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
}
.q-type-option-multi .q-other-block, .q-type-option-multi .q-type-option-single.q-style-radio .q-other-block, .q-type-option-single.q-style-radio .q-type-option-multi .q-other-block {
  padding: 0 0.75em 0.75em 0.75em;
}
.q-type-option-multi .q-other-block .q-type-text label + input {
  margin-top: 0px;
}
.q-type-option-multi .q-other-block .q-type-text input, .q-type-option-multi .q-other-block .q-type-text textarea {
  box-sizing: border-box;
}
.q-type-option-multi .q-options-control {
  position: absolute;
  width: 10px;
  height: 10px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  border: 0;
  opacity: 0;
  cursor: pointer;
}
.q-type-option-multi .q-options.is-horizontal .q-options-option.subheading-option {
  flex: 0 1 100%;
}
.q-type-option-multi .subheading-option {
  padding-top: 0em;
}
.q-type-option-multi .q-comments {
  margin-left: 0.75em;
}

@media (forced-colors: active), (-ms-high-contrast: active) {
  .q-type-option-multi .q-options-control:focus + .q-options-label {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .q-type-option-multi .q-options-control:focus + .q-options-label .tickbox {
    border-color: Highlight;
  }
  .q-type-option-multi .q-options-control:focus + .q-options-label .tickbox::before {
    border-color: Highlight;
  }
  .q-type-option-multi .q-options-control:checked + .q-options-label .tickbox {
    background-color: Highlight;
    border-color: Highlight;
  }
  .q-type-option-multi .q-options-control:checked + .q-options-label .tickbox::before {
    background-color: HighlightText;
  }
}
div.mappin {
  height: 400px;
}

.q-type-matrix {
  /*   

  // Optional: Makes the group labels bold in mobile view
  .q-group-label {
      font-weight: bold;

      @include breakpoint('medium') {
          font-weight: normal;
      }
  }

  */
}
.q-type-matrix h3.subheading {
  padding-top: 0em;
}
.q-type-matrix .grid {
  gap: 20px;
}
.q-type-matrix .grid-container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 5px;
}
.q-type-matrix .grid-container.column-labels {
  display: none;
  text-align: center;
}
@supports (display: grid) {
  @media screen and (min-width: 768px) {
    .q-type-matrix .grid {
      container-name: matrix;
      display: grid;
      column-gap: 0;
      row-gap: 0;
    }
    .q-type-matrix .grid .grid-container {
      display: grid;
      grid-template-columns: subgrid;
      column-gap: 1em;
      row-gap: 1em;
    }
    .q-type-matrix .grid .sub-header-grid {
      column-gap: 0;
      row-gap: 0;
    }
    .q-type-matrix .grid .q-options-label span.option-title {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      border: 0;
    }
    .q-type-matrix .grid .column-labels {
      position: sticky;
      top: 0;
      z-index: 5;
    }
    .q-type-matrix .grid .column-labels.not-sticky {
      position: relative;
    }
    .q-type-matrix .grid .column-labels .label {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-end;
      padding: 0.5em 0;
      border-bottom: 2px solid transparent;
    }
    .q-type-matrix .grid .fieldset {
      border: none;
      margin: 0;
      padding: 0;
    }
    .q-type-matrix .grid .q-label-wrapper {
      display: flex;
      flex-wrap: wrap;
      padding: 0.5em 0.75em;
      justify-content: center;
      align-items: flex-start;
      flex-direction: column;
    }
    .q-type-matrix .grid .q-label-wrapper-end {
      justify-content: center;
      align-items: flex-end;
    }
    .q-type-matrix .grid .input {
      align-self: center;
      padding: 0.25em;
      position: relative;
    }
    .q-type-matrix .grid .q-group-label {
      display: block;
      margin: 0;
    }
    .q-type-matrix .grid h3.subheading {
      padding-top: 0;
    }
    .q-type-matrix .grid {
      grid-template-columns: var(--label-width) repeat(var(--num-cols), var(--cw));
    }
    .q-type-matrix .grid .grid-container {
      grid-column: span calc(var(--num-cols) + 1);
    }
    .q-type-matrix .grid.no-label {
      grid-template-columns: repeat(var(--num-cols), 1fr);
    }
    .q-type-matrix .grid.no-label .grid-container {
      grid-column: span var(--num-cols);
    }
    .q-type-matrix .grid.is-semantic-diff {
      grid-template-columns: calc(var(--label-width) / 2) repeat(var(--num-cols), var(--cw)) calc(var(--label-width) / 2);
    }
    .q-type-matrix .grid.is-semantic-diff .grid-container {
      grid-column: span calc(var(--num-cols) + 2);
    }
  }
}

.grid.c-1 {
  --num-cols: 1;
}

.grid.c-2 {
  --num-cols: 2;
}

.grid.c-3 {
  --num-cols: 3;
}

.grid.c-4 {
  --num-cols: 4;
}

.grid.c-5 {
  --num-cols: 5;
}

.grid.c-6 {
  --num-cols: 6;
}

.grid.c-7 {
  --num-cols: 7;
}

.grid.c-8 {
  --num-cols: 8;
}

.grid.c-9 {
  --num-cols: 9;
}

.grid.c-10 {
  --num-cols: 10;
}

.grid.c-11 {
  --num-cols: 11;
}

.grid.c-12 {
  --num-cols: 12;
}

.grid.c-13 {
  --num-cols: 13;
}

.grid.c-14 {
  --num-cols: 14;
}

.grid.c-15 {
  --num-cols: 15;
}

.grid.c-16 {
  --num-cols: 16;
}

.grid.c-17 {
  --num-cols: 17;
}

.grid.c-18 {
  --num-cols: 18;
}

.grid.c-19 {
  --num-cols: 19;
}

.grid.c-20 {
  --num-cols: 20;
}

.grid.w-10 {
  --label-width: 10fr;
}
.grid.w-10.c-1 {
  --cw: 90fr;
}
.grid.w-10.c-2 {
  --cw: 45fr;
}
.grid.w-10.c-3 {
  --cw: 30fr;
}
.grid.w-10.c-4 {
  --cw: 22.5fr;
}
.grid.w-10.c-5 {
  --cw: 18fr;
}
.grid.w-10.c-6 {
  --cw: 15fr;
}
.grid.w-10.c-7 {
  --cw: 12.8571428571fr;
}
.grid.w-10.c-8 {
  --cw: 11.25fr;
}
.grid.w-10.c-9 {
  --cw: 10fr;
}
.grid.w-10.c-10 {
  --cw: 9fr;
}
.grid.w-10.c-11 {
  --cw: 8.1818181818fr;
}
.grid.w-10.c-12 {
  --cw: 7.5fr;
}
.grid.w-10.c-13 {
  --cw: 6.9230769231fr;
}
.grid.w-10.c-14 {
  --cw: 6.4285714286fr;
}
.grid.w-10.c-15 {
  --cw: 6fr;
}
.grid.w-10.c-16 {
  --cw: 5.625fr;
}
.grid.w-10.c-17 {
  --cw: 5.2941176471fr;
}
.grid.w-10.c-18 {
  --cw: 5fr;
}
.grid.w-10.c-19 {
  --cw: 4.7368421053fr;
}
.grid.w-10.c-20 {
  --cw: 4.5fr;
}

.grid.w-20 {
  --label-width: 20fr;
}
.grid.w-20.c-1 {
  --cw: 80fr;
}
.grid.w-20.c-2 {
  --cw: 40fr;
}
.grid.w-20.c-3 {
  --cw: 26.6666666667fr;
}
.grid.w-20.c-4 {
  --cw: 20fr;
}
.grid.w-20.c-5 {
  --cw: 16fr;
}
.grid.w-20.c-6 {
  --cw: 13.3333333333fr;
}
.grid.w-20.c-7 {
  --cw: 11.4285714286fr;
}
.grid.w-20.c-8 {
  --cw: 10fr;
}
.grid.w-20.c-9 {
  --cw: 8.8888888889fr;
}
.grid.w-20.c-10 {
  --cw: 8fr;
}
.grid.w-20.c-11 {
  --cw: 7.2727272727fr;
}
.grid.w-20.c-12 {
  --cw: 6.6666666667fr;
}
.grid.w-20.c-13 {
  --cw: 6.1538461538fr;
}
.grid.w-20.c-14 {
  --cw: 5.7142857143fr;
}
.grid.w-20.c-15 {
  --cw: 5.3333333333fr;
}
.grid.w-20.c-16 {
  --cw: 5fr;
}
.grid.w-20.c-17 {
  --cw: 4.7058823529fr;
}
.grid.w-20.c-18 {
  --cw: 4.4444444444fr;
}
.grid.w-20.c-19 {
  --cw: 4.2105263158fr;
}
.grid.w-20.c-20 {
  --cw: 4fr;
}

.grid.w-30 {
  --label-width: 30fr;
}
.grid.w-30.c-1 {
  --cw: 70fr;
}
.grid.w-30.c-2 {
  --cw: 35fr;
}
.grid.w-30.c-3 {
  --cw: 23.3333333333fr;
}
.grid.w-30.c-4 {
  --cw: 17.5fr;
}
.grid.w-30.c-5 {
  --cw: 14fr;
}
.grid.w-30.c-6 {
  --cw: 11.6666666667fr;
}
.grid.w-30.c-7 {
  --cw: 10fr;
}
.grid.w-30.c-8 {
  --cw: 8.75fr;
}
.grid.w-30.c-9 {
  --cw: 7.7777777778fr;
}
.grid.w-30.c-10 {
  --cw: 7fr;
}
.grid.w-30.c-11 {
  --cw: 6.3636363636fr;
}
.grid.w-30.c-12 {
  --cw: 5.8333333333fr;
}
.grid.w-30.c-13 {
  --cw: 5.3846153846fr;
}
.grid.w-30.c-14 {
  --cw: 5fr;
}
.grid.w-30.c-15 {
  --cw: 4.6666666667fr;
}
.grid.w-30.c-16 {
  --cw: 4.375fr;
}
.grid.w-30.c-17 {
  --cw: 4.1176470588fr;
}
.grid.w-30.c-18 {
  --cw: 3.8888888889fr;
}
.grid.w-30.c-19 {
  --cw: 3.6842105263fr;
}
.grid.w-30.c-20 {
  --cw: 3.5fr;
}

.grid.w-40 {
  --label-width: 40fr;
}
.grid.w-40.c-1 {
  --cw: 60fr;
}
.grid.w-40.c-2 {
  --cw: 30fr;
}
.grid.w-40.c-3 {
  --cw: 20fr;
}
.grid.w-40.c-4 {
  --cw: 15fr;
}
.grid.w-40.c-5 {
  --cw: 12fr;
}
.grid.w-40.c-6 {
  --cw: 10fr;
}
.grid.w-40.c-7 {
  --cw: 8.5714285714fr;
}
.grid.w-40.c-8 {
  --cw: 7.5fr;
}
.grid.w-40.c-9 {
  --cw: 6.6666666667fr;
}
.grid.w-40.c-10 {
  --cw: 6fr;
}
.grid.w-40.c-11 {
  --cw: 5.4545454545fr;
}
.grid.w-40.c-12 {
  --cw: 5fr;
}
.grid.w-40.c-13 {
  --cw: 4.6153846154fr;
}
.grid.w-40.c-14 {
  --cw: 4.2857142857fr;
}
.grid.w-40.c-15 {
  --cw: 4fr;
}
.grid.w-40.c-16 {
  --cw: 3.75fr;
}
.grid.w-40.c-17 {
  --cw: 3.5294117647fr;
}
.grid.w-40.c-18 {
  --cw: 3.3333333333fr;
}
.grid.w-40.c-19 {
  --cw: 3.1578947368fr;
}
.grid.w-40.c-20 {
  --cw: 3fr;
}

.grid.w-50 {
  --label-width: 50fr;
}
.grid.w-50.c-1 {
  --cw: 50fr;
}
.grid.w-50.c-2 {
  --cw: 25fr;
}
.grid.w-50.c-3 {
  --cw: 16.6666666667fr;
}
.grid.w-50.c-4 {
  --cw: 12.5fr;
}
.grid.w-50.c-5 {
  --cw: 10fr;
}
.grid.w-50.c-6 {
  --cw: 8.3333333333fr;
}
.grid.w-50.c-7 {
  --cw: 7.1428571429fr;
}
.grid.w-50.c-8 {
  --cw: 6.25fr;
}
.grid.w-50.c-9 {
  --cw: 5.5555555556fr;
}
.grid.w-50.c-10 {
  --cw: 5fr;
}
.grid.w-50.c-11 {
  --cw: 4.5454545455fr;
}
.grid.w-50.c-12 {
  --cw: 4.1666666667fr;
}
.grid.w-50.c-13 {
  --cw: 3.8461538462fr;
}
.grid.w-50.c-14 {
  --cw: 3.5714285714fr;
}
.grid.w-50.c-15 {
  --cw: 3.3333333333fr;
}
.grid.w-50.c-16 {
  --cw: 3.125fr;
}
.grid.w-50.c-17 {
  --cw: 2.9411764706fr;
}
.grid.w-50.c-18 {
  --cw: 2.7777777778fr;
}
.grid.w-50.c-19 {
  --cw: 2.6315789474fr;
}
.grid.w-50.c-20 {
  --cw: 2.5fr;
}

.grid.w-60 {
  --label-width: 60fr;
}
.grid.w-60.c-1 {
  --cw: 40fr;
}
.grid.w-60.c-2 {
  --cw: 20fr;
}
.grid.w-60.c-3 {
  --cw: 13.3333333333fr;
}
.grid.w-60.c-4 {
  --cw: 10fr;
}
.grid.w-60.c-5 {
  --cw: 8fr;
}
.grid.w-60.c-6 {
  --cw: 6.6666666667fr;
}
.grid.w-60.c-7 {
  --cw: 5.7142857143fr;
}
.grid.w-60.c-8 {
  --cw: 5fr;
}
.grid.w-60.c-9 {
  --cw: 4.4444444444fr;
}
.grid.w-60.c-10 {
  --cw: 4fr;
}
.grid.w-60.c-11 {
  --cw: 3.6363636364fr;
}
.grid.w-60.c-12 {
  --cw: 3.3333333333fr;
}
.grid.w-60.c-13 {
  --cw: 3.0769230769fr;
}
.grid.w-60.c-14 {
  --cw: 2.8571428571fr;
}
.grid.w-60.c-15 {
  --cw: 2.6666666667fr;
}
.grid.w-60.c-16 {
  --cw: 2.5fr;
}
.grid.w-60.c-17 {
  --cw: 2.3529411765fr;
}
.grid.w-60.c-18 {
  --cw: 2.2222222222fr;
}
.grid.w-60.c-19 {
  --cw: 2.1052631579fr;
}
.grid.w-60.c-20 {
  --cw: 2fr;
}

.grid.w-70 {
  --label-width: 70fr;
}
.grid.w-70.c-1 {
  --cw: 30fr;
}
.grid.w-70.c-2 {
  --cw: 15fr;
}
.grid.w-70.c-3 {
  --cw: 10fr;
}
.grid.w-70.c-4 {
  --cw: 7.5fr;
}
.grid.w-70.c-5 {
  --cw: 6fr;
}
.grid.w-70.c-6 {
  --cw: 5fr;
}
.grid.w-70.c-7 {
  --cw: 4.2857142857fr;
}
.grid.w-70.c-8 {
  --cw: 3.75fr;
}
.grid.w-70.c-9 {
  --cw: 3.3333333333fr;
}
.grid.w-70.c-10 {
  --cw: 3fr;
}
.grid.w-70.c-11 {
  --cw: 2.7272727273fr;
}
.grid.w-70.c-12 {
  --cw: 2.5fr;
}
.grid.w-70.c-13 {
  --cw: 2.3076923077fr;
}
.grid.w-70.c-14 {
  --cw: 2.1428571429fr;
}
.grid.w-70.c-15 {
  --cw: 2fr;
}
.grid.w-70.c-16 {
  --cw: 1.875fr;
}
.grid.w-70.c-17 {
  --cw: 1.7647058824fr;
}
.grid.w-70.c-18 {
  --cw: 1.6666666667fr;
}
.grid.w-70.c-19 {
  --cw: 1.5789473684fr;
}
.grid.w-70.c-20 {
  --cw: 1.5fr;
}

.grid.w-80 {
  --label-width: 80fr;
}
.grid.w-80.c-1 {
  --cw: 20fr;
}
.grid.w-80.c-2 {
  --cw: 10fr;
}
.grid.w-80.c-3 {
  --cw: 6.6666666667fr;
}
.grid.w-80.c-4 {
  --cw: 5fr;
}
.grid.w-80.c-5 {
  --cw: 4fr;
}
.grid.w-80.c-6 {
  --cw: 3.3333333333fr;
}
.grid.w-80.c-7 {
  --cw: 2.8571428571fr;
}
.grid.w-80.c-8 {
  --cw: 2.5fr;
}
.grid.w-80.c-9 {
  --cw: 2.2222222222fr;
}
.grid.w-80.c-10 {
  --cw: 2fr;
}
.grid.w-80.c-11 {
  --cw: 1.8181818182fr;
}
.grid.w-80.c-12 {
  --cw: 1.6666666667fr;
}
.grid.w-80.c-13 {
  --cw: 1.5384615385fr;
}
.grid.w-80.c-14 {
  --cw: 1.4285714286fr;
}
.grid.w-80.c-15 {
  --cw: 1.3333333333fr;
}
.grid.w-80.c-16 {
  --cw: 1.25fr;
}
.grid.w-80.c-17 {
  --cw: 1.1764705882fr;
}
.grid.w-80.c-18 {
  --cw: 1.1111111111fr;
}
.grid.w-80.c-19 {
  --cw: 1.0526315789fr;
}
.grid.w-80.c-20 {
  --cw: 1fr;
}

.grid.w-90 {
  --label-width: 90fr;
}
.grid.w-90.c-1 {
  --cw: 10fr;
}
.grid.w-90.c-2 {
  --cw: 5fr;
}
.grid.w-90.c-3 {
  --cw: 3.3333333333fr;
}
.grid.w-90.c-4 {
  --cw: 2.5fr;
}
.grid.w-90.c-5 {
  --cw: 2fr;
}
.grid.w-90.c-6 {
  --cw: 1.6666666667fr;
}
.grid.w-90.c-7 {
  --cw: 1.4285714286fr;
}
.grid.w-90.c-8 {
  --cw: 1.25fr;
}
.grid.w-90.c-9 {
  --cw: 1.1111111111fr;
}
.grid.w-90.c-10 {
  --cw: 1fr;
}
.grid.w-90.c-11 {
  --cw: 0.9090909091fr;
}
.grid.w-90.c-12 {
  --cw: 0.8333333333fr;
}
.grid.w-90.c-13 {
  --cw: 0.7692307692fr;
}
.grid.w-90.c-14 {
  --cw: 0.7142857143fr;
}
.grid.w-90.c-15 {
  --cw: 0.6666666667fr;
}
.grid.w-90.c-16 {
  --cw: 0.625fr;
}
.grid.w-90.c-17 {
  --cw: 0.5882352941fr;
}
.grid.w-90.c-18 {
  --cw: 0.5555555556fr;
}
.grid.w-90.c-19 {
  --cw: 0.5263157895fr;
}
.grid.w-90.c-20 {
  --cw: 0.5fr;
}

.grid.w-100 {
  --label-width: 100fr;
}
.grid.w-100.c-1 {
  --cw: 0fr;
}
.grid.w-100.c-2 {
  --cw: 0fr;
}
.grid.w-100.c-3 {
  --cw: 0fr;
}
.grid.w-100.c-4 {
  --cw: 0fr;
}
.grid.w-100.c-5 {
  --cw: 0fr;
}
.grid.w-100.c-6 {
  --cw: 0fr;
}
.grid.w-100.c-7 {
  --cw: 0fr;
}
.grid.w-100.c-8 {
  --cw: 0fr;
}
.grid.w-100.c-9 {
  --cw: 0fr;
}
.grid.w-100.c-10 {
  --cw: 0fr;
}
.grid.w-100.c-11 {
  --cw: 0fr;
}
.grid.w-100.c-12 {
  --cw: 0fr;
}
.grid.w-100.c-13 {
  --cw: 0fr;
}
.grid.w-100.c-14 {
  --cw: 0fr;
}
.grid.w-100.c-15 {
  --cw: 0fr;
}
.grid.w-100.c-16 {
  --cw: 0fr;
}
.grid.w-100.c-17 {
  --cw: 0fr;
}
.grid.w-100.c-18 {
  --cw: 0fr;
}
.grid.w-100.c-19 {
  --cw: 0fr;
}
.grid.w-100.c-20 {
  --cw: 0fr;
}

.q-type-matrix-option-single.q-style-radio .q-options-label {
  padding: 0.5em 0.75em;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  cursor: pointer;
  box-sizing: border-box;
  column-gap: 0.5em;
}
@media screen and (min-width: 768px) {
  .q-type-matrix-option-single.q-style-radio .q-options-label {
    justify-content: center;
  }
}
.q-type-matrix-option-single.q-style-radio .q-options-control {
  position: absolute;
  width: 10px;
  height: 10px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  border: 0;
  opacity: 0;
  cursor: pointer;
}
@media (forced-colors: active), (-ms-high-contrast: active) {
  .q-type-matrix-option-single.q-style-radio .q-options-control:focus + .q-options-label {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .q-type-matrix-option-single.q-style-radio .q-options-control:focus + .q-options-label .tickbox {
    border-color: Highlight;
  }
  .q-type-matrix-option-single.q-style-radio .q-options-control:focus + .q-options-label .tickbox::before {
    border-color: Highlight;
  }
  .q-type-matrix-option-single.q-style-radio .q-options-control:checked + .q-options-label .tickbox {
    background-color: Highlight;
    border-color: Highlight;
  }
  .q-type-matrix-option-single.q-style-radio .q-options-control:checked + .q-options-label .tickbox::before {
    background-color: HighlightText;
  }
}
.q-type-semantic-diff .grid-container.row:nth-child(n+3):before {
  border-top: 1px dashed #EEE;
  max-width: 100%;
  content: "";
  padding-bottom: 0.6em;
}
@media screen and (min-width: 768px) {
  .q-type-semantic-diff .grid-container.row:nth-child(n+3):before {
    display: none;
  }
}

.q-type-matrix-option-multi .q-options-label, .q-type-matrix-option-multi .q-type-matrix-option-single.q-style-radio .q-options-label, .q-type-matrix-option-single.q-style-radio .q-type-matrix-option-multi .q-options-label {
  padding: 0.5em 0.75em;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  cursor: pointer;
  box-sizing: border-box;
  column-gap: 0.5em;
}
@media screen and (min-width: 768px) {
  .q-type-matrix-option-multi .q-options-label, .q-type-matrix-option-multi .q-type-matrix-option-single.q-style-radio .q-options-label, .q-type-matrix-option-single.q-style-radio .q-type-matrix-option-multi .q-options-label {
    justify-content: center;
  }
}
.q-type-matrix-option-multi .q-options-control {
  position: absolute;
  width: 10px;
  height: 10px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  border: 0;
  opacity: 0;
  cursor: pointer;
}
@media (forced-colors: active), (-ms-high-contrast: active) {
  .q-type-matrix-option-multi .q-options-control:focus + .q-options-label {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .q-type-matrix-option-multi .q-options-control:focus + .q-options-label .tickbox {
    border-color: Highlight;
  }
  .q-type-matrix-option-multi .q-options-control:focus + .q-options-label .tickbox::before {
    border-color: Highlight;
  }
  .q-type-matrix-option-multi .q-options-control:checked + .q-options-label .tickbox {
    background-color: Highlight;
    border-color: Highlight;
  }
  .q-type-matrix-option-multi .q-options-control:checked + .q-options-label .tickbox::before {
    background-color: HighlightText;
  }
}
.q-type-matrix-text-multi .q-options-control {
  padding: 0.3em;
  box-sizing: border-box;
}
.q-type-matrix-text-multi .input {
  padding-left: 16px;
  border-left: 4px solid #CCC;
}
@media screen and (min-width: 768px) {
  .q-type-matrix-text-multi .input {
    padding-left: 0;
    border-left: none;
  }
}

.q-type-matrix-ddl-multi .q-single-control {
  padding: 0.3em;
  box-sizing: border-box;
}
.q-type-matrix-ddl-multi .input {
  padding-left: 16px;
  border-left: 4px solid #CCC;
}
@media screen and (min-width: 768px) {
  .q-type-matrix-ddl-multi .input {
    padding-left: 0;
    border-left: none;
  }
}

.q-type-option-single.q-style-nps .q-options {
  counter-reset: section -1;
  gap: 0;
  justify-content: center;
  flex-wrap: nowrap;
}
.q-type-option-single.q-style-nps .q-options-option {
  height: 45px;
  width: 100%;
  -webkit-transition: background 0.2s ease-in-out;
  -ms-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
}
.q-type-option-single.q-style-nps .q-options-option label.q-options-label {
  cursor: pointer;
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.q-type-option-single.q-style-nps .q-options-option label.q-options-label span {
  display: inline-block;
}
.q-type-option-single.q-style-nps .q-options-option label.q-options-label span:before {
  counter-increment: section;
  content: counter(section);
}
.q-type-option-single.q-style-nps .q-options-option label.q-options-label > input {
  position: absolute;
  cursor: pointer;
  height: 30px;
  width: 30px;
  z-index: 1;
  margin: 0;
  zoom: 1;
  filter: alpha(opacity=0);
  opacity: 0;
}
.q-type-option-single.q-style-nps .nps-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 3.2px;
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .q-type-option-single.q-style-nps .q-options-option {
    height: 60px;
  }
}

@media (forced-colors: active), (-ms-high-contrast: active) {
  .q-type-option-single.q-style-nps .q-options-option {
    border: 1px solid CanvasText;
  }
  .q-type-option-single.q-style-nps .q-options-option input:checked + .q-options-label {
    background-color: Highlight;
    color: HighlightText;
  }
  .q-type-option-single.q-style-nps .q-options-option input:focus + .q-options-label {
    outline: 2px solid Highlight;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px Highlight;
  }
}
.q-type-const-sum .grid > .grid-container {
  display: flex;
  flex-direction: column;
  flex-basis: 100%;
  row-gap: 0.5em;
}
.q-type-const-sum .q-options-option {
  padding: 0.25em;
}
.q-type-const-sum .q-options-control {
  padding: 0.3em;
}
.q-type-const-sum h3.subheading {
  padding-top: 0em;
  padding-bottom: 0.1em;
}
.q-type-const-sum .sum-total {
  margin-top: 0.5rem;
}
.q-type-const-sum .sum-total .q-options-label span.option-title {
  font-weight: bold;
}
.q-type-const-sum .sum-total input.q-options-control {
  background-color: rgba(0, 0, 0, 0.05);
}
@supports (display: grid) {
  @media screen and (min-width: 576px) {
    .q-type-const-sum .grid {
      container-name: constant-sum;
    }
    .q-type-const-sum .grid .grid-container {
      display: grid;
      column-gap: 0;
      row-gap: 0;
      grid-template-columns: fit-content(100%) auto;
    }
    .q-type-const-sum .grid .grid-container .row {
      grid-template-columns: subgrid;
      grid-column: 1/-1;
    }
    .q-type-const-sum .grid .grid-container .row .q-options-label {
      margin: 0;
    }
  }
}

.q-type-text-multi .q-options {
  row-gap: 0;
}
.q-type-text-multi .q-options-option {
  display: flex;
  align-content: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0.5em;
}
.q-type-text-multi .q-options-option .q-options-label {
  flex-basis: 100%;
}
.q-type-text-multi .q-options-option:nth-child(even) {
  padding-top: 0;
}
.q-type-text-multi .q-options-control {
  padding: 0.3em;
  box-sizing: border-box;
}
.q-type-text-multi h3.subheading {
  padding-top: 0em;
  padding-bottom: 0.1em;
}
@supports (display: grid) {
  @media screen and (min-width: 576px) {
    .q-type-text-multi .grid {
      container-name: multi-textbox;
    }
    .q-type-text-multi .grid .grid-container {
      display: grid;
      column-gap: 0;
      grid-template-columns: fit-content(100%) auto;
    }
    .q-type-text-multi .grid .grid-container .row {
      grid-template-columns: subgrid;
      grid-column: 1/-1;
    }
    .q-type-text-multi .grid .grid-container .row .q-options-option {
      padding: 0.5em;
    }
    .q-type-text-multi .grid .grid-container .row .q-options-option .q-options-label {
      margin: 0;
    }
  }
}

.q-type-select .q-options-option {
  padding-top: 0.25em;
  max-width: 100%;
}
.q-type-select .q-single-control {
  width: auto;
  max-width: 100%;
}
.q-type-select .q-single-control.selectize {
  width: 100%;
}
.q-type-select div.q-single-control {
  padding: 0;
}

/* The other components are in a complicated structure that we don't want to keep so will just put this here 
    Most styles for the date boxes are the same as q-type-text-multi so we only need to override some
*/
.q-type-date-multi .q-options {
  row-gap: 0;
}
.q-type-date-multi .q-options-option {
  display: flex;
  align-content: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  padding: 0.5em;
}
.q-type-date-multi .q-options-option .q-options-label {
  flex-basis: 100%;
}
.q-type-date-multi .q-options-option:nth-child(even) {
  padding-top: 0;
}
.q-type-date-multi .q-options-control {
  padding: 0.3em;
  box-sizing: border-box;
}
.q-type-date-multi h3.subheading {
  padding-top: 0em;
  padding-bottom: 0.1em;
}
@supports (display: grid) {
  @media screen and (min-width: 576px) {
    .q-type-date-multi .grid {
      container-name: multi-textbox;
    }
    .q-type-date-multi .grid .grid-container {
      display: grid;
      column-gap: 0;
      grid-template-columns: fit-content(100%) auto;
    }
    .q-type-date-multi .grid .grid-container .row {
      grid-template-columns: subgrid;
      grid-column: 1/-1;
    }
    .q-type-date-multi .grid .grid-container .row .q-options-option {
      padding: 0.5em;
    }
    .q-type-date-multi .grid .grid-container .row .q-options-option .q-options-label {
      margin: 0;
    }
  }
}
.q-type-date-multi .q-options-option {
  gap: 5px;
}
.q-type-date-multi .datebox-wrapper {
  position: relative;
  display: inline-block;
}
.q-type-date-multi .q-options-control.datebox {
  width: 10em;
  padding: 0.4em;
}
.q-type-date-multi .datebox-icon-area {
  position: absolute;
  right: 0;
  top: 0;
  width: 2em;
  height: 100%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.q-type-date-multi .datebox-icon-area:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.q-type-date-multi .datebox-icon-area:active {
  background-color: rgba(0, 0, 0, 0.1);
}
.q-type-date-multi .datebox-icon-area svg {
  vertical-align: sub;
  display: block;
}
.q-type-date-multi .timebox {
  width: auto;
}

.q-type-slider-multi .q-options {
  gap: 20px;
}
.q-type-slider-multi .q-options .slider {
  display: flex;
  align-content: stretch;
  gap: 20px;
}
.q-type-slider-multi .q-options .slider .slider-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  justify-content: center;
}
.q-type-slider-multi .q-options .slider .slider-content .slider-labels {
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 26px;
  margin-top: 8px;
  margin-bottom: 4px;
}
@media screen and (min-width: 576px) {
  .q-type-slider-multi .q-options .slider .slider-content .slider-labels {
    margin-bottom: 0;
  }
}
.q-type-slider-multi .q-options .slider .slider-content .slider-bar {
  position: relative;
  height: 25px;
}
.q-type-slider-multi .q-options .slider .slider-content .slider-bar .slider-track {
  height: 5px;
  margin-top: 16px;
  margin-left: 17px;
  margin-right: 17px;
  border-radius: 5px;
}
@media screen and (min-width: 576px) {
  .q-type-slider-multi .q-options .slider .slider-content .slider-bar .slider-track {
    margin-top: 10px;
    margin-left: 11px;
    margin-right: 11px;
  }
}
.q-type-slider-multi .q-options .slider .slider-content .slider-bar .slider-thumb {
  position: absolute;
  margin-top: 1px;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  cursor: grab;
  cursor: -webkit-grab;
  box-sizing: border-box;
}
@media screen and (min-width: 576px) {
  .q-type-slider-multi .q-options .slider .slider-content .slider-bar .slider-thumb {
    width: 23px;
    height: 23px;
  }
}
.q-type-slider-multi .q-options .slider .slider-total-block {
  display: flex;
  justify-content: center;
  align-items: center;
}
.q-type-slider-multi .q-options .slider .slider-total-block input[type=text].slider-total {
  text-align: center;
  border-width: 1px;
  max-width: 75px;
}

@media (forced-colors: active), (-ms-high-contrast: active) {
  .q-type-slider-multi .q-options .slider .slider-labels {
    color: CanvasText;
  }
  .q-type-slider-multi .q-options .slider .slider-content .slider-bar .slider-track {
    background-color: CanvasText;
    border: 1px solid CanvasText;
  }
  .q-type-slider-multi .q-options .slider .slider-content .slider-bar .slider-thumb {
    background-color: Canvas;
    border: 3px solid CanvasText;
  }
  .q-type-slider-multi .q-options .slider .slider-content .slider-bar .slider-thumb:focus, .q-type-slider-multi .q-options .slider .slider-content .slider-bar .slider-thumb:active {
    border-color: Highlight;
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .q-type-slider-multi .q-options .slider .slider-total-block input.slider-total {
    border: 1px solid CanvasText;
    color: CanvasText;
    background-color: Canvas;
  }
  .q-type-slider-multi .q-options .slider .slider-total-block input.slider-total:focus {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
}
.q-type-file .upload-container {
  position: relative;
}
.q-type-file .upload-container h3.heading {
  font-weight: bold;
}
.q-type-file .upload-container .sub-text {
  margin-top: -8px;
}
.q-type-file .upload-container .q-upload-pane {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px;
  row-gap: 0.5rem;
  cursor: pointer;
}
.q-type-file .upload-container .q-upload-pane i.download-icon {
  display: inline-block;
  width: 34px;
  height: 34px;
  background-color: currentColor; /* Inherits text color */
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 13v8'%3E%3C/path%3E%3Cpath d='M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242'%3E%3C/path%3E%3Cpath d='m8 17 4-4 4 4'%3E%3C/path%3E%3C/svg%3E") no-repeat center;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 13v8'%3E%3C/path%3E%3Cpath d='M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242'%3E%3C/path%3E%3Cpath d='m8 17 4-4 4 4'%3E%3C/path%3E%3C/svg%3E") no-repeat center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.q-type-file .upload-container .overlay {
  display: flex;
  row-gap: 0.5rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
  padding: 24px;
  box-sizing: border-box;
}
.q-type-file .upload-container .overlay i.warning-icon {
  color: #f59e0b;
  width: 34px;
  height: 34px;
  background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="34" height="34" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" x2="12" y1="8" y2="12"></line><line x1="12" x2="12.01" y1="16" y2="16"></line></svg>') no-repeat center;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="34" height="34" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" x2="12" y1="8" y2="12"></line><line x1="12" x2="12.01" y1="16" y2="16"></line></svg>') no-repeat center;
}
.q-type-file .upload-container .overlay.overlay-limit {
  cursor: not-allowed;
  opacity: 70%;
}
.q-type-file .upload-container .overlay.overlay-upload .progress {
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 2px;
  width: 100%;
  max-width: 200px;
}
.q-type-file .upload-container .overlay.overlay-upload .progress .progress-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 9.6px;
}
.q-type-file .upload-container .overlay.overlay-upload .progress .progress-row .progress-value {
  line-height: 0.6em;
  order: 2;
}
.q-type-file .upload-container .overlay.overlay-upload .progress .progress-row .progress-bar {
  order: 1;
  width: 100%;
  box-sizing: border-box;
  height: 12px;
  border: 1px solid rgba(0, 0, 0, 0.2588235294);
}
.q-type-file .upload-container .overlay.overlay-upload .progress .progress-row .progress-bar::before {
  content: "";
  display: block;
  height: 100%;
  width: var(--progress-width, 0%);
  background-color: #338239;
}
.q-type-file .uploadedfiles {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  row-gap: 0.3rem;
}
.q-type-file .uploadedfiles .file {
  display: flex;
  column-gap: 0.5em;
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
}
.q-type-file .uploadedfiles .file .file-name {
  flex-grow: 1;
  padding-top: 1px;
}
.q-type-file .uploadedfiles .file .file-delete {
  padding: 0;
  border: 0;
  line-height: 0;
  background: none;
}
.q-type-file .uploadedfiles .file i.file-icon {
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path></svg>') no-repeat center;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path></svg>') no-repeat center;
}
.q-type-file .uploadedfiles .file i.x-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-color: currentColor; /* Inherits text color */
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6L6 18'%3E%3C/path%3E%3Cpath d='M6 6l12 12'%3E%3C/path%3E%3C/svg%3E");
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6L6 18'%3E%3C/path%3E%3Cpath d='M6 6l12 12'%3E%3C/path%3E%3C/svg%3E");
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-position: center;
  cursor: pointer;
}

@media (forced-colors: active), (-ms-high-contrast: active) {
  .q-type-file .upload-container h3.heading, .q-type-file .upload-container .sub-text, .q-type-file .upload-container .limits {
    color: CanvasText;
  }
  .q-type-file .upload-container .q-upload-pane {
    border: 1px solid CanvasText;
  }
  .q-type-file .upload-container .q-upload-pane:focus {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .q-type-file .upload-container .q-upload-pane i.download-icon {
    border: 1px solid currentColor;
    background-color: transparent;
  }
  .q-type-file .upload-container .overlay i.warning-icon {
    border: 1px solid currentColor;
    background-color: transparent;
  }
  .q-type-file .upload-container .overlay.overlay-limit {
    background-color: Canvas;
    border: 1px solid CanvasText;
  }
  .q-type-file .upload-container .overlay.overlay-upload .progress .progress-row .progress-bar {
    border: 1px solid CanvasText;
    background-color: Canvas;
  }
  .q-type-file .upload-container .overlay.overlay-upload .progress .progress-row .progress-bar::before {
    background-color: Highlight !important;
  }
  .q-type-file .uploadedfiles .file {
    border: 1px solid CanvasText;
  }
  .q-type-file .uploadedfiles .file:focus-within {
    outline: 2px solid Highlight;
    border-color: Highlight;
  }
  .q-type-file .uploadedfiles .file .file-name {
    color: CanvasText;
  }
  .q-type-file .uploadedfiles .file .file-name:focus {
    outline: 2px solid Highlight;
  }
  .q-type-file .uploadedfiles .file i.file-icon {
    border: 1px solid currentColor;
    background-color: transparent;
  }
  .q-type-file .uploadedfiles .file .file-delete {
    border: 1px solid ButtonText;
    background-color: ButtonFace;
  }
  .q-type-file .uploadedfiles .file .file-delete:focus {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .q-type-file .uploadedfiles .file .file-delete i.x-icon {
    background-color: transparent;
    border: 1px solid currentColor;
    position: relative;
  }
  .q-type-file .uploadedfiles .file .file-delete i.x-icon::before, .q-type-file .uploadedfiles .file .file-delete i.x-icon::after {
    content: "";
    position: absolute;
    width: 2px;
    height: 18px;
    background-color: ButtonText;
    top: 3px;
    left: 11px;
  }
  .q-type-file .uploadedfiles .file .file-delete i.x-icon::before {
    transform: rotate(45deg);
  }
  .q-type-file .uploadedfiles .file .file-delete i.x-icon::after {
    transform: rotate(-45deg);
  }
  .q-type-file .uploadedfiles .file .file-delete:hover i.x-icon::before, .q-type-file .uploadedfiles .file .file-delete:hover i.x-icon::after, .q-type-file .uploadedfiles .file .file-delete:focus i.x-icon::before, .q-type-file .uploadedfiles .file .file-delete:focus i.x-icon::after {
    background-color: Highlight;
  }
}
.ranking-option {
  touch-action: manipulation; /* allow tapping, not dragging */
}

.ranking-option:not(.ranking-grip) {
  -webkit-user-drag: none;
}

.q-type-ranking .ranking {
  gap: 10px;
  color: #424242;
  /* Default draggable classes
      https://github.com/Shopify/draggable/tree/main/src/Draggable#classes
  */
}
.q-type-ranking .ranking .ranking-option {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.q-type-ranking .ranking .ranking-option:focus-within .ranking-bar {
  outline: 0.125rem solid blue;
  outline-offset: 0;
}
.q-type-ranking .ranking .ranking-option.selected .ranking-bar .ranking-controls .ranking-nav {
  display: flex;
}
.q-type-ranking .ranking .ranking-option.selected .ranking-bar .ranking-controls .ranking-grip {
  display: none;
}
.q-type-ranking .ranking .ranking-option .ranking-position {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  padding: 5px 10px;
  margin-inline-end: 12px;
  box-sizing: border-box;
}
.q-type-ranking .ranking .ranking-option .ranking-position .ranking-position-number {
  line-height: 1rem;
}
.q-type-ranking .ranking .ranking-option .ranking-bar {
  flex-grow: 10;
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  cursor: grab;
  cursor: -webkit-grab;
}
.q-type-ranking .ranking .ranking-option .ranking-bar .ranking-label {
  padding: 0.5em 0.75em;
  flex: 1 1 auto;
  overflow-wrap: anywhere;
  width: 100%;
  display: flex;
  align-items: center;
}
.q-type-ranking .ranking .ranking-option .ranking-bar .ranking-label .q-options-label {
  display: inline;
  user-select: none;
}
.q-type-ranking .ranking .ranking-option .ranking-bar .ranking-controls {
  padding-inline-end: 0.75em;
  display: flex;
  justify-content: flex-end;
  flex: 1 1 auto;
  gap: 6px;
}
.q-type-ranking .ranking .ranking-option .ranking-bar .ranking-controls .ranking-grip {
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  border: 0;
  outline: 0;
  cursor: grab;
  cursor: -webkit-grab;
  display: flex;
  align-items: center;
  justify-content: center;
}
.q-type-ranking .ranking .ranking-option .ranking-bar .ranking-controls .ranking-grip svg {
  width: 16px;
  height: 16px;
  display: block;
}
.q-type-ranking .ranking .ranking-option .ranking-bar .ranking-controls .ranking-nav {
  display: none;
  gap: 6px;
  align-items: center;
}
.q-type-ranking .ranking .ranking-option .ranking-bar .ranking-controls .ranking-nav button {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 34px;
  width: 34px;
  text-align: center;
  background-color: transparent;
  padding: 0;
}
.q-type-ranking .ranking .ranking-option .ranking-bar .ranking-controls .ranking-nav button svg {
  height: 26px;
  width: 26px;
  display: inline-block;
}
.q-type-ranking .ranking .ranking-option .ranking-bar .ranking-controls .ranking-nav button.ranking-nav-ok {
  margin-inline-start: 0.7rem;
}
.q-type-ranking .ranking .ranking-option .ranking-bar .ranking-controls .ranking-nav button:not(:disabled) {
  cursor: pointer;
}
.q-type-ranking .ranking .ranking-option .ranking-bar .ranking-controls .ranking-nav button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.q-type-ranking .ranking .ranking-option .ranking-bar .ranking-controls .ranking-nav button:disabled svg {
  filter: grayscale(1);
}
.q-type-ranking .ranking .draggable-mirror .ranking-nav, .q-type-ranking .ranking .draggable-source--is-dragging .ranking-nav {
  display: none;
}
.q-type-ranking .ranking .draggable-source--is-dragging .ranking-bar, .q-type-ranking .ranking .draggable-source--is-dragging .ranking-grip {
  cursor: grabbing;
  cursor: -moz-grabbing;
  cursor: -webkit-grabbing;
}
.q-type-ranking .ranking .draggable-mirror {
  -ms-opacity: 0.5;
  opacity: 0.5;
  display: none;
}
.q-type-ranking .ranking-instructions {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.q-type-ranking .ranking-reset {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  margin-left: 49px;
}

@media (forced-colors: active), (-ms-high-contrast: active) {
  .q-type-ranking .ranking .ranking-option:focus-within {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .q-type-ranking .ranking .ranking-option.selected {
    border: 2px solid Highlight;
  }
  .q-type-ranking .ranking .ranking-option.draggable-source--is-dragging {
    border: 3px solid Highlight !important;
    outline: 2px solid Highlight !important;
    background-color: Canvas !important;
  }
  .q-type-ranking .ranking .ranking-option.draggable-source--is-dragging .ranking-bar {
    background-color: Canvas !important;
  }
  .q-type-ranking .ranking .ranking-option.draggable-source--is-dragging .ranking-position {
    border-color: Highlight !important;
    color: Highlight !important;
  }
  .q-type-ranking .ranking .ranking-option .ranking-position {
    border: 1px solid CanvasText;
    color: CanvasText;
  }
  .q-type-ranking .ranking .ranking-option .ranking-controls svg {
    fill: CanvasText;
    stroke: CanvasText;
  }
  .q-type-ranking .ranking .ranking-option .ranking-controls svg path, .q-type-ranking .ranking .ranking-option .ranking-controls svg circle {
    stroke: currentColor;
    fill: ButtonFace;
  }
  .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-nav-up svg path, .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-nav-dn svg path {
    stroke: ButtonText !important;
    stroke-width: 2px !important;
  }
  .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-grip:focus {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-grip:focus svg {
    fill: Highlight;
    stroke: Highlight;
  }
  .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-nav button {
    background-color: ButtonFace;
    color: ButtonText;
    border: 1px solid ButtonText;
  }
  .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-nav button:focus {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-nav button:focus svg {
    fill: Highlight;
    stroke: Highlight;
  }
  .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-nav button:focus.ranking-nav-up svg path, .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-nav button:focus.ranking-nav-dn svg path {
    stroke: Highlight !important;
  }
  .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-nav button:disabled {
    color: GrayText;
    border-color: GrayText;
  }
  .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-nav button:disabled svg {
    fill: GrayText;
    stroke: GrayText;
  }
  .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-nav button:disabled.ranking-nav-up svg path, .q-type-ranking .ranking .ranking-option .ranking-controls .ranking-nav button:disabled.ranking-nav-dn svg path {
    stroke: GrayText !important;
  }
  .q-type-ranking .ranking-reset:focus {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .q-type-ranking .ranking-reset a {
    color: LinkText;
  }
  .q-type-ranking .ranking-reset a:focus {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
}
.q-type-option-single.q-style-radio.star-rating .q-options {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 2%;
}
.q-type-option-single.q-style-radio.star-rating .q-options-label {
  cursor: pointer;
  font-size: 2.625rem;
  transition: color 0.3s;
  margin-right: 0.1rem;
  outline: none;
  padding: 0;
}
.q-type-option-single.q-style-radio.star-rating .q-options-label:last-child {
  margin-right: 0;
}
.q-type-option-single.q-style-radio.star-rating .q-options-label::before {
  display: none;
}
.q-type-option-single.q-style-radio.star-rating .q-options-label:hover {
  outline: none;
}
.q-type-option-single.q-style-radio.star-rating input:focus + .q-options-label {
  background: none;
  outline-offset: 2px;
}
.q-type-option-single.q-style-radio.star-rating input:checked + .q-options-label {
  background: none;
}
.q-type-option-single.q-style-radio.star-rating .q-options-label.checked {
  background: none;
}
.q-type-option-single.q-style-radio.star-rating .q-star-rating svg {
  stroke: #000000;
  stroke-width: 4px;
}

@media (forced-colors: active), (-ms-high-contrast: active) {
  .q-type-option-single.q-style-radio.star-rating .q-options-label svg {
    fill: currentColor;
  }
  .q-type-option-single.q-style-radio.star-rating .q-options-label.checked svg path {
    fill: Highlight;
  }
  .q-type-option-single.q-style-radio.star-rating .q-options-label.hovered svg path {
    stroke: Highlight;
    stroke-width: 16px;
  }
  .q-type-option-single.q-style-radio.star-rating .q-options-label.unchecked svg {
    fill: currentColor;
    stroke: transparent;
  }
  .q-type-option-single.q-style-radio.star-rating input:focus + .q-options-label {
    outline: 2px solid Highlight;
    outline-offset: 2px;
  }
  .q-type-option-single.q-style-radio.star-rating input:focus + .q-options-label svg path {
    stroke: Highlight;
    stroke-width: 16px;
  }
}
.q-comments {
  margin-top: 15px;
}
.q-comments .q-comments-label {
  display: block;
  font-weight: 500;
  margin-bottom: 6px;
}
.q-comments .q-comments-control {
  box-sizing: border-box;
}

/* AI Follow-up styling */
section.follow-up-question {
  transition: all 0.3s ease;
}

section.follow-up-question.ai-generated {
  animation: fadeIn 0.5s ease-in-out;
}

section.follow-up-question.loading {
  opacity: 0.7;
}

.ai-locked {
  opacity: 0.7;
}

@keyframes loading {
  0% {
    width: 0;
  }
  33% {
    width: 0.5em;
  }
  66% {
    width: 1em;
  }
  100% {
    width: 1.5em;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Flag list */
.language-boxes {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: row;
  column-gap: 0.5em;
  justify-content: center;
  flex-wrap: wrap;
}

.language-boxes li {
  display: inline;
}

.language-boxes li a {
  display: inline-block;
  padding: 10px;
  border-radius: 5px;
  text-decoration: none;
  display: flex;
  flex-direction: row;
  align-items: center;
}

.language-boxes li a:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.language-boxes li a:last-child {
  margin-right: 0px;
}

/* Text list */
.language-boxes-2 {
  list-style: none;
  margin: 20px auto;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  row-gap: 0.5em;
  max-width: 600px;
}

.language-boxes-2 li a {
  display: block;
  background-color: rgba(0, 0, 0, 0.05);
  padding: 10px 15px;
  text-decoration: none;
}

.language-boxes-2 li a:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.language-boxes-2 li a.default-language {
  background-color: #e5f3fa;
}

/* Language selector */
.language-selector {
  position: relative;
  background: #FFF;
  padding: 10px;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  z-index: 120;
  border-bottom: 2px solid #ccc;
}
@media screen and (min-width: 768px) {
  .language-selector {
    position: fixed;
    top: 0;
    right: 0;
    background: none;
    width: auto;
    border: 0;
  }
  .language-selector span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
  }
}
.language-selector select#LanguageDropDown {
  width: fit-content;
  background: #FFF;
  color: #000;
}
.language-selector select#LanguageDropDown option {
  background: #FFF;
  color: #000;
}

.language-instruction {
  margin-bottom: 2em;
}

#home-panel {
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  background-color: #DDD;
}
#home-panel .home-panel-inner {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  max-width: 1024px;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 30px 40px;
  box-sizing: border-box;
  height: 100vh;
  background-color: #FFF;
}
#home-panel .home-panel-inner a {
  color: #333;
}
#home-panel .home-panel-inner nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
#home-panel .home-panel-inner nav input[type=button] {
  cursor: pointer;
}
#home-panel .home-panel-inner .ss-list-holder .ss-home-title {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom: 1px solid #C0C0C0;
  border-top: 1px solid #E7E7E7;
  color: #FFF;
  background: #008B06;
  padding: 6px 12px;
  font-weight: bold;
}
#home-panel .home-panel-inner .ss-list-holder ul.ss-home-list {
  padding: 0;
}
#home-panel .home-panel-inner .ss-list-holder ul.ss-home-list li {
  list-style: none;
  padding: 5px 10px;
  border: 1px solid #CCC;
  border-top: 0px;
  list-style: none;
  background-color: #FFF;
  display: flex;
  justify-content: space-between;
  column-gap: 1rem;
  flex-wrap: wrap;
}
.ss-home-btn, .ss-unlock-btn {
  position: fixed;
  left: 0;
  top: 0;
  width: 30px;
  height: 30px;
  background: url(../images/offline_home.png) center center no-repeat;
  text-indent: -10000px;
  background-color: #FFF;
  border: 1px solid #6B6B6B;
  border-width: 0px 1px 1px 0px;
  border-radius: 0px 0px 5px 0px;
  cursor: pointer;
}

.offline-modal .btn-danger {
  background-color: #d9534f;
}
.offline-modal .container {
  width: 450px;
}
.offline-modal .content {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  row-gap: 15px;
}
.offline-modal .content #genericDialog-buttons {
  margin-top: 1rem;
  display: flex;
  gap: 10px;
}
.offline-modal .content .error {
  color: #CB253B;
  background: #fae9eb;
  border-radius: 4px;
  padding: 8px 12px;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 12px;
  font-size: 0.8rem;
}
.offline-modal .close {
  cursor: pointer;
}
.offline-modal .btn {
  padding: 8px 15px;
  border: 2px solid #4a861e;
  background: #5BAB22;
  color: white;
  cursor: pointer;
}
.offline-modal .btn-dark {
  background: #808080;
  border-color: #646464;
}
.offline-modal .btn-container {
  display: flex;
  column-gap: 10px;
}
.offline-modal .message {
  padding-top: 20px;
}
.offline-modal .success-message {
  color: darkgreen;
}

#kioskMode .container {
  width: 450px;
}
#kioskMode #kiosk-help {
  font-size: 0.8rem;
}
#kioskMode #kiosk-help p {
  margin-bottom: 20px;
}
#kioskMode .kiosk-help-icon {
  color: #428bca;
  text-decoration: none;
  font-size: 11px;
  display: inline-block;
  border-radius: 10px;
  background-color: #e8ecff;
  padding: 2px 5px;
  border: 1px solid;
  outline: none;
}

#uploadAllResponses .upload-progress-bar-wrapper {
  padding: 20px;
  box-sizing: border-box;
  background: #f2f2f2;
  border-radius: 7px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
#uploadAllResponses .progress-bar-outer {
  border: 1px solid darkgreen;
  height: 20px;
  width: 100%;
}
#uploadAllResponses .progress-bar-outer .upload-progress-bar {
  background: green;
  height: 100%;
  width: 0%;
}

.authentication-form form, .authentication-form .form-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 1rem;
}
.authentication-form .form-group {
  width: 100%;
  row-gap: 0.3rem;
}
.authentication-form .form-group input {
  box-sizing: border-box;
}
.authentication-form .cf-turnstile {
  margin-top: 0.5rem;
}
.authentication-form div.validation-summary-errors ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.authentication-form div.validation-summary-errors ul li {
  display: inline;
  font-weight: bold;
}

.error-summary {
  display: flex;
  column-gap: 5px;
  padding: calc(12px * 2 / 3) 12px;
}
.error-summary::before {
  content: url("data:image/svg+xml,%0A%3Csvg width='20' height='19' viewBox='0 0 20 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 1.9375C7.36328 1.9375 4.97266 3.34375 3.63672 5.59375C2.33594 7.87891 2.33594 10.6562 3.63672 12.9062C4.97266 15.1914 7.36328 16.5625 10 16.5625C12.6016 16.5625 14.9922 15.1914 16.3281 12.9062C17.6289 10.6562 17.6289 7.87891 16.3281 5.59375C14.9922 3.34375 12.6016 1.9375 10 1.9375ZM10 18.25C6.76562 18.25 3.8125 16.5625 2.19531 13.75C0.578125 10.9727 0.578125 7.5625 2.19531 4.75C3.8125 1.97266 6.76562 0.25 10 0.25C13.1992 0.25 16.1523 1.97266 17.7695 4.75C19.3867 7.5625 19.3867 10.9727 17.7695 13.75C16.1523 16.5625 13.1992 18.25 10 18.25ZM10 4.75C10.457 4.75 10.8438 5.13672 10.8438 5.59375V9.53125C10.8438 10.0234 10.457 10.375 10 10.375C9.50781 10.375 9.15625 10.0234 9.15625 9.53125V5.59375C9.15625 5.13672 9.50781 4.75 10 4.75ZM11.125 12.625C11.125 13.2578 10.5977 13.75 10 13.75C9.36719 13.75 8.875 13.2578 8.875 12.625C8.875 12.0273 9.36719 11.5 10 11.5C10.5977 11.5 11.125 12.0273 11.125 12.625Z' fill='white'/%3E%3C/svg%3E");
  display: inline-block;
  line-height: 0;
  position: relative;
}
.error-summary ul {
  display: none;
}

.question-error-title {
  font-weight: bold;
  display: none;
  gap: 0.5em;
  align-items: center;
  margin-bottom: 12px;
}
.question-error-title::before {
  content: url("data:image/svg+xml,%0A%3Csvg width='26' height='24' viewBox='0 0 26 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 24C8.6875 24 4.75 21.75 2.59375 18C0.4375 14.2969 0.4375 9.75 2.59375 6C4.75 2.29688 8.6875 0 13 0C17.2656 0 21.2031 2.29688 23.3594 6C25.5156 9.75 25.5156 14.2969 23.3594 18C21.2031 21.75 17.2656 24 13 24ZM13 6C12.3438 6 11.875 6.51562 11.875 7.125V12.375C11.875 13.0312 12.3438 13.5 13 13.5C13.6094 13.5 14.125 13.0312 14.125 12.375V7.125C14.125 6.51562 13.6094 6 13 6ZM11.5 16.5C11.5 17.3438 12.1562 18 13 18C13.7969 18 14.5 17.3438 14.5 16.5C14.5 15.7031 13.7969 15 13 15C12.1562 15 11.5 15.7031 11.5 16.5Z' fill='%23D6273D'/%3E%3C/svg%3E");
  line-height: 0;
  display: block;
}

.error-detail {
  padding: calc(12px * 2 / 3) 12px;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 12px;
}
.error-detail::before {
  display: block;
  line-height: 0;
}

.validation-summary-valid,
.field-validation-valid {
  display: none;
}

.question-container.section-validation-error .question-error-title {
  display: flex;
}
.question-container.section-validation-error::before {
  content: "";
  position: absolute;
  top: 0;
  left: -40px;
  bottom: 0;
  width: 8px;
}

html[dir=rtl] .question-container.section-validation-error::before {
  left: 0;
  right: -40px;
}

@media screen and (min-width: 768px) {
  .sr-only-medium {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
  }
}

/*# sourceMappingURL=base.css.map */
