* { 
    box-sizing: border-box;
} 

body { 
    margin:  0;
    color: var(--color-text); 
    font-family: var(--font-body); 
    font-size: var(--fontSize-1);
} 

html { 
    -webkit-text-size-adjust:  100%; 
    line-height:  var(--lineHeight-normal);
    -webkit-font-smoothing: antialiased; 
    -moz-osx-font-smoothing: grayscale; 
    font-size: var(--fontSize-root); 
} 

:root { 
    --maxWidth-2xl: 50rem; 
    --maxWidth-wrapper: var(--maxWidth-2xl); 
    --spacing-0: 0; 
    --spacing-4: 1rem; 
    --spacing-5: 1.25rem; 
    --spacing-6: 1.5rem; 
    --spacing-8: 2rem; 
    --spacing-10: 2.5rem; 
    --spacing-12: 3rem; 
    --spacing-16: 4rem; 
    --fontFamily-sans: Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; 
    --fontFamily-serif: "Merriweather","Georgia",Cambria,"Times New Roman",Times,serif; 
    --font-body: var(--fontFamily-serif); 
    --font-heading: var(--fontFamily-sans); 
    --fontWeight-bold: 700; 
    --fontWeight-black: 900; 
    --fontSize-root: 16px; 
    --lineHeight-tight: 1.1; 
    --lineHeight-normal: 1.5; 
    --lineHeight-relaxed: 1.625; 
    --fontSize-1: 1rem; 
    --fontSize-2: 1.2rem; 
    --fontSize-5: 2.074rem; 
    --fontSize-6: 2.488rem; 
    --color-primary: #32502e; 
    --color-text: #2e353f; 
    --color-heading: #1a202c; 
    --color-heading-black: #000; 
    --color-accent: #d1dce5;
} 

.global-wrapper { 
    margin: var(--spacing-0) auto; 
    max-width: var(--maxWidth-wrapper); 
    padding: var(--spacing-10) var(--spacing-5);
} 

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

.global-header { 
    margin-bottom: var(--spacing-12);
} 

main { 
    display: block;
} 

footer { 
    padding: var(--spacing-6) var(--spacing-0);
} 

a { 
    background-color:  transparent;
    color: var(--color-primary);
} 

.header-link-home { 
    font-family: var(--font-heading); 
    font-size: var(--fontSize-2); 
    font-weight: var(--fontWeight-bold); 
    text-decoration: none;
} 

a:hover { 
    text-decoration: none;
} 

#footnote { 
    color: #9d9d9d;
} 

hr { 
    box-sizing:  content-box; 
    height:  1px;
    overflow:  visible;
    background: var(--color-accent); 
    border: 0; 
} 

ul { 
    padding:  var(--spacing-0);
    list-style-image: none; 
    list-style-position: outside; 
    margin-bottom: var(--spacing-8); 
    margin-left: var(--spacing-0); 
    margin-right: var(--spacing-0);
} 

.blog-post-nav ul  { 
    margin: var(--spacing-0);
} 

#footnote a  { 
    color: #9d9d9d;
} 

h1 { 
    font-size:  var(--fontSize-6); 
    margin:   .67em 0;
    font-family:  var(--font-heading); 
    letter-spacing:  -.025em; 
    line-height:  var(--lineHeight-tight); 
    margin-bottom:  var(--spacing-6); 
    margin-top:  var(--spacing-12);
    color: var(--color-heading-black); 
    font-weight: var(--fontWeight-black);
} 

.blog-post header h1  { 
    margin: var(--spacing-0) var(--spacing-0) var(--spacing-4) var(--spacing-0);
} 

p { 
    line-height:  var(--lineHeight-relaxed); 
    margin:  var(--spacing-0) var(--spacing-0) var(--spacing-8) var(--spacing-0);
    padding: var(--spacing-0);
} 

.blog-post header p  { 
    font-family: var(--font-heading); 
    font-size: var(--fontSize-2);
} 

h2 { 
    font-family:   var(--font-heading); 
    letter-spacing:   -.025em; 
    line-height:   var(--lineHeight-tight); 
    margin-bottom:   var(--spacing-6); 
    margin-top:   var(--spacing-12);
    color:  var(--color-heading); 
    font-weight:  var(--fontWeight-bold);
    font-size: var(--fontSize-5);
} 

.bio { 
    display: flex; 
    margin-bottom: var(--spacing-16);
} 

ul li  { 
    padding-left:  var(--spacing-0);
    margin-bottom: calc(var(--spacing-8)/2);
} 

strong { 
    font-weight: bolder;
} 

.bio-avatar { 
    margin-bottom:  var(--spacing-0);
    border-radius: 50%; 
    margin-right: var(--spacing-4); 
    min-width: 150px;
} 

.gatsby-image-wrapper { 
    position: relative; 
    overflow: hidden;
} 

.bio p  { 
    margin-bottom: var(--spacing-0);
} 

li :last-child  { 
    margin-bottom: var(--spacing-0);
} 

img { 
    border-style: none;
} 

.gatsby-image-wrapper img  { 
    bottom: 0; 
    height: 100%; 
    left: 0; 
    margin: 0; 
    max-width: none; 
    padding: 0; 
    position: absolute; 
    right: 0; 
    top: 0; 
    width: 100%; 
    object-fit: cover;
} 

.gatsby-image-wrapper [data-main-image]  { 
    opacity: 0; 
    transform: translateZ(0); 
    transition: opacity .25s linear; 
    will-change: opacity;
} 


