/*! d1-web v2.7.5 */

:root {
}

button, input, select, textarea {
    margin: 0;
    box-sizing: border-box;
}

html {
}

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

img, embed, iframe, object, audio, video {
    max-width: 100%;
    box-sizing: border-box;
}

img, iframe, fieldset, hr {
    border: none;
}

img {
    object-fit: cover;
}

html, body, li, dl, dt, dd, legend, iframe, fieldset {
    margin: 0;
    padding: 0;
}

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

td, th {
    padding: 0;
    text-align: left;
}

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

button::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
    border: none;
}

input, button, select, textarea, table {
    font: inherit;
}

html {
    font-size: 120%;
}

body {
    font: 100%/1.5 sans-serif;
    font-family: "PT Sans", Roboto, "Segoe UI", sans-serif;
}

body, .invert {
    color: #000;
    background-color: #fff;
}

small, .small {
    font-size: 83%;
    font-weight: normal;
}

main {
    display: block;
}

ul, ol, dl, blockquote, pre, hr, p, figure {
    margin: 1em 0;
}

h1, h2, h3, h4, h5, h6 {
    margin: 2rem 0 1rem 0;
    line-height: 1.3;
    font-family: "PT Sans", Roboto, "Segoe UI", sans-serif;
}

h1.mar, h2.mar, h3.mar {
    margin: 1rem 0;
}

.nobr {
    white-space: nowrap;
}

h1 {
    font-size: 200%;
}

h2 {
    font-size: 150%;
}

h3 {
    font-size: 117%;
}

h4 {
    font-size: 100%;
}

h5 {
    font-size: 83%;
}

h6 {
    font-size: 67%;
}

h1 small, h2 small, h3 small {
    font-size: .83rem;
}

blockquote, pre {
    padding: .5em 1em;
}

pre, code {
    white-space: pre-wrap;
}

[class*="language-"] {
    white-space: pre;
}

pre, code, kbd, samp {
    font-family: "PT Mono", monospace, monospace;
    font-size: 90%;
}

pre {
    overflow: auto;
    max-height: 80vh;
    padding: 1em;
}

code, kbd {
    padding: .2em .5em;
}

pre code {
    padding: 0;
    font-size: 100%;
}

code, kbd {
    border-radius: .2em;
}

kbd {
    border: thin solid rgba(0, 0, 0, .16);
}

abbr {
    border-bottom: thin dotted;
}

sub, sup {
    line-height: 0;
}

a {
    color: #04b;
}

:visited {
    color: #90b;
}

.nav a, a[href^="#"] {
    color: #04b;
}

a.act, a:hover {
    color: #07f;
}

a:not([href]) {
    color: inherit;
}

abbr, a {
    text-decoration: none;
}

a.pad, a.btn {
    display: inline-block;
    line-height: normal;
}

.hover:not(table) a:not(.inact):hover, .hover:not(table) .act, a.hover:hover,
a.hover.act, table.hover tr:hover>* {
    color: inherit;
    box-shadow: inset 0 0 0 30em rgba(0, 0, 0, .05);
}

table.hover a:hover {
    color: inherit;
}

svg {
    fill: currentColor;
}

.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    transform: scale(1.2);
    vertical-align: -10%;
}

.icon.js-resized {
    transform: none;
    vertical-align: middle;
}

.icon+* {
    margin-left: .5em;
}

ul {
    list-style: disc outside;
}

ul, ol {
    padding: 0 0 0 1.5em;
}

li ul, li ol {
    margin: .2em 0;
}

dt {
    font-weight: bold;
}

dt, dd {
    margin-bottom: .5em;
}

table {
    box-sizing: border-box;
}

th, td {
    padding: .25em .5em;
    vertical-align: top;
    background-clip: padding-box;
}

fieldset, hr {
    border-top: thin solid rgba(0, 0, 0, .16);
}

legend {
    padding: 0 .5em;
}

legend.mar {
    margin-left: 1em;
}

table.bord>*>tr>*, fieldset.bord {
    border: thin solid rgba(0, 0, 0, .16);
}

table.bord {
    border: none;
}

table.let>*>tr>* {
    border-bottom: thin solid rgba(0, 0, 0, .16);
}

table.shift {
    width: 100%;
}

table.fit>*>tr>* {
    padding: 0;
}

.roll {
    overflow-x: auto;
}

.roll>table.bord {
    border: thin solid rgba(0, 0, 0, .16);
    border-width: medium;
}

form>p, form>.row, fieldset>*>.row {
    margin: .5em 0;
}

.bar {
    display: flex;
    overflow: hidden;
    background-color: #eee;
    border-radius: .2em;
    min-height: .3em;
}

.bar>* {
    display: inline-block;
    min-height: .3em;
    background-color: currentColor;
}

.target, .toggle {
    z-index: 10;
}

.pop>div {
    z-index: 20;
}

.nav ul {
    z-index: 30;
}

.close {
    position: absolute;
    top: 0;
    right: 0;
}

.fix {
    z-index: 5;
    position: fixed;
    top: 0;
    left: 0;
}

.fix.r {
    left: auto;
    right: 0;
}

.fix.l {
    top: auto;
    bottom: 0;
}

.nav li, .pop, .item {
    position: relative;
}

ul.nav {
    display: flex;
    flex-wrap: wrap;
}

.nav.let {
    display: block;
}

.nav.let ul {
    top: 90%;
    left: 3em;
}

ul.nav, .nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nav li>:not(ul) {
    display: block;
    padding: .5em 1em;
    height: 100%;
    box-sizing: border-box;
}

.nav.center li>:not(ul) {
    display: flex;
    align-items: center;
}

.nav li>form {
    padding: .3em 1em;
}

.nav li>a:nth-last-child(2):after {
    position: static;
    display: inline-block;
    content: '\a0\a0\203a';
    color: #999;
}

.nav ul li>a:nth-last-child(2):after {
    position: absolute;
    right: .5em;
    top: .5em;
}

.pop {
    display: inline-block;
}

.nav ul, .pop>div {
    background-clip: padding-box;
}

.nav ul, .pop>div {
    position: absolute;
    left: 0;
    top: 100%;
    max-width: 80vw;
}

.nav:not(.fit) ul:not(.fit), .pop>div:not(.fit) {
    min-width: 12em;
}

.nav ul ul {
    left: 100%;
    top: 0;
}

.pop>div.shift {
    left: auto;
    right: 0;
}

.dlg {
    z-index: 120;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-clip: padding-box;
    min-width: 16em;
    max-width: 70%;
    max-height: 80vh;
    overflow: auto;
}

.full {
    width: 100%;
    max-width: 100%;
    min-height: 100vh;
    box-sizing: border-box;
}

.dlg.let {
    width: 70%;
}

.dlg.full {
    height: 100vh;
    transform: none;
    top: 0;
    left: 0;
}

.full.center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.drawer[class] {
    z-index: 80;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 80%;
    max-width: 20em;
    box-sizing: border-box;
    overflow-y: auto;
    transition: left .2s;
}

.drawer:not(:target):not([class*="toggle"]), .drawer.off {
    left: -21em;
}

.drawer.shift[id] {
    left: auto;
    right: 0;
    transition-property: right;
}

.drawer.shift:not(:target):not([class*="toggle"]), .drawer.shift.off {
    right: -21em;
}

.gal a[id] {
    z-index: 110;
    color: #fff;
    background: #000 50% 50% / contain no-repeat;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    box-shadow: inset 0 3em 3em -1.5em rgba(0, 0, 0, .3);
    border-bottom: 10em solid #000;
    outline: 100em solid #000;
    outline-offset: 0;
}

.gal a:target {
    background-image: var(--img);
}

.gal a:target+a {
    background-image: var(--img);
    background-position: 999em 999em;
}

.gal a:not([id]), .gal a:after {
    z-index: 111;
    position: fixed;
    top: 0;
    color: #fff;
    padding: 0 .5em;
}

.gal a[data-caption]:after {
    content: attr(data-caption);
    left: 0;
    right: 3em;
    display: block;
}

.gal a:not([id]) {
    right: 0;
}

.gal a.dragging:after {
    content: "";
}

.hide[class], [class*="not-"], .or:not([class*="or-"]), .gal>*, a.act>.is-off,
a:not(.act)>.is-on, .target:not(:target),
.tabs+div>div:not(:target):not(:last-child):not(.toggle),
.tabs+div>div:target:not(.toggle)~*, .tabs+div.bord>hr,
.dlg:not(:target):not(.toggle), .nav li:not(:hover)>ul:not(.toggle),
.pop:not(:hover)>div:not(.toggle), .js .toggle.off:not(.stick):not(.drawer),
.js .hide-js, body:not(.js) .hide-nojs {
    display: none;
}

.gal a:target, .gal a:target~a:not([id]) {
    display: block !important;
}

@media (max-width: 899px) {
    .hide-mobile[class], .target-mobile:not(:target), .toggle-mobile.off,
    .empty-mobile>:not(.icon) {
        display: none;
    }
}

@media (min-width: 900px) {
    .hide-desktop[class], .target-desktop:not(:target), .toggle-desktop.off,
    .empty-desktop>:not(.icon) {
        display: none;
    }
}

.bg[class], blockquote, pre, code, thead tr, tfoot tr {
    background-color: rgba(0, 0, 0, .05);
}

pre code {
    background: none;
}

mark {
    background-color: #ffe699;
}

.row {
    display: flex;
    list-style: none;
    padding: 0;
}

.row>* {
    flex: 1;
    min-width: 0;
}

.row:not(.fit)>*:not(:last-child):not(.center) {
    margin-right: 1em;
}

.row>.col-0 {
    flex: 0 1 auto;
}

.row>.col-2 {
    flex: 2;
}

.row>.col-3 {
    flex: 3;
}

.row.let {
    flex-wrap: wrap;
}

.row.let>* {
    flex: none;
}

.row.center:not(.wrap) {
    align-items: center;
}

.shift {
    margin-left: auto;
}

.row.let.mar {
    margin-bottom: 0;
}

.row.let.mar>* {
    margin-bottom: 1em;
}

.row:not(.fit)>.col-2 {
    flex-basis: 1em;
}

.row:not(.fit)>.col-3 {
    flex-basis: 2em;
}

[class*="grid-"] {
    display: flex;
    flex-wrap: wrap;
}

[class*="grid-"]>* {
    width: 100%;
    box-sizing: border-box;
    background-clip: padding-box;
}

[class*="grid-"].let>* {
    border: .5em solid transparent;
}

[class*="grid-"].shift>* {
    border: 1em solid transparent;
}

[class*="grid-"]>.bord {
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .16);
}

.grid-2>* {
    width: 50%;
}

.grid-3>* {
    width: 33.33%;
}

.grid-4>* {
    width: 25%;
}

.grid-6>* {
    width: 16.66%;
}

@media (min-height: 600px) {
    .dlg section {
        max-height: 50vh;
        overflow: auto;
    }
}

@media (max-width: 899px) {
    html {
        font-size: medium;
    }

    ul.flip, .flip {
        display: block;
    }

    .row[class].flip[class]>* {
        margin-right: 0;
    }

    [class*="grid-"].flip>* {
        width: auto;
    }

    .grid-1-mobile>* {
        width: 100%;
    }

    .grid-2-mobile>* {
        width: 50%;
    }

    .grid-3-mobile>* {
        width: 33.33%;
    }

    .grid-4-mobile>* {
        width: 25%;
    }

    .row.flip.mar>:not(:last-child) {
        margin-bottom: 1em;
    }

    .nav.flip ul {
        left: 3em;
        top: 90%;
    }

    .nav:not(.let):not(.flip)>li.shift>ul,
    .nav:not(.let):not(.flip)>li.shift~li>ul {
        left: auto;
        right: 0;
    }
}

@media (max-width: 480px) {
    .grid-1-phone>* {
        width: 100%;
    }

    .grid-2-phone>* {
        width: 50%;
    }

    .grid-3-phone>* {
        width: 33.33%;
    }
}

@media (min-width: 900px) {
    table.let>*:last-child>tr:last-child>* {
        border-bottom: none;
    }

    form>.row>:first-child:not(:only-child),
    fieldset>*>.row>:first-child:not(:only-child) {
        text-align: right;
        flex: .3;
    }

    form table:not(.bord):not(.let) td:first-child:nth-last-child(2):not([colspan]) {
        text-align: right;
        width: 30%;
    }

    .dlg {
        min-width: 20em;
    }

    .dlg.pad {
        padding: 1em 2em;
    }

    .nav:not(.let)>li.shift>ul, .nav:not(.let)>li.shift~li>ul {
        left: auto;
        right: 0;
    }
}

@media screen {
    .hide-screen {
        display: none !important;
    }

    .wrap {
        max-width: 60em;
    }

    .read {
        max-width: 40em;
    }

    .wrap, .read, .narrow {
        box-sizing: border-box;
    }

    .stick {
        z-index: 3;
        position: sticky;
        top: 0;
        max-height: 100vh;
        align-self: flex-start;
        overflow: auto;
        box-sizing: border-box;
    }

    .stick.let {
        overflow: visible;
        z-index: 70;
    }

    .stick.toggle {
        transition: top .3s ease-in-out;
    }

    .stick.toggle.off {
        top: -4em;
        max-height: 3em;
        overflow: hidden;
    }

    [id] {
        scroll-margin-top: 4rem;
    }

    input, select {
        max-width: 100%;
    }

    textarea {
        width: 100%;
    }

    [type="file"] {
        max-width: 15em;
    }

    input, button, select, textarea {
        padding: .2em;
        line-height: normal;
    }

    input, button, select, textarea, a.btn {
        border: thin solid #aaa;
    }

    a.btn, button, [type="submit"] {
        padding: .5em 1em;
        border-radius: .2em;
        margin: .2em 0;
    }

    .btn, button, [type="submit"] {
        border-color: transparent;
    }

    a.btn, button:not([disabled]), [type="submit"]:not([disabled]) {
        cursor: pointer;
    }

    form>a.btn, form>button, form>[type="submit"], form>a>button {
        padding: .2em .5em;
        margin: 0;
    }

    .btn[class], button.fit {
        border-radius: .2em;
    }

    .btn:not(a):not(input):not(button):not(.pad), a.btn.fit, button.fit,
    [type="submit"].fit {
        padding: 0 .5em;
    }

    a.btn:hover, button:hover:not([disabled]),
    [type="submit"]:hover:not([disabled]), a.btn:focus, button:focus,
    input:focus, select:focus, textarea:focus, [contenteditable]:focus {
        box-shadow: 0 0 0 .15em rgba(0, 0, 0, .1);
        outline: none;
    }

    button[disabled], [type="submit"][disabled], .inact {
        opacity: .5;
    }

    input[readonly] {
        background-color: #eee;
    }

    [name]:invalid, [name]:invalid~.subinput {
        border-color: #c00;
    }

    [type="checkbox"]:invalid+span, [type="radio"]:invalid+span {
        color: #c00;
    }

    [name]:invalid:focus, [name]:invalid~.subinput:focus {
        box-shadow: 0 0 0 .15em rgba(255, 100, 100, .3);
    }

    :valid:not(.subinput)~.hint.text-e, :invalid~.hint.text-y,
    .js .js-unhint :invalid~.hint.text-e, .js .js-unhint:invalid~.hint.text-e {
        display: none;
    }

    input[type="range"], input[type="color"] {
        vertical-align: middle;
        padding: unset;
    }

    input[type="range"] {
        border: initial;
    }

    .btn[class], button, [type="submit"] {
        background-color: #04b;
        color: #fff;
    }

    .btn .icon, button .icon {
        color: #fff;
    }

    .btn[class].hover, button.hover, [type="submit"].hover {
        background: none;
        color: inherit;
    }

    .icon {
        color: #999;
    }

    [class*="text-"]>.icon:not([class*="text-"]) {
        color: inherit;
    }

    .text-n[class] {
        color: #999;
    }

    .text-i[class] {
        color: #08a;
    }

    .text-y[class] {
        color: #181;
    }

    .text-w[class] {
        color: #d70;
    }

    .text-e[class] {
        color: #c00;
    }

    .bg-n[class] {
        background-color: #eee;
    }

    .bg-i[class] {
        background-color: #bef;
    }

    .bg-y[class] {
        background-color: #cec;
    }

    .bg-w[class] {
        background-color: #ffe699;
    }

    .bg-e[class] {
        background-color: #fcc;
    }

    .btn.bg-n, button.bg-n[class], [type="submit"].bg-n {
        background-color: #999;
    }

    .btn.bg-i, button.bg-i[class], [type="submit"].bg-i {
        background-color: #08a;
    }

    .btn.bg-y, button.bg-y[class], [type="submit"].bg-y {
        background-color: #181;
    }

    .btn.bg-w, button.bg-w[class], [type="submit"].bg-w {
        background-color: #d70;
    }

    .btn.bg-e, button.bg-e[class], [type="submit"].bg-e {
        background-color: #c00;
    }
}

@media print {
    .hide-print {
        display: none !important;
    }

    .full {
        page-break-before: always;
    }

    body {
        font: 12pt/1.3 serif;
        font-family: serif;
        background: none;
    }

    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
        font-family: inherit;
    }

    pre, blockquote {
        border-left: thin solid rgba(0, 0, 0, .16);
    }

    input, select, textarea {
        border-width: 0 0 thin 0;
    }

    button, [type="submit"], a.btn {
        border: thin solid rgba(0, 0, 0, .16);
        padding: .25em .5em;
    }
}

.pop>div, .nav ul, .dlg, .drawer {
    box-shadow: 0 .2em .8em rgba(0, 0, 0, .3);
    background-color: #fff;
    text-align: left;
}

.stick, .back {
    background-color: #fff;
}

.tabs li {
    margin-right: .25em;
}

.nav.roll {
    flex-wrap: nowrap;
}

.nav.roll>*, .row.roll>* {
    flex: none;
}

.dlg {
    border: 500em solid rgba(0, 0, 0, .7);
}

.dlg.full {
    border: none;
}

.dlg.rad {
    border-radius: 500.2em;
}

.tabs.rad a {
    border-radius: .2em .2em 0 0;
}

.fit {
    margin: 0;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
}

.fit:not(hr):not(.bord) {
    border: none;
}

ul.fit li {
    list-style: none;
}

a.let {
    color: inherit;
}

img.fit {
    display: block;
}

.mar {
    margin: 1em 0;
}

form .mar {
    margin-top: .5em;
    margin-bottom: .5em;
}

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

.pad {
    padding: .5em 1em;
}

.bord {
    border: thin solid rgba(0, 0, 0, .16);
}

.rad {
    border-radius: .2em;
}

.shade {
    box-shadow: 0 .2em .8em rgba(0, 0, 0, .3);
}

.l {
    text-align: left;
}

.c {
    text-align: center;
}

.r {
    text-align: right;
}

.narrow {
    max-width: 16em;
}
