/*! bulma.io v0.8.0 | MIT License | github.com/jgthms/bulma */ .button, .pagination-previous, .pagination-next, .pagination-link, .pagination-ellipsis { user-select: none; } .box:not(:last-child), .content:not(:last-child), .table:not(:last-child), .title:not(:last-child), .subtitle:not(:last-child), .block:not(:last-child), .highlight:not(:last-child), .level:not(:last-child), .list:not(:last-child), .message:not(:last-child) { margin-bottom: 1.5rem; } .button, .input, .textarea, .pagination-previous, .pagination-next, .pagination-link, .pagination-ellipsis { appearance: none; align-items: center; border: 1px solid transparent; border-radius: 4px; box-shadow: none; display: inline-flex; font-size: 1rem; height: 2.5em; justify-content: flex-start; line-height: 1.5; padding-bottom: calc(0.5em - 1px); padding-left: calc(0.75em - 1px); padding-right: calc(0.75em - 1px); padding-top: calc(0.5em - 1px); position: relative; vertical-align: top; } .button:focus, .input:focus, .textarea:focus, .pagination-previous:focus, .pagination-next:focus, .pagination-link:focus, .pagination-ellipsis:focus, .button:active, .input:active, .textarea:active, .pagination-previous:active, .pagination-next:active, .pagination-link:active, .pagination-ellipsis:active { outline: none; } .button[disabled], .input[disabled], .textarea[disabled], .pagination-previous[disabled], .pagination-next[disabled], .pagination-link[disabled], .pagination-previous.disabled, .pagination-next.disabled, .pagination-ellipsis[disabled] { cursor: not-allowed; } /*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */ html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; } h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; } button, input, select, textarea { margin: 0; } html { box-sizing: border-box; } *, *::before, *::after { box-sizing: inherit; } img, video { max-width: 100%; } html { background-color: #fcfcfc; font-size: 16px; min-width: 300px; overflow-x: hidden; overflow-y: scroll; text-rendering: optimizeLegibility; text-size-adjust: 100%; } article, aside, figure, footer, header, hgroup, section { display: block; } body { color: #222; font-size: 1rem; font-weight: 400; line-height: 1.8; } code { font-size: 1rem; font-weight: normal; -ms-hyphens: auto; -ms-word-break: normal; overflow-wrap: break-word; word-break: break-word; } hr { background-color: #ddd; border: none; display: block; height: 1px; margin: 1.5rem 0; } img { height: auto; max-width: 100%; border-radius: 0.1em; box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.1); } input[type="checkbox"], input[type="radio"] { vertical-align: baseline; } span { font-style: inherit; font-weight: inherit; } strong * { font-weight: 700; } pre { border-radius: 3px; font-size: 0.875em; max-width: 100%; overflow-x: scroll; padding: 1.25em 1.5em; white-space: pre; word-wrap: normal; } pre code { background-color: transparent; color: currentColor; display: inline-block; font-size: 1em; min-width: 100%; padding: 0.75em 0 0 0; position: relative; } pre code:before { border-radius: 0 0 0.25em 0.25em; content: attr(data-lang); font-size: 0.9em; letter-spacing: 0.01rem; line-height: 1; padding: 0.25em 0.5em; position: absolute; left: 0; text-transform: uppercase; top: -1.4em; } .is-pulled-right { float: right !important; } .is-size-3 { font-size: 2rem !important; } .is-size-4 { font-size: 1.5rem !important; } .is-size-5 { font-size: 1.25rem !important; } .is-size-6 { font-size: 1rem !important; } .is-size-7 { font-size: 0.75rem !important; } .has-text-centered { text-align: center !important; } .has-text-left { text-align: left !important; } .has-text-right { text-align: right !important; } .is-uppercase { text-transform: uppercase !important; } .has-text-white { color: white !important; } .has-text-primary { color: #245a8a !important; } .has-text-danger { color: #f05a60 !important; } a.has-text-danger:hover, a.has-text-danger:focus { color: #ff0537 !important; } .has-text-grey-dark { color: #4a4a4a !important; } .has-text-grey { color: #7a7a7a !important; } .has-text-weight-normal { font-weight: 400 !important; } .has-text-weight-semibold { font-weight: 600 !important; } .has-text-weight-bold { font-weight: 700 !important; } .is-block { display: block !important; } .is-flex { display: flex !important; } .is-inline { display: inline !important; } .is-inline-block { display: inline-block !important; } .is-inline-flex { display: inline-flex !important; } .is-hidden { display: none !important; } .button { background-color: transparent; border-color: #dbdbdb; border-width: 1px; color: #363636; cursor: pointer; justify-content: center; padding-bottom: calc(0.375em - 1px); padding-left: 0.75em; padding-right: 0.75em; padding-top: calc(0.375em - 1px); text-align: center; white-space: nowrap; } .button strong { color: inherit; } .button.is-text { background-color: transparent; border-color: transparent; } .button[disabled] { background-color: white; border-color: #dbdbdb; box-shadow: none; opacity: 0.5; } .container { flex-grow: 1; margin: 0 auto; position: relative; width: auto; } @media screen and (min-width: 1088px) { .container { max-width: 960px; } } @media screen and (min-width: 1280px) { .container { max-width: 1152px; } } .content li + li { margin-top: 0.5em; } .content p:not(:last-child), .content dl:not(:last-child), .content ol:not(:last-child), .content ul:not(:last-child), .content blockquote:not(:last-child), .content pre:not(:last-child), .content table:not(:last-child) { margin-bottom: 1.5rem; } .content h1 { font-size: 2em; margin-bottom: 0.5em; } .content h1:not(:first-child) { margin-top: 1em; } .content h2 { font-size: 1.75em; margin-bottom: 0.5714em; } .content h2:not(:first-child) { margin-top: 1.1428em; } .content h3 { font-size: 1.5em; margin-bottom: 0.6666em; } .content h3:not(:first-child) { margin-top: 1.3333em; } .content blockquote { padding: 0 1.5em; margin-left: 5%; margin-bottom: 1.3em !important; } .content ul, ul { list-style: none; margin-top: 1em; } .content ul ul { list-style-type: circle; margin-top: 0.5em; } .content ul ul ul { list-style-type: square; } .content dd { margin-left: 2em; } .content figure { margin-bottom: 1em; text-align: center; } .content sup, .content sub { font-size: 75%; } .title, .subtitle { word-break: break-word; } .title em, .title span, .subtitle em, .subtitle span { font-weight: inherit; } .title sub, .subtitle sub { font-size: 0.75em; } .title sup, .subtitle sup { font-size: 0.75em; } .title .tag, .subtitle .tag { vertical-align: middle; } .title { color: #363636; font-size: 2rem; font-weight: 600; line-height: 1.125; } .title strong { color: inherit; font-weight: inherit; } .title + .highlight { margin-top: -0.75rem; } .title:not(.is-spaced) + .subtitle { margin-top: -1.25rem; } .title.is-1 { font-size: 3rem; } .title.is-2 { font-size: 2.5rem; } .title.is-3 { font-size: 2rem; } .title.is-4 { font-size: 1.5rem; } .title.is-5 { font-size: 1.125rem; } .title.is-6 { font-size: 1rem; } .title.is-7 { font-size: 0.75rem; } .subtitle { color: #4a4a4a; font-size: 1.25rem; font-weight: 400; line-height: 1.8; } .subtitle strong { color: #363636; font-weight: 600; } .subtitle:not(.is-spaced) + .title { margin-top: -1.25rem; } .subtitle.is-6 { font-size: 1rem; } .heading { display: block; font-size: 11px; letter-spacing: 1px; margin-bottom: 5px; text-transform: uppercase; } .highlight { font-weight: 400; max-width: 100%; overflow: hidden; padding: 0; } .highlight:focus-within { outline: 0.25rem solid #ff8383; } .input, .textarea, .select select { background-color: #f9f9f9; border-color: #ccc; color: #363636; max-width: 100%; width: 100%; font-weight: 400; border-radius: 3px; } .input:focus, .textarea:focus, .is-focused.input, .is-focused.textarea, .input:active, .textarea:active, .is-active.input, .is-active.textarea { border-color: #4992d0; box-shadow: 0 0 0 0.125em rgba(73, 146, 208, 0.5); } .input[disabled], .textarea[disabled] { background-color: whitesmoke; border-color: whitesmoke; box-shadow: none; color: #7a7a7a; } .is-danger.input, .is-danger.textarea { border-color: #ff3860; } .textarea { display: block; max-width: 100%; min-width: 100%; padding: 0.625em; resize: vertical; } .textarea:not([rows]) { min-height: 120px; } .textarea[rows] { height: initial; } .checkbox, .radio { cursor: pointer; display: inline-block; line-height: 1.25; position: relative; } .checkbox input, .radio input { cursor: pointer; } .checkbox:hover, .radio:hover { color: #363636; } .checkbox[disabled], .radio[disabled] { color: #7a7a7a; cursor: not-allowed; } .radio + .radio { margin-left: 0.5em; } .field:not(:last-child) { margin-bottom: 0.75rem; } .field.has-addons { display: flex; justify-content: flex-start; } .field.has-addons .control:not(:last-child) { margin-right: -1px; } .field.has-addons .control:not(:first-child):not(:last-child) .button, .field.has-addons .control:not(:first-child):not(:last-child) .input, .field.has-addons .control:not(:first-child):not(:last-child) .select select { border-radius: 0; } .field.has-addons .control:first-child:not(:only-child) .button, .field.has-addons .control:first-child:not(:only-child) .input, .field.has-addons .control:first-child:not(:only-child) .select select { border-bottom-right-radius: 0; border-top-right-radius: 0; } .field.has-addons .control:last-child:not(:only-child) .button, .field.has-addons .control:last-child:not(:only-child) .input, .field.has-addons .control:last-child:not(:only-child) .select select { border-bottom-left-radius: 0; border-top-left-radius: 0; } .field.has-addons .control .button:not([disabled]):hover, .field.has-addons .control .button:not([disabled]).is-hovered, .field.has-addons .control .input:not([disabled]):hover, .field.has-addons .control .input:not([disabled]).is-hovered, .field.has-addons .control .select select:not([disabled]):hover, .field.has-addons .control .select select:not([disabled]).is-hovered { z-index: 2; } .field.has-addons .control .button:not([disabled]):focus, .field.has-addons .control .button:not([disabled]).is-focused, .field.has-addons .control .button:not([disabled]):active, .field.has-addons .control .button:not([disabled]).is-active, .field.has-addons .control .input:not([disabled]):focus, .field.has-addons .control .input:not([disabled]).is-focused, .field.has-addons .control .input:not([disabled]):active, .field.has-addons .control .input:not([disabled]).is-active, .field.has-addons .control .select select:not([disabled]):focus, .field.has-addons .control .select select:not([disabled]).is-focused, .field.has-addons .control .select select:not([disabled]):active, .field.has-addons .control .select select:not([disabled]).is-active { z-index: 3; } .field.has-addons .control .button:not([disabled]):focus:hover, .field.has-addons .control .button:not([disabled]).is-focused:hover, .field.has-addons .control .button:not([disabled]):active:hover, .field.has-addons .control .button:not([disabled]).is-active:hover, .field.has-addons .control .input:not([disabled]):focus:hover, .field.has-addons .control .input:not([disabled]).is-focused:hover, .field.has-addons .control .input:not([disabled]):active:hover, .field.has-addons .control .input:not([disabled]).is-active:hover, .field.has-addons .control .select select:not([disabled]):focus:hover, .field.has-addons .control .select select:not([disabled]).is-focused:hover, .field.has-addons .control .select select:not([disabled]):active:hover, .field.has-addons .control .select select:not([disabled]).is-active:hover { z-index: 4; } .field.has-addons .control.is-expanded { flex-grow: 1; flex-shrink: 1; } @media screen and (min-width: 769px), print { .field.is-horizontal { display: flex; } } .field-body .field .field { margin-bottom: 0; } @media screen and (min-width: 400px), print { .field-body { display: flex; flex-basis: 0; flex-grow: 5; flex-shrink: 1; } .field-body .field { margin-bottom: 0; } .field-body > .field { flex-shrink: 1; } .field-body > .field:not(.is-narrow) { flex-grow: 1; } .field-body > .field:not(:last-child) { margin-right: 0.75rem; } } .control { box-sizing: border-box; clear: both; font-size: 1rem; position: relative; text-align: left; } .dropdown { display: inline-flex; position: relative; vertical-align: top; } .dropdown.is-right .dropdown-menu { left: auto; right: 0; } .dropdown.is-menu .dropdown-menu { top: 0.5rem; right: 0.5rem; } .dropdown-menu { display: none; left: 0; min-width: 6.25rem; padding-top: 4px; position: absolute; top: 100%; z-index: 20; } .dropdown-content { background-color: #fafafa; border: 1px solid #ddd; border-radius: 4px; box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); padding-bottom: 0.5rem; padding-top: 0.5rem; } .navbar { background-color: white; min-height: 3.25rem; position: relative; z-index: 30; } .navbar > .container { align-items: stretch; display: flex; min-height: 3.25rem; width: 100%; } .navbar.is-fixed-bottom, .navbar.is-fixed-top { left: 0; position: fixed; right: 0; z-index: 30; } .navbar.is-fixed-top { top: 0; } html.has-navbar-fixed-top, body.has-navbar-fixed-top { padding-top: 3.25rem; } .navbar-menu { display: none; } .navbar-item .icon:only-child, .navbar-link .icon:only-child { margin-left: -0.25rem; margin-right: -0.25rem; } a.navbar-item, .navbar-link { cursor: pointer; } .navbar-item { display: block; flex-grow: 0; flex-shrink: 0; } @media screen and (max-width: 1087px) { .navbar > .container { display: block; } .navbar-menu { background-color: white; box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1); padding: 0.5rem 0; } .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu { -webkit-overflow-scrolling: touch; max-height: calc(100vh - 3.25rem); overflow: auto; } } @media screen and (min-width: 1088px) { .navbar, .navbar-menu, .navbar-start, .navbar-end { align-items: stretch; display: flex; } .navbar { min-height: 4rem; } .navbar-item, .navbar-link { align-items: center; display: flex; } .navbar-item { display: flex; } .navbar-menu { flex-grow: 1; flex-shrink: 0; } .navbar > .container .navbar-menu, .container > .navbar .navbar-menu { margin-right: -0.75rem; } } .pagination { font-size: 1rem; margin: -0.25rem; } .pagination, .pagination-list { align-items: center; display: flex; justify-content: center; text-align: center; margin: 0; } .pagination-previous, .pagination-next, .pagination-link, .pagination-ellipsis { font-size: 1em; justify-content: center; margin: 0.25rem; padding-left: 0.5em; padding-right: 0.5em; text-align: center; } .pagination-previous, .pagination-next, .pagination-link { border-color: #dbdbdb; color: #363636; min-width: 2.5em; } .pagination-previous:hover, .pagination-next:hover, .pagination-link:hover { border-color: #b5b5b5; color: #363636; border-width: 1px; } .pagination-previous:focus, .pagination-next:focus, .pagination-link:focus { border-color: #3273dc; } .pagination-previous:active, .pagination-next:active, .pagination-link:active { box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); } .pagination-previous[disabled], .pagination-next[disabled], .pagination-link[disabled], .pagination-previous.disabled, .pagination-next.disabled { background-color: #dbdbdb; border-color: #dbdbdb; box-shadow: none; color: #7a7a7a; opacity: 0.5; } .pagination-previous, .pagination-next { padding-left: 0.75em; padding-right: 0.75em; white-space: nowrap; } .pagination-link.is-current { background-color: #3273dc; border-color: #3273dc; color: #fff; font-weight: bold; } .pagination-ellipsis { color: #b5b5b5; pointer-events: none; } .pagination-list { flex-wrap: wrap; } @media screen and (max-width: 768px) { .pagination { flex-wrap: wrap; } .pagination-previous, .pagination-next { flex-grow: 1; flex-shrink: 1; } .pagination-list li { flex-grow: 1; flex-shrink: 1; } } @media screen and (min-width: 769px), print { .pagination-list { flex-grow: 1; flex-shrink: 1; justify-content: flex-start; order: 1; } .pagination-previous { order: 2; } .pagination-next { order: 3; } .pagination { justify-content: space-between; } } .column { display: block; flex-basis: 0; flex-grow: 1; flex-shrink: 1; padding: 0.75rem; } .columns.is-mobile > .column.is-5 { flex: none; width: 41.66667%; } .columns.is-mobile > .column.is-7 { flex: none; width: 58.33333%; } @media screen and (min-width: 769px), print { .column.is-4, .column.is-4-tablet { flex: none; width: 33.33333%; } .column.is-5, .column.is-5-tablet { flex: none; width: 41.66667%; } .column.is-6, .column.is-6-tablet { flex: none; width: 50%; } .column.is-7, .column.is-7-tablet { flex: none; width: 58.33333%; } } .columns { margin-left: -0.75rem; margin-right: -0.75rem; margin-top: -0.75rem; } .columns.is-gapless { margin: 0; } .columns:last-child { margin-bottom: -0.75rem; } .columns:not(:last-child) { margin-bottom: calc(1.5rem - 0.75rem); } .columns.is-centered { justify-content: center; } .columns.is-mobile { display: flex; } @media screen and (min-width: 769px), print { .columns:not(.is-desktop) { display: flex; } } @media screen and (min-width: 1088px) { .columns.is-desktop { display: flex; } } .tile { align-items: stretch; display: block; flex-basis: 0; -ms-flex-preferred-size: auto; flex-grow: 1; flex-shrink: 1; min-height: min-content; } .tile.is-ancestor { margin-left: -0.75rem; margin-right: -0.75rem; margin-top: -0.75rem; } .tile.is-ancestor:last-child { margin-bottom: -0.75rem; } .tile.is-ancestor:not(:last-child) { margin-bottom: 0.75rem; } .tile.is-child { margin: 0 !important; } .tile.is-parent { padding: 0.75rem; } @media screen and (min-width: 769px), print { .tile:not(.is-child) { display: flex; } } .section { padding: 2rem 0; } .section-vertical { padding: 1.5rem 0; } @media screen and (max-width: 1087px) { .section { padding: 1.5rem; } } .footer { padding: 1.5rem; } /* * Custom Resets */ article.content { min-height: 452px; } video { display: inline-block; box-shadow: 0 0.25rem 1rem rgba(48, 55, 66, 0.3); } a { border-bottom: 1px solid #999; color: #014cc6; cursor: pointer; text-decoration: none; overflow-wrap: break-word; } a:hover { border-bottom: 2px solid #999; text-shadow: 0 0 currentColor; } a:focus { border-bottom: 3px solid #999; } h1:target, h2:target, h3:target { text-decoration: underline; text-decoration-style: double; } :target::before { content: ""; display: block; height: 5rem; margin-top: -5rem; visibility: hidden; } ol { counter-reset: ol; } ol, .document > ul { margin-left: 4rem; margin-top: 1.5rem; } ol li, .document > ul li { -ms-hyphens: auto; -ms-word-break: normal; overflow-wrap: break-word; word-break: break-word; font-size: 1.25rem; list-style: none; } ol li + li { margin-top: 1rem !important; } ol li:before { border-radius: 100%; border: 1px solid; content: counter(ol); counter-increment: ol; font-size: 1rem; font-weight: 700; margin-left: -2.75rem; margin-top: 0.25rem; padding: 0 0.5rem; position: absolute; } figure > a, .navbar-item, .webring a, .article__more__content a, .front__more, .is-mobile .has-text-centered > a, .article__list li a, .tableofcontents li a, .resume__label, .resume__container a, .isso-comment-footer a, .abstract.tile > a { border-bottom: none !important; } .abstract.tile.is-ancestor { margin-top: 2rem; } .article__more__content time { margin-right: 1rem; font-size: 1.125rem; letter-spacing: 0.05rem; font-variant: all-small-caps; } .article__more__content li { display: flex; align-items: center; } .article__more__content li p { flex: 1; white-space: nowrap; overflow: hidden; padding-right: 1rem; text-overflow: ellipsis; } @media screen and (max-width: 968px) { .article__more__content li { display: block; } .article__more__content li p { white-space: normal; } } .image__thumbnail { max-height: 222px; } .medium-zoom-overlay { background-color: #fff; background-color: rgba(255, 255, 255, 0.9); } /* * Fonts */ body, button, input, select, textarea, .sans-serif { font-family: "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } .serif, .document ol li, .document > ul li { font-family: Charter, Georgia, "Book Antiqua", serif; } pre, code, svg text, .monospace, blockquote > p.serif { font-family: "Fira Code", "Lucida Console", "Andale Mono", monospace; } .document a { color: #000; } .is-size-serif { font-size: 1.25rem !important; } .content h1, .content h2, .content h3, .document h1 a, .document h2 a, .document h3 a { color: #111; font-weight: 400; line-height: 1.4; } blockquote .blockquote-footer { margin-top: 1.3rem; } blockquote > p.serif { font-size: 1.2rem !important; } .smallcaps { font-variant: small-caps; letter-spacing: 0.05rem; line-height: 0; text-transform: lowercase; } .smallcapsintro { font-size: 2rem !important; text-transform: none; } /* * Text selection */ ::selection { color: #fff; background-color: #000; text-shadow: 0 0 currentColor; } ::-webkit-selection { color: #fff; background-color: #000; text-shadow: 0 0 currentColor; } ::-moz-selection { color: #fff; background-color: #000; text-shadow: 0 0 currentColor; } /* * Front page */ .introduction { padding: 1em; margin-top: 0.75em; } .front__more { text-transform: uppercase; } .front__more svg { vertical-align: bottom; } .recent__article p, .article__summary { margin-bottom: 0.75rem !important; } /* * Navigation Bar Reset */ a.navbar-item:focus, a.navbar-item:hover, .navbar-item:hover label { color: #000000; } .navbar__icon:hover svg, .navbar__icon:hover label svg { fill: #ffc966; } .navbar-item { display: block; line-height: 1.25; padding: 0.5rem 0.75rem; position: relative; } .navbar { -webkit-transition: top 0.15s; -o-transition: top 0.15s; transition: top 0.15s; } .headroom { top: -5em !important; } .navbar-item { color: #555; } .navbar { box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05); background-color: #fcfcfc; background-color: rgba(252, 252, 252, 0.97); min-height: 4rem; } .navbar, .navbar-menu { background-color: #fcfcfc; background-color: rgba(252, 252, 252, 0.97); } .navbar-menu { display: flex; overflow: visible !important; box-shadow: none; } .navbar-menu .columns { margin: 0 auto; display: flex; } .navbar-menu .column { padding: 0; } html.has-navbar-fixed-top, body.has-navbar-fixed-top, html.has-navbar-fixed-bottom, body.has-navbar-fixed-bottom { padding-top: 4rem; } .navbar .container, .navbar__left, .navbar__middle, .navbar__right { min-height: 4rem; align-items: center; } .navbar__tablet__compact .navbar__active { border-bottom: 2px solid #75b2f0; } @media screen and (max-width: 1087px) { .navbar-menu .columns { margin: 0 1em; width: 100%; } .navbar-menu { padding: 0 !important; } } @media screen and (min-width: 1088px) { .navbar-menu, .navbar-item { display: inline-block; } } @media screen and (max-width: 400px) { .is-mobile { display: block !important; } .is-mobile .column { width: 100% !important; } } .navbar__left { display: inline-flex; justify-content: flex-end; } .navbar__right { display: inline-flex; justify-content: flex-start; } .navbar__middle { display: inline-flex; justify-content: center; } @media screen and (max-width: 900px) { .navbar__left, .navbar__right { display: none; } } .navbar__icon { display: flex; align-items: center; justify-content: center; padding: 0 1.5rem; height: 4rem; } .navbar__icon__label { font-size: 0.75rem; } .navbar__icon__label:after { display: block; content: attr(title); font-weight: 700; height: 0; overflow: hidden; visibility: hidden; } @media screen and (max-width: 624px) { .navbar-menu .columns { margin: 0; } .navbar__icon { padding: 0; width: 20%; } .navbar__icon__hidden { display: none; } } .navbar__active { color: #014cc6 !important; } .navbar__active svg { fill: #d1ebff; } .navbar__active .navbar__icon__label { font-weight: 700; } .navbar__icon__menu { margin: 0; justify-content: center; height: 100%; } .navbar__middle .dropdown { padding: 0; } .dropdown label { cursor: pointer; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 0 1.5rem; } .dropdown-content .navbar-item { margin: 0; padding: 0.65rem 1rem; width: 100%; } .dropdown-content .navbar__active { font-weight: 700; background-color: #ebf2ff; } .dropdown-content a.navbar-item:hover, .dropdown-content .theme-toggle-button:hover { background-color: #ffeac2; color: black; } .dropdown-input[type="checkbox"]:checked ~ .dropdown-menu { display: block; } .error__headerSize { font-size: 8rem; } nav .item__box { margin: 0 0 0 0.7rem; } .item__box span { padding-left: 10px; } .item__box svg { stroke-width: 1.5px; width: 20px; height: 20px; } .item__box:hover, .item__box:hover svg, .item__box:focus svg { fill: currentColor; color: #000; } .item__no__hover:hover svg, .item__no__hover:focus svg { fill: transparent !important; } .item__box { height: 2rem; display: flex; align-items: center; justify-content: center; font-weight: 400; padding: 0.25rem 1rem; background-color: #f2f2f2; border: 0 solid transparent !important; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3); } /* * Contact Form */ .alert { color: #f00; } .agree { opacity: 0; position: absolute; top: 0; left: 0; height: 0; width: 0; z-index: -1; } .message__success { background-color: #effaef; padding: 1em; border: 1px solid #28d263; margin-bottom: 1em; } /* * Footer */ .footer__section { line-height: 2.2; } .hero-foot > .footer > .columns { margin: 0; } .footer a { color: #333; } /* * Posts and Projects */ .article__title a { line-height: 1.8; } .article__date { margin-bottom: 0.75rem; } .article__divider { background-color: transparent; } .article__updated { padding: 0.5em; } ul.article__list { line-height: 2.5; } .article__list li:hover { background-color: #f1f1f1; } .article__list a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .article__list__date { padding-right: 1rem; text-transform: uppercase; } .article__list a, h1.article__list { padding: 0 0.5rem; } h1.article__list:not(:first-child) { margin-top: 1.5rem; } .article__heading__anchor { border-bottom: none; } .webring li { padding-top: 1em; } .webring ul { margin-top: 0; } .webring .articles h2 { margin-bottom: 0.1em; } /* * Resume Page */ .max__height { min-height: 100vh; } .resume__container { padding: 0 3em 0 3em; max-width: 1152px; } .resume__section { padding: 0 1.5em; } .resume__break { padding: 0.75em 1.5em; } .resume__column { padding: 0; } .resume__label { padding: 10px; color: #fff !important; border-radius: 3px; } .resume__label:hover { background-color: #fcfcfc; color: #333 !important; } .inline__padding { display: inline-block; margin: 0.5em; border-bottom: 1px solid transparent !important; } @media screen and (min-width: 769px) { .column__right { max-height: 100vh; overflow: auto; } } .column__background { background-color: #4587c1; background-image: url("/images/shells.jpg"); background-position: center; background-size: cover; min-height: 50vh; } .text__frame { border-radius: 2px; display: inline-block; padding: 10px; } /* * Focus Links */ a:focus, a:focus span { background-color: #ffeac2; color: #000; outline: none; } a:focus img { outline: 2px solid; } a:hover img { box-shadow: 0 8px 32px #999; } figure > a:focus { background-color: transparent; } .is-success:focus, .is-link:focus { background-color: #ebebeb !important; } /* * Figures */ figure div { height: 0; } figcaption, figcaption code { font-size: 0.95em; margin-bottom: 1em; margin-top: 1.5em; text-align: center; } video-container { display: block; text-align: center; } /* * Theme toggle */ .theme-toggle-button { border-radius: 0; height: auto; border: none; justify-content: start; font-weight: 400; } /* * Custom Helpers */ .has-padding-none { padding: 0 !important; } .has-padding-left-md { padding-left: 0.5em !important; } .has-margin-none { margin: 0 !important; } .has-margin-left-none { margin-left: 0 !important; } .has-margin-right-none { margin-right: 0 !important; } .has-margin-bottom-none { margin-bottom: 0 !important; } .has-margin-bottom-sm { margin-bottom: 0.25em !important; } .has-margin-bottom-md { margin-bottom: 0.5em !important; } .has-margin-bottom-lg { margin-bottom: 1em !important; } .has-spacing-widest { letter-spacing: 0.1em; } .has-tap-transparent { -webkit-tap-highlight-color: transparent; } /* * Table of Contents */ details summary { cursor: pointer; } nav#TableOfContents li:hover { background-color: #f1f1f1; } nav#TableOfContents ul { margin-left: -0.5em; } nav#TableOfContents a { display: block; color: #444; padding: 0.125rem 0 0.125rem 0.5rem; } nav#TableOfContents a { display: block; font-size: 0.8125rem; } /* * Tables */ td, th { padding: 0; } table td, table th { vertical-align: top; } td:not([align]), th:not([align]) { text-align: left; } table td { padding: 0.4rem; min-width: 8rem; } table td:not([align]), table th:not([align]) { text-align: left; } table { width: 100%; border-collapse: collapse; border-spacing: 0; } table th { font-weight: 700; font-variant: small-caps; text-transform: lowercase; letter-spacing: 0.05rem; padding: 0.4rem; } table, table code { font-size: 1.15rem; } @media (max-width: 550px) { table { table-layout: fixed; } } /* * Tufte CSS: https://edwardtufte.github.io/tufte-css/ */ .leftnote { float: left; clear: left; margin-left: -40%; margin-left: -22vw; } .rightnote { float: right; clear: right; margin-right: -40%; margin-right: -22vw; } .leftnote, .rightnote { width: 32%; width: 18vw; margin-top: 0; margin-bottom: 1em; font-size: 1rem; vertical-align: baseline; position: relative; color: #444; } .sidenote, .marginnote { -ms-hyphens: auto; -ms-word-break: normal; overflow-wrap: break-word; word-break: break-word; -webkit-user-select: none; -ms-user-select: none; user-select: none; letter-spacing: 0.01rem; } .sidenote:hover, .marginnote:hover { -webkit-user-select: inherit; -ms-user-select: inherit; user-select: inherit; } @media (min-width: 769px) { .rightnote { padding-right: 1.125em; } .leftnote { text-align: right; padding-left: 1.125em; } .leftnote, .rightnote { max-width: 22em; } } @media (min-width: 2000px) { .leftnote { margin-left: -28em; } .rightnote { margin-right: -28em; } } body { counter-reset: sidenote-counter; } label.sidenote-mark { display: inline; } input.sidenote-toggle, input.marginnote-toggle { display: none; } .sidenote-mark { counter-increment: sidenote-counter; } .sidenote:before { content: counter(sidenote-counter) " "; } .sidenote-mark:after { content: counter(sidenote-counter); left: 0.1rem; } .sidenote-mark:after, .sidenote:before, .marginnote-mark:after { position: relative; vertical-align: baseline; font-size: 0.7rem; top: -0.5rem; } mark { background-color: transparent; color: unset; } .sidenote-container:hover .sidenote-mark span, .sidenote-container:hover .sidenote mark, .marginnote-container:hover .marginnote-mark span, .marginnote-container:hover .marginnote mark, .sidenote-container:hover .sidenote a, .marginnote-container:hover .marginnote a { background-color: #ffeac2; color: #000; } .sidenote-container:hover .sidenote a, .marginnote-container:hover .marginnote a { border-color: dodgerblue; } .sideimage > a, .sideimage a:focus { border-bottom: 1px solid transparent !important; background-color: transparent !important; } @media (max-width: 768px) { .sidenote-toggle:checked + .sidenote, .marginnote-toggle:checked + .marginnote { display: block; float: left; left: 1rem; clear: both; width: 95%; margin: 1rem 2.5%; vertical-align: baseline; position: relative; } label { cursor: pointer; } label.marginnote-toggle:not(.sidenote-number) { display: inline; } .sidenote, .marginnote { display: none; } .tableofcontents { display: none !important; } .sidenote-mark, .marginnote-mark { border-bottom: 1px dashed #999; } .marginnote-mark:after { content: "\0002B"; font-weight: bold; } .sideimage { margin: 0 !important; left: 0 !important; width: 100% !important; } .sidenote mark { background-color: transparent !important; color: unset !important; } } .document .subtitle { margin-top: 0 !important; margin-bottom: 1.5em !important; } .recent__article .marginnote, .recent__article .sidenote { margin-top: 0 !important; } @media (max-width: 768px) { .recent__article .columns, .content blockquote, .highlight { clear: both; } } /* IE quote height fix */ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { .quote { height: 0; } } /* Embed friendly */ @media (max-height: 16rem) { html.has-navbar-fixed-top { padding: 0; } nav { display: none; } } /* * Isso comments */ #isso-thread * { box-sizing: border-box; word-wrap: break-word; } #isso-thread .isso-comment-header a { text-decoration: none; } #isso-thread { padding: 0; margin: 0; } #isso-thread > h4 { color: #555; margin-bottom: 1em; } #isso-thread > .isso-feedlink { float: right; padding-left: 1em; } #isso-thread > .isso-feedlink > a { font-size: 0.8em; vertical-align: bottom; } #isso-thread .textarea { height: auto !important; line-height: 1.8; outline: 0; overflow: auto; resize: auto; } #isso-thread .textarea.placeholder { color: #545454; } #isso-root .isso-comment { max-width: 68em; padding-top: 0.95em; margin: 0.95em auto; } #isso-root .preview .isso-comment { padding-top: 0; margin: 0; } .isso-comment > div.avatar { float: left; width: 16px; height: 16px; margin: 2px 12px 0 0; display: none !important; } .isso-comment blockquote { margin: 1rem 0 !important; } .isso-comment blockquote p { font-size: 0.975rem !important; margin: 0 !important; border-left: 3px solid #999; padding-left: 0.5rem; } .isso-comment > div.avatar > svg { max-width: 48px; max-height: 48px; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 3px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } .isso-comment > div.text-wrapper { display: block; } .isso-comment .isso-follow-up { padding-left: 2rem; } .isso-comment > div.text-wrapper > .isso-comment-header, .isso-comment > div.text-wrapper > .isso-comment-footer { font-size: 0.95em; } .isso-comment > div.text-wrapper > .text a { color: black; } .isso-comment > div.text-wrapper > .isso-comment-header .permalink { color: #555; } .isso-comment > div.text-wrapper > .isso-comment-header .spacer { padding: 0 6px; color: #999; } .isso-comment > div.text-wrapper > .isso-comment-header .note { float: right; } .isso-comment > div.text-wrapper > .isso-comment-header .author { font-weight: bold; color: #555; } .isso-comment > div.text-wrapper > .textarea-wrapper .textarea, .isso-comment > div.text-wrapper > .textarea-wrapper .preview { margin: 0.25rem 0; } .isso-comment > div.text-wrapper > div.text p:last-child { margin-bottom: 0.25rem; } .isso-comment > div.text-wrapper > div.text h1, .isso-comment > div.text-wrapper > div.text h2, .isso-comment > div.text-wrapper > div.text h3, .isso-comment > div.text-wrapper > div.text h4, .isso-comment > div.text-wrapper > div.text h5, .isso-comment > div.text-wrapper > div.text h6 { font-size: 130%; font-weight: bold; } .isso-comment > div.text-wrapper > div.textarea-wrapper .textarea, .isso-comment > div.text-wrapper > div.textarea-wrapper .preview { width: 100%; border: 1px solid #f0f0f0; border-radius: 2px; box-shadow: 0 0 2px #888; } .isso-comment > div.text-wrapper > .isso-comment-footer { font-size: 0.8em; color: gray; clear: left; } .isso-feedlink, .isso-comment > div.text-wrapper > .isso-comment-footer a { font-weight: bold; text-decoration: none; } .isso-feedlink:hover, .isso-comment > div.text-wrapper > .isso-comment-footer a:hover svg, .isso-comment > div.text-wrapper > .isso-comment-footer .reply:hover, .isso-comment > div.text-wrapper > .isso-comment-footer .edit:hover, .isso-comment > div.text-wrapper > .isso-comment-footer .cancel:hover, .isso-comment > div.text-wrapper > .isso-comment-footer .delete:hover { color: #111111; text-shadow: #aaaaaa 0 0 1px !important; background-color: #ccc; fill: #111111; } .isso-comment > div.text-wrapper > .isso-comment-footer > a { position: relative; top: 0.2em; padding: 0.3em; border-radius: 0.1em; } .isso-comment > div.text-wrapper > .isso-comment-footer .votes { background-color: #014cc6; border-radius: 3px; padding: 2px 6px; font-weight: bold; color: white; margin-right: 0.5rem; } .isso-comment > div.text-wrapper > .isso-comment-footer .upvote svg, .isso-comment > div.text-wrapper > .isso-comment-footer .downvote svg { position: relative; top: 0.2em; } .isso-comment .isso-postbox { margin-top: 0.8em; } .isso-comment-footer > .delete { margin: 0.2rem 0 0 0.4rem; } .isso-comment-footer > .cancel { margin-left: 0.3rem; } .isso-comment.isso-no-votes span.votes { display: none; } .isso-postbox { max-width: 68em; margin: 0 auto 2em; clear: right; } .isso-postbox > .form-wrapper { display: block; padding: 0; } .isso-postbox > .form-wrapper > .auth-section, .isso-postbox > .form-wrapper > .auth-section .post-action { display: block; } .isso-postbox > .form-wrapper .textarea, .isso-postbox > .form-wrapper .preview { margin: 0 0 0.6em; padding: 0.4em 0.8em; border-radius: 2px; border: 1px solid rgba(0, 0, 0, 0.2); background-color: #fafafa; min-height: 150px; } #isso-thread .textarea:focus, #isso-thread input:focus { border-color: rgb(73, 146, 208); } .isso-postbox > .form-wrapper > .auth-section .input-wrapper { display: inline-block; position: relative; padding-bottom: 0.6em; width: 33.33%; } .isso-postbox > .form-wrapper > .auth-section .input-wrapper:nth-child(-n + 2) { padding-right: 0.6em; } .isso-postbox > .form-wrapper > .auth-section .post-action { padding-left: 0.6em; margin-bottom: 0 !important; } .isso-postbox > .form-wrapper > .auth-section .input-wrapper input { padding: 0.6em 10px; font-size: 0.8em; width: 100%; border-radius: 2px; background-color: #fafafa; line-height: 1.4em; border: 1px solid rgba(0, 0, 0, 0.2); } .isso-postbox > .form-wrapper > .auth-section .post-action { display: inline-block; float: right; } .isso-postbox > .form-wrapper > .auth-section .post-action > input { padding: 0.4em; font-size: 0.8em; border-radius: 2px; border: 1px solid #3273dc; cursor: pointer; outline: 0; line-height: 1.7em; width: 6em; background-color: white; color: #1e55ae; } .isso-postbox > .form-wrapper > .auth-section .post-action > input:hover { font-weight: bold; } .isso-postbox > .form-wrapper .preview, .isso-postbox > .form-wrapper input[name="edit"], .isso-postbox.preview-mode > .form-wrapper input[name="preview"], .isso-postbox.preview-mode > .form-wrapper .textarea { display: none; } .isso-postbox.preview-mode > .form-wrapper .preview { display: block; } .isso-postbox.preview-mode > .form-wrapper input[name="edit"] { display: inline; } .isso-postbox > .form-wrapper .preview { background-color: #f8f8f8; background: repeating-linear-gradient( -45deg, #f8f8f8, #f8f8f8 10px, #fff 10px, #fff 20px ); } .isso-postbox > .form-wrapper > .notification-section { display: none; padding-bottom: 10px; } .isso-postbox > .form-wrapper > .notification-section input[name="notification"] { margin-right: 0.5rem; } @media screen and (max-width: 600px) { .isso-postbox > .form-wrapper > .auth-section .input-wrapper { display: inline-block; max-width: 100%; margin: 0 0 0.3em; } .isso-postbox > .form-wrapper > .auth-section .input-wrapper input { width: 100%; } } /* * Uppy CSS */ .uppy-Dashboard-inner { background-color: #fff !important; border: 1px solid #aaa !important; } .uppy-size--md .uppy-DashboardAddFiles { border: 2px dashed #aaa !important; } .uppy-size--md .uppy-Dashboard-inner { margin: 0 auto; }