@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,400,0,0";*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer}ul,ol{list-style:none}:root{--fcf-navy: #1D4556;--fcf-green: #3B7A5C;--light-green: #AACD98;--lighter-green: #D6E7CE;--black: #000000;--white: #ffffff;--header-height: 44px;--footer-height: 44px}html,body{height:100%;overflow:hidden}body{font-family:Nunito,sans-serif;font-size:16px;color:var(--black);background-color:var(--white)}.material-symbols-rounded{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased}#app{height:100%;width:100%;position:relative;overflow:hidden}.page{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s ease}.page.active{opacity:1;visibility:visible}.page.slide-left{transform:translate(-100%)}.page.slide-right{transform:translate(100%)}.header{height:var(--header-height);min-height:var(--header-height);background-color:var(--fcf-navy);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:10}.header-back{display:flex;align-items:center;gap:4px;color:var(--white);font-size:14px;font-weight:600}.header-back .material-symbols-rounded{font-size:24px}.header-title{font-size:16px;font-weight:700;text-align:center;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer{height:var(--footer-height);min-height:var(--footer-height);background-color:var(--fcf-navy);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 16px;z-index:10}.pagination{display:flex;align-items:center;justify-content:space-between;width:100%}.pagination-btn{display:flex;align-items:center;color:var(--white)}.pagination-btn:disabled{opacity:.3}.pagination-page-number{font-size:14px;font-weight:600;text-align:center;color:var(--light-green)}.pagination-btn .pagination-label{font-family:var(--font-family);font-size:14px;font-weight:600;color:var(--white)}.content{flex:1;overflow:hidden;position:relative}.cover-nav{height:44px;background-color:#152d3b;display:flex;align-items:center;padding:0 8px}.cover-nav-back{display:flex;align-items:center;gap:2px;color:var(--white);font-size:14px;text-decoration:none}.cover-nav-back .material-symbols-rounded{font-size:24px}.cover-header{background-color:var(--fcf-navy);padding:16px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:4px solid var(--light-green)}.cover-header-text{color:var(--white)}.cover-header-location{font-size:20px;font-weight:700;color:var(--light-green);line-height:1.2}.cover-header-identifier,.cover-header-name{font-size:20px;font-weight:400;line-height:1.2}.cover-header-logo{width:88px;height:81px;flex-shrink:0}.cover-header-logo img{width:100%;height:100%;object-fit:contain}.cover-footer{height:72px;min-height:72px;background-color:var(--fcf-navy);display:flex;align-items:center;justify-content:center}.cover-cta{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--light-green);font-size:20px;font-weight:700;width:100%;height:100%}.cover-cta-icon{width:32px;height:32px;border-radius:50%;background-color:var(--light-green);display:flex;align-items:center;justify-content:center}.cover-cta-icon .material-symbols-rounded{color:var(--fcf-navy);font-size:20px}.map-container{width:100%;height:100%;position:relative;overflow:hidden;background-color:#f0f0f0;touch-action:none}.map-viewport{width:100%;height:100%;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.map-content{position:absolute;transform-origin:0 0}.map-base{display:block;width:1521px;height:2021px;max-width:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}.map-route{position:absolute;pointer-events:none;max-width:none}.map-markers{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.map-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer}.map-marker-circle{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:var(--white);box-shadow:0 2px 4px #0003;border:2px solid #fff}.map-marker.current .map-marker-circle{animation:throb 1.5s ease-in-out infinite}@keyframes throb{0%,to{box-shadow:0 0 #dc3545b3}50%{box-shadow:0 0 0 8px #dc354500}}.user-location{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:1}.user-location-dot{width:14px;height:14px;border-radius:50%;background-color:#4285f4;border:2px solid #fff;box-shadow:0 0 #4285f466;animation:gps-pulse 2s ease-in-out infinite}@keyframes gps-pulse{0%,to{box-shadow:0 0 #4285f466}50%{box-shadow:0 0 0 8px #4285f400}}.map-key-btn{position:absolute;bottom:16px;left:16px;width:32px;height:32px;border-radius:50%;background-color:var(--white);box-shadow:0 2px 8px #0003;display:flex;align-items:center;justify-content:center;z-index:5}.map-key-btn .material-symbols-rounded{color:var(--fcf-navy);font-size:20px}.map-key{position:absolute;bottom:0;left:0;right:0;background-color:var(--white);border-top:4px solid var(--light-green);padding:24px 16px;z-index:5;display:none}.map-key.visible{display:block}.map-key-btn.key-visible{z-index:6}.map-key-grid{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px 24px;list-style:none;margin:0;padding:0}.map-key-item{display:flex;flex-direction:row;align-items:center;gap:8px}.map-key-icon{width:20px;height:20px}.map-key-icon img{width:100%;height:100%;object-fit:contain}.map-key-label{font-size:13px;color:var(--black)}.intro-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:var(--lighter-green)}.intro-hero{background-color:var(--lighter-green);padding:24px 16px;text-align:center}.intro-logo{width:205px;height:72px;margin:0 auto}.intro-logo img{width:100%;height:100%;object-fit:contain}.intro-title{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px;margin:24px 0}.intro-identifier{font-size:28px;font-weight:400;line-height:1.2;color:var(--fcf-navy);white-space:nowrap}.intro-name{font-size:28px;font-weight:800;line-height:1.2;color:var(--fcf-navy);white-space:nowrap}.intro-description{font-size:16px;line-height:1.4;color:var(--black)}.trail-key{padding:0 16px 32px;background-color:var(--lighter-green)}.trail-key-title{font-size:20px;font-weight:700;color:var(--fcf-green);text-align:center;margin-bottom:24px;position:relative}.trail-key-title:before,.trail-key-title:after{content:"";position:absolute;top:50%;height:2px;background-color:var(--light-green)}.trail-key-title:before{left:0;right:calc(50% + 24px)}.trail-key-title:after{left:calc(50% + 24px);right:0}.trail-key-grid{display:grid;grid-template-columns:1fr 1fr;row-gap:12px;column-gap:24px}.trail-key-item{display:flex;align-items:flex-start;gap:8px;line-height:1.4}.trail-key-icon{width:20px;height:20px;flex-shrink:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.trail-key-icon img{width:100%;height:100%;object-fit:contain}.trail-key-text{flex:1;display:flex;flex-direction:column}.trail-key-item-title,.trail-key-time .trail-key-item-description,.trail-key-accessibility .trail-key-item-description{font-size:13px;font-weight:700;color:var(--black);opacity:1}.trail-key-item-description,.trail-key-time .trail-key-item-title,.trail-key-accessibility .trail-key-item-title{font-size:11px;font-weight:400;color:var(--black);opacity:.7}.first-waypoint-btn{position:absolute;left:calc(50% - 75px);margin:-16px auto 0;height:32px;border-radius:16px;border:1px solid var(--light-green);background-color:var(--white);box-shadow:0 2px 8px #0003;display:flex;align-items:center;gap:6px;padding:0 12px;color:var(--fcf-green);font-size:14px;font-weight:600}.cemetery-description{padding:32px 16px 24px;background-color:var(--white)}.cemetery-description h2{font-size:18px;font-weight:700;color:var(--fcf-navy);margin-bottom:12px}.cemetery-description p{font-size:15px;line-height:1.4;margin-bottom:12px}.cemetery-description p:last-child{margin-bottom:0}#page-waypoint .content{display:flex;flex-direction:column}#page-waypoint .map-container{flex:1;height:auto}.waypoint-info{background-color:var(--white);padding:24px 16px;border-bottom:4px solid var(--light-green);min-height:140px}.waypoint-header{display:flex;gap:16px}.waypoint-header.fade-in{animation:fadeIn .4s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.waypoint-thumbnail{width:80px;height:80px;border-radius:50%;border:4px solid var(--fcf-green);overflow:hidden;flex-shrink:0;position:relative;cursor:pointer}.waypoint-thumbnail img{width:100%;height:100%;object-fit:cover}.waypoint-thumbnail-btn{position:absolute;top:80px;left:8px;height:24px;padding:0 8px;border:none;border-radius:12px;background-color:var(--white);box-shadow:0 2px 8px #0003;display:flex;align-items:center;justify-content:center;gap:3px;cursor:pointer}.waypoint-thumbnail-btn .material-symbols-rounded{font-size:14px;color:var(--fcf-navy)}.waypoint-photo-count{font-size:12px;font-weight:700;color:var(--fcf-navy)}.waypoint-details{flex:1}.waypoint-title{font-size:18px;font-weight:700;line-height:1.2;color:var(--fcf-green);margin-bottom:8px}.waypoint-description{font-size:14px;line-height:1.4;color:var(--black)}.waypoint-features{display:flex;gap:16px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;margin:24px -16px 0;padding:0 16px}.waypoint-features-toggle{align-self:center}.waypoint-features-btn{color:#666}.waypoint-feature{display:flex;align-items:top;gap:8px;text-wrap:nowrap}.waypoint-feature-icon{width:16px;height:16px;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.waypoint-feature-icon img{width:100%;height:100%;object-fit:contain}.waypoint-feature-text{display:flex;flex-direction:column;font-size:11px;line-height:1.2}.waypoint-feature-title{font-weight:700;color:var(--black);font-size:13px}.waypoint-feature-description{color:var(--black);opacity:.7}.waypoint-info:not(.expanded) .waypoint-features{position:absolute;top:90px;left:16px;gap:8px;width:120px;flex-wrap:wrap}.waypoint-info:not(.expanded) .waypoint-feature-text{display:none}.waypoint-info:not(.expanded) .waypoint-features-btn{transform:rotate(180deg)}.read-more-btn{position:absolute;bottom:16px;right:16px;height:32px;border-radius:16px;background-color:var(--white);box-shadow:0 2px 8px #0003;display:flex;align-items:center;gap:6px;padding:0 12px;z-index:5;color:var(--fcf-green);font-size:14px;font-weight:600}.read-more-btn .material-symbols-rounded{color:var(--fcf-green);font-size:18px}.photo-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;z-index:100;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;visibility:hidden;transition:opacity .3s ease}.photo-overlay.visible{opacity:1;visibility:visible}.photo-overlay-backdrop{position:absolute;top:0;left:0;right:0;bottom:20%}.photo-overlay-sheet{height:80%;background-color:var(--fcf-navy);border-radius:16px 16px 0 0;overflow:hidden;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease}.photo-overlay.visible .photo-overlay-sheet{transform:translateY(0)}.photo-overlay-content{flex:1;position:relative;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.photo-overlay-image{position:absolute;top:0;left:0;max-width:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}.photo-overlay-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background-color:#00000080;display:flex;align-items:center;justify-content:center;color:var(--white)}.photo-overlay-nav.prev{left:16px}.photo-overlay-nav.next{right:16px}.photo-overlay-nav:disabled{opacity:.3}.photo-overlay-titlebar{position:absolute;top:0;left:0;right:0;height:44px;display:flex;align-items:center;padding:0 16px;background-color:#1d4556b3;z-index:1;cursor:pointer}.photo-overlay-titlebar:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:2px;background-color:var(--white)}.photo-overlay-photo-count{color:var(--white);font-weight:700;font-size:14px}.photo-overlay-indicators{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:8px;padding:16px;background-color:#1d4556b3}.photo-overlay-indicator{width:8px;height:8px;border-radius:50%;background-color:#fff6}.photo-overlay-indicator.active{background-color:var(--white)}.webview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--white);z-index:100;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .3s ease}.webview-overlay.visible{transform:translateY(0)}.webview-header{height:var(--header-height);min-height:var(--header-height);background-color:var(--fcf-navy);color:var(--white);display:flex;align-items:center;padding:0 16px}.webview-done{font-size:14px;font-weight:600;color:var(--white)}.webview-url{flex:1;text-align:center;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 16px}.webview-refresh{color:var(--white)}.webview-content{flex:1;overflow:hidden}.webview-content iframe{width:100%;height:100%;border:none}.webview-footer{height:var(--footer-height);min-height:var(--footer-height);background-color:var(--fcf-navy);color:var(--white);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.webview-footer button{color:var(--white)}.loading{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.loading-spinner{width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hidden{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.install-banner{position:fixed;bottom:0;left:0;right:0;z-index:50;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-banner-content{background-color:#d6e8f0;padding:20px 16px;border-top:3px solid var(--fcf-navy)}.install-banner-title{font-size:18px;font-weight:700;color:var(--fcf-navy);margin-bottom:4px}.install-banner-text{font-size:14px;line-height:1.4;color:var(--fcf-navy);margin-bottom:16px}.install-banner-actions{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.install-banner-actions-right{display:flex;align-items:center;gap:16px}.install-banner-why{font-size:14px;font-weight:600;color:var(--fcf-navy)}.install-banner-reason{display:none;font-size:14px;line-height:1.4;color:var(--fcf-navy);margin:12px 0 0;padding:0 0 0 20px;list-style:disc}.install-banner-reason.visible{display:block}.install-banner-reason li{margin-bottom:8px}.install-banner-reason li:last-child{margin-bottom:0}.install-banner-dismiss{font-size:14px;font-weight:600;color:var(--fcf-navy);opacity:.6}.install-banner-btn{display:flex;align-items:center;gap:4px;height:36px;padding:0 16px;border-radius:18px;background-color:var(--fcf-green);color:var(--white);font-size:14px;font-weight:700}.install-banner-btn .material-symbols-rounded{font-size:18px}.install-banner-ios-instructions{display:flex;align-items:center;gap:8px;font-size:14px;line-height:1.4;color:var(--fcf-navy)}.install-banner-ios-instructions .material-symbols-rounded{font-size:20px;color:var(--fcf-green);flex-shrink:0}@media (min-width: 768px){body{background-color:var(--fcf-green)}#app{max-width:430px;margin:0 auto;box-shadow:0 0 40px #0000004d}.install-banner{max-width:430px;left:50%;right:auto;transform:translate(-50%)}.photo-overlay{width:100%;max-width:430px;left:50%;right:auto;transform:translate(-50%)}.webview-overlay{width:100%;max-width:430px;left:50%;right:auto;transform:translate(-50%) translateY(100%)}.webview-overlay.visible{transform:translate(-50%) translateY(0)}}
