article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }

html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { margin: 0; font-size: 13px; line-height: 1.38;}
body, button, input, select, textarea { font-family: 'Helvetica'; color: #FFF; }

::-moz-selection { background: #EF625F; color: #fff; text-shadow: none; }
::selection { background: #EF625F; color: #fff; text-shadow: none; }

a { color: #F05859; }
a:visited { color: #F05859; }
a:hover { color: #F05859;}
a:focus { outline: thin dotted; background:lightyellow; }
a:hover, a:active { outline: 0; }

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: 400; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle;}
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; background:lightyellow; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }
#wrap p.photomessage {
	padding-top:0;
	margin-top:0;
}

/* ==|== Main ======================================== */

body {
color:#000;
background-color:#999;}

#wrap {
clear:both;
overflow:hidden;
width:100%;
margin:0 auto;
padding:0;
}

#wrap h1 {
font-family: ltc-caslon-pro,serif;
font-weight: 300;
font-style: normal;
font-size:2em;
padding:1em 0;
margin:0;
text-align:center;
}

#wrap h2 {
font-family: ltc-caslon-pro,serif;
font-weight: 300;
font-style: normal;
font-size:1.8em;
text-align:center;
}

#wrap h3 {
font-family: gill-sans-nova, sans-serif;;
font-weight: 700;
font-style: normal;
font-size:.85em;
padding:1.25em 0 0;
margin:0;
text-align:center;
text-transform: uppercase;
}

#wrap img, #wrap video {
margin:1em auto 2em;
width:100%;
display:block;
box-shadow: 0px 0px 15px #888888;}

#wrap img.inline {
display:inline;
margin-left:2em;
}

#wrap p.date {
margin-top:.3em;
font-weight: 400;
text-align: center;}

#hithere {
margin:3em auto 1.5em;
width:95%;
max-width:300px;
padding-top:1.5em;
border-top:1px dotted #E1DFDF;}

#hithere img {
display:block;
width:100px;
margin:.5em auto !important;
border:none;}

#hithere p {
font-size:.75em;}

/* ==|== ie ======================================== */
.ie6 #nav ul li a {
border:none;
margin-right:0;}

.ie7 #nav ul li a, .ie6 #nav ul li a, .ie6 #social ul li a, .ie7 #social ul li a,  {
display: block;}

.ie7 #nav ul li, .ie6 #nav ul li, .ie6 #social ul li, .ie7 #social ul li {
display:inline;}

/* ==|== non-semantic helper classes ======================================== */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }
.clear {
clear:both;}

.alignleft {
float:left;
padding:5px 10px 5px 0;
margin:0;}

.alignright {
float:right;
padding:5px 0px 5px 10px;
margin:0;}

#wrap img.by {
border:none;
max-width:200px;
border:none;}

#wrap p {
font-family: ltc-caslon-pro,serif;
font-weight: 300;
font-style: normal;
display:block;
width:93%;
max-width:550px;
text-align:center;
padding:0 0 1em;
font-size:1.1em;
margin:0 auto;}

figcaption {
font-family: ltc-caslon-pro,serif;
font-weight: 400;
font-style: normal;
text-align: center;
width:92%;
max-width:600px;
margin:.5em auto 0;
padding:0;
font-size:1em;}

#wrap figure img {
margin:0 auto;}

#wrap figure {
margin:0 auto 2.65em;
line-height: 1.2em;}
	
#wrap p.photocredit {
display:block;
width:93%;
max-width:950px;
text-align:center;
padding:0 0 2em;
font-size:.9em;
margin:0 auto 1.5em;}

.screenshots {
  border:none !important;
  box-shadow: none !important;
  max-width: 760px !important;
}

/* ==|== media queries ========================================================================== */
/* ==|== media queries ========================================================================== */
/* ==|== media queries ========================================================================== */
/* ==|== media queries ========================================================================== */
/* ==|== media queries ========================================================================== */
/* ==|== media queries ========================================================================== */
/* ==|== media queries ========================================================================== */
/* ==|== media queries ========================================================================== */
/* ==|== media queries ========================================================================== */




/* ==|== large screen ========================================================================== */

@media only screen and (max-width: 3000px) {

#wrap {
width:100%;
margin:0 auto;
padding:0;
font-size:1.3em;}

#wrap img, #wrap video {
width:94%;
max-width:1620px;
height:auto;
border:12px solid #fff;}

#wrap img.portrait, #wrap img.insta {
max-height:1120px;
width:auto;}

#mobile-notice {
display:none;}

#hithere {
margin:2em auto;
width:450px;
padding-top:1.4em;
border-top:1px solid #E1DFDF;}

#hithere img {
width:100px;
margin:0 auto;
border:none;
display:block;}

#hithere p {
font-size:.75em;}

#wrap img.thumb {
max-width: 450px;
border:10px solid #FFF;}
}

/* ==|== laptop ========================================================================== */

@media only screen and (max-width: 1440px) {

#wrap {
width:100%;
margin:0 auto;
padding:0;
font-size:1.3em;}

#wrap img, #wrap video {
width:95%;
max-width:1100px;
height:auto;}

#wrap img.thumb {
max-width: 450px;
border:10px solid #FFF;}

#wrap img.portrait {
max-height:700px;
width:auto;}

#wrap img.insta {
max-height:700px;
width:auto;}

#mobile-notice {
display:none;}

#hithere {
margin:2em auto;
width:450px;
padding-top:1.4em;
border-top:1px solid #E1DFDF;}

#hithere img {
width:100px;
margin:0 auto;
border:none;
display:block;}

#hithere p {
font-size:.75em;}
}

/* ==|== small screen ========================================================================== */

@media only screen and (max-width: 950px) {

#wrap {
width:100%;
margin:0 auto;
padding:0;}

#wrap img, #wrap video {
width:100%;
height:auto;
border:none;
display:block;
margin-top:.3em;
box-shadow: none;}
	
#wrap h1 {
font-size:1.5em;
font-weight:700;}

#wrap img.portrait {
width:100%;
max-width:500px;
max-height:auto;}

#wrap img.insta {
width:100%;
max-width:600px;
max-height:auto;}

#wrap img.thumb {
max-width: 450px;
border:10px solid #FFF;}

figure {
margin-bottom:0em;
padding-bottom:0em;}

#mobile-notice {
display:none;}

#hithere {
margin:2em auto;
width:450px;
padding-top:1.4em;
border-top:1px solid #E1DFDF;}

#hithere img {
width:100px;
margin:0 auto;
border:none;
display:block;}

#hithere p {
font-size:.75em;}
}

/* ==|== mobile ========================================================================== */

@media only screen and (max-width: 500px) {

#wrap {
width:100%;
margin:0 auto;
padding:0;
font-size:1.3em;}

#wrap h1 {
font-size:1.1em;
font-weight:700;}

#wrap img, #wrap video {
width:100%;
height:auto;
border:none;
text-shadow:0 0 0;
margin:.5em 0 1.25em;
box-shadow: none;}

#wrap img.portrait, #wrap img.insta {
max-width:100%;
max-height:auto;}

#wrap img.thumb {
max-width: 100%;
border:none;
box-shadow: none;}

#wrap figure {
margin:0 auto 2em;
}

#wrap figcaption {
font-size:1em;}

#mobile-notice {
display:block;
width:95%;
margin:1em auto;
}

#hithere {
margin:2em auto;
width:450px;
padding-top:1.4em;
border-top:1px solid #E1DFDF;}

#hithere img {
width:100px;
margin:0 auto;
border:none;
display:block;}

#hithere p {
font-size:.75em;
}

#wrap h4 {
font-size:1.1em;
margin:0 auto .4em;  
text-align:center; 
}

}


/* ==|== print styles ======================================================= */

@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h4 { orphans: 3; widows: 3; }
  h2, h4 { page-break-after: avoid; }
}

@media (min--moz-device-pixel-ratio: 1.5),
        (-o-min-device-pixel-ratio: 3/2),
        (-webkit-min-device-pixel-ratio: 1.5),
        (min-device-pixel-ratio: 1.5),
        (min-resolution: 1.5dppx) {
   <css selector> {
     background-image: url(<scaled image>);
} }

/* ============================================================
   Modern masonry gallery + minimal lightbox
   Scoped to .gallery / .lightbox so existing pages are untouched.
   gallery.js upgrades the grid to true (gap-filling) masonry and
   drives the lightbox. Without JS, CSS columns are a fluid fallback.
   Added 2026-06-07, revised 2026-06-09.
   ============================================================ */
#wrap .gallery {
  column-count: 3;                    /* no-JS fallback (JS switches to masonry) */
  column-gap: 14px;
  width: 100%;
  max-width: 1700px;
  margin: 0 auto 3.5em;
  padding: 0 14px;
  box-sizing: border-box;
}
#wrap .gallery .shot {
  display: block;
  break-inside: avoid;
  margin: 0 0 14px;
  background: none;
  outline: 0;
  cursor: zoom-in;
}
#wrap .gallery .shot img {            /* beats global #wrap img */
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
  border: 0;                          /* borderless, modern */
  box-shadow: none;
}
/* JS masonry: items are absolutely positioned by gallery.js */
#wrap .gallery.masonry {
  column-count: auto;
  position: relative;
}
#wrap .gallery.masonry .shot {
  position: absolute;
  margin: 0;
  break-inside: auto;
}

/* Soth-style lightbox: clean white field, no border, back button */
.lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: #fff;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.lightbox.open { display: flex; }
.lightbox .lb-stage {
  margin: 0;
  max-width: 92vw;
  max-height: 86vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lightbox img {
  max-width: 92vw;
  max-height: 86vh;
  width: auto;
  height: auto;
  margin: 0;
  border: 0;
  box-shadow: 0 2px 40px rgba(0,0,0,.12);
}
.lightbox button {
  position: fixed;
  background: none;
  border: 0;
  color: #111;
  cursor: pointer;
  line-height: 1;
  -webkit-appearance: none;
}
.lightbox .lb-back {
  top: 16px;
  left: 18px;
  font-size: 15px;
  letter-spacing: .02em;
  padding: 6px 8px;
  opacity: .8;
}
.lightbox .lb-back::before { content: "\2190"; margin-right: .45em; }   /* ← */
.lightbox .lb-prev,
.lightbox .lb-next {
  top: 50%;
  transform: translateY(-50%);
  font-size: 2.4rem;
  padding: .2em .35em;
  opacity: .55;
}
.lightbox .lb-prev { left: .1em; }
.lightbox .lb-next { right: .1em; }
.lightbox .lb-back:hover,
.lightbox .lb-prev:hover,
.lightbox .lb-next:hover { opacity: 1; }
.lightbox .lb-count {
  position: fixed;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  color: #666;
  font-size: 13px;
  letter-spacing: .08em;
}

@media only screen and (max-width: 1100px) { #wrap .gallery { column-count: 2; } }
@media only screen and (max-width: 600px)  {
  #wrap .gallery { column-count: 1; padding: 0 12px; }
  .lightbox .lb-prev,
  .lightbox .lb-next { display: none; }   /* phones use swipe */
}
