@charset "UTF-8";
/*
generated by accessible-pygments <https://github.com/Quansight-Labs/accessible-pygments>
Copyright (c) 2022, Quansight Labs
Licensed under the BSD license, see LICENSE for details.
--
generated by Pygments <https://pygments.org/>
Copyright 2006-2025 by the Pygments team.
Licensed under the BSD license, see LICENSE for details.
*/
.highlight .hll {
  background-color: rgba(9, 105, 218, 0.2901960784);
}

.highlight .c {
  color: #6E7781;
} /* Comment */
.highlight .err {
  color: #CF222E;
} /* Error */
.highlight .k {
  color: #CF222E;
} /* Keyword */
.highlight .l {
  color: #953800;
} /* Literal */
.highlight .n {
  color: #8250DF;
} /* Name */
.highlight .o {
  color: #116329;
} /* Operator */
.highlight .p {
  color: #24292F;
} /* Punctuation */
.highlight .ch {
  color: #6E7781;
} /* Comment.Hashbang */
.highlight .cm {
  color: #6E7781;
} /* Comment.Multiline */
.highlight .cp {
  color: #6E7781;
} /* Comment.Preproc */
.highlight .cpf {
  color: #6E7781;
} /* Comment.PreprocFile */
.highlight .c1 {
  color: #6E7781;
} /* Comment.Single */
.highlight .cs {
  color: #6E7781;
} /* Comment.Special */
.highlight .gd {
  color: #0550AE;
} /* Generic.Deleted */
.highlight .ge {
  font-style: italic;
} /* Generic.Emph */
.highlight .gr {
  color: #CF222E;
} /* Generic.Error */
.highlight .gh {
  color: #0550AE;
} /* Generic.Heading */
.highlight .gs {
  font-weight: bold;
} /* Generic.Strong */
.highlight .gu {
  color: #0550AE;
} /* Generic.Subheading */
.highlight .kc {
  color: #0550AE;
} /* Keyword.Constant */
.highlight .kd {
  color: #CF222E;
} /* Keyword.Declaration */
.highlight .kn {
  color: #CF222E;
} /* Keyword.Namespace */
.highlight .kp {
  color: #CF222E;
} /* Keyword.Pseudo */
.highlight .kr {
  color: #CF222E;
} /* Keyword.Reserved */
.highlight .kt {
  color: #CF222E;
} /* Keyword.Type */
.highlight .ld {
  color: #953800;
} /* Literal.Date */
.highlight .m {
  color: #953800;
} /* Literal.Number */
.highlight .s {
  color: #0550AE;
} /* Literal.String */
.highlight .na {
  color: #953800;
} /* Name.Attribute */
.highlight .nb {
  color: #953800;
} /* Name.Builtin */
.highlight .nc {
  color: #0550AE;
} /* Name.Class */
.highlight .no {
  color: #0550AE;
} /* Name.Constant */
.highlight .nd {
  color: #953800;
} /* Name.Decorator */
.highlight .ni {
  color: #116329;
} /* Name.Entity */
.highlight .ne {
  color: #8250DF;
} /* Name.Exception */
.highlight .nf {
  color: #0550AE;
} /* Name.Function */
.highlight .nl {
  color: #953800;
} /* Name.Label */
.highlight .nn {
  color: #24292F;
} /* Name.Namespace */
.highlight .nx {
  color: #8250DF;
} /* Name.Other */
.highlight .py {
  color: #0550AE;
} /* Name.Property */
.highlight .nt {
  color: #116329;
} /* Name.Tag */
.highlight .nv {
  color: #953800;
} /* Name.Variable */
.highlight .ow {
  color: #8250DF;
} /* Operator.Word */
.highlight .pm {
  color: #24292F;
} /* Punctuation.Marker */
.highlight .w {
  color: #24292F;
} /* Text.Whitespace */
.highlight .mb {
  color: #953800;
} /* Literal.Number.Bin */
.highlight .mf {
  color: #953800;
} /* Literal.Number.Float */
.highlight .mh {
  color: #953800;
} /* Literal.Number.Hex */
.highlight .mi {
  color: #953800;
} /* Literal.Number.Integer */
.highlight .mo {
  color: #953800;
} /* Literal.Number.Oct */
.highlight .sa {
  color: #0550AE;
} /* Literal.String.Affix */
.highlight .sb {
  color: #0550AE;
} /* Literal.String.Backtick */
.highlight .sc {
  color: #0550AE;
} /* Literal.String.Char */
.highlight .dl {
  color: #0550AE;
} /* Literal.String.Delimiter */
.highlight .sd {
  color: #0550AE;
} /* Literal.String.Doc */
.highlight .s2 {
  color: #0550AE;
} /* Literal.String.Double */
.highlight .se {
  color: #0550AE;
} /* Literal.String.Escape */
.highlight .sh {
  color: #0550AE;
} /* Literal.String.Heredoc */
.highlight .si {
  color: #0550AE;
} /* Literal.String.Interpol */
.highlight .sx {
  color: #0550AE;
} /* Literal.String.Other */
.highlight .sr {
  color: #0550AE;
} /* Literal.String.Regex */
.highlight .s1 {
  color: #0550AE;
} /* Literal.String.Single */
.highlight .ss {
  color: #0550AE;
} /* Literal.String.Symbol */
.highlight .bp {
  color: #953800;
} /* Name.Builtin.Pseudo */
.highlight .fm {
  color: #0550AE;
} /* Name.Function.Magic */
.highlight .vc {
  color: #953800;
} /* Name.Variable.Class */
.highlight .vg {
  color: #953800;
} /* Name.Variable.Global */
.highlight .vi {
  color: #953800;
} /* Name.Variable.Instance */
.highlight .vm {
  color: #953800;
} /* Name.Variable.Magic */
.highlight .il {
  color: #953800;
} /* Literal.Number.Integer.Long */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  appearance: auto;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  appearance: auto; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

:root {
  color-scheme: light;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}
html {
  font-size: 0.875rem !important;
}
@media (min-width: 31.25rem) {
  html {
    font-size: 1rem !important;
  }
}

body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, "Liberation Sans", sans-serif;
  font-size: inherit;
  line-height: 1.5;
  color: #232b38;
  background-color: #fff;
  overflow-wrap: break-word;
}

ol,
ul,
dl,
pre,
address,
blockquote,
table,
div,
hr,
form,
fieldset,
noscript .table-wrapper {
  margin-top: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
#toctitle {
  margin-top: 0;
  margin-bottom: 1em;
  font-weight: 500;
  line-height: 1.2;
  color: #0f1e3a;
}

p {
  margin-top: 1em;
  margin-bottom: 1em;
}

a {
  color: #1d4e89;
  text-decoration: none;
}

a:not([class]) {
  text-decoration: underline;
  text-decoration-color: #ddd7ca;
  text-underline-offset: 2px;
}
a:not([class]):hover {
  text-decoration-color: rgba(29, 78, 137, 0.45);
}

code {
  font-family: ui-monospace, "SFMono-Regular", "SF Mono", "Cascadia Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-size: 0.75em;
  line-height: 1.5;
}

figure,
pre {
  margin: 0;
}

li {
  margin: 0.25em 0;
}

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

hr {
  height: 1px;
  padding: 0;
  margin: 2rem 0;
  background-color: #ddd7ca;
  border: 0;
}

blockquote {
  margin: 10px 0;
  margin-block-start: 0;
  margin-inline-start: 0;
  padding-left: 1rem;
  border-left: 3px solid #ddd7ca;
}

.side-bar {
  z-index: 0;
  display: flex;
  flex-wrap: wrap;
  background-color: #f7f5ef;
}
@media (min-width: 50rem) {
  .side-bar {
    flex-flow: column nowrap;
    position: fixed;
    width: 15.5rem;
    height: 100%;
    border-right: 1px solid #ddd7ca;
    align-items: flex-end;
  }
}
@media (min-width: 70.5rem) {
  .side-bar {
    width: calc((100% - 70.5rem) / 2 + 16.5rem);
    min-width: 16.5rem;
  }
}
@media (min-width: 50rem) {
  .side-bar + .main {
    margin-left: 15.5rem;
  }
}
@media (min-width: 70.5rem) {
  .side-bar + .main {
    margin-left: max(16.5rem, (100% - 70.5rem) / 2 + 16.5rem);
  }
}
.side-bar + .main .main-header {
  display: none;
  background-color: #f7f5ef;
}
@media (min-width: 50rem) {
  .side-bar + .main .main-header {
    display: flex;
    background-color: #fff;
  }
}
.side-bar + .main .main-header.nav-open {
  display: block;
}
@media (min-width: 50rem) {
  .side-bar + .main .main-header.nav-open {
    display: flex;
  }
}

.main {
  margin: auto;
}
@media (min-width: 50rem) {
  .main {
    position: relative;
    max-width: 54rem;
  }
}

.main-content-wrap {
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 50rem) {
  .main-content-wrap {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
@media (min-width: 50rem) {
  .main-content-wrap {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

.main-header {
  z-index: 0;
  border-bottom: 1px solid #ddd7ca;
}
@media (min-width: 50rem) {
  .main-header {
    display: flex;
    justify-content: space-between;
    height: 3.75rem;
  }
}

.site-nav,
.site-header,
.site-footer {
  width: 100%;
}
@media (min-width: 70.5rem) {
  .site-nav,
  .site-header,
  .site-footer {
    width: 16.5rem;
  }
}

.site-nav {
  display: none;
}
.site-nav.nav-open {
  display: block;
}
@media (min-width: 50rem) {
  .site-nav {
    display: block;
    padding-top: 3rem;
    padding-bottom: 1rem;
    overflow-y: auto;
    flex: 1 1 auto;
  }
}

.site-header {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
}
@media (min-width: 50rem) {
  .site-header {
    height: 3.75rem;
    max-height: 3.75rem;
    border-bottom: 1px solid #ddd7ca;
  }
}

.site-title {
  flex-grow: 1;
  display: flex;
  height: 100%;
  align-items: center;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #0f1e3a;
  outline-offset: -1px;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 50rem) {
  .site-title {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
.site-title {
  font-size: 1.125rem !important;
}
@media (min-width: 31.25rem) {
  .site-title {
    font-size: 1.5rem !important;
    line-height: 1.2;
  }
}
@media (min-width: 50rem) {
  .site-title {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

.site-button {
  display: flex;
  height: 100%;
  padding: 1rem;
  align-items: center;
  outline-offset: -1px;
}

@media (min-width: 50rem) {
  .site-header .site-button {
    display: none;
  }
}
.site-title:hover {
  background-image: linear-gradient(-90deg, #ebe7dc 0%, rgba(235, 231, 220, 0.8) 80%, rgba(235, 231, 220, 0) 100%);
}

.site-button:hover {
  background-image: linear-gradient(-90deg, #ebe7dc 0%, rgba(235, 231, 220, 0.8) 100%);
}

.site-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 50rem) {
  .site-footer {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
.site-footer {
  font-size: 0.6875rem !important;
}
@media (min-width: 31.25rem) {
  .site-footer {
    font-size: 0.75rem !important;
  }
}
@media (min-width: 50rem) {
  .site-footer {
    position: static;
    justify-self: end;
  }
}

.icon {
  width: 1.5rem;
  height: 1.5rem;
  color: #1d4e89;
}

.main-content {
  line-height: 1.65;
}
.main-content ol,
.main-content ul,
.main-content dl,
.main-content pre,
.main-content address,
.main-content blockquote,
.main-content .table-wrapper {
  margin-top: 0.5em;
}
.main-content a {
  overflow: hidden;
  text-overflow: ellipsis;
}
.main-content ul,
.main-content ol {
  padding-left: 1.5em;
}
.main-content li .highlight {
  margin-top: 0.25rem;
}
.main-content ol {
  list-style-type: none;
  counter-reset: step-counter;
}
.main-content ol > li {
  position: relative;
}
.main-content ol > li::before {
  position: absolute;
  top: 0.2em;
  left: -1.6em;
  color: #535c6b;
  content: counter(step-counter);
  counter-increment: step-counter;
}
.main-content ol > li::before {
  font-size: 0.75rem !important;
}
@media (min-width: 31.25rem) {
  .main-content ol > li::before {
    font-size: 0.875rem !important;
  }
}
@media (min-width: 31.25rem) {
  .main-content ol > li::before {
    top: 0.11em;
  }
}
.main-content ol > li ol {
  counter-reset: sub-counter;
}
.main-content ol > li ol > li::before {
  content: counter(sub-counter, lower-alpha);
  counter-increment: sub-counter;
}
.main-content ul {
  list-style: none;
}
.main-content ul > li::before {
  position: absolute;
  margin-left: -1.4em;
  color: #535c6b;
  content: "•";
}
.main-content .task-list-item::before {
  content: "";
}
.main-content .task-list-item-checkbox {
  margin-right: 0.6em;
  margin-left: -1.4em;
}
.main-content hr + * {
  margin-top: 0;
}
.main-content h1:first-of-type {
  margin-top: 0.5em;
}
.main-content dl {
  display: grid;
  grid-template: auto/10em 1fr;
}
.main-content dt,
.main-content dd {
  margin: 0.25em 0;
}
.main-content dt {
  grid-column: 1;
  font-weight: 500;
  text-align: right;
}
.main-content dt::after {
  content: ":";
}
.main-content dd {
  grid-column: 2;
  margin-bottom: 0;
  margin-left: 1em;
}
.main-content dd blockquote:first-child,
.main-content dd div:first-child,
.main-content dd dl:first-child,
.main-content dd dt:first-child,
.main-content dd h1:first-child,
.main-content dd h2:first-child,
.main-content dd h3:first-child,
.main-content dd h4:first-child,
.main-content dd h5:first-child,
.main-content dd h6:first-child,
.main-content dd li:first-child,
.main-content dd ol:first-child,
.main-content dd p:first-child,
.main-content dd pre:first-child,
.main-content dd table:first-child,
.main-content dd ul:first-child,
.main-content dd .table-wrapper:first-child {
  margin-top: 0;
}
.main-content dd dl:first-child dt:first-child,
.main-content dd dl:first-child dd:nth-child(2),
.main-content ol dl:first-child dt:first-child,
.main-content ol dl:first-child dd:nth-child(2),
.main-content ul dl:first-child dt:first-child,
.main-content ul dl:first-child dd:nth-child(2) {
  margin-top: 0;
}
.main-content .anchor-heading {
  position: absolute;
  right: -1rem;
  width: 1.5rem;
  height: 100%;
  padding-right: 0.25rem;
  padding-left: 0.25rem;
  overflow: visible;
}
@media (min-width: 50rem) {
  .main-content .anchor-heading {
    right: auto;
    left: -1.5rem;
  }
}
.main-content .anchor-heading svg {
  display: inline-block;
  width: 100%;
  height: 100%;
  color: #1d4e89;
  visibility: hidden;
}
.main-content .anchor-heading:hover svg,
.main-content .anchor-heading:focus svg,
.main-content h1:hover > .anchor-heading svg,
.main-content h2:hover > .anchor-heading svg,
.main-content h3:hover > .anchor-heading svg,
.main-content h4:hover > .anchor-heading svg,
.main-content h5:hover > .anchor-heading svg,
.main-content h6:hover > .anchor-heading svg {
  visibility: visible;
}
.main-content summary {
  cursor: pointer;
}
.main-content h1,
.main-content h2,
.main-content h3,
.main-content h4,
.main-content h5,
.main-content h6,
.main-content #toctitle {
  position: relative;
  margin-top: 1.5em;
  margin-bottom: 0.25em;
}
.main-content h1 + table,
.main-content h1 + .table-wrapper,
.main-content h1 + .code-example,
.main-content h1 + .highlighter-rouge,
.main-content h1 + .sectionbody .listingblock,
.main-content h2 + table,
.main-content h2 + .table-wrapper,
.main-content h2 + .code-example,
.main-content h2 + .highlighter-rouge,
.main-content h2 + .sectionbody .listingblock,
.main-content h3 + table,
.main-content h3 + .table-wrapper,
.main-content h3 + .code-example,
.main-content h3 + .highlighter-rouge,
.main-content h3 + .sectionbody .listingblock,
.main-content h4 + table,
.main-content h4 + .table-wrapper,
.main-content h4 + .code-example,
.main-content h4 + .highlighter-rouge,
.main-content h4 + .sectionbody .listingblock,
.main-content h5 + table,
.main-content h5 + .table-wrapper,
.main-content h5 + .code-example,
.main-content h5 + .highlighter-rouge,
.main-content h5 + .sectionbody .listingblock,
.main-content h6 + table,
.main-content h6 + .table-wrapper,
.main-content h6 + .code-example,
.main-content h6 + .highlighter-rouge,
.main-content h6 + .sectionbody .listingblock,
.main-content #toctitle + table,
.main-content #toctitle + .table-wrapper,
.main-content #toctitle + .code-example,
.main-content #toctitle + .highlighter-rouge,
.main-content #toctitle + .sectionbody .listingblock {
  margin-top: 1em;
}
.main-content h1 + p:not(.label),
.main-content h2 + p:not(.label),
.main-content h3 + p:not(.label),
.main-content h4 + p:not(.label),
.main-content h5 + p:not(.label),
.main-content h6 + p:not(.label),
.main-content #toctitle + p:not(.label) {
  margin-top: 0;
}
.main-content > h1:first-child,
.main-content > h2:first-child,
.main-content > h3:first-child,
.main-content > h4:first-child,
.main-content > h5:first-child,
.main-content > h6:first-child,
.main-content > .sect1:first-child > h2,
.main-content > .sect2:first-child > h3,
.main-content > .sect3:first-child > h4,
.main-content > .sect4:first-child > h5,
.main-content > .sect5:first-child > h6 {
  margin-top: 0.5rem;
}

.nav-list {
  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
}
.nav-list .nav-list-item {
  position: relative;
  margin: 0;
}
.nav-list .nav-list-item {
  font-size: 0.875rem !important;
}
@media (min-width: 31.25rem) {
  .nav-list .nav-list-item {
    font-size: 1rem !important;
  }
}
@media (min-width: 50rem) {
  .nav-list .nav-list-item {
    font-size: 0.75rem !important;
  }
}
@media (min-width: 50rem) and (min-width: 31.25rem) {
  .nav-list .nav-list-item {
    font-size: 0.875rem !important;
  }
}
.nav-list .nav-list-item .nav-list-link {
  display: block;
  min-height: 3rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  line-height: 2.5rem;
  outline-offset: -1px;
  padding-right: 3rem;
  padding-left: 1rem;
}
@media (min-width: 50rem) {
  .nav-list .nav-list-item .nav-list-link {
    min-height: 1.875rem;
    line-height: 1.375rem;
    padding-right: 1.875rem;
    padding-left: 2rem;
  }
}
.nav-list .nav-list-item .nav-list-link.external > svg {
  width: 1rem;
  height: 1rem;
  vertical-align: text-bottom;
}
.nav-list .nav-list-item .nav-list-link.active {
  font-weight: 600;
  text-decoration: none;
}
.nav-list .nav-list-item .nav-list-link:hover, .nav-list .nav-list-item .nav-list-link.active {
  color: rgb(9.6255610678%, 25.8894401134%, 45.4724781479%);
  background-image: linear-gradient(-90deg, #ebe7dc 0%, rgba(235, 231, 220, 0.8) 80%, rgba(235, 231, 220, 0) 100%);
}
.nav-list .nav-list-item .nav-list-expander {
  position: absolute;
  right: 0;
  width: 3rem;
  height: 3rem;
  padding: 0.75rem;
  color: #1d4e89;
  outline-offset: -1px;
}
@media (min-width: 50rem) {
  .nav-list .nav-list-item .nav-list-expander {
    width: 1.875rem;
    height: 1.875rem;
    padding: 0.46875rem;
  }
}
.nav-list .nav-list-item .nav-list-expander:hover {
  background-image: linear-gradient(-90deg, #ebe7dc 0%, rgba(235, 231, 220, 0.8) 100%);
}
.nav-list .nav-list-item .nav-list-expander svg {
  transform: rotate(90deg);
}
.nav-list .nav-list-item > .nav-list {
  display: none;
  padding-left: 0.75rem;
  list-style: none;
}
.nav-list .nav-list-item > .nav-list .nav-list-item {
  position: relative;
}
.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-link {
  color: #3b4453;
}
.nav-list .nav-list-item > .nav-list .nav-list-item .nav-list-expander {
  color: #3b4453;
}
.nav-list .nav-list-item.active > .nav-list-expander svg {
  transform: rotate(-90deg);
}
.nav-list .nav-list-item.active > .nav-list {
  display: block;
}

.nav-category {
  padding: 0.5rem 1rem;
  font-weight: 600;
  text-align: start;
  text-transform: uppercase;
  border-bottom: 1px solid #ddd7ca;
}
.nav-category {
  font-size: 0.6875rem !important;
}
@media (min-width: 31.25rem) {
  .nav-category {
    font-size: 0.75rem !important;
  }
}
@media (min-width: 50rem) {
  .nav-category {
    padding: 0.5rem 2rem;
    margin-top: 1rem;
    text-align: start;
  }
  .nav-category:first-child {
    margin-top: 0;
  }
}

.nav-list.nav-category-list > .nav-list-item {
  margin: 0;
}
.nav-list.nav-category-list > .nav-list-item > .nav-list {
  padding: 0;
}
.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-link {
  color: #1d4e89;
}
.nav-list.nav-category-list > .nav-list-item > .nav-list > .nav-list-item > .nav-list-expander {
  color: #1d4e89;
}

.aux-nav {
  height: 100%;
  overflow-x: auto;
}
.aux-nav {
  font-size: 0.6875rem !important;
}
@media (min-width: 31.25rem) {
  .aux-nav {
    font-size: 0.75rem !important;
  }
}
.aux-nav .aux-nav-list {
  display: flex;
  height: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
}
.aux-nav .aux-nav-list-item {
  display: inline-block;
  height: 100%;
  padding: 0;
  margin: 0;
}
@media (min-width: 50rem) {
  .aux-nav {
    padding-right: 1rem;
  }
}

@media (min-width: 50rem) {
  .breadcrumb-nav {
    margin-top: -1rem;
  }
}

.breadcrumb-nav-list {
  padding-left: 0;
  margin-bottom: 0.75rem;
  list-style: none;
}

.breadcrumb-nav-list-item {
  display: table-cell;
}
.breadcrumb-nav-list-item {
  font-size: 0.6875rem !important;
}
@media (min-width: 31.25rem) {
  .breadcrumb-nav-list-item {
    font-size: 0.75rem !important;
  }
}
.breadcrumb-nav-list-item::before {
  display: none;
}
.breadcrumb-nav-list-item::after {
  display: inline-block;
  margin-right: 0.5rem;
  margin-left: 0.5rem;
  color: #535c6b;
  content: "/";
}
.breadcrumb-nav-list-item:last-child::after {
  content: "";
}

h1,
.text-alpha {
  font-weight: 300;
}
h1,
.text-alpha {
  font-size: 2rem !important;
  line-height: 1.2;
}
@media (min-width: 31.25rem) {
  h1,
  .text-alpha {
    font-size: 2.25rem !important;
  }
}

h2,
.text-beta,
#toctitle {
  font-size: 1.125rem !important;
}
@media (min-width: 31.25rem) {
  h2,
  .text-beta,
  #toctitle {
    font-size: 1.5rem !important;
    line-height: 1.2;
  }
}

h3,
.text-gamma {
  font-size: 1rem !important;
}
@media (min-width: 31.25rem) {
  h3,
  .text-gamma {
    font-size: 1.125rem !important;
  }
}

h4,
.text-delta {
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
h4,
.text-delta {
  font-size: 0.6875rem !important;
}
@media (min-width: 31.25rem) {
  h4,
  .text-delta {
    font-size: 0.75rem !important;
  }
}

h4 code {
  text-transform: none;
}

h5,
.text-epsilon {
  font-size: 0.75rem !important;
}
@media (min-width: 31.25rem) {
  h5,
  .text-epsilon {
    font-size: 0.875rem !important;
  }
}

h6,
.text-zeta {
  font-size: 0.6875rem !important;
}
@media (min-width: 31.25rem) {
  h6,
  .text-zeta {
    font-size: 0.75rem !important;
  }
}

.text-small {
  font-size: 0.6875rem !important;
}
@media (min-width: 31.25rem) {
  .text-small {
    font-size: 0.75rem !important;
  }
}

.text-mono {
  font-family: ui-monospace, "SFMono-Regular", "SF Mono", "Cascadia Mono", Menlo, Consolas, "Liberation Mono", monospace !important;
}

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

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

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

.label:not(g),
.label-blue:not(g) {
  display: inline-block;
  padding: 0.16em 0.56em;
  margin-right: 0.5rem;
  margin-left: 0.5rem;
  color: #fff;
  text-transform: uppercase;
  vertical-align: middle;
  background-color: #2869e6;
  border-radius: 12px;
}
.label:not(g),
.label-blue:not(g) {
  font-size: 0.6875rem !important;
}
@media (min-width: 31.25rem) {
  .label:not(g),
  .label-blue:not(g) {
    font-size: 0.75rem !important;
  }
}

.label-green:not(g) {
  background-color: #026e57;
}

.label-purple:not(g) {
  background-color: #5e41d0;
}

.label-red:not(g) {
  background-color: #dd2e2e;
}

.label-yellow:not(g) {
  color: #44434d;
  background-color: #f7d12e;
}

.btn {
  display: inline-block;
  box-sizing: border-box;
  padding: 0.3em 1em;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
  line-height: 1.5;
  color: #1d4e89;
  text-decoration: none;
  vertical-align: baseline;
  cursor: pointer;
  background-color: #fff;
  border-width: 0;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
  appearance: none;
}
.btn:focus {
  text-decoration: none;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25);
}
.btn:focus:hover, .btn.selected:focus {
  box-shadow: 0 0 0 3px rgba(0, 0, 255, 0.25);
}
.btn:hover, .btn.zeroclipboard-is-hover {
  color: rgb(10.6737538389%, 28.7087172218%, 50.4242853768%);
}
.btn:hover, .btn:active, .btn.zeroclipboard-is-hover, .btn.zeroclipboard-is-active {
  text-decoration: none;
  background-color: rgb(99%, 99%, 99%);
}
.btn:active, .btn.selected, .btn.zeroclipboard-is-active {
  background-color: rgb(97%, 97%, 97%);
  background-image: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
}
.btn.selected:hover {
  background-color: rgb(81.2745098039%, 81.2745098039%, 81.2745098039%);
}
.btn:disabled, .btn:disabled:hover, .btn.disabled, .btn.disabled:hover {
  color: rgba(102, 102, 102, 0.5);
  cursor: default;
  background-color: rgba(229, 229, 229, 0.5);
  background-image: none;
  box-shadow: none;
}

.btn-outline {
  color: #1d4e89;
  background: transparent;
  box-shadow: inset 0 0 0 2px #e6e1e8;
}
.btn-outline:hover, .btn-outline:active, .btn-outline.zeroclipboard-is-hover, .btn-outline.zeroclipboard-is-active {
  color: rgb(9.9749586582%, 26.8291991495%, 47.1230805575%);
  text-decoration: none;
  background-color: transparent;
  box-shadow: inset 0 0 0 3px #e6e1e8;
}
.btn-outline:focus {
  text-decoration: none;
  outline: none;
  box-shadow: inset 0 0 0 2px #5c5962, 0 0 0 3px rgba(0, 0, 255, 0.25);
}
.btn-outline:focus:hover, .btn-outline.selected:focus {
  box-shadow: inset 0 0 0 2px #5c5962;
}

.btn-primary {
  color: #fff;
  background-color: rgb(5.060435133%, 10.1208702659%, 19.5670158474%);
  background-image: linear-gradient(rgb(7.9371474617%, 15.8742949234%, 30.6903035187%), rgb(5.060435133%, 10.1208702659%, 19.5670158474%));
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
}
.btn-primary:hover, .btn-primary.zeroclipboard-is-hover {
  color: #fff;
  background-color: rgb(4.2385173247%, 8.4770346495%, 16.3889336557%);
  background-image: linear-gradient(rgb(6.7042707494%, 13.4085414988%, 25.923180231%), rgb(4.2385173247%, 8.4770346495%, 16.3889336557%));
}
.btn-primary:active, .btn-primary.selected, .btn-primary.zeroclipboard-is-active {
  background-color: rgb(3.8275584206%, 7.6551168413%, 14.7998925598%);
  background-image: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
}
.btn-primary.selected:hover {
  background-color: rgb(1.7727639001%, 3.5455278002%, 6.8546870803%);
}

.btn-purple {
  color: #fff;
  background-color: rgb(34.14544552%, 22.2834450236%, 80.7753785058%);
  background-image: linear-gradient(rgb(43.6559940432%, 33.5070737156%, 83.5517498138%), rgb(34.14544552%, 22.2834450236%, 80.7753785058%));
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
}
.btn-purple:hover, .btn-purple.zeroclipboard-is-hover {
  color: #fff;
  background-color: rgb(31.7656986845%, 19.6445768181%, 79.4142467113%);
  background-image: linear-gradient(rgb(39.5800446761%, 28.6969471333%, 82.3618763961%), rgb(31.7656986845%, 19.6445768181%, 79.4142467113%));
}
.btn-purple:active, .btn-purple.selected, .btn-purple.zeroclipboard-is-active {
  background-color: rgb(31.1243484736%, 19.2479523455%, 77.8108711839%);
  background-image: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
}
.btn-purple.selected:hover {
  background-color: rgb(27.9175974187%, 17.2648299826%, 69.7939935468%);
}

.btn-blue {
  color: #fff;
  background-color: rgb(14.1883457608%, 28.3766915217%, 65.3410660039%);
  background-image: linear-gradient(rgb(16.685998343%, 33.371996686%, 76.8434134217%), rgb(14.1883457608%, 28.3766915217%, 65.3410660039%));
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
}
.btn-blue:hover, .btn-blue.zeroclipboard-is-hover {
  color: #fff;
  background-color: rgb(13.4747307374%, 26.9494614747%, 62.0546810273%);
  background-image: linear-gradient(rgb(15.6155758078%, 31.2311516156%, 71.9138359569%), rgb(13.4747307374%, 26.9494614747%, 62.0546810273%));
}
.btn-blue:active, .btn-blue.selected, .btn-blue.zeroclipboard-is-active {
  background-color: rgb(13.1179232256%, 26.2358464513%, 60.4114885391%);
  background-image: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
}
.btn-blue.selected:hover {
  background-color: rgb(11.3338856669%, 22.6677713339%, 52.1955260978%);
}

.btn-green {
  color: #fff;
  background-color: rgb(0.7128851541%, 39.2086834734%, 31.0105042017%);
  background-image: linear-gradient(rgb(0.9628851541%, 52.9586834734%, 41.8855042017%), rgb(0.7128851541%, 39.2086834734%, 31.0105042017%));
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), 0 4px 10px rgba(0, 0, 0, 0.12);
}
.btn-green:hover, .btn-green.zeroclipboard-is-hover {
  color: #fff;
  background-color: rgb(0.6414565826%, 35.2801120448%, 27.9033613445%);
  background-image: linear-gradient(rgb(0.8557422969%, 47.0658263305%, 37.224789916%), rgb(0.6414565826%, 35.2801120448%, 27.9033613445%));
}
.btn-green:active, .btn-green.selected, .btn-green.zeroclipboard-is-active {
  background-color: rgb(0.6057422969%, 33.3158263305%, 26.349789916%);
  background-image: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
}
.btn-green.selected:hover {
  background-color: rgb(0.4271708683%, 23.4943977591%, 18.5819327731%);
}

.btn-reset {
  background: none;
  border: none;
  margin: 0;
  text-align: inherit;
  font: inherit;
  border-radius: 0;
  appearance: none;
}

.search {
  position: relative;
  z-index: 2;
  flex-grow: 1;
  height: 4rem;
  padding: 0.5rem;
  transition: padding linear 200ms;
}
@media (min-width: 50rem) {
  .search {
    position: relative !important;
    width: auto !important;
    height: 100% !important;
    padding: 0;
    transition: none;
  }
}

.search-input-wrap {
  position: relative;
  z-index: 1;
  height: 3rem;
  overflow: hidden;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
  transition: height linear 200ms;
}
@media (min-width: 50rem) {
  .search-input-wrap {
    position: absolute;
    width: 100%;
    max-width: 37.5rem;
    height: 100% !important;
    border-radius: 0;
    box-shadow: none;
    transition: width ease 400ms;
  }
}

.search-input {
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 0.5rem 1rem 0.5rem 2.5rem;
  font-size: 1rem;
  color: #232b38;
  background-color: #fff;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  border-radius: 0;
}
@media (min-width: 50rem) {
  .search-input {
    padding: 0.5rem 1rem 0.5rem 3.5rem;
    font-size: 0.875rem;
    background-color: #fff;
    transition: padding-left linear 200ms;
  }
}
.search-input:focus {
  outline-offset: -1px;
}
.search-input:focus + .search-label .search-icon {
  color: #1d4e89;
}

.search-label {
  position: absolute;
  display: flex;
  height: 100%;
  padding-left: 1rem;
}
@media (min-width: 50rem) {
  .search-label {
    padding-left: 2rem;
    transition: padding-left linear 200ms;
  }
}
.search-label .search-icon {
  width: 1.2rem;
  height: 1.2rem;
  align-self: center;
  color: #535c6b;
}

.search-results {
  position: absolute;
  left: 0;
  display: none;
  width: 100%;
  max-height: calc(100% - 4rem);
  overflow-y: auto;
  background-color: #fff;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
}
@media (min-width: 50rem) {
  .search-results {
    top: 100%;
    width: 37.5rem;
    max-height: calc(100vh - 200%) !important;
  }
}

.search-results-list {
  padding-left: 0;
  margin-bottom: 0.25rem;
  list-style: none;
}
.search-results-list {
  font-size: 0.875rem !important;
}
@media (min-width: 31.25rem) {
  .search-results-list {
    font-size: 1rem !important;
  }
}
@media (min-width: 50rem) {
  .search-results-list {
    font-size: 0.75rem !important;
  }
}
@media (min-width: 50rem) and (min-width: 31.25rem) {
  .search-results-list {
    font-size: 0.875rem !important;
  }
}

.search-results-list-item {
  padding: 0;
  margin: 0;
}

.search-result {
  display: block;
  padding: 0.25rem 0.75rem;
  outline-offset: -1px;
}
.search-result:hover, .search-result.active {
  background-color: #ebe7dc;
}

.search-result-title {
  display: block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
@media (min-width: 31.25rem) {
  .search-result-title {
    display: inline-block;
    width: 40%;
    padding-right: 0.5rem;
    vertical-align: top;
  }
}

.search-result-doc {
  display: flex;
  align-items: center;
  overflow-wrap: break-word;
}
.search-result-doc.search-result-doc-parent {
  opacity: 0.5;
}
.search-result-doc.search-result-doc-parent {
  font-size: 0.75rem !important;
}
@media (min-width: 31.25rem) {
  .search-result-doc.search-result-doc-parent {
    font-size: 0.875rem !important;
  }
}
@media (min-width: 50rem) {
  .search-result-doc.search-result-doc-parent {
    font-size: 0.6875rem !important;
  }
}
@media (min-width: 50rem) and (min-width: 31.25rem) {
  .search-result-doc.search-result-doc-parent {
    font-size: 0.75rem !important;
  }
}
.search-result-doc .search-result-icon {
  width: 1rem;
  height: 1rem;
  margin-right: 0.5rem;
  color: #1d4e89;
  flex-shrink: 0;
}
.search-result-doc .search-result-doc-title {
  overflow: auto;
}

.search-result-section {
  margin-left: 1.5rem;
  overflow-wrap: break-word;
}

.search-result-rel-url {
  display: block;
  margin-left: 1.5rem;
  overflow: hidden;
  color: #3b4453;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-result-rel-url {
  font-size: 0.5625rem !important;
}
@media (min-width: 31.25rem) {
  .search-result-rel-url {
    font-size: 0.625rem !important;
  }
}

.search-result-previews {
  display: block;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  margin-left: 0.5rem;
  color: #3b4453;
  overflow-wrap: break-word;
  border-left: 1px solid;
  border-left-color: #ddd7ca;
}
.search-result-previews {
  font-size: 0.6875rem !important;
}
@media (min-width: 31.25rem) {
  .search-result-previews {
    font-size: 0.75rem !important;
  }
}
@media (min-width: 31.25rem) {
  .search-result-previews {
    display: inline-block;
    width: 60%;
    padding-left: 0.5rem;
    margin-left: 0;
    vertical-align: top;
  }
}

.search-result-preview + .search-result-preview {
  margin-top: 0.25rem;
}

.search-result-highlight {
  font-weight: bold;
}

.search-no-result {
  padding: 0.5rem 0.75rem;
}
.search-no-result {
  font-size: 0.75rem !important;
}
@media (min-width: 31.25rem) {
  .search-no-result {
    font-size: 0.875rem !important;
  }
}

.search-button {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  display: flex;
  width: 3.5rem;
  height: 3.5rem;
  background-color: #fff;
  border: 1px solid rgba(29, 78, 137, 0.3);
  border-radius: 1.75rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
  align-items: center;
  justify-content: center;
}

.search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity ease 400ms, width 0s 400ms, height 0s 400ms;
}

.search-active .search {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0;
}
.search-active .search-input-wrap {
  height: 4rem;
  border-radius: 0;
}
@media (min-width: 50rem) {
  .search-active .search-input-wrap {
    width: 37.5rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
  }
}
.search-active .search-input {
  background-color: #fff;
}
@media (min-width: 50rem) {
  .search-active .search-input {
    padding-left: 2.3rem;
  }
}
@media (min-width: 50rem) {
  .search-active .search-label {
    padding-left: 0.6rem;
  }
}
.search-active .search-results {
  display: block;
}
.search-active .search-overlay {
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: opacity ease 400ms, width 0s, height 0s;
}
@media (min-width: 50rem) {
  .search-active .main {
    position: fixed;
    right: 0;
    left: 0;
  }
}
.search-active .main-header {
  padding-top: 4rem;
}
@media (min-width: 50rem) {
  .search-active .main-header {
    padding-top: 0;
  }
}

.table-wrapper {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-bottom: 1.5rem;
  overflow-x: auto;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 3px 10px rgba(0, 0, 0, 0.08);
}

table {
  display: table;
  min-width: 100%;
  border-collapse: separate;
}

th,
td {
  min-width: 7.5rem;
  padding: 0.5rem 0.75rem;
  background-color: #fff;
  border-bottom: 1px solid rgba(221, 215, 202, 0.5);
  border-left: 1px solid #ddd7ca;
}
th,
td {
  font-size: 0.75rem !important;
}
@media (min-width: 31.25rem) {
  th,
  td {
    font-size: 0.875rem !important;
  }
}
th:first-of-type,
td:first-of-type {
  border-left: 0;
}

tbody tr:last-of-type th,
tbody tr:last-of-type td {
  border-bottom: 0;
}
tbody tr:last-of-type td {
  padding-bottom: 0.75rem;
}

thead th {
  border-bottom: 1px solid #ddd7ca;
}

:not(pre, figure) > code {
  padding: 0.2em 0.15em;
  font-weight: 400;
  background-color: #f6f4ee;
  border: 1px solid #ddd7ca;
  border-radius: 3px;
}

a:visited code {
  border-color: #ddd7ca;
}

div.highlighter-rouge,
div.listingblock > div.content,
figure.highlight {
  margin-top: 0;
  margin-bottom: 0.75rem;
  background-color: #f6f4ee;
  border-radius: 3px;
  box-shadow: none;
  -webkit-overflow-scrolling: touch;
  position: relative;
  padding: 0;
}
div.highlighter-rouge > button,
div.listingblock > div.content > button,
figure.highlight > button {
  width: 0.75rem;
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  padding: 0.75rem;
  border: none;
  background: none;
  color: #232b38;
  box-sizing: content-box;
}
div.highlighter-rouge > button svg,
div.listingblock > div.content > button svg,
figure.highlight > button svg {
  fill: #232b38;
}
div.highlighter-rouge > button:active,
div.listingblock > div.content > button:active,
figure.highlight > button:active {
  text-decoration: none;
  outline: none;
  opacity: 1;
}
div.highlighter-rouge > button:focus,
div.listingblock > div.content > button:focus,
figure.highlight > button:focus {
  opacity: 1;
  outline: 2px solid #1d4e89;
}
div.highlighter-rouge:hover > button,
div.listingblock > div.content:hover > button,
figure.highlight:hover > button {
  cursor: copy;
  opacity: 1;
}

div.highlighter-rouge div.highlight {
  overflow-x: auto;
  padding: 0.75rem;
  margin: 0;
  border: 1px solid #232b38;
  border-radius: 3px;
}
div.highlighter-rouge pre.highlight,
div.highlighter-rouge code {
  padding: 0;
  margin: 0;
  border: 0;
}

div.listingblock {
  margin-top: 0;
  margin-bottom: 0.75rem;
}
div.listingblock div.content {
  overflow-x: auto;
  padding: 0.75rem;
  margin: 0;
  border: 1px solid #232b38;
  border-radius: 3px;
}
div.listingblock div.content > pre,
div.listingblock code {
  padding: 0;
  margin: 0;
  border: 0;
}

figure.highlight pre,
figure.highlight :not(pre) > code {
  overflow-x: auto;
  padding: 0.75rem;
  margin: 0;
  border: 1px solid #232b38;
  border-radius: 3px;
}

.highlight .table-wrapper {
  padding: 0.75rem 0;
  margin: 0;
  border: 0;
  box-shadow: none;
}
.highlight .table-wrapper td,
.highlight .table-wrapper pre {
  min-width: 0;
  padding: 0;
  background-color: #f6f4ee;
  border: 0;
}
.highlight .table-wrapper td,
.highlight .table-wrapper pre {
  font-size: 0.6875rem !important;
}
@media (min-width: 31.25rem) {
  .highlight .table-wrapper td,
  .highlight .table-wrapper pre {
    font-size: 0.75rem !important;
  }
}
.highlight .table-wrapper td.gl {
  width: 1em;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}
.highlight .table-wrapper pre {
  margin: 0;
  line-height: 2;
}

.code-example,
.listingblock > .title {
  padding: 0.75rem;
  margin-bottom: 0.75rem;
  overflow: auto;
  border: 1px solid #ddd7ca;
  border-radius: 3px;
}
.code-example + .highlighter-rouge,
.code-example + .sectionbody .listingblock,
.code-example + .content,
.code-example + figure.highlight,
.listingblock > .title + .highlighter-rouge,
.listingblock > .title + .sectionbody .listingblock,
.listingblock > .title + .content,
.listingblock > .title + figure.highlight {
  position: relative;
  margin-top: -1rem;
  border-right: 1px solid #ddd7ca;
  border-bottom: 1px solid #ddd7ca;
  border-left: 1px solid #ddd7ca;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

code.language-mermaid {
  padding: 0;
  background-color: inherit;
  border: 0;
}

.highlight,
pre.highlight {
  background: #f6f4ee;
  color: #232b38;
}

.highlight pre {
  background: #f6f4ee;
}

.text-grey-dk-000 {
  color: #535c6b !important;
}

.text-grey-dk-100 {
  color: #5c5962 !important;
}

.text-grey-dk-200 {
  color: #44434d !important;
}

.text-grey-dk-250 {
  color: #302d36 !important;
}

.text-grey-dk-300 {
  color: #27262b !important;
}

.text-grey-lt-000 {
  color: #f5f6fa !important;
}

.text-grey-lt-100 {
  color: #eeebee !important;
}

.text-grey-lt-200 {
  color: #ecebed !important;
}

.text-grey-lt-300 {
  color: #e6e1e8 !important;
}

.text-blue-000 {
  color: #2c84fa !important;
}

.text-blue-100 {
  color: #2869e6 !important;
}

.text-blue-200 {
  color: #264caf !important;
}

.text-blue-300 {
  color: #183385 !important;
}

.text-green-000 {
  color: #41d693 !important;
}

.text-green-100 {
  color: #11b584 !important;
}

.text-green-200 {
  color: #009c7b !important;
}

.text-green-300 {
  color: #026e57 !important;
}

.text-purple-000 {
  color: #7253ed !important;
}

.text-purple-100 {
  color: #5e41d0 !important;
}

.text-purple-200 {
  color: #4e26af !important;
}

.text-purple-300 {
  color: #381885 !important;
}

.text-yellow-000 {
  color: #ffeb82 !important;
}

.text-yellow-100 {
  color: #fadf50 !important;
}

.text-yellow-200 {
  color: #f7d12e !important;
}

.text-yellow-300 {
  color: #e7af06 !important;
}

.text-red-000 {
  color: #f77e7e !important;
}

.text-red-100 {
  color: #f96e65 !important;
}

.text-red-200 {
  color: #e94c4c !important;
}

.text-red-300 {
  color: #dd2e2e !important;
}

.bg-grey-dk-000 {
  background-color: #535c6b !important;
}

.bg-grey-dk-100 {
  background-color: #5c5962 !important;
}

.bg-grey-dk-200 {
  background-color: #44434d !important;
}

.bg-grey-dk-250 {
  background-color: #302d36 !important;
}

.bg-grey-dk-300 {
  background-color: #27262b !important;
}

.bg-grey-lt-000 {
  background-color: #f5f6fa !important;
}

.bg-grey-lt-100 {
  background-color: #eeebee !important;
}

.bg-grey-lt-200 {
  background-color: #ecebed !important;
}

.bg-grey-lt-300 {
  background-color: #e6e1e8 !important;
}

.bg-blue-000 {
  background-color: #2c84fa !important;
}

.bg-blue-100 {
  background-color: #2869e6 !important;
}

.bg-blue-200 {
  background-color: #264caf !important;
}

.bg-blue-300 {
  background-color: #183385 !important;
}

.bg-green-000 {
  background-color: #41d693 !important;
}

.bg-green-100 {
  background-color: #11b584 !important;
}

.bg-green-200 {
  background-color: #009c7b !important;
}

.bg-green-300 {
  background-color: #026e57 !important;
}

.bg-purple-000 {
  background-color: #7253ed !important;
}

.bg-purple-100 {
  background-color: #5e41d0 !important;
}

.bg-purple-200 {
  background-color: #4e26af !important;
}

.bg-purple-300 {
  background-color: #381885 !important;
}

.bg-yellow-000 {
  background-color: #ffeb82 !important;
}

.bg-yellow-100 {
  background-color: #fadf50 !important;
}

.bg-yellow-200 {
  background-color: #f7d12e !important;
}

.bg-yellow-300 {
  background-color: #e7af06 !important;
}

.bg-red-000 {
  background-color: #f77e7e !important;
}

.bg-red-100 {
  background-color: #f96e65 !important;
}

.bg-red-200 {
  background-color: #e94c4c !important;
}

.bg-red-300 {
  background-color: #dd2e2e !important;
}

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

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

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

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

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

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border-width: 0;
}

@media (min-width: 20rem) {
  .d-xs-block {
    display: block !important;
  }
  .d-xs-flex {
    display: flex !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 20rem) {
  .d-xs-block {
    display: block !important;
  }
  .d-xs-flex {
    display: flex !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 20rem) {
  .d-xs-block {
    display: block !important;
  }
  .d-xs-flex {
    display: flex !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 20rem) {
  .d-xs-block {
    display: block !important;
  }
  .d-xs-flex {
    display: flex !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 20rem) {
  .d-xs-block {
    display: block !important;
  }
  .d-xs-flex {
    display: flex !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 20rem) {
  .d-xs-block {
    display: block !important;
  }
  .d-xs-flex {
    display: flex !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 20rem) {
  .d-xs-block {
    display: block !important;
  }
  .d-xs-flex {
    display: flex !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 20rem) {
  .d-xs-block {
    display: block !important;
  }
  .d-xs-flex {
    display: flex !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 20rem) {
  .d-xs-block {
    display: block !important;
  }
  .d-xs-flex {
    display: flex !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 20rem) {
  .d-xs-block {
    display: block !important;
  }
  .d-xs-flex {
    display: flex !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 20rem) {
  .d-xs-block {
    display: block !important;
  }
  .d-xs-flex {
    display: flex !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-none {
    display: none !important;
  }
}
@media (min-width: 31.25rem) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 31.25rem) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 31.25rem) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 31.25rem) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 31.25rem) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 31.25rem) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 31.25rem) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 31.25rem) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 31.25rem) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 31.25rem) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 31.25rem) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-none {
    display: none !important;
  }
}
@media (min-width: 50rem) {
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 50rem) {
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 50rem) {
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 50rem) {
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 50rem) {
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 50rem) {
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 50rem) {
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 50rem) {
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 50rem) {
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 50rem) {
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 50rem) {
  .d-md-block {
    display: block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-none {
    display: none !important;
  }
}
@media (min-width: 70.5rem) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 70.5rem) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 70.5rem) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 70.5rem) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 70.5rem) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 70.5rem) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 70.5rem) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 70.5rem) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 70.5rem) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 70.5rem) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 70.5rem) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 87.5rem) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 87.5rem) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 87.5rem) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 87.5rem) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 87.5rem) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 87.5rem) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 87.5rem) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 87.5rem) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 87.5rem) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 87.5rem) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
@media (min-width: 87.5rem) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-none {
    display: none !important;
  }
}
.float-left {
  float: left !important;
}

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

.flex-justify-start {
  justify-content: flex-start !important;
}

.flex-justify-end {
  justify-content: flex-end !important;
}

.flex-justify-between {
  justify-content: space-between !important;
}

.flex-justify-around {
  justify-content: space-around !important;
}

.v-align-baseline {
  vertical-align: baseline !important;
}

.v-align-bottom {
  vertical-align: bottom !important;
}

.v-align-middle {
  vertical-align: middle !important;
}

.v-align-text-bottom {
  vertical-align: text-bottom !important;
}

.v-align-text-top {
  vertical-align: text-top !important;
}

.v-align-top {
  vertical-align: top !important;
}

.fs-1 {
  font-size: 0.5625rem !important;
}
@media (min-width: 31.25rem) {
  .fs-1 {
    font-size: 0.625rem !important;
  }
}

.fs-2 {
  font-size: 0.6875rem !important;
}
@media (min-width: 31.25rem) {
  .fs-2 {
    font-size: 0.75rem !important;
  }
}

.fs-3 {
  font-size: 0.75rem !important;
}
@media (min-width: 31.25rem) {
  .fs-3 {
    font-size: 0.875rem !important;
  }
}

.fs-4 {
  font-size: 0.875rem !important;
}
@media (min-width: 31.25rem) {
  .fs-4 {
    font-size: 1rem !important;
  }
}

.fs-5 {
  font-size: 1rem !important;
}
@media (min-width: 31.25rem) {
  .fs-5 {
    font-size: 1.125rem !important;
  }
}

.fs-6 {
  font-size: 1.125rem !important;
}
@media (min-width: 31.25rem) {
  .fs-6 {
    font-size: 1.5rem !important;
    line-height: 1.2;
  }
}

.fs-7 {
  font-size: 1.5rem !important;
  line-height: 1.2;
}
@media (min-width: 31.25rem) {
  .fs-7 {
    font-size: 2rem !important;
  }
}

.fs-8 {
  font-size: 2rem !important;
  line-height: 1.2;
}
@media (min-width: 31.25rem) {
  .fs-8 {
    font-size: 2.25rem !important;
  }
}

.fs-9 {
  font-size: 2.25rem !important;
  line-height: 1.2;
}
@media (min-width: 31.25rem) {
  .fs-9 {
    font-size: 2.625rem !important;
  }
}

.fs-10 {
  font-size: 2.625rem !important;
  line-height: 1.2;
}
@media (min-width: 31.25rem) {
  .fs-10 {
    font-size: 3rem !important;
  }
}

.fw-300 {
  font-weight: 300 !important;
}

.fw-400 {
  font-weight: 400 !important;
}

.fw-500 {
  font-weight: 500 !important;
}

.fw-700 {
  font-weight: 700 !important;
}

.lh-0 {
  line-height: 0 !important;
}

.lh-default {
  line-height: 1.5;
}

.lh-tight {
  line-height: 1.2;
}

.ls-5 {
  letter-spacing: 0.05em !important;
}

.ls-10 {
  letter-spacing: 0.1em !important;
}

.ls-0 {
  letter-spacing: 0 !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.list-style-none {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
.list-style-none li::before {
  display: none !important;
}

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

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

.mt-0 {
  margin-top: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

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

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.mxn-0 {
  margin-right: -0 !important;
  margin-left: -0 !important;
}

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

.m-1 {
  margin: 0.25rem !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mr-1 {
  margin-right: 0.25rem !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1 {
  margin-left: 0.25rem !important;
}

.mx-1 {
  margin-right: 0.25rem !important;
  margin-left: 0.25rem !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.mxn-1 {
  margin-right: -0.25rem !important;
  margin-left: -0.25rem !important;
}

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

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

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

.mr-2 {
  margin-right: 0.5rem !important;
}

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

.ml-2 {
  margin-left: 0.5rem !important;
}

.mx-2 {
  margin-right: 0.5rem !important;
  margin-left: 0.5rem !important;
}

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

.mxn-2 {
  margin-right: -0.5rem !important;
  margin-left: -0.5rem !important;
}

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

.m-3 {
  margin: 0.75rem !important;
}

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

.mr-3 {
  margin-right: 0.75rem !important;
}

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

.ml-3 {
  margin-left: 0.75rem !important;
}

.mx-3 {
  margin-right: 0.75rem !important;
  margin-left: 0.75rem !important;
}

.my-3 {
  margin-top: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}

.mxn-3 {
  margin-right: -0.75rem !important;
  margin-left: -0.75rem !important;
}

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

.m-4 {
  margin: 1rem !important;
}

.mt-4 {
  margin-top: 1rem !important;
}

.mr-4 {
  margin-right: 1rem !important;
}

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

.ml-4 {
  margin-left: 1rem !important;
}

.mx-4 {
  margin-right: 1rem !important;
  margin-left: 1rem !important;
}

.my-4 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.mxn-4 {
  margin-right: -1rem !important;
  margin-left: -1rem !important;
}

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

.m-5 {
  margin: 1.5rem !important;
}

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

.mr-5 {
  margin-right: 1.5rem !important;
}

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

.ml-5 {
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-right: 1.5rem !important;
  margin-left: 1.5rem !important;
}

.my-5 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.mxn-5 {
  margin-right: -1.5rem !important;
  margin-left: -1.5rem !important;
}

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

.m-6 {
  margin: 2rem !important;
}

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

.mr-6 {
  margin-right: 2rem !important;
}

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

.ml-6 {
  margin-left: 2rem !important;
}

.mx-6 {
  margin-right: 2rem !important;
  margin-left: 2rem !important;
}

.my-6 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.mxn-6 {
  margin-right: -2rem !important;
  margin-left: -2rem !important;
}

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

.m-7 {
  margin: 2.5rem !important;
}

.mt-7 {
  margin-top: 2.5rem !important;
}

.mr-7 {
  margin-right: 2.5rem !important;
}

.mb-7 {
  margin-bottom: 2.5rem !important;
}

.ml-7 {
  margin-left: 2.5rem !important;
}

.mx-7 {
  margin-right: 2.5rem !important;
  margin-left: 2.5rem !important;
}

.my-7 {
  margin-top: 2.5rem !important;
  margin-bottom: 2.5rem !important;
}

.mxn-7 {
  margin-right: -2.5rem !important;
  margin-left: -2.5rem !important;
}

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

.m-8 {
  margin: 3rem !important;
}

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

.mr-8 {
  margin-right: 3rem !important;
}

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

.ml-8 {
  margin-left: 3rem !important;
}

.mx-8 {
  margin-right: 3rem !important;
  margin-left: 3rem !important;
}

.my-8 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.mxn-8 {
  margin-right: -3rem !important;
  margin-left: -3rem !important;
}

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

.m-9 {
  margin: 3.5rem !important;
}

.mt-9 {
  margin-top: 3.5rem !important;
}

.mr-9 {
  margin-right: 3.5rem !important;
}

.mb-9 {
  margin-bottom: 3.5rem !important;
}

.ml-9 {
  margin-left: 3.5rem !important;
}

.mx-9 {
  margin-right: 3.5rem !important;
  margin-left: 3.5rem !important;
}

.my-9 {
  margin-top: 3.5rem !important;
  margin-bottom: 3.5rem !important;
}

.mxn-9 {
  margin-right: -3.5rem !important;
  margin-left: -3.5rem !important;
}

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

.m-10 {
  margin: 4rem !important;
}

.mt-10 {
  margin-top: 4rem !important;
}

.mr-10 {
  margin-right: 4rem !important;
}

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

.ml-10 {
  margin-left: 4rem !important;
}

.mx-10 {
  margin-right: 4rem !important;
  margin-left: 4rem !important;
}

.my-10 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.mxn-10 {
  margin-right: -4rem !important;
  margin-left: -4rem !important;
}

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

@media (min-width: 20rem) {
  .m-xs-0 {
    margin: 0 !important;
  }
  .mt-xs-0 {
    margin-top: 0 !important;
  }
  .mr-xs-0 {
    margin-right: 0 !important;
  }
  .mb-xs-0 {
    margin-bottom: 0 !important;
  }
  .ml-xs-0 {
    margin-left: 0 !important;
  }
  .mx-xs-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .my-xs-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .mxn-xs-0 {
    margin-right: -0 !important;
    margin-left: -0 !important;
  }
}
@media (min-width: 20rem) {
  .m-xs-1 {
    margin: 0.25rem !important;
  }
  .mt-xs-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xs-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xs-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xs-1 {
    margin-left: 0.25rem !important;
  }
  .mx-xs-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .my-xs-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .mxn-xs-1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
}
@media (min-width: 20rem) {
  .m-xs-2 {
    margin: 0.5rem !important;
  }
  .mt-xs-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xs-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xs-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xs-2 {
    margin-left: 0.5rem !important;
  }
  .mx-xs-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .my-xs-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .mxn-xs-2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
}
@media (min-width: 20rem) {
  .m-xs-3 {
    margin: 0.75rem !important;
  }
  .mt-xs-3 {
    margin-top: 0.75rem !important;
  }
  .mr-xs-3 {
    margin-right: 0.75rem !important;
  }
  .mb-xs-3 {
    margin-bottom: 0.75rem !important;
  }
  .ml-xs-3 {
    margin-left: 0.75rem !important;
  }
  .mx-xs-3 {
    margin-right: 0.75rem !important;
    margin-left: 0.75rem !important;
  }
  .my-xs-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  .mxn-xs-3 {
    margin-right: -0.75rem !important;
    margin-left: -0.75rem !important;
  }
}
@media (min-width: 20rem) {
  .m-xs-4 {
    margin: 1rem !important;
  }
  .mt-xs-4 {
    margin-top: 1rem !important;
  }
  .mr-xs-4 {
    margin-right: 1rem !important;
  }
  .mb-xs-4 {
    margin-bottom: 1rem !important;
  }
  .ml-xs-4 {
    margin-left: 1rem !important;
  }
  .mx-xs-4 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .my-xs-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mxn-xs-4 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
}
@media (min-width: 20rem) {
  .m-xs-5 {
    margin: 1.5rem !important;
  }
  .mt-xs-5 {
    margin-top: 1.5rem !important;
  }
  .mr-xs-5 {
    margin-right: 1.5rem !important;
  }
  .mb-xs-5 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xs-5 {
    margin-left: 1.5rem !important;
  }
  .mx-xs-5 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .my-xs-5 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .mxn-xs-5 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
}
@media (min-width: 20rem) {
  .m-xs-6 {
    margin: 2rem !important;
  }
  .mt-xs-6 {
    margin-top: 2rem !important;
  }
  .mr-xs-6 {
    margin-right: 2rem !important;
  }
  .mb-xs-6 {
    margin-bottom: 2rem !important;
  }
  .ml-xs-6 {
    margin-left: 2rem !important;
  }
  .mx-xs-6 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .my-xs-6 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mxn-xs-6 {
    margin-right: -2rem !important;
    margin-left: -2rem !important;
  }
}
@media (min-width: 20rem) {
  .m-xs-7 {
    margin: 2.5rem !important;
  }
  .mt-xs-7 {
    margin-top: 2.5rem !important;
  }
  .mr-xs-7 {
    margin-right: 2.5rem !important;
  }
  .mb-xs-7 {
    margin-bottom: 2.5rem !important;
  }
  .ml-xs-7 {
    margin-left: 2.5rem !important;
  }
  .mx-xs-7 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important;
  }
  .my-xs-7 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  .mxn-xs-7 {
    margin-right: -2.5rem !important;
    margin-left: -2.5rem !important;
  }
}
@media (min-width: 20rem) {
  .m-xs-8 {
    margin: 3rem !important;
  }
  .mt-xs-8 {
    margin-top: 3rem !important;
  }
  .mr-xs-8 {
    margin-right: 3rem !important;
  }
  .mb-xs-8 {
    margin-bottom: 3rem !important;
  }
  .ml-xs-8 {
    margin-left: 3rem !important;
  }
  .mx-xs-8 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .my-xs-8 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mxn-xs-8 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
}
@media (min-width: 20rem) {
  .m-xs-9 {
    margin: 3.5rem !important;
  }
  .mt-xs-9 {
    margin-top: 3.5rem !important;
  }
  .mr-xs-9 {
    margin-right: 3.5rem !important;
  }
  .mb-xs-9 {
    margin-bottom: 3.5rem !important;
  }
  .ml-xs-9 {
    margin-left: 3.5rem !important;
  }
  .mx-xs-9 {
    margin-right: 3.5rem !important;
    margin-left: 3.5rem !important;
  }
  .my-xs-9 {
    margin-top: 3.5rem !important;
    margin-bottom: 3.5rem !important;
  }
  .mxn-xs-9 {
    margin-right: -3.5rem !important;
    margin-left: -3.5rem !important;
  }
}
@media (min-width: 20rem) {
  .m-xs-10 {
    margin: 4rem !important;
  }
  .mt-xs-10 {
    margin-top: 4rem !important;
  }
  .mr-xs-10 {
    margin-right: 4rem !important;
  }
  .mb-xs-10 {
    margin-bottom: 4rem !important;
  }
  .ml-xs-10 {
    margin-left: 4rem !important;
  }
  .mx-xs-10 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .my-xs-10 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mxn-xs-10 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
}
@media (min-width: 31.25rem) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0 {
    margin-left: 0 !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .mxn-sm-0 {
    margin-right: -0 !important;
    margin-left: -0 !important;
  }
}
@media (min-width: 31.25rem) {
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1 {
    margin-left: 0.25rem !important;
  }
  .mx-sm-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .my-sm-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .mxn-sm-1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
}
@media (min-width: 31.25rem) {
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2 {
    margin-left: 0.5rem !important;
  }
  .mx-sm-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .my-sm-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .mxn-sm-2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
}
@media (min-width: 31.25rem) {
  .m-sm-3 {
    margin: 0.75rem !important;
  }
  .mt-sm-3 {
    margin-top: 0.75rem !important;
  }
  .mr-sm-3 {
    margin-right: 0.75rem !important;
  }
  .mb-sm-3 {
    margin-bottom: 0.75rem !important;
  }
  .ml-sm-3 {
    margin-left: 0.75rem !important;
  }
  .mx-sm-3 {
    margin-right: 0.75rem !important;
    margin-left: 0.75rem !important;
  }
  .my-sm-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  .mxn-sm-3 {
    margin-right: -0.75rem !important;
    margin-left: -0.75rem !important;
  }
}
@media (min-width: 31.25rem) {
  .m-sm-4 {
    margin: 1rem !important;
  }
  .mt-sm-4 {
    margin-top: 1rem !important;
  }
  .mr-sm-4 {
    margin-right: 1rem !important;
  }
  .mb-sm-4 {
    margin-bottom: 1rem !important;
  }
  .ml-sm-4 {
    margin-left: 1rem !important;
  }
  .mx-sm-4 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .my-sm-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mxn-sm-4 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
}
@media (min-width: 31.25rem) {
  .m-sm-5 {
    margin: 1.5rem !important;
  }
  .mt-sm-5 {
    margin-top: 1.5rem !important;
  }
  .mr-sm-5 {
    margin-right: 1.5rem !important;
  }
  .mb-sm-5 {
    margin-bottom: 1.5rem !important;
  }
  .ml-sm-5 {
    margin-left: 1.5rem !important;
  }
  .mx-sm-5 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .my-sm-5 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .mxn-sm-5 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
}
@media (min-width: 31.25rem) {
  .m-sm-6 {
    margin: 2rem !important;
  }
  .mt-sm-6 {
    margin-top: 2rem !important;
  }
  .mr-sm-6 {
    margin-right: 2rem !important;
  }
  .mb-sm-6 {
    margin-bottom: 2rem !important;
  }
  .ml-sm-6 {
    margin-left: 2rem !important;
  }
  .mx-sm-6 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .my-sm-6 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mxn-sm-6 {
    margin-right: -2rem !important;
    margin-left: -2rem !important;
  }
}
@media (min-width: 31.25rem) {
  .m-sm-7 {
    margin: 2.5rem !important;
  }
  .mt-sm-7 {
    margin-top: 2.5rem !important;
  }
  .mr-sm-7 {
    margin-right: 2.5rem !important;
  }
  .mb-sm-7 {
    margin-bottom: 2.5rem !important;
  }
  .ml-sm-7 {
    margin-left: 2.5rem !important;
  }
  .mx-sm-7 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important;
  }
  .my-sm-7 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  .mxn-sm-7 {
    margin-right: -2.5rem !important;
    margin-left: -2.5rem !important;
  }
}
@media (min-width: 31.25rem) {
  .m-sm-8 {
    margin: 3rem !important;
  }
  .mt-sm-8 {
    margin-top: 3rem !important;
  }
  .mr-sm-8 {
    margin-right: 3rem !important;
  }
  .mb-sm-8 {
    margin-bottom: 3rem !important;
  }
  .ml-sm-8 {
    margin-left: 3rem !important;
  }
  .mx-sm-8 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .my-sm-8 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mxn-sm-8 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
}
@media (min-width: 31.25rem) {
  .m-sm-9 {
    margin: 3.5rem !important;
  }
  .mt-sm-9 {
    margin-top: 3.5rem !important;
  }
  .mr-sm-9 {
    margin-right: 3.5rem !important;
  }
  .mb-sm-9 {
    margin-bottom: 3.5rem !important;
  }
  .ml-sm-9 {
    margin-left: 3.5rem !important;
  }
  .mx-sm-9 {
    margin-right: 3.5rem !important;
    margin-left: 3.5rem !important;
  }
  .my-sm-9 {
    margin-top: 3.5rem !important;
    margin-bottom: 3.5rem !important;
  }
  .mxn-sm-9 {
    margin-right: -3.5rem !important;
    margin-left: -3.5rem !important;
  }
}
@media (min-width: 31.25rem) {
  .m-sm-10 {
    margin: 4rem !important;
  }
  .mt-sm-10 {
    margin-top: 4rem !important;
  }
  .mr-sm-10 {
    margin-right: 4rem !important;
  }
  .mb-sm-10 {
    margin-bottom: 4rem !important;
  }
  .ml-sm-10 {
    margin-left: 4rem !important;
  }
  .mx-sm-10 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .my-sm-10 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mxn-sm-10 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
}
@media (min-width: 50rem) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0 {
    margin-left: 0 !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .mxn-md-0 {
    margin-right: -0 !important;
    margin-left: -0 !important;
  }
}
@media (min-width: 50rem) {
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1 {
    margin-left: 0.25rem !important;
  }
  .mx-md-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .my-md-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .mxn-md-1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
}
@media (min-width: 50rem) {
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2 {
    margin-left: 0.5rem !important;
  }
  .mx-md-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .my-md-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .mxn-md-2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
}
@media (min-width: 50rem) {
  .m-md-3 {
    margin: 0.75rem !important;
  }
  .mt-md-3 {
    margin-top: 0.75rem !important;
  }
  .mr-md-3 {
    margin-right: 0.75rem !important;
  }
  .mb-md-3 {
    margin-bottom: 0.75rem !important;
  }
  .ml-md-3 {
    margin-left: 0.75rem !important;
  }
  .mx-md-3 {
    margin-right: 0.75rem !important;
    margin-left: 0.75rem !important;
  }
  .my-md-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  .mxn-md-3 {
    margin-right: -0.75rem !important;
    margin-left: -0.75rem !important;
  }
}
@media (min-width: 50rem) {
  .m-md-4 {
    margin: 1rem !important;
  }
  .mt-md-4 {
    margin-top: 1rem !important;
  }
  .mr-md-4 {
    margin-right: 1rem !important;
  }
  .mb-md-4 {
    margin-bottom: 1rem !important;
  }
  .ml-md-4 {
    margin-left: 1rem !important;
  }
  .mx-md-4 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .my-md-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mxn-md-4 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
}
@media (min-width: 50rem) {
  .m-md-5 {
    margin: 1.5rem !important;
  }
  .mt-md-5 {
    margin-top: 1.5rem !important;
  }
  .mr-md-5 {
    margin-right: 1.5rem !important;
  }
  .mb-md-5 {
    margin-bottom: 1.5rem !important;
  }
  .ml-md-5 {
    margin-left: 1.5rem !important;
  }
  .mx-md-5 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .my-md-5 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .mxn-md-5 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
}
@media (min-width: 50rem) {
  .m-md-6 {
    margin: 2rem !important;
  }
  .mt-md-6 {
    margin-top: 2rem !important;
  }
  .mr-md-6 {
    margin-right: 2rem !important;
  }
  .mb-md-6 {
    margin-bottom: 2rem !important;
  }
  .ml-md-6 {
    margin-left: 2rem !important;
  }
  .mx-md-6 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .my-md-6 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mxn-md-6 {
    margin-right: -2rem !important;
    margin-left: -2rem !important;
  }
}
@media (min-width: 50rem) {
  .m-md-7 {
    margin: 2.5rem !important;
  }
  .mt-md-7 {
    margin-top: 2.5rem !important;
  }
  .mr-md-7 {
    margin-right: 2.5rem !important;
  }
  .mb-md-7 {
    margin-bottom: 2.5rem !important;
  }
  .ml-md-7 {
    margin-left: 2.5rem !important;
  }
  .mx-md-7 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important;
  }
  .my-md-7 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  .mxn-md-7 {
    margin-right: -2.5rem !important;
    margin-left: -2.5rem !important;
  }
}
@media (min-width: 50rem) {
  .m-md-8 {
    margin: 3rem !important;
  }
  .mt-md-8 {
    margin-top: 3rem !important;
  }
  .mr-md-8 {
    margin-right: 3rem !important;
  }
  .mb-md-8 {
    margin-bottom: 3rem !important;
  }
  .ml-md-8 {
    margin-left: 3rem !important;
  }
  .mx-md-8 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .my-md-8 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mxn-md-8 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
}
@media (min-width: 50rem) {
  .m-md-9 {
    margin: 3.5rem !important;
  }
  .mt-md-9 {
    margin-top: 3.5rem !important;
  }
  .mr-md-9 {
    margin-right: 3.5rem !important;
  }
  .mb-md-9 {
    margin-bottom: 3.5rem !important;
  }
  .ml-md-9 {
    margin-left: 3.5rem !important;
  }
  .mx-md-9 {
    margin-right: 3.5rem !important;
    margin-left: 3.5rem !important;
  }
  .my-md-9 {
    margin-top: 3.5rem !important;
    margin-bottom: 3.5rem !important;
  }
  .mxn-md-9 {
    margin-right: -3.5rem !important;
    margin-left: -3.5rem !important;
  }
}
@media (min-width: 50rem) {
  .m-md-10 {
    margin: 4rem !important;
  }
  .mt-md-10 {
    margin-top: 4rem !important;
  }
  .mr-md-10 {
    margin-right: 4rem !important;
  }
  .mb-md-10 {
    margin-bottom: 4rem !important;
  }
  .ml-md-10 {
    margin-left: 4rem !important;
  }
  .mx-md-10 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .my-md-10 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mxn-md-10 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
}
@media (min-width: 70.5rem) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0 {
    margin-left: 0 !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .mxn-lg-0 {
    margin-right: -0 !important;
    margin-left: -0 !important;
  }
}
@media (min-width: 70.5rem) {
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1 {
    margin-left: 0.25rem !important;
  }
  .mx-lg-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .my-lg-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .mxn-lg-1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
}
@media (min-width: 70.5rem) {
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2 {
    margin-left: 0.5rem !important;
  }
  .mx-lg-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .my-lg-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .mxn-lg-2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
}
@media (min-width: 70.5rem) {
  .m-lg-3 {
    margin: 0.75rem !important;
  }
  .mt-lg-3 {
    margin-top: 0.75rem !important;
  }
  .mr-lg-3 {
    margin-right: 0.75rem !important;
  }
  .mb-lg-3 {
    margin-bottom: 0.75rem !important;
  }
  .ml-lg-3 {
    margin-left: 0.75rem !important;
  }
  .mx-lg-3 {
    margin-right: 0.75rem !important;
    margin-left: 0.75rem !important;
  }
  .my-lg-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  .mxn-lg-3 {
    margin-right: -0.75rem !important;
    margin-left: -0.75rem !important;
  }
}
@media (min-width: 70.5rem) {
  .m-lg-4 {
    margin: 1rem !important;
  }
  .mt-lg-4 {
    margin-top: 1rem !important;
  }
  .mr-lg-4 {
    margin-right: 1rem !important;
  }
  .mb-lg-4 {
    margin-bottom: 1rem !important;
  }
  .ml-lg-4 {
    margin-left: 1rem !important;
  }
  .mx-lg-4 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .my-lg-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mxn-lg-4 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
}
@media (min-width: 70.5rem) {
  .m-lg-5 {
    margin: 1.5rem !important;
  }
  .mt-lg-5 {
    margin-top: 1.5rem !important;
  }
  .mr-lg-5 {
    margin-right: 1.5rem !important;
  }
  .mb-lg-5 {
    margin-bottom: 1.5rem !important;
  }
  .ml-lg-5 {
    margin-left: 1.5rem !important;
  }
  .mx-lg-5 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .my-lg-5 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .mxn-lg-5 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
}
@media (min-width: 70.5rem) {
  .m-lg-6 {
    margin: 2rem !important;
  }
  .mt-lg-6 {
    margin-top: 2rem !important;
  }
  .mr-lg-6 {
    margin-right: 2rem !important;
  }
  .mb-lg-6 {
    margin-bottom: 2rem !important;
  }
  .ml-lg-6 {
    margin-left: 2rem !important;
  }
  .mx-lg-6 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .my-lg-6 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mxn-lg-6 {
    margin-right: -2rem !important;
    margin-left: -2rem !important;
  }
}
@media (min-width: 70.5rem) {
  .m-lg-7 {
    margin: 2.5rem !important;
  }
  .mt-lg-7 {
    margin-top: 2.5rem !important;
  }
  .mr-lg-7 {
    margin-right: 2.5rem !important;
  }
  .mb-lg-7 {
    margin-bottom: 2.5rem !important;
  }
  .ml-lg-7 {
    margin-left: 2.5rem !important;
  }
  .mx-lg-7 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important;
  }
  .my-lg-7 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  .mxn-lg-7 {
    margin-right: -2.5rem !important;
    margin-left: -2.5rem !important;
  }
}
@media (min-width: 70.5rem) {
  .m-lg-8 {
    margin: 3rem !important;
  }
  .mt-lg-8 {
    margin-top: 3rem !important;
  }
  .mr-lg-8 {
    margin-right: 3rem !important;
  }
  .mb-lg-8 {
    margin-bottom: 3rem !important;
  }
  .ml-lg-8 {
    margin-left: 3rem !important;
  }
  .mx-lg-8 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .my-lg-8 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mxn-lg-8 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
}
@media (min-width: 70.5rem) {
  .m-lg-9 {
    margin: 3.5rem !important;
  }
  .mt-lg-9 {
    margin-top: 3.5rem !important;
  }
  .mr-lg-9 {
    margin-right: 3.5rem !important;
  }
  .mb-lg-9 {
    margin-bottom: 3.5rem !important;
  }
  .ml-lg-9 {
    margin-left: 3.5rem !important;
  }
  .mx-lg-9 {
    margin-right: 3.5rem !important;
    margin-left: 3.5rem !important;
  }
  .my-lg-9 {
    margin-top: 3.5rem !important;
    margin-bottom: 3.5rem !important;
  }
  .mxn-lg-9 {
    margin-right: -3.5rem !important;
    margin-left: -3.5rem !important;
  }
}
@media (min-width: 70.5rem) {
  .m-lg-10 {
    margin: 4rem !important;
  }
  .mt-lg-10 {
    margin-top: 4rem !important;
  }
  .mr-lg-10 {
    margin-right: 4rem !important;
  }
  .mb-lg-10 {
    margin-bottom: 4rem !important;
  }
  .ml-lg-10 {
    margin-left: 4rem !important;
  }
  .mx-lg-10 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .my-lg-10 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mxn-lg-10 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
}
@media (min-width: 87.5rem) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0 {
    margin-left: 0 !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .mxn-xl-0 {
    margin-right: -0 !important;
    margin-left: -0 !important;
  }
}
@media (min-width: 87.5rem) {
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1 {
    margin-left: 0.25rem !important;
  }
  .mx-xl-1 {
    margin-right: 0.25rem !important;
    margin-left: 0.25rem !important;
  }
  .my-xl-1 {
    margin-top: 0.25rem !important;
    margin-bottom: 0.25rem !important;
  }
  .mxn-xl-1 {
    margin-right: -0.25rem !important;
    margin-left: -0.25rem !important;
  }
}
@media (min-width: 87.5rem) {
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2 {
    margin-left: 0.5rem !important;
  }
  .mx-xl-2 {
    margin-right: 0.5rem !important;
    margin-left: 0.5rem !important;
  }
  .my-xl-2 {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
  .mxn-xl-2 {
    margin-right: -0.5rem !important;
    margin-left: -0.5rem !important;
  }
}
@media (min-width: 87.5rem) {
  .m-xl-3 {
    margin: 0.75rem !important;
  }
  .mt-xl-3 {
    margin-top: 0.75rem !important;
  }
  .mr-xl-3 {
    margin-right: 0.75rem !important;
  }
  .mb-xl-3 {
    margin-bottom: 0.75rem !important;
  }
  .ml-xl-3 {
    margin-left: 0.75rem !important;
  }
  .mx-xl-3 {
    margin-right: 0.75rem !important;
    margin-left: 0.75rem !important;
  }
  .my-xl-3 {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
  .mxn-xl-3 {
    margin-right: -0.75rem !important;
    margin-left: -0.75rem !important;
  }
}
@media (min-width: 87.5rem) {
  .m-xl-4 {
    margin: 1rem !important;
  }
  .mt-xl-4 {
    margin-top: 1rem !important;
  }
  .mr-xl-4 {
    margin-right: 1rem !important;
  }
  .mb-xl-4 {
    margin-bottom: 1rem !important;
  }
  .ml-xl-4 {
    margin-left: 1rem !important;
  }
  .mx-xl-4 {
    margin-right: 1rem !important;
    margin-left: 1rem !important;
  }
  .my-xl-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .mxn-xl-4 {
    margin-right: -1rem !important;
    margin-left: -1rem !important;
  }
}
@media (min-width: 87.5rem) {
  .m-xl-5 {
    margin: 1.5rem !important;
  }
  .mt-xl-5 {
    margin-top: 1.5rem !important;
  }
  .mr-xl-5 {
    margin-right: 1.5rem !important;
  }
  .mb-xl-5 {
    margin-bottom: 1.5rem !important;
  }
  .ml-xl-5 {
    margin-left: 1.5rem !important;
  }
  .mx-xl-5 {
    margin-right: 1.5rem !important;
    margin-left: 1.5rem !important;
  }
  .my-xl-5 {
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }
  .mxn-xl-5 {
    margin-right: -1.5rem !important;
    margin-left: -1.5rem !important;
  }
}
@media (min-width: 87.5rem) {
  .m-xl-6 {
    margin: 2rem !important;
  }
  .mt-xl-6 {
    margin-top: 2rem !important;
  }
  .mr-xl-6 {
    margin-right: 2rem !important;
  }
  .mb-xl-6 {
    margin-bottom: 2rem !important;
  }
  .ml-xl-6 {
    margin-left: 2rem !important;
  }
  .mx-xl-6 {
    margin-right: 2rem !important;
    margin-left: 2rem !important;
  }
  .my-xl-6 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
  .mxn-xl-6 {
    margin-right: -2rem !important;
    margin-left: -2rem !important;
  }
}
@media (min-width: 87.5rem) {
  .m-xl-7 {
    margin: 2.5rem !important;
  }
  .mt-xl-7 {
    margin-top: 2.5rem !important;
  }
  .mr-xl-7 {
    margin-right: 2.5rem !important;
  }
  .mb-xl-7 {
    margin-bottom: 2.5rem !important;
  }
  .ml-xl-7 {
    margin-left: 2.5rem !important;
  }
  .mx-xl-7 {
    margin-right: 2.5rem !important;
    margin-left: 2.5rem !important;
  }
  .my-xl-7 {
    margin-top: 2.5rem !important;
    margin-bottom: 2.5rem !important;
  }
  .mxn-xl-7 {
    margin-right: -2.5rem !important;
    margin-left: -2.5rem !important;
  }
}
@media (min-width: 87.5rem) {
  .m-xl-8 {
    margin: 3rem !important;
  }
  .mt-xl-8 {
    margin-top: 3rem !important;
  }
  .mr-xl-8 {
    margin-right: 3rem !important;
  }
  .mb-xl-8 {
    margin-bottom: 3rem !important;
  }
  .ml-xl-8 {
    margin-left: 3rem !important;
  }
  .mx-xl-8 {
    margin-right: 3rem !important;
    margin-left: 3rem !important;
  }
  .my-xl-8 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important;
  }
  .mxn-xl-8 {
    margin-right: -3rem !important;
    margin-left: -3rem !important;
  }
}
@media (min-width: 87.5rem) {
  .m-xl-9 {
    margin: 3.5rem !important;
  }
  .mt-xl-9 {
    margin-top: 3.5rem !important;
  }
  .mr-xl-9 {
    margin-right: 3.5rem !important;
  }
  .mb-xl-9 {
    margin-bottom: 3.5rem !important;
  }
  .ml-xl-9 {
    margin-left: 3.5rem !important;
  }
  .mx-xl-9 {
    margin-right: 3.5rem !important;
    margin-left: 3.5rem !important;
  }
  .my-xl-9 {
    margin-top: 3.5rem !important;
    margin-bottom: 3.5rem !important;
  }
  .mxn-xl-9 {
    margin-right: -3.5rem !important;
    margin-left: -3.5rem !important;
  }
}
@media (min-width: 87.5rem) {
  .m-xl-10 {
    margin: 4rem !important;
  }
  .mt-xl-10 {
    margin-top: 4rem !important;
  }
  .mr-xl-10 {
    margin-right: 4rem !important;
  }
  .mb-xl-10 {
    margin-bottom: 4rem !important;
  }
  .ml-xl-10 {
    margin-left: 4rem !important;
  }
  .mx-xl-10 {
    margin-right: 4rem !important;
    margin-left: 4rem !important;
  }
  .my-xl-10 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
  .mxn-xl-10 {
    margin-right: -4rem !important;
    margin-left: -4rem !important;
  }
}
.p-0 {
  padding: 0 !important;
}

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

.pr-0 {
  padding-right: 0 !important;
}

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

.pl-0 {
  padding-left: 0 !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pr-1 {
  padding-right: 0.25rem !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1 {
  padding-left: 0.25rem !important;
}

.px-1 {
  padding-right: 0.25rem !important;
  padding-left: 0.25rem !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pr-2 {
  padding-right: 0.5rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2 {
  padding-left: 0.5rem !important;
}

.px-2 {
  padding-right: 0.5rem !important;
  padding-left: 0.5rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.p-3 {
  padding: 0.75rem !important;
}

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

.pr-3 {
  padding-right: 0.75rem !important;
}

.pb-3 {
  padding-bottom: 0.75rem !important;
}

.pl-3 {
  padding-left: 0.75rem !important;
}

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

.py-3 {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

.p-4 {
  padding: 1rem !important;
}

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

.pr-4 {
  padding-right: 1rem !important;
}

.pb-4 {
  padding-bottom: 1rem !important;
}

.pl-4 {
  padding-left: 1rem !important;
}

.px-4 {
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}

.py-4 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.p-5 {
  padding: 1.5rem !important;
}

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

.pr-5 {
  padding-right: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 1.5rem !important;
}

.pl-5 {
  padding-left: 1.5rem !important;
}

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

.py-5 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.p-6 {
  padding: 2rem !important;
}

.pt-6 {
  padding-top: 2rem !important;
}

.pr-6 {
  padding-right: 2rem !important;
}

.pb-6 {
  padding-bottom: 2rem !important;
}

.pl-6 {
  padding-left: 2rem !important;
}

.px-6 {
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}

.py-6 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.p-7 {
  padding: 2.5rem !important;
}

.pt-7 {
  padding-top: 2.5rem !important;
}

.pr-7 {
  padding-right: 2.5rem !important;
}

.pb-7 {
  padding-bottom: 2.5rem !important;
}

.pl-7 {
  padding-left: 2.5rem !important;
}

.px-7 {
  padding-right: 2.5rem !important;
  padding-left: 2.5rem !important;
}

.py-7 {
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}

.p-8 {
  padding: 3rem !important;
}

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

.pr-8 {
  padding-right: 3rem !important;
}

.pb-8 {
  padding-bottom: 3rem !important;
}

.pl-8 {
  padding-left: 3rem !important;
}

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

.py-8 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.p-9 {
  padding: 3.5rem !important;
}

.pt-9 {
  padding-top: 3.5rem !important;
}

.pr-9 {
  padding-right: 3.5rem !important;
}

.pb-9 {
  padding-bottom: 3.5rem !important;
}

.pl-9 {
  padding-left: 3.5rem !important;
}

.px-9 {
  padding-right: 3.5rem !important;
  padding-left: 3.5rem !important;
}

.py-9 {
  padding-top: 3.5rem !important;
  padding-bottom: 3.5rem !important;
}

.p-10 {
  padding: 4rem !important;
}

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

.pr-10 {
  padding-right: 4rem !important;
}

.pb-10 {
  padding-bottom: 4rem !important;
}

.pl-10 {
  padding-left: 4rem !important;
}

.px-10 {
  padding-right: 4rem !important;
  padding-left: 4rem !important;
}

.py-10 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

@media (min-width: 20rem) {
  .p-xs-0 {
    padding: 0 !important;
  }
  .pt-xs-0 {
    padding-top: 0 !important;
  }
  .pr-xs-0 {
    padding-right: 0 !important;
  }
  .pb-xs-0 {
    padding-bottom: 0 !important;
  }
  .pl-xs-0 {
    padding-left: 0 !important;
  }
  .px-xs-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .py-xs-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .p-xs-1 {
    padding: 0.25rem !important;
  }
  .pt-xs-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xs-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xs-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xs-1 {
    padding-left: 0.25rem !important;
  }
  .px-xs-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .py-xs-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .p-xs-2 {
    padding: 0.5rem !important;
  }
  .pt-xs-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xs-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xs-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xs-2 {
    padding-left: 0.5rem !important;
  }
  .px-xs-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .py-xs-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .p-xs-3 {
    padding: 0.75rem !important;
  }
  .pt-xs-3 {
    padding-top: 0.75rem !important;
  }
  .pr-xs-3 {
    padding-right: 0.75rem !important;
  }
  .pb-xs-3 {
    padding-bottom: 0.75rem !important;
  }
  .pl-xs-3 {
    padding-left: 0.75rem !important;
  }
  .px-xs-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }
  .py-xs-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  .p-xs-4 {
    padding: 1rem !important;
  }
  .pt-xs-4 {
    padding-top: 1rem !important;
  }
  .pr-xs-4 {
    padding-right: 1rem !important;
  }
  .pb-xs-4 {
    padding-bottom: 1rem !important;
  }
  .pl-xs-4 {
    padding-left: 1rem !important;
  }
  .px-xs-4 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .py-xs-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .p-xs-5 {
    padding: 1.5rem !important;
  }
  .pt-xs-5 {
    padding-top: 1.5rem !important;
  }
  .pr-xs-5 {
    padding-right: 1.5rem !important;
  }
  .pb-xs-5 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xs-5 {
    padding-left: 1.5rem !important;
  }
  .px-xs-5 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .py-xs-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .p-xs-6 {
    padding: 2rem !important;
  }
  .pt-xs-6 {
    padding-top: 2rem !important;
  }
  .pr-xs-6 {
    padding-right: 2rem !important;
  }
  .pb-xs-6 {
    padding-bottom: 2rem !important;
  }
  .pl-xs-6 {
    padding-left: 2rem !important;
  }
  .px-xs-6 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .py-xs-6 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .p-xs-7 {
    padding: 2.5rem !important;
  }
  .pt-xs-7 {
    padding-top: 2.5rem !important;
  }
  .pr-xs-7 {
    padding-right: 2.5rem !important;
  }
  .pb-xs-7 {
    padding-bottom: 2.5rem !important;
  }
  .pl-xs-7 {
    padding-left: 2.5rem !important;
  }
  .px-xs-7 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
  }
  .py-xs-7 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .p-xs-8 {
    padding: 3rem !important;
  }
  .pt-xs-8 {
    padding-top: 3rem !important;
  }
  .pr-xs-8 {
    padding-right: 3rem !important;
  }
  .pb-xs-8 {
    padding-bottom: 3rem !important;
  }
  .pl-xs-8 {
    padding-left: 3rem !important;
  }
  .px-xs-8 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xs-8 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .p-xs-9 {
    padding: 3.5rem !important;
  }
  .pt-xs-9 {
    padding-top: 3.5rem !important;
  }
  .pr-xs-9 {
    padding-right: 3.5rem !important;
  }
  .pb-xs-9 {
    padding-bottom: 3.5rem !important;
  }
  .pl-xs-9 {
    padding-left: 3.5rem !important;
  }
  .px-xs-9 {
    padding-right: 3.5rem !important;
    padding-left: 3.5rem !important;
  }
  .py-xs-9 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  .p-xs-10 {
    padding: 4rem !important;
  }
  .pt-xs-10 {
    padding-top: 4rem !important;
  }
  .pr-xs-10 {
    padding-right: 4rem !important;
  }
  .pb-xs-10 {
    padding-bottom: 4rem !important;
  }
  .pl-xs-10 {
    padding-left: 4rem !important;
  }
  .px-xs-10 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .py-xs-10 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
@media (min-width: 31.25rem) {
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0 {
    padding-left: 0 !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1 {
    padding-left: 0.25rem !important;
  }
  .px-sm-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .py-sm-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2 {
    padding-left: 0.5rem !important;
  }
  .px-sm-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .py-sm-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .p-sm-3 {
    padding: 0.75rem !important;
  }
  .pt-sm-3 {
    padding-top: 0.75rem !important;
  }
  .pr-sm-3 {
    padding-right: 0.75rem !important;
  }
  .pb-sm-3 {
    padding-bottom: 0.75rem !important;
  }
  .pl-sm-3 {
    padding-left: 0.75rem !important;
  }
  .px-sm-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }
  .py-sm-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  .p-sm-4 {
    padding: 1rem !important;
  }
  .pt-sm-4 {
    padding-top: 1rem !important;
  }
  .pr-sm-4 {
    padding-right: 1rem !important;
  }
  .pb-sm-4 {
    padding-bottom: 1rem !important;
  }
  .pl-sm-4 {
    padding-left: 1rem !important;
  }
  .px-sm-4 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .py-sm-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .p-sm-5 {
    padding: 1.5rem !important;
  }
  .pt-sm-5 {
    padding-top: 1.5rem !important;
  }
  .pr-sm-5 {
    padding-right: 1.5rem !important;
  }
  .pb-sm-5 {
    padding-bottom: 1.5rem !important;
  }
  .pl-sm-5 {
    padding-left: 1.5rem !important;
  }
  .px-sm-5 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .py-sm-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .p-sm-6 {
    padding: 2rem !important;
  }
  .pt-sm-6 {
    padding-top: 2rem !important;
  }
  .pr-sm-6 {
    padding-right: 2rem !important;
  }
  .pb-sm-6 {
    padding-bottom: 2rem !important;
  }
  .pl-sm-6 {
    padding-left: 2rem !important;
  }
  .px-sm-6 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .py-sm-6 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .p-sm-7 {
    padding: 2.5rem !important;
  }
  .pt-sm-7 {
    padding-top: 2.5rem !important;
  }
  .pr-sm-7 {
    padding-right: 2.5rem !important;
  }
  .pb-sm-7 {
    padding-bottom: 2.5rem !important;
  }
  .pl-sm-7 {
    padding-left: 2.5rem !important;
  }
  .px-sm-7 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
  }
  .py-sm-7 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .p-sm-8 {
    padding: 3rem !important;
  }
  .pt-sm-8 {
    padding-top: 3rem !important;
  }
  .pr-sm-8 {
    padding-right: 3rem !important;
  }
  .pb-sm-8 {
    padding-bottom: 3rem !important;
  }
  .pl-sm-8 {
    padding-left: 3rem !important;
  }
  .px-sm-8 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-sm-8 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .p-sm-9 {
    padding: 3.5rem !important;
  }
  .pt-sm-9 {
    padding-top: 3.5rem !important;
  }
  .pr-sm-9 {
    padding-right: 3.5rem !important;
  }
  .pb-sm-9 {
    padding-bottom: 3.5rem !important;
  }
  .pl-sm-9 {
    padding-left: 3.5rem !important;
  }
  .px-sm-9 {
    padding-right: 3.5rem !important;
    padding-left: 3.5rem !important;
  }
  .py-sm-9 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  .p-sm-10 {
    padding: 4rem !important;
  }
  .pt-sm-10 {
    padding-top: 4rem !important;
  }
  .pr-sm-10 {
    padding-right: 4rem !important;
  }
  .pb-sm-10 {
    padding-bottom: 4rem !important;
  }
  .pl-sm-10 {
    padding-left: 4rem !important;
  }
  .px-sm-10 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .py-sm-10 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
@media (min-width: 50rem) {
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0 {
    padding-left: 0 !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1 {
    padding-left: 0.25rem !important;
  }
  .px-md-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .py-md-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2 {
    padding-left: 0.5rem !important;
  }
  .px-md-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .py-md-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .p-md-3 {
    padding: 0.75rem !important;
  }
  .pt-md-3 {
    padding-top: 0.75rem !important;
  }
  .pr-md-3 {
    padding-right: 0.75rem !important;
  }
  .pb-md-3 {
    padding-bottom: 0.75rem !important;
  }
  .pl-md-3 {
    padding-left: 0.75rem !important;
  }
  .px-md-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }
  .py-md-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  .p-md-4 {
    padding: 1rem !important;
  }
  .pt-md-4 {
    padding-top: 1rem !important;
  }
  .pr-md-4 {
    padding-right: 1rem !important;
  }
  .pb-md-4 {
    padding-bottom: 1rem !important;
  }
  .pl-md-4 {
    padding-left: 1rem !important;
  }
  .px-md-4 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .py-md-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .p-md-5 {
    padding: 1.5rem !important;
  }
  .pt-md-5 {
    padding-top: 1.5rem !important;
  }
  .pr-md-5 {
    padding-right: 1.5rem !important;
  }
  .pb-md-5 {
    padding-bottom: 1.5rem !important;
  }
  .pl-md-5 {
    padding-left: 1.5rem !important;
  }
  .px-md-5 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .py-md-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .p-md-6 {
    padding: 2rem !important;
  }
  .pt-md-6 {
    padding-top: 2rem !important;
  }
  .pr-md-6 {
    padding-right: 2rem !important;
  }
  .pb-md-6 {
    padding-bottom: 2rem !important;
  }
  .pl-md-6 {
    padding-left: 2rem !important;
  }
  .px-md-6 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .py-md-6 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .p-md-7 {
    padding: 2.5rem !important;
  }
  .pt-md-7 {
    padding-top: 2.5rem !important;
  }
  .pr-md-7 {
    padding-right: 2.5rem !important;
  }
  .pb-md-7 {
    padding-bottom: 2.5rem !important;
  }
  .pl-md-7 {
    padding-left: 2.5rem !important;
  }
  .px-md-7 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
  }
  .py-md-7 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .p-md-8 {
    padding: 3rem !important;
  }
  .pt-md-8 {
    padding-top: 3rem !important;
  }
  .pr-md-8 {
    padding-right: 3rem !important;
  }
  .pb-md-8 {
    padding-bottom: 3rem !important;
  }
  .pl-md-8 {
    padding-left: 3rem !important;
  }
  .px-md-8 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-md-8 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .p-md-9 {
    padding: 3.5rem !important;
  }
  .pt-md-9 {
    padding-top: 3.5rem !important;
  }
  .pr-md-9 {
    padding-right: 3.5rem !important;
  }
  .pb-md-9 {
    padding-bottom: 3.5rem !important;
  }
  .pl-md-9 {
    padding-left: 3.5rem !important;
  }
  .px-md-9 {
    padding-right: 3.5rem !important;
    padding-left: 3.5rem !important;
  }
  .py-md-9 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  .p-md-10 {
    padding: 4rem !important;
  }
  .pt-md-10 {
    padding-top: 4rem !important;
  }
  .pr-md-10 {
    padding-right: 4rem !important;
  }
  .pb-md-10 {
    padding-bottom: 4rem !important;
  }
  .pl-md-10 {
    padding-left: 4rem !important;
  }
  .px-md-10 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .py-md-10 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
@media (min-width: 70.5rem) {
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0 {
    padding-left: 0 !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1 {
    padding-left: 0.25rem !important;
  }
  .px-lg-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .py-lg-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2 {
    padding-left: 0.5rem !important;
  }
  .px-lg-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .py-lg-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .p-lg-3 {
    padding: 0.75rem !important;
  }
  .pt-lg-3 {
    padding-top: 0.75rem !important;
  }
  .pr-lg-3 {
    padding-right: 0.75rem !important;
  }
  .pb-lg-3 {
    padding-bottom: 0.75rem !important;
  }
  .pl-lg-3 {
    padding-left: 0.75rem !important;
  }
  .px-lg-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }
  .py-lg-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  .p-lg-4 {
    padding: 1rem !important;
  }
  .pt-lg-4 {
    padding-top: 1rem !important;
  }
  .pr-lg-4 {
    padding-right: 1rem !important;
  }
  .pb-lg-4 {
    padding-bottom: 1rem !important;
  }
  .pl-lg-4 {
    padding-left: 1rem !important;
  }
  .px-lg-4 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .py-lg-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .p-lg-5 {
    padding: 1.5rem !important;
  }
  .pt-lg-5 {
    padding-top: 1.5rem !important;
  }
  .pr-lg-5 {
    padding-right: 1.5rem !important;
  }
  .pb-lg-5 {
    padding-bottom: 1.5rem !important;
  }
  .pl-lg-5 {
    padding-left: 1.5rem !important;
  }
  .px-lg-5 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .py-lg-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .p-lg-6 {
    padding: 2rem !important;
  }
  .pt-lg-6 {
    padding-top: 2rem !important;
  }
  .pr-lg-6 {
    padding-right: 2rem !important;
  }
  .pb-lg-6 {
    padding-bottom: 2rem !important;
  }
  .pl-lg-6 {
    padding-left: 2rem !important;
  }
  .px-lg-6 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .py-lg-6 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .p-lg-7 {
    padding: 2.5rem !important;
  }
  .pt-lg-7 {
    padding-top: 2.5rem !important;
  }
  .pr-lg-7 {
    padding-right: 2.5rem !important;
  }
  .pb-lg-7 {
    padding-bottom: 2.5rem !important;
  }
  .pl-lg-7 {
    padding-left: 2.5rem !important;
  }
  .px-lg-7 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
  }
  .py-lg-7 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .p-lg-8 {
    padding: 3rem !important;
  }
  .pt-lg-8 {
    padding-top: 3rem !important;
  }
  .pr-lg-8 {
    padding-right: 3rem !important;
  }
  .pb-lg-8 {
    padding-bottom: 3rem !important;
  }
  .pl-lg-8 {
    padding-left: 3rem !important;
  }
  .px-lg-8 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-lg-8 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .p-lg-9 {
    padding: 3.5rem !important;
  }
  .pt-lg-9 {
    padding-top: 3.5rem !important;
  }
  .pr-lg-9 {
    padding-right: 3.5rem !important;
  }
  .pb-lg-9 {
    padding-bottom: 3.5rem !important;
  }
  .pl-lg-9 {
    padding-left: 3.5rem !important;
  }
  .px-lg-9 {
    padding-right: 3.5rem !important;
    padding-left: 3.5rem !important;
  }
  .py-lg-9 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  .p-lg-10 {
    padding: 4rem !important;
  }
  .pt-lg-10 {
    padding-top: 4rem !important;
  }
  .pr-lg-10 {
    padding-right: 4rem !important;
  }
  .pb-lg-10 {
    padding-bottom: 4rem !important;
  }
  .pl-lg-10 {
    padding-left: 4rem !important;
  }
  .px-lg-10 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .py-lg-10 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
@media (min-width: 87.5rem) {
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0 {
    padding-left: 0 !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1 {
    padding-left: 0.25rem !important;
  }
  .px-xl-1 {
    padding-right: 0.25rem !important;
    padding-left: 0.25rem !important;
  }
  .py-xl-1 {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2 {
    padding-left: 0.5rem !important;
  }
  .px-xl-2 {
    padding-right: 0.5rem !important;
    padding-left: 0.5rem !important;
  }
  .py-xl-2 {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  .p-xl-3 {
    padding: 0.75rem !important;
  }
  .pt-xl-3 {
    padding-top: 0.75rem !important;
  }
  .pr-xl-3 {
    padding-right: 0.75rem !important;
  }
  .pb-xl-3 {
    padding-bottom: 0.75rem !important;
  }
  .pl-xl-3 {
    padding-left: 0.75rem !important;
  }
  .px-xl-3 {
    padding-right: 0.75rem !important;
    padding-left: 0.75rem !important;
  }
  .py-xl-3 {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  .p-xl-4 {
    padding: 1rem !important;
  }
  .pt-xl-4 {
    padding-top: 1rem !important;
  }
  .pr-xl-4 {
    padding-right: 1rem !important;
  }
  .pb-xl-4 {
    padding-bottom: 1rem !important;
  }
  .pl-xl-4 {
    padding-left: 1rem !important;
  }
  .px-xl-4 {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }
  .py-xl-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .p-xl-5 {
    padding: 1.5rem !important;
  }
  .pt-xl-5 {
    padding-top: 1.5rem !important;
  }
  .pr-xl-5 {
    padding-right: 1.5rem !important;
  }
  .pb-xl-5 {
    padding-bottom: 1.5rem !important;
  }
  .pl-xl-5 {
    padding-left: 1.5rem !important;
  }
  .px-xl-5 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
  }
  .py-xl-5 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  .p-xl-6 {
    padding: 2rem !important;
  }
  .pt-xl-6 {
    padding-top: 2rem !important;
  }
  .pr-xl-6 {
    padding-right: 2rem !important;
  }
  .pb-xl-6 {
    padding-bottom: 2rem !important;
  }
  .pl-xl-6 {
    padding-left: 2rem !important;
  }
  .px-xl-6 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
  }
  .py-xl-6 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  .p-xl-7 {
    padding: 2.5rem !important;
  }
  .pt-xl-7 {
    padding-top: 2.5rem !important;
  }
  .pr-xl-7 {
    padding-right: 2.5rem !important;
  }
  .pb-xl-7 {
    padding-bottom: 2.5rem !important;
  }
  .pl-xl-7 {
    padding-left: 2.5rem !important;
  }
  .px-xl-7 {
    padding-right: 2.5rem !important;
    padding-left: 2.5rem !important;
  }
  .py-xl-7 {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
  .p-xl-8 {
    padding: 3rem !important;
  }
  .pt-xl-8 {
    padding-top: 3rem !important;
  }
  .pr-xl-8 {
    padding-right: 3rem !important;
  }
  .pb-xl-8 {
    padding-bottom: 3rem !important;
  }
  .pl-xl-8 {
    padding-left: 3rem !important;
  }
  .px-xl-8 {
    padding-right: 3rem !important;
    padding-left: 3rem !important;
  }
  .py-xl-8 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
  .p-xl-9 {
    padding: 3.5rem !important;
  }
  .pt-xl-9 {
    padding-top: 3.5rem !important;
  }
  .pr-xl-9 {
    padding-right: 3.5rem !important;
  }
  .pb-xl-9 {
    padding-bottom: 3.5rem !important;
  }
  .pl-xl-9 {
    padding-left: 3.5rem !important;
  }
  .px-xl-9 {
    padding-right: 3.5rem !important;
    padding-left: 3.5rem !important;
  }
  .py-xl-9 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  .p-xl-10 {
    padding: 4rem !important;
  }
  .pt-xl-10 {
    padding-top: 4rem !important;
  }
  .pr-xl-10 {
    padding-right: 4rem !important;
  }
  .pb-xl-10 {
    padding-bottom: 4rem !important;
  }
  .pl-xl-10 {
    padding-left: 4rem !important;
  }
  .px-xl-10 {
    padding-right: 4rem !important;
    padding-left: 4rem !important;
  }
  .py-xl-10 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
@media print {
  .site-footer,
  .site-button,
  #edit-this-page,
  #back-to-top,
  .site-nav,
  .main-header {
    display: none !important;
  }
  hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .side-bar {
    width: 100%;
    height: auto;
    border-right: 0 !important;
    /* Disable display: flex and position: fixed from non-print styles */
    position: static;
    display: block;
  }
  .site-header {
    border-bottom: 1px solid #ddd7ca;
  }
  .site-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
  }
  .text-small {
    font-size: 8pt !important;
  }
  pre.highlight {
    border: 1px solid #ddd7ca;
  }
  .main {
    max-width: none;
    margin-left: 0 !important; /* Necessary to override .side-bar + .main specificity */
  }
}
a.skip-to-main {
  left: -999px;
  position: absolute;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: -999;
}

a.skip-to-main:focus,
a.skip-to-main:active {
  color: #1d4e89;
  background-color: #fff;
  left: auto;
  top: auto;
  width: 30%;
  height: auto;
  overflow: auto;
  margin: 10px 35%;
  padding: 5px;
  border-radius: 15px;
  border: 4px solid #0f1e3a;
  text-align: center;
  font-size: 1.2em;
  z-index: 999;
}

div.opaque {
  background-color: #fff;
}

:root {
  color-scheme: light;
  --ed-serif: Charter, "Bitstream Charter", "Iowan Old Style", "Sitka Text", Cambria, Georgia,
    "Liberation Serif", "Times New Roman", serif;
  --ed-sans: system-ui, -apple-system, Segoe UI, Roboto, Noto Sans, Helvetica Neue, Arial, Liberation Sans, sans-serif;
  --ed-mono: ui-monospace, SFMono-Regular, SF Mono, Cascadia Mono, Menlo, Consolas, Liberation Mono, monospace;
  --fs-13: 0.8125rem;
  --fs-14: 0.875rem;
  --fs-15: 0.9375rem;
  --fs-16: 1rem;
  --fs-17: 1.0625rem;
  --fs-18: 1.125rem;
  --fs-20: 1.25rem;
  --fs-22: 1.375rem;
  --fs-24: 1.5rem;
  --fs-28: 1.75rem;
  --fs-34: 2.125rem;
  --fs-40: 2.5rem;
  --fs-44: 2.75rem;
  --fs-48: 3rem;
  --ed-measure: 40.5rem;
  --ed-bg: #fff;
  --ed-ink: #0f1e3a;
  --ed-text: #232b38;
  --ed-text-2: #384152;
  --ed-term: #4a5363;
  --ed-muted: #535c6b;
  --ed-link: #1d4e89;
  --ed-accent: #9b2c2c;
  --ed-current: var(--ed-link);
  --ed-on-ink: #fff;
  --ed-rule: #ddd7ca;
  --ed-rule-strong: #b9b1a1;
  --ed-rule-ui: #8a8070;
  --ed-paper: #f7f5ef;
  --ed-paper-deep: #efebe1;
  --ed-tint: #fbfaf6;
  --ed-code-bg: #f6f4ee;
  --ed-code-line: #e3ddcf;
  --ed-code-text: #1f2633;
  --ed-mark: #f6e7b8;
  --ed-plate: #fff;
  --ed-shadow: rgba(15, 30, 58, 0.14);
  --ed-focus: #1d4e89;
  --ed-navy: #1d4e89;
  --ed-navy-tint: #f3f6fa;
  --ed-slate: #465161;
  --ed-slate-tint: #f6f6f3;
  --ed-plum: #5f3b85;
  --ed-plum-tint: #f7f3fa;
  --ed-ochre: #7d4f0b;
  --ed-ochre-tint: #fbf6ec;
  --ed-green: #2a6a47;
  --ed-green-tint: #f1f7f3;
  --ed-red: #9b2c2c;
  --ed-red-tint: #fbf3f2;
  --ed-umber: #5c574d;
  --ed-teal: #22616b;
  --ed-teal-tint: #eff6f6;
  --ed-syn-comment: #5d6370;
  --ed-syn-keyword: #8f2a3c;
  --ed-syn-string: #2a6a47;
  --ed-syn-number: #84540c;
  --ed-syn-name: #6a3d8f;
  --ed-syn-function: #1d4e89;
  --ed-stage-load: #475569;
  --ed-stage-queue: #b7791f;
  --ed-stage-prefill: #4051b5;
  --ed-stage-decode: #167d65;
  --ed-i-target: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5'%3E%3Ccircle cx='8' cy='8' r='6.2'/%3E%3Ccircle cx='8' cy='8' r='3.2'/%3E%3Ccircle cx='8' cy='8' r='.9' fill='black' stroke='none'/%3E%3C/svg%3E");
  --ed-i-book: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M8 4.4C6.5 3.2 4.3 2.9 1.8 3.1v9.2c2.5-.2 4.7.1 6.2 1.3 1.5-1.2 3.7-1.5 6.2-1.3V3.1C11.7 2.9 9.5 3.2 8 4.4zM8 4.4v9.2'/%3E%3C/svg%3E");
  --ed-i-question: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6.2'/%3E%3Cpath d='M6.1 6.2a1.95 1.95 0 1 1 2.7 1.8c-.5.2-.8.6-.8 1.1v.4'/%3E%3Ccircle cx='8' cy='11.4' r='.75' fill='black' stroke='none'/%3E%3C/svg%3E");
  --ed-i-speech: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M2 3h12v7.5H8l-3.5 2.8v-2.8H2z'/%3E%3Cpath d='M5 6.75h6' stroke-linecap='round'/%3E%3C/svg%3E");
  --ed-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='6.2'/%3E%3Cpath d='M5.1 8.2l2 2 3.8-4.1'/%3E%3C/svg%3E");
  --ed-i-warning: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M8 1.9l6.4 11.4H1.6z'/%3E%3Cpath d='M8 6.2v3.3' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11.3' r='.75' fill='black' stroke='none'/%3E%3C/svg%3E");
  --ed-i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6.2' stroke-dasharray='2.2 1.7'/%3E%3Cpath d='M8 5.3v5.4M5.3 8h5.4'/%3E%3C/svg%3E");
  --ed-i-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='8' cy='8' r='6.2'/%3E%3Cpath d='M8 7.2v4.2'/%3E%3Ccircle cx='8' cy='4.9' r='.8' fill='black' stroke='none'/%3E%3C/svg%3E");
  --ed-i-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3.5L10.5 8 6 12.5'/%3E%3C/svg%3E");
  --ed-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 8h20M15.5 2.5L21.5 8l-6 5.5'/%3E%3C/svg%3E");
  --ed-i-doc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 1.8h6l3 3v9.4h-9z'/%3E%3Cpath d='M9.5 1.8v3h3M8 7.5v4.6M6 10.2l2 2 2-2'/%3E%3C/svg%3E");
  --ed-i-text: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M2.5 3.5h11M2.5 6.5h11M2.5 9.5h11M2.5 12.5h7'/%3E%3C/svg%3E");
}

html {
  font-size: 100% !important;
}

body {
  color: var(--ed-text);
  background-color: var(--ed-bg);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-kerning: normal;
}

.main-content {
  font-family: var(--ed-serif);
  font-size: var(--fs-17);
  line-height: 1.65;
  color: var(--ed-text);
  font-variant-numeric: lining-nums proportional-nums;
  hanging-punctuation: first;
}
@media (min-width: 50rem) {
  .main-content {
    font-size: var(--fs-18);
  }
}
.main-content > main {
  container: content/inline-size;
  counter-reset: figure;
}
.main-content main :where(p, ul, ol, dl, blockquote, details, h3, h4, h5, h6, .learning-practice) {
  max-width: var(--ed-measure);
}
.main-content p {
  margin: 0 0 1.05em;
}
.main-content p,
.main-content li,
.main-content figcaption {
  text-wrap: pretty;
}
.main-content strong {
  font-weight: 700;
  color: var(--ed-ink);
}
.main-content h1,
.main-content h2,
.main-content h3 {
  font-family: var(--ed-sans);
  color: var(--ed-ink);
  font-variant-numeric: lining-nums;
  text-wrap: balance;
}
.main-content h1 {
  margin: 0.25rem 0 1.25rem;
  font-size: var(--fs-34) !important;
  font-weight: 700;
  line-height: 1.12 !important;
  letter-spacing: -0.02em;
}
.main-content h2 {
  margin-top: 2rem;
  margin-bottom: 0.85rem;
  padding-top: 1.1rem;
  font-size: var(--fs-24) !important;
  font-weight: 700;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
  border-top: 1px solid var(--ed-rule);
}
@media (min-width: 31.25rem) {
  .main-content h2 {
    margin-top: 2.75rem;
  }
}
.main-content h3 {
  margin-top: 2.25rem;
  margin-bottom: 0.5rem;
  font-size: var(--fs-20) !important;
  font-weight: 650;
  line-height: 1.3 !important;
  letter-spacing: -0.005em;
}
.main-content h4 {
  margin-top: 1.75rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-17) !important;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ed-ink);
}
.main-content h5,
.main-content h6 {
  font-family: var(--ed-sans);
  font-size: var(--fs-16) !important;
  font-weight: 700;
  color: var(--ed-ink);
}
.main-content h1 + p,
.main-content h2 + p,
.main-content h3 + p {
  margin-top: 0;
}
.main-content ul,
.main-content ol {
  padding-left: 1.6em;
  margin-bottom: 1.1em;
}
.main-content li {
  margin: 0.35em 0;
}
.main-content ul > li::before {
  content: "";
  width: 0.32em;
  height: 0.32em;
  margin-top: 0.68em;
  margin-left: -1.05em;
  background: var(--ed-muted);
  border-radius: 50%;
}
.main-content ol > li::before {
  top: 0 !important;
  left: -1.9em;
  width: 1.5em;
  font-family: var(--ed-serif);
  font-size: 1em !important;
  font-weight: 700;
  font-variant-numeric: tabular-nums lining-nums;
  line-height: inherit;
  text-align: right;
  color: var(--ed-muted);
  content: counter(step-counter) ".";
}
.main-content ol ol > li::before {
  content: counter(sub-counter, lower-alpha) ".";
}
.main-content .task-list-item::before {
  content: none;
}
.main-content .task-list-item-checkbox {
  width: 1rem;
  height: 1rem;
  margin-right: 0.55em;
  vertical-align: -0.12em;
  accent-color: var(--ed-ink);
}
.main-content hr {
  height: 0;
  margin: 2.5rem 0;
  background: none;
  border: 0;
  border-top: 1px solid var(--ed-rule);
}
.main-content .anchor-heading svg {
  color: var(--ed-muted);
}
.main-content h1,
.main-content h2,
.main-content h3,
.main-content h4,
.main-content h5,
.main-content h6 {
  scroll-margin-top: 2rem;
}

@container content (min-width: 40rem) {
  .main-content h1 {
    font-size: var(--fs-44) !important;
  }
  .main-content h2 {
    font-size: var(--fs-28) !important;
  }
}
.print-only {
  display: none !important;
}

a {
  color: var(--ed-link);
}

.main-content a:not([class]),
.nav-colophon a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: #8fa3c0;
  text-decoration-color: color-mix(in srgb, currentColor 50%, transparent);
  text-underline-offset: 0.18em;
  padding-block: 0.1875rem;
}
.main-content a:not([class]):hover,
.nav-colophon a:hover {
  color: var(--ed-ink);
  text-decoration-color: currentColor;
  text-decoration-thickness: 2px;
}

:focus-visible {
  outline: 3px solid var(--ed-focus);
  outline-offset: 2px;
}

.main-content a:focus-visible,
.main-content button:focus-visible,
.main-content summary:focus-visible,
.main-content [tabindex]:focus-visible {
  outline: 3px solid var(--ed-focus);
  outline-offset: 2px;
  border-radius: 1px;
}

.site-nav :focus-visible,
.site-title:focus-visible,
.site-button:focus-visible,
.search-input:focus-visible,
.search-result:focus-visible,
.search-result.active,
.aux-nav .site-button:focus-visible {
  outline: 3px solid var(--ed-focus);
  outline-offset: -3px;
}

a.skip-to-main:focus,
a.skip-to-main:active {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.75rem 1.1rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-16);
  font-weight: 600;
  color: var(--ed-on-ink);
  background: var(--ed-ink);
  border: 0;
  border-radius: 2px;
  outline: 3px solid var(--ed-focus);
  outline-offset: 2px;
  z-index: 1000;
}

.side-bar {
  background-color: var(--ed-paper);
  border-bottom: 1px solid var(--ed-rule);
}
@media (min-width: 50rem) {
  .side-bar {
    border-right: 1px solid var(--ed-rule);
    border-bottom: 0;
  }
}

@media (min-width: 50rem) {
  .site-header {
    border-bottom: 1px solid var(--ed-rule);
  }
}

.site-title {
  font-family: var(--ed-sans);
  font-size: var(--fs-20) !important;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ed-ink);
}
.site-title:hover {
  background-image: none;
  background-color: var(--ed-paper-deep);
}

.site-button {
  color: var(--ed-ink);
}
.site-button .icon {
  color: var(--ed-ink);
}
.site-button:hover {
  background-image: none;
  background-color: var(--ed-paper-deep);
}

@media (min-width: 50rem) {
  .site-nav {
    padding-top: 0.25rem;
    padding-bottom: 1rem;
    background: linear-gradient(var(--ed-paper) 30%, transparent) top/100% 1.5rem no-repeat local, linear-gradient(transparent, var(--ed-paper) 70%) bottom/100% 1.5rem no-repeat local, linear-gradient(var(--ed-shadow), transparent) top/100% 0.5rem no-repeat scroll, linear-gradient(transparent, var(--ed-shadow)) bottom/100% 0.5rem no-repeat scroll;
    background-color: var(--ed-paper);
  }
}

.nav-list .nav-list-item {
  font-family: var(--ed-sans);
  font-size: var(--fs-16) !important;
}
@media (min-width: 50rem) {
  .nav-list .nav-list-item {
    font-size: var(--fs-15) !important;
  }
}
.nav-list .nav-list-item .nav-list-link {
  display: flex;
  align-items: center;
  color: var(--ed-text);
  line-height: 1.3 !important;
}
@media (min-width: 50rem) {
  .nav-list .nav-list-item .nav-list-link {
    min-height: 1.875rem;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
  }
}
.nav-list .nav-list-item .nav-list-link:hover {
  color: var(--ed-ink);
  background-image: none;
  background-color: var(--ed-paper-deep);
}
.nav-list .nav-list-item .nav-list-link.active, .nav-list .nav-list-item .nav-list-link[aria-current=page] {
  color: var(--ed-ink);
  font-weight: 650;
  background-image: none;
  background-color: var(--ed-bg);
  box-shadow: inset 3px 0 0 var(--ed-current);
}

.site-nav > .nav-list > .nav-list-item:is(:has(> .nav-list-link[href$="/guides/student-setup.html"]),
:has(> .nav-list-link[href$="/guides/reference-card.html"]),
:has(> .nav-list-link[href$="/lectures/01-environment-git-docker-ai.html"]),
:has(> .nav-list-link[href$="/guides/agent-driven-development.html"])) {
  margin-top: 0.4rem;
  border-top: 1px solid var(--ed-rule);
}
.site-nav > .nav-list > .nav-list-item:is(:has(> .nav-list-link[href$="/guides/student-setup.html"]),
:has(> .nav-list-link[href$="/guides/reference-card.html"]),
:has(> .nav-list-link[href$="/lectures/01-environment-git-docker-ai.html"]),
:has(> .nav-list-link[href$="/guides/agent-driven-development.html"]))::before {
  font-family: var(--ed-sans);
  font-size: var(--fs-14);
  font-weight: 650;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ed-term);
  display: block;
  padding: 0.7rem 1rem 0.2rem;
}
@media (min-width: 50rem) {
  .site-nav > .nav-list > .nav-list-item:is(:has(> .nav-list-link[href$="/guides/student-setup.html"]),
  :has(> .nav-list-link[href$="/guides/reference-card.html"]),
  :has(> .nav-list-link[href$="/lectures/01-environment-git-docker-ai.html"]),
  :has(> .nav-list-link[href$="/guides/agent-driven-development.html"]))::before {
    padding: 0.65rem 1rem 0.2rem 2rem;
  }
}

.site-nav > .nav-list > .nav-list-item:has(> .nav-list-link[href$="/guides/student-setup.html"])::before {
  content: "Start here";
}

.site-nav > .nav-list > .nav-list-item:has(> .nav-list-link[href$="/guides/reference-card.html"])::before {
  content: "Reference";
}

.site-nav > .nav-list > .nav-list-item:has(> .nav-list-link[href$="/lectures/01-environment-git-docker-ai.html"])::before {
  content: "Lectures";
}

.site-nav > .nav-list > .nav-list-item:has(> .nav-list-link[href$="/guides/agent-driven-development.html"])::before {
  content: "Optional depth";
}

.site-footer {
  font-family: var(--ed-sans);
  color: var(--ed-muted);
}
@media (min-width: 50rem) {
  .site-footer {
    padding-top: 0.7rem;
    padding-bottom: 0.8rem;
    border-top: 1px solid var(--ed-rule);
    background: var(--ed-paper);
  }
}

.nav-colophon {
  font-family: var(--ed-sans);
  font-size: var(--fs-14) !important;
  line-height: 1.45;
  color: var(--ed-muted);
}
.nav-colophon p {
  margin: 0;
}
.nav-colophon p + p {
  margin-top: 0.3rem;
}
.nav-colophon strong {
  color: var(--ed-ink);
  font-weight: 650;
}
.nav-colophon a {
  color: var(--ed-link);
}

.side-bar + .main .main-header {
  border-bottom: 1px solid var(--ed-rule);
  background-color: var(--ed-paper);
}
@media (min-width: 50rem) {
  .side-bar + .main .main-header {
    background-color: var(--ed-bg);
  }
}

.search-input-wrap {
  background-color: var(--ed-bg);
  box-shadow: 0 0 0 1px var(--ed-rule);
}
@media (min-width: 50rem) {
  .search-input-wrap {
    box-shadow: none;
  }
}

.search-input {
  font-family: var(--ed-sans);
  font-size: var(--fs-16) !important;
  color: var(--ed-text);
  background-color: var(--ed-bg);
}
.search-input::placeholder {
  color: var(--ed-muted);
  opacity: 1;
}

.search-label .search-icon {
  color: var(--ed-muted);
}

.search-active .search-input {
  background-color: var(--ed-bg);
}

.search-input:focus + .search-label .search-icon {
  color: var(--ed-link);
}

.search-results {
  font-family: var(--ed-sans);
  background-color: var(--ed-bg);
  box-shadow: 0 0 0 1px var(--ed-rule), 0 12px 30px var(--ed-shadow);
}

.search-result {
  color: var(--ed-text);
}
.search-result:hover, .search-result.active {
  background-color: var(--ed-paper);
}

.search-result-title,
.search-result-doc,
.search-result-section {
  color: var(--ed-ink);
}

.search-result-doc.search-result-doc-parent {
  opacity: 1;
  color: var(--ed-muted);
}

.search-result-previews,
.search-result-preview {
  color: var(--ed-text);
  border-left-color: var(--ed-rule);
}

.search-result-previews,
.search-result-section,
.search-result-doc-title {
  font-size: var(--fs-14) !important;
}

.search-result-highlight {
  color: var(--ed-ink);
  font-weight: 700;
}

.search-no-result {
  color: var(--ed-muted);
}

.search-overlay {
  background-color: rgba(15, 30, 58, 0.35);
}

.aux-nav {
  font-family: var(--ed-sans);
}
.aux-nav .aux-nav-list {
  align-items: center;
  gap: 0.25rem;
}
.aux-nav .aux-nav-list-item {
  height: auto;
}
.aux-nav .site-button {
  min-height: 2.25rem;
  padding: 0.4rem 0.75rem;
  font-size: var(--fs-14) !important;
  font-weight: 600;
  color: var(--ed-ink);
  border-radius: 2px;
}
.aux-nav .aux-nav-list-item:first-child .site-button {
  gap: 0.45rem;
  border: 1px solid var(--ed-ink);
}
.aux-nav .aux-nav-list-item:first-child .site-button::before {
  content: "";
  flex: none;
  display: inline-block;
  width: 0.95rem;
  height: 0.95rem;
  background-color: currentColor;
  -webkit-mask: var(--ed-i-doc) center/contain no-repeat;
  mask: var(--ed-i-doc) center/contain no-repeat;
}

.main-content :not(pre, figure) > code {
  padding: 0.08em 0.3em;
  font-size: var(--fs-15);
  color: var(--ed-code-text);
  background: var(--ed-code-bg);
  border: 1px solid var(--ed-code-line);
  border-radius: 2px;
  overflow-wrap: break-word;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.main-content :is(h1, h2, h3, h4, h5, h6) code {
  font-size: 0.85em;
}
.main-content :is(.factory-milestones, .pager, .this-week, .page-nav, .stepper-controls) code {
  font-size: var(--fs-14);
}
.main-content a:not([class]) code {
  color: inherit;
}
.main-content kbd {
  padding: 0.05em 0.4em 0.1em;
  font-family: var(--ed-sans);
  font-size: var(--fs-14);
  font-weight: 600;
  line-height: 1;
  color: var(--ed-ink);
  white-space: nowrap;
  background: var(--ed-bg);
  border: 1px solid var(--ed-rule-ui);
  border-bottom-width: 2px;
  border-radius: 3px;
}
.main-content blockquote {
  margin: 1.5rem 0;
  padding: 0.1rem 0 0.1rem 1.25rem;
  font-size: inherit;
  color: var(--ed-text-2);
  border-left: 2px solid var(--ed-rule-strong);
}
.main-content blockquote p {
  margin-bottom: 0.6em;
}
.main-content blockquote > :last-child {
  margin-bottom: 0;
}
.main-content abbr[title] {
  text-decoration: underline dotted;
  text-underline-offset: 0.18em;
}
.main-content mark {
  padding: 0 0.15em;
  color: inherit;
  background: var(--ed-mark);
}

.main-content div.highlighter-rouge,
.main-content figure.highlight {
  position: relative;
  margin: 1.25rem 0 1.5rem;
  background: var(--ed-code-bg);
  border: 1px solid var(--ed-code-line);
  border-radius: 3px;
}
.main-content li div.highlighter-rouge {
  margin: 0.75rem 0;
}
.main-content div.highlighter-rouge div.highlight,
.main-content figure.highlight pre {
  padding: 0.85rem 1.1rem 0.95rem;
  margin: 0;
  border: 0;
  border-radius: 0 0 3px 3px;
  background: transparent;
}
.main-content div.highlighter-rouge div.highlight:focus-visible {
  outline-offset: -3px;
  border-radius: 0 0 3px 3px;
}
.main-content pre.highlight,
.main-content pre.highlight code,
.main-content figure.highlight pre code {
  margin: 0;
  padding: 0;
  font-family: var(--ed-mono);
  font-size: var(--fs-13);
  line-height: 1.6;
  font-variant-numeric: normal;
  font-variant-ligatures: none;
  color: var(--ed-code-text);
  background: transparent;
}
@media (min-width: 31.25rem) {
  .main-content pre.highlight,
  .main-content pre.highlight code,
  .main-content figure.highlight pre code {
    font-size: var(--fs-14);
  }
}
.main-content div.highlighter-rouge[class*=language-]::before {
  font-family: var(--ed-sans);
  font-size: var(--fs-14);
  font-weight: 650;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ed-term);
  display: block;
  padding: 0.35rem 3rem 0.3rem 1.1rem;
  background: var(--ed-paper-deep);
  border-bottom: 1px solid var(--ed-code-line);
  border-radius: 3px 3px 0 0;
}
.main-content div.highlighter-rouge > button,
.main-content figure.highlight > button {
  top: 0;
  right: 0;
  width: 2.25rem;
  height: 2rem;
  padding: 0.35rem 0.6rem;
  color: var(--ed-muted);
  opacity: 1;
  border-radius: 0 3px 0 0;
}
.main-content div.highlighter-rouge > button svg,
.main-content figure.highlight > button svg {
  width: 1rem;
  height: 1rem;
  fill: currentColor;
}
.main-content div.highlighter-rouge > button:hover, .main-content div.highlighter-rouge > button:focus-visible,
.main-content figure.highlight > button:hover,
.main-content figure.highlight > button:focus-visible {
  color: var(--ed-ink);
  background: var(--ed-bg);
}
.main-content div.highlighter-rouge > button:focus-visible,
.main-content figure.highlight > button:focus-visible {
  outline: 3px solid var(--ed-focus);
  outline-offset: -3px;
}
.main-content div.highlighter-rouge:not([class*=language-]) div.highlight {
  padding-right: 2.75rem;
}
.main-content .callout div.highlighter-rouge,
.main-content .section-panel div.highlighter-rouge {
  max-width: none;
}

.main-content div.language-bash.highlighter-rouge::before {
  content: "Run in terminal";
  content: "Run in terminal"/"";
}

.main-content div.language-sh.highlighter-rouge::before {
  content: "Run in terminal";
  content: "Run in terminal"/"";
}

.main-content div.language-shell.highlighter-rouge::before {
  content: "Run in terminal";
  content: "Run in terminal"/"";
}

.main-content div.language-zsh.highlighter-rouge::before {
  content: "Run in terminal";
  content: "Run in terminal"/"";
}

.main-content div.language-console.highlighter-rouge::before {
  content: "Example terminal output";
  content: "Example terminal output"/"";
}

.main-content div.language-powershell.highlighter-rouge::before {
  content: "PowerShell";
  content: "PowerShell"/"";
}

.main-content div.language-python.highlighter-rouge::before {
  content: "Python";
  content: "Python"/"";
}

.main-content div.language-py.highlighter-rouge::before {
  content: "Python";
  content: "Python"/"";
}

.main-content div.language-toml.highlighter-rouge::before {
  content: "TOML";
  content: "TOML"/"";
}

.main-content div.language-json.highlighter-rouge::before {
  content: "JSON";
  content: "JSON"/"";
}

.main-content div.language-http.highlighter-rouge::before {
  content: "HTTP";
  content: "HTTP"/"";
}

.main-content div.language-yaml.highlighter-rouge::before {
  content: "YAML";
  content: "YAML"/"";
}

.main-content div.language-yml.highlighter-rouge::before {
  content: "YAML";
  content: "YAML"/"";
}

.main-content div.language-dockerfile.highlighter-rouge::before {
  content: "Dockerfile";
  content: "Dockerfile"/"";
}

.main-content div.language-docker.highlighter-rouge::before {
  content: "Dockerfile";
  content: "Dockerfile"/"";
}

.main-content div.language-markdown.highlighter-rouge::before {
  content: "Markdown";
  content: "Markdown"/"";
}

.main-content div.language-md.highlighter-rouge::before {
  content: "Markdown";
  content: "Markdown"/"";
}

.main-content div.language-text.highlighter-rouge::before {
  content: "Text";
  content: "Text"/"";
}

.main-content div.language-plaintext.highlighter-rouge::before {
  content: "Text";
  content: "Text"/"";
}

.main-content div.language-ini.highlighter-rouge::before {
  content: "INI";
  content: "INI"/"";
}

.main-content div.language-diff.highlighter-rouge::before {
  content: "Diff";
  content: "Diff"/"";
}

.main-content div.language-sql.highlighter-rouge::before {
  content: "SQL";
  content: "SQL"/"";
}

.main-content div.language-javascript.highlighter-rouge::before {
  content: "JavaScript";
  content: "JavaScript"/"";
}

.main-content div.language-js.highlighter-rouge::before {
  content: "JavaScript";
  content: "JavaScript"/"";
}

.main-content div.language-typescript.highlighter-rouge::before {
  content: "TypeScript";
  content: "TypeScript"/"";
}

.main-content div.language-ts.highlighter-rouge::before {
  content: "TypeScript";
  content: "TypeScript"/"";
}

.main-content div.language-html.highlighter-rouge::before {
  content: "HTML";
  content: "HTML"/"";
}

.main-content div.language-css.highlighter-rouge::before {
  content: "CSS";
  content: "CSS"/"";
}

.main-content div.language-xml.highlighter-rouge::before {
  content: "XML";
  content: "XML"/"";
}

.main-content div.language-env.highlighter-rouge::before {
  content: "Env";
  content: "Env"/"";
}

.main-content div.language-jinja.highlighter-rouge::before {
  content: "Jinja";
  content: "Jinja"/"";
}

.highlight .c, .highlight .ch, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs {
  color: var(--ed-syn-comment);
  font-style: italic;
}
.highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .kv, .highlight .ow {
  color: var(--ed-syn-keyword);
}
.highlight .kc {
  color: var(--ed-syn-function);
}
.highlight .s, .highlight .sa, .highlight .sb, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .si, .highlight .sx, .highlight .sr, .highlight .s1, .highlight .ss {
  color: var(--ed-syn-string);
}
.highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .l, .highlight .ld {
  color: var(--ed-syn-number);
}
.highlight .na, .highlight .nb, .highlight .bp, .highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {
  color: var(--ed-syn-name);
}
.highlight .nc, .highlight .nf, .highlight .fm, .highlight .nd, .highlight .ne, .highlight .no, .highlight .py, .highlight .nl {
  color: var(--ed-syn-function);
}
.highlight .nt {
  color: var(--ed-syn-keyword);
}
.highlight .nn, .highlight .n, .highlight .nx, .highlight .p, .highlight .pm, .highlight .w, .highlight .o, .highlight .ni {
  color: var(--ed-code-text);
}
.highlight .gh, .highlight .gu {
  color: var(--ed-syn-function);
  font-weight: 700;
}
.highlight .gp {
  color: var(--ed-syn-comment);
  user-select: none;
}
.highlight .go {
  color: var(--ed-code-text);
}
.highlight .gd {
  color: var(--ed-red);
}
.highlight .gi {
  color: var(--ed-green);
}
.highlight .err {
  color: var(--ed-red);
  background: transparent;
}

.main-content .table-wrapper {
  margin: 1.5rem 0 2rem;
  border-top: 2px solid var(--ed-ink);
  border-bottom: 1px solid var(--ed-ink);
  border-radius: 0;
  box-shadow: none;
}

.main-content table {
  border-collapse: collapse;
  font-family: var(--ed-sans);
  font-variant-numeric: lining-nums tabular-nums;
}
.main-content th,
.main-content td {
  min-width: 5rem;
  padding: 0.65rem 1rem 0.65rem 0;
  font-size: var(--fs-15) !important;
  line-height: 1.5;
  vertical-align: top;
  color: var(--ed-text);
  border-left: 0;
  border-bottom: 1px solid var(--ed-rule);
  background: transparent;
}
.main-content th:last-child,
.main-content td:last-child {
  padding-right: 0.25rem;
}
.main-content thead th {
  padding-top: 0.7rem;
  padding-bottom: 0.55rem;
  font-size: var(--fs-14) !important;
  font-weight: 700;
  text-align: left;
  color: var(--ed-ink);
  border-bottom: 1px solid var(--ed-ink);
}
.main-content tbody tr:last-of-type td {
  border-bottom: 0;
}
.main-content td code,
.main-content th code {
  font-size: var(--fs-14);
  white-space: normal;
  word-break: normal;
}

@media screen {
  .main-content :is(td, summary) code .nobr {
    white-space: nowrap;
  }
  @container content (max-width: 36rem) {
    .main-content .table-wrapper:has(> table.stack) {
      overflow: visible;
    }
    .main-content table.stack:not(.schedule) {
      display: block;
      min-width: 0;
    }
    .main-content table.stack:not(.schedule) thead {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip-path: inset(50%);
      white-space: nowrap;
    }
    .main-content table.stack:not(.schedule) tbody,
    .main-content table.stack:not(.schedule) tr,
    .main-content table.stack:not(.schedule) td {
      display: block;
    }
    .main-content table.stack:not(.schedule) tr {
      padding: 0.8rem 0 0.85rem;
      border-bottom: 1px solid var(--ed-rule);
    }
    .main-content table.stack:not(.schedule) tbody tr:last-of-type {
      border-bottom: 0;
    }
    .main-content table.stack:not(.schedule) td {
      min-width: 0;
      padding: 0.4rem 0 0;
      text-align: start !important;
      overflow-wrap: anywhere;
      border: 0;
    }
    .main-content table.stack:not(.schedule) td:first-child {
      padding-top: 0;
      font-size: var(--fs-16) !important;
      font-weight: 650;
      line-height: 1.4;
      color: var(--ed-ink);
    }
    .main-content table.stack:not(.schedule) td:not(:first-child)::before {
      font-family: var(--ed-sans);
      font-size: var(--fs-14);
      font-weight: 650;
      font-style: normal;
      line-height: 1.4;
      letter-spacing: 0;
      text-transform: none;
      color: var(--ed-term);
      content: attr(data-label);
      display: block;
      margin-bottom: 0.05rem;
    }
    .main-content table.stack:not(.schedule).stack--numbered td:first-child::before {
      content: attr(data-label) " ";
    }
    .main-content table.stack:not(.schedule) td[data-label=""]::before {
      content: none;
    }
    .main-content table.stack:not(.schedule) td:empty {
      display: none;
    }
    .main-content table:not(.stack) :is(th, td) {
      overflow-wrap: anywhere;
    }
    .main-content td code {
      overflow-wrap: anywhere;
      -webkit-box-decoration-break: slice;
      box-decoration-break: slice;
    }
  }
}
.main-content details {
  margin: 0 0 1.25rem;
  padding: 0;
  border: 0;
  border-top: 1px solid var(--ed-rule);
  border-bottom: 1px solid var(--ed-rule);
  border-radius: 0;
}
.main-content details + details {
  margin-top: -1.25rem;
  border-top: 0;
}
.main-content details > summary {
  position: relative;
  display: block;
  min-height: 2.75rem;
  padding: 0.7rem 0.25rem 0.7rem 1.7rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-16);
  font-weight: 600;
  line-height: 1.5;
  color: var(--ed-ink);
  list-style: none;
  cursor: pointer;
}
.main-content details > summary::-webkit-details-marker {
  display: none;
}
.main-content details > summary::before {
  content: "";
  flex: none;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
  -webkit-mask: var(--ed-i-chevron) center/contain no-repeat;
  mask: var(--ed-i-chevron) center/contain no-repeat;
  position: absolute;
  top: calc(0.7rem + 0.25em);
  left: 0.1rem;
  color: var(--ed-link);
}
.main-content details > summary:hover {
  color: var(--ed-link);
}
.main-content details > summary code {
  font-size: var(--fs-14);
}
.main-content details[open] {
  padding-bottom: 0.5rem;
  border-bottom-color: var(--ed-rule-strong);
}
.main-content details[open] > summary {
  margin-bottom: 0.1rem;
}
.main-content details[open] > summary::before {
  transform: rotate(90deg);
}
.main-content details > :not(summary) {
  margin-left: 1.7rem;
}

@media (prefers-reduced-motion: no-preference) {
  .main-content details > summary::before {
    transition: transform 160ms ease;
  }
}
.main-content details.lecture-toc {
  max-width: none;
  margin: 1.5rem 0 2rem;
  padding: 0 1.25rem;
  background: var(--ed-paper);
  border: 1px solid var(--ed-rule);
  border-radius: 2px;
}
.main-content details.lecture-toc > summary {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.75rem 0;
}
.main-content details.lecture-toc > summary::before {
  position: static;
}
.main-content details.lecture-toc > ul {
  max-width: none;
  margin: 0 0 0.75rem;
  padding: 0 0 0.25rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  list-style: none;
  border-top: 1px solid var(--ed-rule);
}
.main-content details.lecture-toc > ul > li {
  margin: 0;
  padding-left: 0;
  break-inside: avoid;
}
.main-content details.lecture-toc > ul > li::before {
  content: none;
}
.main-content details.lecture-toc > ul a {
  display: inline-block;
  padding: 0.3rem 0;
  text-decoration: none;
}
.main-content details.lecture-toc > ul a:hover {
  text-decoration: underline;
}
@media (min-width: 50rem) {
  .main-content details.lecture-toc > ul {
    columns: 2;
    column-gap: 2.5rem;
    padding-top: 0.5rem;
  }
}
.main-content details.lecture-toc > :not(summary) {
  margin-left: 0;
}

.main-content .callout {
  --c: var(--ed-navy);
  --c-bg: var(--ed-navy-tint);
  --c-icon: var(--ed-i-target);
  max-width: var(--ed-measure);
  margin: 1.5rem 0;
  padding: 0.85rem 1.25rem 0.95rem;
  font-family: var(--ed-serif);
  font-size: var(--fs-16);
  font-style: normal;
  line-height: 1.6;
  color: var(--ed-text);
  background: var(--c-bg);
  border: 0;
  border-left: 3px solid var(--c);
  border-radius: 0 2px 2px 0;
}
@media (min-width: 50rem) {
  .main-content .callout {
    font-size: var(--fs-17);
  }
}
.main-content .callout > :last-child {
  margin-bottom: 0;
}
.main-content .callout p {
  margin-bottom: 0.6em;
}
.main-content .callout ul,
.main-content .callout ol {
  margin-bottom: 0.6em;
}
.main-content .callout ul > li::before {
  background: var(--c);
}
.main-content .callout:has(div.highlighter-rouge, .table-wrapper) {
  max-width: none;
}
.main-content .callout div.highlighter-rouge {
  background: var(--ed-bg);
}
.main-content .callout .table-wrapper {
  margin: 0.75rem 0;
}
.main-content .callout .task-list-item-checkbox {
  accent-color: var(--c);
}

.main-content .callout-label {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  margin: 0 0 0.3rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.01em;
  color: var(--c, var(--ed-ink));
}
.main-content .callout-label::before {
  content: "";
  flex: none;
  display: inline-block;
  width: 1.125rem;
  height: 1.125rem;
  background-color: currentColor;
  -webkit-mask: var(--c-icon, var(--ed-i-info)) center/contain no-repeat;
  mask: var(--c-icon, var(--ed-i-info)) center/contain no-repeat;
  margin-top: 0.05rem;
}

.main-content .callout--objectives {
  --c: var(--ed-navy);
  --c-bg: var(--ed-navy-tint);
  --c-icon: var(--ed-i-target);
}

.main-content .callout--prereq {
  --c: var(--ed-slate);
  --c-bg: var(--ed-slate-tint);
  --c-icon: var(--ed-i-book);
}

.main-content .callout--predict {
  --c: var(--ed-plum);
  --c-bg: var(--ed-plum-tint);
  --c-icon: var(--ed-i-question);
}

.main-content .callout--explain {
  --c: var(--ed-ochre);
  --c-bg: var(--ed-ochre-tint);
  --c-icon: var(--ed-i-speech);
}

.main-content .callout--checkpoint {
  --c: var(--ed-green);
  --c-bg: var(--ed-green-tint);
  --c-icon: var(--ed-i-check);
}

.main-content .callout--pitfall {
  --c: var(--ed-red);
  --c-bg: var(--ed-red-tint);
  --c-icon: var(--ed-i-warning);
}

.main-content .callout--note {
  --c: var(--ed-ink);
  --c-bg: var(--ed-paper);
  --c-icon: var(--ed-i-info);
}

.main-content .callout--prereq {
  border: 1px solid var(--ed-rule);
  border-left: 3px solid var(--c);
}

.main-content .callout--optional {
  --c: var(--ed-umber);
  --c-icon: var(--ed-i-plus);
  background: transparent;
  border: 1px dashed var(--ed-rule-strong);
  border-left: 3px dashed var(--c);
}

.main-content .callout + details:not(.lecture-toc) {
  max-width: var(--ed-measure);
  margin-top: -1.5rem;
  border-top: 0;
  border-left: 3px solid var(--ed-rule-strong);
  padding-left: 0.95rem;
  background: var(--ed-bg);
}

.main-content .callout--predict + details:not(.lecture-toc) {
  border-left-color: var(--ed-plum);
}

.main-content .callout--explain + details:not(.lecture-toc) {
  border-left-color: var(--ed-ochre);
}

.main-content .callout--checkpoint + details:not(.lecture-toc) {
  border-left-color: var(--ed-green);
}

.main-content .learning-practice {
  margin: 1.75rem 0;
  padding: 1rem 1.25rem;
  background: var(--ed-plum-tint);
  border-left: 3px solid var(--ed-plum);
}
.main-content .learning-practice > p:first-child > strong:first-child {
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  color: var(--ed-plum);
}
.main-content .learning-practice > p:first-child > strong:first-child::before {
  content: "";
  flex: none;
  display: inline-block;
  width: 1.125rem;
  height: 1.125rem;
  background-color: currentColor;
  -webkit-mask: var(--ed-i-question) center/contain no-repeat;
  mask: var(--ed-i-question) center/contain no-repeat;
  margin-right: 0.45rem;
  vertical-align: -0.2em;
}
.main-content .learning-practice > :last-child {
  margin-bottom: 0;
}
.main-content .learning-practice details,
.main-content .learning-practice div.highlighter-rouge {
  max-width: none;
}
.main-content .learning-practice div.highlighter-rouge {
  background: var(--ed-bg);
}

.main-content blockquote.glance {
  max-width: none;
  margin: 1.25rem 0 1.75rem;
  padding: 0;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  font-style: normal;
  line-height: 1.55;
  color: var(--ed-text);
  border: 0;
  border-top: 2px solid var(--ed-ink);
  border-bottom: 1px solid var(--ed-ink);
}
.main-content blockquote.glance > p.glance-title {
  font-family: var(--ed-sans);
  font-size: var(--fs-14);
  font-weight: 650;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ed-ink);
  max-width: none;
  margin: 0;
  padding: 0.65rem 0 0.5rem;
  font-size: var(--fs-16);
  font-weight: 700;
}
.main-content blockquote.glance > p.glance-title strong {
  font-weight: inherit;
  color: inherit;
}
.main-content blockquote.glance > ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.main-content blockquote.glance > ul > li {
  margin: 0;
}
.main-content blockquote.glance > ul > li::before {
  content: none;
}
.main-content blockquote.glance > ul {
  max-width: none;
}
.main-content blockquote.glance > ul > li {
  position: relative;
  padding: 0.55rem 0 0.6rem;
  border-top: 1px solid var(--ed-rule);
}
.main-content blockquote.glance > ul > li > strong:first-child {
  margin-right: 0.2rem;
  font-size: var(--fs-14);
  font-weight: 650;
  color: var(--ed-term);
}
.main-content blockquote.glance > ul > li > :not(strong):last-child,
.main-content blockquote.glance > ul > li p {
  margin-bottom: 0;
}
.main-content blockquote.glance > ul > li ul,
.main-content blockquote.glance > ul > li ol {
  max-width: none;
  margin: 0.3rem 0 0;
  padding-left: 1.1rem;
}
.main-content blockquote.glance > ul > li li {
  margin: 0.2rem 0;
}
.main-content blockquote.glance > ul > li ul > li::before {
  margin-top: 0.62em;
  background: var(--ed-ink);
}
.main-content blockquote.glance > p:not(.glance-title) {
  margin: 0.6rem 0;
}
.main-content blockquote.glance code {
  font-size: var(--fs-14);
}

@container content (min-width: 34rem) {
  .main-content blockquote.glance > ul > li {
    padding-left: 10.5rem;
  }
  .main-content blockquote.glance > ul > li > strong:first-child {
    position: absolute;
    top: 0.57rem;
    left: 0;
    width: 9.5rem;
    margin: 0;
  }
}
.main-content main.lecture-page > h2::before {
  font-family: var(--ed-sans);
  font-size: var(--fs-14);
  font-weight: 650;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ed-term);
  display: block;
  margin-bottom: 0.3rem;
  font-size: var(--fs-14) !important;
  line-height: 1.4 !important;
}

.main-content main.lecture-page > h2:is(#mission, #before-you-start, #learning-checkpoint)::before {
  content: "Prepare";
  content: "Prepare"/"";
}

.main-content main.lecture-page > h2:is(#concepts, #live-demo)::before {
  content: "Learn";
  content: "Learn"/"";
}

.main-content main.lecture-page > h2:is(#hands-on-lab, #break-it-on-purpose, #open-source-track, #working-with-ai-assistants, #evaluation-clinic-audit-the-score)::before {
  content: "Practice";
  content: "Practice"/"";
}

.main-content main.lecture-page > h2:is(#completion-check, #quick-quiz)::before {
  content: "Check";
  content: "Check"/"";
}

.main-content main.lecture-page > h2:is(#stretch-goals, #common-pitfalls, #instructor-notes, #read-more)::before {
  content: "Extend";
  content: "Extend"/"";
}

.main-content .section-panel {
  --panel: var(--ed-rule-strong);
  margin: 0 0 1rem;
  padding: 0.15rem 0 0.15rem 1rem;
  border-left: 2px solid var(--panel);
}
@media (min-width: 31.25rem) {
  .main-content .section-panel {
    padding-left: 1.4rem;
  }
}
.main-content .section-panel > :first-child {
  margin-top: 0;
}
.main-content .section-panel > :last-child {
  margin-bottom: 0;
}

.main-content .section-panel--prereq {
  --panel: rgb(60.0980392157%, 62.4705882353%, 65.9215686275%);
}

.main-content .section-panel--objectives {
  --panel: rgb(51.2549019608%, 61.8235294118%, 74.5490196078%);
}

.main-content .section-panel--checkpoint {
  --panel: rgb(54.0588235294%, 67.862745098%, 60.3137254902%);
}

.main-content .section-panel--pitfall {
  --panel: rgb(78.431372549%, 54.4901960784%, 54.4901960784%);
}

.main-content .section-panel--optional {
  --panel: rgb(64.8431372549%, 63.7647058824%, 61.6078431373%);
  border-left-style: dashed;
}

.main-content .section-panel--instructor {
  --panel: var(--ed-rule-strong);
  border-left-style: dotted;
  border-left-width: 3px;
}

.main-content p.page-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.15rem 0.35rem;
  max-width: none;
  margin: -0.25rem 0 1.5rem;
  padding: 0.5rem 0;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  line-height: 1.5;
  color: var(--ed-muted);
  border-top: 1px solid var(--ed-rule);
  border-bottom: 1px solid var(--ed-rule);
}
.main-content p.page-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  font-weight: 600;
}

.main-content p.page-nav--bottom,
.main-content main > hr:has(+ p.page-nav--bottom) {
  display: none;
}

.main-content > footer {
  display: flex;
  flex-direction: column;
}
.main-content > footer > .pager {
  order: -1;
}

.main-content > footer .pager,
.pager {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0.5rem 0 2rem;
  font-family: var(--ed-sans);
}
.main-content > footer .pager a,
.pager a {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-height: 2.75rem;
  padding: 0.8rem 1rem 0.85rem;
  color: var(--ed-ink);
  text-decoration: none;
  background: var(--ed-bg);
  border: 1px solid var(--ed-rule);
  border-radius: 2px;
}
.main-content > footer .pager a:hover,
.pager a:hover {
  color: var(--ed-link);
  background: var(--ed-tint);
  border-color: var(--ed-ink);
}
.main-content > footer .pager .pager-label,
.pager .pager-label {
  font-family: var(--ed-sans);
  font-size: var(--fs-14);
  font-weight: 650;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ed-term);
  display: flex;
  gap: 0.45rem;
  align-items: center;
}
.main-content > footer .pager .pager-title,
.pager .pager-title {
  font-size: var(--fs-17);
  font-weight: 650;
  line-height: 1.3;
  font-variant-numeric: lining-nums;
}
.main-content > footer .pager .pager-prev .pager-label::before,
.pager .pager-prev .pager-label::before {
  content: "";
  flex: none;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
  -webkit-mask: var(--ed-i-arrow) center/contain no-repeat;
  mask: var(--ed-i-arrow) center/contain no-repeat;
  height: 0.7rem;
  transform: scaleX(-1);
}
.main-content > footer .pager .pager-next,
.pager .pager-next {
  grid-column: 2;
  align-items: flex-end;
  text-align: right;
  border-color: var(--ed-ink);
}
.main-content > footer .pager .pager-next .pager-label::after,
.pager .pager-next .pager-label::after {
  content: "";
  flex: none;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
  -webkit-mask: var(--ed-i-arrow) center/contain no-repeat;
  mask: var(--ed-i-arrow) center/contain no-repeat;
  height: 0.7rem;
}

@media (max-width: 22.5rem) {
  .pager {
    grid-template-columns: minmax(0, 1fr);
  }
  .pager .pager-next {
    grid-column: 1;
  }
}
.main-content .course-diagram {
  max-width: none;
  margin: 2.25rem 0 2.5rem;
  padding: 0;
  background: var(--ed-paper);
  border: 0;
  border-top: 1px solid var(--ed-ink);
  border-radius: 0;
  counter-increment: figure;
}
.main-content .course-diagram .diagram-scroll {
  overflow-x: auto;
  padding: 1.5rem 1.5rem 1.25rem;
  border-radius: 0;
}
.main-content .course-diagram .diagram-scroll:focus-visible {
  outline-offset: -3px;
}
.main-content .course-diagram img {
  display: block;
  width: 100%;
  min-width: 30rem;
  max-width: 38rem;
  height: auto;
  margin: 0 auto;
  background: var(--ed-plate);
  border: 1px solid var(--ed-rule);
  box-shadow: 0 1px 2px var(--ed-shadow), 0 10px 28px -14px var(--ed-shadow);
}
.main-content .course-diagram figcaption {
  max-width: none;
  margin: 0 1.5rem;
  padding: 0.8rem 0 1.05rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  line-height: 1.55;
  color: var(--ed-muted);
  border-top: 1px solid var(--ed-rule);
}
.main-content .course-diagram figcaption::before {
  font-family: var(--ed-sans);
  font-size: var(--fs-14);
  font-weight: 650;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ed-ink);
  content: "Figure " counter(figure);
  content: "Figure " counter(figure)/"";
  display: block;
  margin-bottom: 0.2rem;
}
.main-content .course-diagram figcaption strong {
  color: var(--ed-ink);
}
.main-content .course-diagram figcaption a {
  font-weight: 600;
}
.main-content .course-diagram figcaption code {
  font-size: var(--fs-14);
}

.main-content .course-diagram--wide img {
  min-width: 40rem;
  max-width: 100%;
}

@media (max-width: 31.25rem) {
  .main-content .course-diagram picture img {
    min-width: 0;
  }
}
.main-content :is(h2, h3) + .course-diagram {
  margin-top: 1.25rem;
}

@container content (min-width: 34rem) {
  .main-content .course-diagram:not(.course-diagram--wide) figcaption .screen-only {
    display: none;
  }
}
@container content (min-width: 44rem) {
  .main-content .course-diagram--wide figcaption .screen-only {
    display: none;
  }
}
.main-content .course-diagram + details {
  max-width: none;
  margin-top: -2.5rem;
  margin-bottom: 2.5rem;
  padding: 0 1.5rem;
  background: var(--ed-paper);
  border-top: 1px solid var(--ed-rule);
  border-bottom: 1px solid var(--ed-rule);
}
.main-content .course-diagram + details > summary {
  padding-left: 1.6rem;
  font-size: var(--fs-15);
  color: var(--ed-link);
}
.main-content .course-diagram + details > summary::before {
  color: var(--ed-link);
}
.main-content .course-diagram + details[open] {
  background: var(--ed-bg);
  border-bottom-color: var(--ed-rule-strong);
}
.main-content .course-diagram + details > :not(summary) {
  max-width: var(--ed-measure);
  margin-left: 1.6rem;
}
.main-content .course-diagram + details > .table-wrapper {
  width: auto;
}

@container content (max-width: 36rem) {
  .main-content .course-diagram {
    margin-inline: -1rem;
  }
  .main-content .course-diagram .diagram-scroll {
    padding: 0.75rem;
  }
  .main-content .course-diagram figcaption {
    margin-inline: 1rem;
  }
  .main-content .course-diagram + details {
    margin-inline: -1rem;
    padding-inline: 1rem;
  }
}
.main-content :is(.diagram-scroll, .table-wrapper, div.highlighter-rouge > div.highlight).fade-end:not(:focus-within) {
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 2.5rem), rgba(0, 0, 0, 0.15));
  mask-image: linear-gradient(to right, #000 calc(100% - 2.5rem), rgba(0, 0, 0, 0.15));
}
.main-content :is(.diagram-scroll, .table-wrapper, div.highlighter-rouge > div.highlight).fade-start:not(:focus-within) {
  -webkit-mask-image: linear-gradient(to left, #000 calc(100% - 2.5rem), rgba(0, 0, 0, 0.15));
  mask-image: linear-gradient(to left, #000 calc(100% - 2.5rem), rgba(0, 0, 0, 0.15));
}
.main-content :is(.diagram-scroll, .table-wrapper, div.highlighter-rouge > div.highlight).fade-start.fade-end:not(:focus-within) {
  -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.15), #000 2.5rem, #000 calc(100% - 2.5rem), rgba(0, 0, 0, 0.15));
  mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.15), #000 2.5rem, #000 calc(100% - 2.5rem), rgba(0, 0, 0, 0.15));
}

@container content (max-width: 30rem) {
  .main-content .callout,
  .main-content .learning-practice {
    padding-inline: 1rem;
  }
  .main-content div.highlighter-rouge div.highlight {
    padding-inline: 1rem;
  }
  .main-content div.highlighter-rouge[class*=language-]::before {
    padding-left: 1rem;
  }
}
.main-content .stepper {
  max-width: var(--ed-measure);
  margin: 1.5rem 0 1.75rem;
}
.main-content .stepper > ol {
  padding: 0;
  margin: 0;
  list-style: none;
}
.main-content .stepper > ol > li {
  margin: 0;
}
.main-content .stepper > ol > li::before {
  content: none;
}
.main-content .stepper > ol {
  counter-reset: stepper;
}
.main-content .stepper > ol > li {
  position: relative;
  max-width: none;
  padding: 0.1rem 0 1.1rem 3rem;
  counter-increment: stepper;
}
.main-content .stepper > ol > li::before {
  content: counter(stepper);
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-15) !important;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  color: var(--ed-ink);
  background: var(--ed-bg);
  border: 1px solid var(--ed-ink);
  border-radius: 50%;
}
.main-content .stepper > ol > li::after {
  content: "";
  position: absolute;
  top: 2.3rem;
  bottom: 0.25rem;
  left: 1rem;
  border-left: 1px solid var(--ed-rule-strong);
}
.main-content .stepper > ol > li:last-child {
  padding-bottom: 0.1rem;
}
.main-content .stepper > ol > li:last-child::after {
  content: none;
}
.main-content .stepper > ol > li > :last-child {
  margin-bottom: 0;
}
.main-content .stepper.is-enhanced {
  padding: 1.1rem 1.25rem 0.9rem;
  background: var(--ed-bg);
  border: 1px solid var(--ed-rule);
  border-top: 2px solid var(--ed-ink);
  border-radius: 0 0 2px 2px;
}
.main-content .stepper.is-enhanced > ol > li::before {
  content: attr(data-step);
  color: var(--ed-on-ink);
  background: var(--ed-ink);
}
.main-content .stepper.is-enhanced > ol > li::after {
  content: none;
}
.main-content .stepper.is-enhanced:not(.is-all) > ol > li {
  min-height: 4.5rem;
  padding-bottom: 0.25rem;
}
.main-content .stepper.is-enhanced:not(.is-all) > ol > li:not(.is-current) {
  display: none;
}
.main-content .stepper.is-enhanced.is-all > ol > li {
  padding-bottom: 1rem;
}
.main-content .stepper.is-enhanced.is-all > ol > li::before {
  color: var(--ed-ink);
  background: var(--ed-bg);
}
.main-content .stepper.is-enhanced.is-all > ol > li::after {
  content: "";
}
.main-content .stepper.is-enhanced.is-all > ol > li:last-child {
  padding-bottom: 0.1rem;
}
.main-content .stepper.is-enhanced.is-all > ol > li:last-child::after {
  content: none;
}

.main-content .stepper-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-top: 0.85rem;
  padding-top: 0.75rem;
  font-family: var(--ed-sans);
  border-top: 1px solid var(--ed-rule);
}
.main-content .stepper-controls .stepper-status {
  flex: 1 0 100%;
  order: -1;
  max-width: none;
  margin: 0;
  font-size: var(--fs-14);
  font-weight: 600;
  color: var(--ed-muted);
  font-variant-numeric: tabular-nums;
}
.main-content .stepper-controls .stepper-button {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.75rem;
  padding: 0.45rem 0.9rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  font-weight: 600;
  line-height: 1.2;
  color: var(--ed-ink);
  cursor: pointer;
  background: var(--ed-bg);
  border: 1px solid var(--ed-ink);
  border-radius: 2px;
}
.main-content .stepper-controls .stepper-button[aria-disabled=true] {
  color: var(--ed-muted);
  cursor: default;
  background: var(--ed-bg);
  border-color: var(--ed-rule-ui);
}
.main-content .stepper-controls .stepper-button[hidden] {
  display: none;
}
.main-content .stepper-controls .stepper-next:not([aria-disabled=true]) {
  color: var(--ed-on-ink);
  background: var(--ed-ink);
}
.main-content .stepper-controls .stepper-prev::before,
.main-content .stepper-controls .stepper-next::after {
  content: "";
  flex: none;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
  -webkit-mask: var(--ed-i-arrow) center/contain no-repeat;
  mask: var(--ed-i-arrow) center/contain no-repeat;
  height: 0.7rem;
}
.main-content .stepper-controls .stepper-prev::before {
  transform: scaleX(-1);
}
.main-content .stepper-controls .stepper-all {
  border-color: transparent;
  color: var(--ed-link);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

@container content (min-width: 30rem) {
  .main-content .stepper-controls .stepper-all {
    margin-left: auto;
  }
}
@media (hover: hover) {
  .main-content .stepper-controls .stepper-button:not([aria-disabled=true]):hover {
    background: var(--ed-paper);
  }
  .main-content .stepper-controls .stepper-next:not([aria-disabled=true]):hover {
    background: var(--ed-link);
    border-color: var(--ed-link);
  }
  .main-content .stepper-controls .stepper-all:not([aria-disabled=true]):hover {
    background: var(--ed-tint);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main-content .stepper-controls .stepper-button {
    transition: transform 140ms ease-out;
  }
  .main-content .stepper-controls .stepper-button:not([aria-disabled=true]):active {
    transform: scale(0.98);
  }
}
.main-content .home-hero {
  margin: 0 0 1.75rem;
  padding: 0;
}
.main-content .home-hero h1 {
  max-width: none;
  margin: 0.5em 0 1.25rem;
  font-size: var(--fs-40) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em;
}
.main-content .home-hero > ul.home-facts {
  padding: 0;
  margin: 0;
  list-style: none;
}
.main-content .home-hero > ul.home-facts > li {
  margin: 0;
}
.main-content .home-hero > ul.home-facts > li::before {
  content: none;
}
.main-content .home-hero > ul.home-facts {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  max-width: none;
  margin: 0 0 1.5rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  line-height: 1.5;
  border-top: 1px solid var(--ed-ink);
  border-bottom: 1px solid var(--ed-rule);
}
.main-content .home-hero > ul.home-facts > li {
  padding: 0.55rem 0;
  border-top: 1px solid var(--ed-rule);
}
.main-content .home-hero > ul.home-facts > li:first-child {
  border-top: 0;
}
.main-content .home-hero > ul.home-facts > li > strong:first-child {
  display: block;
  font-size: var(--fs-14);
  font-weight: 650;
  color: var(--ed-term);
}
.main-content .home-hero > ul.home-facts + p {
  max-width: 36em;
  font-size: var(--fs-20);
  line-height: 1.45;
  color: var(--ed-text-2);
}
.main-content .home-hero > p {
  max-width: var(--ed-measure);
}
.main-content .home-hero > p.home-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-width: none;
  margin: 1.25rem 0 0;
  font-size: 0;
}
.main-content .home-hero > p.home-actions > strong:first-child {
  margin-right: 1rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  font-weight: 650;
  line-height: 1.25;
  color: var(--ed-ink);
}
.main-content .home-hero > p.home-actions > a {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  margin-right: 1.1rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  font-weight: 500;
  line-height: 1.25;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

@container content (min-width: 40rem) {
  .main-content .home-hero h1 {
    font-size: var(--fs-48) !important;
  }
  .main-content .home-hero > ul.home-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 2rem;
  }
  .main-content .home-hero > ul.home-facts > li:nth-child(2) {
    border-top: 0;
  }
  .main-content .home-hero > ul.home-facts + p {
    font-size: var(--fs-22);
  }
}
@container content (max-width: 30rem) {
  .main-content .home-hero > ul.home-facts > li {
    padding: 0.4rem 0;
  }
  .main-content .home-hero > ul.home-facts > li > strong:first-child {
    display: inline;
  }
}
@media (pointer: coarse) {
  .main-content .home-hero > p.home-actions > a,
  .main-content .this-week .this-week-actions > a {
    min-height: 2.75rem;
  }
}
.main-content .this-week {
  display: grid;
  gap: 0.2rem;
  max-width: none;
  margin: 0 0 1.75rem;
  padding: 1rem 1.25rem 1.1rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-16);
  line-height: 1.5;
  color: var(--ed-text);
  background: var(--ed-paper);
  border-left: 3px solid var(--ed-current);
}
.main-content .this-week p {
  max-width: none;
  margin: 0;
}
.main-content .this-week .this-week-label {
  font-size: var(--fs-16);
  font-weight: 700;
  line-height: 1.35;
  color: var(--ed-current);
}
.main-content .this-week .this-week-when {
  font-variant-numeric: tabular-nums;
}
.main-content .this-week .this-week-focus {
  margin: 0.35rem 0 0.15rem;
  font-size: var(--fs-22);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--ed-ink);
  text-wrap: balance;
}
.main-content .this-week .this-week-term {
  font-weight: 650;
  color: var(--ed-term);
}
.main-content .this-week .this-week-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0.65rem 0 0.15rem;
  font-size: 0;
}
.main-content .this-week .this-week-actions > a {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  margin: 0.25rem 1.25rem 0.25rem 0;
  font-size: var(--fs-16);
  font-weight: 600;
  line-height: 1.25;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.main-content .this-week .this-week-actions > a.this-week-open {
  min-height: 2.75rem;
  padding: 0.5rem 1.1rem;
  color: var(--ed-on-ink);
  text-decoration: none;
  background: var(--ed-ink);
  border-radius: 2px;
}
.main-content .this-week .this-week-deadline {
  margin-top: 0.5rem;
}
.main-content .this-week strong {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.0625rem 0.4rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-13);
  font-weight: 700;
  font-style: normal;
  line-height: 1.45;
  letter-spacing: 0.02em;
  max-width: 100%;
  border-radius: 2px;
  color: var(--ed-accent);
  background: var(--ed-red-tint);
  border: 1px solid currentColor;
}

.main-content .this-week[data-pending] {
  min-height: 16.5rem;
  min-height: clamp(16.5rem, 42.25rem - 71cqi, 30rem);
  animation: this-week-give-back 0s 4s forwards;
}

@keyframes this-week-give-back {
  to {
    min-height: 0;
    margin: 0;
    padding: 0;
    border-left-width: 0;
    visibility: hidden;
  }
}
@media (hover: hover) {
  .main-content .this-week .this-week-actions > a.this-week-open:hover {
    background: var(--ed-link);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main-content .this-week .this-week-actions > a.this-week-open {
    transition: transform 140ms ease-out;
  }
  .main-content .this-week .this-week-actions > a.this-week-open:active {
    transform: scale(0.98);
  }
}
@container content (max-width: 30rem) {
  .main-content .this-week {
    padding: 0.9rem 1rem 1rem;
  }
  .main-content .this-week .this-week-focus {
    font-size: var(--fs-20);
  }
  .main-content .this-week .this-week-actions > a.this-week-open {
    flex: 1 1 100%;
    justify-content: center;
    margin-right: 0;
  }
}
.main-content ol.start-path {
  padding: 0;
  margin: 0;
  list-style: none;
}
.main-content ol.start-path > li {
  margin: 0;
}
.main-content ol.start-path > li::before {
  content: none;
}
.main-content ol.start-path {
  max-width: var(--ed-measure);
  margin: 1.25rem 0 2rem;
  counter-reset: path;
}
.main-content ol.start-path > li {
  position: relative;
  padding: 0.2rem 0 1.25rem 3.35rem;
  counter-increment: path;
}
.main-content ol.start-path > li::before {
  content: counter(path);
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  font-family: var(--ed-sans);
  font-size: var(--fs-16) !important;
  font-weight: 650;
  font-variant-numeric: lining-nums tabular-nums;
  line-height: 1;
  text-align: center;
  color: var(--ed-ink);
  background: var(--ed-bg);
  border: 1px solid var(--ed-ink);
  border-radius: 50%;
}
.main-content ol.start-path > li::after {
  content: "";
  position: absolute;
  top: 2.55rem;
  bottom: 0.3rem;
  left: 1.125rem;
  border-left: 1px solid var(--ed-rule-strong);
}
.main-content ol.start-path > li:first-child::before {
  color: var(--ed-on-ink);
  background: var(--ed-ink);
}
.main-content ol.start-path > li:last-child {
  padding-bottom: 0.25rem;
}
.main-content ol.start-path > li:last-child::after {
  content: none;
}

.main-content table.schedule th,
.main-content table.schedule td {
  min-width: 0;
}
.main-content table.schedule td:first-child,
.main-content table.schedule th:first-child {
  width: 2.25rem;
  padding-right: 0.5rem;
  font-variant-numeric: tabular-nums;
}
.main-content table.schedule td:nth-child(2) {
  white-space: nowrap;
  color: var(--ed-muted);
}
.main-content table.schedule td strong {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.0625rem 0.4rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-13);
  font-weight: 700;
  font-style: normal;
  line-height: 1.45;
  letter-spacing: 0.02em;
  max-width: 100%;
  border-radius: 2px;
  white-space: normal;
  color: var(--ed-accent);
  background: var(--ed-red-tint);
  border: 1px solid currentColor;
}
.main-content table.schedule tr.is-next td {
  background: var(--ed-paper-deep);
}
.main-content table.schedule tr.is-next td:first-child {
  box-shadow: inset 3px 0 0 var(--ed-current);
  padding-left: 0.5rem;
}

@container content (max-width: 36rem) {
  .main-content .table-wrapper:has(> table.schedule) {
    overflow: visible;
  }
  .main-content table.schedule {
    display: block;
  }
  .main-content table.schedule thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .main-content table.schedule tbody,
  .main-content table.schedule tr,
  .main-content table.schedule td {
    display: block;
  }
  .main-content table.schedule tr {
    display: grid;
    grid-template-columns: 2.25rem minmax(0, 1fr);
    column-gap: 0.5rem;
    padding: 0.6rem 0;
    border-bottom: 1px solid var(--ed-rule);
  }
  .main-content table.schedule tbody tr:last-of-type {
    border-bottom: 0;
  }
  .main-content table.schedule td {
    padding: 0.1rem 0;
    border: 0;
  }
  .main-content table.schedule td:first-child {
    grid-row: 1/span 3;
    width: auto;
    padding-left: 0;
    font-size: var(--fs-20) !important;
    font-weight: 700;
    line-height: 1.3;
    color: var(--ed-ink);
  }
  .main-content table.schedule td:nth-child(2) {
    white-space: normal;
  }
  .main-content table.schedule td:nth-child(n+3)::before {
    content: attr(data-label) ": ";
    font-weight: 650;
    color: var(--ed-term);
  }
  .main-content table.schedule td:nth-child(3)::before {
    content: none;
  }
  .main-content table.schedule td:nth-child(3) {
    font-weight: 600;
  }
  .main-content table.schedule tr.is-next {
    background: var(--ed-paper-deep);
    box-shadow: inset 3px 0 0 var(--ed-current);
  }
  .main-content table.schedule tr.is-next td {
    background: none;
  }
  .main-content table.schedule tr.is-next td:first-child {
    box-shadow: none;
    padding-left: 0.75rem;
  }
}
.main-content .walkthrough-command,
.main-content .factory-command {
  margin: 1.25rem 0 1.5rem;
}

.main-content .walkthrough-quiz,
.main-content .factory-delivery-map {
  margin-top: 2rem;
}

.main-content .factory-milestones {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  max-width: none;
  padding: 0;
  margin: 1.5rem 0;
  list-style: none;
  counter-reset: factory-step;
}
.main-content .factory-milestones > li {
  margin: 0;
  padding: 0.85rem 0 0;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  border-top: 2px solid var(--ed-ink);
  counter-increment: factory-step;
}
.main-content .factory-milestones > li::before {
  position: static;
  display: block;
  width: auto;
  content: counter(factory-step);
  margin: 0 0 0.45rem;
  padding: 0;
  font-family: var(--ed-sans);
  font-size: var(--fs-22) !important;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  color: var(--ed-ink);
}
.main-content .factory-milestones strong,
.main-content .factory-milestones span {
  display: block;
}
.main-content .factory-milestones span {
  margin-top: 0.4rem;
  font-size: var(--fs-14);
  line-height: 1.5;
  color: var(--ed-muted);
}
@media (max-width: 48rem) {
  .main-content .factory-milestones {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 28rem) {
  .main-content .factory-milestones {
    grid-template-columns: 1fr;
  }
}

.main-content .inference-lab {
  margin: 1.75rem 0;
  padding: 1.25rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-16);
  background: var(--ed-bg);
  border: 1px solid var(--ed-rule);
  border-left: 3px solid var(--ed-ink);
}
.main-content .inference-lab h3 {
  margin-top: 0;
}
.main-content .inference-lab p {
  max-width: none;
}
.main-content .inference-lab .lab-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.main-content .inference-lab label {
  display: block;
  font-size: var(--fs-15);
  font-weight: 600;
  color: var(--ed-ink);
}
.main-content .inference-lab input {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  margin-top: 0.25rem;
  padding: 0.5rem;
  font: inherit;
  font-weight: 400;
  color: var(--ed-text);
  background: var(--ed-bg);
  border: 1px solid var(--ed-rule-ui);
  border-radius: 2px;
}
.main-content .inference-lab input[aria-invalid=true] {
  border: 2px solid var(--ed-red);
}
.main-content .inference-lab input:focus-visible {
  outline: 3px solid var(--ed-focus);
  outline-offset: 2px;
}
.main-content .inference-lab .lab-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1rem 0;
}
.main-content .inference-lab button {
  min-height: 2.75rem;
  padding: 0.5rem 0.85rem;
  font: inherit;
  font-size: var(--fs-15);
  font-weight: 600;
  color: var(--ed-ink);
  background: var(--ed-bg);
  border: 1px solid var(--ed-ink);
  border-radius: 2px;
  cursor: pointer;
}
.main-content .inference-lab .lab-chart {
  display: flex;
  height: 1.5rem;
  margin: 1rem 0;
  overflow: hidden;
}
.main-content .inference-lab [data-stage=load] {
  background: var(--ed-stage-load);
}
.main-content .inference-lab [data-stage=queue] {
  background: var(--ed-stage-queue);
}
.main-content .inference-lab [data-stage=prefill] {
  background: var(--ed-stage-prefill);
}
.main-content .inference-lab [data-stage=decode] {
  background: var(--ed-stage-decode);
}
.main-content .inference-lab .lab-stage-key {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  padding: 0;
  list-style: none;
}
.main-content .inference-lab .lab-stage-key li::before {
  position: static;
  content: "";
  display: inline-block;
  width: 0.75rem;
  height: 0.75rem;
  margin: 0 0.3rem 0 0;
  padding: 0;
  border-radius: 0;
  background: var(--stage-color);
}
.main-content .inference-lab [data-error] {
  color: var(--ed-red);
}
@media (max-width: 36rem) {
  .main-content .inference-lab .lab-fields {
    grid-template-columns: 1fr;
  }
}

.main-content > hr {
  margin-top: 3.5rem;
  background: none;
  border-top: 1px solid var(--ed-rule);
}

.main-content > footer {
  font-family: var(--ed-sans);
  font-size: var(--fs-14);
  color: var(--ed-muted);
}
.main-content > footer a {
  color: var(--ed-link);
}
.main-content > footer .text-small,
.main-content > footer .fs-2 {
  font-size: var(--fs-14) !important;
}

#back-to-top {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
@media print {
  html {
    font-size: 10.5pt !important;
  }
  body {
    font-family: "Helvetica Neue", Arial, "Liberation Sans", sans-serif;
    background: #fff;
  }
  :root {
    --ed-serif: Charter, "Iowan Old Style", Georgia, "Liberation Serif", "Times New Roman", serif;
    --ed-sans: "Helvetica Neue", Arial, "Liberation Sans", sans-serif;
    --ed-mono: Menlo, Consolas, "Liberation Mono", monospace;
  }
  code,
  pre {
    font-family: Menlo, Consolas, "Liberation Mono", monospace !important;
  }
  .side-bar,
  .main-header,
  .main-content > hr,
  .main-content > footer,
  .anchor-heading,
  .lecture-toc,
  .page-nav,
  .pager,
  .screen-only,
  .this-week,
  .stepper-controls,
  .skip-to-main,
  .course-diagram + details,
  div.highlighter-rouge > button,
  figure.highlight > button {
    display: none !important;
  }
  .print-only {
    display: inline !important;
  }
  .main,
  .main-content-wrap {
    max-width: none;
    padding: 0 !important;
  }
  .main-content {
    font-size: 1rem;
    line-height: 1.5;
  }
  .main-content main :where(p, ul, ol, dl, blockquote, details, h3, h4, h5, h6, .callout, .learning-practice, .stepper) {
    max-width: none;
  }
  .main-content h1 {
    font-size: 2rem !important;
  }
  .main-content h2 {
    margin-top: 1.75rem;
    font-size: 1.5rem !important;
  }
  .main-content h3 {
    margin-top: 1.25rem;
    font-size: 1.2rem !important;
  }
  .main-content h1,
  .main-content h2,
  .main-content h3,
  .main-content h4,
  .main-content summary,
  .main-content .callout-label,
  .main-content blockquote.callout > p:first-child,
  .main-content p.glance-title {
    break-after: avoid;
  }
  .main-content p,
  .main-content li {
    orphans: 3;
    widows: 3;
  }
  .main-content a:not([class]) {
    text-decoration-color: currentColor;
  }
  .main-content .callout,
  .main-content .learning-practice {
    max-width: none;
    font-size: 0.95rem;
    border-left-width: 3pt;
  }
  .main-content .stepper.is-enhanced {
    padding: 0;
    border: 0;
  }
  .main-content .stepper.is-enhanced > ol > li,
  .main-content .stepper.is-enhanced > ol > li:not(.is-current) {
    display: block !important;
    min-height: 0;
    padding-bottom: 0.75rem;
  }
  .main-content .stepper.is-enhanced > ol > li::before,
  .main-content .stepper.is-enhanced > ol > li:not(.is-current)::before {
    color: var(--ed-ink);
    background: #fff;
  }
  .main-content details > summary {
    min-height: 0;
    padding: 0.35rem 0;
  }
  .main-content details > summary::before {
    display: none;
  }
  .main-content details > :not(summary) {
    margin-left: 0;
  }
  .main-content .callout + details:not(.lecture-toc) {
    margin-top: -1rem;
  }
  details::details-content {
    content-visibility: visible;
    display: block;
  }
  div.highlight {
    overflow: visible !important;
  }
  .fade-start,
  .fade-end {
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  .main-content pre.highlight,
  .main-content pre.highlight code {
    font-size: 8.75pt !important;
    line-height: 1.4;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }
  .main-content :not(pre) > code {
    font-size: 0.9em;
  }
  .main-content div.highlighter-rouge div.highlight {
    padding: 0.5rem 0.75rem;
    background: none;
  }
  .main-content div.highlighter-rouge[class*=language-]::before {
    padding-top: 0.15rem;
    padding-bottom: 0.1rem;
  }
  .main-content .table-wrapper {
    overflow: visible !important;
  }
  .main-content th,
  .main-content td {
    font-size: 0.9rem !important;
    overflow-wrap: anywhere;
  }
  .main-content td code {
    white-space: normal;
  }
  tr,
  img,
  div.highlighter-rouge,
  p.callout,
  blockquote.callout > p:first-child,
  blockquote.glance,
  .home-facts,
  .start-path > li,
  .stepper > ol > li,
  .learning-practice,
  .walkthrough-command,
  .walkthrough-quiz,
  .studio-quiz,
  .factory-check,
  .factory-command,
  .factory-delivery-map {
    break-inside: avoid;
  }
  .main-content main.lecture-page > h2::before {
    font-size: 0.85rem !important;
  }
  .main-content .home-hero h1 {
    font-size: 2.6rem !important;
  }
  .main-content .home-hero > ul.home-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.5rem;
  }
  .main-content .home-hero > ul.home-facts > li:nth-child(2) {
    border-top: 0;
  }
  .main-content .home-hero > ul.home-facts + p {
    font-size: 1.15rem;
  }
  .main-content .home-hero > p.home-actions {
    display: none;
  }
  .main-content table.schedule tr.is-next,
  .main-content table.schedule tr.is-next td,
  .main-content table.schedule tr.is-next td:first-child {
    background: none;
    box-shadow: none;
  }
  .main-content table.schedule tr.is-next td:first-child {
    padding-left: 0;
  }
  .main-content .course-diagram {
    margin: 1.25rem 0;
    break-inside: avoid;
  }
  .main-content .course-diagram .diagram-scroll {
    overflow: visible;
    padding: 0.6rem;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
  .main-content .course-diagram img {
    min-width: 0;
    max-width: 100%;
    max-height: 60vh;
    width: auto;
    box-shadow: none;
  }
  .main-content .course-diagram figcaption {
    margin: 0 0.6rem;
    padding: 0.5rem 0 0.6rem;
    font-size: 0.85rem;
  }
  .main-content .course-diagram:not(.course-diagram--wide) img {
    max-width: 28rem;
  }
  .main-content .factory-milestones {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    break-inside: avoid;
  }
  .main-content .factory-milestones > li {
    break-inside: avoid;
  }
  .main-content .inference-lab {
    break-inside: avoid;
    padding: 0.75rem;
  }
  .main-content .inference-lab form {
    display: none !important;
  }
}
.main-content .reliability-lab {
  margin-block: 1.5rem;
  padding: 1.25rem;
  background: var(--ed-bg);
  border: 1px solid var(--ed-rule);
  border-left: 3px solid var(--ed-ink);
}
.main-content .reliability-lab > :first-child {
  margin-top: 0;
}
.main-content .reliability-lab > :last-child {
  margin-bottom: 0;
}
.main-content .reliability-lab .reliability-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.main-content .reliability-lab label {
  display: block;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  font-weight: 600;
  line-height: 1.4;
  color: var(--ed-ink);
}
.main-content .reliability-lab input {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 2.75rem;
  margin-top: 0.25rem;
  padding: 0.5rem;
  font: inherit;
  font-size: var(--fs-16);
  font-weight: 400;
  color: var(--ed-text);
  background: var(--ed-bg);
  border: 1px solid var(--ed-rule-ui);
  border-radius: 2px;
}
.main-content .reliability-lab input:focus-visible {
  outline: 3px solid var(--ed-focus);
  outline-offset: 2px;
}
.main-content .reliability-lab button {
  min-height: 2.75rem;
  margin: 0.5rem 0.4rem 0.5rem 0;
  padding: 0.5rem 0.85rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  font-weight: 600;
  color: var(--ed-ink);
  background: var(--ed-bg);
  border: 1px solid var(--ed-ink);
  border-radius: 2px;
  cursor: pointer;
}
.main-content .reliability-lab .reliability-bar {
  display: flex;
  height: 1.4rem;
  margin-block: 0.7rem;
  background: var(--ed-bg);
}
.main-content .reliability-lab [data-fast-bar] {
  background: var(--ed-green);
}
.main-content .reliability-lab [data-slow-bar] {
  background: var(--ed-red);
}
.main-content .reliability-lab [data-error] {
  color: var(--ed-red);
  font-weight: 600;
}
@media (max-width: 36rem) {
  .main-content .reliability-lab .reliability-inputs {
    grid-template-columns: 1fr;
  }
}

@media (hover: hover) {
  .main-content :is(.inference-lab, .reliability-lab) button:hover {
    background: var(--ed-paper);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .main-content :is(.inference-lab, .reliability-lab) button {
    transition: transform 140ms ease-out;
  }
  .main-content :is(.inference-lab, .reliability-lab) button:active {
    transform: scale(0.98);
  }
}
@media print {
  .main-content .reliability-lab form {
    display: none !important;
  }
  .main-content .reliability-lab {
    break-inside: avoid;
    padding: 0.7rem;
  }
}
.main-content .sim {
  margin: 1.75rem 0;
  padding: 1rem 1.25rem 1.1rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-16);
  background: var(--ed-bg);
  border: 1px solid var(--ed-rule);
  border-left: 3px solid var(--ed-ink);
}
.main-content .sim > :last-child {
  margin-bottom: 0;
}
.main-content .sim .sim-title {
  margin-top: 0;
}
.main-content .sim .sim-fallback {
  font-family: var(--ed-serif);
}
.main-content .sim.is-live .sim-fallback {
  display: none;
}
.main-content .sim code {
  overflow-wrap: anywhere;
}
.main-content .sim .sim-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.75rem 0;
}
.main-content .sim .sim-button {
  min-height: 2.75rem;
  padding: 0.45rem 0.85rem;
  font: inherit;
  font-size: var(--fs-15);
  font-weight: 600;
  line-height: 1.2;
  color: var(--ed-ink);
  cursor: pointer;
  background: var(--ed-bg);
  border: 1px solid var(--ed-ink);
  border-radius: 2px;
}
.main-content .sim .sim-button:hover {
  background: var(--ed-paper);
}
.main-content .sim .sim-button[aria-pressed=true] {
  color: var(--ed-on-ink);
  background: var(--ed-ink);
}
.main-content .sim .sim-button.sim-quiet {
  color: var(--ed-link);
  border-color: var(--ed-rule-ui);
}
.main-content .sim .sim-button[aria-disabled=true] {
  color: var(--ed-muted);
  cursor: default;
  background: var(--ed-bg);
  border-color: var(--ed-rule-ui);
}
.main-content .sim .sim-button code {
  font-size: var(--fs-14);
  color: inherit;
  background: transparent;
  border: 0;
  padding: 0;
}
.main-content .sim fieldset {
  margin: 0 0 0.75rem;
  padding: 0;
  border: 0;
  min-width: 0;
}
.main-content .sim legend {
  margin-bottom: 0.35rem;
  padding: 0;
  font-size: var(--fs-15);
  font-weight: 600;
  color: var(--ed-ink);
}
.main-content .sim .sim-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.main-content .sim .sim-choices label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.75rem;
  padding: 0.35rem 0.75rem;
  font-size: var(--fs-15);
  cursor: pointer;
  border: 1px solid var(--ed-rule-ui);
  border-radius: 2px;
}
.main-content .sim .sim-choices label:has(input:checked) {
  font-weight: 600;
  background: var(--ed-paper-deep);
  border-color: var(--ed-ink);
}
.main-content .sim .sim-choices label:has(input:focus-visible) {
  outline: 3px solid var(--ed-focus);
  outline-offset: 2px;
}
.main-content .sim input[type=radio] {
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
  accent-color: var(--ed-ink);
}
.main-content .sim .sim-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.main-content .sim .sim-fields label {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-size: var(--fs-15);
  font-weight: 600;
  color: var(--ed-ink);
}
.main-content .sim input[type=number] {
  display: block;
  width: 100%;
  min-height: 2.75rem;
  margin-top: 0.25rem;
  padding: 0.4rem 0.5rem;
  font: inherit;
  font-weight: 400;
  color: var(--ed-text);
  background: var(--ed-bg);
  border: 1px solid var(--ed-rule-ui);
  border-radius: 2px;
}
.main-content .sim input[type=number][aria-invalid=true] {
  border: 2px solid var(--ed-red);
}
.main-content .sim .sim-status {
  margin: 0.75rem 0;
  font-weight: 600;
  color: var(--ed-ink);
}
.main-content .sim .sim-error {
  font-weight: 600;
  color: var(--ed-red);
}
.main-content .sim .sim-note {
  font-size: var(--fs-15);
  color: var(--ed-muted);
}
.main-content .sim .sim-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.6rem;
  margin: 0.75rem 0;
}
.main-content .sim .sim-box {
  min-width: 0;
  padding: 0.6rem 0.75rem;
  font-size: var(--fs-15);
  background: var(--ed-paper);
  border: 1px solid var(--ed-rule-strong);
  border-left-width: 4px;
  border-radius: 2px;
}
.main-content .sim .sim-box p {
  margin: 0.3rem 0 0;
}
.main-content .sim .sim-box-title {
  font-weight: 700;
  color: var(--ed-ink);
}
.main-content .sim .sim-badge {
  display: block;
  margin-top: 0.2rem;
  font-size: var(--fs-14);
  font-weight: 700;
}
.main-content .sim [data-tone=ok] {
  background: var(--ed-green-tint);
  border-color: var(--ed-green);
}
.main-content .sim [data-tone=ok] .sim-badge {
  color: var(--ed-green);
}
.main-content .sim [data-tone=bad] {
  background: var(--ed-red-tint);
  border-color: var(--ed-red);
}
.main-content .sim [data-tone=bad] .sim-badge {
  color: var(--ed-red);
}
.main-content .sim [data-tone=wait] {
  background: var(--ed-ochre-tint);
  border-color: var(--ed-ochre);
}
.main-content .sim [data-tone=wait] .sim-badge {
  color: var(--ed-ochre);
}
.main-content .sim [data-tone=flow] {
  background: var(--ed-navy-tint);
  border-color: var(--ed-navy);
}
.main-content .sim [data-tone=flow] .sim-badge {
  color: var(--ed-navy);
}
.main-content .sim [data-tone=idle] .sim-badge {
  color: var(--ed-muted);
}
.main-content .sim .sim-log {
  margin: 0.5rem 0;
  padding: 0.6rem 0.75rem;
  font-family: var(--ed-mono);
  font-size: var(--fs-14);
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: var(--ed-code-text);
  background: var(--ed-code-bg);
  border: 1px solid var(--ed-code-line);
  border-radius: 2px;
}
.main-content .sim .sim-stages {
  margin: 0.5rem 0;
  padding-left: 1.75rem;
}
.main-content .sim .sim-stages li {
  margin: 0.35rem 0;
  padding: 0.3rem 0.5rem;
  max-width: none;
  border-left: 4px solid var(--ed-rule);
}
.main-content .sim .sim-track {
  position: relative;
  height: 2.25rem;
  margin: 0.75rem 0 0.25rem;
  background: var(--ed-paper);
  border: 1px solid var(--ed-rule-strong);
}
.main-content .sim .sim-seg {
  position: absolute;
  top: 0.25rem;
  bottom: 0.25rem;
  min-width: 3px;
  background: var(--ed-navy-tint);
  border: 2px solid var(--ed-navy);
}
.main-content .sim .sim-seg.is-late {
  background: var(--ed-red-tint);
  border-color: var(--ed-red);
  border-style: dashed;
}
.main-content .sim .sim-deadline {
  position: absolute;
  top: -0.25rem;
  bottom: -0.25rem;
  border-left: 3px solid var(--ed-red);
}
.main-content .sim .sim-axis {
  display: flex;
  justify-content: space-between;
  font-size: var(--fs-14);
  color: var(--ed-muted);
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: no-preference) {
  .main-content .sim .sim-box,
  .main-content .sim .sim-seg {
    transition: background-color 0.2s ease, border-color 0.2s ease, left 0.2s ease, width 0.2s ease;
  }
}
@media print {
  .main-content .sim {
    padding: 0.6rem 0.75rem;
  }
  .main-content .sim .sim-app {
    display: none !important;
  }
  .main-content .sim.is-live .sim-fallback {
    display: block !important;
  }
}
@media print {
  .main-content .reasoning-code div.highlighter-rouge {
    break-inside: auto;
  }
  .main-content .reasoning-code div.highlighter-rouge::before {
    break-after: avoid;
  }
  .main-content .reasoning-answer,
  .main-content .inference-answer {
    break-inside: avoid;
  }
}
.main-content .file-example {
  position: relative;
  min-width: 0;
  margin: 1.25rem 0 1.5rem;
  border: 1px solid var(--ed-code-line);
  border-radius: 4px;
  background: var(--ed-code-bg);
}
.main-content .file-example > figcaption {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.3rem 1rem;
  min-height: 2.75rem;
  padding: 0.6rem 3.25rem 0.6rem 1rem;
  border-bottom: 1px solid var(--ed-code-line);
  background: var(--ed-paper-deep);
  font-family: var(--ed-sans);
  font-size: var(--fs-14);
  line-height: 1.5;
}
.main-content .file-example .file-example-action {
  color: var(--ed-muted);
}
.main-content .file-example .file-example-path {
  overflow-wrap: anywhere;
  font-family: var(--ed-mono);
  font-weight: 600;
  color: var(--ed-ink);
}
.main-content .file-example div.highlighter-rouge {
  position: static;
  margin: 0;
  border: 0;
  background: transparent;
}
.main-content .file-example div.highlighter-rouge::before {
  display: none;
}
.main-content .file-example div.highlighter-rouge > button {
  top: 0;
  right: 0;
  width: 2.75rem;
  height: 2.75rem;
}

.main-content .repo-map {
  margin: 1.5rem 0;
  border: 1px solid var(--ed-rule-strong);
  border-radius: 4px;
  overflow: clip;
  font-family: var(--ed-sans);
  font-size: var(--fs-15);
  line-height: 1.5;
}
.main-content .repo-map > figcaption {
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--ed-rule);
  background: var(--ed-paper);
}
.main-content .repo-map > figcaption strong, .main-content .repo-map > figcaption span {
  display: block;
}
.main-content .repo-map > figcaption span {
  margin-top: 0.35rem;
  color: var(--ed-muted);
}
.main-content .repo-map .repo-map-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.main-content .repo-map section {
  min-width: 0;
  padding: 1rem 1.1rem;
}
.main-content .repo-map .repo-map-share {
  border-top: 4px solid #2a6a47;
}
.main-content .repo-map .repo-map-local {
  border-top: 4px solid #8b3c3b;
  border-left: 1px solid var(--ed-rule);
}
.main-content .repo-map h4 {
  margin: 0 0 0.3rem;
  font-family: var(--ed-sans);
  font-size: var(--fs-18);
}
.main-content .repo-map section > p {
  margin: 0 0 0.75rem;
  color: var(--ed-muted);
}
.main-content .repo-map ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.main-content .repo-map li {
  padding: 0.7rem 0;
  margin: 0;
  border-top: 1px solid var(--ed-rule);
}
.main-content .repo-map li::before {
  display: none !important;
}
.main-content .repo-map li span {
  display: block;
  margin-top: 0.2rem;
  color: var(--ed-muted);
}
.main-content .repo-map code {
  overflow-wrap: anywhere;
  white-space: normal;
  font-size: 0.9em;
}
.main-content .repo-map .repo-map-rule {
  max-width: none;
  margin: 0;
  padding: 0.85rem 1.1rem;
  border-top: 1px solid var(--ed-rule);
  background: var(--ed-paper);
}

@container content (max-width: 35rem) {
  .main-content .repo-map .repo-map-columns {
    grid-template-columns: minmax(0, 1fr);
  }
  .main-content .repo-map .repo-map-local {
    border-left: 0;
  }
}
@media (pointer: coarse) {
  .main-content div.highlighter-rouge[class*=language-]::before {
    min-height: 2.75rem;
    padding-block: 0.7rem;
  }
  .main-content div.highlighter-rouge > button {
    width: 2.75rem;
    height: 2.75rem;
  }
}
@media print {
  .main-content .file-example {
    break-inside: avoid;
  }
  .main-content .file-example > figcaption {
    min-height: 0;
    padding: 0.3rem 0.65rem;
    font-size: 9pt;
    break-after: avoid;
  }
  .main-content .file-example--long {
    break-inside: auto;
  }
  .main-content .file-example--long div.highlighter-rouge {
    break-inside: auto;
  }
  .main-content .repo-map {
    font-size: 9pt;
    break-inside: avoid;
  }
  .main-content .repo-map .repo-map-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .main-content .repo-map h4 {
    font-size: 11pt;
  }
  .main-content .repo-map li {
    padding-block: 0.35rem;
  }
  .main-content .repo-map section {
    padding: 0.6rem 0.75rem;
  }
}
.main-content .example-key {
  max-width: var(--ed-measure);
  margin: 1rem 0 1.5rem;
  padding: 0.85rem 1rem;
  border-block: 1px solid var(--ed-rule-strong);
  font: var(--fs-14)/1.5 var(--ed-sans);
}
.main-content .example-key > p {
  margin: 0 0 0.65rem;
}
.main-content .example-key ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.main-content .example-key li {
  min-width: 0;
  margin: 0;
  padding: 0;
}
.main-content .example-key li::before {
  display: none !important;
}
.main-content .example-key strong {
  display: block;
  color: var(--ed-ink);
}
.main-content .example-key li span {
  display: block;
  color: var(--ed-muted);
}

@container content (max-width: 30rem) {
  .main-content .example-key ul {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media print {
  .main-content .example-key {
    font-size: 9pt;
    break-inside: avoid;
  }
}