/* patflanpics.com: layout and type measured from the original site (Oct 2026). */

:root {
  --font: "Site Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --page-pad: 4vw;
  --max-page: 1800px;
  --black: #000;
  --white: #fff;
  --accent: hsl(42.857, 3.867%, 64.51%);
  --header-height: calc(141px + 4.4vw);
  --sqs-site-gutter: 4vw; --sqs-mobile-site-gutter: 6vw; --sqs-site-max-width: 1800px;
  --h1: 4; --h2: 2.8; --h3: 2.2; --h4: 1.2; --large: 1.5; --small: .9;
}
@media (max-width: 799px), (pointer: coarse) and (max-width: 1024px) {
  :root { --header-height: calc(37px + 12vw); }
}

html { font-size: 14px; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
html, body { overflow-x: clip; }
body { display: flex; flex-direction: column; min-height: 100vh; margin: 0; word-spacing: var(--word-spacing, 0); font-family: var(--font); font-size: 14px; line-height: 1.8; color: var(--black); background: var(--white); }
a { color: inherit; }
img { border: 0; }
figure { margin: 0; }
button { font: inherit; color: inherit; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ------------------------------------------------------------ type */
h1, h2, h3, h4 { font-family: var(--font); font-weight: 700; font-style: normal; letter-spacing: 0; text-transform: none; }
h1 { line-height: calc(1.4em * (1 + (1 - var(--h1)) / 25)); margin: 2rem 0; }
h2 { line-height: calc(1.4em * (1 + (1 - var(--h2)) / 25)); margin: 2rem 0; }
h3 { line-height: calc(1.4em * (1 + (1 - var(--h3)) / 25)); margin: 2rem 0; }
h4 { line-height: calc(1.4em * (1 + (1 - var(--h4)) / 25)); margin: 2rem 0; }
p, .sqsrte-large, .sqsrte-small { margin: 1rem 0; line-height: 1.8; }

@media (min-width: 768px), (orientation: landscape) {
  h1 { font-size: min(calc((var(--h1) - 1) * 1.2vw + 1rem), max(calc((var(--h1) - 1) * .012 * var(--max-page) + 1rem), calc(var(--h1) * 1rem))); }
  h2 { font-size: min(calc((var(--h2) - 1) * 1.2vw + 1rem), max(calc((var(--h2) - 1) * .012 * var(--max-page) + 1rem), calc(var(--h2) * 1rem))); }
  h3 { font-size: min(calc((var(--h3) - 1) * 1.2vw + 1rem), max(calc((var(--h3) - 1) * .012 * var(--max-page) + 1rem), calc(var(--h3) * 1rem))); }
  h4 { font-size: min(calc((var(--h4) - 1) * 1.2vw + 1rem), max(calc((var(--h4) - 1) * .012 * var(--max-page) + 1rem), calc(var(--h4) * 1rem))); }
  p { font-size: 1rem; }
  .sqsrte-large { font-size: min(calc((var(--large) - 1) * 1.2vw + 1rem), max(calc((var(--large) - 1) * .012 * var(--max-page) + 1rem), calc(var(--large) * 1rem))); }
  .sqsrte-small { font-size: min(calc((var(--small) - 1) * 1.2vw + 1rem), max(calc((var(--small) - 1) * .012 * var(--max-page) + 1rem), calc(var(--small) * 1rem))); }
}
@media (max-width: 767px) and (orientation: portrait) {
  h1 { font-size: calc((var(--h1) - 1) * .012 * min(100vh, 900px) + 1rem); }
  h2 { font-size: calc((var(--h2) - 1) * .012 * min(100vh, 900px) + 1rem); }
  h3 { font-size: calc((var(--h3) - 1) * .012 * min(100vh, 900px) + 1rem); }
  h4 { font-size: calc((var(--h4) - 1) * .012 * min(100vh, 900px) + 1rem); }
  p { font-size: 1rem; }
  .sqsrte-large { font-size: calc((var(--large) - 1) * .012 * min(100vh, 900px) + 1rem); }
  .sqsrte-small { font-size: calc((var(--small) - 1) * .012 * min(100vh, 900px) + 1rem); }
}
.sqs-html-content [data-rte-preserve-empty]:empty::before { content: "\200b"; }
.sqs-html-content > :first-child { margin-top: 0; }
.sqs-html-content > :last-child { margin-bottom: 0; }
.sqs-html-content :not(h1):not(h2):not(h3) { overflow-wrap: break-word; }
.sqs-html-content a { text-decoration: underline; }

/* ------------------------------------------------------------ header */
.header { position: absolute; top: 0; left: 0; right: 0; z-index: 10; line-height: 1; color: var(--black); background: transparent; pointer-events: none; }
.header[data-header-theme="dark"]:not(.header--menu-open) .header-inner { color: var(--white); }
.header-announcement-bar-wrapper { box-sizing: border-box; width: 100%; position: relative; z-index: 2; padding: 2.2vw var(--page-pad); pointer-events: auto; }
.header-skip-link { position: absolute; left: -9999px; }
.header-skip-link:focus { left: 1rem; top: 1rem; padding: .5em 1em; background: var(--white); z-index: 3; }
.header-inner { position: relative; z-index: 1; display: flex; align-items: center; width: 100%; }
.header-display-desktop { box-sizing: border-box; position: relative; display: flex; width: 100%; justify-content: flex-start; align-items: center; }
.header-display-mobile { box-sizing: border-box; display: none; position: relative; width: 100%; justify-content: flex-start; align-items: center; }
.header-title-nav-wrapper { display: flex; flex-wrap: nowrap; flex: 1 0 67%; align-items: center; }
.header-title { flex: 0 0 auto; margin-right: 2.5vw; }
.header-title-logo { line-height: 0; }
.header-title-logo a { display: inline-block; max-width: 100%; max-height: 141px; }
.header-title-logo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 141px; }
.header-nav { flex: 1 1 auto; margin-right: auto; }
.header-nav-list { display: inline-flex; flex-wrap: wrap; }
.header-nav-item { position: relative; font-size: 1rem; font-weight: 400; line-height: 1.8em; white-space: nowrap; }
.header-nav-item:not(:last-child) { margin-right: 1.5vw; }
.header-nav-item > a, .header-nav-folder-title { display: inline-flex; align-items: center; padding: .1em 0; text-decoration: none; color: inherit; }
.header-nav-folder-title { background: none; border: 0; margin: 0; font: inherit; line-height: inherit; cursor: pointer; }
.header-nav-item--active > a, .header-nav-item--active > .header-nav-folder-title { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.header-nav-folder-content { display: none; position: absolute; top: auto; left: -1em; z-index: 10; min-width: 200px; padding: .5em 1em; text-align: left; background: var(--white); }
.header-nav-item--folder:hover .header-nav-folder-content,
.header-nav-item--folder:focus-within .header-nav-folder-content,
.header-nav-item--folder.is-open .header-nav-folder-content { display: block; }
.header-nav-folder-item { line-height: 1.3em; }
.header-nav-folder-item a { display: inline-flex; padding: .1em 0; text-decoration: none; }
.header-nav-folder-item a:hover, .header-nav-folder-item--active a { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
.header[data-header-theme="dark"] .header-nav-folder-content { background: var(--black); }
.header-actions { flex: 0 1 auto; display: inline-flex; align-items: center; justify-content: flex-end; color: inherit; }
.header-actions-action--social { display: flex; }
.icon { position: relative; display: block; line-height: 1; }
.icon svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.header-actions .header-icon { width: 34px; height: 34px; margin-left: 2.5vw; }

.burger { position: relative; display: inline-block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: pointer; }
.header-burger { display: none; align-items: flex-end; justify-content: flex-end; flex: 0 0 50px; width: 50px; }
.header-burger-btn { width: 47px; height: 37px; margin-left: auto; }
.burger-box { position: absolute; top: 0; right: 0; bottom: 0; width: 28px; margin: auto 0; height: 37px; }
.burger-inner { position: relative; width: 100%; height: 100%; }
.burger-inner > div { position: absolute; top: 0; bottom: 0; left: 0; display: block; width: 100%; height: 1px; margin: auto; background: currentColor; transition: transform 250ms cubic-bezier(.2, .6, .3, 1); }
.burger-inner .top-bun { transform: translateY(-5.5px); }
.burger-inner .patty { transform: scale(0); }
.burger-inner .bottom-bun { transform: translateY(5.5px); }
.header--menu-open .burger-inner .top-bun { transform: rotate(45deg); }
.header--menu-open .burger-inner .bottom-bun { transform: rotate(-45deg); }

.header-menu { position: fixed; inset: 0; z-index: 1; display: flex; flex-direction: column; text-align: center; font-size: 1.2em; opacity: 0; visibility: hidden; pointer-events: auto;
  transition: visibility 600ms cubic-bezier(.4, 0, .2, 1), opacity 400ms cubic-bezier(.4, 0, .2, 1); }
.header-menu-bg { position: absolute; inset: 0; background: var(--white); }
.header--menu-open .header-menu { opacity: 1; visibility: visible; }
.header-menu-nav { position: absolute; top: var(--header-height); bottom: 0; left: 0; right: 0; display: flex; flex-direction: column; }
.header-menu-nav-list { position: relative; flex-grow: 1; width: 100%; }
.header-menu-nav-folder { position: absolute; top: 0; left: 0; width: 100%; min-height: 100%; max-height: 100%; display: flex; flex-direction: column; justify-content: flex-start; overflow: hidden auto;
  transform: translateX(100%); transition: transform 600ms cubic-bezier(.4, 0, .2, 1); }
.header-menu-nav-folder[data-folder="root"] { transform: translateX(0); }
.header-menu-nav-folder--open[data-folder="root"] { transform: translateX(-100%); }
.header-menu-nav-folder--active:not([data-folder="root"]) { transform: translateX(0); }
.header-menu-nav-folder-content { display: flex; flex-direction: column; justify-content: center; flex-grow: 1; }
.header-menu-nav-folder[data-folder="root"] .header-menu-nav-folder-content { padding-bottom: 78px; }
.header-menu-nav-item { box-sizing: border-box; position: relative; width: 100%; padding: 0 var(--page-pad); }
.header-menu-nav-item a, .header-menu-controls-control { position: relative; display: inline-flex; align-items: center; margin: 3vw 5vw; font-size: 8.5vmin; line-height: 1; text-decoration: none; color: var(--black); }
.header-menu-nav-item-content { position: relative; display: inline-flex; align-items: center; pointer-events: none; }
.header-menu-controls { display: flex; justify-content: center; }
.header-menu-controls-control { color: var(--accent); }
.chevron { display: inline-block; width: .45em; height: .8em; }
.chevron svg { display: block; width: 100%; height: 100%; stroke-width: 1; overflow: visible; }
.chevron--right { margin-left: .4em; color: var(--accent); }
.chevron--left { margin-right: .4em; }
.header-menu-actions { position: absolute; left: 20px; right: 20px; bottom: 6vw; display: flex; align-items: center; justify-content: center; transition: transform 600ms cubic-bezier(.4, 0, .2, 1); }
.header-menu--folder-open .header-menu-actions { transform: translateY(calc(100% + 6vw)); }
.header-menu-actions .header-icon { width: 25px; height: 25px; }

@media (max-width: 799px), (pointer: coarse) and (max-width: 1024px) {
  .header-announcement-bar-wrapper { padding: 6vw; }
  .header-display-desktop { display: none; }
  .header-display-mobile { display: flex; }
  .header-display-mobile .header-title { flex: 1 1 auto; margin-right: 0; }
  .header-burger { display: flex; }
}
@media (max-width: 767px) {
  .header-title-logo a, .header-title-logo img { max-height: 30px; }
}

/* ------------------------------------------------------------ sections */
#page { position: relative; z-index: 9; flex: 1 0 auto; }
.page-section { box-sizing: border-box; position: relative; display: flex; align-items: center; color: var(--black); }
.page-section > .section-border { position: absolute; inset: 0; background: var(--white); }
.page-section > .content-wrapper { box-sizing: border-box; position: relative; display: flex; width: 100%; max-width: var(--max-page); margin: 0 auto; }
.page-section.full-bleed-section > .content-wrapper { max-width: 100%; }
.page-section.classic-section > .content-wrapper { padding-left: var(--page-pad); padding-right: var(--page-pad); }
@media (max-width: 767px) { .page-section.classic-section > .content-wrapper { padding-left: 6vw; padding-right: 6vw; } }
.page-section.horizontal-alignment--center > .content-wrapper { justify-content: center; }
.page-section .content { width: 100%; }
#page > .page-section:first-child, #page > .region:first-child > .page-section:first-child { padding-top: var(--header-height); }

.page-section.section-height--small:not(.gallery-section) { min-height: 33vh; }
.page-section.section-height--medium:not(.gallery-section) { min-height: 66vh; }
.page-section.section-height--large:not(.gallery-section) { min-height: 100vh; }
.page-section.vertical-alignment--top:not(.gallery-section) { align-items: flex-start; }
.page-section.vertical-alignment--middle:not(.gallery-section) { align-items: center; }
.page-section.vertical-alignment--bottom:not(.gallery-section) { align-items: flex-end; }
.page-section.vertical-alignment--middle.section-height--small:not(.gallery-section) > .content-wrapper { padding-top: 3.3vmax; padding-bottom: 3.3vmax; }
.page-section.vertical-alignment--top.section-height--small:not(.gallery-section) > .content-wrapper { padding-top: var(--page-pad); padding-bottom: 6.6vmax; }
.page-section.vertical-alignment--bottom.section-height--small:not(.gallery-section) > .content-wrapper { padding-top: 6.6vmax; padding-bottom: var(--page-pad); }
.page-section.vertical-alignment--middle.section-height--medium:not(.gallery-section) > .content-wrapper { padding-top: 6.6vmax; padding-bottom: 6.6vmax; }
.page-section.vertical-alignment--top.section-height--medium:not(.gallery-section) > .content-wrapper { padding-top: var(--page-pad); padding-bottom: 13.2vmax; }
.page-section.vertical-alignment--bottom.section-height--medium:not(.gallery-section) > .content-wrapper { padding-top: 13.2vmax; padding-bottom: var(--page-pad); }
.page-section.vertical-alignment--middle.section-height--large:not(.gallery-section) > .content-wrapper { padding-top: 10vmax; padding-bottom: 10vmax; }
.page-section.vertical-alignment--top.section-height--large:not(.gallery-section) > .content-wrapper { padding-top: var(--page-pad); padding-bottom: 20vmax; }
.page-section.vertical-alignment--bottom.section-height--large:not(.gallery-section) > .content-wrapper { padding-top: 20vmax; padding-bottom: var(--page-pad); }
.page-section.section-height--small.section-match-padding-top:not(.gallery-section) > .content-wrapper { padding-top: 1.65vmax; }
.page-section.section-height--small.section-match-padding-bottom:not(.gallery-section) > .content-wrapper { padding-bottom: 1.65vmax; }
.page-section.section-height--medium.section-match-padding-top:not(.gallery-section) > .content-wrapper { padding-top: 3.3vmax; }
.page-section.section-height--medium.section-match-padding-bottom:not(.gallery-section) > .content-wrapper { padding-bottom: 3.3vmax; }
.page-section.section-height--large.section-match-padding-top:not(.gallery-section) > .content-wrapper { padding-top: 5vmax; }
.page-section.section-height--large.section-match-padding-bottom:not(.gallery-section) > .content-wrapper { padding-bottom: 5vmax; }

/* color themes */
.page-section[data-section-theme="black"], .page-section[data-section-theme="dark-bold"] { color: var(--white); }
.page-section[data-section-theme="black"] > .section-border, .page-section[data-section-theme="dark-bold"] > .section-border { background: var(--black); }
.page-section[data-section-theme="bright-inverse"], .item-pagination[data-section-theme="bright-inverse"] .item-pagination-title { color: var(--accent); }
.sqs-section-background, .section-background { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.section-background img { display: block; width: 100%; height: 100%; object-fit: cover; }
.section-background-overlay { position: absolute; inset: 0; background: var(--black); }
.sqs-section-background img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* classic 12-column layout (contact page); column widths are set inline by the build */
.sqs-layout > .sqs-row { margin-left: -17px; margin-right: -17px; }
.sqs-row::before, .sqs-row::after { content: ""; display: table; }
.sqs-row::after { clear: both; }
.sqs-layout .col { float: left; position: relative; min-height: 1px; box-sizing: border-box; }
.sqs-layout .sqs-block { padding: 0 17px; clear: both; }
.sqs-layout .sqs-block-spacer { min-height: 1px; }
@media (max-width: 767px) {
  .sqs-layout .col { float: none !important; width: auto !important; }
  .sqs-layout .sqs-block-spacer { display: none; }
  .sqs-layout .sqs-row .sqs-block:first-child { padding-top: 17px; }
  .sqs-layout .sqs-row .sqs-block:last-child { padding-bottom: 17px; }
}

/* ------------------------------------------------------------ fluid engine */
[data-fluid-engine] { position: relative; width: 100%; height: 100%; }
.fe-block { position: relative; }
.fluid-engine .sqs-block { position: relative; display: flex; flex-direction: column; width: 100%; height: 100%; }
.sqs-block-html .sqs-html-content { position: relative; z-index: 0; }
.sqs-block-horizontalrule hr { margin: 0; border: 0; height: 1px; background: currentColor; }
.sqs-block-spacer { min-height: 1px; }

.sqs-block-image .sqs-block-content, .sqs-block-image .image-block-outer-wrapper, .sqs-block-image .sqs-image { width: 100%; height: 100%; }
.sqs-block-image .fluid-image-animation-wrapper { display: flex; justify-content: center; width: 100%; height: 100%; }
.sqs-block-image .image-position-left .fluid-image-animation-wrapper { justify-content: flex-start; }
.sqs-block-image .image-position-right .fluid-image-animation-wrapper { justify-content: flex-end; }
.sqs-block-image .fluid-image-container { position: relative; width: 100%; height: 100%; }
.sqs-block-image .js-content-mode-element-wrapper { position: relative; display: block; width: 100%; height: 100%; }
.sqs-block-image .sqs-block-image-link { display: block; width: 100%; height: 100%; }
.sqs-block-image img { position: absolute; display: block; width: 100%; height: 100%;
  object-fit: var(--image-component-object-fit, cover); object-position: var(--image-component-focal-point, 50% 50%); }
.fluidImageOverlay { display: none; }

/* ------------------------------------------------------------ galleries (shared) */
.gallery-section { color: var(--black); }
.gallery-section .content-wrapper, .gallery-section .content { width: 100%; }
.gallery-section .gallery-section-wrapper, .gallery-section .gallery { width: 100%; }
[data-animation-role="image"] { min-height: 1px; }
.gallery-grid-lightbox-link, .gallery-masonry-lightbox-link, .gallery-strips-lightbox-link { display: block; cursor: pointer; }
.gallery-caption { display: block; padding: 15px 0; text-align: left; max-width: 675px; }
.gallery-caption-content { margin: 0; line-height: 1.8; }
.gallery-caption-content p { margin: 0; }
@media (max-width: 767px) { .gallery-caption { max-width: 375px; } }

/* grid */
.gallery-grid[data-width="inset"] { max-width: var(--max-page); margin: 0 auto; padding: var(--page-pad); }
.gallery-grid--layout-grid .gallery-grid-wrapper { position: relative; display: grid; width: auto; }
.gallery-grid-item-wrapper { position: relative; display: block; width: 100%; height: 0; overflow: hidden; box-sizing: content-box; }
.gallery-grid[data-aspect-ratio="square"] .gallery-grid-item-wrapper { padding-bottom: 100%; }
.gallery-grid[data-aspect-ratio="four-three"] .gallery-grid-item-wrapper { padding-bottom: 75%; }
.gallery-grid[data-aspect-ratio="three-four"] .gallery-grid-item-wrapper { padding-bottom: 133.3333%; }
.gallery-grid[data-aspect-ratio="three-two"] .gallery-grid-item-wrapper { padding-bottom: 66.6667%; }
.gallery-grid[data-aspect-ratio="two-three"] .gallery-grid-item-wrapper { padding-bottom: 150%; }
.gallery-grid[data-aspect-ratio="sixteen-nine"] .gallery-grid-item-wrapper, .gallery-grid[data-aspect-ratio="widescreen"] .gallery-grid-item-wrapper { padding-bottom: 56.25%; }
.gallery-grid-item img { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery-grid-lightbox-link { position: absolute; inset: 0; }

/* masonry + strips: positions set by site.js */
.gallery-masonry[data-width="inset"] { max-width: var(--max-page); margin: 0 auto; padding: var(--page-pad); }
.gallery-masonry[data-width="full"] { padding: var(--page-pad); }
.gallery-strips { max-width: 100%; padding: var(--page-pad); }
@media (max-width: 767px) { .gallery-strips, .gallery-masonry[data-width="inset"], .gallery-masonry[data-width="full"] { padding: 6vw; } }
.gallery-masonry-wrapper, .gallery-strips-wrapper { position: relative; width: 100%; }
.gallery-masonry-item, .gallery-strips-item { position: absolute; top: 0; left: 0; }
.gallery-masonry-item-wrapper, .gallery-strips-item-wrapper { position: relative; display: block; overflow: hidden; }
.gallery-masonry-item img, .gallery-strips-item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gallery-masonry-lightbox-link, .gallery-strips-lightbox-link { height: 100%; }

/* slideshow */
.gallery-slideshow { box-sizing: border-box; display: flex; flex-direction: column; height: calc(var(--gallery-height, 75) * 1vh + 2 * var(--page-pad)); max-width: calc(var(--max-page) * var(--gallery-width, 80) / 100); margin: 0 auto; padding: var(--page-pad) var(--page-pad) calc(var(--page-pad) - 10px); }
.gallery-slideshow-wrapper { position: relative; flex: 1 1 auto; margin-bottom: 140px; }
.gallery-slideshow-list { position: absolute; top: 0; bottom: 0; left: 3vw; right: 3vw; overflow: hidden; }
.gallery-slideshow-item { position: absolute; inset: 0; display: flex; justify-content: center; align-items: center; visibility: hidden; transition: transform 1s cubic-bezier(.4, 0, .2, 1), visibility 0s 1s; }
.gallery-slideshow-item[data-active] { visibility: visible; transition: transform 1s cubic-bezier(.4, 0, .2, 1); }
.gallery-slideshow-item-wrapper { display: flex; justify-content: center; align-items: center; flex: 1 1 auto; width: 100%; height: 100%; overflow: hidden; }
.gallery-slideshow-item-src { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; }
.gallery-slideshow-item-img { position: relative; display: block; width: 100%; height: 100%; }
.gallery-slideshow-item img { position: relative; display: block; width: 100%; height: 100%; object-fit: contain !important; }
.gallery-slideshow-controls { position: absolute; inset: 0; display: flex; justify-content: space-between; pointer-events: none; }
.gallery-slideshow-control { display: flex; justify-content: center; align-items: center; flex: 0 0 3vw; pointer-events: auto; }
.gallery-slideshow-control-btn { position: relative; display: block; padding: 8px 10px 8px 8px; border: 0; background: none; cursor: pointer; opacity: .75; }
.gallery-slideshow-control-btn:hover { opacity: 1; }
.gallery-slideshow-control-btn svg { display: block; width: 9px; height: 16px; stroke-width: 1; }
.gallery-slideshow-wrapper > .gallery-caption-slideshow, .gallery-slideshow .gallery-caption-slideshow { position: absolute; top: 100%; left: 0; right: 0; display: flex; justify-content: center; align-items: center; height: 100px; max-width: 675px; margin: 25px auto 0; padding: 0; text-align: center; opacity: 0; transition: opacity .6s; }
.gallery-slideshow-item[data-active] .gallery-caption-slideshow { opacity: 1; }
.gallery-slideshow-thumbnails { position: relative; flex: 0 0 auto; width: 60%; height: 80px; margin: 0 auto; padding: 10px 0; overflow: hidden; text-align: center; }
.gallery-slideshow-thumbnails-scroll { position: relative; display: inline-flex; transition: transform .6s cubic-bezier(.4, 0, .2, 1); }
.gallery-slideshow-thumbnails-thumb { position: relative; display: flex; flex: 0 0 auto; width: 80px; height: 80px; margin: 0 5px 0 0; padding: 1px 6px; border: 0; background: none; overflow: hidden; cursor: pointer; opacity: .5; transition: opacity .3s; }
.gallery-slideshow-thumbnails-thumb[data-active], .gallery-slideshow-thumbnails-thumb:hover { opacity: 1; }
.gallery-slideshow-thumbnails-thumb img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.js-slideshow-inactive-slide, .js-slideshow-active-slide { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 767px) {
  .gallery-slideshow { height: 100vw !important; max-width: var(--max-page) !important; padding: 6vw 6vw 100px; }
  .gallery-slideshow-wrapper { margin-bottom: 0; }
  .gallery-slideshow-list { left: 6.5vw; right: 6.5vw; }
  .gallery-slideshow-control { flex-basis: 6.5vw; }
  .gallery-slideshow .gallery-caption-slideshow { max-width: 325px; }
  .gallery-slideshow-thumbnails { display: none; }
}

/* lightbox (built by site.js) */
.lightbox { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .3s, visibility 0s .3s; }
.lightbox.is-open { opacity: 1; visibility: visible; transition: opacity .3s; }
.lightbox-bg { position: absolute; inset: 0; background: rgba(255, 255, 255, .9); }
.lightbox-stage { box-sizing: border-box; position: absolute; inset: 4vw 6vw; display: flex; align-items: center; justify-content: center; }
.lightbox-stage img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.lightbox-btn { position: absolute; z-index: 2; display: flex; align-items: center; justify-content: center; padding: 10px; border: 0; background: none; color: var(--accent); cursor: pointer; opacity: .75; }
.lightbox-btn:hover { opacity: 1; }
.lightbox-btn svg { display: block; stroke-width: 1; }
.lightbox-close { top: 1.5vw; right: 1.5vw; }
.lightbox-close svg { width: 18px; height: 18px; }
.lightbox-prev { left: 1.5vw; top: 50%; transform: translateY(-50%); }
.lightbox-next { right: 1.5vw; top: 50%; transform: translateY(-50%); }
.lightbox-prev svg, .lightbox-next svg { width: 9px; height: 16px; }
.lightbox-caption { position: absolute; left: 0; right: 0; bottom: 1.5vw; text-align: center; color: var(--black); }
@media (max-width: 767px) { .lightbox-stage { inset: 12vw 4vw; } .lightbox-close { top: 3vw; right: 3vw; } }

/* ------------------------------------------------------------ portfolio index */
.cdk-section > .content-wrapper { max-width: 100%; }
.portfolio-grid-basic { box-sizing: border-box; display: grid; width: 100%; grid-template-columns: repeat(var(--portfolio-columns, 2), minmax(0, 1fr));
  column-gap: var(--portfolio-horizontal-gutter); row-gap: var(--portfolio-vertical-gutter); padding: 6.6vw var(--page-pad); }
.portfolio-grid-basic .grid-item { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.portfolio-grid-basic .grid-image { position: relative; display: block; width: 100%; height: 0; padding-bottom: 75%; overflow: hidden; }
.portfolio-grid-basic .grid-image-inner-wrapper { position: absolute; inset: 0; transition: opacity 1s cubic-bezier(.4, 0, .2, 1); }
.portfolio-grid-basic .grid-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.portfolio-grid-basic .grid-item:hover .grid-image-inner-wrapper { opacity: calc(var(--portfolio-hover-opacity, 100) / 100); }
.portfolio-grid-basic .portfolio-text { position: relative; margin-top: var(--portfolio-text-spacing, 25px); }
.portfolio-title { margin: 0 0 .5em; font-size: min(calc((var(--h4) - 1) * 1.2vw + 1rem), max(calc((var(--h4) - 1) * .012 * var(--max-page) + 1rem), calc(var(--h4) * 1rem))); line-height: calc(1.4em * (1 + (1 - var(--h4)) / 25)); }
@media (max-width: 767px) {
  .portfolio-grid-basic { grid-template-columns: minmax(0, 1fr); padding: 6.6vw 6vw; }
}
@media (max-width: 767px) and (orientation: portrait) {
  .portfolio-title { font-size: calc((var(--h4) - 1) * .012 * min(100vh, 900px) + 1rem); }
}

/* ------------------------------------------------------------ prev / next */
.item-pagination { display: flex; justify-content: space-between; max-width: var(--max-page); margin: 0 auto; padding: 3vw var(--page-pad); background: var(--white); }
.item-pagination-link { display: flex; align-items: center; max-width: 50%; text-decoration: none; color: var(--black); }
.item-pagination-link--prev { margin-right: auto; text-align: left; }
.item-pagination-link--next { margin-left: auto; text-align: right; }
.item-pagination-icon { position: relative; width: 18px; height: 32px; line-height: 1; box-sizing: content-box; }
.item-pagination-link--prev .item-pagination-icon { padding-right: 25px; }
.item-pagination-link--next .item-pagination-icon { padding-left: 25px; }
.item-pagination-icon svg { display: block; width: 18px; height: 32px; overflow: visible; }
.item-pagination-icon polyline, .chevron polyline, .gallery-slideshow-control-btn polyline, .lightbox-btn polyline, .lightbox-btn path { stroke-width: 1px; vector-effect: non-scaling-stroke; }
.item-pagination[data-section-theme="bright-inverse"] .item-pagination-link { color: var(--accent); }
.item-pagination-prev-next { display: none; }
.item-pagination-title { margin: 0; color: var(--black); line-height: 1; }
.item-pagination[data-section-theme="bright-inverse"] .item-pagination-title { color: var(--accent); }
.item-pagination-link:hover .item-pagination-title { color: var(--accent); }
@media (min-width: 768px), (orientation: landscape) {
  .item-pagination-title { font-size: min(calc((var(--h3) - 1) * 1.2vw + 1rem), max(calc((var(--h3) - 1) * .012 * var(--max-page) + 1rem), calc(var(--h3) * 1rem))); }
}
@media (max-width: 767px) and (orientation: portrait) {
  .item-pagination { padding: 3vw 6vw; }
  .item-pagination-title { font-size: calc((var(--h3) - 1) * .012 * min(100vh, 900px) + 1rem); }
}

/* ------------------------------------------------------------ contact form */
.sqs-block-form { padding: 0 17px; }
.contact-form fieldset { display: flex; flex-wrap: wrap; align-items: flex-end; column-gap: 10px; margin: 0 0 20px; padding: 0; border: 0; }
.contact-form legend { display: block; width: 100%; padding: 0 0 4px; margin: 0; font-size: 14px; line-height: 25.2px; }
.contact-form .form-row { display: flex; gap: 10px; width: 100%; }
.contact-form .form-row .form-field { flex: 1 1 0; }
.contact-form .form-item { display: block; margin: 0 0 20px; }
.contact-form .form-label { display: block; padding: 0 0 2px; font-size: 12.464px; line-height: 1.8; }
.contact-form .form-title { padding-bottom: 4px; font-size: 14px; line-height: 25.2px; }
.contact-form .form-row .form-label { padding-bottom: 5.7px; }
.contact-form .form-req { font-size: 12.464px; line-height: 1; opacity: .7; }
.contact-form input, .contact-form textarea { box-sizing: border-box; display: block; width: 100%; margin: 0; padding: 5px 0; font: inherit; font-size: 14px; line-height: 25.2px; color: var(--black);
  background: transparent; border: 0; border-bottom: 1px solid rgb(115, 115, 115); border-radius: 0; outline: none; appearance: none; }
.contact-form input:focus, .contact-form textarea:focus { border-bottom-color: var(--black); }
.contact-form textarea { height: 100px; resize: vertical; }
.contact-form .form-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.contact-form .button { display: inline-block; margin: 0; padding: 1.3em 2.171em; font: inherit; font-size: 14px; font-weight: 500; line-height: 1.3; letter-spacing: .02em;
  color: var(--accent); background: transparent; border: 2px solid var(--accent); border-radius: 0; cursor: pointer; transition: opacity .1s; }
.contact-form .button:hover { opacity: .8; }
.contact-form .button[disabled] { opacity: .5; cursor: default; }
.contact-form .form-status { margin: 1em 0 0; }
.contact-form .form-status:empty { display: none; }
.contact-form .form-status.is-error { color: #b00020; }
@media (max-width: 767px) { .sqs-block-form { padding: 17px; } }

/* ------------------------------------------------------------ footer */
#footer-sections .page-section { color: var(--white); }
#footer-sections .page-section > .section-border { background: var(--black); }
