@charset "UTF-8";@font-face{font-family:montserrat;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat/Montserrat-Italic-VariableFont_wght.ttf)format("truetype");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat/Montserrat-VariableFont_wght.ttf)format("truetype");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-primary:rgb(231, 76, 60);--color-secondary:rgb(192, 57, 43);--color-background:rgb(255, 255, 255);--color-background-darker:rgb(101, 101, 101);--color-surface:rgb(32, 32, 32);--color-text:rgb(101, 101, 101);--color-text-light:rgb(248, 248, 242);--color-accent:var(--color-primary);--color-hover:var(--color-secondary);--font-primary:'Montserrat', sans-serif;--font-size:16px;--line-height:1.5}a{color:var(--color-accent);transition:color .25s ease-in-out}a:hover,a:focus{color:var(--color-hover);transition:color .25s ease-in-out}h1{font-weight:700;text-transform:uppercase}body{color:var(--color-text)}*,*::before,*::after{box-sizing:border-box}html{overflow-y:scroll;margin:0;padding:0;overscroll-behavior:none}body{margin:0;padding:0;overflow-x:hidden;width:100%;font-family:var(--font-primary);font-size:var(--font-size);line-height:var(--line-height)}@media only screen and (max-width:959px){body{background-image:url(/background/carina-nebula-webb-1024.jpg);background-position:100%;background-repeat:no-repeat;background-attachment:fixed;background-size:contain;background-color:#303030}}#page{background-color:#fff;width:min-content;display:grid;grid-template-areas:"sidebar header" "sidebar content"}@media only screen and (min-width:767px){#page{grid-template-areas:"sidebar separator header" "sidebar separator content";grid-template-columns:auto 100px 540px}}@media only screen and (min-width:959px){#page{width:100%;grid-template-areas:"header  separator content nebula" "sidebar separator content nebula";grid-template-columns:300px 100px 540px auto;grid-template-rows:min-content 1fr}}@media only screen and (min-width:1220px){#page{width:100%;grid-template-columns:300px 100px 800px auto}}#nebula{grid-area:nebula;display:none}@media only screen and (min-width:959px){#nebula{display:block;background-color:#fff;background-image:url(/background/carina-nebula-webb-1024.jpg);background-repeat:no-repeat;background-attachment:fixed;background-position:100% 0}}@media only screen and (min-width:1220px){#nebula{background-image:url(/background/carina-nebula-webb-2048.jpg)}}@media only screen and (min-width:2200px){#nebula{background-size:cover;background-position:auto}}#separator{grid-area:separator;display:none}@media only screen and (min-width:767px){#separator{display:block;width:100px;background-color:#303030;height:100%}}#head{grid-area:header;width:100vw;background-color:var(--color-primary);font-family:montserrat,sans-serif;color:#fff;text-align:center;padding-top:40px}@media only screen and (min-width:767px){#head{width:auto;max-width:540px}}#head #branding{padding-bottom:20px}@media only screen and (min-width:959px){#head #branding{margin:0 40px;border-bottom:15px double var(--color-secondary)}}#head h1.title{font-size:1.3rem;line-height:1.2;margin:0 0 5px;padding:0}#head h1.title a{color:#fff;text-decoration:none}#head h2.subtitle{font-size:.8rem;line-height:1.3;margin:0;text-transform:uppercase;font-weight:400}#sitenav{position:relative;height:auto;overflow:hidden}#sitenav #menu-toggle-check{display:none}#sitenav #menu-toggle{display:block;background-color:var(--color-secondary);width:100%;height:60px;font-size:20px;line-height:20px;padding:20px 0;text-align:center;cursor:pointer;color:#fff}#sitenav #menu-toggle .genericon{width:20px;height:20px;margin:auto}@media only screen and (min-width:959px){#sitenav #menu-toggle{display:none}}#sitenav #menu-toggle-check:checked~#menu-toggle .genericon>svg{transform:rotate(90deg)}#sitenav #menu-toggle-check:checked~.main-menu-container .main-menu{display:block}#sitenav .main-menu-container{text-align:left;text-transform:uppercase;font-weight:700;overflow:hidden;height:auto}#sitenav .main-menu-container ul{list-style:none;margin:0;padding:0}#sitenav .main-menu-container a:hover{background-color:var(--color-secondary)}#sitenav .main-menu-container .main-menu{display:none;border-top:5px solid var(--color-surface);border-bottom:5px solid var(--color-surface)}@media only screen and (min-width:959px){#sitenav .main-menu-container .main-menu{display:block;border:none;padding-top:10px}}#sitenav .main-menu-container .main-menu li{position:relative;margin:0;padding:0}#sitenav .main-menu-container .main-menu li .dropdown-icon{display:block;position:absolute;top:2.5px;right:5px;height:39px;width:39px;z-index:2;background:#c0392b}#sitenav .main-menu-container .main-menu li .dropdown-icon:after{content:'';display:block;position:absolute;top:50%;right:15px;margin-top:-2.5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #fff}#sitenav .main-menu-container .main-menu li a{display:block;position:relative;padding:10px 40px;text-decoration:none;color:#fff}#sitenav .main-menu-container .main-menu li ul{display:none;padding:2.5px 0;margin:2.5px 0}#sitenav .main-menu-container .main-menu li ul a{padding-left:60px}#sitenav .main-menu-container .main-menu li a.open+ul{display:block}#sitenav .main-menu-container .main-menu li.active{background-color:var(--color-surface)}@media only screen and (min-width:959px){#sitenav .menu-bottom{border-bottom:15px double #c0392b;width:220px;margin:auto;padding-top:10px}}#sitenav.open .main-menu{display:block}#sidebar-toggle{--toggle-size:40px;position:absolute;top:0;left:0;z-index:1;background-color:var(--color-secondary);width:var(--toggle-size);height:var(--toggle-size);cursor:pointer}@media only screen and (min-width:959px){#sidebar-toggle{display:none}}#sidebar-toggle::after,#sidebar-toggle::before{content:'';position:absolute;display:block;width:0;height:0;border-left:var(--toggle-size)solid var(--color-secondary);border-bottom:var(--toggle-size)solid transparent}#sidebar-toggle::before{left:var(--toggle-size)}#sidebar-toggle::after{top:var(--toggle-size)}#sidebar-toggle .genericon{width:var(--toggle-size);height:var(--toggle-size);color:#fff}#sidebar-toggle .genericon svg{transform:rotate(-45deg);transition:transform .5s ease-in-out}#sidebar-toggle-check{display:none}#sidebar-toggle-check:checked~#sidebar-toggle .genericon>svg{transform:rotate(0);transition:transform .5s ease-in-out}@media only screen and (max-width:767px){#sidebar-toggle-check:checked~#sidebar{margin-left:0;transition:margin-left .5s ease-in-out}}#sidebar{--color-accent:#fff;--color-hover:#fff;grid-area:sidebar;width:300px;margin-left:-300px;background-color:var(--color-primary);padding:40px 40px 0;color:#fff}@media only screen and (max-width:767px){#sidebar{transition:margin-left .5s ease-in-out}}@media only screen and (min-width:767px){#sidebar{margin-left:-260px}}@media only screen and (min-width:959px){#sidebar{margin-left:0;padding-top:0}}#sidebar .widget{margin:0 0 20px;border-bottom:15px double var(--color-secondary);font-size:.9rem}#sidebar .widget h1{font-size:1.2rem}#sidebar #social-links ul{display:block;margin:0 0 1.5em;padding:0;list-style:none}#sidebar #social-links ul li{display:inline-block;line-height:1;margin:0;padding:0}#sidebar #social-links ul li a{width:20px;height:20px;display:block;text-decoration:none;border:0}#sidebar #social-links ul li svg{display:inline-block;vertical-align:top;color:#fff}#main{grid-area:content;overflow:auto;padding-top:20px;padding-bottom:40px;min-height:100vh}@media only screen and (min-width:767px){#main{overflow:unset}}#main figure{max-width:100%}#main img{max-width:100%}figure.alignleft{float:left;margin:0 20px 20px 0}figure.alignright{float:right;margin:0 0 20px 20px}figure.aligncenter{display:block;clear:both;margin:0 auto 20px}img.small{max-width:320px}img.tiny{max-width:150px}img.large{max-width:100%}.section-header h1{display:block;padding:15px 40px;margin:0;background-color:var(--color-surface);color:#fff}.post{position:relative}.post:after{content:'';display:block;border-bottom:15px double var(--color-secondary);width:50%;margin:40px auto}.post-content,.post-preview .post-preview-content{padding:20px 40px}.post-content pre,.post-preview .post-preview-content pre{overflow:auto;padding:20px;margin-bottom:20px;max-width:100%;background:#f5f5f5;font:15px/1.6 'courier 10 pitch',Courier,monospace}.post-content blockquote,.post-preview .post-preview-content blockquote{padding:0 0 0 20px;border-left:15px double #f5f5f5;quotes:"" ""}.post-header,.post-preview header{display:block;position:relative}.post-header h1,.post-preview header h1{position:relative;padding:15px 40px;width:100%;background-color:#f5f5f5;color:#303030;font-size:25px;text-transform:uppercase;font-weight:700}.post-header h1 a,.post-preview header h1 a{color:#303030;text-decoration:none}@media only screen and (min-width:767px){.post-header h1:after,.post-preview header h1:after{content:'';z-index:2;display:block;position:absolute;top:25px;left:-5px;border-right:5px solid #f5f5f5;border-top:5px solid transparent;border-bottom:5px solid transparent}}.post-header .badge,.post-preview header .badge{display:none;color:#fff}@media only screen and (min-width:767px){.post-header .badge,.post-preview header .badge{display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:-80px;width:60px;height:60px;background:#202020;border-radius:50%}}.post-header .badge svg,.post-preview header .badge svg{width:30px;height:30px}.post-header .thumbnail,.post-preview header .thumbnail{overflow:hidden;width:100%;background-color:#202020;text-align:center}.post-header .thumbnail img,.post-preview header .thumbnail img{display:block;width:auto;max-width:100%;margin:auto}.post-comments{padding:0 40px;width:100%;border-top:5px solid #303030;position:relative}.post-comments h1{color:#303030;font-size:25px;text-transform:uppercase;font-weight:700}.post-preview{margin-bottom:40px}.pagination{padding:20px 40px;width:100%;overflow:hidden;background:#f5f5f5;font-size:12px;font-weight:700;text-transform:uppercase;display:flex;justify-content:space-between}.pagination .pagination-previous a,.pagination .pagination-next a{display:flex;align-items:center;text-decoration:none;color:var(--color-surface)}.pagination .pagination-previous a .genericon,.pagination .pagination-next a .genericon{display:inline-block;height:1rem}.pagination .pagination-previous .genericon{margin-left:5px}.pagination .pagination-next .genericon{margin-right:5px}.post-social{padding:20px 40px;border-top:5px solid var(--color-surface)}.post-social h3{color:#303030;font-weight:700;font-size:.8rem;text-transform:uppercase;margin:0 0 1em;display:inline-block}.post-social h3:before{content:'';display:block;width:100%;min-width:30px;border-top:1px solid #ddd;margin-bottom:1em}.post-social ul{padding:0;margin:0 0 .7em;list-style:none;display:flex}.post-social ul li{margin:0 10px 10px 0;padding:0}.post-social ul li a{display:flex;align-items:center;justify-content:center;border-radius:50%;border:0;text-decoration:none;width:2.5rem;height:2.5rem;transition:transform .25s ease-in-out}.post-social ul li a svg{display:block;height:1.5rem;width:1.5rem}.post-social ul li a:hover{transform:scale(1.1)}.post-social .share-facebook a{background:#3b5998;color:#fff}.post-social .share-twitter a{background:#00acee;color:#fff}.post-social .share-reddit a{background-color:#cee3f8;color:#555}.post-social .share-mastodon a{background-color:#6364ff;color:#fff}.post-metadata{padding:20px 40px;border-top:5px solid #303030;font-size:12px;font-weight:700;text-transform:uppercase;color:#656565}.post-metadata a{color:#656565;text-decoration:none}.post-metadata ul{display:block;margin:0;padding:0;list-style:none}.post-metadata ul li{display:flex;align-items:center;justify-content:left;margin:0;padding:0}.post-metadata ul li span:first-child{margin-right:5px}section#comments button{font-family:var(--font-primary);text-transform:uppercase;background-color:var(--color-accent);border:1px solid var(--color-text-light);color:var(--color-text-light);padding:.5rem 1rem;font-weight:700}section#comments button:hover{background-color:var(--color-hover)}section#comments #comments-wrapper{padding:0 var(--card-padding)}section#comments .no-comments{text-align:center;text-transform:uppercase;font-weight:700;font-size:1.1rem}section#comments .comment{display:grid;column-gap:1rem;grid-template-areas:"avatar name" "avatar time" "avatar post" "...... interactions";grid-template-columns:min-content;justify-items:start;margin-bottom:1rem;padding:.5rem}section#comments .comment .avatar-link{grid-area:avatar;height:4rem;position:relative;width:4rem}section#comments .comment .avatar-link .avatar{height:100%;width:100%;border-radius:25%}section#comments .comment .avatar-link.op::after{background-color:var(--color-accent);border-radius:50%;bottom:-.25rem;color:#000;content:"✓";display:block;font-size:1.25rem;font-weight:700;height:1.5rem;line-height:1.5rem;position:absolute;right:-.25rem;text-align:center;width:1.5rem}section#comments .comment .author{align-items:center;display:flex;font-weight:700;gap:.5em;grid-area:name}section#comments .comment .author .instance{background-color:var(--code-background-color);border-radius:9999px;color:var(--neutral);font-size:smaller;font-weight:400;padding:.25em .75em}section#comments .comment .author .instance:hover{opacity:.8;text-decoration:none}section#comments .comment .author .instance.op{background-color:var(--accent-color);color:var(--accent-color-text)}section#comments .comment .author .instance.op::before{content:"✓";font-weight:700;margin-inline-end:.25em;margin-inline-start:-.25em}section#comments .comment time{font-size:.8rem;grid-area:time;line-height:1.5rem}section#comments .comment main{grid-area:post}section#comments .comment main p:first-child{margin-top:.25em}section#comments .comment main p:last-child{margin-bottom:0}section#comments .comment footer{font-size:.8rem;grid-area:interactions}section#comments .comment footer .faves{color:inherit;text-decoration:none}section#comments .comment footer .faves:hover{opacity:.8;text-decoration:none}section#comments .comment footer .faves::before{color:red;content:"♥";font-size:1rem;margin-inline-end:.25em}section#comments .comment .emoji{display:inline;height:1.25em;vertical-align:middle;width:1.25em}section#comments .comment .invisible{display:none}section#comments .comment .ellipsis::after{content:"…"}#projects h2{width:100%;background-color:var(--color-background);color:var(--color-background-darker);position:relative;padding:15px 40px;width:100%;background-color:#f5f5f5;color:#303030;font-size:25px;text-transform:uppercase;font-weight:700}#projects .project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1rem;padding:0 40px}#projects article.project{border:1px solid var(--color-surface)}#projects article.project header a{display:flex;align-items:center;padding:1rem;background-color:var(--color-surface);color:#fff;text-decoration:none;transition:background-color .25s ease-in-out}#projects article.project header a:hover{background-color:var(--color-background-darker)}#projects article.project header h3{padding:0;margin:0}#projects article.project header img.logo{max-width:40px;width:100%;margin-right:1rem}#projects article.project p{margin:1rem}#projects article.project footer{margin:1rem}#projects article.project footer ul{margin:0;padding:0;list-style:none;font-size:.8rem;color:#656565}#projects article.project footer ul li{margin:0;padding:0;display:flex}#projects article.project footer ul li span:first-child{margin-right:5px}#projects article.project footer ul li .genericon,#projects article.project footer ul li .fa{width:16px}#projects article.project footer ul li a{font-weight:700;text-transform:uppercase;color:#656565;text-decoration:none}.genericon{display:flex;justify-content:center}.genericon svg{display:block;width:100%;height:100%}.image.left{float:left;width:calc(50% - 15px);margin-right:15px;margin-bottom:10px}.image.right{float:right;width:calc(50% - 15px);margin-left:15px;margin-bottom:10px}.image-small{display:block;width:30%;margin:auto}.image-small figcaption{text-align:center;width:100%}