/* Cache Generated at 2026-07-21 02:17:03 | Post: 208 | Template: .twig, page.twig, default.twig */
 .gallery-wall { position: relative; overflow: hidden; background: var(--color-secondary); color: #f4f1e8; padding-bottom: clamp(2.6rem, 5vw, 4.6rem); } .gallery-wall__wood { height: clamp(34px, 2.8vw, 48px); background: url('https://www.mifflinchapter.com/wp-content/themes/university-partners-2026/assets/images/mifflin/wood.webp') center / cover; box-shadow: 0 10px 16px -10px rgba(30, 34, 18, .5); } .gallery-wall__head { position: relative; z-index: 2; padding-inline: var(--x-gap); padding-top: clamp(2rem, 4vw, 3.4rem); } /* tabs + masonry share the head's centered container + inline inset so the whole section's content aligns to one max-width and edges; the wrapper owns the horizontal inset, inner elements don't add it again */ .gallery-wall__content { padding-inline: var(--x-gap); } .gallery-wall__title { font-family: var(--font-family-secondary); font-weight: 700; color: #fff; font-size: clamp(1.9rem, 3.4vw, 2.9rem); line-height: 1.05; margin: 0; } .gallery-wall__sub { font-family: var(--font-family-secondary); color: #e7e3d3; font-size: clamp(1.2rem, 1.8vw, 1.6rem); line-height: 1.2; margin: .45rem 0 0; } .gallery-wall__intro { color: #ede9dc; max-width: 62ch; margin: .8rem 0 0; line-height: 1.7; } /* filter tabs — override the component base .btn .btn-primary to match the section's translucent-on-olive → brick-when-active pills */ .gallery-wall .tabs__list { position: relative; z-index: 2; margin-top: 1.7rem; margin-bottom: 0; gap: .6rem; } .gallery-wall .tabs__btn { font-family: var(--font-family-primary); font-weight: 600; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: #f4f1e8; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .28); padding: .5em 1.1em; border-radius: 999px; cursor: pointer; transition: background .2s ease, border-color .2s ease; } .gallery-wall .tabs__btn:hover { background: rgba(255, 255, 255, .18); } .gallery-wall .tabs__btn.active { background: var(--color-primary); border-color: var(--color-primary); color: #fff; } /* masonry via CSS columns — the photoswipe component renders a .photoswipe-container where the masonry div used to live, so the column layout lives on the container and each .photoswipe-item is the (unbreakable) column item wrapping a framed tile */ .gallery-wall .photoswipe-container { position: relative; z-index: 1; padding-top: clamp(1.8rem, 3.5vw, 2.8rem); column-count: 2; column-gap: clamp(14px, 1.6vw, 24px); } @media (min-width: 680px) { .gallery-wall .photoswipe-container { column-count: 3; } } .gallery-wall .photoswipe-item { display: block; break-inside: avoid; -webkit-column-break-inside: avoid; margin-bottom: clamp(14px, 1.6vw, 24px); } /* framed card-holder (frame recipe from the homepage gallery tile) */ .gallery-wall__tile { display: block; width: 100%; margin: 0; break-inside: avoid; -webkit-column-break-inside: avoid; border-radius: 24px; padding: clamp(7px, 0.8vw, 13px); background: linear-gradient(155deg, #aab686 0%, #909c65 45%, #7d8956 100%); box-shadow: inset 0 2px 1px rgba(255, 255, 255, .6), inset 0 -3px 4px rgba(58, 64, 36, .4), 0 14px 22px -10px rgba(28, 32, 16, .55); } .gallery-wall__tile-inner { position: relative; border-radius: 16px; overflow: hidden; aspect-ratio: 6 / 7; box-shadow: inset 0 0 0 1.5px rgba(26, 28, 16, .6); } .gallery-wall__tile--r23 .gallery-wall__tile-inner { aspect-ratio: 2 / 3; } .gallery-wall__tile--r34 .gallery-wall__tile-inner { aspect-ratio: 3 / 4; } .gallery-wall__tile--r45 .gallery-wall__tile-inner { aspect-ratio: 4 / 5; } .gallery-wall__tile--sq .gallery-wall__tile-inner { aspect-ratio: 1 / 1; } .gallery-wall__tile--r57 .gallery-wall__tile-inner { aspect-ratio: 5 / 7; } .gallery-wall__tile--r43 .gallery-wall__tile-inner { aspect-ratio: 4 / 3; } .gallery-wall__tile--r32 .gallery-wall__tile-inner { aspect-ratio: 3 / 2; } .gallery-wall__tile--pano .gallery-wall__tile-inner { aspect-ratio: 16 / 10; } .gallery-wall__tile-img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; border: 1px solid color-mix(in srgb, var(--color-secondary) 80%, #000 20%); transition: transform .6s ease; } .gallery-wall__tile:hover .gallery-wall__tile-img, .gallery-wall__tile:focus-within .gallery-wall__tile-img { transform: scale(1.05); }  .pswp{--pswp-bg:#000;--pswp-placeholder-bg:#222;--pswp-root-z-index:100000;--pswp-preloader-color:rgba(79, 79, 79, 0.4);--pswp-preloader-color-secondary:rgba(255, 255, 255, 0.9);--pswp-icon-color:#fff;--pswp-icon-color-secondary:#4f4f4f;--pswp-icon-stroke-color:#4f4f4f;--pswp-icon-stroke-width:2px;--pswp-error-text-color:var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:transparent}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__bg,.pswp__container,.pswp__content,.pswp__img,.pswp__item,.pswp__scroll-wrap,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:-webkit-zoom-out;cursor:-moz-zoom-out;cursor:zoom-out}.pswp__button,.pswp__container,.pswp__counter,.pswp__img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:0 0;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:active,.pswp__button:focus,.pswp__button:hover{transition:none;padding:0;background:0 0;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}.pswp__img--with-bg,div.pswp__img--placeholder{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;top:0;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:0 0;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scale(-1,1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}  /* Default colourway: white band, brick lettering, hairline base. */ .ribbon-marquee { background: #fff; border-bottom: 1px solid var(--color-line, #dcd6cc); padding: clamp(1.6rem, 3.5vw, 2.8rem) 0; overflow: hidden; } .ribbon-marquee__svg { display: block; width: 100%; height: auto; overflow: visible; } .ribbon-marquee__text { font-family: var(--font-family-secondary); font-weight: 700; font-size: 46px; letter-spacing: .14em; text-transform: uppercase; fill: var(--color-primary); } /* When the ribbon directly trails a gallery section, invert to the olive band. */ .gallery-section + .ribbon-marquee, .gallery-wall + .ribbon-marquee, .gallery-feature + .ribbon-marquee { background: var(--color-secondary); border-bottom-color: transparent; } .gallery-section + .ribbon-marquee .ribbon-marquee__text, .gallery-wall + .ribbon-marquee .ribbon-marquee__text, .gallery-feature + .ribbon-marquee .ribbon-marquee__text { fill: #fff; }  .footer { background: var(--color-primary-deep); color: #f4ece9; text-align: center; padding-top: clamp(2.4rem, 5vw, 3.4rem); } .footer__brand { line-height: 0; margin-bottom: 1.4rem; } .footer__logo { height: clamp(48px, 4.4vw, 62px); width: auto; display: inline-block; } /* Contact: phone · divider · stacked labeled addresses */ .footer__contact { font-size: .92rem; color: #f0ddd8; margin-bottom: 1.6rem; padding: 0 var(--x-gap); display: flex; flex-direction: column; align-items: center; gap: 1rem; } .footer__phone { font-family: var(--font-family-secondary); font-weight: 700; font-size: clamp(1.45rem, 2.4vw, 1.95rem); line-height: 1; letter-spacing: .01em; color: #fff; } .footer__phone:hover { text-decoration: underline; } .footer__divider { width: 64px; height: 1px; background: rgba(255, 255, 255, .28); } .footer__addresses { display: flex; flex-direction: column; gap: .35rem; text-align: center; } .footer__addr { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; align-items: center; gap: .5rem; } .footer__addr-label { font-family: var(--font-family-primary); font-weight: 700; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--color-accent-light); } @media (min-width: 680px) { .footer__contact { flex-direction: row; align-items: center; justify-content: center; gap: 0; } .footer__divider { width: 1px; height: 50px; margin: 0 1.5rem; } .footer__addresses { text-align: left; } .footer__addr { flex-direction: row; justify-content: flex-start; } } /* Social icons restyled for the dark footer (outlined circles) */ .footer__socials { justify-content: center; margin-bottom: 2.2rem; } .footer__socials .sns__link { background: #fff; border: 1.5px solid rgba(255, 255, 255, .6); padding: .6rem; } .footer__socials .sns__link::before { background: var(--color-primary-deep); } .footer__socials .sns__link:hover, .footer__socials .sns__link:focus-visible { background: transparent; } .footer__socials .sns__link:hover::before, .footer__socials .sns__link:focus-visible::before { background: #fff; } /* Bottom bar: policies · footer nav · partner logo */ .footer__bar { border-top: 1px solid rgba(255, 255, 255, .18); padding: 1.2rem var(--x-gap); display: grid; grid-template-columns: 1fr; gap: 1rem; align-items: center; justify-items: center; } .footer__policies-menu { display: flex; gap: .5rem; justify-content: center; } .footer__policies-menu .menu__item { display: inline-block; } .footer__policies-menu .menu__item:not(:last-child)::after { content: '|'; font-size: .7em; color: rgba(255, 255, 255, .18); margin-left: .25rem; } .footer__policies-menu .menu__link { font-family: var(--font-family-primary); font-size: 9px; letter-spacing: .05em; text-transform: uppercase; color: #f4ece9; } .footer__nav { display: flex; flex-wrap: wrap; gap: .9rem 1.4rem; justify-content: center; } .footer__nav .menu__link { font-family: var(--font-family-primary); font-size: .7rem; letter-spacing: .13em; text-transform: uppercase; font-weight: 600; color: #f4ece9; } /* current page: coral accent + underline against the brick footer */ .footer__nav .menu__item--current .menu__link { color: var(--color-accent, #e9bcb0); text-decoration: underline; text-underline-offset: 4px; } .footer__partner { display: flex; align-items: center; } .footer__partner img { width: 90px; height: auto; display: block; } @media (min-width: 980px) { .footer__bar { grid-template-columns: 1fr auto 1fr; } .footer__policies-menu { justify-self: start; } .footer__nav { justify-self: center; } .footer__partner { justify-self: end; grid-column: 3; } } 