body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fef9e7;background-image:linear-gradient(90deg,#0000000d 1px,#0000 0),linear-gradient(180deg,#0000000d 1px,#0000 0);background-size:20px 20px;font-family:Courier New,monospace;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.typewriter{font-family:Courier New,monospace;font-size:6rem;left:2rem;max-width:calc(100vw - 450px);position:absolute;right:400px;top:2rem}.cursor,.typewriter{color:#000;display:inline-block}.cursor{animation:blink 1s step-start infinite;width:1ch}.cursor.on{opacity:1}@keyframes blink{50%{opacity:0}}@media (max-width:1024px){.typewriter{font-size:4.5rem}}@media (max-width:992px){.typewriter{max-width:calc(100vw - 4rem);right:2rem}}@media (max-width:768px){.typewriter{font-size:3rem;left:1.5rem;right:1.5rem;top:1.5rem}}@media (max-width:480px){.typewriter{font-size:2rem;left:1rem;right:1rem;top:1rem}}.about-me{background:hsla(76,58%,86%,.822);border-left:5px solid #000;color:#404d31;font-family:Courier New,monospace;font-size:1.25rem;line-height:1.6;margin:12rem 0 2rem 2rem;max-width:800px;padding:2rem;text-align:left;width:100%}@media (max-width:1024px){.about-me{font-size:1.1rem;margin:6rem 0 2rem 1rem;padding:1.5rem}}@media (max-width:768px){.about-me{font-size:1rem;margin:2rem 0 2rem .5rem;padding:1.25rem}}.project{background:hsla(76,58%,86%,.822);border-left:5px solid #000;font-family:Courier New,monospace;font-size:1.25rem;line-height:1.6;margin:8rem 0 2rem 2rem;max-width:800px;padding:2rem;text-align:left;width:100%}.project,a{color:#404d31}a{font-style:italic;font-weight:lighter;text-decoration:none}a:hover{color:#006400;text-decoration:underline}ul{font-family:Courier New,monospace;font-size:1.1rem;line-height:1.6;list-style-type:disc;margin-left:2rem}@media (max-width:1024px){.project{font-size:1.1rem;margin:4rem 0 2rem 1rem;padding:1.5rem}ul{font-size:1rem;margin-left:1.5rem}}@media (max-width:768px){.project{font-size:1rem;margin:2rem 0 2rem .5rem;padding:1.25rem}ul{font-size:.95rem;margin-left:1rem}}.contact{background:hsla(76,58%,86%,.822);border-left:5px solid #000;color:#404d31;font-family:Courier New,monospace;font-size:1.25rem;line-height:1.6;margin:8rem 0 2rem 2rem;max-width:800px;padding:2rem;text-align:left;width:100%}.contact-icons{display:flex;gap:1.5rem;margin-top:1rem}.icon{font-size:2.5rem}.icon:hover{cursor:pointer}@media (max-width:1024px){.contact{font-size:1.1rem;margin:4rem 0 2rem 1rem;padding:1.5rem}.icon{font-size:2.25rem}}@media (max-width:768px){.contact{font-size:1rem;margin:2rem 0 2rem .5rem;padding:1.25rem}.icon{font-size:2rem}.contact-icons{gap:1rem}}.blogSection{background:hsla(76,58%,86%,.822);border-left:5px solid #000;color:#404d31;font-family:Courier New,monospace;margin:8rem 0 2rem 2rem;max-width:800px;padding:2rem;text-align:left;width:100%}.blogHeader{margin-bottom:2rem}.blogHeader h2{color:#404d31;font-size:2rem;font-weight:700;margin:0 0 .5rem}.blogHeader p{color:#404d31;font-size:1.1rem;margin:0;opacity:.8}.postGrid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:1.5rem}.postCard{background:#fff9;border:2px solid #404d31;color:#404d31;display:flex;flex-direction:column;padding:1.25rem;position:relative;text-decoration:none;transition:all .2s ease}.postCard:hover{background:#ffffffe6;box-shadow:4px 4px 0 #404d31;transform:translateY(-2px)}.postThumbWrap{height:150px;margin:-1.25rem -1.25rem 1rem;overflow:hidden;position:relative}.postThumb{height:100%;object-fit:cover;width:100%}.postThumbOverlay{align-items:center;background:#0000004d;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s}.postCard:hover .postThumbOverlay{opacity:1}.readMore{color:#fff;font-size:.9rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}.postMeta{align-items:center;color:#404d31;display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.75rem;opacity:.7}.postDate{font-weight:700}.postMinutes{font-style:italic}.postTitle{color:#404d31;font-size:1.35rem;font-weight:700;line-height:1.3;margin:0 0 .5rem}.postExcerpt{color:#404d31;flex-grow:1;font-size:.95rem;line-height:1.5;margin:0 0 1rem;opacity:.9}.postTags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.tag{background:#404d31;border-radius:3px;color:#fef9e7;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:.25rem .6rem;text-transform:uppercase}@media (max-width:1024px){.blogSection{margin:4rem 0 2rem 1rem;padding:1.5rem}.blogHeader h2{font-size:1.75rem}.blogHeader p{font-size:1rem}}@media (max-width:768px){.blogSection{margin:2rem 0 2rem .5rem;padding:1.25rem}.blogHeader h2{font-size:1.5rem}.blogHeader p{font-size:.95rem}.postGrid{gap:1.25rem;grid-template-columns:1fr}.postMeta{align-items:flex-start;flex-direction:column;font-size:.8rem;gap:.25rem}.postTitle{font-size:1.2rem}.postExcerpt{font-size:.9rem}}.photoCarousel{animation:fadeIn 1s ease-in;position:fixed;right:2rem;top:2rem;z-index:100}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.filmStrip{background:#2d3a23;border:2px solid #1a2214;border-radius:4px;box-shadow:0 8px 16px #0000004d;padding:.75rem;position:relative}.sprockets{background:#2d3a23;display:flex;justify-content:space-around;padding:.25rem .5rem}.sprocketsTop{margin-bottom:.5rem}.sprocketsBottom{margin-top:.5rem}.sprocket{background:#1a2214;border:1px solid #404d31;border-radius:2px;height:8px;width:8px}.photoFrame{background:#1a2214;border:3px solid #404d31;height:213px;overflow:hidden;position:relative;transition:transform .2s;width:320px}.photoFrame:hover{transform:scale(1.02)}.photo{display:block;height:100%;object-fit:cover;transition:opacity .5s ease-in-out;width:100%}.navButton{align-items:center;background:#404d31cc;border:2px solid #404d31;color:#fef9e7;cursor:pointer;display:flex;font-family:Courier New,monospace;font-size:2rem;font-weight:700;height:40px;justify-content:center;line-height:1;opacity:0;padding:0;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:40px}.photoFrame:hover .navButton{opacity:1}.navButton:hover{background:#404d31;transform:translateY(-50%) scale(1.1)}.navPrev{left:.5rem}.navNext{right:.5rem}.frameCounter{background:#404d31e6;border:1px solid #404d31;border-radius:2px;color:#fef9e7;font-family:Courier New,monospace;font-size:.75rem;font-weight:700;letter-spacing:1px;padding:.25rem .5rem;position:absolute;right:.5rem;top:.5rem}.dotsContainer{background:#e5f0c633;border-radius:20px;display:flex;gap:.5rem;justify-content:center;margin-top:1rem;padding:.5rem}.dot{background:#404d314d;border:1px solid #404d31;border-radius:50%;cursor:pointer;height:10px;padding:0;transition:all .3s ease;width:10px}.dot:hover{background:#404d3199;transform:scale(1.2)}.dotActive{background:#404d31;transform:scale(1.3)}.photoCarousel:before{background:#e5f0c6e6;border:2px solid #404d31;border-radius:2px;color:#404d31;content:"35mm FILM";letter-spacing:2px;padding:.25rem .75rem;top:-1.5rem}.expandHint,.photoCarousel:before{font-family:Courier New,monospace;font-size:.7rem;font-weight:700;left:50%;position:absolute;transform:translateX(-50%)}.expandHint{background:#404d31e6;border:1px solid #404d31;border-radius:2px;bottom:.5rem;color:#fef9e7;letter-spacing:1px;opacity:0;padding:.35rem .75rem;pointer-events:none;text-transform:uppercase;transition:opacity .3s}.photoFrame:hover .expandHint{opacity:1}.carouselDescription{background:#e5f0c6b3;border:2px solid #404d31;border-radius:4px;color:#404d31;font-family:Courier New,monospace;font-size:.85rem;font-style:italic;line-height:1.5;margin-top:1rem;padding:1rem;text-align:center}.modalOverlay{animation:fadeIn .2s ease-in;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000eb;bottom:0;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modalContent,.modalOverlay{align-items:center;display:flex}.modalContent{flex-direction:column;gap:1.5rem;max-height:90vh;max-width:90vw;position:relative}.modalClose{align-items:center;background:#404d31e6;border:2px solid #404d31;border-radius:4px;color:#fef9e7;cursor:pointer;display:flex;font-family:Courier New,monospace;font-size:2.5rem;font-weight:700;height:50px;justify-content:center;line-height:1;padding:0;position:absolute;right:0;top:-3rem;transition:all .2s;width:50px}.modalClose:hover{background:#404d31;transform:scale(1.1)}.modalFilmStrip{background:#2d3a23;border:3px solid #1a2214;border-radius:4px;box-shadow:0 12px 24px #00000080;padding:1rem;position:relative}.modalPhotoFrame{background:#1a2214;border:4px solid #404d31;height:667px;overflow:hidden;position:relative;width:1000px}.modalPhoto{background:#1a2214;display:block;height:100%;object-fit:contain;width:100%}.modalNavButton{align-items:center;background:#404d31e6;border:3px solid #404d31;border-radius:4px;color:#fef9e7;cursor:pointer;display:flex;font-family:Courier New,monospace;font-size:3rem;font-weight:700;height:60px;justify-content:center;line-height:1;padding:0;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:60px}.modalNavButton:hover{background:#404d31;transform:translateY(-50%) scale(1.15)}.modalNavPrev{left:-80px}.modalNavNext{right:-80px}.photoDescription{background:#e5f0c6f2;border:3px solid #404d31;border-radius:4px;box-shadow:0 4px 8px #0000004d;color:#404d31;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-style:italic;line-height:1.6;max-width:1000px;padding:1.5rem;text-align:center}.photoDescription p{margin:0}.modalBottomNav{gap:1rem;margin-top:1rem}.modalBottomButton,.modalBottomNav{display:flex;justify-content:center}.modalBottomButton{align-items:center;background:#404d31e6;border:3px solid #404d31;border-radius:4px;color:#fef9e7;cursor:pointer;font-family:Courier New,monospace;font-size:1.5rem;font-size:.9rem;font-weight:700;height:50px;letter-spacing:1px;text-transform:uppercase;transition:all .3s ease;width:80px}.modalBottomButton:hover{background:#404d31;transform:scale(1.05)}@media (max-width:1200px){.modalPhotoFrame{height:533px;width:800px}.photoDescription{max-width:800px}.modalNavButton{font-size:2rem;height:50px;width:50px}.modalNavPrev{left:-60px}.modalNavNext{right:-60px}}@media (max-width:992px){.photoCarousel{margin:4rem auto 2rem;max-width:400px;position:static}.modalPhotoFrame{height:400px;width:600px}.modalNavPrev{left:.5rem}.modalNavNext{right:.5rem}.photoDescription{font-size:1rem;max-width:600px;padding:1rem}.modalBottomButton{font-size:.8rem;height:45px;width:70px}}@media (max-width:768px){.photoFrame{height:187px;width:280px}.carouselDescription{font-size:.75rem;padding:.75rem}.modalPhotoFrame{height:267px;width:400px}.modalClose{font-size:2rem;height:40px;top:-2.5rem;width:40px}.photoDescription{font-size:.9rem;max-width:400px}}@media (max-width:500px){.photoFrame{height:173px;width:260px}.modalPhotoFrame{height:213px;width:320px}.photoDescription{font-size:.85rem;max-width:320px;padding:.75rem}}.postPage{margin:0 auto;max-width:900px;padding:2rem}.backLink{color:#404d31;display:inline-block;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700;margin-bottom:2rem;text-decoration:none;transition:transform .2s}.backLink:hover{text-decoration:underline;transform:translateX(-5px)}.postHeader{background:#e5f0c6e6;border-left:5px solid #404d31;margin-bottom:3rem;padding:2rem}.postHeaderMeta{color:#404d31;display:flex;flex-wrap:wrap;font-family:Courier New,monospace;font-size:.9rem;gap:1.5rem;margin-bottom:1rem;opacity:.8}.postHeaderMeta span{font-weight:700}.postHeader h1{color:#404d31;font-family:Georgia,Times New Roman,serif;font-size:2.5rem;line-height:1.2;margin:.5rem 0}.postSummary{color:#404d31;font-family:Courier New,monospace;font-size:1.1rem;font-style:italic;margin-top:1rem;opacity:.9}.markdown{background:#ffffffb3;border-left:5px solid #404d31;color:#404d31;line-height:1.8;padding:2.5rem}.markdown h1{border-bottom:3px solid #404d31;font-size:2.2rem}.markdown h1,.markdown h2{color:#2d3a23;font-family:Georgia,Times New Roman,serif;margin-bottom:1rem;margin-top:2rem;padding-bottom:.5rem}.markdown h2{border-bottom:2px solid #404d314d;font-size:1.8rem}.markdown h3{font-size:1.4rem;letter-spacing:1px;margin-top:1.5rem;text-transform:uppercase}.markdown h3,.markdown h4{color:#404d31;font-family:Courier New,monospace;font-weight:700;margin-bottom:.75rem}.markdown h4{font-size:1.2rem;margin-top:1.25rem}.markdown p{color:#404d31;margin-bottom:1.25rem}.markdown ol,.markdown p,.markdown ul{font-family:Georgia,Times New Roman,serif;font-size:1.1rem}.markdown ol,.markdown ul{margin-bottom:1.5rem;padding-left:2rem}.markdown li{color:#404d31;margin-bottom:.75rem}.markdown ul{list-style-type:disc}.markdown ul ul{list-style-type:circle;margin-top:.5rem}.markdown ol{list-style-type:decimal}.markdown a{color:#2d5016;font-weight:500;text-decoration:underline;transition:all .2s}.markdown a:hover{background-color:#e5f0c680;color:#1a3009;text-decoration:none}.markdown code{background-color:#404d311a;border:1px solid #404d3133;border-radius:3px;color:#2d3a23;font-family:Courier New,Monaco,monospace;font-size:.95rem;padding:.2rem .4rem}.markdown pre{background-color:#404d31;border:3px solid #2d3a23;border-radius:5px;color:#e5f0c6;margin-bottom:1.5rem;overflow-x:auto;padding:1.5rem}.markdown pre code{background:none;border:none;color:#e5f0c6;font-size:.95rem;padding:0}.markdown blockquote{background-color:#e5f0c64d;border-left:4px solid #404d31;color:#404d31;font-family:Georgia,Times New Roman,serif;font-style:italic;margin:1.5rem 0;padding:1rem 1.5rem}.markdown blockquote p{margin:0}.markdown hr{border:none;border-top:2px solid #404d31;margin:2rem 0;opacity:.3}.markdown table{border-collapse:collapse;font-family:Courier New,monospace;font-size:.95rem;margin:1.5rem 0;width:100%}.markdown th{background-color:#404d31;border:2px solid #2d3a23;color:#fef9e7;font-weight:700;padding:.75rem;text-align:left}.markdown td{background-color:#ffffff80;border:1px solid #404d314d;padding:.75rem}.markdown tr:nth-child(2n) td{background-color:#e5f0c633}.markdown img{border:3px solid #404d31;border-radius:5px;display:block;height:auto;margin:1.5rem 0;max-width:100%}.markdown strong{color:#2d3a23;font-weight:700}.markdown em{color:#404d31;font-style:italic}@media (max-width:768px){.postPage{padding:1rem}.postHeader h1{font-size:2rem}.markdown{padding:1.5rem}.markdown h1{font-size:1.8rem}.markdown h2{font-size:1.5rem}.markdown li,.markdown p{font-size:1rem}}
/*# sourceMappingURL=main.7dc2d1be.css.map*/