.fan-page{--fan-paper:#f0ece3;--fan-red:#a53225;--fan-brown:#2c2018;color:var(--fan-paper);background:#110f0c;padding-bottom:65px}.fan-shell{width:min(1240px,calc(100% - 64px));margin:auto}.fan-hero{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center;padding:70px 0 55px}.fan-kicker{font:700 12px/1.5 Arial,sans-serif;letter-spacing:2.4px;text-transform:uppercase;color:#c6ae84!important;margin:0 0 18px}.fan-hero h1{font:normal clamp(44px,5vw,76px)/.98 Impact,'Arial Narrow',sans-serif!important;letter-spacing:.3px;text-transform:uppercase;margin:0 0 24px;color:var(--fan-paper)}.fan-hero h1 em{font-style:normal;color:#d45843}.fan-intro{font:18px/1.75 Arial,sans-serif!important;color:#cfc4b0!important;max-width:470px;margin-bottom:24px}.fan-hero-link{display:inline-block;border-bottom:1px solid #a94130;padding:8px 0;color:var(--fan-paper)}.fan-hero-photos{height:380px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px}.fan-hero-photos img{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:8px}.fan-hero-photos img:first-child{grid-row:1/3}.fan-gallery-section{border-top:1px solid #54402b;padding-top:36px}.fan-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.fan-gallery-heading h2{font:normal 36px/1.2 Impact,'Arial Narrow',sans-serif!important;margin:0 0 8px}.fan-gallery-heading p{margin:0;color:#b8aa92;font-size:15px}.fan-filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}.fan-filters button{border:1px solid #67503a;background:transparent;color:#d8cbb4;border-radius:4px;padding:9px 15px;cursor:pointer;font:15px Arial}.fan-filters button[aria-pressed=true]{background:#813226;border-color:#ad5542;color:#fff0d4}.fan-filters button:hover{border-color:#c8916d}.fan-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.fan-photo{border:0;background:transparent;color:inherit;padding:0;text-align:left;cursor:pointer;min-width:0}.fan-photo img{width:100%;height:134px;object-fit:cover;object-position:center top;border-radius:7px;border:1px solid #58402b;transition:filter .2s}.fan-photo:hover img{filter:brightness(1.13)}.fan-photo span{font:12px/1.4 Arial;color:#b9aa8e;display:block;padding:7px 1px 2px}.fan-photo[hidden]{display:none}.fan-footnote{font-size:14px!important;line-height:1.6;color:#aa9c87!important;margin:28px 0 0}.fan-dialog{width:min(1100px,94vw);max-height:94vh;background:#17130f;color:#f0ece3;border:1px solid #806247;border-radius:10px;padding:18px}.fan-dialog::backdrop{background:#000d}.fan-dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font:14px Arial}.fan-dialog button{background:#2a2119;border:1px solid #8a694b;color:#f1e5cd;padding:10px 15px;cursor:pointer;border-radius:4px}.fan-dialog figure{margin:0}.fan-dialog figure img{display:block;width:100%;height:66vh;object-fit:contain}.fan-dialog figcaption{font:15px/1.5 Arial;text-align:center;padding:12px 0}.fan-dialog-controls{display:flex;justify-content:space-between;gap:15px}.fan-page :focus-visible,.fan-dialog :focus-visible{outline:3px solid #e2b471;outline-offset:4px}.fan-standalone{margin:0;background:#110f0c;color:#f0ece3;font-family:Arial,sans-serif}.fan-local-nav{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid #54402b}.fan-local-nav img{width:75px;height:75px;object-fit:contain}.fan-local-nav a{color:#f0ece3;text-decoration:none}.fan-local-footer{border-top:1px solid #54402b;padding:30px;text-align:center;color:#b8aa92;font-size:14px}@media(max-width:900px){.fan-hero{gap:30px}.fan-hero-photos{height:320px}.fan-shell{width:calc(100% - 40px)}}@media(max-width:600px){.fan-hero{grid-template-columns:1fr;padding:38px 0 30px;gap:24px}.fan-hero h1{font-size:49px!important}.fan-hero-photos{height:230px}.fan-hero-photos img:first-child{object-position:center}.fan-intro{font-size:16px!important;margin-bottom:12px}.fan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.fan-photo img{height:125px}.fan-gallery-heading{display:block}.fan-gallery-heading h2{font-size:30px!important}.fan-filters{gap:7px}.fan-filters button{padding:9px 11px;font-size:14px}.fan-dialog figure img{height:58vh}.fan-local-nav{padding:12px 20px}}



@media(min-width:601px) and (max-width:1000px){.fan-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}



/* People gallery: clean, border-free photographs and controls. */

.fan-photo img,.fan-dialog,.fan-dialog button,.fan-gallery-section,.fan-local-nav,.fan-local-footer{border:0;box-shadow:none}.fan-hero h1 em{color:#c7b9a8}



.fan-hero-photos img{object-position:center top}



/* Use the supplied transparent Barn logo only on photos missing a Barn mark. */

.fan-photo .fan-image-wrap{position:relative;display:block;padding:0;line-height:0}

.fan-photo .fan-thumbnail{display:block}

.fan-photo .fan-watermark{position:absolute;right:7px;bottom:7px;width:24%;max-width:52px;height:auto;aspect-ratio:1;object-fit:contain;border:0;border-radius:0;pointer-events:none;filter:drop-shadow(0 1px 2px #0008)}

.fan-photo .logo-left .fan-watermark{right:auto;left:7px}

.fan-dialog .fan-viewer-image{position:relative;width:fit-content;max-width:100%;margin:auto}

.fan-dialog figure .fan-full-image{display:block;width:auto;height:auto;max-width:100%;max-height:66vh;object-fit:contain}

.fan-dialog figure .fan-viewer-watermark{position:absolute;right:2%;bottom:2%;width:17%;max-width:120px;height:auto;object-fit:contain;pointer-events:none;filter:drop-shadow(0 1px 2px #0008)}

.fan-dialog figure .fan-viewer-watermark.logo-left{right:auto;left:2%}

.fan-dialog figure .fan-viewer-watermark[hidden]{display:none}

@media(max-width:600px){.fan-dialog figure .fan-full-image{max-height:58vh}}


/* Preserve each guest photo's full frame instead of cropping portrait photos. */
html body #main .fan-grid{display:block;columns:6;column-gap:16px}
html body #main .fan-grid .fan-photo{display:block;width:100%;break-inside:avoid;page-break-inside:avoid;margin:0 0 16px}
html body #main .fan-grid .fan-photo .fan-thumbnail{display:block;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain;object-position:center;border-radius:7px}
@media(min-width:601px) and (max-width:1000px){html body #main .fan-grid{columns:4}}
@media(max-width:600px){html body #main .fan-grid{columns:2;column-gap:12px}html body #main .fan-grid .fan-photo{margin-bottom:12px}}

/* Month and event browsing. Guest photographs keep the full-frame rules above. */
.fan-browser{padding-top:32px}
.fan-browser .fan-gallery-heading{align-items:center;margin-bottom:22px}
.fan-browser .fan-lookup{display:flex;flex-wrap:wrap;align-items:center;gap:12px;max-width:830px;margin:0 0 8px;padding:22px;background:#5a171c;border-radius:10px}
.fan-browser .fan-lookup label{flex:1 0 100%;margin:0;color:#f0ece3!important;font:700 16px/1.5 Arial,sans-serif}
.fan-browser .fan-lookup-fields{display:flex;flex-wrap:wrap;align-items:center;gap:12px;flex:1 0 100%;min-width:0}
.fan-browser .fan-lookup input[type=search]{flex:1 1 250px;width:auto;min-width:0;min-height:48px;padding:11px 14px;margin:0;border:1px solid #c7b9a8!important;border-radius:5px;background:#f0ece3!important;color:#211b19!important;font:400 16px/1.5 Arial,sans-serif!important;letter-spacing:.04em}
.fan-browser .fan-lookup input::placeholder{color:#685b55!important;opacity:1}
.fan-browser .fan-lookup input[aria-invalid=true]{border:2px solid #f6c38d!important}
.fan-browser .fan-lookup button,.fan-browser #fan-load-more{min-height:48px;padding:11px 18px!important;border:1px solid #bd695e!important;border-radius:5px;background:#9c3028!important;color:#fff8ef!important;font:700 15px/1.5 Arial,sans-serif;cursor:pointer}
.fan-browser .fan-lookup #fan-search-reset{background:transparent!important;border-color:#c7b9a8!important}
.fan-browser .fan-lookup-hint{flex:1 0 100%;color:#e3d4c7!important;font:14px/1.6 Arial,sans-serif!important;margin:0}
.fan-browser #fan-search-status{min-height:24px;max-width:830px;margin:8px 0 24px;color:#f0ece3!important;font:15px/1.6 Arial,sans-serif;overflow-wrap:anywhere}
.fan-browser .fan-album-tools{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:14px;margin:0 0 18px}
.fan-browser .fan-date-filters{display:flex;flex-wrap:wrap;gap:14px;max-width:100%}
.fan-browser .fan-album-tools label{display:flex;flex-direction:column;gap:6px;margin:0;color:#f0ece3!important;font:700 15px/1.5 Arial,sans-serif}
.fan-browser #fan-month,.fan-browser #fan-year{min-height:46px;min-width:230px;max-width:100%;padding:9px 36px 9px 12px;border:1px solid #a78d7a!important;border-radius:5px;background:#211b19!important;color:#f0ece3!important;font:400 16px/1.5 Arial,sans-serif!important}
.fan-browser #fan-month:disabled{opacity:.6}
@media(max-width:600px){.fan-browser .fan-date-filters{width:100%}.fan-browser .fan-album-tools .fan-date-filters label{flex:1 1 130px;min-width:0}.fan-browser #fan-month,.fan-browser #fan-year{width:100%;min-width:0}}
.fan-browser #fan-album-count,.fan-browser #fan-photo-count{color:#c7b9a8!important;font:14px/1.5 Arial,sans-serif;margin:0}
.fan-browser .fan-albums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:32px}
html body #main .fan-browser .fan-album{display:flex;flex-direction:column;gap:5px;min-width:0;overflow:hidden;padding:0 0 14px;text-align:left;border:1px solid #6b3937!important;border-radius:8px;background:#2b2020!important;color:#f0ece3!important;cursor:pointer}
html body #main .fan-browser .fan-album[aria-pressed=true]{border:2px solid #d3b183!important;background:#5a171c!important;padding-bottom:13px}
.fan-browser .fan-album img{display:block;width:100%;height:140px;object-fit:contain;background:#151212;margin-bottom:8px}
.fan-browser .fan-album span,.fan-browser .fan-album strong,.fan-browser .fan-album small{display:block;max-width:100%;margin:0;padding:0 13px;white-space:normal;overflow-wrap:anywhere;font:14px/1.5 Arial,sans-serif}
.fan-browser .fan-album strong,.fan-browser .fan-album .fan-album-title{font-weight:700;font-size:16px}
.fan-browser .fan-album small,.fan-browser .fan-album .fan-album-date,.fan-browser .fan-album .fan-album-count{color:#d6c5b3!important;font-size:13px}
.fan-browser .fan-album .fan-album-info{padding:0 13px}
.fan-browser .fan-album .fan-album-info>strong,.fan-browser .fan-album .fan-album-info>span{padding:0}
.fan-browser .fan-album .fan-album-total{color:#d6c5b3!important;font-size:13px}
.fan-browser .fan-selected-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}
.fan-browser .fan-selected-heading #fan-photo-count{margin-bottom:8px}
.fan-browser .fan-album:hover img{filter:brightness(1.12)}
.fan-browser .fan-selected-gallery{padding-top:25px;border-top:1px solid #5f3833;scroll-margin-top:130px}
.fan-browser #fan-selected-title{margin:0 0 6px;font:normal 29px/1.2 Impact,'Arial Narrow',sans-serif!important;color:#f0ece3!important;overflow-wrap:anywhere}
.fan-browser #fan-selected-date{margin:0 0 8px;font:15px/1.6 Arial,sans-serif;color:#d6c5b3!important}
.fan-browser #fan-photo-count{margin-bottom:20px}
.fan-browser .fan-photo .fan-number{padding:7px 1px 4px;color:#e3d4c7!important;font:12px/1.6 Arial,sans-serif;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;letter-spacing:.02em}
.fan-browser #fan-load-more{display:block;margin:15px auto 0}
.fan-browser #fan-gallery-empty{padding:22px;background:#382221;border-radius:6px;color:#f0ece3!important;font:16px/1.6 Arial,sans-serif}
.fan-browser [hidden]{display:none!important}
.fan-dialog .fan-photo-reference{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:10px 0 4px;font:14px/1.6 Arial,sans-serif;color:#f0ece3!important}
.fan-dialog #fan-view-number{font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.04em;overflow-wrap:anywhere;user-select:all}
.fan-dialog .fan-photo-reference button{min-height:44px;padding:9px 13px;border:1px solid #8b6257!important;background:#5a171c!important;color:#fff8ef!important;font:700 14px/1.5 Arial,sans-serif}
.fan-dialog .fan-copy-status{max-width:760px;margin:7px auto 14px;min-height:20px;color:#e3d4c7!important;text-align:center;font:14px/1.5 Arial,sans-serif;overflow-wrap:anywhere}
.fan-dialog .fan-dialog-controls button{min-height:44px}
.fan-dialog .fan-dialog-controls button:disabled{opacity:.5;cursor:default}
.fan-browser :focus-visible,.fan-dialog :focus-visible{outline:3px solid #e2b471!important;outline-offset:4px!important}
@media(max-width:1000px){.fan-browser .fan-albums{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.fan-browser .fan-lookup{padding:18px;gap:10px}.fan-browser .fan-lookup input[type=search]{flex-basis:100%;width:100%}.fan-browser .fan-lookup button{flex:1 1 auto}.fan-browser .fan-albums{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fan-browser .fan-album img{height:115px}.fan-browser .fan-album span,.fan-browser .fan-album strong,.fan-browser .fan-album small{padding-inline:10px}.fan-browser .fan-album strong,.fan-browser .fan-album .fan-album-title{font-size:15px}.fan-browser #fan-month{width:100%;min-width:0}.fan-browser .fan-album-tools label{flex:1 1 210px}.fan-browser .fan-selected-gallery{scroll-margin-top:110px}.fan-dialog .fan-photo-reference{gap:8px}.fan-dialog .fan-photo-reference button{flex:1 1 auto}.fan-dialog .fan-photo-reference>span,.fan-dialog .fan-photo-reference>p{flex-basis:100%;text-align:center}.fan-dialog #fan-view-number{font-size:15px}}
@media(max-width:600px){.fan-browser .fan-selected-heading{display:block}.fan-browser .fan-album .fan-album-info{padding-inline:10px}}

/* The Fans landing page links to separate event galleries, one cover each. */
.fan-browser[data-view=index] a.fan-album{text-decoration:none;transition:background-color .15s,border-color .15s}
.fan-browser[data-view=index] a.fan-album img{height:auto;aspect-ratio:3/2;object-fit:contain}
html body #main .fan-browser[data-view=index] a.fan-album:hover{border-color:#d3b183!important;background:#5a171c!important}
.fan-browser[data-view=index] a.fan-album:hover .fan-album-title,.fan-browser[data-view=index] a.fan-album:hover strong{text-decoration:underline;text-underline-offset:3px}
.fan-browser[data-view=gallery]{padding-top:34px}
.fan-browser[data-view=gallery] .fan-back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:16px;color:#f0ece3!important;font:700 15px/1.5 Arial,sans-serif;text-decoration:underline;text-underline-offset:4px}
.fan-browser[data-view=gallery] .fan-selected-gallery{margin-top:24px;padding-top:24px}
.fan-browser[data-view=gallery] #fan-selected-title{font-size:clamp(32px,4vw,50px)!important;line-height:1.08!important;max-width:900px}
.fan-browser[data-view=gallery] .fan-selected-heading{align-items:center}
@media(max-width:600px){.fan-browser[data-view=gallery]{padding-top:20px}.fan-browser[data-view=gallery] .fan-selected-gallery{margin-top:18px;padding-top:20px}.fan-browser[data-view=gallery] .fan-selected-heading{margin-bottom:16px}.fan-browser[data-view=index] a.fan-album img{height:auto;aspect-ratio:1/1}}

/* One shared Barn logo marks every fan photo without a second photo file. */
.fan-hero-photos>.fan-hero-image{position:relative;display:block;min-width:0;min-height:0;overflow:hidden;border-radius:8px;background:#171312}
.fan-hero-photos>.fan-hero-image:first-child{grid-row:1/3}
.fan-hero-photos .fan-hero-photo{display:block;width:100%;height:100%;min-height:0;object-fit:contain;grid-row:auto}
.fan-hero-photos .fan-watermark{position:absolute;right:7px;bottom:7px;display:block;width:22%!important;max-width:65px;height:auto!important;aspect-ratio:1!important;object-fit:contain;border-radius:0;grid-row:auto!important;pointer-events:none;filter:drop-shadow(0 1px 2px #0008)}
.fan-browser .fan-album .fan-cover-image{position:relative;display:block;width:100%;padding:0;margin:0;line-height:0}
.fan-browser .fan-album .fan-cover-image>.fan-cover-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;margin:0}
.fan-browser .fan-album .fan-cover-image>.fan-cover-watermark{position:absolute;right:7px;bottom:7px;display:block;width:22%!important;max-width:58px;height:auto!important;min-height:0;aspect-ratio:1!important;object-fit:contain;margin:0;padding:0;border:0;border-radius:0;background:none;pointer-events:none;filter:drop-shadow(0 1px 2px #0008)}
@media(max-width:600px){.fan-browser .fan-album .fan-cover-image>.fan-cover-photo{aspect-ratio:1/1}}

/* Landscape covers retain the full photograph. Marks follow the visible photo,
   including the portrait fallback, instead of sitting in a letterbox gutter. */
.fan-browser .fan-album .fan-cover-image{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;overflow:hidden;background:#151212}
.fan-browser .fan-album .fan-cover-photo-frame{position:relative;display:block;flex:none;min-width:0;margin:0;padding:0;line-height:0}
.fan-browser .fan-album .fan-cover-photo-frame>.fan-cover-photo{display:block;width:100%;max-width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain;margin:0;padding:0}
.fan-browser .fan-album .fan-cover-photo-frame>.fan-cover-watermark{position:absolute;right:2%;bottom:2%;display:block;width:8%!important;max-width:none;height:auto!important;min-height:0;aspect-ratio:1!important;object-fit:contain;margin:0;padding:0;border:0;border-radius:0;background:none;pointer-events:none;filter:drop-shadow(0 1px 2px #0008)}
.fan-photo .fan-watermark{right:2%;bottom:2%;width:8%!important;max-width:none;height:auto;aspect-ratio:1;margin:0;padding:0}
.fan-photo .logo-left .fan-watermark{right:auto;left:2%}
.fan-dialog figure .fan-viewer-watermark{right:2%;bottom:2%;width:8%;max-width:none;height:auto;aspect-ratio:1}
.fan-dialog figure .fan-viewer-watermark.logo-left{right:auto;left:2%}
