@keyframes fadeIn{from{opacity:0}to{opacity:1}}html{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}html,body,ul,ol,h1,h2{margin:0;padding:0;border:0;outline:0;vertical-align:baseline}body{line-height:1}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}body{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh;min-height:100lvh;background-color:#fff;font-family:open sans,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}main{padding:3rem 1.25rem}a{color:#2573a7;text-decoration:none}a:hover{text-decoration:underline}@keyframes fadeIn{from{opacity:0}to{opacity:1}}body{width:100%}#main-menu{position:relative;z-index:999;display:flex;justify-content:space-between;background-color:inherit}#main-menu #first-row{margin-left:1rem;height:5rem;display:flex;justify-content:space-between}#main-menu #first-row #ab-link{height:100%;width:5rem;display:flex;align-items:center;justify-content:center}#main-menu #first-row #ab-link img{max-height:3.75rem;transition:transform .25s ease-out;width:auto}#main-menu #first-row #ab-link:hover img{transform:scale(1.25,1.25)}#main-menu #first-row #triple-menu{display:none}#main-menu #site-links{flex:auto;display:flex;align-items:stretch;justify-content:flex-end;list-style:none;margin-right:1rem}#main-menu #site-links li a{color:#7a7a7a;transition:color .25s ease-in-out;text-decoration:none;font-family:roboto,sans-serif;font-weight:300;font-size:1.5rem;height:100%;width:100%;display:flex;flex-direction:column;justify-content:center}#main-menu #site-links li a span{padding:0 1rem}#main-menu #site-links li:hover a{color:#1f628e}#main-menu.dark{background-color:#121212}#main-menu.dark #site-links li a{color:#7a7a7a}#main-menu.dark #site-links li:hover a{color:#3694d3}#main-menu.dark #first-row #triple-menu span{background-color:#b5b5b5}@media(max-width:960px){#main-menu{flex-direction:column}#main-menu #first-row{margin:0}#main-menu #first-row #ab-link img{max-height:3rem}#main-menu #first-row #triple-menu{width:5rem;display:block;position:relative}#main-menu #first-row #triple-menu span{position:absolute;background-color:#7a7a7a;min-height:2px;width:40%;top:calc(50% - 1px);left:30%;transition:transform .4s ease,width .4s ease}#main-menu #first-row #triple-menu .top-line{transform:translateY(-6px)}#main-menu #first-row #triple-menu .bottom-line{transform:translateY(6px)}#main-menu #site-links{margin:0;flex-direction:column;justify-content:flex-start;background-color:inherit;position:absolute;width:100%;top:100%;height:calc(100vh - 5rem);transform:scaleY(0);transform-origin:top;transition:transform 500ms ease-in-out}#main-menu #site-links li{opacity:0;transition:opacity 150ms ease-in-out}#main-menu #site-links li a{font-size:2rem;align-items:flex-end}#main-menu #site-links li a span{padding:1rem 1.5rem}#main-menu.menu-open #first-row #triple-menu span{width:46%}#main-menu.menu-open #first-row #triple-menu .top-line{transform:rotate(45deg)}#main-menu.menu-open #first-row #triple-menu .bottom-line{transform:rotate(-45deg)}#main-menu.menu-open #site-links{transform:scaleY(1)}#main-menu.menu-open #site-links li{opacity:1;transition:opacity 250ms ease-in-out 250ms}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}footer{display:grid;place-items:center;padding:1rem;background-color:#121212;color:#b5b5b5;font-family:monospace;font-size:1rem}footer #author{margin:1rem 0}footer #author #code,footer #author #heart{transition:color 1s ease;font-weight:700}footer:hover #code{color:#ff0}footer:hover #heart{color:red}footer .ext-links{margin-bottom:1rem;display:flex;gap:2rem;list-style-type:none}footer .ext-links li{font-size:0}footer .ext-links li .clickable{display:block;padding:1rem;cursor:pointer}@media(hover:hover){footer .ext-links li .clickable:hover,footer .ext-links li .clickable:active,footer .ext-links li .clickable:focus{background-color:#242424}}footer .ext-links li .clickable svg{fill:#b5b5b5}footer.dark{background-color:#242424;color:#b5b5b5}footer.dark svg{fill:#b5b5b5}@media(hover:hover){footer.dark .ext-links li .clickable:hover,footer.dark .ext-links li .clickable:active,footer.dark .ext-links li .clickable:focus{background-color:#363636}}@media(max-width:960px){footer .ext-links{width:100%;gap:0;justify-content:space-around}}