@charset "UTF-8";@font-face{font-family:Palanquin Dark;src:url("./media/palanquin-dark-regular-4RVGZW6M.ttf") format("truetype");font-style:bold;font-weight:800;font-display:swap}@font-face{font-family:Palanquin Dark;src:url("./media/palanquin-dark-regular-4RVGZW6M.ttf") format("truetype");font-style:regular;font-weight:400;font-display:swap}@font-face{font-family:Josefin Sans;src:url("./media/josefin-sans-variable-font_wght-ETNSGHW2.ttf") format("truetype");font-weight:125 950;font-stretch:75% 125%;font-style:normal;font-display:swap}body.light{--primary: #173F5F;--accent: #0da6c9;--tertiary: #ceed9f;--text-dark: #1e2020;--text-medium: rgba(30, 32, 32, .87);--links: #1a778b;--links-contrast: #ffffff;--error: #c70000;--error-text: #8b0000;--success: #71a326;--background: #ffffff;--graphic: #a8a8a8;--border: #a8a8a8;--link-border: #badbe2;--subtitle: #6a7274;--light: #d8d8d8}body.dark{--background: rgb(44, 48, 48);--primary: #f7bcde;--accent: #0da6c9;--tertiary: #344b12;--text-dark: #ffffff;--text-medium: rgba(255, 255, 255, .87);--links: #aff0ff;--error: #c70000;--success: #ceed9f;--graphic: #a8a8a8;--border: #a8a8a8;--link-border: #badbe2;--subtitle: #d5e6eb;--light: #474747}.body{--primary: #005f7f;--accent: #00b8d4;--tertiary: #d9f0a2;--text-dark: #222222;--text-medium: rgba(34, 34, 34, .9);--links: #118b8f;--links-contrast: #ffffff;--error: #d32f2f;--error-text: #8b0000;--success: #4caf50;--background: #f7f7f7;--graphic: #9e9e9e;--border: #e0e0e0;--link-border: #80d1d7;--subtitle: #757575;--light: #f1f1f1}:root{--primary: #1D4E89;--accent: #F4A300;--tertiary: #7D8B8C;--text-dark: #2A2A2A;--text-medium: rgba(42, 42, 42, .85);--links: #006F8E;--links-contrast: #ffffff;--error: #E74C3C;--error-text: #C0392B;--success: #27AE60;--background: #F3F4F6;--graphic: #B0B0B0;--border: #E0E0E0;--link-border: #A5D6A7;--subtitle: #888888;--light: #F8F9FA}@media (prefers-color-scheme: dark){:root{--primary: #173F5F;--accent: #00b8d4;--tertiary: #b3d97e;--text-dark: #e1e1e1;--text-medium: rgba(225, 225, 225, .9);--links: #4f9ea9;--links-contrast: #ffffff;--error: #ff4c4c;--error-text: #ff0000;--success: #66bb6a;--background: #121212;--graphic: #5e5e5e;--border: #444444;--link-border: #80d1d7;--subtitle: #9e9e9e;--light: #333333;--primary: #2C3E50;--accent: #E67E22;--tertiary: #BDC3C7;--text-dark: #1C1C1C;--text-medium: rgba(28, 28, 28, .8);--links: #2980B9;--links-contrast: #FFFFFF;--error: #C0392B;--error-text: #8B0000;--success: #27AE60;--background: #ECF0F1;--graphic: #95A5A6;--border: #BDC3C7;--link-border: #D35400;--subtitle: #7F8C8D;--light: #F4F6F7}}*{box-sizing:border-box;font-family:Josefin Sans,serif}.hp,.sr-only{position:absolute;left:-99999px}body,html{margin:0 auto;padding:0 24px;font-size:12pt;font-weight:300;max-width:1150px;background:var(--background);overflow-x:hidden}body>.page-top{display:flex;justify-content:space-between;align-items:center;gap:1ch;padding:12px 0}body>.page-top a.logo:link,body>.page-top a.logo:visited{font-weight:500;font-size:1.25rem;text-decoration:none}body>.page-top a.logo:hover{text-decoration:underline}main{margin:2ex 2ch;position:relative}main .content{display:flow-root}header{margin-bottom:4ex}h1,h2,h3{font-family:Palanquin Dark,serif;color:var(--primary);line-height:1}h1{text-align:center;font-weight:400;line-height:1}h1 small{display:inline-block;font-family:Josefin Sans,serif;font-weight:400;font-size:.5em;color:var(--subtitle);border-top:solid 1px var(--tertiary);padding-top:1.5ex}h2,h3{font-weight:400}li,p,ul{font-weight:300;line-height:1.5}a:link,a:visited{color:var(--links);font-weight:400}a:focus-visible,a:hover{text-decoration:underline}a:focus-visible{outline:solid 1px var(--primary);outline-offset:1ex}button{background:0 0;border:solid 1px var(--accent);border-radius:4px;color:var(--links);padding:2ex 6ch;font-variant:small-caps;font-weight:400;letter-spacing:1px;font-size:1rem}button:focus-visible,button:hover{cursor:pointer;background:#626e700f;border-style:dashed}img.large,img.small{display:none}ul ::marker{color:var(--primary)}@media (max-width: 599px){h1,header{margin-bottom:0}img.small{display:block;width:10px;margin:1ex auto 4ex}}@media (min-width: 600px){img.large{display:inline-block}h1{padding-left:100px;padding-right:100px}h1 img{vertical-align:top;margin-top:-11px;margin-left:-75px;width:50px;float:left}}.call-to-action{margin:64px 0;border:double 3px var(--tertiary);border-radius:4px;padding:4ex 2ch;text-align:center}.call-to-action h2{margin:0 0 2ex;text-align:center}.sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(100%,1fr));gap:1rem;text-align:center}.sections>a:link,.sections>a:visited{text-decoration:none;padding:12px}.sections>a:link:hover,.sections>a:visited:hover{background:#626e700f}.sections>a:link p,.sections>a:visited p{color:var(--text-dark)}.sections strong{color:var(--primary);font-size:1.25em}.sections img{width:100%;height:190px;object-fit:contain;display:block;margin:0 auto}footer{text-align:center;margin-top:3rem;margin-bottom:1rem}footer span a{display:block;padding:8px;margin-bottom:8px}footer ul{padding:0;display:flex;align-items:center;justify-content:center;gap:1rem;list-style-type:none}footer li a,footer li a:link,footer li a:visited{border:solid 1px transparent;line-height:0;border-radius:50%;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem}footer li a a,footer li a:link a,footer li a:visited a{display:block}footer li a a:focus-visible,footer li a:hover,footer li a:link a:focus-visible,footer li a:link:hover,footer li a:visited a:focus-visible,footer li a:visited:hover{border-color:var(--accent)}footer li a img,footer li a:link img,footer li a:visited img{object-fit:contain;width:1.75rem;height:1.75rem}@media (min-width: 850px){footer{text-align:left;display:grid;align-items:center;grid-template-columns:repeat(3,1fr);gap:1rem}footer span:last-of-type{text-align:right}footer>div{display:flex;gap:2ch}a:link,a:visited{font-weight:300}.sections{grid-template-columns:repeat(3,1fr);gap:1rem}.sections>*{height:100%;display:grid;gap:1rem;grid-template-rows:min-content auto auto min-content}.sections>* div{display:flex;justify-content:space-between;align-items:center;flex-direction:column}.sections>* h2,.sections>* p{margin:0}.sections>* img{width:200px}}@media (min-width: 1240px){.sections>* img{width:260px}}.testimonial{border-left:solid 2px var(--primary);padding-left:2ch;line-height:1.5;margin:36px 0 36px 2ch;font-weight:300;font-size:1rem}.testimonial blockquote{display:inline;text-indent:0;padding:0;margin:0;quotes:"\ab" "\bb" "\2018" "\2019"}.testimonial blockquote:before{content:open-quote}.testimonial blockquote:after{content:close-quote}.testimonial blockquote:after,.testimonial blockquote:before{color:var(--primary);font-weight:500;margin:0 1ch;display:inline-block}.testimonial cite{display:block;font-size:.875rem;color:var(--subtitle);text-align:right;font-weight:500}.testimonial cite:before{content:"~ "}.contact-widget h2{text-align:center}.about .content{display:flow-root}.about .content img{float:left;max-width:33vw;margin-right:24px;width:180px;height:226px;object-fit:contain;shape-margin:1ch}.about .content img.svg-portrait{shape-margin:1ch}.about .sections ul{list-style:none;padding:0}section{margin-bottom:72px}section .title{display:block;color:var(--primary);font-weight:700;font-size:1.25rem}section .year{font-size:.875rem;color:var(--subtitle);font-style:italic;font-weight:lighter;margin-left:4px}section .description{margin:1ex 0 0}section ul img{width:150px;float:left;margin-right:2ch;display:block;margin-top:.5ex}section.contact{background-repeat:no-repeat;background-size:33%;background-position:bottom right;margin-top:10ex}section.contact h2{text-align:center;margin:2px}section ul.articles img,section ul.talks img{border:solid 1px;border-image:linear-gradient(var(--accent),var(--tertiary)) 30}@media (min-width: 850px){section ul>li{break-inside:avoid;border:solid 1px;border-image:linear-gradient(var(--accent),var(--tertiary)) 30;padding:2ex 2ch;margin:0}section ul.books,section ul.courses{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}section ul.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}section ul.talks{columns:3 200px;column-gap:24px}section ul.articles li,section ul.books li,section ul.courses li{position:relative;padding-bottom:4rem}section ul.articles li{margin:0}section ul.articles li>a,section ul.books li>a,section ul.courses li>a{position:absolute;bottom:2ex}section ul.books li:first-of-type{grid-column:1/-1}section ul.courses li>a{position:absolute;bottom:2ex}section ul.books li,section ul.courses li{margin:0}section ul.books img{float:left;margin:0 2ch 1ex 0;padding-top:2px}section ul.articles img{border:none;border-top:2ex}section ul.talks img{float:none;width:auto;max-height:150px;max-width:100%;border:solid 1px var(--light);margin:2ex auto}section ul.talks>li{margin-bottom:24px}}.topic{border:1px dotted #d4d4d4;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;justify-content:flex-start}.topic img,.featured-topic img{-o-object-fit:contain;object-fit:contain;display:block;height:5rem;margin:0 auto}.featured-topic{border:1px dotted #f7aa00;padding:1rem;display:flow-root}.featured-topic img{display:block;float:left;margin:0 1.5rem 0 0}@media (min-width: 57rem){.topics{display:flex;flex-wrap:wrap;gap:1rem}.topic{margin-bottom:0;flex-basis:33%;flex-shrink:1;flex-grow:1}}nav.secondary li{display:inline-block;border:solid 1px var(--tertiary);margin:0 2ch 2ex}nav.secondary a:link,nav.secondary a:visited{text-decoration:none}nav.secondary a{padding:2ex 2ch;line-height:normal}.timeline-year{display:flex;width:6ch;height:6ch;border-radius:50%;margin:0 auto;background:var(--tertiary);justify-content:center;align-items:center;text-align:center;font-weight:700}.timeline{margin:0;padding:0;list-style-type:none;background-image:linear-gradient(var(--accent),var(--accent));background-size:2px 100%;background-repeat:no-repeat;background-position:center center}.timeline>li{background:linear-gradient(18deg,var(--accent),var(--tertiary));margin:2ex 0;padding:1px}.timeline .box{background:#fff;padding:1ex 1ch;height:100%}.timeline .name,.timeline .name a{font-weight:500}.timeline .name{color:var(--primary)}.timeline .date,.timeline .location{font-size:.875rem;color:var(--subtitle);line-height:normal}.timeline .date{font-style:italic}.timeline .location:before{content:" - "}.timeline p{margin:0;font-weight:200}@media (min-width: 650px){.timeline{display:grid;grid-template-columns:repeat(2,1fr);grid-column-gap:8ch;grid-row-gap:2ex}.timeline>li{margin:0;position:relative}.timeline>li:nth-of-type(odd){background:linear-gradient(to left,var(--accent),var(--tertiary));grid-column:1;box-shadow:2px 0 0 2px #fff,1px -1px 1px 0 var(--accent),1px 1px 1px 0 var(--accent)}.timeline>li:nth-of-type(odd):after{content:"";display:block;width:4ch;height:1px;background:var(--accent);position:absolute;right:-4ch;top:33%}.timeline>li:nth-of-type(2n){background:linear-gradient(to right,var(--accent),var(--tertiary));grid-column:2}.timeline>li:nth-of-type(2n):before{content:"";display:block;width:4ch;height:1px;background:var(--accent);position:absolute;left:-4ch;bottom:33%}}.image-float{max-width:100%;object-fit:contain;margin:0 auto;display:block}.image-float.normal{aspect-ratio:566/318}.image-float.right{aspect-ratio:377/444;float:right;margin-left:24px}.image-float.left{aspect-ratio:377/444;float:left;margin-right:24px}label{display:block;margin-top:1rem}label em{font-size:.75rem}input,textarea{margin:.25rem 0 0;width:100%}input:focus,textarea:focus{border-color:var(--primary)}input,textarea{width:100%;border-radius:4px;border:1px solid #d4d4d4;display:block;font-family:Helvetica Neue,sans-serif;margin:.25rem 0 0;padding:.75rem}.hint{display:block;padding-top:.25rem;font-style:italic;font-size:.875rem;color:#6e6e6e}.actions{margin-top:.5rem;display:flex;justify-content:flex-end}.actions button{display:block;margin:0 auto 1rem;width:80%;background-color:var(--primary);color:#fff;box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f;box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}legend{display:table;padding:0;margin:2ex 0 1ex;font-size:1.25rem}fieldset{border:0;margin:0;min-width:0;padding:.01em 0 0;margin:1ex 0}@media (min-width: 57rem){.actions{display:flex;justify-content:flex-end;margin:1rem 0}.actions button{margin:0 0 0 .5rem;width:auto}}input{accent-color:var(--accent)}input[type=radio]{appearance:none;margin:0 .5rem 0 0;background-color:var(--background);display:inline-block;width:1em;height:1em;font:inherit;color:currentColor;border:.1em solid currentColor;border-radius:50%;transform:translateY(.125rem);transition-property:background-color,border-color,outline,outline-offset;transition-timing-function:ease-in;transition-duration:.2s}input[type=radio]:checked{background-color:var(--accent);box-shadow:inset -.005rem -.005rem 0 .1rem var(--background);border-color:var(--accent)}input[type=radio]:not(:checked):hover{background-color:#0000005c;box-shadow:inset -.005rem -.005rem 0 .1rem var(--background)}input[type=radio]:focus-visible{outline:dotted 2px var(--accent);outline-offset:3px}@media (forced-colors: active){input[type=radio]:checked{background-color:ActiveText}}@media (prefers-reduced-motion: reduce){*{transition-duration:0ms}}li{display:flow-root}.contact-form button:not(:disabled):focus-visible,.contact-form button:not(:disabled):hover{cursor:pointer;background:var(--tertiary);color:var(--text-dark);border:none}.contact-form button{display:block;background:var(--primary);color:#fff;border:none;padding:3ex 0;box-shadow:2px 2px 2px var(--light);clip-path:polygon(0 0,85% 0,100% 50%,85% 100%,0 100%,15% 50%);shape-outside:polygon(0 0,85% 0,100% 50%,85% 100%,0 100%);transition:all .25s ease-in-out;margin:0 auto;width:250px}.contact-form input:invalid,.contact-form textarea:invalid{border-left:solid 5px var(--error)}.contact-form input:valid,.contact-form textarea:valid{border-left:solid 5px var(--tertiary)}img{mix-blend-mode:multiply}
