#heroVideo {
  position: relative;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  margin-bottom: 0;
}

.flex-video{height:0;margin-bottom:1rem;overflow:hidden;padding-bottom:67.5%;padding-top:1.5625rem;position:relative}.flex-video.widescreen{padding-bottom:56.34%}.flex-video.vimeo{padding-top:0}.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{height:100%;position:absolute;top:0;width:100%;left:0}

.c-site-footer {
/*     background-image: url("/assets/images/footer-bg.jpg"); */
}

.o-block__heading {
/*
	font-family: "costa", sans-serif !important;
	font-weight: 700;
	font-style: normal;
*/
	
	text-transform: none !important;
	line-height: 1.2 !important;
	color: #781041 !important;
}

.dotted-border-divider, .dotted-border-divider.large {
	display: none !important;
}

.o-block--santa:before {
    background-image: url("/assets/images/elves/general-elf.png");
}
.o-block--gingerbread:before {
    background-image: url("/assets/images/elves/shop-gift.png"); width:200px;height:200px;top:0;right:0;
}
.o-block--tree-bottom:after {
    background-image: url("/assets/images/art-direction/trees.png");
    background-position: -66px 100%;
}
.o-block--pinwheel:before {
    background-image: url("/assets/images/elves/travel.png");
    animation: none !important;
}
.o-block--balloon:before {
    background-image: url("/assets/images/elves/travel-more.png");
}

.o-block--friends.remove-bg-small:after{display:none}@media screen and (min-width:40em){.o-block--friends.remove-bg-small:after{display:block}}.o-block--friends:after{background-image: none !important;);background-repeat:no-repeat;background-position:-2px 100%}

.o-block--sponsors:before{width:260px;height:260px;right:-65px;background-image:url("/assets/images/elves/sponsors.png");background-position:104% -12%;background-size:contain}.o-block--elf:before,.o-block--sponsors:before{position:absolute;top:0;bottom:auto;left:auto;background-repeat:no-repeat}

/* Changed back to envelope -  Trevor's request
.o-block--letter:before{width:335px;height:336px;top:15px;right:-40px;;background-image:url("/assets/images/art-direction/letter.png")}.o-block--balloon:before,.o-block--letter:before{position:absolute;bottom:auto;left:auto;background-repeat:no-repeat;background-position:104% -12%}
*/

.o-block--visit-stay:before{position:absolute;width:150px;height:150px;top:0;right:0;bottom:auto;left:auto;background-image:url("/assets/images/elves/visit-stay.png");background-repeat:no-repeat;background-size:contain}

.o-block--visit-eat:before{position:absolute;width:150px;height:150px;top:-15px;right:0;bottom:auto;left:auto;background-image:url("/assets/images/elves/visit-eat.png");background-repeat:no-repeat;background-size:contain}


.o-block--letter:before {
	background-image:url("/assets/images/art-direction/letter.png");
}
	
.o-block--purple {
    background-color: #781041;
}
.o-block--purple h2, .o-block--purple h1, .o-block--purple .c-intro__text, .o-block--purple .e-character-figure figcaption, .c-intro__text p  {
    color: white !important;
}
.o-block--cream h4 {
	color: #781041 !important;
}
.e-character-figure figcaption {
/* 	font-family: "costa", sans-serif !important; */
	text-transform: none !important;
	font-family: "spirits-neutral", serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
}

.e-character-figure--balloon .figimage{background-image:url("/assets/images/elves/travel.png");background-repeat:no-repeat;background-position:50%; background-size: contain;}

.e-character-figure--gingerbread .figimage{background-image:url("/assets/images/elves/stay.png");background-repeat:no-repeat;background-position:50%; background-size: contain;}

.e-character-figure--sweet .figimage{background-image:url("/assets/images/elves/eat.png");background-repeat:no-repeat;background-position:50%; background-size: contain;}

.e-character-figure--gift .figimage{background-image:url("/assets/images/elves/gift.png");background-repeat:no-repeat;background-position:50%; background-size: contain;}

.e-character-figure--hat .figimage{background-image:url("/assets/images/elves/become-sponsor.png");background-repeat:no-repeat;background-position:50%;background-size:contain;background-size:60%}@media screen and (min-width:40em){.e-character-figure--hat .figimage{background-size:contain}}

.e-character-figure--shop .figimage,.e-character-figure--trader .figimage{background-image:url("/assets/images/elves/become-trader.png");background-repeat:no-repeat;background-position:50%;background-size:contain;background-size:60%}

.e-character-figure--love-hand .figimage{background-image:url("/assets/images/elves/become-volunteer.png");background-repeat:no-repeat;background-position:50%;background-size:contain;background-size:60%}
@media screen and (min-width:40em){
	.e-character-figure--et-paw .figimage,.e-character-figure--et-phone-home .figimage,.e-character-figure--heart-hand .figimage,.e-character-figure--love-hand .figimage{background-size:contain}
	}
.e-character-figure--parking .figimage{background-image:url("/assets/images/art-direction/parking.svg");background-repeat:no-repeat;background-position:50%;background-size:64%}


.c-getting-here:last-of-type:after {
    background-image: url(/assets/images/elves/info-elf.png);
}


.c-contact-detail:before{content:"";position:relative;background-image:url("/assets/images/divider.png");background-repeat:repeat-x;background-position:0;background-size: contain;width:100%;height:117px;margin-bottom:1.78125rem}

.font-col-2 a, .c-contact-detail__text a, .c-news__body a, .font-fix a {
	color: #781041;
}

.font-col-2 h2, .font-col-2 h3, .font-fix h2, .font-fix h3  {
	font-family: "costa", sans-serif;
	color: #781041;
	font-weight: 600;
}

.font-fix ul li {
/*
    font-family: "costa",Signika,sans-serif;
    font-weight: 300;
*/
    color: #2e2e2e;
    font-family: "spirits-neutral", serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
}
.c-card--visit {
	padding: 25px;
}

/* NEWS STYLES */
.c-news__body h2, .event-text h2, .c-news__body h3, .event-text h3 {
	font-family: "costa", sans-serif !important;
	color: #781041;
	font-weight: 600;
}
.c-news__image {
	max-width: 100% !important;
}

.c-news-details .c-news__body p {
    line-height: 1.4;
    max-width: 700px;
}
.filter-menu-wrapper .menu a {
	padding: 0;
}

.c-site-footer .c-footer-middle ul li a {

	font-family: "spirits-neutral", serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
	
}

.c-card--event .c-card-content .c-card__dummy-link {
    font-family: "costa", Signika, sans-serif;
    position: relative;
    z-index: 500;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #de3a43;
}

.c-modal__content h4 {
    padding: 0 0 3.160625rem 0;
    color: white;
}

.c-modal__content h3 {
    color: white;
}

.c-card--event.featured .c-card-content .badge-container {
    margin-bottom: 1rem;
}
.c-card--event.featured .c-card-content .c-card__date {
    margin-bottom: 0.5rem;
}

.c-intro__text p {
	font-size: 1.25rem;
    line-height: 2rem;
}

.c-intro__text p a {
  color: #de3a43;
  text-decoration: underline;
}

.c-intro__text p a:hover {
  color: #781041;
}

.u-text-center {
	text-align: center;
}

/* ================== EVENTS MENU 2024 ======================== */

.view-switcher {
	padding-top: 0;
}

.events-nav {
  position: relative;
  margin-bottom: 2rem;
}
.events-nav ul {
  display: flex;
  height: 3rem;
  overflow: hidden;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  width: 100%;
  background: #de3a43;
  border-radius: 3px;
}
.events-nav li a {
  display: block;
  padding: 0.5rem 0.4rem;
  font-family: "spirits-neutral", serif;
  font-size: 1.25rem;
  text-decoration: none;
  white-space: nowrap;
  color: white;
  transition: all .3s ease;
}
.events-nav li a:hover {
  color: #de3a43;
  background: white;
  border-radius: 3px;
}

.events-nav.open ul {
  height: auto;
  display: block;
}

.x {
  position: absolute;
  top: 0rem;
  right: 0rem;
  font-size: 1.5rem;
  cursor: pointer;
  color: white;
  padding: .25rem 1rem .5rem 1rem;
}

.events-nav li.events-menu-link {
  display: block;
  padding: 0.5rem 0.4rem;
  font-family: "spirits-neutral", serif;
  font-size: 1.25rem;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  color: white;
  width: 100% !important;
}


.itinerary-view {
	border-bottom: solid 1px silver;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
.itinerary-view p {
	padding-bottom: 5px !important;
	margin-bottom: 0 !important;
}
.itinerary-view p a, .itinerary-view a {
	padding-bottom: 5px !important;
	margin-bottom: 0 !important;
	color: #de3a43;
	font-weight: 700;
}

.c-calendar-card {
	text-align: center;
	margin-bottom: 1rem;
}
.c-calendar-card p.c-calendar-card-day{
  font-size: 1.6rem;
	text-align: center;
	display: block;
	padding: 0.5rem 0.4rem 0;
	font-family: "spirits-neutral", serif;	
}
.c-calendar-card p.c-calendar-card-date{
  font-size: 2.6rem;
	text-align: center;
	display: block;
	padding: 0 0.4rem;
	font-family: "spirits-neutral", serif;	
}

.o-block--no-padding {
    padding-top: 0;
    padding-bottom: 0 !important;
}

.event-hero-passed {
  position: relative;
  display: inline-block;
  width: 100%;
}

.event-hero-passed img {
  width: 100%;
  height: auto;
}

.event-hero-passed::after {
  content: "This event has already happened";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #0d6f71;
  color: white;
  font-family: "spirits-neutral", serif !important;
  font-size: 1.25rem; 
  padding: 10px 20px;
  text-align: center;
  width: 90%; 
  max-width: 1000px;
  box-sizing: border-box;
  border-radius: 5px;
}

.sponsorship_enquiry {
	margin-top: 3rem;
	background: white;
	border-radius: 10px;
	box-shadow: 0 0 5px #000000;
	padding: 1.5rem;

}

.c-contact-form {
	label {
		color: #de3a43;
		margin-bottom: rem-calc(20);
	}
	.dform_container input.text, .dform_container textarea {
		display: block;
		font-family: "costa",Signika,sans-serif;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		width: 100%;
		height: 2.4375rem;
		margin: 0 0 1rem;
		padding: 0.5rem;
		border: 1px solid #cacaca;
		border-radius: 0;
		background-color: #fefefe;
		-webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
		box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
		font-family: inherit;
		font-size: 1rem;
		font-weight: normal;
		line-height: 1.5;
		color: #0a0a0a;
		-webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
		transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
		transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
		transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	.dform_label {
		font-family: "costa",Signika,sans-serif;
	}
	.submit {
		background-color: #de3a43;
		border: 1px solid #de3a43;
		font-family: "costa",Signika,sans-serif;
		color: #fefefe;
		border-radius: 6px;
		padding: 7px 16px;
		margin-bottom: 8px;
		font-size: 1.8rem;
		font-weight: 700;
		cursor: hand;
		margin-top: rem-calc(20);
	}
	select {
	    -webkit-appearance: none !important;
	    -moz-appearance: none !important;
	    background-color: #FAFAFA;
	    border-radius: 0;
	    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);
	    background-position: 100% center;
	    background-repeat: no-repeat;
	    border-style: solid;
	    border-width: 1px;
	    border-color: #cccccc;
	    color: #444444;
	    font-family: inherit;
	    font-size: 0.77778rem;
	    line-height: normal;
	    padding: 0.44444rem;
	    border-radius: 0;
	    height: 2.05556rem;
    }
}

.o-block-cta p, h1, h2, h3, h4, h5, h6 a {
	color: white;
}

.o-block-cta input[type="email"]  {
	height: 47px;
	min-width: 200px;
	border-bottom-left-radius: 5px;
	border: 1px solid #de3a43;
	border-top-left-radius: 5px;
	font-family: "costa",Signika,sans-serif;
}

.o-block-cta .e-button {
	font-size: 1.135rem !important;
}

.o-block-cta .e-button:hover {
	background-color: #781041 !important;
	border: 1px solid #de3a43 !important;
	color: white !important;
}



/* ================== RESPONSIVE STYLES START HERE ======================== */


@media screen and (min-width:40em){.e-character-figure--shop .figimage,.e-character-figure--trader .figimage{background-size:contain}}

.e-character-figure .figimage {
	min-height: 12rem;
	margin-bottom: 1rem !important;
	background-size: contain !important;
/* 	animation: none !important; */
}

/* EVENTS STYLES */
.e-badge--category {
	background-color: #de3a43;
	color: #fefefe;
	border-radius: 2px;
}
.event-text h2 {
	font-family: "costa", sans-serif !important;
	color: #781041;
}
.event-text ul li {
	font-family: "costa", sans-serif !important;
    font-size: 1.125rem;
}
.event-map h3 {
	font-family: "costa", sans-serif !important;
	color: #781041;
}

.e-callout__text a {
	background-color: #de3a43;
	color: #fefefe;
	border-radius: 2px;
	padding: 4px 12px;
	margin-bottom: 8px;
	font-size: 18px;
	font-weight: 700;
	cursor: hand;
}

.c-intro__text p {
	font-size: 1.5625rem;
    line-height: 2rem;
}
.c-intro .c-intro__heading {
	font-size: 3rem !important;
    line-height: 1.2;
}
.c-site-search {
	margin-top: 1.5rem;
	padding-top: 0.5rem;

}

.c-site-search p {
	color: white;
	font-family: "costa",Signika,sans-serif;
    font-size: 2rem;
    line-height: 2rem;
    
}
.c-site-search .e-button, .c-news__body .e-button, .o-block-cta .e-button {
	background-color: #de3a43;
	border: 1px solid #de3a43;
	font-family: "costa",Signika,sans-serif;
	color: #fefefe;
	border-radius: 6px;
	padding: 7px 16px;
	margin-bottom: 8px;
	font-size: 1.8rem;
	font-weight: 700;
	cursor: hand;
}
.o-block-cta .e-button {
	font-size: 1.375rem;
	font-weight: 400;
}
.c-site-search .e-button:hover, .c-news__body .e-button:hover, .o-block-cta .e-button:hover {
	background-color: white;
	border: 1px solid white;
	color: #de3a43 !important;
}

.c-site-search input[type="text"] {
    writing-mode: horizontal-tb !important;
    padding-block: 1px;
    padding-inline: 2px;
    border: solid 1px white;
	border-radius: 6px;
	font-size: 1.25rem;
	padding: 5px 10px;
	height: 2.9rem;
	margin-top: 0;
}
.t-white {
	color: white;
}

.c-news__body {
	padding-bottom: 1.5rem;
}
.c-news__body_img {
	border: solid white 10px;
	transform: rotate(5);
	box-shadow: 0 0 5px #000000;
	margin-bottom: 1.5rem;
}

.c-gallery-image {
	margin-bottom: 20px;
	box-shadow: 0 0 5px #000000;
	display: block;	
}



.countdown-wrapper {
	margin-top: 40px;
}

	

/* Small only */
@media screen and (max-width: 39.9375em) {
	.c-card--event.featured .c-card-content {	
		margin-top: -2.5rem;
	}
	
	.c-card--event.featured .c-card-image-container .c-card__image {
		    min-height: 150px;
	}
	
	.c-card--event .c-card-content {
	    padding: 1rem;
	}
	
	.c-card--event .c-card-content .c-card__title {
	    line-height: 1.25rem;
	    color: #282447;
	    margin-bottom: 0.3125rem;
	    padding-right: 6.25rem;
	}

	.o-block--letter:before {
	    position: absolute;
	    bottom: auto;
	    left: auto;
	    background-repeat: no-repeat;
	    background-position: 98% 4%;
	    transform: rotate(-15deg);
	    background-size: 55%;
	}
	.o-block--gingerbread:before {
	    background-size: 55%;
	    background-position: 98% 4%;
	}
	.o-block--snowflake:before {
	    background-size: 65%;
	    background-position: 98% 4%;
	}
	.o-block--balloon:before {
	    background-size: 65%;
	    background-position: 98% 4%;
	}

	.countdown-wrapper .countdown .flip {
		min-width: 60px;
	}


	.flip-clock-wrapper ul li {
	    z-index: 1;
	    position: absolute;
	    left: 0;
	    top: 0;
	    width: 100%;
	    height: 100%;
	    line-height: 87px;
	    text-decoration: none !important;
	}

	.flip-clock-wrapper ul li a {
	    display: block;
	    height: 100%;
	    -webkit-perspective: 200px;
	    -moz-perspective: 200px;
	    perspective: 200px;
	    margin: 0 !important;
	    overflow: visible !important;
	    cursor: default !important;
	}	

	.flip-clock-wrapper ul li a div {
	    z-index: 1;
	    position: absolute;
	    left: 0;
	    width: 100%;
	    height: 50%;
	    font-size: 80px;
	    overflow: hidden;
	    outline: 1px solid transparent;
	}

	.flip-clock-wrapper ul li a div .shadow {
	    position: absolute;
	    width: 100%;
	    height: 100%;
	    z-index: 2;
	}

	.flip-clock-wrapper ul li a div div.inn {
	    position: absolute;
	    left: 0;
	    z-index: 1;
	    width: 100%;
	    height: 200%;
	    color: #ccc;
	    text-shadow: 0 1px 2px #000;
	    text-align: center;
	    background-color: #333;
	    border-radius: 6px;
	    font-size: 70px;
	}
	
	.flip-clock-wrapper ul li a div.up:after {
	    content: "";
	    position: absolute;
	    top: 44px;
	    left: 0;
	    z-index: 5;
	    width: 50%;
	    height: 3px;
	    background-color: #000;
	    background-color: rgba(0, 0, 0, 0.4);
	}	

	.c-slider .slick-prev {
	    z-index: 11;
        left: 30%;
        margin-top: 0;
        top: 100%;
	}
	.c-slider .slick-next {
	    z-index: 11;
	    right: 30%;
	    margin-top: 0;
	    top: 100%;
	}
	.c-card .c-card-button-container .c-card__button .button-icon:after {
	    font-size: 1.9rem;
	    margin-left: -1em;
	}
	.c-card .c-card-button-container .c-card__button .button-icon:before {
	    font-size: 2rem;
	}	
}

/* Medium and up */
@media screen and (min-width: 40em) {
	
	.o-block--tree-bottom:after {
	    background-image: url("/assets/images/art-direction/trees.png");
	    background-position: -2px 100%;
	}
	.o-block--gingerbread:before {
	    background-image: url("/assets/images/elves/shop-gift.png"); width:260px;height:260px;top:-25px;right:-25px;
	}
	.o-block--visit-stay:before{
		position:absolute;width:260px;height:260px;top:-25px;right:-25px;bottom:auto;left:auto;
	}
	.o-block--visit-eat:before{
		position:absolute;width:220px;height:220px;top:-50px;right:-25px;bottom:auto;left:auto;
	}
	.c-card--visit {
		padding: 50px;
	}
	.e-button--filter {
		padding:0 1.3rem;margin-left:.3rem;
	}
	.c-card--event.featured .c-card-image-container .c-card__image {
		max-height: 250px !important;
	}
	.o-block__heading {
		font-size: 3rem !important;
		margin-bottom: 2rem;
		line-height: 1;
	}
	h2.o-block__heading {
		font-size: 2.5rem !important;
		margin-bottom: 1.5rem;
		line-height: 1;
	}
	.c-modal--primary-nav .c-modal__content ul li a {
        font-size: 2rem;
        line-height: 3rem;
        font-family: "spirits-neutral", serif !important;
		font-weight: 400 !important;
		font-style: normal !important;
    }
    .c-modal--primary-nav .c-modal__content ul li ul li a {
        font-size: 1.75rem;
/*         line-height: 2.5rem; */
        line-height: 1.25rem;
        font-family: "spirits-neutral", serif !important;
		font-weight: 400 !important;
		font-style: normal !important;
    }
    
    .list-view .c-card.featured .c-card-image-container {
        background: #781041;
        min-width: 150px !important;
        max-width: 150px !important;        
        height: 150px !important;
    }
	
	.c-card--news .c-card-header .c-card-header-content .c-card__title {
        font-size: 1.5rem;
        line-height: 1.9rem;
        margin-bottom: .9375rem;
    }
    .c-site-navigation {
	    z-index: 20;
    }

	.event-hero-passed::after {
	  font-size: 2rem; /* Adjust size as needed */
	}
	
	.o-block-cta input[type="email"]  {
		height: 47px;
		width: 400px;
	}
	
	.o-block-cta .e-button {
		font-size: 1.35rem !important;
	}
	    

}
/* Medium only */
@media screen and (min-width: 40em) and (max-width: 63.9375em) {	
	
	.o-block--figures .o-block__heading {
	    margin-bottom: 1.875rem !important;
	}
	.c-slider .slick-prev {
        left: -50px;
	}
	.c-slider .slick-next {
	    right: -50px;
	}
	
}
/* Large and up */
@media screen and (min-width: 64em) {
	.event-details .event-sponsor-container {
	    min-height: 165px;
	}
	.c-modal--primary-nav .c-modal__content .e-site__logo {
		max-height: 125px !important;
	}
    .c-modal--primary-nav .c-modal__content {
	    padding: 3.160625rem 120px 1.875rem;
    }
	.c-modal__content h5 {
	    padding: 3.160625rem 0;
	    color: white;
    }
	.o-block {
	    padding-top: 2rem;
	    padding-bottom: 2rem;
	}

	.c-card--event.featured .c-card-content {	
		margin-top: -2.5rem;
	}
	.c-intro {
	    padding-top: 2.25rem;
	    padding-bottom: 0.9375rem;
    }
    .c-intro .c-intro__heading {
	    padding: 0 4rem 2rem;
	}
    .filter-menu-wrapper {
	    margin-top: 1rem;
	    margin-bottom: 1rem;
	}
	
	.o-block--visit-eat:before{
		position:absolute;width:260px;height:260px;top:-25px;right:-25px;bottom:auto;left:auto;
	}
	
	.c-card--event .c-card-content .c-card__title {
	    font-size: 1.75rem;
	}
	
}

h1, h2, h3, h4, h5, h6, .c-intro__text, .c-news__author, .c-card__author, .c-card__author span, .c-card__title {
/* 	Option 1 */
/*
	font-family: "Fjalla One", sans-serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
*/

/* Option 2 */
/*
	font-family: "trumpsoftpro", sans-serif !important;
	font-weight: 700 !important;
	font-style: normal !important;
*/
	
/* Option 3 */
	font-family: "spirits-neutral", serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
	
}

.o-block__heading {
	margin-bottom: 1.75rem !important;
}