/* base.css — stands in for Weebly's sites.css, which lived on cdn11.editmysite.com
   and disappears with the platform. Only the rules this theme actually relies on. */

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

/* multi-column layouts are tables; stack them on phones */
.wsite-multicol-table { width: 100%; border-collapse: collapse; border-spacing: 0; table-layout: fixed; }
.wsite-multicol-col { vertical-align: top; }
@media screen and (max-width: 767px) {
  .wsite-multicol-table-wrap { margin: 0 !important; }
  .wsite-multicol-table, .wsite-multicol-tbody, .wsite-multicol-tr, .wsite-multicol-col {
    display: block; width: 100% !important;
  }
  .wsite-multicol-col { padding: 0 !important; margin-bottom: 1.25em; box-sizing: border-box; }
}

/* images */
.wsite-image { display: block; }
.wsite-image img { display: inline-block; }
.wsite-image div, .wsite-caption { font-size: 90%; line-height: 1.4; padding-top: .35em; }

/* rules, spacers, paragraphs */
hr.styled-hr { border: 0; border-top: 1px solid #d5d5d5; margin: 1em 0; height: 0; }
.wsite-spacer { clear: both; }
.paragraph, .wsite-content-title { overflow-wrap: break-word; }

/* buttons */
a.wsite-button { display: inline-block; text-decoration: none; }
a.wsite-button .wsite-button-inner { display: inline-block; }

/* maps */
.wsite-map iframe { display: block; border: 0; width: 100%; }
.norbusum-maplink { display: block; font-size: 12px; margin: -4px 0 10px; }

/* footer mail icon (was an icon font on Weebly's CDN) */
.wsite-social-mail .wsite-social-item-inner {
  display: inline-block; width: 28px; height: 28px; vertical-align: middle;
  background: no-repeat center / 24px 24px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233f3f3f' stroke-width='1.6'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='1.5'/%3E%3Cpath d='M3.5 6.5l8.5 6.5 8.5-6.5'/%3E%3C/svg%3E");
}

/* image galleries: Weebly lays these out with inline styles (floated cells,
   75% aspect boxes, over-sized absolutely positioned images) */
.imageGallery::after { content: ""; display: block; clear: both; }
img.galleryImage { max-width: none; height: auto; }
@media screen and (max-width: 600px) {
  .imageGallery > div[id*="-imageContainer"] { width: 50% !important; }
}

/* lightbox (replaces Weebly's fancybox) */
.nb-lightbox { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center;
  background: rgba(12, 12, 12, .92); padding: 48px 56px; box-sizing: border-box; }
.nb-lightbox[hidden] { display: none; }
.nb-lightbox figure { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.nb-lightbox img { max-width: 100%; max-height: calc(100vh - 130px); width: auto; height: auto; box-shadow: 0 8px 40px rgba(0,0,0,.5); }
.nb-lightbox figcaption { color: #ddd; font: 14px/1.4 'Open Sans', Arial, sans-serif; text-align: center; max-width: 60em; }
.nb-lightbox button { position: absolute; background: none; border: 0; color: #eee; cursor: pointer;
  font: 300 42px/1 Arial, sans-serif; padding: 8px 14px; }
.nb-lightbox button:hover, .nb-lightbox button:focus-visible { color: #fff; outline: none; background: rgba(255,255,255,.08); }
.nb-lightbox .nb-close { top: 8px; right: 8px; font-size: 36px; }
.nb-lightbox .nb-prev  { left: 4px;  top: 50%; transform: translateY(-50%); }
.nb-lightbox .nb-next  { right: 4px; top: 50%; transform: translateY(-50%); }
.nb-lightbox .nb-count { position: absolute; bottom: 12px; left: 0; right: 0; text-align: center; color: #999; font: 12px Arial, sans-serif; }
@media screen and (max-width: 600px) { .nb-lightbox { padding: 48px 8px; } .nb-lightbox .nb-prev, .nb-lightbox .nb-next { top: auto; bottom: 0; transform: none; } }
