*, ::before, ::after {
  box-sizing: border-box; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  margin: 0;
  background: #fff none;
  color: #000; }

nav ol, nav ul {
  list-style-type: none;
  padding: 0; }

pre, code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em; }

pre {
  overflow: scroll; }

iframe {
  border-style: none; }

table {
  border-collapse: collapse;
  text-indent: 0; }

button, input, select {
  margin: 0; }

textarea {
  margin: 0;
  resize: vertical; }

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54; }

progress {
  vertical-align: baseline; }

a:link {
  color: #00f; }

a:visited {
  color: #909; }

a:hover {
  color: #09f; }

a:active {
  color: #09f; }

mark {
  background-color: #ff0; }

q {
  quotes: auto; }

b, strong {
  font-weight: bolder; }

abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted; }

[aria-busy="true" i] {
  cursor: progress; }

[aria-disabled="true" i], [disabled] {
  cursor: not-allowed; }

html {
  font-size: 20px;
  line-height: 1.5rem;
  overflow-wrap: break-word; }

body {
  font-family: Palatino, "URW Palladio L", Georgia, serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1rem; }

h1 {
  font-size: 1.5rem;
  line-height: 1;
  margin: 3rem 0 1.5rem;
  font-weight: bold; }

h2 {
  margin: 1.25rem 0;
  font-size: 24px;
  line-height: 40px;
  font-weight: normal; }

header > h2 {
  margin-bottom: 0; }

header > p {
  margin-top: 0; }

p {
  margin: 1.5rem 0; }

small {
  font-size: 0.8rem; }

pre {
  margin: 1.25rem 0;
  overflow: auto; }

code.filename {
  font-style: italic; }

#masthead, footer {
  background-color: rgba(0, 0, 0, 0.2);
  border-color: #000;
  border-style: solid;
  margin: 0; }

#masthead {
  border-width: 0 0 1px 0;
  padding: 1.5rem 1rem 0; }

footer {
  border-width: 1px 0 0 0;
  padding: calc(0.75rem - 1px) 1rem 0.75rem; }

#masthead > h1 {
  margin: 0 0 calc(1.5rem - 1px) 0; }
  #masthead > h1 + nav {
    margin: -0.75rem 0 0.75rem 0; }

footer p {
  margin: 0; }

main {
  max-width: 40rem;
  margin: 1.5rem auto;
  padding: 0 1rem; }

td, th {
  border: 1px solid black;
  text-align: center;
  padding: 0 0.625rem; }

th {
  background-color: #ddd; }

.synComment {
  color: #0000FF; }

.synConstant {
  color: #FF00FF; }

.synIdentifier {
  color: #008B8B; }

.synStatement {
  color: #A52A2A;
  font-weight: bold; }

.synPreProc {
  color: #A020F0; }

.synType {
  color: #2E8B57;
  font-weight: bold; }

.synSpecial {
  color: #6A5ACD; }

.synUnderlined {
  color: #000000;
  text-decoration: underline; }

.synError {
  color: #FFFFFF;
  background: #FF0000 none; }

.synTodo {
  color: #0000FF;
  background: #FFFF00 none; }

figure {
  margin: 1.5rem 0; }
  figure > a, figure img {
    display: block; }
  figure img {
    max-width: 100%;
    border: 1px solid black; }

.gallery {
  display: flex;
  flex-flow: row wrap;
  gap: 1.5rem; }
  .gallery > figure {
    flex: auto;
    margin: 0; }
    .gallery > figure img {
      margin: 0 auto; }

main.homepage {
  max-width: 100%;
  display: flex;
  flex-flow: row wrap;
  gap: 1rem; }
  main.homepage > section#homepage-overview {
    max-width: 40rem; }
  main.homepage > section#homepage-experience {
    max-width: 40rem; }
  main.homepage > section#recent-blog-posts {
    max-width: 20rem; }
  main.homepage > section {
    border: 1px solid #999;
    background-color: #eee;
    padding: 1rem; }
    main.homepage > section > h2 {
      text-align: center;
      margin-top: 0; }

#homepage-experience ul {
  margin: 0 0 0 1rem;
  padding: 0; }

#homepage-experience li {
  margin: 0; }

#recent-blog-posts ol {
  list-style-type: none;
  margin: 0;
  padding: 0; }

#recent-blog-posts li {
  margin: 0 0 1rem 0; }
  #recent-blog-posts li h3, #recent-blog-posts li p {
    margin: 0; }

#recent-blog-posts .thumbnail img {
  display: block;
  margin: 0 auto; }

/*# sourceMappingURL=v2.css.map */