/* General Styles */
#clockdiv {
  color: #fff;
  display: inline-block;
  text-align: center;
  margin-top: 45px;
  -webkit-backface-visibility: hidden;
  -webkit-transform: translateZ(0) scale(1, 1);
}

#clockdiv > div,
#clockdiv div > span {
  display: inline-block;
}

#clock {
  display: none;
}

.service-times-card {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;

	margin-top: 42px;
	padding: 22px 34px;

	color: #fff;
	text-align: center;

	background: rgba(0, 0, 0, 0.28);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 18px;

	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);

	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25);
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

.service-times-card h2 {
	margin: 0;
	font-size: clamp(1.35rem, 2vw, 2rem);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: #fff;
}

.service-times-card p {
	margin: 0;
	font-size: clamp(0.95rem, 1.4vw, 1.15rem);
	font-weight: 500;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.94);
}

.service-times-card p span {
	opacity: 0.65;
	margin: 0 6px;
}

.service-times-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;

	margin-top: 12px;
	padding: 0;

	color: #fff !important;
	font-size: 0.85rem;
	font-weight: 800;
	line-height: 1.2;

	text-decoration: underline;
	text-underline-offset: 4px;
	border-radius: 0;
	background: transparent;
	border: 0;

	transition: all 180ms ease;
}

.home-promo-hero {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	text-align: center;
	padding: 14px 20px 0;
	box-sizing: border-box;
}

.home-promo-hero--card-only {
	margin-top: 68px;
	padding-top: 0;
}

.home-promo-graphic {
	display: block;
	width: min(640px, 90vw);
	height: auto;
	margin: 0 auto;
	filter: drop-shadow(0 14px 28px rgba(0,0,0,.45));
}

.home-promo-card {
	width: min(540px, calc(100% - 32px));
	margin: 0 auto;
	position: relative;
	z-index: 5;
	box-sizing: border-box;
}

.service-times-mini {
	width: 100%;
	padding: 12px 22px 14px;
	color: #fff;
	text-align: center;
	background: rgba(3, 53, 95, 0.9);
	border: 1px solid rgba(122, 189, 233, 0.48);
	border-radius: 8px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.3);
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.55);
	box-sizing: border-box;
}

.service-times-mini h2 {
	margin: 0 0 6px;
	color: #fff;
	font-size: clamp(1.1rem, 1.4vw, 1.4rem);
	font-weight: 800;
	line-height: 1;
}

.service-times-text {
	color: rgba(255, 255, 255, 0.96);
	font-size: clamp(0.92rem, 1.1vw, 1.05rem);
	font-weight: 600;
	line-height: 1.45;
}

.service-times-text--fallback {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 14px;
	line-height: 1.35;
}

.service-times-text--fallback span {
	white-space: nowrap;
}

@media (max-width: 768px) {
	.home-promo-hero {
		gap: 12px;
		padding: 12px 14px 0;
	}

	.home-promo-hero--card-only {
		margin-top: 52px;
	}

	.home-promo-graphic {
		width: min(600px, 88vw);
	}

	.home-promo-card {
		width: calc(100% - 28px);
	}

	.service-times-mini {
		padding: 13px 16px 15px;
	}

	.service-times-text {
		font-size: 0.95rem;
		line-height: 1.55;
	}

	.service-times-text--fallback {
		flex-direction: column;
		gap: 3px;
	}
}

@media (min-width: 1600px) {
	.home-promo-graphic {
		width: min(760px, 60vw);
	}
}


.text-big {
  font-size: 22px;
  line-height: 1.7;
}

.infoText {
  font-size: 130px !important;
}

.gm-map {
  height: 600px;
}

/* Buttons */
.btn-smcc {
  background-color: #7abde9;
  color: #fff;
}

.btn-smcc:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #00b3db;
  border-color: #285e8e;
}

/* Font Awesome Icons */
.fa-play,
.fa-clipboard,
.fa-box-archive {
  color: #fff !important;
  font-size: 37px !important;
}

.fa-play:hover,
.fa-clipboard:hover,
.fa-box-archive:hover {
  color: #03355F !important;
}

/* Responsive Iframe */
.responsive-iframe {
  position: relative;
  width: 100%;
  padding-top: 94.1%;
  overflow: hidden;
}

.responsive-iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Headings */
h2 {
  margin-bottom: 7px;
  font-weight: 400;
  font-size: 1.6em;
}

/* Hero Section */
.hero-image {
  background-image: url('https://truculent-porcupine.transforms.svdcdn.com/production/graphics/easterbg.jpg?w=2625&h=1088&auto=compress%2Cformat&fit=crop&dm=1775245664&s=bf5bd0e3b4ad34c24528cee7754986ba') !important;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 65vh;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* Logo */
.christmasLogo {
  display: block;
  margin: 0 auto;
  width: 800px;
  max-width: 90%;
  margin-bottom: -85px;
}

/* Summer Brochure Base Style (Hidden by Default) */
.summerBrochure {
  width: 15% !important;
}

  .homeModal {
   height:300px
  }

/* Tablet */
@media (max-width: 740px) {
  .christmasLogo {
    width: 360px;
    max-width: 95%;
    margin-bottom: -70px;
  }

  .hero-image {
    height: 60vh !important;
  }
}

/* Mobile Portrait – HIDE Brochure & Bigger Logo */
@media (max-width: 768px) and (orientation: portrait) {
  .christmasLogo {
    width: 720px;
    max-width: 100%;
    display: block;
    margin: 30px auto -40px auto;
  }

  .hero-image {
    width: 100% !important;
  }

  .summerBrochure {
    display: none !important;
  }

  img {
    width: 100%;
  }

  .page-header.page-header-modern.page-header-background.page-header-background-sm {
    padding: 140px 0;
  }

  .homeModal {
   height:225px
  }
}

/* Mobile Landscape – Show Brochure if needed */
@media (max-width: 768px) and (orientation: landscape) {
  .summerBrochure {
    width: 70% !important;
    margin: 20px auto 30px auto;
    display: block;
  }

  .summerBrochure img {
    width: 100%;
    height: auto;
    display: block;
  }
}

/* Print Styling */
@media print {
  @page {
    size: auto;
    margin: 0mm;
  }

  .page-break {
    display: block;
    page-break-before: always;
  }
}

@media all {
  .page-break {
    display: none;
  }
}
