/* Additions for the rebuilt site. The original style.css is unchanged. */
.footcontent { padding: 0 10px; }
#footer a:link, #footer a:visited { color: #fff; }
#footer img { vertical-align: middle; }
#content img.thumb { width: 141px; height: 105px; object-fit: cover; }
#content img.featured { width: 250px; height: 188px; object-fit: cover; }
#content img.hero { max-width: 100%; height: auto; }
#content .gallery a { display: inline-block; margin: 0 6px 6px 0; }
.mapframe { width: 100%; height: 340px; border: 0; }
#bigmap { height: 70vh; min-height: 420px; }
#bigmap img { max-width: none !important; }
#content .leaflet-popup-content a:link, #content .leaflet-popup-content a:visited { color: #00171e; }
#content .leaflet-popup-content { color: #00171e; }
#content .post a[data-full] { cursor: zoom-in; }

/* Photo viewer */
#lb { position: fixed; inset: 0; z-index: 1000; background: rgba(0,10,15,.95); display: flex; align-items: center; justify-content: center; }
#lb[hidden] { display: none; }
#lb img { max-width: min(92vw, 1600px); max-height: 78vh; object-fit: contain; border: 0; padding: 0; background: #00171e; }
#lb .lb-btn { position: absolute; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; border: 2px solid #fff; background: rgba(0,23,30,.9); color: #fff; cursor: pointer; padding: 0; }
#lb .lb-btn:hover { background: #a8bdc8; color: #00171e; }
#lb .lb-btn:focus-visible { outline: 3px solid #fbe1c7; outline-offset: 3px; }
#lb .lb-close { top: 16px; right: 16px; width: 50px; height: 50px; background: #fff; color: #00171e; border-color: #00171e; }
#lb .lb-close:hover { background: #fbe1c7; }
#lb .lb-prev { left: 16px; top: 50%; transform: translateY(-50%); }
#lb .lb-next { right: 16px; top: 50%; transform: translateY(-50%); }
#lb .lb-count { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; color: #fff; font: 15px Arial, Helvetica, sans-serif; }
#lb.single .lb-prev, #lb.single .lb-next, #lb.single .lb-count { display: none; }
@media (max-width: 600px) { #lb .lb-btn { width: 44px; height: 44px; } #lb .lb-prev { left: 8px; } #lb .lb-next { right: 8px; } #lb img { max-width: 100vw; } }

/* Dotted border and padding on every image in the content area (not only .post / .featuredpost) */
#content img, #content input[type=image] { border: 1px dotted #b8ced8; padding: 2px; }
#content a img:hover, #content input[type=image]:hover { background-color: #b8ced8; border-color: #fff; }
#content #bigmap img, #content .leaflet-container img, #content .mapframe { border: 0; padding: 0; }
#content #bigmap a img:hover { background-color: transparent; }
#content #footer img, #content #footer a img:hover { border: 0; padding: 0; background: none; }
#content #footer { border-top: 1px dotted #b8ced8; margin-top: 25px; padding-top: 25px; }

/* Contact form */
.contactform label { display: block; font-weight: bold; margin-bottom: 3px; }
.contactform small { font-weight: normal; }
.contactform input[type=text], .contactform input[type=email], .contactform textarea { width: 100%; max-width: 560px; box-sizing: border-box; padding: 6px 8px; border: 1px solid #b8ced8; font: inherit; }
.contactform button { padding: 8px 18px; font: inherit; font-weight: bold; cursor: pointer; }
.contactform .hp { position: absolute; left: -5000px; height: 0; overflow: hidden; }
.formerror { color: #f2a99a; font-weight: bold; }
.formok { font-weight: bold; }

/* Make casual photo saving harder */
img.hero, img.thumb, img.featured, #lb img { -webkit-user-drag: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
#lb .lb-caption { position: absolute; bottom: 44px; left: 0; right: 0; padding: 0 70px; text-align: center; color: #fff; font: 16px/1.4 Arial, Helvetica, sans-serif; }
#lb .lb-caption:empty { display: none; }
