[data-gallery] { position: relative; }
.gallery-loading-overlay { position: absolute; inset: 0; z-index: 50; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.82); backdrop-filter: blur(2px); opacity: 1; visibility: visible; pointer-events: auto; transition: opacity 0.35s ease, visibility 0.35s ease; }
.gallery-loading-box { text-align: center; color: #066100; font-size: 18px; line-height: 1.4;}
.gallery-loading-spinner { width: 54px; height: 54px; margin: 0 auto 12px auto; border: 5px solid rgba(6, 97, 0, 0.18); border-top-color: #066100; border-radius: 50%; animation: gallerySpin 0.9s linear infinite;}
.gallery-loading-text { font-weight: normal;}
@keyframes gallerySpin { to { transform: rotate(360deg); }}
[data-gallery].gallery-is-loading .gallery-thumb { pointer-events: none; opacity: 0.35;}
[data-gallery].gallery-is-ready .gallery-loading-overlay { opacity: 0; visibility: hidden; pointer-events: none;}
[data-gallery].gallery-is-ready .gallery-thumb {pointer-events: auto;}
#mobile-menu-toggle { display: none;}
@media all and (max-width: 799px) {
  body.mobile-menu-open { overflow: hidden !important; }
  #mobile-menu-toggle {
    display: block !important;
    position: fixed !important;
    top: 15px !important;
    left: 10px !important;
    width: 40px !important;
    height: 40px !important;
    z-index: 1000002 !important;
    background: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #mobile-menu-toggle span {
    position: absolute !important;
    left: 5px !important;
    width: 30px !important;
    height: 4px !important;
    background: #066100 !important;
    border-radius: 2px !important;
    transition: top 0.25s ease, transform 0.25s ease, opacity 0.25s ease !important;
  }
  #mobile-menu-toggle span:nth-child(1) {  top: 7px !important; }
  #mobile-menu-toggle span:nth-child(2) { top: 18px !important; }
  #mobile-menu-toggle span:nth-child(3) { top: 29px !important; }
  #mobile-menu-toggle:hover span:nth-child(1) {top: 11px !important;}
  #mobile-menu-toggle:hover span:nth-child(3) {top: 24px !important;}
  body.mobile-menu-open #mobile-menu-toggle span:nth-child(1) { top: 18px !important; transform: rotate(45deg) !important; }
  body.mobile-menu-open #mobile-menu-toggle span:nth-child(2) { opacity: 0 !important; }
  body.mobile-menu-open #mobile-menu-toggle span:nth-child(3) {top: 18px !important;transform: rotate(-45deg) !important; }
  #menu {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 1000001 !important;
    background: rgb(103, 180, 128, 1) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 95px 24px 40px 24px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateX(-100%) !important;
    transition: opacity 0.25s ease, transform 0.25s ease !important;
  }
  body.mobile-menu-open #menu { opacity: 1 !important; pointer-events: auto !important; transform: translateX(0) !important;}
  #menu ul, #menu li {
    float: none !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    text-align: left !important;
	background: rgb(103, 180, 128, 1) !important;
  }
  #menu > ul {display: block !important; max-width: 520px !important; margin: 0 auto !important;}
  #menu li {display: block !important; border-bottom: none !important; }
  #menu a { display: block !important; width: 100% !important; box-sizing: border-box !important; padding: 16px 8px !important; color: #066100 !important; background: transparent !important; font-size: 24px !important; line-height: 1.25 !important; text-decoration: none !important; font-weight: normal !important; }
  #menu a:hover, #menu a:focus { background: rgba(6, 97, 0, 0.08) !important; color: #066100 !important;}
  #menu li.has-children > a { position: relative !important; padding-right: 48px !important; text-align:left; }
  #menu li.has-children > a::after { content: "+" !important;  position: absolute !important;  right: 12px !important; top: 50% !important; transform: translateY(-50%) !important; color: #066100 !important; font-size: 28px !important; line-height: 1 !important; }
  #menu li.has-children.submenu-open > a::after { content: "−" !important;}
  #menu li > ul { display: none !important; position: static !important; width: auto !important; background: transparent !important; box-shadow: none !important; border: 0 !important; padding: 0 0 10px 18px !important; margin: 0 !important; }
  #menu li.submenu-open > ul {  display: block !important; }
  #menu li > ul li { border-bottom: 0 !important; }
  #menu li > ul a { font-size: 20px !important; padding: 10px 8px !important; color: #066100 !important; }
  #menu li > ul li > ul a { font-size: 18px !important; padding-left: 20px !important; }
  #menu a:hover {text-align: left !important;}
}
@media screen and (min-width: 800px) and (max-width: 1199px) {
  div#menu a {font-size: 16px;}
  div#menu li {padding: 0.2rem;}
  div#menu ul li ul { margin-top: 0.2rem; }
}