
main { max-width: 50em; }

figure { margin: 1.5em 0; }
figure img { display: block; width: 100%; height: auto; }
figure a { display: block; }
figcaption { font-size: 0.9rem; color: var(--muted, #666); margin-top: 0.4em; }

figure.left, span.left { float: left; width: 50%; margin: 0.3em 1.5em 1em 0; }
figure.right, span.right { float: right; width: 50%; margin: 0.3em 0 1em 1.5em; }
span.left, span.right { display: block; }
span.left img, span.right img { display: block; width: 100%; height: auto; }
img.left { float: left; margin: 0.3em 1.5em 1em 0; max-width: 50%; height: auto; }
img.right { float: right; margin: 0.3em 0 1em 1.5em; max-width: 50%; height: auto; }
figure.wide { width: min(64em, 100vw - 2em); margin-left: 50%; transform: translateX(-50%); }
figure.full { width: 100vw; margin-left: 50%; transform: translateX(-50%); }
figure.full figcaption { padding: 0 1em; }


figure picture, figure img { display: block; }

dialog.lightbox { padding: 0; border: 0; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; background: transparent; }
dialog.lightbox::backdrop { background: rgba(0, 0, 0, 0.9); }
dialog.lightbox img { width: 100vw; height: 100vh; object-fit: contain; cursor: zoom-out; }
@media (prefers-reduced-motion: no-preference) {
  dialog.lightbox[open], dialog.lightbox[open]::backdrop { animation: lightbox-in 0.2s ease-out; }
  dialog.lightbox.closing, dialog.lightbox.closing::backdrop { animation: lightbox-out 0.15s ease-in forwards; }
}
@keyframes lightbox-in { from { opacity: 0; transform: scale(0.97); } }
@keyframes lightbox-out { to { opacity: 0; transform: scale(0.97); } }

@media (max-width: 30em) {
  figure.left, figure.right, span.left, span.right { float: none; width: 100%; margin: 1.5em 0; }
}

/*
 * theme "GitHub" generated by syntect
 */

.hl-code {
 color: #323232;
 background-color: #ffffff;
}

.hl-comment {
 color: #969896;
font-style: italic;
}
.hl-string {
 color: #183691;
}
.hl-regexp-operator {
 color: #a71d5d;
}
.hl-string.hl-regexp.hl-characterclass .hl-punctuation.hl-definition.hl-string.hl-begin, .hl-string.hl-regexp.hl-characterclass .hl-punctuation.hl-definition.hl-string.hl-end {
 color: #a71d5d;
}
.hl-constant.hl-numeric {
 color: #0086b3;
}
.hl-constant.hl-language {
 color: #0086b3;
}
.hl-constant.hl-character, .hl-constant.hl-other, .hl-variable.hl-other.hl-constant {
 color: #0086b3;
}
.hl-variable {
 color: #323232;
}
.hl-keyword {
 color: #a71d5d;
font-weight: bold;
}
.hl-bitwise-operator {
 color: #a71d5d;
font-weight: bold;
}
.hl-storage {
 color: #a71d5d;
font-weight: bold;
}
.hl-storage.hl-type {
 color: #a71d5d;
font-weight: bold;
}
.hl-entity.hl-name.hl-class {
 color: #0086b3;
}
.hl-entity.hl-other.hl-inherited-class {
 color: #0086b3;
}
.hl-entity.hl-name.hl-function {
 color: #795da3;
font-weight: bold;
}
.hl-variable.hl-parameter {
 color: #323232;
}
.hl-entity.hl-name.hl-tag {
 color: #63a35c;
}
.hl-entity.hl-other.hl-attribute-name {
 color: #795da3;
}
.hl-support.hl-function {
 color: #62a35c;
}
.hl-support.hl-constant {
 color: #0086b3;
}
.hl-support.hl-type, .hl-support.hl-class {
 color: #0086b3;
}
.hl-support.hl-other.hl-variable {
 color: #323232;
}
.hl-invalid, .hl-invalid.hl-illegal, .hl-invalid.hl-deprecated {
 color: #b52a1d;
 background-color: #f5f5f5;
font-weight: bold;
}
.hl-entity.hl-name.hl-filename.hl-find-in-files {
 color: #323232;
font-weight: bold;
}
.hl-constant.hl-numeric.hl-line-number.hl-find-in-files, .hl-constant.hl-numeric.hl-line-number.hl-match.hl-find-in-files {
 color: #b3b3b3;
}
.hl-meta.hl-diff.hl-header {
 color: #969896;
 background-color: #ffffff;
font-style: italic;
}
.hl-meta.hl-diff.hl-header .hl-punctuation.hl-definition.hl-from-file.hl-diff {
 color: #bd2c00;
 background-color: #ffecec;
font-weight: bold;
font-style: italic;
}
.hl-meta.hl-diff.hl-header .hl-punctuation.hl-definition.hl-to-file.hl-diff {
 color: #55a532;
 background-color: #eaffea;
font-weight: bold;
font-style: italic;
}
.hl-meta.hl-diff.hl-range {
 color: #969896;
font-weight: bold;
font-style: italic;
}
.hl-markup.hl-deleted {
 background-color: #ffecec;
}
.hl-markup.hl-deleted .hl-punctuation.hl-definition.hl-inserted {
 color: #bd2c00;
font-weight: bold;
}
.hl-markup.hl-inserted {
 background-color: #eaffea;
}
.hl-markup.hl-inserted .hl-punctuation.hl-definition.hl-inserted {
 color: #55a532;
font-weight: bold;
}
.hl-markup.hl-deleted.hl-git_gutter {
 color: #bd2c00;
}
.hl-markup.hl-inserted.hl-git_gutter {
 color: #55a532;
}
.hl-markup.hl-changed.hl-git_gutter {
 color: #0086b3;
}
.hl-markup.hl-ignored.hl-git_gutter {
 color: #b3b3b3;
}
.hl-markup.hl-untracked.hl-git_gutter {
 color: #b3b3b3;
}
.hl-source.hl-css .hl-punctuation.hl-definition.hl-entity {
 color: #323232;
}
.hl-source.hl-css .hl-entity.hl-other.hl-attribute-name.hl-pseudo-class, .hl-source.hl-css .hl-entity.hl-other.hl-attribute-name.hl-pseudo-element {
 color: #a71d5d;
}
.hl-source.hl-css .hl-meta.hl-value, .hl-source.hl-css .hl-support.hl-constant, .hl-source.hl-css .hl-support.hl-function {
 color: #323232;
}
.hl-source.hl-css .hl-constant.hl-other.hl-color {
 color: #ed6a43;
}
.hl-source.hl-scss .hl-punctuation.hl-definition.hl-entity {
 color: #323232;
}
.hl-source.hl-scss .hl-entity.hl-other.hl-attribute-name.hl-pseudo-class, .hl-source.hl-scss .hl-entity.hl-other.hl-attribute-name.hl-pseudo-element {
 color: #a71d5d;
}
.hl-source.hl-scss .hl-support.hl-constant.hl-property-value, .hl-source.hl-scss .hl-support.hl-function {
 color: #323232;
}
.hl-source.hl-scss .hl-variable {
 color: #a71d5d;
}
.hl-variable.hl-language.hl-this.hl-js {
 color: #ed6a43;
}
.hl-source.hl-js .hl-entity.hl-name.hl-function {
 color: #323232;
}
.hl-source.hl-js .hl-meta.hl-function .hl-entity.hl-name.hl-function, .hl-source.hl-js .hl-entity.hl-name.hl-function .hl-meta.hl-function {
 color: #795da3;
font-weight: bold;
}
.hl-entity.hl-name.hl-type.hl-new.hl-js {
 color: #795da3;
}
.hl-variable.hl-language.hl-prototype.hl-js {
 color: #0086b3;
}
.hl-source.hl-js .hl-support.hl-function {
 color: #0086b3;
}
.hl-support.hl-type.hl-object.hl-console.hl-js {
 color: #795da3;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta .hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-meta.hl-structure.hl-dictionary.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #183691;
font-weight: bold;
}
.hl-meta.hl-structure.hl-dictionary.hl-json .hl-meta.hl-structure.hl-dictionary.hl-value.hl-json .hl-string.hl-quoted.hl-double.hl-json {
 color: #323232;
}
.hl-source.hl-python .hl-keyword {
font-weight: bold;
}
.hl-source.hl-python .hl-storage {
font-weight: bold;
}
.hl-source.hl-python .hl-storage.hl-type {
font-weight: bold;
}
.hl-source.hl-python .hl-entity.hl-name.hl-function {
 color: #323232;
font-weight: bold;
}
.hl-source.hl-php .hl-entity.hl-name.hl-type.hl-class {
 color: #323232;
font-weight: bold;
}
.hl-variable.hl-language.hl-ruby {
 color: #ed6a43;
}
.hl-entity.hl-name.hl-type.hl-module.hl-ruby {
 color: #795da3;
font-weight: bold;
}
.hl-entity.hl-name.hl-type.hl-class.hl-ruby {
 color: #795da3;
font-weight: bold;
}
.hl-entity.hl-other.hl-inherited-class.hl-ruby {
 color: #795da3;
font-weight: bold;
}
.hl-text.hl-html.hl-markdown .hl-punctuation.hl-definition {
 color: #a71d5d;
}
.hl-text.hl-html.hl-markdown .hl-meta.hl-separator {
 color: #b3b3b3;
}
.hl-text.hl-html.hl-markdown .hl-markup.hl-heading {
font-weight: bold;
}
.hl-text.hl-html.hl-markdown .hl-markup.hl-raw.hl-block {
 color: #323232;
}
.hl-text.hl-html.hl-markdown .hl-markup.hl-raw.hl-inline {
 color: #323232;
}
.hl-text.hl-html.hl-markdown .hl-meta.hl-link, .hl-text.hl-html.hl-markdown .hl-meta.hl-image {
 color: #4183c4;
}
.hl-text.hl-html.hl-markdown .hl-markup.hl-underline.hl-link, .hl-text.hl-html.hl-markdown .hl-constant.hl-other.hl-reference {
font-style: italic;
}
.hl-text.hl-html.hl-markdown .hl-markup.hl-list {
 color: #ed6a43;
}
.hl-text.hl-html.hl-markdown .hl-markup.hl-bold {
font-weight: bold;
}
.hl-text.hl-html.hl-markdown .hl-markup.hl-italic {
font-style: italic;
}
.hl-text.hl-html.hl-markdown .hl-markup.hl-bold .hl-markup.hl-italic {
font-weight: bold;
font-style: italic;
}
.hl-text.hl-html.hl-markdown .hl-markup.hl-italic .hl-markup.hl-bold {
font-weight: bold;
font-style: italic;
}

.hl-prompt { user-select: none; opacity: 0.6; }
.hl-output { opacity: 0.8; }

th.num, td.num { text-align: right; font-variant-numeric: tabular-nums; }

figure.chart svg { display: block; width: 100%; height: auto; overflow: visible; }
figure.diagram svg { display: block; max-width: 100%; height: auto; overflow: visible; }
.chart-data summary { cursor: pointer; color: var(--muted, #666); font-size: 0.9rem; }

/* From the Hugo site's image classes */
figure.center { margin-left: auto; margin-right: auto; }
figure.clear { clear: both; }
