.profile-card {
    width: 100%;
    padding: 10px 5px;
}

.profile-card .profile-card-body {
    display: flex;
    margin-bottom: 20px;
}

.profile-card .profile-card-body .profile-card-name {
    color: #333;
    font-weight: 600;
    font-size: 16px;
    line-height: 18px;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    vertical-align: sub;
}

.profile-card .profile-card-body .profile-card-info {
    margin-left: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.profile-card .profile-card-body .profile-card-name:hover {
    color: #337ab7;
}

.profile-card .profile-card-body .profile-card-photo {
    height: fit-content;
    padding-top: 3px;
    text-decoration: none;
}

.profile-card .profile-card-body .profile-card-photo img {
    width: 30px;
    height: 30px;
}

.profile-card .profile-card-body .profile-card-photo img[upgraded=true] {
    width: 36px;
    height: 36px;
    border-width: 1px;
    border-style: solid;
    --tw-border-opacity: 1;
    border-color: rgb(235 176 71 / var(--tw-border-opacity));
    padding: 2px;
}

.profile-card .profile-card-body .profile-card-username {
    font-size: 12px;
    line-height: 15px;
    color: #888;
    overflow: hidden;
    text-overflow: ellipsis;
}

.profile-card .profile-card-body .profile-card-description {
    font-size: 14px;
    line-height: 20px;
    word-break: break-word;
    color: #888;
    margin-top: 10px;
    white-space: normal;
}

.profile-card .profile-card-body .ui-avatar {
    display: inline-block;
    overflow: hidden;
    line-height: 1;
    vertical-align: middle;
    border-radius: 3px;
    object-fit: cover;
}

.profile-card .profile-card-body .ui-avatar.circle {
    border-radius: 50%;
}

.profile-card .profile-card-body .profile-card-prime-logo svg {
    width: 1em;
    height: 1em;
}

.profile-card .profile-settings {
    display: block;
    text-align: center;
    margin: 0 -21px -21px -21px;
    padding-top: 10px;
    font-size: 15px;
    padding-bottom: 10px;
    border-top: #d9d9d9 1px solid;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    color: #337ab7;
    text-decoration: none;
}

.profile-card .profile-settings:hover {
    background-color: #337ab7;
    color: #fff;
}

.react-popover .profile-popover {
    max-width: 260px;
    width: 260px;
}

.react-popover .profile-popover .profile-card .profile-card-body {
    padding: 10px 15px 0 15px;
}

.react-popover .profile-popover .profile-card .profile-settings {
    margin: 0 -6px -11px -6px;
}

.react-popover .popover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1060;
    display: block;
    max-width: 276px;
    font-family: -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 Roboto,
                 "Helvetica Neue",
                 Arial,
                 "Noto Sans",
                 sans-serif,
                 "Apple Color Emoji",
                 "Segoe UI Emoji",
                 "Segoe UI Symbol",
                 "Noto Color Emoji";
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    white-space: normal;
    line-break: auto;
    font-size: .875rem;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 6px;
}

.react-popover .popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: .5rem;
    margin: 0 .3rem;
    border-width: unset;
    border-style: unset;
}

.react-popover .popover .arrow::before, .react-popover .popover .arrow::after {
    position: absolute;
    display: block;
    content: "";
    border-color: transparent;
    border-style: solid;
}

.react-popover .bs-popover-top,
.react-popover .bs-popover-auto[x-placement^=top] {
    margin-bottom: .5rem;
}

.react-popover .bs-popover-top>.arrow,
.react-popover .bs-popover-auto[x-placement^=top]>.arrow {
    bottom: calc(-0.5rem - 1px);
}

.react-popover .bs-popover-top>.arrow::before,
.react-popover .bs-popover-auto[x-placement^=top]>.arrow::before {
    bottom: 0;
    border-width: .5rem .5rem 0;
    border-top-color: rgba(0, 0, 0, .25);
}

.react-popover .bs-popover-top>.arrow::after,
.react-popover .bs-popover-auto[x-placement^=top]>.arrow::after {
    bottom: 1px;
    border-width: .5rem .5rem 0;
    border-top-color: #fff;
}

.react-popover .bs-popover-right,
.react-popover .bs-popover-auto[x-placement^=right] {
    margin-left: .5rem;
}

.react-popover .bs-popover-right>.arrow,
.react-popover .bs-popover-auto[x-placement^=right]>.arrow {
    left: calc(-0.5rem - 1px);
    width: .5rem;
    height: 1rem;
    margin: .3rem 0;
}

.react-popover .bs-popover-right>.arrow::before,
.react-popover .bs-popover-auto[x-placement^=right]>.arrow::before {
    left: 0;
    border-width: .5rem .5rem .5rem 0;
    border-right-color: rgba(0, 0, 0, .25);
}

.react-popover .bs-popover-right>.arrow::after,
.react-popover .bs-popover-auto[x-placement^=right]>.arrow::after {
    left: 1px;
    border-width: .5rem .5rem .5rem 0;
    border-right-color: #fff;
}

.react-popover .bs-popover-bottom,
.react-popover .bs-popover-auto[x-placement^=bottom] {
    margin-top: .5rem;
}

.react-popover .bs-popover-bottom>.arrow,
.react-popover .bs-popover-auto[x-placement^=bottom]>.arrow {
    top: calc(-0.5rem - 1px);
}

.react-popover .bs-popover-bottom>.arrow::before,
.react-popover .bs-popover-auto[x-placement^=bottom]>.arrow::before {
    top: 0;
    border-width: 0 .5rem .5rem .5rem;
    border-bottom-color: rgba(0, 0, 0, .25);
}

.react-popover .bs-popover-bottom>.arrow::after,
.react-popover .bs-popover-auto[x-placement^=bottom]>.arrow::after {
    top: 1px;
    border-width: 0 .5rem .5rem .5rem;
    border-bottom-color: #fff;
}

.react-popover .bs-popover-bottom .popover-header::before,
.react-popover .bs-popover-auto[x-placement^=bottom] .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 1rem;
    margin-left: -0.5rem;
    content: "";
    border-bottom: 1px solid #f7f7f7;
}

.react-popover .bs-popover-left,
.react-popover .bs-popover-auto[x-placement^=left] {
    margin-right: .5rem;
}

.react-popover .bs-popover-left>.arrow,
.react-popover .bs-popover-auto[x-placement^=left]>.arrow {
    right: calc(-0.5rem - 1px);
    width: .5rem;
    height: 1rem;
    margin: .3rem 0;
}

.react-popover .bs-popover-left>.arrow::before,
.react-popover .bs-popover-auto[x-placement^=left]>.arrow::before {
    right: 0;
    border-width: .5rem 0 .5rem .5rem;
    border-left-color: rgba(0, 0, 0, .25);
}

.react-popover .bs-popover-left>.arrow::after,
.react-popover .bs-popover-auto[x-placement^=left]>.arrow::after {
    right: 1px;
    border-width: .5rem 0 .5rem .5rem;
    border-left-color: #fff;
}

[data-inline-comment-id] {
    background-color: rgba(102, 181, 250, .15);
    border: solid transparent;
    border-width: 0 0 2px 0;
}

[data-inline-comment-id].highlighted {
    border-color: #66b5f0;
    cursor: pointer;
    z-index: 1;
}

[data-inline-comment-id=user-selection-highlight] {
    background-color: rgba(255, 255, 0, .3);
}

[data-inline-comment-id=user-selection-highlight].highlighted {
    border-color: #ff0;
}

[data-inline-comment-id]>[data-inline-comment-id]>[data-inline-comment-id]>[data-inline-comment-id]>[data-inline-comment-id] {
    background-color: transparent;
}

.tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    margin: 0;
    font-family: -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 "Helvetica Neue",
                 Helvetica,
                 Roboto,
                 Arial,
                 sans-serif,
                 "Apple Color Emoji",
                 "Segoe UI Emoji",
                 "Segoe UI Symbol";
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    white-space: normal;
    line-break: auto;
    font-size: .875rem;
    word-wrap: break-word;
    opacity: 0;
    top: 0; /* workaround for issue https://github.com/FezVrasta/popper.js/issues/457 */
}

.tooltip.show {
    opacity: .9;
}

.tooltip .tooltip-arrow {
    position: absolute;
    display: block;
    width: .8rem;
    height: .4rem;
    border-color: unset; /* workaround to solve BS 3.x CSS conflicts */
    border-style: unset; /* workaround to solve BS 3.x CSS conflicts */
}

.tooltip .tooltip-arrow::before {
    position: absolute;
    content: "";
    border-color: transparent;
    border-style: solid;
}

.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
    padding: .4rem 0;
}

.bs-tooltip-top .tooltip-arrow,
.bs-tooltip-auto[x-placement^="top"] .tooltip-arrow {
    bottom: 0;
}

.bs-tooltip-top .tooltip-arrow::before,
.bs-tooltip-auto[x-placement^="top"] .tooltip-arrow::before {
    top: 0;
    border-width: .4rem .4rem 0;
    border-top-color: #777;
}

.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
    padding: 0 .4rem;
}

.bs-tooltip-right .tooltip-arrow,
.bs-tooltip-auto[x-placement^="right"] .tooltip-arrow {
    left: 0;
    width: .4rem;
    height: .8rem;
}

.bs-tooltip-right .tooltip-arrow::before,
.bs-tooltip-auto[x-placement^="right"] .tooltip-arrow::before {
    right: 0;
    border-width: .4rem .4rem .4rem 0;
    border-right-color: #777;
}

.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
    padding: .4rem 0;
}

.bs-tooltip-bottom .tooltip-arrow,
.bs-tooltip-auto[x-placement^="bottom"] .tooltip-arrow {
    top: 0;
}

.bs-tooltip-bottom .tooltip-arrow::before,
.bs-tooltip-auto[x-placement^="bottom"] .tooltip-arrow::before {
    bottom: 0;
    border-width: 0 .4rem .4rem;
    border-bottom-color: #777;
}

.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
    padding: 0 .4rem;
}

.bs-tooltip-left .tooltip-arrow,
.bs-tooltip-auto[x-placement^="left"] .tooltip-arrow {
    right: 0;
    width: .4rem;
    height: .8rem;
}

.bs-tooltip-left .tooltip-arrow::before,
.bs-tooltip-auto[x-placement^="left"] .tooltip-arrow::before {
    left: 0;
    border-width: .4rem 0 .4rem .4rem;
    border-left-color: #777;
}

.tooltip-inner {
    max-width: 200px;
    padding: .25rem .5rem;
    color: #fff;
    text-align: center;
    background-color: #777;
    border-radius: .25rem;
}

.site-ui-font {
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}

html[lang^=ja] .site-ui-font {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "Hiragino Kaku Gothic Pro",
                 "ヒラギノ角ゴ Pro W3",
                 Osaka,
                 Meiryo,
                 "メイリオ",
                 "MS Gothic",
                 "ＭＳ ゴシック",
                 sans-serif;
}

html[lang=zh-tw] .site-ui-font {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "PingFang TC",
                 "Microsoft JhengHei",
                 "微軟正黑",
                 sans-serif;
}

html[lang=zh-cn] .site-ui-font {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "PingFang SC",
                 "Microsoft YaHei",
                 "微软雅黑",
                 sans-serif;
}

.tooltip {
    font-weight: 600;
    font-size: 13px;
    line-height: 16px;
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}

html[lang^=ja] .tooltip {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "Hiragino Kaku Gothic Pro",
                 "ヒラギノ角ゴ Pro W3",
                 Osaka,
                 Meiryo,
                 "メイリオ",
                 "MS Gothic",
                 "ＭＳ ゴシック",
                 sans-serif;
}

html[lang=zh-tw] .tooltip {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "PingFang TC",
                 "Microsoft JhengHei",
                 "微軟正黑",
                 sans-serif;
}

html[lang=zh-cn] .tooltip {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "PingFang SC",
                 "Microsoft YaHei",
                 "微软雅黑",
                 sans-serif;
}

.tooltip .tooltip-inner {
    text-align: left;
    background-color: #777;
    padding: 6px 10px;
}

.tooltip.top .tooltip-arrow {
    border-top-color: #777 !important;
}

.tooltip.right .tooltip-arrow {
    border-right-color: #777 !important;
}

.tooltip.bottom .tooltip-arrow {
    border-bottom-color: #777 !important;
}

.tooltip.left .tooltip-arrow {
    border-left-color: #777 !important;
}

/*!
 * Generated using the Bootstrap Customizer (https://getbootstrap.com/docs/3.4/customize/)
 */

/*!
 * Bootstrap v3.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

html {
    font-family: sans-serif;
        -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu,
nav, section, summary {
    display: block;
}

audio, canvas, progress, video {
    display: inline-block;
    vertical-align: baseline;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden], template {
    display: none;
}

a {
    background-color: transparent;
}

a:active, a:hover {
    outline: 0;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}

b, strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

h1 {
    font-size: 2em;
    margin: .67em 0;
}

mark {
    background: #ff0;
    color: #000;
}

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 1em 40px;
}

hr {
    box-sizing: content-box;
    height: 0;
}

pre {
    overflow: auto;
}

code, kbd, pre, samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

button, input, optgroup, select, textarea {
    color: inherit;
    font: inherit;
    margin: 0;
}

button {
    overflow: visible;
}

button, select {
    text-transform: none;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled], html input[disabled] {
    cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

input {
    line-height: normal;
}

input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

input[type="search"] {
    -webkit-appearance: textfield;
    box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: .35em .625em .75em;
}

legend {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
}

optgroup {
    font-weight: bold;
}

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

td, th {
    padding: 0;
}

* {
    box-sizing: border-box;
}

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

html {
    font-size: 10px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.42857143;
    color: #333;
    background-color: #fff;
}

input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

a {
    color: #337ab7;
    text-decoration: none;
}

a:hover, a:focus {
    color: #23527c;
    text-decoration: underline;
}

a:focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
}

figure {
    margin: 0;
}

img {
    vertical-align: middle;
}

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

.img-rounded {
    border-radius: 6px;
}

.img-thumbnail {
    padding: 4px;
    line-height: 1.42857143;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all .2s ease-in-out;
    display: inline-block;
    max-width: 100%;
    height: auto;
}

.img-circle {
    border-radius: 50%;
}

hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 1px solid #eee;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.sr-only-focusable:active, .sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
}

[role="button"] {
    cursor: pointer;
}

.popover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1060;
    display: none;
    max-width: 276px;
    padding: 1px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.42857143;
    line-break: auto;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    word-wrap: normal;
    white-space: normal;
    font-size: 14px;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ccc;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: 6px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
}

.popover.top {
    margin-top: -10px;
}

.popover.right {
    margin-left: 10px;
}

.popover.bottom {
    margin-top: 10px;
}

.popover.left {
    margin-left: -10px;
}

.popover > .arrow {
    border-width: 11px;
}

.popover > .arrow, .popover > .arrow:after {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
}

.popover > .arrow:after {
    content: "";
    border-width: 10px;
}

.popover.top > .arrow {
    bottom: -11px;
    left: 50%;
    margin-left: -11px;
    border-top-color: #999;
    border-top-color: rgba(0, 0, 0, .25);
    border-bottom-width: 0;
}

.popover.top > .arrow:after {
    bottom: 1px;
    margin-left: -10px;
    content: " ";
    border-top-color: #fff;
    border-bottom-width: 0;
}

.popover.right > .arrow {
    top: 50%;
    left: -11px;
    margin-top: -11px;
    border-right-color: #999;
    border-right-color: rgba(0, 0, 0, .25);
    border-left-width: 0;
}

.popover.right > .arrow:after {
    bottom: -10px;
    left: 1px;
    content: " ";
    border-right-color: #fff;
    border-left-width: 0;
}

.popover.bottom > .arrow {
    top: -11px;
    left: 50%;
    margin-left: -11px;
    border-top-width: 0;
    border-bottom-color: #999;
    border-bottom-color: rgba(0, 0, 0, .25);
}

.popover.bottom > .arrow:after {
    top: 1px;
    margin-left: -10px;
    content: " ";
    border-top-width: 0;
    border-bottom-color: #fff;
}

.popover.left > .arrow {
    top: 50%;
    right: -11px;
    margin-top: -11px;
    border-right-width: 0;
    border-left-color: #999;
    border-left-color: rgba(0, 0, 0, .25);
}

.popover.left > .arrow:after {
    right: 1px;
    bottom: -10px;
    content: " ";
    border-right-width: 0;
    border-left-color: #fff;
}

.popover-title {
    padding: 8px 14px;
    margin: 0;
    font-size: 14px;
    background-color: #f7f7f7;
    border-bottom: 1px solid #ebebeb;
    border-radius: 5px 5px 0 0;
}

.popover-content {
    overflow: hidden;
    padding: 9px 14px;
}

.clearfix:before, .clearfix:after {
    display: table;
    content: " ";
}

.clearfix:after {
    clear: both;
}

.center-block {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

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

.pull-left {
    float: left !important;
}

.hide {
    display: none !important;
}

.show {
    display: block !important;
}

.invisible {
    visibility: hidden;
}

.text-hide {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;
}

.hidden {
    display: none !important;
}

.affix {
    position: fixed;
}

/*!
  Theme: Tomorrow Night
  Author: Chris Kempson (http://chriskempson.com)
  License: ~ MIT (or more permissive) [via base16-schemes-source]
  Maintainer: @highlightjs/core-team
  Version: 2021.09.0
*/

pre code.hljs {
    display: block;
    overflow-x: auto;
    padding: 1em;
}

code.hljs {
    padding: 3px 5px;
}

.hljs {
    color: #ccc;
    background: #2d2d2d;
}

.hljs ::selection, .hljs::selection {
    background-color: #515151;
    color: #ccc;
}

.hljs-comment {
    color: #999;
}

.hljs-tag {
    color: #b4b7b4;
}

.hljs-operator, .hljs-punctuation, .hljs-subst {
    color: #ccc;
}

.hljs-operator {
    opacity: .7;
}

.hljs-bullet, .hljs-deletion, .hljs-name, .hljs-selector-tag,
.hljs-template-variable, .hljs-variable {
    color: #f2777a;
}

.hljs-attr, .hljs-link, .hljs-literal, .hljs-number, .hljs-symbol,
.hljs-variable.constant_ {
    color: #f99157;
}

.hljs-class .hljs-title, .hljs-title, .hljs-title.class_ {
    color: #fc6;
}

.hljs-strong {
    font-weight: 700;
    color: #fc6;
}

.hljs-addition, .hljs-code, .hljs-string, .hljs-title.class_.inherited__ {
    color: #9c9;
}

.hljs-built_in, .hljs-doctag, .hljs-keyword.hljs-atrule, .hljs-quote,
.hljs-regexp {
    color: #6cc;
}

.hljs-attribute, .hljs-function .hljs-title, .hljs-section,
.hljs-title.function_, .ruby .hljs-property {
    color: #69c;
}

.diff .hljs-meta, .hljs-keyword, .hljs-template-tag, .hljs-type {
    color: #c9c;
}

.hljs-emphasis {
    color: #c9c;
    font-style: italic;
}

.hljs-meta, .hljs-meta .hljs-keyword, .hljs-meta .hljs-string {
    color: #a3685a;
}

.hljs-meta .hljs-keyword, .hljs-meta-keyword {
    font-weight: 700;
}

.markdown-body {
    font-family: -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 "Helvetica Neue",
                 Helvetica,
                 Roboto,
                 Arial,
                 sans-serif,
                 "Apple Color Emoji",
                 "Segoe UI Emoji",
                 "Segoe UI Symbol";
    font-size: 16px;
    line-height: 1.5;
    word-wrap: break-word;
}

.markdown-body::before {
    display: table;
    content: "";
}

.markdown-body::after {
    display: table;
    clear: both;
    content: "";
}

.markdown-body>*:first-child {
    margin-top: 0 !important;
}

.markdown-body>*:last-child {
    margin-bottom: 0 !important;
}

.markdown-body a:not([href]) {
    color: inherit;
    text-decoration: none;
}

.markdown-body .absent {
    color: #c00;
}

.markdown-body .anchor {
    float: left;
    padding-right: 4px;
    margin-left: -20px;
    line-height: 1;
}

.markdown-body .anchor:focus {
    outline: none;
}

.markdown-body p, .markdown-body blockquote, .markdown-body ul,
.markdown-body ol, .markdown-body dl, .markdown-body table, .markdown-body pre {
    margin-top: 0;
    margin-bottom: 16px;
}

.markdown-body hr {
    height: .25em;
    padding: 0;
    margin: 24px 0;
    background-color: #e7e7e7;
    border: 0;
}

.markdown-body blockquote {
    font-size: 16px;
    padding: 0 1em;
    color: #777;
    border-left: .25em solid #ddd;
}

.markdown-body blockquote>:first-child {
    margin-top: 0;
}

.markdown-body blockquote>:last-child {
    margin-bottom: 0;
}

.markdown-body kbd, .popover kbd {
    display: inline-block;
    padding: 3px 5px;
    font-size: 11px;
    line-height: 10px;
    color: #555;
    vertical-align: middle;
    background-color: #fcfcfc;
    border: solid 1px #ccc;
    border-bottom-color: #bbb;
    border-radius: 3px;
    box-shadow: inset 0 -1px 0 #bbb;
}

.markdown-body .loweralpha {
    list-style-type: lower-alpha;
}

.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4,
.markdown-body h5, .markdown-body h6 {
    margin-top: 24px;
    margin-bottom: 16px;
    font-weight: 600;
    line-height: 1.25;
}

.markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link,
.markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link,
.markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link {
    color: #000;
    vertical-align: middle;
    visibility: hidden;
}

.markdown-body h1:hover .anchor, .markdown-body h2:hover .anchor,
.markdown-body h3:hover .anchor, .markdown-body h4:hover .anchor,
.markdown-body h5:hover .anchor, .markdown-body h6:hover .anchor {
    text-decoration: none;
}

.markdown-body h1:hover .anchor .octicon-link,
.markdown-body h2:hover .anchor .octicon-link,
.markdown-body h3:hover .anchor .octicon-link,
.markdown-body h4:hover .anchor .octicon-link,
.markdown-body h5:hover .anchor .octicon-link,
.markdown-body h6:hover .anchor .octicon-link {
    visibility: visible;
}

.markdown-body h1 tt, .markdown-body h1 code, .markdown-body h2 tt,
.markdown-body h2 code, .markdown-body h3 tt, .markdown-body h3 code,
.markdown-body h4 tt, .markdown-body h4 code, .markdown-body h5 tt,
.markdown-body h5 code, .markdown-body h6 tt, .markdown-body h6 code {
    font-size: inherit;
}

.markdown-body h1 {
    padding-bottom: .3em;
    font-size: 2em;
    border-bottom: 1px solid #eee;
}

.markdown-body h2 {
    padding-bottom: .3em;
    font-size: 1.5em;
    border-bottom: 1px solid #eee;
}

.markdown-body h3 {
    font-size: 1.25em;
}

.markdown-body h4 {
    font-size: 1em;
}

.markdown-body h5 {
    font-size: .875em;
}

.markdown-body h6 {
    font-size: .85em;
    color: #777;
}

.markdown-body ul, .markdown-body ol {
    padding-left: 2em;
}

.markdown-body ul.no-list, .markdown-body ol.no-list {
    padding: 0;
    list-style-type: none;
}

.markdown-body ul ul, .markdown-body ul ol, .markdown-body ol ol,
.markdown-body ol ul {
    margin-top: 0;
    margin-bottom: 0;
}

.markdown-body li>p {
    margin-top: 16px;
}

.markdown-body li+li {
    padding-top: .25em;
}

.markdown-body dl {
    padding: 0;
}

.markdown-body dl dt {
    padding: 0;
    margin-top: 16px;
    font-size: 1em;
    font-style: italic;
    font-weight: bold;
}

.markdown-body dl dd {
    padding: 0 16px;
    margin-bottom: 16px;
}

.markdown-body table {
    display: block;
    width: 100%;
    overflow: auto;
    word-break: normal;
    word-break: keep-all;
}

.markdown-body table th {
    font-weight: bold;
}

.markdown-body table th, .markdown-body table td {
    padding: 6px 13px;
    border: 1px solid #ddd;
}

.markdown-body table tr {
    background-color: #fff;
    border-top: 1px solid #ccc;
}

.markdown-body table tr:nth-child(2n) {
    background-color: #f8f8f8;
}

.markdown-body img {
    max-width: 100%;
    box-sizing: content-box;
    background-color: #fff;
}

.markdown-body img[align=right] {
    padding-left: 20px;
}

.markdown-body img[align=left] {
    padding-right: 20px;
}

.markdown-body .emoji {
    max-width: none;
    vertical-align: text-top;
    background-color: transparent;
}

.markdown-body span.frame {
    display: block;
    overflow: hidden;
}

.markdown-body span.frame>span {
    display: block;
    float: left;
    width: auto;
    padding: 7px;
    margin: 13px 0 0;
    overflow: hidden;
    border: 1px solid #ddd;
}

.markdown-body span.frame span img {
    display: block;
    float: left;
}

.markdown-body span.frame span span {
    display: block;
    padding: 5px 0 0;
    clear: both;
    color: #333;
}

.markdown-body span.align-center {
    display: block;
    overflow: hidden;
    clear: both;
}

.markdown-body span.align-center>span {
    display: block;
    margin: 13px auto 0;
    overflow: hidden;
    text-align: center;
}

.markdown-body span.align-center span img {
    margin: 0 auto;
    text-align: center;
}

.markdown-body span.align-right {
    display: block;
    overflow: hidden;
    clear: both;
}

.markdown-body span.align-right>span {
    display: block;
    margin: 13px 0 0;
    overflow: hidden;
    text-align: right;
}

.markdown-body span.align-right span img {
    margin: 0;
    text-align: right;
}

.markdown-body span.float-left {
    display: block;
    float: left;
    margin-right: 13px;
    overflow: hidden;
}

.markdown-body span.float-left span {
    margin: 13px 0 0;
}

.markdown-body span.float-right {
    display: block;
    float: right;
    margin-left: 13px;
    overflow: hidden;
}

.markdown-body span.float-right>span {
    display: block;
    margin: 13px auto 0;
    overflow: hidden;
    text-align: right;
}

.markdown-body code, .markdown-body tt {
    padding: 0;
    padding-top: .2em;
    padding-bottom: .2em;
    margin: 0;
    font-size: 85%;
    background-color: rgba(0, 0, 0, .04);
    border-radius: 3px;
}

.markdown-body code::before, .markdown-body code::after,
.markdown-body tt::before, .markdown-body tt::after {
    letter-spacing: -0.2em;
    content: "\00a0";
}

.markdown-body code br, .markdown-body tt br {
    display: none;
}

.markdown-body del code {
    text-decoration: inherit;
}

.markdown-body pre {
    word-wrap: normal;
}

.markdown-body pre>code {
    padding: 0;
    margin: 0;
    font-size: 100%;
    word-break: normal;
    white-space: pre;
    background: transparent;
    border: 0;
}

.markdown-body .highlight {
    margin-bottom: 16px;
}

.markdown-body .highlight pre {
    margin-bottom: 0;
    word-break: normal;
}

.markdown-body .highlight pre, .markdown-body pre {
    padding: 16px;
    overflow: auto;
    font-size: 85%;
    line-height: 1.45;
    background-color: #f7f7f7;
    border-radius: 3px;
}

.markdown-body pre code, .markdown-body pre tt {
    display: inline;
    max-width: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    line-height: inherit;
    word-wrap: normal;
    background-color: transparent;
    border: 0;
}

.markdown-body pre code::before, .markdown-body pre code::after,
.markdown-body pre tt::before, .markdown-body pre tt::after {
    content: normal;
}

.markdown-body .csv-data td, .markdown-body .csv-data th {
    padding: 5px;
    overflow: hidden;
    font-size: 12px;
    line-height: 1;
    text-align: left;
    white-space: nowrap;
}

.markdown-body .csv-data .blob-line-num {
    padding: 10px 8px 9px;
    text-align: right;
    background: #fff;
    border: 0;
}

.markdown-body .csv-data tr {
    border-top: 0;
}

.markdown-body .csv-data th {
    font-weight: bold;
    background: #f8f8f8;
    border-top: 0;
}

.news .alert .markdown-body blockquote {
    padding: 0 0 0 40px;
    border: 0 none;
}

.activity-tab .news .markdown-body blockquote,
.activity-tab .news .alert .commits {
    padding-left: 0;
}

.task-list-item {
    list-style-type: none;
}

.task-list-item label {
    font-weight: normal;
}

.task-list-item.enabled label {
    cursor: pointer;
}

.task-list-item+.task-list-item {
    margin-top: 3px;
}

.task-list-item-checkbox {
    float: left;
    margin: .31em 0 .2em -1.3em !important;
    vertical-align: middle;
    cursor: default !important;
}

/* Flowchart variables */

/* Sequence Diagram variables */

/* Gantt chart variables */

.mermaid .label {
    color: #333;
}

/* workaround to solve conflict bootstrap styles */

.mermaid .label {
    display: unset;
    padding: unset;
    font-size: unset;
    font-weight: unset;
    line-height: unset;
    text-align: unset;
    white-space: unset;
    vertical-align: unset;
    border-radius: unset;
}

.mermaid .node rect, .mermaid .node circle, .mermaid .node ellipse,
.mermaid .node polygon {
    fill: #ececff;
    stroke: #ccf;
    stroke-width: 1px;
}

.mermaid .edgePath .path {
    stroke: #333;
}

.mermaid .edgeLabel {
    background-color: #e8e8e8;
}

.mermaid .cluster rect {
    fill: #ffffde !important;
    rx: 4 !important;
    stroke: #aa3 !important;
    stroke-width: 1px !important;
}

.mermaid .cluster text {
    fill: #333;
}

.mermaid .actor {
    stroke: #ccf;
    fill: #ececff;
}

.mermaid text.actor {
    fill: black;
    stroke: none;
}

.mermaid .actor-line {
    stroke: grey;
}

.mermaid .messageLine0 {
    stroke-width: 1.5;
    stroke-dasharray: "2 2";
    marker-end: "url(#arrowhead)";
    stroke: #333;
}

.mermaid .messageLine1 {
    stroke-width: 1.5;
    stroke-dasharray: "2 2";
    stroke: #333;
}

.mermaid #arrowhead {
    fill: #333;
}

.mermaid #crosshead path {
    fill: #333 !important;
    stroke: #333 !important;
}

.mermaid .messageText {
    fill: #333;
    stroke: none;
}

.mermaid .labelBox {
    stroke: #ccf;
    fill: #ececff;
}

.mermaid .labelText {
    fill: black;
    stroke: none;
}

.mermaid .loopText {
    fill: black;
    stroke: none;
}

.mermaid .loopLine {
    stroke-width: 2;
    stroke-dasharray: "2 2";
    marker-end: "url(#arrowhead)";
    stroke: #ccf;
}

.mermaid .note {
    stroke: #aa3;
    fill: #fff5ad;
}

.mermaid .noteText {
    fill: black;
    stroke: none;
    font-family: 'trebuchet ms', verdana, arial;
    font-size: 14px;
}

/** Section styling */

.mermaid .section {
    stroke: none;
    opacity: .2;
}

.mermaid .section0 {
    fill: rgba(102, 102, 255, .49);
}

.mermaid .section2 {
    fill: #fff400;
}

.mermaid .section1, .mermaid .section3 {
    fill: white;
    opacity: .2;
}

.mermaid .sectionTitle0 {
    fill: #333;
}

.mermaid .sectionTitle1 {
    fill: #333;
}

.mermaid .sectionTitle2 {
    fill: #333;
}

.mermaid .sectionTitle3 {
    fill: #333;
}

.mermaid .sectionTitle {
    text-anchor: start;
    font-size: 11px;
    text-height: 14px;
}

/* Grid and axis */

.mermaid .grid .tick {
    stroke: lightgrey;
    opacity: .3;
    shape-rendering: crispEdges;
}

.mermaid .grid path {
    stroke-width: 0;
}

/* Today line */

.mermaid .today {
    fill: none;
    stroke: red;
    stroke-width: 2px;
}

/* Task styling */

/* Default task */

.mermaid .task {
    stroke-width: 2;
}

.mermaid .taskText {
    text-anchor: middle;
    font-size: 11px;
}

.mermaid .taskTextOutsideRight {
    fill: black;
    text-anchor: start;
    font-size: 11px;
}

.mermaid .taskTextOutsideLeft {
    fill: black;
    text-anchor: end;
    font-size: 11px;
}

/* Specific task settings for the sections*/

.mermaid .taskText0, .mermaid .taskText1, .mermaid .taskText2,
.mermaid .taskText3 {
    fill: white;
}

.mermaid .task0, .mermaid .task1, .mermaid .task2, .mermaid .task3 {
    fill: #8a90dd;
    stroke: #534fbc;
}

.mermaid .taskTextOutside0, .mermaid .taskTextOutside2 {
    fill: black;
}

.mermaid .taskTextOutside1, .mermaid .taskTextOutside3 {
    fill: black;
}

/* Active task */

.mermaid .active0, .mermaid .active1, .mermaid .active2, .mermaid .active3 {
    fill: #bfc7ff;
    stroke: #534fbc;
}

.mermaid .activeText0, .mermaid .activeText1, .mermaid .activeText2,
.mermaid .activeText3 {
    fill: black !important;
}

/* Completed task */

.mermaid .done0, .mermaid .done1, .mermaid .done2, .mermaid .done3 {
    stroke: grey;
    fill: lightgrey;
    stroke-width: 2;
}

.mermaid .doneText0, .mermaid .doneText1, .mermaid .doneText2,
.mermaid .doneText3 {
    fill: black !important;
}

/* Tasks on the critical line */

.mermaid .crit0, .mermaid .crit1, .mermaid .crit2, .mermaid .crit3 {
    stroke: #f88;
    fill: red;
    stroke-width: 2;
}

.mermaid .activeCrit0, .mermaid .activeCrit1, .mermaid .activeCrit2,
.mermaid .activeCrit3 {
    stroke: #f88;
    fill: #bfc7ff;
    stroke-width: 2;
}

.mermaid .doneCrit0, .mermaid .doneCrit1, .mermaid .doneCrit2,
.mermaid .doneCrit3 {
    stroke: #f88;
    fill: lightgrey;
    stroke-width: 2;
    cursor: pointer;
    shape-rendering: crispEdges;
}

.mermaid .doneCritText0, .mermaid .doneCritText1, .mermaid .doneCritText2,
.mermaid .doneCritText3 {
    fill: black !important;
}

.mermaid .activeCritText0, .mermaid .activeCritText1, .mermaid .activeCritText2,
.mermaid .activeCritText3 {
    fill: black !important;
}

.mermaid .titleText {
    text-anchor: middle;
    font-size: 18px;
    fill: black;
}

/*


*/

.mermaid .node text {
    font-family: 'trebuchet ms', verdana, arial;
    font-size: 14px;
}

div.mermaidTooltip {
    position: fixed !important;
    text-align: center;
    max-width: 200px;
    padding: 2px;
    font-family: 'trebuchet ms', verdana, arial;
    font-size: 12px;
    background: #ffffde;
    border: 1px solid #aa3;
    border-radius: 2px;
    pointer-events: none;
    z-index: 100;
}

/* for markdown-body */

.markdown-body {
    font-family: -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 "Helvetica Neue",
                 Helvetica,
                 Roboto,
                 Arial,
                 sans-serif,
                 "Apple Color Emoji",
                 "Segoe UI Emoji",
                 "Segoe UI Symbol";
    padding-top: 40px;
    padding-bottom: 40px;
    max-width: 758px;
    overflow: visible !important;
    position: relative;
}

/*fixed style for bootstrap comflict*/

.markdown-body.next-editor {
    overflow-x: hidden !important;
}

.markdown-body .emoji {
    vertical-align: top;
}

.markdown-body pre {
    border: inherit !important;
}

.markdown-body code {
    color: inherit !important;
}

.markdown-body pre code .wrapper {
    display: -moz-inline-flex;
    display: -ms-inline-flex;
    display: -o-inline-flex;
    display: inline-flex;
}

.markdown-body pre code .gutter {
    float: left;
    overflow: hidden;
    user-select: none;
}

.markdown-body pre code .gutter.linenumber {
    text-align: right;
    position: relative;
    display: inline-block;
    cursor: default;
    z-index: 4;
    padding: 0 8px 0 0;
    min-width: 20px;
    box-sizing: content-box;
    color: #afafaf !important;
    border-right: 3px solid #6ce26c !important;
}

.markdown-body pre code .gutter.linenumber > span:before {
    content: attr(data-linenumber);
}

.markdown-body pre code .code {
    float: left;
    margin: 0 0 0 16px;
}

.markdown-body .gist .line-numbers {
    border-left: none;
    border-top: none;
    border-bottom: none;
}

.markdown-body .gist .line-data {
    border: none;
}

.markdown-body .gist table {
    border-spacing: 0;
    border-collapse: inherit !important;
}

.markdown-body code[data-gist-id] {
    background: none;
    padding: 0;
}

.markdown-body code[data-gist-id]:before {
    content: '';
}

.markdown-body code[data-gist-id]:after {
    content: '';
}

.markdown-body code[data-gist-id] .blob-num {
    border: unset;
}

.markdown-body code[data-gist-id] table {
    overflow: unset;
    margin-bottom: unset;
}

.markdown-body code[data-gist-id] table tr {
    background: unset;
}

/*fixed style for rtl in pre and code*/

.markdown-body[dir='rtl'] pre {
    direction: ltr;
}

.markdown-body[dir='rtl'] code {
    direction: ltr;
    unicode-bidi: embed;
}

.markdown-body .alert > p:last-child {
    margin-bottom: 0;
}

.markdown-body pre.flow-chart, .markdown-body pre.sequence-diagram,
.markdown-body pre.graphviz, .markdown-body pre.mermaid, .markdown-body pre.abc,
.markdown-body pre.vega {
    text-align: center;
    background-color: inherit;
    border-radius: 0;
    white-space: inherit;
    overflow: visible; /* prevent top right menu overflow scroll */
}

.markdown-body pre.flow-chart > code, .markdown-body pre.sequence-diagram > code,
.markdown-body pre.graphviz > code, .markdown-body pre.mermaid > code,
.markdown-body pre.abc > code, .markdown-body pre.vega > code {
    text-align: left;
}

.markdown-body pre.flow-chart > svg, .markdown-body pre.sequence-diagram > svg,
.markdown-body pre.graphviz > svg, .markdown-body pre.mermaid > svg,
.markdown-body pre.abc > svg, .markdown-body pre.vega > svg {
    max-width: 100%;
    height: 100%;
}

.markdown-body pre > code.wrap {
    white-space: pre-wrap; /* Since CSS 2.1 */
    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
    white-space: -pre-wrap; /* Opera 4-6 */
    white-space: -o-pre-wrap; /* Opera 7 */
    word-wrap: break-word; /* Internet Explorer 5.5+ */
}

.markdown-body .alert > p:last-child, .markdown-body .alert > ul:last-child {
    margin-bottom: 0;
}

.markdown-body summary {
    display: list-item;
}

.markdown-body summary:focus {
    outline: none;
}

.markdown-body details summary {
    cursor: pointer;
}

.markdown-body details:not([open]) > *:not(summary) {
    display: none;
}

.markdown-body figure {
    margin: 1em 40px;
}

.markdown-body .mark, .markdown-body mark {
    background-color: #fff1a7;
}

.site-ui-font {
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}

html[lang^=ja] .site-ui-font {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "Hiragino Kaku Gothic Pro",
                 "ヒラギノ角ゴ Pro W3",
                 Osaka,
                 Meiryo,
                 "メイリオ",
                 "MS Gothic",
                 "ＭＳ ゴシック",
                 sans-serif;
}

html[lang=zh-tw] .site-ui-font {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "PingFang TC",
                 "Microsoft JhengHei",
                 "微軟正黑",
                 sans-serif;
}

html[lang=zh-cn] .site-ui-font {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "PingFang SC",
                 "Microsoft YaHei",
                 "微软雅黑",
                 sans-serif;
}

.vimeo, .youtube {
    position: relative;
    cursor: pointer;
    display: table;
    width: 100%;
    text-align: center;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #000;
    overflow: hidden;
}

.youtube {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
}

.vimeo img {
    width: 100%;
    object-fit: contain;
    z-index: 0;
}

.youtube img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.vimeo iframe, .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    z-index: 1;
}

.vimeo .icon, .youtube .icon {
    position: absolute;
    height: auto;
    width: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    opacity: .3;
    transition: opacity .2s;
    z-index: 0;
}

.vimeo:hover .icon, .youtube:hover .icon {
    opacity: .6;
    transition: opacity .2s;
}

.slideshare .inner, .speakerdeck .inner {
    position: relative;
    width: 100%;
}

.slideshare .inner iframe, .speakerdeck .inner iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.figma {
    display: table;
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
}

.figma iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #eee;
}

.markmap-container {
    height: 300px;
}

.markmap-container>svg {
    width: 100%;
    height: 100%;
}

.MJX_Assistive_MathML {
    display: none;
}

#MathJax_Message {
    z-index: 1000 !important;
}

.ui-infobar {
    position: relative;
    z-index: 2;
    max-width: 760px;
    margin: 25px auto -25px auto;
    color: #777;
}

.toc .invisable-node {
    list-style-type: none;
}

.ui-toc {
    position: fixed;
    bottom: 20px;
    z-index: 998;
}

.ui-toc.both-mode {
    margin-left: 8px;
}

.ui-toc.both-mode .ui-toc-label {
    height: 40px;
    padding: 10px 4px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.ui-toc-label {
    background-color: #e6e6e6;
    border: none;
    color: #868686;
    transition: opacity .2s;
}

.ui-toc .open .ui-toc-label {
    opacity: 1;
    color: #fff;
    transition: opacity .2s;
}

.ui-toc-label:focus {
    opacity: .3;
    background-color: #ccc;
    color: #000;
}

.ui-toc-label:hover {
    opacity: 1;
    background-color: #ccc;
    transition: opacity .2s;
}

.ui-toc-dropdown {
    margin-top: 20px;
    margin-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px;
    max-width: 45vw;
    width: 25vw;
    max-height: 70vh;
    overflow: auto;
    text-align: inherit;
}

.ui-toc-dropdown>.toc {
    max-height: calc(70vh - 100px);
    overflow: auto;
}

.ui-toc-dropdown[dir=rtl] .nav {
    padding-right: 0;
    letter-spacing: .0029em;
}

.ui-toc-dropdown a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: pre;
}

.ui-toc-dropdown .nav>li>a {
    display: block;
    padding: 4px 20px;
    font-size: 13px;
    font-weight: 500;
    color: #767676;
}

.ui-toc-dropdown .toc.expand ul {
    display: block;
}

.ui-toc-dropdown .nav>li:first-child:nth-last-child(1)>ul {
    display: block;
}

.ui-toc-dropdown .nav>li>a:focus, .ui-toc-dropdown .nav>li>a:hover {
    padding-left: 19px;
    color: #000;
    text-decoration: none;
    background-color: transparent;
    border-left: 1px solid #000;
}

.ui-toc-dropdown[dir=rtl] .nav>li>a:focus,
.ui-toc-dropdown[dir=rtl] .nav>li>a:hover {
    padding-right: 19px;
    border-left: none;
    border-right: 1px solid #000;
}

.ui-toc-dropdown .nav>.active:focus>a, .ui-toc-dropdown .nav>.active:hover>a,
.ui-toc-dropdown .nav>.active>a {
    padding-left: 18px;
    font-weight: 700;
    color: #000;
    background-color: transparent;
    border-left: 2px solid #000;
}

.ui-toc-dropdown[dir=rtl] .nav>.active:focus>a,
.ui-toc-dropdown[dir=rtl] .nav>.active:hover>a,
.ui-toc-dropdown[dir=rtl] .nav>.active>a {
    padding-right: 18px;
    border-left: none;
    border-right: 2px solid #000;
}

.ui-toc-dropdown .nav .nav {
    display: none;
    padding-bottom: 10px;
}

.ui-toc-dropdown .nav>.active>ul {
    display: block;
}

.ui-toc-dropdown .nav .nav>li>a {
    padding-top: 1px;
    padding-bottom: 1px;
    padding-left: 30px;
    font-size: 12px;
    font-weight: 400;
}

.ui-toc-dropdown[dir=rtl] .nav .nav>li>a {
    padding-right: 30px;
}

.ui-toc-dropdown .nav .nav>li>ul>li>a {
    padding-top: 1px;
    padding-bottom: 1px;
    padding-left: 40px;
    font-size: 12px;
    font-weight: 400;
}

.ui-toc-dropdown[dir=rtl] .nav .nav>li>ul>li>a {
    padding-right: 40px;
}

.ui-toc-dropdown .nav .nav>li>a:focus, .ui-toc-dropdown .nav .nav>li>a:hover {
    padding-left: 29px;
}

.ui-toc-dropdown[dir=rtl] .nav .nav>li>a:focus,
.ui-toc-dropdown[dir=rtl] .nav .nav>li>a:hover {
    padding-right: 29px;
}

.ui-toc-dropdown .nav .nav>li>ul>li>a:focus,
.ui-toc-dropdown .nav .nav>li>ul>li>a:hover {
    padding-left: 39px;
}

.ui-toc-dropdown[dir=rtl] .nav .nav>li>ul>li>a:focus,
.ui-toc-dropdown[dir=rtl] .nav .nav>li>ul>li>a:hover {
    padding-right: 39px;
}

.ui-toc-dropdown .nav .nav>.active:focus>a,
.ui-toc-dropdown .nav .nav>.active:hover>a, .ui-toc-dropdown .nav .nav>.active>a {
    padding-left: 28px;
    font-weight: 500;
}

.ui-toc-dropdown[dir=rtl] .nav .nav>.active:focus>a,
.ui-toc-dropdown[dir=rtl] .nav .nav>.active:hover>a,
.ui-toc-dropdown[dir=rtl] .nav .nav>.active>a {
    padding-right: 28px;
}

.ui-toc-dropdown .nav .nav>.active>.nav>.active:focus>a,
.ui-toc-dropdown .nav .nav>.active>.nav>.active:hover>a,
.ui-toc-dropdown .nav .nav>.active>.nav>.active>a {
    padding-left: 38px;
    font-weight: 500;
}

.ui-toc-dropdown[dir=rtl] .nav .nav>.active>.nav>.active:focus>a,
.ui-toc-dropdown[dir=rtl] .nav .nav>.active>.nav>.active:hover>a,
.ui-toc-dropdown[dir=rtl] .nav .nav>.active>.nav>.active>a {
    padding-right: 38px;
}

.markdown-body {
    font-family: -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 "Helvetica Neue",
                 Helvetica,
                 Roboto,
                 Arial,
                 sans-serif,
                 "Apple Color Emoji",
                 "Segoe UI Emoji",
                 "Segoe UI Symbol";
}

html[lang^=ja] .markdown-body {
    font-family: -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 "Helvetica Neue",
                 Helvetica,
                 Roboto,
                 Arial,
                 "Hiragino Kaku Gothic Pro",
                 "ヒラギノ角ゴ Pro W3",
                 Osaka,
                 Meiryo,
                 "メイリオ",
                 "MS Gothic",
                 "ＭＳ ゴシック",
                 sans-serif,
                 "Apple Color Emoji",
                 "Segoe UI Emoji",
                 "Segoe UI Symbol";
}

html[lang=zh-tw] .markdown-body {
    font-family: -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 "Helvetica Neue",
                 Helvetica,
                 Roboto,
                 Arial,
                 "PingFang TC",
                 "Microsoft JhengHei",
                 "微軟正黑",
                 sans-serif,
                 "Apple Color Emoji",
                 "Segoe UI Emoji",
                 "Segoe UI Symbol";
}

html[lang=zh-cn] .markdown-body {
    font-family: -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 "Helvetica Neue",
                 Helvetica,
                 Roboto,
                 Arial,
                 "PingFang SC",
                 "Microsoft YaHei",
                 "微软雅黑",
                 sans-serif,
                 "Apple Color Emoji",
                 "Segoe UI Emoji",
                 "Segoe UI Symbol";
}

html .markdown-body[lang^=ja] {
    font-family: -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 "Helvetica Neue",
                 Helvetica,
                 Roboto,
                 Arial,
                 "Hiragino Kaku Gothic Pro",
                 "ヒラギノ角ゴ Pro W3",
                 Osaka,
                 Meiryo,
                 "メイリオ",
                 "MS Gothic",
                 "ＭＳ ゴシック",
                 sans-serif,
                 "Apple Color Emoji",
                 "Segoe UI Emoji",
                 "Segoe UI Symbol";
}

html .markdown-body[lang=zh-tw] {
    font-family: -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 "Helvetica Neue",
                 Helvetica,
                 Roboto,
                 Arial,
                 "PingFang TC",
                 "Microsoft JhengHei",
                 "微軟正黑",
                 sans-serif,
                 "Apple Color Emoji",
                 "Segoe UI Emoji",
                 "Segoe UI Symbol";
}

html .markdown-body[lang=zh-cn] {
    font-family: -apple-system,
                 BlinkMacSystemFont,
                 "Segoe UI",
                 "Helvetica Neue",
                 Helvetica,
                 Roboto,
                 Arial,
                 "PingFang SC",
                 "Microsoft YaHei",
                 "微软雅黑",
                 sans-serif,
                 "Apple Color Emoji",
                 "Segoe UI Emoji",
                 "Segoe UI Symbol";
}

html[lang^=ja] .ui-toc-dropdown {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "Meiryo UI",
                 "MS PGothic",
                 "ＭＳ Ｐゴシック",
                 sans-serif;
}

html[lang=zh-tw] .ui-toc-dropdown {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "Microsoft JhengHei UI",
                 "微軟正黑UI",
                 sans-serif;
}

html[lang=zh-cn] .ui-toc-dropdown {
    font-family: "Source Sans Pro", Helvetica, Arial, "Microsoft YaHei UI", "微软雅黑UI", sans-serif;
}

html .ui-toc-dropdown[lang^=ja] {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "Meiryo UI",
                 "MS PGothic",
                 "ＭＳ Ｐゴシック",
                 sans-serif;
}

html .ui-toc-dropdown[lang=zh-tw] {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "Microsoft JhengHei UI",
                 "微軟正黑UI",
                 sans-serif;
}

html .ui-toc-dropdown[lang=zh-cn] {
    font-family: "Source Sans Pro", Helvetica, Arial, "Microsoft YaHei UI", "微软雅黑UI", sans-serif;
}

.ui-affix-toc {
    position: fixed;
    top: 0;
    max-width: 15vw;
    max-height: 70vh;
    overflow: auto;
}

.expand-toggle, .back-to-top, .go-to-bottom {
    display: block;
    padding: 4px 10px;
    margin-top: 10px;
    margin-left: 10px;
    font-size: 12px;
    font-weight: 500;
    color: #999;
}

.expand-toggle:hover, .expand-toggle:focus, .back-to-top:hover,
.back-to-top:focus, .go-to-bottom:hover, .go-to-bottom:focus {
    color: #563d7c;
    text-decoration: none;
}

.back-to-top, .go-to-bottom {
    margin-top: 0;
}

.ui-user-icon {
    width: 20px;
    height: 20px;
    display: block;
    border-radius: 50%;
    margin-top: 2px;
    margin-bottom: 2px;
    margin-right: 5px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.ui-user-icon.small {
    width: 18px;
    height: 18px;
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 .2em 0;
}

.ui-infobar>small>span {
    line-height: 22px;
}

.ui-infobar>small .dropdown {
    display: inline-block;
}

.ui-infobar>small .dropdown a:focus, .ui-infobar>small .dropdown a:hover {
    text-decoration: none;
}

.ui-more-info {
    color: #888;
    cursor: pointer;
    vertical-align: middle;
}

.ui-more-info .fa {
    font-size: 16px;
}

.ui-published-note, .ui-connectedGithub {
    color: #888;
}

.ui-connectedGithub {
    line-height: 23px;
    white-space: nowrap;
}

.ui-connectedGithub a.file-path {
    color: #888;
    text-decoration: none;
    padding-left: 22px;
}

.ui-connectedGithub a.file-path:hover, .ui-connectedGithub a.file-path:active {
    color: #888;
    text-decoration: underline;
}

.ui-connectedGithub .fa {
    font-size: 20px;
}

.ui-published-note .fa {
    font-size: 20px;
    vertical-align: top;
}

.unselectable {
    -o-user-select: none;
       user-select: none;
}

.selectable {
    -o-user-select: text;
       user-select: text;
}

.inline-spoiler-section {
    cursor: pointer;
}

.inline-spoiler-section .spoiler-text {
    border-radius: 2px;
    background-color: #333;
}

.inline-spoiler-section .spoiler-text>* {
    opacity: 0;
}

.inline-spoiler-section .spoiler-img {
    filter: blur(10px);
}

.inline-spoiler-section.raw {
    border-radius: 2px;
    background-color: #333;
}

.inline-spoiler-section.raw>* {
    opacity: 0;
}

.inline-spoiler-section.unveil {
    cursor: auto;
}

.inline-spoiler-section.unveil .spoiler-text {
    background-color: rgba(51, 51, 51, .1);
}

.inline-spoiler-section.unveil .spoiler-text>* {
    opacity: 1;
}

.inline-spoiler-section.unveil .spoiler-img {
    filter: none;
}

@media print {
    div, table, img, pre, blockquote {
        page-break-inside: avoid !important;
    }

    a[href]:after {
        font-size: 12px !important;
    }
}

.site-ui-font {
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}

html[lang^=ja] .site-ui-font {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "Hiragino Kaku Gothic Pro",
                 "ヒラギノ角ゴ Pro W3",
                 Osaka,
                 Meiryo,
                 "メイリオ",
                 "MS Gothic",
                 "ＭＳ ゴシック",
                 sans-serif;
}

html[lang=zh-tw] .site-ui-font {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "PingFang TC",
                 "Microsoft JhengHei",
                 "微軟正黑",
                 sans-serif;
}

html[lang=zh-cn] .site-ui-font {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "PingFang SC",
                 "Microsoft YaHei",
                 "微软雅黑",
                 sans-serif;
}

body {
            font-smoothing: subpixel-antialiased !important;
    -webkit-font-smoothing: subpixel-antialiased !important;
    -moz-osx-font-smoothing: auto !important;
    -webkit-overflow-scrolling: touch;
    letter-spacing: .025em;
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
}

html[lang^=ja] body {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "Hiragino Kaku Gothic Pro",
                 "ヒラギノ角ゴ Pro W3",
                 Osaka,
                 Meiryo,
                 "メイリオ",
                 "MS Gothic",
                 "ＭＳ ゴシック",
                 sans-serif;
}

html[lang=zh-tw] body {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "PingFang TC",
                 "Microsoft JhengHei",
                 "微軟正黑",
                 sans-serif;
}

html[lang=zh-cn] body {
    font-family: "Source Sans Pro",
                 Helvetica,
                 Arial,
                 "PingFang SC",
                 "Microsoft YaHei",
                 "微软雅黑",
                 sans-serif;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}

abbr[title], abbr[data-original-title] {
    cursor: help;
}

body.modal-open {
    overflow-y: auto;
    padding-right: 0 !important;
}

svg {
    text-shadow: none;
}

/*!
* reveal.js 4.5.0
* https://revealjs.com
* MIT licensed
*
* Copyright (C) 2011-2023 Hakim El Hattab, https://hakim.se
*/

.reveal .r-stretch, .reveal .stretch {
    max-width: none;
    max-height: none;
}

.reveal pre.r-stretch code, .reveal pre.stretch code {
    height: 100%;
    max-height: 100%;
    box-sizing: border-box;
}

.reveal .r-fit-text {
    display: inline-block;
    white-space: nowrap;
}

.reveal .r-stack {
    display: grid;
}

.reveal .r-stack>* {
    grid-area: 1/1;
    margin: auto;
}

.reveal .r-hstack, .reveal .r-vstack {
    display: flex;
}

.reveal .r-hstack img, .reveal .r-hstack video, .reveal .r-vstack img,
.reveal .r-vstack video {
    min-width: 0;
    min-height: 0;
    object-fit: contain;
}

.reveal .r-vstack {
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.reveal .r-hstack {
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.reveal .items-stretch {
    align-items: stretch;
}

.reveal .items-start {
    align-items: flex-start;
}

.reveal .items-center {
    align-items: center;
}

.reveal .items-end {
    align-items: flex-end;
}

.reveal .justify-between {
    justify-content: space-between;
}

.reveal .justify-around {
    justify-content: space-around;
}

.reveal .justify-start {
    justify-content: flex-start;
}

.reveal .justify-center {
    justify-content: center;
}

.reveal .justify-end {
    justify-content: flex-end;
}

html.reveal-full-page {
    width: 100%;
    height: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    overflow: hidden;
}

.reveal-viewport {
    height: 100%;
    overflow: hidden;
    position: relative;
    line-height: 1;
    margin: 0;
    background-color: #fff;
    color: #000;
}

.reveal-viewport:fullscreen {
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
}

.reveal .fragment {
    transition: all .2s ease;
}

.reveal .fragment:not(.custom) {
    opacity: 0;
    visibility: hidden;
    will-change: opacity;
}

.reveal .fragment.visible {
    opacity: 1;
    visibility: inherit;
}

.reveal .fragment.disabled {
    transition: none;
}

.reveal .fragment.grow {
    opacity: 1;
    visibility: inherit;
}

.reveal .fragment.grow.visible {
    transform: scale(1.3);
}

.reveal .fragment.shrink {
    opacity: 1;
    visibility: inherit;
}

.reveal .fragment.shrink.visible {
    transform: scale(.7);
}

.reveal .fragment.zoom-in {
    transform: scale(.1);
}

.reveal .fragment.zoom-in.visible {
    transform: none;
}

.reveal .fragment.fade-out {
    opacity: 1;
    visibility: inherit;
}

.reveal .fragment.fade-out.visible {
    opacity: 0;
    visibility: hidden;
}

.reveal .fragment.semi-fade-out {
    opacity: 1;
    visibility: inherit;
}

.reveal .fragment.semi-fade-out.visible {
    opacity: .5;
    visibility: inherit;
}

.reveal .fragment.strike {
    opacity: 1;
    visibility: inherit;
}

.reveal .fragment.strike.visible {
    text-decoration: line-through;
}

.reveal .fragment.fade-up {
    transform: translate(0, 40px);
}

.reveal .fragment.fade-up.visible {
    transform: translate(0, 0);
}

.reveal .fragment.fade-down {
    transform: translate(0, -40px);
}

.reveal .fragment.fade-down.visible {
    transform: translate(0, 0);
}

.reveal .fragment.fade-right {
    transform: translate(-40px, 0);
}

.reveal .fragment.fade-right.visible {
    transform: translate(0, 0);
}

.reveal .fragment.fade-left {
    transform: translate(40px, 0);
}

.reveal .fragment.fade-left.visible {
    transform: translate(0, 0);
}

.reveal .fragment.current-visible, .reveal .fragment.fade-in-then-out {
    opacity: 0;
    visibility: hidden;
}

.reveal .fragment.current-visible.current-fragment,
.reveal .fragment.fade-in-then-out.current-fragment {
    opacity: 1;
    visibility: inherit;
}

.reveal .fragment.fade-in-then-semi-out {
    opacity: 0;
    visibility: hidden;
}

.reveal .fragment.fade-in-then-semi-out.visible {
    opacity: .5;
    visibility: inherit;
}

.reveal .fragment.fade-in-then-semi-out.current-fragment {
    opacity: 1;
    visibility: inherit;
}

.reveal .fragment.highlight-blue, .reveal .fragment.highlight-current-blue,
.reveal .fragment.highlight-current-green,
.reveal .fragment.highlight-current-red, .reveal .fragment.highlight-green,
.reveal .fragment.highlight-red {
    opacity: 1;
    visibility: inherit;
}

.reveal .fragment.highlight-red.visible {
    color: #ff2c2d;
}

.reveal .fragment.highlight-green.visible {
    color: #17ff2e;
}

.reveal .fragment.highlight-blue.visible {
    color: #1b91ff;
}

.reveal .fragment.highlight-current-red.current-fragment {
    color: #ff2c2d;
}

.reveal .fragment.highlight-current-green.current-fragment {
    color: #17ff2e;
}

.reveal .fragment.highlight-current-blue.current-fragment {
    color: #1b91ff;
}

.reveal:after {
    content: "";
    font-style: italic;
}

.reveal iframe {
    z-index: 1;
}

.reveal a {
    position: relative;
}

@keyframes bounce-right {
    0%, 10%, 25%, 40%, 50% {
        transform: translateX(0);
    }

    20% {
        transform: translateX(10px);
    }

    30% {
        transform: translateX(-5px);
    }
}

@keyframes bounce-left {
    0%, 10%, 25%, 40%, 50% {
        transform: translateX(0);
    }

    20% {
        transform: translateX(-10px);
    }

    30% {
        transform: translateX(5px);
    }
}

@keyframes bounce-down {
    0%, 10%, 25%, 40%, 50% {
        transform: translateY(0);
    }

    20% {
        transform: translateY(10px);
    }

    30% {
        transform: translateY(-5px);
    }
}

.reveal .controls {
    display: none;
    position: absolute;
    top: auto;
    bottom: 12px;
    right: 12px;
    left: auto;
    z-index: 11;
    color: #000;
    pointer-events: none;
    font-size: 10px;
}

.reveal .controls button {
    position: absolute;
    padding: 0;
    background-color: transparent;
    border: 0;
    outline: 0;
    cursor: pointer;
    color: currentColor;
    transform: scale(.9999);
    transition: color .2s ease, opacity .2s ease, transform .2s ease;
    z-index: 2;
    pointer-events: auto;
    font-size: inherit;
    visibility: hidden;
    opacity: 0;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
}

.reveal .controls .controls-arrow:after,
.reveal .controls .controls-arrow:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 2.6em;
    height: .5em;
    border-radius: .25em;
    background-color: currentColor;
    transition: all .15s ease, background-color .8s ease;
    transform-origin: .2em 50%;
    will-change: transform;
}

.reveal .controls .controls-arrow {
    position: relative;
    width: 3.6em;
    height: 3.6em;
}

.reveal .controls .controls-arrow:before {
    transform: translateX(.5em) translateY(1.55em) rotate(45deg);
}

.reveal .controls .controls-arrow:after {
    transform: translateX(.5em) translateY(1.55em) rotate(-45deg);
}

.reveal .controls .controls-arrow:hover:before {
    transform: translateX(.5em) translateY(1.55em) rotate(40deg);
}

.reveal .controls .controls-arrow:hover:after {
    transform: translateX(.5em) translateY(1.55em) rotate(-40deg);
}

.reveal .controls .controls-arrow:active:before {
    transform: translateX(.5em) translateY(1.55em) rotate(36deg);
}

.reveal .controls .controls-arrow:active:after {
    transform: translateX(.5em) translateY(1.55em) rotate(-36deg);
}

.reveal .controls .navigate-left {
    right: 6.4em;
    bottom: 3.2em;
    transform: translateX(-10px);
}

.reveal .controls .navigate-left.highlight {
    animation: bounce-left 2s 50 both ease-out;
}

.reveal .controls .navigate-right {
    right: 0;
    bottom: 3.2em;
    transform: translateX(10px);
}

.reveal .controls .navigate-right .controls-arrow {
    transform: rotate(180deg);
}

.reveal .controls .navigate-right.highlight {
    animation: bounce-right 2s 50 both ease-out;
}

.reveal .controls .navigate-up {
    right: 3.2em;
    bottom: 6.4em;
    transform: translateY(-10px);
}

.reveal .controls .navigate-up .controls-arrow {
    transform: rotate(90deg);
}

.reveal .controls .navigate-down {
    right: 3.2em;
    bottom: -1.4em;
    padding-bottom: 1.4em;
    transform: translateY(10px);
}

.reveal .controls .navigate-down .controls-arrow {
    transform: rotate(-90deg);
}

.reveal .controls .navigate-down.highlight {
    animation: bounce-down 2s 50 both ease-out;
}

.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled {
    opacity: .3;
}

.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover {
    opacity: 1;
}

.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled {
    opacity: 0;
    visibility: hidden;
}

.reveal .controls .enabled {
    visibility: visible;
    opacity: .9;
    cursor: pointer;
    transform: none;
}

.reveal .controls .enabled.fragmented {
    opacity: .5;
}

.reveal .controls .enabled.fragmented:hover, .reveal .controls .enabled:hover {
    opacity: 1;
}

.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled {
    opacity: .3;
}

.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover {
    opacity: 1;
}

.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled {
    opacity: 0;
    visibility: hidden;
}

.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled {
    opacity: .3;
}

.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover {
    opacity: 1;
}

.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled {
    opacity: 0;
    visibility: hidden;
}

.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down,
.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up {
    display: none;
}

.reveal:not(.has-vertical-slides) .controls .navigate-left,
.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left {
    bottom: 1.4em;
    right: 5.5em;
}

.reveal:not(.has-vertical-slides) .controls .navigate-right,
.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right {
    bottom: 1.4em;
    right: .5em;
}

.reveal:not(.has-horizontal-slides) .controls .navigate-up {
    right: 1.4em;
    bottom: 5em;
}

.reveal:not(.has-horizontal-slides) .controls .navigate-down {
    right: 1.4em;
    bottom: .5em;
}

.reveal.has-dark-background .controls {
    color: #fff;
}

.reveal.has-light-background .controls {
    color: #000;
}

.reveal.no-hover .controls .controls-arrow:active:before,
.reveal.no-hover .controls .controls-arrow:hover:before {
    transform: translateX(.5em) translateY(1.55em) rotate(45deg);
}

.reveal.no-hover .controls .controls-arrow:active:after,
.reveal.no-hover .controls .controls-arrow:hover:after {
    transform: translateX(.5em) translateY(1.55em) rotate(-45deg);
}

.reveal .progress {
    position: absolute;
    display: none;
    height: 3px;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 10;
    background-color: rgba(0, 0, 0, .2);
    color: #fff;
}

.reveal .progress:after {
    content: "";
    display: block;
    position: absolute;
    height: 10px;
    width: 100%;
    top: -10px;
}

.reveal .progress span {
    display: block;
    height: 100%;
    width: 100%;
    background-color: currentColor;
    transition: transform .8s cubic-bezier(.26, .86, .44, .985);
    transform-origin: 0 0;
    transform: scaleX(0);
}

.reveal .slide-number {
    position: absolute;
    display: block;
    right: 8px;
    bottom: 8px;
    z-index: 31;
    font-family: Helvetica, sans-serif;
    font-size: 12px;
    line-height: 1;
    color: #fff;
    background-color: rgba(0, 0, 0, .4);
    padding: 5px;
}

.reveal .slide-number a {
    color: currentColor;
}

.reveal .slide-number-delimiter {
    margin: 0 3px;
}

.reveal {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    touch-action: pinch-zoom;
}

.reveal.embedded {
    touch-action: pan-y;
}

.reveal .slides {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    pointer-events: none;
    overflow: visible;
    z-index: 1;
    text-align: center;
    perspective: 600px;
    perspective-origin: 50% 40%;
}

.reveal .slides>section {
    perspective: 600px;
}

.reveal .slides>section, .reveal .slides>section>section {
    display: none;
    position: absolute;
    width: 100%;
    pointer-events: auto;
    z-index: 10;
    transform-style: flat;
    transition: transform-origin .8s cubic-bezier(.26, .86, .44, .985),
                transform .8s cubic-bezier(.26, .86, .44, .985),
                visibility .8s cubic-bezier(.26, .86, .44, .985),
                opacity .8s cubic-bezier(.26, .86, .44, .985);
}

.reveal[data-transition-speed=fast] .slides section {
    transition-duration: .4s;
}

.reveal[data-transition-speed=slow] .slides section {
    transition-duration: 1.2s;
}

.reveal .slides section[data-transition-speed=fast] {
    transition-duration: .4s;
}

.reveal .slides section[data-transition-speed=slow] {
    transition-duration: 1.2s;
}

.reveal .slides>section.stack {
    padding-top: 0;
    padding-bottom: 0;
    pointer-events: none;
    height: 100%;
}

.reveal .slides>section.present, .reveal .slides>section>section.present {
    display: block;
    z-index: 11;
    opacity: 1;
}

.reveal .slides>section:empty, .reveal .slides>section>section:empty,
.reveal .slides>section>section[data-background-interactive],
.reveal .slides>section[data-background-interactive] {
    pointer-events: none;
}

.reveal.center, .reveal.center .slides, .reveal.center .slides section {
    min-height: 0 !important;
}

.reveal .slides>section:not(.present),
.reveal .slides>section>section:not(.present) {
    pointer-events: none;
}

.reveal.overview .slides>section, .reveal.overview .slides>section>section {
    pointer-events: auto;
}

.reveal .slides>section.future, .reveal .slides>section.future>section,
.reveal .slides>section.past, .reveal .slides>section.past>section,
.reveal .slides>section>section.future, .reveal .slides>section>section.past {
    opacity: 0;
}

.reveal .slides>section[data-transition=slide].past,
.reveal .slides>section[data-transition~=slide-out].past,
.reveal.slide .slides>section:not([data-transition]).past {
    transform: translate(-150%, 0);
}

.reveal .slides>section[data-transition=slide].future,
.reveal .slides>section[data-transition~=slide-in].future,
.reveal.slide .slides>section:not([data-transition]).future {
    transform: translate(150%, 0);
}

.reveal .slides>section>section[data-transition=slide].past,
.reveal .slides>section>section[data-transition~=slide-out].past,
.reveal.slide .slides>section>section:not([data-transition]).past {
    transform: translate(0, -150%);
}

.reveal .slides>section>section[data-transition=slide].future,
.reveal .slides>section>section[data-transition~=slide-in].future,
.reveal.slide .slides>section>section:not([data-transition]).future {
    transform: translate(0, 150%);
}

.reveal .slides>section[data-transition=linear].past,
.reveal .slides>section[data-transition~=linear-out].past,
.reveal.linear .slides>section:not([data-transition]).past {
    transform: translate(-150%, 0);
}

.reveal .slides>section[data-transition=linear].future,
.reveal .slides>section[data-transition~=linear-in].future,
.reveal.linear .slides>section:not([data-transition]).future {
    transform: translate(150%, 0);
}

.reveal .slides>section>section[data-transition=linear].past,
.reveal .slides>section>section[data-transition~=linear-out].past,
.reveal.linear .slides>section>section:not([data-transition]).past {
    transform: translate(0, -150%);
}

.reveal .slides>section>section[data-transition=linear].future,
.reveal .slides>section>section[data-transition~=linear-in].future,
.reveal.linear .slides>section>section:not([data-transition]).future {
    transform: translate(0, 150%);
}

.reveal .slides section[data-transition=default].stack,
.reveal.default .slides section.stack {
    transform-style: preserve-3d;
}

.reveal .slides>section[data-transition=default].past,
.reveal .slides>section[data-transition~=default-out].past,
.reveal.default .slides>section:not([data-transition]).past {
    transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
}

.reveal .slides>section[data-transition=default].future,
.reveal .slides>section[data-transition~=default-in].future,
.reveal.default .slides>section:not([data-transition]).future {
    transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
}

.reveal .slides>section>section[data-transition=default].past,
.reveal .slides>section>section[data-transition~=default-out].past,
.reveal.default .slides>section>section:not([data-transition]).past {
    transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
}

.reveal .slides>section>section[data-transition=default].future,
.reveal .slides>section>section[data-transition~=default-in].future,
.reveal.default .slides>section>section:not([data-transition]).future {
    transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
}

.reveal .slides section[data-transition=convex].stack,
.reveal.convex .slides section.stack {
    transform-style: preserve-3d;
}

.reveal .slides>section[data-transition=convex].past,
.reveal .slides>section[data-transition~=convex-out].past,
.reveal.convex .slides>section:not([data-transition]).past {
    transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
}

.reveal .slides>section[data-transition=convex].future,
.reveal .slides>section[data-transition~=convex-in].future,
.reveal.convex .slides>section:not([data-transition]).future {
    transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
}

.reveal .slides>section>section[data-transition=convex].past,
.reveal .slides>section>section[data-transition~=convex-out].past,
.reveal.convex .slides>section>section:not([data-transition]).past {
    transform: translate3d(0, -300px, 0) rotateX(70deg) translate3d(0, -300px, 0);
}

.reveal .slides>section>section[data-transition=convex].future,
.reveal .slides>section>section[data-transition~=convex-in].future,
.reveal.convex .slides>section>section:not([data-transition]).future {
    transform: translate3d(0, 300px, 0) rotateX(-70deg) translate3d(0, 300px, 0);
}

.reveal .slides section[data-transition=concave].stack,
.reveal.concave .slides section.stack {
    transform-style: preserve-3d;
}

.reveal .slides>section[data-transition=concave].past,
.reveal .slides>section[data-transition~=concave-out].past,
.reveal.concave .slides>section:not([data-transition]).past {
    transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
}

.reveal .slides>section[data-transition=concave].future,
.reveal .slides>section[data-transition~=concave-in].future,
.reveal.concave .slides>section:not([data-transition]).future {
    transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
}

.reveal .slides>section>section[data-transition=concave].past,
.reveal .slides>section>section[data-transition~=concave-out].past,
.reveal.concave .slides>section>section:not([data-transition]).past {
    transform: translate3d(0, -80%, 0) rotateX(-70deg) translate3d(0, -80%, 0);
}

.reveal .slides>section>section[data-transition=concave].future,
.reveal .slides>section>section[data-transition~=concave-in].future,
.reveal.concave .slides>section>section:not([data-transition]).future {
    transform: translate3d(0, 80%, 0) rotateX(70deg) translate3d(0, 80%, 0);
}

.reveal .slides section[data-transition=zoom],
.reveal.zoom .slides section:not([data-transition]) {
    transition-timing-function: ease;
}

.reveal .slides>section[data-transition=zoom].past,
.reveal .slides>section[data-transition~=zoom-out].past,
.reveal.zoom .slides>section:not([data-transition]).past {
    visibility: hidden;
    transform: scale(16);
}

.reveal .slides>section[data-transition=zoom].future,
.reveal .slides>section[data-transition~=zoom-in].future,
.reveal.zoom .slides>section:not([data-transition]).future {
    visibility: hidden;
    transform: scale(.2);
}

.reveal .slides>section>section[data-transition=zoom].past,
.reveal .slides>section>section[data-transition~=zoom-out].past,
.reveal.zoom .slides>section>section:not([data-transition]).past {
    transform: scale(16);
}

.reveal .slides>section>section[data-transition=zoom].future,
.reveal .slides>section>section[data-transition~=zoom-in].future,
.reveal.zoom .slides>section>section:not([data-transition]).future {
    transform: scale(.2);
}

.reveal.cube .slides {
    perspective: 1300px;
}

.reveal.cube .slides section {
    padding: 30px;
    min-height: 700px;
    backface-visibility: hidden;
    box-sizing: border-box;
    transform-style: preserve-3d;
}

.reveal.center.cube .slides section {
    min-height: 0;
}

.reveal.cube .slides section:not(.stack):before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, .1);
    border-radius: 4px;
    transform: translateZ(-20px);
}

.reveal.cube .slides section:not(.stack):after {
    content: "";
    position: absolute;
    display: block;
    width: 90%;
    height: 30px;
    left: 5%;
    bottom: 0;
    background: 0 0;
    z-index: 1;
    border-radius: 4px;
    box-shadow: 0 95px 25px rgba(0, 0, 0, .2);
    transform: translateZ(-90px) rotateX(65deg);
}

.reveal.cube .slides>section.stack {
    padding: 0;
    background: 0 0;
}

.reveal.cube .slides>section.past {
    transform-origin: 100% 0;
    transform: translate3d(-100%, 0, 0) rotateY(-90deg);
}

.reveal.cube .slides>section.future {
    transform-origin: 0 0;
    transform: translate3d(100%, 0, 0) rotateY(90deg);
}

.reveal.cube .slides>section>section.past {
    transform-origin: 0 100%;
    transform: translate3d(0, -100%, 0) rotateX(90deg);
}

.reveal.cube .slides>section>section.future {
    transform-origin: 0 0;
    transform: translate3d(0, 100%, 0) rotateX(-90deg);
}

.reveal.page .slides {
    perspective-origin: 0 50%;
    perspective: 3000px;
}

.reveal.page .slides section {
    padding: 30px;
    min-height: 700px;
    box-sizing: border-box;
    transform-style: preserve-3d;
}

.reveal.page .slides section.past {
    z-index: 12;
}

.reveal.page .slides section:not(.stack):before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, .1);
    transform: translateZ(-20px);
}

.reveal.page .slides section:not(.stack):after {
    content: "";
    position: absolute;
    display: block;
    width: 90%;
    height: 30px;
    left: 5%;
    bottom: 0;
    background: 0 0;
    z-index: 1;
    border-radius: 4px;
    box-shadow: 0 95px 25px rgba(0, 0, 0, .2);
    -webkit-transform: translateZ(-90px) rotateX(65deg);
}

.reveal.page .slides>section.stack {
    padding: 0;
    background: 0 0;
}

.reveal.page .slides>section.past {
    transform-origin: 0 0;
    transform: translate3d(-40%, 0, 0) rotateY(-80deg);
}

.reveal.page .slides>section.future {
    transform-origin: 100% 0;
    transform: translate3d(0, 0, 0);
}

.reveal.page .slides>section>section.past {
    transform-origin: 0 0;
    transform: translate3d(0, -40%, 0) rotateX(80deg);
}

.reveal.page .slides>section>section.future {
    transform-origin: 0 100%;
    transform: translate3d(0, 0, 0);
}

.reveal .slides section[data-transition=fade],
.reveal.fade .slides section:not([data-transition]),
.reveal.fade .slides>section>section:not([data-transition]) {
    transform: none;
    transition: opacity .5s;
}

.reveal.fade.overview .slides section,
.reveal.fade.overview .slides>section>section {
    transition: none;
}

.reveal .slides section[data-transition=none],
.reveal.none .slides section:not([data-transition]) {
    transform: none;
    transition: none;
}

.reveal .pause-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    visibility: hidden;
    opacity: 0;
    z-index: 100;
    transition: all 1s ease;
}

.reveal .pause-overlay .resume-button {
    position: absolute;
    bottom: 20px;
    right: 20px;
    color: #ccc;
    border-radius: 2px;
    padding: 6px 14px;
    border: 2px solid #ccc;
    font-size: 16px;
    background: 0 0;
    cursor: pointer;
}

.reveal .pause-overlay .resume-button:hover {
    color: #fff;
    border-color: #fff;
}

.reveal.paused .pause-overlay {
    visibility: visible;
    opacity: 1;
}

.reveal .no-transition, .reveal .no-transition *,
.reveal .slides.disable-slide-transitions section {
    transition: none !important;
}

.reveal .slides.disable-slide-transitions section {
    transform: none !important;
}

.reveal .backgrounds {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    perspective: 600px;
}

.reveal .slide-background {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0);
    transition: all .8s cubic-bezier(.26, .86, .44, .985);
}

.reveal .slide-background-content {
    position: absolute;
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.reveal .slide-background.stack {
    display: block;
}

.reveal .slide-background.present {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

.print-pdf .reveal .slide-background {
    opacity: 1 !important;
    visibility: visible !important;
}

.reveal .slide-background video {
    position: absolute;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    top: 0;
    left: 0;
    object-fit: cover;
}

.reveal .slide-background[data-background-size=contain] video {
    object-fit: contain;
}

.reveal>.backgrounds .slide-background[data-background-transition=none],
.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]) {
    transition: none;
}

.reveal>.backgrounds .slide-background[data-background-transition=slide],
.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]) {
    opacity: 1;
}

.reveal>.backgrounds .slide-background.past[data-background-transition=slide],
.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]) {
    transform: translate(-100%, 0);
}

.reveal>.backgrounds .slide-background.future[data-background-transition=slide],
.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]) {
    transform: translate(100%, 0);
}

.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],
.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]) {
    transform: translate(0, -100%);
}

.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],
.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]) {
    transform: translate(0, 100%);
}

.reveal>.backgrounds .slide-background.past[data-background-transition=convex],
.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
}

.reveal>.backgrounds .slide-background.future[data-background-transition=convex],
.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
}

.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],
.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(0, -100%, 0) rotateX(90deg) translate3d(0, -100%, 0);
}

.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],
.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(0, 100%, 0) rotateX(-90deg) translate3d(0, 100%, 0);
}

.reveal>.backgrounds .slide-background.past[data-background-transition=concave],
.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
}

.reveal>.backgrounds .slide-background.future[data-background-transition=concave],
.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
}

.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],
.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(0, -100%, 0) rotateX(-90deg) translate3d(0, -100%, 0);
}

.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],
.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(0, 100%, 0) rotateX(90deg) translate3d(0, 100%, 0);
}

.reveal>.backgrounds .slide-background[data-background-transition=zoom],
.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]) {
    transition-timing-function: ease;
}

.reveal>.backgrounds .slide-background.past[data-background-transition=zoom],
.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]) {
    opacity: 0;
    visibility: hidden;
    transform: scale(16);
}

.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],
.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]) {
    opacity: 0;
    visibility: hidden;
    transform: scale(.2);
}

.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],
.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]) {
    opacity: 0;
    visibility: hidden;
    transform: scale(16);
}

.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],
.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]) {
    opacity: 0;
    visibility: hidden;
    transform: scale(.2);
}

.reveal[data-transition-speed=fast]>.backgrounds .slide-background {
    transition-duration: .4s;
}

.reveal[data-transition-speed=slow]>.backgrounds .slide-background {
    transition-duration: 1.2s;
}

.reveal [data-auto-animate-target^=unmatched] {
    will-change: opacity;
}

.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched] {
    opacity: 0;
}

.reveal.overview {
    perspective-origin: 50% 50%;
    perspective: 700px;
}

.reveal.overview .slides {
    -moz-transform-style: preserve-3d;
}

.reveal.overview .slides section {
    height: 100%;
    top: 0 !important;
    opacity: 1 !important;
    overflow: hidden;
    visibility: visible !important;
    cursor: pointer;
    box-sizing: border-box;
}

.reveal.overview .slides section.present, .reveal.overview .slides section:hover {
    outline: 10px solid rgba(150, 150, 150, .4);
    outline-offset: 10px;
}

.reveal.overview .slides section .fragment {
    opacity: 1;
    transition: none;
}

.reveal.overview .slides section:after, .reveal.overview .slides section:before {
    display: none !important;
}

.reveal.overview .slides>section.stack {
    padding: 0;
    top: 0 !important;
    background: 0 0;
    outline: 0;
    overflow: visible;
}

.reveal.overview .backgrounds {
    perspective: inherit;
    -moz-transform-style: preserve-3d;
}

.reveal.overview .backgrounds .slide-background {
    opacity: 1;
    visibility: visible;
    outline: 10px solid rgba(150, 150, 150, .1);
    outline-offset: 10px;
}

.reveal.overview .backgrounds .slide-background.stack {
    overflow: visible;
}

.reveal.overview .slides section, .reveal.overview-deactivating .slides section {
    transition: none;
}

.reveal.overview .backgrounds .slide-background,
.reveal.overview-deactivating .backgrounds .slide-background {
    transition: none;
}

.reveal.rtl .slides, .reveal.rtl .slides h1, .reveal.rtl .slides h2,
.reveal.rtl .slides h3, .reveal.rtl .slides h4, .reveal.rtl .slides h5,
.reveal.rtl .slides h6 {
    direction: rtl;
    font-family: sans-serif;
}

.reveal.rtl code, .reveal.rtl pre {
    direction: ltr;
}

.reveal.rtl ol, .reveal.rtl ul {
    text-align: right;
}

.reveal.rtl .progress span {
    transform-origin: 100% 0;
}

.reveal.has-parallax-background .backgrounds {
    transition: all .8s ease;
}

.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds {
    transition-duration: .4s;
}

.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds {
    transition-duration: 1.2s;
}

.reveal>.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background: rgba(0, 0, 0, .9);
    transition: all .3s ease;
}

.reveal>.overlay .spinner {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
    z-index: 10;
    background-image: url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);
    visibility: visible;
    opacity: .6;
    transition: all .3s ease;
}

.reveal>.overlay header {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    padding: 5px;
    z-index: 2;
    box-sizing: border-box;
}

.reveal>.overlay header a {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 36px;
    padding: 0 10px;
    float: right;
    opacity: .6;
    box-sizing: border-box;
}

.reveal>.overlay header a:hover {
    opacity: 1;
}

.reveal>.overlay header a .icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-position: 50% 50%;
    background-size: 100%;
    background-repeat: no-repeat;
}

.reveal>.overlay header a.close .icon {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC);
}

.reveal>.overlay header a.external .icon {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==);
}

.reveal>.overlay .viewport {
    position: absolute;
    display: flex;
    top: 50px;
    right: 0;
    bottom: 0;
    left: 0;
}

.reveal>.overlay.overlay-preview .viewport iframe {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    border: 0;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease;
}

.reveal>.overlay.overlay-preview.loaded .viewport iframe {
    opacity: 1;
    visibility: visible;
}

.reveal>.overlay.overlay-preview.loaded .viewport-inner {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 45%;
    width: 100%;
    text-align: center;
    letter-spacing: normal;
}

.reveal>.overlay.overlay-preview .x-frame-error {
    opacity: 0;
    transition: opacity .3s ease .3s;
}

.reveal>.overlay.overlay-preview.loaded .x-frame-error {
    opacity: 1;
}

.reveal>.overlay.overlay-preview.loaded .spinner {
    opacity: 0;
    visibility: hidden;
    transform: scale(.2);
}

.reveal>.overlay.overlay-help .viewport {
    overflow: auto;
    color: #fff;
}

.reveal>.overlay.overlay-help .viewport .viewport-inner {
    width: 600px;
    margin: auto;
    padding: 20px 20px 80px 20px;
    text-align: center;
    letter-spacing: normal;
}

.reveal>.overlay.overlay-help .viewport .viewport-inner .title {
    font-size: 20px;
}

.reveal>.overlay.overlay-help .viewport .viewport-inner table {
    border: 1px solid #fff;
    border-collapse: collapse;
    font-size: 16px;
}

.reveal>.overlay.overlay-help .viewport .viewport-inner table td,
.reveal>.overlay.overlay-help .viewport .viewport-inner table th {
    width: 200px;
    padding: 14px;
    border: 1px solid #fff;
    vertical-align: middle;
}

.reveal>.overlay.overlay-help .viewport .viewport-inner table th {
    padding-top: 20px;
    padding-bottom: 20px;
}

.reveal .playback {
    position: absolute;
    left: 15px;
    bottom: 20px;
    z-index: 30;
    cursor: pointer;
    transition: all .4s ease;
    -webkit-tap-highlight-color: transparent;
}

.reveal.overview .playback {
    opacity: 0;
    visibility: hidden;
}

.reveal .hljs {
    min-height: 100%;
}

.reveal .hljs table {
    margin: initial;
}

.reveal .hljs-ln-code, .reveal .hljs-ln-numbers {
    padding: 0;
    border: 0;
}

.reveal .hljs-ln-numbers {
    opacity: .6;
    padding-right: .75em;
    text-align: right;
    vertical-align: top;
}

.reveal .hljs.has-highlights tr:not(.highlight-line) {
    opacity: .4;
}

.reveal .hljs.has-highlights.fragment {
    transition: all .2s ease;
}

.reveal .hljs:not(:first-child).fragment {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
}

.reveal pre[data-auto-animate-target] {
    overflow: hidden;
}

.reveal pre[data-auto-animate-target] code {
    height: 100%;
}

.reveal .roll {
    display: inline-block;
    line-height: 1.2;
    overflow: hidden;
    vertical-align: top;
    perspective: 400px;
    perspective-origin: 50% 50%;
}

.reveal .roll:hover {
    background: 0 0;
    text-shadow: none;
}

.reveal .roll span {
    display: block;
    position: relative;
    padding: 0 2px;
    pointer-events: none;
    transition: all .4s ease;
    transform-origin: 50% 0;
    transform-style: preserve-3d;
    backface-visibility: hidden;
}

.reveal .roll:hover span {
    background: rgba(0, 0, 0, .5);
    transform: translate3d(0, 0, -45px) rotateX(90deg);
}

.reveal .roll span:after {
    content: attr(data-title);
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    padding: 0 2px;
    backface-visibility: hidden;
    transform-origin: 50% 0;
    transform: translate3d(0, 110%, 0) rotateX(-90deg);
}

.reveal aside.notes {
    display: none;
}

.reveal .speaker-notes {
    display: none;
    position: absolute;
    width: 33.3333333333%;
    height: 100%;
    top: 0;
    left: 100%;
    padding: 14px 18px 14px 18px;
    z-index: 1;
    font-size: 18px;
    line-height: 1.4;
    border: 1px solid rgba(0, 0, 0, .05);
    color: #222;
    background-color: #f5f5f5;
    overflow: auto;
    box-sizing: border-box;
    text-align: left;
    font-family: Helvetica, sans-serif;
    -webkit-overflow-scrolling: touch;
}

.reveal .speaker-notes .notes-placeholder {
    color: #ccc;
    font-style: italic;
}

.reveal .speaker-notes:focus {
    outline: 0;
}

.reveal .speaker-notes:before {
    content: "Speaker notes";
    display: block;
    margin-bottom: 10px;
    opacity: .5;
}

.reveal.show-notes {
    max-width: 75%;
    overflow: visible;
}

.reveal.show-notes .speaker-notes {
    display: block;
}

.reveal .jump-to-slide {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 30;
    font-size: 32px;
    -webkit-tap-highlight-color: transparent;
}

.reveal .jump-to-slide-input {
    background: 0 0;
    padding: 8px;
    font-size: inherit;
    color: currentColor;
    border: 0;
}

.reveal .jump-to-slide-input::placeholder {
    color: currentColor;
    opacity: .5;
}

.reveal.has-dark-background .jump-to-slide-input {
    color: #fff;
}

.reveal.has-light-background .jump-to-slide-input {
    color: #222;
}

.reveal .jump-to-slide-input:focus {
    outline: 0;
}

.zoomed .reveal *, .zoomed .reveal :after, .zoomed .reveal :before {
    backface-visibility: visible !important;
}

.zoomed .reveal .controls, .zoomed .reveal .progress {
    opacity: 0;
}

.zoomed .reveal .roll span {
    background: 0 0;
}

.zoomed .reveal .roll span:after {
    visibility: hidden;
}

html.print-pdf * {
    -webkit-print-color-adjust: exact;
}

html.print-pdf {
    width: 100%;
    height: 100%;
    overflow: visible;
}

html.print-pdf body {
    margin: 0 auto !important;
    border: 0;
    padding: 0;
    float: none !important;
    overflow: visible;
}

html.print-pdf .nestedarrow, html.print-pdf .reveal .controls,
html.print-pdf .reveal .playback, html.print-pdf .reveal .progress,
html.print-pdf .reveal.overview, html.print-pdf .state-background {
    display: none !important;
}

html.print-pdf .reveal pre code {
    overflow: hidden !important;
}

html.print-pdf .reveal {
    width: auto !important;
    height: auto !important;
    overflow: hidden !important;
}

html.print-pdf .reveal .slides {
    position: static;
    width: 100% !important;
    height: auto !important;
    zoom: 1 !important;
    pointer-events: initial;
    left: auto;
    top: auto;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible;
    display: block;
    perspective: none;
    perspective-origin: 50% 50%;
}

html.print-pdf .reveal .slides .pdf-page {
    position: relative;
    overflow: hidden;
    z-index: 1;
    page-break-after: always;
}

html.print-pdf .reveal .slides section {
    visibility: visible !important;
    display: block !important;
    position: absolute !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    min-height: 1px;
    opacity: 1 !important;
    transform-style: flat !important;
    transform: none !important;
}

html.print-pdf .reveal section.stack {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    page-break-after: avoid !important;
    height: auto !important;
    min-height: auto !important;
}

html.print-pdf .reveal img {
    box-shadow: none;
}

html.print-pdf .reveal .backgrounds {
    display: none;
}

html.print-pdf .reveal .slide-background {
    display: block !important;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: auto !important;
}

html.print-pdf .reveal.show-notes {
    max-width: none;
    max-height: none;
}

html.print-pdf .reveal .speaker-notes-pdf {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    z-index: 100;
}

html.print-pdf .reveal .speaker-notes-pdf[data-layout=separate-page] {
    position: relative;
    color: inherit;
    background-color: transparent;
    padding: 20px;
    page-break-after: always;
    border: 0;
}

html.print-pdf .reveal .slide-number-pdf {
    display: block;
    position: absolute;
    font-size: 14px;
}

html.print-pdf .aria-status {
    display: none;
}

@media screen and (min-width:500px) {
    .reveal .controls[data-controls-layout=edges] {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }

    .reveal .controls[data-controls-layout=edges] .navigate-down,
    .reveal .controls[data-controls-layout=edges] .navigate-left,
    .reveal .controls[data-controls-layout=edges] .navigate-right,
    .reveal .controls[data-controls-layout=edges] .navigate-up {
        bottom: auto;
        right: auto;
    }

    .reveal .controls[data-controls-layout=edges] .navigate-left {
        top: 50%;
        left: .8em;
        margin-top: -1.8em;
    }

    .reveal .controls[data-controls-layout=edges] .navigate-right {
        top: 50%;
        right: .8em;
        margin-top: -1.8em;
    }

    .reveal .controls[data-controls-layout=edges] .navigate-up {
        top: .8em;
        left: 50%;
        margin-left: -1.8em;
    }

    .reveal .controls[data-controls-layout=edges] .navigate-down {
        bottom: -.3em;
        left: 50%;
        margin-left: -1.8em;
    }
}

@media screen and (min-width:1600px) {
    .reveal .speaker-notes {
        font-size: 20px;
    }
}

@media screen and (max-width:1024px) {
    .reveal.show-notes {
        border-left: 0;
        max-width: none;
        max-height: 70%;
        max-height: 70vh;
        overflow: visible;
    }

    .reveal.show-notes .speaker-notes {
        top: 100%;
        left: 0;
        width: 100%;
        height: 30vh;
        border: 0;
    }
}

@media screen and (max-width:600px) {
    .reveal.show-notes {
        max-height: 60%;
        max-height: 60vh;
    }

    .reveal.show-notes .speaker-notes {
        top: 100%;
        height: 40vh;
    }

    .reveal .speaker-notes {
        font-size: 14px;
    }
}

@media print {
    html:not(.print-pdf) {
        overflow: visible;
        width: auto;
        height: auto;
    }

    html:not(.print-pdf) body {
        margin: 0;
        padding: 0;
        overflow: visible;
    }

    html:not(.print-pdf) .reveal {
        background: #fff;
        font-size: 20pt;
    }

    html:not(.print-pdf) .reveal .backgrounds,
    html:not(.print-pdf) .reveal .controls,
    html:not(.print-pdf) .reveal .progress,
    html:not(.print-pdf) .reveal .slide-number,
    html:not(.print-pdf) .reveal .state-background {
        display: none !important;
    }

    html:not(.print-pdf) .reveal li, html:not(.print-pdf) .reveal p,
    html:not(.print-pdf) .reveal td {
        font-size: 20pt !important;
        color: #000;
    }

    html:not(.print-pdf) .reveal h1, html:not(.print-pdf) .reveal h2,
    html:not(.print-pdf) .reveal h3, html:not(.print-pdf) .reveal h4,
    html:not(.print-pdf) .reveal h5, html:not(.print-pdf) .reveal h6 {
        color: #000 !important;
        height: auto;
        line-height: normal;
        text-align: left;
        letter-spacing: normal;
    }

    html:not(.print-pdf) .reveal h1 {
        font-size: 28pt !important;
    }

    html:not(.print-pdf) .reveal h2 {
        font-size: 24pt !important;
    }

    html:not(.print-pdf) .reveal h3 {
        font-size: 22pt !important;
    }

    html:not(.print-pdf) .reveal h4 {
        font-size: 22pt !important;
        font-variant: small-caps;
    }

    html:not(.print-pdf) .reveal h5 {
        font-size: 21pt !important;
    }

    html:not(.print-pdf) .reveal h6 {
        font-size: 20pt !important;
        font-style: italic;
    }

    html:not(.print-pdf) .reveal a:link, html:not(.print-pdf) .reveal a:visited {
        color: #000 !important;
        font-weight: 700;
        text-decoration: underline;
    }

    html:not(.print-pdf) .reveal div, html:not(.print-pdf) .reveal ol,
    html:not(.print-pdf) .reveal p, html:not(.print-pdf) .reveal ul {
        visibility: visible;
        position: static;
        width: auto;
        height: auto;
        display: block;
        overflow: visible;
        margin: 0;
        text-align: left !important;
    }

    html:not(.print-pdf) .reveal pre, html:not(.print-pdf) .reveal table {
        margin-left: 0;
        margin-right: 0;
    }

    html:not(.print-pdf) .reveal pre code {
        padding: 20px;
    }

    html:not(.print-pdf) .reveal blockquote {
        margin: 20px 0;
    }

    html:not(.print-pdf) .reveal .slides {
        position: static !important;
        width: auto !important;
        height: auto !important;
        left: 0 !important;
        top: 0 !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
        padding: 0 !important;
        zoom: 1 !important;
        transform: none !important;
        overflow: visible !important;
        display: block !important;
        text-align: left !important;
        perspective: none;
        perspective-origin: 50% 50%;
    }

    html:not(.print-pdf) .reveal .slides section {
        visibility: visible !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        display: block !important;
        overflow: visible !important;
        left: 0 !important;
        top: 0 !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
        padding: 60px 20px !important;
        z-index: auto !important;
        opacity: 1 !important;
        page-break-after: always !important;
        transform-style: flat !important;
        transform: none !important;
        transition: none !important;
    }

    html:not(.print-pdf) .reveal .slides section.stack {
        padding: 0 !important;
    }

    html:not(.print-pdf) .reveal .slides section:last-of-type {
        page-break-after: avoid !important;
    }

    html:not(.print-pdf) .reveal .slides section .fragment {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    html:not(.print-pdf) .reveal .r-fit-text {
        white-space: normal !important;
    }

    html:not(.print-pdf) .reveal section img {
        display: block;
        margin: 15px 0;
        background: #fff;
        border: 1px solid #666;
        box-shadow: none;
    }

    html:not(.print-pdf) .reveal section small {
        font-size: .8em;
    }

    html:not(.print-pdf) .reveal .hljs {
        max-height: 100%;
        white-space: pre-wrap;
        word-wrap: break-word;
        word-break: break-word;
        font-size: 15pt;
    }

    html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers {
        white-space: nowrap;
    }

    html:not(.print-pdf) .reveal .hljs td {
        font-size: inherit !important;
        color: inherit !important;
    }
}

