
/* ======================================================================
   1. Design tokens — the whole system is steered from here
   ====================================================================== */

:root {
  /* brand palette (Bootstrap 5.3.8 values, kept for v1 parity) */
  --nook-primary: #0d6efd;
  --nook-primary-rgb: 13,110,253;
  --nook-secondary: #6c757d;
  --nook-secondary-rgb: 108,117,125;
  --nook-success: #198754;
  --nook-success-rgb: 25,135,84;
  --nook-info: #0dcaf0;
  --nook-info-rgb: 13,202,240;
  --nook-warning: #ffc107;
  --nook-warning-rgb: 255,193,7;
  --nook-danger: #dc3545;
  --nook-danger-rgb: 220,53,69;
  --nook-light: #f8f9fa;
  --nook-light-rgb: 248,249,250;
  --nook-dark: #212529;
  --nook-dark-rgb: 33,37,41;
  --nook-white: #fff;
  --nook-white-rgb: 255,255,255;
  --nook-black: #000;
  --nook-black-rgb: 0,0,0;

  /* ink */
  --nook-body-color: #212529;
  --nook-body-bg: #fff;
  --nook-secondary-color: rgba(33, 37, 41, .75);
  --nook-border-color: #dee2e6;

  /* type */
  --nook-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --nook-body-font-size: 1rem;
  --nook-body-line-height: 1.5;
  --nook-body-font-weight: 400;

  /* spacing scale */
  --nook-space-0: 0;
  --nook-space-1: .25rem;
  --nook-space-2: .5rem;
  --nook-space-3: 1rem;
  --nook-space-4: 1.5rem;
  --nook-space-5: 3rem;

  /* radii */
  --nook-radius-sm: .25rem;
  --nook-radius: .375rem;
  --nook-radius-lg: .5rem;
  --nook-radius-xl: 1rem;
  --nook-radius-xxl: 2rem;
  --nook-radius-pill: 50rem;

  /* elevation */
  --nook-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);
  --nook-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
  --nook-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);

  /* layout */
  --nook-gutter-x: 1.5rem;
  --nook-gutter-y: 0;
}

/* ======================================================================
   2. Reset
   ====================================================================== */

*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--nook-body-font-family, var(--nook-font-sans));
  font-size: var(--nook-body-font-size);
  font-weight: var(--nook-body-font-weight);
  line-height: var(--nook-body-line-height);
  color: var(--nook-body-color);
  background-color: var(--nook-body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
hr { margin: 1rem 0; color: inherit; border: 0; border-top: 1px solid; opacity: .25; }
h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: .5rem; font-weight: 500; line-height: 1.2; }
p { margin-top: 0; margin-bottom: 1rem; }
ul, ol { padding-left: 2rem; margin-top: 0; margin-bottom: 1rem; }
b, strong { font-weight: bolder; }
small { font-size: .875em; }
a { color: rgba(var(--nook-primary-rgb), 1); text-decoration: underline; }
a:hover { color: #0a58ca; }
a:not([href]):not([class]), a:not([href]):not([class]):hover { color: inherit; text-decoration: none; }
img, svg { vertical-align: middle; }
table { caption-side: bottom; border-collapse: collapse; }
th { text-align: inherit; text-align: -webkit-match-parent; }
thead, tbody, tfoot, tr, td, th { border-color: inherit; border-style: solid; border-width: 0; }
label { display: inline-block; }
button { border-radius: 0; }
button, input, optgroup, select, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; }
button, select { text-transform: none; }
button, [type=button], [type=reset], [type=submit] { -webkit-appearance: button; }
button:not(:disabled), [type=button]:not(:disabled), [type=submit]:not(:disabled) { cursor: pointer; }
figure { margin: 0 0 1rem; }
[hidden] { display: none !important; }

/* ======================================================================
   3. Layout — container and 12-column grid
   ====================================================================== */

.container, .container-fluid {
  width: 100%;
  padding-right: calc(var(--nook-gutter-x) * .5);
  padding-left: calc(var(--nook-gutter-x) * .5);
  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 { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }
@media (min-width: 1400px) { .container { max-width: 1320px; } }

.row {
  --nook-gutter-x: 1.5rem;
  --nook-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--nook-gutter-y));
  margin-right: calc(-.5 * var(--nook-gutter-x));
  margin-left: calc(-.5 * var(--nook-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--nook-gutter-x) * .5);
  padding-left: calc(var(--nook-gutter-x) * .5);
  margin-top: var(--nook-gutter-y);
}
.col { flex: 1 0 0%; }
.col-1 { flex: 0 0 auto; width: 8.333333333%; }
.col-2 { flex: 0 0 auto; width: 16.66666667%; }
.col-3 { flex: 0 0 auto; width: 25%; }
.col-4 { flex: 0 0 auto; width: 33.33333333%; }
.col-5 { flex: 0 0 auto; width: 41.66666667%; }
.col-6 { flex: 0 0 auto; width: 50%; }
.col-7 { flex: 0 0 auto; width: 58.33333333%; }
.col-8 { flex: 0 0 auto; width: 66.66666667%; }
.col-9 { flex: 0 0 auto; width: 75%; }
.col-10 { flex: 0 0 auto; width: 83.33333333%; }
.col-11 { flex: 0 0 auto; width: 91.66666667%; }
.col-12 { flex: 0 0 auto; width: 100%; }
@media (min-width: 576px) { .col-sm-1 { flex: 0 0 auto; width: 8.333333333%; } .col-sm-2 { flex: 0 0 auto; width: 16.66666667%; } .col-sm-3 { flex: 0 0 auto; width: 25%; } .col-sm-4 { flex: 0 0 auto; width: 33.33333333%; } .col-sm-5 { flex: 0 0 auto; width: 41.66666667%; } .col-sm-6 { flex: 0 0 auto; width: 50%; } .col-sm-7 { flex: 0 0 auto; width: 58.33333333%; } .col-sm-8 { flex: 0 0 auto; width: 66.66666667%; } .col-sm-9 { flex: 0 0 auto; width: 75%; } .col-sm-10 { flex: 0 0 auto; width: 83.33333333%; } .col-sm-11 { flex: 0 0 auto; width: 91.66666667%; } .col-sm-12 { flex: 0 0 auto; width: 100%; } .offset-sm-4 { margin-left: 33.33333333%; } .order-sm-1 { order: 1; } .order-sm-2 { order: 2; } }
@media (min-width: 768px) { .col-md-1 { flex: 0 0 auto; width: 8.333333333%; } .col-md-2 { flex: 0 0 auto; width: 16.66666667%; } .col-md-3 { flex: 0 0 auto; width: 25%; } .col-md-4 { flex: 0 0 auto; width: 33.33333333%; } .col-md-5 { flex: 0 0 auto; width: 41.66666667%; } .col-md-6 { flex: 0 0 auto; width: 50%; } .col-md-7 { flex: 0 0 auto; width: 58.33333333%; } .col-md-8 { flex: 0 0 auto; width: 66.66666667%; } .col-md-9 { flex: 0 0 auto; width: 75%; } .col-md-10 { flex: 0 0 auto; width: 83.33333333%; } .col-md-11 { flex: 0 0 auto; width: 91.66666667%; } .col-md-12 { flex: 0 0 auto; width: 100%; } .offset-md-4 { margin-left: 33.33333333%; } .order-md-1 { order: 1; } .order-md-2 { order: 2; } }
@media (min-width: 992px) { .col-lg-1 { flex: 0 0 auto; width: 8.333333333%; } .col-lg-2 { flex: 0 0 auto; width: 16.66666667%; } .col-lg-3 { flex: 0 0 auto; width: 25%; } .col-lg-4 { flex: 0 0 auto; width: 33.33333333%; } .col-lg-5 { flex: 0 0 auto; width: 41.66666667%; } .col-lg-6 { flex: 0 0 auto; width: 50%; } .col-lg-7 { flex: 0 0 auto; width: 58.33333333%; } .col-lg-8 { flex: 0 0 auto; width: 66.66666667%; } .col-lg-9 { flex: 0 0 auto; width: 75%; } .col-lg-10 { flex: 0 0 auto; width: 83.33333333%; } .col-lg-11 { flex: 0 0 auto; width: 91.66666667%; } .col-lg-12 { flex: 0 0 auto; width: 100%; } .offset-lg-4 { margin-left: 33.33333333%; } .order-lg-1 { order: 1; } .order-lg-2 { order: 2; } }
@media (min-width: 1200px) { .col-xl-1 { flex: 0 0 auto; width: 8.333333333%; } .col-xl-2 { flex: 0 0 auto; width: 16.66666667%; } .col-xl-3 { flex: 0 0 auto; width: 25%; } .col-xl-4 { flex: 0 0 auto; width: 33.33333333%; } .col-xl-5 { flex: 0 0 auto; width: 41.66666667%; } .col-xl-6 { flex: 0 0 auto; width: 50%; } .col-xl-7 { flex: 0 0 auto; width: 58.33333333%; } .col-xl-8 { flex: 0 0 auto; width: 66.66666667%; } .col-xl-9 { flex: 0 0 auto; width: 75%; } .col-xl-10 { flex: 0 0 auto; width: 83.33333333%; } .col-xl-11 { flex: 0 0 auto; width: 91.66666667%; } .col-xl-12 { flex: 0 0 auto; width: 100%; } .offset-xl-4 { margin-left: 33.33333333%; } .order-xl-1 { order: 1; } .order-xl-2 { order: 2; } }
@media (min-width: 1400px) { .col-xxl-1 { flex: 0 0 auto; width: 8.333333333%; } .col-xxl-2 { flex: 0 0 auto; width: 16.66666667%; } .col-xxl-3 { flex: 0 0 auto; width: 25%; } .col-xxl-4 { flex: 0 0 auto; width: 33.33333333%; } .col-xxl-5 { flex: 0 0 auto; width: 41.66666667%; } .col-xxl-6 { flex: 0 0 auto; width: 50%; } .col-xxl-7 { flex: 0 0 auto; width: 58.33333333%; } .col-xxl-8 { flex: 0 0 auto; width: 66.66666667%; } .col-xxl-9 { flex: 0 0 auto; width: 75%; } .col-xxl-10 { flex: 0 0 auto; width: 83.33333333%; } .col-xxl-11 { flex: 0 0 auto; width: 91.66666667%; } .col-xxl-12 { flex: 0 0 auto; width: 100%; } .offset-xxl-4 { margin-left: 33.33333333%; } .order-xxl-1 { order: 1; } .order-xxl-2 { order: 2; } }

/* row-cols */
.row-cols-1 > * { flex: 0 0 auto; width: 100%; }
@media (min-width: 768px) { .row-cols-md-2 > * { flex: 0 0 auto; width: 50%; } .row-cols-md-3 > * { flex: 0 0 auto; width: 33.33333333%; } }

/* gutters */
.g-0 { --nook-gutter-x: 0; --nook-gutter-y: 0; }
.gx-0 { --nook-gutter-x: 0; }
.g-1 { --nook-gutter-x: .25rem; --nook-gutter-y: .25rem; }
.gx-1 { --nook-gutter-x: .25rem; }
.g-2 { --nook-gutter-x: .5rem; --nook-gutter-y: .5rem; }
.gx-2 { --nook-gutter-x: .5rem; }
.g-3 { --nook-gutter-x: 1rem; --nook-gutter-y: 1rem; }
.gx-3 { --nook-gutter-x: 1rem; }
.g-4 { --nook-gutter-x: 1.5rem; --nook-gutter-y: 1.5rem; }
.gx-4 { --nook-gutter-x: 1.5rem; }
.g-5 { --nook-gutter-x: 3rem; --nook-gutter-y: 3rem; }
.gx-5 { --nook-gutter-x: 3rem; }
@media (min-width: 576px) { .gx-sm-5 { --nook-gutter-x: 3rem; } }

/* ======================================================================
   4. Utilities
   ====================================================================== */


/* spacing */
.m-0 { margin: 0 !important; }
.m-1 { margin: .25rem !important; }
.m-2 { margin: .5rem !important; }
.m-3 { margin: 1rem !important; }
.m-4 { margin: 1.5rem !important; }
.m-5 { margin: 3rem !important; }
.m-auto { margin: auto !important; }
.mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.mx-1 { margin-left: .25rem !important; margin-right: .25rem !important; }
.mx-2 { margin-left: .5rem !important; margin-right: .5rem !important; }
.mx-3 { margin-left: 1rem !important; margin-right: 1rem !important; }
.mx-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; }
.mx-5 { margin-left: 3rem !important; margin-right: 3rem !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; }
.my-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; }
.my-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
.my-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
.my-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
.my-auto { margin-top: auto !important; margin-bottom: auto !important; }
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: .25rem !important; }
.mt-2 { margin-top: .5rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-5 { margin-top: 3rem !important; }
.mt-auto { margin-top: auto !important; }
.me-0 { margin-right: 0 !important; }
.me-1 { margin-right: .25rem !important; }
.me-2 { margin-right: .5rem !important; }
.me-3 { margin-right: 1rem !important; }
.me-4 { margin-right: 1.5rem !important; }
.me-5 { margin-right: 3rem !important; }
.me-auto { margin-right: auto !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: .25rem !important; }
.mb-2 { margin-bottom: .5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mb-5 { margin-bottom: 3rem !important; }
.mb-auto { margin-bottom: auto !important; }
.ms-0 { margin-left: 0 !important; }
.ms-1 { margin-left: .25rem !important; }
.ms-2 { margin-left: .5rem !important; }
.ms-3 { margin-left: 1rem !important; }
.ms-4 { margin-left: 1.5rem !important; }
.ms-5 { margin-left: 3rem !important; }
.ms-auto { margin-left: auto !important; }
.p-0 { padding: 0 !important; }
.p-1 { padding: .25rem !important; }
.p-2 { padding: .5rem !important; }
.p-3 { padding: 1rem !important; }
.p-4 { padding: 1.5rem !important; }
.p-5 { padding: 3rem !important; }
.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.px-1 { padding-left: .25rem !important; padding-right: .25rem !important; }
.px-2 { padding-left: .5rem !important; padding-right: .5rem !important; }
.px-3 { padding-left: 1rem !important; padding-right: 1rem !important; }
.px-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.px-5 { padding-left: 3rem !important; padding-right: 3rem !important; }
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
.py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.py-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
.py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: .25rem !important; }
.pt-2 { padding-top: .5rem !important; }
.pt-3 { padding-top: 1rem !important; }
.pt-4 { padding-top: 1.5rem !important; }
.pt-5 { padding-top: 3rem !important; }
.pe-0 { padding-right: 0 !important; }
.pe-1 { padding-right: .25rem !important; }
.pe-2 { padding-right: .5rem !important; }
.pe-3 { padding-right: 1rem !important; }
.pe-4 { padding-right: 1.5rem !important; }
.pe-5 { padding-right: 3rem !important; }
.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: .25rem !important; }
.pb-2 { padding-bottom: .5rem !important; }
.pb-3 { padding-bottom: 1rem !important; }
.pb-4 { padding-bottom: 1.5rem !important; }
.pb-5 { padding-bottom: 3rem !important; }
.ps-0 { padding-left: 0 !important; }
.ps-1 { padding-left: .25rem !important; }
.ps-2 { padding-left: .5rem !important; }
.ps-3 { padding-left: 1rem !important; }
.ps-4 { padding-left: 1.5rem !important; }
.ps-5 { padding-left: 3rem !important; }
@media (min-width: 576px) { .m-sm-0 { margin: 0 !important; } .m-sm-1 { margin: .25rem !important; } .m-sm-2 { margin: .5rem !important; } .m-sm-3 { margin: 1rem !important; } .m-sm-4 { margin: 1.5rem !important; } .m-sm-5 { margin: 3rem !important; } .m-sm-auto { margin: auto !important; } .mx-sm-0 { margin-left: 0 !important; margin-right: 0 !important; } .mx-sm-1 { margin-left: .25rem !important; margin-right: .25rem !important; } .mx-sm-2 { margin-left: .5rem !important; margin-right: .5rem !important; } .mx-sm-3 { margin-left: 1rem !important; margin-right: 1rem !important; } .mx-sm-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; } .mx-sm-5 { margin-left: 3rem !important; margin-right: 3rem !important; } .mx-sm-auto { margin-left: auto !important; margin-right: auto !important; } .my-sm-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .my-sm-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; } .my-sm-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; } .my-sm-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .my-sm-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .my-sm-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .my-sm-auto { margin-top: auto !important; margin-bottom: auto !important; } .mt-sm-0 { margin-top: 0 !important; } .mt-sm-1 { margin-top: .25rem !important; } .mt-sm-2 { margin-top: .5rem !important; } .mt-sm-3 { margin-top: 1rem !important; } .mt-sm-4 { margin-top: 1.5rem !important; } .mt-sm-5 { margin-top: 3rem !important; } .mt-sm-auto { margin-top: auto !important; } .me-sm-0 { margin-right: 0 !important; } .me-sm-1 { margin-right: .25rem !important; } .me-sm-2 { margin-right: .5rem !important; } .me-sm-3 { margin-right: 1rem !important; } .me-sm-4 { margin-right: 1.5rem !important; } .me-sm-5 { margin-right: 3rem !important; } .me-sm-auto { margin-right: auto !important; } .mb-sm-0 { margin-bottom: 0 !important; } .mb-sm-1 { margin-bottom: .25rem !important; } .mb-sm-2 { margin-bottom: .5rem !important; } .mb-sm-3 { margin-bottom: 1rem !important; } .mb-sm-4 { margin-bottom: 1.5rem !important; } .mb-sm-5 { margin-bottom: 3rem !important; } .mb-sm-auto { margin-bottom: auto !important; } .ms-sm-0 { margin-left: 0 !important; } .ms-sm-1 { margin-left: .25rem !important; } .ms-sm-2 { margin-left: .5rem !important; } .ms-sm-3 { margin-left: 1rem !important; } .ms-sm-4 { margin-left: 1.5rem !important; } .ms-sm-5 { margin-left: 3rem !important; } .ms-sm-auto { margin-left: auto !important; } .p-sm-0 { padding: 0 !important; } .p-sm-1 { padding: .25rem !important; } .p-sm-2 { padding: .5rem !important; } .p-sm-3 { padding: 1rem !important; } .p-sm-4 { padding: 1.5rem !important; } .p-sm-5 { padding: 3rem !important; } .px-sm-0 { padding-left: 0 !important; padding-right: 0 !important; } .px-sm-1 { padding-left: .25rem !important; padding-right: .25rem !important; } .px-sm-2 { padding-left: .5rem !important; padding-right: .5rem !important; } .px-sm-3 { padding-left: 1rem !important; padding-right: 1rem !important; } .px-sm-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; } .px-sm-5 { padding-left: 3rem !important; padding-right: 3rem !important; } .py-sm-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .py-sm-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; } .py-sm-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; } .py-sm-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .py-sm-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .py-sm-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .pt-sm-0 { padding-top: 0 !important; } .pt-sm-1 { padding-top: .25rem !important; } .pt-sm-2 { padding-top: .5rem !important; } .pt-sm-3 { padding-top: 1rem !important; } .pt-sm-4 { padding-top: 1.5rem !important; } .pt-sm-5 { padding-top: 3rem !important; } .pe-sm-0 { padding-right: 0 !important; } .pe-sm-1 { padding-right: .25rem !important; } .pe-sm-2 { padding-right: .5rem !important; } .pe-sm-3 { padding-right: 1rem !important; } .pe-sm-4 { padding-right: 1.5rem !important; } .pe-sm-5 { padding-right: 3rem !important; } .pb-sm-0 { padding-bottom: 0 !important; } .pb-sm-1 { padding-bottom: .25rem !important; } .pb-sm-2 { padding-bottom: .5rem !important; } .pb-sm-3 { padding-bottom: 1rem !important; } .pb-sm-4 { padding-bottom: 1.5rem !important; } .pb-sm-5 { padding-bottom: 3rem !important; } .ps-sm-0 { padding-left: 0 !important; } .ps-sm-1 { padding-left: .25rem !important; } .ps-sm-2 { padding-left: .5rem !important; } .ps-sm-3 { padding-left: 1rem !important; } .ps-sm-4 { padding-left: 1.5rem !important; } .ps-sm-5 { padding-left: 3rem !important; } }
@media (min-width: 768px) { .m-md-0 { margin: 0 !important; } .m-md-1 { margin: .25rem !important; } .m-md-2 { margin: .5rem !important; } .m-md-3 { margin: 1rem !important; } .m-md-4 { margin: 1.5rem !important; } .m-md-5 { margin: 3rem !important; } .m-md-auto { margin: auto !important; } .mx-md-0 { margin-left: 0 !important; margin-right: 0 !important; } .mx-md-1 { margin-left: .25rem !important; margin-right: .25rem !important; } .mx-md-2 { margin-left: .5rem !important; margin-right: .5rem !important; } .mx-md-3 { margin-left: 1rem !important; margin-right: 1rem !important; } .mx-md-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; } .mx-md-5 { margin-left: 3rem !important; margin-right: 3rem !important; } .mx-md-auto { margin-left: auto !important; margin-right: auto !important; } .my-md-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .my-md-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; } .my-md-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; } .my-md-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .my-md-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .my-md-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .my-md-auto { margin-top: auto !important; margin-bottom: auto !important; } .mt-md-0 { margin-top: 0 !important; } .mt-md-1 { margin-top: .25rem !important; } .mt-md-2 { margin-top: .5rem !important; } .mt-md-3 { margin-top: 1rem !important; } .mt-md-4 { margin-top: 1.5rem !important; } .mt-md-5 { margin-top: 3rem !important; } .mt-md-auto { margin-top: auto !important; } .me-md-0 { margin-right: 0 !important; } .me-md-1 { margin-right: .25rem !important; } .me-md-2 { margin-right: .5rem !important; } .me-md-3 { margin-right: 1rem !important; } .me-md-4 { margin-right: 1.5rem !important; } .me-md-5 { margin-right: 3rem !important; } .me-md-auto { margin-right: auto !important; } .mb-md-0 { margin-bottom: 0 !important; } .mb-md-1 { margin-bottom: .25rem !important; } .mb-md-2 { margin-bottom: .5rem !important; } .mb-md-3 { margin-bottom: 1rem !important; } .mb-md-4 { margin-bottom: 1.5rem !important; } .mb-md-5 { margin-bottom: 3rem !important; } .mb-md-auto { margin-bottom: auto !important; } .ms-md-0 { margin-left: 0 !important; } .ms-md-1 { margin-left: .25rem !important; } .ms-md-2 { margin-left: .5rem !important; } .ms-md-3 { margin-left: 1rem !important; } .ms-md-4 { margin-left: 1.5rem !important; } .ms-md-5 { margin-left: 3rem !important; } .ms-md-auto { margin-left: auto !important; } .p-md-0 { padding: 0 !important; } .p-md-1 { padding: .25rem !important; } .p-md-2 { padding: .5rem !important; } .p-md-3 { padding: 1rem !important; } .p-md-4 { padding: 1.5rem !important; } .p-md-5 { padding: 3rem !important; } .px-md-0 { padding-left: 0 !important; padding-right: 0 !important; } .px-md-1 { padding-left: .25rem !important; padding-right: .25rem !important; } .px-md-2 { padding-left: .5rem !important; padding-right: .5rem !important; } .px-md-3 { padding-left: 1rem !important; padding-right: 1rem !important; } .px-md-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; } .px-md-5 { padding-left: 3rem !important; padding-right: 3rem !important; } .py-md-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .py-md-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; } .py-md-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; } .py-md-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .py-md-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .py-md-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .pt-md-0 { padding-top: 0 !important; } .pt-md-1 { padding-top: .25rem !important; } .pt-md-2 { padding-top: .5rem !important; } .pt-md-3 { padding-top: 1rem !important; } .pt-md-4 { padding-top: 1.5rem !important; } .pt-md-5 { padding-top: 3rem !important; } .pe-md-0 { padding-right: 0 !important; } .pe-md-1 { padding-right: .25rem !important; } .pe-md-2 { padding-right: .5rem !important; } .pe-md-3 { padding-right: 1rem !important; } .pe-md-4 { padding-right: 1.5rem !important; } .pe-md-5 { padding-right: 3rem !important; } .pb-md-0 { padding-bottom: 0 !important; } .pb-md-1 { padding-bottom: .25rem !important; } .pb-md-2 { padding-bottom: .5rem !important; } .pb-md-3 { padding-bottom: 1rem !important; } .pb-md-4 { padding-bottom: 1.5rem !important; } .pb-md-5 { padding-bottom: 3rem !important; } .ps-md-0 { padding-left: 0 !important; } .ps-md-1 { padding-left: .25rem !important; } .ps-md-2 { padding-left: .5rem !important; } .ps-md-3 { padding-left: 1rem !important; } .ps-md-4 { padding-left: 1.5rem !important; } .ps-md-5 { padding-left: 3rem !important; } }
@media (min-width: 992px) { .m-lg-0 { margin: 0 !important; } .m-lg-1 { margin: .25rem !important; } .m-lg-2 { margin: .5rem !important; } .m-lg-3 { margin: 1rem !important; } .m-lg-4 { margin: 1.5rem !important; } .m-lg-5 { margin: 3rem !important; } .m-lg-auto { margin: auto !important; } .mx-lg-0 { margin-left: 0 !important; margin-right: 0 !important; } .mx-lg-1 { margin-left: .25rem !important; margin-right: .25rem !important; } .mx-lg-2 { margin-left: .5rem !important; margin-right: .5rem !important; } .mx-lg-3 { margin-left: 1rem !important; margin-right: 1rem !important; } .mx-lg-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; } .mx-lg-5 { margin-left: 3rem !important; margin-right: 3rem !important; } .mx-lg-auto { margin-left: auto !important; margin-right: auto !important; } .my-lg-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .my-lg-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; } .my-lg-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; } .my-lg-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .my-lg-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .my-lg-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .my-lg-auto { margin-top: auto !important; margin-bottom: auto !important; } .mt-lg-0 { margin-top: 0 !important; } .mt-lg-1 { margin-top: .25rem !important; } .mt-lg-2 { margin-top: .5rem !important; } .mt-lg-3 { margin-top: 1rem !important; } .mt-lg-4 { margin-top: 1.5rem !important; } .mt-lg-5 { margin-top: 3rem !important; } .mt-lg-auto { margin-top: auto !important; } .me-lg-0 { margin-right: 0 !important; } .me-lg-1 { margin-right: .25rem !important; } .me-lg-2 { margin-right: .5rem !important; } .me-lg-3 { margin-right: 1rem !important; } .me-lg-4 { margin-right: 1.5rem !important; } .me-lg-5 { margin-right: 3rem !important; } .me-lg-auto { margin-right: auto !important; } .mb-lg-0 { margin-bottom: 0 !important; } .mb-lg-1 { margin-bottom: .25rem !important; } .mb-lg-2 { margin-bottom: .5rem !important; } .mb-lg-3 { margin-bottom: 1rem !important; } .mb-lg-4 { margin-bottom: 1.5rem !important; } .mb-lg-5 { margin-bottom: 3rem !important; } .mb-lg-auto { margin-bottom: auto !important; } .ms-lg-0 { margin-left: 0 !important; } .ms-lg-1 { margin-left: .25rem !important; } .ms-lg-2 { margin-left: .5rem !important; } .ms-lg-3 { margin-left: 1rem !important; } .ms-lg-4 { margin-left: 1.5rem !important; } .ms-lg-5 { margin-left: 3rem !important; } .ms-lg-auto { margin-left: auto !important; } .p-lg-0 { padding: 0 !important; } .p-lg-1 { padding: .25rem !important; } .p-lg-2 { padding: .5rem !important; } .p-lg-3 { padding: 1rem !important; } .p-lg-4 { padding: 1.5rem !important; } .p-lg-5 { padding: 3rem !important; } .px-lg-0 { padding-left: 0 !important; padding-right: 0 !important; } .px-lg-1 { padding-left: .25rem !important; padding-right: .25rem !important; } .px-lg-2 { padding-left: .5rem !important; padding-right: .5rem !important; } .px-lg-3 { padding-left: 1rem !important; padding-right: 1rem !important; } .px-lg-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; } .px-lg-5 { padding-left: 3rem !important; padding-right: 3rem !important; } .py-lg-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .py-lg-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; } .py-lg-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; } .py-lg-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .py-lg-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .py-lg-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .pt-lg-0 { padding-top: 0 !important; } .pt-lg-1 { padding-top: .25rem !important; } .pt-lg-2 { padding-top: .5rem !important; } .pt-lg-3 { padding-top: 1rem !important; } .pt-lg-4 { padding-top: 1.5rem !important; } .pt-lg-5 { padding-top: 3rem !important; } .pe-lg-0 { padding-right: 0 !important; } .pe-lg-1 { padding-right: .25rem !important; } .pe-lg-2 { padding-right: .5rem !important; } .pe-lg-3 { padding-right: 1rem !important; } .pe-lg-4 { padding-right: 1.5rem !important; } .pe-lg-5 { padding-right: 3rem !important; } .pb-lg-0 { padding-bottom: 0 !important; } .pb-lg-1 { padding-bottom: .25rem !important; } .pb-lg-2 { padding-bottom: .5rem !important; } .pb-lg-3 { padding-bottom: 1rem !important; } .pb-lg-4 { padding-bottom: 1.5rem !important; } .pb-lg-5 { padding-bottom: 3rem !important; } .ps-lg-0 { padding-left: 0 !important; } .ps-lg-1 { padding-left: .25rem !important; } .ps-lg-2 { padding-left: .5rem !important; } .ps-lg-3 { padding-left: 1rem !important; } .ps-lg-4 { padding-left: 1.5rem !important; } .ps-lg-5 { padding-left: 3rem !important; } }
@media (min-width: 1200px) { .m-xl-0 { margin: 0 !important; } .m-xl-1 { margin: .25rem !important; } .m-xl-2 { margin: .5rem !important; } .m-xl-3 { margin: 1rem !important; } .m-xl-4 { margin: 1.5rem !important; } .m-xl-5 { margin: 3rem !important; } .m-xl-auto { margin: auto !important; } .mx-xl-0 { margin-left: 0 !important; margin-right: 0 !important; } .mx-xl-1 { margin-left: .25rem !important; margin-right: .25rem !important; } .mx-xl-2 { margin-left: .5rem !important; margin-right: .5rem !important; } .mx-xl-3 { margin-left: 1rem !important; margin-right: 1rem !important; } .mx-xl-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; } .mx-xl-5 { margin-left: 3rem !important; margin-right: 3rem !important; } .mx-xl-auto { margin-left: auto !important; margin-right: auto !important; } .my-xl-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .my-xl-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; } .my-xl-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; } .my-xl-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .my-xl-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .my-xl-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .my-xl-auto { margin-top: auto !important; margin-bottom: auto !important; } .mt-xl-0 { margin-top: 0 !important; } .mt-xl-1 { margin-top: .25rem !important; } .mt-xl-2 { margin-top: .5rem !important; } .mt-xl-3 { margin-top: 1rem !important; } .mt-xl-4 { margin-top: 1.5rem !important; } .mt-xl-5 { margin-top: 3rem !important; } .mt-xl-auto { margin-top: auto !important; } .me-xl-0 { margin-right: 0 !important; } .me-xl-1 { margin-right: .25rem !important; } .me-xl-2 { margin-right: .5rem !important; } .me-xl-3 { margin-right: 1rem !important; } .me-xl-4 { margin-right: 1.5rem !important; } .me-xl-5 { margin-right: 3rem !important; } .me-xl-auto { margin-right: auto !important; } .mb-xl-0 { margin-bottom: 0 !important; } .mb-xl-1 { margin-bottom: .25rem !important; } .mb-xl-2 { margin-bottom: .5rem !important; } .mb-xl-3 { margin-bottom: 1rem !important; } .mb-xl-4 { margin-bottom: 1.5rem !important; } .mb-xl-5 { margin-bottom: 3rem !important; } .mb-xl-auto { margin-bottom: auto !important; } .ms-xl-0 { margin-left: 0 !important; } .ms-xl-1 { margin-left: .25rem !important; } .ms-xl-2 { margin-left: .5rem !important; } .ms-xl-3 { margin-left: 1rem !important; } .ms-xl-4 { margin-left: 1.5rem !important; } .ms-xl-5 { margin-left: 3rem !important; } .ms-xl-auto { margin-left: auto !important; } .p-xl-0 { padding: 0 !important; } .p-xl-1 { padding: .25rem !important; } .p-xl-2 { padding: .5rem !important; } .p-xl-3 { padding: 1rem !important; } .p-xl-4 { padding: 1.5rem !important; } .p-xl-5 { padding: 3rem !important; } .px-xl-0 { padding-left: 0 !important; padding-right: 0 !important; } .px-xl-1 { padding-left: .25rem !important; padding-right: .25rem !important; } .px-xl-2 { padding-left: .5rem !important; padding-right: .5rem !important; } .px-xl-3 { padding-left: 1rem !important; padding-right: 1rem !important; } .px-xl-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; } .px-xl-5 { padding-left: 3rem !important; padding-right: 3rem !important; } .py-xl-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .py-xl-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; } .py-xl-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; } .py-xl-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .py-xl-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .py-xl-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .pt-xl-0 { padding-top: 0 !important; } .pt-xl-1 { padding-top: .25rem !important; } .pt-xl-2 { padding-top: .5rem !important; } .pt-xl-3 { padding-top: 1rem !important; } .pt-xl-4 { padding-top: 1.5rem !important; } .pt-xl-5 { padding-top: 3rem !important; } .pe-xl-0 { padding-right: 0 !important; } .pe-xl-1 { padding-right: .25rem !important; } .pe-xl-2 { padding-right: .5rem !important; } .pe-xl-3 { padding-right: 1rem !important; } .pe-xl-4 { padding-right: 1.5rem !important; } .pe-xl-5 { padding-right: 3rem !important; } .pb-xl-0 { padding-bottom: 0 !important; } .pb-xl-1 { padding-bottom: .25rem !important; } .pb-xl-2 { padding-bottom: .5rem !important; } .pb-xl-3 { padding-bottom: 1rem !important; } .pb-xl-4 { padding-bottom: 1.5rem !important; } .pb-xl-5 { padding-bottom: 3rem !important; } .ps-xl-0 { padding-left: 0 !important; } .ps-xl-1 { padding-left: .25rem !important; } .ps-xl-2 { padding-left: .5rem !important; } .ps-xl-3 { padding-left: 1rem !important; } .ps-xl-4 { padding-left: 1.5rem !important; } .ps-xl-5 { padding-left: 3rem !important; } }
@media (min-width: 1400px) { .m-xxl-0 { margin: 0 !important; } .m-xxl-1 { margin: .25rem !important; } .m-xxl-2 { margin: .5rem !important; } .m-xxl-3 { margin: 1rem !important; } .m-xxl-4 { margin: 1.5rem !important; } .m-xxl-5 { margin: 3rem !important; } .m-xxl-auto { margin: auto !important; } .mx-xxl-0 { margin-left: 0 !important; margin-right: 0 !important; } .mx-xxl-1 { margin-left: .25rem !important; margin-right: .25rem !important; } .mx-xxl-2 { margin-left: .5rem !important; margin-right: .5rem !important; } .mx-xxl-3 { margin-left: 1rem !important; margin-right: 1rem !important; } .mx-xxl-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; } .mx-xxl-5 { margin-left: 3rem !important; margin-right: 3rem !important; } .mx-xxl-auto { margin-left: auto !important; margin-right: auto !important; } .my-xxl-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .my-xxl-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; } .my-xxl-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; } .my-xxl-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .my-xxl-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .my-xxl-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .my-xxl-auto { margin-top: auto !important; margin-bottom: auto !important; } .mt-xxl-0 { margin-top: 0 !important; } .mt-xxl-1 { margin-top: .25rem !important; } .mt-xxl-2 { margin-top: .5rem !important; } .mt-xxl-3 { margin-top: 1rem !important; } .mt-xxl-4 { margin-top: 1.5rem !important; } .mt-xxl-5 { margin-top: 3rem !important; } .mt-xxl-auto { margin-top: auto !important; } .me-xxl-0 { margin-right: 0 !important; } .me-xxl-1 { margin-right: .25rem !important; } .me-xxl-2 { margin-right: .5rem !important; } .me-xxl-3 { margin-right: 1rem !important; } .me-xxl-4 { margin-right: 1.5rem !important; } .me-xxl-5 { margin-right: 3rem !important; } .me-xxl-auto { margin-right: auto !important; } .mb-xxl-0 { margin-bottom: 0 !important; } .mb-xxl-1 { margin-bottom: .25rem !important; } .mb-xxl-2 { margin-bottom: .5rem !important; } .mb-xxl-3 { margin-bottom: 1rem !important; } .mb-xxl-4 { margin-bottom: 1.5rem !important; } .mb-xxl-5 { margin-bottom: 3rem !important; } .mb-xxl-auto { margin-bottom: auto !important; } .ms-xxl-0 { margin-left: 0 !important; } .ms-xxl-1 { margin-left: .25rem !important; } .ms-xxl-2 { margin-left: .5rem !important; } .ms-xxl-3 { margin-left: 1rem !important; } .ms-xxl-4 { margin-left: 1.5rem !important; } .ms-xxl-5 { margin-left: 3rem !important; } .ms-xxl-auto { margin-left: auto !important; } .p-xxl-0 { padding: 0 !important; } .p-xxl-1 { padding: .25rem !important; } .p-xxl-2 { padding: .5rem !important; } .p-xxl-3 { padding: 1rem !important; } .p-xxl-4 { padding: 1.5rem !important; } .p-xxl-5 { padding: 3rem !important; } .px-xxl-0 { padding-left: 0 !important; padding-right: 0 !important; } .px-xxl-1 { padding-left: .25rem !important; padding-right: .25rem !important; } .px-xxl-2 { padding-left: .5rem !important; padding-right: .5rem !important; } .px-xxl-3 { padding-left: 1rem !important; padding-right: 1rem !important; } .px-xxl-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; } .px-xxl-5 { padding-left: 3rem !important; padding-right: 3rem !important; } .py-xxl-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .py-xxl-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; } .py-xxl-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; } .py-xxl-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .py-xxl-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .py-xxl-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; } .pt-xxl-0 { padding-top: 0 !important; } .pt-xxl-1 { padding-top: .25rem !important; } .pt-xxl-2 { padding-top: .5rem !important; } .pt-xxl-3 { padding-top: 1rem !important; } .pt-xxl-4 { padding-top: 1.5rem !important; } .pt-xxl-5 { padding-top: 3rem !important; } .pe-xxl-0 { padding-right: 0 !important; } .pe-xxl-1 { padding-right: .25rem !important; } .pe-xxl-2 { padding-right: .5rem !important; } .pe-xxl-3 { padding-right: 1rem !important; } .pe-xxl-4 { padding-right: 1.5rem !important; } .pe-xxl-5 { padding-right: 3rem !important; } .pb-xxl-0 { padding-bottom: 0 !important; } .pb-xxl-1 { padding-bottom: .25rem !important; } .pb-xxl-2 { padding-bottom: .5rem !important; } .pb-xxl-3 { padding-bottom: 1rem !important; } .pb-xxl-4 { padding-bottom: 1.5rem !important; } .pb-xxl-5 { padding-bottom: 3rem !important; } .ps-xxl-0 { padding-left: 0 !important; } .ps-xxl-1 { padding-left: .25rem !important; } .ps-xxl-2 { padding-left: .5rem !important; } .ps-xxl-3 { padding-left: 1rem !important; } .ps-xxl-4 { padding-left: 1.5rem !important; } .ps-xxl-5 { padding-left: 3rem !important; } }

/* display */
.d-none { display: none !important; }
.d-block { display: block !important; }
.d-flex { display: flex !important; }
.d-grid { display: grid !important; }
.d-inline-block { display: inline-block !important; }
.d-inline-flex { display: inline-flex !important; }
.d-inline { display: inline !important; }
@media (min-width: 576px) { .d-sm-none { display: none !important; } .d-sm-block { display: block !important; } .d-sm-flex { display: flex !important; } .d-sm-grid { display: grid !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-inline-flex { display: inline-flex !important; } .d-sm-inline { display: inline !important; } }
@media (min-width: 768px) { .d-md-none { display: none !important; } .d-md-block { display: block !important; } .d-md-flex { display: flex !important; } .d-md-grid { display: grid !important; } .d-md-inline-block { display: inline-block !important; } .d-md-inline-flex { display: inline-flex !important; } .d-md-inline { display: inline !important; } }
@media (min-width: 992px) { .d-lg-none { display: none !important; } .d-lg-block { display: block !important; } .d-lg-flex { display: flex !important; } .d-lg-grid { display: grid !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-inline-flex { display: inline-flex !important; } .d-lg-inline { display: inline !important; } }
@media (min-width: 1200px) { .d-xl-none { display: none !important; } .d-xl-block { display: block !important; } .d-xl-flex { display: flex !important; } .d-xl-grid { display: grid !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-inline-flex { display: inline-flex !important; } .d-xl-inline { display: inline !important; } }
@media (min-width: 1400px) { .d-xxl-none { display: none !important; } .d-xxl-block { display: block !important; } .d-xxl-flex { display: flex !important; } .d-xxl-grid { display: grid !important; } .d-xxl-inline-block { display: inline-block !important; } .d-xxl-inline-flex { display: inline-flex !important; } .d-xxl-inline { display: inline !important; } }

/* flex */
.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-row-reverse { flex-direction: row-reverse !important; }
.flex-wrap { flex-wrap: wrap !important; }
.flex-grow-1 { flex-grow: 1 !important; }
.flex-shrink-0 { flex-shrink: 0 !important; }
.justify-content-start { justify-content: flex-start !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-around { justify-content: space-around !important; }
.justify-content-end { justify-content: flex-end !important; }
.align-items-start { align-items: flex-start !important; }
.align-items-center { align-items: center !important; }
.align-items-stretch { align-items: stretch !important; }
@media (min-width: 576px) { .flex-sm-row { flex-direction: row !important; } .flex-sm-column { flex-direction: column !important; } .flex-row-sm-reverse { flex-direction: row-reverse !important; } .flex-sm-wrap { flex-wrap: wrap !important; } .flex-grow-sm-1 { flex-grow: 1 !important; } .flex-shrink-sm-0 { flex-shrink: 0 !important; } .justify-content-sm-start { justify-content: flex-start !important; } .justify-content-sm-center { justify-content: center !important; } .justify-content-sm-between { justify-content: space-between !important; } .justify-content-sm-around { justify-content: space-around !important; } .justify-content-sm-end { justify-content: flex-end !important; } .align-items-sm-start { align-items: flex-start !important; } .align-items-sm-center { align-items: center !important; } .align-items-sm-stretch { align-items: stretch !important; } }
@media (min-width: 768px) { .flex-md-row { flex-direction: row !important; } .flex-md-column { flex-direction: column !important; } .flex-row-md-reverse { flex-direction: row-reverse !important; } .flex-md-wrap { flex-wrap: wrap !important; } .flex-grow-md-1 { flex-grow: 1 !important; } .flex-shrink-md-0 { flex-shrink: 0 !important; } .justify-content-md-start { justify-content: flex-start !important; } .justify-content-md-center { justify-content: center !important; } .justify-content-md-between { justify-content: space-between !important; } .justify-content-md-around { justify-content: space-around !important; } .justify-content-md-end { justify-content: flex-end !important; } .align-items-md-start { align-items: flex-start !important; } .align-items-md-center { align-items: center !important; } .align-items-md-stretch { align-items: stretch !important; } }
@media (min-width: 992px) { .flex-lg-row { flex-direction: row !important; } .flex-lg-column { flex-direction: column !important; } .flex-row-lg-reverse { flex-direction: row-reverse !important; } .flex-lg-wrap { flex-wrap: wrap !important; } .flex-grow-lg-1 { flex-grow: 1 !important; } .flex-shrink-lg-0 { flex-shrink: 0 !important; } .justify-content-lg-start { justify-content: flex-start !important; } .justify-content-lg-center { justify-content: center !important; } .justify-content-lg-between { justify-content: space-between !important; } .justify-content-lg-around { justify-content: space-around !important; } .justify-content-lg-end { justify-content: flex-end !important; } .align-items-lg-start { align-items: flex-start !important; } .align-items-lg-center { align-items: center !important; } .align-items-lg-stretch { align-items: stretch !important; } }
@media (min-width: 1200px) { .flex-xl-row { flex-direction: row !important; } .flex-xl-column { flex-direction: column !important; } .flex-row-xl-reverse { flex-direction: row-reverse !important; } .flex-xl-wrap { flex-wrap: wrap !important; } .flex-grow-xl-1 { flex-grow: 1 !important; } .flex-shrink-xl-0 { flex-shrink: 0 !important; } .justify-content-xl-start { justify-content: flex-start !important; } .justify-content-xl-center { justify-content: center !important; } .justify-content-xl-between { justify-content: space-between !important; } .justify-content-xl-around { justify-content: space-around !important; } .justify-content-xl-end { justify-content: flex-end !important; } .align-items-xl-start { align-items: flex-start !important; } .align-items-xl-center { align-items: center !important; } .align-items-xl-stretch { align-items: stretch !important; } }
@media (min-width: 1400px) { .flex-xxl-row { flex-direction: row !important; } .flex-xxl-column { flex-direction: column !important; } .flex-row-xxl-reverse { flex-direction: row-reverse !important; } .flex-xxl-wrap { flex-wrap: wrap !important; } .flex-grow-xxl-1 { flex-grow: 1 !important; } .flex-shrink-xxl-0 { flex-shrink: 0 !important; } .justify-content-xxl-start { justify-content: flex-start !important; } .justify-content-xxl-center { justify-content: center !important; } .justify-content-xxl-between { justify-content: space-between !important; } .justify-content-xxl-around { justify-content: space-around !important; } .justify-content-xxl-end { justify-content: flex-end !important; } .align-items-xxl-start { align-items: flex-start !important; } .align-items-xxl-center { align-items: center !important; } .align-items-xxl-stretch { align-items: stretch !important; } }
.gap-0 { gap: 0 !important; }
.gap-1 { gap: .25rem !important; }
.gap-2 { gap: .5rem !important; }
.gap-3 { gap: 1rem !important; }
.gap-4 { gap: 1.5rem !important; }
.gap-5 { gap: 3rem !important; }

/* text */
.text-start { text-align: left !important; }
.text-center { text-align: center !important; }
.text-end { text-align: right !important; }
.text-uppercase { text-transform: uppercase !important; }
.text-decoration-none { text-decoration: none !important; }
.text-decoration-underline { text-decoration: underline !important; }
.fst-italic { font-style: italic !important; }
.fw-light { font-weight: 300 !important; }
.fw-normal { font-weight: 400 !important; }
.fw-semibold { font-weight: 600 !important; }
.fw-bold { font-weight: 700 !important; }
.lh-lg { line-height: 2 !important; }
.small { font-size: .875em; }
.lead { font-size: 1.25rem; font-weight: 300; }
.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; }
.list-unstyled { padding-left: 0; list-style: none; }
.blockquote-footer { margin-top: -1rem; margin-bottom: 1rem; font-size: .875em; color: #6c757d; }
.blockquote-footer::before { content: "\2014\00A0"; }
@media (min-width: 576px) { .text-sm-start { text-align: left !important; } .text-sm-center { text-align: center !important; } .text-sm-end { text-align: right !important; } }
@media (min-width: 768px) { .text-md-start { text-align: left !important; } .text-md-center { text-align: center !important; } .text-md-end { text-align: right !important; } }
@media (min-width: 992px) { .text-lg-start { text-align: left !important; } .text-lg-center { text-align: center !important; } .text-lg-end { text-align: right !important; } }
@media (min-width: 1200px) { .text-xl-start { text-align: left !important; } .text-xl-center { text-align: center !important; } .text-xl-end { text-align: right !important; } }
@media (min-width: 1400px) { .text-xxl-start { text-align: left !important; } .text-xxl-center { text-align: center !important; } .text-xxl-end { text-align: right !important; } }

/* responsive type scale (Bootstrap RFS) */
.fs-1 { font-size: calc(1.375rem + 1.5vw) !important; }
.fs-2 { font-size: calc(1.325rem + .9vw) !important; }
.fs-3 { font-size: calc(1.3rem + .6vw) !important; }
.fs-4 { font-size: calc(1.275rem + .3vw) !important; }
.fs-5 { font-size: 1.25rem !important; }
.fs-6 { font-size: 1rem !important; }
h1, .h1 { font-size: calc(1.375rem + 1.5vw); }
h2, .h2 { font-size: calc(1.325rem + .9vw); }
h3, .h3 { font-size: calc(1.3rem + .6vw); }
h4, .h4 { font-size: calc(1.275rem + .3vw); }
h5, .h5 { font-size: 1.25rem; }
h6, .h6 { font-size: 1rem; }
.display-1 { font-size: calc(1.625rem + 4.5vw); font-weight: 300; line-height: 1.2; }
.display-2 { font-size: calc(1.575rem + 3.9vw); font-weight: 300; line-height: 1.2; }
.display-3 { font-size: calc(1.525rem + 3.3vw); font-weight: 300; line-height: 1.2; }
.display-4 { font-size: calc(1.475rem + 2.7vw); font-weight: 300; line-height: 1.2; }
.display-5 { font-size: calc(1.425rem + 2.1vw); font-weight: 300; line-height: 1.2; }
.display-6 { font-size: calc(1.375rem + 1.5vw); font-weight: 300; line-height: 1.2; }
@media (min-width: 1200px) { .fs-1 { font-size: 2.5rem !important; } .fs-2 { font-size: 2rem !important; } .fs-3 { font-size: 1.75rem !important; } .fs-4 { font-size: 1.5rem !important; } h1, .h1 { font-size: 2.5rem; } h2, .h2 { font-size: 2rem; } h3, .h3 { font-size: 1.75rem; } h4, .h4 { font-size: 1.5rem; } .display-1 { font-size: 5rem; } .display-2 { font-size: 4.5rem; } .display-3 { font-size: 4rem; } .display-4 { font-size: 3.5rem; } .display-5 { font-size: 3rem; } .display-6 { font-size: 2.5rem; } }

/* colour */
.text-primary { --nook-text-opacity: 1; color: rgba(var(--nook-primary-rgb), var(--nook-text-opacity)) !important; }
.bg-primary { --nook-bg-opacity: 1; background-color: rgba(var(--nook-primary-rgb), var(--nook-bg-opacity)) !important; }
.text-secondary { --nook-text-opacity: 1; color: rgba(var(--nook-secondary-rgb), var(--nook-text-opacity)) !important; }
.bg-secondary { --nook-bg-opacity: 1; background-color: rgba(var(--nook-secondary-rgb), var(--nook-bg-opacity)) !important; }
.text-success { --nook-text-opacity: 1; color: rgba(var(--nook-success-rgb), var(--nook-text-opacity)) !important; }
.bg-success { --nook-bg-opacity: 1; background-color: rgba(var(--nook-success-rgb), var(--nook-bg-opacity)) !important; }
.text-info { --nook-text-opacity: 1; color: rgba(var(--nook-info-rgb), var(--nook-text-opacity)) !important; }
.bg-info { --nook-bg-opacity: 1; background-color: rgba(var(--nook-info-rgb), var(--nook-bg-opacity)) !important; }
.text-warning { --nook-text-opacity: 1; color: rgba(var(--nook-warning-rgb), var(--nook-text-opacity)) !important; }
.bg-warning { --nook-bg-opacity: 1; background-color: rgba(var(--nook-warning-rgb), var(--nook-bg-opacity)) !important; }
.text-danger { --nook-text-opacity: 1; color: rgba(var(--nook-danger-rgb), var(--nook-text-opacity)) !important; }
.bg-danger { --nook-bg-opacity: 1; background-color: rgba(var(--nook-danger-rgb), var(--nook-bg-opacity)) !important; }
.text-light { --nook-text-opacity: 1; color: rgba(var(--nook-light-rgb), var(--nook-text-opacity)) !important; }
.bg-light { --nook-bg-opacity: 1; background-color: rgba(var(--nook-light-rgb), var(--nook-bg-opacity)) !important; }
.text-dark { --nook-text-opacity: 1; color: rgba(var(--nook-dark-rgb), var(--nook-text-opacity)) !important; }
.bg-dark { --nook-bg-opacity: 1; background-color: rgba(var(--nook-dark-rgb), var(--nook-bg-opacity)) !important; }
.text-white { --nook-text-opacity: 1; color: rgba(var(--nook-white-rgb), var(--nook-text-opacity)) !important; }
.bg-white { --nook-bg-opacity: 1; background-color: rgba(var(--nook-white-rgb), var(--nook-bg-opacity)) !important; }
.text-black { --nook-text-opacity: 1; color: rgba(var(--nook-black-rgb), var(--nook-text-opacity)) !important; }
.bg-black { --nook-bg-opacity: 1; background-color: rgba(var(--nook-black-rgb), var(--nook-bg-opacity)) !important; }
.text-muted { color: var(--nook-secondary-color) !important; }
.text-white-50 { color: rgba(255, 255, 255, .5) !important; }
.text-primary-emphasis { color: #052c65 !important; }
.bg-primary-subtle { background-color: #cfe2ff !important; }
.bg-success-subtle { background-color: #d1e7dd !important; }
.bg-gradient { background-image: linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,255,255,0)) !important; }
.bg-opacity-10 { --nook-bg-opacity: 0.1; }
.bg-opacity-25 { --nook-bg-opacity: 0.25; }
.bg-opacity-50 { --nook-bg-opacity: 0.5; }
.bg-opacity-75 { --nook-bg-opacity: 0.75; }
.opacity-25 { opacity: 0.25 !important; }
.opacity-75 { opacity: 0.75 !important; }

/* border + radius + shadow */
.border { border: 1px solid var(--nook-border-color) !important; }
.border-0 { border: 0 !important; }
.border-2 { border-width: 2px !important; }
.border-3 { border-width: 3px !important; }
.border-4 { border-width: 4px !important; }
.border-top { border-top: 1px solid var(--nook-border-color) !important; }
.border-bottom { border-bottom: 1px solid var(--nook-border-color) !important; }
.border-start { border-left: 1px solid var(--nook-border-color) !important; }
.border-primary { --nook-border-opacity: 1; border-color: rgba(var(--nook-primary-rgb), var(--nook-border-opacity)) !important; }
.border-success { --nook-border-opacity: 1; border-color: rgba(var(--nook-success-rgb), var(--nook-border-opacity)) !important; }
.border-info { --nook-border-opacity: 1; border-color: rgba(var(--nook-info-rgb), var(--nook-border-opacity)) !important; }
.rounded { border-radius: var(--nook-radius) !important; }
.rounded-2 { border-radius: var(--nook-radius) !important; }
.rounded-3 { border-radius: var(--nook-radius-lg) !important; }
.rounded-4 { border-radius: var(--nook-radius-xl) !important; }
.rounded-5 { border-radius: var(--nook-radius-xxl) !important; }
.rounded-circle { border-radius: 50% !important; }
.rounded-pill { border-radius: var(--nook-radius-pill) !important; }
.rounded-top { border-top-left-radius: var(--nook-radius) !important; border-top-right-radius: var(--nook-radius) !important; }
.rounded-top-4 { border-top-left-radius: var(--nook-radius-xl) !important; border-top-right-radius: var(--nook-radius-xl) !important; }
.rounded-start { border-bottom-left-radius: var(--nook-radius) !important; border-top-left-radius: var(--nook-radius) !important; }
.shadow-sm { box-shadow: var(--nook-shadow-sm) !important; }
.shadow { box-shadow: var(--nook-shadow) !important; }
.shadow-lg { box-shadow: var(--nook-shadow-lg) !important; }

/* sizing, position, misc */
.w-100 { width: 100% !important; }
.h-100 { height: 100% !important; }
.mx-auto { margin-right: auto !important; margin-left: auto !important; }
.overflow-hidden { overflow: hidden !important; }
.object-fit-cover { object-fit: cover !important; }
.img-fluid { max-width: 100%; height: auto; }
.position-relative { position: relative !important; }
.position-absolute { position: absolute !important; }
.top-0 { top: 0 !important; }
.top-50 { top: 50% !important; }
.bottom-0 { bottom: 0 !important; }
.start-0 { left: 0 !important; }
.start-50 { left: 50% !important; }
.end-0 { right: 0 !important; }
.translate-middle { transform: translate(-50%, -50%) !important; }
.translate-middle-y { transform: translateY(-50%) !important; }
.sticky-top { position: sticky; top: 0; z-index: 1020; }
.ratio { position: relative; width: 100%; }
.ratio::before { display: block; padding-top: var(--nook-aspect-ratio); content: ""; }
.ratio > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.ratio-4x3 { --nook-aspect-ratio: 75%; }
.ratio-16x9 { --nook-aspect-ratio: 56.25%; }
.fade { transition: opacity .15s linear; }
.fade:not(.show) { opacity: 0; }
.collapse:not(.show) { display: none; }
.collapsing { height: 0; overflow: hidden; transition: height .35s ease; }

/* ======================================================================
   5. Components
   ====================================================================== */

/* -- buttons ---------------------------------------------------------- */
.btn {
  --nook-btn-padding-x: .75rem;
  --nook-btn-padding-y: .375rem;
  --nook-btn-font-size: 1rem;
  --nook-btn-border-radius: var(--nook-radius);
  --nook-btn-border-width: 1px;
  --nook-btn-border-color: transparent;
  --nook-btn-color: var(--nook-body-color);
  --nook-btn-bg: transparent;
  display: inline-block;
  padding: var(--nook-btn-padding-y) var(--nook-btn-padding-x);
  font-family: inherit;
  font-size: var(--nook-btn-font-size);
  font-weight: 400;
  line-height: 1.5;
  color: var(--nook-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--nook-btn-border-width) solid var(--nook-btn-border-color);
  border-radius: var(--nook-btn-border-radius);
  background-color: var(--nook-btn-bg);
  transition: color .15s ease-in-out, background-color .15s ease-in-out,
              border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.btn:hover { color: var(--nook-btn-hover-color, var(--nook-btn-color)); background-color: var(--nook-btn-hover-bg, var(--nook-btn-bg)); border-color: var(--nook-btn-hover-border-color, var(--nook-btn-border-color)); }
.btn:focus-visible { outline: 0; box-shadow: 0 0 0 .25rem rgba(var(--nook-primary-rgb), .25); }
.btn:disabled, .btn.disabled { opacity: .65; pointer-events: none; }
.btn-lg { --nook-btn-padding-y: .5rem; --nook-btn-padding-x: 1rem; --nook-btn-font-size: 1.25rem; --nook-btn-border-radius: var(--nook-radius-lg); }
.btn-sm { --nook-btn-padding-y: .25rem; --nook-btn-padding-x: .5rem; --nook-btn-font-size: .875rem; --nook-btn-border-radius: var(--nook-radius-sm); }

.btn-primary { --nook-btn-color: #fff; --nook-btn-bg: #0d6efd; --nook-btn-border-color: #0d6efd; --nook-btn-hover-color: #fff; --nook-btn-hover-bg: #0b5ed7; --nook-btn-hover-border-color: #0a58ca; }
.btn-success { --nook-btn-color: #fff; --nook-btn-bg: #198754; --nook-btn-border-color: #198754; --nook-btn-hover-color: #fff; --nook-btn-hover-bg: #157347; --nook-btn-hover-border-color: #146c43; }
.btn-warning { --nook-btn-color: #000; --nook-btn-bg: #ffc107; --nook-btn-border-color: #ffc107; --nook-btn-hover-color: #000; --nook-btn-hover-bg: #ffca2c; --nook-btn-hover-border-color: #ffc720; }
.btn-dark    { --nook-btn-color: #fff; --nook-btn-bg: #212529; --nook-btn-border-color: #212529; --nook-btn-hover-color: #fff; --nook-btn-hover-bg: #424649; --nook-btn-hover-border-color: #373b3e; }
.btn-light   { --nook-btn-color: #000; --nook-btn-bg: #f8f9fa; --nook-btn-border-color: #f8f9fa; --nook-btn-hover-color: #000; --nook-btn-hover-bg: #d3d4d5; --nook-btn-hover-border-color: #c6c7c8; }
.btn-outline-primary   { --nook-btn-color: #0d6efd; --nook-btn-border-color: #0d6efd; --nook-btn-hover-color: #fff; --nook-btn-hover-bg: #0d6efd; --nook-btn-hover-border-color: #0d6efd; }
.btn-outline-secondary { --nook-btn-color: #6c757d; --nook-btn-border-color: #6c757d; --nook-btn-hover-color: #fff; --nook-btn-hover-bg: #6c757d; --nook-btn-hover-border-color: #6c757d; }
.btn-outline-light     { --nook-btn-color: #f8f9fa; --nook-btn-border-color: #f8f9fa; --nook-btn-hover-color: #000; --nook-btn-hover-bg: #f8f9fa; --nook-btn-hover-border-color: #f8f9fa; }

.btn-group { position: relative; display: inline-flex; vertical-align: middle; }
.btn-group > .btn { position: relative; flex: 1 1 auto; }
.btn-group > .btn:not(:first-child) { margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.btn-group > .btn:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.btn-check { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; }
.btn-check:checked + .btn { color: #fff; background-color: #0d6efd; border-color: #0d6efd; }
.btn-close {
  box-sizing: content-box; width: 1em; height: 1em; padding: .25em; color: #000;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
  border: 0; border-radius: var(--nook-radius); opacity: .5; cursor: pointer;
}
.btn-close:hover { opacity: .75; }

/* -- card ------------------------------------------------------------- */
.card {
  position: relative; display: flex; flex-direction: column; min-width: 0;
  height: var(--nook-card-height); word-wrap: break-word;
  background-color: #fff; background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, .175); border-radius: var(--nook-radius-lg);
}
.card > hr { margin-right: 0; margin-left: 0; }
.card-body { flex: 1 1 auto; padding: 1rem; }
.card-title { margin-bottom: .5rem; }
.card-text:last-child { margin-bottom: 0; }
.card-header {
  padding: .5rem 1rem; margin-bottom: 0; background-color: rgba(33, 37, 41, .03);
  border-bottom: 1px solid rgba(0, 0, 0, .175);
  border-radius: calc(var(--nook-radius-lg) - 1px) calc(var(--nook-radius-lg) - 1px) 0 0;
}

/* -- badge / alert ---------------------------------------------------- */
.badge {
  display: inline-block; padding: .35em .65em; font-size: .75em; font-weight: 700;
  line-height: 1; color: #fff; text-align: center; white-space: nowrap;
  vertical-align: baseline; border-radius: var(--nook-radius);
}
.alert { position: relative; padding: 1rem; margin-bottom: 1rem; border: 1px solid transparent; border-radius: var(--nook-radius); }
.alert-primary { color: #052c65; background-color: #cfe2ff; border-color: #b6d4fe; }
.alert-info    { color: #055160; background-color: #cff4fc; border-color: #b6effb; }

/* -- nav / navbar ----------------------------------------------------- */
.nav { display: flex; flex-wrap: wrap; padding-left: 0; margin-bottom: 0; list-style: none; }
.nav-link {
  display: block; padding: .5rem 1rem; color: rgba(var(--nook-primary-rgb), 1);
  text-decoration: none; background: none; border: 0;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}
.nav-link:hover, .nav-link:focus { color: #0a58ca; }
.nav-pills .nav-link { border-radius: var(--nook-radius); }
.nav-pills .nav-link.active { color: #fff; background-color: #0d6efd; }

.navbar {
  position: relative; display: flex; flex-wrap: wrap; align-items: center;
  justify-content: space-between; padding: .5rem 1rem;
}
.navbar > .container, .navbar > .container-fluid {
  display: flex; flex-wrap: inherit; align-items: center; justify-content: space-between;
}
.navbar-brand { padding-top: .3125rem; padding-bottom: .3125rem; margin-right: 1rem; font-size: 1.25rem; text-decoration: none; white-space: nowrap; }
.navbar-nav { display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none; }
.navbar-nav .nav-link { padding-right: 0; padding-left: 0; }
.navbar-collapse { flex-basis: 100%; flex-grow: 1; align-items: center; }
.navbar-toggler {
  padding: .25rem .75rem; font-size: 1.25rem; line-height: 1; background-color: transparent;
  border: 1px solid transparent; border-radius: var(--nook-radius); cursor: pointer;
  transition: box-shadow .15s ease-in-out;
}
.navbar-toggler:focus { outline: 0; box-shadow: 0 0 0 .25rem; }
.navbar-toggler-icon {
  display: inline-block; width: 1.5em; height: 1.5em; vertical-align: middle;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  background-repeat: no-repeat; background-position: center; background-size: 100%;
}
@media (min-width: 992px) {
  .navbar-expand-lg { flex-wrap: nowrap; justify-content: flex-start; }
  .navbar-expand-lg .navbar-nav { flex-direction: row; }
  .navbar-expand-lg .navbar-nav .nav-link { padding-right: .5rem; padding-left: .5rem; }
  .navbar-expand-lg .navbar-collapse { display: flex !important; flex-basis: auto; }
  .navbar-expand-lg .navbar-toggler { display: none; }
  .navbar-expand-lg .navbar-nav .dropdown-menu { position: absolute; }
}

/* -- dropdown --------------------------------------------------------- */
.dropdown { position: relative; }
.dropdown-toggle::after {
  display: inline-block; margin-left: .255em; vertical-align: .255em; content: "";
  border-top: .3em solid; border-right: .3em solid transparent;
  border-bottom: 0; border-left: .3em solid transparent;
}
.dropdown-menu {
  position: absolute; z-index: 1000; display: none; min-width: 10rem; padding: .5rem 0;
  margin: 0; font-size: 1rem; color: var(--nook-body-color); text-align: left;
  list-style: none; background-color: #fff; background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, .175); border-radius: var(--nook-radius);
}
.dropdown-menu.show { display: block; }
.dropdown-menu-end { --nook-position: end; right: 0; left: auto; }
.dropdown-item {
  display: block; width: 100%; padding: .25rem 1rem; clear: both; font-weight: 400;
  color: var(--nook-body-color); text-align: inherit; text-decoration: none;
  white-space: nowrap; background-color: transparent; border: 0;
}
.dropdown-item:hover, .dropdown-item:focus { background-color: rgba(33, 37, 41, .075); }
.dropdown-header { display: block; padding: .5rem 1rem; margin-bottom: 0; font-size: .875rem; color: #6c757d; white-space: nowrap; }

/* -- accordion -------------------------------------------------------- */
.accordion { --nook-accordion-border: 1px solid rgba(0, 0, 0, .175); }
.accordion-item { color: var(--nook-body-color); background-color: #fff; border: var(--nook-accordion-border); }
.accordion-item:first-of-type { border-top-left-radius: var(--nook-radius-lg); border-top-right-radius: var(--nook-radius-lg); }
.accordion-item:not(:first-of-type) { border-top: 0; }
.accordion-item:last-of-type { border-bottom-left-radius: var(--nook-radius-lg); border-bottom-right-radius: var(--nook-radius-lg); }
.accordion-header { margin-bottom: 0; }
.accordion-button {
  position: relative; display: flex; align-items: center; width: 100%; padding: 1rem 1.25rem;
  font-size: 1rem; color: var(--nook-body-color); text-align: left; background-color: #fff;
  border: 0; border-radius: 0; overflow-anchor: none; cursor: pointer;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.accordion-button:not(.collapsed) { color: #0c63e4; background-color: #e7f1ff; box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .175); }
.accordion-button::after {
  flex-shrink: 0; width: 1.25rem; height: 1.25rem; margin-left: auto; content: "";
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  background-repeat: no-repeat; background-size: 1.25rem; transition: transform .2s ease-in-out;
}
.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  transform: rotate(-180deg);
}
.accordion-body { padding: 1rem 1.25rem; }

/* -- carousel --------------------------------------------------------- */
.carousel { position: relative; }
.carousel-inner { position: relative; width: 100%; overflow: hidden; }
.carousel-item {
  position: relative; display: none; float: left; width: 100%; margin-right: -100%;
  backface-visibility: hidden; transition: transform .6s ease-in-out;
}
.carousel-item.active, .carousel-item-next, .carousel-item-prev { display: block; }
.carousel-control-prev, .carousel-control-next {
  position: absolute; top: 0; bottom: 0; z-index: 1; display: flex; align-items: center;
  justify-content: center; width: 15%; padding: 0; color: #fff; text-align: center;
  background: none; border: 0; opacity: .5; cursor: pointer; transition: opacity .15s ease;
}
.carousel-control-prev { left: 0; } .carousel-control-next { right: 0; }
.carousel-control-prev:hover, .carousel-control-next:hover { opacity: .9; }
.carousel-control-prev-icon, .carousel-control-next-icon {
  display: inline-block; width: 2rem; height: 2rem;
  background-repeat: no-repeat; background-position: 50%; background-size: 100% 100%;
}
.carousel-control-prev-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); }
.carousel-control-next-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); }
.carousel-indicators {
  position: absolute; right: 0; bottom: 0; left: 0; z-index: 2; display: flex;
  justify-content: center; padding: 0; margin: 0 15% 1rem; list-style: none;
}
.carousel-indicators [data-bs-target] {
  box-sizing: content-box; flex: 0 1 auto; width: 30px; height: 3px; padding: 0;
  margin: 0 3px; text-indent: -999px; cursor: pointer; background-color: #fff;
  background-clip: padding-box; border: 0; border-top: 10px solid transparent;
  border-bottom: 10px solid transparent; opacity: .5; transition: opacity .6s ease;
}
.carousel-indicators .active { opacity: 1; }

/* -- modal ------------------------------------------------------------ */
.modal {
  position: fixed; top: 0; left: 0; z-index: 1055; display: none; width: 100%; height: 100%;
  overflow-x: hidden; overflow-y: auto; outline: 0;
}
.modal-dialog { position: relative; width: auto; margin: .5rem; pointer-events: none; }
.modal.fade .modal-dialog { transform: translate(0, -50px); transition: transform .3s ease-out; }
.modal.show .modal-dialog { transform: none; }
.modal-dialog-centered { display: flex; align-items: center; min-height: calc(100% - 1rem); }
.modal-content {
  position: relative; display: flex; flex-direction: column; width: 100%;
  pointer-events: auto; background-color: #fff; background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, .175); border-radius: var(--nook-radius-xl); outline: 0;
}
.modal-header { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid rgba(0, 0, 0, .175); border-radius: calc(var(--nook-radius-xl) - 1px) calc(var(--nook-radius-xl) - 1px) 0 0; }
.modal-title { margin-bottom: 0; line-height: 1.5; }
.modal-body { position: relative; flex: 1 1 auto; padding: 1rem; }
.modal-backdrop { position: fixed; top: 0; left: 0; z-index: 1050; width: 100vw; height: 100vh; background-color: #000; opacity: .5; }
@media (min-width: 576px) {
  .modal-dialog { max-width: 500px; margin: 1.75rem auto; }
  .modal-dialog-centered { min-height: calc(100% - 3.5rem); }
}
@media (min-width: 992px) { .modal-lg, .modal-xl { max-width: 800px; } }
@media (min-width: 1200px) { .modal-xl { max-width: 1140px; } }

/* -- tabs ------------------------------------------------------------- */
.tab-content > .tab-pane { display: none; }
.tab-content > .active { display: block; }

/* -- list group ------------------------------------------------------- */
.list-group { display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; border-radius: var(--nook-radius); }
.list-group-item {
  position: relative; display: block; padding: .5rem 1rem; color: var(--nook-body-color);
  text-decoration: none; background-color: #fff; border: 1px solid rgba(0, 0, 0, .125);
}
.list-group-item + .list-group-item { border-top-width: 0; }
.list-group-item:first-child { border-top-left-radius: inherit; border-top-right-radius: inherit; }
.list-group-item:last-child { border-bottom-left-radius: inherit; border-bottom-right-radius: inherit; }
.list-group-flush { border-radius: 0; }
.list-group-flush > .list-group-item { border-width: 0 0 1px; }
.list-group-flush > .list-group-item:last-child { border-bottom-width: 0; }

/* -- breadcrumb ------------------------------------------------------- */
.breadcrumb { display: flex; flex-wrap: wrap; padding: 0; margin-bottom: 1rem; list-style: none; }
.breadcrumb-item + .breadcrumb-item { padding-left: .5rem; }
.breadcrumb-item + .breadcrumb-item::before { float: left; padding-right: .5rem; color: #6c757d; content: "/"; }

/* -- tables ----------------------------------------------------------- */
.table {
  --nook-table-bg: transparent;
  width: 100%; margin-bottom: 1rem; vertical-align: top;
  border-color: var(--nook-border-color);
}
.table > :not(caption) > * > * { padding: .5rem; background-color: var(--nook-table-bg); border-bottom-width: 1px; }
.table > tbody { vertical-align: inherit; }
.table > thead { vertical-align: bottom; }
.table-bordered > :not(caption) > * { border-width: 1px 0; }
.table-bordered > :not(caption) > * > * { border-width: 0 1px; }
.table-borderless > :not(caption) > * > * { border-bottom-width: 0; }
.table-hover > tbody > tr:hover > * { background-color: rgba(0, 0, 0, .075); }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* -- forms ------------------------------------------------------------ */
.form-label { margin-bottom: .5rem; }
.form-control {
  display: block; width: 100%; padding: .375rem .75rem; font-size: 1rem; font-weight: 400;
  line-height: 1.5; color: var(--nook-body-color); background-color: #fff;
  background-clip: padding-box; border: 1px solid var(--nook-border-color);
  border-radius: var(--nook-radius); appearance: none;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.form-control:focus { border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25); }
.form-check { display: block; min-height: 1.5rem; padding-left: 1.5em; margin-bottom: .125rem; }
.form-check-input { float: left; margin-left: -1.5em; width: 1em; height: 1em; margin-top: .25em; vertical-align: top; background-color: #fff; border: 1px solid rgba(0, 0, 0, .25); appearance: none; }
.form-check-input[type=checkbox] { border-radius: .25em; }
.form-check-input[type=radio] { border-radius: 50%; }
.form-check-input:checked { background-color: #0d6efd; border-color: #0d6efd; }
.form-check-label { cursor: pointer; }
.input-group { position: relative; display: flex; flex-wrap: wrap; align-items: stretch; width: 100%; }
.input-group > .form-control { position: relative; flex: 1 1 auto; width: 1%; min-width: 0; }
.input-group-text {
  display: flex; align-items: center; padding: .375rem .75rem; font-size: 1rem;
  font-weight: 400; line-height: 1.5; color: var(--nook-body-color); text-align: center;
  white-space: nowrap; background-color: #f8f9fa; border: 1px solid var(--nook-border-color);
  border-radius: var(--nook-radius);
}
.input-group > :not(:first-child) { margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > :not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group-sm > .form-control, .input-group-sm > .input-group-text { padding: .25rem .5rem; font-size: .875rem; border-radius: var(--nook-radius-sm); }

/* -- scroll reveal (replaces AOS) ------------------------------------- */
[data-aos] { opacity: 0; transition: opacity .6s ease, transform .6s ease; will-change: opacity, transform; }
[data-aos="fade-up"]    { transform: translateY(24px); }
[data-aos="fade-down"]  { transform: translateY(-24px); }
[data-aos="fade-right"] { transform: translateX(-24px); }
[data-aos="fade-left"]  { transform: translateX(24px); }
[data-aos="zoom-in"]    { transform: scale(.94); }
[data-aos].aos-animate  { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* -- inline SVG icons (replaces the Font Awesome + Bootstrap Icons webfonts) -- */
.icon {
  width: 1em;
  height: 1em;
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 0;
  vertical-align: -.125em;
  flex-shrink: 0;
}
/* Bootstrap Icons are drawn as filled paths; Font Awesome likewise. Anything
   that ships explicit stroke styling keeps it. */
.icon [stroke] { stroke: currentColor; }
.icon [fill="none"] { fill: none; }

/* ===== site layer ===== */
/* 
==========================================================
EventNook Premium Styles - Enhanced & Organized Version
==========================================================
*/

/*
TABLE OF CONTENTS:
------------------
1. Imports & Fonts
2. Variables & Root Settings
3. Global & Typography Styles
4. Buttons & Interactive Elements
5. Layout & Grid Components
6. Navigation & Header
7. Hero Sections
8. Content Sections
9. Cards & Containers
10. Forms & Input Elements
11. Animations & Transitions
12. Utilities & Helper Classes
13. Media Queries & Responsive Styles
*/

/* ==========================================================
   1. Imports & Fonts
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Lora&family=DM+Sans:wght@300;400;500;700;800&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* ==========================================================
   2. Variables & Root Settings
   ========================================================== */

:root {
  /* Color Variables */
  --text-black: #1e0e62;
  --text-white: #F5F5F7;
  --primary-blue: #0071E3;
  --secondary-blue: #007AFF;
  --dark-blue: #0040DD;
  --light-blue: #f0f7ff;
  --text-gray: #86868B;
  --light-gray: #F5F5F7;
  --success-green: #34C759;
  --success-green-dark: #30B850;

  /* Typography Variables */
  --font-primary: 'DM Sans', sans-serif;
  --font-display: 'DM Sans', sans-serif;
  
  /* Spacing & Sizing */
  --border-radius-sm: 8px;
  --border-radius-md: 12px;
  --border-radius-lg: 20px;
  --border-radius-xl: 980px; /* For pill-shaped buttons */
  
  /* Shadows */
  --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 15px rgba(0, 0, 0, 0.15);
  --shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.1);
  
  /* Transitions */
  --transition-default: all 0.3s ease;
  --transition-fast: all 0.2s ease;
  --transition-slow: all 0.5s ease;
}

/* ==========================================================
   3. Global & Typography Styles
   ========================================================== */

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-primary);
  color: var(--text-black);
  background-color: #fff;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  background: linear-gradient(#D6E7FF 0%, #f3f9fe 15%);
  margin: 0;
  padding: 0;
}

/* Typography - Headings */

h1, h2, h3 {
  font-family: var(--font-primary);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--text-black);
  text-rendering: optimizeLegibility;
}

h4, h5, h6 {
  font-family: var(--font-primary);
  font-weight: 700;
  letter-spacing: normal;
  color: var(--text-black);
  text-rendering: optimizeLegibility;
}

.section-title {
  font-family: var(--font-display);
  font-weight: 600;
}

.big-headline {
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin-bottom: 24px;
  font-size: 4.5rem;
}

/* Typography - Text & Links */

p {
  margin-bottom: 1rem;
}

a {
  color: var(--primary-blue);
  text-decoration: none;
  transition: var(--transition-default);
}

a:hover {
  text-decoration: underline;
}


/* ==========================================================
   4. Buttons & Interactive Elements
   ========================================================== */

/* Base Button Styles */
.btn {
  text-decoration: none;
  padding: 8px 16px;
  border-radius: var(--border-radius-xl);
  font-weight: 600;
  letter-spacing: 0.005em;
  text-align: center;
  transition: var(--transition-default);
  font-family: var(--font-primary);
  text-transform: normal;
}

.btn:hover {
  transform: translateY(-3px);
  text-decoration: none !important;
}

/* Button Sizes */
.btn-xl {
  font-size: 1.2rem;
  padding: 16px 36px;
  font-weight: 600;
  letter-spacing: 0.02em;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.btn-xl:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

/* Button Styles */

/* Primary Button */
.btn.btn-primary {
  background: linear-gradient(90deg, var(--secondary-blue), var(--dark-blue));
  color: white;
  border: none;
  box-shadow: 0 2px 10px rgba(0, 113, 227, 0.2);
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.btn.btn-primary:before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: all 0.8s;
  z-index: -1;
}

.btn.btn-primary:hover {
  background: linear-gradient(90deg, #0077ED, var(--dark-blue));
  color: white;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(0, 113, 227, 0.3);
}

.btn.btn-primary:hover:before {
  left: 100%;
}

/* Success Button (Green) */
.btn.btn-success {
  background-color: var(--success-green);
  color: white;
  border: none;
  box-shadow: 0 2px 10px rgba(52, 199, 89, 0.2);
}

.btn.btn-success:hover {
  background-color: var(--success-green-dark);
  color: white;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(52, 199, 89, 0.3);
}

/* Outline Button */
.btn.btn-outline {
  background-color: transparent;
  color: var(--primary-blue);
  border: 1px solid var(--primary-blue);
}

.btn.btn-outline:hover {
  background-color: rgba(0, 113, 227, 0.05);
  color: var(--primary-blue);
  text-decoration: none;
}

/* Black Button */
.btn.btn-black {
  background-color: #000000;
  color: white;
  border: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.btn.btn-black:hover {
  background-color: #333333;
  color: white;
  text-decoration: none;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
}

/* Button with glow effect */
.btn-glow {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.btn-glow:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  border-radius: var(--border-radius-xl);
  background: inherit;
  filter: blur(15px);
  opacity: 0;
  transition: opacity 0.5s ease;
}

.btn-glow:hover:after {
  opacity: 0.7;
}

/* ==========================================================
   5. Layout & Grid Components
   ========================================================== */

.container-lg {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 15px;
}

.container-xl {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Spacing utilities */
.py-large {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

/* Background colors */
.bg-special-blue {
  background-color: #f0f7ff;
}

.bg-special-light {
  background-color: #f8f9fa;
}

.bg-gradient-primary {
  background: linear-gradient(135deg, var(--primary-blue), var(--dark-blue));
}

/* ==========================================================
   6. Navigation & Header
   ========================================================== */

/* Main Navigation Bar */
.main-navbar {
  background-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  height: 62px;
  padding: 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
}

.main-navbar .container {
  max-width: 1280px;
  padding: 0 15px;
  position: relative; /* For dropdown positioning */
}

/* Brand and Logo */
.main-navbar .navbar-brand {
  padding: 0;
  margin: 0;
  height: 60px;
  display: flex;
  align-items: center;
}

.main-navbar .navbar-brand img {
  height: 24px;
  padding: 0;
  transition: opacity 0.3s ease;
}

.main-navbar .navbar-brand:hover img {
  opacity: 0.8;
}

/* Navigation Items */
.main-navbar .navbar-nav {
  height: 60px;
}

.main-navbar .nav-item {
  height: 60px;
  display: flex;
  align-items: center;
  position: static; /* For correct dropdown positioning */
}

.main-navbar .nav-link {
  color: rgba(0, 0, 0, 0.8);
  font-size: 0.9rem;
  font-weight: 400;
  letter-spacing: 0.01em;
  padding: 0 15px;
  margin-right: 5px;
  transition: color 0.3s ease;
  height: 60px;
  display: flex;
  align-items: center;
  font-family: var(--font-primary);
}

.main-navbar .nav-link:hover {
  color: var(--primary-blue);
  text-decoration: none;
}

/* Dropdown Indicators */
.main-navbar .dropdown-toggle::after {
  display: none;
}

.main-navbar .nav-link i.fa-chevron-down {
  font-size: 10px;
  margin-left: 5px;
  transition: transform 0.3s ease;
}

.main-navbar .nav-item:hover .nav-link i.fa-chevron-down {
  transform: rotate(180deg);
}

/* Standard Dropdown Menu */
.main-navbar .dropdown-menu {
  margin-top: 0;
  border: none;
  border-radius: var(--border-radius-md);
  box-shadow: var(--shadow-lg);
  padding: 20px;
  min-width: 240px;
  position: absolute;
  top: 60px; /* Height of navbar */
  background-color: white;
  z-index: 1000;
}

/* Mega Dropdown Menu */
.main-navbar .mega-dropdown-menu {
  width: 100%; /* Full width */
  position: absolute;
  border-radius: 0;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  padding: 0; /* Container has padding */
  display: none;
  top: 60px; /* Height of navbar */
  left: 0; /* Align to left edge */
  right: 0;
  transform: none; /* No transformation */
  margin-left: 0;
  background-color: white;
  box-shadow: var(--shadow-lg);
  z-index: 1000;
}

.main-navbar .mega-dropdown-menu .container {
  padding: 40px;
}

/* Products dropdown styling */
.main-navbar li:has(#productsDropdown) .mega-dropdown-menu {
  background: linear-gradient(135deg, #f8f9fa 0%, #f0f7ff 100%);
  border-bottom: 3px solid var(--primary-blue);
}

/* Add a subtle top border glow to products dropdown */
.main-navbar li:has(#productsDropdown) .mega-dropdown-menu::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--primary-blue), transparent);
}

/* Solutions dropdown styling */
.main-navbar li:has(#solutionsDropdown) .mega-dropdown-menu {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9f5ff 100%);
  border-bottom: 3px solid #00d2ff;
}

/* Add a subtle top border glow to solutions dropdown */
.main-navbar li:has(#solutionsDropdown) .mega-dropdown-menu::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #00d2ff, transparent);
}

/* Mega Dropdown Content Styling */
.mega-dropdown-column {
  padding: 0 15px;
}

.mega-dropdown-header {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 20px;
  color: var(--text-black);
  font-family: var(--font-primary);
  letter-spacing: -0.01em;
}

.mega-dropdown-item {
  display: flex;
  align-items: flex-start;
  padding: 15px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}

.mega-dropdown-item:hover {
  transform: translateX(5px);
}

.mega-dropdown-item:last-child {
  border-bottom: none;
}

.mega-dropdown-item-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: linear-gradient(135deg, #0a84ff 0%, #0055fe 100%);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  margin-right: 15px;
  flex-shrink: 0;
}

/* Solutions dropdown icons with a different gradient */
.main-navbar li:has(#solutionsDropdown) .mega-dropdown-item-icon {
  background: linear-gradient(135deg, #3a7bd5 0%, #00d2ff 100%);
  box-shadow: 0 5px 15px rgba(0, 210, 255, 0.2);
}

.mega-dropdown-item-content {
  flex-grow: 1;
}

.mega-dropdown-item-title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 5px;
  color: var(--text-black);
  font-family: var(--font-primary);
}

.mega-dropdown-item-description {
  font-size: 14px;
  color: var(--text-gray);
  line-height: 1.5;
  font-family: var(--font-primary);
}

.main-navbar .dropdown-item {
  padding: 10px 15px;
  color: var(--text-black);
  font-size: 14px;
  border-radius: 8px;
  transition: background-color 0.3s ease;
  font-family: var(--font-primary);
  font-weight: 500;
}

.main-navbar .dropdown-item:hover {
  background-color: rgba(0, 0, 0, 0.05);
  color: var(--primary-blue);
}

/* Mobile Menu Toggler */
.main-navbar .navbar-toggler {
  border: none;
  padding: 0;
  outline: none;
  box-shadow: none;
}

.main-navbar .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ==========================================================
   7. Hero Sections
   ========================================================== */

/* Base Hero Section */
.hero-section {
  padding: 0;
  text-align: center;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center; /* Center content vertically */
  align-items: center; /* Center content horizontally */
  background: radial-gradient(ellipse at 50% -20%, #fafafa 0%, #fff 15%, transparent 70%), radial-gradient(circle at 20% 45%, #78a5ed 0%, #4784f5 25%, transparent 45%) !important;
}

/* Full-height hero section - use this for landing pages */
.hero-section.hero-full {
  min-height: 100vh; /* Full viewport height */
  padding-top: 120px;
  padding-bottom: 100px;
}

/* Standard height hero section - use this for inner pages */
.hero-section.hero-standard {
  min-height: auto;
  padding-top: 100px; 
  padding-bottom: 80px;
}

/* Hero section background variations */
.hero-section.bg-light-blue {
  background: radial-gradient(ellipse at 50% -20%, #f0f7ff 0%, #e5f1ff 25%, #dbeaff 100%) !important;
}

.hero-section.bg-white {
  background: #ffffff !important;
}

.hero-section.bg-gradient-primary {
  background: linear-gradient(135deg, #4F93EF, #3a7bd5) !important;
  color: white;
}

.hero-section.bg-gradient-secondary {
  background: linear-gradient(135deg, #8763DB, #B85DB7) !important;
  color: white;
}

.hero-section.bg-gray {
  background: #f8f9fa !important;
}

/* Apply to hero title when using dark backgrounds */
.hero-section.bg-gradient-primary .hero-title,
.hero-section.bg-gradient-secondary .hero-title,
.hero-section.bg-gradient-primary .hero-subtitle,
.hero-section.bg-gradient-secondary .hero-subtitle {
  color: white;
}

.hero-overlay1 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* background: linear-gradient(30deg,transparent,#4b99ec 34%,#008aff 48%,#063c93 90%) !important; */
  background: radial-gradient(ellipse at 50% -20%, #5ba8d7 0%, #346ee7 25%, transparent 70%), radial-gradient(circle at 20% 45%, #e7d4eb 0%, #d8dfee 25%, transparent 45%);
  z-index: 1;
  pointer-events: none;
}

.hero-content {
  position: relative;
  z-index: 10;
  width: 100%;
  padding: 60px 0;
}

.hero-title {
  font-size: 72px;
  font-weight: 600;
  line-height: 1.1;
  margin-bottom: 20px;
  position: relative;
  z-index: 10;
}

.hero-subtitle {
  font-size: 22px;
  line-height: 1.5;
  margin-bottom: 30px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 10;
}

.hero-scroll-indicator {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  background-color: rgb(61, 105, 240, 0.1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-decoration: none;
  transition: all 0.3s ease;
  z-index: 10;
  animation: bounce 2s infinite;
}

.hero-scroll-indicator:hover {
  background-color: rgba(255, 255, 255, 0.3);
  text-decoration: none;
  transform: translateX(-50%) translateY(-5px);
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  40% {
    transform: translateX(-50%) translateY(-10px);
  }
  60% {
    transform: translateX(-50%) translateY(-5px);
  }
}

/* Login dropdown styling */
.main-navbar .login-link {
  font-weight: 500;
  color: #333;
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  transition: color 0.2s ease;
}

.main-navbar .login-link:hover {
  color: #0078E7;
}

.main-navbar .login-link .fa-chevron-down {
  font-size: 10px;
  margin-top: 2px;
}

.main-navbar .login-dropdown {
  min-width: 280px;
  padding: 0;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  border: 1px solid #eaeaea;
  overflow: hidden;
}

.main-navbar .login-dropdown a {
  text-decoration: none;
  border-bottom: none;
}

.main-navbar .login-dropdown .dropdown-header {
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 8px;
  font-weight: 600;
  padding: 0 0 8px 0;
  color: #444;
}

.login-card-item {
  display: flex;
  padding: 10px;
  margin: 8px 0;
  border-radius: 6px;
  transition: background-color 0.2s ease;
  text-decoration: none;
  color: #333;
  border-bottom: none;
}

.login-card-item:hover {
  background-color: #f5f8ff;
  color: #0078E7;
  text-decoration: none;
  border-bottom: none;
}

.login-card-icon {
  width: 40px;
  height: 40px;
  background-color: #f0f7ff;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  font-size: 18px;
  color: #0078E7;
}

.login-card-content {
  flex: 1;
}

.login-card-title {
  font-weight: 500;
  margin-bottom: 2px;
}

.login-card-description {
  font-size: 12px;
  color: #666;
}

.main-navbar .dropdown-menu-end {
  right: 0;
  left: auto;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
}

.section-featured-customers .img-client {
  filter: none;
}

/* Features Section */
.section-title {
  font-size: 48px;
  line-height: 1.07143;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
  text-rendering: optimizeLegibility;
  transform: translateZ(0);
  -webkit-font-smoothing: antialiased;
  font-family: var(--font-display);
 
  background-clip: text;
}

.section-title.blue-gradient{
  color: #3b5ff9; /* Fallback color */
  background: linear-gradient(90deg, #3b5ff9 0%, #ce276f 50%, #f83a57 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  /* Ensure text remains readable if gradients fail */
}

/* Fallback for browsers that don't support background-clip: text */
@supports not (-webkit-background-clip: text) {
  .section-title.blue-gradient {
    color: var(--primary-blue);
  }
}

/* Event Types Section Styling */
.event-type-card {
  background: white;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  border: 1px solid rgba(0,0,0,0.05);
  transition: all 0.3s ease;
  height: 100%;
}

.event-type-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.12);
}

.event-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.bg-purple {
  background-color: #6f42c1;
}

.event-features {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.feature-tag {
  background-color: #f8f9fa;
  color: #6c757d;
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  border-radius: 12px;
  border: 1px solid #e9ecef;
}

.cta-card {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 16px;
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.25);
  position: relative;
  overflow: hidden;
}

.cta-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.1) 0%, transparent 50%);
  pointer-events: none;
}

.cta-icon {
  width: 60px;
  height: 60px;
  background: rgba(255,255,255,0.2);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.text-white-75 {
  color: rgba(255,255,255,0.9);
}

@media (max-width: 991px) {
  .cta-card {
    margin-top: 2rem;
  }
}



.section-title.light-gradient{
  background: linear-gradient(90deg, #ffffff 0%, #cde2ea 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.section-subtitle {
  font-size: 28px;
  line-height: 1.10722;
  font-weight: 500;
  letter-spacing: normal;
  background: linear-gradient(90deg, #6f42c1 0%, #4e38c2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 70px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  text-rendering: optimizeLegibility;
}

.features-section {
  padding: 130px 0;
  background-color: #fbfbfd;
  overflow: hidden;
}

.features-grid {
  position: relative;
  z-index: 1;
}

.features-grid::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 10%;
  width: 1000px;
  height: 1000px;
  background: radial-gradient(circle, rgba(10, 132, 255, 0.1) 0%, rgba(10, 132, 255, 0) 70%);
  transform: translateX(-50%);
  z-index: -1;
}

.feature-card {
  background-color: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.03);
  transition: all 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
  height: 100%;
  position: relative;
  z-index: 2;
  padding: 40px 30px;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.feature-card:hover {
  transform: translateY(-16px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0;
  background: linear-gradient(90deg, #007AFF, #0040DD);
  transition: height 0.3s ease;
  z-index: -1;
}

.feature-card:hover::before {
  height: 5px;
}

.feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 16px;
  background: linear-gradient(135deg, #0a84ff 0%, #0055fe 100%);
  color: white;
  font-size: 24px;
  margin-bottom: 25px;
  position: relative;
  overflow: hidden;
}

.feature-icon::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 60%);
  top: 0;
  left: 0;
}

.feature-title {
  font-size: 24px;
  line-height: 1.16667;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-bottom: 12px;
  color: #1d1d1f;
  text-rendering: optimizeLegibility;
  font-family: var(--font-display);
}

.feature-text {
  font-size: 1rem;
  line-height: 1.4706;
  font-weight: 400;
  letter-spacing: -0.022em;
  color: #86868b;
  margin-bottom: 0;
}

/* Case Studies Section */
.case-study-card {
  background-color: white;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
}

.case-study-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.case-study-img {
  height: 250px;
  width: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.case-study-card:hover .case-study-img {
  transform: scale(1.05);
}

.case-study-title {
  font-size: 24px;
  line-height: 1.16667;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin-bottom: 8px;
  text-rendering: optimizeLegibility;
  font-family: var(--font-display);
}

.case-study-category {
  font-size: 14px;
  color: var(--primary-blue);
  font-weight: 600;
  letter-spacing: -0.016em;
  margin-bottom: 12px;
  display: inline-block;
}

.case-study-result {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}

.case-study-result i {
  font-size: 16px;
  color: #00CA2C;
  margin-right: 8px;
}

/* Pricing Section */
.pricing-card {
  background-color: white;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
  padding: 40px 30px;
}

.pricing-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.pricing-title {
  font-size: 24px;
  line-height: 1.16667;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-bottom: 8px;
  font-family: var(--font-display);
}

.pricing-price {
  font-size: 48px;
  line-height: 1.08349;
  font-weight: 600;
  letter-spacing: -0.003em;
  margin-bottom: 20px;
  color: var(--text-black);
}

.pricing-price .currency {
  font-size: 24px;
  vertical-align: top;
  position: relative;
  top: 8px;
}

.pricing-period {
  font-size: 17px;
  color: var(--text-gray);
  font-weight: 400;
}

.pricing-features {
  margin-bottom: 30px;
}

.pricing-features li {
  margin-bottom: 12px;
  display: flex;
  align-items: flex-start;
}

.pricing-features li i {
  color: var(--primary-blue);
  margin-right: 10px;
  font-size: 16px;
  margin-top: 4px;
}

.pricing-featured {
  border: 2px solid var(--primary-blue);
  transform: scale(1.05);
}

.pricing-featured:hover {
  transform: scale(1.05) translateY(-10px);
}

/* Testimonials */
.testimonial-wrapper {
  background-color: var(--light-gray);
  border-radius: 18px;
  padding: 40px;
  position: relative;
}

.testimonial-quote {
  font-size: 20px;
  line-height: 1.381;
  font-weight: 400;
  letter-spacing: 0.011em;
  margin-bottom: 20px;
  position: relative;
}

.testimonial-author {
  display: flex;
  align-items: center;
}

.testimonial-author-image {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  margin-right: 15px;
  object-fit: cover;
}

.testimonial-author-name {
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 2px;
}

.testimonial-author-title {
  font-size: 14px;
  color: var(--text-gray);
}

/* CTA Section */
.cta-section {
  background-color: var(--light-gray);
  border-radius: 20px;
  padding: 80px 60px;
  text-align: center;
  margin: 80px 0;
}

.cta-title {
  font-size: 48px;
  line-height: 1.08349;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 20px;
  text-rendering: optimizeLegibility;
  transform: translateZ(0);
  -webkit-font-smoothing: antialiased;
  font-family: var(--font-display);
}

.cta-subtitle {
  font-size: 21px;
  line-height: 1.2381;
  font-weight: 500;
  letter-spacing: normal;
  color: var(--text-gray);
  margin-bottom: 30px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  text-rendering: optimizeLegibility;
}

/* Footer */
.main-footer {
  background-color: var(--light-dark);
  padding: 40px 0;
  color: var(--text-gray);
  font-size: 13px;
}

.footer-links {
  margin-bottom: 20px;
}

.footer-links a {
  margin-right: 20px;
  font-size: 12px;
  text-decoration: none;
  /* Color is now controlled by text-light class in the HTML */
}

.footer-links a:hover {
  text-decoration: underline;
}

.footer-divider {
  width: 100%;
  height: 1px;
  background-color: rgba(134, 134, 139, 0.2);
  margin: 20px 0;
}

.footer-location {
  font-size: 12px;
  margin-bottom: 2px;
}


/* Animation & Transitions */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 992px) {
  .hero-title {
    font-size: 40px;
  }

  .hero-subtitle {
    font-size: 21px;
  }

  .section-title {
    font-size: 36px;
  }

  .section-subtitle {
    font-size: 19px;
  }

  .cta-title {
    font-size: 32px;
  }

  .cta-subtitle {
    font-size: 17px;
  }

  .pricing-featured {
    transform: scale(1);
  }

  .pricing-featured:hover {
    transform: translateY(-10px);
  }
}

@media (max-width: 576px) {
  .hero-title {
    font-size: 32px;
  }

  .hero-subtitle {
    font-size: 17px;
  }

  .cta-section {
    padding: 40px 20px;
  }
}

/* Custom Animations */
@keyframes float {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-15px);
  }
  100% {
    transform: translateY(0px);
  }
}

.float-animation {
  animation: float 4s ease-in-out infinite;
}

/* Text Gradient Effect */
.text-gradient {
  background: linear-gradient(90deg,#0055fe, #007AFF, #db3d74, #9900ff,#007AFF);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.text-blue-gradient {
  background: linear-gradient(60deg, #0055fe, #2676df,  #0472e7);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

/* Background Gradient Themes */
.bg-gradient-blue {
  background: linear-gradient(135deg, #0a84ff 0%, #0055fe 100%);
  color: white;
}

.bg-gradient-primary {
  background: linear-gradient(135deg, #0071E3 0%, #4b6cb7 100%);
  color: white;
}

.bg-primary-soft {
  background-color: rgba(0, 113, 227, 0.1);
}

/* Feature Card Styles */
.feature-card {
  transition: all 0.3s ease;
  z-index: 1;
}

.feature-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
}

.feature-hover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0;
  background: linear-gradient(to bottom, rgba(0, 113, 227, 0.03), transparent);
  transition: all 0.3s ease;
  z-index: -1;
}

.feature-card:hover .feature-hover-overlay {
  height: 100%;
}

.transition-300 {
  transition: all 0.3s ease;
}

/* Testimonial Section Styles */
.testimonial-card {
  border-left: 4px solid #0071E3;
  transition: all 0.3s ease;
}

.testimonial-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 25px rgba(0, 0, 0, 0.1) !important;
}

.testimonial-event-icon {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.testimonial-tag {
  transition: all 0.2s ease;
}

.testimonial-tag:hover {
  background-color: rgba(0, 113, 227, 0.1) !important;
}

.bg-info-soft {
  background-color: rgba(13, 202, 240, 0.1);
}

.bg-success-soft {
  background-color: rgba(25, 135, 84, 0.1);
}

.success-metric {
  transition: all 0.3s ease;
  border-top: 3px solid transparent;
}

.success-metric:hover {
  transform: translateY(-7px);
  border-top: 3px solid #0071E3;
}

/* Image overlay gradients */
.bg-gradient-to-top-dark {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 100%);
}

.bg-gradient-teal {
  background: linear-gradient(135deg, #00B4D8 0%, #0077B6 100%);
  color: white;
}

.bg-gradient-green {
  background: linear-gradient(135deg, #34C759 0%, #2A9D8F 100%);
  color: white;
}

.bg-gradient-purple {
  background: linear-gradient(135deg, #5E60CE 0%, #7400B8 100%);
  color: white;
}

.bg-gradient-sunset {
  background: linear-gradient(135deg, #FF9500 0%, #FF2D55 100%);
  color: white;
}

.bg-gradient-dark {
  background: linear-gradient(135deg, #3A3A3C 0%, #1C1C1E 100%);
  color: white;
}

.bg-gradient-light {
  background: linear-gradient(135deg, #F2F2F7 0%, #E5E5EA 100%);
  color: var(--text-black);
}

.bg-special-blue {
  background: radial-gradient(ellipse at 50% -20%, #ffffff 0%, #fff 25%, transparent 70%), radial-gradient(circle at 20% 45%, #e7d4eb 0%, #346ee7 25%, transparent 45%);
}

.bg-special-green {
  background: radial-gradient(ellipse at 50% -20%, #ffffff 0%, #fff 25%, transparent 70%), radial-gradient(circle at 20% 45%, #e7d4eb 0%, #e2f5e0 25%, transparent 45%);
}

/* Soft Background Gradients */
.bg-soft-blue {
  background: linear-gradient(135deg, rgba(10, 132, 255, 0.1) 0%, rgba(0, 85, 254, 0.05) 100%);
}

.bg-soft-green {
  background: linear-gradient(135deg, rgba(52, 199, 89, 0.1) 0%, rgba(42, 157, 143, 0.05) 100%);
}

.bg-soft-teal {
  background: linear-gradient(135deg, rgba(0, 180, 216, 0.1) 0%, rgba(0, 119, 182, 0.05) 100%);
}

/* Hero Section Background Variations */
.hero-bg-gradient-purple {
  background-color: #6a11cb;
  background-image: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
}

.hero-bg-gradient-purple .hero-overlay {
  background: linear-gradient(30deg, rgba(0, 0, 0, 0.8), rgba(106, 17, 203, 0.4) 34%, rgba(37, 117, 252, 0.2) 48%, rgba(0, 0, 0, 0) 100%) !important;
}

.hero-bg-gradient-teal {
  background-color: #0093E9;
  background-image: linear-gradient(160deg, #0093E9 0%, #80D0C7 100%);
}

.hero-bg-gradient-teal .hero-overlay {
  background: linear-gradient(30deg, rgba(0, 0, 0, 0.7), rgba(0, 147, 233, 0.4) 34%, rgba(128, 208, 199, 0.2) 48%, rgba(0, 0, 0, 0) 100%) !important;
}

.hero-bg-geometric {
  background-color: #4158D0;
  background-image: linear-gradient(43deg, #4158D0 0%, #C850C0 46%, #FFCC70 100%);
}

.hero-bg-geometric .hero-overlay {
  background: radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.7) 100%),
              url("https://eventnook.s3.amazonaws.com/assets/img/patterns/geometric-pattern.svg");
  background-size: cover, 150px 150px;
  background-blend-mode: overlay;
  opacity: 0.9;
}

.hero-bg-nebula {
  background-color: #0c0c2c;
  background-image: url("https://eventnook.s3.amazonaws.com/assets/img/backgrounds/nebula-bg.jpg");
  background-size: cover;
  background-position: center;
}

.hero-bg-nebula .hero-overlay {
  background: radial-gradient(ellipse at center, rgba(29, 43, 100, 0.9) 0%, rgba(12, 12, 44, 0.9) 100%);
}

/* Radial Gradient Mixed Backgrounds */
.hero-bg-radial-blue {
  background-color: #f5f7fa;
  position: relative;
}

.hero-bg-radial-blue .hero-overlay {
  background: radial-gradient(ellipse at 50% -20%, #ffffff 0%, #fff 25%, transparent 70%), 
              radial-gradient(circle at 20% 45%, #e7d4eb 0%, #346ee7 25%, transparent 45%);
  opacity: 1;
}

.hero-bg-radial-purple {
  background-color: #f9f9f9;
  position: relative;
}

.hero-bg-radial-purple .hero-overlay {
  background: radial-gradient(ellipse at 70% -10%, #ffffff 0%, #fff 20%, transparent 60%), 
              radial-gradient(circle at 30% 40%, #d4e7eb 0%, #6e46e7 30%, transparent 60%),
              radial-gradient(circle at 90% 90%, #ffe1e7 0%, #ff7aa8 15%, transparent 40%);
  opacity: 1;
}

.hero-bg-radial-teal {
  background-color: #f5f7fa;
  position: relative;
}

.hero-bg-radial-teal .hero-overlay {
  background: radial-gradient(ellipse at 10% -20%, #ffffff 0%, #fff 25%, transparent 65%), 
              radial-gradient(circle at 80% 30%, #d4ebdf 0%, #46e7c0 20%, transparent 50%),
              radial-gradient(circle at 40% 80%, #e7d4d4 0%, #4698e7 15%, transparent 45%);
  opacity: 1;
}

.hero-bg-particles {
  background-color: #000046;
  position: relative;
}

.hero-bg-particles .hero-overlay {
  background: linear-gradient(30deg, rgba(0, 0, 70, 0.95), rgba(0, 28, 130, 0.8) 50%, rgba(61, 101, 255, 0.7) 100%);
}

.hero-particles-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 3;
}

/* Video Background Hero Section */
.hero-bg-video {
  background-color: #000;
  position: relative;
}

.hero-bg-video .hero-overlay {
  background: linear-gradient(30deg, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0.4) 100%);
  z-index: 6;
}

.hero-video-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 4;
}

.hero-background-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translateX(-50%) translateY(-50%);
}

/* Conference Section Styles */
.conference-icon-wrapper {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: rgba(0, 113, 227, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

.conference-feature-card {
  transition: transform 0.3s ease;
  height: 100%;
}

.conference-feature-card:hover {
  transform: translateY(-5px);
}

.bg-gradient-overlay {
  background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 100%);
}

/* Diagonal Gradients */
.bg-diagonal-blue {
  background: linear-gradient(45deg, #0a84ff 0%, #00C7FF 100%);
  color: white;
}

.bg-diagonal-dark {
  background: linear-gradient(45deg, #1C1C1E 0%, #3A3A3C 100%);
  color: white;
}

/* Product Features Tabs Section */
.feature-tabs {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Nav pills overrides */
.nav-pills .nav-link {
  border-radius: 16px;
}

.feature-tab {
  display: flex;
  align-items: center;
  padding: 20px;
  border-radius: 16px !important;
  background-color: white;
  border: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
  transition: all 0.3s ease !important;
  text-align: left;
  margin-bottom: 16px;
  position: relative;
  overflow: hidden;
}

.feature-tab:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.07);
  border-color: rgba(10, 132, 255, 0.3);
}

.feature-tab::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 4px;
  background: linear-gradient(135deg, #0a84ff 0%, #0055fe 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.feature-tab:hover::before {
  opacity: 1;
}

.feature-tab.active {
  background: linear-gradient(135deg, #0a84ff 0%, #0055fe 100%);
  color: white;
  border: none;
  box-shadow: 0 10px 30px rgba(10, 132, 255, 0.3);
  transform: translateY(-4px) scale(1.03);
}

.feature-tab.active::before {
  opacity: 0;
}

.feature-tab-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
  background-color: rgba(10, 132, 255, 0.1);
  color: var(--primary-blue);
  transition: all 0.3s ease;
  margin-right: 16px;
}

.feature-tab.active .feature-tab-icon {
  background-color: rgba(255, 255, 255, 0.2);
  color: white;
  transform: scale(1.1);
}

.feature-tab-title {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 5px;
  line-height: 1.2;
  transition: all 0.3s ease;
}

.feature-tab-description {
  font-size: 14px;
  opacity: 0.8;
  margin-bottom: 0;
  font-weight: 400;
  transition: all 0.3s ease;
}

.feature-content-title {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--text-black);
  line-height: 1.2;
}

.feature-content-text {
  font-size: 17px;
  color: var(--text-gray);
  margin-bottom: 24px;
  line-height: 1.6;
}

.feature-content-list {
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 0;
}

.feature-content-list li {
  margin-bottom: 14px;
  font-size: 16px;
  color: var(--text-black);
  display: flex;
  align-items: center;
}

.feature-content-list li:last-child {
  margin-bottom: 0;
}

.feature-content-list li i {
  color: #34C759;
  margin-right: 10px;
  font-size: 18px;
}

.tab-pane {
  animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

#product-features img {
  transition: all 0.5s ease;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

#product-features img:hover {
  transform: scale(1.03);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

@media (max-width: 767.98px) {
  .feature-tab {
    padding: 15px;
    margin-bottom: 12px;
  }

  .feature-tab-icon {
    width: 40px;
    height: 40px;
    font-size: 16px;
    margin-right: 12px;
  }

  .feature-tab-title {
    font-size: 16px;
    margin-bottom: 3px;
  }

  .feature-tab-description {
    font-size: 13px;
  }

  .feature-content-title {
    font-size: 26px;
    margin-top: 20px;
    margin-bottom: 12px;
  }

  .feature-content-text {
    font-size: 15px;
    margin-bottom: 18px;
  }

  .feature-content-list li {
    font-size: 14px;
    margin-bottom: 10px;
  }
}

/* Solutions Section Styles */
.bg-gradient-soft {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9f0ff 100%);
}

.solution-card {
  background-color: rgba(255, 255, 255, 0.95);
  border-radius: 12px;
  padding: 30px;
  height: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.solution-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
  border-color: rgba(0, 126, 255, 0.2);
}

.solution-card-icon {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #0078E7, #00A3FF);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  font-size: 24px;
  color: white;
  box-shadow: 0 4px 10px rgba(0, 114, 239, 0.3);
}

.solution-card-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #1a1a1a;
}

.solution-card-description {
  color: #555;
  margin-bottom: 20px;
  line-height: 1.6;
}

.solution-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.solution-feature-list li {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  color: #444;
}

.solution-feature-list li i {
  margin-right: 10px;
  font-size: 16px;
}

.solution-icon-circle {
  width: 48px;
  height: 48px;
  background-color: rgba(255, 255, 255, 0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 18px;
  flex-shrink: 0;
}

.solution-img-container {
  position: relative;
  overflow: hidden;
  height: 180px;
}

.solution-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.solution-card:hover .solution-img {
  transform: scale(1.1);
}

.solution-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 15px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.solution-category {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  color: white;
  letter-spacing: 1px;
  background-color: rgba(10, 132, 255, 0.8);
  padding: 6px 12px;
  border-radius: 30px;
}

.solution-content {
  padding: 24px;
}

.solution-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--text-black);
}

.solution-description {
  font-size: 15px;
  color: var(--text-gray);
  margin-bottom: 16px;
  line-height: 1.6;
}

.solution-features {
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 24px;
}

.solution-features li {
  font-size: 14px;
  margin-bottom: 8px;
  color: var(--text-gray);
  display: flex;
  align-items: center;
}

.solution-features i {
  font-size: 14px;
  margin-right: 8px;
  color: var(--primary-blue);
}

.solution-btn {
  border-radius: 30px;
  font-weight: 500;
  padding: 8px 20px;
  font-size: 14px;
  transition: all 0.3s ease;
}

.solution-btn:hover {
  transform: translateX(5px);
  background-color: var(--primary-blue);
  color: white;
  border-color: var(--primary-blue);
}

.solution-btn i {
  transition: transform 0.3s ease;
}

.solution-btn:hover i {
  transform: translateX(4px);
}

@media (max-width: 991.98px) {
  .solution-img-container {
    height: 160px;
  }

  .solution-title {
    font-size: 20px;
  }

  .solution-description {
    font-size: 14px;
  }
}

/* Key Services Section Styles */
.service-card {
  border-radius: 20px;
  overflow: hidden;
  background-color: white;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
  transition: all 0.4s ease;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.service-card:hover {
  transform: translateY(-16px);
  box-shadow: 0 25px 45px rgba(0, 0, 0, 0.12);
  border-color: rgba(0, 126, 255, 0.2);
}

.service-img-container {
  position: relative;
  overflow: hidden;
  height: 260px;
}

.service-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}

.service-card:hover .service-img {
  transform: scale(1.08);
}

.service-content {
  padding: 32px;
}

.service-title {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--text-black);
  position: relative;
  padding-bottom: 16px;
}

.service-title:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--primary-blue), #4dabf7);
  border-radius: 3px;
}

.service-description {
  font-size: 16px;
  color: var(--text-gray);
  line-height: 1.7;
  margin-bottom: 16px;
}

.service-btn {
  border-radius: 30px;
  font-weight: 500;
  padding: 10px 24px;
  margin-top: 8px;
  font-size: 15px;
  transition: all 0.3s ease;
  display: inline-block;
}

.service-btn:hover {
  transform: translateX(8px);
  background-color: var(--primary-blue);
  color: white;
  border-color: var(--primary-blue);
}

.service-btn i {
  transition: transform 0.3s ease;
}

.service-btn:hover i {
  transform: translateX(5px);
}

@media (max-width: 991.98px) {
  .service-img-container {
    height: 220px;
  }

  .service-title {
    font-size: 22px;
  }

  .service-description {
    font-size: 15px;
  }
}

/* Main Services Tabs Section Styles */
.main-tabs {
  gap: 20px;
}

.main-tab-btn {
  padding: 16px 20px;
  border-radius: 16px;
  background-color: white;
  color: var(--text-black);
  border: 1px solid rgb(208, 88, 88, 0.08);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  width: 100%;
  max-width: 460px;
}

.main-tab-btn:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 30px rgb(54, 60, 236, 0.1);
  border-color: rgba(10, 132, 255, 0.2);
  background-color: rgba(10, 132, 255, 0.2);
  color: var(--text-black);
}

.main-tab-btn.active {
  background: linear-gradient(135deg, var(--primary-blue), #0055fe); 
  /* background: linear-gradient(135deg, #080817 0%, #020412 100%); */
  color: white;
  box-shadow: 0 12px 30px rgba(10, 132, 255, 0.2);
  border-color:  rgb(208, 88, 88, 0.08);
  transform: translateY(-5px);
}

.main-tab-icon {
  width: 50px;
  height: 50px;
  background: linear-gradient(45deg, #f8f9fa, white);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.05);
  font-size: 24px;
}

.main-tab-btn.active .main-tab-icon {
  background: rgba(255, 255, 255, 0.2);
  color: white;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

.main-tab-title {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 4px;
}

.main-tab-description {
  font-size: 14px;
  color: var(--text-gray);
  margin-bottom: 0;
}

.main-tab-btn.active .main-tab-title {
  color: rgba(255, 255, 255, 1);
}
.main-tab-btn.active .main-tab-description {
  color: rgba(255, 255, 255, 0.8);
}

.sub-tabs {
  background-color: white;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  gap: 12px;
}

.sub-tab {
  padding: 16px;
  border-radius: 12px;
  color: var(--text-black);
  transition: all 0.3s ease;
  border: 1px solid transparent;
}

.sub-tab:hover {
  background-color: rgba(10, 132, 255, 0.05);
  color: var(--text-black);
}

.sub-tab.active {
  background-color: rgba(10, 132, 255, 0.08);
  color: var(--primary-blue);
  border-color: rgba(10, 132, 255, 0.2);
  box-shadow: 0 6px 15px rgba(10, 132, 255, 0.08);
}

.sub-tab-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(45deg, #f8f9fa, white);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05);
  font-size: 18px;
  transition: all 0.3s ease;
}

.sub-tab.active .sub-tab-icon {
  background: linear-gradient(45deg, var(--primary-blue), #4dabf7);
  color: white;
  box-shadow: 0 6px 12px rgba(10, 132, 255, 0.15);
}

.sub-tab-title {
  text-align: left;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 2px;
}

.sub-tab-description {
  text-align: left;
  font-size: 13px;
  color: var(--text-gray);
}

.sub-content {
  background-color: white;
  background: radial-gradient(ellipse at 50% -20%, #ffffff 0%, #fff 25%, transparent 70%), radial-gradient(circle at 60% 45%, #e7d4eb 0%, #baf2f18a 25%, transparent 45%);
  border-radius: 20px;
  padding: 30px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  height: 100%;
}

.sub-content-title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--text-black);
}

.sub-content-text {
  font-size: 16px;
  color: var(--text-black);
  margin-bottom: 20px;
  line-height: 1.7;
}

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

.sub-content-list li {
  margin-bottom: 12px;
  font-size: 14px;
  color: var(--text-black);
}

@media (max-width: 991.98px) {
  .main-tabs {
    flex-direction: column;
  }

  .main-tab-btn {
    width: 100%;
    max-width: 100%;
  }

  .sub-content {
    padding: 20px;
    margin-top: 20px;
  }

  .sub-tab-title {
    font-size: 15px;
  }

  .sub-content-title {
    font-size: 22px;
  }

  .sub-content-text {
    font-size: 15px;
  }

  .sub-content-list li {
    font-size: 14px;
  }
}

/* Success Stories Page Styles */
.category-filter .nav-pills .nav-link {
  color: var(--text-gray);
  font-weight: 500;
  background-color: white;
  border-radius: 30px;
  transition: all 0.3s ease;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
}

.category-filter .nav-pills .nav-link:hover {
  background-color: rgba(10, 132, 255, 0.05);
  border-color: rgba(10, 132, 255, 0.2);
  color: var(--primary-blue);
}

.category-filter .nav-pills .nav-link.active {
  background-color: var(--primary-blue);
  color: white;
  box-shadow: 0 6px 15px rgba(10, 132, 255, 0.2);
}

.case-study-card {
  border-radius: 16px;
  overflow: hidden;
  background-color: white;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  position: relative;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.case-study-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
  border-color: rgba(0, 126, 255, 0.2);
}

.case-study-img-container {
  position: relative;
  overflow: hidden;
  height: 200px;
}

.case-study-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.case-study-card:hover .case-study-img {
  transform: scale(1.1);
}

.case-study-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 15px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.case-study-category {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  color: white;
  letter-spacing: 1px;
  background-color: rgba(10, 132, 255, 0.8);
  padding: 6px 12px;
  border-radius: 30px;
}

.case-study-video-btn {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: white;
  color: var(--primary-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  opacity: 0;
  transition: all 0.3s ease;
  border: none;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}

.case-study-video-btn i {
  font-size: 18px;
}

.case-study-card:hover .case-study-video-btn {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.case-study-content {
  padding: 24px;
}

.case-study-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--text-black);
}

.case-study-description {
  font-size: 15px;
  color: var(--text-gray);
  margin-bottom: 20px;
  line-height: 1.6;
}

.case-study-results {
  background-color: rgba(10, 132, 255, 0.05);
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 20px;
}

.case-study-stat {
  text-align: center;
}

.case-study-stat-value {
  font-size: 20px;
  font-weight: 700;
  color: var(--primary-blue);
}

.case-study-stat-label {
  font-size: 13px;
  color: var(--text-gray);
  font-weight: 500;
}

.case-study-btn {
  border-radius: 30px;
  font-weight: 500;
  padding: 8px 20px;
  font-size: 14px;
  transition: all 0.3s ease;
  display: block;
  width: 100%;
  text-align: center;
}

.case-study-btn:hover {
  background-color: var(--primary-blue);
  color: white;
  border-color: var(--primary-blue);
}

@media (max-width: 767.98px) {
  .case-study-img-container {
    height: 180px;
  }

  .case-study-title {
    font-size: 20px;
  }

  .case-study-description {
    font-size: 14px;
  }

  .case-study-stat-value {
    font-size: 18px;
  }
}

/* Separator Styles */
.separator {
  position: absolute;
  pointer-events: none;
  width: 100%;
  left: 0;
  overflow: hidden;
  line-height: 0;
}

.separator svg {
  display: block;
  width: 100%;
  height: 100px;
}

.separator-top {
  top: 0;
  margin-top: -1px;
}

.separator-bottom {
  bottom: 0;
  margin-bottom: -1px;
}

.separator-skew {
  transform: skewY(-3deg);
}

.separator-reverse-skew {
  transform: skewY(3deg);
}

.separator-curve {
  transform: none;
}

.separator-wave {
  transform: none;
}

.separator-wave-alt {
  transform: none;
}

.separator-skew-reverse {
  transform: skewY(-3deg);
}

.separator-arc {
  transform: none;
}

.separator-swoosh {
  transform: none;
}

.separator-zigzag {
  transform: none;
}

.zindex-100 {
  z-index: 100;
}

.fill-transparent {
  fill: transparent;
}

.fill-white {
  fill: white;
}

.fill-light {
  fill: #F5F5F7;
}

.fill-blue {
  fill: #0071E3;
}

.fill-primary {
  fill: #0071E3;
}

.fill-purple {
  fill: #6f42c1;
}

.fill-teal {
  fill: #EEF7FA;
}

.fill-blue {
  fill: #3b5ff9;
}

.fill-orange {
  fill: #fd7e14;
}

.fill-gradient {
  fill: url(#gradient);
}

/* New Background Gradient Colors */

/* Vibrant Gradients for UI Elements */
.bg-gradient-purple-indigo {
  background: linear-gradient(135deg, #6f42c1 0%, #4e38c2 100%);
  color: white;
}

.bg-gradient-teal-cyan {
  background: linear-gradient(135deg, #20c997 0%, #0dcaf0 100%);
  color: white;
}

.bg-gradient-coral-orange {
  background: linear-gradient(135deg, #ff6b6b 0%, #ff922b 100%);
  color: white;
}

.bg-gradient-blue-aqua {
  background: linear-gradient(135deg, #3b5ff9 0%, #38bdf8 100%);
  color: white;
}

.bg-gradient-aqua-blue {
  background: linear-gradient(87deg, #11cdef 0, #1171ef 100%);
  color: white;
}

.bg-gradient-green-lime {
  background: linear-gradient(135deg, #10b981 0%, #a3e635 100%);
  color: white;
}

/* Subtle Pastel Gradients */
.bg-gradient-pastel-blue {
  background: linear-gradient(135deg, #cfe2ff 0%, #e0efff 100%);
  color: #0a4b9f;
}

.bg-gradient-pastel-green {
  background: linear-gradient(135deg, #d1e7dd 0%, #e8f6f0 100%);
  color: #0f5132;
}

.bg-gradient-pastel-yellow {
  background: linear-gradient(135deg, #fff3cd 0%, #fff9e6 100%);
  color: #664d03;
}

.bg-gradient-pastel-red {
  background: linear-gradient(135deg, #f8d7da 0%, #f5c2c7 100%);
  color: #842029;
}

.bg-gradient-pastel-purple {
  background: linear-gradient(135deg, #e2d9f3 0%, #eee7fa 100%);
  color: #5a337a;
}

/* Dark Theme Gradients */
.bg-gradient-dark-blue {
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
  color: white;
}

.bg-gradient-dark-purple {
  background: linear-gradient(135deg, #2e1065 0%, #4c1d95 100%);
  color: white;
}

.bg-gradient-dark-green {
  background: linear-gradient(135deg, #064e3b 0%, #065f46 100%);
  color: white;
}

.bg-gradient-dark-gray {
  background: linear-gradient(135deg, #1f2937 0%, #374151 100%);
  color: white;
}

/* Multi-Color Gradients */
.bg-gradient-rainbow {
  background: linear-gradient(90deg, #ff4d4d, #f9cb28, #4dc274, #4e67eb, #b845eb);
  color: white;
}

.bg-gradient-sunset {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
  color: white;
}

.bg-gradient-ocean {
  background: linear-gradient(135deg, #0093e9 0%, #80d0c7 100%);
  color: white;
}

.bg-gradient-aurora {
  background: linear-gradient(135deg, #85FFBD 0%, #FFFB7D 100%);
  color: #1e293b;
}

/* Interactive Gradients with Hover Effects */
.bg-gradient-interactive {
  background: linear-gradient(135deg, #3b82f6 0%, #14b8a6 100%);
  transition: background 0.3s ease;
  color: white;
}

.bg-gradient-interactive:hover {
  background: linear-gradient(135deg, #14b8a6 0%, #3b82f6 100%);
}

/* Communication Tab-Specific Gradients */
.communication-tab-gradient {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  color: white;
  transition: all 0.3s ease;
}

.communication-tab-gradient:hover {
  background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(99, 102, 241, 0.4);
}

.email-campaigns-gradient {
  background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
  color: white;
  transition: all 0.3s ease;
}

.email-campaigns-gradient:hover {
  background: linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(79, 70, 229, 0.4);
}

.sms-notifications-gradient {
  background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%);
  color: white;
  transition: all 0.3s ease;
}

.sms-notifications-gradient:hover {
  background: linear-gradient(135deg, #4f46e5 0%, #2563eb 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(37, 99, 235, 0.4);
}

.messaging-center-gradient {
  background: linear-gradient(135deg, #7c3aed 0%, #c026d3 100%);
  color: white;
  transition: all 0.3s ease;
}

.messaging-center-gradient:hover {
  background: linear-gradient(135deg, #c026d3 0%, #7c3aed 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(124, 58, 237, 0.4);
}

.notification-templates-gradient {
  background: linear-gradient(135deg, #9333ea 0%, #d946ef 100%);
  color: white;
  transition: all 0.3s ease;
}

.notification-templates-gradient:hover {
  background: linear-gradient(135deg, #d946ef 0%, #9333ea 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(147, 51, 234, 0.4);
}

/* Animated Badge Showcase Styles */
.badge-showcase-container {
  margin: 3rem 0;
}

.badge-showcase-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

.badge-showcase-item {
  position: relative;
  border-radius: 15px;
  overflow: hidden;
  background: white;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  cursor: pointer;
  height: 380px;
}

.badge-showcase-item:hover {
  transform: translateY(-15px) scale(1.03);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.badge-showcase-item:hover .badge-overlay {
  opacity: 0.95;
}

.badge-showcase-item:hover .badge-details {
  transform: translateY(0);
  opacity: 1;
}

.badge-showcase-item:hover .badge-cta {
  transform: translateY(0);
  opacity: 1;
}

.badge-showcase-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.badge-showcase-item:hover .badge-showcase-image {
  transform: scale(1.1);
}

.badge-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.5) 60%, rgba(0, 0, 0, 0) 100%);
  padding: 2rem 1.5rem;
  color: white;
  transition: all 0.3s ease;
  opacity: 0.7;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.badge-title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.badge-subtitle {
  font-size: 1rem;
  opacity: 0.9;
  margin-bottom: 1rem;
}

.badge-details {
  transform: translateY(20px);
  transition: all 0.4s ease 0.1s;
  opacity: 0;
}

.badge-feature-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}

.badge-feature-list li {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
}

.badge-feature-list li i {
  margin-right: 0.5rem;
  color: #42e695;
}

.badge-cta {
  transform: translateY(20px);
  transition: all 0.4s ease 0.2s;
  opacity: 0;
}

/* Feature List Styling for Conference Registration */
.feature-list {
  list-style: none !important;
  padding: 0;
  margin: 0 0 1rem 0;
}

.feature-list li {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  font-size: 0.9rem;
  color: #555;
}

.feature-list li i {
  margin-right: 0.5rem;
  flex-shrink: 0;
}



/* Additional Participants Highlighting */
#additionalPaxSection.has-value {
  background: linear-gradient(135deg, #e8f5e8 0%, #f0f8ff 100%);
  border-radius: 8px;
  padding: 1rem;
  border: 2px solid var(--success-green);
  box-shadow: 0 2px 8px rgba(52, 199, 89, 0.15);
  transition: all 0.3s ease;
}

/* Input field focus enhancements */
.form-control:focus {
  border-color: var(--primary-blue);
  box-shadow: 0 0 0 0.2rem rgba(0, 113, 227, 0.25);
}

/* Feature card list styling */
.feature-card ul.small {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.85rem;
}

.feature-card ul.small li {
  position: relative;
  padding-left: 15px;
  margin-bottom: 0.4rem;
  line-height: 1.4;
  color: #555;
}

.feature-card ul.small li:before {
  content: "•";
  position: absolute;
  left: 0;
  color: #4a77e5;
  font-weight: bold;
}

/* Feature card improvements */
.feature-card {
  padding: 1.5rem;
  border-radius: 12px;
  background-color: white;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
}

.feature-card:hover {
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  transform: translateY(-5px);
}

.feature-card-icon {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6e8efb, #4a77e5);
  color: white;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
}

.feature-card h4 {
  font-size: 1.2rem;
  margin-bottom: 0.75rem;
  color: #333;
}

.feature-card p {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 1rem;
  line-height: 1.5;
}

/* Customer Page Styles */
.customer-category-card {
  padding: 2rem;
  border-radius: 12px;
  background-color: white;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
  text-align: center;
}

.customer-category-card:hover {
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  transform: translateY(-5px);
}

.category-icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 1.5rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #6e8efb, #4a77e5);
  color: white;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.customer-category-card h4 {
  font-size: 1.4rem;
  margin-bottom: 1rem;
  color: #333;
}

.customer-category-card p {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.6;
}

.customer-logo {
  max-height: 60px;
  opacity: 0.8;
  transition: all 0.3s ease;
  filter: grayscale(100%);
}

.customer-logo:hover {
  opacity: 1;
  transform: scale(1.05);
  filter: grayscale(0%);
}

/* Customer Logos - Client Images */
.img-client {
  max-height: 80px;
  width: auto;
  object-fit: contain;
  opacity: 1;
  transition: all 0.3s ease;
  filter: none;
  margin-bottom: 1.5rem;
  padding: 0.25rem;
}

.img-client:hover {
  transform: scale(1.08);
  box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.partners-logoset {
  margin-bottom: 2.5rem;
  background-color: #fff;
  border-radius: 10px;
  padding: 2rem 1rem;
  box-shadow: 0 2px 15px rgba(0,0,0,0.1);
}

.partners-logoset h4 {
  font-size: 1.3rem;
  color: #333;
  margin-top: 1rem;
  font-weight: 600;
  position: relative;
  padding-left: 1rem;
}

.partners-logoset h4:before {
  content: '';
  width: 5px;
  height: 20px;
  background: linear-gradient(135deg, #6e8efb, #4a77e5);
  position: absolute;
  left: 0;
  top: 5px;
  border-radius: 3px;
}

.partners-logoset hr {
  width: 100%;
  border-color: #f2f2f2;
  margin-bottom: 1.5rem;
}

.partners-container {
  background-color: transparent;
  padding: 2rem 0;
  border-radius: 12px;
}

.partners-section-title {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: #3366cc;
  position: relative;
  display: inline-block;
}

.partners-section-title:after {
  content: '';
  position: absolute;
  width: 60%;
  height: 3px;
  background: linear-gradient(90deg, #3366cc, transparent);
  bottom: -10px;
  left: 0;
  border-radius: 2px;
}

.testimonial-card {
  padding: 2rem;
  border-radius: 12px;
  background-color: white;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
  transition: all 0.3s ease;
}

.testimonial-card:hover {
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.testimonial-content {
  font-style: italic;
  color: #555;
  margin-bottom: 1.5rem;
  position: relative;
  padding: 0 0.5rem;
}

.testimonial-content:before {
  content: """;
  font-size: 4rem;
  position: absolute;
  top: -2rem;
  left: -1rem;
  color: rgba(74, 119, 229, 0.1);
  font-family: serif;
}

.testimonial-author {
  display: flex;
  align-items: center;
}

.testimonial-avatar {
  width: 50px;
  height: 50px;
  margin-right: 1rem;
  overflow: hidden;
  border-radius: 50%;
  border: 2px solid #4a77e5;
}

.testimonial-info h5 {
  margin-bottom: 0.25rem;
  color: #333;
}

.testimonial-info p {
  margin: 0;
  font-size: 0.85rem;
  color: #777;
}

.badge-cta-button {
  display: inline-block;
  background: linear-gradient(135deg, #6e8efb, #a777e3);
  color: white;
  border: none;
  padding: 0.7rem 1.5rem;
  border-radius: 30px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}

/* Suitable For Card Styles */
.suitable-events-card {
    background: linear-gradient(135deg, #e0f7fa 0%, #b2ebf2 100%);
    border-left: 4px solid #00acc1;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    padding: 1.25rem;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    color: #333;
    font-weight: 500;
}

.suitable-events-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    background: linear-gradient(135deg, #b2ebf2 0%, #80deea 100%);
}

.suitable-events-card::before {
    content: "Ideal For";
    position: absolute;
    top: 0;
    right: 0;
    background: #00acc1;
    color: white;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.75rem;
    border-bottom-left-radius: 8px;
}

.suitable-events-card strong {
    color: #00838f;
    font-weight: 600;
    display: block;
    margin-bottom: 0.5rem;
}


/* Solutions Section Background Styles */
#solutions-section {
  background-color: #007bff;
  background:radial-gradient(ellipse at 50% -20%, #ffffff 0%, #fff 25%, transparent 70%), radial-gradient(circle at 20% 45%, #F9E4FE 0%, #77b4ee36 25%, transparent 45%);
  color: #333;
  position: relative;
}

#solutions-section > * {
  position: relative;
  z-index: 2;
}


/* Event Type Badges */
.event-types-container {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-start;
  max-width: 100%;
}

.event-type-badge {
  background-color: rgba(255, 255, 255, 0.65);
  color: #333;
  padding: 5px 8px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  transition: all 0.25s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.05);
  white-space: nowrap;
}

.event-type-badge i {
  font-size: 0.85rem;
  margin-right: 4px;
  color: #0071E3;
}

.event-type-badge span {
  font-size: 0.73rem;
}

.event-type-badge:hover {
  background-color: rgba(255, 255, 255, 0.9);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
  color: #0071E3;
}

@media (max-width: 768px) {
  .event-types-container {
    flex-wrap: wrap;
  }
  
  .event-type-badge {
    font-size: 0.75rem;
    padding: 5px 8px;
  }
  
  .event-type-badge i {
    font-size: 0.8rem;
  }
}

/* New Single-Row Tabs Styling */
.main-tabs-row {
  gap: 8px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
  overflow-x: visible;
  padding: 20px 0;
  margin: 0 auto;
  max-width: 95%;
}

.main-tabs-row .nav-item {
  width: 24%;
  max-width: 260px;
  min-width: 190px;
  flex-shrink: 0;
  margin: 0 2px;
}

.main-tabs-row .main-tab-btn {
  padding: 12px 15px;
  width: 100%;
  height: 100%;
  min-width: 180px;
  max-width: 100%;
  border-color: #afd7ea;
}

.main-tabs-row .main-tab-icon {
  width: 42px;
  height: 42px;
  min-width: 42px;
  font-size: 20px;
}

.main-tabs-row .main-tab-title {
  font-size: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.main-tabs-row .main-tab-description {
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 992px) {
  .main-tabs-row {
    flex-wrap: wrap;
  }
  
  .main-tabs-row .nav-item {
    width: 80%;
    min-width: 150px;
  }
}

/* Conference Registration Page Styles */

/* Hero Section Stats */
.hero-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.15);
  padding: 10px 20px;
  border-radius: 8px;
}

.hero-stat-value {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 2px;
}

.hero-stat-label {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Feature Section Styles */
.feature-tag-container {
  position: absolute;
  top: 20px;
  right: 20px;
}

.feature-tag {
  background-color: #fff;
  color: var(--primary-blue);
  font-weight: 600;
  padding: 5px 15px;
  border-radius: 30px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.feature-icon-large {
  width: 50px;
  height: 50px;
  min-width: 50px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.feature-quote {
  background-color: #f8f9fa;
  border-left: 4px solid var(--primary-blue);
  padding: 15px;
  border-radius: 0 8px 8px 0;
  position: relative;
}

.feature-quote p {
  font-style: italic;
  margin-bottom: 5px;
}

.feature-quote-author {
  font-size: 14px;
  color: #6c757d;
}

.feature-stat-overlay {
  position: absolute;
  top: 15px;
  left: 15px;
  background-color: rgba(0, 0, 0, 0.7);
  padding: 10px 15px;
  border-radius: 8px;
}

.feature-stat-value {
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

.feature-stat-label {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.8);
}

.feature-metrics {
  background-color: #f8f9fa;
  padding: 15px;
  border-radius: 8px;
}

.feature-metric {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.feature-metric-value {
  font-size: 20px;
  font-weight: 700;
  color: var(--primary-blue);
}

.feature-metric-label {
  font-size: 12px;
  color: #6c757d;
}

.badge-example-overlay {
  position: absolute;
  bottom: -30px;
  right: 20px;
  width: 120px;
  height: 180px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  border: 4px solid white;
}

.badge-example-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.badge-options {
  background-color: #f8f9fa;
  padding: 12px;
  border-radius: 8px;
}

.badge-option-label {
  font-weight: 600;
  font-size: 14px;
}

.badge-option {
  display: inline-block;
  background-color: #e9ecef;
  color: #495057;
  padding: 4px 12px;
  border-radius: 30px;
  font-size: 12px;
  margin-bottom: 5px;
}

.feature-card {
  background-color: white;
  border-radius: 12px;
  padding: 25px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.feature-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.feature-card-icon {
  width: 60px;
  height: 60px;
  background-color: rgba(0, 113, 227, 0.1);
  color: var(--primary-blue);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 20px;
}

/* Service Card Styles */
.service-card {
  background-color: white;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
  border: 1px solid #eaeaea;
  color: #212529;
}

.service-card:hover {
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
  transform: translateY(-5px);
}

.service-card-flag {
  position: absolute;
  top: 0;
  right: 30px;
  background-color: var(--primary-blue);
  color: white;
  padding: 5px 15px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 0 0 8px 8px;
}

.service-card-icon {
  width: 70px;
  height: 70px;
  background-color: rgba(0, 113, 227, 0.1);
  color: var(--primary-blue);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin-bottom: 20px;
}

.service-card-title {
  margin-bottom: 15px;
  font-weight: 700;
}

.service-features {
  margin: 20px 0;
}

.service-feature {
  margin-bottom: 10px;
  color: #495057;
}

.service-feature i {
  color: var(--primary-blue);
}

.service-quote {
  background-color: #f8f9fa;
  padding: 15px;
  border-radius: 8px;
  margin: 20px 0;
  position: relative;
  font-style: italic;
}

.service-quote-author {
  display: flex;
  align-items: center;
  margin-top: 10px;
}

.service-quote-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 10px;
}

.service-quote-name {
  font-weight: 600;
  font-size: 14px;
}

.service-quote-title {
  font-size: 12px;
  color: #6c757d;
}

.service-metric {
  text-align: center;
}

.service-metric-value {
  font-size: 22px;
  font-weight: 700;
  color: var(--primary-blue);
}

.service-metric-label {
  font-size: 12px;
  color: #6c757d;
}

.service-availability {
  margin-top: 20px;
}

.service-availability-title {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 10px;
}

.service-availability-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.service-availability-tag {
  background-color: #e9ecef;
  color: #495057;
  padding: 4px 12px;
  border-radius: 30px;
  font-size: 12px;
}

.callout-box {
  background-color: white;
  border-radius: 12px;
  padding: 25px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border-left: 5px solid var(--primary-blue);
}

.star-rating {
  color: #FFBA00;
}

/* Case Study Cards */
.case-study-card {
  background-color: white;
  color: #212529;
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.premium-case-study {
  border: 1px solid rgba(0, 113, 227, 0.3);
}

.case-study-header {
  background-color: var(--primary-blue);
  color: white;
  padding: 8px 15px;
  text-align: center;
  font-weight: 600;
  font-size: 14px;
}

.case-study-featured-tag {
  letter-spacing: 1px;
}

.case-study-image-container {
  position: relative;
  height: 100%;
}

.case-study-logo {
  position: absolute;
  bottom: 15px;
  left: 15px;
  width: 50px;
  height: 50px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.case-study-title {
  font-weight: 700;
  margin-bottom: 10px;
}

.case-study-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 13px;
  color: #6c757d;
}

.case-study-meta-item {
  display: inline-flex;
  align-items: center;
}

.case-study-challenge {
  background-color: rgba(255, 193, 7, 0.1);
  padding: 10px;
  border-radius: 8px;
}

.challenge-label {
  font-weight: 600;
  color: #856404;
  margin-bottom: 5px;
}

.case-study-results {
  background-color: #f8f9fa;
  padding: 12px;
  border-radius: 8px;
}

.result-metric {
  text-align: center;
}

.result-value {
  font-size: 18px;
  font-weight: 700;
  color: var(--primary-blue);
  display: block;
}

.result-label {
  font-size: 12px;
  color: #6c757d;
  display: block;
}

/* Trusted Section */
.trusted-logo-wrapper {
  background-color: white;
  padding: 15px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.trusted-logo-wrapper:hover {
  transform: scale(1.05);
}

.trusted-metric {
  background-color: white;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  text-align: center;
}

.trusted-metric-value {
  font-size: 36px;
  font-weight: 700;
  color: var(--primary-blue);
  margin-bottom: 10px;
}

.trusted-metric-label {
  color: #6c757d;
  font-weight: 500;
}

/* CTA Section */
.cta-graphics-element-top {
  position: absolute;
  top: 0;
  right: 0;
  width: 150px;
  height: 150px;
  background: linear-gradient(45deg, rgba(0,113,227,0.2), rgba(0,192,255,0.2));
  border-radius: 0 0 0 100%;
}

.cta-graphics-element-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 200px;
  height: 200px;
  background: linear-gradient(45deg, rgba(0,113,227,0.15), rgba(0,192,255,0.15));
  border-radius: 0 100% 0 0;
}

.cta-boxes {
  margin: 30px 0;
}

.cta-box {
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 25px;
  height: 100%;
  text-align: center;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.cta-box:hover {
  transform: translateY(-5px);
  background-color: rgba(255, 255, 255, 0.15);
}

.cta-box.highlighted {
  background-color: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.3);
  position: relative;
  transform: translateY(-5px);
}

.cta-box-badge {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--primary-blue);
  color: white;
  padding: 5px 15px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.cta-box-icon {
  width: 60px;
  height: 60px;
  background-color: rgba(255, 255, 255, 0.2);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin: 0 auto 20px;
}

.cta-box h5 {
  color: white;
  margin-bottom: 10px;
}

.cta-box p {
  color: rgba(255, 255, 255, 0.8);
}

.cta-guarantee {
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  margin-top: 20px;
}

/* Additional colors */
.bg-purple {
  background-color: #6f42c1 !important;
}

.text-purple {
  color: #6f42c1 !important;
}

.btn-outline-purple {
  color: #6f42c1;
  border-color: #6f42c1;
}

.btn-outline-purple:hover {
  color: #fff;
  background-color: #6f42c1;
  border-color: #6f42c1;
}

/* Responsive adjustments */
@media (max-width: 767px) {
  .hero-stat {
    margin-bottom: 10px;
  }
  
  .feature-tag-container,
  .feature-stat-overlay,
  .badge-example-overlay {
    display: none;
  }
  
  .service-card,
  .case-study-card {
    margin-bottom: 20px;
  }
  
  .trusted-metric {
    margin-bottom: 15px;
  }
  
  .cta-boxes {
    margin: 20px 0;
  }
  
  .cta-box {
    margin-bottom: 15px;
  }
}

/* Text color classes for radial gradient hero sections */
.text-purple {
  color: #6e46e7 !important;
}

.text-teal {
  color: #46e7c0 !important;
}

/* Button styles for radial gradient hero sections */
.btn-purple {
  background-color: #6e46e7;
  border-color: #6e46e7;
  color: #fff;
}

.btn-purple:hover {
  background-color: #5e39cc;
  border-color: #5e39cc;
  color: #fff;
}

.btn-teal {
  background-color: #46e7c0;
  border-color: #46e7c0;
  color: #fff;
}

.btn-teal:hover {
  background-color: #39ccaa;
  border-color: #39ccaa;
  color: #fff;
}

/* Informal testimonials */
.informal-testimonial {
  padding: 1.5rem;
  border-radius: 12px;
  background-color: #f8fbff;
  border-left: 4px solid #4a77e5;
  margin-bottom: 1.5rem;
  position: relative;
  transition: all 0.25s ease;
}

.informal-testimonial:hover {
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.informal-testimonial p {
  font-style: italic;
  color: #555;
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 0.5rem;
  position: relative;
  z-index: 1;
}

.informal-testimonial p::before {
  content: """;
  font-size: 3rem;
  color: rgba(74, 119, 229, 0.1);
  position: absolute;
  top: -1.5rem;
  left: -1rem;
  z-index: -1;
}

.informal-testimonial-source {
  display: flex;
  align-items: center;
  margin-top: 1rem;
}

.informal-testimonial-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #4a77e5;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.75rem;
  flex-shrink: 0;
  font-size: 0.75rem;
}

.informal-testimonial-icon.email {
  background-color: #6e46e7;
}

.informal-testimonial-icon.whatsapp {
  background-color: #25D366;
}

.informal-testimonial-meta {
  display: flex;
  flex-direction: column;
}

.informal-testimonial-company {
  font-weight: 600;
  font-size: 0.85rem;
  color: #333;
}

.informal-testimonial-role {
  font-size: 0.8rem;
  color: #777;
}

.informal-testimonials-container {
  padding: 2rem;
  background: linear-gradient(to bottom right, #f9faff, #f1f5ff);
  border-radius: 16px;
  margin: 2rem 0;
}

.informal-testimonials-title {
  margin-bottom: 2rem;
  position: relative;
  display: inline-block;
  font-weight: 700;
}

.informal-testimonials-title:after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  height: 3px;
  width: 60px;
  background: linear-gradient(to right, #4a77e5, #6e46e7);
  border-radius: 3px;
}

/* Registration Feature Card Hover Effect */
.registration-feature {
  transition: all 0.3s ease;
  cursor: pointer;
}

.registration-feature:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(13, 110, 253, 0.1) !important;
  border-color: rgba(13, 110, 253, 0.3) !important;
  background-color: #f8fbff !important;
}

.registration-feature:hover .feature-icon-wrapper {
  background-color: rgba(13, 110, 253, 0.2) !important;
}

.registration-feature:hover .feature-title {
  background: linear-gradient(90deg, #0055fe, #2d98fa) !important;
  -webkit-background-clip: text !important;
}

/* Feature Title Consistent Styling */
.feature-title {
  font-size: 1.15rem !important;
  font-weight: 600;
  background: linear-gradient(90deg, #0d6efd, #2d98fa);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.01em;
}

/* Ribbon Elements */
.ribbon-popular {
    width: 120px;
    height: 120px;
    overflow: hidden;
    position: absolute;
}
.ribbon-popular span {
    position: absolute;
    display: block;
    width: 160px;
    padding: 8px 0;
    background-color: #28a745;
    box-shadow: 0 5px 10px rgba(0,0,0,.1);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    text-shadow: 0 1px 1px rgba(0,0,0,.2);
    text-transform: uppercase;
    text-align: center;
    transform: rotate(-45deg);
    left: -40px;
    top: 26px;
}

.ribbon-tab {
    display: inline-block;
    position: relative;
    background-color: #28a745;
    color: white;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 8px;
    margin-left: 8px;
    border-radius: 3px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    animation: pulse 2s infinite;
}

.ribbon-tab:before {
    content: "";
    position: absolute;
    left: -4px;
    top: 50%;
    transform: translateY(-50%);
    border-right: 4px solid #28a745;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.4);
    }
    70% {
        box-shadow: 0 0 0 5px rgba(40, 167, 69, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(40, 167, 69, 0);
    }
}


/* old style to support*/
.section-hero {
  display: block;
  padding-top: 8rem;
  padding-bottom: 8rem;
  background: linear-gradient(-60deg,transparent,#007bff 34%,#008aff 28%,#0ab9cf 100%,rgba(0,196,204,0)) !important;
  background: linear-gradient(-60deg,transparent,#007bff 34%,#008aff 28%,#0a48b3 100%,rgba(0,196,204,0)) !important;
}

  .section-hero .display-1, .display-2, .display-3 {
      font-family: DM Sans', Lora, 'Open Sans', sans-serif, Arial, Helvetica;
  }

.section-shaped {
  position: relative;
}
.section-hero .separator {
  display: none !important;
}
.section-hero .separator {
  position: absolute;
  z-index: 1;
  top: auto;
  right: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 150px;
  transform: translateZ(0);
  pointer-events: none;
}

  .section-hero .separator svg {
      position: absolute;
      pointer-events: none;
  }

.section-hero .separator-top {
  top: 0;
  bottom: auto;
}

  .section-hero .separator-top svg {
      top: 0;
  }

.section-hero .separator-bottom {
  top: auto;
  bottom: 0;
}

  .section-hero .separator-bottom svg {
      bottom: 0;
  }

.section-hero .separator-inverse {
  transform: rotate(180deg);
}

.section-hero .separator-skew {
  height: 60px;
}

/* Floating Navigation */
.floating-nav {
  position: fixed;
  right: 15px;
  top: 40%;
  transform: translateY(-50%);
  z-index: 1000;
}

.floating-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.floating-nav li {
  margin: 0;
}

.floating-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: white;
  color: var(--primary-blue);
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
  font-size: 18px;
}

.floating-nav-item small {
  font-size: 10px;
  margin-top: 3px;
  font-weight: 600;
  line-height: 1;
  opacity: 0;
  transform: translateY(5px);
  transition: all 0.2s ease;
}

.floating-nav-item:hover {
  background: var(--primary-blue);
  color: white;
}

.floating-nav-item:hover small {
  opacity: 1;
  transform: translateY(0);
}

/* Hide text on mobile */
@media (max-width: 768px) {
  .floating-nav-item {
    width: 40px;
    height: 40px;
    font-size: 16px;
  }
  
  .floating-nav-item small {
    display: none;
  }
}
