*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}[x-cloak]{display:none!important}@font-face{font-family:barlow;src:url(https://db.onlinewebfonts.com/t/4ed5e6a54ae7d23cce2eed435650a315.eot);src:url(https://db.onlinewebfonts.com/t/4ed5e6a54ae7d23cce2eed435650a315.eot?#iefix)format("embedded-opentype"),url(https://db.onlinewebfonts.com/t/4ed5e6a54ae7d23cce2eed435650a315.woff2)format("woff2"),url(https://db.onlinewebfonts.com/t/4ed5e6a54ae7d23cce2eed435650a315.woff)format("woff"),url(https://db.onlinewebfonts.com/t/4ed5e6a54ae7d23cce2eed435650a315.ttf)format("truetype"),url(https://db.onlinewebfonts.com/t/4ed5e6a54ae7d23cce2eed435650a315.svg#Barlow)format("svg")}:root{--grid-height:clamp(120px, 12svh, 240px);--bg:#0a0a0a;--fg:#f0ede8;--muted:rgba(240, 237, 232, 0.6);--muted-more:rgba(240, 237, 232, 0.4);--accent:hsla(31, 38%, 64%, 1);--dark-accent:hsla(31, 38%, 50%, 1);--ui-bg:#1a1717;--transition:300ms cubic-bezier(0.4, 0, 0.2, 1)}@font-face{font-family:montserrat;src:local("Montserrat"),url(/Montserrat.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}input,textarea{font:inherit;border:0;box-shadow:0}html{scroll-behavior:smooth}.aip-enter{transition:max-height 350ms ease,opacity 300ms ease}.aip-from{max-height:0;opacity:0}.aip-to{max-height:600px;opacity:1}.pip-enter{transition:opacity 300ms ease-out}.pip-from{opacity:0}.pip-to{opacity:.5}html,body{background:var(--bg);color:var(--fg);font-family:montserrat,sans-serif;font-weight:400;line-height:1.5;overflow:hidden;font-size:1.125rem;cursor:default}a{color:var(--fg)}video{width:100%;height:100%}ul{list-style:none;& li:hover{background:var(--muted)}}.edit-item.upload img{width:auto;height:10em;object-fit:cover}#file-input{display:none}.file-list{margin-top:15px;list-style:none;padding:0;text-align:left}.file-list li{background:var(--ui-bg);padding:5px 10px;margin-bottom:5px;border-radius:4px}.menu_button{position:relative;display:inline-block;padding:5px 15px;cursor:pointer;font-size:.9em}.menu_div{position:absolute;top:anchor(bottom);left:anchor(left);margin-top:4px;min-width:120px;background:var(--ui-bg);border:1px solid var(--accent);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease;position-try:best-fit}.menu_div .item{padding:8px 12px;cursor:pointer}.menu_div .item:hover{background:#a9a9a9}.menu_div.visible{visibility:visible;opacity:1}#stage-viewer{position:fixed;inset:0;top:3lh;bottom:env(safe-area-inset-top);display:grid;background:var(--bg);overflow:hidden;justify-content:center;min-height:100%;align-items:stretch}body.fullscreen #stage-viewer{top:0;bottom:0}#photo-stage-wrap{inset:0;display:flex;flex:1;align-items:stretch;justify-content:center;min-height:0;height:100%;width:100%;position:relative}#photo-stage{inset:0;height:100%;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-height:0}#photo-stage::-webkit-scrollbar{display:none}.photo-slot{scroll-snap-align:start;flex-shrink:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-light);overflow:hidden;min-height:0}.photo-slot.active{opacity:1;pointer-events:all}.photo-slot video,.photo-slot ifame,.photo-slot img{max-width:100%;max-height:100%;height:100%;width:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}#photo-info-panel{position:absolute;inset:0;z-index:10;pointer-events:none;display:flex;flex-direction:row;justify-content:space-around;gap:0 1rem;background:0 0;align-items:start;max-width:1600px;margin:auto}.photo-info-panel{width:100%;height:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));grid-auto-rows:min-content;justify-content:center;gap:1rem 1rem;padding:1rem;align-items:top}.photo-info-item{border:1px solid var(--accent);background:rgba(0,0,0,.5);padding:.5rem;height:auto;& span{padding-left:1em}& label{display:block;letter-spacing:.12em;text-transform:lowercase;color:var(--accent)}}#album-stage{position:relative;display:flex;flex-direction:column;width:95%;max-width:1600px;min-height:100%;overflow-y:auto;overflow-x:hidden;opacity:1}.albumstage-bricks{display:flex;flex-wrap:wrap;gap:.7em;padding:.5em;justify-content:center;flex-shrink:0}.albumstage-bricks#albums{padding-top:1rem}.albumstage-bricks#thumbs{padding-top:2rem;border-top:2px solid var(--accent)}#album-stage h2{display:block;color:var(--muted);font-size:1.5em}#album-edit-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:1em;padding:1em 2em;& img{width:auto;height:10rem;object-fit:cover}& div.row{display:flex;gap:1em;flex-direction:row;justify-content:space-between;padding-bottom:1em}border-bottom:2px solid var(--accent)}#album-info-panel{display:grid;grid-template-columns:1fr 2fr;gap:1em;padding:1em 2em;& img{width:auto;height:10rem;object-fit:cover}& .row{display:flex;gap:1em;flex-direction:row;justify-content:space-between;padding-bottom:1em}border-bottom:2px solid var(--accent)}.force-new-row{flex-basis:100%;height:0}.grid-new-row2{grid-column:1/3}.grid-new-row{grid-column:1/2}.albumstage-bricks figure{height:var(--grid-height);width:auto;min-width:var(--grid-height);flex:none;display:grid;grid-template-rows:100%;grid-template-columns:auto;align-items:stretch;justify-items:stretch;overflow:hidden;margin:0;background:rgba(0,0,0,.4)}.albumstage-bricks img{display:block;width:auto;height:100%;min-height:100%;object-fit:contain;transition:transform 300ms ease-in-out;transform-origin:center;grid-row:1/-1;grid-column:1/-1}.albumstage-bricks figure:hover img{transform:scale(1.025)}.albumstage-bricks figcaption{grid-row:1/-1;grid-column:1/-1;z-index:10;align-self:end;pointer-events:none;color:var(--fg);padding:.5em;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 100%)}.trip-dates{display:flex;gap:10px;align-items:center;color:var(--muted);margin-top:10px}.collection-meta{display:flex;gap:15px;flex-wrap:wrap;font-size:.9rem}.modal{display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:fit-content;height:fit-content;max-width:90vw;opacity:0;visibility:hidden;z-index:100;transition:opacity 300ms ease-in-out,visibility 300ms ease-in-out}.modal h3{display:block;text-align:center;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.modal.show{opacity:1;visibility:visible}#config-panel{min-width:300px;flex-direction:column;justify-content:flex-start;gap:16px;padding:1em 2em 0;border:3px solid var(--accent);border-radius:9px;color:var(--fg);background:var(--ui-bg)}#config-panel>div:last-child{margin-top:2em}.config-row span{display:flex;justify-content:space-between;gap:1em}.config-row button{display:flex;gap:1em;justify-content:center;width:100%;background:var(--accent);color:var(--bg);padding:8px;border-radius:4px;letter-spacing:.1em;text-transform:uppercase;font-weight:400;margin-top:1em;font-size:.9em;white-space:nowrap;outline:none;cursor:pointer;pointer-events:all}.config-row>span.cfg3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1em}.cfg3.span{width:100%}button #config-panel button:hover{opacity:.85}.config-row{width:100%;border-top:1px dashed var(--accent);margin-bottom:1em}.config-row label{display:block;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:1em}.config-row input,.config-row select{width:100%;background:rgba(255,255,255,5%);border:1px solid rgba(255,255,255,.1);color:var(--fg);padding:8px 10px;border-radius:4px;outline:none}#info{position:fixed;top:56px;left:0;width:300px;padding:20px;z-index:150;background:var(--ui-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--accent);border-radius:8px;padding:20px}#photo-edit-panel{position:absolute;inset:0;z-index:10;pointer-events:all;display:flex;flex-direction:row;justify-content:space-around;gap:0 1rem;background:0 0;align-items:start;max-width:1600px;margin:auto}.photo-edit-panel{width:100%;height:auto;display:grid;pointer-events:all;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));grid-auto-rows:min-content;justify-content:center;gap:1rem 1rem;padding:1rem;align-items:top}.edit-item>span,.edit-item>div{width:100%;padding-top:.6em;min-height:2lh;color:var(--fg)}.edit-item{border:1px solid var(--accent);background:var(--ui-bg);padding:.5rem;height:auto;font-size:1rem;position:relative;& span.leftright{display:flex;flex-direction:row;width:100%;padding:0 .5em;justify-content:space-between;align-items:flex-start}& label{display:flex;justify-content:space-between;align-items:flex-start;background:var(--bg);letter-spacing:.12em;text-transform:lowercase;font-weight:500;color:var(--accent)}}.edit-item.upload>div{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:flex-end;width:95%;bottom:.5em}.edit-item.noborder span{position:absolute;display:grid;grid-template-columns:repeat(2,1fr);gap:1em;bottom:0;right:0}.edit-item.noborder{& label{background:0 0}background:0 0;border:0}.edit-item button{background:var(--accent);color:var(--bg);padding:8px;border-radius:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:400;margin-top:1em;font-size:1em;height:2lh;white-space:nowrap;outline:none;cursor:pointer;pointer-events:all;&:hover{background-color:var(--dark-accent)}}button:disabled{cursor:default;opacity:.5;pointer-events:none}.delIcon svg{color:crimson;padding-right:.5em;vertical-align:middle;width:1.5em;height:1.5em;cursor:pointer}svg.icon{color:var(--accent);padding-left:0;vertical-align:middle;width:2em;height:2em;cursor:pointer}.edit-item textarea{field-sizing:content;min-height:3rem;max-height:12rem;height:auto;resize:vertical;overflow-y:hidden}.edit-item input,.edit-item textarea,.edit-item select{width:100%;font-size:1em;background:var(--ui-bg);border:1px solid rgba(255,255,255,.1);color:var(--fg);padding:8px 10px;border-radius:4px;outline:none}#topbar{position:fixed;top:0;left:0;right:0;height:2lh;display:flex;justify-content:space-between;padding:0 12px;top:env(safe-area-inset-top);z-index:50;background:linear-gradient( to bottom,rgba(10,10,10,.85) 0%,rgba(10,10,10,.4) 70%,transparent 100% );z-index:121;transition:opacity .4s}#btn-albums{background:0 0;border:none;color:var(--fg);cursor:pointer;padding:8px;font-size:1em;transition:background .2s,color .2s;display:flex;align-items:center;gap:6px;letter-spacing:.12em;text-transform:uppercase;opacity:.6}#btn-albums:hover{opacity:.9;background:rgba(255,255,255,8%)}#photo-title{opacity:1;letter-spacing:.06em;flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;mix-blend-mode:difference}.photo-title.sub{color:var(--muted-more);font-size:.9em}div.xtraheader{padding:5px;display:flex;flex-direction:column;justify-content:start;align-items:center;letter-spacing:.15em;color:var(--muted);text-align:center}#controls{z-index:21;position:fixed;bottom:0;left:0;right:0;height:clamp(1rem,4svh,4rem);bottom:env(safe-area-inset-bottom);padding-bottom:.5em;display:flex;align-items:center;justify-content:center;gap:2rem;z-index:50;color:var(--muted);transition:opacity .4s}body.fullscreen #controls{background:linear-gradient( to top,rgba(10,10,10,.75) 0%,transparent 100% )}.ctrl-btn{background:rgba(10,10,10,0);color:var(--muted);cursor:pointer;height:clamp(1.5rem,3svh,2rem);width:auto;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,transform .15s}@media(hover:hover) and (pointer:fine){.ctrl-btn:hover{transform:scale(1.2);fill:var(--fg)}}.ctrl-btn.active{background:rgba(200,169,126,.25);color:var(--accent)}svg.ctrl-btn{padding-bottom:3px;width:32px;height:32px;fill:var(--muted)}body.fullscreen #topbar{opacity:0}body.fullscreen #controls{opacity:0}body.fullscreen:hover #topbar,body.fullscreen:hover #controls{opacity:.7}#backdrop{position:fixed;inset:0;z-index:99;background:rgba(10,10,10,.5);opacity:0;pointer-events:none;transition:opacity .3s;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}#backdrop.visible{opacity:1;pointer-events:none}#slideshow-bar{position:fixed;bottom:0;left:0;right:0;height:1px;background:0 0;z-index:200}#slideshow-bar .fill{height:100%;background:var(--accent);width:0;transition:none}#slideshow-bar.animating .fill{transition:width linear}.menu-container{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:100%;left:0;background:#333;color:var(--fg);box-shadow:0 4px 6px rgba(0,0,0,.1);border-radius:7px;corner-shape:squircle;font-size:.8rem;z-index:100;border:1px solid var(--accent);min-width:200px;display:none}.dropdown-menu.show{display:block}.menu-item{display:block;padding:12px 16px;cursor:pointer}.menu-item:hover{background-color:#a0a0a0}dialog{border:none}dialog>h3{font-size:1.2em;font-weight:400;margin-bottom:1em}#error-panel{inset:0;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:301;background:var(--bg);padding:2em;text-align:center;border:2px solid var(--fg);border-radius:9px;margin:auto;color:var(--fg)}#error-panel.visible{display:flex}#error-panel p{line-height:1.6}@media(orientation:portrait) and (max-width:550px){body{font-size:.75rem}.info-panel{grid-template-columns:1fr}#photo-info-panel{gap:.3rem}.photo-info-panel{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem .2rem;padding:.2rem}#btn-next,#btn-prev{display:none}#topbar{flex-direction:column;justify-content:flex-start;text-align:center;z-index:21;width:100%}.collection-meta{flex-direction:column;gap:5px}}@media(orientation:landscape) and (max-height:550px){body{font-size:.75rem}#btn-next,#btn-prev{display:none}.photo-info-panel{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;padding:.5rem}#topbar{position:fixed;left:0;top:0;bottom:0;width:30%;flex-direction:column;justify-content:flex-start;padding:10px;background:linear-gradient( to bottom,rgba(10,10,10,.85) 0%,transparent 100% );font-size:.7em;align-items:center}#topbar>*{flex-direction:column;align-items:center;text-align:center;width:100%}#photo-title{writing-mode:vertical-rl;transform:rotate(180deg);height:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:10px 0}#stage-viewer{position:fixed;left:30%;top:0;right:0;bottom:0;background:var(--bg)}#controls{position:fixed;left:0;bottom:0;width:30%;height:auto;display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1.5em;padding-bottom:.5em}}