/*
  Critical, above-the-fold CSS rules.
  Includes styles for html, body, #header, and #wrapper to prevent layout shift.
*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
body{line-height:1}
ol,ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}
table{border-collapse:collapse;border-spacing:0}
body{-webkit-text-size-adjust:none}
*,*:before,*:after{box-sizing:border-box}
html{height:100%}
body{background:#fff;height:100%}
body,input,select,textarea{color:#414f57;font-family:"Roboto",sans-serif;font-size:15pt;font-weight:300;line-height:1.75em;letter-spacing:.025em}
p{margin:0 0 2em 0}
h1,h2,h3,h4,h5,h6{color:#3d4449;font-weight:500;line-height:1.5;margin:0 0 1em 0}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit;text-decoration:none}
h1{font-size:2.25em;line-height:1.3em;letter-spacing:.05em}
h2{font-size:1.5em;line-height:1.5em;letter-spacing:.05em}
h3{font-size:1.25em}
h4{font-size:1em}
header p{color:#777;position:relative;top:-.25em}
header.major{margin:0 0 3.5em 0}
header.major h2{font-size:2.25em;line-height:1.3em;letter-spacing:.05em}
header.major p{font-size:1.25em;font-weight:300;letter-spacing:.025em;top:0}
#header{display:flex;flex-direction:column;justify-content:space-between;background:#f5f6f7;color:#414f57;height:100%;left:0;position:fixed;text-align:right;top:0;width:375px}
#header>*{flex-shrink:0;width:100%}
#header>header{padding:2.5em 2.5em 1.25em 2.5em}
#header>header .avatar{display:block;margin:0 0 1.25em 0}
#header>header .avatar img{border-radius:100%}
#header>header h1{font-size:1.35em;letter-spacing:.05em}
#header>header p{font-size:.8em;font-style:italic;margin-top:-.325em}
#header>footer{padding:1.25em}
#header nav{flex-grow:1;overflow-y:auto;padding:2.5em}
#header nav ul{list-style:none;padding:0;margin:0}
#header nav ul li a{transition:none;border:0;color:inherit;display:block;font-size:.8em;letter-spacing:.05em;line-height:3;outline:0;text-transform:uppercase}
#header nav ul li a.active{background:rgba(144,144,144,.15);border-radius:3px;color:#414f57;font-weight:500}
#wrapper{margin-left:375px}
#main>section{border-top:solid 1px #ccc;padding:5em 5em 3em 5em;min-height:100vh;display:flex;flex-direction:column;justify-content:center}
#main>section:first-child{border-top:0}
#main>section .container{position:relative;margin:0 auto;max-width:100%;width:60em}

@media screen and (max-width:1280px){body,input,select,textarea{font-size:12pt}#header{width:275px}#header>header{padding:2em 2em 1em 2em}#header nav{padding:2em}#header>footer{padding:1em}#wrapper{margin-left:275px}#main>section{padding:3em 3em 1em 3em}}
@media screen and (max-width:980px){html,body{overflow-x:hidden}#header{transform:translateX(-275px);width:275px}#wrapper{margin-left:0;padding-bottom:1px}#main>section{padding:3em 2em 1em 2em}}
@media screen and (max-width:736px){body,input,select,textarea{font-size:11pt;letter-spacing:.025em}header.major{margin:0 0 2em 0}header.major h2{font-size:1.75em}header.major p{font-size:1em}#main>section{padding:2em 1.5em .5em 1.5em}#main>section .container{width:100%}}

/* Theme visibility utilities */
html:not(.dark-mode) .dark-theme-only { display: none !important; }
html.dark-mode .light-theme-only { display: none !important; }
