html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  font-family: var(--xena-font-sans);
  font-size: var(--xena-font-size-medium);
  font-weight: var(--xena-font-weight-normal);
  letter-spacing: var(--xena-letter-spacing-normal);
  color: var(--xena-font-color);
  line-height: var(--xena-line-height-normal);
}

a {
  color: var(--xena-color-blue-500);
}

strong {
  font-weight: var(--xena-font-weight-bold);
}

/* Sidebar */
.sidebar {
  background: var(--xena-color-white);
  border-right: solid 1px var(--xena-color-gray-200);
}

.sidebar .app-name {
  padding: 0 1.5rem;
  margin-top: 1.5rem;
}

.sidebar-version {
  font-size: var(--xena-font-size-x-small);
  font-weight: var(--xena-font-weight-normal);
  color: var(--xena-color-gray-400);
  text-align: right;
  padding: 0 var(--xena-spacing-small);
  margin: -1.25rem 0 0.6rem 0;
}

.sidebar-buttons {
  text-align: center;
  margin-top: 0;
}

/* Search */
.sidebar .search {
  position: relative;
  border: none;
}

.sidebar .search input[type='search'] {
  border: solid 1px var(--xena-input-border-color);
  border-radius: var(--xena-border-radius-pill);
  padding-left: 1rem;
  padding-right: 2rem;
  margin: 0 1.25rem;
  transition: var(--xena-transition-fast) color, var(--xena-transition-fast) border,
    var(--xena-transition-fast) box-shadow;
}

.sidebar .search input[type='search']:hover {
  border-color: var(--xena-input-border-color-hover);
}

.sidebar .search input[type='search']:focus {
  box-shadow: var(--xena-focus-ring-box-shadow);
  border-color: var(--xena-input-border-color-focus);
  outline: none;
}

.sidebar .input-wrap {
  position: relative;
  width: 100%;
  padding: 0 0.25rem;
}

.sidebar .clear-button {
  position: absolute;
  right: 30px;
  top: 7px;
  width: 22px !important;
  height: 22px !important;
}

.sidebar .clear-button svg {
  transform: scale(0.75) !important;
}

.sidebar .clear-button:focus {
  outline: none;
}

.search .results-panel {
  margin-top: 1rem;
}

.search .matching-post {
  border-bottom: solid 1px var(--xena-color-gray-50) !important;
  padding: 0.25rem 1.5rem;
}

.search .matching-post a {
  display: block;
  border-radius: inherit;
  padding: 0.5rem;
}

.search .matching-post h2 {
  margin-bottom: 0;
}

.search .matching-post p {
  margin-top: 0;
}

/* Sidebar toggle */
.sidebar-toggle {
  top: 0.25rem;
  left: 0.25rem;
  width: 2rem;
  height: 2rem;
  border-radius: var(--xena-border-radius-medium);
  padding: 0.5rem;
}

.sidebar-toggle:focus {
  outline: none;
  box-shadow: var(--xena-focus-ring-box-shadow);
}

.sidebar-toggle span:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  body.close .sidebar-toggle {
    width: 2rem;
    background: none;
    padding: 0.5rem;
  }
}

/* Sidebar nav */
.sidebar-nav {
  padding: 0 1rem;
}

.sidebar-nav li {
  line-height: 1;
  padding: 0;
}

.sidebar-nav a {
  color: inherit;
  text-decoration: none;
  line-height: 1.5em;
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}

.sidebar-nav li.collapse > a,
.sidebar-nav li.active > a {
  color: var(--xena-color-blue-500);
}

.sidebar li > p {
  font-weight: var(--xena-font-weight-semibold);
  border-bottom: solid 1px var(--xena-color-gray-100);
  padding-bottom: 0.5rem;
  font-size: var(--xena-font-size-large);
  margin: 0 0.75rem 0.5rem 0;
}

.sidebar ul li ul {
  padding-left: 0.5rem;
  margin: 0 0.75rem 1.5rem 0;
}

.sidebar ul ul ul {
  padding: 0;
  margin: 0 0 0 0.5rem;
}

.sidebar ul ul ul li {
  list-style: disc;
  margin-left: 1.5rem;
}

/* Splash */
.splash {
  display: flex;
  padding-top: 2rem;
}

.splash-start {
  min-width: 420px;
}

.splash-end {
  display: flex;
  align-items: flex-end;
  width: auto;
  padding-left: 1rem;
}

.splash-image {
  width: 100%;
  height: auto;
}

.splash-logo {
  max-width: 22rem;
}

@media screen and (max-width: 1040px) {
  .splash {
    display: block;
  }

  .splash-start {
    min-width: 0;
    padding-bottom: 1rem;
  }

  .splash-end {
    padding: 0;
  }

  .splash-image {
    display: block;
    max-width: 400px;
  }

  /* Shields */
  .splash + p {
    margin-top: 2rem;
  }
}

/* Content */
.content {
  padding-top: 0;
}

.markdown-section {
  max-width: 860px;
}

.markdown-section blockquote {
  position: relative;
  border-left: solid 4px var(--xena-color-gray-100);
  font-style: italic;
  padding: 1rem 1.5rem;
  margin: 0 0 1rem 0;
}

.markdown-section blockquote p:first-child {
  margin-top: 0;
}

.markdown-section blockquote p:last-child {
  margin-bottom: 0;
}

.markdown-section ul {
  padding: 0 0 0 1.5rem;
  margin: 0;
}

.docsify-pagination-container {
  border-top-color: var(--xena-color-gray-100) !important;
}

.markdown-section h1,
.markdown-section h2,
.markdown-section h3,
.markdown-section h4,
.markdown-section h5,
.markdown-section h6 {
  font-weight: var(--xena-font-weight-normal);
  margin: 2em 0 1em 0;
}

.markdown-section h1 {
  font-size: var(--xena-font-size-xx-large);
  font-weight: var(--xena-font-weight-bold);
}

.markdown-section h2 {
  font-size: var(--xena-font-size-x-large);
  border-bottom: solid 1px var(--xena-color-gray-100);
  margin-top: 2rem;
}

.markdown-section h3 {
  font-size: var(--xena-font-size-large);
}

.markdown-section h4 {
  font-size: var(--xena-font-size-medium);
}

.markdown-section h5 {
  font-size: var(--xena-font-size-small);
}

.markdown-section h6 {
  font-size: var(--xena-font-size-x-small);
}

.markdown-section pre {
  font-family: var(--xena-font-mono);
}

.markdown-section h1:first-of-type {
  margin-bottom: 0;
}

.markdown-section code {
  font-family: var(--xena-font-mono);
  font-size: 87.5%;
  background: var(--xena-color-gray-100);
  border-radius: var(--xena-border-radius-small);
  padding: 2px 4px;
}

.markdown-section kbd {
  font-family: var(--xena-font-mono);
  font-size: 87.5%;
  border-radius: var(--xena-border-radius-small);
  border: solid 1px var(--xena-color-gray-100);
  padding: 2px 4px;
}

/* Code blocks */
.markdown-section pre {
  position: relative;
  background: var(--xena-color-gray-50);
  border-radius: var(--xena-border-radius-medium);
}

.markdown-section pre > code {
  display: block;
  background: none;
  border-radius: 0;
  color: var(--xena-color-gray-700);
  padding: var(--xena-spacing-medium);
  overflow: auto;
  hyphens: none;
  tab-size: 2;
}

.markdown-section pre .token.comment {
  color: var(--xena-color-gray-300);
}

.markdown-section pre .token.prolog,
.markdown-section pre .token.doctype,
.markdown-section pre .token.cdata,
.markdown-section pre .token.operator {
  color: var(--xena-color-gray-600);
}

.markdown-section pre .token.punctuation {
  color: var(--xena-color-gray-500);
}

.markdown-section .scroll-table-prefix + table {
  max-height: 400px;
  overflow-y: auto;
  border-collapse: collapse;
  width: 100%;
  border-radius: var(--xena-border-radius-medium);
  border: solid 1px var(--xena-color-gray-100);
}

.markdown-section .scroll-table-prefix + table thead {
  position: sticky;
  top: 0;
}

.markdown-section .scroll-table-prefix + table thead tr th {
  background: var(--xena-color-white);
}

.markdown-section .scroll-table-prefix + table thead tr th,
.markdown-section .scroll-table-prefix + table tbody tr td {
  padding: var(--xena-spacing-x-small) var(--xena-spacing-medium);
}

.namespace {
  opacity: 0.7;
}

.markdown-section pre .token.property,
.markdown-section pre .token.keyword,
.markdown-section pre .token.tag,
.markdown-section pre .token.url {
  color: var(--xena-color-blue-600);
}

.markdown-section pre .token.symbol,
.markdown-section pre .token.deleted {
  color: #f92672;
}

.markdown-section pre .token.boolean,
.markdown-section pre .token.constant,
.markdown-section pre .token.selector,
.markdown-section pre .token.attr-name,
.markdown-section pre .token.string,
.markdown-section pre .token.char,
.markdown-section pre .token.builtin,
.markdown-section pre .token.inserted {
  color: var(--xena-color-green-600);
}

.markdown-section pre .token.atrule,
.markdown-section pre .token.attr-value,
.markdown-section pre .token.number,
.markdown-section pre .token.variable {
  color: #9013fe;
}

.markdown-section pre .token.function,
.markdown-section pre .token.class-name {
  color: #eb9200;
}

.markdown-section pre .token.regex {
  color: #f5a623;
}

.markdown-section pre .token.important {
  color: #d0021b;
}

.markdown-section pre .token.important,
.markdown-section pre .token.bold {
  font-weight: bold;
}

.markdown-section pre .token.italic {
  font-style: italic;
}

/* Tables */
.markdown-section table {
  margin-bottom: 1.5rem;
}

.markdown-section tr {
  border: none;
}

.markdown-section tr:nth-child(2n) {
  background: hsl(var(--xena-color-gray-hue), var(--xena-color-gray-saturation), 97%);
}

.markdown-section th {
  border: none;
  font-weight: inherit;
  text-align: left;
}

.markdown-section td {
  border-top: solid 1px var(--xena-color-gray-100);
  border-bottom: solid 1px var(--xena-color-gray-100);
  border-left: none;
  border-right: none;
}

.markdown-section td code {
  white-space: nowrap;
}

.markdown-section table .attribute-tooltip {
  background: none;
  border-bottom: dashed 1px var(--xena-color-gray-200);
  cursor: help;
}

/* Tips & Warnings */
.markdown-section p.tip,
.markdown-section p.warn {
  position: relative;
  background: var(--xena-color-white);
  border-left: solid 4px transparent;
  border-radius: var(--xena-border-radius-medium);
  padding-left: 1.5rem;
}

.markdown-section p.tip:before,
.markdown-section p.warn:before {
  content: '!';
  border-radius: 100%;
  color: var(--xena-color-white);
  font-size: 14px;
  font-weight: bold;
  left: -12px;
  line-height: 20px;
  position: absolute;
  height: 20px;
  width: 20px;
  text-align: center;
  top: calc(50% - 10px);
}

.markdown-section p.warn {
  border-left-color: var(--xena-color-blue-500);
}

.markdown-section p.warn:before {
  background-color: var(--xena-color-blue-500);
}

.markdown-section p.tip {
  border-left-color: var(--xena-color-red-500);
}

.markdown-section p.tip:before {
  background-color: var(--xena-color-red-500);
}

.markdown-section p.tip code,
.markdown-section p.warn code {
  background-color: var(--xena-color-gray-100);
}

/* Component headers */
.component-header {
  border-bottom: solid 1px var(--xena-color-gray-100);
  padding-bottom: 2rem;
  margin-top: -1rem;
  margin-bottom: 2rem;
}

.component-header__tag {
  border-bottom: none;
  padding: 0;
  margin: 0.75rem 0 0.25rem 0;
}

.component-header__tag code {
  background: none;
  color: var(--xena-color-gray-500);
  font-size: var(--xena-font-size-large);
  padding: 0;
  margin: 0;
}

.component-header__info {
  margin-bottom: 0.5rem;
}

/* Lead sentences that occur immediately after the header */
.component-header + p {
  font-size: var(--xena-font-size-large);
  line-height: 1.6;
}

/* Copy button */
.docsify-copy-code-button {
  font-size: var(--xena-font-size-small) !important;
  border-top-right-radius: var(--xena-border-radius-medium) !important;
  border-bottom-left-radius: var(--xena-border-radius-medium) !important;
}

/* Repo buttons */
html .repo-button {
  display: inline-block;
  vertical-align: middle;
  background-color: var(--xena-color-white);
  border: solid 1px var(--xena-color-gray-200);
  border-radius: var(--xena-border-radius-medium);
  box-shadow: var(--xena-shadow-x-small);
  font-size: var(--xena-font-size-small);
  font-weight: var(--xena-font-weight-semibold);
  text-decoration: none;
  color: var(--xena-color-gray-700);
  padding: var(--xena-spacing-2x-small) var(--xena-spacing-small);
  margin-bottom: var(--xena-spacing-2x-small);
  transition: 0.25s all;
}

html .repo-button:hover {
  text-decoration: none;
  background-color: var(--xena-color-gray-50);
  border: solid 1px var(--xena-color-gray-200);
}

html .repo-button:focus {
  outline: none;
  border-color: var(--xena-color-blue-500);
  box-shadow: var(--xena-focus-ring-box-shadow);
}

html .repo-button:not(:last-of-type) {
  margin-right: 0.125rem;
}

html .repo-button xena-icon {
  position: relative;
  top: -1px;
  vertical-align: middle;
  margin-right: 0.125rem;
}

html .repo-button--small {
  font-size: var(--xena-font-size-x-small);
  padding: var(--xena-spacing-3x-small) var(--xena-spacing-x-small);
}

html .repo-button--sponsor xena-icon {
  color: #ea4aaa;
}

html .repo-button--github xena-icon {
  color: #242a2e;
}

html .repo-button--twitter xena-icon {
  color: #1ea0f2;
}

body[data-page^='tokens/'] .table-wrapper td:first-child,
body[data-page^='tokens/'] .table-wrapper td:first-child code {
  white-space: nowrap;
}
