@font-face { font-family: 'Bebas Neue'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/BebasNeue-Regular.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } @font-face { font-family: 'PT Sans'; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/ptsansitalic.woff2) format('woff2'); } @font-face { font-family: 'PT Sans'; font-style: italic; font-weight: 700; font-display: swap; src: url(../fonts/ptsansbolditalic.woff2) format('woff2'); } @font-face { font-family: 'PT Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/ptsans.woff2) format('woff2'); } @font-face { font-family: 'PT Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/ptsansbold.woff2) format('woff2'); } @font-face { font-family: 'PT Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url(../fonts/ptserifitalic.woff2) format('woff2'); } @font-face { font-family: 'PT Serif'; font-style: italic; font-weight: 700; font-display: swap; src: url(../fonts/ptserifbolditalic.woff2) format('woff2'); } @font-face { font-family: 'PT Serif'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/ptserif.woff2) format('woff2'); } @font-face { font-family: 'PT Serif'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/ptserifbold.woff2) format('woff2'); } :root, [data-theme="light"] { --body-bg: #fafafa; --main-color: #639f93; --main-color-hover: #5b9287; --form-success-bg: #d0f1cc; --form-success-text: #597755; --form-error-bg: #f1cccc; --form-error-text: #775555; --grey-222: #222; --grey-555: #555; --grey-aaa: #aaa; --grey-ccc: #ccc; --grey-ddd: #ddd; --grey-eee: #eee; --grey-fc: #fcfcfc; --grey-fa: #fafafa; } [data-theme="dark"] { --body-bg: #050505; --main-color: #639f93; --main-color-hover: #5b9287; --form-success-bg: #d0f1cc; --form-success-text: #597755; --form-error-bg: #f1cccc; --form-error-text: #775555; --grey-222: #ddd; --grey-555: #ddd; --grey-aaa: #777; --grey-ccc: #666; --grey-ddd: #666; --grey-eee: #222; --grey-fc: #fcfcfc; --grey-fa: #151515; } * { box-sizing: border-box; -moz-box-sizing: border-box; } body { margin: 0; padding: 0; font-family: 'PT Serif', serif; font-size: 18px; line-height: 30px; color: var(--grey-555); background: var(--body-bg); } header, nav, section, main, article, aside, figure, footer, iframe, object, svg { display: block; margin: 0; } @media screen and (max-width: 800px) { body { padding: 80px 0 0; } } .highlight { background: var(--grey-fa); border: 1px solid var(--grey-ccc); padding: 30px; } .highlight .lineno { padding: 0 15px 0 0; } .highlight .c { color: #998; font-style: italic; } .highlight .err { color: #a61717; background-color: #e3d2d2; } .highlight .k { font-weight: bold; } .highlight .o { font-weight: bold; } .highlight .cm { color: #998; font-style: italic; } .highlight .cp { color: #999; font-weight: bold; } .highlight .c1 { color: #998; font-style: italic; } .highlight .cs { color: #999; font-weight: bold; font-style: italic; } .highlight .gd { color: #000; background-color: #fdd; } .highlight .gd .x { color: #000; background-color: #faa; } .highlight .ge { font-style: italic; } .highlight .gr { color: #a00; } .highlight .gh { color: #999; } .highlight .gi { color: #000; background-color: #dfd; } .highlight .gi .x { color: #000; background-color: #afa; } .highlight .go { color: #888; } .highlight .gp { color: #555; } .highlight .gs { font-weight: bold; } .highlight .gu { color: #aaa; } .highlight .gt { color: #a00; } .highlight .kc { font-weight: bold; } .highlight .kd { font-weight: bold; } .highlight .kp { font-weight: bold; } .highlight .kr { font-weight: bold; } .highlight .kt { color: #458; font-weight: bold; } .highlight .m { color: #099; } .highlight .s { color: #d14; } .highlight .na { color: #008080; } .highlight .nb { color: #0086B3; } .highlight .nc { color: #458; font-weight: bold; } .highlight .no { color: #008080; } .highlight .ni { color: #800080; } .highlight .ne { color: #900; font-weight: bold; } .highlight .nf { color: #900; font-weight: bold; } .highlight .nn { color: #555; } .highlight .nt { color: #000080; } .highlight .nv { color: #008080; } .highlight .ow { font-weight: bold; } .highlight .w { color: #bbb; } .highlight .mf { color: #099; } .highlight .mh { color: #099; } .highlight .mi { color: #099; } .highlight .mo { color: #099; } .highlight .sb { color: #d14; } .highlight .sc { color: #d14; } .highlight .sd { color: #d14; } .highlight .s2 { color: #d14; } .highlight .se { color: #d14; } .highlight .sh { color: #d14; } .highlight .si { color: #d14; } .highlight .sx { color: #d14; } .highlight .sr { color: #009926; } .highlight .s1 { color: #d14; } .highlight .ss { color: #990073; } .highlight .bp { color: #999; } .highlight .vc { color: #008080; } .highlight .vg { color: #008080; } .highlight .vi { color: #008080; } .highlight .il { color: #099; } @keyframes headerShine { 100% { left: 150%; } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } } @keyframes zoomIn { from { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); } to { opacity: 1; } } @keyframes zoomOut { from { opacity: 1; } 50% { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); } to { opacity: 0; } } .hidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .wrapper { max-width: 600px; margin: 0 auto; padding: 0 20px 35px; border-bottom: 1px solid var(--grey-eee); } .wrapper.long { max-width: 800px; } .site-header { display: grid; -webkit-justify-content: center; justify-content: center; padding: 0 20px; text-align: center; } .site-header .site-header-wrapper { position: relative; overflow: hidden; background: var(--main-color); padding: 10px 25px 20px 25px; border-radius: 0 0 5px 5px; text-decoration: none; transition: background 0.2s ease; -moz-transition: background 0.2s ease; -webkit-transition: background 0.2s ease; -o-transition: background 0.2s ease; } .site-header .site-header-wrapper:before { position: absolute; top: 0; left: -150%; content: ""; width: 50%; height: 100%; background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%); background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%); -webkit-transform: skew(-45deg, 0); -moz-transform: skew(-45deg, 0); -ms-transform: skew(-45deg, 0); -o-transform: skew(-45deg, 0); transform: skew(-45deg, 0); } .site-header .site-header-wrapper:hover { background: var(--main-color-hover); } .site-header .site-header-wrapper:hover:before { animation: headerShine .35s; } .site-header .site-header-wrapper .site-logo { display: block; margin: 0 0 10px; } .site-header .site-header-wrapper .site-logo img { display: block; } .site-header .site-header-wrapper .site-subtitle { display: block; font-family: 'Bebas Neue', sans-serif; font-size: 11px; line-height: 14px; color: var(--grey-fc); } .site-header .site-header-wrapper .site-title { display: block; font-family: 'Bebas Neue', sans-serif; font-size: 26px; line-height: 28px; color: var(--grey-fc); } @media screen and (max-width: 800px) { .site-header { position: fixed; left: 0; top: 0; width: 100%; z-index: 9; background: var(--body-bg); box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); } .site-header .site-header-wrapper { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; -webkit-flex-flow: row wrap; -moz-flex-flow: row wrap; -ms-flex-flow: row wrap; flex-flow: row wrap; gap: 0 15px; border-radius: 0; padding: 20px; background: transparent; } .site-header .site-header-wrapper:hover { background: transparent; } .site-header .site-header-wrapper .site-logo, .site-header .site-header-wrapper .site-subtitle { display: none; } .site-header .site-header-wrapper .site-title { font-size: 32px; line-height: 36px; color: var(--main-color); } } .site-navigation { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; -webkit-flex-flow: row wrap; -moz-flex-flow: row wrap; -ms-flex-flow: row wrap; flex-flow: row wrap; gap: 10px 40px; max-width: 800px; margin: 30px auto 0; padding: 0 20px; text-align: center; } .site-navigation a, .site-navigation span { position: relative; text-decoration: none; color: var(--grey-555); padding: 0 0 2px; transition: color 0.2s ease; -moz-transition: color 0.2s ease; -webkit-transition: color 0.2s ease; -o-transition: color 0.2s ease; cursor: pointer; } .site-navigation a:before, .site-navigation span:before { position: absolute; opacity: 0; left: 0; bottom: 0; width: 0%; border-bottom: 2px solid var(--grey-222); transition: width 0.18s ease, opacity 0.18s ease; -moz-transition: width 0.18s ease, opacity 0.18s ease; -webkit-transition: width 0.18s ease, opacity 0.18s ease; -o-transition: width 0.18s ease, opacity 0.18s ease; content: ""; } .site-navigation a:hover, .site-navigation a.active, .site-navigation span:hover, .site-navigation span.active { color: var(--grey-222); } .site-navigation a:hover:before, .site-navigation a.active:before, .site-navigation span:hover:before, .site-navigation span.active:before { width: 100%; opacity: 1; } @media screen and (max-width: 800px) { .site-navigation { position: fixed; bottom: 0; left: 0; width: 100%; height: 100%; -webkit-justify-content: flex-start; justify-content: flex-start; -webkit-flex-flow: column nowrap; -moz-flex-flow: column nowrap; -ms-flex-flow: column nowrap; flex-flow: column nowrap; gap: 20px 0; -webkit-transform: translate(0, -100%); -moz-transform: translate(0, -100%); -ms-transform: translate(0, -100%); -o-transform: translate(0, -100%); transform: translate(0, -100%); transition: transform 0.25s ease-in-out; -moz-transition: transform 0.25s ease-in-out; -webkit-transition: transform 0.25s ease-in-out; -o-transition: transform 0.25s ease-in-out; padding: 100px 20px 0; background: rgba(255, 255, 255, 0.9); z-index: 10; } .site-navigation a, .site-navigation span { color: var(--grey-222); font-size: 30px; line-height: 40px; } } .site-footer { max-width: 800px; margin: 0 auto; padding: 40px 20px; font-size: 14px; line-height: 22px; color: var(--grey-ccc); text-align: center; } .site-footer a { font-size: 14px; font-family: 'PT Sans', sans-serif; color: var(--grey-ccc); text-decoration: none; transition: all 0.15s ease; -moz-transition: all 0.15s ease; -webkit-transition: all 0.15s ease; -o-transition: all 0.15s ease; } .site-footer a:hover { color: var(--grey-555); } .site-footer nav a { border-right: 1px solid var(--grey-aaa); padding: 0 0.5rem; } .site-footer nav a:last-child { border: none; } .page-work .projects-list { display: grid; gap: 40px 20px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } .page-work .projects-list .project { text-align: center; } .page-work .projects-list .project .project-cover { display: block; margin: 0 0 15px; transition: transform 0.2s ease; -moz-transition: transform 0.2s ease; -webkit-transition: transform 0.2s ease; -o-transition: transform 0.2s ease; } .page-work .projects-list .project .project-cover:hover { -webkit-transform: scale(1.08); -moz-transform: scale(1.08); -ms-transform: scale(1.08); -o-transform: scale(1.08); transform: scale(1.08); } .page-work .projects-list .project .project-cover img { display: block; width: 100%; height: auto; } .page-work .projects-list .project .project-title { font-size: 18px; margin: 0 0 5px; } .page-work .projects-list .project .project-title a { color: var(--grey-222); text-decoration: none; } .page-work .projects-list .project .project-title a:hover { text-decoration: underline; } .page-work .projects-list .project .project-category { display: block; font-family: 'PT Sans', sans-serif; font-size: 12px; line-height: 16px; color: var(--grey-aaa); text-transform: uppercase; letter-spacing: .1em; } .page-project { display: grid; gap: 50px; grid-template-columns: 7fr 3fr; grid-template-rows: auto; grid-template-areas: "carousel carousel" "content sidebar"; } .page-project .section-title { display: block; font-family: 'PT Sans', sans-serif; font-size: 13px; color: var(--grey-222); text-transform: uppercase; letter-spacing: .1em; } .page-project .project-gallery { grid-area: carousel; position: relative; overflow: hidden; } .page-project .project-gallery .slides { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; transition: transform 0.5s ease; -moz-transition: transform 0.5s ease; -webkit-transition: transform 0.5s ease; -o-transition: transform 0.5s ease; } .page-project .project-gallery .slides .slide { position: relative; width: 100%; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex: 1 0 auto; -moz-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: 1 0 auto; padding: 50% 0 0; } .page-project .project-gallery .slides .slide figure a { display: block; } .page-project .project-gallery .slides .slide figure a img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; } .page-project .project-gallery .gallery-nav { display: grid; gap: 0 5px; grid-auto-flow: column; position: absolute; bottom: 20px; right: 20px; z-index: 1; } .page-project .project-gallery .gallery-nav label { width: 12px; height: 12px; background: transparent; border: 2px solid var(--grey-222); display: block; border-radius: 50%; transition: background 0.1s ease; -moz-transition: background 0.1s ease; -webkit-transition: background 0.1s ease; -o-transition: background 0.1s ease; cursor: pointer; } .page-project .project-gallery .gallery-nav label.active, .page-project .project-gallery .gallery-nav label:hover { background: var(--grey-222); } .page-project .project-overview { grid-area: content; } .page-project .project-overview .project-title { margin: 0 0 20px; font-size: 40px; line-height: 44px; color: var(--grey-222); } .page-project .project-overview a { color: var(--main-color); } .page-project .project-overview a:hover { text-decoration: none; } .page-project .project-overview abbr { border-bottom: 1px dotted var(--grey-555); text-decoration: none; cursor: help; } .page-project .project-overview code, .page-project .project-overview kbd, .page-project .project-overview pre { margin: 0; font-family: monospace; word-wrap: break-word; word-break: break-word; white-space: pre-wrap; } .page-project .project-overview address, .page-project .project-overview cite, .page-project .project-overview var { font-style: italic; } .page-project .project-overview blockquote { margin: 40px 0; padding: 0 0 0 20px; border-left: 3px solid var(--grey-555); color: var(--grey-222); font-weight: 700; } .page-project .project-overview em, .page-project .project-overview strong { color: var(--grey-222); } .page-project .project-overview p { margin: 15px 0; } .page-project .project-overview p > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } .page-project .project-overview img { display: block; max-width: 100%; height: auto; } .page-project .project-overview ul { list-style-type: disc; list-style-position: inside; } .page-project .project-overview ul, .page-project .project-overview ol { margin: 15px 0; padding: 0 0 0 20px; } .page-project .project-overview ul ul, .page-project .project-overview ul ol, .page-project .project-overview ol ul, .page-project .project-overview ol ol { padding: 0 0 0 20px; } .page-project .project-overview ul li, .page-project .project-overview ol li { margin: 5px 0; } .page-project .project-overview ul li > code, .page-project .project-overview ol li > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } .page-project .project-meta { grid-area: sidebar; } .page-project .project-meta > div { position: sticky; top: 0; display: grid; gap: 30px; justify-items: start; align-items: start; align-content: start; font-size: 16px; } .page-project .project-meta > div .button { display: inline-block; background: var(--main-color); padding: 10px 30px; text-transform: uppercase; color: var(--grey-fc); border-radius: 5px; font-family: 'PT Sans', sans-serif; font-size: 14px; font-weight: 700; border: none; cursor: pointer; transition: background 0.1s ease; -moz-transition: background 0.1s ease; -webkit-transition: background 0.1s ease; -o-transition: background 0.1s ease; text-decoration: none; text-align: center; } .page-project .project-meta > div .button:hover { background: var(--main-color-hover); } .page-project .project-meta > div .button:active, .page-project .project-meta > div .button:focus { outline: none; } @media screen and (max-width: 640px) { .page-project { grid-template-areas: "carousel carousel" "content content" "sidebar sidebar"; grid-template-columns: 1fr 1fr; } .page-project .project-meta > div { position: static; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-flow: row wrap; -moz-flex-flow: row wrap; -ms-flex-flow: row wrap; flex-flow: row wrap; } .page-project .project-meta > div > div { -webkit-flex: 1 0 auto; -moz-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: 1 0 auto; } } .page-about .profile { float: right; margin: 20px 20px 20px 50px; } .page-about .profile img { display: block; max-width: 100%; height: auto; } .page-about .profile ul { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-flow: row wrap; -moz-flex-flow: row wrap; -ms-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 20px 0 0; padding: 0; border-right: 1px solid var(--grey-ddd); border-bottom: 1px solid var(--grey-ddd); } .page-about .profile ul li { flex: 1; } .page-about .profile ul li a { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; padding: 15px; border-left: 1px solid var(--grey-ddd); border-top: 1px solid var(--grey-ddd); transition: background 0.15s ease; -moz-transition: background 0.15s ease; -webkit-transition: background 0.15s ease; -o-transition: background 0.15s ease; color: var(--grey-aaa); } .page-about .profile ul li a:hover { background: var(--main-color); } .page-about .profile ul li a:hover svg { fill: var(--grey-fc); } .page-about .profile ul li a svg { fill: currentColor; } .page-about h1 { font-size: 48px; line-height: 52px; color: var(--grey-222); margin: 0 0 30px; } .page-about .intro-paragraph { font-size: 20px; line-height: 32px; color: var(--grey-222); } @media screen and (max-width: 640px) { .page-about .profile { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-flex-flow: column nowrap; -moz-flex-flow: column nowrap; -ms-flex-flow: column nowrap; flex-flow: column nowrap; float: none; margin: 0 0 30px; } } .page-not-found { text-align: center; } .page-not-found svg { fill: currentColor; color: var(--grey-ddd); margin: 0 auto; } .post-lists-title { font-family: 'PT Sans', sans-serif; font-size: 24px; line-height: 42px; font-weight: 700; color: var(--grey-aaa); margin: 0 0 40px; text-align: center; } .post-lists-title span { color: var(--grey-222); } .post-list { display: grid; gap: 100px 0; } .post { position: relative; } .post .post-title { margin: 0 0 25px; font-family: 'PT Sans', sans-serif; font-size: 32px; line-height: 42px; font-weight: 700; color: var(--grey-222); } .post .post-title a { color: var(--grey-222); text-decoration: none; } .post .post-title a:hover { text-decoration: underline; } .post .post-author { position: absolute; top: 10px; left: -200px; width: 150px; text-align: right; } .post .post-author .author-avatar { display: inline-block; width: 50px; height: 50px; border-radius: 50%; fill: currentColor; color: var(--grey-ddd); } .post .post-author .author-info .author-name { display: block; margin: 10px 0 4px; font-family: 'PT Sans', sans-serif; font-size: 16px; line-height: 20px; font-weight: 700; color: var(--grey-222); text-transform: uppercase; } .post .post-author .author-info .author-title { display: block; font-size: 12px; line-height: 16px; font-style: italic; color: var(--grey-aaa); } .post .post-author .post-meta { position: relative; margin: 15px 0 0; padding: 15px 0 0; line-height: 20px; font-size: 14px; color: var(--grey-aaa); } .post .post-author .post-meta:before { position: absolute; top: 0; right: 0; width: 30px; height: 1px; background: var(--grey-ddd); content: ""; } .post .post-author .post-meta .post-date { position: relative; margin: 0 5px 0 0; padding: 0 10px 0 0; } .post .post-author .post-meta .post-date:after { position: absolute; top: 50%; right: 0; width: 3px; height: 3px; border-radius: 50%; background: var(--grey-ccc); content: ""; } .post .post-author .post-meta .post-categories { position: relative; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-justify-content: flex-end; justify-content: flex-end; gap: 5px; margin: 8px 0 0; } .post .post-author .post-meta .post-categories a { color: var(--main-color); text-decoration: none; } .post .post-author .post-meta .post-categories a:hover { text-decoration: underline; } .post .post-content abbr { border-bottom: 1px dotted var(--grey-555); text-decoration: none; cursor: help; } .post .post-content code, .post .post-content kbd, .post .post-content pre { margin: 0; font-family: monospace; word-wrap: break-word; word-break: break-word; white-space: pre-wrap; } .post .post-content address, .post .post-content cite, .post .post-content var { font-style: italic; } .post .post-content blockquote { margin: 40px 0; padding: 0 0 0 20px; border-left: 3px solid var(--grey-555); color: var(--grey-222); font-weight: 700; } .post .post-content em, .post .post-content strong { color: var(--grey-222); } .post .post-content h1, .post .post-content h2, .post .post-content h3, .post .post-content h4, .post .post-content h5, .post .post-content h6 { font-family: 'PT Sans', sans-serif; margin: 40px 0 25px 0; color: var(--grey-222); } .post .post-content h4, .post .post-content h5, .post .post-content h6 { margin: 25px 0; } .post .post-content h1 { font-size: 28px; } .post .post-content h2 { font-size: 26px; } .post .post-content h3 { font-size: 22px; } .post .post-content h4 { font-size: 20px; } .post .post-content h5 { font-size: 18px; } .post .post-content h6 { font-size: 16px; } .post .post-content a { color: var(--main-color); } .post .post-content a:hover { text-decoration: none; } .post .post-content img { display: block; max-width: 100%; height: auto; } .post .post-content ul { list-style-type: disc; list-style-position: inside; } .post .post-content ul, .post .post-content ol { margin: 15px 0; padding: 0 0 0 20px; } .post .post-content ul ul, .post .post-content ul ol, .post .post-content ol ul, .post .post-content ol ol { padding: 0 0 0 20px; } .post .post-content ul li, .post .post-content ol li { margin: 5px 0; } .post .post-content ul li > code, .post .post-content ol li > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } .post .post-content dl { margin: 40px 0; } .post .post-content dl dt { margin: 10px 0 0; font-weight: 700; } .post .post-content dl dd { margin: 5px 0; } .post .post-content dl dd > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } .post .post-content p { margin: 15px 0; } .post .post-content p > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } .post .post-content .alignleft { float: left; margin: 20px 30px 10px 0; } .post .post-content .alignright { float: right; margin: 20px 0 10px 20px; } .post .post-content .aligncenter { clear: both; margin: 0 auto 20px; } .post .post-content figcaption { font-size: 13px; font-style: italic; padding-top: 10px; } .post .post-content .iframe-wrapper { position: relative; padding-top: 56.25%; } .post .post-content .iframe-wrapper > iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .post .post-content .read-more-button { font-size: 16px; color: var(--grey-555); } .post .references .csl-entry { margin: 0 0 0.833331em; } .post .footnotes, .post .footnotes em, .post .footnotes strong { color: var(--grey-aaa); } .post .footnotes hr { position: relative; margin: 40px 0 20px; color: var(--grey-ddd); height: 1px; } @media screen and (max-width: 960px) { .post .post-title { margin: 0 0 15px; } .post .post-author { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-flex-flow: row wrap; -moz-flex-flow: row wrap; -ms-flex-flow: row wrap; flex-flow: row wrap; gap: 15px; position: static; width: 100%; margin: 0 0 20px; text-align: left; } .post .post-author .author-avatar { width: 36px; height: 36px; } .post .post-author .author-info .author-name { margin: 0; color: var(--grey-555); text-transform: initial; } .post .post-author .author-info .author-title { display: none; } .post .post-author .post-meta { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-flow: row wrap; -moz-flex-flow: row wrap; -ms-flex-flow: row wrap; flex-flow: row wrap; margin: 0; margin-left: auto; padding: 0; } .post .post-author .post-meta:before { content: none; } .post .post-author .post-meta .post-categories { margin: 0 0 0 5px; padding: 0 0 0 10px; } .post .post-author .post-meta .post-categories:before { position: absolute; top: 50%; left: 0; width: 3px; height: 3px; border-radius: 50%; background: var(--grey-ccc); content: ""; } } .page .page-title { margin: 0 0 25px; font-family: 'PT Sans', sans-serif; font-size: 32px; line-height: 42px; font-weight: 700; color: var(--grey-222); } .page .page-content abbr { border-bottom: 1px dotted var(--grey-555); text-decoration: none; cursor: help; } .page .page-content code, .page .page-content kbd, .page .page-content pre { margin: 0; font-family: monospace; word-wrap: break-word; word-break: break-word; white-space: pre-wrap; } .page .page-content address, .page .page-content cite, .page .page-content var { font-style: italic; } .page .page-content blockquote { margin: 40px 0; padding: 0 0 0 20px; border-left: 3px solid var(--grey-555); color: var(--grey-222); font-weight: 700; } .page .page-content em, .page .page-content strong { color: var(--grey-222); } .page .page-content h1, .page .page-content h2, .page .page-content h3, .page .page-content h4, .page .page-content h5, .page .page-content h6 { font-family: 'PT Sans', sans-serif; margin: 40px 0 25px 0; color: var(--grey-222); } .page .page-content h4, .page .page-content h5, .page .page-content h6 { margin: 25px 0; } .page .page-content h1 { font-size: 28px; } .page .page-content h2 { font-size: 26px; } .page .page-content h3 { font-size: 22px; } .page .page-content h4 { font-size: 20px; } .page .page-content h5 { font-size: 18px; } .page .page-content h6 { font-size: 16px; } .page .page-content a { color: var(--main-color); } .page .page-content a:hover { text-decoration: none; } .page .page-content img { display: block; max-width: 100%; height: auto; } .page .page-content ul { list-style-type: disc; list-style-position: outside; } .page .page-content ul, .page .page-content ol { margin: 15px 0; padding: 0 0 0 20px; } .page .page-content ul ul, .page .page-content ul ol, .page .page-content ol ul, .page .page-content ol ol { padding: 0 0 0 20px; } .page .page-content ul li, .page .page-content ol li { margin: 5px 0; } .page .page-content ul li > code, .page .page-content ol li > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } .page .page-content dl { margin: 40px 0; } .page .page-content dl dt { margin: 10px 0 0; font-weight: 700; } .page .page-content dl dd { margin: 5px 0; } .page .page-content dl dd > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } .page .page-content p { margin: 15px 0; } .page .page-content p > code { font-size: 14px; padding: 3px 6px; margin: 0 4px; background: var(--grey-fa); border: 1px solid var(--grey-ccc); } .page .page-content .alignleft { float: left; margin: 20px 30px 10px 0; } .page .page-content .alignright { float: right; margin: 20px 0 10px 20px; } .page .page-content .aligncenter { clear: both; margin: 0 auto 20px; } .page .page-content figcaption { font-size: 13px; font-style: italic; padding-top: 10px; } .page .page-content .iframe-wrapper { position: relative; padding-top: 56.25%; } .page .page-content .iframe-wrapper > iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .pagination { display: grid; grid-template-columns: 100px 1fr 100px; margin: 50px 0 0; font-size: 16px; } .pagination .previous, .pagination .next { text-decoration: none; color: var(--grey-555); } .pagination .previous:hover, .pagination .next:hover { text-decoration: underline; } .pagination .page_number { text-align: center; color: var(--grey-ccc); } .modal-container { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; position: fixed; width: 100%; height: 100%; bottom: 0; right: 0; background: rgba(0, 0, 0, 0.7); opacity: 0; pointer-events: none; z-index: 9999; } .modal-container .modal { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-flow: column wrap; -moz-flex-flow: column wrap; -ms-flex-flow: column wrap; flex-flow: column wrap; width: 100%; max-width: 450px; margin: 0 20px; background: var(--grey-fa); border-radius: 5px; } .modal-container .modal.zoomIn { animation-name: zoomIn; animation-duration: .4s; animation-fill-mode: both; } .modal-container .modal.zoomOut { animation-name: zoomOut; animation-duration: .4s; animation-fill-mode: both; } .modal-container .modal .modal-header { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; background: var(--main-color); padding: 18px 20px; border-radius: 5px 5px 0 0; font-family: 'PT Sans', sans-serif; font-size: 20px; font-weight: 700; color: var(--grey-fc); } .modal-container .modal .modal-header svg { width: 16px; height: 16px; transition: all 0.1s ease; -moz-transition: all 0.1s ease; -webkit-transition: all 0.1s ease; -o-transition: all 0.1s ease; fill: currentColor; opacity: .5; cursor: pointer; transition: opacity 0.15s ease; -moz-transition: opacity 0.15s ease; -webkit-transition: opacity 0.15s ease; -o-transition: opacity 0.15s ease; } .modal-container .modal .modal-header svg:hover { opacity: 1; } .modal-container .modal .modal-body { padding: 20px; } .modal-container .modal .modal-body .form-message { display: none; margin-top: 0; text-align: center; padding: 10px 15px; } .modal-container .modal .modal-body .form-message.success { display: block; background: var(--form-success-bg); color: var(--form-success-text); } .modal-container .modal .modal-body .form-message.error { display: block; background: var(--form-error-bg); color: var(--form-error-text); } .modal-container .modal .modal-body form { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-flex-flow: column wrap; -moz-flex-flow: column wrap; -ms-flex-flow: column wrap; flex-flow: column wrap; gap: 10px; } .modal-container .modal .modal-body form label { display: block; width: 100%; } .modal-container .modal .modal-body form .input, .modal-container .modal .modal-body form .textarea { width: 100%; height: 40px; padding: 10px; background: transparent; border: 1px solid var(--grey-ddd); border-radius: 5px; font-family: 'PT Sans', sans-serif; font-size: 16px; color: var(--grey-555); outline: none; } .modal-container .modal .modal-body form .input.placeholder, .modal-container .modal .modal-body form .textarea.placeholder { color: var(--grey-ccc); font-family: 'PT Sans', serif; font-size: 16px; } .modal-container .modal .modal-body form .input:-ms-input-placeholder, .modal-container .modal .modal-body form .textarea:-ms-input-placeholder { color: var(--grey-ccc); font-family: 'PT Sans', serif; font-size: 16px; } .modal-container .modal .modal-body form .input:-moz-placeholder, .modal-container .modal .modal-body form .textarea:-moz-placeholder { color: var(--grey-ccc); font-family: 'PT Sans', serif; font-size: 16px; } .modal-container .modal .modal-body form .input::-moz-placeholder, .modal-container .modal .modal-body form .textarea::-moz-placeholder { color: var(--grey-ccc); font-family: 'PT Sans', serif; font-size: 16px; } .modal-container .modal .modal-body form .input::-webkit-input-placeholder, .modal-container .modal .modal-body form .textarea::-webkit-input-placeholder { color: var(--grey-ccc); font-family: 'PT Sans', serif; font-size: 16px; } .modal-container .modal .modal-body form .textarea { height: auto; min-height: 200px; } .modal-container .modal .modal-body form .button { display: inline-block; background: var(--main-color); padding: 14px 30px; text-transform: uppercase; color: var(--grey-fc); border-radius: 5px; font-family: 'PT Sans', sans-serif; font-size: 14px; font-weight: 700; border: none; cursor: pointer; transition: background 0.1s ease; -moz-transition: background 0.1s ease; -webkit-transition: background 0.1s ease; -o-transition: background 0.1s ease; } .modal-container .modal .modal-body form .button:hover { background: var(--main-color-hover); } .modal-container .modal .modal-body form .button:active, .modal-container .modal .modal-body form .button:focus { outline: none; } .modal-container.fadeIn { pointer-events: auto; animation-name: fadeIn; animation-duration: .4s; animation-fill-mode: both; } .modal-container.fadeOut { animation-name: fadeOut; animation-duration: .4s; animation-fill-mode: both; } .custom-lightbox { position: fixed; visibility: hidden; opacity: 0; transition: opacity 0.2s ease; -moz-transition: opacity 0.2s ease; -webkit-transition: opacity 0.2s ease; -o-transition: opacity 0.2s ease; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; top: 0; left: 0; bottom: 0; right: 0; background: rgba(0, 0, 0, 0.7); z-index: 9000; } .custom-lightbox.active { visibility: visible; opacity: 1; } .custom-lightbox .lightbox-content { position: relative; display: grid; grid-template-columns: 1fr 8fr 1fr; gap: 40px; -webkit-align-items: center; align-items: center; justify-items: center; width: 100%; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .custom-lightbox .prev-image, .custom-lightbox .next-image, .custom-lightbox .lightbox-close { cursor: pointer; opacity: .5; transition: opacity 0.1s ease; -moz-transition: opacity 0.1s ease; -webkit-transition: opacity 0.1s ease; -o-transition: opacity 0.1s ease; color: var(--grey-fa); } .custom-lightbox .prev-image:hover, .custom-lightbox .next-image:hover, .custom-lightbox .lightbox-close:hover { opacity: .9; } .custom-lightbox .prev-image svg, .custom-lightbox .next-image svg, .custom-lightbox .lightbox-close svg { width: 32px; height: 32px; fill: currentColor; } .custom-lightbox .prev-image svg { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); } .custom-lightbox .current-image img { width: 100%; max-width: 100%; height: auto; } .custom-lightbox .lightbox-close { position: fixed; top: 30px; right: 30px; width: 24px; height: 24px; padding: 0; background: none; border: 0; outline: none; } @media screen and (max-width: 960px) { .custom-lightbox .lightbox-content { grid-template-columns: 1fr; } .custom-lightbox .lightbox-content .prev-image, .custom-lightbox .lightbox-content .next-image { position: absolute; opacity: .8; } .custom-lightbox .lightbox-content .prev-image svg, .custom-lightbox .lightbox-content .next-image svg { width: 40px; height: 40px; } .custom-lightbox .lightbox-content .prev-image { left: 20px; } .custom-lightbox .lightbox-content .next-image { right: 20px; } } .cookie-banner { display: none; position: fixed; width: 100%; max-width: 1200px; left: 50%; bottom: 15px; padding: 20px 30px; -webkit-transform: translate(-50%, 0); -moz-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); -o-transform: translate(-50%, 0); transform: translate(-50%, 0); -webkit-align-items: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; background: var(--grey-fa); box-shadow: 0 0 100px rgba(0, 0, 0, 0.2); border-radius: 10px; } .cookie-banner.active { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; } .cookie-banner div { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; } .cookie-banner div svg { fill: currentColor; color: var(--grey-666); -webkit-flex: 1 0 auto; -moz-flex: 1 0 auto; -ms-flex: 1 0 auto; flex: 1 0 auto; } .cookie-banner div p { max-width: 980px; padding: 0 30px; } .cookie-banner .button { display: inline-block; background: var(--main-color); padding: 10px 30px; text-transform: uppercase; color: var(--grey-fc); border-radius: 5px; font-family: 'PT Sans', sans-serif; font-size: 14px; font-weight: 700; border: none; cursor: pointer; transition: background 0.1s ease; -moz-transition: background 0.1s ease; -webkit-transition: background 0.1s ease; -o-transition: background 0.1s ease; text-decoration: none; text-align: center; } .cookie-banner .button:hover { background: var(--main-color-hover); } .cookie-banner .button:active, .cookie-banner .button:focus { outline: none; } @media screen and (max-width: 640px) { .cookie-banner { -webkit-flex-flow: column nowrap; -moz-flex-flow: column nowrap; -ms-flex-flow: column nowrap; flex-flow: column nowrap; } } @media screen and (max-width: 468px) { .cookie-banner div { -webkit-flex-flow: column nowrap; -moz-flex-flow: column nowrap; -ms-flex-flow: column nowrap; flex-flow: column nowrap; } } .reading-progress-bar { position: fixed; top: 0; left: 0; min-width: 100%; height: 5px; z-index: 9; transition: width 0.05s ease; -moz-transition: width 0.05s ease; -webkit-transition: width 0.05s ease; -o-transition: width 0.05s ease; } .reading-progress-bar:before { position: absolute; top: 0; left: 0; content: ""; height: 5px; background: var(--main-color); width: inherit; } .changeTheme { position: fixed; top: 20px; right: 20px; overflow: hidden; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; background: transparent; width: 25px; height: 30px; cursor: pointer; z-index: 10; } .changeTheme .modeIcon { position: relative; width: 20px; height: 20px; border-radius: 50%; background: var(--grey-ccc); transition: transform 0.35s ease; -moz-transition: transform 0.35s ease; -webkit-transition: transform 0.35s ease; -o-transition: transform 0.35s ease; } .changeTheme .modeIcon:before { position: absolute; width: 6px; height: 6px; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); transition: box-shadow 0.3s ease; -moz-transition: box-shadow 0.3s ease; -webkit-transition: box-shadow 0.3s ease; -o-transition: box-shadow 0.3s ease; border-radius: 50%; opacity: 0; content: ""; } .changeTheme .modeIcon:after { position: absolute; width: 100%; height: 100%; top: -30%; left: 30%; transition: transform 0.35s ease; -moz-transition: transform 0.35s ease; -webkit-transition: transform 0.35s ease; -o-transition: transform 0.35s ease; border-radius: 50%; background: var(--body-bg); content: ""; } [data-theme="dark"] .changeTheme .modeIcon { background: var(--grey-fc); -webkit-transform: scale(0.5); -moz-transform: scale(0.5); -ms-transform: scale(0.5); -o-transform: scale(0.5); transform: scale(0.5); } [data-theme="dark"] .changeTheme .modeIcon:before { opacity: 1; box-shadow: 0 -20px 0 0 var(--grey-fc), 0 20px 0 0 var(--grey-fc), -20px 0 0 0 var(--grey-fc), 20px 0 0 0 var(--grey-fc), 15px 15px 0 0 var(--grey-fc), 15px -15px 0 0 var(--grey-fc), -15px 15px 0 0 var(--grey-fc), -15px -15px 0 0 var(--grey-fc); } [data-theme="dark"] .changeTheme .modeIcon:after { opacity: 0; -webkit-transform: translate(50%, -50%); -moz-transform: translate(50%, -50%); -ms-transform: translate(50%, -50%); -o-transform: translate(50%, -50%); transform: translate(50%, -50%); } .header-content-separator { position: relative; margin: 40px auto; width: 4px; height: 4px; border-radius: 50%; background: var(--grey-ccc); } .header-content-separator:before { position: absolute; left: -8px; width: 4px; height: 4px; border-radius: 50%; background: var(--grey-ccc); content: ""; } .header-content-separator:after { position: absolute; left: 8px; width: 4px; height: 4px; border-radius: 50%; background: var(--grey-ccc); content: ""; } .toggleBurger { display: none; } .toggleBurger:checked ~ .site-navigation { -webkit-transform: translate(0, 0); -moz-transform: translate(0, 0); -ms-transform: translate(0, 0); -o-transform: translate(0, 0); transform: translate(0, 0); } .toggleBurger:checked ~ .toggleBurgerWrapper span { background: transparent; } .toggleBurger:checked ~ .toggleBurgerWrapper span:before { top: 0; -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); -ms-transform: rotate(135deg); -o-transform: rotate(135deg); transform: rotate(135deg); } .toggleBurger:checked ~ .toggleBurgerWrapper span:after { top: 0; -webkit-transform: rotate(-135deg); -moz-transform: rotate(-135deg); -ms-transform: rotate(-135deg); -o-transform: rotate(-135deg); transform: rotate(-135deg); } .toggleBurgerWrapper { display: none; position: fixed; top: 20px; left: 20px; width: 25px; height: 30px; cursor: pointer; z-index: 100; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .toggleBurgerWrapper span { position: absolute; top: 50%; height: 2px; width: 100%; background: var(--grey-222); transition: all 0.3s ease; -moz-transition: all 0.3s ease; -webkit-transition: all 0.3s ease; -o-transition: all 0.3s ease; -webkit-transform: translate(0, -50%); -moz-transform: translate(0, -50%); -ms-transform: translate(0, -50%); -o-transform: translate(0, -50%); transform: translate(0, -50%); } .toggleBurgerWrapper span:before, .toggleBurgerWrapper span:after { position: absolute; height: 2px; width: 100%; background: var(--grey-222); content: ""; transition: all 0.3s ease; -moz-transition: all 0.3s ease; -webkit-transition: all 0.3s ease; -o-transition: all 0.3s ease; } .toggleBurgerWrapper span:before { top: -6px; } .toggleBurgerWrapper span:after { top: 6px; } @media screen and (max-width: 800px) { .toggleBurgerWrapper { display: block; } }