

/* Import Preflight */
/* ! tailwindcss v2.1.2 | MIT License | https://tailwindcss.com */
/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
::before,
::after {
	box-sizing: border-box;
}
/**
Use a more readable tab size (opinionated).
*/
html {
	-moz-tab-size: 4;
	-o-tab-size: 4;
	   tab-size: 4;
}
/**
1. Correct the line height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}
/*
Sections
========
*/
/**
Remove the margin in all browsers.
*/
body {
	margin: 0;
}
/**
Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/
body {
	font-family:
		system-ui,
		-apple-system, /* Firefox supports this but not yet `system-ui` */
		'Segoe UI',
		Roboto,
		Helvetica,
		Arial,
		sans-serif,
		'Apple Color Emoji',
		'Segoe UI Emoji';
}
/*
Grouping content
================
*/
/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/
hr {
	height: 0; /* 1 */
	color: inherit; /* 2 */
}
/*
Text-level semantics
====================
*/
/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr[title] {
	-webkit-text-decoration: underline dotted;
	        text-decoration: underline dotted;
}
/**
Add the correct font weight in Edge and Safari.
*/
b,
strong {
	font-weight: bolder;
}
/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
	font-family:
		ui-monospace,
		SFMono-Regular,
		Consolas,
		'Liberation Mono',
		Menlo,
		monospace; /* 1 */
	font-size: 1em; /* 2 */
}
/**
Add the correct font size in all browsers.
*/
small {
	font-size: 80%;
}
/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
/*
Tabular data
============
*/
/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
	text-indent: 0; /* 1 */
	border-color: inherit; /* 2 */
}
/*
Forms
=====
*/
/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}
/**
Remove the inheritance of text transform in Edge and Firefox.
1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
	text-transform: none;
}
/**
Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button;
}
/**
Remove the inner border and padding in Firefox.
*/
::-moz-focus-inner {
	border-style: none;
	padding: 0;
}
/**
Restore the focus styles unset by the previous rule.
*/
:-moz-focusring {
	outline: 1px dotted ButtonText;
}
/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/
:-moz-ui-invalid {
	box-shadow: none;
}
/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
	padding: 0;
}
/**
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
	vertical-align: baseline;
}
/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}
/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}
/**
Remove the inner padding in Chrome and Safari on macOS.
*/
::-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 Chrome and Safari.
*/
summary {
	display: list-item;
}
/**
 * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
 * A thin layer on top of normalize.css that provides a starting point more
 * suitable for web applications.
 */
/**
 * Removes the default spacing and border for appropriate elements.
 */
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
button {
  background-color: transparent;
  background-image: none;
}
/**
 * Work around a Firefox/IE bug where the transparent `button` background
 * results in a loss of the default `button` focus styles.
 */
button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}
fieldset {
  margin: 0;
  padding: 0;
}
ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
/**
 * Tailwind custom reset styles
 */
/**
 * 1. Use the user's configured `sans` font-family (with Tailwind's default
 *    sans-serif font stack as a fallback) as a sane default.
 * 2. Use Tailwind's default "normal" line-height so the user isn't forced
 *    to override it to ensure consistency even when using the default theme.
 */
html {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 1 */
  line-height: 1.5; /* 2 */
}
/**
 * Inherit font-family and line-height from `html` so users can set them as
 * a class directly on the `html` element.
 */
body {
  font-family: inherit;
  line-height: inherit;
}
/**
 * 1. Prevent padding and border from affecting element width.
 *
 *    We used to set this in the html element and inherit from
 *    the parent element for everything else. This caused issues
 *    in shadow-dom-enhanced elements like <details> where the content
 *    is wrapped by a div with box-sizing set to `content-box`.
 *
 *    https://github.com/mozdevs/cssremedy/issues/4
 *
 *
 * 2. Allow adding a border to an element by just adding a border-width.
 *
 *    By default, the way the browser specifies that an element should have no
 *    border is by setting it's border-style to `none` in the user-agent
 *    stylesheet.
 *
 *    In order to easily add borders to elements by just setting the `border-width`
 *    property, we change the default border-style for all elements to `solid`, and
 *    use border-width to hide them instead. This way our `border` utilities only
 *    need to set the `border-width` property instead of the entire `border`
 *    shorthand, making our border utilities much more straightforward to compose.
 *
 *    https://github.com/tailwindcss/tailwindcss/pull/116
 */
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
/*
 * Ensure horizontal rules are visible by default
 */
hr {
  border-top-width: 1px;
}
/**
 * Undo the `border-style: none` reset that Normalize applies to images so that
 * our `border-{width}` utilities have the expected effect.
 *
 * The Normalize reset is unnecessary for us since we default the border-width
 * to 0 on all elements.
 *
 * https://github.com/tailwindcss/tailwindcss/issues/362
 */
img {
  border-style: solid;
}
textarea {
  resize: vertical;
}
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  color: #9ca3af;
}
input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}
button,
[role="button"] {
  cursor: pointer;
}
table {
  border-collapse: collapse;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/**
 * Reset links to optimize for opt-in styling instead of
 * opt-out.
 */
a {
  color: inherit;
  text-decoration: inherit;
}
/**
 * Reset form element properties that are easy to forget to
 * style explicitly so you don't inadvertently introduce
 * styles that deviate from your design system. These styles
 * supplement a partial reset that is already applied by
 * normalize.css.
 */
button,
input,
optgroup,
select,
textarea {
  padding: 0;
  line-height: inherit;
  color: inherit;
}
/**
 * Use the configured 'mono' font family for elements that
 * are expected to be rendered with a monospace font, falling
 * back to the system monospace stack if there is no configured
 * 'mono' font family.
 */
pre,
code,
kbd,
samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
/**
 * Make replaced elements `display: block` by default as that's
 * the behavior you want almost all of the time. Inspired by
 * CSS Remedy, with `svg` added as well.
 *
 * https://github.com/mozdevs/cssremedy/issues/14
 */
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  vertical-align: middle;
}
/**
 * Constrain images and videos to the parent width and preserve
 * their intrinsic aspect ratio.
 *
 * https://github.com/mozdevs/cssremedy/issues/14
 */
img,
video {
  max-width: 100%;
  height: auto;
}
* {
	--tw-shadow: 0 0 #0000;
	--tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
	--tw-ring-offset-width: 0px;
	--tw-ring-offset-color: #fff;
	--tw-ring-color: rgba(59, 130, 246, 0.5);
	--tw-ring-offset-shadow: 0 0 #0000;
	--tw-ring-shadow: 0 0 #0000;
}

      [type='text'],
      [type='email'],
      [type='url'],
      [type='password'],
      [type='number'],
      [type='date'],
      [type='datetime-local'],
      [type='month'],
      [type='search'],
      [type='tel'],
      [type='time'],
      [type='week'],
      [multiple],
      textarea,
      select
     {
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	background-color: #fff;
	border-color: #6b7280;
	border-width: 1px;
	border-radius: 0px;
	padding-top: 0.5rem;
	padding-right: 0.75rem;
	padding-bottom: 0.5rem;
	padding-left: 0.75rem;
	font-size: 1rem;
	line-height: 1.5rem;
}
[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus {
	outline: 2px solid transparent;
	outline-offset: 2px;
	--tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
	--tw-ring-offset-width: 0px;
	--tw-ring-offset-color: #fff;
	--tw-ring-color: #2563eb;
	--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
	--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
	box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
	border-color: #2563eb;
}
input::-moz-placeholder, textarea::-moz-placeholder {
	color: #6b7280;
	opacity: 1;
}
input::placeholder, textarea::placeholder {
	color: #6b7280;
	opacity: 1;
}
::-webkit-datetime-edit-fields-wrapper {
	padding: 0;
}
::-webkit-date-and-time-value {
	min-height: 1.5em;
}
select {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
	background-position: right 0.5rem center;
	background-repeat: no-repeat;
	background-size: 1.5em 1.5em;
	padding-right: 2.5rem;
	-webkit-print-color-adjust: exact;
	        color-adjust: exact;
}
[multiple] {
	background-image: initial;
	background-position: initial;
	background-repeat: unset;
	background-size: initial;
	padding-right: 0.75rem;
	-webkit-print-color-adjust: unset;
	        color-adjust: unset;
}

      [type='checkbox'],
      [type='radio']
     {
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	padding: 0;
	-webkit-print-color-adjust: exact;
	        color-adjust: exact;
	display: inline-block;
	vertical-align: middle;
	background-origin: border-box;
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	flex-shrink: 0;
	height: 1rem;
	width: 1rem;
	color: #2563eb;
	background-color: #fff;
	border-color: #6b7280;
	border-width: 1px;
}
[type='checkbox'] {
	border-radius: 0px;
}
[type='radio'] {
	border-radius: 100%;
}

      [type='checkbox']:focus,
      [type='radio']:focus
     {
	outline: 2px solid transparent;
	outline-offset: 2px;
	--tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
	--tw-ring-offset-width: 2px;
	--tw-ring-offset-color: #fff;
	--tw-ring-color: #2563eb;
	--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
	--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
	box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

      [type='checkbox']:checked,
      [type='radio']:checked
     {
	border-color: transparent;
	background-color: currentColor;
	background-size: 100% 100%;
	background-position: center;
	background-repeat: no-repeat;
}
[type='checkbox']:checked {
	background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
}
[type='radio']:checked {
	background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
}

      [type='checkbox']:checked:hover,
      [type='checkbox']:checked:focus,
      [type='radio']:checked:hover,
      [type='radio']:checked:focus
     {
	border-color: transparent;
	background-color: currentColor;
}
[type='checkbox']:indeterminate {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
	border-color: transparent;
	background-color: currentColor;
	background-size: 100% 100%;
	background-position: center;
	background-repeat: no-repeat;
}

      [type='checkbox']:indeterminate:hover,
      [type='checkbox']:indeterminate:focus
     {
	border-color: transparent;
	background-color: currentColor;
}
[type='file'] {
	background: unset;
	border-color: inherit;
	border-width: 0;
	border-radius: 0;
	padding: 0;
	font-size: unset;
	line-height: inherit;
}
[type='file']:focus {
	outline: 1px auto -webkit-focus-ring-color;
}
html {
    scroll-behavior: smooth;
    overflow-x: hidden;
  }
html,
	body {
    -webkit-overflow-scrolling: touch;
	}
body {
    font: calc(
    ((16.00 / 16) * 1rem) + (20.00 - 16.00) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ))/1.6 var(--font-body);
    font: var(--step-0)/1.6 var(--font-body);
    font-size: 1rem;
    line-height: 1.5rem;
    --tw-text-opacity: 1;
    color: rgba(5, 28, 44, var(--tw-text-opacity));
		height: 100%;
  }
p,
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	figcaption {
		max-width: 99ch;
		max-width: var(--measure-lg);
    line-height: 1.8;
  }
h1, h2, h3, h4, h5, h6 {
	font-family: poppins-600, sans-serif;
}
/* Modular Headings outwith .prose */
.h-largest {
    font-size: calc(
    ((47.78 / 16) * 1rem) + (112.20 - 47.78) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
    font-size: var(--step-6);
  }
.h0 {
    font-size: calc(
    ((39.81 / 16) * 1rem) + (84.17 - 39.81) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
    font-size: var(--step-5);
  }
.h1 {
    font-size: calc(
    ((33.18 / 16) * 1rem) + (63.15 - 33.18) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
    font-size: var(--step-4);
  }
.h2 {
    font-size: calc(
    ((27.65 / 16) * 1rem) + (47.37 - 27.65) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
    font-size: var(--step-3);
  }
.h3 {
	line-height: 1.5;
    font-size: calc(
    ((23.04 / 16) * 1rem) + (35.54 - 23.04) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
    font-size: var(--step-2);
}
.h4 {
    font-size: calc(
    ((19.20 / 16) * 1rem) + (26.66 - 19.20) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
    font-size: var(--step-1);
  }
.h5 {
    font-size: calc(
    ((16.00 / 16) * 1rem) + (20.00 - 16.00) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
    font-size: var(--step-0);
  }
.h6 {
    font-size: calc(
    ((13.33 / 16) * 1rem) + (15.00 - 13.33) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
    font-size: var(--step--1);
  }
label {
	font-weight: 600;
	--tw-text-opacity: 1;
	color: rgba(17, 17, 17, var(--tw-text-opacity));
}
label input, label textarea {
	--tw-text-opacity: 1;
	color: rgba(17, 17, 17, var(--tw-text-opacity));
}
input[type='text'], input[type='email'], input[type='url'], input[type='password'], input[type='number'], input[type='date'], input[type='datetime-local'], input[type='month'], input[type='search'], input[type='tel'], input[type='time'], input[type='week'], [multiple], textarea, select {
	--tw-border-opacity: 1;
	border-color: rgba(173, 173, 173, var(--tw-border-opacity));
	padding-top: 1rem;
	padding-bottom: 1rem;
	padding-left: 1rem;
	padding-right: 1rem;
	--tw-text-opacity: 1;
	color: rgba(17, 17, 17, var(--tw-text-opacity));
}
input[type='text']:focus, input[type='text']:active, input[type='email']:focus, input[type='email']:active, input[type='url']:focus, input[type='url']:active, input[type='password']:focus, input[type='password']:active, input[type='number']:focus, input[type='number']:active, input[type='date']:focus, input[type='date']:active, input[type='datetime-local']:focus, input[type='datetime-local']:active, input[type='month']:focus, input[type='month']:active, input[type='search']:focus, input[type='search']:active, input[type='tel']:focus, input[type='tel']:active, input[type='time']:focus, input[type='time']:active, input[type='week']:focus, input[type='week']:active, [multiple]:focus, [multiple]:active, textarea:focus, textarea:active, select:focus, select:active {
	border-width: 1px;
	--tw-border-opacity: 1;
	border-color: rgba(65, 143, 222, var(--tw-border-opacity));
	--tw-shadow: 0 0 #0000;
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	outline: 2px solid transparent;
	outline-offset: 2px;
	outline: 2px solid transparent;
	outline-offset: 2px;
      outline: 1px solid hsl(0deg 0% 0% / 0%);
      box-shadow: 0px 0px 0px 3px rgba(85,172,238,.2);
}
input[type='text'].error, input[type='email'].error, input[type='url'].error, input[type='password'].error, input[type='number'].error, input[type='date'].error, input[type='datetime-local'].error, input[type='month'].error, input[type='search'].error, input[type='tel'].error, input[type='time'].error, input[type='week'].error, [multiple].error, textarea.error, select.error {
      border: 1px solid rgba(195,2,2,1);
      box-shadow: 0px 0px 0px 3px rgba(255,0,0,.2);
    }
[multiple] option:hover, [multiple] option:focus {
	--tw-bg-opacity: 1;
	background-color: rgba(242, 242, 242, var(--tw-bg-opacity));
}
[multiple] option checked {
	--tw-bg-opacity: 1;
	background-color: rgba(65, 143, 222, var(--tw-bg-opacity));
}
/* 	Extend Preflight with your own base styles: https://tailwindcss.com/docs/adding-base-styles */
/* BASE
================================================== */
:root {

  /* Fixed spacing */
  --space: 1.5rem;
	--space-sm: calc(var(--space) / 2);
	--space-lg: calc(var(--space) * 2);

	/* Spacing proportional to screen */
	--gutter: calc(var(--space) + 1.5vw);
	--gutter-sm: calc(var(--gutter) / 2);
	--gutter-lg: calc(var(--gutter) * 2);
  

	/* Typography */
	--measure: 66ch;
	--measure-sm: 33ch;
	--measure-lg: 99ch;

	/* Colour */
	--color-light: #fff;
  --color-dark: #051c2c;

}
/* Type */
/* @link https://utopia.fyi/type/calculator?c=320,16,1.2,2560,20,1.333,6,1,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l */
:root {
  --fluid-min-width: 320;
  --fluid-max-width: 2560;

  --fluid-screen: 100vw;
  --fluid-bp: calc(
    (var(--fluid-screen) - var(--fluid-min-width) / 16 * 1rem) /
      (var(--fluid-max-width) - var(--fluid-min-width))
  );
}
@media screen and (min-width: 2560px) {
  :root {
    --fluid-screen: calc(var(--fluid-max-width) * 1px);
  }
}
:root {
  --f--1-min: 13.33;
  --f--1-max: 15.00;
  --step--1: calc(
    ((var(--f--1-min) / 16) * 1rem) + (var(--f--1-max) - var(--f--1-min)) *
      var(--fluid-bp)
  );

  --f-0-min: 16.00;
  --f-0-max: 20.00;
  --step-0: calc(
    ((var(--f-0-min) / 16) * 1rem) + (var(--f-0-max) - var(--f-0-min)) *
      var(--fluid-bp)
  );

  --f-1-min: 19.20;
  --f-1-max: 26.66;
  --step-1: calc(
    ((var(--f-1-min) / 16) * 1rem) + (var(--f-1-max) - var(--f-1-min)) *
      var(--fluid-bp)
  );

  --f-2-min: 23.04;
  --f-2-max: 35.54;
  --step-2: calc(
    ((var(--f-2-min) / 16) * 1rem) + (var(--f-2-max) - var(--f-2-min)) *
      var(--fluid-bp)
  );

  --f-3-min: 27.65;
  --f-3-max: 47.37;
  --step-3: calc(
    ((var(--f-3-min) / 16) * 1rem) + (var(--f-3-max) - var(--f-3-min)) *
      var(--fluid-bp)
  );

  --f-4-min: 33.18;
  --f-4-max: 63.15;
  --step-4: calc(
    ((var(--f-4-min) / 16) * 1rem) + (var(--f-4-max) - var(--f-4-min)) *
      var(--fluid-bp)
  );

  --f-5-min: 39.81;
  --f-5-max: 84.17;
  --step-5: calc(
    ((var(--f-5-min) / 16) * 1rem) + (var(--f-5-max) - var(--f-5-min)) *
      var(--fluid-bp)
  );

  --f-6-min: 47.78;
  --f-6-max: 112.20;
  --step-6: calc(
    ((var(--f-6-min) / 16) * 1rem) + (var(--f-6-max) - var(--f-6-min)) *
      var(--fluid-bp)
  );
}
/* fonts *
/* poppins-100 - latin */
@font-face {
  font-family: 'poppins-100';
  font-style: normal;
  font-weight: 100;
  src: url('../fonts/poppins-v15-latin-100.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-100.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-100.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-100.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-100.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-100.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-100italic - latin */
@font-face {
  font-family: 'poppins-100-italic';
  font-style: italic;
  font-weight: 100;
  src: url('../fonts/poppins-v15-latin-100italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-100italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-100italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-100italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-100italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-100italic.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-200 - latin */
@font-face {
  font-family: 'poppins-200';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/poppins-v15-latin-200.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-200.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-200.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-200.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-200.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-200.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-200italic - latin */
@font-face {
  font-family: 'poppins-200-italic';
  font-style: italic;
  font-weight: 200;
  src: url('../fonts/poppins-v15-latin-200italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-200italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-200italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-200italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-200italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-200italic.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-300 - latin */
@font-face {
  font-family: 'poppins-300';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/poppins-v15-latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-300.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-300italic - latin */
@font-face {
  font-family: 'poppins-300-italic';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/poppins-v15-latin-300italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-300italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-300italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-300italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-300italic.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-regular - latin */
@font-face {
  font-family: 'poppins-400';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/poppins-v15-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-regular.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-italic - latin */
@font-face {
  font-family: 'poppins-400-italic';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/poppins-v15-latin-italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-italic.svg#Poppins') format('svg'); /* Legacy iOS */
}
/* poppins-500 - latin */
@font-face {
  font-family: 'poppins-500';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/poppins-v15-latin-500.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-500.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-500.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-500italic - latin */
@font-face {
  font-family: 'poppins-500-italic';
  font-style: italic;
  font-weight: 500;
  src: url('../fonts/poppins-v15-latin-500italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-500italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-500italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-500italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-500italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-500italic.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-600 - latin */
@font-face {
  font-family: 'poppins-600';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/poppins-v15-latin-600.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-600.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-600.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-600italic - latin */
@font-face {
  font-family: 'poppins-600-italic';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/poppins-v15-latin-600italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-600italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-600italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-600italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-600italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-600italic.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-700 - latin */
@font-face {
  font-family: 'poppins-700';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/poppins-v15-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-700.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-700italic - latin */
@font-face {
  font-family: 'poppins-700-italic';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/poppins-v15-latin-700italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-700italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-700italic.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-800 - latin */
@font-face {
  font-family: 'poppins-800';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/poppins-v15-latin-800.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-800.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-800.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-800.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-800.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-800italic - latin */
@font-face {
  font-family: 'poppins-800-italic';
  font-style: italic;
  font-weight: 800;
  src: url('../fonts/poppins-v15-latin-800italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-800italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-800italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-800italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-800italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-800italic.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-900 - latin */
@font-face {
  font-family: 'poppins-900';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/poppins-v15-latin-900.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-900.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-900.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-900.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-900.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* poppins-900italic - latin */
@font-face {
  font-family: 'poppins-900-italic';
  font-style: italic;
  font-weight: 900;
  src: url('../fonts/poppins-v15-latin-900italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/poppins-v15-latin-900italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/poppins-v15-latin-900italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/poppins-v15-latin-900italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/poppins-v15-latin-900italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/poppins-v15-latin-900italic.svg#Poppins') format('svg'); /* Legacy iOS */
  font-display: swap;
}
/* accessibility */
.skip-to-content-link {
	position: absolute;
	border-radius: 0px;
	--tw-bg-opacity: 1;
	background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
	padding: 1rem;
	font-family: poppins-600, sans-serif;
	--tw-text-opacity: 1;
	color: rgba(17, 17, 17, var(--tw-text-opacity));
  left: 50%;
  transform: translate(-50%,-100%);
  transition: transform 0.3s;
  z-index: 100;
}
.skip-to-content-link:focus {
  transform: translate(-50%, 0%);
}
/*	Import Tailwind components */
.container {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
@media (min-width: 640px) {
	.container {
		max-width: 640px;
	}
}
@media (min-width: 768px) {
	.container {
		max-width: 768px;
	}
}
@media (min-width: 1024px) {
	.container {
		max-width: 1024px;
	}
}
@media (min-width: 1280px) {
	.container {
		max-width: 1280px;
	}
}
@media (min-width: 1536px) {
	.container {
		max-width: 1536px;
	}
}
.prose {
	color: #051c2c;
	max-width: var(--measure);
}
.prose [class~="lead"] {
	line-height: 1.6;
	margin-top: 1.2em;
	margin-bottom: 1.2em;
	-webkit-font-smoothing: antialiased;
}
.prose strong {
	font-weight: 600;
	font-family: poppins-600;
}
.prose ol[type="A"] {
	--list-counter-style: upper-alpha;
}
.prose ol[type="a"] {
	--list-counter-style: lower-alpha;
}
.prose ol[type="A" s] {
	--list-counter-style: upper-alpha;
}
.prose ol[type="a" s] {
	--list-counter-style: lower-alpha;
}
.prose ol[type="I"] {
	--list-counter-style: upper-roman;
}
.prose ol[type="i"] {
	--list-counter-style: lower-roman;
}
.prose ol[type="I" s] {
	--list-counter-style: upper-roman;
}
.prose ol[type="i" s] {
	--list-counter-style: lower-roman;
}
.prose ol[type="1"] {
	--list-counter-style: decimal;
}
.prose ol > li {
	position: relative;
	padding-left: 1.75em;
}
.prose ol > li::before {
	content: counter(list-item, var(--list-counter-style, decimal)) ".";
	position: absolute;
	font-weight: 400;
	color: #6b7280;
	left: 0;
}
.prose ul > li {
	position: relative;
	padding-left: 1.75em;
}
.prose ul > li::before {
	content: "";
	position: absolute;
	background-color: #051c2c;
	border-radius: 50%;
	width: 4px;
	height: 4px;
	top: .75em;
	left: .5em;
}
.prose hr {
	border-color: #e5e7eb;
	border-top-width: 1px;
	margin-top: 3em;
	margin-bottom: 3em;
}
.prose blockquote {
	font-weight: 500;
	font-style: normal;
	border-left-width: 0.25rem;
	border-left-color: #051c2c;
	quotes: "\201C""\201D""\2018""\2019";
	margin-top: 1.6em;
	margin-bottom: 1.6em;
	padding-left: 1em;
	font-family: poppins-600;
}
.prose blockquote p:first-of-type::before {
	content: open-quote;
}
.prose blockquote p:last-of-type::after {
	content: close-quote;
}
.prose h1 {
	font-weight: 800;
	font-size: var(--step-4);
	margin-top: 0;
	line-height: 1.1111111;
}
.prose h2 {
	font-weight: 700;
	font-size: var(--step-3);
	margin-top: 2em;
}
.prose h3 {
	font-weight: 600;
	font-size: var(--step-2);
	margin-top: 1.6em;
	line-height: 1.6;
}
.prose h4 {
	font-weight: 600;
	margin-top: 1.5em;
	line-height: 1.5;
	font-size: var(--step-1);
}
.prose figure figcaption {
	color: #6b7280;
	font-size: 0.875em;
	line-height: 1.4285714;
	margin-top: 0.8571429em;
}
.prose code {
	color: #111827;
	font-weight: 600;
	font-size: 0.875em;
}
.prose code::before {
	content: "`";
}
.prose code::after {
	content: "`";
}
.prose a code {
	color: #111827;
}
.prose pre {
	color: #e5e7eb;
	background-color: #051c2c;
	overflow-x: auto;
	font-size: 0.875em;
	line-height: 1.7142857;
	margin-top: 1.7142857em;
	margin-bottom: 1.7142857em;
	border-radius: 0.375rem;
	padding-top: 0.8571429em;
	padding-right: 1.1428571em;
	padding-bottom: 0.8571429em;
	padding-left: 1.1428571em;
}
.prose pre code {
	background-color: transparent;
	border-width: 0;
	border-radius: 0;
	padding: 0;
	font-weight: 400;
	color: inherit;
	font-size: inherit;
	font-family: inherit;
	line-height: inherit;
}
.prose pre code::before {
	content: none;
}
.prose pre code::after {
	content: none;
}
.prose table {
	width: 100%;
	table-layout: auto;
	text-align: left;
	margin-top: var(--gutter);
	margin-bottom: 2em;
	font-size: 0.875em;
	line-height: 1.7142857;
}
.prose thead {
	color: #111;
	font-weight: 600;
	border-bottom-width: 1px;
	border-bottom-color: #111;
}
.prose thead th {
	vertical-align: bottom;
	padding-right: 0.5714286em;
	padding-bottom: 0.5714286em;
	padding-left: 0.5714286em;
}
.prose tbody tr {
	border-bottom-width: 1px;
	border-bottom-color: #111;
}
.prose tbody tr:last-child {
	border-bottom-width: 0;
}
.prose tbody td {
	vertical-align: top;
	padding-top: 0.5714286em;
	padding-right: 0.5714286em;
	padding-bottom: 0.5714286em;
	padding-left: 0px;
}
.prose {
	font-size: 1rem;
	line-height: 1.75;
}
.prose p {
	margin-top: 1.25em;
	margin-bottom: 1.25em;
}
.prose img {
	margin-top: 2em;
	margin-bottom: 2em;
}
.prose video {
	margin-top: 2em;
	margin-bottom: 2em;
}
.prose figure {
	margin-top: 2em;
	margin-bottom: 2em;
}
.prose figure > * {
	margin-top: 0;
	margin-bottom: 0;
}
.prose h2 code {
	font-size: 0.875em;
}
.prose h3 code {
	font-size: 0.9em;
}
.prose ol {
	margin-top: 1.25em;
	margin-bottom: 1.25em;
}
.prose ul {
	margin-top: 1.25em;
	margin-bottom: 1.25em;
}
.prose li {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}
.prose > ul > li p {
	margin-top: 0.75em;
	margin-bottom: 0.75em;
}
.prose > ul > li > *:first-child {
	margin-top: 1.25em;
}
.prose > ul > li > *:last-child {
	margin-bottom: 1.25em;
}
.prose > ol > li > *:first-child {
	margin-top: 1.25em;
}
.prose > ol > li > *:last-child {
	margin-bottom: 1.25em;
}
.prose ul ul, .prose ul ol, .prose ol ul, .prose ol ol {
	margin-top: 0.75em;
	margin-bottom: 0.75em;
}
.prose hr + * {
	margin-top: 0;
}
.prose h2 + * {
	margin-top: 0;
}
.prose h3 + * {
	margin-top: 0;
}
.prose h4 + * {
	margin-top: 0;
}
.prose thead th:first-child {
	padding-left: 0;
}
.prose thead th:last-child {
	padding-right: 0;
}
.prose tbody td:first-child {
	padding-left: 0;
}
.prose tbody td:last-child {
	padding-right: 0;
}
.prose > :first-child {
	margin-top: 0;
}
.prose > :last-child {
	margin-bottom: 0;
}
.prose [class~="lead"] p {
	font-family: poppins-600;
}
.prose > :first-child > p {
	margin-top: 0px;
}
.prose a:not(.btn) {
	color: #051c2c;
	font-family: poppins-600;
	text-decoration: underline;
}
.prose mark {
	background-color: #051c2c;
	color: #FFF;
}
.prose mark a:not(.btn) {
	color: #FFF;
}
.prose h5 {
	font-size: var(--step-0);
}
.prose h6 {
	font-size: var(--step--0);
}
.prose > p {

}
.prose p, .prose li, .prose table {

}
.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6 {
	font-weight: 600;
}
.prose blockquote p {

}
.prose ol li:before {
	color: #051c2c;
}
/*	Extend with Base Build components: https://tailwindcss.com/docs/extracting-components */
/* 
  Off-Canvas - Reveal 
  https://tympanus.net/Development/SidebarTransitions/
*/
.st-container,
.st-pusher,
.st-content {
	height: 100%;
}
.st-content {
	--tw-bg-opacity: 1;
	background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
	overflow-y: auto;
}
.st-content,
.st-content-inner {
	position: relative;
}
.st-container {
	position: relative;
	overflow: hidden;
}
.st-pusher {
	position: relative;
	left: 0;
	z-index: 99;
	height: 100%;
	perspective: 1000px;
	transition: transform 0.5s;
}
.st-pusher::after {
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 0;
	content: '';
	opacity: 0;
	transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
  z-index: 31;
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}
/* purgecss ignore */
.st-menu-open .st-pusher::after {
	width: 100%;
	height: 100%;
	opacity: 1;
	transition: opacity 0.5s;
}
.st-menu {
	position: absolute;
	top: 0px;
	right: 0px;
	--tw-bg-opacity: 1;
	background-color: rgba(5, 28, 44, var(--tw-bg-opacity));
	--tw-bg-opacity: 0.9;
	--tw-text-opacity: 1;
	color: rgba(255, 255, 255, var(--tw-text-opacity));
  z-index:100;
	visibility: hidden;
	width: 300px;
	height: 100%;
	transition: all 0.2s;
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}
.st-menu::after {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.2);
	content: '';
	opacity: 1;
	transition: opacity 0.5s;
}
/* purgecss ignore */
.st-menu-open .st-menu::after {
	width: 0;
	height: 0;
	opacity: 0;
	transition: opacity 0.5s, width 0.1s 0.5s, height 0.1s 0.5s;
}
/* Effect 1: Slide in on top */
/* purgecss ignore */
.st-effect-1.st-menu {
	visibility: visible;
	transform: translate3d(100%, 0, 0);
}
/* purgecss ignore */
.st-effect-1.st-menu-open .st-effect-1.st-menu {
	visibility: visible;
	transform: translate3d(0, 0, 0);
}
/* purgecss ignore */
.st-effect-1.st-menu::after {
	display: none;
}
/* Effect 2: Reveal */
/* purgecss ignore */
.st-effect-2.st-menu-open .st-pusher {
	transform: translate3d(300px, 0, 0);
}
.st-effect-2.st-menu {
	z-index: 1;
}
/* purgecss ignore */
.st-effect-2.st-menu-open .st-effect-2.st-menu {
	visibility: visible;
	transition: transform 0.5s;
}
.st-effect-2.st-menu::after {
	display: none;
}
/* Fallback example for browsers that don't support 3D transforms (and no JS fallback) */
/* purgecss ignore */
.no-csstransforms3d .st-pusher,
.no-js .st-pusher {
	padding-left: 300px;
}
/* Buttons */
.btn {
	display: inline-block;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	--tw-text-opacity: 1;
	color: rgba(17, 17, 17, var(--tw-text-opacity));
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
@media (min-width: 640px) {
  .btn {
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
	}
  .btn {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}
}
@media (min-width: 768px) {
  .btn {
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
	}
  .btn {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}
.btn:not(.btn-primary, .btn-secondary) {
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	padding-left: 0px;
	padding-right: 0px;
	font-family: poppins-600, sans-serif;
	line-height: 1.5;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
}
.btn:not(.btn-primary, .btn-secondary) span {
	position: relative;
	display: inline-block;
	padding-bottom: 1px;
}
.btn:not(.btn-primary, .btn-secondary) span:after {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 0px;
	--tw-bg-opacity: 1;
	background-color: rgba(5, 28, 44, var(--tw-bg-opacity));
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
}
.btn:not(.btn-primary,.btn-secondary) span:after {
      content:'';
      height: 3px;
    }
.btn:not(.btn-primary,.btn-secondary):hover span:after, .btn:not(.btn-primary,.btn-secondary):focus span:after {
        width: 100%;
      }
@media (min-width: 768px) {
  .btn:not(.btn-primary, .btn-secondary) {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
  .btn:not(.btn-primary, .btn-secondary) {
		padding-left: 0px;
		padding-right: 0px;
	}
}
.btn-primary {
	border-width: 3px;
	--tw-border-opacity: 1;
	border-color: rgba(65, 143, 222, var(--tw-border-opacity));
	--tw-bg-opacity: 1;
	background-color: rgba(65, 143, 222, var(--tw-bg-opacity));
	font-family: poppins-700, sans-serif;
	font-size: 1rem;
	line-height: 1.5rem;
	--tw-text-opacity: 1;
	color: rgba(5, 28, 44, var(--tw-text-opacity));
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-primary:hover, .btn-primary:focus {
	--tw-border-opacity: 1;
	border-color: rgba(0, 199, 177, var(--tw-border-opacity));
	--tw-bg-opacity: 1;
	background-color: rgba(0, 199, 177, var(--tw-bg-opacity));
}
.btn-secondary {
	border-width: 3px;
	border-color: currentColor;
	font-family: poppins-600, sans-serif;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-secondary:hover, .btn-secondary:focus {
	--tw-bg-opacity: 1;
	background-color: rgba(5, 28, 44, var(--tw-bg-opacity));
	--tw-bg-opacity: 0.8;
}
.btn-secondary.invert {
	border-color: currentColor;
	color: currentColor;
}
.btn-secondary.invert:hover, .btn-secondary.invert:focus {
	--tw-bg-opacity: 1;
	background-color: rgba(5, 28, 44, var(--tw-bg-opacity));
	--tw-bg-opacity: 0.2;
}
.theme-em .btn-primary {
	border-width: 3px;
	--tw-border-opacity: 1;
	border-color: rgba(0, 199, 177, var(--tw-border-opacity));
	--tw-bg-opacity: 1;
	background-color: rgba(0, 199, 177, var(--tw-bg-opacity));
	font-family: poppins-700, sans-serif;
	font-size: 1rem;
	line-height: 1.5rem;
	--tw-text-opacity: 1;
	color: rgba(5, 28, 44, var(--tw-text-opacity));
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.theme-em .btn-primary:hover, .theme-em .btn-primary:focus {
	--tw-border-opacity: 1;
	border-color: rgba(65, 143, 222, var(--tw-border-opacity));
	--tw-bg-opacity: 1;
	background-color: rgba(65, 143, 222, var(--tw-bg-opacity));
}
.theme-em .btn-primary svg {
	margin-left: 1rem;
	fill: #333333;
}
.theme-em .btn-secondary {
	border-width: 3px;
	border-color: currentColor;
	font-family: poppins-600, sans-serif;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.theme-em .btn-secondary span {
	position: relative;
	z-index: 10;
}
.theme-em .btn-secondary:hover, .theme-em .btn-secondary:focus {
	--tw-border-opacity: 1;
	border-color: rgba(0, 199, 177, var(--tw-border-opacity));
	--tw-bg-opacity: 0;
	--tw-text-opacity: 1;
	color: rgba(0, 199, 177, var(--tw-text-opacity));
}
.theme-em .btn-secondary.invert {
	border-color: currentColor;
	color: currentColor;
}
.theme-em .btn-secondary.invert:hover, .theme-em .btn-secondary.invert:focus {
	--tw-border-opacity: 1;
	border-color: rgba(65, 143, 222, var(--tw-border-opacity));
	--tw-text-opacity: 1;
	color: rgba(65, 143, 222, var(--tw-text-opacity));
}
.btn-secondary {
	border-width: 3px;
	border-color: currentColor;
	font-family: poppins-600, sans-serif;
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.btn-secondary span {
	position: relative;
	z-index: 10;
}
.btn-secondary:hover, .btn-secondary:focus {
	--tw-border-opacity: 1;
	border-color: rgba(65, 143, 222, var(--tw-border-opacity));
	--tw-bg-opacity: 0;
	--tw-text-opacity: 1;
	color: rgba(65, 143, 222, var(--tw-text-opacity));
}
.btn-secondary.invert {
	border-color: currentColor;
	color: currentColor;
}
.btn-secondary.invert:hover, .btn-secondary.invert:focus {
	--tw-border-opacity: 1;
	border-color: rgba(65, 143, 222, var(--tw-border-opacity));
	--tw-text-opacity: 1;
	color: rgba(65, 143, 222, var(--tw-text-opacity));
}
.btn-top {
	position: absolute;
	left: 0px;
	top: 0px;
	margin-left: var(--gutter);
	--tw-bg-opacity: 1;
	background-color: rgba(65, 143, 222, var(--tw-bg-opacity));
	--tw-bg-opacity: 0.9;
	padding: 1rem;
	font-size: 1rem;
	line-height: 1.5rem;
	--tw-text-opacity: 1;
	color: rgba(5, 28, 44, var(--tw-text-opacity));
}
.btn-top:hover, .btn-top:focus {
	--tw-bg-opacity: 1;
}
@media (min-width: 1024px) {
  .btn-top {
		margin-left: var(--gutter-lg);
	}
}
.theme-em .btn-secondary.disabled {
	cursor: not-allowed;
	--tw-border-opacity: 1;
	border-color: rgba(199, 200, 198, var(--tw-border-opacity));
	--tw-text-opacity: 1;
	color: rgba(199, 200, 198, var(--tw-text-opacity));
}
.hamburger {
  padding: 10px 0px 10px 10px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
.hamburger:hover {
    opacity: 0.7; }
.hamburger.is-active:hover {
    opacity: 0.7; }
.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after {
	--tw-bg-opacity: 1;
	background-color: rgba(5, 28, 44, var(--tw-bg-opacity));
}
.hamburger-box {
  width: 30px;
  height: 24px;
  display: inline-block;
  position: relative; }
.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; }
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
	--tw-bg-opacity: 1;
	background-color: rgba(5, 28, 44, var(--tw-bg-opacity));
    width: 30px;
    height: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
.hamburger-inner::before {
    top: -10px; }
.hamburger-inner::after {
    bottom: -10px; }
/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--squeeze .hamburger-inner::before {
    transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
.hamburger--squeeze .hamburger-inner::after {
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--squeeze.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
.hamburger--squeeze.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }
/* ===== SPLIT =====
  
  Half media, half text (maybe even video but lets not get ahead of ourselves).
  Usually a 50/50 split but not set in stone!
  
*/
.split {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.split *,
  .split *::before,
  .split *::after {
    box-sizing: border-box;
  }
@media (min-width: 1024px) {
  .split {
		display: flex;
	}
  .split {
		flex-direction: row;
	}
  .split {
		align-items: stretch;
	}
}
.split-reverse {
	flex-direction: column;
}
@media (min-width: 1024px) {
  .split-reverse {
		flex-direction: row-reverse;
	}
}
/* 50/50 */
.split-item {
	overflow: hidden;
}
@media (min-width: 1024px) {
  .split-item {
		width: 50%;
	}
}
/* Controlling how the image displays */
.split-media, .split-content {
	height: 100%;
	width: 100%;
}
.split-media,
.split-content { /* Media object always fills its container */
}
.split-picture {
	height: 100%;
	width: 100%; /* Image always fills its container */
}
.split-img {
	height: 100%;
	max-height: 100vh;
	width: 100%; /* Image always fills its container */
}
.split-text {

}
.split-text-inner {
	margin: auto;
}
.split .change-fill path {
	fill: #051c2c;
}
.split-content {
	position: relative;
}
.split-content:before {
	position: absolute;
	margin-top: var(--gutter);
	margin-right: var(--gutter);
	--tw-bg-opacity: 1;
	background-color: rgba(17, 17, 17, var(--tw-bg-opacity));
    content: '';
    top:0;
    right: 0;
    width: calc(.3vw + 2px);
    height: 100%;
}
.split-content:after {
	position: absolute;
	margin-top: var(--gutter);
	margin-right: var(--gutter);
	width: 16.666667%;
	--tw-bg-opacity: 1;
	background-color: rgba(17, 17, 17, var(--tw-bg-opacity));
    content: '';
    top:0;
    right: 0;
    height: calc(.3vw + 2px);
}
.split-reverse .split-content {
	position: relative;
}
.split-reverse .split-content:before {
	position: absolute;
	margin-top: var(--gutter);
	margin-left: var(--gutter);
	--tw-bg-opacity: 1;
	background-color: rgba(17, 17, 17, var(--tw-bg-opacity));
      content: '';
      top:0;
      left: 0;
      width: calc(.3vw + 2px);
      height: 100%;
}
.split-reverse .split-content:after {
	position: absolute;
	margin-top: var(--gutter);
	margin-left: var(--gutter);
	width: 16.666667%;
	--tw-bg-opacity: 1;
	background-color: rgba(17, 17, 17, var(--tw-bg-opacity));
      content: '';
      top:0;
      left: 0;
      height: calc(.3vw + 2px);
}
/*

The Reel is a robust and efficient antidote to carousel/slider components. As already discussed and demonstrated, it is ideal for browsing categories of things: movies; products; news stories; photographs. 

If it's good enough for the BBC, it's good enough for us! Their example has additional controls too.
https://bbc.github.io/gel/components/demos/carousels/

Book: https://public.3.basecamp.com/p/qj4XmUpfBiCS8mZAW1AYvT4M
Website: https://absolutely.every-layout.dev/layouts/reel/

*/
.reel {
	display: flex;
	gap: 0.25rem;
  height: auto;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-color: #cccccc transparent;
}
.reel::-webkit-scrollbar {
  height: 1rem;
}
.reel::-webkit-scrollbar-track {
  background-color: transparent;
}
.reel::-webkit-scrollbar-thumb {
  background-color: transparent;
  background-image: linear-gradient(transparent 0, transparent 0.25rem, #c7c8c6 0.25rem, #c7c8c6 0.75rem, transparent 0.75rem);
}
.reel > * {
  flex: 0 0 auto;
}
.reel > img {
  height: 100%;
  flex-basis: auto;
  width: auto;
}
.reel > * + * {
  
}
.reel.overflowing {
  padding-bottom: calc(calc(1.5rem + 1.5vw) / 2);
  padding-bottom: var(--gutter-sm);
}
/* 
  Media - videoembed, html5video, image components
*/
.content-image img {
  height: auto;
  width: 100%;
}
.content-image figcaption, .content-video figcaption {
	position: relative;
	margin-left: 0px;
	margin-right: auto;
	width: 100%;
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
	padding-right: 0.25rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
	--tw-text-opacity: 1;
	color: rgba(17, 17, 17, var(--tw-text-opacity));
}
.content-image figcaption,
.content-video figcaption {
  margin-top: calc(var(--leading) * -1);
}
@media (min-width: 768px) {
  .content-image figcaption, .content-video figcaption {
		width: 75%;
	}
}
.video-wrapper {
	position: relative;
	z-index: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
}
.video-wrapper img, .video-wrapper iframe, .video-wrapper video {
	position: absolute;
	top: 0px;
	bottom: 0px;
	height: 100%;
	width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
.video-wrapper video {
    height: 100% !important;
  }
.video-wrapper > div > a > div {

    /*&:before {
      @apply absolute left-0 top-0 w-full h-full z-10;
      background-image: radial-gradient(circle farthest-corner at 50% 50%, hsl(211deg 100% 8% / 50%), hsl(211deg 100% 8%));
      content: '';
    }*/
  }
.video-icon {
	position: absolute;
	z-index: 10;
	display: block;
	height: 3rem;
	width: 3rem;
	fill: currentColor;
	--tw-text-opacity: 1;
	color: rgba(255, 255, 255, var(--tw-text-opacity));
	transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
	transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
	transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
  left: calc(50% - 3rem/2);
  top: calc(50% - 3rem/2);
}
.video-icon:hover, .video-icon:focus {
	--tw-text-opacity: 1;
	color: rgba(51, 51, 51, var(--tw-text-opacity));
}
#play-boxed:hover path, #play-boxed:hover polygon, #play-boxed:hover rect, #play-boxed:focus path, #play-boxed:focus polygon, #play-boxed:focus rect {
	fill: #418fde;
}
@media (min-width: 640px) {
  .video-icon {
    left: calc(50% - 6rem/2);
    top: calc(50% - 6rem/2);
  }
  .video-icon {
		height: 6rem;
	}
  .video-icon {
		width: 6rem;
	}
}
.svg-flip {
  transform: scaleX(-1);
}
/* Ratio container prevents CLS issues */
.ratio-container {
	position: relative;
}
.ratio-container.ratio-16-9:after {
        content: '';
        display: block;
        height: 0;
        width: 100%;
        /* 16:9 = 56.25% = calc(9 / 16 * 100%) */
        padding-bottom: 56.25%;
  }
.ratio-container.ratio-9-16:after {
        content: '';
        display: block;
        height: 0;
        width: 100%;
        /* 9:16 = 56.25% = calc(16 / 9 * 100%) */
        padding-bottom: 177.77%;
  }
.ratio-container.ratio-square:after {
        content: '';
        display: block;
        height: 0;
        width: 100%;
        /* 1:1 = 100% = calc(1 / 1 * 100%) */
        padding-bottom: 100%;
  }
.ratio-container.ratio-2-1:after {
        content: '';
        display: block;
        height: 0;
        width: 100%;
        /* 2:1 = 100% = calc(1 / 2 * 100%) */
        padding-bottom: 50%;
  }
.ratio-container.ratio-4-5:after {
        content: '';
        display: block;
        height: 0;
        width: 100%;
        /* 4:5 = 100% = calc(4 / 5 * 100%) */
        padding-bottom: 125%;
  }
.ratio-container.ratio-3-2:after {
        content: '';
        display: block;
        height: 0;
        width: 100%;
        /* 3:2 = 66.66% = calc(2 / 3 * 100%) */
        padding-bottom: 66.66%;
  }
.ratio-container.ratio-3-1:after {
        content: '';
        display: block;
        height: 0;
        width: 100%;
        /* 1:3 = 33.33% = calc(1 / 3 * 100%) */
        padding-bottom: 33.33%;
  }
.ratio-container.ratio-2-3:after {
        content: '';
        display: block;
        height: 0;
        width: 100%;
        /* 2:3 = 150% = calc(2 / 3 * 100%) */
        padding-bottom: 150%;
  }
.ratio-container.ratio-4-3:after {
        content: '';
        display: block;
        height: 0;
        width: 100%;
        /* 4:3 = 75% = calc(2 / 4 * 100%) */
        padding-bottom: 75%;
  }
.ratio-container > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
}
/**************************\
  Basic Modal Styles
\**************************/
.modal {
  font-family: -apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif;
}
.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal__container {
  background-color: #fff;
  padding: 30px;
  max-width: 500px;
  max-height: 100vh;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box;
}
.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.25;
  box-sizing: border-box;
}
.modal__close {
  background: transparent;
  border: 0;
}
.modal__header .modal__close:before { content: "\2715"; }
.modal__content {
  margin-top: 2rem;
  margin-bottom: 2rem;
  line-height: 1.5;
  color: rgba(0,0,0,.8);
}
.modal__btn {
  font-size: .875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: .5rem;
  padding-bottom: .5rem;
  background-color: #e6e6e6;
  color: rgba(0,0,0,.8);
  border-radius: .25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: transform .25s ease-out;
}
.modal__btn:focus, .modal__btn:hover {
  transform: scale(1.05);
}
.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}
/**************************\
  Demo Animation Style
\**************************/
@keyframes mmfadeIn {
    from { opacity: 0; }
      to { opacity: 1; }
}
@keyframes mmfadeOut {
    from { opacity: 1; }
      to { opacity: 0; }
}
@keyframes mmslideIn {
  from { transform: translateY(15%); }
    to { transform: translateY(0); }
}
@keyframes mmslideOut {
    from { transform: translateY(0); }
    to { transform: translateY(-10%); }
}
.micromodal-slide {
  display: none;
}
.micromodal-slide.is-open {
  display: block;
}
.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}
.micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}
.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}
.micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}
.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*
	Styles for basic PhotoSwipe functionality (sliding area, open/close transitions)
*/
/* pswp = photoswipe */
/* purgecss start ignore */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none; }
.pswp * {
    box-sizing: border-box; }
.pswp img {
    max-width: none; }
/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }
.pswp--open {
  display: block; }
.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }
.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab; }
.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing; }
/*
	Background is added as a separate element.
	As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  will-change: opacity; }
.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }
.pswp__container,
.pswp__zoom-wrap {
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0; }
/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
      user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none; }
.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  transform-origin: left top;
  /* for open/close transition */
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1); }
.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }
.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  transition: none; }
.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden; }
.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden; }
.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0; }
/*
	stretched thumbnail or div placeholder element (see below)
	style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden; }
/*
	div element that matches size of large image
	large image loads on top of it
*/
.pswp__img--placeholder--blank {
  background: #222; }
.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0; }
/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC; }
.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline; }
.pswp__zoom-wrap {
  text-align: center;
}
.pswp__zoom-wrap:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
  }
.wrapper {
  line-height: 0;
  width: 100%;
  max-width: 900px;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}
.video-wrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
  width: 100%;
}
.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
video {
  width: 100% !important;
  height: auto !important;
}
/* purgecss end ignore */
/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */
/*

	Contents:

	1. Buttons
	2. Share modal and links
	3. Index indicator ("1 of X" counter)
	4. Caption
	5. Loading indicator
	6. Additional styles (root element, top bar, idle state, hidden state, etc.)

*/
/*
	
	1. Buttons

 */
/* <button> css reset */
/* purgecss start ignore */
.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 0.75;
  transition: opacity 0.2s;
  box-shadow: none; }
.pswp__button:focus, .pswp__button:hover {
    opacity: 1; }
.pswp__button:active {
    outline: none;
    opacity: 0.9; }
.pswp__button::-moz-focus-inner {
    padding: 0;
    border: 0; }
/* pswp__ui--over-close class it added when mouse is over element that should close gallery */
.pswp__ui--over-close .pswp__button--close {
  opacity: 1; }
.pswp__button,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background: url(default-skin.png) 0 0 no-repeat;
  background-size: 264px 88px;
  width: 44px;
  height: 44px; }
@media (-webkit-min-device-pixel-ratio: 1.1), (-webkit-min-device-pixel-ratio: 1.09375), (min-resolution: 105dpi), (min-resolution: 1.1dppx) {
  /* Serve SVG sprite if browser supports SVG and resolution is more than 105dpi */
  .pswp--svg .pswp__button,
  .pswp--svg .pswp__button--arrow--left:before,
  .pswp--svg .pswp__button--arrow--right:before {
    background-image: url(default-skin.svg); }
  .pswp--svg .pswp__button--arrow--left,
  .pswp--svg .pswp__button--arrow--right {
    background: none; } }
.pswp__button--close {
  background-position: 0 -44px; }
.pswp__button--share {
  background-position: -44px -44px; }
.pswp__button--fs {
  display: none; }
.pswp--supports-fs .pswp__button--fs {
  display: block; }
.pswp--fs .pswp__button--fs {
  background-position: -44px 0; }
.pswp__button--zoom {
  display: none;
  background-position: -88px 0; }
.pswp--zoom-allowed .pswp__button--zoom {
  display: block; }
.pswp--zoomed-in .pswp__button--zoom {
  background-position: -132px 0; }
/* no arrows on touch screens */
.pswp--touch .pswp__button--arrow--left,
.pswp--touch .pswp__button--arrow--right {
  visibility: hidden; }
/*
	Arrow buttons hit area
	(icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute; }
.pswp__button--arrow--left {
  left: 0; }
.pswp__button--arrow--right {
  right: 0; }
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  content: '';
  top: 35px;
  background-color: rgba(0, 0, 0, 0.3);
  height: 30px;
  width: 32px;
  position: absolute; }
.pswp__button--arrow--left:before {
  left: 6px;
  background-position: -138px -44px; }
.pswp__button--arrow--right:before {
  right: 6px;
  background-position: -94px -44px; }
/*

	2. Share modal/popup and links

 */
.pswp__counter,
.pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
      user-select: none; }
.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity; }
.pswp__share-modal--hidden {
  display: none; }
.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #FFF;
  top: 56px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 44px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  transform: translateY(6px);
  transition: transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform; }
.pswp__share-tooltip a {
    display: block;
    padding: 8px 12px;
    color: #000;
    text-decoration: none;
    font-size: 14px;
    line-height: 18px; }
.pswp__share-tooltip a:hover {
      text-decoration: none;
      color: #000; }
.pswp__share-tooltip a:first-child {
      /* round corners on the first/last list item */
      border-radius: 2px 2px 0 0; }
.pswp__share-tooltip a:last-child {
      border-radius: 0 0 2px 2px; }
.pswp__share-modal--fade-in {
  opacity: 1; }
.pswp__share-modal--fade-in .pswp__share-tooltip {
    transform: translateY(0); }
/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px; }
a.pswp__share--facebook:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid transparent;
  border-bottom-color: #FFF;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none; }
a.pswp__share--facebook:hover {
  background: #3E5C9A;
  color: #FFF; }
a.pswp__share--facebook:hover:before {
    border-bottom-color: #3E5C9A; }
a.pswp__share--twitter:hover {
  background: #55ACEE;
  color: #FFF; }
a.pswp__share--pinterest:hover {
  background: #CCC;
  color: #CE272D; }
a.pswp__share--download:hover {
  background: #DDD; }
/*

	3. Index indicator ("1 of X" counter)

 */
.pswp__counter {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  font-size: 13px;
  line-height: 44px;
  color: #FFF;
  opacity: 0.75;
  padding: 0 10px; }
/*
	
	4. Caption

 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 44px; }
.pswp__caption small {
    font-size: 11px;
    color: #BBB; }
.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #CCC; }
.pswp__caption--empty {
  display: none; }
/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden; }
/*

	5. Loading indicator (preloader)

	You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr; }
.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px; }
.pswp__preloader--active {
  opacity: 1; }
.pswp__preloader--active .pswp__preloader__icn {
    /* We use .gif in browsers that don't support CSS animation */
    background: url(preloader.gif) 0 0 no-repeat; }
.pswp--css_animation .pswp__preloader--active {
  opacity: 1; }
.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
    animation: clockwise 500ms linear infinite; }
.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
    animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite; }
.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0; }
.pswp--css_animation .pswp__preloader__cut {
  /* 
			The idea of animating inner circle is based on Polymer ("material") loading indicator 
			 by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
		*/
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden; }
.pswp--css_animation .pswp__preloader__donut {
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #FFF;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0; }
@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right; } }
@keyframes clockwise {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
@keyframes donut-rotate {
  0% {
    transform: rotate(0); }
  50% {
    transform: rotate(-140deg); }
  100% {
    transform: rotate(0); } }
/*
	
	6. Additional styles

 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550; }
/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%; }
.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-backface-visibility: hidden;
  will-change: opacity;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); }
/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible; }
.pswp__top-bar,
.pswp__caption {
  background-color: rgba(0, 0, 0, 0.5); }
/* pswp__ui--fit class is added when main image "fits" between top bar and bottom bar (caption) */
.pswp__ui--fit .pswp__top-bar,
.pswp__ui--fit .pswp__caption {
  background-color: rgba(0, 0, 0, 0.3); }
/* pswp__ui--idle class is added when mouse isn't moving for several seconds (JS option timeToIdle) */
.pswp__ui--idle .pswp__top-bar {
  opacity: 0; }
.pswp__ui--idle .pswp__button--arrow--left,
.pswp__ui--idle .pswp__button--arrow--right {
  opacity: 0; }
/*
	pswp__ui--hidden class is added when controls are hidden
	e.g. when user taps to toggle visibility of controls
*/
.pswp__ui--hidden .pswp__top-bar,
.pswp__ui--hidden .pswp__caption,
.pswp__ui--hidden .pswp__button--arrow--left,
.pswp__ui--hidden .pswp__button--arrow--right {
  /* Force paint & create composition layer for controls. */
  opacity: 0.001; }
/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none; }
.pswp__element--disabled {
  display: none !important; }
.pswp--minimal--dark .pswp__top-bar {
  background: none; }
/* purgecss end ignore */
[type='checkbox'], [type='radio'] {
	--tw-text-opacity: 1;
	color: rgba(51, 51, 51, var(--tw-text-opacity));
}
[type='checkbox']:focus, [type='checkbox']:active, [type='radio']:focus, [type='radio']:active {
	border-width: 1px;
	--tw-border-opacity: 1;
	border-color: rgba(65, 143, 222, var(--tw-border-opacity));
	--tw-shadow: 0 0 #0000;
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	outline: 2px solid transparent;
	outline-offset: 2px;
	outline: 2px solid transparent;
	outline-offset: 2px;
    outline: 1px solid hsl(0deg 0% 0% / 0%);
    box-shadow: 0px 0px 0px 3px rgba(85,172,238,.2);
}
[type='radio'] {
	border-radius: 9999px;
	--tw-text-opacity: 1;
	color: rgba(65, 143, 222, var(--tw-text-opacity));
}
[type='checkbox'] {
	border-radius: 0.25rem;
	--tw-text-opacity: 1;
	color: rgba(65, 143, 222, var(--tw-text-opacity));
}
/* Dropdown */
.form-dropdown button {
	font-weight: 600;
	letter-spacing: 0.025em;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-size: 1.5em 2em;
    padding-right: 2.5rem;
    -webkit-print-color-adjust: exact;
    background-position: right 1rem center;
    background-repeat: no-repeat;
}
.form-dropdown button[aria-expanded=false] + div {
	display: none;
}
.form-dropdown button[aria-expanded=true] + div {
	display: block;
}
.form-dropdown a {
	border-width: 1px;
	border-bottom-width: 0px;
	padding-left: var(--gutter-sm);
	padding-right: var(--gutter-sm);
	padding-top: 1rem;
	padding-bottom: 1rem;
	transition-property: background-color, border-color, color, fill, stroke;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.form-dropdown a:hover,.form-dropdown a:focus {

    }
.form-dropdown + div {

}
/* Lazysizes / lazyload */
/* purgecss start ignore */
.lazyload,
.lazyloading {
	opacity: 0;
}
.lazyloaded {
	opacity: 1;
	transition: opacity 300ms;
}
/* Inview Animations */
.js .js-inview {
    animation-duration: .5s;
    animation-fill-mode: both;
  }
.js .animate-fade-in {
    animation: fadein .5s;
  }
.js .animate-left {
    opacity: 0;
  }
.js .animate-left.animate {
      animation-name: fade-in-left;
    }
.js .animate-right {
    opacity: 0;
  }
.js .animate-right.animate {
      animation-name: fade-in-right;
    }
.js .animate-up {
    opacity: 0;
  }
.js .animate-up.animate {
      animation-name: fade-in-up;
    }
/* Removes animation */
@media (prefers-reduced-motion: reduce) {
    .js .animate-left, .js .animate-right, .js .animate-top {
      animation:none;
      opacity: 1;
    }
}
@keyframes fade-in-left {
   0% {
      opacity: 0;
      transform: translateX(10%);
   }
   100% {
      opacity: 1;
      transform: translateX(0);
   }
}
@keyframes fade-in-right {
   0% {
      opacity: 0;
      transform: translateX(-10%);
   }
   100% {
      opacity: 1;
      transform: translateX(0);
   }
}
@keyframes fade-in-up {
   0% {
      opacity: 0;
      transform: translateY(20%);
   }
   100% {
      opacity: 1;
      transform: translateY(0);
   }
}
@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* purgecss end ignore */
/* 
  Hero
*/
.ha-hero {
	position: relative;
	display: flex;
	min-height: 100%;
	flex-direction: column;
	overflow: hidden;
	--tw-bg-opacity: 1;
	background-color: rgba(5, 28, 44, var(--tw-bg-opacity));
}
/* Main logo */
.logo-svg path, .logo-svg polygon, .logo-svg rect, #search path, #search polygon, #search rect {
	fill: #051c2c;
}
.ha-header {
	position: relative;
	z-index: 30;
	--tw-bg-opacity: 1;
	background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
	padding: var(--gutter);
}
@media (min-width: 1024px) {
  .ha-header {
		background-color: transparent;
	}

  /* Main logo */
      .logo-svg path, .logo-svg polygon, .logo-svg rect, #search path, #search polygon, #search rect {
		fill: #FFF;
	}

}
.service-icon {
  max-width: 100px;
  min-width: 75px;
}
.ha-hero-wrap {
	display: flex;
	flex: 1 1 0%;
	flex-direction: column;
	justify-content: center;
	padding: var(--gutter);
  flex-wrap: wrap;
}
@media (min-width: 640px) {
  .ha-hero-wrap {
		padding: var(--gutter-lg);
	}
}
@media (min-width: 1024px) {
  .ha-hero-wrap {
		padding: var(--gutter-lg);
	}
  .ha-hero-wrap {
		padding-bottom: var(--gutter);
	}
}
.header-search {
	position: absolute;
	left: 0px;
	top: 7rem;
	z-index: 30;
	display: none;
	height: 100%;
	width: 100%;
	border-top-width: 1px;
	--tw-border-opacity: 1;
	border-color: rgba(227, 227, 226, var(--tw-border-opacity));
	--tw-bg-opacity: 1;
	background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}
.header-search.is-active {
	display: block;
}
@media (min-width: 1024px) {
  .header-search {
		position: fixed;
	}
  .header-search {
		top: 0px;
	}
  .header-search {
		display: none;
	}
  .header-search {
		height: 100%;
	}
  .header-search {
		align-items: center;
	}
  .header-search {
		justify-content: center;
	}
  .header-search {
		--tw-bg-opacity: 1;
		background-color: rgba(5, 28, 44, var(--tw-bg-opacity));
	}
  .header-search {
		--tw-bg-opacity: 0.9;
	}

    .header-search.is-active {
		display: flex;
	}
}
/* Content appears above media */
.ha-hero-content {
	position: relative;
	z-index: 20;
	--tw-text-opacity: 1;
	color: rgba(255, 255, 255, var(--tw-text-opacity));
}
.ha-hero-content .ha-hero-description {

  }
.ha-hero-content p {
    margin-bottom: 1.25em;
    font-size: calc(
    ((16.00 / 16) * 1rem) + (20.00 - 16.00) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
    font-size: var(--step-0);
  }
@media (min-width: 768px) {
  .ha-hero-content {
    
  }
}
/* Hero media used for background image or video */
.ha-hero-media {
	position: absolute;
	top: 0px;
	left: 0px;
	height: 100%;
	width: 100%;
  z-index: 1;
}
.ha-hero-media video, .ha-hero-media img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}
/* Optional overlay */
.ha-hero-media.has-overlay:before {
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 10;
	height: 100%;
	width: 100%;
      content:'';
      background-image: radial-gradient(circle farthest-corner at 50% 50%, hsl(211deg 100% 8% / 50%), hsl(211deg 100% 8%));
}
.bg-image {
	position: absolute;
	top: 0px;
	left: 0px;
	height: 100%;
	width: 100%;
}
.bg-image:before {
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 10;
	height: 100%;
	width: 100%;
      content:'';
      background-image: radial-gradient(circle farthest-corner at 50% 50%, hsl(211deg 100% 8% / 50%), hsl(211deg 100% 8%));
}
.sidebar {
  min-width: 200px;
}
.sidebar > div {
	position: sticky;
	--tw-bg-opacity: 1;
	background-color: rgba(242, 242, 242, var(--tw-bg-opacity));
	padding: var(--gutter);
    top: 3em;
}
@media (min-width: 1024px) {
  .sidebar {
		width: 33.333333%;
	}

    .sidebar > div {
		padding: var(--gutter-sm);
	}
}
/* purgecss start ignore */
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}
.splide--draggable>.splide__slider>.splide__track,.splide--draggable>.splide__track{-webkit-user-select:none;-moz-user-select:none;user-select:none}
.splide--fade>.splide__slider>.splide__track>.splide__list,.splide--fade>.splide__track>.splide__list{display:block}
.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--fade>.splide__track>.splide__list>.splide__slide{left:0;opacity:0;position:absolute;top:0;z-index:0}
.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--fade>.splide__track>.splide__list>.splide__slide.is-active{opacity:1;position:relative;z-index:1}
.splide--rtl{direction:rtl}
.splide--ttb.is-active>.splide__slider>.splide__track>.splide__list,.splide--ttb.is-active>.splide__track>.splide__list{display:block}
.splide__container{box-sizing:border-box;position:relative}
.splide__list{backface-visibility:hidden;display:flex;height:100%;margin:0!important;padding:0!important;transform-style:preserve-3d}
.splide.is-initialized:not(.is-active) .splide__list{display:block}
.splide__pagination{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin:0;pointer-events:none}
.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}
.splide__progress__bar{width:0}
.splide{outline:none;position:relative;visibility:hidden}
.splide.is-initialized,.splide.is-rendered{visibility:visible}
.splide__slide{backface-visibility:hidden;box-sizing:border-box;flex-shrink:0;list-style-type:none!important;margin:0;outline:none;position:relative}
.splide__slide img{vertical-align:bottom}
.splide__slider{position:relative}
.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}
.splide__track{overflow:hidden;position:relative;z-index:0}
.splide__container{box-sizing:border-box;position:relative}
.splide__list{backface-visibility:hidden;display:flex;height:100%;margin:0!important;padding:0!important;transform-style:preserve-3d}
.splide.is-initialized:not(.is-active) .splide__list{display:block}
.splide__pagination{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin:0;pointer-events:none}
.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}
.splide__progress__bar{width:0}
.splide{outline:none;position:relative;visibility:hidden}
.splide.is-initialized,.splide.is-rendered{visibility:visible}
.splide__slide{backface-visibility:hidden;box-sizing:border-box;flex-shrink:0;list-style-type:none!important;margin:0;outline:none;position:relative}
.splide__slide img{vertical-align:bottom}
.splide__slider{position:relative}
.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}
.splide__track{overflow:hidden;position:relative;z-index:0}
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}
.splide--draggable>.splide__slider>.splide__track,.splide--draggable>.splide__track{-webkit-user-select:none;-moz-user-select:none;user-select:none}
.splide--fade>.splide__slider>.splide__track>.splide__list,.splide--fade>.splide__track>.splide__list{display:block}
.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--fade>.splide__track>.splide__list>.splide__slide{left:0;opacity:0;position:absolute;top:0;z-index:0}
.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--fade>.splide__track>.splide__list>.splide__slide.is-active{opacity:1;position:relative;z-index:1}
.splide--rtl{direction:rtl}
.splide--ttb.is-active>.splide__slider>.splide__track>.splide__list,.splide--ttb.is-active>.splide__track>.splide__list{display:block}
.splide__arrow{align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:flex;height:2em;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}
.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}
.splide__arrow:hover{opacity:.9}
.splide__arrow:focus{outline:none}
.splide__arrow--prev{left:1em}
.splide__arrow--prev svg{transform:scaleX(-1)}
.splide__arrow--next{right:1em}
.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}
.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;transition:transform .2s linear;width:8px}
.splide__pagination__page.is-active{background:#fff;transform:scale(1.4)}
.splide__pagination__page:hover{cursor:pointer;opacity:.9}
.splide__pagination__page:focus{outline:none}
.splide__progress__bar{background:#ccc;height:3px}
.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--nav>.splide__track>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}
.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--nav>.splide__track>.splide__list>.splide__slide.is-active{border:3px solid #000}
.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide:focus,.splide--nav>.splide__track>.splide__list>.splide__slide:focus{outline:none}
.splide--rtl>.splide__arrows .splide__arrow--prev,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--prev{left:auto;right:1em}
.splide--rtl>.splide__arrows .splide__arrow--prev svg,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev svg,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--prev svg{transform:scaleX(1)}
.splide--rtl>.splide__arrows .splide__arrow--next,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--next{left:1em;right:auto}
.splide--rtl>.splide__arrows .splide__arrow--next svg,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next svg,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--next svg{transform:scaleX(-1)}
.splide--ttb>.splide__arrows .splide__arrow,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow,.splide--ttb>.splide__track>.splide__arrows .splide__arrow{left:50%;transform:translate(-50%)}
.splide--ttb>.splide__arrows .splide__arrow--prev,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--prev{top:1em}
.splide--ttb>.splide__arrows .splide__arrow--prev svg,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev svg,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--prev svg{transform:rotate(-90deg)}
.splide--ttb>.splide__arrows .splide__arrow--next,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--next{bottom:1em;top:auto}
.splide--ttb>.splide__arrows .splide__arrow--next svg,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next svg,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--next svg{transform:rotate(90deg)}
.splide--ttb>.splide__pagination,.splide--ttb>.splide__slider>.splide__pagination{bottom:0;display:flex;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}
.splide__slide {
  width: 100%;
}
.slide-trigger {
	transition-property: background-color, border-color, color, fill, stroke;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
	transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.slide-trigger:hover h3, .slide-trigger:focus h3 {
	text-decoration: underline;
}
.slide-trigger.is-active h3 {
	text-decoration: underline;
}
.slide-trigger.is-active h3:before {
	position: absolute;
	left: -1rem;
        content: '<';
}
.theme-ei .slide-trigger.is-active h3:before {
	--tw-text-opacity: 1;
	color: rgba(65, 143, 222, var(--tw-text-opacity));
}
.theme-em .slide-trigger.is-active h3:before {
	--tw-text-opacity: 1;
	color: rgba(0, 199, 177, var(--tw-text-opacity));
}
.splide__slide blockquote p {
  max-width: 66ch;
  max-width: var(--measure);
  font-size: calc(
    ((19.20 / 16) * 1rem) + (26.66 - 19.20) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
  font-size: var(--step-1);
  }
.splide__slide blockquote cite {
	font-style: normal;
}
.splide__pagination__page.is-active {
	--tw-bg-opacity: 1;
	background-color: rgba(204, 191, 45, var(--tw-bg-opacity));
}
.theme-ei .splide__pagination__page.is-active {
	--tw-scale-x: 1;
	--tw-scale-y: 1;
	--tw-bg-opacity: 1;
	background-color: rgba(65, 143, 222, var(--tw-bg-opacity));
}
.theme-em .splide__pagination__page.is-active {
	--tw-scale-x: 1;
	--tw-scale-y: 1;
	--tw-bg-opacity: 1;
	background-color: rgba(0, 199, 177, var(--tw-bg-opacity));
}
.splide__pagination__page {
	height: 0.75rem;
	width: 0.75rem;
	border-radius: 0px;
}
.splide__arrow--prev, .splide__arrow--next {
	display: none;
}
@media (min-width: 1024px) {

  .splide__arrow--prev, .splide__arrow--next {
		display: flex;
	}

  .splide__arrow--prev {
		left: -3rem;
	}

  .splide__arrow--next {
		right: -3rem;
	}

}
/* purgecss end ignore */
/* purgecss start ignore */
.js-cookiebar.show {
	--tw-translate-y: 0px;
	opacity: 1;
}
/* purgecss end ignore */
.ha-nav-primary {
	display: none;
  margin-left: auto;
}
.ha-nav-primary > li {
	font-family: poppins-400, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
    font-size: calc(
    ((16.00 / 16) * 1rem) + (20.00 - 16.00) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
    font-size: var(--step-0);
}
.ha-nav-primary > li > a {
	font-family: poppins-600, sans-serif;
	--tw-text-opacity: 1;
	color: rgba(255, 255, 255, var(--tw-text-opacity));
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
}
.ha-nav-primary > li > a span {
	position: relative;
	display: inline-block;
	padding-bottom: 1px;
}
.ha-nav-primary > li > a span:after {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 0px;
	--tw-bg-opacity: 1;
	background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
          content:'';
          height: 3px;
}
.ha-nav-primary > li > a:hover span:after, .ha-nav-primary > li > a:focus span:after {
            width: 100%;
          }
.ha-nav-primary > li > a.is-active span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(0, 199, 177, var(--tw-bg-opacity));
            width: 100%;
}
/* purgecss start ignore */
.ha-nav-primary > li > a.black span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(17, 17, 17, var(--tw-bg-opacity));
}
.ha-nav-primary > li > a.skyblue span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(153, 214, 234, var(--tw-bg-opacity));
}
.ha-nav-primary > li > a.pink span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(174, 37, 115, var(--tw-bg-opacity));
}
.ha-nav-primary > li > a.verdigris span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(106, 175, 170, var(--tw-bg-opacity));
}
.ha-nav-primary > li > a.turquoise span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(0, 176, 185, var(--tw-bg-opacity));
}
.ha-nav-primary > li > a.coral span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(229, 106, 84, var(--tw-bg-opacity));
}
.ha-nav-primary > li > a.olive span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(204, 191, 45, var(--tw-bg-opacity));
}
.ha-nav-primary > li > a.red span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(175, 35, 28, var(--tw-bg-opacity));
}
.ha-nav-primary > li > a.green span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(76, 141, 43, var(--tw-bg-opacity));
}
.ha-nav-primary > li > a.em span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(0, 199, 177, var(--tw-bg-opacity));
}
.ha-nav-primary > li > a.ei span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(65, 143, 222, var(--tw-bg-opacity));
}
.ha-nav-primary > li > a.yellow span:after {
	--tw-bg-opacity: 1;
	background-color: rgba(243, 208, 62, var(--tw-bg-opacity));
}
/* purgecss end ignore */
@media (min-width: 1024px) {
  .ha-nav-primary {
		display: grid;
	}
  .ha-nav-primary {
		grid-auto-flow: column;
	}
  .ha-nav-primary {
		justify-content: space-between;
	}
  .ha-nav-primary {
		gap: 2rem;
	}
}
@media (min-width: 1280px) {
  .ha-nav-primary {
		display: grid;
	}
  .ha-nav-primary {
		grid-auto-flow: column;
	}
  .ha-nav-primary {
		justify-content: space-between;
	}
  .ha-nav-primary {
		gap: 2.5rem;
	}
}
#menu ul {
	padding-top: 3rem;
}
#menu li {
	padding-bottom: var(--gutter-sm);
	font-family: poppins-600, sans-serif;
	letter-spacing: 0.025em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
    font-size: calc(
    ((19.20 / 16) * 1rem) + (26.66 - 19.20) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
    font-size: var(--step-1);
}
#menu li a {
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
}
#menu li a span {
	position: relative;
	display: inline-block;
	padding-bottom: 1px;
}
#menu li a span:after {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 0px;
	--tw-bg-opacity: 1;
	background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 200ms;
          content:'';
          height: 3px;
}
#menu li a:hover span:after, #menu li a:focus span:after {
            width: 100%;
          }
.split-video {
	height: 100%;
	max-height: 75%;
}
.split-video.bg-em-action a:hover .play-icon, .split-video.bg-em-action a:focus .play-icon {
	--tw-bg-opacity: 1;
	fill: #00c7b1;
}
.split-video.bg-ei-action a:hover .play-icon, .split-video.bg-ei-action a:focus .play-icon {
	--tw-bg-opacity: 1;
	fill: #418fde;
}
.split-video > div {
	height: 100%;
}
@media (min-width: 768px) {
  .split-video > div {

  }
}
.split-video-content {
	position: relative;
	z-index: 20;
	padding: var(--gutter);
}
.split-video-content svg {
    width: 100%;
    max-width: 300px;
    max-height: 50px;
  }
@media (min-width: 768px) {
  .split-video-content {
		width: 50%;
	}
  .split-video-content {
		padding: var(--gutter-lg);
	}

    .split-video-content svg {
      width: 100%;
      max-width: 400px;
      min-height: 67px;
    }

}
.split-video-overlay {
	position: relative;
	z-index: 10;
	display: flex;
	padding: var(--gutter);
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 10vw;
  transition: all 200ms ease;
}
@media (min-width: 1024px) {
  .split-video-overlay {
		padding: var(--gutter-lg);
	}
}
.play-icon {
	--tw-bg-opacity: 1;
	fill: #FFF;
}
.split-video-media {
	position: relative;
	width: 100%;
  min-height: 320px;
}
.split-video-media > div > a {
    display: flex;
    justify-content: space-between;
    flex-flow: column;
    height: 100%;
  }
.split-video-media img {
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: center;
	   object-position: center;
}
@media (min-width: 768px) {
  .split-video-media {
		width: 50%;
	}
}
.split-video-image {
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 0;
	height: 100%;
	width: 100%;
}
.split-video-image:after {
	position: absolute;
	left: 0px;
	top: 0px;
	z-index: 10;
	height: 100%;
	width: 100%;
    content: '';
    background-image: linear-gradient(180deg, hsl(211deg 100% 8% / 55%), hsl(211deg 100% 8% / 25%));
}
.split-video-svg {
  width: 340px;
  max-width: 50%;
}
.split-video-svg svg {
    max-width: 100%;
    height: auto;
  }
/* split is unique to this build? */
.card-story img {
	transition-property: transform;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
	transition-duration: 500ms;
	transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.card-story:hover img, .card-story:focus img {
	--tw-translate-x: 0;
	--tw-translate-y: 0;
	--tw-rotate: 0;
	--tw-skew-x: 0;
	--tw-skew-y: 0;
	--tw-scale-x: 1;
	--tw-scale-y: 1;
	transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
	--tw-scale-x: 1.05;
	--tw-scale-y: 1.05;
}
.reel .card-story {
	width: 33.333333%;
  min-width: 360px;
  max-width: calc(33.3% - 3px);
}
.card-insight {
  min-height: 50vw;
}
@media (min-width: 768px) {
  .card-insight {
    min-height: 35vw;
  }
}
@media (min-width: 1280px) {
  .card-insight {
    min-height: 25vw;
  }

}
/* Flip Card Effect */
.card {
  background-color: transparent;
  perspective: 1000px; /* Remove this if you don't want the 3D effect */
}
.card-inner {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}
.card:hover .card-inner {
  transform: rotateY(180deg);
}
.card-front, .card-back {
  position: absolute;
  width: 100%;
  height: 100%; /* Safari */
  backface-visibility: hidden;
}
.card-front {
  color: black;
}
.card-back {
	--tw-bg-opacity: 1;
	background-color: rgba(5, 28, 44, var(--tw-bg-opacity));
  color: white;
  transform: rotateY(180deg);
}
.featured {
	position: relative;
	overflow: hidden;
	padding-top: var(--gutter-lg);
	--tw-text-opacity: 1;
	color: rgba(255, 255, 255, var(--tw-text-opacity));
  min-height: 50vh;
}
.featured-bg {
	position: absolute;
	left: 0px;
	top: 0px;
	height: 100%;
	width: 100%;
}
.featured-bg:before {
	position: absolute;
	top: 0px;
	left: 0px;
	z-index: 10;
	height: 100%;
	width: 100%;
    background: linear-gradient(to bottom, rgba(5, 28, 44, 1) 0%, rgba(5, 28, 44, .6) 100%);
    content:'';
}
footer a {
	--tw-text-opacity: 1;
	color: rgba(65, 143, 222, var(--tw-text-opacity));
}
footer .linkedin-icon {
	fill: #FFF;
}
footer address {
	font-style: normal;
    line-height: 1.8;
    margin-bottom: 1.25em;
}
.footer-links {
	display: grid;
	flex-shrink: 0;
	gap: 1rem;
}
.footer-links a {
	text-decoration: underline;
}
@media (min-width: 768px) {
  .footer-links {
		display: flex;
	}
  .footer-links {
		flex-direction: column;
	}
    .footer-links a {
		margin-left: auto;
	}
    .footer-links a {
		display: inline-block;
	}
}
.block-testimonials {
	font-size: 1rem;
	line-height: 1.5rem;
	--tw-text-opacity: 1;
	color: rgba(5, 28, 44, var(--tw-text-opacity));
}
/*	Extend with Project's unique components */
/* @import "project-component.css"; */
/*	Tailwind Utilities */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}
.visible {
	visibility: visible;
}
.fixed {
	position: fixed;
}
.absolute {
	position: absolute;
}
.relative {
	position: relative;
}
.sticky {
	position: sticky;
}
.left-0 {
	left: 0px;
}
.bottom-0 {
	bottom: 0px;
}
.right-0 {
	right: 0px;
}
.top-0 {
	top: 0px;
}
.z-100 {
	z-index: 100;
}
.z-10 {
	z-index: 10;
}
.z-30 {
	z-index: 30;
}
.z-20 {
	z-index: 20;
}
.z-0 {
	z-index: 0;
}
.m-5 {
	margin: 1.25rem;
}
.m-gutter {
	margin: var(--gutter);
}
.m-auto {
	margin: auto;
}
.mx-auto {
	margin-left: auto;
	margin-right: auto;
}
.-mx-gutter-sm {
	margin-left: calc(var(--gutter-sm) * -1);
	margin-right: calc(var(--gutter-sm) * -1);
}
.mb-gutter-sm {
	margin-bottom: var(--gutter-sm);
}
.mt-8 {
	margin-top: 2rem;
}
.mt-1 {
	margin-top: 0.25rem;
}
.mt-2 {
	margin-top: 0.5rem;
}
.ml-2 {
	margin-left: 0.5rem;
}
.mt-4 {
	margin-top: 1rem;
}
.mb-2 {
	margin-bottom: 0.5rem;
}
.mr-auto {
	margin-right: auto;
}
.ml-gutter {
	margin-left: var(--gutter);
}
.mb-gutter {
	margin-bottom: var(--gutter);
}
.mb-4 {
	margin-bottom: 1rem;
}
.ml-auto {
	margin-left: auto;
}
.mr-0 {
	margin-right: 0px;
}
.mt-gutter {
	margin-top: var(--gutter);
}
.mt-gutter-sm {
	margin-top: var(--gutter-sm);
}
.mt-auto {
	margin-top: auto;
}
.mr-gutter {
	margin-right: var(--gutter);
}
.mb-gutter-lg {
	margin-bottom: var(--gutter-lg);
}
.block {
	display: block;
}
.inline-block {
	display: inline-block;
}
.inline {
	display: inline;
}
.flex {
	display: flex;
}
.inline-flex {
	display: inline-flex;
}
.table {
	display: table;
}
.grid {
	display: grid;
}
.contents {
	display: contents;
}
.hidden {
	display: none;
}
.h-24 {
	height: 6rem;
}
.h-64 {
	height: 16rem;
}
.h-full {
	height: 100%;
}
.h-10 {
	height: 2.5rem;
}
.h-auto {
	height: auto;
}
.w-full {
	width: 100%;
}
.w-64 {
	width: 16rem;
}
.w-1\/4 {
	width: 25%;
}
.w-1\/2 {
	width: 50%;
}
.w-24 {
	width: 6rem;
}
.w-1\/3 {
	width: 33.333333%;
}
.w-2\/3 {
	width: 66.666667%;
}
.max-w-7xl {
	max-width: 80rem;
}
.max-w-screen-xl {
	max-width: 1280px;
}
.max-w-full {
	max-width: 100%;
}
.max-w-screen-md {
	max-width: 768px;
}
.max-w-screen-lg {
	max-width: 1024px;
}
.transform {
	--tw-translate-x: 0;
	--tw-translate-y: 0;
	--tw-rotate: 0;
	--tw-skew-x: 0;
	--tw-skew-y: 0;
	--tw-scale-x: 1;
	--tw-scale-y: 1;
	transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-full {
	--tw-translate-y: 100%;
}
.-translate-y-2\.5 {
	--tw-translate-y: -0.625rem;
}
.-translate-y-2 {
	--tw-translate-y: -0.5rem;
}
@keyframes pulse {
	50% {
		opacity: .5;
	}
}
.resize {
	resize: both;
}
.grid-flow-col {
	grid-auto-flow: column;
}
.grid-cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-1 {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-col {
	flex-direction: column;
}
.flex-row-reverse {
	flex-direction: row-reverse;
}
.flex-col-reverse {
	flex-direction: column-reverse;
}
.flex-wrap {
	flex-wrap: wrap;
}
.items-center {
	align-items: center;
}
.items-start {
	align-items: flex-start;
}
.justify-between {
	justify-content: space-between;
}
.justify-center {
	justify-content: center;
}
.justify-end {
	justify-content: flex-end;
}
.justify-items-center {
	justify-items: center;
}
.gap-6 {
	gap: 1.5rem;
}
.gap-4 {
	gap: 1rem;
}
.gap-gutter {
	gap: var(--gutter);
}
.gap-2 {
	gap: 0.5rem;
}
.gap-1 {
	gap: 0.25rem;
}
.gap-12 {
	gap: 3rem;
}
.gap-8 {
	gap: 2rem;
}
.gap-3 {
	gap: 0.75rem;
}
.overflow-hidden {
	overflow: hidden;
}
.rounded {
	border-radius: 0.25rem;
}
.border {
	border-width: 1px;
}
.border-t {
	border-top-width: 1px;
}
.border-none {
	border-style: none;
}
.border-gray-200 {
	--tw-border-opacity: 1;
	border-color: rgba(229, 231, 235, var(--tw-border-opacity));
}
.border-neutral-100 {
	--tw-border-opacity: 1;
	border-color: rgba(242, 242, 242, var(--tw-border-opacity));
}
.bg-white {
	--tw-bg-opacity: 1;
	background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}
.bg-black {
	--tw-bg-opacity: 1;
	background-color: rgba(17, 17, 17, var(--tw-bg-opacity));
}
.bg-gray-200 {
	--tw-bg-opacity: 1;
	background-color: rgba(229, 231, 235, var(--tw-bg-opacity));
}
.bg-neutral-100 {
	--tw-bg-opacity: 1;
	background-color: rgba(242, 242, 242, var(--tw-bg-opacity));
}
.bg-base {
	--tw-bg-opacity: 1;
	background-color: rgba(5, 28, 44, var(--tw-bg-opacity));
}
.bg-support-500 {
	--tw-bg-opacity: 1;
	background-color: rgba(189, 217, 191, var(--tw-bg-opacity));
}
.bg-gray-100 {
	--tw-bg-opacity: 1;
	background-color: rgba(243, 244, 246, var(--tw-bg-opacity));
}
.bg-ei-action {
	--tw-bg-opacity: 1;
	background-color: rgba(65, 143, 222, var(--tw-bg-opacity));
}
.bg-neutral-300 {
	--tw-bg-opacity: 1;
	background-color: rgba(227, 227, 226, var(--tw-bg-opacity));
}
.bg-em-action {
	--tw-bg-opacity: 1;
	background-color: rgba(0, 199, 177, var(--tw-bg-opacity));
}
.bg-red {
	--tw-bg-opacity: 1;
	background-color: rgba(175, 35, 28, var(--tw-bg-opacity));
}
.bg-yellow {
	--tw-bg-opacity: 1;
	background-color: rgba(243, 208, 62, var(--tw-bg-opacity));
}
.bg-green {
	--tw-bg-opacity: 1;
	background-color: rgba(76, 141, 43, var(--tw-bg-opacity));
}
.bg-skyblue {
	--tw-bg-opacity: 1;
	background-color: rgba(153, 214, 234, var(--tw-bg-opacity));
}
.bg-grey {
	--tw-bg-opacity: 1;
	background-color: rgba(200, 201, 199, var(--tw-bg-opacity));
}
.bg-verdigris {
	--tw-bg-opacity: 1;
	background-color: rgba(106, 175, 170, var(--tw-bg-opacity));
}
.bg-turquoise {
	--tw-bg-opacity: 1;
	background-color: rgba(0, 176, 185, var(--tw-bg-opacity));
}
.bg-coral {
	--tw-bg-opacity: 1;
	background-color: rgba(229, 106, 84, var(--tw-bg-opacity));
}
.bg-olive {
	--tw-bg-opacity: 1;
	background-color: rgba(204, 191, 45, var(--tw-bg-opacity));
}
.bg-pink {
	--tw-bg-opacity: 1;
	background-color: rgba(174, 37, 115, var(--tw-bg-opacity));
}
.bg-neutral-500 {
	--tw-bg-opacity: 1;
	background-color: rgba(199, 200, 198, var(--tw-bg-opacity));
}
.bg-opacity-25 {
	--tw-bg-opacity: 0.25;
}
.bg-opacity-90 {
	--tw-bg-opacity: 0.9;
}
.bg-opacity-80 {
	--tw-bg-opacity: 0.8;
}
.object-cover {
	-o-object-fit: cover;
	   object-fit: cover;
}
.object-contain {
	-o-object-fit: contain;
	   object-fit: contain;
}
.object-left-top {
	-o-object-position: left top;
	   object-position: left top;
}
.object-right-top {
	-o-object-position: right top;
	   object-position: right top;
}
.object-right {
	-o-object-position: right;
	   object-position: right;
}
.object-right-bottom {
	-o-object-position: right bottom;
	   object-position: right bottom;
}
.object-bottom {
	-o-object-position: bottom;
	   object-position: bottom;
}
.object-left-bottom {
	-o-object-position: left bottom;
	   object-position: left bottom;
}
.object-left {
	-o-object-position: left;
	   object-position: left;
}
.object-top {
	-o-object-position: top;
	   object-position: top;
}
.p-gutter {
	padding: var(--gutter);
}
.p-4 {
	padding: 1rem;
}
.p-2 {
	padding: 0.5rem;
}
.p-gutter-sm {
	padding: var(--gutter-sm);
}
.p-gutter-lg {
	padding: var(--gutter-lg);
}
.p-6 {
	padding: 1.5rem;
}
.px-3 {
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}
.py-2 {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}
.px-gutter {
	padding-left: var(--gutter);
	padding-right: var(--gutter);
}
.px-gutter-sm {
	padding-left: var(--gutter-sm);
	padding-right: var(--gutter-sm);
}
.px-2 {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}
.py-gutter-sm {
	padding-top: var(--gutter-sm);
	padding-bottom: var(--gutter-sm);
}
.px-4 {
	padding-left: 1rem;
	padding-right: 1rem;
}
.py-3 {
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}
.py-gutter-lg {
	padding-top: var(--gutter-lg);
	padding-bottom: var(--gutter-lg);
}
.pt-4 {
	padding-top: 1rem;
}
.pt-24 {
	padding-top: 6rem;
}
.pt-gutter-sm {
	padding-top: var(--gutter-sm);
}
.pb-16\/9 {
	padding-bottom: 56.25%;
}
.pb-4\/3 {
	padding-bottom: 75%;
}
.pb-1\/1 {
	padding-bottom: 100%;
}
.pb-page {
	padding-bottom: 141.4%;
}
.pr-gutter {
	padding-right: var(--gutter);
}
.pl-gutter {
	padding-left: var(--gutter);
}
.pt-gutter {
	padding-top: var(--gutter);
}
.pb-0 {
	padding-bottom: 0px;
}
.pb-gutter {
	padding-bottom: var(--gutter);
}
.pt-20 {
	padding-top: 5rem;
}
.pr-20 {
	padding-right: 5rem;
}
.pt-0 {
	padding-top: 0px;
}
.pb-gutter-lg {
	padding-bottom: var(--gutter-lg);
}
.pr-gutter-lg {
	padding-right: var(--gutter-lg);
}
.pr-gutter-sm {
	padding-right: var(--gutter-sm);
}
.pl-gutter-lg {
	padding-left: var(--gutter-lg);
}
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.font-body {
	font-family: poppins-400, sans-serif;
}
.font-display {
	font-family: poppins-600, sans-serif;
}
.font-display-bold {
	font-family: poppins-700, sans-serif;
}
.font-body-semibold {
	font-family: poppins-600, sans-serif;
}
.text-sm {
	font-size: 0.875rem;
	line-height: 1.25rem;
}
.text-lg {
	font-size: 1.125rem;
	line-height: 1.75rem;
}
.text-4xl {
	font-size: 2.25rem;
	line-height: 2.5rem;
}
.text-5xl {
	font-size: 3rem;
	line-height: 1;
}
.text-6xl {
	font-size: 3.75rem;
	line-height: 1.1;
}
.text-base {
	font-size: 1rem;
	line-height: 1.5rem;
}
.text-xs {
	font-size: 0.75rem;
	line-height: 1rem;
}
.font-semibold {
	font-weight: 600;
}
.font-bold {
	font-weight: 700;
}
.uppercase {
	text-transform: uppercase;
}
.leading-none {
	line-height: 1;
}
.leading-loose {
	line-height: 2;
}
.leading-tight {
	line-height: 1.25;
}
.leading-normal {
	line-height: 1.5;
}
.tracking-widest {
	letter-spacing: 0.1em;
}
.tracking-wide {
	letter-spacing: 0.025em;
}
.text-black {
	--tw-text-opacity: 1;
	color: rgba(17, 17, 17, var(--tw-text-opacity));
}
.text-white {
	--tw-text-opacity: 1;
	color: rgba(255, 255, 255, var(--tw-text-opacity));
}
.text-gray-600 {
	--tw-text-opacity: 1;
	color: rgba(75, 85, 99, var(--tw-text-opacity));
}
.text-base {
	--tw-text-opacity: 1;
	color: rgba(5, 28, 44, var(--tw-text-opacity));
}
.text-action-500 {
	--tw-text-opacity: 1;
	color: rgba(51, 51, 51, var(--tw-text-opacity));
}
.text-neutral-700 {
	--tw-text-opacity: 1;
	color: rgba(99, 101, 98, var(--tw-text-opacity));
}
.text-em-action {
	--tw-text-opacity: 1;
	color: rgba(0, 199, 177, var(--tw-text-opacity));
}
.text-ei-action {
	--tw-text-opacity: 1;
	color: rgba(65, 143, 222, var(--tw-text-opacity));
}
.underline {
	text-decoration: underline;
}
.antialiased {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.opacity-0 {
	opacity: 0;
}
.opacity-60 {
	opacity: 0.6;
}
.opacity-90 {
	opacity: 0.9;
}
.opacity-95 {
	opacity: 0.95;
}
.shadow {
	--tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
	--tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.filter {
	--tw-blur: var(--tw-empty,/*!*/ /*!*/);
	--tw-brightness: var(--tw-empty,/*!*/ /*!*/);
	--tw-contrast: var(--tw-empty,/*!*/ /*!*/);
	--tw-grayscale: var(--tw-empty,/*!*/ /*!*/);
	--tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/);
	--tw-invert: var(--tw-empty,/*!*/ /*!*/);
	--tw-saturate: var(--tw-empty,/*!*/ /*!*/);
	--tw-sepia: var(--tw-empty,/*!*/ /*!*/);
	--tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/);
	filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur {
	--tw-blur: blur(8px);
}
.invert {
	--tw-invert: invert(100%);
}
.transition {
	transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
	transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
	transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
}
.transition-colors {
	transition-property: background-color, border-color, color, fill, stroke;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
}
.transition-opacity {
	transition-property: opacity;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
}
.duration-500 {
	transition-duration: 500ms;
}
.duration-200 {
	transition-duration: 200ms;
}
.duration {
	transition-duration: 150ms;
}
.\!duration {
	transition-duration: 150ms !important;
}
.ease-in-out {
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.line-clamp-2 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.line-clamp-3 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.measure {
      max-width: 66ch;
      max-width: var(--measure);
    }
.measure-lg {
      max-width: 99ch;
      max-width: var(--measure-lg);
    }
/*	Extend with project Utilities: https://tailwindcss.com/docs/adding-new-utilities */
/*

Base build utilities for our own patterns:
  — Every Layout primitives.
  — A max measure for text.

*/
.imposter {
  position: absolute;
  position: var(--positioning, absolute);
  top: 50%;
  left: 50%;
	transform: translate(-50%, -50%);
	z-index: 999;
}
/* .imposter.container {
  --margin: 1rem;
  overflow: auto;
  max-width: calc(100% - (var(--margin) * 2));
  max-height: calc(100% - (var(--margin) * 2));
} */
/*

The Switcher layout primitive (based on the bizarrely named Flexbox Holy Albatross) switches a Flexbox context between a horizontal and a vertical layout at a given, container-based breakpoint. That is, if the breakpoint is 30rem, the layout will switch to a vertical configuration when the parent element is less than 30rem wide.

Switcher children will *fill* the space left in the grid.

Book: https://public.3.basecamp.com/p/qj4XmUpfBiCS8mZAW1AYvT4M
Website: https://every-layout.dev/layouts/switcher

*/
.switcher > * {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  margin: calc((calc(1.5rem + 1.5vw) / 2) * -1);
  margin: calc((var(--gutter) / 2) * -1);
}
.switcher > * > * {
  flex-grow: 1;
  flex-basis: calc((66ch - (100% - calc(1.5rem + 1.5vw))) * 999);
  flex-basis: calc((var(--measure) - (100% - var(--gutter))) * 999);
  margin: calc(calc(1.5rem + 1.5vw) / 2);
  margin: calc(var(--gutter) / 2);
}
/* nth-child sets the max no. of items allowed per row — eg. this will wrap after 4 items */
.switcher > * > :nth-last-child(n+5), 
.switcher > * > :nth-last-child(n+5) ~ * {
  flex-basis: 33ch;
  flex-basis: var(--measure-sm); /* the width items switch to if they need to wrap rows */
}
/*

Groups of elements of an indeterminate size/shape

Book: https://public.3.basecamp.com/p/qj4XmUpfBiCS8mZAW1AYvT4M
Website: https://absolutely.every-layout.dev/layouts/cluster/

*/
.cluster {
  --gutter: 1rem;
  overflow: hidden;
}
.cluster > * {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin: calc(calc(1.5rem + 1.5vw) / 2 * -1);
  margin: calc(var(--gutter) / 2 * -1);
}
.cluster > * > * {
  margin: calc(calc(1.5rem + 1.5vw) / 2);
  margin: calc(var(--gutter) / 2);
}
/*

Where there is enough space, the two elements appear side-by-side. Critically, the sidebar’s width is fixed while the two elements are adjacent, and the non-sidebar takes up the rest of the available space. But when the two elements wrap, each takes up 100% of the shared container.

Book: https://public.3.basecamp.com/p/qj4XmUpfBiCS8mZAW1AYvT4M
Website: https://absolutely.every-layout.dev/layouts/sidebar/

*/
.with-sidebar {
  overflow: hidden;
}
.with-sidebar > * {
  display: flex;
  flex-wrap: wrap;
  margin: calc(calc(1.5rem + 1.5vw) / 2 * -1);
  margin: calc(var(--gutter) / 2 * -1);
}
.with-sidebar > * > * {
  margin: calc(calc(1.5rem + 1.5vw) / 2);
  margin: calc(var(--gutter) / 2);
  flex-grow: 1;

  /* If the sidebar needs a specific width */
  flex-basis: 30ch;
}
.with-sidebar > * > :last-child {
  flex-basis: 0;
  flex-grow: 999;
  min-width: calc(66ch - calc(1.5rem + 1.5vw));
  min-width: calc(var(--measure) - var(--gutter));
}
/* If the sidebar element is the :last-child…

.with-sidebar > * > :first-child {
  flex-basis: 0;
  flex-grow: 999;
  min-width: calc(50% - var(--s1));
}

*/
/*

A horizontally centered column; a 'stripe' of content within any container, capping its width to preserve a reasonable measure.

Book: https://public.3.basecamp.com/p/qj4XmUpfBiCS8mZAW1AYvT4M
Website: https://absolutely.every-layout.dev/layouts/center/

*/
.center {
  box-sizing: content-box;
  margin-left: auto;
  margin-right: auto;
  max-width: 66ch;
  max-width: var(--measure);
}
/* Preserves the max-width, but ensures there are, at least, small 'margins' on either side. */
.center.gutter {
  padding-left: calc(1.5rem + 1.5vw);
  padding-left: var(--gutter);
  padding-right: calc(1.5rem + 1.5vw);
  padding-right: var(--gutter);
}
/* Centering elements based on their natural, content-based widths */
.center.intrinsic {
  display: flex;
  flex-direction: column;
  align-items: center;
}
/*

The Stack layout primitive injects margin between elements via their common parent

Book: https://public.3.basecamp.com/p/qj4XmUpfBiCS8mZAW1AYvT4M
Website: https://absolutely.every-layout.dev/layouts/stack

*/
[class^='stack'] {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.stack > *,
.stack-sm > *,
.stack-lg > * {
  margin-top: 0;
  margin-bottom: 0;
}
.stack > * + * {
  margin-top: 1.5rem;
  margin-top: var(--space);
}
.stack-sm > * + * {
  margin-top: calc(1.5rem / 2);
  margin-top: var(--space-sm);
}
.stack-lg > * + * {
  margin-top: calc(1.5rem * 2);
  margin-top: var(--space-lg);
}
/* Change the spacing above and below specific elements */
/* Remove [+ *] to only change the space above */
.stack-exception,
.stack-exception + * {
  --space: 0;
}
/*

The Frame is mostly useful for cropping media (videos and images) to a desired aspect ratio. The frame class here is shorthand for the Tailwind classes we'd usually apply to achieve the same thing.

eg. class="frame pb-16/9"

Book: https://public.3.basecamp.com/p/qj4XmUpfBiCS8mZAW1AYvT4M
Website: https://absolutely.every-layout.dev/layouts/frame/

*/
.frame {
  /* USE TAILWIND INSTEAD : padding-bottom: calc(var(--n) / var(--d) * 100%); */
  position: relative;
}
.frame > * {
  overflow: hidden;
	position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.frame > img,
.frame > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
/*

The Cover has one principal element that should always gravitate towards the center. In addition, it can have one top/header element and/or one bottom/footer element.

Book: https://public.3.basecamp.com/p/qj4XmUpfBiCS8mZAW1AYvT4M
Website: https://absolutely.every-layout.dev/layouts/cover/

*/
.cover {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: calc(1.5rem + 1.5vw);
  padding: var(--gutter);
}
.cover > * {
  margin-top: calc(1.5rem + 1.5vw);
  margin-top: var(--gutter);
  margin-bottom: calc(1.5rem + 1.5vw);
  margin-bottom: var(--gutter);
}
.cover > :first-child:not(.center) {
  margin-top: 0;
}
.cover > :last-child:not(.center) {
  margin-bottom: 0;
}
.cover > .center {
  margin-top: auto;
  margin-bottom: auto;
}
/*

The Grid is the most basic grid-like formations: sets of elements divided into both columns and rows. Rather than viewport width and media queries, it uses our measure utilities to decide when the rows break.

Book: https://public.3.basecamp.com/p/qj4XmUpfBiCS8mZAW1AYvT4M
Website: https://absolutely.every-layout.dev/layouts/grid/

*/
/*.grid {
  display: grid;
  grid-gap: var(--gutter);
}

@supports (width: min(var(--measure-sm), 100%)) {
  .grid {
    grid-template-columns: repeat(auto-fit, minmax(min(var(--measure-sm), 100%), 1fr));
  }
}*/
/*

The Icon is the most basic grid-like formations: sets of elements divided into both columns and rows. Rather than viewport width and media queries, it uses our measure utilities to decide when the rows break.

Book: https://public.3.basecamp.com/p/qj4XmUpfBiCS8mZAW1AYvT4M
Website: https://absolutely.every-layout.dev/layouts/icon/

*/
.icon {
  width: 0.75em;
  width: 1cap;
  height: 0.75em;
  height: 1cap;
}
.with-icon {
  display: inline-flex;
  align-items: baseline;
}
.with-icon .icon {
  margin-inline-end: 0.5rem;
}
/*

The Box's role within this layout system is to take care of any styles that can be considered intrinsic to individual elements.

Book: https://public.3.basecamp.com/p/qj4XmUpfBiCS8mZAW1AYvT4M
Website: https://absolutely.every-layout.dev/layouts/box/

*/
.box {
  padding: calc(calc(1.5rem + 1.5vw) / 2);
  padding: var(--gutter-sm);

  /* border: var(--border-thin) solid;
  color: var(--color-dark);
  background-color: var(--color-light); */
}
.box * {
  color: inherit;
}
/* .box.invert {
  color: var(--color-light);
  background-color: var(--color-dark);
} */
.hover\:animate-pulse:hover {
	animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.hover\:bg-white:hover {
	--tw-bg-opacity: 1;
	background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}
.hover\:bg-gray-100:hover {
	--tw-bg-opacity: 1;
	background-color: rgba(243, 244, 246, var(--tw-bg-opacity));
}
.hover\:bg-opacity-10:hover {
	--tw-bg-opacity: 0.1;
}
.hover\:bg-opacity-80:hover {
	--tw-bg-opacity: 0.8;
}
.hover\:bg-opacity-100:hover {
	--tw-bg-opacity: 1;
}
.hover\:text-gray-900:hover {
	--tw-text-opacity: 1;
	color: rgba(17, 24, 39, var(--tw-text-opacity));
}
.hover\:opacity-100:hover {
	opacity: 1;
}
.focus\:border-none:focus {
	border-style: none;
}
.focus\:bg-opacity-100:focus {
	--tw-bg-opacity: 1;
}
.focus\:opacity-100:focus {
	opacity: 1;
}
.focus\:shadow-none:focus {
	--tw-shadow: 0 0 #0000;
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
@media (min-width: 640px) {
	.sm\:ml-0 {
		margin-left: 0px;
	}
	.sm\:mt-0 {
		margin-top: 0px;
	}
	.sm\:flex {
		display: flex;
	}
	.sm\:w-1\/6 {
		width: 16.666667%;
	}
	.sm\:grid-cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.sm\:p-gutter-lg {
		padding: var(--gutter-lg);
	}
}
@media (min-width: 768px) {

  .md\:h3 {
		line-height: 1.5;
	}

  .md\:h3 {
    font-size: calc(
    ((23.04 / 16) * 1rem) + (35.54 - 23.04) *
      calc(
    (100vw - 320 / 16 * 1rem) /
      (2560 - 320)
  ));
    font-size: var(--step-2);
  }

  .md\:prose-lg {
		font-size: 1.125rem;
		line-height: 1.7777778;
	}

  .md\:prose-lg p {
		margin-top: 1.3333333em;
		margin-bottom: 1.3333333em;
		font-size: var(--step-0);
	}

  .md\:prose-lg [class~="lead"] {
		font-size: 1.2222222em;
		line-height: 1.4545455;
		margin-top: 1.0909091em;
		margin-bottom: 1.0909091em;
	}

  .md\:prose-lg blockquote {
		margin-top: 1.6666667em;
		margin-bottom: 1.6666667em;
		padding-left: 1em;
	}

  .md\:prose-lg h1 {
		font-size: 2.6666667em;
		margin-top: 0;
		margin-bottom: 0.8333333em;
		line-height: 1;
	}

  .md\:prose-lg h2 {
		font-size: 1.6666667em;
		margin-top: 1.8666667em;
		margin-bottom: 1.0666667em;
		line-height: 1.3333333;
	}

  .md\:prose-lg h3 {
		font-size: 1.3333333em;
		margin-top: 1.6666667em;
		margin-bottom: 0.6666667em;
		line-height: 1.5;
	}

  .md\:prose-lg h4 {
		margin-top: 1.7777778em;
		margin-bottom: 0.4444444em;
		line-height: 1.5555556;
	}

  .md\:prose-lg img {
		margin-top: 1.7777778em;
		margin-bottom: 1.7777778em;
	}

  .md\:prose-lg video {
		margin-top: 1.7777778em;
		margin-bottom: 1.7777778em;
	}

  .md\:prose-lg figure {
		margin-top: 1.7777778em;
		margin-bottom: 1.7777778em;
	}

  .md\:prose-lg figure > * {
		margin-top: 0;
		margin-bottom: 0;
	}

  .md\:prose-lg figure figcaption {
		font-size: 0.8888889em;
		line-height: 1.5;
		margin-top: 1em;
	}

  .md\:prose-lg code {
		font-size: 0.8888889em;
	}

  .md\:prose-lg h2 code {
		font-size: 0.8666667em;
	}

  .md\:prose-lg h3 code {
		font-size: 0.875em;
	}

  .md\:prose-lg pre {
		font-size: 0.8888889em;
		line-height: 1.75;
		margin-top: 2em;
		margin-bottom: 2em;
		border-radius: 0.375rem;
		padding-top: 1em;
		padding-right: 1.5em;
		padding-bottom: 1em;
		padding-left: 1.5em;
	}

  .md\:prose-lg ol {
		margin-top: 1.3333333em;
		margin-bottom: 1.3333333em;
	}

  .md\:prose-lg ul {
		margin-top: 1.3333333em;
		margin-bottom: 1.3333333em;
	}

  .md\:prose-lg li {
		margin-top: 0.6666667em;
		margin-bottom: 0.6666667em;
	}

  .md\:prose-lg ol > li {
		padding-left: 1.6666667em;
	}

  .md\:prose-lg ol > li::before {
		left: 0;
	}

  .md\:prose-lg ul > li {
		padding-left: 1.6666667em;
	}

  .md\:prose-lg ul > li::before {
		width: 0.3333333em;
		height: 0.3333333em;
		top: calc(0.8888889em - 0.1666667em);
		left: 0.2222222em;
	}

  .md\:prose-lg > ul > li p {
		margin-top: 0.8888889em;
		margin-bottom: 0.8888889em;
	}

  .md\:prose-lg > ul > li > *:first-child {
		margin-top: 1.3333333em;
	}

  .md\:prose-lg > ul > li > *:last-child {
		margin-bottom: 1.3333333em;
	}

  .md\:prose-lg > ol > li > *:first-child {
		margin-top: 1.3333333em;
	}

  .md\:prose-lg > ol > li > *:last-child {
		margin-bottom: 1.3333333em;
	}

  .md\:prose-lg ul ul, .md\:prose-lg ul ol, .md\:prose-lg ol ul, .md\:prose-lg ol ol {
		margin-top: 0.8888889em;
		margin-bottom: 0.8888889em;
	}

  .md\:prose-lg ul ul, .md\:prose-lg ul ol, .md\:prose-lg ol ul, .md\:prose-lg ol ol {
		margin-top: 0.8888889em;
		margin-bottom: 0.8888889em;
	}

  .md\:prose-lg ul ul, .md\:prose-lg ul ol, .md\:prose-lg ol ul, .md\:prose-lg ol ol {
		margin-top: 0.8888889em;
		margin-bottom: 0.8888889em;
	}

  .md\:prose-lg ul ul, .md\:prose-lg ul ol, .md\:prose-lg ol ul, .md\:prose-lg ol ol {
		margin-top: 0.8888889em;
		margin-bottom: 0.8888889em;
	}

  .md\:prose-lg hr {
		margin-top: 3.1111111em;
		margin-bottom: 3.1111111em;
	}

  .md\:prose-lg hr + * {
		margin-top: 0;
	}

  .md\:prose-lg h2 + * {
		margin-top: 0;
	}

  .md\:prose-lg h3 + * {
		margin-top: 0;
	}

  .md\:prose-lg h4 + * {
		margin-top: 0;
	}

  .md\:prose-lg table {
		font-size: 0.8888889em;
		line-height: 1.5;
	}

  .md\:prose-lg thead th {
		padding-right: 0.75em;
		padding-bottom: 0.75em;
		padding-left: 0.75em;
	}

  .md\:prose-lg thead th:first-child {
		padding-left: 0;
	}

  .md\:prose-lg thead th:last-child {
		padding-right: 0;
	}

  .md\:prose-lg tbody td {
		padding-top: 0.75em;
		padding-right: 0.75em;
		padding-bottom: 0.75em;
		padding-left: 0.75em;
	}

  .md\:prose-lg tbody td:first-child {
		padding-left: 0;
	}

  .md\:prose-lg tbody td:last-child {
		padding-right: 0;
	}

  .md\:prose-lg > :first-child {
		margin-top: 0;
	}

  .md\:prose-lg > :last-child {
		margin-bottom: 0;
	}

  .md\:m-gutter {
		margin: var(--gutter);
	}

  .md\:-mx-2 {
		margin-left: -0.5rem;
		margin-right: -0.5rem;
	}

  .md\:mb-0 {
		margin-bottom: 0px;
	}

  .md\:ml-gutter {
		margin-left: var(--gutter);
	}

  .md\:block {
		display: block;
	}

  .md\:flex {
		display: flex;
	}

  .md\:min-h-screen-60 {
		min-height: 60vh;
	}

  .md\:min-h-300 {
		min-height: 300px;
	}

  .md\:w-1\/3 {
		width: 33.333333%;
	}

  .md\:w-2\/3 {
		width: 66.666667%;
	}

  .md\:w-1\/6 {
		width: 16.666667%;
	}

  .md\:max-w-xl {
		max-width: 36rem;
	}

  .md\:grid-cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

  .md\:grid-cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

  .md\:flex-row {
		flex-direction: row;
	}

  .md\:flex-row-reverse {
		flex-direction: row-reverse;
	}

  .md\:flex-col {
		flex-direction: column;
	}

  .md\:gap-12 {
		gap: 3rem;
	}

  .md\:gap-10 {
		gap: 2.5rem;
	}

  .md\:p-gutter-lg {
		padding: var(--gutter-lg);
	}

  .md\:px-gutter-lg {
		padding-left: var(--gutter-lg);
		padding-right: var(--gutter-lg);
	}

  .md\:pr-gutter-lg {
		padding-right: var(--gutter-lg);
	}

  .md\:pb-0 {
		padding-bottom: 0px;
	}

  .md\:pb-gutter {
		padding-bottom: var(--gutter);
	}

  .md\:pt-0 {
		padding-top: 0px;
	}
}
@media (min-width: 1024px) {
	.lg\:absolute {
		position: absolute;
	}
	.lg\:right-0 {
		right: 0px;
	}
	.lg\:top-0 {
		top: 0px;
	}
	.lg\:m-0 {
		margin: 0px;
	}
	.lg\:mb-0 {
		margin-bottom: 0px;
	}
	.lg\:block {
		display: block;
	}
	.lg\:inline-block {
		display: inline-block;
	}
	.lg\:flex {
		display: flex;
	}
	.lg\:hidden {
		display: none;
	}
	.lg\:min-h-screen {
		min-height: 100vh;
	}
	.lg\:w-1\/2 {
		width: 50%;
	}
	.lg\:w-2\/3 {
		width: 66.666667%;
	}
	.lg\:w-2\/12 {
		width: 16.666667%;
	}
	.lg\:transform {
		--tw-translate-x: 0;
		--tw-translate-y: 0;
		--tw-rotate: 0;
		--tw-skew-x: 0;
		--tw-skew-y: 0;
		--tw-scale-x: 1;
		--tw-scale-y: 1;
		transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
	}
	.lg\:-translate-y-2 {
		--tw-translate-y: -0.5rem;
	}
	.lg\:grid-cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.lg\:grid-cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.lg\:gap-16 {
		gap: 4rem;
	}
	.lg\:p-gutter-lg {
		padding: var(--gutter-lg);
	}
	.lg\:p-0 {
		padding: 0px;
	}
	.lg\:py-gutter-sm {
		padding-top: var(--gutter-sm);
		padding-bottom: var(--gutter-sm);
	}
	.lg\:pt-0 {
		padding-top: 0px;
	}
	.lg\:pb-0 {
		padding-bottom: 0px;
	}
	.lg\:text-white {
		--tw-text-opacity: 1;
		color: rgba(255, 255, 255, var(--tw-text-opacity));
	}
}
@media (min-width: 1280px) {
	.xl\:prose-lg {
		font-size: 1.125rem;
		line-height: 1.7777778;
	}
	.xl\:prose-lg p {
		margin-top: 1.3333333em;
		margin-bottom: 1.3333333em;
		font-size: var(--step-0);
	}
	.xl\:prose-lg [class~="lead"] {
		font-size: 1.2222222em;
		line-height: 1.4545455;
		margin-top: 1.0909091em;
		margin-bottom: 1.0909091em;
	}
	.xl\:prose-lg blockquote {
		margin-top: 1.6666667em;
		margin-bottom: 1.6666667em;
		padding-left: 1em;
	}
	.xl\:prose-lg h1 {
		font-size: 2.6666667em;
		margin-top: 0;
		margin-bottom: 0.8333333em;
		line-height: 1;
	}
	.xl\:prose-lg h2 {
		font-size: 1.6666667em;
		margin-top: 1.8666667em;
		margin-bottom: 1.0666667em;
		line-height: 1.3333333;
	}
	.xl\:prose-lg h3 {
		font-size: 1.3333333em;
		margin-top: 1.6666667em;
		margin-bottom: 0.6666667em;
		line-height: 1.5;
	}
	.xl\:prose-lg h4 {
		margin-top: 1.7777778em;
		margin-bottom: 0.4444444em;
		line-height: 1.5555556;
	}
	.xl\:prose-lg img {
		margin-top: 1.7777778em;
		margin-bottom: 1.7777778em;
	}
	.xl\:prose-lg video {
		margin-top: 1.7777778em;
		margin-bottom: 1.7777778em;
	}
	.xl\:prose-lg figure {
		margin-top: 1.7777778em;
		margin-bottom: 1.7777778em;
	}
	.xl\:prose-lg figure > * {
		margin-top: 0;
		margin-bottom: 0;
	}
	.xl\:prose-lg figure figcaption {
		font-size: 0.8888889em;
		line-height: 1.5;
		margin-top: 1em;
	}
	.xl\:prose-lg code {
		font-size: 0.8888889em;
	}
	.xl\:prose-lg h2 code {
		font-size: 0.8666667em;
	}
	.xl\:prose-lg h3 code {
		font-size: 0.875em;
	}
	.xl\:prose-lg pre {
		font-size: 0.8888889em;
		line-height: 1.75;
		margin-top: 2em;
		margin-bottom: 2em;
		border-radius: 0.375rem;
		padding-top: 1em;
		padding-right: 1.5em;
		padding-bottom: 1em;
		padding-left: 1.5em;
	}
	.xl\:prose-lg ol {
		margin-top: 1.3333333em;
		margin-bottom: 1.3333333em;
	}
	.xl\:prose-lg ul {
		margin-top: 1.3333333em;
		margin-bottom: 1.3333333em;
	}
	.xl\:prose-lg li {
		margin-top: 0.6666667em;
		margin-bottom: 0.6666667em;
	}
	.xl\:prose-lg ol > li {
		padding-left: 1.6666667em;
	}
	.xl\:prose-lg ol > li::before {
		left: 0;
	}
	.xl\:prose-lg ul > li {
		padding-left: 1.6666667em;
	}
	.xl\:prose-lg ul > li::before {
		width: 0.3333333em;
		height: 0.3333333em;
		top: calc(0.8888889em - 0.1666667em);
		left: 0.2222222em;
	}
	.xl\:prose-lg > ul > li p {
		margin-top: 0.8888889em;
		margin-bottom: 0.8888889em;
	}
	.xl\:prose-lg > ul > li > *:first-child {
		margin-top: 1.3333333em;
	}
	.xl\:prose-lg > ul > li > *:last-child {
		margin-bottom: 1.3333333em;
	}
	.xl\:prose-lg > ol > li > *:first-child {
		margin-top: 1.3333333em;
	}
	.xl\:prose-lg > ol > li > *:last-child {
		margin-bottom: 1.3333333em;
	}
	.xl\:prose-lg ul ul, .xl\:prose-lg ul ol, .xl\:prose-lg ol ul, .xl\:prose-lg ol ol {
		margin-top: 0.8888889em;
		margin-bottom: 0.8888889em;
	}
	.xl\:prose-lg ul ul, .xl\:prose-lg ul ol, .xl\:prose-lg ol ul, .xl\:prose-lg ol ol {
		margin-top: 0.8888889em;
		margin-bottom: 0.8888889em;
	}
	.xl\:prose-lg ul ul, .xl\:prose-lg ul ol, .xl\:prose-lg ol ul, .xl\:prose-lg ol ol {
		margin-top: 0.8888889em;
		margin-bottom: 0.8888889em;
	}
	.xl\:prose-lg ul ul, .xl\:prose-lg ul ol, .xl\:prose-lg ol ul, .xl\:prose-lg ol ol {
		margin-top: 0.8888889em;
		margin-bottom: 0.8888889em;
	}
	.xl\:prose-lg hr {
		margin-top: 3.1111111em;
		margin-bottom: 3.1111111em;
	}
	.xl\:prose-lg hr + * {
		margin-top: 0;
	}
	.xl\:prose-lg h2 + * {
		margin-top: 0;
	}
	.xl\:prose-lg h3 + * {
		margin-top: 0;
	}
	.xl\:prose-lg h4 + * {
		margin-top: 0;
	}
	.xl\:prose-lg table {
		font-size: 0.8888889em;
		line-height: 1.5;
	}
	.xl\:prose-lg thead th {
		padding-right: 0.75em;
		padding-bottom: 0.75em;
		padding-left: 0.75em;
	}
	.xl\:prose-lg thead th:first-child {
		padding-left: 0;
	}
	.xl\:prose-lg thead th:last-child {
		padding-right: 0;
	}
	.xl\:prose-lg tbody td {
		padding-top: 0.75em;
		padding-right: 0.75em;
		padding-bottom: 0.75em;
		padding-left: 0.75em;
	}
	.xl\:prose-lg tbody td:first-child {
		padding-left: 0;
	}
	.xl\:prose-lg tbody td:last-child {
		padding-right: 0;
	}
	.xl\:prose-lg > :first-child {
		margin-top: 0;
	}
	.xl\:prose-lg > :last-child {
		margin-bottom: 0;
	}
	.xl\:min-h-screen {
		min-height: 100vh;
	}
	.xl\:w-2\/3 {
		width: 66.666667%;
	}
	.xl\:w-1\/3 {
		width: 33.333333%;
	}
	.xl\:-translate-y-2 {
		--tw-translate-y: -0.5rem;
	}
	.xl\:gap-14 {
		gap: 3.5rem;
	}
	.xl\:text-sm {
		font-size: 0.875rem;
		line-height: 1.25rem;
	}
}