@charset "UTF-8";
@font-face {
  font-family: "AkkuratMono";
  src: url("/fonts/akk-mono.eot");
  src: url("/fonts/akk-mono.eot") format("embedded-opentype"), url("/fonts/akk-mono.woff") format("woff"), url("/fonts/akk-mono.ttf") format("truetype"), url("/fonts/akk-mono.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "AkkuratTT";
  src: url("/fonts/akk-regular.eot");
  src: url("/fonts/akk-regular.eot") format("embedded-opentype"), url("/fonts/akk-regular.woff") format("woff"), url("/fonts/akk-regular.ttf") format("truetype"), url("/fonts/akk-regular.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "AkkuratTT";
  src: url("/fonts/akk-bold-c.eot");
  src: url("/fonts/akk-bold-c.eot") format("embedded-opentype"), url("/fonts/akk-bold-c.woff") format("woff"), url("/fonts/akk-bold-c.ttf") format("truetype"), url("/fonts/akk-bold-c.svg") format("svg");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "AkkuratTT";
  src: url("/fonts/akk-bolditalic-c.eot");
  src: url("/fonts/akk-bolditalic-c.eot") format("embedded-opentype"), url("/fonts/akk-bolditalic-c.woff") format("woff"), url("/fonts/akk-bolditalic-c.ttf") format("truetype"), url("/fonts/akk-bolditalic-c.svg") format("svg");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "AkkuratTT";
  src: url("/fonts/akk-italic-c.eot");
  src: url("/fonts/akk-italic-c.eot") format("embedded-opentype"), url("/fonts/akk-italic-c.woff") format("woff"), url("/fonts/akk-italic-c.ttf") format("truetype"), url("/fonts/akk-italic-c.svg") format("svg");
  font-weight: normal;
  font-style: italic;
}
/**
 * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/)
 * http://cssreset.com
 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul, li {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/** Own Code **/
*, *:before, *:after {
  box-sizing: border-box;
}

html, input, select, textarea, button {
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html, body {
  font-family: AkkuratTT, sans-serif;
  font-size: 20px;
}
@media screen and (max-width: 1099px) {
  html, body {
    font-size: 18px;
  }
}
@media screen and (max-width: 899px) {
  html, body {
    font-size: 17px;
  }
}
@media screen and (max-width: 699px) {
  html, body {
    font-size: 16px;
  }
}
@media screen and (max-width: 549px) {
  html, body {
    font-size: 15px;
  }
}

button, input, select {
  font-family: AkkuratTT, sans-serif;
  font-size: inherit;
}

pre, code {
  font-family: AkkuratMono, Consolas, Monaco, monospace;
  font-weight: normal;
  font-style: normal;
}

html {
  height: 100%;
}

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

body {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}
body > main {
  flex: 1;
}

hr {
  border: none;
  margin: 0;
}

.lazyload,
.lazyloading {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
  transition: opacity 250ms;
}

.wrapper, .container-h, .container {
  max-width: 65em;
  margin-left: auto;
  margin-right: auto;
}

.p-edges, .offset-content, .container-h, .p-container, .container {
  padding-left: 1em;
  padding-right: 1em;
}
@media screen and (min-width: 400px) {
  .p-edges, .offset-content, .container-h, .p-container, .container {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
}
@media screen and (min-width: 900px) {
  .p-edges, .offset-content, .container-h, .p-container, .container {
    padding-left: 2em;
    padding-right: 2em;
  }
}

.box-sizing-content {
  box-sizing: content-box;
}

.p-container, .container {
  padding-top: 2em;
  padding-bottom: 2em;
}

.container {
  box-sizing: content-box;
}

.container-h {
  box-sizing: content-box;
}

.text-wrapper {
  max-width: 38em;
}

.cols {
  margin-left: -1em;
  margin-right: -1em;
}
.cols:after {
  content: "";
  display: table;
  clear: both;
}

.cols--2n > *:nth-child(n) {
  clear: none;
}

.cols--2n > *:nth-child(2n+1) {
  clear: left;
}

.cols--3n > *:nth-child(n) {
  clear: none;
}

.cols--3n > *:nth-child(3n+1) {
  clear: left;
}

.cols--4n > *:nth-child(n) {
  clear: none;
}

.cols--4n > *:nth-child(4n+1) {
  clear: left;
}

.col {
  display: block;
  float: left;
  padding-left: 1em;
  padding-right: 1em;
}

@media screen and (min-width: 400px) {
  .xs\+\|cols {
    margin-left: -1em;
    margin-right: -1em;
  }
  .xs\+\|cols:after {
    content: "";
    display: table;
    clear: both;
  }

  .xs\+\|cols--2n > *:nth-child(n) {
    clear: none;
  }

  .xs\+\|cols--2n > *:nth-child(2n+1) {
    clear: left;
  }

  .xs\+\|cols--3n > *:nth-child(n) {
    clear: none;
  }

  .xs\+\|cols--3n > *:nth-child(3n+1) {
    clear: left;
  }

  .xs\+\|cols--4n > *:nth-child(n) {
    clear: none;
  }

  .xs\+\|cols--4n > *:nth-child(4n+1) {
    clear: left;
  }

  .xs\+\|col {
    display: block;
    float: left;
    padding-left: 1em;
    padding-right: 1em;
  }
}
@media screen and (min-width: 550px) {
  .s\+\|cols {
    margin-left: -1em;
    margin-right: -1em;
  }
  .s\+\|cols:after {
    content: "";
    display: table;
    clear: both;
  }

  .s\+\|cols--2n > *:nth-child(n) {
    clear: none;
  }

  .s\+\|cols--2n > *:nth-child(2n+1) {
    clear: left;
  }

  .s\+\|cols--3n > *:nth-child(n) {
    clear: none;
  }

  .s\+\|cols--3n > *:nth-child(3n+1) {
    clear: left;
  }

  .s\+\|cols--4n > *:nth-child(n) {
    clear: none;
  }

  .s\+\|cols--4n > *:nth-child(4n+1) {
    clear: left;
  }

  .s\+\|col {
    display: block;
    float: left;
    padding-left: 1em;
    padding-right: 1em;
  }
}
@media screen and (min-width: 700px) {
  .m\+\|cols {
    margin-left: -1em;
    margin-right: -1em;
  }
  .m\+\|cols:after {
    content: "";
    display: table;
    clear: both;
  }

  .m\+\|cols--2n > *:nth-child(n) {
    clear: none;
  }

  .m\+\|cols--2n > *:nth-child(2n+1) {
    clear: left;
  }

  .m\+\|cols--3n > *:nth-child(n) {
    clear: none;
  }

  .m\+\|cols--3n > *:nth-child(3n+1) {
    clear: left;
  }

  .m\+\|cols--4n > *:nth-child(n) {
    clear: none;
  }

  .m\+\|cols--4n > *:nth-child(4n+1) {
    clear: left;
  }

  .m\+\|col {
    display: block;
    float: left;
    padding-left: 1em;
    padding-right: 1em;
  }
}
@media screen and (min-width: 900px) {
  .l\+\|cols {
    margin-left: -1em;
    margin-right: -1em;
  }
  .l\+\|cols:after {
    content: "";
    display: table;
    clear: both;
  }

  .l\+\|cols--2n > *:nth-child(n) {
    clear: none;
  }

  .l\+\|cols--2n > *:nth-child(2n+1) {
    clear: left;
  }

  .l\+\|cols--3n > *:nth-child(n) {
    clear: none;
  }

  .l\+\|cols--3n > *:nth-child(3n+1) {
    clear: left;
  }

  .l\+\|cols--4n > *:nth-child(n) {
    clear: none;
  }

  .l\+\|cols--4n > *:nth-child(4n+1) {
    clear: left;
  }

  .l\+\|col {
    display: block;
    float: left;
    padding-left: 1em;
    padding-right: 1em;
  }
}
@media screen and (min-width: 1100px) {
  .xl\+\|cols {
    margin-left: -1em;
    margin-right: -1em;
  }
  .xl\+\|cols:after {
    content: "";
    display: table;
    clear: both;
  }

  .xl\+\|cols--2n > *:nth-child(n) {
    clear: none;
  }

  .xl\+\|cols--2n > *:nth-child(2n+1) {
    clear: left;
  }

  .xl\+\|cols--3n > *:nth-child(n) {
    clear: none;
  }

  .xl\+\|cols--3n > *:nth-child(3n+1) {
    clear: left;
  }

  .xl\+\|cols--4n > *:nth-child(n) {
    clear: none;
  }

  .xl\+\|cols--4n > *:nth-child(4n+1) {
    clear: left;
  }

  .xl\+\|col {
    display: block;
    float: left;
    padding-left: 1em;
    padding-right: 1em;
  }
}
@media screen and (max-width: 1099px) {
  .xl-\|cols {
    margin-left: -1em;
    margin-right: -1em;
  }
  .xl-\|cols:after {
    content: "";
    display: table;
    clear: both;
  }

  .xl-\|cols--2n > *:nth-child(n) {
    clear: none;
  }

  .xl-\|cols--2n > *:nth-child(2n+1) {
    clear: left;
  }

  .xl-\|cols--3n > *:nth-child(n) {
    clear: none;
  }

  .xl-\|cols--3n > *:nth-child(3n+1) {
    clear: left;
  }

  .xl-\|cols--4n > *:nth-child(n) {
    clear: none;
  }

  .xl-\|cols--4n > *:nth-child(4n+1) {
    clear: left;
  }

  .xl-\|col {
    display: block;
    float: left;
    padding-left: 1em;
    padding-right: 1em;
  }
}
@media screen and (max-width: 899px) {
  .l-\|cols {
    margin-left: -1em;
    margin-right: -1em;
  }
  .l-\|cols:after {
    content: "";
    display: table;
    clear: both;
  }

  .l-\|cols--2n > *:nth-child(n) {
    clear: none;
  }

  .l-\|cols--2n > *:nth-child(2n+1) {
    clear: left;
  }

  .l-\|cols--3n > *:nth-child(n) {
    clear: none;
  }

  .l-\|cols--3n > *:nth-child(3n+1) {
    clear: left;
  }

  .l-\|cols--4n > *:nth-child(n) {
    clear: none;
  }

  .l-\|cols--4n > *:nth-child(4n+1) {
    clear: left;
  }

  .l-\|col {
    display: block;
    float: left;
    padding-left: 1em;
    padding-right: 1em;
  }
}
@media screen and (max-width: 699px) {
  .m-\|cols {
    margin-left: -1em;
    margin-right: -1em;
  }
  .m-\|cols:after {
    content: "";
    display: table;
    clear: both;
  }

  .m-\|cols--2n > *:nth-child(n) {
    clear: none;
  }

  .m-\|cols--2n > *:nth-child(2n+1) {
    clear: left;
  }

  .m-\|cols--3n > *:nth-child(n) {
    clear: none;
  }

  .m-\|cols--3n > *:nth-child(3n+1) {
    clear: left;
  }

  .m-\|cols--4n > *:nth-child(n) {
    clear: none;
  }

  .m-\|cols--4n > *:nth-child(4n+1) {
    clear: left;
  }

  .m-\|col {
    display: block;
    float: left;
    padding-left: 1em;
    padding-right: 1em;
  }
}
@media screen and (max-width: 549px) {
  .s-\|cols {
    margin-left: -1em;
    margin-right: -1em;
  }
  .s-\|cols:after {
    content: "";
    display: table;
    clear: both;
  }

  .s-\|cols--2n > *:nth-child(n) {
    clear: none;
  }

  .s-\|cols--2n > *:nth-child(2n+1) {
    clear: left;
  }

  .s-\|cols--3n > *:nth-child(n) {
    clear: none;
  }

  .s-\|cols--3n > *:nth-child(3n+1) {
    clear: left;
  }

  .s-\|cols--4n > *:nth-child(n) {
    clear: none;
  }

  .s-\|cols--4n > *:nth-child(4n+1) {
    clear: left;
  }

  .s-\|col {
    display: block;
    float: left;
    padding-left: 1em;
    padding-right: 1em;
  }
}
@media screen and (max-width: 399px) {
  .xs-\|cols {
    margin-left: -1em;
    margin-right: -1em;
  }
  .xs-\|cols:after {
    content: "";
    display: table;
    clear: both;
  }

  .xs-\|cols--2n > *:nth-child(n) {
    clear: none;
  }

  .xs-\|cols--2n > *:nth-child(2n+1) {
    clear: left;
  }

  .xs-\|cols--3n > *:nth-child(n) {
    clear: none;
  }

  .xs-\|cols--3n > *:nth-child(3n+1) {
    clear: left;
  }

  .xs-\|cols--4n > *:nth-child(n) {
    clear: none;
  }

  .xs-\|cols--4n > *:nth-child(4n+1) {
    clear: left;
  }

  .xs-\|col {
    display: block;
    float: left;
    padding-left: 1em;
    padding-right: 1em;
  }
}
.left-floater {
  float: left;
  margin-right: 1em;
  margin-bottom: 1em;
}

.left-floater\+ {
  float: left;
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.right-floater {
  float: right;
  margin-left: 1em;
  margin-bottom: 1em;
}

.right-floater\+ {
  float: right;
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.stack > * + * {
  margin-top: 1em;
}

.stack\+ > * + * {
  margin-top: 1.5em;
}

.stack\+\+ > * + * {
  margin-top: 2em;
}

.stack\+\+\+ > * + * {
  margin-top: 4em;
}

.stack- > * + * {
  margin-top: 0.5em;
}

.stack-- > * + * {
  margin-top: 0.25em;
}

.stack--- > * + * {
  margin-top: 0.15em;
}

.stack0 > * + * {
  margin-top: 0;
}

@media screen and (min-width: 400px) {
  .xs\+\|left-floater {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
  }

  .xs\+\|left-floater\+ {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
  }

  .xs\+\|right-floater {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
  }

  .xs\+\|right-floater\+ {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
  }

  .xs\+\|stack > * + * {
    margin-top: 1em;
  }

  .xs\+\|stack\+ > * + * {
    margin-top: 1.5em;
  }

  .xs\+\|stack\+\+ > * + * {
    margin-top: 2em;
  }

  .xs\+\|stack\+\+\+ > * + * {
    margin-top: 4em;
  }

  .xs\+\|stack- > * + * {
    margin-top: 0.5em;
  }

  .xs\+\|stack-- > * + * {
    margin-top: 0.25em;
  }

  .xs\+\|stack--- > * + * {
    margin-top: 0.15em;
  }

  .xs\+\|stack0 > * + * {
    margin-top: 0;
  }
}
@media screen and (min-width: 550px) {
  .s\+\|left-floater {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
  }

  .s\+\|left-floater\+ {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
  }

  .s\+\|right-floater {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
  }

  .s\+\|right-floater\+ {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
  }

  .s\+\|stack > * + * {
    margin-top: 1em;
  }

  .s\+\|stack\+ > * + * {
    margin-top: 1.5em;
  }

  .s\+\|stack\+\+ > * + * {
    margin-top: 2em;
  }

  .s\+\|stack\+\+\+ > * + * {
    margin-top: 4em;
  }

  .s\+\|stack- > * + * {
    margin-top: 0.5em;
  }

  .s\+\|stack-- > * + * {
    margin-top: 0.25em;
  }

  .s\+\|stack--- > * + * {
    margin-top: 0.15em;
  }

  .s\+\|stack0 > * + * {
    margin-top: 0;
  }
}
@media screen and (min-width: 700px) {
  .m\+\|left-floater {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
  }

  .m\+\|left-floater\+ {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
  }

  .m\+\|right-floater {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
  }

  .m\+\|right-floater\+ {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
  }

  .m\+\|stack > * + * {
    margin-top: 1em;
  }

  .m\+\|stack\+ > * + * {
    margin-top: 1.5em;
  }

  .m\+\|stack\+\+ > * + * {
    margin-top: 2em;
  }

  .m\+\|stack\+\+\+ > * + * {
    margin-top: 4em;
  }

  .m\+\|stack- > * + * {
    margin-top: 0.5em;
  }

  .m\+\|stack-- > * + * {
    margin-top: 0.25em;
  }

  .m\+\|stack--- > * + * {
    margin-top: 0.15em;
  }

  .m\+\|stack0 > * + * {
    margin-top: 0;
  }
}
@media screen and (min-width: 900px) {
  .l\+\|left-floater {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
  }

  .l\+\|left-floater\+ {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
  }

  .l\+\|right-floater {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
  }

  .l\+\|right-floater\+ {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
  }

  .l\+\|stack > * + * {
    margin-top: 1em;
  }

  .l\+\|stack\+ > * + * {
    margin-top: 1.5em;
  }

  .l\+\|stack\+\+ > * + * {
    margin-top: 2em;
  }

  .l\+\|stack\+\+\+ > * + * {
    margin-top: 4em;
  }

  .l\+\|stack- > * + * {
    margin-top: 0.5em;
  }

  .l\+\|stack-- > * + * {
    margin-top: 0.25em;
  }

  .l\+\|stack--- > * + * {
    margin-top: 0.15em;
  }

  .l\+\|stack0 > * + * {
    margin-top: 0;
  }
}
@media screen and (min-width: 1100px) {
  .xl\+\|left-floater {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
  }

  .xl\+\|left-floater\+ {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
  }

  .xl\+\|right-floater {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
  }

  .xl\+\|right-floater\+ {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
  }

  .xl\+\|stack > * + * {
    margin-top: 1em;
  }

  .xl\+\|stack\+ > * + * {
    margin-top: 1.5em;
  }

  .xl\+\|stack\+\+ > * + * {
    margin-top: 2em;
  }

  .xl\+\|stack\+\+\+ > * + * {
    margin-top: 4em;
  }

  .xl\+\|stack- > * + * {
    margin-top: 0.5em;
  }

  .xl\+\|stack-- > * + * {
    margin-top: 0.25em;
  }

  .xl\+\|stack--- > * + * {
    margin-top: 0.15em;
  }

  .xl\+\|stack0 > * + * {
    margin-top: 0;
  }
}
@media screen and (max-width: 1099px) {
  .xl-\|left-floater {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
  }

  .xl-\|left-floater\+ {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
  }

  .xl-\|right-floater {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
  }

  .xl-\|right-floater\+ {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
  }

  .xl-\|stack > * + * {
    margin-top: 1em;
  }

  .xl-\|stack\+ > * + * {
    margin-top: 1.5em;
  }

  .xl-\|stack\+\+ > * + * {
    margin-top: 2em;
  }

  .xl-\|stack\+\+\+ > * + * {
    margin-top: 4em;
  }

  .xl-\|stack- > * + * {
    margin-top: 0.5em;
  }

  .xl-\|stack-- > * + * {
    margin-top: 0.25em;
  }

  .xl-\|stack--- > * + * {
    margin-top: 0.15em;
  }

  .xl-\|stack0 > * + * {
    margin-top: 0;
  }
}
@media screen and (max-width: 899px) {
  .l-\|left-floater {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
  }

  .l-\|left-floater\+ {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
  }

  .l-\|right-floater {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
  }

  .l-\|right-floater\+ {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
  }

  .l-\|stack > * + * {
    margin-top: 1em;
  }

  .l-\|stack\+ > * + * {
    margin-top: 1.5em;
  }

  .l-\|stack\+\+ > * + * {
    margin-top: 2em;
  }

  .l-\|stack\+\+\+ > * + * {
    margin-top: 4em;
  }

  .l-\|stack- > * + * {
    margin-top: 0.5em;
  }

  .l-\|stack-- > * + * {
    margin-top: 0.25em;
  }

  .l-\|stack--- > * + * {
    margin-top: 0.15em;
  }

  .l-\|stack0 > * + * {
    margin-top: 0;
  }
}
@media screen and (max-width: 699px) {
  .m-\|left-floater {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
  }

  .m-\|left-floater\+ {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
  }

  .m-\|right-floater {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
  }

  .m-\|right-floater\+ {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
  }

  .m-\|stack > * + * {
    margin-top: 1em;
  }

  .m-\|stack\+ > * + * {
    margin-top: 1.5em;
  }

  .m-\|stack\+\+ > * + * {
    margin-top: 2em;
  }

  .m-\|stack\+\+\+ > * + * {
    margin-top: 4em;
  }

  .m-\|stack- > * + * {
    margin-top: 0.5em;
  }

  .m-\|stack-- > * + * {
    margin-top: 0.25em;
  }

  .m-\|stack--- > * + * {
    margin-top: 0.15em;
  }

  .m-\|stack0 > * + * {
    margin-top: 0;
  }
}
@media screen and (max-width: 549px) {
  .s-\|left-floater {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
  }

  .s-\|left-floater\+ {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
  }

  .s-\|right-floater {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
  }

  .s-\|right-floater\+ {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
  }

  .s-\|stack > * + * {
    margin-top: 1em;
  }

  .s-\|stack\+ > * + * {
    margin-top: 1.5em;
  }

  .s-\|stack\+\+ > * + * {
    margin-top: 2em;
  }

  .s-\|stack\+\+\+ > * + * {
    margin-top: 4em;
  }

  .s-\|stack- > * + * {
    margin-top: 0.5em;
  }

  .s-\|stack-- > * + * {
    margin-top: 0.25em;
  }

  .s-\|stack--- > * + * {
    margin-top: 0.15em;
  }

  .s-\|stack0 > * + * {
    margin-top: 0;
  }
}
@media screen and (max-width: 399px) {
  .xs-\|left-floater {
    float: left;
    margin-right: 1em;
    margin-bottom: 1em;
  }

  .xs-\|left-floater\+ {
    float: left;
    margin-right: 1.5em;
    margin-bottom: 1.5em;
  }

  .xs-\|right-floater {
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
  }

  .xs-\|right-floater\+ {
    float: right;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
  }

  .xs-\|stack > * + * {
    margin-top: 1em;
  }

  .xs-\|stack\+ > * + * {
    margin-top: 1.5em;
  }

  .xs-\|stack\+\+ > * + * {
    margin-top: 2em;
  }

  .xs-\|stack\+\+\+ > * + * {
    margin-top: 4em;
  }

  .xs-\|stack- > * + * {
    margin-top: 0.5em;
  }

  .xs-\|stack-- > * + * {
    margin-top: 0.25em;
  }

  .xs-\|stack--- > * + * {
    margin-top: 0.15em;
  }

  .xs-\|stack0 > * + * {
    margin-top: 0;
  }
}
.cells {
  display: table;
  width: 100%;
}

.cell {
  display: table-cell;
}

.m-cols {
  margin-left: -1em;
  margin-right: -1em;
}

.p-col {
  padding-left: 1em;
  padding-right: 1em;
}

.stretch-h, .stretch {
  width: 100%;
}

.stretch-v, .stretch {
  height: 100%;
}

.media {
  overflow: hidden;
}

.media__image {
  float: left;
}

.media__body {
  overflow: hidden;
}

.media--right .media__image {
  float: right;
}

.media__image--gutter {
  margin-right: 2em;
}

.media__image--mr {
  margin-right: 1em;
}

@media screen and (min-width: 400px) {
  .xs\+\|media {
    overflow: hidden;
  }

  .xs\+\|media__image {
    float: left;
  }

  .xs\+\|media__body {
    overflow: hidden;
  }

  .xs\+\|media--right .xs\+\|media__image {
    float: right;
  }

  .xs\+\|media__image--gutter {
    margin-right: 2em;
  }

  .xs\+\|media__image--mr {
    margin-right: 1em;
  }
}
@media screen and (min-width: 550px) {
  .s\+\|media {
    overflow: hidden;
  }

  .s\+\|media__image {
    float: left;
  }

  .s\+\|media__body {
    overflow: hidden;
  }

  .s\+\|media--right .s\+\|media__image {
    float: right;
  }

  .s\+\|media__image--gutter {
    margin-right: 2em;
  }

  .s\+\|media__image--mr {
    margin-right: 1em;
  }
}
@media screen and (min-width: 700px) {
  .m\+\|media {
    overflow: hidden;
  }

  .m\+\|media__image {
    float: left;
  }

  .m\+\|media__body {
    overflow: hidden;
  }

  .m\+\|media--right .m\+\|media__image {
    float: right;
  }

  .m\+\|media__image--gutter {
    margin-right: 2em;
  }

  .m\+\|media__image--mr {
    margin-right: 1em;
  }
}
@media screen and (min-width: 900px) {
  .l\+\|media {
    overflow: hidden;
  }

  .l\+\|media__image {
    float: left;
  }

  .l\+\|media__body {
    overflow: hidden;
  }

  .l\+\|media--right .l\+\|media__image {
    float: right;
  }

  .l\+\|media__image--gutter {
    margin-right: 2em;
  }

  .l\+\|media__image--mr {
    margin-right: 1em;
  }
}
@media screen and (min-width: 1100px) {
  .xl\+\|media {
    overflow: hidden;
  }

  .xl\+\|media__image {
    float: left;
  }

  .xl\+\|media__body {
    overflow: hidden;
  }

  .xl\+\|media--right .xl\+\|media__image {
    float: right;
  }

  .xl\+\|media__image--gutter {
    margin-right: 2em;
  }

  .xl\+\|media__image--mr {
    margin-right: 1em;
  }
}
@media screen and (max-width: 1099px) {
  .xl-\|media {
    overflow: hidden;
  }

  .xl-\|media__image {
    float: left;
  }

  .xl-\|media__body {
    overflow: hidden;
  }

  .xl-\|media--right .xl-\|media__image {
    float: right;
  }

  .xl-\|media__image--gutter {
    margin-right: 2em;
  }

  .xl-\|media__image--mr {
    margin-right: 1em;
  }
}
@media screen and (max-width: 899px) {
  .l-\|media {
    overflow: hidden;
  }

  .l-\|media__image {
    float: left;
  }

  .l-\|media__body {
    overflow: hidden;
  }

  .l-\|media--right .l-\|media__image {
    float: right;
  }

  .l-\|media__image--gutter {
    margin-right: 2em;
  }

  .l-\|media__image--mr {
    margin-right: 1em;
  }
}
@media screen and (max-width: 699px) {
  .m-\|media {
    overflow: hidden;
  }

  .m-\|media__image {
    float: left;
  }

  .m-\|media__body {
    overflow: hidden;
  }

  .m-\|media--right .m-\|media__image {
    float: right;
  }

  .m-\|media__image--gutter {
    margin-right: 2em;
  }

  .m-\|media__image--mr {
    margin-right: 1em;
  }
}
@media screen and (max-width: 549px) {
  .s-\|media {
    overflow: hidden;
  }

  .s-\|media__image {
    float: left;
  }

  .s-\|media__body {
    overflow: hidden;
  }

  .s-\|media--right .s-\|media__image {
    float: right;
  }

  .s-\|media__image--gutter {
    margin-right: 2em;
  }

  .s-\|media__image--mr {
    margin-right: 1em;
  }
}
@media screen and (max-width: 399px) {
  .xs-\|media {
    overflow: hidden;
  }

  .xs-\|media__image {
    float: left;
  }

  .xs-\|media__body {
    overflow: hidden;
  }

  .xs-\|media--right .xs-\|media__image {
    float: right;
  }

  .xs-\|media__image--gutter {
    margin-right: 2em;
  }

  .xs-\|media__image--mr {
    margin-right: 1em;
  }
}
.flag {
  display: table;
  width: 100%;
}

.flag__image,
.flag__body {
  display: table-cell;
  vertical-align: middle;
}
.flag--top .flag__image,
.flag--top .flag__body {
  vertical-align: top;
}
.flag--bottom .flag__image,
.flag--bottom .flag__body {
  vertical-align: bottom;
}

.flag__image > img,
.flag__image > svg {
  display: block;
  max-width: none;
}

.flag__body {
  width: 100%;
}

.has-modal {
  overflow: hidden;
}

body.has-modal > *:not(.o-modal) {
  filter: blur(15px);
}
body.has-modal > *:not(.o-modal):not(.js-header) {
  transform: translateZ(0);
}

.o-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 9000;
  background: rgba(255, 255, 255, 0.85);
  padding: 2em;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  outline: none;
}

.o-modal__wrapper {
  display: table;
  width: 100%;
  height: 100%;
}

.o-modal__content {
  display: table-cell;
  width: 100%;
  height: 100%;
  vertical-align: middle;
}

.o-modal__close {
  position: fixed;
  top: 2em;
  right: 2em;
  display: block;
  appearance: none;
  border: none;
  border-radius: 0;
  cursor: pointer;
  width: 50px;
  height: 50px;
  background-color: transparent;
}
.o-modal__close svg {
  width: 100%;
  height: auto;
}

.o-modal__close:hover,
.o-modal__close:focus {
  outline: none;
}
.o-modal__close:hover svg path[fill],
.o-modal__close:focus svg path[fill] {
  fill: #FFA940;
}

.o-modal.is-loading .o-modal__content {
  text-align: center;
}
.o-modal.is-loading .o-modal__content:before {
  content: "Loading…";
  color: gray;
}

.ratio {
  display: block;
  position: relative;
  height: 0;
  padding-bottom: 0%;
}
.ratio--22\/10 {
  padding-bottom: 45.4545454545%;
}
.ratio--2\/1 {
  padding-bottom: 50%;
}
.ratio--16\/9 {
  padding-bottom: 56.25%;
}
.ratio--16\/10 {
  padding-bottom: 62.5%;
}
.ratio--1\/1 {
  padding-bottom: 100%;
}
.ratio--cover {
  padding-bottom: 152.4%;
}
.ratio--cover-peek {
  padding-bottom: 79.4117647059%;
}

.ratio__container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.c-text {
  color: #404040;
  /* Inline Code */
  /* Code Blocks */
  /* Tables */
}
.c-text:not(.c-text--padded) > *:first-child {
  margin-top: 0;
  padding-top: 0;
}
.c-text a {
  color: #0092db;
  text-decoration: none;
}
.theme-default .c-text a {
  color: #0092db;
}

.theme-collection .c-text a {
  color: #FF8C61;
}

.theme-functional-swift .c-text a {
  color: #DD453B;
}

.theme-core-data .c-text a {
  color: #2E3B92;
}

.theme-advanced-swift .c-text a {
  color: #80288E;
}

.theme-optimizing-collections .c-text a {
  color: #068DC2;
}

.theme-app-architecture .c-text a {
  color: #49910F;
}

.theme-thinking-in-swiftui .c-text a {
  color: #006064;
}

.theme-complete-collection .c-text a {
  color: #F8BA5E;
}

.theme-swift-essentials .c-text a {
  color: #6BCAD6;
}

.theme-everything-swift .c-text a {
  color: #C97ECE;
}

.theme-app-development .c-text a {
  color: #9BCC5C;
}

.c-text a:hover, .c-text a:focus {
  border-bottom: solid 1px;
}
.c-text a:focus {
  outline: none;
}
.c-text.c-text--visited-links a:visited:not([href^="#"]) {
  color: #8647B3;
}
.c-text h1, .c-text h2, .c-text h3, .c-text h4 {
  font-weight: bold;
  line-height: 1.2;
}
.c-text h1 code, .c-text h2 code, .c-text h3 code, .c-text h4 code {
  font-weight: normal;
}
.c-text h1 + p, .c-text h2 + p, .c-text h3 + p, .c-text h4 + p {
  margin-top: 1em;
}
.c-text h1 {
  font-size: 2.0736em;
  padding-top: 2.0736em;
  max-width: 18.325617284em;
}
.c-text h2 {
  font-size: 1.728em;
  padding-top: 2.0736em;
  max-width: 21.9907407407em;
}
.c-text h3 {
  font-size: 1.44em;
  padding-top: 2.0736em;
  max-width: 26.3888888889em;
}
.c-text h4 {
  font-size: 1.2em;
  padding-top: 2.0736em;
  font-weight: bold;
  max-width: 31.6666666667em;
}
.c-text h5, .c-text p, .c-text div.figure, .c-text figure {
  line-height: 1.5;
  margin-top: 1.25em;
  max-width: 38em;
}
.c-text h5 .caption, .c-text p .caption, .c-text div.figure .caption, .c-text figure .caption {
  max-width: 100%;
  font-weight: bold;
  font-size: 0.8em;
}
.c-text h5 {
  font-weight: bold;
}
.c-text img {
  display: block;
  max-width: 100%;
  height: auto;
}
.c-text * img {
  margin-left: auto;
  margin-right: auto;
}
.c-text * img + * {
  text-align: center;
}
.c-text video {
  max-width: 100%;
  margin-top: 1.25em;
}
.c-text > hr {
  max-width: 38em;
  margin: 2.5em 0;
  border: none;
  text-align: center;
}
.c-text > hr:before {
  content: "⁂";
  color: #0092db;
}
.theme-default .c-text > hr:before {
  color: #0092db;
}

.theme-collection .c-text > hr:before {
  color: #FF8C61;
}

.theme-functional-swift .c-text > hr:before {
  color: #DD453B;
}

.theme-core-data .c-text > hr:before {
  color: #2E3B92;
}

.theme-advanced-swift .c-text > hr:before {
  color: #80288E;
}

.theme-optimizing-collections .c-text > hr:before {
  color: #068DC2;
}

.theme-app-architecture .c-text > hr:before {
  color: #49910F;
}

.theme-thinking-in-swiftui .c-text > hr:before {
  color: #006064;
}

.theme-complete-collection .c-text > hr:before {
  color: #F8BA5E;
}

.theme-swift-essentials .c-text > hr:before {
  color: #6BCAD6;
}

.theme-everything-swift .c-text > hr:before {
  color: #C97ECE;
}

.theme-app-development .c-text > hr:before {
  color: #9BCC5C;
}

.c-text blockquote {
  max-width: 38em;
  color: #595959;
  border-left: solid 2px #0092db;
  padding-left: 1em;
  margin-top: 1em;
  margin-bottom: 1em;
}
.theme-default .c-text blockquote {
  border-left-color: #0092db;
}

.theme-collection .c-text blockquote {
  border-left-color: #FF8C61;
}

.theme-functional-swift .c-text blockquote {
  border-left-color: #DD453B;
}

.theme-core-data .c-text blockquote {
  border-left-color: #2E3B92;
}

.theme-advanced-swift .c-text blockquote {
  border-left-color: #80288E;
}

.theme-optimizing-collections .c-text blockquote {
  border-left-color: #068DC2;
}

.theme-app-architecture .c-text blockquote {
  border-left-color: #49910F;
}

.theme-thinking-in-swiftui .c-text blockquote {
  border-left-color: #006064;
}

.theme-complete-collection .c-text blockquote {
  border-left-color: #F8BA5E;
}

.theme-swift-essentials .c-text blockquote {
  border-left-color: #6BCAD6;
}

.theme-everything-swift .c-text blockquote {
  border-left-color: #C97ECE;
}

.theme-app-development .c-text blockquote {
  border-left-color: #9BCC5C;
}

.c-text ul, .c-text ol {
  max-width: 38em;
  margin-top: 1.45em;
  margin-bottom: 1.45em;
  line-height: 1.45;
}
.c-text ul {
  padding-left: 1.1em;
}
.c-text ul > li {
  list-style: disc;
}
.c-text ol {
  padding-left: 1.4em;
}
.c-text ol > li {
  list-style: decimal;
}
.c-text li + li {
  margin-top: 0.45em;
}
.c-text strong {
  font-weight: bold;
}
.c-text em {
  font-style: italic;
}
.c-text sup {
  font-size: 0.6944444444em;
  padding-left: 0.2em;
  vertical-align: super;
}
.c-text p > code, .c-text li > code, .c-text th > code, .c-text td > code {
  background: #f2f2f2;
  border-radius: 5px;
  padding: 0.1em 0.25em;
  color: #222222;
  font-size: 0.9em;
  word-wrap: break-word;
}
.c-text pre, .c-text code, .c-text--preview .code {
  max-width: 100%;
}
.c-text pre, .c-text--preview .code {
  font-family: AkkuratMono, Consolas, Monaco, monospace;
  font-size: 0.85em;
  position: relative;
  display: inline-block;
  max-width: 100%;
  margin: 1.1764705882em 0;
  padding: 1.1764705882em;
  line-height: 1.25;
  color: #1a1a1a;
  border-radius: 5px;
  background: #f7f7f7;
}
@media screen and (max-width: 899px) {
  .c-text pre, .c-text--preview .code {
    width: 100%;
  }
}
@media screen and (min-width: 900px) {
  .c-text pre, .c-text--preview .code {
    margin-left: -1.1764705882em;
    margin-right: -1.1764705882em;
    min-width: 47.0588235294em;
  }
}
@media screen and (min-width: 900px) {
  .c-text--fit-code pre {
    margin-right: 0;
    width: 100%;
    width: calc(100% + (2 * (1em/.85)));
    max-width: none;
    min-width: auto;
  }
}
.c-text pre > code, .c-text--preview .code {
  display: block;
  overflow-x: auto;
  overflow-y: hidden;
}
.c-text--preview .code {
  /*.hll { background-color: #ffffcc }*/
  /* Comment */
  /*.err { color: #000000 } */
  /* Error */
  /* Keyword */
  /*.l { color: #1C01CE }  Literal */
  /*.n { color: #000000 } */
  /* Name */
  /*.o { color: #000000 } */
  /* Operator */
  /* Comment.Multiline */
  /* Comment.Preproc */
  /* Comment.Single */
  /* Comment.Special */
  /* Keyword.Constant */
  /* Keyword.Declaration */
  /* Keyword.Namespace */
  /* Keyword.Pseudo */
  /* Keyword.Reserved */
  /* Keyword.Type */
  /*.ld { color: #1C01CE } */
  /* Literal.Date */
  /*.m { color: #1C01CE } */
  /* Literal.Number */
  /* Literal.String */
  /*.na { color: #836C28 } */
  /* Name.Attribute */
  /* Name.Builtin */
  /*.nc { color: #3F6E75 } */
  /* Name.Class */
  /*.no { color: #000000 } */
  /* Name.Constant */
  /*.nd { color: #000000 } */
  /* Name.Decorator */
  /*.ni { color: #000000 } */
  /* Name.Entity */
  /*.ne { color: #000000 } */
  /* Name.Exception */
  /*.nf { color: #000000 } */
  /* Name.Function */
  /*.nl { color: #000000 } */
  /* Name.Label */
  /*.nn { color: #000000 } */
  /* Name.Namespace */
  /*.nx { color: #000000 } */
  /* Name.Other */
  /*.py { color: #000000 } */
  /* Name.Property */
  /*.nt { color: #000000 } */
  /* Name.Tag */
  /*.nv { color: #000000 } */
  /* Name.Variable */
  /*.ow { color: #000000 } */
  /* Operator.Word */
  /*.mb { color: #1C01CE } */
  /* Literal.Number.Bin */
  /*.mf { color: #1C01CE } */
  /* Literal.Number.Float */
  /*.mh { color: #1C01CE } */
  /* Literal.Number.Hex */
  /*.mi { color: #1C01CE } */
  /* Literal.Number.Integer */
  /*.mo { color: #1C01CE } */
  /* Literal.Number.Oct */
  /* Literal.String.Backtick */
  /*.sc { color: #2300CE } */
  /* Literal.String.Char */
  /* Literal.String.Doc */
  /* Literal.String.Double */
  /* Literal.String.Escape */
  /* Literal.String.Heredoc */
  /* Literal.String.Interpol */
  /* Literal.String.Other */
  /* Literal.String.Regex */
  /* Literal.String.Single */
  /* Literal.String.Symbol */
  /*.bp { color: #5B269A } */
  /* Name.Builtin.Pseudo */
  /*.vc { color: #000000 } */
  /* Name.Variable.Class */
  /*.vg { color: #000000 } */
  /* Name.Variable.Global */
  /*.vi { color: #000000 } */
  /* Name.Variable.Instance */
  /*.il { color: #1C01CE } */
  /* Literal.Number.Integer.Long */
}
.c-text--preview .code .output {
  font-family: AkkuratMono, Consolas, Monaco, monospace;
  margin-left: 0em;
  margin-right: 1em;
  margin-bottom: 1em;
  margin-top: 6pt;
  max-width: 100%;
  width: -webkit-fit-content;
  width: fit-content;
  line-height: 90%;
}
.c-text--preview .code .line {
  display: block;
  padding: 0px;
  margin: 0px;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.c-text--preview .code .line.eval {
  margin-top: 0.5em;
  margin-bottom: 6pt;
}
.c-text--preview .code .line.eval::before {
  content: "► ";
}
.c-text--preview .code .output .line {
  white-space: pre-wrap;
  width: -webkit-fit-content;
  width: fit-content;
}
.c-text--preview .code .line.i0 {
  margin-left: 0em;
}
.c-text--preview .code .line.i1 {
  margin-left: 1.5em;
}
.c-text--preview .code .line.i2 {
  margin-left: 3em;
}
.c-text--preview .code .line.i3 {
  margin-left: 4.5em;
}
.c-text--preview .code .line.i4 {
  margin-left: 6em;
}
.c-text--preview .code .line.i5 {
  margin-left: 7.5em;
}
.c-text--preview .code .line.i6 {
  margin-left: 9em;
}
.c-text--preview .code .line.i7 {
  margin-left: 10.5em;
}
.c-text--preview .code .line.i8 {
  margin-left: 12em;
}
.c-text--preview .code .line.i9 {
  margin-left: 13.5em;
}
.c-text--preview .code .line.i10 {
  margin-left: 15em;
}
.c-text--preview .code .line.i11 {
  margin-left: 16.5em;
}
.c-text--preview .code .line.i12 {
  margin-left: 18em;
}
.c-text--preview .code .c {
  color: #B2B2B2;
}
.c-text--preview .code .k {
  color: #097DAB;
}
.c-text--preview .code .cm {
  color: #B2B2B2;
}
.c-text--preview .code .cp {
  color: #B2B2B2;
}
.c-text--preview .code .c1 {
  color: #B2B2B2;
}
.c-text--preview .code .cs {
  color: #B2B2B2;
}
.c-text--preview .code .kc {
  color: #097DAB;
}
.c-text--preview .code .kd {
  color: #097DAB;
}
.c-text--preview .code .kn {
  color: #097DAB;
}
.c-text--preview .code .kp {
  color: #097DAB;
}
.c-text--preview .code .kr {
  color: #097DAB;
}
.c-text--preview .code .kt {
  color: #097DAB;
}
.c-text--preview .code .s {
  color: #004E75;
}
.c-text--preview .code .nb {
  color: #10B6AA;
}
.c-text--preview .code .sb {
  color: #004E75;
}
.c-text--preview .code .sd {
  color: #004E75;
}
.c-text--preview .code .s2 {
  color: #004E75;
}
.c-text--preview .code .se {
  color: #004E75;
}
.c-text--preview .code .sh {
  color: #004E75;
}
.c-text--preview .code .si {
  color: #004E75;
}
.c-text--preview .code .sx {
  color: #004E75;
}
.c-text--preview .code .sr {
  color: #004E75;
}
.c-text--preview .code .s1 {
  color: #004E75;
}
.c-text--preview .code .ss {
  color: #004E75;
}
.c-text--preview .code .line .c {
  /* Comment */
  color: #B2B2B2;
}
.c-text--preview .code .line .k {
  /* Keyword */
  color: #097DAB;
}
.c-text--preview .code .line .i {
  /* Identifier */
  /*    color: #008;*/
}
.c-text--preview .code .line .s {
  /* String */
  color: #004E75;
  white-space: pre-wrap;
}
.c-text--preview .code .line .n {
  /* Integer/Float/etc. literal */
}
.c-text--preview .code .line .t {
  /* Type name */
  color: #10B6AA;
}
.c-text pre > code:before,
.c-text pre > button {
  font-family: AkkuratTT, sans-serif;
  text-transform: uppercase;
  font-size: 0.7em;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1;
}
.c-text pre > button {
  appearance: none;
  background: none;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: none;
  position: absolute;
  top: 1.6806722689em;
  right: 1.6806722689em;
  cursor: pointer;
  color: #0092db;
}
.c-text pre > button:hover, .c-text pre > button:focus {
  color: black;
  outline: none;
}
.theme-default .c-text pre > button {
  color: #0092db;
}
.theme-default .c-text pre > button:hover, .theme-default .c-text pre > button:focus {
  color: #FFA940;
}

.theme-collection .c-text pre > button {
  color: #FF8C61;
}
.theme-collection .c-text pre > button:hover, .theme-collection .c-text pre > button:focus {
  color: #58D897;
}

.theme-functional-swift .c-text pre > button {
  color: #DD453B;
}
.theme-functional-swift .c-text pre > button:hover, .theme-functional-swift .c-text pre > button:focus {
  color: #EF9F39;
}

.theme-core-data .c-text pre > button {
  color: #2E3B92;
}
.theme-core-data .c-text pre > button:hover, .theme-core-data .c-text pre > button:focus {
  color: #059ADF;
}

.theme-advanced-swift .c-text pre > button {
  color: #80288E;
}
.theme-advanced-swift .c-text pre > button:hover, .theme-advanced-swift .c-text pre > button:focus {
  color: #DD1388;
}

.theme-optimizing-collections .c-text pre > button {
  color: #068DC2;
}
.theme-optimizing-collections .c-text pre > button:hover, .theme-optimizing-collections .c-text pre > button:focus {
  color: #00CC96;
}

.theme-app-architecture .c-text pre > button {
  color: #49910F;
}
.theme-app-architecture .c-text pre > button:hover, .theme-app-architecture .c-text pre > button:focus {
  color: #BECD0C;
}

.theme-thinking-in-swiftui .c-text pre > button {
  color: #006064;
}
.theme-thinking-in-swiftui .c-text pre > button:hover, .theme-thinking-in-swiftui .c-text pre > button:focus {
  color: #5FD0DA;
}

.theme-complete-collection .c-text pre > button {
  color: #F8BA5E;
}
.theme-complete-collection .c-text pre > button:hover, .theme-complete-collection .c-text pre > button:focus {
  color: #F8BA5E;
}

.theme-swift-essentials .c-text pre > button {
  color: #6BCAD6;
}
.theme-swift-essentials .c-text pre > button:hover, .theme-swift-essentials .c-text pre > button:focus {
  color: #6BCAD6;
}

.theme-everything-swift .c-text pre > button {
  color: #C97ECE;
}
.theme-everything-swift .c-text pre > button:hover, .theme-everything-swift .c-text pre > button:focus {
  color: #C97ECE;
}

.theme-app-development .c-text pre > button {
  color: #9BCC5C;
}
.theme-app-development .c-text pre > button:hover, .theme-app-development .c-text pre > button:focus {
  color: #9BCC5C;
}

.c-text pre > button + code:before {
  content: "";
}
.c-text pre > code.json:before {
  content: "JSON" !important;
}
.c-text pre > code.sql:before {
  content: "SQL" !important;
}
.c-text pre > code.java:before {
  content: "Java" !important;
}
.c-text pre > code.objc:before,
.c-text pre > code.objectivec:before {
  content: "Objective-C" !important;
}
.c-text pre > code.swift:before {
  content: "Swift" !important;
}
.c-text pre > code.xml:before {
  content: "XML" !important;
}
.c-text pre > code:before {
  display: block;
  color: #a6a6a6;
  margin-bottom: 1.4285714286em;
}
.c-text table {
  max-width: 100%;
  display: block;
  margin-top: 1.45em;
  overflow: scroll;
}
.c-text thead {
  font-weight: bold;
}
.c-text th {
  margin-right: 1em;
  text-align: left;
  padding-right: 1em;
  padding-bottom: 1.5em;
}
.c-text td {
  padding-right: 1em;
  padding-bottom: 1em;
}
.c-text .footnotes {
  max-width: 38em;
}
.c-text .footnotes hr {
  border: none;
  border-top: solid 1px #e6e6e6;
  margin: 2em 0 0;
}
.c-text .footnotes ol {
  max-width: none;
  font-size: 0.8333333333em;
  color: #4d4d4d;
}
.c-text .footnotes ol:before {
  margin-top: 1em;
  content: "Footnotes";
  display: block;
  font-weight: bold;
}
.c-text .footnotes p {
  margin: 0;
  line-height: 1.4;
  color: #666666;
  max-width: none;
}
.c-text .footnotes li:target,
.c-text .footnotes li:target p {
  color: #262626;
}
.c-text .footnotes li {
  margin: 0;
  padding-top: 1em;
}

.c-text .bigfoot-footnote__button:target,
.c-text sup:target,
.c-text .footnotes li:target {
  animation-name: flash;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.grafs {
  line-height: 1.4;
  color: #666666;
}
.grafs p {
  margin-bottom: 1em;
}
.grafs > *:last-child {
  margin-bottom: 0;
}

.links a {
  text-decoration: none;
  color: #0092db;
}
.theme-default .links a {
  color: #0092db;
}

.theme-collection .links a {
  color: #FF8C61;
}

.theme-functional-swift .links a {
  color: #DD453B;
}

.theme-core-data .links a {
  color: #2E3B92;
}

.theme-advanced-swift .links a {
  color: #80288E;
}

.theme-optimizing-collections .links a {
  color: #068DC2;
}

.theme-app-architecture .links a {
  color: #49910F;
}

.theme-thinking-in-swiftui .links a {
  color: #006064;
}

.theme-complete-collection .links a {
  color: #F8BA5E;
}

.theme-swift-essentials .links a {
  color: #6BCAD6;
}

.theme-everything-swift .links a {
  color: #C97ECE;
}

.theme-app-development .links a {
  color: #9BCC5C;
}

.links a:hover, .links a:focus {
  border-bottom: solid 1px;
}
.links a:focus {
  outline: none;
}

.numbered-h1s {
  counter-reset: numbered-h1s;
}
.numbered-h1s h1 {
  counter-increment: numbered-h1s;
}
.numbered-h1s h1:before {
  content: counter(numbered-h1s) ". ";
}

.inline-code code {
  background: #f2f2f2;
  border-radius: 5px;
  padding: 0.1em 0.25em;
  color: #222222;
  font-size: 0.9em;
  word-wrap: break-word;
}

.c-button {
  appearance: none;
  font-size: 0.9em;
  display: inline-block;
  margin: 0;
  padding: 1em;
  font-weight: bold;
  line-height: 1;
  color: white;
  text-decoration: none;
  letter-spacing: 0.1em;
  word-spacing: 0.2em;
  text-transform: uppercase;
  border: solid 2px #FFA940;
  border-radius: 5px;
  background: #FFA940;
  cursor: pointer;
}
.c-button:hover, .c-button:focus {
  border-color: #003d5c;
  outline: none;
  background: #003d5c;
}

.c-button--blue {
  border-color: #0092db;
  background: #0092db;
}
.c-button--blue:hover, .c-button--blue:focus {
  border-color: #FFA940;
  background: #FFA940;
}

.c-button[disabled] {
  border-color: #bfbfbf;
  background: #bfbfbf;
  cursor: not-allowed;
}

.c-button--gray {
  border-color: #999999;
  background: #999999;
}
.c-button--gray:hover, .c-button--gray:focus {
  border-color: #4d4d4d;
  background: #4d4d4d;
}

.c-button--small {
  padding: 0.8333333333em;
}

.c-button--smaller {
  padding: 0.6944444444em;
}

.c-button--wide {
  display: block;
  width: 100%;
  text-align: center;
}

.c-button--big {
  font-size: 1em;
}

.c-button--icon {
  position: relative;
  text-align: left;
  padding: 0.8333333333em;
}

.c-button--icon:after {
  font-weight: bold;
  font-size: 1.2em;
  position: absolute;
  right: 0.5em;
  line-height: 1;
  vertical-align: middle;
  top: 50%;
  margin-top: -0.5em;
  height: 1em;
}

.c-button--icon--arrow:after {
  content: "→";
}

.c-button--icon--star:after {
  content: "★";
  font-size: 1em;
}

.c-button--ghost {
  background: transparent;
  border-color: white;
  color: white;
}
.c-button--ghost:hover, .c-button--ghost:focus {
  border-color: white;
  background: white;
  color: #262626;
}

.c-button--ghost.c-button--blue {
  border-color: #0092db;
  color: #0092db;
}
.c-button--ghost.c-button--blue:hover, .c-button--ghost.c-button--blue:focus {
  background: transparent;
  border-color: #FFA940;
  color: #FFA940;
}

.c-button--white {
  background: white;
  border-color: white;
  color: #0092db;
}
.c-button--white:hover, .c-button--white:focus {
  background: transparent;
  color: white;
  border-color: white;
}

.button {
  display: inline-block;
  border: 0;
  margin: 0;
  cursor: pointer;
  padding: 0.9em;
  padding: calc(.9em + 2px);
  padding-top: 0.8em;
  padding-top: calc(.8em + 2px);
  border-radius: 5px;
  font-weight: bold;
  text-decoration: none;
  line-height: 1;
  color: white;
  background-color: #0092db;
}
.button:hover, .button:focus {
  background-color: #FFA940;
}
.button--tight {
  padding: 0.7em;
  padding: calc(.7em + 2px);
  padding-top: 0.65em;
  padding-top: calc(.65em + 2px);
}
.theme-default .button--themed {
  background-color: #0092db;
}
.theme-default .button--themed:hover, .theme-default .button--themed:focus {
  background-color: #FFA940;
}

.theme-collection .button--themed {
  background-color: #FF8C61;
}
.theme-collection .button--themed:hover, .theme-collection .button--themed:focus {
  background-color: #58D897;
}

.theme-functional-swift .button--themed {
  background-color: #DD453B;
}
.theme-functional-swift .button--themed:hover, .theme-functional-swift .button--themed:focus {
  background-color: #EF9F39;
}

.theme-core-data .button--themed {
  background-color: #2E3B92;
}
.theme-core-data .button--themed:hover, .theme-core-data .button--themed:focus {
  background-color: #059ADF;
}

.theme-advanced-swift .button--themed {
  background-color: #80288E;
}
.theme-advanced-swift .button--themed:hover, .theme-advanced-swift .button--themed:focus {
  background-color: #DD1388;
}

.theme-optimizing-collections .button--themed {
  background-color: #068DC2;
}
.theme-optimizing-collections .button--themed:hover, .theme-optimizing-collections .button--themed:focus {
  background-color: #00CC96;
}

.theme-app-architecture .button--themed {
  background-color: #49910F;
}
.theme-app-architecture .button--themed:hover, .theme-app-architecture .button--themed:focus {
  background-color: #BECD0C;
}

.theme-thinking-in-swiftui .button--themed {
  background-color: #006064;
}
.theme-thinking-in-swiftui .button--themed:hover, .theme-thinking-in-swiftui .button--themed:focus {
  background-color: #5FD0DA;
}

.theme-complete-collection .button--themed {
  background-color: #F8BA5E;
}
.theme-complete-collection .button--themed:hover, .theme-complete-collection .button--themed:focus {
  background-color: #262626;
}

.theme-swift-essentials .button--themed {
  background-color: #6BCAD6;
}
.theme-swift-essentials .button--themed:hover, .theme-swift-essentials .button--themed:focus {
  background-color: #262626;
}

.theme-everything-swift .button--themed {
  background-color: #C97ECE;
}
.theme-everything-swift .button--themed:hover, .theme-everything-swift .button--themed:focus {
  background-color: #262626;
}

.theme-app-development .button--themed {
  background-color: #9BCC5C;
}
.theme-app-development .button--themed:hover, .theme-app-development .button--themed:focus {
  background-color: #262626;
}

.theme-default .button--themed-highlight {
  background-color: #FFA940;
}
.theme-default .button--themed-highlight:hover, .theme-default .button--themed-highlight:focus {
  background-color: #262626;
}

.theme-collection .button--themed-highlight {
  background-color: #58D897;
}
.theme-collection .button--themed-highlight:hover, .theme-collection .button--themed-highlight:focus {
  background-color: #262626;
}

.theme-functional-swift .button--themed-highlight {
  background-color: #EF9F39;
}
.theme-functional-swift .button--themed-highlight:hover, .theme-functional-swift .button--themed-highlight:focus {
  background-color: #262626;
}

.theme-core-data .button--themed-highlight {
  background-color: #059ADF;
}
.theme-core-data .button--themed-highlight:hover, .theme-core-data .button--themed-highlight:focus {
  background-color: #262626;
}

.theme-advanced-swift .button--themed-highlight {
  background-color: #DD1388;
}
.theme-advanced-swift .button--themed-highlight:hover, .theme-advanced-swift .button--themed-highlight:focus {
  background-color: #262626;
}

.theme-optimizing-collections .button--themed-highlight {
  background-color: #00CC96;
}
.theme-optimizing-collections .button--themed-highlight:hover, .theme-optimizing-collections .button--themed-highlight:focus {
  background-color: #262626;
}

.theme-app-architecture .button--themed-highlight {
  background-color: #BECD0C;
}
.theme-app-architecture .button--themed-highlight:hover, .theme-app-architecture .button--themed-highlight:focus {
  background-color: #262626;
}

.theme-thinking-in-swiftui .button--themed-highlight {
  background-color: #5FD0DA;
}
.theme-thinking-in-swiftui .button--themed-highlight:hover, .theme-thinking-in-swiftui .button--themed-highlight:focus {
  background-color: #262626;
}

.theme-complete-collection .button--themed-highlight {
  background-color: #F8BA5E;
}
.theme-complete-collection .button--themed-highlight:hover, .theme-complete-collection .button--themed-highlight:focus {
  background-color: #262626;
}

.theme-swift-essentials .button--themed-highlight {
  background-color: #6BCAD6;
}
.theme-swift-essentials .button--themed-highlight:hover, .theme-swift-essentials .button--themed-highlight:focus {
  background-color: #262626;
}

.theme-everything-swift .button--themed-highlight {
  background-color: #C97ECE;
}
.theme-everything-swift .button--themed-highlight:hover, .theme-everything-swift .button--themed-highlight:focus {
  background-color: #262626;
}

.theme-app-development .button--themed-highlight {
  background-color: #9BCC5C;
}
.theme-app-development .button--themed-highlight:hover, .theme-app-development .button--themed-highlight:focus {
  background-color: #262626;
}

.button[disabled], .button.is-disabled {
  background-color: #bfbfbf !important;
  cursor: not-allowed;
}

.bordered-button {
  display: inline-block;
  margin: 0;
  cursor: pointer;
  padding: 0.9em;
  padding-top: 0.8em;
  font-weight: bold;
  text-decoration: none;
  line-height: 1;
  border: solid 2px;
  border-radius: 5px;
}
.theme-default .bordered-button--themed {
  color: #0092db;
}
.theme-default .bordered-button--themed:hover, .theme-default .bordered-button--themed:focus {
  color: #FFA940;
}

.theme-collection .bordered-button--themed {
  color: #FF8C61;
}
.theme-collection .bordered-button--themed:hover, .theme-collection .bordered-button--themed:focus {
  color: #58D897;
}

.theme-functional-swift .bordered-button--themed {
  color: #DD453B;
}
.theme-functional-swift .bordered-button--themed:hover, .theme-functional-swift .bordered-button--themed:focus {
  color: #EF9F39;
}

.theme-core-data .bordered-button--themed {
  color: #2E3B92;
}
.theme-core-data .bordered-button--themed:hover, .theme-core-data .bordered-button--themed:focus {
  color: #059ADF;
}

.theme-advanced-swift .bordered-button--themed {
  color: #80288E;
}
.theme-advanced-swift .bordered-button--themed:hover, .theme-advanced-swift .bordered-button--themed:focus {
  color: #DD1388;
}

.theme-optimizing-collections .bordered-button--themed {
  color: #068DC2;
}
.theme-optimizing-collections .bordered-button--themed:hover, .theme-optimizing-collections .bordered-button--themed:focus {
  color: #00CC96;
}

.theme-app-architecture .bordered-button--themed {
  color: #49910F;
}
.theme-app-architecture .bordered-button--themed:hover, .theme-app-architecture .bordered-button--themed:focus {
  color: #BECD0C;
}

.theme-thinking-in-swiftui .bordered-button--themed {
  color: #006064;
}
.theme-thinking-in-swiftui .bordered-button--themed:hover, .theme-thinking-in-swiftui .bordered-button--themed:focus {
  color: #5FD0DA;
}

.theme-complete-collection .bordered-button--themed {
  color: #F8BA5E;
}
.theme-complete-collection .bordered-button--themed:hover, .theme-complete-collection .bordered-button--themed:focus {
  color: #262626;
}

.theme-swift-essentials .bordered-button--themed {
  color: #6BCAD6;
}
.theme-swift-essentials .bordered-button--themed:hover, .theme-swift-essentials .bordered-button--themed:focus {
  color: #262626;
}

.theme-everything-swift .bordered-button--themed {
  color: #C97ECE;
}
.theme-everything-swift .bordered-button--themed:hover, .theme-everything-swift .bordered-button--themed:focus {
  color: #262626;
}

.theme-app-development .bordered-button--themed {
  color: #9BCC5C;
}
.theme-app-development .bordered-button--themed:hover, .theme-app-development .bordered-button--themed:focus {
  color: #262626;
}

.bordered-button--white {
  color: white;
}
.bordered-button--white:hover, .bordered-button--white:focus {
  border-color: white;
  background-color: white;
}
.theme-default .bordered-button--white:hover, .bordered-button--white:focus {
  color: #0092db;
}

.theme-collection .bordered-button--white:hover, .bordered-button--white:focus {
  color: #FF8C61;
}

.theme-functional-swift .bordered-button--white:hover, .bordered-button--white:focus {
  color: #DD453B;
}

.theme-core-data .bordered-button--white:hover, .bordered-button--white:focus {
  color: #2E3B92;
}

.theme-advanced-swift .bordered-button--white:hover, .bordered-button--white:focus {
  color: #80288E;
}

.theme-optimizing-collections .bordered-button--white:hover, .bordered-button--white:focus {
  color: #068DC2;
}

.theme-app-architecture .bordered-button--white:hover, .bordered-button--white:focus {
  color: #49910F;
}

.theme-thinking-in-swiftui .bordered-button--white:hover, .bordered-button--white:focus {
  color: #006064;
}

.theme-complete-collection .bordered-button--white:hover, .bordered-button--white:focus {
  color: #F8BA5E;
}

.theme-swift-essentials .bordered-button--white:hover, .bordered-button--white:focus {
  color: #6BCAD6;
}

.theme-everything-swift .bordered-button--white:hover, .bordered-button--white:focus {
  color: #C97ECE;
}

.theme-app-development .bordered-button--white:hover, .bordered-button--white:focus {
  color: #9BCC5C;
}

.arrowed-button {
  display: flex !important;
  flex-flow: row nowrap;
  align-items: center;
}
.arrowed-button::after {
  content: "→";
  padding-left: 1em;
  font-weight: bold;
  font-size: 1.2em;
  margin-left: auto;
}
.theme-default .arrowed-button.bordered-button--themed::after {
  color: #FFA940;
}

.theme-collection .arrowed-button.bordered-button--themed::after {
  color: #58D897;
}

.theme-functional-swift .arrowed-button.bordered-button--themed::after {
  color: #EF9F39;
}

.theme-core-data .arrowed-button.bordered-button--themed::after {
  color: #059ADF;
}

.theme-advanced-swift .arrowed-button.bordered-button--themed::after {
  color: #DD1388;
}

.theme-optimizing-collections .arrowed-button.bordered-button--themed::after {
  color: #00CC96;
}

.theme-app-architecture .arrowed-button.bordered-button--themed::after {
  color: #BECD0C;
}

.theme-thinking-in-swiftui .arrowed-button.bordered-button--themed::after {
  color: #5FD0DA;
}

.theme-complete-collection .arrowed-button.bordered-button--themed::after {
  color: #F8BA5E;
}

.theme-swift-essentials .arrowed-button.bordered-button--themed::after {
  color: #6BCAD6;
}

.theme-everything-swift .arrowed-button.bordered-button--themed::after {
  color: #C97ECE;
}

.theme-app-development .arrowed-button.bordered-button--themed::after {
  color: #9BCC5C;
}

.arrowed-button.bordered-button--white::after {
  color: inherit;
}

.c-arrow-back:before {
  content: "← ";
  font-weight: bold;
}

.c-arrow-forward:after {
  content: " →";
  font-weight: bold;
}

.c-sorting__group {
  margin-bottom: 1em;
}

.c-sorting__group__title {
  color: black;
  font-weight: bold;
  line-height: 1.25;
  color: #FFA940;
  font-size: 0.8333333333em;
}

.c-sorting__group__options {
  padding-top: 0.2em;
  font-size: 0.8333333333em;
}

.c-sorting__group__options > * > * {
  appearance: none;
  text-decoration: none;
  border: none;
  border-radius: 0;
  padding: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  line-height: 1.1;
  display: block;
  width: 100%;
  padding: 0.3em 0;
  color: gray;
}
.c-sorting__group__options > * > *.is-active {
  color: #0092db;
}
.c-sorting__group__options > * > *:hover, .c-sorting__group__options > * > *:focus {
  color: black;
  outline: none;
}

.scroller {
  overflow-x: scroll;
  overflow-y: visible;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -webkit-overflow-scrolling: touch;
}
.scroller::-webkit-scrollbar {
  display: none;
}
.scroller.is-unscrollable {
  cursor: auto !important;
}

.scroller__offset {
  width: calc(50% - ( 65em / 2 ));
  min-height: 1px;
}

.scroller-button {
  border: 0;
  padding: 0.4em;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-family: AkkuratTT, sans-serif;
  color: white;
  cursor: pointer;
  transition: background-color 200ms ease-in-out;
}
.theme-default .scroller-button {
  background-color: #0092db;
}
.theme-default .scroller-button:hover, .theme-default .scroller-button:focus {
  outline: none;
  background-color: #FFA940;
}

.theme-collection .scroller-button {
  background-color: #FF8C61;
}
.theme-collection .scroller-button:hover, .theme-collection .scroller-button:focus {
  outline: none;
  background-color: #58D897;
}

.theme-functional-swift .scroller-button {
  background-color: #DD453B;
}
.theme-functional-swift .scroller-button:hover, .theme-functional-swift .scroller-button:focus {
  outline: none;
  background-color: #EF9F39;
}

.theme-core-data .scroller-button {
  background-color: #2E3B92;
}
.theme-core-data .scroller-button:hover, .theme-core-data .scroller-button:focus {
  outline: none;
  background-color: #059ADF;
}

.theme-advanced-swift .scroller-button {
  background-color: #80288E;
}
.theme-advanced-swift .scroller-button:hover, .theme-advanced-swift .scroller-button:focus {
  outline: none;
  background-color: #DD1388;
}

.theme-optimizing-collections .scroller-button {
  background-color: #068DC2;
}
.theme-optimizing-collections .scroller-button:hover, .theme-optimizing-collections .scroller-button:focus {
  outline: none;
  background-color: #00CC96;
}

.theme-app-architecture .scroller-button {
  background-color: #49910F;
}
.theme-app-architecture .scroller-button:hover, .theme-app-architecture .scroller-button:focus {
  outline: none;
  background-color: #BECD0C;
}

.theme-thinking-in-swiftui .scroller-button {
  background-color: #006064;
}
.theme-thinking-in-swiftui .scroller-button:hover, .theme-thinking-in-swiftui .scroller-button:focus {
  outline: none;
  background-color: #5FD0DA;
}

.theme-complete-collection .scroller-button {
  background-color: #F8BA5E;
}
.theme-complete-collection .scroller-button:hover, .theme-complete-collection .scroller-button:focus {
  outline: none;
  background-color: #262626;
}

.theme-swift-essentials .scroller-button {
  background-color: #6BCAD6;
}
.theme-swift-essentials .scroller-button:hover, .theme-swift-essentials .scroller-button:focus {
  outline: none;
  background-color: #262626;
}

.theme-everything-swift .scroller-button {
  background-color: #C97ECE;
}
.theme-everything-swift .scroller-button:hover, .theme-everything-swift .scroller-button:focus {
  outline: none;
  background-color: #262626;
}

.theme-app-development .scroller-button {
  background-color: #9BCC5C;
}
.theme-app-development .scroller-button:hover, .theme-app-development .scroller-button:focus {
  outline: none;
  background-color: #262626;
}

.scroller-button.scroller-button--grayscale {
  background-color: #4d4d4d;
}
.scroller-button.scroller-button--grayscale:hover, .scroller-button.scroller-button--grayscale:focus {
  background-color: black;
}
.scroller-button:disabled {
  background-color: #e6e6e6 !important;
  cursor: not-allowed !important;
}

.c-toc {
  counter-reset: toc;
  background: white;
  overflow: hidden;
  float: right;
  width: 17em;
  margin-left: 2.5em;
  border: solid 1px #e6e6e6;
  border-radius: 4px;
  display: none;
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  transition: opacity 50ms linear;
}
.has-toc .c-toc {
  display: block;
}
.c-toc.is-overlapping {
  opacity: 0.15;
}
@media screen and (max-width: 1249px) {
  .c-toc {
    display: none !important;
  }
}

.c-toc__header {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  font-size: 0.8333333333em;
  height: 2.985984em;
  padding-left: 1.44em;
  font-weight: bold;
  color: #4d4d4d;
}

.c-toc__body {
  border-top: solid 1px #e6e6e6;
  font-size: 0.8333333333em;
  padding: 0.6944444444em 1.44em;
  line-height: 1.2;
  overflow-x: hidden;
  overflow-y: auto;
}
.c-toc__body li ol {
  border-left: dotted 1px #e6e6e6;
  padding-left: 1.2em;
}
.c-toc__body a {
  display: block;
  padding: 0.45em 0;
  color: #666666;
  text-decoration: none;
}
.c-toc__body a.is-visible {
  color: #0092db;
  font-weight: bold;
}
.theme-default .c-toc__body a.is-visible {
  color: #0092db;
}

.theme-collection .c-toc__body a.is-visible {
  color: #FF8C61;
}

.theme-functional-swift .c-toc__body a.is-visible {
  color: #DD453B;
}

.theme-core-data .c-toc__body a.is-visible {
  color: #2E3B92;
}

.theme-advanced-swift .c-toc__body a.is-visible {
  color: #80288E;
}

.theme-optimizing-collections .c-toc__body a.is-visible {
  color: #068DC2;
}

.theme-app-architecture .c-toc__body a.is-visible {
  color: #49910F;
}

.theme-thinking-in-swiftui .c-toc__body a.is-visible {
  color: #006064;
}

.theme-complete-collection .c-toc__body a.is-visible {
  color: #F8BA5E;
}

.theme-swift-essentials .c-toc__body a.is-visible {
  color: #6BCAD6;
}

.theme-everything-swift .c-toc__body a.is-visible {
  color: #C97ECE;
}

.theme-app-development .c-toc__body a.is-visible {
  color: #9BCC5C;
}

.c-toc__body a.is-blocked {
  text-decoration: line-through;
  cursor: not-allowed;
}
.c-toc__body a.is-blocked, .c-toc__body a.is-blocked:hover, .c-toc__body a.is-blocked:focus {
  color: #999999;
}
.c-toc__body a:hover, .c-toc__body a:focus {
  color: black;
  outline: none;
}
.c-toc__body ol ol a {
  font-size: 0.9em;
}
.c-toc__body code {
  word-wrap: break-word;
}
.c-toc--numbered .c-toc__body > ol > li > a {
  counter-increment: toc;
}
.c-toc--numbered .c-toc__body > ol > li > a:before {
  content: counter(toc) ". ";
}

.tab-control {
  font-size: 0.8333333333em;
  color: white;
  display: block;
  font-weight: bold;
  padding: 0.75em;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  text-decoration: none;
}
.tab-control svg {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  float: left;
  margin-top: -0.1em;
  margin-right: 0.35em;
}
.tab-control svg *[fill] {
  fill: currentColor;
}
.tab-control.is-active, .tab-control[aria-selected=true] {
  color: #0092db;
  background: white;
}

.tab-panel {
  display: none;
}
.tab-panel.is-active, .tab-panel[aria-hidden=false] {
  display: block;
}

.tag {
  display: inline-block;
  border-radius: 9999px;
  background: #b3b3b3;
  color: white;
  line-height: 1.1;
  text-decoration: none;
  font-weight: bold;
  padding: 0.3em 0.6em 0.35em;
  vertical-align: middle;
}

a.tag:hover,
a.tag:focus {
  background: #4d4d4d;
  outline: none;
}

.label {
  display: inline-block;
  line-height: 1;
  border-radius: 3px;
  padding: 0.35em 0.4em 0.35em;
}

.logo {
  height: 1.7em;
  width: 5.6810126582em;
  transition: fill 150ms ease-in-out;
}

.theme-default .logo--themed #letters {
  fill: #0092db;
}
.theme-default .logo--themed #arrows, .theme-default .logo--themed:hover #letters {
  fill: #FFA940;
}

.theme-collection .logo--themed #letters {
  fill: #4d4d4d;
}
.theme-collection .logo--themed #arrows, .theme-collection .logo--themed:hover #letters {
  fill: #58D897;
}

.theme-functional-swift .logo--themed #letters {
  fill: #DD453B;
}
.theme-functional-swift .logo--themed #arrows, .theme-functional-swift .logo--themed:hover #letters {
  fill: #EF9F39;
}

.theme-core-data .logo--themed #letters {
  fill: #2E3B92;
}
.theme-core-data .logo--themed #arrows, .theme-core-data .logo--themed:hover #letters {
  fill: #059ADF;
}

.theme-advanced-swift .logo--themed #letters {
  fill: #80288E;
}
.theme-advanced-swift .logo--themed #arrows, .theme-advanced-swift .logo--themed:hover #letters {
  fill: #DD1388;
}

.theme-optimizing-collections .logo--themed #letters {
  fill: #068DC2;
}
.theme-optimizing-collections .logo--themed #arrows, .theme-optimizing-collections .logo--themed:hover #letters {
  fill: #00CC96;
}

.theme-app-architecture .logo--themed #letters {
  fill: #49910F;
}
.theme-app-architecture .logo--themed #arrows, .theme-app-architecture .logo--themed:hover #letters {
  fill: #BECD0C;
}

.theme-thinking-in-swiftui .logo--themed #letters {
  fill: #006064;
}
.theme-thinking-in-swiftui .logo--themed #arrows, .theme-thinking-in-swiftui .logo--themed:hover #letters {
  fill: #5FD0DA;
}

.theme-complete-collection .logo--themed #letters {
  fill: #4d4d4d;
}
.theme-complete-collection .logo--themed #arrows, .theme-complete-collection .logo--themed:hover #letters {
  fill: #F8BA5E;
}

.theme-swift-essentials .logo--themed #letters {
  fill: #4d4d4d;
}
.theme-swift-essentials .logo--themed #arrows, .theme-swift-essentials .logo--themed:hover #letters {
  fill: #6BCAD6;
}

.theme-everything-swift .logo--themed #letters {
  fill: #4d4d4d;
}
.theme-everything-swift .logo--themed #arrows, .theme-everything-swift .logo--themed:hover #letters {
  fill: #C97ECE;
}

.theme-app-development .logo--themed #letters {
  fill: #4d4d4d;
}
.theme-app-development .logo--themed #arrows, .theme-app-development .logo--themed:hover #letters {
  fill: #9BCC5C;
}

.logo--white #letters {
  fill: white;
}
.logo--white #arrows, .logo--white:hover #letters {
  fill: rgba(255, 255, 255, 0.75);
}

.text-input {
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  border-top: solid 2px transparent;
  border-bottom: solid 2px #0092db;
  color: #4d4d4d;
  border-radius: 0;
  padding: 0.25em 0;
}
.text-input::placeholder {
  color: #bfbfbf;
}
.text-input:focus {
  outline: none;
  border-bottom-color: #FFA940;
}
.text-input.is-invalid {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: shake;
}

.recurly-hosted-field {
  border-bottom: solid 2px #0092db;
  border-top: solid 2px transparent;
  padding: 0.25em 0;
  height: 1.2em;
  box-sizing: content-box;
}
.recurly-hosted-field-focus {
  border-bottom-color: #FFA940;
}

.text-input--naked {
  border-bottom: none;
}

.input-label {
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  word-spacing: 0.2em;
  font-weight: bold;
  color: #666666;
}

.input-label--required::after {
  content: "*";
  display: inline-block;
  padding-left: 0.25em;
  color: #FFA940;
}

.button-input {
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  padding: 0.25em 0.5em;
  cursor: pointer;
  background: #0092db;
  border: solid 2px #0092db;
  color: white;
  font-weight: bold;
  border-radius: 4px;
}
.button-input:hover, .button-input:focus {
  border-color: #FFA940;
  background: #FFA940;
  outline: none;
}

.input-unit {
  display: block;
}

.input-note {
  display: block;
  font-size: 0.8333333333em;
  color: #999999;
  line-height: 1.25;
}

.input-unit.has-error {
  color: #FF4040;
}
.input-unit.has-error .input-label {
  color: inherit;
}
.input-unit.has-error .text-input,
.input-unit.has-error .recurly-hosted-field {
  border-bottom-color: #FF4040;
}

.submenu {
  border-radius: 5px;
  border: solid 2px #d9d9d9;
  border-radius: 4px;
}

.submenu__item {
  text-decoration: none;
  color: #999999;
  display: block;
  display: flex;
  align-items: center;
  padding: 0.6944444444em;
}
.submenu__item:hover {
  color: black;
}
.submenu__item + .submenu__item {
  border-top: solid 2px #d9d9d9;
}

.submenu__item.is-active {
  color: #0092db;
  font-weight: bold;
}

.rwd-disclosure__toggle {
  display: none;
}

.rwd-disclosure__content {
  display: block;
}

@media screen and (max-width: 1099px) {
  .xl-\|rwd-disclosure {
    border: solid 2px #d9d9d9;
    border-radius: 5px;
    overflow: hidden;
  }
  .xl-\|rwd-disclosure .rwd-disclosure__content {
    border-top: solid 2px #d9d9d9;
    padding: 1em;
  }
  .xl-\|rwd-disclosure .rwd-disclosure__toggle {
    display: block;
  }
  .xl-\|rwd-disclosure .rwd-disclosure__content {
    display: none;
  }
  .xl-\|rwd-disclosure.is-active .rwd-disclosure__content {
    display: block;
  }
}
@media screen and (max-width: 899px) {
  .l-\|rwd-disclosure {
    border: solid 2px #d9d9d9;
    border-radius: 5px;
    overflow: hidden;
  }
  .l-\|rwd-disclosure .rwd-disclosure__content {
    border-top: solid 2px #d9d9d9;
    padding: 1em;
  }
  .l-\|rwd-disclosure .rwd-disclosure__toggle {
    display: block;
  }
  .l-\|rwd-disclosure .rwd-disclosure__content {
    display: none;
  }
  .l-\|rwd-disclosure.is-active .rwd-disclosure__content {
    display: block;
  }
}
@media screen and (max-width: 699px) {
  .m-\|rwd-disclosure {
    border: solid 2px #d9d9d9;
    border-radius: 5px;
    overflow: hidden;
  }
  .m-\|rwd-disclosure .rwd-disclosure__content {
    border-top: solid 2px #d9d9d9;
    padding: 1em;
  }
  .m-\|rwd-disclosure .rwd-disclosure__toggle {
    display: block;
  }
  .m-\|rwd-disclosure .rwd-disclosure__content {
    display: none;
  }
  .m-\|rwd-disclosure.is-active .rwd-disclosure__content {
    display: block;
  }
}
@media screen and (max-width: 549px) {
  .s-\|rwd-disclosure {
    border: solid 2px #d9d9d9;
    border-radius: 5px;
    overflow: hidden;
  }
  .s-\|rwd-disclosure .rwd-disclosure__content {
    border-top: solid 2px #d9d9d9;
    padding: 1em;
  }
  .s-\|rwd-disclosure .rwd-disclosure__toggle {
    display: block;
  }
  .s-\|rwd-disclosure .rwd-disclosure__content {
    display: none;
  }
  .s-\|rwd-disclosure.is-active .rwd-disclosure__content {
    display: block;
  }
}
@media screen and (max-width: 399px) {
  .xs-\|rwd-disclosure {
    border: solid 2px #d9d9d9;
    border-radius: 5px;
    overflow: hidden;
  }
  .xs-\|rwd-disclosure .rwd-disclosure__content {
    border-top: solid 2px #d9d9d9;
    padding: 1em;
  }
  .xs-\|rwd-disclosure .rwd-disclosure__toggle {
    display: block;
  }
  .xs-\|rwd-disclosure .rwd-disclosure__content {
    display: none;
  }
  .xs-\|rwd-disclosure.is-active .rwd-disclosure__content {
    display: block;
  }
}
@media screen and (min-width: 900px) {
  .offset-content {
    margin-left: 10%;
  }
}

.offset-header {
  position: relative;
  margin-top: 20%;
}
.offset-header::before {
  content: "";
  display: block;
  background-color: inherit;
  width: 9999em;
  width: 100vw;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
}

.c-swifttalk-box {
  color: white;
}
.c-swifttalk-box a {
  color: white;
  text-decoration: none;
}

.c-swifttalk-video {
  border: solid 0.5em rgba(0, 0, 0, 0.1);
}

.c-swifttalk-box__content {
  margin-top: 2.5em;
}

.c-swifttalk-box__label {
  display: inline-block;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  word-spacing: 0.2em;
  font-weight: bold;
  border: solid 2px white;
  border-radius: 3px;
  line-height: 1;
  padding: 0.4em 0.4em 0.3em;
}

.c-swifttalk-box .c-swifttalk-box__button .c-button--white,
.c-swifttalk-box .c-swifttalk-box__button .c-button--ghost:hover,
.c-swifttalk-box .c-swifttalk-box__button .c-button--ghost:focus {
  color: #FA6B4A;
}

.c-swifttalk-box .c-swifttalk-box__button .c-button--white:hover,
.c-swifttalk-box .c-swifttalk-box__button .c-button--white:focus {
  color: white;
}

.c-swifttalk-box__title {
  font-weight: bold;
}

.c-swifttalk-box__cover img {
  border-width: 0.5em;
}

.c-swifttalk-box__title {
  font-size: 2.985984em;
  max-width: 12em;
}

.c-swifttalk-box__synopsis {
  font-size: 1.2em;
  max-width: 26em;
  line-height: 1.25;
  margin-top: 0.5em;
}

.c-swifttalk-box__authors {
  font-size: 0.8333333333em;
  margin-top: 1.5em;
}

.c-swifttalk-box__button {
  margin-top: 2.5em;
}

@media screen and (max-width: 699px) {
  .c-swifttalk-box__title {
    font-size: 2.0736em;
  }

  .c-swifttalk-video {
    margin-top: 2.5em;
    border-width: 0.25em;
  }
}
@media screen and (max-width: 549px) {
  .c-swifttalk-box__title {
    font-size: 1.728em;
  }

  .c-swifttalk-box__synopsis {
    font-size: 1em;
  }
}
.c-newsletter-modal {
  max-width: 38em;
  margin-left: auto;
  margin-right: auto;
}

.c-newsletter-modal__img {
  padding-right: 2em;
}

.c-newsletter-modal__img svg {
  width: 8em;
  height: auto;
}
.c-newsletter-modal__img svg #letter {
  stroke: #FFA940;
  transform: translateY(0);
}
.c-newsletter-modal__img svg #front-border {
  fill: #ff8d03;
}
.c-newsletter-modal__img svg #back-border {
  fill: #ff8d03;
}

.c-newsletter-modal__header {
  font-weight: bold;
  font-size: 1.728em;
  color: #0092db;
}

.c-newsletter-modal__prompt {
  font-size: 1.2em;
  color: #4d4d4d;
  font-weight: bold;
  margin-top: 0.5em;
  margin-bottom: 1em;
}

.c-newsletter-modal__form {
  position: relative;
}

.c-newsletter-modal__form__input,
.c-newsletter-modal__form__button {
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  font-size: 1.728em;
  padding: 0.25em 0;
  vertical-align: middle;
}

.c-newsletter-modal__form__input {
  display: block;
  width: 100%;
  padding-right: 2em;
  border-bottom: solid 2px #0092db;
  color: #4d4d4d;
}
.c-newsletter-modal__form__input::placeholder {
  color: #bfbfbf;
}
.c-newsletter-modal__form__input:focus {
  outline: none;
  border-bottom-color: black;
}
.c-newsletter-modal__form__input.is-invalid {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: shake;
}

.c-newsletter-modal__form__button {
  position: absolute;
  bottom: 0;
  right: 0;
  cursor: pointer;
  font-weight: bold;
  color: #FFA940;
}
.c-newsletter-modal__form__button:hover, .c-newsletter-modal__form__button:focus {
  color: black;
  outline: none;
}

.c-newsletter-modal__alternative {
  font-size: 0.8333333333em;
  margin-top: 1.5em;
  color: #999999;
}
.c-newsletter-modal__alternative a {
  color: #0092db;
  text-decoration: none;
}
.c-newsletter-modal__alternative a:hover, .c-newsletter-modal__alternative a:focus {
  color: black;
}

.c-article {
  margin-bottom: 2.5em;
}

.c-article__browseissue {
  color: white;
  position: relative;
}
.c-article__browseissue:after {
  content: "";
  display: table;
  clear: both;
}

.c-article__browseissue__header__toggle {
  white-space: nowrap;
  text-align: right;
}

.c-article__browseissue__header__toggle__button {
  color: inherit;
  text-decoration: none;
}
.c-article__browseissue__header__toggle__button:hover, .c-article__browseissue__header__toggle__button:focus {
  outline: none;
  color: #FFA940;
}

.c-article__browseissue__header__toggle__button:after {
  font-weight: bold;
  content: "↓";
  display: inline-block;
  transition: transform 500ms linear;
  margin-left: 0.3em;
  color: #FFA940;
}

.c-article__browseissue__header__toggle__button.is-toggled:after {
  transform: rotate(180deg);
}

.c-article__browseissue__toc {
  margin-bottom: 2em;
  display: none;
}

.c-article__browseissue__toc__entry {
  color: rgba(255, 255, 255, 0.7);
}
.c-article__browseissue__toc__entry a {
  text-decoration: none;
}

.c-article__browseissue__toc__entry.current .c-article__browseissue__toc__entry__title:before {
  content: "→ ";
  color: #FFA940;
}

.c-article__browseissue__toc__entry + .c-article__browseissue__toc__entry {
  border-top: solid 1px rgba(36, 172, 240, 0.35);
}

.c-article__browseissue__toc__entry a {
  color: white;
  display: block;
  padding: 1em 0;
  line-height: 1.2;
}
.c-article__browseissue__toc__entry a:hover, .c-article__browseissue__toc__entry a:focus {
  outline: none;
}
.c-article__browseissue__toc__entry a:hover .c-article__browseissue__toc__entry__title, .c-article__browseissue__toc__entry a:focus .c-article__browseissue__toc__entry__title {
  color: #FFA940;
}
.c-article__browseissue__toc__entry a:hover .c-article__browseissue__toc__entry__author, .c-article__browseissue__toc__entry a:focus .c-article__browseissue__toc__entry__author {
  color: #FFA940;
}

.c-article__browseissue__toc__entry__title {
  font-weight: bold;
}

.c-article__browseissue__toc__entry__author-prefix {
  color: rgba(255, 255, 255, 0.6);
}

.c-article__header {
  color: white;
}

.c-article__swifttalk__promo {
  border-top: solid 2px white;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  color: white;
}
.c-article__swifttalk__promo a {
  color: white;
  text-decoration: none;
}
.c-article__swifttalk__promo .c-article-swifttalk-promo__label {
  position: relative;
  top: -0.3em;
  margin-left: 1em;
  display: inline-block;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  word-spacing: 0.2em;
  font-weight: bold;
  font-size: 0.7em;
  border: solid 2px white;
  border-radius: 3px;
  line-height: 1;
  padding: 0.4em 0.5em;
}
.c-article__swifttalk__promo .c-article-swifttalk-promo__content {
  margin-top: 0.5em;
}
.c-article__swifttalk__promo .c-article-swifttalk-promo__title {
  font-size: 1.44em;
  font-weight: bold;
  display: inline-block;
}
.c-article__swifttalk__promo .c-article-swifttalk-promo__synopsis {
  font-size: 1em;
  max-width: 38em;
  line-height: 1.25;
}
.c-article__swifttalk__promo .c-button--white {
  color: #FA6B4A;
}
.c-article__swifttalk__promo .c-button--white:hover {
  color: white;
}

@media screen and (max-width: 699px) {
  .c-article-swifttalk-promo__button {
    margin-top: 1em;
  }
}
.c-article__browseissue__header__metadata__issue {
  color: #FFA940;
  font-weight: bold;
  text-decoration: none;
}
.c-article__browseissue__header__metadata__issue:hover, .c-article__browseissue__header__metadata__issue:focus {
  border-bottom: solid 2px;
  outline: none;
}

@media screen and (max-width: 699px) {
  .c-article__browseissue__header__metadata .o-middot {
    display: none;
  }
  .c-article__browseissue__header__metadata .c-article__browseissue__header__metadata__date {
    display: block;
  }
}
.c-article__header__title {
  word-wrap: break-word;
  font-size: 1.728em;
  font-weight: bold;
  line-height: 1.1;
  margin-bottom: 20%;
}
@media screen and (min-width: 700px) {
  .c-article__header__title {
    font-size: 2.0736em;
  }
}
@media screen and (min-width: 900px) {
  .c-article__header__title {
    font-size: 2.985984em;
  }
}

.c-article__header__byline {
  color: white;
  font-size: 1.2em;
}
.c-article__header__byline a {
  text-decoration: none;
  color: #FFA940;
  font-weight: bold;
}
.c-article__header__byline a:hover, .c-article__header__byline a:focus {
  border-bottom: solid 2px;
  outline: none;
}

.c-article__header__browse {
  display: none;
}

.c-article__body > *.is-overlapped {
  position: relative;
  z-index: 100;
}

.c-blog-post + .c-blog-post {
  margin-top: 6em;
}

.c-blog-post__header {
  margin-bottom: 1.5em;
  max-width: 38em;
}

.c-blog-post__title {
  line-height: 1.1;
  font-size: 1.44em;
  font-weight: bold;
  color: #0092db;
}
@media screen and (min-width: 550px) {
  .c-blog-post__title {
    font-size: 1.728em;
  }
}
.c-blog-post__title a {
  text-decoration: none;
  color: inherit;
}
.c-blog-post__title a:hover,
.c-blog-post__title a:focus {
  color: black;
  outline: none;
}

.c-blog-post__meta {
  margin-top: 0.25em;
}

.c-blog-post__date {
  font-size: 0.8333333333em;
  color: #999999;
}
.c-blog-post__date time {
  color: #666666;
}

.c-blog-post__synopsis {
  max-width: 34.5454545455em;
  color: #262626;
  font-size: 1.1em;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1em;
}

.c-blog-postlist {
  background: #f7f7f7;
}

.c-blog-postlist__post + .c-blog-postlist__post {
  margin-top: 2em;
}

.c-blog-postlist__post__title {
  color: #0092db;
  font-weight: bold;
}
.c-blog-postlist__post__title a {
  color: inherit;
  text-decoration: none;
}
.c-blog-postlist__post__title a:visited {
  color: #8647B3;
}
.c-blog-postlist__post__title a:hover, .c-blog-postlist__post__title a:focus {
  color: black;
  outline: none;
}
.c-blog-postlist__post__title.is-current:before {
  content: "→ ";
  font-weight: bold;
  color: #FFA940;
}

.c-blog-postlist__post__date {
  font-size: 0.8333333333em;
  color: #999999;
  font-weight: normal;
  margin-bottom: 0.5em;
  width: 10em;
}

.c-blog-postlist__post__synopsis {
  font-size: 0.8333333333em;
  color: #262626;
  margin-top: 0.25em;
  line-height: 1.4;
  max-width: 45.6em;
}

.book-formatted-text {
  color: gray;
  line-height: 1.3;
}
.book-formatted-text h3 {
  color: #333333;
  font-weight: bold;
}
.book-formatted-text strong {
  font-weight: bold;
}
.book-formatted-text em {
  font-style: italic;
}

.book-formatted-lists li {
  padding-left: 1em;
}
.book-formatted-lists li:before {
  content: "•";
  font-weight: bold;
  display: inline-block;
  float: left;
  width: 1em;
  margin-left: -1em;
}
.theme-functional-swift .book-formatted-lists li:before {
  color: #DD453B;
}

.theme-core-data .book-formatted-lists li:before {
  color: #2E3B92;
}

.theme-advanced-swift .book-formatted-lists li:before {
  color: #80288E;
}

.theme-optimizing-collections .book-formatted-lists li:before {
  color: #068DC2;
}

.theme-app-architecture .book-formatted-lists li:before {
  color: #49910F;
}

.theme-thinking-in-swiftui .book-formatted-lists li:before {
  color: #006064;
}

.book-formatted-lists--numbered {
  counter-reset: formatted-list;
}
.book-formatted-lists--numbered li {
  counter-increment: formatted-list;
  padding-left: 1.5em;
}
.book-formatted-lists--numbered li:before {
  width: 1.5em;
  margin-left: -1.5em;
  content: counter(formatted-list) ".";
}

.book-text-block * + p,
.book-text-block * + ul {
  margin-top: 0.75em;
}

.book-stacked-list li + li {
  margin-top: 1.5em;
}

.book__header {
  height: 0;
  padding-bottom: 42%;
  margin-bottom: 5.5%;
}

.book__toc li {
  margin-bottom: 0.8em;
}
.book__toc li:last-child {
  margin-bottom: 0 !important;
}
@media screen and (min-width: 550px) {
  .book__toc li {
    margin-bottom: 1em;
  }
  .book__toc ul {
    columns: 2;
    column-gap: 2em;
  }
  .book__toc li {
    break-inside: avoid;
    column-break-inside: avoid;
  }
}
@media screen and (min-width: 900px) {
  .book__toc--hanging li {
    padding-left: 0;
  }
  .book__toc--hanging li:after {
    content: "";
    display: table;
    clear: both;
  }
}

.buy__tabs {
  border-bottom: solid 1px #d9d9d9;
  display: flex;
  align-items: baseline;
  font-size: 0.8333333333em;
  font-weight: bold;
}

.buy__tab {
  color: #a6a6a6;
  text-decoration: none;
  padding: 0.8em 0;
  flex: 1;
  text-align: center;
  margin-bottom: -1px;
  border-bottom: solid 2px transparent;
}
.buy__tab:hover, .buy__tab:focus {
  outline: none;
  color: #4d4d4d;
}
.buy__tab.is-active, .buy__tab[aria-selected=true] {
  border-bottom-color: currentColor;
}
.theme-default .buy__tab.is-active, .theme-default .buy__tab[aria-selected=true] {
  color: #0092db;
}

.theme-collection .buy__tab.is-active, .theme-collection .buy__tab[aria-selected=true] {
  color: #262626;
}

.theme-functional-swift .buy__tab.is-active, .theme-functional-swift .buy__tab[aria-selected=true] {
  color: #DD453B;
}

.theme-core-data .buy__tab.is-active, .theme-core-data .buy__tab[aria-selected=true] {
  color: #2E3B92;
}

.theme-advanced-swift .buy__tab.is-active, .theme-advanced-swift .buy__tab[aria-selected=true] {
  color: #80288E;
}

.theme-optimizing-collections .buy__tab.is-active, .theme-optimizing-collections .buy__tab[aria-selected=true] {
  color: #068DC2;
}

.theme-app-architecture .buy__tab.is-active, .theme-app-architecture .buy__tab[aria-selected=true] {
  color: #49910F;
}

.theme-thinking-in-swiftui .buy__tab.is-active, .theme-thinking-in-swiftui .buy__tab[aria-selected=true] {
  color: #006064;
}

.theme-complete-collection .buy__tab.is-active, .theme-complete-collection .buy__tab[aria-selected=true] {
  color: #262626;
}

.theme-swift-essentials .buy__tab.is-active, .theme-swift-essentials .buy__tab[aria-selected=true] {
  color: #262626;
}

.theme-everything-swift .buy__tab.is-active, .theme-everything-swift .buy__tab[aria-selected=true] {
  color: #262626;
}

.theme-app-development .buy__tab.is-active, .theme-app-development .buy__tab[aria-selected=true] {
  color: #262626;
}

.buy__product + .buy__product {
  border-top: solid 1px #d9d9d9;
}
.buy__product > * {
  padding: 0.75em 0;
}

.buy__product__header {
  margin-bottom: 0.25em;
}

.buy__product__name {
  font-weight: bold;
  color: black;
}

.buy__product__subhead {
  margin-top: 0.6em;
  font-size: 0.8333333333em;
  line-height: 1.25;
  color: #4d4d4d;
  font-weight: bold;
}

.buy__product__description {
  font-size: 0.8333333333em;
  line-height: 1.25;
  color: gray;
}

.book-card__header {
  min-height: 5.5em;
}

.bundle-card__top {
  min-height: 9.25em;
}

.bundle-card__book {
  margin-top: 3px;
  padding: 0.75em 1em;
}

.card-price {
  letter-spacing: -1px;
}

.card-price__currency {
  color: rgba(0, 0, 0, 0.5);
  padding-right: 0.1em;
}

.card-price__amount {
  color: white;
  font-weight: bold;
}

.c-contributors {
  margin-top: -1em;
  margin-bottom: -1em;
}

.c-contributor {
  padding-top: 1em;
  padding-bottom: 1em;
}

@media screen and (min-width: 700px) {
  .c-contributor:hover {
    background-color: #f7f7f7;
  }
}
.c-contributor__profile__picture {
  border-radius: 50%;
  overflow: hidden;
  width: 2.6em;
  height: 2.6em;
  margin-right: 1em;
}
.c-contributor__profile__picture img {
  width: 100%;
  height: 100%;
}

.c-contributor__profile__picture--abbr {
  background-color: #0092db;
  display: table;
}

.c-contributor__profile__picture--abbr abbr {
  display: table-cell;
  width: 100%;
  height: 100%;
  vertical-align: middle;
  text-align: center;
  color: white;
}

.c-contributor__profile__name {
  text-decoration: none;
  font-weight: bold;
  color: #4d4d4d;
  display: inline-block;
  padding-bottom: 0.15em;
}
.c-contributor__profile__name a {
  color: inherit;
  text-decoration: none;
}
.c-contributor__profile__name a:hover,
.c-contributor__profile__name a:focus {
  color: #0092db;
  outline: none;
}

.c-contributor__article + .c-contributor__article {
  margin-top: 1em;
}

.c-contributor__article__name {
  line-height: 1.1;
}

.c-contributor__article__name a {
  text-decoration: none;
  color: #0092db;
}
.c-contributor__article__name a:visited {
  color: #8647B3;
}
.c-contributor__article__name a:hover, .c-contributor__article__name a:focus {
  color: black;
}
.c-contributor__article__name a:focus {
  outline: none;
}

.c-contributor__article__issue {
  margin-top: 0.5em;
  font-size: 0.8333333333em;
}

.c-contributor__article__issue a {
  color: gray;
  text-decoration: none;
}
.c-contributor__article__issue a:hover, .c-contributor__article__issue a:focus {
  color: #262626;
  outline: none;
}

.c-feature-books {
  background: white;
}

.c-feature-books__heading {
  font-size: 2.985984em;
  font-weight: bold;
  line-height: 1.1;
  color: white;
}

.c-feature-books__prompt {
  font-size: 1.2em;
  margin-top: 0.5em;
  font-weight: bold;
  color: #003d5c;
}

.c-feature-book__link {
  text-decoration: none;
  outline: solid 6px transparent;
}

.c-feature-book__wrapper {
  position: relative;
  padding-bottom: 152.23%;
}
.c-feature-book__wrapper > * {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.c-feature-book__content {
  padding: 0.5em;
  background: white;
  overflow: hidden;
  word-wrap: break-word;
}

.c-feature-book__cover {
  z-index: 2;
}

.c-feature-book__sale {
  font-size: 0.8333333333em;
  display: table;
  z-index: 3;
  top: -1.25em;
  right: -1.25em;
  bottom: auto;
  left: auto;
  width: 4.5em;
  height: 4.5em;
  padding: 0.5em;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  border-radius: 50%;
  background: #FFA940;
  color: white;
}
.c-feature-book__sale > * {
  display: table-cell;
  width: 100%;
  height: 100%;
  line-height: 1.25;
  vertical-align: middle;
}

.c-feature-book__cover img {
  display: block;
  width: 100%;
  height: 100%;
}

.c-feature-book__link:hover,
.c-feature-book__link:focus {
  outline: solid 6px #FFA940;
  color: #FFA940;
  border: solid 0px #FFA940;
}

.c-feature-book__title {
  font-size: 1.2em;
  min-height: 2.2em;
  margin-bottom: 1em;
  font-weight: bold;
  line-height: 1.1;
  color: #0092db;
}

.c-feature-book__authors {
  margin-bottom: 1em;
  line-height: 1.2;
  color: #262626;
}

.c-feature-book__note {
  color: gray;
}

.c-feature-book__button {
  margin-top: 1em;
  border-radius: 6px;
  background: white;
  padding: 3px;
}

.feature-newsletter {
  position: relative;
  max-width: 20em;
}

.feature-newsletter__input,
.feature-newsletter__button {
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  font-size: 1.44em;
  padding: 0.25em 0;
  vertical-align: middle;
}

.feature-newsletter__input {
  appearance: none;
  display: block;
  width: 100%;
  padding-right: 2em;
  border-bottom: solid 2px #0092db;
  color: #4d4d4d;
  border-radius: 0;
}
.feature-newsletter__input::placeholder {
  color: #bfbfbf;
}
.feature-newsletter__input:focus {
  outline: none;
  border-bottom-color: black;
}
.feature-newsletter__input.is-invalid {
  animation-fill-mode: both;
  animation-duration: 1s;
  animation-name: shake;
}

.feature-newsletter__button {
  position: absolute;
  bottom: 0;
  right: 0;
  cursor: pointer;
  font-weight: bold;
  color: #FFA940;
}
.feature-newsletter__button:hover, .feature-newsletter__button:focus {
  color: black;
  outline: none;
}

.c-issue-unit:target {
  animation-name: flash;
  animation-duration: 800ms;
  animation-fill-mode: both;
}

.c-issue-unit__cover a:hover,
.c-issue-unit__cover a:focus {
  outline: none;
}
.c-issue-unit__cover a:hover > *,
.c-issue-unit__cover a:focus > * {
  opacity: 0.85;
}

.c-issue-unit__header {
  margin-top: 0.85em;
}

.c-issue-unit__header__button {
  appearance: none;
  display: none;
  text-decoration: none;
  border: none;
  border-radius: 0;
  padding: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font-weight: bold;
  color: #FFA940;
  line-height: 1.2;
}
.c-issue-unit__header__button:hover, .c-issue-unit__header__button:focus {
  outline: none;
  color: black;
}
.c-issue-unit__header__button.is-toggled {
  transform: rotate(180deg);
}

.c-issue-unit__header__name {
  font-size: 1.2em;
  color: inherit;
  font-weight: bold;
  line-height: 1.1;
}

.c-issue-unit__header__name a {
  text-decoration: none;
  color: #0092db;
}
.c-issue-unit__header__name a:hover, .c-issue-unit__header__name a:focus {
  outline: none;
  color: black;
}

.c-issue-unit__header__meta {
  margin-top: 0.5em;
  color: #b3b3b3;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  word-spacing: 0.2em;
  font-weight: bold;
  font-weight: normal;
}

.c-issue-unit__toc {
  font-size: 0.8333333333em;
  margin-top: 0.6em;
}

.c-issue-unit__toc__item__author {
  font-size: 0.95em;
  margin-top: 0.15em;
  display: none;
}

.c-issue-unit__toc__item__link {
  display: block;
  padding-top: 0.45em;
  padding-bottom: 0.45em;
  text-decoration: none;
  color: #333333;
  line-height: 1.25;
  outline: none;
}
.c-issue-unit__toc__item__link .c-issue-unit__toc__item__name {
  color: #4d4d4d;
}
.c-issue-unit__toc__item__link .c-issue-unit__toc__item__author {
  color: #999999;
}
.c-issue-unit__toc__item__link:hover .c-issue-unit__toc__item__name, .c-issue-unit__toc__item__link:focus .c-issue-unit__toc__item__name {
  color: #0092db;
}
.c-issue-unit__toc__item__link:visited:hover .c-issue-unit__toc__item__name, .c-issue-unit__toc__item__link:visited:focus .c-issue-unit__toc__item__name {
  color: #8647B3;
}

[data-view-option=covers-only] .c-issue-unit .c-issue-unit__header__button {
  display: block;
}
[data-view-option=covers-only] .c-issue-unit .c-issue-unit__toc {
  display: none;
}
[data-view-option=covers-only] .c-issue-unit .c-issue-unit__toc__item__author {
  display: block;
}

[data-view-option=covers-articles] .c-issue-unit .c-issue-unit__header__button {
  display: none;
}
[data-view-option=covers-articles] .c-issue-unit .c-issue-unit__toc {
  display: block !important;
}

[data-view-option=covers-articles-authors] .c-issue-unit .c-issue-unit__toc {
  display: block !important;
}
[data-view-option=covers-articles-authors] .c-issue-unit .c-issue-unit__toc__item__author {
  display: block;
}

@media screen and (max-width: 399px) {
  .c-issue-unit .c-issue-unit__toc {
    display: none !important;
  }
}
.c-issue {
  overflow-x: hidden;
}

.c-issue__sidebar {
  background: white;
  padding: 0.5em;
}

.c-issue__cover {
  margin-bottom: 1.5em;
}

.c-issue__credits {
  font-size: 0.8333333333em;
}

.c-issue__credits__role {
  color: #b3b3b3;
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  word-spacing: 0.2em;
  font-weight: bold;
  margin-bottom: 0.5em;
}
* + .c-issue__credits__role {
  margin-top: 2em;
}

.c-issue__credits__name {
  color: gray;
}
.c-issue__credits__name a {
  color: inherit;
  text-decoration: none;
}
.c-issue__credits__name a:hover, .c-issue__credits__name a:focus {
  color: #0092db;
  outline: none;
}

.c-issue__header {
  position: relative;
}

.c-issue__header__background {
  position: absolute;
  top: 0;
  left: -9999em;
  right: -9999em;
  bottom: 0;
  z-index: -1;
}

.c-issue__header__number {
  font-size: 1em;
  color: #FFA940;
  font-weight: bold;
}
@media screen and (min-width: 550px) {
  .c-issue__header__number {
    font-size: 1.2em;
  }
}

.c-issue__header__name {
  word-wrap: break-word;
  font-size: 1.728em;
  margin-bottom: 15%;
  margin-top: 0.25em;
  font-weight: bold;
  color: white;
}
@media screen and (min-width: 700px) {
  .c-issue__header__name {
    font-size: 2.0736em;
  }
}
@media screen and (min-width: 900px) {
  .c-issue__header__name {
    font-size: 2.985984em;
  }
}

.c-issue__header__date {
  font-size: 1.2em;
  color: #004e75;
}

.c-issue__article {
  padding-top: 1em;
  padding-bottom: 1em;
}
.c-issue__article:first-child {
  margin-top: -1em;
}
.c-issue__article:last-child {
  margin-bottom: -1em;
}

.c-issue__article a {
  text-decoration: none;
}

.c-issue__article__name {
  line-height: 1.2;
  font-size: 1.2em;
  font-weight: bold;
  color: #0092db;
  text-decoration: none;
  max-width: 26em;
}

.c-issue__article__author {
  margin-top: 0.15em;
  line-height: 1.2;
  color: #737373;
}

.c-issue__article__author-prefix {
  opacity: 0.5;
}

.c-issue__article a:visited .c-issue__article__name {
  color: #8647B3;
}

.c-issue__article a:hover,
.c-issue__article a:focus {
  outline: none;
}
.c-issue__article a:hover .c-issue__article__name,
.c-issue__article a:focus .c-issue__article__name {
  color: black;
}
.c-issue__article a:hover .c-issue__article__author,
.c-issue__article a:focus .c-issue__article__author {
  color: #4d4d4d;
}

.c-post-article__header {
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  word-spacing: 0.2em;
  font-weight: bold;
  color: #FFA940;
  margin-bottom: 2.0736em;
}

.c-post-article__header--secondary {
  color: gray;
}

.c-post-article__issue__header {
  display: inline-block;
  margin-bottom: 2.0736em;
  text-decoration: none;
}

.c-post-article__issue__header__name {
  font-size: 1.44em;
  color: black;
  font-weight: bold;
  text-decoration: none;
  line-height: 1.1;
  display: inline-block;
}
@media screen and (min-width: s) {
  .c-post-article__issue__header__name {
    font-size: 1.728em;
  }
}

.c-post-article__issue__header__date {
  color: gray;
  text-decoration: none;
  margin-top: 0.25em;
}

.c-post-article__issue__header:hover,
.c-post-article__issue__header:focus {
  outline: none;
}
.c-post-article__issue__header:hover .c-post-article__issue__header__name,
.c-post-article__issue__header:focus .c-post-article__issue__header__name {
  text-decoration: underline;
}

.c-post-article__issue__articles {
  font-size: 1em;
}

.c-post-article__issue__article {
  line-height: 1.25;
}

.c-post-article__issue__article.current .c-post-article__issue__article__name:before {
  content: "→ ";
  font-weight: bold;
  color: #FFA940;
}

.c-post-article__issue__article + .c-post-article__issue__article {
  margin-top: 1.2em;
}

.c-post-article__issue__article a {
  text-decoration: none;
  display: block;
}

.c-post-article__issue__article__name {
  color: #0092db;
}
.c-post-article__issue__article a:visited .c-post-article__issue__article__name {
  color: #8647B3;
}

.c-post-article__issue__article__author {
  color: gray;
  margin-top: 0.1em;
  font-size: 0.8333333333em;
  white-space: nowrap;
}

.c-post-article__issue__article__author-prefix {
  opacity: 0.5;
}

.c-post-article__issue__article a:hover,
.c-post-article__issue__article a:focus {
  outline: none;
}
.c-post-article__issue__article a:hover .c-post-article__issue__article__name,
.c-post-article__issue__article a:focus .c-post-article__issue__article__name {
  color: black;
}
.c-post-article__issue__article a:hover .c-post-article__issue__article__author,
.c-post-article__issue__article a:focus .c-post-article__issue__article__author {
  color: #4d4d4d;
}

.c-post-article__issue__link {
  display: inline-block;
  color: #0092db;
  font-weight: bold;
  margin-top: 1.44em;
  text-decoration: none;
}
.c-post-article__issue__link:after {
  content: " →";
}
.c-post-article__issue__link:hover, .c-post-article__issue__link:focus {
  border-bottom: solid 2px;
  outline: none;
}

.c-post-article__archive__year__name {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 1.44em;
  color: black;
}

.c-post-article__archive__year__issues {
  font-size: 0.8333333333em;
}

.c-post-article__archive__year__issue a {
  text-decoration: none;
  display: block;
  padding-top: 0.6em;
  padding-bottom: 0.6em;
  overflow: hidden;
  line-height: 1.2;
}

.c-post-article__archive__year__issue__number {
  min-width: 2.5em;
  color: gray;
  display: block;
  float: left;
}
.c-post-article__archive__year__issue__number + * {
  display: block;
  overflow: hidden;
}

.c-post-article__archive__year__issue__number__symbol {
  opacity: 0.5;
}

.c-post-article__archive__year__issue__name {
  color: #0092db;
  line-height: 1.2;
}

.c-post-article__archive__year__issue a:hover,
.c-post-article__archive__year__issue a:focus {
  outline: none;
}
.c-post-article__archive__year__issue a:hover .c-post-article__archive__year__issue__name,
.c-post-article__archive__year__issue a:focus .c-post-article__archive__year__issue__name {
  color: black;
}

.c-post-issue {
  background: #f7f7f7;
}

.c-post-issue__header {
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  word-spacing: 0.2em;
  font-weight: bold;
  margin-bottom: 1.44em;
  color: #FFA940;
}

.c-post-issue__archive__heading {
  font-size: 1.44em;
  font-weight: bold;
  margin-bottom: 1em;
}
@media screen and (min-width: s) {
  .c-post-issue__archive__heading {
    font-size: 1.728em;
  }
}

.c-post-issue__archive__issue > a {
  display: block;
  text-decoration: none;
  line-height: 1.25;
}
.c-post-issue__archive__issue > a > * {
  padding-top: 0.4em;
  padding-bottom: 0.4em;
}

.c-post-issue__archive__issue__name {
  color: #0092db;
}

.c-post-issue__archive__issue > a:hover,
.c-post-issue__archive__issue > a:focus {
  outline: none;
}
.c-post-issue__archive__issue > a:hover .c-post-issue__archive__issue__name,
.c-post-issue__archive__issue > a:focus .c-post-issue__archive__issue__name {
  color: #FFA940;
}

.c-post-issue__archive__issue__number {
  width: 2.75em;
  color: #666666;
}

.c-post-issue__archive__issue__number__symbol {
  opacity: 0.5;
}

.c-post-issue__archive__issue__date {
  text-align: right;
  color: #999999;
}

.c-store-modal {
  max-width: 20em;
  margin-left: auto;
  margin-right: auto;
}

.c-store-modal__prompt {
  font-size: 1.2em;
  margin-bottom: 0.75em;
  font-weight: bold;
}
.c-store-modal__prompt:before {
  content: "↓";
  font-weight: bold;
  color: #FFA940;
  float: right;
  margin-left: 1em;
  display: inline-block;
  vertical-align: middle;
}

.c-store-modal__country {
  border-bottom: solid 1px #e6e6e6;
}
.c-store-modal__country:first-child {
  border-top: solid 1px #e6e6e6;
}

.c-store-modal__country__link {
  text-decoration: none;
  display: block;
  padding-top: 0.75em;
  padding-bottom: 0.75em;
}

.c-store-modal__country__flag {
  margin-right: 1em;
  display: block;
  width: 3em;
  height: auto;
}

.c-store-modal__country__name {
  font-weight: bold;
  color: #0092db;
}

.c-store-modal__country__domain {
  font-size: 0.8333333333em;
  margin-top: 0.25em;
  color: #666666;
}

.c-store-modal__country__link:hover,
.c-store-modal__country__link:focus {
  outline: none;
}
.c-store-modal__country__link:hover .c-store-modal__country__flag,
.c-store-modal__country__link:focus .c-store-modal__country__flag {
  opacity: 0.9;
}
.c-store-modal__country__link:hover .c-store-modal__country__name,
.c-store-modal__country__link:focus .c-store-modal__country__name {
  color: #FFA940;
}
.c-store-modal__country__link:hover .c-store-modal__country__domain,
.c-store-modal__country__link:focus .c-store-modal__country__domain {
  color: #262626;
}

.block {
  display: block;
}

.inline {
  display: inline;
}

.inline-block {
  display: inline-block;
}

.hide {
  display: none;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.static {
  position: static;
}

.sticky {
  position: sticky;
}

.position-n {
  top: 0;
}

.position-ne {
  top: 0;
  right: 0;
}

.position-e {
  right: 0;
}

.position-se {
  bottom: 0;
  right: 0;
}

.position-s {
  bottom: 0;
}

.position-sw {
  bottom: 0;
  left: 0;
}

.position-w {
  left: 0;
}

.position-nw {
  top: 0;
  left: 0;
}

@media screen and (min-width: 400px) {
  .xs\+\|block {
    display: block;
  }

  .xs\+\|inline {
    display: inline;
  }

  .xs\+\|inline-block {
    display: inline-block;
  }

  .xs\+\|hide {
    display: none;
  }

  .xs\+\|flex {
    display: flex;
  }

  .xs\+\|inline-flex {
    display: inline-flex;
  }

  .xs\+\|absolute {
    position: absolute;
  }

  .xs\+\|relative {
    position: relative;
  }

  .xs\+\|static {
    position: static;
  }

  .xs\+\|sticky {
    position: sticky;
  }

  .xs\+\|position-n {
    top: 0;
  }

  .xs\+\|position-ne {
    top: 0;
    right: 0;
  }

  .xs\+\|position-e {
    right: 0;
  }

  .xs\+\|position-se {
    bottom: 0;
    right: 0;
  }

  .xs\+\|position-s {
    bottom: 0;
  }

  .xs\+\|position-sw {
    bottom: 0;
    left: 0;
  }

  .xs\+\|position-w {
    left: 0;
  }

  .xs\+\|position-nw {
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 550px) {
  .s\+\|block {
    display: block;
  }

  .s\+\|inline {
    display: inline;
  }

  .s\+\|inline-block {
    display: inline-block;
  }

  .s\+\|hide {
    display: none;
  }

  .s\+\|flex {
    display: flex;
  }

  .s\+\|inline-flex {
    display: inline-flex;
  }

  .s\+\|absolute {
    position: absolute;
  }

  .s\+\|relative {
    position: relative;
  }

  .s\+\|static {
    position: static;
  }

  .s\+\|sticky {
    position: sticky;
  }

  .s\+\|position-n {
    top: 0;
  }

  .s\+\|position-ne {
    top: 0;
    right: 0;
  }

  .s\+\|position-e {
    right: 0;
  }

  .s\+\|position-se {
    bottom: 0;
    right: 0;
  }

  .s\+\|position-s {
    bottom: 0;
  }

  .s\+\|position-sw {
    bottom: 0;
    left: 0;
  }

  .s\+\|position-w {
    left: 0;
  }

  .s\+\|position-nw {
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 700px) {
  .m\+\|block {
    display: block;
  }

  .m\+\|inline {
    display: inline;
  }

  .m\+\|inline-block {
    display: inline-block;
  }

  .m\+\|hide {
    display: none;
  }

  .m\+\|flex {
    display: flex;
  }

  .m\+\|inline-flex {
    display: inline-flex;
  }

  .m\+\|absolute {
    position: absolute;
  }

  .m\+\|relative {
    position: relative;
  }

  .m\+\|static {
    position: static;
  }

  .m\+\|sticky {
    position: sticky;
  }

  .m\+\|position-n {
    top: 0;
  }

  .m\+\|position-ne {
    top: 0;
    right: 0;
  }

  .m\+\|position-e {
    right: 0;
  }

  .m\+\|position-se {
    bottom: 0;
    right: 0;
  }

  .m\+\|position-s {
    bottom: 0;
  }

  .m\+\|position-sw {
    bottom: 0;
    left: 0;
  }

  .m\+\|position-w {
    left: 0;
  }

  .m\+\|position-nw {
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 900px) {
  .l\+\|block {
    display: block;
  }

  .l\+\|inline {
    display: inline;
  }

  .l\+\|inline-block {
    display: inline-block;
  }

  .l\+\|hide {
    display: none;
  }

  .l\+\|flex {
    display: flex;
  }

  .l\+\|inline-flex {
    display: inline-flex;
  }

  .l\+\|absolute {
    position: absolute;
  }

  .l\+\|relative {
    position: relative;
  }

  .l\+\|static {
    position: static;
  }

  .l\+\|sticky {
    position: sticky;
  }

  .l\+\|position-n {
    top: 0;
  }

  .l\+\|position-ne {
    top: 0;
    right: 0;
  }

  .l\+\|position-e {
    right: 0;
  }

  .l\+\|position-se {
    bottom: 0;
    right: 0;
  }

  .l\+\|position-s {
    bottom: 0;
  }

  .l\+\|position-sw {
    bottom: 0;
    left: 0;
  }

  .l\+\|position-w {
    left: 0;
  }

  .l\+\|position-nw {
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 1100px) {
  .xl\+\|block {
    display: block;
  }

  .xl\+\|inline {
    display: inline;
  }

  .xl\+\|inline-block {
    display: inline-block;
  }

  .xl\+\|hide {
    display: none;
  }

  .xl\+\|flex {
    display: flex;
  }

  .xl\+\|inline-flex {
    display: inline-flex;
  }

  .xl\+\|absolute {
    position: absolute;
  }

  .xl\+\|relative {
    position: relative;
  }

  .xl\+\|static {
    position: static;
  }

  .xl\+\|sticky {
    position: sticky;
  }

  .xl\+\|position-n {
    top: 0;
  }

  .xl\+\|position-ne {
    top: 0;
    right: 0;
  }

  .xl\+\|position-e {
    right: 0;
  }

  .xl\+\|position-se {
    bottom: 0;
    right: 0;
  }

  .xl\+\|position-s {
    bottom: 0;
  }

  .xl\+\|position-sw {
    bottom: 0;
    left: 0;
  }

  .xl\+\|position-w {
    left: 0;
  }

  .xl\+\|position-nw {
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 1099px) {
  .xl-\|block {
    display: block;
  }

  .xl-\|inline {
    display: inline;
  }

  .xl-\|inline-block {
    display: inline-block;
  }

  .xl-\|hide {
    display: none;
  }

  .xl-\|flex {
    display: flex;
  }

  .xl-\|inline-flex {
    display: inline-flex;
  }

  .xl-\|absolute {
    position: absolute;
  }

  .xl-\|relative {
    position: relative;
  }

  .xl-\|static {
    position: static;
  }

  .xl-\|sticky {
    position: sticky;
  }

  .xl-\|position-n {
    top: 0;
  }

  .xl-\|position-ne {
    top: 0;
    right: 0;
  }

  .xl-\|position-e {
    right: 0;
  }

  .xl-\|position-se {
    bottom: 0;
    right: 0;
  }

  .xl-\|position-s {
    bottom: 0;
  }

  .xl-\|position-sw {
    bottom: 0;
    left: 0;
  }

  .xl-\|position-w {
    left: 0;
  }

  .xl-\|position-nw {
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 899px) {
  .l-\|block {
    display: block;
  }

  .l-\|inline {
    display: inline;
  }

  .l-\|inline-block {
    display: inline-block;
  }

  .l-\|hide {
    display: none;
  }

  .l-\|flex {
    display: flex;
  }

  .l-\|inline-flex {
    display: inline-flex;
  }

  .l-\|absolute {
    position: absolute;
  }

  .l-\|relative {
    position: relative;
  }

  .l-\|static {
    position: static;
  }

  .l-\|sticky {
    position: sticky;
  }

  .l-\|position-n {
    top: 0;
  }

  .l-\|position-ne {
    top: 0;
    right: 0;
  }

  .l-\|position-e {
    right: 0;
  }

  .l-\|position-se {
    bottom: 0;
    right: 0;
  }

  .l-\|position-s {
    bottom: 0;
  }

  .l-\|position-sw {
    bottom: 0;
    left: 0;
  }

  .l-\|position-w {
    left: 0;
  }

  .l-\|position-nw {
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 699px) {
  .m-\|block {
    display: block;
  }

  .m-\|inline {
    display: inline;
  }

  .m-\|inline-block {
    display: inline-block;
  }

  .m-\|hide {
    display: none;
  }

  .m-\|flex {
    display: flex;
  }

  .m-\|inline-flex {
    display: inline-flex;
  }

  .m-\|absolute {
    position: absolute;
  }

  .m-\|relative {
    position: relative;
  }

  .m-\|static {
    position: static;
  }

  .m-\|sticky {
    position: sticky;
  }

  .m-\|position-n {
    top: 0;
  }

  .m-\|position-ne {
    top: 0;
    right: 0;
  }

  .m-\|position-e {
    right: 0;
  }

  .m-\|position-se {
    bottom: 0;
    right: 0;
  }

  .m-\|position-s {
    bottom: 0;
  }

  .m-\|position-sw {
    bottom: 0;
    left: 0;
  }

  .m-\|position-w {
    left: 0;
  }

  .m-\|position-nw {
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 549px) {
  .s-\|block {
    display: block;
  }

  .s-\|inline {
    display: inline;
  }

  .s-\|inline-block {
    display: inline-block;
  }

  .s-\|hide {
    display: none;
  }

  .s-\|flex {
    display: flex;
  }

  .s-\|inline-flex {
    display: inline-flex;
  }

  .s-\|absolute {
    position: absolute;
  }

  .s-\|relative {
    position: relative;
  }

  .s-\|static {
    position: static;
  }

  .s-\|sticky {
    position: sticky;
  }

  .s-\|position-n {
    top: 0;
  }

  .s-\|position-ne {
    top: 0;
    right: 0;
  }

  .s-\|position-e {
    right: 0;
  }

  .s-\|position-se {
    bottom: 0;
    right: 0;
  }

  .s-\|position-s {
    bottom: 0;
  }

  .s-\|position-sw {
    bottom: 0;
    left: 0;
  }

  .s-\|position-w {
    left: 0;
  }

  .s-\|position-nw {
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 399px) {
  .xs-\|block {
    display: block;
  }

  .xs-\|inline {
    display: inline;
  }

  .xs-\|inline-block {
    display: inline-block;
  }

  .xs-\|hide {
    display: none;
  }

  .xs-\|flex {
    display: flex;
  }

  .xs-\|inline-flex {
    display: inline-flex;
  }

  .xs-\|absolute {
    position: absolute;
  }

  .xs-\|relative {
    position: relative;
  }

  .xs-\|static {
    position: static;
  }

  .xs-\|sticky {
    position: sticky;
  }

  .xs-\|position-n {
    top: 0;
  }

  .xs-\|position-ne {
    top: 0;
    right: 0;
  }

  .xs-\|position-e {
    right: 0;
  }

  .xs-\|position-se {
    bottom: 0;
    right: 0;
  }

  .xs-\|position-s {
    bottom: 0;
  }

  .xs-\|position-sw {
    bottom: 0;
    left: 0;
  }

  .xs-\|position-w {
    left: 0;
  }

  .xs-\|position-nw {
    top: 0;
    left: 0;
  }
}
.inline-descendants * {
  display: inline;
}

.inline-children > * {
  display: inline;
}

.position-outside-n {
  bottom: 100%;
}

.position-outside-e {
  left: 100%;
}

.position-outside-s {
  top: 100%;
}

.position-outside-w {
  right: 100%;
}

.position-stretch-h {
  left: 0;
  right: 0;
}

.position-stretch-v {
  top: 0;
  bottom: 0;
}

.position-stretch {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.z-0 {
  z-index: 0;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.z-10 {
  z-index: 10;
}

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

.overflow-hidden {
  overflow: hidden;
}

.overflow-auto {
  overflow: auto;
}

.overflow-visible {
  overflow: visible;
}

.overflow-scroll {
  overflow: scroll;
}

.opacity-10 {
  opacity: 0.1;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-70 {
  opacity: 0.7;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-90 {
  opacity: 0.9;
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.outline-none {
  outline: none;
}

.reset-button {
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  cursor: pointer;
  line-height: normal;
}

.cursor-pointer {
  cursor: pointer;
}

.cursor-not-allowed {
  cursor: not-allowed;
}

.js .js-hide,
.no-js .no-js-hide {
  display: none;
}

.is-active .hide-if-active {
  display: none;
}

.is-active .show-if-active,
.is-active .block-if-active {
  display: block;
}

.is-active .inline-if-active {
  display: inline;
}

.is-active .inline-block-if-active {
  display: inline-block;
}

.hide-if-empty:empty {
  display: none;
}

.appearance-none {
  appearance: none;
}

.width-1 {
  width: 1em;
}

.width-2 {
  width: 2em;
}

.width-3 {
  width: 4em;
}

.width-4 {
  width: 8em;
}

.width-5 {
  width: 16em;
}

.width-6 {
  width: 24em;
}

.width-7 {
  width: 32em;
}

.width-8 {
  width: 40em;
}

.width-9 {
  width: 48em;
}

.width-10 {
  width: 64em;
}

.width-auto {
  width: auto;
}

.min-width-1 {
  min-width: 1em;
}

.min-width-2 {
  min-width: 2em;
}

.min-width-3 {
  min-width: 4em;
}

.min-width-4 {
  min-width: 8em;
}

.min-width-5 {
  min-width: 16em;
}

.min-width-6 {
  min-width: 24em;
}

.min-width-7 {
  min-width: 32em;
}

.min-width-8 {
  min-width: 40em;
}

.min-width-9 {
  min-width: 48em;
}

.min-width-10 {
  min-width: 64em;
}

.max-width-1 {
  max-width: 1em;
}

.max-width-2 {
  max-width: 2em;
}

.max-width-3 {
  max-width: 4em;
}

.max-width-4 {
  max-width: 8em;
}

.max-width-5 {
  max-width: 16em;
}

.max-width-6 {
  max-width: 24em;
}

.max-width-7 {
  max-width: 32em;
}

.max-width-8 {
  max-width: 40em;
}

.max-width-9 {
  max-width: 48em;
}

.max-width-10 {
  max-width: 64em;
}

.max-width-none {
  max-width: none;
}

.max-width-full {
  max-width: 100%;
}

@media screen and (min-width: 400px) {
  .xs\+\|max-width-none {
    max-width: none;
  }

  .xs\+\|max-width-full {
    max-width: 100%;
  }
}
@media screen and (min-width: 550px) {
  .s\+\|max-width-none {
    max-width: none;
  }

  .s\+\|max-width-full {
    max-width: 100%;
  }
}
@media screen and (min-width: 700px) {
  .m\+\|max-width-none {
    max-width: none;
  }

  .m\+\|max-width-full {
    max-width: 100%;
  }
}
@media screen and (min-width: 900px) {
  .l\+\|max-width-none {
    max-width: none;
  }

  .l\+\|max-width-full {
    max-width: 100%;
  }
}
@media screen and (min-width: 1100px) {
  .xl\+\|max-width-none {
    max-width: none;
  }

  .xl\+\|max-width-full {
    max-width: 100%;
  }
}
@media screen and (max-width: 1099px) {
  .xl-\|max-width-none {
    max-width: none;
  }

  .xl-\|max-width-full {
    max-width: 100%;
  }
}
@media screen and (max-width: 899px) {
  .l-\|max-width-none {
    max-width: none;
  }

  .l-\|max-width-full {
    max-width: 100%;
  }
}
@media screen and (max-width: 699px) {
  .m-\|max-width-none {
    max-width: none;
  }

  .m-\|max-width-full {
    max-width: 100%;
  }
}
@media screen and (max-width: 549px) {
  .s-\|max-width-none {
    max-width: none;
  }

  .s-\|max-width-full {
    max-width: 100%;
  }
}
@media screen and (max-width: 399px) {
  .xs-\|max-width-none {
    max-width: none;
  }

  .xs-\|max-width-full {
    max-width: 100%;
  }
}
.width-book-thumb {
  width: 6.8em;
}

.max-width-book-thumb {
  max-width: 6.8em;
}

.width-book-thumb-large {
  width: 8.5em;
}

.max-width-book-thumb-large {
  max-width: 8.5em;
}

.height-1 {
  height: 1em;
}

.height-2 {
  height: 2em;
}

.height-3 {
  height: 4em;
}

.height-4 {
  height: 8em;
}

.height-5 {
  height: 16em;
}

.height-6 {
  height: 24em;
}

.height-7 {
  height: 32em;
}

.height-8 {
  height: 40em;
}

.height-9 {
  height: 48em;
}

.height-10 {
  height: 64em;
}

.height-full {
  height: 100%;
}

.height-auto {
  height: auto;
}

.min-height-1 {
  min-height: 1em;
}

.min-height-2 {
  min-height: 2em;
}

.min-height-3 {
  min-height: 4em;
}

.min-height-4 {
  min-height: 8em;
}

.min-height-5 {
  min-height: 16em;
}

.min-height-6 {
  min-height: 24em;
}

.min-height-7 {
  min-height: 32em;
}

.min-height-8 {
  min-height: 40em;
}

.min-height-9 {
  min-height: 48em;
}

.min-height-10 {
  min-height: 64em;
}

.min-height-full {
  min-height: 100%;
}

.width-1\/2 {
  width: 50%;
}

.width-1\/3 {
  width: 33.3333333333%;
}

.width-2\/3 {
  width: 66.6666666667%;
}

.width-1\/4 {
  width: 25%;
}

.width-3\/4 {
  width: 75%;
}

.width-2\/5 {
  width: 40%;
}

.width-3\/5 {
  width: 60%;
}

.width-1\/6 {
  width: 16.6666666667%;
}

.width-3\/8 {
  width: 37.5%;
}

.width-5\/8 {
  width: 62.5%;
}

.width-3\/10 {
  width: 30%;
}

.width-7\/10 {
  width: 70%;
}

.width-5\/12 {
  width: 41.6666666667%;
}

.width-7\/12 {
  width: 58.3333333333%;
}

.width-full {
  width: 100%;
}

@media screen and (min-width: 400px) {
  .xs\+\|width-1\/2 {
    width: 50%;
  }

  .xs\+\|width-1\/3 {
    width: 33.3333333333%;
  }

  .xs\+\|width-2\/3 {
    width: 66.6666666667%;
  }

  .xs\+\|width-1\/4 {
    width: 25%;
  }

  .xs\+\|width-3\/4 {
    width: 75%;
  }

  .xs\+\|width-2\/5 {
    width: 40%;
  }

  .xs\+\|width-3\/5 {
    width: 60%;
  }

  .xs\+\|width-1\/6 {
    width: 16.6666666667%;
  }

  .xs\+\|width-3\/8 {
    width: 37.5%;
  }

  .xs\+\|width-5\/8 {
    width: 62.5%;
  }

  .xs\+\|width-3\/10 {
    width: 30%;
  }

  .xs\+\|width-7\/10 {
    width: 70%;
  }

  .xs\+\|width-5\/12 {
    width: 41.6666666667%;
  }

  .xs\+\|width-7\/12 {
    width: 58.3333333333%;
  }

  .xs\+\|width-full {
    width: 100%;
  }
}
@media screen and (min-width: 550px) {
  .s\+\|width-1\/2 {
    width: 50%;
  }

  .s\+\|width-1\/3 {
    width: 33.3333333333%;
  }

  .s\+\|width-2\/3 {
    width: 66.6666666667%;
  }

  .s\+\|width-1\/4 {
    width: 25%;
  }

  .s\+\|width-3\/4 {
    width: 75%;
  }

  .s\+\|width-2\/5 {
    width: 40%;
  }

  .s\+\|width-3\/5 {
    width: 60%;
  }

  .s\+\|width-1\/6 {
    width: 16.6666666667%;
  }

  .s\+\|width-3\/8 {
    width: 37.5%;
  }

  .s\+\|width-5\/8 {
    width: 62.5%;
  }

  .s\+\|width-3\/10 {
    width: 30%;
  }

  .s\+\|width-7\/10 {
    width: 70%;
  }

  .s\+\|width-5\/12 {
    width: 41.6666666667%;
  }

  .s\+\|width-7\/12 {
    width: 58.3333333333%;
  }

  .s\+\|width-full {
    width: 100%;
  }
}
@media screen and (min-width: 700px) {
  .m\+\|width-1\/2 {
    width: 50%;
  }

  .m\+\|width-1\/3 {
    width: 33.3333333333%;
  }

  .m\+\|width-2\/3 {
    width: 66.6666666667%;
  }

  .m\+\|width-1\/4 {
    width: 25%;
  }

  .m\+\|width-3\/4 {
    width: 75%;
  }

  .m\+\|width-2\/5 {
    width: 40%;
  }

  .m\+\|width-3\/5 {
    width: 60%;
  }

  .m\+\|width-1\/6 {
    width: 16.6666666667%;
  }

  .m\+\|width-3\/8 {
    width: 37.5%;
  }

  .m\+\|width-5\/8 {
    width: 62.5%;
  }

  .m\+\|width-3\/10 {
    width: 30%;
  }

  .m\+\|width-7\/10 {
    width: 70%;
  }

  .m\+\|width-5\/12 {
    width: 41.6666666667%;
  }

  .m\+\|width-7\/12 {
    width: 58.3333333333%;
  }

  .m\+\|width-full {
    width: 100%;
  }
}
@media screen and (min-width: 900px) {
  .l\+\|width-1\/2 {
    width: 50%;
  }

  .l\+\|width-1\/3 {
    width: 33.3333333333%;
  }

  .l\+\|width-2\/3 {
    width: 66.6666666667%;
  }

  .l\+\|width-1\/4 {
    width: 25%;
  }

  .l\+\|width-3\/4 {
    width: 75%;
  }

  .l\+\|width-2\/5 {
    width: 40%;
  }

  .l\+\|width-3\/5 {
    width: 60%;
  }

  .l\+\|width-1\/6 {
    width: 16.6666666667%;
  }

  .l\+\|width-3\/8 {
    width: 37.5%;
  }

  .l\+\|width-5\/8 {
    width: 62.5%;
  }

  .l\+\|width-3\/10 {
    width: 30%;
  }

  .l\+\|width-7\/10 {
    width: 70%;
  }

  .l\+\|width-5\/12 {
    width: 41.6666666667%;
  }

  .l\+\|width-7\/12 {
    width: 58.3333333333%;
  }

  .l\+\|width-full {
    width: 100%;
  }
}
@media screen and (min-width: 1100px) {
  .xl\+\|width-1\/2 {
    width: 50%;
  }

  .xl\+\|width-1\/3 {
    width: 33.3333333333%;
  }

  .xl\+\|width-2\/3 {
    width: 66.6666666667%;
  }

  .xl\+\|width-1\/4 {
    width: 25%;
  }

  .xl\+\|width-3\/4 {
    width: 75%;
  }

  .xl\+\|width-2\/5 {
    width: 40%;
  }

  .xl\+\|width-3\/5 {
    width: 60%;
  }

  .xl\+\|width-1\/6 {
    width: 16.6666666667%;
  }

  .xl\+\|width-3\/8 {
    width: 37.5%;
  }

  .xl\+\|width-5\/8 {
    width: 62.5%;
  }

  .xl\+\|width-3\/10 {
    width: 30%;
  }

  .xl\+\|width-7\/10 {
    width: 70%;
  }

  .xl\+\|width-5\/12 {
    width: 41.6666666667%;
  }

  .xl\+\|width-7\/12 {
    width: 58.3333333333%;
  }

  .xl\+\|width-full {
    width: 100%;
  }
}
.ma {
  margin: 1em;
}

.ma- {
  margin: 0.5em;
}

.ma-- {
  margin: 0.25em;
}

.ma--- {
  margin: 0.15em;
}

.ma\+ {
  margin: 1.5em;
}

.ma\+\+ {
  margin: 2em;
}

.ma\+\+\+ {
  margin: 4em;
}

.ma0 {
  margin: 0;
}

.mt {
  margin-top: 1em;
}

.mt- {
  margin-top: 0.5em;
}

.mt-- {
  margin-top: 0.25em;
}

.mt--- {
  margin-top: 0.15em;
}

.mt\+ {
  margin-top: 1.5em;
}

.mt\+\+ {
  margin-top: 2em;
}

.mt\+\+\+ {
  margin-top: 4em;
}

.mt0 {
  margin-top: 0;
}

.mr {
  margin-right: 1em;
}

.mr- {
  margin-right: 0.5em;
}

.mr-- {
  margin-right: 0.25em;
}

.mr--- {
  margin-right: 0.15em;
}

.mr\+ {
  margin-right: 1.5em;
}

.mr\+\+ {
  margin-right: 2em;
}

.mr\+\+\+ {
  margin-right: 4em;
}

.mr0 {
  margin-right: 0;
}

.mb {
  margin-bottom: 1em;
}

.mb- {
  margin-bottom: 0.5em;
}

.mb-- {
  margin-bottom: 0.25em;
}

.mb--- {
  margin-bottom: 0.15em;
}

.mb\+ {
  margin-bottom: 1.5em;
}

.mb\+\+ {
  margin-bottom: 2em;
}

.mb\+\+\+ {
  margin-bottom: 4em;
}

.mb0 {
  margin-bottom: 0;
}

.ml {
  margin-left: 1em;
}

.ml- {
  margin-left: 0.5em;
}

.ml-- {
  margin-left: 0.25em;
}

.ml--- {
  margin-left: 0.15em;
}

.ml\+ {
  margin-left: 1.5em;
}

.ml\+\+ {
  margin-left: 2em;
}

.ml\+\+\+ {
  margin-left: 4em;
}

.ml0 {
  margin-left: 0;
}

@media screen and (min-width: 400px) {
  .xs\+\|ma {
    margin: 1em;
  }

  .xs\+\|ma- {
    margin: 0.5em;
  }

  .xs\+\|ma-- {
    margin: 0.25em;
  }

  .xs\+\|ma--- {
    margin: 0.15em;
  }

  .xs\+\|ma\+ {
    margin: 1.5em;
  }

  .xs\+\|ma\+\+ {
    margin: 2em;
  }

  .xs\+\|ma\+\+\+ {
    margin: 4em;
  }

  .xs\+\|ma0 {
    margin: 0;
  }

  .xs\+\|mt {
    margin-top: 1em;
  }

  .xs\+\|mt- {
    margin-top: 0.5em;
  }

  .xs\+\|mt-- {
    margin-top: 0.25em;
  }

  .xs\+\|mt--- {
    margin-top: 0.15em;
  }

  .xs\+\|mt\+ {
    margin-top: 1.5em;
  }

  .xs\+\|mt\+\+ {
    margin-top: 2em;
  }

  .xs\+\|mt\+\+\+ {
    margin-top: 4em;
  }

  .xs\+\|mt0 {
    margin-top: 0;
  }

  .xs\+\|mr {
    margin-right: 1em;
  }

  .xs\+\|mr- {
    margin-right: 0.5em;
  }

  .xs\+\|mr-- {
    margin-right: 0.25em;
  }

  .xs\+\|mr--- {
    margin-right: 0.15em;
  }

  .xs\+\|mr\+ {
    margin-right: 1.5em;
  }

  .xs\+\|mr\+\+ {
    margin-right: 2em;
  }

  .xs\+\|mr\+\+\+ {
    margin-right: 4em;
  }

  .xs\+\|mr0 {
    margin-right: 0;
  }

  .xs\+\|mb {
    margin-bottom: 1em;
  }

  .xs\+\|mb- {
    margin-bottom: 0.5em;
  }

  .xs\+\|mb-- {
    margin-bottom: 0.25em;
  }

  .xs\+\|mb--- {
    margin-bottom: 0.15em;
  }

  .xs\+\|mb\+ {
    margin-bottom: 1.5em;
  }

  .xs\+\|mb\+\+ {
    margin-bottom: 2em;
  }

  .xs\+\|mb\+\+\+ {
    margin-bottom: 4em;
  }

  .xs\+\|mb0 {
    margin-bottom: 0;
  }

  .xs\+\|ml {
    margin-left: 1em;
  }

  .xs\+\|ml- {
    margin-left: 0.5em;
  }

  .xs\+\|ml-- {
    margin-left: 0.25em;
  }

  .xs\+\|ml--- {
    margin-left: 0.15em;
  }

  .xs\+\|ml\+ {
    margin-left: 1.5em;
  }

  .xs\+\|ml\+\+ {
    margin-left: 2em;
  }

  .xs\+\|ml\+\+\+ {
    margin-left: 4em;
  }

  .xs\+\|ml0 {
    margin-left: 0;
  }
}
@media screen and (min-width: 550px) {
  .s\+\|ma {
    margin: 1em;
  }

  .s\+\|ma- {
    margin: 0.5em;
  }

  .s\+\|ma-- {
    margin: 0.25em;
  }

  .s\+\|ma--- {
    margin: 0.15em;
  }

  .s\+\|ma\+ {
    margin: 1.5em;
  }

  .s\+\|ma\+\+ {
    margin: 2em;
  }

  .s\+\|ma\+\+\+ {
    margin: 4em;
  }

  .s\+\|ma0 {
    margin: 0;
  }

  .s\+\|mt {
    margin-top: 1em;
  }

  .s\+\|mt- {
    margin-top: 0.5em;
  }

  .s\+\|mt-- {
    margin-top: 0.25em;
  }

  .s\+\|mt--- {
    margin-top: 0.15em;
  }

  .s\+\|mt\+ {
    margin-top: 1.5em;
  }

  .s\+\|mt\+\+ {
    margin-top: 2em;
  }

  .s\+\|mt\+\+\+ {
    margin-top: 4em;
  }

  .s\+\|mt0 {
    margin-top: 0;
  }

  .s\+\|mr {
    margin-right: 1em;
  }

  .s\+\|mr- {
    margin-right: 0.5em;
  }

  .s\+\|mr-- {
    margin-right: 0.25em;
  }

  .s\+\|mr--- {
    margin-right: 0.15em;
  }

  .s\+\|mr\+ {
    margin-right: 1.5em;
  }

  .s\+\|mr\+\+ {
    margin-right: 2em;
  }

  .s\+\|mr\+\+\+ {
    margin-right: 4em;
  }

  .s\+\|mr0 {
    margin-right: 0;
  }

  .s\+\|mb {
    margin-bottom: 1em;
  }

  .s\+\|mb- {
    margin-bottom: 0.5em;
  }

  .s\+\|mb-- {
    margin-bottom: 0.25em;
  }

  .s\+\|mb--- {
    margin-bottom: 0.15em;
  }

  .s\+\|mb\+ {
    margin-bottom: 1.5em;
  }

  .s\+\|mb\+\+ {
    margin-bottom: 2em;
  }

  .s\+\|mb\+\+\+ {
    margin-bottom: 4em;
  }

  .s\+\|mb0 {
    margin-bottom: 0;
  }

  .s\+\|ml {
    margin-left: 1em;
  }

  .s\+\|ml- {
    margin-left: 0.5em;
  }

  .s\+\|ml-- {
    margin-left: 0.25em;
  }

  .s\+\|ml--- {
    margin-left: 0.15em;
  }

  .s\+\|ml\+ {
    margin-left: 1.5em;
  }

  .s\+\|ml\+\+ {
    margin-left: 2em;
  }

  .s\+\|ml\+\+\+ {
    margin-left: 4em;
  }

  .s\+\|ml0 {
    margin-left: 0;
  }
}
@media screen and (min-width: 700px) {
  .m\+\|ma {
    margin: 1em;
  }

  .m\+\|ma- {
    margin: 0.5em;
  }

  .m\+\|ma-- {
    margin: 0.25em;
  }

  .m\+\|ma--- {
    margin: 0.15em;
  }

  .m\+\|ma\+ {
    margin: 1.5em;
  }

  .m\+\|ma\+\+ {
    margin: 2em;
  }

  .m\+\|ma\+\+\+ {
    margin: 4em;
  }

  .m\+\|ma0 {
    margin: 0;
  }

  .m\+\|mt {
    margin-top: 1em;
  }

  .m\+\|mt- {
    margin-top: 0.5em;
  }

  .m\+\|mt-- {
    margin-top: 0.25em;
  }

  .m\+\|mt--- {
    margin-top: 0.15em;
  }

  .m\+\|mt\+ {
    margin-top: 1.5em;
  }

  .m\+\|mt\+\+ {
    margin-top: 2em;
  }

  .m\+\|mt\+\+\+ {
    margin-top: 4em;
  }

  .m\+\|mt0 {
    margin-top: 0;
  }

  .m\+\|mr {
    margin-right: 1em;
  }

  .m\+\|mr- {
    margin-right: 0.5em;
  }

  .m\+\|mr-- {
    margin-right: 0.25em;
  }

  .m\+\|mr--- {
    margin-right: 0.15em;
  }

  .m\+\|mr\+ {
    margin-right: 1.5em;
  }

  .m\+\|mr\+\+ {
    margin-right: 2em;
  }

  .m\+\|mr\+\+\+ {
    margin-right: 4em;
  }

  .m\+\|mr0 {
    margin-right: 0;
  }

  .m\+\|mb {
    margin-bottom: 1em;
  }

  .m\+\|mb- {
    margin-bottom: 0.5em;
  }

  .m\+\|mb-- {
    margin-bottom: 0.25em;
  }

  .m\+\|mb--- {
    margin-bottom: 0.15em;
  }

  .m\+\|mb\+ {
    margin-bottom: 1.5em;
  }

  .m\+\|mb\+\+ {
    margin-bottom: 2em;
  }

  .m\+\|mb\+\+\+ {
    margin-bottom: 4em;
  }

  .m\+\|mb0 {
    margin-bottom: 0;
  }

  .m\+\|ml {
    margin-left: 1em;
  }

  .m\+\|ml- {
    margin-left: 0.5em;
  }

  .m\+\|ml-- {
    margin-left: 0.25em;
  }

  .m\+\|ml--- {
    margin-left: 0.15em;
  }

  .m\+\|ml\+ {
    margin-left: 1.5em;
  }

  .m\+\|ml\+\+ {
    margin-left: 2em;
  }

  .m\+\|ml\+\+\+ {
    margin-left: 4em;
  }

  .m\+\|ml0 {
    margin-left: 0;
  }
}
@media screen and (min-width: 900px) {
  .l\+\|ma {
    margin: 1em;
  }

  .l\+\|ma- {
    margin: 0.5em;
  }

  .l\+\|ma-- {
    margin: 0.25em;
  }

  .l\+\|ma--- {
    margin: 0.15em;
  }

  .l\+\|ma\+ {
    margin: 1.5em;
  }

  .l\+\|ma\+\+ {
    margin: 2em;
  }

  .l\+\|ma\+\+\+ {
    margin: 4em;
  }

  .l\+\|ma0 {
    margin: 0;
  }

  .l\+\|mt {
    margin-top: 1em;
  }

  .l\+\|mt- {
    margin-top: 0.5em;
  }

  .l\+\|mt-- {
    margin-top: 0.25em;
  }

  .l\+\|mt--- {
    margin-top: 0.15em;
  }

  .l\+\|mt\+ {
    margin-top: 1.5em;
  }

  .l\+\|mt\+\+ {
    margin-top: 2em;
  }

  .l\+\|mt\+\+\+ {
    margin-top: 4em;
  }

  .l\+\|mt0 {
    margin-top: 0;
  }

  .l\+\|mr {
    margin-right: 1em;
  }

  .l\+\|mr- {
    margin-right: 0.5em;
  }

  .l\+\|mr-- {
    margin-right: 0.25em;
  }

  .l\+\|mr--- {
    margin-right: 0.15em;
  }

  .l\+\|mr\+ {
    margin-right: 1.5em;
  }

  .l\+\|mr\+\+ {
    margin-right: 2em;
  }

  .l\+\|mr\+\+\+ {
    margin-right: 4em;
  }

  .l\+\|mr0 {
    margin-right: 0;
  }

  .l\+\|mb {
    margin-bottom: 1em;
  }

  .l\+\|mb- {
    margin-bottom: 0.5em;
  }

  .l\+\|mb-- {
    margin-bottom: 0.25em;
  }

  .l\+\|mb--- {
    margin-bottom: 0.15em;
  }

  .l\+\|mb\+ {
    margin-bottom: 1.5em;
  }

  .l\+\|mb\+\+ {
    margin-bottom: 2em;
  }

  .l\+\|mb\+\+\+ {
    margin-bottom: 4em;
  }

  .l\+\|mb0 {
    margin-bottom: 0;
  }

  .l\+\|ml {
    margin-left: 1em;
  }

  .l\+\|ml- {
    margin-left: 0.5em;
  }

  .l\+\|ml-- {
    margin-left: 0.25em;
  }

  .l\+\|ml--- {
    margin-left: 0.15em;
  }

  .l\+\|ml\+ {
    margin-left: 1.5em;
  }

  .l\+\|ml\+\+ {
    margin-left: 2em;
  }

  .l\+\|ml\+\+\+ {
    margin-left: 4em;
  }

  .l\+\|ml0 {
    margin-left: 0;
  }
}
@media screen and (min-width: 1100px) {
  .xl\+\|ma {
    margin: 1em;
  }

  .xl\+\|ma- {
    margin: 0.5em;
  }

  .xl\+\|ma-- {
    margin: 0.25em;
  }

  .xl\+\|ma--- {
    margin: 0.15em;
  }

  .xl\+\|ma\+ {
    margin: 1.5em;
  }

  .xl\+\|ma\+\+ {
    margin: 2em;
  }

  .xl\+\|ma\+\+\+ {
    margin: 4em;
  }

  .xl\+\|ma0 {
    margin: 0;
  }

  .xl\+\|mt {
    margin-top: 1em;
  }

  .xl\+\|mt- {
    margin-top: 0.5em;
  }

  .xl\+\|mt-- {
    margin-top: 0.25em;
  }

  .xl\+\|mt--- {
    margin-top: 0.15em;
  }

  .xl\+\|mt\+ {
    margin-top: 1.5em;
  }

  .xl\+\|mt\+\+ {
    margin-top: 2em;
  }

  .xl\+\|mt\+\+\+ {
    margin-top: 4em;
  }

  .xl\+\|mt0 {
    margin-top: 0;
  }

  .xl\+\|mr {
    margin-right: 1em;
  }

  .xl\+\|mr- {
    margin-right: 0.5em;
  }

  .xl\+\|mr-- {
    margin-right: 0.25em;
  }

  .xl\+\|mr--- {
    margin-right: 0.15em;
  }

  .xl\+\|mr\+ {
    margin-right: 1.5em;
  }

  .xl\+\|mr\+\+ {
    margin-right: 2em;
  }

  .xl\+\|mr\+\+\+ {
    margin-right: 4em;
  }

  .xl\+\|mr0 {
    margin-right: 0;
  }

  .xl\+\|mb {
    margin-bottom: 1em;
  }

  .xl\+\|mb- {
    margin-bottom: 0.5em;
  }

  .xl\+\|mb-- {
    margin-bottom: 0.25em;
  }

  .xl\+\|mb--- {
    margin-bottom: 0.15em;
  }

  .xl\+\|mb\+ {
    margin-bottom: 1.5em;
  }

  .xl\+\|mb\+\+ {
    margin-bottom: 2em;
  }

  .xl\+\|mb\+\+\+ {
    margin-bottom: 4em;
  }

  .xl\+\|mb0 {
    margin-bottom: 0;
  }

  .xl\+\|ml {
    margin-left: 1em;
  }

  .xl\+\|ml- {
    margin-left: 0.5em;
  }

  .xl\+\|ml-- {
    margin-left: 0.25em;
  }

  .xl\+\|ml--- {
    margin-left: 0.15em;
  }

  .xl\+\|ml\+ {
    margin-left: 1.5em;
  }

  .xl\+\|ml\+\+ {
    margin-left: 2em;
  }

  .xl\+\|ml\+\+\+ {
    margin-left: 4em;
  }

  .xl\+\|ml0 {
    margin-left: 0;
  }
}
.mh {
  margin-left: 1em;
  margin-right: 1em;
}

.mh- {
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.mh-- {
  margin-left: 0.25em;
  margin-right: 0.25em;
}

.mh--- {
  margin-left: 0.15em;
  margin-right: 0.15em;
}

.mh\+ {
  margin-left: 1.5em;
  margin-right: 1.5em;
}

.mh\+\+ {
  margin-left: 2em;
  margin-right: 2em;
}

.mh\+\+\+ {
  margin-left: 4em;
  margin-right: 4em;
}

.mh0 {
  margin-left: 0;
  margin-right: 0;
}

.mv {
  margin-top: 1em;
  margin-bottom: 1em;
}

.mv- {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.mv-- {
  margin-top: 0.25em;
  margin-bottom: 0.25em;
}

.mv--- {
  margin-top: 0.15em;
  margin-bottom: 0.15em;
}

.mv\+ {
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}

.mv\+\+ {
  margin-top: 2em;
  margin-bottom: 2em;
}

.mv\+\+\+ {
  margin-top: 4em;
  margin-bottom: 4em;
}

.mv0 {
  margin-top: 0;
  margin-bottom: 0;
}

.pa {
  padding: 1em;
}

.pa- {
  padding: 0.5em;
}

.pa-- {
  padding: 0.25em;
}

.pa--- {
  padding: 0.15em;
}

.pa\+ {
  padding: 1.5em;
}

.pa\+\+ {
  padding: 2em;
}

.pa\+\+\+ {
  padding: 4em;
}

.pa0 {
  padding: 0;
}

.pt {
  padding-top: 1em;
}

.pt- {
  padding-top: 0.5em;
}

.pt-- {
  padding-top: 0.25em;
}

.pt--- {
  padding-top: 0.15em;
}

.pt\+ {
  padding-top: 1.5em;
}

.pt\+\+ {
  padding-top: 2em;
}

.pt\+\+\+ {
  padding-top: 4em;
}

.pt0 {
  padding-top: 0;
}

.pr {
  padding-right: 1em;
}

.pr- {
  padding-right: 0.5em;
}

.pr-- {
  padding-right: 0.25em;
}

.pr--- {
  padding-right: 0.15em;
}

.pr\+ {
  padding-right: 1.5em;
}

.pr\+\+ {
  padding-right: 2em;
}

.pr\+\+\+ {
  padding-right: 4em;
}

.pr0 {
  padding-right: 0;
}

.pb {
  padding-bottom: 1em;
}

.pb- {
  padding-bottom: 0.5em;
}

.pb-- {
  padding-bottom: 0.25em;
}

.pb--- {
  padding-bottom: 0.15em;
}

.pb\+ {
  padding-bottom: 1.5em;
}

.pb\+\+ {
  padding-bottom: 2em;
}

.pb\+\+\+ {
  padding-bottom: 4em;
}

.pb0 {
  padding-bottom: 0;
}

.pl {
  padding-left: 1em;
}

.pl- {
  padding-left: 0.5em;
}

.pl-- {
  padding-left: 0.25em;
}

.pl--- {
  padding-left: 0.15em;
}

.pl\+ {
  padding-left: 1.5em;
}

.pl\+\+ {
  padding-left: 2em;
}

.pl\+\+\+ {
  padding-left: 4em;
}

.pl0 {
  padding-left: 0;
}

@media screen and (min-width: 400px) {
  .xs\+\|pa {
    padding: 1em;
  }

  .xs\+\|pa- {
    padding: 0.5em;
  }

  .xs\+\|pa-- {
    padding: 0.25em;
  }

  .xs\+\|pa--- {
    padding: 0.15em;
  }

  .xs\+\|pa\+ {
    padding: 1.5em;
  }

  .xs\+\|pa\+\+ {
    padding: 2em;
  }

  .xs\+\|pa\+\+\+ {
    padding: 4em;
  }

  .xs\+\|pa0 {
    padding: 0;
  }

  .xs\+\|pt {
    padding-top: 1em;
  }

  .xs\+\|pt- {
    padding-top: 0.5em;
  }

  .xs\+\|pt-- {
    padding-top: 0.25em;
  }

  .xs\+\|pt--- {
    padding-top: 0.15em;
  }

  .xs\+\|pt\+ {
    padding-top: 1.5em;
  }

  .xs\+\|pt\+\+ {
    padding-top: 2em;
  }

  .xs\+\|pt\+\+\+ {
    padding-top: 4em;
  }

  .xs\+\|pt0 {
    padding-top: 0;
  }

  .xs\+\|pr {
    padding-right: 1em;
  }

  .xs\+\|pr- {
    padding-right: 0.5em;
  }

  .xs\+\|pr-- {
    padding-right: 0.25em;
  }

  .xs\+\|pr--- {
    padding-right: 0.15em;
  }

  .xs\+\|pr\+ {
    padding-right: 1.5em;
  }

  .xs\+\|pr\+\+ {
    padding-right: 2em;
  }

  .xs\+\|pr\+\+\+ {
    padding-right: 4em;
  }

  .xs\+\|pr0 {
    padding-right: 0;
  }

  .xs\+\|pb {
    padding-bottom: 1em;
  }

  .xs\+\|pb- {
    padding-bottom: 0.5em;
  }

  .xs\+\|pb-- {
    padding-bottom: 0.25em;
  }

  .xs\+\|pb--- {
    padding-bottom: 0.15em;
  }

  .xs\+\|pb\+ {
    padding-bottom: 1.5em;
  }

  .xs\+\|pb\+\+ {
    padding-bottom: 2em;
  }

  .xs\+\|pb\+\+\+ {
    padding-bottom: 4em;
  }

  .xs\+\|pb0 {
    padding-bottom: 0;
  }

  .xs\+\|pl {
    padding-left: 1em;
  }

  .xs\+\|pl- {
    padding-left: 0.5em;
  }

  .xs\+\|pl-- {
    padding-left: 0.25em;
  }

  .xs\+\|pl--- {
    padding-left: 0.15em;
  }

  .xs\+\|pl\+ {
    padding-left: 1.5em;
  }

  .xs\+\|pl\+\+ {
    padding-left: 2em;
  }

  .xs\+\|pl\+\+\+ {
    padding-left: 4em;
  }

  .xs\+\|pl0 {
    padding-left: 0;
  }
}
@media screen and (min-width: 550px) {
  .s\+\|pa {
    padding: 1em;
  }

  .s\+\|pa- {
    padding: 0.5em;
  }

  .s\+\|pa-- {
    padding: 0.25em;
  }

  .s\+\|pa--- {
    padding: 0.15em;
  }

  .s\+\|pa\+ {
    padding: 1.5em;
  }

  .s\+\|pa\+\+ {
    padding: 2em;
  }

  .s\+\|pa\+\+\+ {
    padding: 4em;
  }

  .s\+\|pa0 {
    padding: 0;
  }

  .s\+\|pt {
    padding-top: 1em;
  }

  .s\+\|pt- {
    padding-top: 0.5em;
  }

  .s\+\|pt-- {
    padding-top: 0.25em;
  }

  .s\+\|pt--- {
    padding-top: 0.15em;
  }

  .s\+\|pt\+ {
    padding-top: 1.5em;
  }

  .s\+\|pt\+\+ {
    padding-top: 2em;
  }

  .s\+\|pt\+\+\+ {
    padding-top: 4em;
  }

  .s\+\|pt0 {
    padding-top: 0;
  }

  .s\+\|pr {
    padding-right: 1em;
  }

  .s\+\|pr- {
    padding-right: 0.5em;
  }

  .s\+\|pr-- {
    padding-right: 0.25em;
  }

  .s\+\|pr--- {
    padding-right: 0.15em;
  }

  .s\+\|pr\+ {
    padding-right: 1.5em;
  }

  .s\+\|pr\+\+ {
    padding-right: 2em;
  }

  .s\+\|pr\+\+\+ {
    padding-right: 4em;
  }

  .s\+\|pr0 {
    padding-right: 0;
  }

  .s\+\|pb {
    padding-bottom: 1em;
  }

  .s\+\|pb- {
    padding-bottom: 0.5em;
  }

  .s\+\|pb-- {
    padding-bottom: 0.25em;
  }

  .s\+\|pb--- {
    padding-bottom: 0.15em;
  }

  .s\+\|pb\+ {
    padding-bottom: 1.5em;
  }

  .s\+\|pb\+\+ {
    padding-bottom: 2em;
  }

  .s\+\|pb\+\+\+ {
    padding-bottom: 4em;
  }

  .s\+\|pb0 {
    padding-bottom: 0;
  }

  .s\+\|pl {
    padding-left: 1em;
  }

  .s\+\|pl- {
    padding-left: 0.5em;
  }

  .s\+\|pl-- {
    padding-left: 0.25em;
  }

  .s\+\|pl--- {
    padding-left: 0.15em;
  }

  .s\+\|pl\+ {
    padding-left: 1.5em;
  }

  .s\+\|pl\+\+ {
    padding-left: 2em;
  }

  .s\+\|pl\+\+\+ {
    padding-left: 4em;
  }

  .s\+\|pl0 {
    padding-left: 0;
  }
}
@media screen and (min-width: 700px) {
  .m\+\|pa {
    padding: 1em;
  }

  .m\+\|pa- {
    padding: 0.5em;
  }

  .m\+\|pa-- {
    padding: 0.25em;
  }

  .m\+\|pa--- {
    padding: 0.15em;
  }

  .m\+\|pa\+ {
    padding: 1.5em;
  }

  .m\+\|pa\+\+ {
    padding: 2em;
  }

  .m\+\|pa\+\+\+ {
    padding: 4em;
  }

  .m\+\|pa0 {
    padding: 0;
  }

  .m\+\|pt {
    padding-top: 1em;
  }

  .m\+\|pt- {
    padding-top: 0.5em;
  }

  .m\+\|pt-- {
    padding-top: 0.25em;
  }

  .m\+\|pt--- {
    padding-top: 0.15em;
  }

  .m\+\|pt\+ {
    padding-top: 1.5em;
  }

  .m\+\|pt\+\+ {
    padding-top: 2em;
  }

  .m\+\|pt\+\+\+ {
    padding-top: 4em;
  }

  .m\+\|pt0 {
    padding-top: 0;
  }

  .m\+\|pr {
    padding-right: 1em;
  }

  .m\+\|pr- {
    padding-right: 0.5em;
  }

  .m\+\|pr-- {
    padding-right: 0.25em;
  }

  .m\+\|pr--- {
    padding-right: 0.15em;
  }

  .m\+\|pr\+ {
    padding-right: 1.5em;
  }

  .m\+\|pr\+\+ {
    padding-right: 2em;
  }

  .m\+\|pr\+\+\+ {
    padding-right: 4em;
  }

  .m\+\|pr0 {
    padding-right: 0;
  }

  .m\+\|pb {
    padding-bottom: 1em;
  }

  .m\+\|pb- {
    padding-bottom: 0.5em;
  }

  .m\+\|pb-- {
    padding-bottom: 0.25em;
  }

  .m\+\|pb--- {
    padding-bottom: 0.15em;
  }

  .m\+\|pb\+ {
    padding-bottom: 1.5em;
  }

  .m\+\|pb\+\+ {
    padding-bottom: 2em;
  }

  .m\+\|pb\+\+\+ {
    padding-bottom: 4em;
  }

  .m\+\|pb0 {
    padding-bottom: 0;
  }

  .m\+\|pl {
    padding-left: 1em;
  }

  .m\+\|pl- {
    padding-left: 0.5em;
  }

  .m\+\|pl-- {
    padding-left: 0.25em;
  }

  .m\+\|pl--- {
    padding-left: 0.15em;
  }

  .m\+\|pl\+ {
    padding-left: 1.5em;
  }

  .m\+\|pl\+\+ {
    padding-left: 2em;
  }

  .m\+\|pl\+\+\+ {
    padding-left: 4em;
  }

  .m\+\|pl0 {
    padding-left: 0;
  }
}
@media screen and (min-width: 900px) {
  .l\+\|pa {
    padding: 1em;
  }

  .l\+\|pa- {
    padding: 0.5em;
  }

  .l\+\|pa-- {
    padding: 0.25em;
  }

  .l\+\|pa--- {
    padding: 0.15em;
  }

  .l\+\|pa\+ {
    padding: 1.5em;
  }

  .l\+\|pa\+\+ {
    padding: 2em;
  }

  .l\+\|pa\+\+\+ {
    padding: 4em;
  }

  .l\+\|pa0 {
    padding: 0;
  }

  .l\+\|pt {
    padding-top: 1em;
  }

  .l\+\|pt- {
    padding-top: 0.5em;
  }

  .l\+\|pt-- {
    padding-top: 0.25em;
  }

  .l\+\|pt--- {
    padding-top: 0.15em;
  }

  .l\+\|pt\+ {
    padding-top: 1.5em;
  }

  .l\+\|pt\+\+ {
    padding-top: 2em;
  }

  .l\+\|pt\+\+\+ {
    padding-top: 4em;
  }

  .l\+\|pt0 {
    padding-top: 0;
  }

  .l\+\|pr {
    padding-right: 1em;
  }

  .l\+\|pr- {
    padding-right: 0.5em;
  }

  .l\+\|pr-- {
    padding-right: 0.25em;
  }

  .l\+\|pr--- {
    padding-right: 0.15em;
  }

  .l\+\|pr\+ {
    padding-right: 1.5em;
  }

  .l\+\|pr\+\+ {
    padding-right: 2em;
  }

  .l\+\|pr\+\+\+ {
    padding-right: 4em;
  }

  .l\+\|pr0 {
    padding-right: 0;
  }

  .l\+\|pb {
    padding-bottom: 1em;
  }

  .l\+\|pb- {
    padding-bottom: 0.5em;
  }

  .l\+\|pb-- {
    padding-bottom: 0.25em;
  }

  .l\+\|pb--- {
    padding-bottom: 0.15em;
  }

  .l\+\|pb\+ {
    padding-bottom: 1.5em;
  }

  .l\+\|pb\+\+ {
    padding-bottom: 2em;
  }

  .l\+\|pb\+\+\+ {
    padding-bottom: 4em;
  }

  .l\+\|pb0 {
    padding-bottom: 0;
  }

  .l\+\|pl {
    padding-left: 1em;
  }

  .l\+\|pl- {
    padding-left: 0.5em;
  }

  .l\+\|pl-- {
    padding-left: 0.25em;
  }

  .l\+\|pl--- {
    padding-left: 0.15em;
  }

  .l\+\|pl\+ {
    padding-left: 1.5em;
  }

  .l\+\|pl\+\+ {
    padding-left: 2em;
  }

  .l\+\|pl\+\+\+ {
    padding-left: 4em;
  }

  .l\+\|pl0 {
    padding-left: 0;
  }
}
@media screen and (min-width: 1100px) {
  .xl\+\|pa {
    padding: 1em;
  }

  .xl\+\|pa- {
    padding: 0.5em;
  }

  .xl\+\|pa-- {
    padding: 0.25em;
  }

  .xl\+\|pa--- {
    padding: 0.15em;
  }

  .xl\+\|pa\+ {
    padding: 1.5em;
  }

  .xl\+\|pa\+\+ {
    padding: 2em;
  }

  .xl\+\|pa\+\+\+ {
    padding: 4em;
  }

  .xl\+\|pa0 {
    padding: 0;
  }

  .xl\+\|pt {
    padding-top: 1em;
  }

  .xl\+\|pt- {
    padding-top: 0.5em;
  }

  .xl\+\|pt-- {
    padding-top: 0.25em;
  }

  .xl\+\|pt--- {
    padding-top: 0.15em;
  }

  .xl\+\|pt\+ {
    padding-top: 1.5em;
  }

  .xl\+\|pt\+\+ {
    padding-top: 2em;
  }

  .xl\+\|pt\+\+\+ {
    padding-top: 4em;
  }

  .xl\+\|pt0 {
    padding-top: 0;
  }

  .xl\+\|pr {
    padding-right: 1em;
  }

  .xl\+\|pr- {
    padding-right: 0.5em;
  }

  .xl\+\|pr-- {
    padding-right: 0.25em;
  }

  .xl\+\|pr--- {
    padding-right: 0.15em;
  }

  .xl\+\|pr\+ {
    padding-right: 1.5em;
  }

  .xl\+\|pr\+\+ {
    padding-right: 2em;
  }

  .xl\+\|pr\+\+\+ {
    padding-right: 4em;
  }

  .xl\+\|pr0 {
    padding-right: 0;
  }

  .xl\+\|pb {
    padding-bottom: 1em;
  }

  .xl\+\|pb- {
    padding-bottom: 0.5em;
  }

  .xl\+\|pb-- {
    padding-bottom: 0.25em;
  }

  .xl\+\|pb--- {
    padding-bottom: 0.15em;
  }

  .xl\+\|pb\+ {
    padding-bottom: 1.5em;
  }

  .xl\+\|pb\+\+ {
    padding-bottom: 2em;
  }

  .xl\+\|pb\+\+\+ {
    padding-bottom: 4em;
  }

  .xl\+\|pb0 {
    padding-bottom: 0;
  }

  .xl\+\|pl {
    padding-left: 1em;
  }

  .xl\+\|pl- {
    padding-left: 0.5em;
  }

  .xl\+\|pl-- {
    padding-left: 0.25em;
  }

  .xl\+\|pl--- {
    padding-left: 0.15em;
  }

  .xl\+\|pl\+ {
    padding-left: 1.5em;
  }

  .xl\+\|pl\+\+ {
    padding-left: 2em;
  }

  .xl\+\|pl\+\+\+ {
    padding-left: 4em;
  }

  .xl\+\|pl0 {
    padding-left: 0;
  }
}
.ph {
  padding-left: 1em;
  padding-right: 1em;
}

.ph- {
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.ph-- {
  padding-left: 0.25em;
  padding-right: 0.25em;
}

.ph--- {
  padding-left: 0.15em;
  padding-right: 0.15em;
}

.ph\+ {
  padding-left: 1.5em;
  padding-right: 1.5em;
}

.ph\+\+ {
  padding-left: 2em;
  padding-right: 2em;
}

.ph\+\+\+ {
  padding-left: 4em;
  padding-right: 4em;
}

.ph0 {
  padding-left: 0;
  padding-right: 0;
}

.pv {
  padding-top: 1em;
  padding-bottom: 1em;
}

.pv- {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.pv-- {
  padding-top: 0.25em;
  padding-bottom: 0.25em;
}

.pv--- {
  padding-top: 0.15em;
  padding-bottom: 0.15em;
}

.pv\+ {
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}

.pv\+\+ {
  padding-top: 2em;
  padding-bottom: 2em;
}

.pv\+\+\+ {
  padding-top: 4em;
  padding-bottom: 4em;
}

.pv0 {
  padding-top: 0;
  padding-bottom: 0;
}

.n-mt {
  margin-top: -1em;
}

.n-mt\+ {
  margin-top: -1.5em;
}

.n-mt\+\+ {
  margin-top: -2em;
}

.n-mt\+\+\+ {
  margin-top: -4em;
}

.n-mr {
  margin-right: -1em;
}

.n-mr\+ {
  margin-right: -1.5em;
}

.n-mr\+\+ {
  margin-right: -2em;
}

.n-mr\+\+\+ {
  margin-right: -4em;
}

.n-mb {
  margin-bottom: -1em;
}

.n-mb\+ {
  margin-bottom: -1.5em;
}

.n-mb\+\+ {
  margin-bottom: -2em;
}

.n-mb\+\+\+ {
  margin-bottom: -4em;
}

.n-ml {
  margin-left: -1em;
}

.n-ml\+ {
  margin-left: -1.5em;
}

.n-ml\+\+ {
  margin-left: -2em;
}

.n-ml\+\+\+ {
  margin-left: -4em;
}

@media screen and (min-width: 400px) {
  .xs\+\|n-mt {
    margin-top: -1em;
  }

  .xs\+\|n-mt\+ {
    margin-top: -1.5em;
  }

  .xs\+\|n-mt\+\+ {
    margin-top: -2em;
  }

  .xs\+\|n-mt\+\+\+ {
    margin-top: -4em;
  }

  .xs\+\|n-mr {
    margin-right: -1em;
  }

  .xs\+\|n-mr\+ {
    margin-right: -1.5em;
  }

  .xs\+\|n-mr\+\+ {
    margin-right: -2em;
  }

  .xs\+\|n-mr\+\+\+ {
    margin-right: -4em;
  }

  .xs\+\|n-mb {
    margin-bottom: -1em;
  }

  .xs\+\|n-mb\+ {
    margin-bottom: -1.5em;
  }

  .xs\+\|n-mb\+\+ {
    margin-bottom: -2em;
  }

  .xs\+\|n-mb\+\+\+ {
    margin-bottom: -4em;
  }

  .xs\+\|n-ml {
    margin-left: -1em;
  }

  .xs\+\|n-ml\+ {
    margin-left: -1.5em;
  }

  .xs\+\|n-ml\+\+ {
    margin-left: -2em;
  }

  .xs\+\|n-ml\+\+\+ {
    margin-left: -4em;
  }
}
@media screen and (min-width: 550px) {
  .s\+\|n-mt {
    margin-top: -1em;
  }

  .s\+\|n-mt\+ {
    margin-top: -1.5em;
  }

  .s\+\|n-mt\+\+ {
    margin-top: -2em;
  }

  .s\+\|n-mt\+\+\+ {
    margin-top: -4em;
  }

  .s\+\|n-mr {
    margin-right: -1em;
  }

  .s\+\|n-mr\+ {
    margin-right: -1.5em;
  }

  .s\+\|n-mr\+\+ {
    margin-right: -2em;
  }

  .s\+\|n-mr\+\+\+ {
    margin-right: -4em;
  }

  .s\+\|n-mb {
    margin-bottom: -1em;
  }

  .s\+\|n-mb\+ {
    margin-bottom: -1.5em;
  }

  .s\+\|n-mb\+\+ {
    margin-bottom: -2em;
  }

  .s\+\|n-mb\+\+\+ {
    margin-bottom: -4em;
  }

  .s\+\|n-ml {
    margin-left: -1em;
  }

  .s\+\|n-ml\+ {
    margin-left: -1.5em;
  }

  .s\+\|n-ml\+\+ {
    margin-left: -2em;
  }

  .s\+\|n-ml\+\+\+ {
    margin-left: -4em;
  }
}
@media screen and (min-width: 700px) {
  .m\+\|n-mt {
    margin-top: -1em;
  }

  .m\+\|n-mt\+ {
    margin-top: -1.5em;
  }

  .m\+\|n-mt\+\+ {
    margin-top: -2em;
  }

  .m\+\|n-mt\+\+\+ {
    margin-top: -4em;
  }

  .m\+\|n-mr {
    margin-right: -1em;
  }

  .m\+\|n-mr\+ {
    margin-right: -1.5em;
  }

  .m\+\|n-mr\+\+ {
    margin-right: -2em;
  }

  .m\+\|n-mr\+\+\+ {
    margin-right: -4em;
  }

  .m\+\|n-mb {
    margin-bottom: -1em;
  }

  .m\+\|n-mb\+ {
    margin-bottom: -1.5em;
  }

  .m\+\|n-mb\+\+ {
    margin-bottom: -2em;
  }

  .m\+\|n-mb\+\+\+ {
    margin-bottom: -4em;
  }

  .m\+\|n-ml {
    margin-left: -1em;
  }

  .m\+\|n-ml\+ {
    margin-left: -1.5em;
  }

  .m\+\|n-ml\+\+ {
    margin-left: -2em;
  }

  .m\+\|n-ml\+\+\+ {
    margin-left: -4em;
  }
}
@media screen and (min-width: 900px) {
  .l\+\|n-mt {
    margin-top: -1em;
  }

  .l\+\|n-mt\+ {
    margin-top: -1.5em;
  }

  .l\+\|n-mt\+\+ {
    margin-top: -2em;
  }

  .l\+\|n-mt\+\+\+ {
    margin-top: -4em;
  }

  .l\+\|n-mr {
    margin-right: -1em;
  }

  .l\+\|n-mr\+ {
    margin-right: -1.5em;
  }

  .l\+\|n-mr\+\+ {
    margin-right: -2em;
  }

  .l\+\|n-mr\+\+\+ {
    margin-right: -4em;
  }

  .l\+\|n-mb {
    margin-bottom: -1em;
  }

  .l\+\|n-mb\+ {
    margin-bottom: -1.5em;
  }

  .l\+\|n-mb\+\+ {
    margin-bottom: -2em;
  }

  .l\+\|n-mb\+\+\+ {
    margin-bottom: -4em;
  }

  .l\+\|n-ml {
    margin-left: -1em;
  }

  .l\+\|n-ml\+ {
    margin-left: -1.5em;
  }

  .l\+\|n-ml\+\+ {
    margin-left: -2em;
  }

  .l\+\|n-ml\+\+\+ {
    margin-left: -4em;
  }
}
@media screen and (min-width: 1100px) {
  .xl\+\|n-mt {
    margin-top: -1em;
  }

  .xl\+\|n-mt\+ {
    margin-top: -1.5em;
  }

  .xl\+\|n-mt\+\+ {
    margin-top: -2em;
  }

  .xl\+\|n-mt\+\+\+ {
    margin-top: -4em;
  }

  .xl\+\|n-mr {
    margin-right: -1em;
  }

  .xl\+\|n-mr\+ {
    margin-right: -1.5em;
  }

  .xl\+\|n-mr\+\+ {
    margin-right: -2em;
  }

  .xl\+\|n-mr\+\+\+ {
    margin-right: -4em;
  }

  .xl\+\|n-mb {
    margin-bottom: -1em;
  }

  .xl\+\|n-mb\+ {
    margin-bottom: -1.5em;
  }

  .xl\+\|n-mb\+\+ {
    margin-bottom: -2em;
  }

  .xl\+\|n-mb\+\+\+ {
    margin-bottom: -4em;
  }

  .xl\+\|n-ml {
    margin-left: -1em;
  }

  .xl\+\|n-ml\+ {
    margin-left: -1.5em;
  }

  .xl\+\|n-ml\+\+ {
    margin-left: -2em;
  }

  .xl\+\|n-ml\+\+\+ {
    margin-left: -4em;
  }
}
.smallcaps {
  font-size: 0.75em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  word-spacing: 0.2em;
  font-weight: bold;
}

.smallcaps-large {
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  word-spacing: 0.2em;
  font-weight: bold;
}

.ms0 {
  font-size: 1em;
}

.ms1 {
  font-size: 1.2em;
}

.ms2 {
  font-size: 1.44em;
}

.ms3 {
  font-size: 1.728em;
}

.ms4 {
  font-size: 2.0736em;
}

.ms5 {
  font-size: 2.48832em;
}

.ms6 {
  font-size: 2.985984em;
}

.ms7 {
  font-size: 3.5831808em;
}

.ms8 {
  font-size: 4.29981696em;
}

.ms-1 {
  font-size: 0.8333333333em;
}

.ms-2 {
  font-size: 0.6944444444em;
}

@media screen and (min-width: 400px) {
  .xs\+\|ms0 {
    font-size: 1em;
  }

  .xs\+\|ms1 {
    font-size: 1.2em;
  }

  .xs\+\|ms2 {
    font-size: 1.44em;
  }

  .xs\+\|ms3 {
    font-size: 1.728em;
  }

  .xs\+\|ms4 {
    font-size: 2.0736em;
  }

  .xs\+\|ms5 {
    font-size: 2.48832em;
  }

  .xs\+\|ms6 {
    font-size: 2.985984em;
  }

  .xs\+\|ms7 {
    font-size: 3.5831808em;
  }

  .xs\+\|ms8 {
    font-size: 4.29981696em;
  }

  .xs\+\|ms-1 {
    font-size: 0.8333333333em;
  }

  .xs\+\|ms-2 {
    font-size: 0.6944444444em;
  }
}
@media screen and (min-width: 550px) {
  .s\+\|ms0 {
    font-size: 1em;
  }

  .s\+\|ms1 {
    font-size: 1.2em;
  }

  .s\+\|ms2 {
    font-size: 1.44em;
  }

  .s\+\|ms3 {
    font-size: 1.728em;
  }

  .s\+\|ms4 {
    font-size: 2.0736em;
  }

  .s\+\|ms5 {
    font-size: 2.48832em;
  }

  .s\+\|ms6 {
    font-size: 2.985984em;
  }

  .s\+\|ms7 {
    font-size: 3.5831808em;
  }

  .s\+\|ms8 {
    font-size: 4.29981696em;
  }

  .s\+\|ms-1 {
    font-size: 0.8333333333em;
  }

  .s\+\|ms-2 {
    font-size: 0.6944444444em;
  }
}
@media screen and (min-width: 700px) {
  .m\+\|ms0 {
    font-size: 1em;
  }

  .m\+\|ms1 {
    font-size: 1.2em;
  }

  .m\+\|ms2 {
    font-size: 1.44em;
  }

  .m\+\|ms3 {
    font-size: 1.728em;
  }

  .m\+\|ms4 {
    font-size: 2.0736em;
  }

  .m\+\|ms5 {
    font-size: 2.48832em;
  }

  .m\+\|ms6 {
    font-size: 2.985984em;
  }

  .m\+\|ms7 {
    font-size: 3.5831808em;
  }

  .m\+\|ms8 {
    font-size: 4.29981696em;
  }

  .m\+\|ms-1 {
    font-size: 0.8333333333em;
  }

  .m\+\|ms-2 {
    font-size: 0.6944444444em;
  }
}
@media screen and (min-width: 900px) {
  .l\+\|ms0 {
    font-size: 1em;
  }

  .l\+\|ms1 {
    font-size: 1.2em;
  }

  .l\+\|ms2 {
    font-size: 1.44em;
  }

  .l\+\|ms3 {
    font-size: 1.728em;
  }

  .l\+\|ms4 {
    font-size: 2.0736em;
  }

  .l\+\|ms5 {
    font-size: 2.48832em;
  }

  .l\+\|ms6 {
    font-size: 2.985984em;
  }

  .l\+\|ms7 {
    font-size: 3.5831808em;
  }

  .l\+\|ms8 {
    font-size: 4.29981696em;
  }

  .l\+\|ms-1 {
    font-size: 0.8333333333em;
  }

  .l\+\|ms-2 {
    font-size: 0.6944444444em;
  }
}
@media screen and (min-width: 1100px) {
  .xl\+\|ms0 {
    font-size: 1em;
  }

  .xl\+\|ms1 {
    font-size: 1.2em;
  }

  .xl\+\|ms2 {
    font-size: 1.44em;
  }

  .xl\+\|ms3 {
    font-size: 1.728em;
  }

  .xl\+\|ms4 {
    font-size: 2.0736em;
  }

  .xl\+\|ms5 {
    font-size: 2.48832em;
  }

  .xl\+\|ms6 {
    font-size: 2.985984em;
  }

  .xl\+\|ms7 {
    font-size: 3.5831808em;
  }

  .xl\+\|ms8 {
    font-size: 4.29981696em;
  }

  .xl\+\|ms-1 {
    font-size: 0.8333333333em;
  }

  .xl\+\|ms-2 {
    font-size: 0.6944444444em;
  }
}
@media screen and (max-width: 1099px) {
  .xl-\|ms0 {
    font-size: 1em;
  }

  .xl-\|ms1 {
    font-size: 1.2em;
  }

  .xl-\|ms2 {
    font-size: 1.44em;
  }

  .xl-\|ms3 {
    font-size: 1.728em;
  }

  .xl-\|ms4 {
    font-size: 2.0736em;
  }

  .xl-\|ms5 {
    font-size: 2.48832em;
  }

  .xl-\|ms6 {
    font-size: 2.985984em;
  }

  .xl-\|ms7 {
    font-size: 3.5831808em;
  }

  .xl-\|ms8 {
    font-size: 4.29981696em;
  }

  .xl-\|ms-1 {
    font-size: 0.8333333333em;
  }

  .xl-\|ms-2 {
    font-size: 0.6944444444em;
  }
}
@media screen and (max-width: 899px) {
  .l-\|ms0 {
    font-size: 1em;
  }

  .l-\|ms1 {
    font-size: 1.2em;
  }

  .l-\|ms2 {
    font-size: 1.44em;
  }

  .l-\|ms3 {
    font-size: 1.728em;
  }

  .l-\|ms4 {
    font-size: 2.0736em;
  }

  .l-\|ms5 {
    font-size: 2.48832em;
  }

  .l-\|ms6 {
    font-size: 2.985984em;
  }

  .l-\|ms7 {
    font-size: 3.5831808em;
  }

  .l-\|ms8 {
    font-size: 4.29981696em;
  }

  .l-\|ms-1 {
    font-size: 0.8333333333em;
  }

  .l-\|ms-2 {
    font-size: 0.6944444444em;
  }
}
@media screen and (max-width: 699px) {
  .m-\|ms0 {
    font-size: 1em;
  }

  .m-\|ms1 {
    font-size: 1.2em;
  }

  .m-\|ms2 {
    font-size: 1.44em;
  }

  .m-\|ms3 {
    font-size: 1.728em;
  }

  .m-\|ms4 {
    font-size: 2.0736em;
  }

  .m-\|ms5 {
    font-size: 2.48832em;
  }

  .m-\|ms6 {
    font-size: 2.985984em;
  }

  .m-\|ms7 {
    font-size: 3.5831808em;
  }

  .m-\|ms8 {
    font-size: 4.29981696em;
  }

  .m-\|ms-1 {
    font-size: 0.8333333333em;
  }

  .m-\|ms-2 {
    font-size: 0.6944444444em;
  }
}
@media screen and (max-width: 549px) {
  .s-\|ms0 {
    font-size: 1em;
  }

  .s-\|ms1 {
    font-size: 1.2em;
  }

  .s-\|ms2 {
    font-size: 1.44em;
  }

  .s-\|ms3 {
    font-size: 1.728em;
  }

  .s-\|ms4 {
    font-size: 2.0736em;
  }

  .s-\|ms5 {
    font-size: 2.48832em;
  }

  .s-\|ms6 {
    font-size: 2.985984em;
  }

  .s-\|ms7 {
    font-size: 3.5831808em;
  }

  .s-\|ms8 {
    font-size: 4.29981696em;
  }

  .s-\|ms-1 {
    font-size: 0.8333333333em;
  }

  .s-\|ms-2 {
    font-size: 0.6944444444em;
  }
}
@media screen and (max-width: 399px) {
  .xs-\|ms0 {
    font-size: 1em;
  }

  .xs-\|ms1 {
    font-size: 1.2em;
  }

  .xs-\|ms2 {
    font-size: 1.44em;
  }

  .xs-\|ms3 {
    font-size: 1.728em;
  }

  .xs-\|ms4 {
    font-size: 2.0736em;
  }

  .xs-\|ms5 {
    font-size: 2.48832em;
  }

  .xs-\|ms6 {
    font-size: 2.985984em;
  }

  .xs-\|ms7 {
    font-size: 3.5831808em;
  }

  .xs-\|ms8 {
    font-size: 4.29981696em;
  }

  .xs-\|ms-1 {
    font-size: 0.8333333333em;
  }

  .xs-\|ms-2 {
    font-size: 0.6944444444em;
  }
}
.fz-16 {
  font-size: 0.8em;
}

.fz-nav {
  font-size: 0.95em;
}

.fz-title {
  word-wrap: break-word;
  font-size: 1.728em;
}
@media screen and (min-width: 700px) {
  .fz-title {
    font-size: 2.0736em;
  }
}
@media screen and (min-width: 900px) {
  .fz-title {
    font-size: 2.985984em;
  }
}

.type-sans {
  font-family: AkkuratTT, sans-serif;
}

.type-mono {
  font-family: AkkuratMono, Consolas, Monaco, monospace;
}

.regular {
  font-weight: normal;
}

.bold {
  font-weight: bold;
}

.italic {
  font-style: italic;
}

.no-decoration {
  text-decoration: none;
}

.underline {
  text-decoration: underline;
}

.line-through {
  text-decoration: line-through;
}

.lh-100 {
  line-height: 1;
}

.lh-110 {
  line-height: 1.1;
}

.lh-125 {
  line-height: 1.25;
}

.lh-135 {
  line-height: 1.35;
}

.lh-140 {
  line-height: 1.4;
}

.list-circle {
  list-style-type: circle;
}

.list-disc {
  list-style-type: disc;
}

.list-square {
  list-style-type: square;
}

.list-decimal {
  list-style-type: decimal;
}

.nowrap {
  white-space: nowrap;
}

.text-overflow-ellipsis {
  text-overflow: ellipsis;
}

.hyphens {
  hyphens: auto;
}

.text-shadow-20 {
  text-shadow: 0 1px rgba(0, 0, 0, 0.2);
}

.color-current {
  color: currentColor;
}

.color-inherit {
  color: inherit;
}

.color-gray-10 {
  color: #1a1a1a;
}

.color-gray-15 {
  color: #262626;
}

.color-gray-20 {
  color: #333333;
}

.color-gray-25 {
  color: #404040;
}

.color-gray-30 {
  color: #4d4d4d;
}

.color-gray-35 {
  color: #595959;
}

.color-gray-40 {
  color: #666666;
}

.color-gray-45 {
  color: #737373;
}

.color-gray-50 {
  color: gray;
}

.color-gray-55 {
  color: #8c8c8c;
}

.color-gray-60 {
  color: #999999;
}

.color-gray-65 {
  color: #a6a6a6;
}

.color-gray-70 {
  color: #b3b3b3;
}

.color-gray-75 {
  color: #bfbfbf;
}

.color-gray-80 {
  color: #cccccc;
}

.color-gray-85 {
  color: #d9d9d9;
}

.color-gray-90 {
  color: #e6e6e6;
}

.color-gray-95 {
  color: #f2f2f2;
}

.color-darken-65 {
  color: rgba(0, 0, 0, 0.65);
}

.color-darken-50 {
  color: rgba(0, 0, 0, 0.5);
}

.color-darken-35 {
  color: rgba(0, 0, 0, 0.35);
}

.color-blue {
  color: #0092db;
}

.color-blue-shade {
  color: #0081c2;
}

.color-blue-dark {
  color: #00699e;
}

.color-blue-darker {
  color: #004e75;
}

.color-blue-darkest {
  color: #003d5c;
}

.color-purple {
  color: #8647B3;
}

.color-orange {
  color: #FFA940;
}

.color-orange-dark {
  color: #FB9254;
}

.color-orange-darker {
  color: #FA6B4A;
}

.color-invalid {
  color: #FF4040;
}

.color-white {
  color: #FFFFFF;
}

.color-black {
  color: #000000;
}

.bgcolor-gray-10 {
  background-color: #1a1a1a;
}

.bgcolor-gray-15 {
  background-color: #262626;
}

.bgcolor-gray-20 {
  background-color: #333333;
}

.bgcolor-gray-25 {
  background-color: #404040;
}

.bgcolor-gray-30 {
  background-color: #4d4d4d;
}

.bgcolor-gray-35 {
  background-color: #595959;
}

.bgcolor-gray-40 {
  background-color: #666666;
}

.bgcolor-gray-45 {
  background-color: #737373;
}

.bgcolor-gray-50 {
  background-color: gray;
}

.bgcolor-gray-55 {
  background-color: #8c8c8c;
}

.bgcolor-gray-60 {
  background-color: #999999;
}

.bgcolor-gray-65 {
  background-color: #a6a6a6;
}

.bgcolor-gray-70 {
  background-color: #b3b3b3;
}

.bgcolor-gray-75 {
  background-color: #bfbfbf;
}

.bgcolor-gray-80 {
  background-color: #cccccc;
}

.bgcolor-gray-85 {
  background-color: #d9d9d9;
}

.bgcolor-gray-90 {
  background-color: #e6e6e6;
}

.bgcolor-gray-95 {
  background-color: #f2f2f2;
}

.bgcolor-darken-65 {
  background-color: rgba(0, 0, 0, 0.65);
}

.bgcolor-darken-50 {
  background-color: rgba(0, 0, 0, 0.5);
}

.bgcolor-darken-35 {
  background-color: rgba(0, 0, 0, 0.35);
}

.bgcolor-blue {
  background-color: #0092db;
}

.bgcolor-blue-shade {
  background-color: #0081c2;
}

.bgcolor-blue-dark {
  background-color: #00699e;
}

.bgcolor-blue-darker {
  background-color: #004e75;
}

.bgcolor-blue-darkest {
  background-color: #003d5c;
}

.bgcolor-purple {
  background-color: #8647B3;
}

.bgcolor-orange {
  background-color: #FFA940;
}

.bgcolor-orange-dark {
  background-color: #FB9254;
}

.bgcolor-orange-darker {
  background-color: #FA6B4A;
}

.bgcolor-invalid {
  background-color: #FF4040;
}

.bgcolor-white {
  background-color: #FFFFFF;
}

.bgcolor-black {
  background-color: #000000;
}

.bgcolor-code-block {
  background-color: #f7f7f7;
}

.bgcolor-code-inline {
  background-color: #f2f2f2;
}

.bgcolor-pale-gray {
  background-color: #f7f7f7;
}

.bgcolor-pale-blue {
  background-color: #FAFDFF;
}

.bgcolor-night-blue {
  background-color: #001B29;
}

.color-book-functional-swift-top {
  color: #EF9F39;
}

.bgcolor-book-functional-swift-top {
  background-color: #EF9F39;
}

.color-book-functional-swift-bottom {
  color: #DD453B;
}

.bgcolor-book-functional-swift-bottom {
  background-color: #DD453B;
}

.color-book-core-data-top {
  color: #059ADF;
}

.bgcolor-book-core-data-top {
  background-color: #059ADF;
}

.color-book-core-data-bottom {
  color: #2E3B92;
}

.bgcolor-book-core-data-bottom {
  background-color: #2E3B92;
}

.color-book-advanced-swift-top {
  color: #DD1388;
}

.bgcolor-book-advanced-swift-top {
  background-color: #DD1388;
}

.color-book-advanced-swift-bottom {
  color: #80288E;
}

.bgcolor-book-advanced-swift-bottom {
  background-color: #80288E;
}

.color-book-optimizing-collections-top {
  color: #00CC96;
}

.bgcolor-book-optimizing-collections-top {
  background-color: #00CC96;
}

.color-book-optimizing-collections-bottom {
  color: #068DC2;
}

.bgcolor-book-optimizing-collections-bottom {
  background-color: #068DC2;
}

.color-book-app-architecture-top {
  color: #BECD0C;
}

.bgcolor-book-app-architecture-top {
  background-color: #BECD0C;
}

.color-book-app-architecture-bottom {
  color: #49910F;
}

.bgcolor-book-app-architecture-bottom {
  background-color: #49910F;
}

.color-book-thinking-in-swiftui-top {
  color: #5FD0DA;
}

.bgcolor-book-thinking-in-swiftui-top {
  background-color: #5FD0DA;
}

.color-book-thinking-in-swiftui-bottom {
  color: #006064;
}

.bgcolor-book-thinking-in-swiftui-bottom {
  background-color: #006064;
}

.color-bundle-complete-collection {
  color: #F8BA5E;
}

.bgcolor-bundle-complete-collection {
  background-color: #F8BA5E;
}

.color-bundle-swift-essentials {
  color: #6BCAD6;
}

.bgcolor-bundle-swift-essentials {
  background-color: #6BCAD6;
}

.color-bundle-everything-swift {
  color: #C97ECE;
}

.bgcolor-bundle-everything-swift {
  background-color: #C97ECE;
}

.color-bundle-app-development {
  color: #9BCC5C;
}

.bgcolor-bundle-app-development {
  background-color: #9BCC5C;
}

.theme-default .color-theme-main {
  color: #0092db;
}
.theme-default .bgcolor-theme-main {
  background-color: #0092db;
}
.theme-default .color-theme-highlight {
  color: #FFA940;
}
.theme-default .bgcolor-theme-highlight {
  background-color: #FFA940;
}
.theme-default .color-theme-nav {
  color: #0092db;
}
.theme-default .bgcolor-theme-nav {
  background-color: #0092db;
}

.theme-collection .color-theme-main {
  color: #FF8C61;
}
.theme-collection .bgcolor-theme-main {
  background-color: #FF8C61;
}
.theme-collection .color-theme-highlight {
  color: #58D897;
}
.theme-collection .bgcolor-theme-highlight {
  background-color: #58D897;
}

.theme-functional-swift .color-theme-main {
  color: #DD453B;
}
.theme-functional-swift .bgcolor-theme-main {
  background-color: #DD453B;
}
.theme-functional-swift .color-theme-highlight {
  color: #EF9F39;
}
.theme-functional-swift .bgcolor-theme-highlight {
  background-color: #EF9F39;
}
.theme-functional-swift .color-theme-nav {
  color: #DD453B;
}
.theme-functional-swift .bgcolor-theme-nav {
  background-color: #DD453B;
}

.theme-core-data .color-theme-main {
  color: #2E3B92;
}
.theme-core-data .bgcolor-theme-main {
  background-color: #2E3B92;
}
.theme-core-data .color-theme-highlight {
  color: #059ADF;
}
.theme-core-data .bgcolor-theme-highlight {
  background-color: #059ADF;
}
.theme-core-data .color-theme-nav {
  color: #2E3B92;
}
.theme-core-data .bgcolor-theme-nav {
  background-color: #2E3B92;
}

.theme-advanced-swift .color-theme-main {
  color: #80288E;
}
.theme-advanced-swift .bgcolor-theme-main {
  background-color: #80288E;
}
.theme-advanced-swift .color-theme-highlight {
  color: #DD1388;
}
.theme-advanced-swift .bgcolor-theme-highlight {
  background-color: #DD1388;
}
.theme-advanced-swift .color-theme-nav {
  color: #80288E;
}
.theme-advanced-swift .bgcolor-theme-nav {
  background-color: #80288E;
}

.theme-optimizing-collections .color-theme-main {
  color: #068DC2;
}
.theme-optimizing-collections .bgcolor-theme-main {
  background-color: #068DC2;
}
.theme-optimizing-collections .color-theme-highlight {
  color: #00CC96;
}
.theme-optimizing-collections .bgcolor-theme-highlight {
  background-color: #00CC96;
}
.theme-optimizing-collections .color-theme-nav {
  color: #068DC2;
}
.theme-optimizing-collections .bgcolor-theme-nav {
  background-color: #068DC2;
}

.theme-app-architecture .color-theme-main {
  color: #49910F;
}
.theme-app-architecture .bgcolor-theme-main {
  background-color: #49910F;
}
.theme-app-architecture .color-theme-highlight {
  color: #BECD0C;
}
.theme-app-architecture .bgcolor-theme-highlight {
  background-color: #BECD0C;
}
.theme-app-architecture .color-theme-nav {
  color: #49910F;
}
.theme-app-architecture .bgcolor-theme-nav {
  background-color: #49910F;
}

.theme-thinking-in-swiftui .color-theme-main {
  color: #006064;
}
.theme-thinking-in-swiftui .bgcolor-theme-main {
  background-color: #006064;
}
.theme-thinking-in-swiftui .color-theme-highlight {
  color: #5FD0DA;
}
.theme-thinking-in-swiftui .bgcolor-theme-highlight {
  background-color: #5FD0DA;
}
.theme-thinking-in-swiftui .color-theme-nav {
  color: #006064;
}
.theme-thinking-in-swiftui .bgcolor-theme-nav {
  background-color: #006064;
}

.theme-complete-collection .color-theme-main {
  color: #F8BA5E;
}
.theme-complete-collection .bgcolor-theme-main {
  background-color: #F8BA5E;
}
.theme-complete-collection .color-theme-highlight {
  color: #F8BA5E;
}
.theme-complete-collection .bgcolor-theme-highlight {
  background-color: #F8BA5E;
}

.theme-swift-essentials .color-theme-main {
  color: #6BCAD6;
}
.theme-swift-essentials .bgcolor-theme-main {
  background-color: #6BCAD6;
}
.theme-swift-essentials .color-theme-highlight {
  color: #6BCAD6;
}
.theme-swift-essentials .bgcolor-theme-highlight {
  background-color: #6BCAD6;
}

.theme-everything-swift .color-theme-main {
  color: #C97ECE;
}
.theme-everything-swift .bgcolor-theme-main {
  background-color: #C97ECE;
}
.theme-everything-swift .color-theme-highlight {
  color: #C97ECE;
}
.theme-everything-swift .bgcolor-theme-highlight {
  background-color: #C97ECE;
}

.theme-app-development .color-theme-main {
  color: #9BCC5C;
}
.theme-app-development .bgcolor-theme-main {
  background-color: #9BCC5C;
}
.theme-app-development .color-theme-highlight {
  color: #9BCC5C;
}
.theme-app-development .bgcolor-theme-highlight {
  background-color: #9BCC5C;
}

.theme-default.is-scoped-theme .color-theme-main, .theme-default.is-scoped-theme.color-theme-main {
  color: #0092db;
}
.theme-default.is-scoped-theme .bgcolor-theme-main, .theme-default.is-scoped-theme.bgcolor-theme-main {
  background-color: #0092db;
}
.theme-default.is-scoped-theme .color-theme-highlight, .theme-default.is-scoped-theme.color-theme-highlight {
  color: #FFA940;
}
.theme-default.is-scoped-theme .bgcolor-theme-highlight, .theme-default.is-scoped-theme.bgcolor-theme-highlight {
  background-color: #FFA940;
}
.theme-default.is-scoped-theme .color-theme-nav, .theme-default.is-scoped-theme.color-theme-nav {
  color: #0092db;
}
.theme-default.is-scoped-theme .bgcolor-theme-nav, .theme-default.is-scoped-theme.bgcolor-theme-nav {
  background-color: #0092db;
}

.theme-collection.is-scoped-theme .color-theme-main, .theme-collection.is-scoped-theme.color-theme-main {
  color: #FF8C61;
}
.theme-collection.is-scoped-theme .bgcolor-theme-main, .theme-collection.is-scoped-theme.bgcolor-theme-main {
  background-color: #FF8C61;
}
.theme-collection.is-scoped-theme .color-theme-highlight, .theme-collection.is-scoped-theme.color-theme-highlight {
  color: #58D897;
}
.theme-collection.is-scoped-theme .bgcolor-theme-highlight, .theme-collection.is-scoped-theme.bgcolor-theme-highlight {
  background-color: #58D897;
}

.theme-functional-swift.is-scoped-theme .color-theme-main, .theme-functional-swift.is-scoped-theme.color-theme-main {
  color: #DD453B;
}
.theme-functional-swift.is-scoped-theme .bgcolor-theme-main, .theme-functional-swift.is-scoped-theme.bgcolor-theme-main {
  background-color: #DD453B;
}
.theme-functional-swift.is-scoped-theme .color-theme-highlight, .theme-functional-swift.is-scoped-theme.color-theme-highlight {
  color: #EF9F39;
}
.theme-functional-swift.is-scoped-theme .bgcolor-theme-highlight, .theme-functional-swift.is-scoped-theme.bgcolor-theme-highlight {
  background-color: #EF9F39;
}
.theme-functional-swift.is-scoped-theme .color-theme-nav, .theme-functional-swift.is-scoped-theme.color-theme-nav {
  color: #DD453B;
}
.theme-functional-swift.is-scoped-theme .bgcolor-theme-nav, .theme-functional-swift.is-scoped-theme.bgcolor-theme-nav {
  background-color: #DD453B;
}

.theme-core-data.is-scoped-theme .color-theme-main, .theme-core-data.is-scoped-theme.color-theme-main {
  color: #2E3B92;
}
.theme-core-data.is-scoped-theme .bgcolor-theme-main, .theme-core-data.is-scoped-theme.bgcolor-theme-main {
  background-color: #2E3B92;
}
.theme-core-data.is-scoped-theme .color-theme-highlight, .theme-core-data.is-scoped-theme.color-theme-highlight {
  color: #059ADF;
}
.theme-core-data.is-scoped-theme .bgcolor-theme-highlight, .theme-core-data.is-scoped-theme.bgcolor-theme-highlight {
  background-color: #059ADF;
}
.theme-core-data.is-scoped-theme .color-theme-nav, .theme-core-data.is-scoped-theme.color-theme-nav {
  color: #2E3B92;
}
.theme-core-data.is-scoped-theme .bgcolor-theme-nav, .theme-core-data.is-scoped-theme.bgcolor-theme-nav {
  background-color: #2E3B92;
}

.theme-advanced-swift.is-scoped-theme .color-theme-main, .theme-advanced-swift.is-scoped-theme.color-theme-main {
  color: #80288E;
}
.theme-advanced-swift.is-scoped-theme .bgcolor-theme-main, .theme-advanced-swift.is-scoped-theme.bgcolor-theme-main {
  background-color: #80288E;
}
.theme-advanced-swift.is-scoped-theme .color-theme-highlight, .theme-advanced-swift.is-scoped-theme.color-theme-highlight {
  color: #DD1388;
}
.theme-advanced-swift.is-scoped-theme .bgcolor-theme-highlight, .theme-advanced-swift.is-scoped-theme.bgcolor-theme-highlight {
  background-color: #DD1388;
}
.theme-advanced-swift.is-scoped-theme .color-theme-nav, .theme-advanced-swift.is-scoped-theme.color-theme-nav {
  color: #80288E;
}
.theme-advanced-swift.is-scoped-theme .bgcolor-theme-nav, .theme-advanced-swift.is-scoped-theme.bgcolor-theme-nav {
  background-color: #80288E;
}

.theme-optimizing-collections.is-scoped-theme .color-theme-main, .theme-optimizing-collections.is-scoped-theme.color-theme-main {
  color: #068DC2;
}
.theme-optimizing-collections.is-scoped-theme .bgcolor-theme-main, .theme-optimizing-collections.is-scoped-theme.bgcolor-theme-main {
  background-color: #068DC2;
}
.theme-optimizing-collections.is-scoped-theme .color-theme-highlight, .theme-optimizing-collections.is-scoped-theme.color-theme-highlight {
  color: #00CC96;
}
.theme-optimizing-collections.is-scoped-theme .bgcolor-theme-highlight, .theme-optimizing-collections.is-scoped-theme.bgcolor-theme-highlight {
  background-color: #00CC96;
}
.theme-optimizing-collections.is-scoped-theme .color-theme-nav, .theme-optimizing-collections.is-scoped-theme.color-theme-nav {
  color: #068DC2;
}
.theme-optimizing-collections.is-scoped-theme .bgcolor-theme-nav, .theme-optimizing-collections.is-scoped-theme.bgcolor-theme-nav {
  background-color: #068DC2;
}

.theme-app-architecture.is-scoped-theme .color-theme-main, .theme-app-architecture.is-scoped-theme.color-theme-main {
  color: #49910F;
}
.theme-app-architecture.is-scoped-theme .bgcolor-theme-main, .theme-app-architecture.is-scoped-theme.bgcolor-theme-main {
  background-color: #49910F;
}
.theme-app-architecture.is-scoped-theme .color-theme-highlight, .theme-app-architecture.is-scoped-theme.color-theme-highlight {
  color: #BECD0C;
}
.theme-app-architecture.is-scoped-theme .bgcolor-theme-highlight, .theme-app-architecture.is-scoped-theme.bgcolor-theme-highlight {
  background-color: #BECD0C;
}
.theme-app-architecture.is-scoped-theme .color-theme-nav, .theme-app-architecture.is-scoped-theme.color-theme-nav {
  color: #49910F;
}
.theme-app-architecture.is-scoped-theme .bgcolor-theme-nav, .theme-app-architecture.is-scoped-theme.bgcolor-theme-nav {
  background-color: #49910F;
}

.theme-thinking-in-swiftui.is-scoped-theme .color-theme-main, .theme-thinking-in-swiftui.is-scoped-theme.color-theme-main {
  color: #006064;
}
.theme-thinking-in-swiftui.is-scoped-theme .bgcolor-theme-main, .theme-thinking-in-swiftui.is-scoped-theme.bgcolor-theme-main {
  background-color: #006064;
}
.theme-thinking-in-swiftui.is-scoped-theme .color-theme-highlight, .theme-thinking-in-swiftui.is-scoped-theme.color-theme-highlight {
  color: #5FD0DA;
}
.theme-thinking-in-swiftui.is-scoped-theme .bgcolor-theme-highlight, .theme-thinking-in-swiftui.is-scoped-theme.bgcolor-theme-highlight {
  background-color: #5FD0DA;
}
.theme-thinking-in-swiftui.is-scoped-theme .color-theme-nav, .theme-thinking-in-swiftui.is-scoped-theme.color-theme-nav {
  color: #006064;
}
.theme-thinking-in-swiftui.is-scoped-theme .bgcolor-theme-nav, .theme-thinking-in-swiftui.is-scoped-theme.bgcolor-theme-nav {
  background-color: #006064;
}

.theme-complete-collection.is-scoped-theme .color-theme-main, .theme-complete-collection.is-scoped-theme.color-theme-main {
  color: #F8BA5E;
}
.theme-complete-collection.is-scoped-theme .bgcolor-theme-main, .theme-complete-collection.is-scoped-theme.bgcolor-theme-main {
  background-color: #F8BA5E;
}
.theme-complete-collection.is-scoped-theme .color-theme-highlight, .theme-complete-collection.is-scoped-theme.color-theme-highlight {
  color: #F8BA5E;
}
.theme-complete-collection.is-scoped-theme .bgcolor-theme-highlight, .theme-complete-collection.is-scoped-theme.bgcolor-theme-highlight {
  background-color: #F8BA5E;
}

.theme-swift-essentials.is-scoped-theme .color-theme-main, .theme-swift-essentials.is-scoped-theme.color-theme-main {
  color: #6BCAD6;
}
.theme-swift-essentials.is-scoped-theme .bgcolor-theme-main, .theme-swift-essentials.is-scoped-theme.bgcolor-theme-main {
  background-color: #6BCAD6;
}
.theme-swift-essentials.is-scoped-theme .color-theme-highlight, .theme-swift-essentials.is-scoped-theme.color-theme-highlight {
  color: #6BCAD6;
}
.theme-swift-essentials.is-scoped-theme .bgcolor-theme-highlight, .theme-swift-essentials.is-scoped-theme.bgcolor-theme-highlight {
  background-color: #6BCAD6;
}

.theme-everything-swift.is-scoped-theme .color-theme-main, .theme-everything-swift.is-scoped-theme.color-theme-main {
  color: #C97ECE;
}
.theme-everything-swift.is-scoped-theme .bgcolor-theme-main, .theme-everything-swift.is-scoped-theme.bgcolor-theme-main {
  background-color: #C97ECE;
}
.theme-everything-swift.is-scoped-theme .color-theme-highlight, .theme-everything-swift.is-scoped-theme.color-theme-highlight {
  color: #C97ECE;
}
.theme-everything-swift.is-scoped-theme .bgcolor-theme-highlight, .theme-everything-swift.is-scoped-theme.bgcolor-theme-highlight {
  background-color: #C97ECE;
}

.theme-app-development.is-scoped-theme .color-theme-main, .theme-app-development.is-scoped-theme.color-theme-main {
  color: #9BCC5C;
}
.theme-app-development.is-scoped-theme .bgcolor-theme-main, .theme-app-development.is-scoped-theme.bgcolor-theme-main {
  background-color: #9BCC5C;
}
.theme-app-development.is-scoped-theme .color-theme-highlight, .theme-app-development.is-scoped-theme.color-theme-highlight {
  color: #9BCC5C;
}
.theme-app-development.is-scoped-theme .bgcolor-theme-highlight, .theme-app-development.is-scoped-theme.bgcolor-theme-highlight {
  background-color: #9BCC5C;
}

.theme-default.is-element-theme.color-theme-main {
  color: #0092db;
}
.theme-default.is-element-theme.bgcolor-theme-main {
  background-color: #0092db;
}
.theme-default.is-element-theme.color-theme-highlight {
  color: #FFA940;
}
.theme-default.is-element-theme.bgcolor-theme-highlight {
  background-color: #FFA940;
}
.theme-default.is-element-theme.color-theme-nav {
  color: #0092db;
}
.theme-default.is-element-theme.bgcolor-theme-nav {
  background-color: #0092db;
}

.theme-collection.is-element-theme.color-theme-main {
  color: #FF8C61;
}
.theme-collection.is-element-theme.bgcolor-theme-main {
  background-color: #FF8C61;
}
.theme-collection.is-element-theme.color-theme-highlight {
  color: #58D897;
}
.theme-collection.is-element-theme.bgcolor-theme-highlight {
  background-color: #58D897;
}

.theme-functional-swift.is-element-theme.color-theme-main {
  color: #DD453B;
}
.theme-functional-swift.is-element-theme.bgcolor-theme-main {
  background-color: #DD453B;
}
.theme-functional-swift.is-element-theme.color-theme-highlight {
  color: #EF9F39;
}
.theme-functional-swift.is-element-theme.bgcolor-theme-highlight {
  background-color: #EF9F39;
}
.theme-functional-swift.is-element-theme.color-theme-nav {
  color: #DD453B;
}
.theme-functional-swift.is-element-theme.bgcolor-theme-nav {
  background-color: #DD453B;
}

.theme-core-data.is-element-theme.color-theme-main {
  color: #2E3B92;
}
.theme-core-data.is-element-theme.bgcolor-theme-main {
  background-color: #2E3B92;
}
.theme-core-data.is-element-theme.color-theme-highlight {
  color: #059ADF;
}
.theme-core-data.is-element-theme.bgcolor-theme-highlight {
  background-color: #059ADF;
}
.theme-core-data.is-element-theme.color-theme-nav {
  color: #2E3B92;
}
.theme-core-data.is-element-theme.bgcolor-theme-nav {
  background-color: #2E3B92;
}

.theme-advanced-swift.is-element-theme.color-theme-main {
  color: #80288E;
}
.theme-advanced-swift.is-element-theme.bgcolor-theme-main {
  background-color: #80288E;
}
.theme-advanced-swift.is-element-theme.color-theme-highlight {
  color: #DD1388;
}
.theme-advanced-swift.is-element-theme.bgcolor-theme-highlight {
  background-color: #DD1388;
}
.theme-advanced-swift.is-element-theme.color-theme-nav {
  color: #80288E;
}
.theme-advanced-swift.is-element-theme.bgcolor-theme-nav {
  background-color: #80288E;
}

.theme-optimizing-collections.is-element-theme.color-theme-main {
  color: #068DC2;
}
.theme-optimizing-collections.is-element-theme.bgcolor-theme-main {
  background-color: #068DC2;
}
.theme-optimizing-collections.is-element-theme.color-theme-highlight {
  color: #00CC96;
}
.theme-optimizing-collections.is-element-theme.bgcolor-theme-highlight {
  background-color: #00CC96;
}
.theme-optimizing-collections.is-element-theme.color-theme-nav {
  color: #068DC2;
}
.theme-optimizing-collections.is-element-theme.bgcolor-theme-nav {
  background-color: #068DC2;
}

.theme-app-architecture.is-element-theme.color-theme-main {
  color: #49910F;
}
.theme-app-architecture.is-element-theme.bgcolor-theme-main {
  background-color: #49910F;
}
.theme-app-architecture.is-element-theme.color-theme-highlight {
  color: #BECD0C;
}
.theme-app-architecture.is-element-theme.bgcolor-theme-highlight {
  background-color: #BECD0C;
}
.theme-app-architecture.is-element-theme.color-theme-nav {
  color: #49910F;
}
.theme-app-architecture.is-element-theme.bgcolor-theme-nav {
  background-color: #49910F;
}

.theme-thinking-in-swiftui.is-element-theme.color-theme-main {
  color: #006064;
}
.theme-thinking-in-swiftui.is-element-theme.bgcolor-theme-main {
  background-color: #006064;
}
.theme-thinking-in-swiftui.is-element-theme.color-theme-highlight {
  color: #5FD0DA;
}
.theme-thinking-in-swiftui.is-element-theme.bgcolor-theme-highlight {
  background-color: #5FD0DA;
}
.theme-thinking-in-swiftui.is-element-theme.color-theme-nav {
  color: #006064;
}
.theme-thinking-in-swiftui.is-element-theme.bgcolor-theme-nav {
  background-color: #006064;
}

.theme-complete-collection.is-element-theme.color-theme-main {
  color: #F8BA5E;
}
.theme-complete-collection.is-element-theme.bgcolor-theme-main {
  background-color: #F8BA5E;
}
.theme-complete-collection.is-element-theme.color-theme-highlight {
  color: #F8BA5E;
}
.theme-complete-collection.is-element-theme.bgcolor-theme-highlight {
  background-color: #F8BA5E;
}

.theme-swift-essentials.is-element-theme.color-theme-main {
  color: #6BCAD6;
}
.theme-swift-essentials.is-element-theme.bgcolor-theme-main {
  background-color: #6BCAD6;
}
.theme-swift-essentials.is-element-theme.color-theme-highlight {
  color: #6BCAD6;
}
.theme-swift-essentials.is-element-theme.bgcolor-theme-highlight {
  background-color: #6BCAD6;
}

.theme-everything-swift.is-element-theme.color-theme-main {
  color: #C97ECE;
}
.theme-everything-swift.is-element-theme.bgcolor-theme-main {
  background-color: #C97ECE;
}
.theme-everything-swift.is-element-theme.color-theme-highlight {
  color: #C97ECE;
}
.theme-everything-swift.is-element-theme.bgcolor-theme-highlight {
  background-color: #C97ECE;
}

.theme-app-development.is-element-theme.color-theme-main {
  color: #9BCC5C;
}
.theme-app-development.is-element-theme.bgcolor-theme-main {
  background-color: #9BCC5C;
}
.theme-app-development.is-element-theme.color-theme-highlight {
  color: #9BCC5C;
}
.theme-app-development.is-element-theme.bgcolor-theme-highlight {
  background-color: #9BCC5C;
}

.pattern-white, .pattern-light, .pattern-shade-darker, .pattern-shade, .pattern-orange-reverse, .pattern-orange, .pattern-blue-reverse, .pattern-blue {
  background-size: 15em 12em;
  background-position: center -1em;
  background-attachment: fixed;
}

.pattern-blue {
  background-color: #0092db;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%230081c2' fill-opacity='1' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E");
}

.pattern-blue-reverse {
  background-color: #0081c2;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%230092db' fill-opacity='1' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E");
}

.pattern-orange {
  background-color: #FFA940;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23FB9254' fill-opacity='1' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E");
}

.pattern-orange-reverse {
  background-color: #FB9254;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23FFA940' fill-opacity='1' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E");
}

.pattern-shade {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23000000' fill-opacity='0.065' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E");
}

.pattern-shade-darker {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23000000' fill-opacity='0.2' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E");
}

.pattern-light {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23FFFFFF' fill-opacity='0.2' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E");
}

.pattern-white {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23FFFFFF' fill-opacity='1' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E");
}

.pattern-gradient {
  background-size: 15em 12em, auto auto;
  background-position: center -1em, top left;
  background-attachment: fixed, scroll;
}
.pattern-gradient--swifttalk {
  background-color: #FA6B4A;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23000000' fill-opacity='0.065' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(#FB9254, #FA6B4A);
}
.pattern-gradient--gray-white {
  background-color: white;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23FFFFFF' fill-opacity='1' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(#f2f2f2, white 20em, white);
}
.pattern-gradient--functional-swift {
  background-color: #DD453B;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23000000' fill-opacity='0.065' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(#EF9F39, #DD453B);
}
.pattern-gradient--core-data {
  background-color: #2E3B92;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23000000' fill-opacity='0.065' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(#059ADF, #2E3B92);
}
.pattern-gradient--advanced-swift {
  background-color: #80288E;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23000000' fill-opacity='0.065' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(#DD1388, #80288E);
}
.pattern-gradient--optimizing-collections {
  background-color: #068DC2;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23000000' fill-opacity='0.065' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(#00CC96, #068DC2);
}
.pattern-gradient--app-architecture {
  background-color: #49910F;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23000000' fill-opacity='0.065' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(#BECD0C, #49910F);
}
.pattern-gradient--thinking-in-swiftui {
  background-color: #006064;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 240'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='none' d='M0 0h300v240H0z'/%3E%3Cpath fill='%23000000' fill-opacity='0.065' d='M83 53l-5 4.955L56 35.5V93h-7V35.5L27 57.955 22 53l30.5-31L83 53zm66 15l-5-4.955L122 85.5V28h-7v57.5L93 63.045 88 68l30.5 31L149 68zm63 104l-5 4.955-22-22.455V212h-7v-57.5l-22 22.455-5-4.955 30.5-31 30.5 31zm66 15l-5-4.955-22 22.455V147h-7v57.5l-22-22.455-5 4.955 30.5 31 30.5-31z'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(#5FD0DA, #006064);
}

.pattern-illustration {
  background-size: 50%;
  background-attachment: fixed;
  background-color: #F2F4F2;
}

.gradient-swifttalk {
  background-color: #FA6B4A;
  background-image: linear-gradient(#FB9254, #FA6B4A);
}

.gradient-functional-swift {
  background-color: #DD453B;
  background-image: linear-gradient(#EF9F39, #DD453B);
}

.gradient-core-data {
  background-color: #2E3B92;
  background-image: linear-gradient(#059ADF, #2E3B92);
}

.gradient-advanced-swift {
  background-color: #80288E;
  background-image: linear-gradient(#DD1388, #80288E);
}

.gradient-optimizing-collections {
  background-color: #068DC2;
  background-image: linear-gradient(#00CC96, #068DC2);
}

.gradient-app-architecture {
  background-color: #49910F;
  background-image: linear-gradient(#BECD0C, #49910F);
}

.gradient-thinking-in-swiftui {
  background-color: #006064;
  background-image: linear-gradient(#5FD0DA, #006064);
}

.gradient-fade-to-white {
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.75) 25%, white 100%);
}

.gradient-episode-black {
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 66.6%, rgba(0, 0, 0, 0.4) 100%);
}

.valign-top {
  vertical-align: top;
}

.valign-middle {
  vertical-align: middle;
}

.valign-bottom {
  vertical-align: bottom;
}

.mt-auto {
  margin-top: auto;
}

.mb-auto {
  margin-bottom: auto;
}

.ml-auto {
  margin-left: auto;
}

.mr-auto {
  margin-right: auto;
}

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

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

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

.center {
  margin-left: auto;
  margin-right: auto;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.float-none {
  float: none;
}

.clear-left {
  clear: left;
}

.clear-right {
  clear: right;
}

.clear-both {
  clear: both;
}

.clear-none {
  clear: none;
}

@media screen and (min-width: 400px) {
  .xs\+\|text-left {
    text-align: left;
  }

  .xs\+\|text-center {
    text-align: center;
  }

  .xs\+\|text-right {
    text-align: right;
  }

  .xs\+\|center {
    margin-left: auto;
    margin-right: auto;
  }

  .xs\+\|float-left {
    float: left;
  }

  .xs\+\|float-right {
    float: right;
  }

  .xs\+\|float-none {
    float: none;
  }

  .xs\+\|clear-left {
    clear: left;
  }

  .xs\+\|clear-right {
    clear: right;
  }

  .xs\+\|clear-both {
    clear: both;
  }

  .xs\+\|clear-none {
    clear: none;
  }
}
@media screen and (min-width: 550px) {
  .s\+\|text-left {
    text-align: left;
  }

  .s\+\|text-center {
    text-align: center;
  }

  .s\+\|text-right {
    text-align: right;
  }

  .s\+\|center {
    margin-left: auto;
    margin-right: auto;
  }

  .s\+\|float-left {
    float: left;
  }

  .s\+\|float-right {
    float: right;
  }

  .s\+\|float-none {
    float: none;
  }

  .s\+\|clear-left {
    clear: left;
  }

  .s\+\|clear-right {
    clear: right;
  }

  .s\+\|clear-both {
    clear: both;
  }

  .s\+\|clear-none {
    clear: none;
  }
}
@media screen and (min-width: 700px) {
  .m\+\|text-left {
    text-align: left;
  }

  .m\+\|text-center {
    text-align: center;
  }

  .m\+\|text-right {
    text-align: right;
  }

  .m\+\|center {
    margin-left: auto;
    margin-right: auto;
  }

  .m\+\|float-left {
    float: left;
  }

  .m\+\|float-right {
    float: right;
  }

  .m\+\|float-none {
    float: none;
  }

  .m\+\|clear-left {
    clear: left;
  }

  .m\+\|clear-right {
    clear: right;
  }

  .m\+\|clear-both {
    clear: both;
  }

  .m\+\|clear-none {
    clear: none;
  }
}
@media screen and (min-width: 900px) {
  .l\+\|text-left {
    text-align: left;
  }

  .l\+\|text-center {
    text-align: center;
  }

  .l\+\|text-right {
    text-align: right;
  }

  .l\+\|center {
    margin-left: auto;
    margin-right: auto;
  }

  .l\+\|float-left {
    float: left;
  }

  .l\+\|float-right {
    float: right;
  }

  .l\+\|float-none {
    float: none;
  }

  .l\+\|clear-left {
    clear: left;
  }

  .l\+\|clear-right {
    clear: right;
  }

  .l\+\|clear-both {
    clear: both;
  }

  .l\+\|clear-none {
    clear: none;
  }
}
@media screen and (min-width: 1100px) {
  .xl\+\|text-left {
    text-align: left;
  }

  .xl\+\|text-center {
    text-align: center;
  }

  .xl\+\|text-right {
    text-align: right;
  }

  .xl\+\|center {
    margin-left: auto;
    margin-right: auto;
  }

  .xl\+\|float-left {
    float: left;
  }

  .xl\+\|float-right {
    float: right;
  }

  .xl\+\|float-none {
    float: none;
  }

  .xl\+\|clear-left {
    clear: left;
  }

  .xl\+\|clear-right {
    clear: right;
  }

  .xl\+\|clear-both {
    clear: both;
  }

  .xl\+\|clear-none {
    clear: none;
  }
}
.bg-no-repeat {
  background-repeat: no-repeat;
}

.bg-cover {
  background-size: cover;
}

.bg-contain {
  background-size: contain;
}

.bg-stretch {
  background-size: 100% 100%;
}

.bg-stretch-x {
  background-size: 100% auto;
}

.bg-stretch-y {
  background-size: auto 100%;
}

.bg-center {
  background-position: center;
}

.bg-position-n {
  background-position: top center;
}

.bg-position-s {
  background-position: bottom center;
}

.bg-position-e {
  background-position: right center;
}

.bg-position-w {
  background-position: left center;
}

.border {
  border-style: solid;
}

.border-1 {
  border-width: 1px;
}

.border-2 {
  border-width: 2px;
}

.border-3 {
  border-width: 3px;
}

.radius-2 {
  border-radius: 2px;
}

.radius-3 {
  border-radius: 3px;
}

.radius-4 {
  border-radius: 4px;
}

.radius-5 {
  border-radius: 5px;
}

.radius-6 {
  border-radius: 6px;
}

.radius-7 {
  border-radius: 7px;
}

.radius-8 {
  border-radius: 8px;
}

.radius-9 {
  border-radius: 9px;
}

.radius-10 {
  border-radius: 10px;
}

.no-radius-top-left {
  border-top-left-radius: 0;
}

.no-radius-top-right {
  border-top-right-radius: 0;
}

.no-radius-bottom-left {
  border-bottom-left-radius: 0;
}

.no-radius-bottom-right {
  border-bottom-right-radius: 0;
}

.no-radius-top {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.no-radius-bottom {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.border-top {
  border-top-style: solid;
}

.border-right {
  border-right-style: solid;
}

.border-bottom {
  border-bottom-style: solid;
}

.border-left {
  border-left-style: solid;
}

.no-border-top {
  border-top-style: none;
}

.no-border-right {
  border-right-style: none;
}

.no-border-bottom {
  border-bottom-style: none;
}

.no-border-left {
  border-left-style: none;
}

.border-stack + .border-stack {
  border-top-style: solid;
}

.radius-full {
  border-radius: 999px;
}

.border-color-transparent {
  border-color: transparent;
}

.border-color-current {
  border-color: currentColor;
}

.border-color-inherit {
  border-color: inherit;
}

.border-color-blue {
  border-color: #0092db;
}

.border-color-blue-shade {
  border-color: #0081c2;
}

.border-color-blue-dark {
  border-color: #00699e;
}

.border-color-blue-darker {
  border-color: #004e75;
}

.border-color-blue-darkest {
  border-color: #003d5c;
}

.border-color-purple {
  border-color: #8647B3;
}

.border-color-orange {
  border-color: #FFA940;
}

.border-color-orange-dark {
  border-color: #FB9254;
}

.border-color-orange-darker {
  border-color: #FA6B4A;
}

.border-color-invalid {
  border-color: #FF4040;
}

.border-color-black {
  border-color: black;
}

.border-color-white {
  border-color: white;
}

.border-color-gray-10 {
  border-color: #1a1a1a;
}

.border-color-gray-15 {
  border-color: #262626;
}

.border-color-gray-20 {
  border-color: #333333;
}

.border-color-gray-25 {
  border-color: #404040;
}

.border-color-gray-30 {
  border-color: #4d4d4d;
}

.border-color-gray-35 {
  border-color: #595959;
}

.border-color-gray-40 {
  border-color: #666666;
}

.border-color-gray-45 {
  border-color: #737373;
}

.border-color-gray-50 {
  border-color: gray;
}

.border-color-gray-55 {
  border-color: #8c8c8c;
}

.border-color-gray-60 {
  border-color: #999999;
}

.border-color-gray-65 {
  border-color: #a6a6a6;
}

.border-color-gray-70 {
  border-color: #b3b3b3;
}

.border-color-gray-75 {
  border-color: #bfbfbf;
}

.border-color-gray-80 {
  border-color: #cccccc;
}

.border-color-gray-85 {
  border-color: #d9d9d9;
}

.border-color-gray-90 {
  border-color: #e6e6e6;
}

.border-color-gray-95 {
  border-color: #f2f2f2;
}

.border-color-subtle-blue {
  border-color: #E0F4FF;
}

.border-color-lighten-10 {
  border-color: rgba(255, 255, 255, 0.1);
}

.svg-fill-current [fill] {
  fill: currentColor;
}

.svg-stroke-current [stroke] {
  stroke: currentColor;
}

.target-animate-flash:target {
  animation-name: flash;
  animation-duration: 800ms;
  animation-fill-mode: both;
}

.transition-all {
  transition-property: all;
  transition-duration: 150ms;
  transition-timing-function: ease-in-out;
}

.transition-transform {
  transition-property: transform;
}

.transition-color {
  transition-property: color;
}

.filter-grayscale {
  filter: grayscale(100%);
}

.filter-blur-5 {
  filter: blur(5px);
}

.blend-normal {
  mix-blend-mode: normal;
}

.blend-multiply {
  mix-blend-mode: multiply;
}

.blend-screen {
  mix-blend-mode: screen;
}

.blend-overlay {
  mix-blend-mode: overlay;
}

.blend-darken {
  mix-blend-mode: darken;
}

.blend-lighten {
  mix-blend-mode: lighten;
}

.blend-color-dodge {
  mix-blend-mode: color-dodge;
}

.blend-color-burn {
  mix-blend-mode: color-burn;
}

.blend-hard-light {
  mix-blend-mode: hard-light;
}

.blend-soft-light {
  mix-blend-mode: soft-light;
}

.blend-difference {
  mix-blend-mode: difference;
}

.blend-exclusion {
  mix-blend-mode: exclusion;
}

.blend-hue {
  mix-blend-mode: hue;
}

.blend-saturation {
  mix-blend-mode: saturation;
}

.blend-color {
  mix-blend-mode: color;
}

.blend-luminosity {
  mix-blend-mode: luminosity;
}

.transform-origin-center {
  transform-origin: center;
}

.transform-origin-n {
  transform-origin: top;
}

.transform-origin-ne {
  transform-origin: top right;
}

.transform-origin-e {
  transform-origin: right;
}

.transform-origin-se {
  transform-origin: right bottom;
}

.transform-origin-s {
  transform-origin: bottom;
}

.transform-origin-sw {
  transform-origin: bottom left;
}

.transform-origin-w {
  transform-origin: left;
}

.transform-origin-nw {
  transform-origin: top left;
}

.hover-color-blue:hover,
.hover-color-blue:focus {
  color: #0092db;
}

.hover-color-blue-shade:hover,
.hover-color-blue-shade:focus {
  color: #0081c2;
}

.hover-color-blue-dark:hover,
.hover-color-blue-dark:focus {
  color: #00699e;
}

.hover-color-blue-darker:hover,
.hover-color-blue-darker:focus {
  color: #004e75;
}

.hover-color-blue-darkest:hover,
.hover-color-blue-darkest:focus {
  color: #003d5c;
}

.hover-color-purple:hover,
.hover-color-purple:focus {
  color: #8647B3;
}

.hover-color-orange:hover,
.hover-color-orange:focus {
  color: #FFA940;
}

.hover-color-orange-dark:hover,
.hover-color-orange-dark:focus {
  color: #FB9254;
}

.hover-color-orange-darker:hover,
.hover-color-orange-darker:focus {
  color: #FA6B4A;
}

.hover-color-invalid:hover,
.hover-color-invalid:focus {
  color: #FF4040;
}

.hover-color-white:hover,
.hover-color-white:focus {
  color: #FFFFFF;
}

.hover-color-black:hover,
.hover-color-black:focus {
  color: #000000;
}

.hover-bgcolor-blue:hover,
.hover-bgcolor-blue:focus {
  background-color: #0092db;
}

.hover-bgcolor-blue-shade:hover,
.hover-bgcolor-blue-shade:focus {
  background-color: #0081c2;
}

.hover-bgcolor-blue-dark:hover,
.hover-bgcolor-blue-dark:focus {
  background-color: #00699e;
}

.hover-bgcolor-blue-darker:hover,
.hover-bgcolor-blue-darker:focus {
  background-color: #004e75;
}

.hover-bgcolor-blue-darkest:hover,
.hover-bgcolor-blue-darkest:focus {
  background-color: #003d5c;
}

.hover-bgcolor-purple:hover,
.hover-bgcolor-purple:focus {
  background-color: #8647B3;
}

.hover-bgcolor-orange:hover,
.hover-bgcolor-orange:focus {
  background-color: #FFA940;
}

.hover-bgcolor-orange-dark:hover,
.hover-bgcolor-orange-dark:focus {
  background-color: #FB9254;
}

.hover-bgcolor-orange-darker:hover,
.hover-bgcolor-orange-darker:focus {
  background-color: #FA6B4A;
}

.hover-bgcolor-invalid:hover,
.hover-bgcolor-invalid:focus {
  background-color: #FF4040;
}

.hover-bgcolor-white:hover,
.hover-bgcolor-white:focus {
  background-color: #FFFFFF;
}

.hover-bgcolor-black:hover,
.hover-bgcolor-black:focus {
  background-color: #000000;
}

.hover-bgcolor-code-block:hover,
.hover-bgcolor-code-block:focus {
  background-color: #f7f7f7;
}

.hover-bgcolor-code-inline:hover,
.hover-bgcolor-code-inline:focus {
  background-color: #f2f2f2;
}

.hover-bgcolor-pale-gray:hover,
.hover-bgcolor-pale-gray:focus {
  background-color: #f7f7f7;
}

.hover-bgcolor-pale-blue:hover,
.hover-bgcolor-pale-blue:focus {
  background-color: #FAFDFF;
}

.hover-bgcolor-night-blue:hover,
.hover-bgcolor-night-blue:focus {
  background-color: #001B29;
}

.theme-default .hover-color-theme-main:hover {
  color: #0092db;
}
.theme-default .hover-bgcolor-theme-main:hover {
  background-color: #0092db;
}
.theme-default .hover-color-theme-highlight:hover {
  color: #FFA940;
}
.theme-default .hover-bgcolor-theme-highlight:hover {
  background-color: #FFA940;
}

.theme-collection .hover-color-theme-main:hover {
  color: #FF8C61;
}
.theme-collection .hover-bgcolor-theme-main:hover {
  background-color: #FF8C61;
}
.theme-collection .hover-color-theme-highlight:hover {
  color: #58D897;
}
.theme-collection .hover-bgcolor-theme-highlight:hover {
  background-color: #58D897;
}

.theme-functional-swift .hover-color-theme-main:hover {
  color: #DD453B;
}
.theme-functional-swift .hover-bgcolor-theme-main:hover {
  background-color: #DD453B;
}
.theme-functional-swift .hover-color-theme-highlight:hover {
  color: #EF9F39;
}
.theme-functional-swift .hover-bgcolor-theme-highlight:hover {
  background-color: #EF9F39;
}

.theme-core-data .hover-color-theme-main:hover {
  color: #2E3B92;
}
.theme-core-data .hover-bgcolor-theme-main:hover {
  background-color: #2E3B92;
}
.theme-core-data .hover-color-theme-highlight:hover {
  color: #059ADF;
}
.theme-core-data .hover-bgcolor-theme-highlight:hover {
  background-color: #059ADF;
}

.theme-advanced-swift .hover-color-theme-main:hover {
  color: #80288E;
}
.theme-advanced-swift .hover-bgcolor-theme-main:hover {
  background-color: #80288E;
}
.theme-advanced-swift .hover-color-theme-highlight:hover {
  color: #DD1388;
}
.theme-advanced-swift .hover-bgcolor-theme-highlight:hover {
  background-color: #DD1388;
}

.theme-optimizing-collections .hover-color-theme-main:hover {
  color: #068DC2;
}
.theme-optimizing-collections .hover-bgcolor-theme-main:hover {
  background-color: #068DC2;
}
.theme-optimizing-collections .hover-color-theme-highlight:hover {
  color: #00CC96;
}
.theme-optimizing-collections .hover-bgcolor-theme-highlight:hover {
  background-color: #00CC96;
}

.theme-app-architecture .hover-color-theme-main:hover {
  color: #49910F;
}
.theme-app-architecture .hover-bgcolor-theme-main:hover {
  background-color: #49910F;
}
.theme-app-architecture .hover-color-theme-highlight:hover {
  color: #BECD0C;
}
.theme-app-architecture .hover-bgcolor-theme-highlight:hover {
  background-color: #BECD0C;
}

.theme-thinking-in-swiftui .hover-color-theme-main:hover {
  color: #006064;
}
.theme-thinking-in-swiftui .hover-bgcolor-theme-main:hover {
  background-color: #006064;
}
.theme-thinking-in-swiftui .hover-color-theme-highlight:hover {
  color: #5FD0DA;
}
.theme-thinking-in-swiftui .hover-bgcolor-theme-highlight:hover {
  background-color: #5FD0DA;
}

.theme-complete-collection .hover-color-theme-main:hover {
  color: #F8BA5E;
}
.theme-complete-collection .hover-bgcolor-theme-main:hover {
  background-color: #F8BA5E;
}
.theme-complete-collection .hover-color-theme-highlight:hover {
  color: #F8BA5E;
}
.theme-complete-collection .hover-bgcolor-theme-highlight:hover {
  background-color: #F8BA5E;
}

.theme-swift-essentials .hover-color-theme-main:hover {
  color: #6BCAD6;
}
.theme-swift-essentials .hover-bgcolor-theme-main:hover {
  background-color: #6BCAD6;
}
.theme-swift-essentials .hover-color-theme-highlight:hover {
  color: #6BCAD6;
}
.theme-swift-essentials .hover-bgcolor-theme-highlight:hover {
  background-color: #6BCAD6;
}

.theme-everything-swift .hover-color-theme-main:hover {
  color: #C97ECE;
}
.theme-everything-swift .hover-bgcolor-theme-main:hover {
  background-color: #C97ECE;
}
.theme-everything-swift .hover-color-theme-highlight:hover {
  color: #C97ECE;
}
.theme-everything-swift .hover-bgcolor-theme-highlight:hover {
  background-color: #C97ECE;
}

.theme-app-development .hover-color-theme-main:hover {
  color: #9BCC5C;
}
.theme-app-development .hover-bgcolor-theme-main:hover {
  background-color: #9BCC5C;
}
.theme-app-development .hover-color-theme-highlight:hover {
  color: #9BCC5C;
}
.theme-app-development .hover-bgcolor-theme-highlight:hover {
  background-color: #9BCC5C;
}

.hover-cascade:hover .hover-cascade__underline,
.hover-underline:hover {
  text-decoration: underline;
}

.hover-cascade:hover .hover-cascade__border-bottom,
.hover-border-bottom:hover {
  border-bottom: solid 1px;
}

.hover-cascade:hover .hover-cascade__color {
  color: inherit;
}

.hover-cascade:hover .hover-cascade__decoration {
  text-decoration: inherit;
}

.hover-cascade:hover .hover-cascade__hide {
  display: none;
}

.hover-cascade:hover .hover-cascade__block {
  display: block;
}

.hover-cascade:hover .hover-cascade__inline {
  display: inline;
}

.hover-scale {
  will-change: transform;
}
.hover-scale:hover {
  transform: scale(1.05);
}

.hover-scale-1\.25x {
  will-change: transform;
}
.hover-scale-1\.25x:hover {
  transform: scale(1.25);
}

.flex-1 {
  flex: 1;
}

.flex-2 {
  flex: 2;
}

.flex-3 {
  flex: 3;
}

.flex-4 {
  flex: 4;
}

.flex-auto {
  flex: 1 1 auto;
}

.flex-grow {
  flex: 1 0 auto;
}

.flex-none {
  flex: none;
}

.flex-110 {
  flex: 1 1 0;
}

.flex-column {
  flex-direction: column;
}

.flex-row {
  flex-direction: row;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-start {
  align-items: flex-start;
}

.items-end {
  align-items: flex-end;
}

.items-center {
  align-items: center;
}

.items-baseline {
  align-items: baseline;
}

.items-stretch {
  align-items: stretch;
}

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

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

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.content-start {
  align-content: flex-start;
}

.content-end {
  align-content: flex-end;
}

.content-center {
  align-content: center;
}

.content-between {
  align-content: space-between;
}

.content-around {
  align-content: space-around;
}

.content-stretch {
  align-content: stretch;
}

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

.self-end {
  align-self: flex-end;
}

.self-center {
  align-self: center;
}

.self-baseline {
  align-self: baseline;
}

.self-stretch {
  align-self: stretch;
}

.order-0 {
  order: 0;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-last {
  order: 99999;
}

.mt-auto {
  margin-top: auto;
}

.mr-auto {
  margin-right: auto;
}

.mb-auto {
  margin-bottom: auto;
}

.ml-auto {
  margin-left: auto;
}

@media screen and (min-width: 400px) {
  .xs\+\|flex-1 {
    flex: 1;
  }

  .xs\+\|flex-2 {
    flex: 2;
  }

  .xs\+\|flex-3 {
    flex: 3;
  }

  .xs\+\|flex-4 {
    flex: 4;
  }

  .xs\+\|flex-auto {
    flex: 1 1 auto;
  }

  .xs\+\|flex-grow {
    flex: 1 0 auto;
  }

  .xs\+\|flex-none {
    flex: none;
  }

  .xs\+\|flex-110 {
    flex: 1 1 0;
  }

  .xs\+\|flex-column {
    flex-direction: column;
  }

  .xs\+\|flex-row {
    flex-direction: row;
  }

  .xs\+\|flex-wrap {
    flex-wrap: wrap;
  }

  .xs\+\|items-start {
    align-items: flex-start;
  }

  .xs\+\|items-end {
    align-items: flex-end;
  }

  .xs\+\|items-center {
    align-items: center;
  }

  .xs\+\|items-baseline {
    align-items: baseline;
  }

  .xs\+\|items-stretch {
    align-items: stretch;
  }

  .xs\+\|justify-start {
    justify-content: flex-start;
  }

  .xs\+\|justify-end {
    justify-content: flex-end;
  }

  .xs\+\|justify-center {
    justify-content: center;
  }

  .xs\+\|justify-between {
    justify-content: space-between;
  }

  .xs\+\|justify-around {
    justify-content: space-around;
  }

  .xs\+\|content-start {
    align-content: flex-start;
  }

  .xs\+\|content-end {
    align-content: flex-end;
  }

  .xs\+\|content-center {
    align-content: center;
  }

  .xs\+\|content-between {
    align-content: space-between;
  }

  .xs\+\|content-around {
    align-content: space-around;
  }

  .xs\+\|content-stretch {
    align-content: stretch;
  }

  .xs\+\|self-start {
    align-self: flex-start;
  }

  .xs\+\|self-end {
    align-self: flex-end;
  }

  .xs\+\|self-center {
    align-self: center;
  }

  .xs\+\|self-baseline {
    align-self: baseline;
  }

  .xs\+\|self-stretch {
    align-self: stretch;
  }

  .xs\+\|order-0 {
    order: 0;
  }

  .xs\+\|order-1 {
    order: 1;
  }

  .xs\+\|order-2 {
    order: 2;
  }

  .xs\+\|order-3 {
    order: 3;
  }

  .xs\+\|order-4 {
    order: 4;
  }

  .xs\+\|order-5 {
    order: 5;
  }

  .xs\+\|order-6 {
    order: 6;
  }

  .xs\+\|order-7 {
    order: 7;
  }

  .xs\+\|order-8 {
    order: 8;
  }

  .xs\+\|order-last {
    order: 99999;
  }

  .xs\+\|mt-auto {
    margin-top: auto;
  }

  .xs\+\|mr-auto {
    margin-right: auto;
  }

  .xs\+\|mb-auto {
    margin-bottom: auto;
  }

  .xs\+\|ml-auto {
    margin-left: auto;
  }
}
@media screen and (min-width: 550px) {
  .s\+\|flex-1 {
    flex: 1;
  }

  .s\+\|flex-2 {
    flex: 2;
  }

  .s\+\|flex-3 {
    flex: 3;
  }

  .s\+\|flex-4 {
    flex: 4;
  }

  .s\+\|flex-auto {
    flex: 1 1 auto;
  }

  .s\+\|flex-grow {
    flex: 1 0 auto;
  }

  .s\+\|flex-none {
    flex: none;
  }

  .s\+\|flex-110 {
    flex: 1 1 0;
  }

  .s\+\|flex-column {
    flex-direction: column;
  }

  .s\+\|flex-row {
    flex-direction: row;
  }

  .s\+\|flex-wrap {
    flex-wrap: wrap;
  }

  .s\+\|items-start {
    align-items: flex-start;
  }

  .s\+\|items-end {
    align-items: flex-end;
  }

  .s\+\|items-center {
    align-items: center;
  }

  .s\+\|items-baseline {
    align-items: baseline;
  }

  .s\+\|items-stretch {
    align-items: stretch;
  }

  .s\+\|justify-start {
    justify-content: flex-start;
  }

  .s\+\|justify-end {
    justify-content: flex-end;
  }

  .s\+\|justify-center {
    justify-content: center;
  }

  .s\+\|justify-between {
    justify-content: space-between;
  }

  .s\+\|justify-around {
    justify-content: space-around;
  }

  .s\+\|content-start {
    align-content: flex-start;
  }

  .s\+\|content-end {
    align-content: flex-end;
  }

  .s\+\|content-center {
    align-content: center;
  }

  .s\+\|content-between {
    align-content: space-between;
  }

  .s\+\|content-around {
    align-content: space-around;
  }

  .s\+\|content-stretch {
    align-content: stretch;
  }

  .s\+\|self-start {
    align-self: flex-start;
  }

  .s\+\|self-end {
    align-self: flex-end;
  }

  .s\+\|self-center {
    align-self: center;
  }

  .s\+\|self-baseline {
    align-self: baseline;
  }

  .s\+\|self-stretch {
    align-self: stretch;
  }

  .s\+\|order-0 {
    order: 0;
  }

  .s\+\|order-1 {
    order: 1;
  }

  .s\+\|order-2 {
    order: 2;
  }

  .s\+\|order-3 {
    order: 3;
  }

  .s\+\|order-4 {
    order: 4;
  }

  .s\+\|order-5 {
    order: 5;
  }

  .s\+\|order-6 {
    order: 6;
  }

  .s\+\|order-7 {
    order: 7;
  }

  .s\+\|order-8 {
    order: 8;
  }

  .s\+\|order-last {
    order: 99999;
  }

  .s\+\|mt-auto {
    margin-top: auto;
  }

  .s\+\|mr-auto {
    margin-right: auto;
  }

  .s\+\|mb-auto {
    margin-bottom: auto;
  }

  .s\+\|ml-auto {
    margin-left: auto;
  }
}
@media screen and (min-width: 700px) {
  .m\+\|flex-1 {
    flex: 1;
  }

  .m\+\|flex-2 {
    flex: 2;
  }

  .m\+\|flex-3 {
    flex: 3;
  }

  .m\+\|flex-4 {
    flex: 4;
  }

  .m\+\|flex-auto {
    flex: 1 1 auto;
  }

  .m\+\|flex-grow {
    flex: 1 0 auto;
  }

  .m\+\|flex-none {
    flex: none;
  }

  .m\+\|flex-110 {
    flex: 1 1 0;
  }

  .m\+\|flex-column {
    flex-direction: column;
  }

  .m\+\|flex-row {
    flex-direction: row;
  }

  .m\+\|flex-wrap {
    flex-wrap: wrap;
  }

  .m\+\|items-start {
    align-items: flex-start;
  }

  .m\+\|items-end {
    align-items: flex-end;
  }

  .m\+\|items-center {
    align-items: center;
  }

  .m\+\|items-baseline {
    align-items: baseline;
  }

  .m\+\|items-stretch {
    align-items: stretch;
  }

  .m\+\|justify-start {
    justify-content: flex-start;
  }

  .m\+\|justify-end {
    justify-content: flex-end;
  }

  .m\+\|justify-center {
    justify-content: center;
  }

  .m\+\|justify-between {
    justify-content: space-between;
  }

  .m\+\|justify-around {
    justify-content: space-around;
  }

  .m\+\|content-start {
    align-content: flex-start;
  }

  .m\+\|content-end {
    align-content: flex-end;
  }

  .m\+\|content-center {
    align-content: center;
  }

  .m\+\|content-between {
    align-content: space-between;
  }

  .m\+\|content-around {
    align-content: space-around;
  }

  .m\+\|content-stretch {
    align-content: stretch;
  }

  .m\+\|self-start {
    align-self: flex-start;
  }

  .m\+\|self-end {
    align-self: flex-end;
  }

  .m\+\|self-center {
    align-self: center;
  }

  .m\+\|self-baseline {
    align-self: baseline;
  }

  .m\+\|self-stretch {
    align-self: stretch;
  }

  .m\+\|order-0 {
    order: 0;
  }

  .m\+\|order-1 {
    order: 1;
  }

  .m\+\|order-2 {
    order: 2;
  }

  .m\+\|order-3 {
    order: 3;
  }

  .m\+\|order-4 {
    order: 4;
  }

  .m\+\|order-5 {
    order: 5;
  }

  .m\+\|order-6 {
    order: 6;
  }

  .m\+\|order-7 {
    order: 7;
  }

  .m\+\|order-8 {
    order: 8;
  }

  .m\+\|order-last {
    order: 99999;
  }

  .m\+\|mt-auto {
    margin-top: auto;
  }

  .m\+\|mr-auto {
    margin-right: auto;
  }

  .m\+\|mb-auto {
    margin-bottom: auto;
  }

  .m\+\|ml-auto {
    margin-left: auto;
  }
}
@media screen and (min-width: 900px) {
  .l\+\|flex-1 {
    flex: 1;
  }

  .l\+\|flex-2 {
    flex: 2;
  }

  .l\+\|flex-3 {
    flex: 3;
  }

  .l\+\|flex-4 {
    flex: 4;
  }

  .l\+\|flex-auto {
    flex: 1 1 auto;
  }

  .l\+\|flex-grow {
    flex: 1 0 auto;
  }

  .l\+\|flex-none {
    flex: none;
  }

  .l\+\|flex-110 {
    flex: 1 1 0;
  }

  .l\+\|flex-column {
    flex-direction: column;
  }

  .l\+\|flex-row {
    flex-direction: row;
  }

  .l\+\|flex-wrap {
    flex-wrap: wrap;
  }

  .l\+\|items-start {
    align-items: flex-start;
  }

  .l\+\|items-end {
    align-items: flex-end;
  }

  .l\+\|items-center {
    align-items: center;
  }

  .l\+\|items-baseline {
    align-items: baseline;
  }

  .l\+\|items-stretch {
    align-items: stretch;
  }

  .l\+\|justify-start {
    justify-content: flex-start;
  }

  .l\+\|justify-end {
    justify-content: flex-end;
  }

  .l\+\|justify-center {
    justify-content: center;
  }

  .l\+\|justify-between {
    justify-content: space-between;
  }

  .l\+\|justify-around {
    justify-content: space-around;
  }

  .l\+\|content-start {
    align-content: flex-start;
  }

  .l\+\|content-end {
    align-content: flex-end;
  }

  .l\+\|content-center {
    align-content: center;
  }

  .l\+\|content-between {
    align-content: space-between;
  }

  .l\+\|content-around {
    align-content: space-around;
  }

  .l\+\|content-stretch {
    align-content: stretch;
  }

  .l\+\|self-start {
    align-self: flex-start;
  }

  .l\+\|self-end {
    align-self: flex-end;
  }

  .l\+\|self-center {
    align-self: center;
  }

  .l\+\|self-baseline {
    align-self: baseline;
  }

  .l\+\|self-stretch {
    align-self: stretch;
  }

  .l\+\|order-0 {
    order: 0;
  }

  .l\+\|order-1 {
    order: 1;
  }

  .l\+\|order-2 {
    order: 2;
  }

  .l\+\|order-3 {
    order: 3;
  }

  .l\+\|order-4 {
    order: 4;
  }

  .l\+\|order-5 {
    order: 5;
  }

  .l\+\|order-6 {
    order: 6;
  }

  .l\+\|order-7 {
    order: 7;
  }

  .l\+\|order-8 {
    order: 8;
  }

  .l\+\|order-last {
    order: 99999;
  }

  .l\+\|mt-auto {
    margin-top: auto;
  }

  .l\+\|mr-auto {
    margin-right: auto;
  }

  .l\+\|mb-auto {
    margin-bottom: auto;
  }

  .l\+\|ml-auto {
    margin-left: auto;
  }
}
@media screen and (min-width: 1100px) {
  .xl\+\|flex-1 {
    flex: 1;
  }

  .xl\+\|flex-2 {
    flex: 2;
  }

  .xl\+\|flex-3 {
    flex: 3;
  }

  .xl\+\|flex-4 {
    flex: 4;
  }

  .xl\+\|flex-auto {
    flex: 1 1 auto;
  }

  .xl\+\|flex-grow {
    flex: 1 0 auto;
  }

  .xl\+\|flex-none {
    flex: none;
  }

  .xl\+\|flex-110 {
    flex: 1 1 0;
  }

  .xl\+\|flex-column {
    flex-direction: column;
  }

  .xl\+\|flex-row {
    flex-direction: row;
  }

  .xl\+\|flex-wrap {
    flex-wrap: wrap;
  }

  .xl\+\|items-start {
    align-items: flex-start;
  }

  .xl\+\|items-end {
    align-items: flex-end;
  }

  .xl\+\|items-center {
    align-items: center;
  }

  .xl\+\|items-baseline {
    align-items: baseline;
  }

  .xl\+\|items-stretch {
    align-items: stretch;
  }

  .xl\+\|justify-start {
    justify-content: flex-start;
  }

  .xl\+\|justify-end {
    justify-content: flex-end;
  }

  .xl\+\|justify-center {
    justify-content: center;
  }

  .xl\+\|justify-between {
    justify-content: space-between;
  }

  .xl\+\|justify-around {
    justify-content: space-around;
  }

  .xl\+\|content-start {
    align-content: flex-start;
  }

  .xl\+\|content-end {
    align-content: flex-end;
  }

  .xl\+\|content-center {
    align-content: center;
  }

  .xl\+\|content-between {
    align-content: space-between;
  }

  .xl\+\|content-around {
    align-content: space-around;
  }

  .xl\+\|content-stretch {
    align-content: stretch;
  }

  .xl\+\|self-start {
    align-self: flex-start;
  }

  .xl\+\|self-end {
    align-self: flex-end;
  }

  .xl\+\|self-center {
    align-self: center;
  }

  .xl\+\|self-baseline {
    align-self: baseline;
  }

  .xl\+\|self-stretch {
    align-self: stretch;
  }

  .xl\+\|order-0 {
    order: 0;
  }

  .xl\+\|order-1 {
    order: 1;
  }

  .xl\+\|order-2 {
    order: 2;
  }

  .xl\+\|order-3 {
    order: 3;
  }

  .xl\+\|order-4 {
    order: 4;
  }

  .xl\+\|order-5 {
    order: 5;
  }

  .xl\+\|order-6 {
    order: 6;
  }

  .xl\+\|order-7 {
    order: 7;
  }

  .xl\+\|order-8 {
    order: 8;
  }

  .xl\+\|order-last {
    order: 99999;
  }

  .xl\+\|mt-auto {
    margin-top: auto;
  }

  .xl\+\|mr-auto {
    margin-right: auto;
  }

  .xl\+\|mb-auto {
    margin-bottom: auto;
  }

  .xl\+\|ml-auto {
    margin-left: auto;
  }
}
.icon-52 {
  width: 2.6em;
  height: 2.6em;
}

.icon-46 {
  width: 2.3em;
  height: 2.3em;
}

.icon-40 {
  width: 2em;
  height: 2em;
}

.icon-26 {
  width: 1.3em;
  height: 1.3em;
}

.icon-20 {
  width: 1em;
  height: 1em;
}

.icon-16 {
  width: 0.8em;
  height: 0.8em;
}

.icon-scale-50 {
  font-size: 1.5em;
}

.icon-scale-100 {
  font-size: 2em;
}

.bgicon-20 {
  background-size: 1em 1em;
  background-repeat: no-repeat;
}

.bgicon-16 {
  background-size: 0.8em 0.8em;
  background-repeat: no-repeat;
}

.table-responsive {
  display: block;
  width: 100%;
  min-height: 0%;
  overflow-x: auto;
}

.icon-feature-blog {
  width: 2.75em;
  height: 2.75em;
}
.icon-feature-blog path {
  transition: fill 100ms ease-out;
}
.icon-feature-blog g[fill] {
  fill: none;
}
.icon-feature-blog #ring-3 {
  fill: #ffa940;
}
.icon-feature-blog #ring-2 {
  fill: #ff9b21;
}
.icon-feature-blog #ring-1 {
  fill: #ff8d03;
}
.icon-feature-blog #center {
  fill: #e37d00;
}
.icon-feature-blog:hover #ring-3 {
  fill: #38bdff;
  transition-delay: 150ms;
}
.icon-feature-blog:hover #ring-2 {
  fill: #1ab3ff;
  transition-delay: 100ms;
}
.icon-feature-blog:hover #ring-1 {
  fill: #00a7fa;
  transition-delay: 50ms;
}
.icon-feature-blog:hover #center {
  fill: #0092db;
  transition-delay: 0ms;
}

.icon-feature-newsletter {
  width: 3em;
  height: 3em;
}
.icon-feature-newsletter path {
  transition: all 100ms ease-out;
}
.icon-feature-newsletter #letter {
  stroke: #FFA940;
  transform: translateY(0);
}
.icon-feature-newsletter #front-border {
  fill: #ff8d03;
}
.icon-feature-newsletter #back-border {
  fill: #ff8d03;
}
.icon-feature-newsletter:hover #letter {
  stroke: #38bdff;
  transform: translateY(-0.1em);
}
.icon-feature-newsletter:hover #front-border {
  fill: #0092db;
}
.icon-feature-newsletter:hover #back-border {
  fill: #0092db;
}

/*

XCode style (c) Angel Garcia <angelgarcia.mail@gmail.com>

*/
.hljs .pyg-c,
.hljs .pyg-cm,
.hljs .pyg-cp,
.hljs .pyg-c1,
.hljs .pyg-cs,
.hljs .hljs-comment,
.hljs .hljs-template_comment,
.hljs .hljs-javadoc,
.hljs .hljs-comment *, .highlight .pyg-c,
.highlight .pyg-cm,
.highlight .pyg-cp,
.highlight .pyg-c1,
.highlight .pyg-cs,
.highlight .hljs-comment,
.highlight .hljs-template_comment,
.highlight .hljs-javadoc,
.highlight .hljs-comment * {
  /* 1 'green' */
  color: #49992f;
  /*rgb(0,106,0)*/
}
.hljs .pyg-k,
.hljs .pyg-kc,
.hljs .pyg-kd,
.hljs .pyg-kn,
.hljs .pyg-kp,
.hljs .pyg-kr,
.hljs .pyg-kt,
.hljs .hljs-keyword,
.hljs .hljs-literal,
.hljs .hljs-nginx .hljs-title, .highlight .pyg-k,
.highlight .pyg-kc,
.highlight .pyg-kd,
.highlight .pyg-kn,
.highlight .pyg-kp,
.highlight .pyg-kr,
.highlight .pyg-kt,
.highlight .hljs-keyword,
.highlight .hljs-literal,
.highlight .hljs-nginx .hljs-title {
  /* 2 'purple' */
  color: #aa0d91;
}
.hljs .hljs-method,
.hljs .hljs-list .hljs-title,
.hljs .hljs-tag .hljs-title,
.hljs .hljs-setting .hljs-value,
.hljs .hljs-winutils,
.hljs .hljs-tex .hljs-command,
.hljs .hljs-http .hljs-title,
.hljs .hljs-request,
.hljs .hljs-status, .highlight .hljs-method,
.highlight .hljs-list .hljs-title,
.highlight .hljs-tag .hljs-title,
.highlight .hljs-setting .hljs-value,
.highlight .hljs-winutils,
.highlight .hljs-tex .hljs-command,
.highlight .hljs-http .hljs-title,
.highlight .hljs-request,
.highlight .hljs-status {
  color: #008;
}
.hljs .hljs-envvar,
.hljs .hljs-tex .hljs-special, .highlight .hljs-envvar,
.highlight .hljs-tex .hljs-special {
  color: #660;
}
.hljs .pyg-s,
.hljs .pyg-sb,
.hljs .pyg-sc,
.hljs .pyg-sd,
.hljs .pyg-s2,
.hljs .pyg-se,
.hljs .pyg-sh,
.hljs .pyg-si,
.hljs .pyg-sx,
.hljs .pyg-sr,
.hljs .pyg-s1,
.hljs .pyg-ss,
.hljs .hljs-string, .highlight .pyg-s,
.highlight .pyg-sb,
.highlight .pyg-sc,
.highlight .pyg-sd,
.highlight .pyg-s2,
.highlight .pyg-se,
.highlight .pyg-sh,
.highlight .pyg-si,
.highlight .pyg-sx,
.highlight .pyg-sr,
.highlight .pyg-s1,
.highlight .pyg-ss,
.highlight .hljs-string {
  /* 3 'red' */
  color: #ef4134;
}
.hljs .hljs-tag .hljs-value,
.hljs .hljs-cdata,
.hljs .hljs-filter .hljs-argument,
.hljs .hljs-attr_selector,
.hljs .hljs-apache .hljs-cbracket,
.hljs .hljs-date,
.hljs .hljs-regexp, .highlight .hljs-tag .hljs-value,
.highlight .hljs-cdata,
.highlight .hljs-filter .hljs-argument,
.highlight .hljs-attr_selector,
.highlight .hljs-apache .hljs-cbracket,
.highlight .hljs-date,
.highlight .hljs-regexp {
  color: #080;
}
.hljs .pyg-mb,
.hljs .pyg-mf,
.hljs .pyg-mh,
.hljs .pyg-mi,
.hljs .pyg-mo,
.hljs .hljs-sub .hljs-identifier,
.hljs .hljs-pi,
.hljs .hljs-tag,
.hljs .hljs-tag .hljs-keyword,
.hljs .hljs-decorator,
.hljs .hljs-ini .hljs-title,
.hljs .hljs-shebang,
.hljs .hljs-prompt,
.hljs .hljs-hexcolor,
.hljs .hljs-rules .hljs-value,
.hljs .hljs-css .hljs-value .hljs-number,
.hljs .hljs-symbol,
.hljs .hljs-symbol .hljs-string,
.hljs .hljs-number,
.hljs .hljs-css .hljs-function,
.hljs .hljs-clojure .hljs-title,
.hljs .hljs-clojure .hljs-built_in, .highlight .pyg-mb,
.highlight .pyg-mf,
.highlight .pyg-mh,
.highlight .pyg-mi,
.highlight .pyg-mo,
.highlight .hljs-sub .hljs-identifier,
.highlight .hljs-pi,
.highlight .hljs-tag,
.highlight .hljs-tag .hljs-keyword,
.highlight .hljs-decorator,
.highlight .hljs-ini .hljs-title,
.highlight .hljs-shebang,
.highlight .hljs-prompt,
.highlight .hljs-hexcolor,
.highlight .hljs-rules .hljs-value,
.highlight .hljs-css .hljs-value .hljs-number,
.highlight .hljs-symbol,
.highlight .hljs-symbol .hljs-string,
.highlight .hljs-number,
.highlight .hljs-css .hljs-function,
.highlight .hljs-clojure .hljs-title,
.highlight .hljs-clojure .hljs-built_in {
  /* 4 'blue' */
  color: #0000aa;
  /*rgb(28,0,207)*/
}
.hljs .pyg-bp,
.hljs .hljs-class .hljs-title,
.hljs .hljs-haskell .hljs-type,
.hljs .hljs-smalltalk .hljs-class,
.hljs .hljs-javadoctag,
.hljs .hljs-yardoctag,
.hljs .hljs-phpdoc,
.hljs .hljs-typename,
.hljs .hljs-tag .hljs-attribute,
.hljs .hljs-doctype,
.hljs .hljs-class .hljs-id,
.hljs .hljs-built_in,
.hljs .hljs-setting,
.hljs .hljs-params,
.hljs .hljs-clojure .hljs-attribute,
.hljs .swift .hljs-type, .highlight .pyg-bp,
.highlight .hljs-class .hljs-title,
.highlight .hljs-haskell .hljs-type,
.highlight .hljs-smalltalk .hljs-class,
.highlight .hljs-javadoctag,
.highlight .hljs-yardoctag,
.highlight .hljs-phpdoc,
.highlight .hljs-typename,
.highlight .hljs-tag .hljs-attribute,
.highlight .hljs-doctype,
.highlight .hljs-class .hljs-id,
.highlight .hljs-built_in,
.highlight .hljs-setting,
.highlight .hljs-params,
.highlight .hljs-clojure .hljs-attribute,
.highlight .swift .hljs-type {
  /* 5 'dark purple' */
  color: #c56021;
  /*rgb(92,38,153)*/
  color: #5C2699;
}
.hljs .hljs-variable, .highlight .hljs-variable {
  /* 6 'teal' */
  color: #23a9db;
  /*rgb(63,110,116)*/
}
.hljs .hljs-css .hljs-tag,
.hljs .hljs-rules .hljs-property,
.hljs .hljs-pseudo,
.hljs .hljs-subst, .highlight .hljs-css .hljs-tag,
.highlight .hljs-rules .hljs-property,
.highlight .hljs-pseudo,
.highlight .hljs-subst {
  color: #222222;
  /*#000*/
}
.hljs .hljs-css .hljs-class, .hljs .hljs-css .hljs-id, .highlight .hljs-css .hljs-class, .highlight .hljs-css .hljs-id {
  color: #9B703F;
}
.hljs .hljs-value .hljs-important, .highlight .hljs-value .hljs-important {
  color: #ff7700;
  font-weight: bold;
}
.hljs .hljs-rules .hljs-keyword, .highlight .hljs-rules .hljs-keyword {
  color: #C5AF75;
}
.hljs .hljs-annotation,
.hljs .hljs-apache .hljs-sqbracket,
.hljs .hljs-nginx .hljs-built_in, .highlight .hljs-annotation,
.highlight .hljs-apache .hljs-sqbracket,
.highlight .hljs-nginx .hljs-built_in {
  color: #9B859D;
}
.hljs .hljs-preprocessor,
.hljs .hljs-preprocessor *, .highlight .hljs-preprocessor,
.highlight .hljs-preprocessor * {
  /* 7 'brown' */
  color: #8d4228;
  /*rgb(100,56,32)*/
}
.hljs .hljs-tex .hljs-formula, .highlight .hljs-tex .hljs-formula {
  background-color: #EEE;
  font-style: italic;
}
.hljs .hljs-diff .hljs-header,
.hljs .hljs-chunk, .highlight .hljs-diff .hljs-header,
.highlight .hljs-chunk {
  color: #808080;
  font-weight: bold;
}
.hljs .hljs-diff .hljs-change, .highlight .hljs-diff .hljs-change {
  background-color: #BCCFF9;
}
.hljs .hljs-addition, .highlight .hljs-addition {
  background-color: #BAEEBA;
}
.hljs .hljs-deletion, .highlight .hljs-deletion {
  background-color: #FFC8BD;
}
.hljs .hljs-comment .hljs-yardoctag, .highlight .hljs-comment .hljs-yardoctag {
  font-weight: bold;
}
.hljs .hljs-method .hljs-id, .highlight .hljs-method .hljs-id {
  color: #222222;
  /*#000*/
}

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT
Copyright (c) 2015 Daniel Eden
*/
.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

@keyframes shake {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes pulse {
  0% {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}
.shake {
  animation-name: shake;
}

.pulse {
  animation-name: pulse;
}

.flash {
  animation-name: flash;
}

/*# sourceMappingURL=all.css.map */
