/*
Theme Name: Zinn Custom Theme
Template: twentytwentyfive
Author: Child Theme Configurator
Version: 1.0.1765296994
Updated: 2025-12-09 16:16:34

*/


/* Allow Group blocks set to wide to ACTUALLY go wide */
.wp-block-group.alignwide {
    max-width: none !important;
    width: 100% !important;
}

/* Override TT25 constrained layout */
.wp-block-group.is-layout-constrained {
    max-width: none !important;
}

.wp-block-navigation ul, .wp-block-navigation ul li {
    list-style: none;
    padding: 10px;
}

.lw-masonry-gallery {
    max-width: 1340px !important;
    margin-left: auto;
    margin-right: auto;
}

.wp-site-blocks {
    max-width: none !important;
}



.home h1.has-text-align-center.wp-block-post-title {
    display: none;
}
.bird-masonry-reset {
    display: block !important;
    all: unset !important;
    width: 100% !important;
}
.bird-masonry-reset * {
    all: revert !important;
}
.lw-masonry-gallery {
    display: block !important;
    -moz-column-count: 4;
    -webkit-column-count: 4;
    -o-column-count: 4;
    column-count: 4;
    width: 100% !important;
    -moz-column-gap: 1rem;
    -webkit-column-gap: 1rem;
    -o-column-gap: 1rem;
    column-gap: 1rem;
}
.lw-masonry-item {
    margin-bottom: 1rem;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
}
.lw-masonry-item img {
    display: block;
    width: 100%;
    height: auto;
}
@media (max-width: 1200px) {
.lw-masonry-gallery {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    -o-column-count: 3;
    column-count: 3;
}
}
@media (max-width: 800px) {
.lw-masonry-gallery {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    -o-column-count: 2;
    column-count: 2;
}
}
@media (max-width: 500px) {
.lw-masonry-gallery {
    -moz-column-count: 1;
    -webkit-column-count: 1;
    -o-column-count: 1;
    column-count: 1;
}
}

/* Make the birds gallery full-bleed, then center a 1340px masonry inside */

/* Break out of TT25's content width */
.birds-bleed-wrap {
    width: calc(100% + var(--scrollbar-width, 0px));
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* Now center the masonry grid inside that */
.birds-bleed-wrap .lw-masonry-gallery {
    max-width: 1340px;
    margin: 0 auto;
    column-count: 3;
    column-gap: 1.5rem;
}

/* Masonry items */
.lw-masonry-item {
    break-inside: avoid;
    margin-bottom: 1.5rem;
}

.lw-masonry-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}

/* Responsive column counts */
@media (max-width: 900px) {
    .birds-bleed-wrap .lw-masonry-gallery {
        column-count: 2;
    }
}

@media (max-width: 600px) {
    .birds-bleed-wrap .lw-masonry-gallery {
        column-count: 1;
    }
}

/* Center the masonry inside the viewport-wide wrapper */
.birds-bleed-wrap {
    text-align: center; /* ensures inner container centers */
}

.birds-bleed-wrap .lw-masonry-gallery {
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-block; /* key for proper centering */
}

/*New Code 1-8-26*/

/* ========= Masonry grid (CSS columns) ========= */
.lw-masonry-gallery{
  column-width: 260px;
  column-gap: 16px;
}

.lw-masonry-item{
  display: inline-block;
  width: 100%;
  margin: 0 0 16px;
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
}

.lw-masonry-img{
  display: block;
  width: 100%;
  height: auto;
}

.lw-masonry-caption{
  font-size: 14px;
  line-height: 1.3;
  margin-top: 6px;
}

/* ========= CSS-only lightbox with big X ========= */
.lw-lightbox{
  position: fixed;
  inset: 0;
  z-index: 2147483647;
  display: none;           /* hidden until targeted */
}

.lw-lightbox:target{
  display: block;          /* show when hash matches */
}

.lw-lightbox-bg{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.92);
  display: block;
}

.lw-lightbox-inner{
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  padding: 24px;
  box-sizing: border-box;
}

.lw-lightbox-close{
  position: absolute;
  top: 18px;
  right: 18px;
  font-size: 52px;
  line-height: 1;
  color: #fff;
  text-decoration: none;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(0,0,0,0.45);
  z-index: 2;
}

.lw-lightbox-media img,
img.lw-lightbox-img{
  display: block;
  width: auto;
  height: auto;
  max-width: 96vw;
  max-height: 82vh;
  margin: 0 auto;
}

.lw-lightbox-caption{
  margin-top: 10px;
  color: #fff;
  font-size: 16px;
  opacity: 0.9;
}
 /* Second new code 1-8-26*/

/* ===== CSS-only lightbox overlay with close X ===== */

.lw-lightbox {
    position: fixed;
    inset: 0;
    display: none;            /* hidden until targeted */
    z-index: 999999;
}

.lw-lightbox:target {
    display: block;           /* show on hash target */
}

.lw-lightbox-bg {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.92);
    display: block;
}

.lw-lightbox-inner {
    position: relative;
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    padding: 24px;
    box-sizing: border-box;
}

.lw-lightbox-close {
    position: absolute;
    top: 16px;
    right: 16px;
    font-size: 52px;
    line-height: 1;
    color: #fff;
    text-decoration: none;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(0,0,0,0.45);
    z-index: 2;
}

.lw-lightbox-media img,
img.lw-lightbox-img {
    display: block;
    width: auto;
    height: auto;
    max-width: 96vw;
    max-height: 85vh;
    margin: 0 auto;
}

/* Make the lightbox content area a real height container */
.lw-lightbox-inner {
  height: 100vh;
  padding: 24px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Constrain the entire media block to the viewport */
.lw-lightbox-media {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-height: 92vh;          /* IMPORTANT: gives caption a height context */
  width: 100%;
	min-height: 0;
}

/* Image: big, but will yield space if caption needs it */
.lw-lightbox-media img,
img.lw-lightbox-img {
  max-width: 96vw;
  width: auto;
  height: auto;
	
	flex: 1 1 auto;        /* allow it to shrink */
  min-height: 0;         /* IMPORTANT */
  max-height: none;      /* remove the old hard cap */
}

/* Caption: guaranteed space + scroll */
.lw-lightbox-caption {
  max-width: 650px;
  width: calc(100vw - 48px);

  margin-top: 12px;
  padding: 12px 14px;
  box-sizing: border-box;

  background: #000;
  color: #fff;
  font-size: 15px;
  line-height: 1.35;
  text-align: left;

	flex: 0 0 auto;
  max-height: 35vh;      /* RESERVED caption space */
  overflow-y: auto;
  min-height: 0;         /* IMPORTANT */
}

/* If some theme CSS is clipping descendants, neutralize it */
.lw-lightbox,
.lw-lightbox-inner,
.lw-lightbox-media {
  overflow: visible;
}

/* ePub Viewer */
section#simebv-reader-container {
    background: #fff;
}

/* Show best viewer */

@media (max-width: 382px) {
	img {
		max-width: 350px!important;
		margin-left: -10px
	}
}

@media (max-width: 782px) {
  .gb-element-696e7737 {
	  display: block; 
	}
	
  .gb-element-46eff157 { 
	  display: none;
	}
}

@media (min-width: 783px) {
	.gb-element-696e7737 {
    display: none;
	}
  .gb-element-46eff157 {
	  display: block!important; }
	}
}

#simebv-nav-bar {
    display: none!important;
}

:root {
    --wp--style--root--padding-right: var(--wp--preset--spacing--0);
    --wp--style--root--padding-left: var(--wp--preset--spacing--0);
}

.gb-element-696e7737 {
    padding-right: 0!important;
    padding-left: 0!important;
}

.wp-block-accordion-panel p {
  margin-bottom: 8px;
}

.wp-block-accordion-panel h1, h2, h3, h4 {
  margin-bottom: 12px;
}

.gb-callout-right {
  float: right;
  width: 260px;
  max-width: 45%;
  margin: 0 0 12px 18px;
}

@media (max-width: 768px){
  .gb-callout-right{
    float: none;
    width: auto;
    max-width: 100%;
    margin: 0 auto 12px;
  }
}

.callout-right{
  float: right;
  width: 260px;          /* pick your sidebar width */
  max-width: 45%;
  margin: 0 0 12px 18px; /* space between it and wrapped text */
  padding: 12px;
  box-sizing: border-box;
  border: 1px solid currentColor;   /* optional */
  border-radius: 8px;                /* optional */
}

/* Mobile: cancel the float */
@media (max-width: 768px){
  .callout-right{
    float: none;
    width: auto;
    max-width: 100%;
    margin: 0 auto 12px;
  }
}

.phone-view-horizontal {
		display: none;
	}

@media (max-width: 600px) {

	body {
    --wp--style--root--padding-right: var(--wp--preset--spacing--5);
    --wp--style--root--padding-left: var(--wp--preset--spacing--5);
}
	
	body.home {
    --wp--style--root--padding-right: var(--wp--preset--spacing--10);
    --wp--style--root--padding-left: var(--wp--preset--spacing--10);
}
	
	.gb-element-696e7737 { 
    --wp--style--root--padding-left: 5px!important;
    --wp--style--root--padding-right: 5px!important;
  }

	.wp-site-blocks :is(.has-global-padding, .wp-block-group, .wp-block-cover):has(.gb-element-696e7737 ) {
    padding-left: 5px !important;
    padding-right:5px !important;
	}

  .gb-element-696e7737 img,
  .gb-element-696e7737 figure,
  .gb-element-696e7737 .wp-block-image {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
	
.phone-view-horizontal {
		display: block;
	}
}

p.footer-site-title a:where(:not(.wp-element-button)) {
  text-decoration: none;
}

p.footer-site-title a:where(:not(.wp-element-button)):hover {
  text-decoration: underline;
}

div#modal-2 {

    opacity: .9 !important;
}

div#modal-1 {
    width: 400px;
    opacity: .9 !important;
}

.page-id-1023 .wp-site-group,
.page-id-1033 .wp-site-group {
    max-width: none !important;
    background: #599DE3;
}


.page-id-1320 h2,
.page-id-1320 p,
.page-id-1033 p,
.page-id-1033 ul,
.page-id-1033 h3,
.page-id-1033 h2,
.page-id-1023 p,
.page-id-1023 ul,
.page-id-1023 h3 {
    color: #fff!important;
}
p.wp-block-site-title {
	color: #000;
}
p.wp-block-site-tagline,
ul.wp-block-navigation__container.is-responsive.items-justified-left.wp-block-navigation {
    color: #000;
}

.page-id-1023 h1,
.page-id-1033 h1 {
    color: #fff;
}

.page-id-1033 h1 {
    color: #fff;
}


h1.has-text-align-center.has-link-color.wp-elements-aae6242839eb943e4e7008d065467780.wp-block-post-title.has-text-color.has-comic-neue-font-family {
    margin-top: 0 !important;
}

.gb-element-8ed9c89d {
    height: 200px!important;
}

.wp-container-core-group-is-layout-b5236393 > * + * {
    margin-block-start: var(--wp--preset--spacing--40);
    margin-block-end: 0;
}

/* Apply this class to each box/card */
.hover-card {
  position: relative;
  background: #C6D3C5;   /* tweak to match your green */
  border: 1px solid rgba(0,0,0,0.20);
  border-radius: 10px;
 box-shadow: 0 14px 28px rgba(0,0,0,0.18);
  transition: transform 220ms ease, box-shadow 220ms ease, background-color 220ms ease, border-color 220ms ease;
  will-change: transform;
}

.hover-card a::after {
  content: "";
  position: absolute;
  inset: 0;
}

/* Hover + keyboard focus (so it works when tabbing too) */

.page-id-1135 a {
	color: #000!important;
}

.page-id-1135 a:hover {
	color: #000;
}

.hover-card :link {	
	text-decoration: none;
}

.hover-card:hover,
.hover-card:focus-within {
  transform: translateY(-3px) scale(1.02);
  background: rgba(255,255,255,0.16);   /* slightly lighter */
  border-color: rgba(0,0,0,0.28);
  box-shadow: 0 14px 28px rgba(0,0,0,0.18);
  z-index: 2; /* keeps it above neighbors while “coming forward” */
}

/* Optional: make the linked title feel a bit more “alive” */
.hover-card:hover a,
.hover-card:focus-within a {
  text-decoration-thickness: 2px;
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  .hover-card {
    transition: none;
  }
  .hover-card:hover,
  .hover-card:focus-within {
    transform: none;
  }
}

/* 1) Make sure header/nav sits above page content */
header,
.wp-site-blocks > header,
.site-header {
  position: relative;
  z-index: 9999;
}

/* 2) Make the dropdown itself sit above everything */
.wp-block-navigation__submenu-container {
  position: relative;
  z-index: 10000;
}

.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
    color: #000!important;
}

..wp-block-image.horizontal-caption {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 12px;
}

.wp-block-image.horizontal-caption img {
    display: block;
    max-width: 150px;
    height: auto;
    flex: 0 0 auto;
}

.wp-block-image.horizontal-caption figcaption {
    margin: 0 !important;
    display: block;
    flex: 1 1 auto;
    text-align: left;
}

:root :where(.wp-element-caption, .wp-block-audio figcaption, .wp-block-embed figcaption, .wp-block-gallery figcaption, .wp-block-image figcaption, .wp-block-table figcaption, .wp-block-video figcaption) {
    color: var(--wp--preset--color--contrast);
    font-size: var(--wp--preset--font-size--medium);
    line-height: 1.4;
}

.wp-block-accordion-heading__toggle {
    align-items: center;
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    display: flex;
    font-family: inherit;
    font-size: 1.5rem!important;
    font-style: inherit;
    font-weight: 400!important;
    letter-spacing: inherit;
    line-height: 1.4!important;
    overflow: hidden;
    padding: var(--wp--preset--spacing--30, 1em) 0;
    text-align: inherit;
    text-decoration: inherit;
    text-transform: inherit;
    width: 100%;
    word-spacing: inherit;
}