﻿:root {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-primary: #ef3d23;
  --bs-secondary: #52565e;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-font-sans-serif: "Jost", sans-serif;
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); }

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth; } }

body {
  margin: 0;
  font-family: var(--bs-font-sans-serif);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important; }

hr {
  margin: 1rem 0;
  color: inherit;
  background-color: currentColor;
  border: 0;
  opacity: 0.25; }

hr:not([size]) {
  height: 1px; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2; }

h1, .h1 {
  font-size: calc(1.375rem + 1.5vw); }
  @media (min-width: 1200px) {
    h1, .h1 {
      font-size: 2.5rem; } }

h2, .h2 {
  font-size: calc(1.325rem + 0.9vw); }
  @media (min-width: 1200px) {
    h2, .h2 {
      font-size: 2rem; } }

h3, .h3 {
  font-size: calc(1.3rem + 0.6vw); }
  @media (min-width: 1200px) {
    h3, .h3 {
      font-size: 1.75rem; } }

h4, .h4 {
  font-size: calc(1.275rem + 0.3vw); }
  @media (min-width: 1200px) {
    h4, .h4 {
      font-size: 1.5rem; } }

h5, .h5 {
  font-size: 1.25rem; }

h6, .h6 {
  font-size: 1rem; }

p {
  margin-top: 0;
  margin-bottom: 1rem; }

ol,
ul {
  padding-left: 2rem; }

ol,
ul {
  margin-top: 0;
  margin-bottom: 1rem; }

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0; }

dt {
  font-weight: 700; }

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: bolder; }

small, .small {
  font-size: 0.875em; }

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #ef3d23;
  text-decoration: underline; }
  a:hover {
    color: #5d2eaa; }

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none; }

pre,
code {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
  direction: ltr /* rtl:ignore */;
  unicode-bidi: bidi-override; }

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em; }
  pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal; }

code {
  font-size: 0.875em;
  color: #d63384;
  word-wrap: break-word; }
  a > code {
    color: inherit; }

img,
svg {
  vertical-align: middle; }

table {
  caption-side: bottom;
  border-collapse: collapse; }

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #6c757d;
  text-align: left; }

th {
  text-align: inherit;
  text-align: -webkit-match-parent; }


td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0; }

button {
  border-radius: 0; }

button:focus {
  outline: dotted 1px;
  outline: -webkit-focus-ring-color auto 5px; }

input,
button,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button,
select {
  text-transform: none; }

[role=button] {
  cursor: pointer; }

select {
  word-wrap: normal; }

[list]::-webkit-calendar-picker-indicator {
  display: none; }

button, [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button; }
  button:not(:disabled),
  [type="button"]:not(:disabled),
  [type="reset"]:not(:disabled),
  [type="submit"]:not(:disabled) {
    cursor: pointer; }

textarea {
  resize: vertical; }

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/

progress {
  vertical-align: baseline; }

[hidden] {
  display: none !important; }

.lead {
  font-size: 1.25rem;
  font-weight: 300; }

.list-unstyled {
  padding-left: 0;
  list-style: none; }

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem; }
  .blockquote > :last-child {
    margin-bottom: 0; }

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

.container,
.container-lg {
  width: 100%;
  padding-right: var(--bs-gutter-x, 0.75rem);
  padding-left: var(--bs-gutter-x, 0.75rem);
  margin-right: auto;
  margin-left: auto; }

@media (min-width: 576px) {
  .container {
    max-width: 540px; } }

@media (min-width: 768px) {
  .container {
    max-width: 720px; } }

@media (min-width: 992px) {
  .container, .container-lg {
    max-width: 960px; } }

@media (min-width: 1200px) {
  .container, .container-lg {
    max-width: 1140px; } }

@media (min-width: 1400px) {
  .container, .container-lg {
    max-width: 1320px; } }

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: calc(var(--bs-gutter-y) * -1);
  margin-right: calc(var(--bs-gutter-x) / -2);
  margin-left: calc(var(--bs-gutter-x) / -2); }
  .row > * {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) / 2);
    padding-left: calc(var(--bs-gutter-x) / 2);
    margin-top: var(--bs-gutter-y); }

.col {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 0%;
  flex: 1 0 0%; }

.col-6 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 50%; }

.col-12 {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 100%; }

@media (min-width: 576px) {
  .col-sm-4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-sm-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 50%; } }

@media (min-width: 768px) {
  .col-md-4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-md-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 50%; } }

@media (min-width: 992px) {
  .col-lg-3 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 25%; }
  .col-lg-4 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 33.33333%; }
  .col-lg-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 50%; }
  .col-lg-7 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 58.33333%; }
  .col-lg-9 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 75%; }
  .col-lg-10 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 83.33333%; }
  .col-lg-12 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 100%; } }

@media (min-width: 1200px) {
  .col-xl-3 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 25%; }
  .col-xl-5 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 41.66667%; }
  .col-xl-7 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 58.33333%; } }

@media (min-width: 1400px) {
  .col-xxl-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 50%; }
  .col-xxl-7 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 58.33333%; } }

.table {
  --bs-table-bg: transparent;
  --bs-table-striped-color: #212529;
  --bs-table-striped-bg: rgba(0, 0, 0, 0.05);
  --bs-table-active-color: #212529;
  --bs-table-active-bg: rgba(0, 0, 0, 0.1);
  --bs-table-hover-color: #212529;
  --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
  width: 100%;
  margin-bottom: 1rem;
  color: #212529;
  vertical-align: top;
  border-color: #dee2e6; }
  .table > :not(caption) > * > * {
    padding: 0.5rem 0.5rem;
    background-color: var(--bs-table-bg);
    background-image: -webkit-gradient(linear, left top, left bottom, from(var(--bs-table-accent-bg)), to(var(--bs-table-accent-bg)));
    background-image: -webkit-linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
    background-image: -o-linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
    background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
    border-bottom-width: 1px; }
  .table > :not(:last-child) > :last-child > * {
    border-bottom-color: currentColor; }

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0.25rem;
  -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  -o-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .form-control {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }
  .form-control[type="file"] {
    overflow: hidden; }
    .form-control[type="file"]:not(:disabled):not([readonly]) {
      cursor: pointer; }
  .form-control:focus {
    color: #212529;
    background-color: #fff;
    border-color: #ba9dea;
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.25rem rgba(116, 58, 213, 0.25);
    box-shadow: 0 0 0 0.25rem rgba(116, 58, 213, 0.25); }
  .form-control::-webkit-date-and-time-value {
    height: 1.5em; }
  .form-control::-webkit-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control:-ms-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control::-ms-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control::placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control:disabled {
    background-color: #e9ecef;
    opacity: 1; }
  .form-control::file-selector-button {
    padding: 0.375rem 0.75rem;
    margin: -0.375rem -0.75rem;
    -webkit-margin-end: 0.75rem;
    margin-inline-end: 0.75rem;
    color: #212529;
    background-color: #e9ecef;
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: 1px;
    border-radius: 0;
    -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .form-control::file-selector-button {
        -webkit-transition: none;
        -o-transition: none;
        transition: none; } }
  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: #dde0e3; }
  .form-control::-webkit-file-upload-button {
    padding: 0.375rem 0.75rem;
    margin: -0.375rem -0.75rem;
    -webkit-margin-end: 0.75rem;
    margin-inline-end: 0.75rem;
    color: #212529;
    background-color: #e9ecef;
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: 1px;
    border-radius: 0;
    -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .form-control::-webkit-file-upload-button {
        -webkit-transition: none;
        -o-transition: none;
        transition: none; } }
  .form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
    background-color: #dde0e3; }

textarea.form-control {
  min-height: calc(1.5em + 0.75rem + 2px); }

.btn {
  display: inline-block;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  border-radius: 0.25rem;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .btn {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }
  .btn:hover {
    color: #212529; }
   .btn:focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.25rem rgba(116, 58, 213, 0.25);
    box-shadow: 0 0 0 0.25rem rgba(116, 58, 213, 0.25); }
  .btn:disabled, .btn.disabled {
    pointer-events: none;
    opacity: 0.65; }

.fade {
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear; }
  @media (prefers-reduced-motion: reduce) {
    .fade {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }
  .fade:not(.show) {
    opacity: 0; }

.collapse:not(.show) {
  display: none; }

.collapsing {
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.35s ease;
  -o-transition: height 0.35s ease;
  transition: height 0.35s ease; }
  @media (prefers-reduced-motion: reduce) {
    .collapsing {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }

.dropup,
.dropend,
.dropdown,
.dropstart {
  position: relative; }

.dropdown-toggle {
  white-space: nowrap; }
  .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent; }
  .dropdown-toggle:empty::after {
    margin-left: 0; }

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem; }
  .dropdown-menu[style] {
    right: auto !important; }

.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem; }

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent; }

.dropup .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropend .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem; }

.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid; }

.dropend .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropend .dropdown-toggle::after {
  vertical-align: 0; }

.dropstart .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem; }

.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: ""; }

.dropstart .dropdown-toggle::after {
  display: none; }

.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent; }

.dropstart .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropstart .dropdown-toggle::before {
  vertical-align: 0; }

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0; }
  .dropdown-item:hover, .dropdown-item:focus {
    color: #1e2125;
    background-color: #f8f9fa; }
  .dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #ef3d23; }
  .dropdown-item.disabled, .dropdown-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: transparent; }

.dropdown-menu.show {
  display: block; }

.nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
  text-decoration: none;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .nav-link {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }
  .nav-link.disabled {
    color: #6c757d;
    pointer-events: none;
    cursor: default; }

.navbar {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }
  .navbar > .container, .navbar > .container-lg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: inherit;
    flex-wrap: inherit;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

.navbar-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }
  .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0; }
  .navbar-nav .dropdown-menu {
    position: static; }

.alert {
  position: relative;
  padding: 1rem 1rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.25rem; }

@keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem; } }

.progress {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.25rem; }

.list-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 0.25rem; }

.list-group-item {
  position: relative;
  display: block;
  padding: 0.5rem 1rem;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125); }
  .list-group-item:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit; }
  .list-group-item:last-child {
    border-bottom-right-radius: inherit;
    border-bottom-left-radius: inherit; }
  .list-group-item.disabled, .list-group-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff; }
  .list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #ef3d23;
    border-color: #ef3d23; }
  .list-group-item + .list-group-item {
    border-top-width: 0; }
    .list-group-item + .list-group-item.active {
      margin-top: -1px;
      border-top-width: 1px; }

.toast {
  width: 350px;
  max-width: 100%;
  font-size: 0.875rem;
  pointer-events: auto;
  background-color: rgba(255, 255, 255, 0.85);
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem; }
  .toast:not(.showing):not(.show) {
    opacity: 0; }
  .toast.hide {
    display: none; }

.modal-open {
  overflow: hidden; }
  .modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto; }

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0; }

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0.5rem;
  pointer-events: none; }
  .modal.fade .modal-dialog {
    -webkit-transition: -webkit-transform 0.3s ease-out;
    transition: -webkit-transform 0.3s ease-out;
    -o-transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
    -webkit-transform: translate(0, -50px);
    -ms-transform: translate(0, -50px);
    transform: translate(0, -50px); }
    @media (prefers-reduced-motion: reduce) {
      .modal.fade .modal-dialog {
        -webkit-transition: none;
        -o-transition: none;
        transition: none; } }
  .modal.show .modal-dialog {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none; }
  .modal.modal-static .modal-dialog {
    -webkit-transform: scale(1.02);
    -ms-transform: scale(1.02);
    transform: scale(1.02); }

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000; }
  .modal-backdrop.fade {
    opacity: 0; }
  .modal-backdrop.show {
    opacity: 0.5; }

.modal-body {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: 1rem; }

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

@media (min-width: 576px) {
  .modal-dialog {
    max-width: 500px;
    margin: 1.75rem auto; } }

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0; }
  .tooltip.show {
    opacity: 0.9; }
  .tooltip .tooltip-arrow {
    position: absolute;
    display: block;
    width: 0.8rem;
    height: 0.4rem; }
    .tooltip .tooltip-arrow::before {
      position: absolute;
      content: "";
      border-color: transparent;
      border-style: solid; }

.tooltip-inner {
  max-width: 200px;
  padding: 0.25rem 0.5rem;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 0.25rem; }

.popover {
  position: absolute;
  top: 0;
  left: 0 /* rtl:ignore */;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: var(--bs-font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem; }
  .popover .popover-arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.3rem; }
    .popover .popover-arrow::before, .popover .popover-arrow::after {
      position: absolute;
      display: block;
      content: "";
      border-color: transparent;
      border-style: solid; }

.popover-header {
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  font-size: 1rem;
  background-color: #f0f0f0;
  border-bottom: 1px solid #d8d8d8;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px); }
  .popover-header:empty {
    display: none; }

.popover-body {
  padding: 1rem 1rem;
  color: #212529; }

.carousel {
  position: relative; }

.carousel.pointer-event {
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  -o-transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-item {
      -webkit-transition: none;
      -o-transition: none;
      transition: none; } }

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block; }

/* rtl:begin:ignore */
.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%); }

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  -webkit-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  transform: translateX(-100%); }

/* rtl:end:ignore */

/* rtl:options: {
  "autoRename": true,
  "stringMap":[ {
    "name"    : "prev-next",
    "search"  : "prev",
    "replace" : "next"
  } ]
} */

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none; }
  .carousel-indicators li {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: 0.5;
    -webkit-transition: opacity 0.6s ease;
    -o-transition: opacity 0.6s ease;
    transition: opacity 0.6s ease; }
    @media (prefers-reduced-motion: reduce) {
      .carousel-indicators li {
        -webkit-transition: none;
        -o-transition: none;
        transition: none; } }
  .carousel-indicators .active {
    opacity: 1; }

@-webkit-keyframes spinner-border {
  to {
    -webkit-transform: rotate(360deg) /* rtl:ignore */;
    transform: rotate(360deg) /* rtl:ignore */; } }

@keyframes spinner-border {
  to {
    -webkit-transform: rotate(360deg) /* rtl:ignore */;
    transform: rotate(360deg) /* rtl:ignore */; } }

.spinner-border {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  vertical-align: text-bottom;
  border: 0.25em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  -webkit-animation: 0.75s linear infinite spinner-border;
  animation: 0.75s linear infinite spinner-border; }

@keyframes spinner-grow {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0); }
  50% {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@media (prefers-reduced-motion: reduce) {
  .spinner-border {
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s; } }

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030; }

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030; }

.sticky-top {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1020; }

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.float-end {
  float: right !important; }

.d-inline-block {
  display: inline-block !important; }

.d-block {
  display: block !important; }

.d-none {
  display: none !important; }

.justify-content-center {
  -webkit-box-pack: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important; }

.justify-content-between {
  -webkit-box-pack: justify !important;
  -ms-flex-pack: justify !important;
  justify-content: space-between !important; }

.align-items-center {
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important; }

.align-items-baseline {
  -webkit-box-align: baseline !important;
  -ms-flex-align: baseline !important;
  align-items: baseline !important; }

.align-self-center {
  -ms-flex-item-align: center !important;
  -ms-grid-row-align: center !important;
  align-self: center !important; }

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

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important; }

.mt-2 {
  margin-top: 0.5rem !important; }

.mt-5 {
  margin-top: 3rem !important; }

.mb-2 {
  margin-bottom: 0.5rem !important; }

.mb-4 {
  margin-bottom: 1.5rem !important; }

.mb-5 {
  margin-bottom: 3rem !important; }

.ms-auto {
  margin-left: auto !important; }

.px-5 {
  padding-right: 3rem !important;
  padding-left: 3rem !important; }

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

.pt-4 {
  padding-top: 1.5rem !important; }

.pt-5 {
  padding-top: 3rem !important; }

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

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

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

.text-danger {
  color: #dc3545 !important; }

.text-white {
  color: #fff !important; }

.text-wrap {
  white-space: normal !important; }

/* rtl:begin:remove */

/* rtl:end:remove */

.visible {
  visibility: visible !important; }

@media (min-width: 768px) {
  .align-items-md-center {
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important; }
  .m-md-5 {
    margin: 3rem !important; }
  .mx-md-5 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }
  .mb-md-0 {
    margin-bottom: 0 !important; }
  .p-md-5 {
    padding: 3rem !important; }
  .px-md-5 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }
  .ps-md-5 {
    padding-left: 3rem !important; } }

@media (min-width: 992px) {
  .d-lg-inline-block {
    display: inline-block !important; }
  .d-lg-none {
    display: none !important; }
  .mb-lg-0 {
    margin-bottom: 0 !important; } }

@media (min-width: 1200px) {
  .mb-xl-0 {
    margin-bottom: 0 !important; } }

.logo {
  font-size: 24px;
  color: #fff;
  font-weight: 700; }
  .logo:hover {
    color: #fff; }

.site-navigation-home {
  display: flex;
  align-items: center;
  gap: 24px; }
  .site-navigation-home .logo {
    flex-shrink: 0; }
  .site-nav .site-navigation-home .site-menu {
    margin-left: auto;
    padding-left: 0;
    white-space: nowrap; }
  .site-navigation-home .site-nav-cta {
    flex-shrink: 0;
    white-space: nowrap; }
  .site-navigation-home .burger {
    flex-shrink: 0; }
  @media (max-width: 991.98px) {
    .site-navigation-home .logo {
      flex-shrink: 1;
      min-width: 0; }
    .site-navigation-home .logo img {
      max-width: 100%;
      height: auto; } }

.site-nav {
  position: absolute;
  top: 0;
  z-index: 9;
  width: 100%; }

.site-nav {
  padding-top: 20px;
  padding-bottom: 20px; }
  .site-nav h1, .site-nav .h1 {
    margin: 0;
    padding: 0;
    font-size: 24px; }
  .site-nav .site-navigation .site-menu {
    margin-bottom: 0; }
    .site-nav .site-navigation .site-menu > li {
      display: inline-block; }
      .site-nav .site-navigation .site-menu > li > a {
        font-size: 14px;
        padding: 10px 15px;
        display: inline-block;
        text-decoration: none !important;
        color: rgba(255, 255, 255, 0.7); }
        .site-nav .site-navigation .site-menu > li > a:hover {
          color: #fff; }
      .site-nav .site-navigation .site-menu > li.active > a {
        color: #fff; }
    .site-nav .site-navigation .site-menu .has-children {
      position: relative; }
      .site-nav .site-navigation .site-menu .has-children > a {
        position: relative;
        padding-right: 20px; }
        .site-nav .site-navigation .site-menu .has-children > a:before {
          position: absolute;
          content: "\f107"; /* Font Awesome angle-down */
          font-size: 14px;
          top: 50%;
          right: 0;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);
          font-family: 'Font Awesome 7 Pro';
          font-style: normal;
          font-weight: 900; }
      .site-nav .site-navigation .site-menu .has-children .dropdown {
        visibility: hidden;
        opacity: 0;
        top: 100%;
        z-index: 999;
        position: absolute;
        text-align: left;
        -webkit-box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.1);
        box-shadow: 0 2px 10px -2px rgba(0, 0, 0, 0.1);
        padding: 20px 0;
        margin-top: 20px;
        margin-left: 0px;
        background: #fff;
        -webkit-transition: 0.2s 0s;
        -o-transition: 0.2s 0s;
        transition: 0.2s 0s; }
        .site-nav .site-navigation .site-menu .has-children .dropdown a {
          font-size: 14px;
          text-transform: none;
          letter-spacing: normal;
          -webkit-transition: 0s all;
          -o-transition: 0s all;
          transition: 0s all;
          color: #000; }
        .site-nav .site-navigation .site-menu .has-children .dropdown .active a {
          color: #ef3d23 !important; }
        .site-nav .site-navigation .site-menu .has-children .dropdown > li {
          list-style: none;
          padding: 0;
          margin: 0;
          min-width: 180px; }
          .site-nav .site-navigation .site-menu .has-children .dropdown > li > a {
            padding: 5px 20px;
            display: block; }
            .site-nav .site-navigation .site-menu .has-children .dropdown > li > a:hover {
              color: #ef3d23; }
          .site-nav .site-navigation .site-menu .has-children .dropdown > li.has-children > a:before {
            content: "\f105"; /* Font Awesome angle-right */
            right: 20px; }
          .site-nav .site-navigation .site-menu .has-children .dropdown > li.has-children > .dropdown, .site-nav .site-navigation .site-menu .has-children .dropdown > li.has-children > ul {
            left: 100%;
            top: 0; }
            .site-nav .site-navigation .site-menu .has-children .dropdown > li.has-children > .dropdown li a:hover, .site-nav .site-navigation .site-menu .has-children .dropdown > li.has-children > ul li a:hover {
              color: #ef3d23; }
          .site-nav .site-navigation .site-menu .has-children .dropdown > li.has-children:hover > a, .site-nav .site-navigation .site-menu .has-children .dropdown > li.has-children:active > a, .site-nav .site-navigation .site-menu .has-children .dropdown > li.has-children:focus > a {
            color: #ef3d23; }
      .site-nav .site-navigation .site-menu .has-children:hover > a, .site-nav .site-navigation .site-menu .has-children:focus > a, .site-nav .site-navigation .site-menu .has-children:active > a {
        color: #fff; }
      .site-nav .site-navigation .site-menu .has-children:hover, .site-nav .site-navigation .site-menu .has-children:focus, .site-nav .site-navigation .site-menu .has-children:active {
        cursor: pointer; }
        .site-nav .site-navigation .site-menu .has-children:hover > .dropdown, .site-nav .site-navigation .site-menu .has-children:focus > .dropdown, .site-nav .site-navigation .site-menu .has-children:active > .dropdown {
          -webkit-transition-delay: 0s;
          -o-transition-delay: 0s;
          transition-delay: 0s;
          margin-top: 0px;
          visibility: visible;
          opacity: 1; }

.site-mobile-menu-close {
  display: block;
  position: relative;
  height: 30px;
  width: 30px;
  z-index: 99;
  cursor: pointer;
  top: -20px; }
  .site-mobile-menu-close > span {
    cursor: pointer;
    display: block;
    position: absolute;
    height: 30px;
    width: 30px; }
    .site-mobile-menu-close > span:before, .site-mobile-menu-close > span:after {
      position: absolute;
      content: "";
      width: 2px;
      height: 30px;
      background: #000; }
    .site-mobile-menu-close > span:before {
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
    .site-mobile-menu-close > span:after {
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg); }

.site-mobile-menu {
  width: 300px;
  position: fixed;
  right: 0;
  z-index: 2000;
  padding-top: 20px;
  background: #fff;
  height: calc(100vh);
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: 0.8s all cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: 0.8s all cubic-bezier(0.23, 1, 0.32, 1);
  transition: 0.8s all cubic-bezier(0.23, 1, 0.32, 1); }
  .offcanvas-menu .site-mobile-menu {
    -webkit-box-shadow: -10px 0 20px -10px rgba(0, 0, 0, 0.1);
    box-shadow: -10px 0 20px -10px rgba(0, 0, 0, 0.1);
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%); }
  .site-mobile-menu .site-mobile-menu-header {
    width: 100%;
    float: left;
    padding-left: 20px;
    padding-right: 20px; }
    .site-mobile-menu .site-mobile-menu-header .site-mobile-menu-close {
      float: right;
      margin-top: 8px; }
      .site-mobile-menu .site-mobile-menu-header .site-mobile-menu-close span {
        font-size: 30px;
        display: inline-block;
        padding-left: 10px;
        padding-right: 0px;
        line-height: 1;
        cursor: pointer;
        -webkit-transition: .3s all ease;
        -o-transition: .3s all ease;
        transition: .3s all ease; }
  .site-mobile-menu .site-mobile-menu-body {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    position: relative;
    padding: 0 20px 20px 20px;
    height: calc(100vh - 52px);
    padding-bottom: 150px; }
  .site-mobile-menu .site-nav-wrap {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative; }
    .site-mobile-menu .site-nav-wrap a {
      padding: 5px 20px;
      display: block;
      position: relative;
      color: #000; }
      .site-mobile-menu .site-nav-wrap a:hover {
        color: #ef3d23; }
    .site-mobile-menu .site-nav-wrap li {
      position: relative;
      display: block; }
      .site-mobile-menu .site-nav-wrap li.active > a {
        color: #ef3d23; }
    .site-mobile-menu .site-nav-wrap .arrow-collapse {
      position: absolute;
      right: 0px;
      top: 0px;
      z-index: 20;
      width: 36px;
      height: 36px;
      text-align: center;
      cursor: pointer;
      border-radius: 50%;
      border: 1px solid #f8f9fa; }
      .site-mobile-menu .site-nav-wrap .arrow-collapse:before {
        font-size: 14px;
        z-index: 20;
        font-family: "Font Awesome 7 Pro";
        font-style: normal;
        font-weight: 900;
        content: "\f107"; /* Font Awesome angle-down */
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%) rotate(-180deg);
        -ms-transform: translate(-50%, -50%) rotate(-180deg);
        transform: translate(-50%, -50%) rotate(-180deg);
        -webkit-transition: .3s all ease;
        -o-transition: .3s all ease;
        transition: .3s all ease; }
      .site-mobile-menu .site-nav-wrap .arrow-collapse.collapsed:before {
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%); }
    .site-mobile-menu .site-nav-wrap > li {
      display: block;
      position: relative;
      float: left;
      width: 100%; }
      .site-mobile-menu .site-nav-wrap > li > a {
        padding-left: 20px;
        font-size: 14px; }
      .site-mobile-menu .site-nav-wrap > li > ul {
        padding: 0;
        margin: 0;
        list-style: none; }
        .site-mobile-menu .site-nav-wrap > li > ul > li {
          display: block; }
          .site-mobile-menu .site-nav-wrap > li > ul > li > a {
            padding-left: 40px;
            font-size: 14px; }
          .site-mobile-menu .site-nav-wrap > li > ul > li > ul {
            padding: 0;
            margin: 0; }
            .site-mobile-menu .site-nav-wrap > li > ul > li > ul > li {
              display: block; }
              .site-mobile-menu .site-nav-wrap > li > ul > li > ul > li > a {
                font-size: 14px;
                padding-left: 60px; }

/* Burger */
.burger {
  width: 28px;
  height: 32px;
  cursor: pointer;
  position: relative; }
  .burger.light:before, .burger.light span, .burger.light:after {
    background: #fff; }

.burger:before, .burger span, .burger:after {
  width: 100%;
  height: 2px;
  display: block;
  background: #000;
  border-radius: 2px;
  position: absolute;
  opacity: 1; }

.burger:before, .burger:after {
  -webkit-transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
  transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
  transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
  transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);
  -webkit-transition: top 0.35s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s cubic-bezier(0.23, 1, 0.32, 1), background-color 1.15s cubic-bezier(0.86, 0, 0.07, 1);
  content: ""; }

.burger:before {
  top: 4px; }

.burger span {
  top: 15px; }

.burger:after {
  top: 26px; }

/* Hover */
.burger:hover:before {
  top: 7px; }

.burger:hover:after {
  top: 23px; }

/* Click */
.burger.active span {
  opacity: 0; }

.burger.active:before, .burger.active:after {
  top: 40%; }

.burger.active:before {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=5);
  /*for IE*/ }

.burger.active:after {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=-5);
  /*for IE*/ }

.burger:focus {
  outline: none; }

body {
  font-family: "Jost", sans-serif;
  font-weight: 400;
  overflow-x: hidden; }

a {
  -webkit-transition: .3s all ease;
  -o-transition: .3s all ease;
  transition: .3s all ease;
  text-decoration: none; }

.hero, .bg-image {
  background-color: #000;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative; }
  .hero a, .bg-image a {
    color: #fff; }
  .hero.overlay, .bg-image.overlay {
    position: relative; }
    .hero.overlay:before, .bg-image.overlay:before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      z-index: 1;
      background-color: rgba(0, 0, 0, 0.4); }
    .hero.overlay > .container, .bg-image.overlay > .container {
      position: relative;
      z-index: 2; }
  .hero svg, .bg-image svg {
    position: absolute;
    bottom: 0;
    left: 0; }

.hero-carousel {
  overflow: hidden; }

.hero-carousel > .container {
  position: absolute !important;
  inset: 0;
  width: 100%;
  z-index: 2; }

.hero-carousel-media,
.hero-carousel-slide {
  position: absolute;
  inset: 0; }

.hero-carousel-media {
  z-index: 0;
  background: #000; }

.hero-carousel-slide {
  opacity: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: opacity 1.2s ease;
  will-change: opacity; }

.hero-carousel-slide.is-active {
  opacity: 1; }

.hero-carousel-slide video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.28);
}
  
@media (prefers-reduced-motion: reduce) {
  .hero-carousel-slide {
    transition: none; }
}

@media (max-width: 767.98px) {
  .hero-carousel.v-h-full {
    height: 100vh;
    height: 100svh;
    min-height: 600px;
    padding: 0; }

  .hero-carousel .v-h-full {
    height: 100%;
    min-height: 600px;
    padding-top: 7rem;
    padding-bottom: 2rem; }
}

.heading-2 {
  font-size: 90px;
  font-weight: 700;
  line-height: 1; }
  @media (max-width: 991.98px) {
    .heading-2 {
      font-size: 60px; } }
  @media (max-width: 991.98px) {
    .heading-2 {
      font-size: 40px; } }

.heading {
  font-size: 80px;
  line-height: 1;
  font-weight: 700; }
  @media (max-width: 991.98px) {
    .heading {
      font-size: 60px; } }
  @media (max-width: 991.98px) {
    .heading {
      font-size: 40px; } }

.subheading {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1rem;
  font-weight: 700; }

.v-h-full {
  height: 100vh;
  min-height: 700px; }
  @media (max-width: 767.98px) {
    .v-h-full {
      height: auto;
      min-height: auto;
      padding-top: 7rem;
      padding-bottom: 2rem; } }

.v-h-content {
  min-height: 700px; }
  @media (max-width: 767.98px) {
    .v-h-content {
      height: auto;
      min-height: auto;
      padding-top: 7rem;
      padding-bottom: 2rem; } }

.section {
  padding-top: 7rem;
  padding-bottom: 7rem; }

.section-padding {
  padding-top: 110px;
  padding-bottom: 110px; }

@media (max-width: 991.98px) {
  .section-padding {
    padding-top: 80px;
    padding-bottom: 80px; } }

@media (max-width: 575.98px) {
  .section-padding {
    padding-top: 56px;
    padding-bottom: 56px; } }

.number {
  font-size: 70px;
  font-weight: 700; }

.btn-primary-gradient, .btn-primary-gradient-white-bg, .btn-bg-darker {
  border: none;
  display: inline-block;
  border-radius: 100px;
  color: white;
  position: relative;
  z-index: 1;
  font-size: 12px;
  padding: 17px 28px;
  text-transform: uppercase;
  letter-spacing: .2rem;
  font-weight: bold; }
  .btn-primary-gradient:after, .btn-primary-gradient:before, .btn-primary-gradient-white-bg:after, .btn-primary-gradient-white-bg:before, .btn-bg-darker:after, .btn-bg-darker:before {
    content: ' ';
    position: absolute;
    border-radius: 100px; }
  .btn-primary-gradient:before, .btn-primary-gradient-white-bg:before, .btn-bg-darker:before {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: -2;
    background: #ef3d23;
    background: -moz-linear-gradient(left, #ef3d23 0%, #facd24 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, #ef3d23), color-stop(100%, #facd24));
    background: -webkit-linear-gradient(left, #ef3d23 0%, #facd24 100%);
    background: -o-linear-gradient(left, #ef3d23 0%, #facd24 100%);
    background: -ms-linear-gradient(left, #ef3d23 0%, #facd24 100%);
    background: -webkit-gradient(linear, left top, right top, from(#ef3d23), to(#facd24));
    background: linear-gradient(to right, #ef3d23 0%, #facd24 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef3d23', endColorstr='#facd24',GradientType=1 ); }
  .btn-primary-gradient:after, .btn-primary-gradient-white-bg:after, .btn-bg-darker:after {
    top: 2px;
    bottom: 2px;
    left: 2px;
    right: 2px;
    background-color: black;
    z-index: -1;
    opacity: 1;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
  .btn-primary-gradient:hover:after, .btn-primary-gradient-white-bg:hover:after, .btn-bg-darker:hover:after {
    opacity: 0; }
  .btn-primary-gradient:hover, .btn-primary-gradient-white-bg:hover, .btn-bg-darker:hover {
    color: #fff; }

.btn:hover, .btn:active, .btn:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none; }

.btn.btn-primary-outline {
  padding: 7px 30px;
  border-radius: 30px;
  border-width: 1px;
  border-color: #000; }
  .btn.btn-primary-outline.white {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2); }
  .btn.btn-primary-outline:hover {
    background: #fff;
    color: #ef3d23; }

.btn.btn-black {
  background-color: #222;
  border: 2px solid transparent;
  border-radius: 30px;
  color: #fff;
  padding: 14px 30px; }
  .btn.btn-black:hover {
    color: #000;
    border-color: #000;
    background-color: transparent; }

.btn-bg-darker:after {
  background-color: #111 !important; }

.btn-primary-gradient-white-bg {
  color: #000; }
  .btn-primary-gradient-white-bg:after {
    background-color: #fff; }

.section-2 {
  background-color: #000; }
  .section-2 .heading {
    color: #fff; }
  .section-2 .subheading {
    color: #fff; }
  .section-2 .counter .number {
    color: #fff;
    font-size: 90px; }
    @media (max-width: 767.98px) {
      .section-2 .counter .number {
        font-size: 40px; } }
  .section-2 .counter span {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.3);
    text-transform: uppercase;
    letter-spacing: .2rem; }

.section-3 {
  background-color: #efefef;
  padding-bottom: 0; }
  .section-3 .box-white {
    background-color: #fff;
    position: relative;
    z-index: 2;
    margin-bottom: -50px; }
  .section-3 .features-wrap {
    margin-bottom: 12rem; }
  .section-3 .img-overlap {
    margin-top: -100px; }
    @media (max-width: 991.98px) {
      .section-3 .img-overlap {
        margin-top: auto; } }
  .section-3 .text-wrap {
    margin-right: 200px; }
    @media (max-width: 1399.98px) {
      .section-3 .text-wrap {
        margin-right: auto; } }

.what-we-do-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: clamp(40px, 8vw, 130px);
  margin-bottom: 72px;
  align-items: end; }
.what-we-do-intro .heading {
  margin: 0;
  line-height: .95; }
.what-we-do-intro > p {
  max-width: 540px;
  margin: 0 0 7px;
  color: #54575a;
  font-size: 19px;
  line-height: 1.7; }
.what-we-do-kicker {
  margin: 0 0 15px;
  color: #ef3d23;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .17em;
  text-transform: uppercase; }
.what-we-do-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 30px);
  margin-bottom: 12rem; }
.what-we-do-card {
  position: relative;
  min-height: 500px;
  overflow: hidden;
  border-radius: 9px;
  background: #111;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 18px 42px rgba(20, 20, 20, .12);
  transition: transform .3s ease, box-shadow .3s ease; }
.what-we-do-card:nth-child(even) {
  transform: translateY(34px); }
.what-we-do-card:hover {
  color: #fff;
  transform: translateY(-7px);
  box-shadow: 0 26px 55px rgba(20, 20, 20, .2); }
.what-we-do-card:nth-child(even):hover {
  transform: translateY(27px); }
.what-we-do-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease; }
.what-we-do-card:hover img {
  transform: scale(1.045); }
.what-we-do-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, .92) 0%, rgba(0, 0, 0, .38) 48%, rgba(0, 0, 0, .04) 76%); }
.what-we-do-card-content {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 30px; }
.what-we-do-type {
  color: #facd24;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase; }
.what-we-do-card h3 {
  margin: 10px 0 22px;
  color: #fff;
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.08;
  overflow-wrap: anywhere; }
.what-we-do-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase; }
.what-we-do-link span {
  color: #facd24;
  font-size: 19px;
  transition: transform .2s ease; }
.what-we-do-card:hover .what-we-do-link span {
  transform: translateX(5px); }
@media (max-width: 991.98px) {
  .what-we-do-intro {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 48px; }
  .what-we-do-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 9rem; }
  .what-we-do-card {
    min-height: 470px; }
}
@media (max-width: 575.98px) {
  .what-we-do-intro > p {
    font-size: 17px; }
  .what-we-do-grid {
    grid-template-columns: 1fr;
    margin-bottom: 7rem; }
  .what-we-do-card,
  .what-we-do-card:nth-child(even) {
    min-height: 440px;
    transform: none; }
  .what-we-do-card:hover,
  .what-we-do-card:nth-child(even):hover {
    transform: translateY(-5px); }
}

.feature {
  margin-bottom: 50px;
  padding: 30px;
  position: relative; }
  .feature > div {
    position: relative;
    z-index: 2;
    top: 10px;
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease; }
  .feature .svg-wrap {
    font-size: 40px;
    margin-bottom: 20px;
    color: #ef3d23; }
  .feature h3, .feature .h3 {
    font-size: 20px;
    font-weight: 700; }
  .feature:before {
    -webkit-transition: .3s all ease;
    -o-transition: .3s all ease;
    transition: .3s all ease;
    border-radius: 7px;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
    bottom: 0;
    top: 0;
    opacity: 0;
    visibility: hidden;
    background: #ef3d23;
    background: -moz-linear-gradient(left, #ef3d23 0%, #facd24 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%, #ef3d23), color-stop(100%, #facd24));
    background: -webkit-linear-gradient(left, #ef3d23 0%, #facd24 100%);
    background: -o-linear-gradient(left, #ef3d23 0%, #facd24 100%);
    background: -ms-linear-gradient(left, #ef3d23 0%, #facd24 100%);
    background: -webkit-gradient(linear, left top, right top, from(#ef3d23), to(#facd24));
    background: linear-gradient(to right, #ef3d23 0%, #facd24 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef3d23', endColorstr='#facd24',GradientType=1 );
    -webkit-box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.2); }
  .feature:hover > div {
    top: 0; }
  .feature:hover h3, .feature:hover .h3, .feature:hover p {
    color: #fff; }
  .feature:hover:before {
    opacity: 1;
    visibility: visible; }
  .feature:hover .svg-wrap svg {
    color: #fff; }
  .feature .mana-growth-svg path {
    transition: fill .3s ease; }
  .feature:hover .mana-growth-svg path {
    fill: #fff; }
  .feature.dark {
    position: relative; }
    .feature.dark h3, .feature.dark .h3 {
      font-weight: 400; }
    .feature.dark h3, .feature.dark .h3, .feature.dark p {
      color: #fff; }
    .feature.dark p {
      color: rgba(255, 255, 255, 0.5); }
    .feature.dark:before {
      content: "";
      background: #222;
      opacity: 1;
      visibility: visible;
      -webkit-transition: .3s all ease;
      -o-transition: .3s all ease;
      transition: .3s all ease; }
    .feature.dark:hover p {
      color: white; }
    .feature.dark:hover:before {
      background: #ef3d23;
      background: -moz-linear-gradient(left, #ef3d23 0%, #facd24 100%);
      background: -webkit-gradient(linear, left top, right top, color-stop(0%, #ef3d23), color-stop(100%, #facd24));
      background: -webkit-linear-gradient(left, #ef3d23 0%, #facd24 100%);
      background: -o-linear-gradient(left, #ef3d23 0%, #facd24 100%);
      background: -ms-linear-gradient(left, #ef3d23 0%, #facd24 100%);
      background: -webkit-gradient(linear, left top, right top, from(#ef3d23), to(#facd24));
      background: linear-gradient(to right, #ef3d23 0%, #facd24 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef3d23', endColorstr='#facd24',GradientType=1 );
      -webkit-box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.2);
      box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.2); }

.section-4, .section-pricing {
  background-color: #000; }
  .section-4 .pricing, .section-pricing .pricing {
    padding: 40px;
    background-color: #ef3d23;
    text-align: center;
    border-radius: 7px; }
    .section-4 .pricing h3, .section-4 .pricing .h3, .section-pricing .pricing h3, .section-pricing .pricing .h3 {
      margin-bottom: 20px;
      font-size: 30px;
      color: #fff; }
    .section-4 .pricing p, .section-pricing .pricing p {
      margin-bottom: 20px;
      color: rgba(255, 255, 255, 0.5); }
    .section-4 .pricing .line, .section-pricing .pricing .line {
      margin-top: 40px;
      margin-bottom: 40px;
      width: 100%;
      height: 1px;
      background-color: rgba(255, 255, 255, 0.2); }
    .section-4 .pricing .price, .section-pricing .pricing .price {
      color: #fff;
      position: relative; }
      .section-4 .pricing .price .currency, .section-pricing .pricing .price .currency {
        font-size: 16px;
        position: relative;
        top: -20px; }
      .section-4 .pricing .price .price, .section-pricing .pricing .price .price {
        position: relative;
        font-size: 50px;
        font-weight: 700; }
      .section-4 .pricing .price .cents, .section-pricing .pricing .price .cents {
        font-size: 16px;
        position: relative; }

.membership-pricing {
  position: relative;
  isolation: isolate; }
.membership-pricing::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: clamp(64px, 9vw, 300px);
  background: url("../images/niho-whakatairanga.png") right top / 100% auto repeat-y;
  opacity: .5;
  pointer-events: none;
  z-index: -1; }
@media (max-width: 767.98px) {
  .membership-pricing::before {
    opacity: .22; }
}
.membership-pricing .membership-intro {
  margin-bottom: 88px; }
.membership-pricing .membership-intro .heading {
  margin-bottom: 24px;
  line-height: 1.08; }
.membership-pricing .membership-intro p {
  margin-bottom: 12px;
  color: rgba(255, 255, 255, 0.72); }
.membership-pricing .membership-intro p:last-child {
  margin-bottom: 0; }
.membership-pricing .row.align-items-center > [class*="col-"] {
  display: flex; }
.membership-pricing .pricing {
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%; }
.membership-pricing .membership-card {
  min-height: 650px;
  padding: 44px 40px;
  background: #ef3d23;
  background: linear-gradient(to bottom, #ef3d23 0%, #f4741f 58%, #facd24 100%); }
.membership-pricing .membership-card-featured {
  min-height: 730px;
  padding-top: 64px;
  padding-bottom: 64px; }
.membership-pricing .membership-card-header {
  display: flex;
  min-height: 150px;
  flex-direction: column;
  justify-content: center; }
.membership-pricing .membership-card-header h3 {
  margin: 0 0 24px; }
.membership-pricing .membership-card-header p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78); }
.membership-pricing .membership-card .line {
  margin-top: 34px;
  margin-bottom: 34px; }
.membership-pricing .pricing ul {
  margin: 0 0 32px;
  padding: 0;
  text-align: left;
  list-style: none; }
.membership-pricing .pricing ul li {
  position: relative;
  margin-bottom: 14px;
  padding-left: 31px;
  color: #fff;
  line-height: 1.55; }
.membership-pricing .pricing ul li:before {
  content: "\2713";
  position: absolute;
  top: 1px;
  left: 0;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: #fff;
  color: #ef3d23;
  font-size: 13px;
  font-weight: 700;
  line-height: 21px;
  text-align: center; }
.membership-pricing .pricing > p:last-child {
  margin-top: auto;
  margin-bottom: 0; }
.membership-pricing .membership-select {
  min-width: 170px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
  transition: transform .2s ease, box-shadow .2s ease; }
.membership-pricing .membership-select:before {
  background: #fff; }
.membership-pricing .membership-select:after {
  background: #111; }
.membership-pricing .membership-select:hover,
.membership-pricing .membership-select:focus {
  color: #000;
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.3); }
.membership-pricing .membership-select:focus:after {
  opacity: 0; }
@media (max-width: 991.98px) {
  .membership-pricing .membership-intro {
    margin-bottom: 48px; }
  .membership-pricing .row.align-items-center > [class*="col-"] {
    display: block; }
  .membership-pricing .membership-card,
  .membership-pricing .membership-card-featured {
    height: auto;
    min-height: 0;
    padding: 40px 32px;
    margin-bottom: 24px !important; }
  .membership-pricing .membership-card-header {
    min-height: 0; }
}

.home-news-belt {
  position: relative;
  z-index: 3;
  padding: 24px 0 0;
  background: #000;
  color: #1d2023; }
.home-news-belt:after {
  content: "";
  position: absolute;
  z-index: 1;
  right: clamp(32px, 4vw, 58px);
  bottom: -90px;
  left: clamp(32px, 4vw, 58px);
  height: 90px;
  background: #efefef; }
.home-news-belt > .container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  margin-bottom: 0;
  padding: clamp(58px, 6vw, 90px) clamp(66px, 8vw, 150px) clamp(86px, 8vw, 120px);
  border: 0;
  border-radius: 0;
  background: #efefef; }
.home-news-belt + #aho-shorts-films {
  padding-top: 90px; }
.home-news-header {
  display: flex;
  margin-bottom: 38px;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px; }
.home-news-kicker {
  margin: 0 0 9px;
  color: #facd24;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase; }
.home-news-header h2 {
  margin: 0;
  color: #1d2023;
  font-size: clamp(40px, 5vw, 68px);
  font-weight: 700;
  line-height: 1; }
.home-news-all {
  flex: 0 0 auto; }
.home-news-slider-wrap {
  position: relative; }
.home-news-slider-wrap .tns-outer {
  position: relative; }
.home-news-slider-wrap .tns-controls {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  pointer-events: none; }
.home-news-slider-wrap .tns-controls button {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 50%;
  background: #111;
  color: transparent;
  font-size: 0;
  transform: translateY(-50%);
  pointer-events: auto;
  transition: border-color .2s ease, background-color .2s ease; }
.home-news-slider-wrap .tns-controls button:first-child {
  right: calc(100% + 28px); }
.home-news-slider-wrap .tns-controls button:last-child {
  left: calc(100% + 28px); }
.home-news-slider-wrap .tns-controls button:before {
  color: #fff;
  font-size: 22px;
  line-height: 1; }
.home-news-slider-wrap .tns-controls button:first-child:before {
  content: "\2039"; }
.home-news-slider-wrap .tns-controls button:last-child:before {
  content: "\203A"; }
.home-news-slider-wrap .tns-controls button:hover:not(:disabled) {
  border-color: #facd24;
  background: #ef3d23; }
.home-news-slider-wrap .tns-controls button:disabled {
  opacity: .3; }
.home-news-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border-radius: 12px;
  background: #1b1b1b;
  color: #fff;
  text-decoration: none;
  transition: transform .25s ease, background-color .25s ease; }
.home-news-card:hover {
  color: #fff;
  background: #242424;
  transform: translateY(-5px); }
.home-news-card-image {
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: #272727; }
.home-news-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease; }
.home-news-card:hover .home-news-card-image img {
  transform: scale(1.04); }
.home-news-card-placeholder {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #ef3d23, #facd24);
  color: #fff;
  font-size: 34px;
  font-weight: 700; }
.home-news-card-content {
  display: flex;
  min-height: 190px;
  padding: 24px;
  flex: 1;
  flex-direction: column; }
.home-news-card-content time {
  color: rgba(255, 255, 255, .56);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase; }
.home-news-card-content h3 {
  margin: 12px 0 24px;
  color: #fff;
  font-size: 22px;
  line-height: 1.25; }
.home-news-card-content > span {
  margin-top: auto;
  color: #facd24;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase; }
@media (max-width: 767.98px) {
  .home-news-belt {
    padding-top: 12px; }
  .home-news-belt > .container {
    margin-bottom: 0;
    padding: 50px 20px 76px; }
  .home-news-belt:after {
    right: 16px;
    bottom: -56px;
    left: 16px;
    height: 56px; }
  .home-news-belt + #aho-shorts-films {
    padding-top: 56px; }
  .home-news-header {
    margin-bottom: 38px;
    align-items: flex-start;
    flex-direction: column; }
  .home-news-slider-wrap .tns-controls {
    left: 0; }
  .home-news-slider-wrap .tns-controls button {
    width: 40px;
    height: 40px;
    background: rgba(17, 17, 17, .9); }
  .home-news-slider-wrap .tns-controls button:first-child {
    right: auto;
    left: 8px; }
  .home-news-slider-wrap .tns-controls button:last-child {
    right: 8px;
    left: auto; }
}

.film-slider-wrap {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 28px clamp(58px, 5vw, 100px) 34px;
  overflow: hidden;
}
.film-slider-wrap .tns-outer {
  position: relative; }
.film-slider-wrap .tns-controls button {
  position: absolute;
  top: 50%;
  z-index: 3;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, 0.75);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.72);
  color: transparent;
  transform: translateY(-50%);
  transition: background-color .2s ease, border-color .2s ease; }
.film-slider-wrap .tns-controls button:first-child {
  left: -52px; }
.film-slider-wrap .tns-controls button:last-child {
  right: -52px; }
.film-slider-wrap .tns-controls button:before {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  transform: translate(-50%, -53%); }
.film-slider-wrap .tns-controls button:first-child:before {
  content: "\2039"; }
.film-slider-wrap .tns-controls button:last-child:before {
  content: "\203a"; }
.film-slider-wrap .tns-controls button:hover,
.film-slider-wrap .tns-controls button:focus {
  border-color: #facd24;
  background: #ef3d23;
  outline: none; }
.film-slider-wrap .tns-controls button:disabled {
  opacity: .35; }
.film-slide {
  height: 100%; }
.film-card {
  height: 100%;
  overflow: hidden;
  border-radius: 6px;
  background: #171717;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4);
  transition: transform .25s ease, box-shadow .25s ease; }
.film-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.55); }
.film-card-poster {
  position: relative;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: #171717; }
.film-card-poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease; }
.film-card:hover .film-card-poster img {
  transform: scale(1.025); }
.film-card-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: rgba(255, 255, 255, 0.5);
  font-size: 58px; }
.film-card-body {
  min-height: 92px;
  padding: 15px 16px 17px; }
.film-card-year {
  margin: 0 0 5px;
  color: #facd24;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em; }
.film-card-body h3 {
  margin: 0;
  color: #fff;
  font-size: 17px;
  line-height: 1.3; }
.film-card-action {
  display: block;
  margin-top: 9px;
  color: #facd24;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase; }
@media (max-width: 639.98px) {
  .film-slider-wrap {
    padding: 22px 42px 26px; }
  .film-slider-wrap .tns-controls button {
    width: 36px;
    height: 36px; }
  .film-slider-wrap .tns-controls button:first-child {
    left: -38px; }
  .film-slider-wrap .tns-controls button:last-child {
    right: -38px; }
}

/* Films */
.films-index,
.film-detail {
  color: #fff;
  background: #090b0c; }

.films-kicker {
  display: block;
  margin-bottom: 10px;
  color: #ffc41c;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase; }

.films-feature {
  position: relative;
  display: flex;
  min-height: min(78vh, 820px);
  align-items: flex-end;
  background-position: center;
  background-size: cover; }

.films-feature:before,
.film-detail-hero:before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(5, 7, 8, .98) 0%, rgba(5, 7, 8, .74) 42%, rgba(5, 7, 8, .12) 78%), linear-gradient(0deg, #090b0c 0%, transparent 45%); }

.films-feature-inner {
  position: relative;
  z-index: 1;
  padding-top: 180px;
  padding-bottom: clamp(70px, 9vw, 125px); }

.films-feature h1,
.film-detail-copy h1 {
  max-width: 850px;
  margin: 0 0 20px;
  color: #fff;
  font-size: clamp(3.6rem, 8vw, 7.8rem);
  font-weight: 750;
  letter-spacing: -.065em;
  line-height: .88; }

.films-feature p {
  max-width: 610px;
  margin-bottom: 30px;
  color: rgba(255, 255, 255, .78);
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.6; }

.films-library {
  padding-top: clamp(60px, 8vw, 110px); }

.films-library-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 36px; }

.films-library-heading h2,
.film-detail-facts h2,
.film-watch h2,
.more-films h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.2rem, 4vw, 4rem);
  font-weight: 700;
  letter-spacing: -.045em; }

.films-library-heading > p {
  margin: 0;
  color: rgba(255, 255, 255, .5); }

.films-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(18px, 2.5vw, 34px) clamp(12px, 1.8vw, 24px); }

.films-grid-card {
  min-width: 0;
  color: #fff; }

.films-grid-card:hover {
  color: #fff; }

.films-grid-poster {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 2 / 3;
  background: #171a1c;
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .32);
  transition: transform .25s ease, box-shadow .25s ease; }

.films-grid-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease, filter .3s ease; }

.films-grid-card:hover .films-grid-poster {
  z-index: 2;
  transform: translateY(-7px) scale(1.025);
  box-shadow: 0 22px 44px rgba(0, 0, 0, .6); }

.films-grid-card:hover .films-grid-poster img {
  filter: brightness(.62);
  transform: scale(1.04); }

.films-grid-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .35);
  background: linear-gradient(145deg, #35153d, #111820);
  font-size: 42px; }

.films-grid-play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;
  color: #111;
  background: #fff;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -42%) scale(.82);
  transition: opacity .25s ease, transform .25s ease; }

.films-grid-card:hover .films-grid-play {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1); }

.films-grid-copy {
  display: block;
  padding: 16px 4px 0; }

.films-grid-copy span {
  display: block;
  min-height: 18px;
  overflow: hidden;
  margin-bottom: 5px;
  color: #ffc41c;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .08em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap; }

.films-grid-copy strong {
  display: block;
  overflow: hidden;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap; }

.films-grid-copy em {
  display: block;
  margin-top: 8px;
  color: rgba(255, 255, 255, .58);
  font-size: 10px;
  font-style: normal;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase; }

.films-grid-card:hover .films-grid-copy em {
  color: #ffc41c; }

.films-empty {
  padding: 70px;
  text-align: center;
  background: #141719;
  border-radius: 12px; }

.film-detail-hero {
  position: relative;
  display: flex;
  min-height: min(92vh, 950px);
  align-items: flex-end;
  background-position: center;
  background-size: cover; }

.film-detail-hero-inner {
  position: relative;
  z-index: 1;
  padding-top: 180px;
  padding-bottom: clamp(65px, 9vw, 120px); }

.film-detail-back {
  display: inline-block;
  margin-bottom: clamp(55px, 9vw, 120px);
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase; }

.film-detail-copy {
  max-width: 850px; }

.film-detail-copy h1 {
  font-size: clamp(3.5rem, 8vw, 8rem); }

.film-detail-copy > p {
  max-width: 720px;
  margin: 24px 0 30px;
  color: rgba(255, 255, 255, .8);
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.65; }

.film-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px; }

.film-detail-meta span {
  padding: 6px 11px;
  color: rgba(255, 255, 255, .86);
  background: rgba(255, 255, 255, .11);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 4px;
  font-size: 12px;
  font-weight: 650; }

.film-detail-information {
  background: #090b0c; }

.film-detail-information-grid {
  display: grid;
  grid-template-columns: minmax(220px, 330px) minmax(0, 1fr);
  gap: clamp(45px, 8vw, 120px);
  align-items: start; }

.film-detail-poster {
  overflow: hidden;
  margin: 0;
  background: #171a1c;
  border-radius: 9px;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .45); }

.film-detail-poster img {
  display: block;
  width: 100%;
  height: auto; }

.film-detail-facts {
  max-width: 780px; }

.film-detail-synopsis {
  margin: 25px 0 38px;
  color: rgba(255, 255, 255, .7);
  font-size: 18px;
  line-height: 1.75; }

.film-detail-facts dl {
  margin: 0;
  border-top: 1px solid rgba(255, 255, 255, .13); }

.film-detail-facts dl > div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 22px;
  padding: 17px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .13); }

.film-detail-facts dt {
  color: rgba(255, 255, 255, .45);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase; }

.film-detail-facts dd {
  margin: 0;
  color: #fff; }

.film-lightbox-open {
  overflow: hidden; }

.film-lightbox[hidden] {
  display: none; }

.film-lightbox {
  position: fixed;
  z-index: 9000;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(15px, 4vw, 60px);
  background: rgba(0, 0, 0, .94);
  backdrop-filter: blur(8px); }

.film-lightbox-dialog {
  position: relative;
  width: min(94vw, 1500px);
  max-height: 92vh; }

.film-lightbox-close {
  position: absolute;
  z-index: 2;
  top: -48px;
  right: 0;
  width: 42px;
  height: 42px;
  padding: 0;
  color: #fff;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 50%;
  font-size: 30px;
  line-height: 36px;
  transition: background .2s ease, color .2s ease; }

.film-lightbox-close:hover,
.film-lightbox-close:focus {
  color: #111;
  background: #fff;
  outline: none; }

.film-lightbox-player {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 8px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .75); }

.film-lightbox-player iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0; }

.more-films {
  background: #090b0c; }

.more-films header {
  margin-bottom: 30px; }

.more-films-slider-wrap {
  position: relative;
  padding: 0 52px; }

.more-films-slider-wrap .tns-outer {
  overflow: hidden; }

.more-films-slider-wrap .tns-controls button {
  position: absolute;
  top: 42%;
  z-index: 3;
  width: 42px;
  height: 42px;
  overflow: hidden;
  color: transparent;
  background: rgba(0, 0, 0, .78);
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 50%;
  transform: translateY(-50%); }

.more-films-slider-wrap .tns-controls button:first-child {
  left: 0; }

.more-films-slider-wrap .tns-controls button:last-child {
  right: 0; }

.more-films-slider-wrap .tns-controls button:before {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #fff;
  font-size: 24px;
  transform: translate(-50%, -54%); }

.more-films-slider-wrap .tns-controls button:first-child:before {
  content: "\2039"; }

.more-films-slider-wrap .tns-controls button:last-child:before {
  content: "\203a"; }

.more-films-slider-wrap .tns-controls button:disabled {
  opacity: .28; }

.more-film-slide {
  height: 100%; }

.more-films-row a {
  min-width: 0;
  color: #fff; }

.more-films-row img,
.more-films-row .films-grid-placeholder {
  display: flex;
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  border-radius: 7px;
  transition: transform .25s ease; }

.more-films-row a:hover img,
.more-films-row a:hover .films-grid-placeholder {
  transform: translateY(-6px); }

.more-films-row strong {
  display: block;
  overflow: hidden;
  padding-top: 12px;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap; }

.more-film-watch {
  display: block;
  margin-top: 6px;
  color: #ffc41c;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase; }

@media (max-width: 1199.98px) {
  .films-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
  .films-feature,
  .film-detail-hero {
    min-height: 720px;
    background-position: 62% center; }

  .films-feature:before,
  .film-detail-hero:before {
    background: linear-gradient(0deg, #090b0c 0%, rgba(5, 7, 8, .74) 58%, rgba(5, 7, 8, .3) 100%); }

  .films-feature-inner,
  .film-detail-hero-inner {
    padding-top: 140px;
    padding-bottom: 60px; }

  .films-feature h1,
  .film-detail-copy h1 {
    font-size: clamp(3rem, 17vw, 5.2rem); }

  .films-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 13px; }

  .film-detail-information-grid {
    grid-template-columns: 1fr; }

  .film-detail-poster {
    width: min(70vw, 310px); }

  .film-detail-facts dl > div {
    grid-template-columns: 110px minmax(0, 1fr); }

  .more-films-slider-wrap {
    margin-right: -12px;
    margin-left: -12px;
    padding: 0 34px; }

  .more-films-slider-wrap .tns-controls button {
    width: 34px;
    height: 34px; }

  .film-lightbox {
    padding: 12px; }

  .film-lightbox-dialog {
    width: 100%; }

  .film-lightbox-close {
    top: -52px;
    right: 3px; }
}

.section-6 {
  background-color: #000;
  position: relative; }
  .section-6 .box-white {
    background: #fff;
    margin-top: -200px;
    margin-bottom: 200px;
    padding: 50px; }
  .section-6 > .container {
    position: relative;
    z-index: 2; }
  .section-6.half-overlay {
    position: relative; }
    .section-6.half-overlay .box-white {
      margin-bottom: 0; }
    .section-6.half-overlay:before {
      bottom: 0;
      content: "";
      z-index: 1;
      position: absolute;
      left: 0;
      width: 100%;
      height: 50%;
      background: #111; }
      @media (max-width: 767.98px) {
        .section-6.half-overlay:before {
          height: 30%; } }
  .section-6 img {
    margin-bottom: 50px; }
  .section-6 .team h3, .section-6 .team .h3 {
    font-size: 30px;
    color: #fff; }
  .section-6 .team p {
    color: rgba(255, 255, 255, 0.5); }
    .section-6 .team p.position {
      color: rgba(255, 255, 255, 0.3); }

.bio-pic img {
  width: 80px;
  border-radius: 50%; }

.custom-alert {
  display: none; }

.section-contact {
  background-color: #efefef; }

.form-contact .form-group {
  margin-bottom: 30px; }

.form-contact .form-control {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #ccc;
  border-radius: 0;
  padding-left: 0;
  padding-right: 0; }
  .form-contact .form-control:hover, .form-contact .form-control:active, .form-contact .form-control:focus {
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none; }

.social li {
  display: inline-block; }
  .social li a {
    display: inline-block;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    position: relative;
    background: #efefef;
    color: #000; }
    .social li a:hover {
      background: #ef3d23;
      color: #fff; }
    .social li a > span {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

.home-partners-panel {
  padding-top: clamp(32px, 4vw, 64px);
  padding-bottom: clamp(32px, 4vw, 64px); }
.funding-partners .box-white {
  padding: clamp(64px, 8vw, 120px) clamp(28px, 6vw, 90px); }
.funding-partners-heading {
  max-width: 760px;
  margin: 0 auto 56px; }
.funding-partners-heading .heading {
  margin-bottom: 22px; }
.funding-partners-heading p {
  margin: 0;
  color: #5d6064;
  font-size: 18px;
  line-height: 1.7; }
.funding-partners-marquee {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 18px 0 24px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 7%, #000 93%, transparent); }
.funding-partners-track {
  display: flex;
  width: max-content;
  animation: funding-partners-scroll 52s linear infinite;
  will-change: transform; }
.funding-partners-marquee:hover .funding-partners-track,
.funding-partners-marquee:focus-within .funding-partners-track {
  animation-play-state: paused; }
.funding-partners-set {
  display: flex;
  gap: clamp(70px, 8vw, 150px);
  padding-right: clamp(70px, 8vw, 150px); }
.funding-partner {
  display: flex;
  flex: 0 0 260px;
  width: 260px;
  min-height: 130px;
  padding: 0;
  align-items: center;
  justify-content: center;
  transition: opacity .2s ease; }
.funding-partner:hover,
.funding-partner:focus {
  opacity: .72; }
.funding-partner img {
  display: block;
  width: 100%;
  max-width: 250px;
  max-height: 115px;
  object-fit: contain; }
@keyframes funding-partners-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .funding-partners-marquee {
    overflow-x: auto;
    -webkit-mask-image: none;
    mask-image: none; }
  .funding-partners-track {
    animation: none; }
  .funding-partners-set[aria-hidden="true"] {
    display: none; }
}
@media (max-width: 575.98px) {
  .funding-partners-heading {
    margin-bottom: 36px; }
  .funding-partners-heading p {
    font-size: 16px; }
  .funding-partner {
    flex-basis: 210px;
    width: 210px;
    min-height: 120px; }
}

.testimonial-wrap .tns-nav {
  margin-bottom: 30px;
  position: absolute;
  bottom: 0px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%); }
  .testimonial-wrap .tns-nav button {
    background: none;
    border: none;
    display: inline-block;
    position: relative;
    width: 0px !important;
    height: 7px !important;
    margin: 2px; }
    .testimonial-wrap .tns-nav button:active, .testimonial-wrap .tns-nav button:focus, .testimonial-wrap .tns-nav button:hover {
      outline: none;
      -webkit-box-shadow: none;
      box-shadow: none;
      background: none; }
    .testimonial-wrap .tns-nav button:before {
      display: block;
      width: 7px;
      height: 7px;
      left: 0;
      top: 0;
      position: absolute;
      content: "";
      border-radius: 50%;
      -webkit-transition: .3s all ease;
      -o-transition: .3s all ease;
      transition: .3s all ease;
      background-color: #efefef; }
    .testimonial-wrap .tns-nav button:hover:before, .testimonial-wrap .tns-nav button.tns-nav-active:before {
      background-color: #ef3d23; }

.section-counter {
  padding-top: 7rem;
  padding-bottom: 7rem; }

.counter-wrap .number-wrap {
  font-size: 50px;
  font-weight: bold;
  color: #ef3d23; }

.counter-wrap .caption {
  font-size: 16px; }

.site-footer {
  overflow: hidden;
  padding: 0 0 28px;
  color: rgba(255, 255, 255, .72);
  background: #080808 url("../images/niho-whakatairanga-footer.png") left top / auto 100% no-repeat;
  font-size: 15px; }

.site-footer a {
  color: inherit;
  transition: color .2s ease; }

.site-footer a:hover {
  color: #ffbe18; }

.site-footer-newsletter {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.4fr);
  gap: clamp(30px, 6vw, 90px);
  align-items: center;
  margin-bottom: clamp(52px, 7vw, 88px);
  padding: clamp(38px, 5vw, 66px);
  color: #171717;
  background: linear-gradient(120deg, #ff3c20 0%, #ff791d 48%, #ffc51b 100%);
  border-radius: 0 0 24px 24px; }

.site-footer-kicker {
  display: block;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase; }

.site-footer-newsletter h2 {
  max-width: 520px;
  margin: 0 0 12px;
  color: #080808;
  font-size: clamp(2rem, 3.4vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: .98; }

.site-footer-newsletter-copy p {
  max-width: 520px;
  margin: 0;
  color: rgba(8, 8, 8, .72);
  font-size: 17px;
  line-height: 1.55; }

.footer-subscribe-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px; }

.footer-subscribe-form label,
.footer-subscribe-form label span {
  display: block; }

.footer-subscribe-form label span {
  margin-bottom: 7px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase; }

.footer-subscribe-form input {
  width: 100%;
  height: 50px;
  padding: 0 16px;
  color: #171717;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(8, 8, 8, .14);
  border-radius: 8px;
  outline: none; }

.footer-subscribe-form input:focus {
  background: #fff;
  border-color: #080808;
  box-shadow: 0 0 0 3px rgba(8, 8, 8, .12); }

.footer-subscribe-actions {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px; }

.footer-subscribe-actions p {
  margin: 0;
  color: rgba(8, 8, 8, .68);
  font-size: 12px; }

.footer-subscribe-actions p a {
  color: #080808;
  text-decoration: underline; }

.footer-subscribe-actions .btn {
  flex: 0 0 auto;
  min-width: 170px;
  color: #fff;
  background: #080808;
  border: 0; }

.footer-subscribe-actions .btn:hover {
  color: #080808;
  background: #fff; }

.site-footer-message {
  margin-bottom: 15px;
  padding: 11px 14px;
  background: rgba(255, 255, 255, .85);
  border-left: 4px solid #171717;
  border-radius: 5px;
  font-size: 14px; }

.site-footer-message-error {
  border-left-color: #a41414; }

.site-footer-main {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(0, 1.5fr);
  gap: clamp(45px, 8vw, 120px);
  padding-bottom: clamp(48px, 7vw, 78px); }

.site-footer-logo {
  display: inline-block;
  margin-bottom: 24px; }

.site-footer-logo img {
  display: block;
  width: min(250px, 100%);
  height: auto; }

.site-footer-brand p {
  max-width: 430px;
  margin: 0 0 24px;
  font-size: 16px;
  line-height: 1.65; }

.site-footer-join {
  color: #fff !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase; }

.site-footer-join span {
  display: inline-block;
  margin-left: 5px;
  color: #ffbe18;
  transition: transform .2s ease; }

.site-footer-join:hover span {
  transform: translateX(4px); }

.site-footer-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 64px); }

.site-footer-links h3 {
  margin: 0 0 20px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase; }

.site-footer-links ul {
  margin: 0;
  padding: 0;
  list-style: none; }

.site-footer-links li + li {
  margin-top: 12px; }

.site-footer-links a {
  font-size: 16px; }

.site-footer-bottom {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .14);
  font-size: 13px; }

.site-footer-bottom p {
  margin: 0; }

.site-footer-bottom > div {
  display: flex;
  gap: 22px; }

@media (max-width: 991.98px) {
  .site-footer-newsletter,
  .site-footer-main {
    grid-template-columns: 1fr; }

  .site-footer-newsletter {
    gap: 30px; }
}

@media (max-width: 767.98px) {
  .site-footer {
    padding-bottom: 22px; }

  .site-footer-newsletter {
    margin-right: -12px;
    margin-left: -12px;
    padding: 36px 24px;
    border-radius: 0 0 18px 18px; }

  .footer-subscribe-fields,
  .site-footer-links {
    grid-template-columns: 1fr; }

  .footer-subscribe-actions,
  .site-footer-bottom,
  .site-footer-bottom > div {
    align-items: flex-start;
    flex-direction: column; }

  .footer-subscribe-actions .btn {
    width: 100%; }

  .site-footer-links {
    gap: 32px; }

  .site-footer-bottom > div {
    gap: 9px; }
}

#overlayer {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 7100;
  background: #fff;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.loader {
  z-index: 7700;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

/* News */
.news-index,
.news-article {
  background: #f6f4ef; }

.news-index-intro {
  max-width: 720px;
  margin-bottom: 42px; }

.news-kicker,
.more-news-kicker {
  display: block;
  margin-bottom: 8px;
  color: #ef3d23;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase; }

.news-index-intro h2 {
  margin-bottom: 12px;
  color: #171717;
  font-size: clamp(2.25rem, 5vw, 4.25rem);
  font-weight: 700;
  letter-spacing: -.04em; }

.news-index-intro p {
  max-width: 620px;
  margin: 0;
  color: #626262;
  font-size: 18px; }

#blog-list {
  row-gap: 32px; }

.news-article-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  gap: clamp(28px, 4vw, 54px);
  align-items: start; }

.article-main {
  min-width: 0; }

.news-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(20, 20, 20, .08);
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(20, 20, 20, .05);
  transition: transform .25s ease, box-shadow .25s ease; }

.news-card-column {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .3s ease, transform .3s ease; }

.news-card-column.is-visible {
  opacity: 1;
  transform: none; }

.news-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 38px rgba(20, 20, 20, .11); }

.news-card-image {
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: #dedbd3; }

.news-card-image a {
  display: block;
  height: 100%; }

.news-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease; }

.news-card:hover .news-card-image img {
  transform: scale(1.035); }

.news-card-image-placeholder {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .65);
  background: linear-gradient(135deg, #ef3d23, #5d2eaa);
  font-size: 36px;
  font-weight: 700; }

.news-card-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 26px; }

.news-card-content time,
.article-header time {
  color: #777;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase; }

.news-card-content h3 {
  margin: 12px 0;
  font-size: 24px;
  font-weight: 650;
  line-height: 1.2; }

.news-card-content h3 a {
  color: #171717;
  text-decoration: none; }

.news-card-content h3 a:hover {
  color: #ef3d23; }

.news-card-content p {
  margin-bottom: 24px;
  color: #666;
  line-height: 1.65; }

.news-card-button {
  width: auto;
  margin-top: auto;
  align-self: flex-start; }

.news-card-link,
.more-insight-link,
.article-back {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  color: #171717;
  font-weight: 650;
  text-decoration: none; }

.news-card-link {
  margin-top: auto; }

.news-card-link span,
.more-insight-link span {
  color: #ef3d23;
  font-size: 20px;
  transition: transform .2s ease; }

.news-card-link:hover span,
.more-insight-link:hover span {
  transform: translateX(4px); }

.news-load-more {
  padding-top: 44px; }

.news-load-more .btn {
  min-width: 170px;
  color: #fff;
  background: #171717; }

.article-content {
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(20, 20, 20, .08);
  border-radius: 18px;
  box-shadow: 0 10px 38px rgba(20, 20, 20, .06); }

.article-header {
  padding: clamp(30px, 5vw, 60px); }

.article-back {
  margin-bottom: 38px;
  color: #686868;
  font-size: 14px; }

.article-back:hover,
.news-card-link:hover,
.more-insight-link:hover {
  color: #ef3d23; }

.article-title {
  max-width: 850px;
  margin: 10px 0 20px;
  color: #171717;
  font-size: clamp(2.25rem, 5vw, 4.5rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.03; }

.article-feature-image {
  background: #e9e6df; }

.article-feature-image img {
  display: block;
  width: 100%;
  max-height: 760px;
  object-fit: contain; }

.article-body {
  padding: clamp(30px, 5vw, 60px);
  color: #303030;
  font-size: 18px;
  line-height: 1.8; }

.article-body > :first-child {
  margin-top: 0; }

.article-body > :last-child {
  margin-bottom: 0; }

.article-body h2,
.article-body h3,
.article-body h4,
.article-body h5,
.article-body h6 {
  margin: 1.8em 0 .7em;
  color: #171717;
  font-weight: 650;
  line-height: 1.2; }

.article-body p,
.article-body ul,
.article-body ol,
.article-body figure,
.article-body blockquote {
  margin-bottom: 1.5em; }

.article-body img {
  width: auto;
  max-width: 100%;
  height: auto;
  border-radius: 10px; }

.article-body figure {
  margin-right: 0;
  margin-left: 0; }

.article-body blockquote {
  padding: 6px 0 6px 24px;
  color: #555;
  border-left: 4px solid #ef3d23;
  font-size: 1.15em; }

/* Events */
.events-index,
.event-detail {
  background: #f3f1ec; }
.events-intro {
  max-width: 820px;
  margin-bottom: clamp(55px, 8vw, 95px); }
.events-kicker,
.events-section-heading span,
.event-card-date {
  color: #ef3d23;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase; }
.events-intro h1 {
  margin: 12px 0 20px;
  color: #151515;
  font-size: clamp(2.7rem, 6vw, 5.6rem);
  font-weight: 750;
  letter-spacing: -.055em;
  line-height: .98; }
.events-intro p {
  max-width: 670px;
  margin: 0;
  color: #64615d;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.6; }
.events-section + .events-section {
  margin-top: clamp(75px, 10vw, 125px); }
.events-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 32px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(20, 20, 20, .15); }
.events-section-heading h2 {
  margin: 4px 0 0;
  color: #171717;
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 700;
  letter-spacing: -.04em; }
.events-grid {
  row-gap: 28px; }
.events-grid > [class*="col-"] {
  display: flex; }
.event-card {
  display: flex;
  width: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(20, 20, 20, .09);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 30px rgba(20, 20, 20, .055);
  transition: transform .25s ease, box-shadow .25s ease; }
.event-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 42px rgba(20, 20, 20, .12); }
.event-card-image {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: #dedbd3; }
.event-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease; }
.event-card:hover .event-card-image img {
  transform: scale(1.035); }
.event-image-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .7);
  background: linear-gradient(135deg, #ef3d23, #facd24);
  font-size: 38px;
  font-weight: 750; }
.event-date-tile {
  position: absolute;
  right: 18px;
  bottom: 18px;
  display: flex;
  width: 66px;
  height: 72px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 8px;
  color: #171717;
  background: #facd24;
  box-shadow: 0 9px 22px rgba(0, 0, 0, .22); }
.event-date-tile strong {
  font-size: 28px;
  line-height: 1; }
.event-date-tile span {
  margin-top: 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase; }
.event-card-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 26px; }
.event-card-date {
  margin: 0 0 10px; }
.event-card-content h3 {
  margin: 0 0 14px;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.22; }
.event-card-content h3 a {
  color: #171717;
  text-decoration: none; }
.event-card-content h3 a:hover {
  color: #ef3d23; }
.event-card-content > p:not(.event-card-date) {
  margin-bottom: 22px;
  color: #65615d;
  line-height: 1.65; }
.event-card-meta {
  display: grid;
  gap: 9px;
  margin-bottom: 25px;
  color: #4d4a46;
  font-size: 14px; }
.event-card-meta span {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 7px; }
.event-card-meta i {
  padding-top: 3px;
  color: #ef3d23; }
.event-card-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: #171717;
  font-weight: 700;
  text-decoration: none; }
.event-card-link span {
  color: #ef3d23;
  font-size: 20px;
  transition: transform .2s ease; }
.event-card-link:hover {
  color: #ef3d23; }
.event-card-link:hover span {
  transform: translateX(4px); }
.event-card-past .event-card-image img {
  filter: saturate(.72); }
.events-empty {
  padding: 55px;
  border: 1px dashed rgba(20, 20, 20, .2);
  border-radius: 14px;
  text-align: center;
  background: rgba(255, 255, 255, .45); }
.events-empty h3 {
  margin-bottom: 8px;
  color: #171717; }
.event-detail .article-back {
  margin-bottom: 28px; }
.event-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: clamp(28px, 5vw, 70px);
  align-items: start; }
.event-detail-main {
  overflow: hidden;
  border: 1px solid rgba(20, 20, 20, .08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 40px rgba(20, 20, 20, .06); }
.event-detail-header {
  padding: clamp(32px, 5vw, 62px); }
.event-detail-header h1 {
  max-width: 900px;
  margin: 12px 0 20px;
  color: #171717;
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  font-weight: 750;
  letter-spacing: -.05em;
  line-height: 1.02; }
.event-detail-biline {
  max-width: 760px;
  margin: 0;
  color: #65615d;
  font-size: 20px;
  line-height: 1.6; }
.event-detail-image {
  margin: 0;
  background: #e4e0d8; }
.event-detail-image img {
  display: block;
  width: 100%;
  max-height: 760px;
  object-fit: contain; }
.event-information-card {
  position: sticky;
  top: 30px;
  padding: 30px;
  border-radius: 14px;
  color: #fff;
  background: #171717;
  box-shadow: 0 18px 42px rgba(20, 20, 20, .18); }
.event-information-card h2 {
  margin: 0 0 26px;
  color: #fff;
  font-size: 25px; }
.event-information-row {
  display: grid;
  grid-template-columns: 25px 1fr;
  gap: 12px;
  padding: 17px 0;
  border-top: 1px solid rgba(255, 255, 255, .13); }
.event-information-row i {
  padding-top: 4px;
  color: #facd24;
  text-align: center; }
.event-information-row strong,
.event-information-row span {
  display: block; }
.event-information-row strong {
  margin-bottom: 3px;
  color: rgba(255, 255, 255, .58);
  font-size: 11px;
  letter-spacing: .11em;
  text-transform: uppercase; }
.event-information-row span {
  line-height: 1.5; }
.event-booking-action {
  padding-top: 25px; }
.event-booking-action .btn {
  display: block;
  width: 100%;
  color: #fff;
  text-align: center; }
.event-ended,
.event-no-booking {
  display: block;
  padding: 13px 16px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  color: rgba(255, 255, 255, .7);
  text-align: center; }
@media (max-width: 991.98px) {
  .event-detail-grid {
    grid-template-columns: 1fr; }
  .event-detail-aside {
    grid-row: 1; }
  .event-information-card {
    position: static; }
}
@media (max-width: 575.98px) {
  .event-card-content {
    padding: 22px; }
  .events-empty {
    padding: 35px 22px; }
  .event-information-card {
    padding: 24px; }
}

/* Rauemi */
.resources-index {
  background: #f3f1ec; }
.resources-intro {
  max-width: 850px;
  margin-bottom: clamp(45px, 7vw, 85px); }
.resources-kicker,
.resource-type {
  color: #ef3d23;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase; }
.resources-intro h1 {
  margin: 12px 0 20px;
  color: #151515;
  font-size: clamp(2.7rem, 6vw, 5.6rem);
  font-weight: 750;
  letter-spacing: -.055em;
  line-height: .98; }
.resources-intro p {
  max-width: 690px;
  margin: 0;
  color: #64615d;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.6; }
.resources-grid {
  row-gap: 28px; }
.resources-grid > [class*="col-"] {
  display: flex; }
.resource-card {
  display: flex;
  width: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(20, 20, 20, .09);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 9px 30px rgba(20, 20, 20, .055);
  transition: transform .25s ease, box-shadow .25s ease; }
.resource-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 42px rgba(20, 20, 20, .12); }
.resource-card-image {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: #dedbd3; }
.resource-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease; }
.resource-card:hover .resource-card-image img {
  transform: scale(1.035); }
.resource-image-placeholder {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .88);
  background: linear-gradient(135deg, #ef3d23, #facd24);
  font-size: 48px; }
.resource-type {
  position: absolute;
  right: 16px;
  bottom: 16px;
  padding: 8px 12px;
  border-radius: 30px;
  color: #fff;
  background: rgba(18, 18, 18, .9);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .2); }
.resource-type i {
  margin-right: 5px;
  color: #facd24; }
.resource-card-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px; }
.resource-card-content h2 {
  margin: 0 0 14px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2; }
.resource-card-content h2 a {
  color: #171717;
  text-decoration: none; }
.resource-card-content h2 a:hover {
  color: #ef3d23; }
.resource-card-content p {
  margin: 0 0 25px;
  color: #65615d;
  line-height: 1.65; }
.resource-card-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: #171717;
  font-weight: 700;
  text-decoration: none; }
.resource-card-link span {
  color: #ef3d23;
  font-size: 20px;
  transition: transform .2s ease; }
.resource-card-link:hover {
  color: #ef3d23; }
.resource-card-link:hover span {
  transform: translateX(4px); }
.resources-empty {
  padding: 60px 24px;
  border: 1px dashed rgba(20, 20, 20, .2);
  border-radius: 14px;
  text-align: center;
  background: rgba(255, 255, 255, .45); }
.resources-empty h2 {
  margin-bottom: 8px;
  color: #171717; }
@media (max-width: 575.98px) {
  .resource-card-content {
    padding: 22px; }
  .resources-empty {
    padding: 40px 20px; }
}

/* Mai Aho member accounts */
.account-page {
  background: #f3f1ec; }
.account-shell,
.account-dashboard {
  max-width: 1120px;
  margin: 0 auto; }
.account-shell {
  padding: clamp(28px, 5vw, 64px);
  border: 1px solid rgba(20, 20, 20, .08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 46px rgba(20, 20, 20, .07); }
.account-shell-small {
  max-width: 630px; }
.account-heading {
  max-width: 780px;
  margin-bottom: 38px; }
.account-heading > span,
.account-dashboard-header > div > span {
  color: #ef3d23;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase; }
.account-heading h1,
.account-dashboard-header h1,
.account-message h1 {
  margin: 9px 0 15px;
  color: #171717;
  font-size: clamp(2.25rem, 5vw, 4.4rem);
  font-weight: 750;
  letter-spacing: -.05em;
  line-height: 1.02; }
.account-heading p,
.account-dashboard-header p {
  margin: 0;
  color: #65615d;
  font-size: 18px;
  line-height: 1.6; }
.account-form-section {
  padding: 32px 0;
  border-top: 1px solid rgba(20, 20, 20, .1); }
.account-form-section h2 {
  margin: 0 0 25px;
  color: #171717;
  font-size: 25px; }
.account-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px; }
.account-field-full {
  grid-column: 1 / -1; }
.account-field label {
  display: block;
  margin-bottom: 8px;
  color: #252525;
  font-size: 14px;
  font-weight: 700; }
.account-field label span {
  color: #888;
  font-weight: 400; }
.account-field input,
.account-field select {
  display: block;
  width: 100%;
  height: 52px;
  padding: 0 15px;
  border: 1px solid #d3d0ca;
  border-radius: 7px;
  color: #1d1d1d;
  background: #fff;
  font: inherit; }
.account-field input:focus,
.account-field select:focus {
  border-color: #ef3d23;
  outline: 3px solid rgba(239, 61, 35, .12); }
.account-field small {
  display: block;
  margin-top: 7px;
  color: #777;
  line-height: 1.4; }
.account-form > .account-field + .account-field {
  margin-top: 20px; }
.membership-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px; }
.membership-choice {
  position: relative;
  cursor: pointer; }
.membership-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none; }
.membership-choice span {
  display: block;
  height: 100%;
  padding: 22px;
  border: 2px solid #ddd9d2;
  border-radius: 10px;
  color: #65615d;
  line-height: 1.5;
  transition: border-color .2s ease, background .2s ease; }
.membership-choice strong {
  display: block;
  margin-bottom: 7px;
  color: #171717;
  font-size: 20px; }
.membership-choice input:checked + span {
  border-color: #ef3d23;
  background: #fff5ef; }
.membership-choice input:focus-visible + span {
  outline: 3px solid rgba(239, 61, 35, .2); }
.selected-membership {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 25px;
  padding: 20px 24px;
  border-radius: 9px;
  color: #fff;
  background: #171717; }
.selected-membership span {
  color: rgba(255, 255, 255, .68); }
.selected-membership strong {
  color: #facd24;
  font-size: 20px; }
.account-check {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 22px 0;
  color: #4c4945;
  cursor: pointer; }
.account-check input {
  width: 19px;
  height: 19px;
  margin-top: 2px;
  accent-color: #ef3d23; }
.account-submit {
  min-width: 210px;
  margin-top: 25px;
  padding: 15px 28px;
  color: #fff; }
.account-alt {
  margin: 22px 0 0;
  color: #666; }
.account-alt a,
.account-links a,
.account-message > a:not(.btn) {
  color: #ef3d23;
  font-weight: 700; }
.account-links {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 25px; }
.account-alert {
  margin-bottom: 25px;
  padding: 16px 19px;
  border-radius: 7px; }
.account-alert p {
  margin: 0; }
.account-alert-error {
  color: #8a2316;
  background: #fde5df; }
.account-alert-success {
  color: #1b653d;
  background: #def3e7; }
.account-dashboard-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 50px; }
.account-type-badge {
  padding: 10px 17px;
  border-radius: 30px;
  color: #171717;
  background: #facd24;
  font-weight: 700; }
.account-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px; }
.account-action-grid > a {
  display: grid;
  grid-template-columns: 50px 1fr auto;
  gap: 17px;
  align-items: center;
  padding: 30px;
  border-radius: 13px;
  color: #171717;
  background: #fff;
  box-shadow: 0 10px 32px rgba(20, 20, 20, .07);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease; }
.account-action-grid > a:hover {
  transform: translateY(-4px);
  box-shadow: 0 17px 40px rgba(20, 20, 20, .12); }
.account-action-grid i {
  display: flex;
  width: 50px;
  height: 50px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #ef3d23;
  background: #fff0e8;
  font-size: 20px; }
.account-action-grid strong {
  display: block;
  margin-bottom: 4px;
  font-size: 20px; }
.account-action-grid span {
  color: #6a6661;
  line-height: 1.5; }
.account-action-grid b {
  color: #ef3d23;
  font-size: 24px; }
.account-logout {
  margin-top: 28px;
  text-align: right; }
.account-logout button {
  border: 0;
  color: #666;
  background: transparent;
  text-decoration: underline; }
.account-message {
  text-align: center; }
.account-message h1 {
  margin-bottom: 30px;
  font-size: clamp(1.8rem, 4vw, 3rem); }
.account-message-icon {
  display: flex;
  width: 65px;
  height: 65px;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  border-radius: 50%;
  color: #fff;
  background: #ef3d23;
  font-size: 24px; }
@media (max-width: 767.98px) {
  .account-form-grid,
  .membership-choice-grid,
  .account-action-grid {
    grid-template-columns: 1fr; }
  .account-dashboard-header {
    align-items: flex-start;
    flex-direction: column; }
  .account-links {
    align-items: flex-start;
    flex-direction: column; }
  .account-field-full {
    grid-column: auto; }
}
@media (max-width: 575.98px) {
  .account-shell {
    padding: 25px 20px; }
  .selected-membership {
    align-items: flex-start;
    flex-direction: column; }
}

.article-body a {
  text-decoration-thickness: 1px;
  text-underline-offset: 3px; }

.article-body iframe,
.article-body video {
  max-width: 100%; }

.article-aside {
  align-self: flex-start; }

.article-sidebar {
  position: sticky;
  top: 24px; }

.more-news {
  padding: 30px;
  background: #fff;
  border: 1px solid rgba(20, 20, 20, .08);
  border-radius: 16px; }

.more-news-header {
  padding-bottom: 20px;
  border-bottom: 1px solid #e5e2db; }

.more-news-header h3 {
  margin: 0;
  color: #171717;
  font-size: 29px;
  font-weight: 700; }

.more-insight-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 16px;
  padding: 22px 0;
  border-bottom: 1px solid #e5e2db; }

.more-insight-card:last-child {
  padding-bottom: 0;
  border-bottom: 0; }

.more-insight-image {
  display: block;
  overflow: hidden;
  width: 92px;
  height: 92px;
  background: #e9e6df;
  border-radius: 9px; }

.more-insight-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; }

.more-insight-label {
  color: #ef3d23;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase; }

.more-insight-content h4 {
  margin: 5px 0 10px;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.25; }

.more-insight-content h4 a {
  color: #171717;
  text-decoration: none; }

.more-insight-link {
  gap: 5px;
  font-size: 13px; }

@media (max-width: 899.98px) {
  .news-article-layout {
    grid-template-columns: minmax(0, 1fr); }
  .article-sidebar {
    position: static; }
  .article-title {
    font-size: clamp(2.2rem, 8vw, 4rem); } }

@media (max-width: 575.98px) {
  .news-index,
  .news-article {
    padding-top: 58px;
    padding-bottom: 58px; }
  .news-index-intro {
    margin-bottom: 30px; }
  #blog-list {
    row-gap: 24px; }
  .news-card-content,
  .more-news {
    padding: 22px; }
  .article-content {
    border-radius: 12px; }
  .article-header,
  .article-body {
    padding: 28px 22px; }
  .article-back {
    margin-bottom: 28px; }
  .article-body {
    font-size: 17px;
    line-height: 1.7; }
  .more-insight-card {
    grid-template-columns: 78px minmax(0, 1fr); }
  .more-insight-image {
    width: 78px;
    height: 78px; } }

@media (prefers-reduced-motion: reduce) {
  .news-card,
  .news-card-column,
  .news-card-image img,
  .news-card-link span,
  .more-insight-link span {
    transition: none; } }
/* Member directory */
.directory-container{width:100%;max-width:1800px;margin-left:auto;margin-right:auto;padding-left:clamp(20px,4vw,72px);padding-right:clamp(20px,4vw,72px)}
.directory-intro{max-width:900px;margin-bottom:40px}.directory-intro>span,.directory-profile-hero>div>span{font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#f33d24}.directory-intro h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.92;margin:10px 0 20px}.directory-intro p{font-size:1.2rem;margin-bottom:25px}
.directory-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(150px,1fr));gap:16px;padding:24px;background:#111;border-radius:18px;color:#fff;margin-bottom:32px}.directory-filters label{display:block;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}.directory-filters input,.directory-filters select{width:100%;min-height:48px;border:1px solid #444;border-radius:8px;background:#fff;padding:9px 12px}.directory-filters button{border:0;border-radius:999px;background:linear-gradient(100deg,#f33d24,#ffc21c);font-weight:800;min-height:48px;padding:0 24px;align-self:end}.directory-count{font-weight:700;color:#68707c}
.directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.directory-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 15px 45px rgba(16,24,40,.1);transition:.25s}.directory-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(16,24,40,.16)}.directory-card>a{display:block;color:inherit;text-decoration:none}.directory-card-image{aspect-ratio:4/3;background:linear-gradient(135deg,#f33d24,#ffc21c);display:grid;place-items:center;overflow:hidden}.directory-card-image img{width:100%;height:100%;object-fit:cover}.directory-card-image span,.directory-profile-photo span{font-size:4rem;font-weight:900;color:#fff}.directory-card-body{padding:24px}.directory-card-body h2{font-size:1.45rem;margin:0 0 8px}.directory-card-role{min-height:1.5em;font-weight:700;color:#f33d24}.directory-card-body strong{display:block;margin-top:18px;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}.directory-empty{text-align:center;padding:70px 20px}
.directory-back{display:inline-block;margin-bottom:28px;color:#111;font-weight:800}.directory-profile-hero{display:grid;grid-template-columns:260px 1fr;gap:45px;align-items:center;background:#101010;color:#fff;border-radius:24px;padding:40px}.directory-profile-photo{aspect-ratio:1;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#f33d24,#ffc21c);display:grid;place-items:center}.directory-profile-photo img{width:100%;height:100%;object-fit:cover}.directory-profile-hero h1{color:#fff;font-size:clamp(2.6rem,6vw,5rem);margin:8px 0}.directory-profile-role{font-size:1.35rem;color:#ffc21c}.directory-socials{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.directory-socials a,.directory-pills span{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:inherit;font-size:.85rem}.directory-profile-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:50px;margin-top:50px}.directory-profile-main section{margin-bottom:40px;font-size:1.08rem;line-height:1.8}.directory-profile-main h2,.directory-profile-aside h3{margin-bottom:14px}.directory-profile-aside{background:#f1f3f4;border-radius:18px;padding:28px;height:max-content}.directory-profile-aside section{margin-bottom:25px}.directory-pills{display:flex;flex-wrap:wrap;gap:8px}.directory-pills span{background:#fff;color:#222}.directory-manage{max-width:1100px}.directory-publish-toggle{display:flex;align-items:flex-start;gap:14px;padding:20px;border-radius:14px;background:#fff4db;margin-bottom:30px}.directory-publish-toggle input{width:22px;height:22px;margin-top:3px}.directory-publish-toggle span,.directory-publish-toggle strong{display:block}.directory-manage textarea{width:100%;border:1px solid #d8dce1;border-radius:8px;padding:13px}.account-tag-input{min-height:50px;border:1px solid #d8dce1;border-radius:8px;padding:7px;display:flex;gap:6px;flex-wrap:wrap;background:#fff}.account-tag-input>input[type=text]{flex:1;min-width:220px;border:0!important;padding:4px!important;outline:0}.account-tag-list{display:contents}.account-tag-list span{display:inline-flex;gap:7px;align-items:center;border-radius:999px;background:#111;color:#fff;padding:5px 9px 5px 12px}.account-tag-list button{border:0;background:transparent;color:#ffc21c;font-size:1.2rem;line-height:1}
.directory-repeat-section{margin-top:20px}.directory-repeat-section>h2{margin-bottom:4px}.directory-repeat-section fieldset{border:1px solid #dce0e4;border-radius:12px;padding:18px;margin:16px 0;background:#f8f9fa}.directory-repeat-section legend{width:auto;padding:0 8px;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.directory-repeat-section input{width:100%;margin-bottom:10px}.directory-inline-fields{display:grid;grid-template-columns:2fr 2fr 1fr;gap:10px}.directory-detail-list{display:grid;gap:14px}.directory-detail-list article{padding:20px;border-left:4px solid #f33d24;background:#f5f6f7}.directory-detail-list h3{font-size:1.15rem;margin:0 0 4px}.directory-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.directory-work-grid article{border:1px solid #e0e3e6;border-radius:14px;padding:18px;overflow:hidden}.directory-work-image{aspect-ratio:16/9;margin:-18px -18px 18px;overflow:hidden;background:#eee}.directory-work-image img{width:100%;height:100%;object-fit:cover}
.directory-manage-nav{display:flex;gap:8px;overflow-x:auto;margin:25px 0 35px;padding-bottom:6px}.directory-manage-nav a{white-space:nowrap;padding:10px 15px;border-radius:999px;background:#f0f2f3;color:#111;font-weight:700;text-decoration:none}.directory-manage-nav a:hover{background:#111;color:#fff}.directory-manage-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.directory-manage-cards>a{display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:center;border:1px solid #e0e3e6;border-radius:15px;padding:22px;color:#111;text-decoration:none}.directory-manage-cards>a:hover{border-color:#f33d24;transform:translateY(-2px)}.directory-manage-cards i{font-size:1.5rem;color:#f33d24}.directory-manage-cards span,.directory-manage-cards strong{display:block}.directory-manage-cards strong{font-size:1.1rem;margin-bottom:4px}.directory-visibility-box{max-width:720px;padding:28px;border-radius:16px;background:#f6f7f8}
.directory-repeat-empty{display:none}.directory-add-row{border:1px dashed #f33d24;border-radius:999px;background:#fff;color:#111;font-weight:800;padding:10px 18px;margin-bottom:20px}
@media(max-width:1200px){.directory-filters{grid-template-columns:repeat(3,1fr)}.directory-search{grid-column:span 2}.directory-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.directory-filters{grid-template-columns:repeat(2,1fr)}.directory-grid{grid-template-columns:repeat(2,1fr)}.directory-profile-hero{grid-template-columns:180px 1fr;padding:25px}.directory-profile-layout{grid-template-columns:1fr}}
@media(max-width:575px){.directory-filters,.directory-grid,.directory-work-grid,.directory-inline-fields,.directory-manage-cards{grid-template-columns:1fr}.directory-search{grid-column:auto}.directory-profile-hero{grid-template-columns:1fr}.directory-profile-photo{max-width:210px}.directory-profile-hero h1{font-size:2.5rem}}

/* Structured content pages */
.structured-page{background:#f1f1f1;color:#1d2023}.structured-page-header{padding:clamp(110px,14vw,190px) 0 clamp(65px,8vw,110px);background:#080909;color:#fff}.structured-page-kicker{margin:0 0 16px;color:#facd24;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.structured-page-header h1{max-width:1050px;margin:0;color:#fff;font-size:clamp(48px,7vw,96px);line-height:.96}.structured-page-biline{max-width:800px;margin:28px 0 0;color:rgba(255,255,255,.72);font-size:clamp(18px,2vw,25px)}
.structured-page-body{padding-top:clamp(60px,7vw,100px);padding-bottom:clamp(70px,9vw,130px)}.structured-page-intro{display:block;margin-bottom:70px}.structured-page-intro.has-image{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:clamp(35px,6vw,90px);align-items:center}.structured-page-copy{font-size:clamp(18px,1.45vw,22px);line-height:1.75}.structured-page-copy>:last-child{margin-bottom:0}.structured-page-intro figure{margin:0;overflow:hidden;border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.14)}.structured-page-intro img{display:block;width:100%;aspect-ratio:14/9;object-fit:cover}
.structured-page-toc{margin-bottom:34px;padding:32px clamp(24px,4vw,48px);border-radius:18px;background:#111;color:#fff}.structured-page-toc>p{margin:0 0 18px;color:#facd24;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.structured-page-toc>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.15)}.structured-page-toc a{display:flex;min-height:60px;padding:14px 18px;align-items:center;justify-content:space-between;gap:12px;background:#111;color:#fff;text-decoration:none}.structured-page-toc a span{color:#facd24}.structured-page-toc a:hover{background:#242424;color:#fff}
.structured-page-sections{display:grid;gap:22px}.structured-page-section{display:grid;grid-template-columns:85px minmax(0,1fr);gap:24px;padding:clamp(28px,4vw,58px);border-radius:18px;background:#fff;scroll-margin-top:30px;box-shadow:0 10px 35px rgba(21,27,34,.06)}.structured-page-section-number{color:#ef3d23;font-size:14px;font-weight:800;letter-spacing:.12em}.structured-page-section h2{margin:-5px 0 25px;font-size:clamp(30px,4vw,52px);line-height:1.05}.structured-page-section-content{font-size:17px;line-height:1.75}.structured-page-section-content>:last-child{margin-bottom:0}.structured-page-section-content li+li{margin-top:8px}.structured-page-section-content a{font-weight:700;text-decoration:underline;text-decoration-color:#facd24;text-decoration-thickness:2px;text-underline-offset:3px}
@media(max-width:991.98px){.structured-page-intro.has-image{grid-template-columns:1fr}.structured-page-toc>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.structured-page-toc>div{grid-template-columns:1fr}.structured-page-section{grid-template-columns:1fr;gap:6px}.structured-page-section h2{margin-top:0}.structured-page-header{padding-top:90px}}
