html { 
	scroll-behavior: smooth; 
}

.page-id-841 .wp-block-image{
  transition: all 0.3s ease; /* Smooth transition effect */
  border: 2px solid #ddd; /* Initial border color */
}


.page-id-841 .wp-block-image:hover {
  border-color: #ff5733; /* Border color on hover */
  box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.2); /* Apply shadow on hover */
  transform: scale(1.02); /* Slightly increase size on hover */
}

.wp-block-button .wp-block-button__link {
  background-color: #ff4040;
  color: #ffffff;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
  display: inline-block;
  transition: all 0.3s fease;
}

.wp-block-button .wp-block-button__link:hover {
  background-color: #d63333;
  color: #f2f2f2;
  transform: scale(1.05);
  text-decoration: none;
}

.inside-navigation {
    background-color: #ffffff;
}
	
gift-subscription-banner, 
div[class*="gift"] {
    display: none !important;
}



/* GeneratePress Site CSS */ /* grey line under navigation */
.site-header {
	border-bottom: 1px solid #dddddd;
}

/* makes featured article section full width */
.generate-columns-container .featured-column {
	width: 100%;
} /* End GeneratePress Site CSS */

/* Base hidden state */
.reveal {
  opacity: 0;
  transform: translate3d(0,0,0);         /* enable GPU compositing */
  will-change: transform, opacity;
  transition: transform .7s ease-out, opacity .7s ease-out;
}

/* Directions */
.slide-left  { transform: translateX(-40px); }
.slide-right { transform: translateX(40px);  }
.slide-up    { transform: translateY(40px);  }

/* When in view */
.reveal.in-view {
  opacity: 1;
  transform: translateX(0) translateY(0);
}

/* Stagger helpers */
.delay-1 { transition-delay: .90s; }
.delay-2 { transition-delay: .120s; }
.delay-3 { transition-delay: .200s; }

/* Reduce motion respect */
@media (prefers-reduced-motion: reduce) {
  .reveal { transition: none; transform: none !important; opacity: 1 !important; }
}

/* Hide pause/play button */
a.wp-block-jetpack-slideshow_button-pause,
a.wp-block-jetpack-slideshow_button-resume,
.wp-block-jetpack-slideshow_button-pause,
.wp-block-jetpack-slideshow_button-resume {
  display: none !important;
}

/* Hide pagination numbers/dots */
.wp-block-jetpack-slideshow .swiper-pagination,
.wp-block-jetpack-slideshow .swiper-pagination-fraction {
  display: none !important;
}

/* Hide prev/next arrows */
.wp-block-jetpack-slideshow .swiper-button-prev,
.wp-block-jetpack-slideshow .swiper-button-next {
  display: none !important;
}

/* Base animation */
.scroll-animate {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease-out;
}

/* Triggered when visible */
.scroll-animate.visible {
  opacity: 1;
  transform: translateY(0);
}

/* 1) Keep the float animation on the WRAPPERS so z-index works */
@keyframes floaty {
  0% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0); }
}

/* Parent creates its own stacking context so outside styles don't interfere */
.people-bubbles { position: relative; isolation: isolate; }

/* Animate wrappers and make them positionable */
.bubble-1, .bubble-2, .bubble-3 {
  position: relative;
  display: inline-block;
  animation: floaty 6s ease-in-out infinite;
  will-change: transform;
}

/* Stagger timings */
.bubble-2 { animation-duration: 7s; animation-delay: .5s; }
.bubble-3 { animation-duration: 5.5s; animation-delay: .25s; }

/* 2) Z-order: bubble 2 on top */
.bubble-1, .bubble-3 { z-index: 10; }
.bubble-2 { z-index: 999; }

/* 3) If your images themselves have transforms or z-index, pin them under the wrapper */
.bubble-1 img, .bubble-3 img { position: relative; z-index: 1; }
.bubble-2 img { position: relative; z-index: 2; }

/* 4) Gutenberg/GenerateBlocks wrappers sometimes add extra layers — normalize them */
.bubble-1.wp-block-image, .bubble-2.wp-block-image, .bubble-3.wp-block-image,
.bubble-1 .wp-block-image, .bubble-2 .wp-block-image, .bubble-3 .wp-block-image,
.bubble-1 .gb-image, .bubble-2 .gb-image, .bubble-3 .gb-image {
  position: relative;
  z-index: inherit;
  transform: none;
}

/* 5) Emergency override if something still wins the stacking war */
.bubble-2, .bubble-2 *, .bubble-2 img, .bubble-2 figure { position: relative !important; z-index: 999 !important; }


.tribe-events-widget-events-list__view-more-link {
	display:none;
}

/* Persistent centered logo + left hamburger for GeneratePress mobile header */
@media (max-width: 768px) {

  /* cover all common mobile header containers */
  header .inside-header,
  .site-header .inside-header,
  .inside-mobile-header,
  .mobile-header .inside-mobile-header,
  .site-header .inside-mobile-header {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    min-height: 80px !important; /* increase if you need larger logo space */
    padding-left: 48px !important; /* room for left toggle */
    padding-right: 48px !important;
  }

  /* force hamburger left, keep clickable */
  .menu-toggle,
  .mobile-header .menu-toggle,
  .inside-mobile-header .menu-toggle,
  .site-header .menu-toggle {
    position: absolute !important;
    left: 40px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 99999 !important;
    margin: 0 !important;
    pointer-events: auto !important;
  }

  /* absolutely center logo/branding (works for image or text) */
  .site-logo,
  .site-branding,
  .inside-mobile-header .site-logo,
  .inside-mobile-header .site-branding,
  .mobile-header .site-logo,
  .mobile-header .site-branding {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: auto !important;
    max-width: 72% !important;
    z-index: 99998 !important;
    text-align: center !important;
  }

  /* enlarge the logo image — change 80px to whatever you want */
  .site-logo img,
  .site-branding img,
  .inside-mobile-header .site-logo img {
    max-height: 80px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
  }
}

@media (max-width: 992px) and (min-width: 769px) {
    .site-logo, .site-branding {
        margin-bottom: 0 !important;
    }
}

/* CSS for the spinner and overlay */
#preloader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 1;
  transition: opacity 0.5s ease;
}

#preloader-overlay img {
  width: 80px; /* adjust size */
  height: 80px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

#preloader-overlay.hidden {
  opacity: 0;
  pointer-events: none;
}

form.mailpoet-manage-subscription .mailpoet_text_label, 
form.mailpoet-manage-subscription .mailpoet_select_label, 
form.mailpoet-manage-subscription .mailpoet_segment_label{
    display: block;
    font-weight:bold;
}
form.mailpoet-manage-subscription .mailpoet_select, 
form.mailpoet-manage-subscription .mailpoet_text{
	width: 50%;
	padding: 12px;
}
form.mailpoet-manage-subscription .mailpoet_paragraph{
	margin-bottom:20px
}
form.mailpoet-manage-subscription .mailpoet_submit{
    padding: 20px 20px;
    width: 50%;
    font-weight: bold;
    font-size: 11pt;
}

.lidknop a{
  display: inline-block;
  color: #fff !important; 
  background: #e22a15;
  padding: 0.1rem 0.1rem;
  border-radius: 999px; /* rounded corners */ 
  text-decoration: none;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;

  /* smooth hover feel */
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
  will-change: transform;
}

.lidknop:hover{
  filter: brightness(1.03);
  animation: lidknop-pop 220ms ease-out;
}

/* subtle "pop" animation */
@keyframes lidknop-pop{
  0%   { transform: scale(1); }
  60%  { transform: scale(1.06); }
  100% { transform: scale(1.03); }
}

.lidknop:active{
  transform: scale(0.98);
}