.homepage-hero-container{background: var(--sof-black);}
.homepage-hero-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
.homepage-hero-bg > img { width: 100%; height: 100%; object-fit: cover; }
.homepage-hero-bg::after { content: ''; position: absolute; height: 264px; width: 100%; left: 0; top: 0; background: linear-gradient(180deg, rgba(51, 51, 51, 1) 0%, rgba(255, 255, 255, 0) 100%); mix-blend-mode: multiply; }
.hhc-signpost-list { width: calc(100% + 30px); margin-left: -15px; margin-bottom: -30px; }
.hhc-signpost-item { padding: 0 15px; margin-bottom: 30px; width: 25%; }
.hhc-signpost-icon { width: 50px; height: 60px; margin-right: 20px; z-index: 1; flex-shrink: 0; }
.hhc-signpost-icon>img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.hhc-signpost-text { z-index: 1; }
.hhc-signpost-box { justify-content: center; align-items: center; min-height: 140px; padding: 20px; transition: var(--sof-custom-ease); }
.hhc-signpost-text h2 { font-size: 45px; line-height: 1; margin-bottom: 0;text-transform: uppercase;}
.hhc-signpost-text h3 { font-size: 25px; margin-bottom: 0; }
.hhc-signpost-bg { position: absolute; height: 100%; width: 100%; opacity: 0.75; border-radius: 14px; }
.hhc-signpost-box:hover{transform: translateY(-5px);} 
.hhc-content {min-height: 100vh;padding:120px 0 130px; gap:6vh }

.hhc-heading{text-shadow: 10px 10px 15px rgba(0,0,0,0.5);font-family: var(--sof-primary-font); font-size: 220px; font-size: min(24vw, 220px); line-height: 1; white-space: nowrap; margin: 0;}
.hhc-top {font-size: 0.55em;padding-left: 0.85em;font-weight: 700;line-height: 1em;}
.hhc-mid {display: block;font-family: var(--sof-secondary-font);font-size: 1em;letter-spacing: 0.045em;margin: -0.35em 0 -0.6em;line-height: 1em;}
.hhc-lower {font-size: 0.4em;padding-left: 0.6em;font-weight: 700;letter-spacing: 0.025em;line-height: 1em;}

.hhc-event-cta-wrapper{width: 100%; height: 70px;  margin-bottom: 30px; margin-top: auto;}
.hhc-event-cta{width: 100%; height: 100%; position: relative; border-radius: 10px;}
.hhc-event-cta img{  object-fit: contain; position: absolute; z-index: 1;}
.hhc-event-cta-bg{width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: var(--sof-black); z-index: -1; opacity: 0.89; transition: var(--sof-custom-ease); border-radius: 10px;}
.hhc-event-cta:hover .hhc-event-cta-bg{opacity: 1;}
/*  Sticky Event (Halloween) Start  */
.hhc-event-cta.halloween-theme .hhc-event-cta-bg{background: #FE5C0E;}
.hhc-halloween-text{width: 55%;left: 5%;top: 25%;height: 63%;object-position: right;}
.hhc-halloween-events-text{width: 30%;left: 64.5%;top: 38%;height: 36%;object-position: left;}
.hhc-halloween-pumpkin{width: 10%;left: -1.5%;bottom: -10%;height: 46%;object-position: left;}
.hhc-halloween-bat{width: 13%;left: 53.9%;top: -7%;height: 35%;}
.hhc-halloween-spider{width: 13.3%;right: -3%;top: 0;height: 112%;object-position: top;}
/*  Sticky Event (Halloween) End  */

/*  Sticky Event (Christmas) Start  */
.hhc-event-cta.christmas-theme .hhc-event-cta-bg{background: #8CD6FB;}
.hhc-christmas-text{width: 56.5%;left: 3.5%;top: 22%;height: 70%;object-position: right;}
.hhc-christmas-events-text{width: 29.5%;left: 62%;top: 43%;height: 36%;object-position: left;filter: brightness(0);}
.hhc-christmas-balls{width: 11.5%;right: 1.6%;top: 0;height: 59%;object-position: bottom;} 
/*  Sticky Event (Christmas) End  */

/*  Sticky Event (Easter) Start  */
.hhc-event-cta.easter-theme .hhc-event-cta-bg{background: #67BDF0;}
.hhc-easter-text{width: 42%;left: 5%;top: 20%;object-position: right;height: 62%;}
.hhc-easter-events-text{width: 29%;left: 50%;top: 41%;object-position: left;height: 35%;}
.hhc-easter-broken-egg{width: 15%;left: 83%;top: -11%;height: 98%;}
/*  Sticky Event (Easter) End  */


/*  Sticky Event (Summer) Start  */
.hhc-event-cta.summer-theme .hhc-event-cta-bg{background: #0F94E3;}
.hhc-summer-text{width: 38%;left: 3.5%;top: 22%;height: 57%;object-position: right;}
.hhc-summer-events-text{width: 29%;left: 44.5%;top: 43%;height: 35%;object-position: left;}
.hhc-summer-pig{width: 26.5%;left: 75%;bottom: 0;object-position: bottom;height: 100%;}
/*  Sticky Event (Summer) End  */
/* ========================================== 
! Large devices (desktops, less than 1500px)
=========================================== */
@media (max-width:1599.98px) {
	.hhc-signpost-text h2 { font-size: 35px; }
	.hhc-signpost-text h3 { font-size: 20px; }
	.hhc-signpost-box { min-height: 110px; } 
	.hhc-content {padding:100px 0 90px; }
	.hhc-heading{ font-size: 190px; font-size: min(24vw, 190px);}
 
}

/* ========================================== 
! Large devices (desktops, less than 1200px)
=========================================== */
@media (max-width:1199.98px) {  
	body:not(.fixed) #header{background: transparent; box-shadow: none;}

	.hhc-signpost-icon { width: 30px; height: 34px; margin-right: 14px; }
	.hhc-heading{ font-size: 160px; font-size: min(24vw, 160px);}
}

/*==========================================
! Medium devices (tablets, less than 992px)
========================================== */
@media (max-width:991.98px) { 
	.hhc-signpost-item { width: 50%; }
	.hhc-signpost-list { margin-top: 30px; }
	.hhc-heading{ font-size: 130px; font-size: min(24vw, 130px);}
	 
 
}

/* =================================================  
! Small devices (landscape phones, less than 768px)
================================================= */
@media (max-width:767.98px) {
	.hhc-title { max-width: 303px; margin: 0 auto 50px; }
	.hhc-signpost-text h2 { font-size: 25px; }
	.hhc-signpost-text h3 { font-size: 16px; }
	.hhc-signpost-box { min-height: 70px; padding: 10px; }
	.hhc-signpost-item { padding: 0 7.5px; }
	.hhc-signpost-list { margin-top: auto; width: calc(100% + 15px); margin-left: -7.5px; }

	.hhc-event-cta-wrapper + .hhc-signpost-list{margin-top: 0;}
	.hhc-content { padding: 85px 0 90px; gap: 0; min-height: 100svh; }
	.hhc-content { justify-content: start !important; }
	.homepage-hero-bg::after { display: none; }
	.hhc-heading-wrapper{display: flex; justify-content: center; margin-bottom: 20px;}
	.hhc-heading{ font-size: 80px; font-size: min(24vw, 80px);}
}

/* ======================================================
! Extra small devices (portrait phones, less than 576px)
====================================================== */
@media (max-width:575.98px) { }

/* ======================================================
! Extra small devices (portrait phones, less than 370px)
====================================================== */
@media (max-width:369.98px) {
	.hhc-signpost-item { width: 100%; margin-bottom: 10px; }
	.hhc-event-cta-wrapper{margin-bottom: 10px;}
}