/*!***************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./scss/main.scss ***!
  \***************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap);
/*!*******************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./scss/main.scss (1) ***!
  \*******************************************************************************************************************************************************************************************************************************************/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  font-family: sans-serif; /* 1 */
  line-height: 1.15; /* 2 */
  -ms-text-size-adjust: 100%; /* 3 */
  -webkit-text-size-adjust: 100%; /* 3 */
}

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 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
	 ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * 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 style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * 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
	 ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
  display: inline flow-root;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

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

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 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;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* 2 */
}

/**
 * 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;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 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 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  display: inline flow-root; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
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 and cancel buttons in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-cancel-button,
[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 IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

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

/* Scripting
	 ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
  display: inline flow-root;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

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

:root {
  --f-title: "Figtree", sans-serif;
  --f-body: "Figtree", sans-serif;
  --f-xl: 2rem;
  --f-lg: 1.5rem;
  --f-md: 1.25rem;
  --f-sm: 1rem;
  --f-xs: 0.875rem;
  --f-2xs: 0.8125rem;
  --f-3xs: 0.75rem;
  --c-text: #0B1B3C;
  --c-bg: #fff;
  --c-border: #EAF0F6;
  --c-form-bg: #F2F5F8;
  --c-blue-dark: #002E78;
  --c-blue: #1463FF;
  --c-blue-light: #B8C7F3;
  --c-blue-light-2: #EDF3FF;
  --c-blue-pale: #F7F9FC;
  --c-red-dark: #7B000F;
  --c-red: #D6260E;
  --c-red-mid: #FF918A;
  --c-red-light: #FFB5B5;
  --c-red-light-2: #F7D7DA;
  --c-red-pale: #FCEEEC;
  --c-green-dark: #003B32;
  --c-green: #03BF7F;
  --c-green-mid: #8ABA99;
  --c-green-mid-2:	#B2DCBF;
  --c-green-light: #B8E1DB;
  --c-green-light-2: #C8F1F4;
  --c-green-pale: #EBFAF5;
  --c-brown-dark: #5A4500;
  --c-brown: #5A2D00;
  --c-orange: #f57c00;
  --c-orange-light: #FCC839;
  --c-tan: #FFAE71;
  --c-peach: #FFD199;
  --c-yellow:#FEE88F;
  --c-yellow-pale: #FFF7E4;
  --c-purple: #900042;
  --c-pink: #FFD6ED;
  --c-lilac: #F3EAFE;
  --c-black: #000;
  --c-dark: #191B1F;
  --c-dark-2: #333333;
  --c-grey-dark: #3F4B62;
  --c-grey-dark-2: #686f85;
  --c-grey-mid: #9FA6B6;
  --c-grey-mid-2: #C8C8C8;
  --c-grey-mid-3: #d6d8de;
  --c-grey-light: #EAEDF2;
  --c-grey-light-2: #F2F5F8;
  --c-grey-pale: #F8FAFB;
  --c-white: #fff;
}
:root.dark-mode {
  --c-text: #fff;
  --c-bg: #3F4B62;
  --c-border: #272E3C;
  --c-form-bg: #30394C;
  --c-blue-dark: #002E78;
  --c-blue: #B8C7F3;
  --c-blue-light: #B8C7F3;
  --c-blue-light-2: #465570;
  --c-blue-pale: #273141;
  --c-red-dark: #7B000F;
  --c-red: #FF6D59;
  --c-red-mid: #FF918A;
  --c-red-light: #FFB5B5;
  --c-red-light-2: #4e4f60;
  --c-red-pale: #4e4f60;
  --c-green-dark: #003B32;
  --c-green: #0AE49A;
  --c-green-mid: #8ABA99;
  --c-green-mid-2:	#B2DCBF;
  --c-green-light: #B8E1DB;
  --c-green-light-2: #C8F1F4;
  --c-green-pale: #405967;
  --c-brown-dark: #5A4500;
  --c-brown: #5A2D00;
  --c-orange: #E87500;
  --c-orange-light: #FFD257;
  --c-tan: #FFAE71;
  --c-peach: #FFD199;
  --c-yellow:#FEE88F;
  --c-yellow-pale: #515461;
  --c-purple: #900042;
  --c-pink: #FFD6ED;
  --c-lilac: #F3EAFE;
  --c-black: #fff;
  --c-dark: #B8C7F3;
  --c-dark-2: #EAEDF2;
  --c-grey-dark: #F7F9FC;
  --c-grey-dark-2: #D6D8DE;
  --c-grey-mid: #9FA6B6;
  --c-grey-mid-2: #C8C8C8;
  --c-grey-mid-3: #222;
  --c-grey-light: #272E3C;
  --c-grey-light-2: #272E3C;
  --c-grey-pale: #30394C;
  --c-white: #3F4B62;
}
:root {
  --l-body-pad: 1.5rem;
  --l-block-pad: max(2rem, min(10vw, 60px));
  --l-pod-pad: 1.5rem;
  --l-gutter-width: min(5vw, 30px);
  --l-max-width: 100%;
  --l-header-height: 100px;
  --l-header-width: 260px;
  --l-header-width-open: 260px;
  --l-header-width-closed: 70px;
}
:root :has(.site-header__toggle input[type=checkbox]:checked) {
  --l-header-width: var(--l-header-width-closed);
}
:root {
  --s-border-radius: 0.75rem;
  --s-box-shadow: 0px 3px 20px rgba(0,0,0,0.08);
  --s-filter-light: brightness(0) invert(1);
  --s-filter-dark: brightness(10%) saturate(0);
  --s-bezier-1: cubic-bezier(.24,.84,.37,.99);
}

[data-theme] {
  color: #0B1B3C;
  color: var(--c-text);
  background-color: #fff;
  background-color: var(--c-bg);
}

[data-theme=grey-light] {
  --c-bg: var(--c-grey-pale);
}

[data-theme=white] {
  --c-bg: var(--c-white);
}

[data-theme=dark] {
  --c-text: var(--c-white);
  --c-bg: var(--c-dark);
}

html,
body {
  padding: 0;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  font-smoothing: antialiased;
  background: #fff;
  background: var(--c-bg);
  scroll-behavior: smooth;
}

*,
*:before,
*:after,
input,
select,
textarea {
  box-sizing: border-box;
}

:target {
  scroll-margin-top: 100px;
  scroll-margin-top: var(--l-header-height);
  overflow: visible !important;
  overflow: initial !important;
}

a {
  color: inherit;
}

img {
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
}

p {
  margin: 0 0 1em;
}

hr {
  border: 0;
  height: 1px;
  background: #EAF0F6;
  background: var(--c-border);
}

address {
  margin: 0 0 1em;
  font-style: normal;
}

td.row-label {
  color: #0B1B3C;
  color: var(--c-text);
  font-size: 12px;
  font-weight: 500;
  background: #F2F5F8;
  background: var(--c-grey-light-2);
  padding: 0.5rem 0.85rem;
}

body {
  font: 500 100%/1.4 "Figtree", sans-serif;
  font: 500 100%/1.4 var(--f-body);
  color: #0B1B3C;
  color: var(--c-text);
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  margin: 0 0 0.4em;
  font-family: "Figtree", sans-serif;
  font-family: var(--f-title);
  font-weight: 600;
  line-height: 1.12;
}

h1 {
  font-size: var(--f-2xl);
}

h2 {
  font-size: 2rem;
  font-size: var(--f-xl);
}

/**
*   Title.
*/
[class^=f-title],
[class*=" f-title"] {
  margin: 0 0 0.4em;
  font-family: "Figtree", sans-serif, sans-serif;
  font-family: var(--f-title), sans-serif;
  line-height: 1.2;
  text-wrap: balance;
}

/**
*   Body.
*/
[class^=f-body],
[class*=" f-body"] {
  font-family: "Figtree", sans-serif, sans-serif;
  font-family: var(--f-body), sans-serif;
  font-weight: 500;
}

/**
*   Typography sizing classes.
*/
[class$=xl],
[class*=" f-title-xl"],
[class*=" f-body-xl"] {
  font-size: 2rem !important;
  font-size: var(--f-xl) !important;
}

[class$=lg],
[class*=" f-title-lg"],
[class*=" f-body-lg"] {
  font-size: 1.5rem !important;
  font-size: var(--f-lg) !important;
}

[class$=md],
[class*=" f-title-md"],
[class*=" f-body-md"] {
  font-size: 1.25rem !important;
  font-size: var(--f-md) !important;
}

[class$=sm],
[class*=" f-title-sm"],
[class*=" f-body-sm"] {
  font-size: 1rem !important;
  font-size: var(--f-sm) !important;
}

[class$=xs],
[class*=" f-title-xs"],
[class*=" f-body-xs"] {
  font-size: 0.875rem !important;
  font-size: var(--f-xs) !important;
}

[class$="2xs"],
[class*=" f-title-2xs"],
[class*=" f-body-2xs"] {
  font-size: 0.8125rem !important;
  font-size: var(--f-2xs) !important;
}

[class$="3xs"],
[class*=" f-title-3xs"],
[class*=" f-body-3xs"] {
  font-size: 0.75rem !important;
  font-size: var(--f-3xs) !important;
}

p,
address,
table,
li,
button {
  font-family: "Figtree", sans-serif;
  font-family: var(--f-body);
  font-size: 1rem;
  font-size: var(--f-sm);
}

small,
.small {
  font-size: 0.875rem;
  font-size: var(--f-xs);
}

.f-caps {
  font-family: "Figtree", sans-serif;
  font-family: var(--f-body);
  font-weight: 700;
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
  text-transform: uppercase;
  letter-spacing: 0.25em;
}

.f-bold {
  font-weight: 700;
}

::-webkit-input-placeholder {
  color: #686f85;
  color: var(--c-grey-dark-2);
}

:-ms-input-placeholder {
  color: #686f85;
  color: var(--c-grey-dark-2);
}

.dark-mode ::-webkit-calendar-picker-indicator {
  filter: invert(1);
}

input {
  color: #000;
  color: var(--c-black);
  accent-color: #1463FF;
  accent-color: var(--c-blue);
}

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=number],
input[type=password],
input[type=date],
input[type=time],
input[type=datetime-local],
select,
textarea {
  padding: 0.8em 1em;
  font-family: "Figtree", sans-serif;
  font-family: var(--f-body);
  font-size: 0.875rem;
  font-size: var(--f-xs);
  color: #0B1B3C;
  color: var(--c-text);
  background-color: #F2F5F8;
  background-color: var(--c-form-bg);
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 5px;
  box-shadow: none;
}
[data-theme=admin-only] input[type=text],
[data-theme=admin-only] input[type=email],
[data-theme=admin-only] input[type=tel],
[data-theme=admin-only] input[type=url],
[data-theme=admin-only] input[type=number],
[data-theme=admin-only] input[type=password],
[data-theme=admin-only] input[type=date],
[data-theme=admin-only] input[type=time],
[data-theme=admin-only] input[type=datetime-local],
[data-theme=admin-only] select,
[data-theme=admin-only] textarea {
  background-color: #fff;
  background-color: var(--c-white);
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=time]:focus,
input[type=datetime-local]:focus,
select:focus,
textarea:focus {
  outline-color: #1463FF;
  outline-color: var(--c-blue);
}

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=number],
input[type=password],
input[type=date],
input[type=time],
input[type=datetime-local],
textarea {
  width: 100%;
}

select {
  color: #0B1B3C;
  color: var(--c-text);
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 2em;
  background: #F2F5F8;
  background: var(--c-form-bg);
  background-image: url("data:image/svg+xml,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.00086 12.3325L8.56586 11.7675L13.3659 6.96746L13.9334 6.39996L12.8009 5.26746L12.2359 5.83246L8.00086 10.0675L3.76586 5.83496L3.20086 5.26746L2.06836 6.39996L2.63336 6.96496L7.43336 11.765L8.00086 12.3325Z\" fill=\"%23676F84\"/></svg>");
  background-repeat: no-repeat;
  background-position-x: calc(100% - 0.6em);
  background-position-y: 50%;
  border-radius: 5px;
}
select:hover {
  background-color: #F7F9FC;
  background-color: var(--c-blue-pale);
}
.dark-mode select {
  background-image: url("data:image/svg+xml,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8.00086 12.3325L8.56586 11.7675L13.3659 6.96746L13.9334 6.39996L12.8009 5.26746L12.2359 5.83246L8.00086 10.0675L3.76586 5.83496L3.20086 5.26746L2.06836 6.39996L2.63336 6.96496L7.43336 11.765L8.00086 12.3325Z\" fill=\"%23eeeeee\"/></svg>");
}

option {
  background: #F2F5F8;
  background: var(--c-form-bg);
}

input[type=file]::file-selector-button {
  min-height: 3.14em;
  padding: 0.8em 1em;
  font-family: "Figtree", sans-serif;
  font-family: var(--f-body);
  font-size: 0.875rem;
  font-size: var(--f-xs);
  font-weight: 500;
  color: #fff;
  color: var(--text-colour);
  -webkit-text-decoration: none;
  text-decoration: none;
  white-space: nowrap;
  background-color: #1463FF;
  background-color: var(--bg-colour);
  border: 1px solid #1463FF;
  border: 1px solid var(--border-colour);
  border-radius: 5px;
  box-shadow: none;
  cursor: pointer;
  display: inline-flex;
  gap: 0.5em;
  justify-content: center;
  align-items: center;
  --text-colour: var(--c-white);
  --bg-colour: var(--c-blue);
  --border-colour: var(--c-blue);
}
input[type=file]::file-selector-button:hover {
  --bg-colour: var(--c-blue);
}

input[type=radio] {
  width: 1.1rem;
  height: 1.1rem;
  flex-shrink: 0;
}

input[type=checkbox] {
  width: 1.2rem;
  height: 1.2rem;
  flex-shrink: 0;
  margin-top: 0.1em;
  margin-bottom: 0.1em;
}

.form-group {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 0.5em;
  gap: 0.5em;
}
@media (min-width: 1024px) {
  .form-group {
    grid-template-columns: 1fr 1fr;
    gap: 2em;
  }
}
.form-group__actions {
  margin: 0;
  padding: 0;
  list-style: none;
  height: 100%;
  display: flex;
  gap: 1em;
  justify-content: flex-end;
  align-items: center;
}

.form-group--full {
  grid-column: 1/-1;
}

.form-input,
.form-select,
.form-textarea {
  width: 100%;
  padding: 0.55rem 0.75rem;
  font-family: "Figtree", sans-serif;
  font-family: var(--f-body);
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
  font-weight: 500;
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 6px;
  background-color: #F2F5F8;
  background-color: var(--c-form-bg);
  color: #0B1B3C;
  color: var(--c-text);
  transition: border-color 0.2s, box-shadow 0.2s;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  outline: none;
  border-color: #1463FF;
  border-color: var(--c-blue);
  box-shadow: 0 0 0 3px rgba(20, 99, 255, 0.12);
}

.form-select {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27%3E%3Cpath fill=%27%233F4B62%27 d=%27M2.5 4.5L6 8l3.5-3.5%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.65rem center;
  background-size: 12px;
  padding-right: 2rem;
  cursor: pointer;
}

.form-textarea {
  min-height: 80px;
  resize: vertical;
  line-height: 1.5;
}

.form-textarea--tall {
  min-height: 140px;
}

.radio-group,
.checkbox-group {
  display: grid;
  grid-gap: 0.5em;
  gap: 0.5em;
}
.radio-group > div,
.checkbox-group > div {
  display: flex;
  gap: 0.6em;
  align-items: flex-start;
}
.radio-group .only-if-selected,
.checkbox-group .only-if-selected {
  display: none;
}
.radio-group input[type=checkbox]:checked ~ .only-if-selected,
.checkbox-group input[type=checkbox]:checked ~ .only-if-selected {
  display: block;
}

.radio-group {
  display: flex;
  gap: 1.5rem;
  padding-top: 0.25rem;
}

.radio-group label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
  font-weight: 500;
  cursor: pointer;
}

.radio-group input[type=radio] {
  accent-color: #1463FF;
  accent-color: var(--c-blue);
  width: 16px;
  height: 16px;
}

.checkbox-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 1.25rem;
  padding-top: 0.25rem;
}
.checkbox-group .checkbox-label {
  flex-basis: 140px;
  flex-shrink: 0;
  flex-grow: 0;
}
.checkbox-group--grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 20%));
  grid-column-gap: 2em;
  -moz-column-gap: 2em;
       column-gap: 2em;
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
  font-weight: 500;
  cursor: pointer;
  padding: 0.3rem 0;
}

.checkbox-label input[type=checkbox] {
  accent-color: #1463FF;
  accent-color: var(--c-blue);
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.checkbox-group--scrollable {
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  padding: 10px;
  max-height: 200px;
  overflow-y: auto;
}

progress {
  width: 100%;
  height: 0.6rem;
  border: none;
  border-radius: 5px;
  background-color: #EAEDF2;
  background-color: var(--c-grey-light);
}
progress::-webkit-progress-bar {
  background-color: #EAEDF2;
  background-color: var(--c-grey-light);
  border-radius: 5px;
}
progress::-webkit-progress-value {
  background-color: #1463FF;
  background-color: var(--c-blue);
  border-radius: 5px;
}
progress::-moz-progress-bar {
  background-color: #1463FF;
  background-color: var(--c-blue);
  border-radius: 5px;
}

input[type=submit] {
  box-shadow: none;
}

label {
  display: block;
  margin-bottom: 0.3em;
  font-weight: 700;
}

fieldset {
  padding: 0;
  border: 0;
}
fieldset > legend {
  display: block;
  margin-bottom: 0.5em;
  font-weight: 700;
}

.form--2-columns {
  display: grid;
  grid-gap: min(5vw, 30px);
  grid-gap: var(--l-gutter-width);
  gap: min(5vw, 30px);
  gap: var(--l-gutter-width);
  grid-template-columns: 1fr;
  grid-template-columns: var(--grid-cols, 1fr);
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  padding: 1.5rem;
  padding: var(--l-pod-pad);
}
@media (min-width: 1024px) {
  .form--2-columns {
    --grid-cols: 1fr 1fr;
  }
}

.form-row {
  display: grid;
  grid-gap: min(5vw, 30px);
  grid-gap: var(--l-gutter-width);
  gap: min(5vw, 30px);
  gap: var(--l-gutter-width);
  grid-template-columns: 1fr 1fr;
}

.form-field {
  width: min(100%, 500px);
  margin-bottom: 1em;
}
.form-field select {
  width: 100%;
}
.form-field[data-type=colour] > div {
  display: flex;
  gap: 1em;
  align-items: center;
}
.form-field__discount-code > div {
  display: flex;
  gap: 1em;
  align-items: center;
}
@media (max-width: 600px) {
  .form-field__discount-code > div {
    flex-wrap: wrap;
  }
}
.form-field__discount-code-message {
  display: flex;
  gap: 5px;
  align-items: center;
  line-height: 1;
}
.form-field__discount-code-message span {
  color: #03BF7F;
  color: var(--c-green);
  white-space: nowrap;
}
.form-field__discount-code-message svg {
  height: 1em;
  width: 2em;
}

.flex-fields {
  width: 100%;
  display: flex;
  gap: 1em;
}
.flex-fields > * {
  flex: 1;
}
.flex-fields--align-end {
  min-width: 70%;
  align-items: flex-end;
}

.form-grid {
  display: grid;
  grid-gap: 2rem;
  gap: 2rem;
  padding-top: 1.25rem;
}

.form-grid--single {
  grid-template-columns: 1fr;
}

.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

.error-message {
  display: flex;
  justify-content: space-between;
  gap: 2em;
  padding: 1em;
  color: #D6260E;
  color: var(--c-red);
  background-color: #F7D7DA;
  background-color: var(--c-red-light-2);
  border-radius: 5px;
}

/* ----------------------------------------
    FORM VALIDATION STATES
    ---------------------------------------- */
/* Mandatory marker (red dot before label) */
.form-group.mandatory > label::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #1463FF;
  background: var(--c-blue);
  border-radius: 50%;
  margin-right: 6px;
  vertical-align: middle;
  position: relative;
  top: -1px;
}

/* Error state */
.has-error input,
.has-error select,
.has-error textarea,
.has-error .multiselect__trigger {
  border-color: #D6260E;
  border-color: var(--c-red);
  background-color: #FCEEEC;
  background-color: var(--c-red-pale);
}

.has-error input:focus,
.has-error select:focus,
.has-error textarea:focus {
  border-color: #D6260E;
  border-color: var(--c-red);
  box-shadow: 0 0 0 3px rgba(214, 38, 14, 0.12);
}

.has-error > label {
  color: #D6260E;
  color: var(--c-red);
}

/* Warning state */
.has-warning input,
.has-warning select,
.has-warning textarea {
  border-color: #f57c00;
  border-color: var(--c-orange);
  background-color: #FFF7E4;
  background-color: var(--c-yellow-pale);
}

.has-warning input:focus,
.has-warning select:focus,
.has-warning textarea:focus {
  border-color: #f57c00;
  border-color: var(--c-orange);
  box-shadow: 0 0 0 3px rgba(245, 124, 0, 0.12);
}

/* Error and warning messages */
.field-error,
.field-warning {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  font-size: 0.7rem;
  line-height: 1.3;
  margin-top: 0.15rem;
}

.field-error {
  color: #D6260E;
  color: var(--c-red);
}

.field-warning {
  color: #f57c00;
  color: var(--c-orange);
}

.field-error svg,
.field-warning svg {
  flex-shrink: 0;
  width: 13px;
  height: 13px;
  margin-top: 1px;
}

.field-error svg {
  fill: #D6260E;
  fill: var(--c-red);
}

.field-warning svg {
  fill: #f57c00;
  fill: var(--c-orange);
}

.field-warning {
  color: #f57c00;
  color: var(--c-orange);
}

.field-error svg,
.field-warning svg {
  flex-shrink: 0;
  width: 13px;
  height: 13px;
  margin-top: 1px;
}

.field-error svg {
  fill: #D6260E;
  fill: var(--c-red);
}

.field-warning svg {
  fill: #f57c00;
  fill: var(--c-orange);
}

.warning-message {
  padding: 1em;
  color: #1463FF;
  color: var(--c-blue);
  background-color: rgba(20, 99, 255, 0.04);
  border-radius: 5px;
}
.warning-message a {
  font-weight: 700;
  -webkit-text-decoration: underline !important;
  text-decoration: underline !important;
}

.no-widows {
  white-space: nowrap;
}

.no-transitions * {
  transition: 0s 0s !important;
}

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

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

@media (min-width: 1024px) {
  .mobile-only {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  .desktop-only {
    display: none !important;
  }
}

.l-flex-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.c-grey-mid {
  color: #686f85;
  color: var(--c-grey-dark-2);
}

body.primary-nav-open,
body.no-scroll {
  overflow: hidden;
}

main {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin-left: 70px;
  margin-left: var(--l-header-width-closed);
  background-color: #F2F5F8;
  background-color: var(--c-grey-light-2);
}
@media (min-width: 1024px) {
  main {
    margin-left: 260px;
    margin-left: var(--l-header-width);
    transition: margin-left 0.4s cubic-bezier(.24,.84,.37,.99);
    transition: margin-left 0.4s var(--s-bezier-1);
  }
}
body:not(:has(.site-header)) main {
  --l-header-width: 0;
  --l-header-width-closed: 0;
}
main .main-body {
  flex-basis: auto;
  flex-grow: 1;
  position: relative;
  z-index: 1;
}
main .main-body[data-theme=grey] {
  background-color: #F2F5F8;
  background-color: var(--c-grey-light-2);
}
main .main-body[data-theme=grey-2] {
  background-color: #d6d8de;
  background-color: var(--c-grey-mid-3);
}

.main-body {
  padding: 1.5rem;
  padding: var(--l-body-pad);
}

.container {
  width: 100%;
  max-width: 100%;
  max-width: var(--l-max-width);
  margin-right: auto;
}
.container--660 {
  max-width: 660px;
}
.container--full-width {
  max-width: 100%;
}

.bafta-grid {
  display: grid;
  grid-gap: min(5vw, 30px);
  grid-gap: var(--l-gutter-width);
  gap: min(5vw, 30px);
  gap: var(--l-gutter-width);
  grid-template-columns: 1fr;
  grid-template-columns: var(--grid-cols, 1fr);
}
@media (min-width: 1024px) {
  .bafta-grid {
    --grid-cols: repeat(12, 1fr);
  }
}

.block-pad {
  padding-top: max(2rem, min(10vw, 60px));
  padding-top: var(--l-block-pad);
  padding-bottom: max(2rem, min(10vw, 60px));
  padding-bottom: var(--l-block-pad);
  padding-top: var(--l-block-pad);
  padding-bottom: var(--l-block-pad);
}
.block-pad--quarter {
  padding-top: calc(0.25 * max(2rem, min(10vw, 60px)));
  padding-top: calc(0.25 * var(--l-block-pad));
  padding-bottom: calc(0.25 * max(2rem, min(10vw, 60px)));
  padding-bottom: calc(0.25 * var(--l-block-pad));
}
.block-pad--quarter-top {
  padding-top: calc(0.25 * max(2rem, min(10vw, 60px)));
  padding-top: calc(0.25 * var(--l-block-pad));
}
.block-pad--quarter-bottom {
  padding-bottom: calc(0.25 * max(2rem, min(10vw, 60px)));
  padding-bottom: calc(0.25 * var(--l-block-pad));
}
.block-pad--half {
  padding-top: calc(0.5 * max(2rem, min(10vw, 60px)));
  padding-top: calc(0.5 * var(--l-block-pad));
  padding-bottom: calc(0.5 * max(2rem, min(10vw, 60px)));
  padding-bottom: calc(0.5 * var(--l-block-pad));
}
.block-pad--half-top {
  padding-top: calc(0.5 * max(2rem, min(10vw, 60px)));
  padding-top: calc(0.5 * var(--l-block-pad));
}
.block-pad--half-bottom {
  padding-bottom: calc(0.5 * max(2rem, min(10vw, 60px)));
  padding-bottom: calc(0.5 * var(--l-block-pad));
}
.block-pad--top {
  padding-top: max(2rem, min(10vw, 60px));
  padding-top: var(--l-block-pad);
}
.block-pad--bottom {
  padding-bottom: max(2rem, min(10vw, 60px));
  padding-bottom: var(--l-block-pad);
}
.block-pad--double {
  padding-top: calc(2 * max(2rem, min(10vw, 60px)));
  padding-top: calc(2 * var(--l-block-pad));
  padding-bottom: calc(2 * max(2rem, min(10vw, 60px)));
  padding-bottom: calc(2 * var(--l-block-pad));
}
.block-pad--double-top {
  padding-top: calc(2 * max(2rem, min(10vw, 60px)));
  padding-top: calc(2 * var(--l-block-pad));
}
.block-pad--double-bottom {
  padding-bottom: calc(2 * max(2rem, min(10vw, 60px)));
  padding-bottom: calc(2 * var(--l-block-pad));
}
.block-pad--triple {
  padding-top: calc(3 * max(2rem, min(10vw, 60px)));
  padding-top: calc(3 * var(--l-block-pad));
  padding-bottom: calc(3 * max(2rem, min(10vw, 60px)));
  padding-bottom: calc(3 * var(--l-block-pad));
}
.block-pad--triple-top {
  padding-top: calc(3 * max(2rem, min(10vw, 60px)));
  padding-top: calc(3 * var(--l-block-pad));
}
.block-pad--triple-bottom {
  padding-bottom: calc(3 * max(2rem, min(10vw, 60px)));
  padding-bottom: calc(3 * var(--l-block-pad));
}
.block-pad--zero-top {
  padding-top: 0;
}
.block-pad--zero-bottom {
  padding-bottom: 0;
}

.body-pad {
  padding-left: 1.5rem;
  padding-left: var(--l-body-pad);
  padding-right: 1.5rem;
  padding-right: var(--l-body-pad);
}

.pod-pad {
  padding: 1.5rem;
  padding: var(--l-pod-pad);
}

@media (min-width: 1024px) {
  .content-sidebar {
    --row: 1;
    --content-cols: 1 / span 8;
    --sidebar-cols: 9 / -1;
  }
}
@media (min-width: 1440px) {
  .content-sidebar {
    --sidebar-cols: 10 / -1;
  }
}
.content-sidebar__content {
  grid-column: auto;
  grid-column: var(--content-cols, auto);
  grid-row: auto;
  grid-row: var(--row, auto);
  background-color: #fff;
  background-color: var(--c-bg, white);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
}
.content-sidebar__sidebar {
  grid-column: var(--sidebar-cols);
  grid-row: auto;
  grid-row: var(--row, auto);
}
.content-sidebar__sidebar a:not(.btn):not(.tag):not(.re-button):not(.linked-ui[href]) {
  color: #1463FF;
  color: var(--c-blue);
  -webkit-text-decoration: none;
  text-decoration: none;
}
.content-sidebar--entry {
  --cs-pod-pad: 10px;
}
.content-sidebar--entry .pod {
  padding: var(--cs-pod-pad);
}
.content-sidebar--entry .expandable__title {
  background-color: #EAEDF2;
  background-color: var(--c-grey-light);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
}
.content-sidebar--entry .expandable__content {
  padding-top: 1.5rem;
  padding-top: var(--l-pod-pad);
}
.content-sidebar--entry .question-row {
  margin: var(--cs-pod-pad);
}

.tabbed-panel {
  max-width: 960px;
  display: grid;
  grid-template-columns: 200px 1fr;
  background-color: #fff;
  background-color: var(--c-white);
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
}
.tabbed-panel__tabs {
  --color: var(--c-grey-dark-2);
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-top: var(--l-pod-pad);
  padding-bottom: var(--l-pod-pad);
  border-right: 1px solid #EAF0F6;
  border-right: 1px solid var(--c-border);
}
.tabbed-panel__tabs li {
  --br-scale: 0;
  --br-colour: var(--c-blue);
}
.tabbed-panel__tabs li.current {
  --br-scale: 1;
}
.tabbed-panel__tabs li {
  position: relative;
}
.tabbed-panel__tabs li:after {
  content: "";
  width: 3px;
  height: 80%;
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) scaleY(var(--br-scale));
  transform-origin: 100% 50%;
  transition: transform 0.3s;
  background-color: var(--br-colour);
}
.tabbed-panel__tabs li a {
  display: block;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  padding-left: var(--l-pod-pad) !important;
  padding-right: var(--l-pod-pad) !important;
  border-radius: 0 !important;
}
.tabbed-panel__content {
  padding: 1.5rem;
  padding: var(--l-pod-pad);
}

.site-header {
  --l-body-pad: 1rem;
}
.site-header:has(.site-header__toggle input[type=checkbox]:checked) .site-logo__text {
  opacity: 0;
}
.site-header:has(.site-header__toggle input[type=checkbox]:checked) .site-header__branch-switcher select {
  display: none;
}
.site-header:has(.site-header__toggle input[type=checkbox]:checked) span {
  opacity: 0;
}
.site-header:has(.site-header__toggle input[type=checkbox]:checked) .secondary-nav {
  width: 0;
  opacity: 0;
}
.site-header:has(.site-header__toggle input[type=checkbox]:checked) .primary-nav ul {
  gap: 0;
}
.site-header:has(.site-header__toggle input[type=checkbox]:checked) .primary-nav ul ul {
  display: none;
}
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  width: 260px;
  width: var(--l-header-width);
  height: 100vh;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  padding-top: var(--l-body-pad);
  padding-bottom: var(--l-body-pad);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
  background-color: #F7F9FC;
  background-color: var(--c-blue-pale);
  border-right: 1px solid #EAF0F6;
  border-right: 1px solid var(--c-border);
  transition: width 0.4s cubic-bezier(.24,.84,.37,.99);
  transition: width 0.4s var(--s-bezier-1);
}
.site-header__logo {
  flex-basis: 46px;
  flex-grow: 0;
  margin-bottom: 0.5em;
  margin-left: 5px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-left: var(--l-body-pad);
  padding-right: var(--l-body-pad);
  -webkit-text-decoration: none;
  text-decoration: none;
}
.site-header__branch-switcher {
  min-height: 42px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-left: var(--l-body-pad);
  padding-right: var(--l-body-pad);
}
.site-header__branch-switcher select {
  width: 100%;
}
.site-header__site-instance {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-left: var(--l-body-pad);
  padding-right: var(--l-body-pad);
}
.site-header__site-instance a {
  display: block;
  font-size: 1.25rem;
  font-size: var(--f-md);
  width: calc(260px - 1.5rem);
  width: calc(var(--l-header-width) - var(--l-body-pad));
  height: 1.5em;
  -webkit-text-decoration: none;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.site-header__primary-nav {
  flex-basis: auto;
  flex-grow: 1;
  overflow: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-left: var(--l-body-pad);
  padding-right: var(--l-body-pad);
}
.site-header__primary-nav span {
  height: 1em;
  overflow: hidden;
}
.site-header__secondary-nav {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-left: var(--l-body-pad);
  padding-right: var(--l-body-pad);
}
.site-header__toggle {
  --toggle-deg: 0deg;
}
.site-header__toggle:has(input[type=checkbox]:checked) {
  --toggle-deg: 180deg;
}
.site-header__toggle {
  width: 16px;
  height: 36px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -18px;
  display: grid;
  align-items: center;
  justify-items: center;
  place-items: center;
  padding: 0;
  border: 0;
  background-color: #EAF0F6;
  background-color: var(--c-border);
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  cursor: pointer;
}
.site-header__toggle svg {
  width: 1em;
  height: 1em;
  transform: rotate(var(--toggle-deg));
}
.site-header__toggle input[type=checkbox] {
  display: none;
}

body:has(div.rx-fullscreen) .site-header {
  z-index: 1;
}

.site-footer {
  /**
  *
  *   Mobile specific.
  *
  */
}
.site-footer {
  /**
  *
  *   Desktop specific.
  *
  */
}
.attendance-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  font-weight: 500;
  margin-left: 0.5rem;
}
.attendance-badge svg {
  width: 11px;
  height: 11px;
}
.attendance-badge svg path {
  fill: currentColor;
}
.attendance-badge--confirmed {
  color: #003B32;
  color: var(--c-green-dark);
}

.attendance-stats {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding-top: 1em;
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  border-top: 1px solid #EAF0F6;
  border-top: 1px solid var(--c-border);
}

.attendance-stat {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.attendance-stat__value {
  font-size: 1.5rem;
  font-size: var(--f-lg);
  font-weight: 700;
  color: #0B1B3C;
  color: var(--c-text);
  line-height: 1;
}

.attendance-stat__label {
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  color: var(--c-text-secondary);
}

.attendance-stat--attended .attendance-stat__value {
  color: #03BF7F;
  color: var(--c-green);
}

.attendance-stat--not-attended .attendance-stat__value {
  color: #D6260E;
  color: var(--c-red);
}

.award-select {
  --options-display: none;
}
.award-select:focus-within {
  --options-display: block;
}
.award-select {
  position: relative;
}
.award-select__label {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-weight: 500;
  -webkit-text-decoration: none;
  text-decoration: none;
  cursor: pointer;
}
.award-select__options {
  margin: 0;
  padding: 10px;
  list-style: none;
  position: absolute;
  top: 0;
  left: 0;
  width: max(300px, min(70vw, 440px));
  max-height: calc(100vh - 100px);
  overflow: auto;
  display: var(--options-display);
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  background-color: #fff;
  background-color: var(--c-bg);
  box-shadow: 0px 3px 20px rgba(0,0,0,0.08);
  box-shadow: var(--s-box-shadow);
}
.award-select__options > li {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2em;
  font-size: 0.875rem;
  font-size: var(--f-xs);
  line-height: 1.2;
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  cursor: pointer;
}
.award-select__options > li:hover {
  background-color: #F7F9FC;
  background-color: var(--c-blue-pale);
}
.award-select__options > li.selected {
  color: #1463FF;
  color: var(--c-blue);
}
.award-select__options > li.selected:after {
  content: "";
  display: block;
  width: 5px;
  height: 10px;
  border-bottom: 2px solid #1463FF;
  border-bottom: 2px solid var(--c-blue);
  border-right: 2px solid #1463FF;
  border-right: 2px solid var(--c-blue);
  transform: rotate(45deg);
}
.award-select__options a {
  display: block;
  width: 100%;
  padding: 1em;
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.blue-link {
  --c-text: var(--c-blue);
  display: flex;
  align-items: center;
  gap: 0.5em;
  color: #1463FF;
  color: var(--c-blue);
  -webkit-text-decoration: none;
  text-decoration: none;
  font-weight: 700;
}

.breadcrumbs {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.breadcrumbs .btn {
  min-height: 0;
}
.breadcrumbs svg {
  fill: #686f85;
  fill: var(--c-grey-dark-2);
}
.breadcrumbs a {
  display: block;
  color: #686f85;
  color: var(--c-grey-dark-2);
  line-height: 1;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.breadcrumbs a:after {
  content: "/";
  display: inline-block;
  margin-left: 0.5em;
  color: #9FA6B6;
  color: var(--c-grey-mid);
}

.btn {
  min-height: 3.14em;
  padding: 0.8em 1em;
  font-family: "Figtree", sans-serif;
  font-family: var(--f-body);
  font-size: 0.875rem;
  font-size: var(--f-xs);
  font-weight: 500;
  color: var(--text-colour);
  -webkit-text-decoration: none;
  text-decoration: none;
  white-space: nowrap;
  background-color: var(--bg-colour);
  border: 1px solid var(--border-colour);
  border-radius: 5px;
  box-shadow: none;
  cursor: pointer;
  display: inline-flex;
  gap: 0.5em;
  justify-content: center;
  align-items: center;
}
.btn svg {
  width: 1em;
  height: auto;
}
.btn svg path {
  fill: var(--text-colour);
}
.btn--primary {
  --text-colour: var(--c-bg);
  --bg-colour: var(--c-blue);
  --border-colour: var(--c-blue);
}
.btn--primary:hover {
  --bg-colour: var(--c-blue);
}
.btn--secondary {
  --text-colour: var(--c-blue);
  --bg-colour: transparent;
  --border-colour: var(--c-blue);
}
.btn--secondary:hover {
  --bg-colour: rgba(20, 99, 255, 0.06);
}
.dark-mode .btn--secondary:hover {
  --bg-colour: rgba(0, 0, 0, 0.3);
}
.btn--tertiary {
  --text-colour: var(--c-text);
  --bg-colour: transparent;
  --border-colour: var(--c-text);
}
.btn--tertiary:hover {
  --bg-colour: var(--c-blue-pale);
}
.btn--icon {
  --text-colour: var(--c-text);
  padding: 0;
}
.btn--text {
  --text-colour: var(--c-blue);
  --border-colour: transparent;
}
.btn--dismiss {
  margin-left: auto;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.2rem;
  color: var(--c-text-secondary);
  flex-shrink: 0;
}
.btn--block {
  display: flex;
  width: 100%;
}
.btn--small {
  min-height: 0.875rem;
  min-height: var(--f-xs);
  padding: 0.5em 0.6em;
}
.btn--tiny {
  min-height: 0.8125rem;
  min-height: var(--f-2xs);
  padding: 0.2em 0.6em;
}
.btn[disabled] {
  --text-colour: var(--c-grey-mid);
  --border-colour: var(--c-grey-mid);
  opacity: 0.7;
  pointer-events: none;
}

.capacity-bar {
  width: 100%;
  height: 6px;
  background: #EAEDF2;
  background: var(--c-grey-light);
  border-radius: 3px;
  overflow: hidden;
}

.capacity-bar__fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.3s ease;
}

.capacity-bar__fill--low {
  background: #1463FF;
  background: var(--c-blue);
}

.capacity-bar__fill--medium {
  background: #f57c00;
  background: var(--c-orange);
}

.capacity-bar__fill--high {
  background: #03BF7F;
  background: var(--c-green);
}

.capacity-bar__fill--full {
  background: #03BF7F;
  background: var(--c-green);
}

.capacity-bar__fill--overbooked {
  background: #D6260E;
  background: var(--c-red);
}

.capacity-cell__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 4px;
  margin-bottom: 4px;
}

.capacity-cell__count {
  font-size: 0.75rem;
  font-size: var(--f-3xs);
}

.capacity-cell__pct {
  font-weight: 600;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
}

.colour-picker {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.colour-picker__hex {
  flex: 1;
  min-width: 0;
}

.colour-picker__swatch {
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  background: #fff;
  background: var(--c-bg);
  cursor: pointer;
  flex-shrink: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  overflow: hidden;
}

.colour-picker__swatch::-webkit-color-swatch-wrapper {
  padding: 2px;
}

.colour-picker__swatch::-webkit-color-swatch {
  border: none;
  border-radius: 3px;
}

.colour-picker__swatch::-moz-color-swatch {
  border: none;
  border-radius: 3px;
}

.colour-swatch {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 3px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  vertical-align: middle;
}

.content-card {
  margin-bottom: 2em;
  background: #fff;
  background: var(--c-bg);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  box-shadow: 0px 3px 20px rgba(0,0,0,0.08);
  box-shadow: var(--s-box-shadow);
  padding: 1.5rem 2rem;
}
.content-card--cols {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  flex-wrap: wrap;
}
.content-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}
.content-card__title {
  font-size: 1.25rem;
  font-size: var(--f-md);
  font-weight: 600;
}
.content-card__actions label {
  display: inline;
}
.content-card p.hint-text {
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  color: var(--c-text-secondary);
  margin-bottom: 1rem;
}
.content-card--attendance .content-card__actions {
  display: flex;
  align-items: center;
  gap: 2em;
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
  line-height: 20px;
}
.content-card--attendance .content-card__actions label {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
}

.context-menu {
  position: relative;
  display: flex;
  justify-content: center;
  --border-radius: 6px;
  --menu-display: none;
  --ul-top: auto;
  --ul-bottom: 100%;
}
.context-menu.open {
  --menu-display: grid;
}
.context-menu--open-above {
  --ul-top: auto;
  --ul-bottom: 100%;
}
.context-menu--open-below {
  --ul-top: 100%;
  --ul-bottom: auto;
}
.context-menu--open-to-left {
  --ul-left: auto;
  --ul-right: 0;
}
.context-menu--open-to-right {
  --ul-left: 0;
  --ul-right: auto;
}
.context-menu ul {
  display: var(--menu-display);
  position: absolute;
  z-index: 9;
  top: var(--ul-top);
  bottom: var(--ul-bottom);
  left: var(--ul-left);
  right: var(--ul-right);
  width: 190px;
  margin: 0;
  padding: 5px;
  list-style: none;
  background-color: #fff;
  background-color: var(--c-bg);
  border-radius: var(--border-radius);
  box-shadow: 0 5px 5px 5px rgba(0, 0, 0, 0.2);
}
.context-menu ul li {
  width: 180px;
}
.context-menu ul li input {
  white-space: pre-wrap;
}
.context-menu a {
  display: block;
  padding: 0.6em;
  -webkit-text-decoration: none;
  text-decoration: none;
  color: #0B1B3C !important;
  color: var(--c-text) !important;
  font-size: 0.875rem;
  font-size: var(--f-xs);
  border-radius: var(--border-radius);
}
.context-menu a:hover {
  background-color: #F2F5F8;
  background-color: var(--c-grey-light-2);
}
.context-menu span {
  font-size: 0.875rem !important;
  font-size: var(--f-xs) !important;
}

tr:has(.context-menu:focus-within) {
  position: relative;
  z-index: 999;
}

.countdown {
  display: flex;
  gap: 1em;
  align-items: center;
}
.countdown__refresh-text {
  color: #686f85;
  color: var(--c-grey-dark-2);
}
.countdown__label {
  white-space: nowrap;
}
.countdown__timer {
  font-weight: 600;
}

.dark-mode-ui {
  padding: 1em 0.5em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  line-height: 1;
  background-color: #fff;
  background-color: var(--c-bg);
  cursor: pointer;
}
.dark-mode-ui__label {
  white-space: nowrap;
  font-size: 0.875rem !important;
  font-size: var(--f-xs) !important;
}
.dark-mode-ui input {
  margin: 0;
}
.dark-mode-ui .toggle__label {
  flex-basis: 35px;
}

.data-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 2px;
  font-size: 0.875rem;
  font-size: var(--f-xs);
}

.data-table thead tr:first-child th:first-child {
  border-radius: 6px 0 0 0;
}

.data-table thead tr:first-child th:last-child {
  border-radius: 0 6px 0 0;
}

.data-table th {
  padding: 0.7rem 0.85rem;
  font-weight: 600;
  text-align: left;
  background: #EAEDF2;
  background: var(--c-grey-light);
  color: #0B1B3C;
  color: var(--c-text);
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  white-space: nowrap;
  border: none;
}

.data-table td {
  padding: 0.6rem 0.85rem;
  background: #fff;
  background: var(--c-bg);
  vertical-align: middle;
  border: none;
}

.data-table tbody tr:hover td {
  background: #EDF3FF;
  background: var(--c-blue-light-2);
}

.data-table--striped tbody tr:nth-child(odd) td {
  background: #F8FAFB;
  background: var(--c-grey-pale);
}

.data-table--striped tbody tr:nth-child(even) td {
  background: #F7F9FC;
  background: var(--c-blue-pale);
}

.data-table--striped tbody tr:hover td {
  background: #EDF3FF;
  background: var(--c-blue-light-2);
}

.data-table--compact {
  font-size: 0.75rem;
  font-size: var(--f-3xs);
}

.data-table--compact td {
  padding: 0.5rem 0.85rem;
}

.data-table--compact td.nowrap {
  white-space: nowrap;
}

.data-table--editable td {
  padding: 0.4rem 0.5rem;
}

.data-table--editable .form-input,
.data-table--editable .form-select {
  padding: 0.35rem 0.5rem;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  min-width: 0;
  background: #fff;
  background: var(--c-bg);
}

.data-table--editable .form-select {
  padding-right: 1.75rem;
}

.data-table--center th:not(:first-child),
.data-table--center td:not(:first-child) {
  text-align: center;
}

.data-table td.row-label {
  font-weight: 500;
  background: #F2F5F8;
  background: var(--c-grey-light-2);
  padding-left: 0.85rem;
}

.data-table tbody tr:hover td.row-label {
  background: #EAEDF2;
  background: var(--c-grey-light);
}

.data-table tfoot td,
.data-table tbody tr.total-row td {
  font-weight: 600;
  background: #F2F5F8;
  background: var(--c-grey-light-2);
}

/* Status row colours */
.data-table tr.row--success td {
  background: #EBFAF5;
  background: var(--c-green-pale);
}

.data-table tr.row--warning td {
  background: #FFF7E4;
  background: var(--c-yellow-pale);
}

.data-table tr.row--danger td {
  background: #FCEEEC;
  background: var(--c-red-pale);
}

.data-table tr.row--muted td {
  background: #F2F5F8;
  background: var(--c-grey-light-2);
  opacity: 0.6;
}

.email-templates-defined {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  grid-gap: 0.25rem 0.75rem;
  gap: 0.25rem 0.75rem;
  align-items: center;
}
.email-templates-defined a {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.event-links-bar {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.event-links-bar__item {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.5rem 0.5rem 0.75rem;
  background: #fff;
  background: var(--c-bg);
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  min-width: 0;
}

.event-links-bar__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-text-secondary);
  flex-shrink: 0;
}

.event-links-bar__icon .material-symbols-outlined {
  font-size: 18px;
  line-height: 1;
}

.event-links-bar__text {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  flex: 1;
}

.event-links-bar__label {
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
  font-weight: 600;
  color: var(--c-text-secondary);
  white-space: nowrap;
}

.event-links-bar__url {
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
  color: #0B1B3C;
  color: var(--c-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-links-bar__copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  color: var(--c-text-secondary);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 5px;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.15s ease;
}

.event-links-bar__copy:hover {
  color: #1463FF;
  color: var(--c-blue);
  background: var(--c-bg-secondary);
  border-color: #EAF0F6;
  border-color: var(--c-border);
}

.event-links-bar__copy .material-symbols-outlined {
  font-size: 18px;
  line-height: 1;
}

.file-upload {
  --colour: var(--c-blue);
  --bg: rgba(20, 99, 255, 0.05);
}
.file-upload__drop-area {
  padding: calc(2 * 1.5rem) 1.5rem;
  padding: calc(2 * var(--l-pod-pad)) var(--l-pod-pad);
  display: grid;
  align-items: center;
  justify-items: center;
  place-items: center;
  grid-gap: 1em;
  gap: 1em;
  border: 2px dashed #1463FF;
  border: 2px dashed var(--c-blue);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  background-color: var(--bg);
}
.file-upload__drop-area p {
  margin: 0;
}
.file-upload__drop-icon svg {
  width: 2em;
  height: 2em;
}
.file-upload__drop-icon svg circle {
  fill: var(--colour);
}
.file-upload__files {
  padding: 1em;
  display: grid;
  grid-gap: 1em;
  gap: 1em;
  background-color: #F7F9FC;
  background-color: var(--c-blue-pale);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
}
.file-upload__file {
  display: grid;
  grid-gap: 1em;
  gap: 1em;
  overflow: hidden;
}
.file-upload__file__name {
  word-wrap: break-word;
  max-width: 275px;
}
.file-upload__file__size span {
  padding: 0.4em 0.8em;
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
  color: #000;
  color: var(--c-black);
  background-color: #EAEDF2;
  background-color: var(--c-grey-light);
  border-radius: 1em;
}
.file-upload__file__download svg {
  display: block;
  width: 2em;
  height: 1.3em;
}
.file-upload__file__delete, .file-upload__file__cancel {
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  cursor: pointer;
}
.file-upload__file__delete {
  text-align: left;
}
.file-upload__file__delete svg path {
  fill: #0B1B3C;
  fill: var(--c-text);
}
.file-upload__progress progress {
  width: 100%;
}
.file-upload__progress-info {
  color: #9FA6B6;
  color: var(--c-grey-mid);
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
}
@media (min-width: 600px) {
  .file-upload__file {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1em;
  }
  .file-upload__file > * {
    flex-grow: 0;
  }
  .file-upload__file__name {
    max-width: 275px;
  }
  .file-upload__file__status, .file-upload__file__download, .file-upload__file__delete, .file-upload__file__cancel {
    flex-basis: 2em;
  }
  .file-upload__file__size {
    flex-basis: auto;
    flex-grow: 1;
  }
}

.fill-empty {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.fill-empty .input-price {
  flex: 1;
  min-width: 0;
}

.fill-empty .input-price__field {
  min-width: 50px;
}

.help-text,
.shortHelp {
  --color: var(--c-grey-dark-2);
}
[data-theme=admin-only] .help-text,
[data-theme=admin-only] .shortHelp {
  --color: var(--c-dark);
}
.help-text,
.shortHelp {
  display: inline-block;
  margin-top: 0.5em;
  color: var(--color);
  font-size: 0.875rem;
  font-size: var(--f-xs);
  font-weight: 400;
}
.help-text a:not(.btn):not(.tag):not(.re-button):not(.linked-ui[href]),
.shortHelp a:not(.btn):not(.tag):not(.re-button):not(.linked-ui[href]) {
  color: #1463FF;
  color: var(--c-blue);
  -webkit-text-decoration: none;
  text-decoration: none;
}
.help-text label,
.shortHelp label {
  cursor: pointer;
}
.help-text__label-open,
.shortHelp__label-open {
  display: inline;
}
.help-text__label-close,
.shortHelp__label-close {
  display: none;
}
.help-text__toggle,
.shortHelp__toggle {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
.help-text__more,
.shortHelp__more {
  display: none;
}
.help-text:has(.help-text__toggle:checked) .help-text__label-open,
.shortHelp:has(.help-text__toggle:checked) .help-text__label-open {
  display: none;
}
.help-text:has(.help-text__toggle:checked) .help-text__label-close,
.shortHelp:has(.help-text__toggle:checked) .help-text__label-close {
  display: inline;
}
.help-text:has(.help-text__toggle:checked) .help-text__more,
.shortHelp:has(.help-text__toggle:checked) .help-text__more {
  display: block;
}

.icon-links {
  max-width: 840px;
  margin: 1em 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(-c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
}
.icon-links li {
  margin-bottom: 1em;
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  background-color: #fff;
  background-color: var(--c-white);
}
.icon-links a {
  padding: 1.5rem;
  padding: var(--l-pod-pad);
  display: grid;
  grid-template-columns: 3em 1fr 2em;
  grid-gap: 1em;
  gap: 1em;
  align-items: center;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.icon-links svg {
  width: 20px;
  height: 20px;
  display: block;
}
.icon-links svg path {
  fill: #000;
  fill: var(--c-black);
}
.icon-links__icon {
  width: 48px;
  height: 48px;
  display: grid;
  align-items: center;
  justify-items: center;
  place-items: center;
  background-color: #F2F5F8;
  background-color: var(--c-grey-light-2);
  border-radius: 5px;
}
.icon-links__text * {
  margin: 0;
}
.icon-list__title {
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
  text-transform: uppercase;
  color: #686f85;
  color: var(--c-grey-dark-2);
}
.icon-list ul {
  margin: 0 0 1em;
  padding: 0;
  list-style: none;
}
.icon-list ul li {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  display: flex;
  gap: 1em;
  align-items: center;
}
.icon-list__icon path {
  fill: #1463FF;
  fill: var(--c-blue);
}

.c-icon {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
  flex: 0 0 auto;
}

.icon-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.icon-menu a {
  color: var(--color);
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: color 0.2s;
}
.icon-menu a:hover {
  --color: var(--c-blue);
}
.icon-menu > li > a {
  padding: 0.6em;
  display: grid;
  grid-template-columns: 1.2em 1fr;
  grid-gap: 0.7em;
  gap: 0.7em;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0.375em;
}
.icon-menu > li > a svg {
  display: block;
  width: 1.1em;
  height: 1.4em;
  fill: var(--color);
  transition: fill 0.2s;
}
.icon-menu > li > a span {
  display: block;
  min-height: 1.5em;
  line-height: 1.4;
  transition: opacity 0.3s;
}
.icon-menu > li.current > a {
  --color: var(--c-blue) !important;
}

.input-price {
  display: flex;
  align-items: center;
  justify-content: center;
}

.input-price__prefix {
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  color: var(--c-text-secondary);
  padding: 0.35rem 0.25rem 0.35rem 0.5rem;
  background: #F2F5F8;
  background: var(--c-form-bg);
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-right: none;
  border-radius: 0.75rem 0 0 0.75rem;
  border-radius: var(--s-border-radius) 0 0 var(--s-border-radius);
  line-height: 1;
}

.input-price__field[type=text],
.input-price__field[type=number] {
  width: 70px;
  padding: 0.35rem 0.4rem;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  font-family: "Figtree", sans-serif;
  font-family: var(--f-body);
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0 0.75rem 0.75rem 0;
  border-radius: 0 var(--s-border-radius) var(--s-border-radius) 0;
  background: #fff;
  background: var(--c-bg);
  color: #0B1B3C;
  color: var(--c-text);
  text-align: right;
}

.input-price__field[type=text]:focus,
.input-price__field[type=number]:focus {
  outline: none;
  border-color: #1463FF;
  border-color: var(--c-blue);
  box-shadow: 0 0 0 3px rgba(20, 99, 255, 0.12);
}

.linked-entry {
  --bg-colour: var(--c-lilac);
  --display-content: none;
  position: relative;
  display: inline-block;
  margin-left: 0.5em;
  margin-right: 0.5em;
}
.linked-entry--categories {
  --c-text: var(--c-white);
  --bg-colour: var(--c-dark);
}
.linked-entry:has(input[type=checkbox]:checked) {
  --display-content: block;
}
.linked-entry__target {
  --c-text: var(--c-white);
  --bg-colour: var(--c-dark);
}
.linked-entry__target label {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5em;
  padding: 0.1em 0.5em;
  color: #0B1B3C;
  color: var(--c-text);
  background-color: var(--bg-colour);
  border-radius: 1em;
  cursor: pointer;
}
.linked-entry__target span {
  flex-basis: auto;
  flex-grow: 1;
  display: block;
  padding-top: 0.2em;
  padding-bottom: 0.2em;
  text-align: center;
}
.linked-entry__target input {
  display: none;
}
.linked-entry__target svg {
  width: 1em;
  height: 1em;
}
.linked-entry__target svg path {
  fill: #0B1B3C;
  fill: var(--c-text);
}
.linked-entry__content {
  --translateX: -50%;
  --translateY: -5%;
  width: 440px;
  display: var(--display-content);
  position: absolute;
  bottom: calc(100% + 5px);
  left: 50%;
  padding-top: 0.4em;
  padding-bottom: 0.4em;
  padding-left: 1em;
  padding-right: 1em;
  border-radius: 5px;
  transform: translateX(-50%) translateY(-5%);
  transform: translateX(var(--translateX)) translateY(var(--translateY));
}
.linked-entry__content:after {
  content: "";
  position: absolute;
  top: 100%;
  left: calc(50% - 5px);
  border: 5px solid transparent;
  border-top-color: #fff;
  border-top-color: var(--c-bg);
}
.linked-entry__content * {
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
}
.linked-entry__content ul {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}
.linked-entry__content ul li {
  padding-top: 0.4em;
  padding-bottom: 0.4em;
  display: grid;
  grid-template-columns: 60px 110px 1fr;
  align-items: center;
  grid-gap: 10px;
  gap: 10px;
}
.linked-entry__content ul li .entry-status {
  --bg: var(--c-dark-2);
  border: 1px solid #3F4B62;
  border: 1px solid var(--c-grey-dark);
}
.linked-entry__content ul li a {
  color: inherit !important;
}
.linked-entry__content ol {
  margin: 0;
  padding: 0.2em 0;
}
.linked-entry__content ol li {
  display: inline;
}
.linked-entry__content ol li:not(:last-child):after {
  content: ", ";
}

.list-badge {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.35rem;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  font-weight: 500;
}
.list-badge svg {
  width: 12px;
  height: 12px;
}
.list-badge svg path {
  fill: currentColor;
}
.list-badge--waitlist {
  color: #1463FF;
  color: var(--c-blue);
}
.list-badge--alert {
  color: #f57c00;
  color: var(--c-orange);
}

.login-card {
  margin: 4em auto;
  max-width: 420px;
}
.login-card__title {
  font-size: 1.5rem;
  font-size: var(--f-lg);
}
.login-card__turnstile {
  margin-top: 2rem;
  margin-bottom: 2rem;
  display: grid;
  align-items: center;
  justify-items: center;
  place-items: center;
  background-color: #F2F5F8;
  background-color: var(--c-grey-light-2);
  padding: 1rem;
}
.login-card__actions {
  margin-top: 1rem;
}
.login-card__actions .btn {
  width: 100%;
}
.login-card__footer {
  text-align: center;
  margin-top: 1rem;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
}
.login-card__footer a {
  display: block;
  text-align: center;
}
.login-card .auth-code {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  margin: 1.25rem 0;
}
.login-card .auth-code input {
  width: 44px;
  height: 56px;
  padding: 0;
  text-align: center;
  font-size: 1.25rem;
  font-size: var(--f-md);
  font-weight: 600;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100vh;
  display: grid;
  display: grid;
  align-items: center;
  justify-items: center;
  place-items: center;
}
.modal > * {
  grid-column: 1/-1;
  grid-row: 1/-1;
}
.modal__trigger.btn {
  display: inline-flex !important;
}
.modal__bg {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}
.modal__inner {
  width: 90%;
  max-width: 740px;
  max-height: 90vh;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  border: none;
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  box-shadow: 0px 3px 20px rgba(0,0,0,0.08);
  box-shadow: var(--s-box-shadow);
}
.modal__inner .fieldset__field {
  grid-template-columns: 0 1fr 1fr;
  padding-left: 0;
}
.modal__header {
  flex-grow: 0;
  padding: 1.5rem;
  padding: var(--l-pod-pad);
  border-bottom: 1px solid #EAF0F6;
  border-bottom: 1px solid var(--c-border);
}
.modal__header h2 {
  margin: 0;
  font-size: 1rem;
  font-size: var(--f-sm);
}
.modal__content {
  flex-basis: auto;
  flex-shrink: 1;
  flex-grow: 1;
  overflow-y: auto;
  padding: 1.5rem;
  padding: var(--l-pod-pad);
}
.modal__content a:not(.btn):not(.tag):not(.re-button):not(.linked-ui[href]) {
  color: #1463FF;
  color: var(--c-blue);
  -webkit-text-decoration: none;
  text-decoration: none;
}
.modal__content table {
  margin-bottom: 2em;
}
.modal__actions {
  flex-shrink: 0;
  padding: 1.5rem;
  padding: var(--l-pod-pad);
  display: flex;
  justify-content: flex-end;
  gap: 1em;
  border-top: 1px solid #EAF0F6;
  border-top: 1px solid var(--c-border);
}

.multi-select {
  --padding: 1em;
  --toggle-width: 40px;
  --grid-cols: 1em 1fr;
  --caret-rotation: 0deg;
  --label-display: block;
  --panel-display: none;
  --selected-display: none;
}
.multi-select:has(.multi-select__is-open:checked) {
  --panel-display: block;
  --caret-rotation: 180deg;
}
.multi-select:has(.multi-select__is-open:not(:checked)):has(.multi-select__options input[type=checkbox]:checked) {
  --label-display: none;
  --selected-display: flex;
}
.multi-select {
  position: relative;
  margin-bottom: 1em;
}
.multi-select * {
  font-size: inherit;
  line-height: 1;
}
.multi-select__caret {
  position: absolute;
  top: 0;
  right: 1em;
  z-index: 3;
  transform: rotate(var(--caret-rotation));
}
.multi-select select {
  display: none;
}
.multi-select__is-open {
  display: none;
}
.multi-select__label {
  min-height: 50px;
  display: var(--label-display);
  padding: var(--padding);
  padding-right: var(--toggle-width);
  color: #686f85;
  color: var(--c-grey-dark-2);
  font-weight: 500;
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  cursor: pointer;
}
.multi-select__panel {
  display: var(--panel-display);
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  box-shadow: 0px 3px 20px rgba(0,0,0,0.08);
  box-shadow: var(--s-box-shadow);
}
.multi-select__search, .multi-select__options > li {
  padding-left: var(--padding);
  padding-right: var(--toggle-width);
  display: grid;
  align-items: center;
  grid-template-columns: var(--grid-cols);
  grid-gap: 1em;
  gap: 1em;
}
.multi-select__search {
  background-color: #F2F5F8;
  background-color: var(--c-form-bg);
  border-bottom: 1px solid #EAF0F6;
  border-bottom: 1px solid var(--c-border);
  border-top-left-radius: 0.75rem;
  border-top-left-radius: var(--s-border-radius);
  border-top-right-radius: 0.75rem;
  border-top-right-radius: var(--s-border-radius);
}
.multi-select__search svg {
  display: block;
  width: 1em;
}
.multi-select__search svg path {
  fill: #3F4B62;
  fill: var(--c-grey-dark);
}
.multi-select__search input {
  padding: var(--padding) 0;
  border: 0;
}
.multi-select__search input:focus {
  outline: 0;
}
.multi-select__options {
  margin: 0;
  padding: 0;
  list-style: none;
  max-height: calc(80vh - 50px);
  overflow: auto;
}
.multi-select__options > li {
  padding-top: var(--padding);
  padding-bottom: var(--padding);
  border-top: 1px solid #EAF0F6;
  border-top: 1px solid var(--c-border);
  cursor: default;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.multi-select__options > li:first-child {
  border-top: none;
}
.multi-select__options > li:hover {
  background-color: #F7F9FC;
  background-color: var(--c-blue-pale);
}
.multi-select__options > li label {
  display: block;
  margin: 0;
  font-weight: 500;
  line-height: 1.3;
  cursor: pointer;
}
.multi-select__options > li input[type=checkbox] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.multi-select__selected {
  margin: 0;
  padding: 5px 5px 14px;
  list-style: none;
  display: var(--selected-display);
  flex-wrap: wrap;
  gap: 5px;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  border-radius: 0.2em;
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
}
.multi-select__selected > li {
  padding-left: 0.7em;
  display: inline-flex;
  align-items: center;
  font-size: inherit;
  background-color: #F2F5F8;
  background-color: var(--c-grey-light-2);
  border-radius: 0.4em;
}
.multi-select__selected > li span {
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}
.multi-select__selected > li button {
  width: 2em;
  height: 2em;
}
.multi-select__selected > li button svg path {
  fill: #9FA6B6;
  fill: var(--c-grey-mid);
}

.page-links {
  margin: 2em 0;
  padding-left: 1.5em;
  list-style: square;
}
.page-links li {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.page-links a {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.pod {
  padding: 1.5rem;
  padding: var(--l-pod-pad);
  background-color: #fff;
  background-color: var(--c-bg);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
}
.pod--border {
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
}
.pod--double-pad {
  padding: calc(2 * 1.5rem);
  padding: calc(2 * var(--l-pod-pad));
}
.pod--inline {
  display: inline-block;
}
.pod--960 {
  max-width: 960px;
}
.pod--sticky {
  position: sticky;
  top: 100px;
  top: var(--l-header-height);
}

.primary-nav {
  --color: var(--c-grey-dark);
}
.primary-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.primary-nav ul ul {
  margin-left: 2.2em;
}
.primary-nav li {
  overflow: hidden;
}
.primary-nav a {
  display: inline-block;
  padding: 0.4em;
  color: var(--color);
}
.primary-nav > ul > li.current > a {
  background-color: rgba(20, 99, 255, 0.04);
  border-color: #1463FF;
  border-color: var(--c-blue);
}
.primary-nav > ul > li li.current a {
  color: #1463FF;
  color: var(--c-blue);
}

.row-select-menu {
  --translateY: 400%;
}
main:has(.table-block__table td:first-child input[type=checkbox]:checked) .row-select-menu {
  --translateY: 0;
}
.row-select-menu {
  position: fixed;
  bottom: max(2rem, min(10vw, 60px));
  bottom: var(--l-block-pad);
  left: 50%;
  z-index: 9;
  padding: 1em 2em;
  display: flex;
  align-items: center;
  gap: 3em;
  transform: translateX(-50%) translateY(var(--translateY));
  background-color: #F2F5F8;
  background-color: var(--c-grey-light-2);
  box-shadow: 0px 3px 20px rgba(0,0,0,0.08);
  box-shadow: var(--s-box-shadow);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  transition: transform 0.4s cubic-bezier(.24,.84,.37,.99);
  transition: transform 0.4s var(--s-bezier-1);
}
.row-select-menu * {
  margin: 0;
}
.row-select-menu a,
.row-select-menu button {
  --color: var(--c-text);
}
.row-select-menu a:hover, .row-select-menu a:focus,
.row-select-menu button:hover,
.row-select-menu button:focus {
  --color: var(--c-blue);
}
.row-select-menu a,
.row-select-menu button {
  color: var(--color);
  -webkit-text-decoration: none;
  text-decoration: none;
}
.row-select-menu__count {
  display: flex;
  align-items: center;
  gap: 1em;
}
.row-select-menu__count span {
  display: block;
  min-width: 1.8em;
  height: 1.8em;
  display: grid;
  align-items: center;
  justify-items: center;
  place-items: center;
  color: #fff;
  color: var(--c-white);
  padding-left: 0.3em;
  padding-right: 0.3em;
  background-color: #1463FF;
  background-color: var(--c-blue);
  border-radius: 5px;
}
.row-select-menu__menu {
  margin: 0;
  padding: 0 2em;
  list-style: none;
  display: flex;
  gap: 2em;
  border-left: 1px solid #EAF0F6;
  border-left: 1px solid var(--c-border);
  border-right: 1px solid #EAF0F6;
  border-right: 1px solid var(--c-border);
}
.row-select-menu__menu a {
  display: block;
  text-align: center;
}
.row-select-menu__menu a svg {
  display: block;
  width: 2em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.2em;
}
.row-select-menu__menu a svg path {
  fill: var(--color);
}
.row-select-menu__close svg {
  display: block;
  width: 1.8em;
  height: 1.8em;
}
.row-select-menu__close svg path {
  fill: var(--color);
}

.rule-control-panel {
  margin-top: 5px;
  margin-bottom: 5px;
  padding: 1rem;
  background: #EDF3FF;
  background: var(--c-blue-light-2);
  border: 1px solid #B8C7F3;
  border: 1px solid var(--c-blue-light);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
}

.secondary-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.secondary-nav li {
  margin-bottom: 0.5em;
  overflow: hidden;
}
.secondary-nav li:last-child {
  margin-bottom: 0;
}
.secondary-nav a {
  display: inline-block;
  color: #3F4B62;
  color: var(--c-grey-dark);
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: color 0.2s;
}
.secondary-nav a:hover {
  color: #1463FF;
  color: var(--c-blue);
}
.secondary-nav span {
  display: block;
  white-space: nowrap;
  transition: opacity 0.3s;
}

.settings-header {
  padding: 0.25rem 2rem 0.5rem;
}

.settings-header__title-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.settings-header__title {
  font-size: 1.5rem;
  font-size: var(--f-lg);
  font-weight: 700;
  line-height: 1.3;
}

.settings-header__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.6rem;
  flex-wrap: wrap;
}

.settings-header__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.25rem 0.65rem;
  background: #EAEDF2;
  background: var(--c-grey-light);
  border-radius: 999px;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  color: #0B1B3C;
  color: var(--c-text);
  white-space: nowrap;
}

.settings-header__chip-label {
  font-weight: 600;
}

.settings-section {
  margin-bottom: 1em;
  background: #fff;
  background: var(--c-bg);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  box-shadow: 0px 3px 20px rgba(0,0,0,0.08);
  box-shadow: var(--s-box-shadow);
  overflow: hidden;
}
.settings-section__header {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background 0.1s;
}
.settings-section__header:hover {
  background: #F8FAFB;
  background: var(--c-grey-pale);
}
.settings-section__chevron {
  width: 18px;
  height: 18px;
  fill: #9FA6B6;
  fill: var(--c-grey-mid);
  transition: transform 0.2s ease;
  flex-shrink: 0;
  transform: rotate(90deg);
}
.settings-section.collapsed .settings-section__chevron {
  transform: rotate(0deg);
}
.settings-section__title {
  position: relative;
  top: 3px;
  margin: 0;
  font-size: 1rem;
  font-size: var(--f-sm);
  line-height: 1;
  font-weight: 600;
}
.settings-section__body {
  padding: 1.25rem 1.5rem 1.5rem;
  border-top: 1px solid #EAF0F6;
  border-top: 1px solid var(--c-border);
}
.settings-section__badge {
  position: relative;
  top: -2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  margin-left: 0.5rem;
  padding: 0 6px;
  border-radius: 11px;
  font-size: 0.65rem;
  line-height: 1;
  font-weight: 700;
  color: white;
}
.settings-section__badge--error {
  background: #D6260E;
  background: var(--c-red);
}
.settings-section__badge--warning {
  background: #f57c00;
  background: var(--c-orange);
}
.settings-section__badge--valid {
  background: #03BF7F;
  background: var(--c-green);
}

.settings-section.collapsed .settings-section__body {
  display: none;
}

.site-logo__text {
  opacity: 1;
  transition: opacity 0.3s;
}

.skip-to-main {
  position: absolute;
  left: -9999px;
  z-index: 999;
  padding: 1em;
  background-color: #000;
  background-color: var(--c-black);
  color: #fff;
  color: var(--c-white);
  opacity: 0;
}
.skip-to-main:focus {
  left: 50%;
  transform: translateX(-50%);
  opacity: 1;
}

.status-select {
  display: inline-flex;
  gap: 0.6em;
  align-items: center;
  padding: 0.5em 0.7em;
  color: var(--text);
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  line-height: 1em;
  text-transform: capitalize;
  background-color: var(--bg);
  border: 1px solid var(--text);
  border-radius: 2em;
  cursor: pointer;
}
.status-select[data-value=unsubmitted], .status-select--unsubmitted {
  --bg: var(--c-grey-pale);
  --text: var(--c-grey-dark-2);
}
.status-select[data-value=submitted], .status-select--submitted {
  --bg: var(--c-blue-light-2);
  --text: var(--c-blue);
}
.status-select[data-value=requires-payment], .status-select--requires-payment {
  --bg: var(--c-yellow-pale);
  --text: var(--c-orange);
}
.status-select[data-value=approved], .status-select--approved {
  --bg: var(--c-green-pale);
  --text: var(--c-green);
}
.status-select[data-value=unsuccessful], .status-select--unsuccessful {
  --bg: var(--c-red-pale);
  --text: var(--c-red);
}

.submenu {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  background-color: #fff;
  background-color: var(--c-white);
}
.submenu li.current {
  pointer-events: none;
}
.submenu li.current a {
  color: #1463FF;
  color: var(--c-blue);
  border-bottom: 3px solid #1463FF;
  border-bottom: 3px solid var(--c-blue);
}
.submenu a {
  display: block;
  padding: 0.6em 1.5em;
  color: #686f85;
  color: var(--c-grey-dark-2);
  -webkit-text-decoration: none;
  text-decoration: none;
  white-space: nowrap;
}
.submenu a:hover {
  color: #1463FF;
  color: var(--c-blue);
}
@media (min-width: 1040px) {
  .submenu {
    justify-content: flex-start;
  }
}

.svg-icon path {
  fill: #0B1B3C;
  fill: var(--c-text);
}
.svg-icon--red path {
  fill: #D6260E;
  fill: var(--c-red);
}
.svg-icon--green path {
  fill: #03BF7F;
  fill: var(--c-green);
}

.system-alert {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.85rem 1.25rem;
  border-radius: 6px;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  line-height: 1.5;
  margin-bottom: 1rem;
}

.system-alert--warning {
  background: #FFF7E4;
  background: var(--c-yellow-pale);
  border: 1px solid #f57c00;
  border: 1px solid var(--c-orange);
  color: #0B1B3C;
  color: var(--c-text);
}

.system-alert--error {
  background: #FCEEEC;
  background: var(--c-red-pale);
  border: 1px solid #D6260E;
  border: 1px solid var(--c-red);
  color: #0B1B3C;
  color: var(--c-text);
}

.system-alert--info {
  background: #EDF3FF;
  background: var(--c-blue-light-2);
  border: 1px solid #1463FF;
  border: 1px solid var(--c-blue);
  color: #0B1B3C;
  color: var(--c-text);
}

.system-alert svg {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  margin-top: 1px;
}
.system-alert svg path {
  fill: #f57c00;
  fill: var(--c-orange);
}

.system-alert strong {
  font-weight: 600;
}

.tags {
  margin: 0 0 0.5em;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 1em;
       column-gap: 1em;
  row-gap: 0.5em;
}
.tags.stacked {
  display: inline-grid;
}
.tags li {
  color: #0B1B3C;
  color: var(--c-text);
  background-color: #fff;
  background-color: var(--c-bg);
  padding: 0.2em 0.5em;
  font-size: 0.875rem;
  font-size: var(--f-xs);
}
.tags a {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.tag {
  display: inline-flex;
  align-items: center;
  gap: 0.3em;
  padding: 0.4em 0.5em;
  font-size: 0.875rem;
  font-size: var(--f-xs);
  -webkit-text-decoration: none;
  text-decoration: none;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  border-radius: 4px;
}
.tag svg {
  transform: translateY(-1px);
}

.tag,
.tag a {
  font-weight: 500 !important;
  color: #0B1B3C !important;
  color: var(--c-text) !important;
  background-color: #fff;
  background-color: var(--c-bg);
}

.tag--green, .tag--admin-active, .tag--approved, .tag--attended, .tag--branch-visible-yes, .tag--bulk-email-processed, .tag--email-opened, .tag--open, .tag--paid-offline, .tag--paid-online, .tag--user-active {
  --c-text: var(--c-green-dark);
  --c-bg: var(--c-green-mid-2);
}
.tag--blue, .tag--approved-credit, .tag--closed, .tag--email-delivered, .tag--nominnee, .tag--tcs-event, .tag--user-branch {
  --c-text: var(--c-blue-dark);
  --c-bg: var(--c-blue-light);
}
.tag--yellow, .tag--approved, .tag--citation-reader, .tag--email-new, .tag--tcs-branch, .tag--user-global {
  --c-text: var(--c-brown-dark);
  --c-bg: var(--c-yellow);
}
.tag--red, .tag--admin-disabled, .tag--cancelled, .tag--email-failed, .tag--not-attended, .tag--suspend, .tag--user-suspended {
  --c-text: var(--c-red-dark);
  --c-bg: var(--c-red-light);
}
.tag--orange, .tag--email-retry, .tag--mfa-reset, .tag--tcs-venue, .tag--requires-approval {
  --c-text: var(--c-brown);
  --c-bg: var(--c-peach);
}
.tag--turquoise, .tag--admin {
  --c-text: var(--c-green-dark);
  --c-bg: var(--c-green-light-2);
}
.tag--teal, .tag--email-sent, .tag--user, .tag--pending, .tag--tcs-auditorium {
  --c-text: var(--c-green-dark);
  --c-bg: var(--c-green-light);
}
.tag--grey, .tag--branch-visible-no, .tag--bulk-email-unprocessed, .tag--email-on-hold, .tag--pending-incomplete, .tag--unknown, .tag--not-open, .tag--unsuspend {
  --c-text: #333;
  --c-bg: var(--c-grey-mid-2);
}
.tag--pink, .tag--email-ignored, .tag--waitlist {
  --c-text: var(--c-purple);
  --c-bg: var(--c-pink);
}

.tag-input {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0.4rem 0.5rem;
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.375rem;
  background: #F2F5F8;
  background: var(--c-form-bg);
  min-height: 38px;
  align-items: center;
}

.tag-input__tag {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.5rem;
  background: #EDF3FF;
  background: var(--c-blue-light-2);
  color: #002E78;
  color: var(--c-blue-dark);
  border-radius: 4px;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  font-weight: 500;
}

.tag-input__tag button {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.875rem;
  line-height: 1;
  color: #002E78;
  color: var(--c-blue-dark);
  padding: 0;
  opacity: 0.6;
}

.tag-input__tag button:hover {
  opacity: 1;
}

.tag-input__field {
  border: none;
  background: none;
  outline: none;
  font-family: "Figtree", sans-serif;
  font-family: var(--f-body);
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
  color: #0B1B3C;
  color: var(--c-text);
  flex: 1;
  min-width: 80px;
  padding: 0.2rem;
}

.tc-override {
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  margin-bottom: 0.6rem;
  overflow: hidden;
  background: #fff;
  background: var(--c-bg);
}

.tc-override__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.tc-override__header:hover {
  background: #F8FAFB;
  background: var(--c-grey-pale);
}

.tc-override__chevron {
  width: 14px;
  height: 14px;
  fill: #9FA6B6;
  fill: var(--c-grey-mid);
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.tc-override.open .tc-override__chevron {
  transform: rotate(90deg);
}

.tc-override__name {
  font-size: 0.875rem;
  font-size: var(--f-xs);
  font-weight: 600;
  color: #0B1B3C;
  color: var(--c-text);
  flex-shrink: 0;
}

.tc-override__snippet {
  flex: 1;
  min-width: 0;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  color: var(--c-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tc-override__delete {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
  color: #1463FF;
  color: var(--c-blue);
  padding: 0.2rem 0.4rem;
}

.tc-override__delete:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.tc-override__body {
  display: none;
  padding: 1rem;
  border-top: 1px solid #EAF0F6;
  border-top: 1px solid var(--c-border);
}

.tc-override.open .tc-override__body {
  display: block;
}

.ticket-rules-wrapper {
  overflow-x: auto;
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 6px;
  margin-top: 0.75rem;
}

.ticket-rules-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  min-width: 600px;
}

.ticket-rules-table th,
.ticket-rules-table td {
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  padding: 0.5rem 0.6rem;
  text-align: center;
  vertical-align: middle;
  position: relative;
}

.ticket-rules-table thead th {
  background: #F2F5F8;
  background: var(--c-grey-light-2);
  font-weight: 600;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  white-space: nowrap;
  padding: 0.6rem 0.75rem;
}

.ticket-rules-table .corner-cell {
  text-align: left;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  color: var(--c-text-secondary);
  line-height: 1.4;
  min-width: 150px;
  position: sticky;
  left: 0;
  z-index: 2;
  background: #F2F5F8;
  background: var(--c-grey-light-2);
}

.ticket-rules-table .row-header {
  text-align: left;
  font-weight: 500;
  background: #fff;
  background: var(--c-bg);
  white-space: nowrap;
  position: sticky;
  left: 0;
  z-index: 1;
}

.ticket-rules-table .col-delete,
.ticket-rules-table .row-delete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: transparent;
  border: none;
  color: var(--c-text-secondary);
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  cursor: pointer;
  margin-right: 0.3rem;
  padding: 0;
  vertical-align: middle;
  opacity: 0;
  transition: opacity 0.15s;
}

.ticket-rules-table th:hover .col-delete,
.ticket-rules-table td:hover .row-delete {
  opacity: 1;
}

.ticket-rules-table .col-delete:hover,
.ticket-rules-table .row-delete:hover {
  background: #FCEEEC;
  background: var(--c-red-pale);
  color: #D6260E;
  color: var(--c-red);
}

.ticket-rules-table .rule-cell {
  cursor: pointer;
  min-width: 90px;
}

.ticket-rules-table .rule-cell:hover {
  background: #F7F9FC;
  background: var(--c-blue-pale);
}

.ticket-rules-table .rule-cell.selected {
  outline: 2px solid #1463FF;
  outline: 2px solid var(--c-blue);
  outline-offset: -2px;
  background: rgba(20, 99, 255, 0.04);
}

.ticket-rules-table .rule-cell__allowance,
.ticket-rules-table .rule-cell__max {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.ticket-rules-table .rule-cell__label {
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  color: var(--c-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.ticket-rules-table .rule-cell__max {
  display: none;
  margin-top: 4px;
  padding-top: 4px;
  border-top: 1px dashed #EAF0F6;
  border-top: 1px dashed var(--c-border);
}

.ticket-rules-table .rule-cell__max.visible {
  display: flex;
}

.ticket-rules-table input[type=number] {
  width: 48px;
  padding: 0.2rem 0.15rem;
  text-align: center;
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 3px;
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  font-family: "Figtree", sans-serif;
  font-family: var(--f-body);
  background: #fff;
  background: var(--c-bg);
}

.ticket-rules-table input[type=number]:focus {
  border-color: #1463FF;
  border-color: var(--c-blue);
  outline: none;
  box-shadow: 0 0 0 2px rgba(20, 99, 255, 0.1);
}

.toast {
  --c-text: var(--c-white);
  --c-bg: var(--c-dark);
  width: 100%;
  max-width: 640px;
  position: fixed;
  z-index: 99;
  bottom: 0;
  left: 50%;
  display: flex;
  gap: 2em;
  align-items: center;
  margin: 1.5rem auto;
  margin: var(--l-body-pad) auto;
  padding: 1.5rem;
  padding: var(--l-pod-pad);
  color: #fff;
  color: var(--c-text);
  background-color: #191B1F;
  background-color: var(--c-bg);
  border: 2px solid #fff;
  border: 2px solid var(--c-text);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  transform: translateX(-50%);
}
.toast[data-status=notifications], .toast--notifications {
  --c-text: var(--c-white);
  --c-bg: var(--c-dark);
}
.toast[data-status=success], .toast--success {
  --c-text: var(--c-green);
  --c-bg: var(--c-green-pale);
}
.toast[data-status=info], .toast--info {
  --c-text: var(--c-blue);
  --c-bg: var(--c-blue-pale);
}
.toast[data-status=warning], .toast--warning {
  --c-text: var(--c-orange);
  --c-bg: var(--c-yellow-pale);
}
.toast[data-status=error], .toast--error {
  --c-text: var(--c-red);
  --c-bg: var(--c-red-pale);
}
.toast svg {
  display: block;
  width: 1.6em;
  height: 1.6em;
  overflow: visible;
}
.toast svg rect,
.toast svg path {
  fill: #0B1B3C;
  fill: var(--c-text);
}
.toast__message {
  flex-basis: auto;
  flex-grow: 1;
  margin: 0;
}
.toast ~ div {
  position: relative;
  z-index: 95;
}

.toggle {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
.toggle__label {
  position: relative;
  z-index: 3;
  height: 1.25em;
  margin: 0;
  display: grid;
  grid-template-columns: 3.5em 1px;
  align-items: center;
  cursor: default;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  pointer-events: auto;
  cursor: pointer;
  /* Hide the text. */
  color: transparent;
  text-indent: 110%;
  white-space: nowrap;
  overflow: hidden;
}
.toggle__label:before, .toggle__label:after {
  content: "";
  display: block;
  grid-column: 1;
  grid-row: 1;
}
.toggle__label:before {
  width: 2em;
  height: 1.125em;
  background: #9FA6B6;
  background: var(--c-grey-mid);
  border: none;
  border-radius: 1em;
  transition: background-color 0.2s;
}
.toggle__label:after {
  width: 0.75em;
  height: 0.75em;
  position: relative;
  left: 4px;
  background: #fff;
  background: var(--c-white);
  border-radius: 50%;
  transform: scale(1);
  transition: background-color 0.2s, transform 0.3s;
}
.toggle:checked + .toggle__label:before {
  background-color: #1463FF;
  background-color: var(--c-blue);
}
.toggle:checked + .toggle__label:after {
  background: #fff;
  background: var(--c-white);
  transform: translateX(100%);
}
.toggle:focus-visible + .toggle__label:before {
  background: #FEE88F;
  background: var(--c-yellow);
}

.page-header {
  position: relative;
  z-index: 9;
  padding: 1.5rem;
  padding: var(--l-body-pad);
  padding-bottom: 0;
  border-bottom: 1px solid #EAF0F6;
  border-bottom: 1px solid var(--c-border);
  background-color: #F2F5F8;
  background-color: var(--c-grey-light-2);
}
@media (min-height: 600px) {
  .page-header {
    position: sticky;
    top: 0;
  }
}
.page-header .container {
  display: grid;
  grid-gap: 10px;
  gap: 10px;
}
.page-header__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1em;
}
.page-header__title {
  display: flex;
  align-items: center;
  gap: 0.6em;
  font-size: 1.5rem;
  font-size: var(--f-lg);
}
.page-header__title * {
  margin: 0;
  line-height: 1;
}
.page-header__title h1 {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.page-header__title span {
  color: #9FA6B6;
  color: var(--c-grey-mid);
}
.page-header__description p {
  max-width: 40em;
}
.page-header__actions {
  flex-basis: auto;
  flex-grow: 1;
  display: flex;
  justify-content: flex-end;
  gap: 1em;
}
.page-header__actions .select {
  background-color: #F2F5F8;
  background-color: var(--c-form-bg);
}

body:has(div.rx-fullscreen) .page-header {
  z-index: 1;
}

.table-block a:not(.btn):not(.tag):not(.re-button):not(.linked-ui[href]) {
  color: #1463FF;
  color: var(--c-blue);
  -webkit-text-decoration: none;
  text-decoration: none;
}
.table-block__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2em;
}
.table-block__title {
  display: flex;
  align-items: center;
  gap: 0.7em;
}
.table-block__title * {
  margin: 0;
  font-size: 1.25rem;
  font-size: var(--f-md);
}
.table-block__title span {
  color: #686f85;
  color: var(--c-grey-dark-2);
}
.table-block__actions {
  flex-basis: auto;
  flex-grow: 1;
  display: flex;
  justify-content: flex-end;
  gap: 1em;
}
.table-block__actions .select {
  background-color: #F2F5F8;
  background-color: var(--c-form-bg);
}
.table-block__filters {
  padding: 1rem;
  margin-bottom: 2em;
  border: 1px solid #EAF0F6;
  border: 1px solid var(--c-border);
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  background-color: #fff;
  background-color: var(--c-white);
}
.table-block__filters-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 2em;
}
.table-block__filters-search {
  flex-basis: auto;
  flex-grow: 1;
}
.table-block__filters-search > div {
  max-width: 300px;
  display: flex;
  gap: 0.5em;
  align-items: center;
}
.table-block__filters-search button {
  display: block;
  width: 1.5em;
  height: 1.5em;
  margin: 0;
  font-weight: 500;
  font-size: 1rem;
  font-size: var(--f-sm);
  color: #686f85;
  color: var(--c-grey-dark-2);
  padding: 0;
  background-color: transparent;
  border: 0;
}
.table-block__filters-search button svg {
  display: block;
}
.table-block__clear-all {
  display: flex;
  gap: 2em;
  justify-content: flex-end;
  align-items: flex-end;
}
.table-block__filter-fields {
  display: none;
  margin-top: 1em;
  padding-top: 1em;
  padding-bottom: 1em;
  gap: 2em;
  border-top: 1px solid #EAF0F6;
  border-top: 1px solid var(--c-border);
}
.show-filters .table-block__filter-fields {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
}
@media (min-width: 1024px) {
  .show-filters .table-block__filter-fields {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1360px) {
  .show-filters .table-block__filter-fields {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 600px) {
  .table-block__filter-fields fieldset {
    display: flex;
    gap: 1em;
    align-items: center;
  }
}
.table-block__filter-fields fieldset label {
  font-weight: 400;
}
.table-block__filter-fields fieldset > div {
  flex-basis: auto;
  flex-grow: 1;
}
.table-block__filter-fields select {
  width: 100%;
}
.table-block__filter-fields .table-block__clear-all {
  grid-column-end: -1;
}
.table-block__table {
  border-radius: 0.75rem;
  border-radius: var(--s-border-radius);
  background-color: #fff;
  background-color: var(--c-white);
}
.table-block__table:has(.context-menu button:focus-within) {
  overflow: visible;
  overflow: initial;
}
.table-block__table table {
  width: auto;
  min-width: 100%;
  border-spacing: 0;
  table-layout: fixed;
}
.table-block__table table.sticky-last-column th:last-child,
.table-block__table table.sticky-last-column td:last-child {
  position: sticky;
  right: 0;
  z-index: 2;
  border-right: 1px solid #EAF0F6;
  border-right: 1px solid var(--c-border);
  background-color: #fff;
  background-color: var(--c-bg);
  box-shadow: -4px 0px 6px rgba(0, 0, 0, 0.07);
}
.table-block__table table th {
  position: relative;
  vertical-align: top;
}
.table-block__table table th:last-child::after {
  display: none;
}
.table-block__table table th:has(input[type=text]) {
  min-width: 90px;
}
.table-block__table table th > div:first-child {
  height: 100%;
  display: grid;
}
.table-block__table table th .column-resizer {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  cursor: col-resize;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background-color: transparent;
}
.table-block__table table th .column-resizer::after {
  content: "";
  position: absolute;
  right: 0;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background-color: #C8C8C8;
  background-color: var(--c-grey-mid-2);
  pointer-events: none;
  opacity: 0.5;
}
.table-block__table table th .column-resizer:hover {
  background-color: var(--c-primary);
}
.table-block__table table th,
.table-block__table table td {
  padding: 1em;
  text-align: left;
  font-size: 0.8125rem;
  font-size: var(--f-2xs);
  border-bottom: 1px solid #EAF0F6;
  border-bottom: 1px solid var(--c-border);
}
.table-block__table table th.centre,
.table-block__table table td.centre {
  text-align: center;
}
.table-block__table table th {
  white-space: nowrap;
  line-height: 1.1;
  color: #686f85;
  color: var(--c-grey-dark-2);
  background-color: #EAEDF2;
  background-color: var(--c-grey-light);
}
.table-block__table table th:first-child {
  border-top-left-radius: 0.75rem;
  border-top-left-radius: var(--s-border-radius);
}
.table-block__table table th:last-child {
  border-top-right-radius: 0.75rem;
  border-top-right-radius: var(--s-border-radius);
}
.table-block__table table th span {
  display: block;
  margin-bottom: 5px;
}
.table-block__table table th input[type=text] {
  font-size: 0.75rem;
  font-size: var(--f-3xs);
  background-color: #fff;
  background-color: var(--c-bg);
}
.table-block__table table th input,
.table-block__table table th select,
.table-block__table table th button {
  height: 35px !important;
}
.table-block__table table th select {
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0.3em;
  border: none;
  background-color: transparent;
}
.table-block__table table th select:focus {
  outline: none;
}
.table-block__table table td {
  background: #F8FAFB;
  background: var(--c-grey-pale);
}
.table-block__table table td:has(.input-price) {
  background-color: #fff;
  background-color: var(--c-white);
}
.table-block__table table td:first-child {
  border-left: 1px solid #EAF0F6;
  border-left: 1px solid var(--c-border);
}
.table-block__table table td:last-child {
  border-right: 1px solid #EAF0F6;
  border-right: 1px solid var(--c-border);
}
.table-block__table table td.toggleContainer {
  text-align: left !important;
}
.table-block__table table td a {
  font-weight: 600;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.table-block__table table tbody tr:last-child td:first-child {
  border-bottom-left-radius: 0.75rem;
  border-bottom-left-radius: var(--s-border-radius);
}
.table-block__table table tbody tr:last-child td:last-child {
  border-bottom-right-radius: 0.75rem;
  border-bottom-right-radius: var(--s-border-radius);
}
.table-block__table table tfoot td {
  background-color: #F2F5F8 !important;
  background-color: var(--c-grey-light-2) !important;
}
.table-block__table table .row-needs-action {
  --action-colour: var(--c-red);
}
.table-block__table table .row-needs-action--warning {
  --action-colour: var(--c-orange-light);
}
.table-block__table table .row-needs-action--info {
  --action-colour: var(--c-blue);
}
.table-block__table table .row-needs-action td:first-child {
  box-shadow: inset 3px 0 0 var(--action-colour);
}
.table-block__table table .row-needs-action td:first-child > * {
  display: block;
  margin-top: 5px;
}
.table-block__table table .row-needs-action td:first-child > *:first-child {
  margin-top: 0;
}
.table-block__table table .fileName {
  word-break: break-all;
}
.table-block__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2em;
}
.table-block .multi-select {
  position: relative;
  z-index: 9;
}
.table-block .multi-select__panel {
  position: absolute;
  background: white;
}

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