/*PAGE LOADING STYLES */
.page-loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: all .4s .2s ease-in-out;
  transition: all 0.4s 0.2s ease-in-out;
  background-color: #FFF;
  opacity: 0;
  visibility: hidden;
  z-index: 9999;
}
[data-bs-theme="dark"] .page-loading {
  background-color: #121519;
}
.page-loading.active {
  opacity: 1;
  visibility: visible;
}
.page-loading-inner {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: opacity .2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
  opacity: 0;
}
.page-loading.active > .page-loading-inner {
  opacity: 1;
}
.page-loading-inner > span {
  display: block;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: normal;
  color: #6F788B;
}
[data-bs-theme="dark"] .page-loading-inner > span {
  color: #FFF;
  opacity: 0.6;
}
.page-spinner {
  display: inline-block;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 0.75rem;
  vertical-align: text-bottom;
  background-color: #D7DDE2;
  border-radius: 50%;
  opacity: 0;
  -webkit-animation: spinner .75s linear infinite;
  animation: spinner 0.75s linear infinite;
}
[data-bs-theme="dark"] .page-spinner {
  background-color: rgba(255, 255, 255, 0.25);
}
@-webkit-keyframes spinner {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes spinner {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  50% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
/*VARIABLES*/
:root, [data-bs-theme=light] {
  --ar-gray-100: #f6f9fc;
  --ar-gray-200: #edf1f5;
  --ar-gray-300: #e3e9ef;
  --ar-gray-400: #d7dde2;
  --ar-gray-500: #b4bbc3;
  --ar-gray-600: #858c97;
  --ar-gray-700: #576071;
  --ar-gray-800: #434a57;
  --ar-gray-900: #121519;
  --ar-primary: #448c74;
  --ar-secondary: #edf1f5;
  --ar-success: #3fca90;
  --ar-info: #3f7fca;
  --ar-warning: #edcb50;
  --ar-danger: #ed5050;
  --ar-light: #fff;
  --ar-dark: #121519;
  --ar-primary-rgb: 68, 140, 116;
  --ar-secondary-rgb: 237, 241, 245;
  --ar-success-rgb: 63, 202, 144;
  --ar-info-rgb: 63, 127, 202;
  --ar-warning-rgb: 237, 203, 80;
  --ar-danger-rgb: 237, 80, 80;
  --ar-light-rgb: 255, 255, 255;
  --ar-dark-rgb: 18, 21, 25;
  --ar-primary-text-emphasis: #336a58;
  --ar-secondary-text-emphasis: #576071;
  --ar-success-text-emphasis: #2ea875;
  --ar-info-text-emphasis: #2e66a8;
  --ar-warning-text-emphasis: #e8bd22;
  --ar-danger-text-emphasis: #e82222;
  --ar-light-text-emphasis: #576071;
  --ar-dark-text-emphasis: #121519;
  --ar-primary-bg-subtle: #ecf4f1;
  --ar-secondary-bg-subtle: #f6f9fc;
  --ar-success-bg-subtle: #ecfaf4;
  --ar-info-bg-subtle: #ecf2fa;
  --ar-warning-bg-subtle: #fdfaee;
  --ar-danger-bg-subtle: #fdeeee;
  --ar-light-bg-subtle: #fff;
  --ar-dark-bg-subtle: #ececed;
  --ar-primary-border-subtle: #dae8e3;
  --ar-secondary-border-subtle: #edf1f5;
  --ar-success-border-subtle: #d9f4e9;
  --ar-info-border-subtle: #d9e5f4;
  --ar-warning-border-subtle: #fbf5dc;
  --ar-danger-border-subtle: #fbdcdc;
  --ar-light-border-subtle: #f6f9fc;
  --ar-dark-border-subtle: #edf1f5;
  --ar-white-rgb: 255, 255, 255;
  --ar-black-rgb: 0, 0, 0;
  --ar-font-sans-serif: "Inter", sans-serif;
  --ar-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --ar-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --ar-root-font-size: 1rem;
  --ar-body-font-family: var(--ar-font-sans-serif);
  --ar-body-font-size:1rem;
  --ar-body-font-weight: 400;
  --ar-body-line-height: 1.5;
  --ar-body-color: #576071;
  --ar-body-color-rgb: 87, 96, 113;
  --ar-body-bg: #fff;
  --ar-body-bg-rgb: 255, 255, 255;
  --ar-emphasis-color: #000;
  --ar-emphasis-color-rgb: 0, 0, 0;
  --ar-secondary-color: #858c97;
  --ar-secondary-color-rgb: 133, 140, 151;
  --ar-secondary-bg: #edf1f5;
  --ar-secondary-bg-rgb: 237, 241, 245;
  --ar-tertiary-color: rgba(87, 96, 113, 0.5);
  --ar-tertiary-color-rgb: 87, 96, 113;
  --ar-tertiary-bg: #f6f9fc;
  --ar-tertiary-bg-rgb: 246, 249, 252;
  --ar-heading-color: var(--ar-gray-900);
  --ar-link-color: #448c74;
  --ar-link-color-rgb: 68, 140, 116;
  --ar-link-decoration: underline;
  --ar-link-hover-color: #37715d;
  --ar-link-hover-color-rgb: 55, 113, 93;
  --ar-link-hover-decoration: none;
  --ar-code-color: #e3116c;
  --ar-highlight-color: #576071;
  --ar-highlight-bg: #fff3cd;
  --ar-border-width: 1px;
  --ar-border-style: solid;
  --ar-border-color: #e3e9ef;
  --ar-border-color-translucent: rgba(0, 0, 0, 0.1);
  --ar-border-radius: 1rem;
  --ar-border-radius-sm: calc(var(--ar-border-radius) * 0.75);
  --ar-border-radius-lg: calc(var(--ar-border-radius) * 1.125);
  --ar-border-radius-xl: calc(var(--ar-border-radius) * 1.5);
  --ar-border-radius-xxl: calc(var(--ar-border-radius) * 2.25);
  --ar-border-radius-2xl: var(--ar-border-radius-xxl);
  --ar-border-radius-pill: 50rem;
  --ar-box-shadow: 0 0.4375rem 1.25rem rgba(208, 208, 196, 0.32);
  --ar-box-shadow-sm: 0 0.375rem 0.75rem -0.125rem rgba(208, 208, 196, 0.24);
  --ar-box-shadow-lg: 0 0.5rem 1.75rem -0.125rem rgba(208, 208, 196, 0.48);
  --ar-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --ar-focus-ring-width: 0.25rem;
  --ar-focus-ring-opacity: 0.25;
  --ar-focus-ring-color: rgba(68, 140, 116, 0.25);
  --ar-form-valid-color: #3fca90;
  --ar-form-valid-border-color: #3fca90;
  --ar-form-invalid-color: #ed5050;
  --ar-form-invalid-border-color: #ed5050;
  --ar-btn-border-radius: 0px;
}
/*BUTTONS*/
.btn {
  border-radius: 0px !important;
}
.btn-xs {
  font-size: 0.8rem !important;
  padding: 3px 5px;
}
.btn-highlight {
  animation: border-pulse 2s ease-in-out infinite;
}
@keyframes border-pulse {
  0%, 100% {
    border-color: currentColor;
    opacity: 1;
  }
  50% {
    border-color: currentColor;
    opacity: 0.8;
  }
}
.btn:hover {
  text-decoration: none;
}
.btn.btn-green {
  background: rgb(68, 140, 116);
  /*+border-radius: 0;*/
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -khtml-border-radius: 0;
  border-radius: 0;
  border: 3px solid rgb(68, 140, 116);
}
.btn.btn-green:hover {
  background: #37715D;
  color: #FFFFFF;
  border: 3px solid #37715D;
}
.btn.btn-green-outline {
  background: rgb(255, 255, 255);
  /*+border-radius: 0;*/
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -khtml-border-radius: 0;
  border-radius: 0;
  color: #37715D;
  border: 3px solid #37715D;
}
.btn.btn-green-outline:hover {
  background: #37715D;
  color: #FFFFFF;
  border: 3px solid #37715D;
}
.btn.btn-grey {
  background: #434A57;
  /*+border-radius: 0;*/
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -khtml-border-radius: 0;
  border-radius: 0;
  border: 3px solid #434A57;
}
.btn.btn-grey:hover {
  background: #323740;
  color: #FFFFFF;
  border: 3px solid #323740;
}
.btn.btn-grey-outline {
  background: rgb(255, 255, 255);
  /*+border-radius: 0;*/
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -khtml-border-radius: 0;
  border-radius: 0;
  color: #434A57;
  border: 3px solid #434A57;
}
.btn.btn-grey-outline:hover {
  background: #323740;
  color: #FFFFFF;
  border: 3px solid #323740;
}
.btn-more-dates {
  font-size: 0.8rem !important;
  border: none !important;
  padding: 5px 10px;
}
.btn-green.btn-active.btn-disabled {
  background-color: #37715D;
}
.input-group .btn:not(.rounded-pill) {
  border-radius: 0px !important;
}
/*OTHER*/
body.bg-light {
  background-color: #EEEEEE !important;
}
header {
  background-color: #C5CDCA;
}
header a.navbar-brand {
  border: 3px solid #434A57;
  padding: 10px 10px 5px 10px !important;
  display: block;
  background-color: #FFFFFF;
}
header a.navbar-brand div.nav-heading {
  font-family: 'JosefinSans';
  font-size: 2.5rem;
  display: block;
  line-height: 1;
  color: #121519;
  text-decoration: none;
}
header a.navbar-brand:hover {
  text-decoration: none !important;
}
header a.navbar-brand div.nav-sub-heading {
  font-family: 'Inter';
  font-size: 1rem;
  padding: 5px 10px 2px !important;
  line-height: 1.2;
  display: block;
}
main {
  margin-top: 100px;
  margin-bottom: 40px;
}
main img {
  max-width: 100%;
  height: auto;
}
h1, h2, h3 {
  font-family: 'JosefinSans';
}
h4, h5, h6 {
  font-family: 'Inter';
}
/*.main-content
{
	max-width: 100% !important;
}*/
nav#navbarNav.navbar-collapse.collapse.show {
  /*+border-radius: 0;*/
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -khtml-border-radius: 0;
  border-radius: 0;
}
.main-content a:not(.btn) {
  color: #448C74 !important;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.org-card {
  /*margin: 0px;*/
  /*background-color: #ECECEC;*/
  /*padding: 20px !important;*/
  /*+border-radius: 0px;*/
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  -khtml-border-radius: 0px;
  border-radius: 0px;
  border: 2px solid #434A57;
  background-color: #F7F7F7;
}
.org-info-card {
  margin: 0px;
  padding: 20px !important;
  /*+border-radius: 0px;*/
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  -khtml-border-radius: 0px;
  border-radius: 0px;
  border: 2px solid #434A57;
  background-color: #F7F7F7;
}
.org-info-card a:not(.btn) {
  overflow-wrap: break-word;
  word-wrap: break-word;
  /* belt and braces for older browsers */
  display: inline-block;
  /* helps overflow-wrap apply reliably to inline elements */
  max-width: 100%;
}
.org-info-card h4 {
  word-break: keep-all;
}
div.card div.card-body div .card-contact-line div i {
  top: -3px !important;
  position: relative;
}
.badge {
  --ar-badge-padding-x: 0.75em;
  --ar-badge-padding-y: 0.5em;
  --ar-badge-font-size:0.75em;
  --ar-badge-font-weight: 600;
  --ar-badge-color: #fff;
  --ar-badge-border-radius: 50rem;
  display: inline-block;
  padding:0.6em var(--ar-badge-padding-x) var(--ar-badge-padding-y);
  font-size:var(--ar-badge-font-size);
  font-weight:var(--ar-badge-font-weight);
  line-height: 1;
  color:var(--ar-badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius:var(--ar-badge-border-radius);
}
[id] {
  scroll-margin-top:180px;
}
.form-control {
  display: block;
  width: 100%;
  padding: 0.825rem 1rem;
  font-size: calc(var(--ar-body-font-size) * 0.875);
  font-weight: 400;
  line-height: 1.4;
  color: #FFFFFF;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #448C74;
  background-clip: padding-box;
  border:var(--ar-border-width) solid var(--ar-gray-600);
  border-radius:var(--ar-border-radius);
  transition: border-color 0.15s ease-in-out;
}
.input-group {
  border-radius: 0px !important;
  border: 2px solid rgba(255, 255, 255, 0.200);
}
#shared-email, #get-in-touch-form .form-control, #get-in-touch-form .form-select, #get-in-touch-form .input-group-text, #get-in-touch-form .btn, #get-in-touch-form .nav-tabs .nav-link {
  border-radius: 0 !important;
}
a.btn-scroll-top:hover {
  text-decoration: none;
}
/* Moniaive Weather Styles */
div.card-weather-day {
  /*+border-radius: 0;*/
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -khtml-border-radius: 0;
  border-radius: 0;
  border: 2px solid #434A57;
  padding: 0px;
}
@media (max-width: 480px) {
  div.card-weather-day {
    padding: 0px;
  }
}
.moniaive-weather {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  max-width: 900px;
  margin: 2rem 0;
}
.moniaive-weather h3 {
  margin-bottom: 1.5rem;
  color: #333;
}
.weather-days {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1rem;
}
.weather-day {
  background: #F8F9FA;
  border: 1px solid #DEE2E6;
  border-radius: 8px;
  padding: 1rem;
  text-align: center;
}
.day-header {
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #DEE2E6;
}
.day-header strong {
  display: block;
  font-size: 1.1rem;
  color: #333;
}
.day-header .date {
  font-size: 0.85rem;
  color: #666;
}
.condition {
  font-weight: 500;
  color: #495057;
  margin: 0.75rem 0;
  min-height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.temp {
  font-size: 1.2rem;
  font-weight: 600;
  color: #0066CC;
  margin: 0.5rem 0;
}
.details {
  font-size: 0.85rem;
  color: #6C757D;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid #DEE2E6;
}
.weather-credit {
  margin-top: 1.5rem;
  font-size: 0.85rem;
  color: #6C757D;
  text-align: right;
}
.weather-credit a {
  color: #0066CC;
  text-decoration: none;
}
.weather-credit a:hover {
  text-decoration: underline;
}
.weather-error {
  background: #FFF3CD;
  border: 1px solid #FFC107;
  border-radius: 4px;
  padding: 1rem;
  color: #856404;
}
li.nav-item.nav-item-weather a.nav-link:hover {
  text-decoration: none !important;
}
/* Responsive adjustments */
@media (max-width: 768px) {
  .weather-days {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.75rem;
  }
  .weather-day {
    padding: 0.75rem;
  }
}
/*NEWS CARD*/
.news-card {
  position: relative;
  display: block;
  border: 0px solid #A90000;
  margin-bottom: 4rem;
}
.news-card-aside {
  margin-bottom: 2.5rem;
}
.news-card-header {
  border-top: 2px solid #434A57;
  border-right: 2px solid #434A57;
  border-left: 2px solid #434A57;
  padding: 20px;
  background-color: #FDFDFD;
}
.news-card-header-aside {
  background-color: #F7F7F7;
  border-top: 2px solid #A1A5AC;
  border-right: 2px solid #A1A5AC;
  border-left: 2px solid #A1A5AC;
  border-bottom: 2px solid #A1A5AC;
  padding: 16px;
  /*border: 2px solid #434A57;*/
}
.news-card-header-title {
  text-align: left;
  margin-top: 10px;
  margin-bottom: 5px;
}
.news-card-header-subtitle {
  text-align: left;
  margin-bottom: 10px;
  font-size: 1rem;
  font-weight: 800;
}
.news-card-header-subtitle a {
  color: rgba(255, 255, 255, 0.409) !important;
}
.news-card-header h5 {
  color: #448C74;
  font-size: 1rem;
  line-height: 2.5rem;
}
.news-card-header h5 span.date-highlight {
  margin-right: 10px;
  border: 2px solid #448C74;
  padding: 5px;
  background-color: #E3FEB4;
  line-height: 2.5rem;
}
@media (max-width: 767px) {
  .news-card-header h5 span.date-highlight {
    padding: 5px;
    line-height: 2.5rem;
  }
}
.news-card-body {
  border: 2px solid #434A57;
  background-color: #FDFDFD;
  /*+border-radius: 0 !important;*/
  -moz-border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
  -khtml-border-radius: 0 !important;
  border-radius: 0 !important;
  position: relative;
  display: block;
  margin: 0 !important;
  padding: 0px;
}
.news-card-body-image {
  -moz-border-radius: 0 !important;
  -webkit-border-radius: 0 !important;
  -khtml-border-radius: 0 !important;
  border-radius: 0 !important;
  overflow: hidden;
}
.news-card-body-image-container {
  position: relative;
  width: 100%;
  display: inline-block;
  /* This will make the container size to the image */
  text-align: center;
  overflow: hidden;
}
.news-card-body-image-main-image {
  position: relative;
  width: 100%;
  height: auto;
  object-fit: contain;
  z-index: 1;
  display: block;
}
.news-card-body-detail {
  padding: 20px;
  text-align: left;
}
.background-blur {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: blur(20px);
  transform: scale(1.1);
  z-index: 0;
}
.news-card-mini {
  position: relative;
  display: block;
  border: 0px solid #A90000;
  margin-bottom: 4rem;
  padding: 0px;
  /*margin: 1rem;*/
  margin-left: 12px;
}
.news-card-mini .news-card-header {
  background-color: #F7F7F7;
  padding: 20px 20px 10px 20px;
  margin-right: 25px;
  border: 2px solid #434A57;
}
.news-card-mini-cancelled .news-card-header {
  background-color: #F4E2E2;
}
.news-card-mini-cancelled .news-card-header {
  background-color: #F4E2E2;
}
.news-card-cancelled .news-card-header-aside {
  background-color: #F4E2E2;
}
/*NEWS ITEM PAGE*/
div.news-lead-image {
  padding: 0;
  border: 3px solid #434A57;
  /*+border-radius: 0px;*/
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  -khtml-border-radius: 0px;
  border-radius: 0px;
}
.event-item-header {
  padding: 0px 20px 0px 13px;
}
.event-item-header h3 {
  color: #448C74;
  font-size: 1.5rem;
  display: inline-block;
  margin-right: 10px;
  line-height: 3rem;
}
@media (max-width: 767px) {
  .event-item-header h3 {
    line-height: 3rem;
  }
}
.event-item-header h3 span.date-highlight {
  margin-right: 10px;
  border: 2px solid #448C74;
  padding: 8px 5px 5px;
  background-color: #E3FEB4;
  line-height: 2.5rem;
}
.event-item-header-title {
  text-align: left;
  margin-top: 10px;
  margin-bottom: 5px;
}
.event-item-header-subtitle {
  text-align: left;
  margin-bottom: 10px;
  font-size: 1.5rem;
  font-weight: 800;
  margin-left: 9px;
}
/*MAP*/
div.map-container {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100vw !important;
  overflow: hidden !important;
}
div#map {
  min-height: 600px;
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100vw;
  overflow: hidden !important;
}
div#map div.map-info-box-body {
  font-size: 15px;
  margin-bottom: 20px;
}
/**
 * Weather Auto-Refresh Loading Indicator
 * Optional enhanced loading indicator styles
 */
/* Basic opacity fade is handled via JavaScript inline styles */
/* This CSS provides an optional spinner overlay */
.weather-forecast {
  position: relative;
}
/* Loading overlay (add via JS if you want spinner instead of opacity) */
.weather-forecast.loading::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.7);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Optional spinner */
.weather-forecast.loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  border: 3px solid rgba(0, 0, 0, 0.1);
  border-top-color: #0EA5E9;
  border-radius: 50%;
  animation: weather-spinner 0.8s linear infinite;
  z-index: 101;
}
@keyframes weather-spinner {
  to {
    transform: rotate(360deg);
  }
}
/* Smooth transition for opacity changes */
.weather-forecast {
  transition: opacity 0.3s ease;
}
