/* :root
/*
/*------------------------------------------------*/
:root {
  --bs-white: #ffffff;
  --bs-black: #000000;
  --bs-pg-spc: var(--bs-spc);
  --dark-50: #fafafa;
  --dark-100: #f3f3f3;
  --dark-200: #e7e7e8;
  --dark-300: #d3d3d4;
  --dark-350: #c2c2c3;
  --dark-400: #a2a2a4;
  --dark-450: #8f8f91;
  --dark-500: #747477;
  --dark-600: #515155;
  --dark-700: #404044;
  --dark-800: #25252a;
  --dark-900: #16161c;
  --dark-950: #0a0a1a;
}

:root,
[data-bs-theme=light] {
  /* light theme */
  --bs-secondary-color: var(--dark-600);
  --bs-tertiary-color: var(--dark-500);
}

[data-bs-theme=dark] {
  /* dark theme */
  --bs-secondary-color: var(--dark-300);
  --bs-tertiary-color: var(--dark-400);
}

/* .page-*
/*
/*------------------------------------------------*/
.page-header,
.page-content {
  margin-top: var(--bs-pg-spc, 1rem);
  margin-bottom: var(--bs-pg-spc, 1rem);
  margin-top: var(--bs-pg-spc, 1rem);
  margin-bottom: var(--bs-pg-spc, 1rem);
}
@media (min-width: 576px) {
  .page-header,
  .page-content {
    margin-top: var(--bs-pg-spc, 1rem);
    margin-bottom: var(--bs-pg-spc, 1rem);
  }
}
@media (min-width: 768px) {
  .page-header,
  .page-content {
    margin-top: var(--bs-pg-spc, 1rem);
    margin-bottom: var(--bs-pg-spc, 1rem);
  }
}
@media (min-width: 1024px) {
  .page-header,
  .page-content {
    margin-top: var(--bs-pg-spc, 1rem);
    margin-bottom: var(--bs-pg-spc, 1rem);
  }
}
@media (min-width: 1280px) {
  .page-header,
  .page-content {
    margin-top: var(--bs-pg-spc, 1rem);
    margin-bottom: var(--bs-pg-spc, 1rem);
  }
}
@media (min-width: 1440px) {
  .page-header,
  .page-content {
    margin-top: var(--bs-pg-spc, 1rem);
    margin-bottom: var(--bs-pg-spc, 1rem);
  }
}
.page-header > * + *,
.page-content > * + * {
  margin-top: 0;
  margin-top: 0;
}
@media (min-width: 576px) {
  .page-header > * + *,
  .page-content > * + * {
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  .page-header > * + *,
  .page-content > * + * {
    margin-top: 0;
  }
}
@media (min-width: 1024px) {
  .page-header > * + *,
  .page-content > * + * {
    margin-top: 0;
  }
}
@media (min-width: 1280px) {
  .page-header > * + *,
  .page-content > * + * {
    margin-top: 0;
  }
}
@media (min-width: 1440px) {
  .page-header > * + *,
  .page-content > * + * {
    margin-top: 0;
  }
}
.page-header > *[class*=has-bg] + *,
.page-content > *[class*=has-bg] + * {
  margin-top: 4rem;
}

/* .layout-*
/*
/*------------------------------------------------*/
.layout-sctn > * {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.layout-sctn [data-block=body] > * + * {
  margin-top: var(--bs-spc, 1rem);
}

.layout-fill .row {
  height: 100%;
}
.layout-fill [data-col] {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* .sctn-*
/*
/*------------------------------------------------*/
.sctn-label {
  font-size: 2rem;
  font-weight: 500;
  color: var(--bs-tertiary-color);
}

/* .frame-*
/*
/*------------------------------------------------*/
[data-frame].reference {
  padding-left: 0;
  padding-right: 0;
}

.frame-fill {
  display: flex;
  justify-content: center;
  height: 100%;
}

.frame-align-end {
  align-items: flex-end;
}
.frame-align-middle {
  align-items: center;
}

.frame-tile .frame-row {
  height: 100%;
}

.frame-quote {
  padding-top: 2rem;
  border-top: 1px solid var(--bs-dark-border);
}
.frame-quote blockquote::before,
.frame-quote .blockquote::before {
  display: none;
}
.frame-quote blockquote > *:first-child,
.frame-quote .blockquote > *:first-child {
  margin-top: 0;
  padding-top: 0;
  border: none;
}
.frame-quote blockquote .text-blockquote,
.frame-quote .blockquote .text-blockquote {
  font-size: 1.25rem;
  font-size: 1.25rem;
}
@media (min-width: 576px) {
  .frame-quote blockquote .text-blockquote,
  .frame-quote .blockquote .text-blockquote {
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .frame-quote blockquote .text-blockquote,
  .frame-quote .blockquote .text-blockquote {
    font-size: 1.25rem;
  }
}
@media (min-width: 1024px) {
  .frame-quote blockquote .text-blockquote,
  .frame-quote .blockquote .text-blockquote {
    font-size: 1.25rem;
  }
}
@media (min-width: 1280px) {
  .frame-quote blockquote .text-blockquote,
  .frame-quote .blockquote .text-blockquote {
    font-size: 1.25rem;
  }
}
@media (min-width: 1440px) {
  .frame-quote blockquote .text-blockquote,
  .frame-quote .blockquote .text-blockquote {
    font-size: 1.25rem;
  }
}
.frame-quote .rounded {
  border-radius: 0;
}

/* .block-*
/*
/*------------------------------------------------*/
@media (min-width: 576px) {
  .block-body-row [data-block=body] {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: var(--bs-spc);
  }
  .block-body-row [data-block=body] > * + * {
    margin-top: 0;
  }
}
.block-body-space-between [data-block=body] {
  justify-content: space-between;
}

/* misc
/*
/*------------------------------------------------*/
.divider {
  margin-top: 0;
  margin-bottom: 0;
}

/* Utilities
/*
/*------------------------------------------------*/
.has-align-items > .frame-inner > .frame-row {
  height: 100%;
}
