body, body * { font-family: "Nunito", Arial, Helvetica, sans-serif !important; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

img { max-width: 100%; height: auto; }
hr, table { max-width: 100%; }

.gallery { display: grid; grid-template-columns: repeat(3, auto); justify-content: center;
  gap: 10px; margin: 10px auto; }
.gallery .item { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 10px; }
.gallery .pic { display: flex; align-items: center; justify-content: center; }
.gallery .cap { text-align: center; }
.gallery img { display: block; }

img[src="images/sig.png"] { width: 388px; }

.menu a { white-space: nowrap; }

@media (max-width: 760px) {
  body { margin: 8px 12px; }

  .gallery { width: 87%; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; row-gap: 8px; }
  .gallery .item { row-gap: 6px; margin-bottom: 8px; }

  img[src="images/sig.png"] { width: 243px; }

  .menu { line-height: 1.2; }
  .menu a { display: inline-block; padding: 10px 6px; }

  table[width="700"] { width: 100% !important; }

  table[width="167"] { float: left !important; width: auto !important; margin: 4px 14px 6px 0; }
  table[width="167"] img { width: 102px; height: auto; }
  table[width="167"] td + td { display: none; }
  table[width="167"] caption { line-height: 1.3; padding-top: 5px; }
}

@media (max-width: 300px) {
  .gallery { grid-template-columns: minmax(0, 1fr); }
}

@media (orientation: landscape) and (max-height: 600px) {
  img.painting { max-height: 88vh; width: auto; }
}

.dz-overlay { display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1000;
  background: #999999 url("images/background-gray.jpg"); }
.dz-overlay.open { display: block; }
.dz-view { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.dz-bar { position: absolute; z-index: 2; display: flex; gap: 10px;
  top: calc(10px + env(safe-area-inset-top, 0px)); right: calc(10px + env(safe-area-inset-right, 0px)); }
.dz-btn { width: 44px; height: 44px; padding: 0; border: 1px solid #333333; border-radius: 50%;
  background: rgba(255, 255, 255, 0.8); color: #000000; cursor: pointer;
  font-size: 28px; line-height: 40px; font-weight: 700; text-align: center; }
.dz-btn:hover { background: #ffffff; }
.dz-btn:focus-visible { outline: 2px solid #273042; outline-offset: 2px; }
html.dz-lock, html.dz-lock body { overflow: hidden; }

.topbar { position: relative; z-index: 50; display: flex; align-items: center; justify-content: space-between;
  gap: 20px; margin: -8px -8px 14px; padding: 6px 32px;
  background: transparent; border-bottom: 0; text-align: left; }
.topbar .tb-sig img { display: block; width: 74px; height: auto; position: relative; top: 2px; margin-left: -10px; }
.tb-links { display: flex; flex-wrap: nowrap; justify-content: flex-end; gap: 6px 22px; font-size: 15px; font-weight: 600; letter-spacing: 0.05em; }
.tb-links a { text-decoration: none; color: #023f65; white-space: nowrap; }
.tb-links a:hover { text-decoration: underline; }
.tb-links a[aria-current="page"], .tb-links a[aria-current="page"]:hover { text-decoration: none; }
.tb-menu { display: none; }
p.menu { display: none; }

@media (max-width: 760px) {
  .topbar { margin: -8px -12px 12px; padding: 3.5px 16px; }
  .topbar .tb-sig img { width: 65px; top: 2px; margin-left: -4px; }

  .topbar { flex-wrap: wrap; }
  .tb-links { justify-content: flex-start; gap: 4px 18px; }
  .tb-links a { padding: 6px 0; }
  html.js .topbar { flex-wrap: nowrap; }

  html.js .tb-menu { display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 5.32px;
    width: 44px; height: 44px; padding: 0; margin-right: -8px; border: 0; background: none; cursor: pointer; }
  html.js .tb-menu span { display: block; width: 24px; height: 2.2px; border-radius: 1px; background: #023f65;
    transition: transform 0.2s ease, opacity 0.2s ease; }
  html.js .topbar.open .tb-menu span:nth-child(1) { transform: translateY(7.52px) rotate(45deg); }
  html.js .topbar.open .tb-menu span:nth-child(2) { opacity: 0; }
  html.js .topbar.open .tb-menu span:nth-child(3) { transform: translateY(-7.52px) rotate(-45deg); }
  html.js .tb-links { display: none; }
  html.js .topbar.open .tb-links { display: block; position: absolute; left: 0; right: 0; top: 100%;
    background: #8f8f8f url("images/background-gray.jpg"); border-bottom: 1px solid rgba(0, 0, 0, 0.3);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25); }
  html.js .topbar.open .tb-links a { display: block; padding: 14px 22px; font-size: 19px;
    border-top: 1px solid rgba(0, 0, 0, 0.15); }
}

hr { border: 0; border-top: 1px solid #000000; height: 0; }

p img.contact-sig { display: block; width: 197px; height: auto; margin: -11px auto -17px; }
@media (max-width: 760px) { p img.contact-sig { width: 156px; } }

.avail-note { padding-top: 19px; }
@media (max-width: 760px) { .avail-note { padding-top: 27px; } }

div img.home-top-sig { display: block; width: 317px; height: auto; margin: 6px auto 4px; }
@media (max-width: 760px) { div img.home-top-sig { width: 218px; } }

.site-footer { clear: both; margin: 60px -8px -8px; padding: 14px 20px 22px; text-align: center;
  background: rgba(0, 0, 0, 0.10); border-top: 1px solid rgba(0, 0, 0, 0.25); }
.site-footer p { margin: 0 auto; max-width: 640px; font-size: 15px; line-height: 1.45; color: #000000; }
.site-footer p.fine { margin-top: 12px; font-size: 13px; color: #222222; letter-spacing: 0.045em; }
.site-footer a { color: #000000; }
@media (max-width: 760px) {
  .site-footer { margin: 60px -12px -8px; padding: 14px 16px 20px; }
}

.gallery .cap a { text-decoration: none; }
.gallery .cap a:hover, .gallery .cap a:focus-visible { text-decoration: underline; }

hr.avail-rule { margin-top: 42px; }

.gallery .item { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; }
@media (max-width: 760px) { .gallery .item { gap: 6px; } }
@media (max-width: 760px) { .gallery { margin-bottom: 2px; } }

.gallery.bottom-aligned .item { display: grid; grid-template-rows: subgrid; gap: 0; row-gap: 10px; justify-content: stretch; align-items: stretch; }
.gallery.bottom-aligned .pic { align-items: flex-end; }
@media (max-width: 760px) { .gallery .item:nth-last-child(-n+2) { margin-bottom: 0; } .gallery.bottom-aligned .item { row-gap: 6px; } }

.hl-br { display: none; }
@media (max-width: 760px) { .hl-dot { display: none; } .hl-br { display: inline; } }

.hl-svg { display: none; }
.hl-svg img { display: block; margin: 0 auto; height: auto; max-width: 100%; }
.hl-svg .hl-svg1 { display: none; width: 680px; }
.hl-svg .hl-svg2 { display: block; width: 460px; }
.hl-wrap .hl-title { display: none; }
.hl-wrap .hl-svg { display: block; padding: 6px 0 4px; }
@media (max-width: 760px) { .hl-svg .hl-svg2 { width: 436px; } }

.ink { text-decoration: none; padding-bottom: 0.187em;
  background: url("images/ink-line.svg?v=2") no-repeat 0 100% / 100% 0.192em; }
a.ink, a.ink:hover, a.ink:focus { text-decoration: none; color: inherit; }

@font-face { font-family: "Nunito"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/nunito/nunito-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Nunito"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("fonts/nunito/nunito-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Nunito"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/nunito/nunito-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Nunito"; font-style: italic; font-weight: 700; font-display: swap;
  src: url("fonts/nunito/nunito-latin-700-italic.woff2") format("woff2"); }

@font-face { font-family: "Nunito"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/nunito/nunito-latin-600-normal.woff2") format("woff2"); }

.tb-links img.nav-svg { display: inline-block; height: 0.8925em; width: auto; vertical-align: -0.2em; }

html .tb-links { font-size: 18px; letter-spacing: 0.06em; }
@media (max-width: 760px) { html.js .topbar.open .tb-links a { font-size: 22px; } }
html.js .topbar.compact.open .tb-links a { font-size: 22px; }

img.pg-title-svg { display: block; margin: 0 auto; padding-bottom: 16px; width: 261px; height: auto; max-width: 100%; }
@media (max-width: 760px) { img.pg-title-svg { width: 229px; } }

@media (min-width: 761px) {
  .gallery.avail-swap > .item:nth-child(1) { order: 1; }
  .gallery.avail-swap > .item:nth-child(2) { order: 2; }
  .gallery.avail-swap > .item:nth-child(3) { order: 4; }
  .gallery.avail-swap > .item:nth-child(4) { order: 3; }
  .gallery.avail-swap > .item:nth-child(5) { order: 5; }
  .gallery.avail-swap > .item:nth-child(6) { order: 6; }
}

.site-footer { box-shadow: 0 100vh 0 100vh rgba(0, 0, 0, 0.10); }

html.js .topbar.compact .tb-menu { display: inline-flex; flex-direction: column; justify-content: center; align-items: center; gap: 5.32px;
  width: 44px; height: 44px; padding: 0; margin-right: -8px; border: 0; background: none; cursor: pointer; }
html.js .topbar.compact .tb-menu span { display: block; width: 24px; height: 2.2px; border-radius: 1px; background: #023f65;
  transition: transform 0.2s ease, opacity 0.2s ease; }
html.js .topbar.compact.open .tb-menu span:nth-child(1) { transform: translateY(7.52px) rotate(45deg); }
html.js .topbar.compact.open .tb-menu span:nth-child(2) { opacity: 0; }
html.js .topbar.compact.open .tb-menu span:nth-child(3) { transform: translateY(-7.52px) rotate(-45deg); }
html.js .topbar.compact .tb-links { display: none; }
html.js .topbar.compact.open .tb-links { display: block; position: absolute; left: 0; right: 0; top: 100%;
  background: #8f8f8f url("images/background-gray.jpg"); border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25); }
html.js .topbar.compact.open .tb-links a { display: block; padding: 14px 22px; font-size: 19px;
  border-top: 1px solid rgba(0, 0, 0, 0.15); }
img.pg-title-svg.pg-title-bio { width: 233px; padding-bottom: 0; }
@media (max-width: 760px) { img.pg-title-svg.pg-title-bio { width: 204px; } }
img.pg-title-svg.pg-title-contact { width: 113px; padding-bottom: 16px; }
@media (max-width: 760px) { img.pg-title-svg.pg-title-contact { width: 99px; } }

img.pg-title-svg.pg-title-brochure { width: 164px; padding-bottom: 0; }
@media (max-width: 760px) { img.pg-title-svg.pg-title-brochure { width: 144px; } }
.brochure .bro-hint { margin: 4px 0 14px; font-size: 15px; font-style: italic; }
@media (max-width: 760px) { .brochure .bro-hint { font-size: 14px; } }
.brochure .bro-page { margin: 0 auto 22px; max-width: 1000px; }
.brochure .bro-page img { display: block; width: 100%; height: auto; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25); }
.brochure .bro-dl { margin-top: 18px; font-size: 15px; font-style: italic; }

@media (max-width: 760px) { .gallery .cap, .gallery .cap * { line-height: 1.09; } }

@media (max-width: 760px) { .gallery .cap br.cap-br { display: none; } }

table.bio-text font[style*="13pt"] { font-size: 11.7pt !important; }
table.bio-text caption { font-size: 0.81em; }

@media (max-width: 760px) {
  table.bio-text font[style*="13pt"] { font-size: 11.7pt !important; }
  table.bio-text caption { font-size: 0.81em; }
}

.bio-row .bio-spacer { display: block; float: left; width: 0; height: 0; }
.bio-row > table[width="167"] { float: left !important; clear: left; margin: 4px 22px 0 0; }
.bio-row > table[width="167"] caption { padding: 6px 0 0; line-height: 1.3; }
.bio-col > p:last-of-type { margin-bottom: 0; }
.bio-row::after { content: ""; display: block; clear: both; }
@media (max-width: 760px) { .bio-row .bio-spacer { display: none; } .bio-row > table[width="167"] { margin: 4px 14px 6px 0; } }

p.dz-link, p.dz-link * { font-style: italic; }

p.pd { margin-top: 8px; margin-bottom: 8px; }

p.pd strong, p.pd b, p.pd strong *, p.pd b * { font-weight: 600; }

p.avail-stmt { margin-top: 30px; }
p.avail-stmt.narrow { max-width: 500px; margin-left: auto; margin-right: auto; text-wrap: balance; }

.bio-row > table[width="167"] { width: auto !important; }
.bio-row > table[width="167"] td + td { display: none; }
.bio-row > table[width="167"] caption { text-align: center; }

p.study-note { margin: 0 0 14px; }

.dz-btn { opacity: 0.5; transition: opacity 0.15s ease; }
.dz-btn:hover, .dz-btn:focus-visible { opacity: 1; }

@media (min-width: 761px) { .topbar:not(.compact) .tb-links img.nav-svg { height: 0.982em; vertical-align: -0.22em; } }

.tb-links a { position: relative; }
.topbar:not(.compact) .tb-links a:not([aria-current])::after { content: ""; position: absolute; left: 0; right: 0; bottom: -5px; height: 0.192em;
  background: url("images/ink-line.svg?v=2") no-repeat 0 0 / 100% 100%; opacity: 0; transition: opacity 0.15s ease; pointer-events: none; }
.topbar:not(.compact) .tb-links a:not([aria-current]):hover::after, .topbar:not(.compact) .tb-links a:not([aria-current]):focus-visible::after { opacity: 0.27; }
@media (max-width: 760px) { .tb-links a::after { display: none; } }

@media (min-width: 761px) { .topbar:not(.compact) .tb-links .ink { padding-bottom: 3.77px; } }

.topbar.open .tb-links .ink { padding-bottom: 4.64px; }

@media (max-width: 760px) { .gallery.home-gallery { margin-top: -16px; } }

p.dz-link a, p.dz-link a:hover { text-decoration: none; }

p.dz-link span.dz-click { text-decoration: underline; text-underline-offset: 2px; }

p.frame-note { max-width: 430px; margin-left: auto; margin-right: auto; text-wrap: balance; }
.nobr { white-space: nowrap; }

p.avail-stmt, p.avail-stmt * { line-height: 1.55; }
p.avail-stmt .bal { display: block; text-wrap: balance; }

@media (min-width: 761px) { p.avail-stmt .bal.one { white-space: nowrap; margin: 0 -100px; } }
p.avail-stmt .bal.one { padding-top: 12px; }

@media (max-width: 760px) {
  .home-gallery { grid-auto-flow: row dense; }
  .home-gallery .item.wide-m, .home-gallery .item.solo-m { grid-column: 1 / -1; }
  .home-gallery .item.wide-m img { width: 205px; max-width: 100%; height: auto; }
}

@media (max-width: 760px) { .home-gallery .pic a[href="girl_with_a_shawl.htm"] img { width: 82px; height: auto; } }

@media (max-width: 760px) { .home-gallery .item.tw-m img { width: 186px; max-width: 100%; height: auto; } }

@media (max-width: 760px) { .home-gallery .item.beach-m { order: -1; } .home-gallery .item.ob-m { justify-content: flex-start; } }

@media (max-width: 760px) {
  .avail-swap { grid-auto-flow: row dense; }
  .avail-swap .item.wide-m { grid-column: 1 / -1; }
  .avail-swap .item.wide-m img { width: 205px; max-width: 100%; height: auto; }
  .avail-swap .item.tw-m img { width: 186px; }
}

@media (max-width: 760px) {
  .avail-swap > .item:nth-child(2) { order: 1; }
  .avail-swap > .item:nth-child(1) { order: 2; }
  .avail-swap > .item:nth-child(6) { order: 3; }
  .avail-swap > .item:nth-child(4) { order: 4; }
  .avail-swap > .item:nth-child(3) { order: 5; }
  .avail-swap > .item:nth-child(5) { order: 6; }
  .avail-swap .item.wide-m img { width: 228px; }
  .avail-swap .item.or-m img { width: 152px; }
  .avail-swap .item.po-m img { width: 151px; }
  .avail-swap .item.tw-m img { width: 186px; }
}

@media (max-width: 760px) { .dbr { display: none; } }

img.pg-title-svg.pg-title-statement { width: 230px; padding-bottom: 16px; }
@media (max-width: 760px) { img.pg-title-svg.pg-title-statement { width: 201px; } }
.statement-text { max-width: 620px; margin: 0 auto; padding: 0 4px; text-align: left; }
.statement-text p { margin: 0 0 1em; font-size: 16px; line-height: 1.2; }
@media (max-width: 760px) { .statement-text p { font-size: 15.5px; } }
