@font-face{font-family:"Open Sans";src:url("/fonts/OpenSansRegularLatinExt.ttf") format("truetype");font-weight:normal;font-display:fallback}@font-face{font-family:"Open Sans";src:url("/fonts/OpenSansBoldLatinExt.ttf") format("truetype");font-weight:bold;font-display:fallback}@font-face{font-family:"Hack";src:url("/fonts/HackRegular.ttf") format("truetype");font-weight:normal;font-display:fallback}@font-face{font-family:"Hack";src:url("/fonts/HackBold.ttf") format("truetype");font-weight:bold;font-display:fallback}@font-face{font-family:"Merriweather Regular";src:url("/fonts/MerriweatherRegular.ttf") format("truetype");font-weight:normal;font-display:fallback}@font-face{font-family:"Merriweather Bold";src:url("/fonts/MerriweatherBold.ttf") format("truetype");font-weight:bold;font-display:fallback}html{box-sizing:border-box;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:inherit}:root{--font-size-root: 16px;--font-size-body: 1.125rem;--font-family-body: "Open Sans", sans-serif;--font-family-code: "Hack", monospace;--font-family-heading: "Merriweather Regular", serif;--border-color: #dddddd;--border-focus-color: #333333;--color-body: #333333;--color-button: #eeeeee;--background-body: #ffffff;--background-hover: #eeeeee;--background-alt: #f8f8f8;--background-button: #333366;--background-button-hover: #666699;--background-alt-hover: #dddddd;--background-readonly: #eeeeee;--color-info: #155724;--color-error: #cc0000}@media print{:root{--font-size-root: 12pt;--font-size-body: 12pt;--font-family-body: serif;--font-family-code: serif;--font-family-heading: serif;--color-body: #000000;--background-body: #ffffff;--background-alt: #ffffff}}html{font-size:var(--font-size-root)}body{font-size:var(--font-size-body);font-family:var(--font-family-body);line-height:1.25;margin:0;padding:0;color:var(--color-body);background-color:var(--background-body)}blockquote{line-height:1.5;color:var(--color-body);background:var(--background-alt);margin:1.6875rem 0;padding:1rem}blockquote p{margin:0 1rem}blockquote p:first-child{margin-top:0}blockquote p:last-child{margin-bottom:0}button{appearance:button;-webkit-appearance:button}.button{color:var(--color-button);background:var(--background-button);border:0;outline:0;cursor:pointer;display:inline-block;font-family:inherit;font-size:.875rem;font-weight:normal;line-height:1.25;padding:.5rem 1rem;text-align:center;text-decoration:none;white-space:nowrap}.button.large{border-radius:.5rem;padding:1rem 1.6875rem;font-size:1.125rem}.button.small{font-size:.875rem;padding:.375rem .5rem}.button.icon{color:#333;font-size:.875rem;padding:0;background:#fff}.button.icon:hover,.button.icon:focus{color:#999;background:#fff}.button:hover,.button:focus{background:var(--background-button-hover)}a.button{text-decoration:none}pre{line-height:1.5;color:var(--color-body);background-color:var(--background-alt);border-radius:.25rem;margin:1.6875rem 0;padding:1rem 1rem;overflow:auto}pre code{line-height:1.5;color:var(--color-body);background-color:var(--background-alt);border:none;display:block;padding:0}code{font-family:var(--font-family-code);font-size:.875rem;color:var(--color-body);background-color:var(--background-alt);border-radius:.25rem;display:inline-block;padding:0 .25rem}form{line-height:1.25;margin:1.6875rem 0}label{display:block;color:var(--color-body);font-family:inherit;font-size:.875rem;font-weight:normal;line-height:inherit;margin:0;width:100%}label.error{color:var(--color-error)}label.checkbox{margin:1rem 0}select,textarea,[type=file],[type=text],[type=date],[type=number],[type=password]{display:block;color:inherit;background:var(--background-body);border:1px solid var(--border-color);border-radius:.25rem;font-family:inherit;font-size:1rem;line-height:inherit;margin:0;padding:.5rem 1rem;width:100%;appearance:none}select:focus,textarea:focus,[type=file]:focus,[type=text]:focus,[type=date]:focus,[type=number]:focus,[type=password]:focus{outline:0;border-color:var(--border-focus-color)}select.error,textarea.error,[type=file].error,[type=text].error,[type=date].error,[type=number].error,[type=password].error{color:var(--color-error);border-color:var(--color-error)}textarea:read-only,[type=text]:read-only,[type=date]:read-only,[type=number]:read-only,[type=password]:read-only{background-color:var(--background-readonly)}input::-webkit-datetime-edit{display:block;padding:0}form .help{font-size:1rem}form .help.error{color:var(--color-error)}h1,h2,h3,h4,h5,h6{font-weight:normal;font-family:var(--font-family-heading);line-height:1.25;color:var(--color-body);margin:3.375rem 0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.8rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit;text-decoration:none}hr{border:0;height:1px;background-color:var(--border-color)}img{display:block;margin:1.6875rem 0;max-width:100%}a{text-decoration:underline;color:var(--color-body)}a img{border:0}ul,ol{line-height:1.5;margin:1.6875rem 0}ul li ul,ul li ol,ol li ul,ol li ol{margin:0}p{line-height:1.5;margin:1.6875rem 0}small{font-size:.875rem}table{font-size:1rem;line-height:1.5;border-collapse:collapse;margin:1.6875rem 0}th,td{line-height:1.5;text-align:left;padding:.1875rem .375rem;border:1px solid var(--border-color)}th>a,td>a{text-decoration:underline}th>img,td>img{margin:0}th{font-size:.875rem;font-weight:bold}tr:hover{background:var(--background-hover)}.alert{font-size:1rem;border-radius:.25rem;padding:1rem}.alert.info{color:var(--color-info);border:1px solid var(--color-info)}.alert.error{color:var(--color-error);border:1px solid var(--color-error)}.container{max-width:800px;margin:1rem auto}@media(max-width: 900px){.container{margin:1rem;max-width:none}}.container-wide{max-width:1440px;margin:1rem auto}@media(max-width: 1540px){.container-wide{margin:1rem;max-width:none}}.container-fluid{margin:1rem}@media print{.container{max-width:none;margin:0}}.hide{display:none !important}@media print{.print-none{display:none !important}}@media(max-width: 360px){.phone-none{display:none !important}}@media(max-width: 800px){.tablet-none{display:none !important}}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify !important}.text-underline{text-decoration:underline !important}.text-body{font-size:1.125rem}.text-small{font-size:1rem}.text-tiny{font-size:.875rem}.about{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;margin-top:3.375rem;margin-bottom:3.375rem}.about .image{flex-shrink:0;margin-right:1.6875rem}.about .image img{border-radius:50%}@media(max-width: 520px){.about{flex-direction:column}.about .image{margin-right:0;margin-bottom:1.6875rem}}.recent-projects{display:grid;grid-template-columns:1fr 1fr;padding:3.375rem 1.6875rem;align-items:center;gap:3.375rem;background:#fff}.recent-projects .project{transition:opacity .25s}.recent-projects .project:hover{opacity:.7}@media(max-width: 460px){.recent-projects{grid-template-columns:1fr}}.comments{margin-top:3.375rem;margin-bottom:3.375rem}.comment{margin-bottom:3.375rem}.comment .meta{font-weight:bold;margin-bottom:1.6875rem}header{margin-bottom:3.375rem}header h1{font-size:2.5rem;font-weight:normal;margin:2rem 0 .25rem 0}header .line{font-size:1rem;margin-bottom:1.6875rem}header nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:.25rem}header nav a{display:block;color:#fff;background:#65a830;text-decoration:none;padding:.5rem;min-width:50px;border-radius:.25rem;text-align:center;cursor:pointer}@media(max-width: 800px){header nav a{min-width:120px}}header nav a:hover{background:#97fa46}@media print{header nav{display:none}}footer{font-size:.875rem;margin-top:5.0625rem}@media print{footer{margin-top:1.6875rem}}.meta{margin-bottom:3.375rem;font-size:1rem}@media print{.meta{display:none}}.tag{display:inline-block;font-size:.875rem;text-align:center;text-decoration:none;color:#033;background:#ecf7e3;min-width:30px;border-radius:.375rem;padding:.375rem .75rem;margin-top:.375rem}.tag:hover,.tag.active{background-color:#97fa46}.photo{margin:3.375rem 0}.photo a,.photo div{display:block;margin:0 auto}.photo a img,.photo div img{margin-bottom:0}.photo a img{cursor:zoom-in}.photo .caption{margin-top:1rem;font-size:.875rem;font-weight:bold;text-align:center}.photo.photo-32 a,.photo.photo-32 div{max-width:642px}.photo.photo-43 a,.photo.photo-43 div{max-width:644px}.photo.photo-23 a,.photo.photo-23 div{max-width:460px}.photo.photo-34 a,.photo.photo-34 div{max-width:504px}.photo-grid{margin:3.375rem auto}.photo-grid.photo-32{max-width:692px}.photo-grid.photo-43{max-width:696px}.photo-grid.photo-23{max-width:464px}.photo-grid.photo-34{max-width:524px}.photo-grid .items{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-grid .items .photo-item a{display:block;margin:0}.photo-grid .items .photo-item a img{margin:0;cursor:zoom-in}@media(max-width: 600px){.photo-grid .items{grid-template-columns:1fr}}.photo-grid .caption{margin-top:1rem;font-size:.875rem;font-weight:bold;text-align:center}.lightbox{position:fixed;z-index:10000;top:0;bottom:0;left:0;right:0;background:#000;touch-action:none}.lightbox .image{position:absolute;z-index:10001;top:0;bottom:0;left:0;right:0;margin:0;overflow:hidden;pointer-events:none}.lightbox .image img{margin:0;cursor:grab;max-width:none;width:100%}.lightbox .title{position:absolute;z-index:10002;top:1rem;left:1rem;color:#000;background-color:#fff;opacity:.7;padding:.25rem .375rem;font-size:1rem;font-family:var(--font-family-heading);pointer-events:none}@media(max-width: 800px){.lightbox .title{display:none}}.lightbox .spinner{position:absolute;z-index:10002;top:50%;left:50%;transform:translate(-50%, -50%);color:#000;background-color:#fff;opacity:.7;font-size:.875rem;padding:.375rem 1rem}.lightbox .controls{position:absolute;z-index:10002;top:1rem;right:1rem;display:flex;flex-direction:row;flex-wrap:nowrap;gap:.25rem}.lightbox .controls .control{width:3rem;height:3rem;border-radius:50%;color:#333;background-color:#eee;opacity:.7;font-size:2rem;text-align:center;cursor:pointer;display:flex;justify-content:center;align-items:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.lightbox .controls .control:hover{opacity:.9}.overflow-y-hidden{overflow-y:hidden}.hljs-tag{color:#006}.hljs-keyword{font-weight:bold}.hljs-comment{color:#777}.hljs-attribute,.hljs-symbol,.hljs-string{color:#066}.hljs-emphasis{font-style:italic}.error{color:#c00}.loader{animation:blinker 1s linear infinite}@keyframes blinker{50%{opacity:0}}/*# sourceMappingURL=style.css.map */
