@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&family=Outfit:wght@100..900&display=swap);

/* tailwind import */
*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --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;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --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;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (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 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
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)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
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;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
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;
}
/*
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)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
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 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
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;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.container{
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 480px){
  .container{
    max-width: 480px;
  }
}
@media (min-width: 600px){
  .container{
    max-width: 600px;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
@media (min-width: 782px){
  .container{
    max-width: 782px;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 960px){
  .container{
    max-width: 960px;
  }
}
@media (min-width: 1280px){
  .container{
    max-width: 1280px;
  }
}
@media (min-width: 1440px){
  .container{
    max-width: 1440px;
  }
}
/* button primary and variant */
.btn-primary {
      justify-self: self-start;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: .750rem 1rem;
      border-radius: .5rem;
      transition: all .3s ease;
      background-color: var(--color-primary);
      color: white;
      &:hover,
   &:focus {
      background-color: color-mix(in srgb, var(--color-primary) 70%, black);
   }
   }
.btn-primary--outline {
      justify-self: self-start;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: .750rem 1rem;
      border-radius: .5rem;
      transition: all .3s ease;
      background-color: transparent;
      border: 1px solid var(--color-primary);
      color: var(--color-primary);
      &:hover,
   &:focus {
      background-color: var(--color-primary);
      color: white;
   }
   }
/* button accent */
.btn-accent {
      justify-self: self-start;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: .750rem 1rem;
      border-radius: .5rem;
      transition: all .3s ease;
      background-color: var(--color-accent);
      color: var(--color-black);
      font-weight: 700;
      letter-spacing: -0.2px;
      line-height: 1.5;
      padding: .625rem 1.25rem;
      &:hover,
   &:focus {
      background-color: color-mix(in srgb, var(--color-accent) 85%, black);
   }
   }
h1, .h1 {
      font-family: var(--font-heading);
      font-size: clamp(2rem, 1.189vw + 1.43rem, 2.5rem);
      font-weight: 900;
      line-height: 1.2;
   }
h1.article-title, .h1.article-title {
         font-family: var(--font-heading);
         font-size: clamp(2rem, 1.189vw + 1.43rem, 2.5rem);
         font-weight: 900;
         line-height: 1.2;
         font-size: clamp(2.625rem, 2.675vw + 1.343rem, 3.75rem);
         font-weight: 700}
h2, .h2 {
      font-family: var(--font-heading);
      font-size: clamp(1.5rem, 0.594vw + 1.215rem, 1.75rem);
      font-weight: 700;
      line-height: 1.2;
   }
h3, .h3 {
      font-family: var(--font-heading);
      font-size: clamp(1.25rem, 0.594vw + 0.965rem, 1.5rem);
      font-weight: 500;
      line-height: 1.2;
   }
h4, .h4 {
      font-family: var(--font-heading);
      font-size: clamp(1.125rem, 0.297vw + 0.983rem, 1.25rem);
      font-weight: 500;
      line-height: 1.2;
   }
h5, .h5 {
      font-family: var(--font-heading);
      font-size: clamp(1rem, 0.297vw + 0.858rem, 1.125rem);
      font-weight: 500;
      line-height: 1.2;
   }
h6, .h6 {
      font-family: var(--font-heading);
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.2;
   }
.font-large {
      font-family: var(--font-base);
      font-size: clamp(1rem, 0.297vw + 0.858rem, 1.125rem);
      line-height: 1.5;
      font-size: clamp(1.25rem, 0.594vw + 0.965rem, 1.5rem);
   }
.font-small {
      font-family: var(--font-base);
      font-size: clamp(1rem, 0.297vw + 0.858rem, 1.125rem);
      line-height: 1.5;
      font-size: clamp(0.75rem, 0.297vw + 0.608rem, 0.875rem);
   }
.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;
}
.static{
  position: static;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.sticky{
  position: sticky;
}
.inset-0{
  inset: 0px;
}
.-left-8{
  left: -2rem;
}
.-right-8{
  right: -2rem;
}
.bottom-0{
  bottom: 0px;
}
.bottom-6{
  bottom: 1.5rem;
}
.left-0{
  left: 0px;
}
.left-1\/2{
  left: 50%;
}
.left-2{
  left: 0.5rem;
}
.right-0{
  right: 0px;
}
.right-2{
  right: 0.5rem;
}
.right-6{
  right: 1.5rem;
}
.top-0{
  top: 0px;
}
.top-1\/2{
  top: 50%;
}
.top-2{
  top: 0.5rem;
}
.top-\[calc\(100\%\+8px\)\]{
  top: calc(100% + 8px);
}
.top-auto{
  top: auto;
}
.top-full{
  top: 100%;
}
.z-10{
  z-index: 10;
}
.z-20{
  z-index: 20;
}
.z-50{
  z-index: 50;
}
.order-3{
  order: 3;
}
.col-span-full{
  grid-column: 1 / -1;
}
.m-0{
  margin: 0px;
}
.mx-0{
  margin-left: 0px;
  margin-right: 0px;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.my-10{
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.my-\[100px\]{
  margin-top: 100px;
  margin-bottom: 100px;
}
.-mt-4{
  margin-top: -1rem;
}
.mb-0{
  margin-bottom: 0px;
}
.mb-1{
  margin-bottom: 0.25rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.ml-auto{
  margin-left: auto;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-6{
  margin-top: 1.5rem;
}
.mt-9{
  margin-top: 2.25rem;
}
.mt-\[14px\]{
  margin-top: 14px;
}
.mt-\[30px\]{
  margin-top: 30px;
}
.mt-auto{
  margin-top: auto;
}
.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;
}
.aspect-\[1\.77\]{
  aspect-ratio: 1.77;
}
.aspect-\[2\.3\]{
  aspect-ratio: 2.3;
}
.aspect-\[344\/200\]{
  aspect-ratio: 344/200;
}
.aspect-\[9\/16\]{
  aspect-ratio: 9/16;
}
.aspect-auto{
  aspect-ratio: auto;
}
.aspect-video{
  aspect-ratio: 16 / 9;
}
.h-3{
  height: 0.75rem;
}
.h-7{
  height: 1.75rem;
}
.h-8{
  height: 2rem;
}
.h-\[132px\]{
  height: 132px;
}
.h-\[19\.444px\]{
  height: 19.444px;
}
.h-\[200px\]{
  height: 200px;
}
.h-\[20px\]{
  height: 20px;
}
.h-\[250px\]{
  height: 250px;
}
.h-\[26px\]{
  height: 26px;
}
.h-\[2px\]{
  height: 2px;
}
.h-\[30px\]{
  height: 30px;
}
.h-\[5px\]{
  height: 5px;
}
.h-\[6px\]{
  height: 6px;
}
.h-\[9px\]{
  height: 9px;
}
.h-auto{
  height: auto;
}
.h-full{
  height: 100%;
}
.max-h-\[0\]{
  max-height: 0;
}
.max-h-\[90vh\]{
  max-height: 90vh;
}
.min-h-\[100px\]{
  min-height: 100px;
}
.min-h-\[44px\]{
  min-height: 44px;
}
.min-h-\[460px\]{
  min-height: 460px;
}
.min-h-\[520px\]{
  min-height: 520px;
}
.min-h-\[525px\]{
  min-height: 525px;
}
.\!w-auto{
  width: auto !important;
}
.w-3{
  width: 0.75rem;
}
.w-5{
  width: 1.25rem;
}
.w-7{
  width: 1.75rem;
}
.w-8{
  width: 2rem;
}
.w-\[19\.444px\]{
  width: 19.444px;
}
.w-\[26px\]{
  width: 26px;
}
.w-\[30px\]{
  width: 30px;
}
.w-\[40px\]{
  width: 40px;
}
.w-\[5px\]{
  width: 5px;
}
.w-\[6px\]{
  width: 6px;
}
.w-\[85\%\]{
  width: 85%;
}
.w-\[9px\]{
  width: 9px;
}
.w-auto{
  width: auto;
}
.w-full{
  width: 100%;
}
.min-w-\[240px\]{
  min-width: 240px;
}
.max-w-\[1006px\]{
  max-width: 1006px;
}
.max-w-\[1440px\]{
  max-width: 1440px;
}
.max-w-\[180px\]{
  max-width: 180px;
}
.max-w-\[40\%\]{
  max-width: 40%;
}
.max-w-\[472px\]{
  max-width: 472px;
}
.max-w-\[50\%\]{
  max-width: 50%;
}
.max-w-\[65\%\]{
  max-width: 65%;
}
.max-w-\[666px\]{
  max-width: 666px;
}
.max-w-\[856px\]{
  max-width: 856px;
}
.max-w-full{
  max-width: 100%;
}
.max-w-none{
  max-width: none;
}
.flex-1{
  flex: 1 1 0%;
}
.shrink-0{
  flex-shrink: 0;
}
.-translate-x-1\/2{
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), 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-1\/2{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), 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%;
  transform: translate(var(--tw-translate-x), 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-x-0{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), 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-0{
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), 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));
}
.rotate-0{
  --tw-rotate: 0deg;
  transform: translate(var(--tw-translate-x), 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));
}
.scale-100{
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), 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));
}
.scale-95{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), 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));
}
.transform{
  transform: translate(var(--tw-translate-x), 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));
}
.list-none{
  list-style-type: none;
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-\[\.75fr_1fr\]{
  grid-template-columns: .75fr 1fr;
}
.grid-cols-\[100\%\]{
  grid-template-columns: 100%;
}
.grid-cols-\[1fr_3fr\]{
  grid-template-columns: 1fr 3fr;
}
.flex-row{
  flex-direction: row;
}
.flex-col{
  flex-direction: column;
}
.flex-wrap{
  flex-wrap: wrap;
}
.items-start{
  align-items: flex-start;
}
.\!items-end{
  align-items: flex-end !important;
}
.items-center{
  align-items: center;
}
.justify-end{
  justify-content: flex-end;
}
.justify-center{
  justify-content: center;
}
.justify-between{
  justify-content: space-between;
}
.justify-items-center{
  justify-items: center;
}
.gap-0{
  gap: 0px;
}
.gap-1{
  gap: 0.25rem;
}
.gap-10{
  gap: 2.5rem;
}
.gap-14{
  gap: 3.5rem;
}
.gap-16{
  gap: 4rem;
}
.gap-2{
  gap: 0.5rem;
}
.gap-3{
  gap: 0.75rem;
}
.gap-4{
  gap: 1rem;
}
.gap-5{
  gap: 1.25rem;
}
.gap-6{
  gap: 1.5rem;
}
.gap-7{
  gap: 1.75rem;
}
.gap-8{
  gap: 2rem;
}
.gap-\[\.5rem\]{
  gap: .5rem;
}
.gap-\[1\.5rem\]{
  gap: 1.5rem;
}
.gap-\[13\.5px\]{
  gap: 13.5px;
}
.gap-\[14px\]{
  gap: 14px;
}
.gap-\[15px\]{
  gap: 15px;
}
.gap-\[1rem\]{
  gap: 1rem;
}
.gap-\[26\.7px\]{
  gap: 26.7px;
}
.gap-\[2rem\]{
  gap: 2rem;
}
.gap-\[30px\]{
  gap: 30px;
}
.gap-\[4rem\]{
  gap: 4rem;
}
.gap-\[5px\]{
  gap: 5px;
}
.gap-\[60px\]{
  gap: 60px;
}
.gap-\[9px\]{
  gap: 9px;
}
.gap-x-2{
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
}
.gap-x-20{
  -moz-column-gap: 5rem;
       column-gap: 5rem;
}
.gap-x-6{
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-y-1{
  row-gap: 0.25rem;
}
.gap-y-4{
  row-gap: 1rem;
}
.self-start{
  align-self: flex-start;
}
.overflow-hidden{
  overflow: hidden;
}
.whitespace-nowrap{
  white-space: nowrap;
}
.text-wrap{
  text-wrap: wrap;
}
.rounded{
  border-radius: 0.25rem;
}
.rounded-\[10px\]{
  border-radius: 10px;
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: 0.5rem;
}
.rounded-md{
  border-radius: 0.375rem;
}
.rounded-xl{
  border-radius: 0.75rem;
}
.rounded-b-none{
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}
.border{
  border-width: 1px;
}
.border-0{
  border-width: 0px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-b-2{
  border-bottom-width: 2px;
}
.border-t{
  border-top-width: 1px;
}
.border-solid{
  border-style: solid;
}
.border-dashed{
  border-style: dashed;
}
.border-\[\#E4E4E4\]{
  --tw-border-opacity: 1;
  border-color: rgb(228 228 228 / var(--tw-border-opacity, 1));
}
.border-gray-2{
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-3{
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300{
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-neutral-300{
  --tw-border-opacity: 1;
  border-color: rgb(212 212 212 / var(--tw-border-opacity, 1));
}
.border-neutral-500{
  --tw-border-opacity: 1;
  border-color: rgb(115 115 115 / var(--tw-border-opacity, 1));
}
.border-primary{
  --tw-border-opacity: 1;
  border-color: rgb(0 79 196 / var(--tw-border-opacity, 1));
}
.border-stroke{
  --tw-border-opacity: 1;
  border-color: rgb(223 228 234 / var(--tw-border-opacity, 1));
}
.bg-\[\#E4E4E4\]{
  --tw-bg-opacity: 1;
  background-color: rgb(228 228 228 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F2F5FC\]{
  --tw-bg-opacity: 1;
  background-color: rgb(242 245 252 / var(--tw-bg-opacity, 1));
}
.bg-black\/50{
  background-color: rgb(0 0 0 / 0.5);
}
.bg-gray-1{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-2{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-primary{
  --tw-bg-opacity: 1;
  background-color: rgb(0 79 196 / var(--tw-bg-opacity, 1));
}
.bg-primary\/10{
  background-color: rgb(0 79 196 / 0.1);
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.fill-current{
  fill: currentColor;
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.\!p-0{
  padding: 0px !important;
}
.p-0{
  padding: 0px;
}
.p-1\.5{
  padding: 0.375rem;
}
.p-3{
  padding: 0.75rem;
}
.p-5{
  padding: 1.25rem;
}
.p-6{
  padding: 1.5rem;
}
.p-\[11px\]{
  padding: 11px;
}
.p-\[25px\]{
  padding: 25px;
}
.px-0{
  padding-left: 0px;
  padding-right: 0px;
}
.px-12{
  padding-left: 3rem;
  padding-right: 3rem;
}
.px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7{
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-\[100px\]{
  padding-left: 100px;
  padding-right: 100px;
}
.px-\[18px\]{
  padding-left: 18px;
  padding-right: 18px;
}
.px-\[25px\]{
  padding-left: 25px;
  padding-right: 25px;
}
.py-0{
  padding-top: 0px;
  padding-bottom: 0px;
}
.py-1{
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-10{
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-16{
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5{
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-\[\.5rem\]{
  padding-top: .5rem;
  padding-bottom: .5rem;
}
.py-\[100px\]{
  padding-top: 100px;
  padding-bottom: 100px;
}
.py-\[150px\]{
  padding-top: 150px;
  padding-bottom: 150px;
}
.py-\[15px\]{
  padding-top: 15px;
  padding-bottom: 15px;
}
.py-\[1rem\]{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-\[25px\]{
  padding-top: 25px;
  padding-bottom: 25px;
}
.py-\[60px\]{
  padding-top: 60px;
  padding-bottom: 60px;
}
.py-\[75px\]{
  padding-top: 75px;
  padding-bottom: 75px;
}
.pb-0{
  padding-bottom: 0px;
}
.pb-12{
  padding-bottom: 3rem;
}
.pb-3{
  padding-bottom: 0.75rem;
}
.pb-4{
  padding-bottom: 1rem;
}
.pb-\[\.5rem\]{
  padding-bottom: .5rem;
}
.pb-\[110px\]{
  padding-bottom: 110px;
}
.pb-\[1rem\]{
  padding-bottom: 1rem;
}
.pb-\[25px\]{
  padding-bottom: 25px;
}
.pb-\[60px\]{
  padding-bottom: 60px;
}
.pl-\[1rem\]{
  padding-left: 1rem;
}
.pl-\[6px\]{
  padding-left: 6px;
}
.pt-14{
  padding-top: 3.5rem;
}
.pt-2{
  padding-top: 0.5rem;
}
.pt-20{
  padding-top: 5rem;
}
.pt-4{
  padding-top: 1rem;
}
.pt-5{
  padding-top: 1.25rem;
}
.pt-6{
  padding-top: 1.5rem;
}
.pt-\[\.5rem\]{
  padding-top: .5rem;
}
.pt-\[120px\]{
  padding-top: 120px;
}
.pt-\[125px\]{
  padding-top: 125px;
}
.pt-\[30px\]{
  padding-top: 30px;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-2xl{
  font-size: 1.75rem;
}
.text-base{
  font-size: 1rem;
}
.text-lg{
  font-size: 1.125rem;
}
.text-sm{
  font-size: 0.875rem;
}
.font-bold{
  font-weight: 700;
}
.font-extrabold{
  font-weight: 800;
}
.font-medium{
  font-weight: 500;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.italic{
  font-style: italic;
}
.leading-tight{
  line-height: 1.25;
}
.text-black{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-dark-5{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-500{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-700{
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-primary{
  --tw-text-opacity: 1;
  color: rgb(0 79 196 / var(--tw-text-opacity, 1));
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline{
  text-decoration-line: underline;
}
.no-underline{
  text-decoration-line: none;
}
.antialiased{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.opacity-0{
  opacity: 0;
}
.opacity-100{
  opacity: 1;
}
.shadow-md{
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-shadow-1{
  --tw-shadow: 0px 1px 3px 0px rgba(166,175,195,0.4);
  --tw-shadow-colored: 0px 1px 3px 0px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-shadow-2{
  --tw-shadow: 0px 5px 12px 0px rgba(0,0,0,0.1);
  --tw-shadow-colored: 0px 5px 12px 0px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl{
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.outline{
  outline-style: solid;
}
.\!filter{
  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) !important;
}
.filter{
  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);
}
.transition{
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-150{
  transition-duration: 150ms;
}
.duration-200{
  transition-duration: 200ms;
}
.duration-500{
  transition-duration: 500ms;
}
.duration-75{
  transition-duration: 75ms;
}
.ease-in{
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}
.ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.alignfull{
  margin: 2rem calc(50% - 50vw) !important;
  max-width: 100vw !important;
  width: 100vw;
}
.alignwide{
  margin: 2rem 0;
  max-width: 1280px !important;
}
.alignnone{
  margin-left: 0px;
  margin-right: 0px;
  height: auto;
  max-width: 100%;
}
.aligncenter{
  margin: 0.5rem auto;
  display: block;
}
@media (min-width: 600px){
  .alignleft:not(.wp-block-button){
    margin-right: 0.5rem;
    float: left;
  }
  .alignright:not(.wp-block-button){
    margin-left: 0.5rem;
    float: right;
  }
  .wp-block-button.alignleft a{
    float: left;
    margin-right: 1rem;
  }
  .wp-block-button.alignright a{
    float: right;
    margin-left: 1rem;
  }
}
.wp-caption{
  display: inline-block;
}
.wp-caption img{
  margin-bottom: 0.5rem;
  line-height: 1;
}
.wp-caption-text{
  font-size: 0;
  color: #4b5563;
}
/* utilities */
/* button styles */
/* button reset */
.btn-reset {
   background: none;
   border: none;
   padding: 0;
}
/* set predefined font styles */
/* import fonts */
/* variables */
:root {

   /* color */
   --color-black: black;
   --color-white: white;
   --color-blue: #004FC4;
   --color-blue-light: #2C50FE;
   --color-blue-dark: #112EBA;
   --color-blue-bright: #2237EE;
   --color-blue-sky: #ACD9FF;
   --color-yellow: #FCDD54;

   --color-brand: #3758F9;
   --color-title: #1F2937;
   --color-text: #374151;
   --color-gray: #9CA3AF;
   --color-gray-light: #D1D5DB;

   --color-body: var(--color-black);
   --color-primary: var(--color-blue);
   --color-accent: var(--color-yellow);

   /* gradients */
   --gradient-primary: linear-gradient(to bottom, var(--color-blue-light), var(--color-blue-dark));

   /* fonts */
   --font-base: "DM Sans", sans-serif;
   --font-heading: "Merriweather", serif;
   --font-display: "Outfit", sans-serif;
}
/* layouts */
/* 404 page styles
============================== */
.error-page{
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 480px){
  .error-page{
    max-width: 480px;
  }
}
@media (min-width: 600px){
  .error-page{
    max-width: 600px;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
@media (min-width: 782px){
  .error-page{
    max-width: 782px;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 960px){
  .error-page{
    max-width: 960px;
  }
}
@media (min-width: 1280px){
  .error-page{
    max-width: 1280px;
  }
}
@media (min-width: 1440px){
  .error-page{
    max-width: 1440px;
  }
}
.error-page{
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
   height: calc(100vh - (var(--header-vh) + var(--footer-vh)));
}
.error-page .error-page--inner{
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
      max-width: 65%;
}
/* article styles
============================== */
.article-layout{
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 480px){
  .article-layout{
    max-width: 480px;
  }
}
@media (min-width: 600px){
  .article-layout{
    max-width: 600px;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
@media (min-width: 782px){
  .article-layout{
    max-width: 782px;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 960px){
  .article-layout{
    max-width: 960px;
  }
}
@media (min-width: 1280px){
  .article-layout{
    max-width: 1280px;
  }
}
@media (min-width: 1440px){
  .article-layout{
    max-width: 1440px;
  }
}
.article-layout{
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 100%;
  gap: 2.5rem;
}
@media (min-width: 782px){
  .article-layout{
    grid-template-columns: 1fr 5fr 1fr;
  }
}
/* content */
.article-layout .article-content{
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
@media (min-width: 782px) {
.article-layout .article-content {
         grid-column: 2
   }
      }
/* header */
.article-layout .article-header{
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
.article-layout .article-header .article-detail{
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  text-align: center;
}
.article-layout .article-header .article-meta{
  display: flex;
  justify-content: center;
  gap: 1.75rem;
         font-size: .875rem;
}
.article-layout .article-header .article-author{
  position: relative;
}
.article-layout .article-header .article-author::before{
  position: absolute;
  top: 50%;
  left: -1rem;
  display: block;
  height: 5px;
  width: 5px;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), 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));
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(0 79 196 / var(--tw-bg-opacity, 1));
            content:"";
}
/* image */
.article-layout .article-image{
  position: relative;
  aspect-ratio: 1.77;
  width: 100%;
  overflow: hidden;
}
body.article-layout .article-image {
      overflow: hidden;
   }
.article-layout .article-image img{
  position: absolute;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
/* body */
.article-layout .article-body{
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
/* 404 page styles
============================== */
.content-hub{
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 480px){
  .content-hub{
    max-width: 480px;
  }
}
@media (min-width: 600px){
  .content-hub{
    max-width: 600px;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
@media (min-width: 782px){
  .content-hub{
    max-width: 782px;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 960px){
  .content-hub{
    max-width: 960px;
  }
}
@media (min-width: 1280px){
  .content-hub{
    max-width: 1280px;
  }
}
@media (min-width: 1440px){
  .content-hub{
    max-width: 1440px;
  }
}
.content-hub{
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
/* grid */
.content-hub .content-hub-grid{
  display: grid;
  grid-template-columns: 100%;
  gap: 2.5rem;
}
@media (min-width: 782px){
  .content-hub .content-hub-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.content-hub .content-hub-item{
  position: relative;
  z-index: 10;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  overflow: hidden;
  border-radius: 0.5rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
body.content-hub .content-hub-item {
      overflow: hidden;
   }
@media (min-width: 782px){
  .content-hub .content-hub-item{
    grid-template-columns: 240px 1fr;
  }
}
.content-hub .content-hub-item {
      box-shadow: -1px 3px 10px 3px rgba(0,0,0, 10%);
   }
.content-hub .content-hub-item:hover .content-hub-item--content .fa-arrow-right, .content-hub .content-hub-item:focus .content-hub-item--content .fa-arrow-right{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), 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));
  opacity: 1;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 500ms;
}
.content-hub .content-hub-item .content-hub-item--image{
  position: relative;
  height: 250px;
}
@media (min-width: 600px){
  .content-hub .content-hub-item .content-hub-item--image{
    height: 100%;
  }
}
@media (min-width: 960px){
  .content-hub .content-hub-item .content-hub-item--image{
    height: 250px;
  }
}
@media (min-width: 1280px){
  .content-hub .content-hub-item .content-hub-item--image{
    height: 100%;
  }
}
.content-hub .content-hub-item .content-hub-item--image img{
  position: absolute;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.content-hub .content-hub-item .content-hub-item--content{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.content-hub .content-hub-item .content-hub-item--content .fa-arrow-right{
  position: absolute;
  bottom: 1.5rem;
  right: 1.5rem;
  --tw-translate-x: -0.75rem;
  transform: translate(var(--tw-translate-x), 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));
  opacity: 0;
}
.content-hub .content-hub-pagination-container{
  width: 100%;
  border-top-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(212 212 212 / var(--tw-border-opacity, 1));
  padding-top: 1.5rem;
}
.content-hub .content-hub-pagination-container .content-hub-pagination ul{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}
/* components */
/* footer navigation styles */
/* container */
.footer-legal .footer-navigation ul{
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 960px){
  .footer-legal .footer-navigation ul{
    justify-content: flex-end;
  }
}
.footer-legal .footer-navigation li + li::before {
         content: "|";
         padding: 0 .5rem;
      }
.footer-legal .footer-navigation a{
  text-decoration-line: underline;
         color: var(--color-white);
         transition: opacity .3s ease;
}
.footer-legal .footer-navigation a:hover,
         .footer-legal .footer-navigation a:focus {
            opacity: .75;
         }
/* header navigation styles */
/* container */
.navigation-container{
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media (min-width: 960px){
  .navigation-container{
    gap: 50px;
  }
}
.navigation-container .navigation{
  position: fixed;
  left: 0px;
  z-index: 20;
  width: 100%;
  opacity: 0;
}
@media (min-width: 960px){
  .navigation-container .navigation{
    position: relative;
    order: 1;
    width: auto;
    opacity: 1;
  }
}
.navigation-container .navigation {
      background-color: var(--color-blue-dark);
      /* custom variable set by script */
      height: calc(100vh - var(--header-vh));
      top: var(--header-vh);
      transform: translateY(10px);
      transition: all .3s ease;
      visibility: hidden;
   }
/* when opened on mobile */
.navigation-container .navigation.is-open{
  opacity: 1;
         transform: translateY(0);
         visibility: visible;
}
@media (min-width: 960px) {
.navigation-container .navigation {
         background-color: transparent;
         height: auto;
         top: auto;
         transform: translateY(0);
         visibility: visible
   }
      }
.navigation-container .navigation ul:not(.sub-menu){
  display: flex;
  flex-direction: column;
}
@media (min-width: 960px){
  .navigation-container .navigation ul:not(.sub-menu){
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 52px;
  }
}
/* links */
.navigation-container .navigation .menu-item > a{
  display: block;
  font-weight: 700;
         color: var(--color-white);
         font-size: 1rem;
         line-height: 1.15;
         transition: opacity .3s ease;
}
.navigation-container .navigation .menu-item > a:hover,
         .navigation-container .navigation .menu-item > a:focus {
            opacity: .75;
         }
.navigation-container .navigation .navigation-menu{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
@media (min-width: 960px){
  .navigation-container .navigation .navigation-menu{
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
  }
}
.navigation-container .navigation .navigation-menu > li{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
@media (min-width: 960px){
  .navigation-container .navigation .navigation-menu > li{
    padding-top: 0px;
    padding-bottom: 0px;
  }
}
.navigation-container .navigation .navigation-menu > li {
            border-bottom: 1px solid rgba(255, 255, 255, .2);
         }
@media (min-width: 960px) {
.navigation-container .navigation .navigation-menu > li {
               border: none
         }
            }
.navigation-container .navigation .navigation-menu .menu-item-has-children {
            position: relative;
         }
.navigation-container .navigation .navigation-menu .menu-item-has-children ul{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0.5rem;
}
@media (min-width: 960px){
  .navigation-container .navigation .navigation-menu .menu-item-has-children ul{
    position: absolute;
    top: 100%;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    opacity: 0;
                  background-color: var(--color-blue-dark);
                  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
                  min-width: 200px;
                  transform: translateY(10px);
                  transition: all .3s ease;
                  visibility: hidden;
  }
}
/* when hovering */
.navigation-container .navigation .navigation-menu .menu-item-has-children.is-hovering ul, .navigation-container .navigation .navigation-menu .menu-item-has-children:focus-within ul{
  opacity: 1;
                  transform: translateY(0);
                  visibility: visible;
}
/* update position if last */
.navigation-container .navigation .navigation-menu .menu-item-has-children.is-last ul{
  right: 0px;
}
/* header cta */
.header-cta{
  white-space: nowrap;
}
@media (min-width: 960px){
  .header-cta{
    order: 2;
  }
}
/* mobile trigger */
.mobile-navigation-trigger{
  position: relative;
  order: 3;
  display: flex;
  height: 20px;
  width: 30px;
  flex-direction: column;
  justify-content: space-between;
}
@media (min-width: 960px){
  .mobile-navigation-trigger{
    display: none;
  }
}
.mobile-navigation-trigger span{
  position: relative;
  display: block;
  height: 2px;
  width: 100%;
      background-color: var(--color-white);
      transition: all .3s ease;
}
/* update when trigger is open */
.mobile-navigation-trigger.is-open span:nth-child(1) {
            transform: translateY(9px) rotate(45deg);
         }
.mobile-navigation-trigger.is-open span:nth-child(2) {
            opacity: 0;
            transform: scaleX(0);
         }
.mobile-navigation-trigger.is-open span:nth-child(3) {
            transform: translateY(-9px) rotate(-45deg);
         }
/* utility navigation styles */
/* container */
.utility-navigation-container{
  display: none;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
@media (min-width: 960px){
  .utility-navigation-container{
    display: block;
  }
}
.utility-navigation-container {
      background: slategray;
}
/* navigation */
.utility-navigation{
  display: flex;
  justify-content: flex-end;
  gap: 1rem;
}
/* item */
.utility-navigation .utility-navigation-item {}
/* link */
.utility-navigation .utility-navigation-link {
      font-family: var(--font-base);
      font-size: clamp(1rem, 0.297vw + 0.858rem, 1.125rem);
      line-height: 1.5;
      font-size: clamp(0.75rem, 0.297vw + 0.608rem, 0.875rem);
      color: white;
   }
/* nested in the main nav */
.navigation-container .utility-navigation-container{
  display: block;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 0px;
  padding-bottom: 0px;
}
@media (min-width: 960px){
  .navigation-container .utility-navigation-container{
    display: none;
  }
}
.navigation-container .utility-navigation-container {
         background: transparent;
   }
.navigation-container .utility-navigation .utility-navigation-link {
         color: black;
      }
/* global */
/* global styles
============================== */
/* smooth scroll for same-page anchors */
html {
   scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
html {
      scroll-behavior: auto
}
   }
/* offset anchor targets below sticky header */
[id] {
   scroll-margin-top: var(--header-vh);
}
/* body
============================== */
body {
   font-family: var(--font-base);
   font-size: clamp(1rem, 0.297vw + 0.858rem, 1.125rem);
   line-height: 1.5;
}
/* add overflow hidden to stop scroll when nav is open */
body.overflow-hidden {
      overflow: hidden;
   }
body * {
      text-wrap: pretty;
   }
/* skip to */
body .skip-to-content{
  position: absolute;
  left: 50%;
  --tw-translate-x: -50%;
  --tw-translate-y: -100%;
  transform: translate(var(--tw-translate-x), 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));
  transition-duration: 200ms;
}
body .skip-to-content:focus{
  --tw-translate-x: -50%;
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), 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));
}
/* default to remove underline */
body a {
      text-decoration: none;
   }
/* header
============================== */
.header{
  position: sticky;
  top: 0px;
  z-index: 50;
  width: 100%;
   background: var(--gradient-primary);
}
/* header container */
.header .header-container{
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 480px){
  .header .header-container{
    max-width: 480px;
  }
}
@media (min-width: 600px){
  .header .header-container{
    max-width: 600px;
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
@media (min-width: 782px){
  .header .header-container{
    max-width: 782px;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 960px){
  .header .header-container{
    max-width: 960px;
  }
}
@media (min-width: 1280px){
  .header .header-container{
    max-width: 1280px;
  }
}
@media (min-width: 1440px){
  .header .header-container{
    max-width: 1440px;
  }
}
.header .header-container{
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
/* logo */
.header .logo-container{
  flex-shrink: 0;
}
.header .logo-container img{
  display: block;
  height: auto;
  max-width: 180px;
}
@media (min-width: 600px){
  .header .logo-container img{
    max-width: none;
  }
}
/* footer
============================== */
.footer{
  padding-top: 3.5rem;
  padding-bottom: 3rem;
}
@media (min-width: 960px){
  .footer{
    padding-top: 5rem;
    padding-bottom: 75px;
  }
}
.footer {
   background: var(--gradient-primary);
   color: var(--color-white);
   font-size: .75rem;
}
/* footer container */
.footer .footer-container{
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 782px){
  .footer .footer-container{
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media (min-width: 960px){
  .footer .footer-container{
    gap: 50px;
  }
}
@media (min-width: 1280px){
  .footer .footer-container{
    padding-left: 113px;
    padding-right: 113px;
  }
}
/* logo */
.footer .footer-logo-container img{
  display: block;
  height: auto;
  max-width: 180px;
}
@media (min-width: 600px){
  .footer .footer-logo-container img{
    max-width: none;
  }
}
.footer .footer-content{
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (min-width: 960px){
  .footer .footer-content{
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
}
/* presented by / partners */
.footer .footer-credits{
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.footer .footer-presented,
   .footer .footer-partners{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 13.5px;
}
.footer .footer-label {
      color: rgba(255, 255, 255, .7);
      font-weight: 300;
      line-height: 1.2;
   }
.footer .footer-presented a,
      .footer .footer-presented img{
  display: block;
}
.footer address {
      font-style: normal;
      font-weight: 300;
      line-height: 1.48;
   }
.footer .footer-partners ul{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 26.7px;
}
.footer .footer-partners img{
  display: block;
         height: auto;
}
/* source image has side padding; crop to match design */
.footer .footer-partners .partner-avelo {
         height: 32px;
         -o-object-fit: cover;
            object-fit: cover;
         -o-object-position: 63.5% center;
            object-position: 63.5% center;
      }
/* legal */
.footer .footer-legal{
  display: flex;
  flex-direction: column;
  gap: 9px;
}
@media (min-width: 960px){
  .footer .footer-legal{
    align-items: flex-end;
    text-align: right;
  }
}
.footer .footer-legal {
      line-height: 1.75;
   }
.hover\:border-primary:hover{
  --tw-border-opacity: 1;
  border-color: rgb(0 79 196 / var(--tw-border-opacity, 1));
}
.hover\:bg-primary:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(0 79 196 / var(--tw-bg-opacity, 1));
}
.hover\:underline:hover{
  text-decoration-line: underline;
}
.dark\:bg-dark:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(17 25 40 / var(--tw-bg-opacity, 1));
}
@media (min-width: 600px){
  .sm\:h-full{
    height: 100%;
  }
  .sm\:p-12{
    padding: 3rem;
  }
}
@media (min-width: 782px){
  .md\:absolute{
    position: absolute;
  }
  .md\:-mt-\[13px\]{
    margin-top: -13px;
  }
  .md\:mt-12{
    margin-top: 3rem;
  }
  .md\:block{
    display: block;
  }
  .md\:flex{
    display: flex;
  }
  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:grid-cols-\[1fr_5fr_1fr\]{
    grid-template-columns: 1fr 5fr 1fr;
  }
  .md\:grid-cols-\[240px_1fr\]{
    grid-template-columns: 240px 1fr;
  }
  .md\:flex-wrap{
    flex-wrap: wrap;
  }
  .md\:justify-center{
    justify-content: center;
  }
  .md\:gap-x-14{
    -moz-column-gap: 3.5rem;
         column-gap: 3.5rem;
  }
  .md\:p-10{
    padding: 2.5rem;
  }
  .md\:p-\[60px\]{
    padding: 60px;
  }
  .md\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .md\:px-\[58px\]{
    padding-left: 58px;
    padding-right: 58px;
  }
  .md\:pt-\[150px\]{
    padding-top: 150px;
  }
  .md\:text-base{
    font-size: 1rem;
  }
}
@media (min-width: 960px){
  .lg\:\!static{
    position: static !important;
  }
  .lg\:absolute{
    position: absolute;
  }
  .lg\:relative{
    position: relative;
  }
  .lg\:bottom-0{
    bottom: 0px;
  }
  .lg\:bottom-\[45px\]{
    bottom: 45px;
  }
  .lg\:left-4{
    left: 1rem;
  }
  .lg\:right-\[45px\]{
    right: 45px;
  }
  .lg\:top-0{
    top: 0px;
  }
  .lg\:top-\[100\%\]{
    top: 100%;
  }
  .lg\:top-full{
    top: 100%;
  }
  .lg\:order-1{
    order: 1;
  }
  .lg\:mt-0{
    margin-top: 0px;
  }
  .lg\:block{
    display: block;
  }
  .lg\:flex{
    display: flex;
  }
  .lg\:inline-flex{
    display: inline-flex;
  }
  .lg\:hidden{
    display: none;
  }
  .lg\:h-\[250px\]{
    height: 250px;
  }
  .lg\:min-h-\[595px\]{
    min-height: 595px;
  }
  .lg\:w-auto{
    width: auto;
  }
  .lg\:max-w-\[684px\]{
    max-width: 684px;
  }
  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-\[279px_1fr\]{
    grid-template-columns: 279px 1fr;
  }
  .lg\:flex-row{
    flex-direction: row;
  }
  .lg\:items-start{
    align-items: flex-start;
  }
  .lg\:items-end{
    align-items: flex-end;
  }
  .lg\:items-center{
    align-items: center;
  }
  .lg\:justify-between{
    justify-content: space-between;
  }
  .lg\:gap-16{
    gap: 4rem;
  }
  .lg\:gap-\[50px\]{
    gap: 50px;
  }
  .lg\:gap-\[52px\]{
    gap: 52px;
  }
  .lg\:gap-x-6{
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
  .lg\:whitespace-nowrap{
    white-space: nowrap;
  }
  .lg\:p-\[45px\]{
    padding: 45px;
  }
  .lg\:px-0{
    padding-left: 0px;
    padding-right: 0px;
  }
  .lg\:px-12{
    padding-left: 3rem;
    padding-right: 3rem;
  }
  .lg\:py-\[100px\]{
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .lg\:py-\[112px\]{
    padding-top: 112px;
    padding-bottom: 112px;
  }
  .lg\:pb-\[100px\]{
    padding-bottom: 100px;
  }
  .lg\:pb-\[75px\]{
    padding-bottom: 75px;
  }
  .lg\:pt-20{
    padding-top: 5rem;
  }
  .lg\:pt-\[180px\]{
    padding-top: 180px;
  }
  .lg\:text-5xl{
    font-size: 4.875rem;
  }
  .lg\:opacity-0{
    opacity: 0;
  }
  .lg\:opacity-100{
    opacity: 1;
  }
}
@media (min-width: 1280px){
  .xl\:px-\[113px\]{
    padding-left: 113px;
    padding-right: 113px;
  }
}
