/**
 * ===============================================================
 * Header
 * ===============================================================
 */
 
 header {
	position: relative;
	color: var(--black);
}

header .mobile-banner {
	padding: 0.725vw 12.077vw;
	background-color: var(--pink);
	font-size: 3.623vw;
	color: var(--white);
	font-weight: 700;
	display: block;
	text-align: center;
}

header .wrapper {
	height: 17.391vw;
	display: flex;
	align-items: center;
}

header .custom-logo-link {
	width: 21.739vw;
	display: block;
}

header .custom-logo-link img {
	display: block;
	width: 100%;
	height: auto;
}

header nav {
	position: absolute;
	display: none;
	bottom: 0;
	left: 0;
	transform: translateY(100%);
	width: 100%;
	border-top: 0.242vw solid var(--black);
	padding: 7.246vw 12.077vw 10.870vw;
	font-size: 5.314vw;
	background-color: var(--white);
	z-index: 100;
}

header ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

header nav li,
header .app-link {
	margin-bottom: 4.831vw;
	font-weight: 600;
}

header nav a:not(.btn):hover {
	color: var(--pink);
}

header nav li.current-menu-item {
	color: var(--pink);
}

header nav .btn {
	width: 64.010vw;
	margin-top: 3.865vw;
}

header .app-link {
	display: block;
}

header .app-link-mobile {
	display: block;
	width: 7.246vw;
	margin: 0 0 0 auto;
}

.login-btn{
	margin-right:2em;
}

header .mobile-toggle {
  width: 9.903vw;
  height: 6.280vw;
  position: relative;
  margin: 0 0 0 4.831vw;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
}

header .mobile-toggle span {
  display: block;
  position: absolute;
  height: 0.483vw;
  width: 100%;
  opacity: 1;
  right: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
	display: block;
	height: 0.483vw;
	background-color: #020202;
	border-radius: 24.155vw;
}

header .mobile-toggle span:nth-child(1) {
  top: 0vw;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
  width: 8.937vw;
}

header .mobile-toggle span:nth-child(2) {
  top: 2.899vw;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

header .mobile-toggle span:nth-child(3) {
  top: 5.797vw;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
  width: 7.246vw;
}

header .mobile-toggle.open span:nth-child(1) {
  -webkit-transform: rotate(35deg);
  -moz-transform: rotate(35deg);
  -o-transform: rotate(35deg);
  transform: rotate(35deg);
  top: 0.725vw;
  left: 1.932vw;
  width: 8.454vw;
}

header .mobile-toggle.open span:nth-child(2) {
  width: 0%;
  opacity: 0;
}

header .mobile-toggle.open span:nth-child(3) {
  -webkit-transform: rotate(-35deg);
  -moz-transform: rotate(-35deg);
  -o-transform: rotate(-35deg);
  transform: rotate(-35deg);
  top: 5.556vw;
  left: 1.932vw;
  width: 8.454vw;
}

header .btn.desktop {
	display: none;
}

header .btn{
	text-wrap:nowrap;
}

header .header-gif {
	display: none;
}

a.anchor{
	display: block; 
	position: relative; 
	top: 70px;
	visibility: hidden; 
}

@media (min-width: 1000px) {
	header .mobile-banner {
		display: none;
	}

	header .wrapper {
		height: 8.333vw;
	}

	header .custom-logo-link {
		width: 9.375vw;
	}

	header nav {
		position: static;
		display: flex;
		align-items: center;
		transform: none;
		width: auto;
		border-top: none;
		padding: 0;
		font-size: 1.042vw;
		margin: 0 0 0 auto;
		background-color: transparent;
	}

	header ul {
		display: flex;
	}

	header nav li,
	header .app-link {
		margin-right: 1.597vw;
		margin-bottom: 0;
	}

	header nav li:last-child {
		margin-right: 0;
	}

	header nav .btn {
		width: auto;
		margin-top: 0;
		padding-left: 1.111vw;
		padding-right: 1.111vw;
	}

	header .app-link {
		display: block;
	}

	header .app-link-mobile {
		display: none;
	}

	header .mobile-toggle {
	  display: none;
	}

	header .btn.desktop {
		display: block;
	}

	header .header-gif {
		display: block;
		width: 5.556vw;
		margin-right: 1.6vw;
	}
}

header ul ul {
	margin-left: 4vw;
	margin-top: 2vw;
	font-size: .85em;
}

	header .menu-item-has-children {
		position: relative;
	}

header .menu-item-has-children:after {
    content: "\ea99";
    font-family: icofont;
    margin-left: 1.208vw;
    font-size: 5vw;
    top: 0;
    right: 0;
    position: absolute;
	display: none;
}
	
header nav li.current-menu-item {
	color: var(--black);
}
	
header nav li.current-menu-item > a,
header nav li.current-menu-item:after {
    color: #f66;
}

@media (min-width: 1000px) {
	header ul ul {
		margin: 0;
		padding-top: 0;
		display: none;
		position: absolute;
		bottom: 0;
		left: -2vw;
		transform: translateY(100%);
		background-color: var(--white);
		z-index: 10;
		white-space: nowrap;
		height: auto;
		padding: 1vw 2vw;
		font-size: 1em;
	}
	
	header .menu-item-has-children {
		margin-right: 1.6vw;
	}

	header .menu-item-has-children a {
		padding-right: 1.25em;
		position: relative;
	}

	header .menu-item-has-children a:after {
		transform: translateY(-50%);
		content: "\f107";
    	font-family: FontAwesome;
		margin-left: 1.208vw;
		font-size: 1.1vw;
		top: 50%;
		right: 0;
		position: absolute;
		display: block;
		line-height: 1;
		transition: .2s;
	}

	header .menu-item-has-children:hover a:after,
	header .menu-item-has-children a:hover:after {
		content: "\f106";
	}

	header .menu-item-has-children:hover ul li a:after,
	header .menu-item-has-children ul li a:hover:after,
	header .menu-item-has-children ul li a:after{
		content: " ";
	}
	
	header .menu-item-has-children:hover:after,
	header .menu-item-has-children:hover > a {
		color: #f66;
	}
}
	@media (max-width: 999px) {
		header nav {
			padding-right: 2vw;
		}
	}

/**
 * ===============================================================
 * Styles for ACF Flexible Content Layouts
 * ===============================================================
 */

 .acf-layouts{
  padding-right:var(--medium-margin);
  padding-left:var(--medium-margin);
 }

 .acf-layouts.photo-grid{
    padding-right:0;
    padding-left:0;
 }
 .acf-layouts,
.grid-container{
    position: relative;
    z-index: 2;
 }

 .photo-grid-full-image{
  width:100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}

.bg-image{
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.vertical-align {
	display: -webkit-flex;
	display: flex;
	display: -ms-flexbox;
	
	-webkit-flex-direction: row;
	flex-direction: row;
	-ms-flex-direction: row;
	
	-webkit-align-items: center;
	align-items: center;
	-ms-flex-align: center;
	
	-webkit-justify-content: center;
	justify-content: center;
	-ms-flex-pack: justify;
}


.footer-plans  .gift span{
    display: block;
}

@media screen and (max-width: 480px) {
	.acf-layouts{
  		padding-bottom: 0px;
	 }
}

.grid-container{
	max-width: 1580px;
}

.grid-container.narrow-width{
	max-width: 1280px;
}

/*
 * ===============================================================
 * Hero
 * ===============================================================
 */

.hero-section {
  width: 100%;
  min-height: 80vh;
  background-image: var(--hero-bg);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  margin: 0;
  padding: var(--xxlarge-margin) var(--xxlarge-margin);
  position:relative;

  text-align: center;
 
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
}

/* Content block */
.hero-text {
  width: 50%;
  height: 100%;
}

.hero-section h1, 
.hero-section p{
	text-shadow: 12px 6px 20px rgba(0,0,0,0.4);
}

.hero-section h1,
.hero-section h2 {
	margin-bottom:0;
	margin-top: 0;
	font-weight:400;
}

.hero-section p {
    font-size: clamp(1.25rem, 1.5vw, 1.5rem);
	font-weight:600;
	margin-bottom:0;
}

.hero-section .btn{
	margin-top:1.55em;
}

.available-on{
    position: absolute;
    bottom: 2em;
    width: 100%;
    left: 50%;
    transform: translate(-50%, 0);

	padding: 0 var(--xxlarge-margin);
}

.available-on h5{
	margin-bottom:0;
}

/* Desktop/tablet only */

/* Mobile only */
@media (max-width: 768px) {
  .hero-section {
	background-image: var(--hero-bg-mobile, var(--hero-bg));
	background-color: var(--light-gray);
	width: 100%;
	height: auto;
	min-height:calc(100vh - 96px);
	background-size: cover;
	align-items: start;
	justify-content: start;

	padding: var(--xlarge-margin) var(--large-margin) var(--xxlarge-margin);
	}

	.hero-text {
		width: 100%;
	}

	.hero-section .btn {
		margin-top: 0;
	}

	.hero-text h1 { 
		text-align: center;
		font-weight:400;
	}	

	.hero-section h1, 
	.hero-section p{
		text-shadow: 12px 6px 20px rgba(0,0,0,1);
	}

	.page-template-template-retreats2 .hero-text {
		padding: 2rem;
		width: 60%;
		height: 100%;
		text-align: left;
	}

	.page-template-template-retreats2 .hero-text h1{
		text-align: left !important;
	}

	.mobile-image{
		background-image:none !important;
	}

	.available-on {
		position: relative;
		margin-top: 2em;
		bottom: 0;
		width: 100%;
		left: 50%;
		transform: translate(-50%, 0);
		padding: var(--small-margin) var(--xxxsmall-margin) var(--xxsmall-margin);
        background-color: rgba(255, 255, 255, 0.55);
	}

	.available-on h5{
		margin-bottom:1em;
	}
}


/*
 * ===============================================================
 * Map Layout
 * ===============================================================
 */

.image-wrapper {
  display:inline-block;
  margin: 0 auto;
}

.set-height{
	height: 60vh;
}

.set-height .grid-container,
.set-height .grid-x{
	height:100%;
}

@media (max-width: 768px) {
	.set-height{
		height: 40vh;
	}
}
/*
 * ===============================================================
 * Photo Grid Layout
 * ===============================================================
 */

.photo-grid {
  min-height: 50vh;
 }

 .photo-grid .content{
  padding: var(--xlarge-margin)  clamp(3.75rem, 3.75vw, 3.75rem);
 }

.photo-grid .grid-container{
  padding:0;
  min-height: 50vh;
}

.photo-grid .grid-x{
  min-height: 50vh;
  height:100%
}

/*
 * ===============================================================
 * Video Layout
 * ===============================================================
 */
.video-wrapper{
  position: relative;
  width:100%;
  height:auto;
  display:inline-block;
}

.video-wrapper video{
  width:100%;
  height:auto;
  display:inline-block;
}

 .video-two-column .content{
  width:100%;
  padding: var(--xlarge-margin) var(--xlarge-margin);
 }

/*
 * ===============================================================
 * One Column Layout
 * ===============================================================
 */
.grid-container.one-column {
  padding: 4em 2em;
}

.one-column .layout.grid-x {
  justify-content: center;
}

.one-column .cell {
  text-align: center;
}

.icon{
  margin: auto;
  max-width: 150px;
}

/*
 * ===============================================================
 * Two Column Layout
 * ===============================================================
 */
.right-border{
	border-right:1px solid var(--borders);
}

.content-wrapper{
	padding:0 var(--xlarge-margin);
}

.two-column{
	padding-left: var(--large-margin);
	padding-right: var(--large-margin);
}

.two-column img{
	border-radius: 14px;
}


@media screen and (max-width: 768px) {
	.right-border{
		border-right: none;
		border-bottom:1px solid var(--borders);
		margin-bottom:2em;
	}

	.content-wrapper.offset-image-size{
		text-align:center;
	}

	.offset-image-size img{
		max-width:50%;
		text-align:center;
		display:inline-block;
		margin:0 auto;
	}
}

/*
 * ===============================================================
 * Three Column Layout
 * ===============================================================
 */

.three-col-section {
  width: 100%;               /* full browser width */
  padding-left: 1.55rem;        /* side spacing */
  padding-right: 1.55rem;       /* side spacing */
  padding-bottom: 8rem;
}

.three-col-section .cell .content-wrapper {
  padding: 3rem;             /* space inside each column */
}



.three-col-section .cell:nth-child(2) {
  border-left: 1px solid #ddd;   /* left line */
  border-right: 1px solid #ddd;  /* right line */
}

@media screen and (max-width: 768px) {
	 .three-col-section {
    	width: 100%;
   	 	padding-left: 0;
    	padding-right: 0;
    	padding-bottom: 0;
	}

	.three-col-section .cell .content-wrapper {
		padding: 1.55rem;             /* space inside each column */
		}
	
}

/*
 * ===============================================================
 * Photo Mosaic
 * ===============================================================
 */

/* Full-bleed breakout */
.image-grid-section.mosaic-fullbleed{
  width:100vw; max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:0; overflow:hidden;
}

/* Turn the row into a 12-col grid with exact 10px gaps */
.image-grid-section .mosaic-grid{
  display:grid !important;
  gap:10px;
  grid-template-columns: 1fr;   /* mobile: stack */
}

/* neutralize Foundation cell sizing inside this grid */
.image-grid-section .mosaic-grid > .cell{
  padding:0 !important; margin:0 !important;
  width:auto !important; max-width:none !important; flex:initial !important;
}

/* Medium+ : explicit placement (50% | 25% | 25%) then (25% | 25% | 50%) */
@media (min-width:640px){
  .image-grid-section .mosaic-grid{
    grid-template-columns: repeat(12, minmax(0,1fr));
  }
  /* Row 1 */
  .image-grid-section .mosaic-grid > .cell:nth-child(1){ grid-column: 1 / span 6; }  /* horizontal */
  .image-grid-section .mosaic-grid > .cell:nth-child(2){ grid-column: 7 / span 3; }  /* square     */
  .image-grid-section .mosaic-grid > .cell:nth-child(3){ grid-column:10 / span 3; }  /* square     */
  /* Row 2 */
  .image-grid-section .mosaic-grid > .cell:nth-child(4){ grid-column: 1 / span 3; }  /* square     */
  .image-grid-section .mosaic-grid > .cell:nth-child(5){ grid-column: 4 / span 3; }  /* square     */
  .image-grid-section .mosaic-grid > .cell:nth-child(6){ grid-column: 7 / span 6; }  /* horizontal */
}

/* Ratios: squares by default; horizontals clipped to fill */
.image-grid-section .mosaic-slot{
  position:relative; width:100%;
  aspect-ratio:1 / 1; overflow:hidden;
}
.image-grid-section .mosaic-slot.horizontal{
  /* slight >2 to account for grid gap; tweak if needed */
  aspect-ratio: var(--mosaic-h-ratio, 2.015) / 1;
}

/* Slick internals fill the box, no extra margins */
.image-grid-section .slick-slide{ margin:0 !important; }
.image-grid-section .slick-list { margin:0 !important; }
.image-grid-section .mosaic-slot .slick-list,
.image-grid-section .mosaic-slot .slick-track,
.image-grid-section .mosaic-slot .slick-slide,
.image-grid-section .mosaic-slot .slide{ height:100% !important; }

/* Images: always fill and crop */
.image-grid-section .mosaic-slot img{
  display:block; width:100%; height:100% !important;
  object-fit:cover; object-position:center;
}

/*Slider Controls*/
.slide-controls {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	
}

#scroll-right:hover, #scroll-left:hover {
	cursor: pointer;
}

#scroll-right {
	transform: rotate(180deg);
}



.scroller::-webkit-scrollbar { 
  display: none; 
}


#image-scroller {
    width: 100%;
    overflow-x: scroll;
    white-space: nowrap;
    scroll-behavior: smooth;
}

#image-scroller .slide {
    display: inline-block;
    width: auto;
}

#image-scroller img {
    width: auto;
    display: block;
		height: 30rem;
	margin: 0 .525vw;
}
@media (min-width: 1000px) {
	#image-scroller img {
		 margin: 0 .2vw;
	}
}

@media (max-width: 1000px) {

	#image-scroller .slide {
		height: 350px;
		overflow:hidden;
	}

	#image-scroller img {
		height: auto;
	}
}

/* @ FAQs
===================================== */
.faqs .accordion {
    background: none;
    width: 100%;
	padding-left: 0;
}

.faqs{
	padding:var(--xxlarge-margin) var(--large-margin);
}

.faqs .accordion-title {
    padding: 0 0 0 2em;
    border: none;
    border-bottom: 0;
    margin-bottom: 0 !important;
    
    font-size: clamp(1.125rem, 1.55vw,1.55rem);
    color: var(--black) !important;
    font-weight: 700;
    
    transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
}


.faqs .accordion-title:hover,
.faqs .accordion-title:active,
.faqs .accordion-title:focus{
    background: none;
    border:none;
    outline: 0;
    background-color: transparent;
}

.faqs .is-active .accordion-title{
    transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
}

.faqs .accordion-title:hover{
    color: var(--pink) !important;
    background: transparent !important;
    border-bottom: none !important;
}

.faqs .is-active > .accordion-title{
    background: transparent !important;
    border-bottom: none !important;
    color: var(--pink) !important; 
}

.faqs .accordion-item{
    margin-bottom: 0;
    border-radius: 0;
    border: none;
    border-bottom: 1px solid var(--borders);
    padding: var(--medium-margin) 0;
}

.faqs .accordion-content p:last-child{
    margin-bottom:  0 !important;
}

.faqs :last-child > .accordion-content:last-child,
.faqs :last-child:not(.is-active) > .accordion-title{
    border-bottom: none;
}

.faqs .accordion-content {
    padding: 1em 0 0 2.55em;
    border: none;
    border-bottom: 0;
    background-color: transparent;
    color: var(--black);
}

.faqs .accordion-title::before {
    top: 40%;
    content: "+";

    position: absolute;
	left: 0;
    width:20px;
    height:20px;

	border:2px solid var(--black);
	border-radius: 50%;
    text-align: center;
    font-size: 2rem;
    font-weight: 400;
    line-height: 0.535em;
    opacity: 1;
}

.faqs .accordion-title:hover::before {
    opacity: 0.65;
	color: var(--pink);
	border:2px solid var(--pink);
}

.faqs .is-active > .accordion-title::before {
    content: "-";
	color: var(--pink);
	border:2px solid var(--pink);
	line-height: 0.35em;

    position: absolute;
    left: 0;
    width:20px;
}
/* @end FAQs
===================================== */


/*
 * ===============================================================
 * Community Comments
 * ===============================================================
 */

.community-comments {
	padding-top: 15.942vw;
	padding-bottom: 4.831vw;
	text-align: center;
}

.community-comments .icon {
	width: 14.976vw;
	margin: 0 auto 3.623vw;
}

.community-comments h2 {
	margin-bottom: 8.454vw;
	line-height: 1.2;
}

.community-comments .quote img {
	width: 7.488vw;
	margin: 0 auto;
}

.community-comments .quote {
	position: relative;
	margin-bottom: 14.493vw;
}

.community-comments .quote:before,
.community-comments .quote:after {
	content: "";
	position: absolute;
	top: 50%;
	width: 39.855vw;
	height: 1px;
	background-color: var(-borders);
}

.community-comments .quote:before {
	left: 0;
}

.community-comments .quote:after {
	right: 0;
}

.community-comments .item {
	padding: 0 5.314vw;
}

.community-comments p {
	margin-bottom: 2.899vw;
}

.community-comments .author {
	font-size: 5.797vw;
	font-weight: 700;
	color: var(--pink);
	line-height: 1;
	margin-top: 3.382vw;
}

.community-comments .slick-slider {
	padding-bottom: 19.324vw;
}

.community-comments .slick-arrow {
	top: auto;
	bottom: 0;
}

@media (min-width: 1000px) {
	.community-comments {
		padding-top: 6.181vw;
		padding-bottom: 2.778vw;
	}
	
	.community-comments .icon {
		width: 4.306vw;
		margin: 0 auto 1.389vw;
	}
	
	.community-comments h2 {
		margin-bottom: 2.778vw;
	}
	
	.community-comments .quote img {
		width: 2.153vw;
	}
	
	.community-comments .quote {
		margin-bottom: 2.778vw;
	}
	
	.community-comments .quote:before,
	.community-comments .quote:after {
		width: 40.625vw;
	}
	
	.community-comments .quote:before {
		left: 6.597vw;
	}
	
	.community-comments .quote:after {
		right: 6.597vw;
	}
	
	.community-comments .item {
		padding: 2.083vw 3.125vw 1.389vw;
		width: 31.25vw;
		border-right: 1px solid var(--borders);
		height: auto;
	}
	
	.community-comments .slick-track {
		display: flex !important;
		align-items: stretch;
	}
	
	.community-comments p {
		margin-bottom: 0.833vw;
	}
	
	.community-comments .author {
		font-size: 1.667vw;
		margin-top: 0.972vw;
	}
	
	.community-comments .slick-slider {
		padding-bottom: 4.722vw;
		width: 92.361vw;
		margin: 0 auto;
	}
	
	.community-comments .slick-arrow {
		top: auto;
		bottom: 0;
	}
	
	.community-comments .slick-prev {
		left: 42.222vw;
	}
	
	.community-comments .slick-next {
		right: 42.222vw;
	}
}

@media screen and (max-width: 768px) {

	.community-comments .slick-slider {
   		padding-bottom: 0;
	}
}

/*
 * ===============================================================
 * Map Section Layout
 * ===============================================================
 */
.grid-container.map-section {
  padding: 4em 2em;
}

.map-section .layout.grid-x {
    justify-content: center;
}

.map-section .cell {
    text-align: center;
}

.map-section .map-img {
    margin-bottom: 2em;
}
/*
 * ===============================================================
 * Grid Section
 * ===============================================================
 */

.grid-section{
	width:100%;
	padding: var(--xxlarge-margin) var(--xmlarge-margin);
}


.three-column-grid{
	padding-left: var(--xxlarge-margin); 
	padding-right: var(--xxlarge-margin);	
}

.grid-image{
	width:100%;
	aspect-ratio: 4 / 6;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	display:block;
	margin-bottom:1.75em;
	overflow:hidden;
	position: relative;
	border-radius: 14px;
}

/* Pseudo-element carries the background so transform scales only the image */
.grid-image.has-link::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image: inherit;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	transform: scale(1);
	transition: transform 0.5s ease;
	will-change: transform;
}

.grid-image.has-link:hover::before {
	transform: scale(1.07);
}


.has-link{
	position: relative;
	cursor: pointer;
	transition: opacity 0.3s ease;
}

.has-link:hover{
	opacity: 1;
}

.grid-section h3{
	margin-bottom:0.25em;
}

.grid-section h3 a{
	color: var(--black);
}

.grid-section h3 a:hover{
	color: var(--hover);
}

.grid-content-wrapper{
	padding:0 var(--xxxsmall-margin) var(--large-margin);
	overflow: hidden;
}

.grid-content-wrapper p{
	margin-bottom:0;
}

.grid-content-wrapper .btn {
	margin-top:1em;
}

@media screen and (max-width: 768px) {
	.three-column-grid{
		padding-left: 0; 
		padding-right: 0;	
	}

	.grid-content-wrapper{
		margin-bottom:2em;
	}

	.grid-wrapper .cell:last-child .grid-content-wrapper{
		margin-bottom:0;
		padding-bottom:0;
	}
}


/*
 * ===============================================================
 * Grid Slider Section
 * ===============================================================
 */

.grid-slider-section {
	width: 100%;
}

.slide-image{
	width:100%;
	height:55vh;
	max-height:590px;
	background-position: top center;
	background-size: contain;
	background-repeat: no-repeat;
	display:block;
	margin-bottom:1em;
	position: relative;
	top:0;
	left:0;

	transform: scale(1);
	transition: transform .25s ease-in-out, opacity .25s ease-in-out;
    -moz-transition: -moz-transform .25s ease-in-out, opacity .25s ease-in-out;
    -webkit-transition: -webkit-transform .25s ease-in-out, opacity .25s ease-in-out;

    cursor: pointer;
    opacity: 1;
}

.slide-image:hover{
	transform: scale(1.08);
	-moz-transform: scale(1.08);
	-webkit-transform: scale(1.08);
}

.slide-content-wrapper{
	width:100%;
	height:100%;
	padding: 0 0 var(--xlarge-margin);
	background-color: var(--white);
	position: relative;
	overflow: hidden;
	border-radius: 14px;
}

.slide-title{
	padding:var(--small-margin) var(--small-margin);
}

.slide-content-wrapper h4{
	font-size: clamp(0.9rem, 2.9vw, 1.1875rem);
	margin-bottom:0.25em;
	text-transform: uppercase;
	font-weight: 600;
}

.slide-content-wrapper h3{
	font-size: clamp(1.125rem, 2vw, 1.4375rem);
	margin-bottom:0.25em;
}

.slide-content-wrapper p{
	margin-bottom:0;
}

.btn-learn-more {
	text-align: center;
	position: absolute;
	font-size: 0.85rem;
	padding-top: 1.5em;
	left: 50%;
	transform: translate(-50%, 0);
	bottom: 1rem;
}

.btn-learn-more:hover {
	color: var(--black);
}

.btn-learn-more:before {
	content: '+';
	color: var(--white);
	display: inline-block;
	background-color: var(--pink);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
	width: 18px;
	height: 18px;
	border-radius: 50%;
	text-align: center;
	font-size: 2rem;
	font-weight: 300;
	line-height: 0.585em;
}

.btn-learn-more:hover:before {
	color: var(--white);
	background-color: var(--black);
}

/* ===== Grid Slider ===== */
.gs-track {
  display: block !important;
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding: 10px 60px 10px max(1.25rem, calc((100vw - 1580px) / 2 + 1.25rem));
  scroll-padding-left: max(1.25rem, calc((100vw - 1580px) / 2 + 1.25rem));
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.gs-track::-webkit-scrollbar {
  display: none;
}

.gs-inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 24px;
  min-width: max-content;
  position: relative;
}

.gs-slide {
  flex: 0 0 325px !important;
  width: 325px !important;
  scroll-snap-align: start;
  box-sizing: border-box;
}

/* Full-width slides for the quotes carousel */
.gs-slide--full {
  flex: 0 0 calc(100vw - 4em) !important;
  width: calc(100vw - 4em) !important;
}

.gs-slide--full.gs-slide--hero {
  flex: 0 0 100vw !important;
  width: 100vw !important;
	min-height: 70vh;
}

.gs-track--full {
  padding: 0;
  scroll-padding-left: 0;
}

/* Controls */
.gs-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: var( --small-margin);
  margin-bottom: var( --small-margin);
}

.gs-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  line-height: 0;
  transition: opacity 0.2s ease;
  width: 34px;
  opacity: 1;
}

.gs-btn:hover {
  opacity: 0.5;
}

.gs-btn img {
  display: block;
}

.gs-btn:disabled {
  opacity: 0.25;
  cursor: default;
}

@media screen and (max-width: 768px) {

  .gs-inner {
    gap: 16px;
  }

  .gs-slide {
    flex: 0 0 100vw !important;
    width: 100vw !important;
  }

  .grid-slider-section {
    padding: var(--xxlarge-margin) 0;
  }

  .grid-slider-section .gs-track {
    -webkit-overflow-scrolling: auto;
    scroll-snap-type: none;
    padding-right: 20vw;
  }

  .grid-slider-section .gs-slide {
    flex: 0 0 80vw !important;
    width: 80vw !important;
  }

  .btn-learn-more:before {
    padding-left: 0;
  }

}

/*
 * ===============================================================
 * Quote Slider
 * ===============================================================
 */
 .quote-slider-section{
	border: 2em solid var(--white);
 }

.scroll-reveal.remove-border,
.quote-slider-section.remove-border {
	border: none;
}

.quote-slider-section .gs-slide .grid-x {
	height: 100%;
} 

@media (max-width: 768px) {
	.quote-slider-section {
		border: 1em solid var(--white);
	}

	.scroll-reveal.remove-border,
	.quote-slider-section.remove-border {
		border: none;
	}

	.quote-slider-section.remove-border .gs-slide--full .grid-x {
		width: 100%;
		min-height: 100% !important;
	}

	.quote-slider-section .gs-slide--full .grid-x{
		width: calc(100% - 2em);
		min-height: 100% !important;
	}
	
	.quote-slider-section .quote-column {
		height: 50vh;
	}
}

/*
 * ===============================================================
 * Scroll Reveal
 * ===============================================================
 */
.scroll-reveal {
	border: 2em solid var(--white);
}

.scroll-reveal .grid-x {
	height: calc(100vh - 4em);
}

.scroll-reveal.remove-border .grid-x {
	height: 100vh;
}

@media (max-width: 768px) {
	.scroll-reveal {
		border: 1em solid var(--white);
	}

	.scroll-reveal .grid-x {
		height: calc(100vh - 2em);
	}

	.scroll-reveal .reveal-column {
		height: 50vh;
	}
}

/* Scroll-space wrapper — height set by JS */
.sr-scroll-space {
	position: relative;
}

/* Stage: constrain to one viewport */
.sr-wrap {
	position: relative;
	overflow: hidden;
}

/* Each slide after the first wipes in as a full-size layer */
.sr-wrap .reveal {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	clip-path: inset(0 0 0 100%);
	will-change: clip-path;
}

/* ==========================================================================
   Table
========================================================================== */
.table-section{

}

.table-wrapper{
	max-width: 1280px;
	margin:0 auto;
}

.table-heading h5{
	margin-bottom:0.125em;
}

.table-row-wrapper .table-row:nth-child(even){
	background-color: var(--white);
}

.table-row{
	background-color: var(--tan);
	border-left:1px solid var(--borders);
}

.table-row .cell{
	display: flex;
    flex-direction: row;
    align-items: center;
	position:relative;
	padding: var(--xsmall-margin) var(--xsmall-margin);
}

.table-row .cell:nth-child(2),
.table-row .cell:nth-child(3){
	justify-content: center;
}

.table-row .cell:after{
	content:'';
	border-right:1px solid var(--borders);
	position: absolute;
    right: 0;
    height: 100%;
}

.table-row .fa{
	font-size: 1.5rem;
}

.table-footer .btn{
	margin-top:var(--xlarge-margin);
	width:100% !important;
}


@media screen and (max-width: 768px) {

	.table-scroll-outer{
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		width: 100%;
	}

	.table-row-mobile .cell{
		display: flex;
		flex-direction: row;
		align-items: baseline;
		position:relative;
		padding: var(--xxxsmall-margin) var(--xsmall-margin);
	}

	.table-row-mobile span{
		margin-right:1em;
	}

	.fa-empty{
		width:14px;
		height:16px;
		display:inline-block;
	}

	/* .table-wrapper {
		min-width: 880px;
	} */
	
}

/* ==========================================================================
   Hero Blog
   ========================================================================== */
.hero-blog {
	padding: var(--large-margin) var(--large-margin);
}

.hero-blog .wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    position: relative;
    width: auto;
    padding: 0;
    z-index: 10;
    flex-direction: column;
}

/* .hero-blog .wrapper:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border-top: 1px solid var(--borders);
	border-bottom: 1px solid var(--borders);
	height: calc(100% + 0.966vw);
	width: 100%;
	z-index: -1;
} */

.hero-blog h1 {
	font-family: 'Raleway', sans-serif;
	font-size: clamp(0.925rem, 1.215vw, 1.215rem);
	color: var(--black);
	font-weight:700;
	text-transform:none;
	margin-bottom:1em;
}

.hero-blog h3 {
	font-family: 'presti-display', sans-serif;
	color: var(--pink);
	font-weight:300;
    font-size: clamp(2.15rem, 4vw, 4rem);
	text-transform: uppercase !important;
	text-align:center;

	margin-bottom:0;
	padding: 10px 0.55em 3px;
    white-space: nowrap;
    position: relative;
    line-height: 1;

}

.hero-blog h3:before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100%;
	border-top: 1px solid var(--borders);
	border-bottom: 1px solid var(--borders);
} 

.h3-wrapper{
	position: relative;
	padding: 6px 0;
	display: block;
    width: 100%;
}

.h3-wrapper:before{
	content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-top: 1px solid var(--borders);
    border-bottom: 1px solid var(--borders);
    height: 100%;
    width: 100%;
    z-index: -1;
}

@media (min-width: 1000px) { 

}

/* ==========================================================================
   Two Column Quote
   ========================================================================== */

.quote-avatar{
	display:inline-block;
	width:85px;
	height:85px;

	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto 30px;
}

.quote-avatar img {
	display:block;
    width: 85px;
    height: 85px;
}

.left-quote-wrapper,
.right-quote-wrapper{
	padding: var(--xxlarge-margin) var(--xxlarge-margin);
	height: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.gs-slide h1,
.gs-slide h2{
	font-family: 'presti-display', sans-serif;
}

.quote-content p{
	font-family: 'presti-display', sans-serif;
	font-size: clamp(1.25rem, 1.55vw, 1.55rem) !important;
	font-style: italic;
	line-height: 140%;
}

.right-quote-wrapper{
	width:100%;
}

.quote-pink{
	max-width:32px;
	margin-top: var(--medium-margin)
}

.quote-white{
	max-width:32px;
	margin-bottom: var(--medium-margin)
}

.bg-image-column {
	background-position: center center;
	background-size: cover;
	background-repeat:no-repeat;
}

@media screen and (max-width: 768px) {
	.left-quote-wrapper,
	.right-quote-wrapper{
		padding: var(--large-margin) var(--medium-margin);
	}

	.quote-avatar{
		width:50px;
		height:50px;
		margin: 0 auto 20px;
	}

	.quote-avatar img {
		width: 100%;
		height: auto;
		
	}

}
/* ==========================================================================
   Testimonial Block Styles
   ========================================================================== */

/* This targets the grid container ONLY within our testimonial section */
.testimonial-section .grid-container {
  max-width: 87.5vw; 
}

/* Increase the gutter between the image and content columns */
.testimonial-section .grid-x > .cell {
  padding-left: 2rem;
  padding-right: 2rem;
}

/* Style the top horizontal rule */
.testimonial-section hr {
  margin-bottom: 8rem; /* CHANGED: Increased from 2rem to add more space below the line */
  border: 0;
  border-top: 1px solid var(--borders);
}

/* --- Other styles for the section --- */

.testimonial-section {
  padding: 4rem 0; 
}

.testimonial-section h2 {
  font-size: 2.5rem;
  margin-bottom: 1.5rem; /* CHANGED: Increased from 1rem to add space below the title */
}

.testimonial-section img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {

	.testimonial-section {
    	padding: 0;
	}

	.testimonial-section hr {
    	margin-bottom: 2rem;
	}

	.testimonial-section img {
		 padding-bottom: 2rem;
	}
}




/*
 * ===============================================================
 * Footer
 * ===============================================================
 */
footer {
	padding: var(--xxlarge-margin) var(--xlarge-margin) var(--xlarge-margin);
	position: relative;
	min-height:auto;
}

footer:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 14px;
	background-image: linear-gradient(to top, var(--pink) 0%, var(--pink) 50%, var(--light-pink) 50%, var(--light-pink)100%);
}

footer:after {
	content: "";
	position: absolute;
	top: 20px;
	left: 0;
	width: 100%;
	height: 6px;
	background-color: var(--black);
}

footer .brooke{
	position: relative;
	top:-5rem;
	margin-bottom: -5em;
	max-width: 300px;
}

footer .custom-logo-link{
	display: block;
}

footer .custom-logo-link img {
	height: auto;
}


footer .subscribe form {
	position: relative;
}

footer p{
	color:var(--dark-gray)
}

footer .mc4wp-form-fields{
	display:flex;
}

footer .mc4wp-response {
	margin-top: 2em;
}

footer .subscribe-form {
	position: relative;
	z-index: 10;
}

footer form input {
	width: 100%;
	height: 50px;
	border: none;
	border-bottom: 1px solid var(--borders);
	color: var(--dark-gray);
	padding: 0.55em 1em 0.55em 0;
}

.footer-column{
	margin-top: var(--xlarge-margin);
	padding:0 var(--medium-margin)
}

footer form input::-webkit-input-placeholder { 
	color: var(--dark-gray);
}
footer form input::-moz-placeholder { 
	color: var(--dark-gray);
}
footer form input:-ms-input-placeholder {
	color: var(--dark-gray);
}
footer form input:-moz-placeholder {
	color: var(--dark-gray);
}

footer .custom-logo-link img{
	max-width:150px;
}

footer .social-row {
	display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: var(--medium-margin);
}

footer .social-row h3{
	margin-bottom:0;
}

footer .social-row a {
	display: flex;
	font-size: 4.589vw;
	color: var(--pink);
}

footer .social-row a:hover {
	opacity: .8;
}

footer ul {
	list-style: none;
	margin: 0;
	padding: 1.25em 0 0;
	column-count: 2;
	letter-spacing: 0.02em;
	column-gap: 3em;
	white-space: nowrap;
}

footer ul a:hover {
	color: var(--hover);
}

/*
 * ===============================================================
 * Common & Responsive Styles
 * ===============================================================
 */

#scroll-left {
    padding-right: 1em;
}

#scroll-right {
    padding-left: 1em;
}

@media screen and (max-width: 768px) {
	.add-margin-bottom{
		margin-bottom: var(--small-margin);
	}

	footer {
		padding: var(--large-margin) var(--xlarge-margin) var(--medium-margin);
	} 

	footer .brooke{
		top:0;
		margin: 0 25%;
		max-width:50%;
		text-align:center;
		display:inline-block;
	}

	footer ul {
		column-count: 1;
		column-gap: 0;
		white-space: normal;
	}

	.footer-column{
		padding:0 var(--small-margin);
	}
}

/* ==========================================================================
   Blog Section Categories
========================================================================== */

.blog-section .categories {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	font-size: 3.623vw;
	font-weight: 600;
	color: var(--black);
	padding: 2.174vw 7.246vw 7.729vw;
}

.blog-section .categories a {
	margin: 0 1.932vw 0.725vw;
}

.blog-section .categories a {
	color: var(--black);
}

.blog-section .categories a:hover,
.blog-section .categories a.active {
	color: var(--pink);
}

@media (min-width: 1000px) { 
	.blog-section .categories {
		font-size: 1.042vw;
		padding: 1.042vw 0 3.264vw;
	}
	
	.blog-section .categories a {
		margin: 0 0.556vw 0.208vw;
	}
}

.blog-section .wrapper {
	width: 86.232vw;
}

.related-articles .article .thumb,
.blog-section .thumb {
	width: 100%;
	height:18.5vw;
	max-height:355px;
	display: block;
	margin-bottom: 6.763vw;

	overflow: hidden;
	opacity: 1;
	border-radius: 14px;

    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
	
	transition: all .25s ease-in-out;
    -moz-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
}

.related-articles .article .thumb{
	margin-bottom:2em;
}

.related-articles .article .thumb:hover,
.blog-section .thumb:hover {
	opacity: 0.75;
}


.blog-section .thumb img {
	display: block;
	height: auto;
	width: 100%;
}

.blog-section .article {
	text-align: center;
}

.blog-section .article {
	margin-bottom: 12.802vw;
}

.blog-grid .grid-sizer {
	width: 100%;
}

.article .category {
	font-size: 3.623vw;
	font-weight: 400;
	text-transform: uppercase;
	color: var(--dark-gray);
	margin-bottom: 2.899vw;
	letter-spacing: 0.05em;
}

.article h3 {
	font-size: 5.797vw;
	color: var(--black);
	width: 72.464vw;
	margin: 0 auto 3.140vw;
}

.article .read-more {
	font-size: 3.623vw;
	font-weight: 700;
	color: var(--pink);
	margin-top: 2.899vw;
	display: block;
	letter-spacing: 0.03em;
}

.article p {
	margin: 0;
}

.article .excerpt p {
    font-size: clamp(0.95rem, 1.125vw, 1.125rem);
	overflow: hidden;
}

.blog-grid {
    width: 100%;
	max-width: 1920px;
    margin: 0 auto;
    /* 
     height: auto;
    display: inline-block; */

	display: flex;
    flex-wrap: wrap;
	
	
}

.blog-section .grid-item {
	/* width: 33.33%;
	float: left;
	padding: 0 3.264vw; */

	width: 33.33%;
    padding: 0 1.55em;
    margin: 0 0 3.681vw;
    text-align: center;
    display: flex;
    flex-direction: column;
}

.products .image img,
.post-page:not(.landing-page) .thumb img{
	border-radius:14px;
}

@media only screen and (max-width: 720px) {
	.blog-section .grid-item {
		width: 100%;
	}

	.related-articles .article .thumb,
 	.blog-section .thumb {
		height: 220px;
	} 

	.post-page:not(.landing-page) .thumb {
		height: auto !important;
	}

}
@media (min-width: 1000px) { 
	.blog-section .wrapper {
		width: 100%;
		padding: 0 2.986vw;
	}
	
	.blog-section .thumb {
		margin-bottom: 2.083vw;
	}
	
	.blog-section .article {
		margin: 0 0 3.681vw;
	}

	.blog-grid .grid-sizer {
		width: 33.33%;
	}
	
	.article .category {
		font-size: 0.85rem;
		margin-bottom: 0.833vw;
	}
	
	.article h3 {
		font-size: 1.667vw;
		width: 20.833vw;
		margin: 0 auto 0.833vw;
	}

	.article h3.item-title {
		font-size: 1.25vw;
		width: 20.833vw;
		margin: 0 auto 0.833vw;
	}
	
	.article .read-more {
		font-size: 1.042vw;
		margin-top: 0.833vw;
	}
}

/*
 * ===============================================================
 * Events
 * ===============================================================
 */

.col-desktop {
    width: 100%;
}



@media (min-width: 1000px) { 
	.events-schedule {
		padding-top: 6.111vw;
		padding-bottom: 8.194vw;
	}
	
	.events-schedule h2 {
		width: 100%;
		margin-bottom: 6.181vw;
	}
	
	.events-schedule .wrapper {
		width: 79.167vw;
	}
	
	.events-schedule .filters {
		padding: 0 0.694vw 1.528vw;
		font-size: 1.042vw;
	}
	
	.events-schedule .filters .category {
		width: auto;
	}
	
	.events-schedule .filters .category ul {
		display: flex;
		position: static;
		transform: none;
		background-color: transparent;
		padding: 0;
	}
	
	.events-schedule .filters .category li {
		margin-right: 1.25vw;
	}
	
	.events-schedule .filters .category li.active {
		color: var(--pink);
	}
	
	.events-schedule .filters .category .current {
		display: none;
	}
	
	.events-schedule .filters .date-dropdown {
		padding-right: 2.778vw;
	}
	
	.events-schedule .filters .category .current:after,
	.events-schedule .filters .date-dropdown:after {
		width: 1.736vw;
		height: 1.389vw;
	}
	
	.events-schedule .item {
		border-top: 1px solid #ccc;
	}
	
	.daterangepicker .drp-buttons .btn {
		width: 6.944vw;
		margin-top: 0.694vw;
	}

	.daterangepicker {
		padding-top: 30px; 
	}
}

.events-schedule .schedule .item .icon {
	width: 15.217vw;
	height: 12.319vw;
	margin-right: 5.314vw;
}

.events-schedule .schedule .item .icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.events-schedule .schedule .item  {
	padding: 6.763vw 7.246vw 9.179vw;
}

.events-schedule .schedule .item  .info {
	width: 67.633vw;
}

.events-schedule .schedule .row {
	display: flex;
}

.events-schedule .schedule .details {
	display: none;
	width: 79.710vw;
	margin: 7.246vw 0 0 auto;
	font-size: 3.382vw;
	line-height: 1.8;
}

.events-schedule .schedule .details h3 {
	font-size: 4.348vw;
}

.events-schedule .buttons {
	display: flex;
	margin-top: 4.831vw;
}

.events-schedule .buttons .btn {
	margin-right: 2.899vw;
}

.events-schedule .schedule .name {
	margin-top: 1.932vw;
	margin-bottom: 1.208vw;
}

.events-schedule .schedule .date {
	font-size: 4.106vw;
	font-weight: 700;
	color: var(--black);
	margin-bottom: 1.208vw;
}

.events-schedule .schedule .date-row {
	font-size: 3.865vw;
	color: var(--dark-gray);
}

.events-schedule .schedule .date-row i {
	margin-right: 1.208vw;
	width: 3.623vw;
	text-align: center;
	display: inline-block;
}

.events-schedule .schedule h3 {
	margin-bottom: 1.208vw;
}

.events-schedule .schedule .detail-buttons {
	display: flex;
	justify-content: center;
	margin-top: 7.246vw;
}

.events-schedule .schedule .detail-buttons .btn {
	margin: 0 1.449vw;
}

@media (max-width: 999px) {
	.events-schedule .schedule .directions {
		display: none;
	}
}
	
button#em_booking {
	border: none;
	padding-bottom: 3vw;
}

@media (min-width: 1000px) { 
	.events-schedule .schedule {
		border-bottom: 1px solid #ccc;
	}

	.events-schedule .schedule .item .icon {
		width: 5.833vw;
		height: 4.722vw;
		margin-right: 0.694vw;
	}
	
	.events-schedule .schedule .item  {
		padding: 1.944vw 2.778vw 2.431vw 3vw;
	}
	
	.events-schedule .schedule .item  .info {
		width: 68vw;
		display: flex;
		align-items: center;
	}
	
	.events-schedule .schedule .row {
		display: flex;
		align-items: center;
	}
	
	.events-schedule .schedule .details {
		width: 62.847vw;
		margin: 3.125vw 0 0 auto;
		font-size: 1.111vw;
		line-height: 1.8;
	}
	
	.events-schedule .schedule .details h3 {
		font-size: 1.528vw;
	}
	
	.events-schedule .buttons {
		display: flex;
		justify-content: flex-end;
		margin-top: 1.389vw;
	}
	
	.events-schedule .buttons .btn {
		margin-right: 0;
		margin-left: 0.347vw;
	}
	
	.events-schedule .schedule .name {
		
		margin-top: 0.694vw;
		margin-bottom: 0.486vw;
		width: 100%;
	}
	
	.events-schedule .schedule .date {
		font-size: 1.667vw;
		line-height: 1.2;
		width: 6.944vw;
		margin-right: 1.736vw;
		text-align: center;
		margin-bottom: 0;
		margin-top: 0.208vw;
	}
	
	.events-schedule .schedule .date .small {
		font-size: 80%;
	}
	
	.events-schedule .schedule .date .day {
		font-size: 2.222vw;
	}
	
	.events-schedule .schedule .date-row {
		font-size: 1.111vw;
		color: var(--dark-gray);
		display: flex;
		align-items: flex-start;
	}
	
	.events-schedule .schedule .date-row .date-row-location {
		width: 15vw;
		margin-right: 0;
	}
	
	.events-schedule .schedule .date-row div {
		margin-right: 1.042vw;
	}
	
	.events-schedule .schedule .date-row i {
		margin-right: 0.347vw;
		width: 1.042vw;
		text-align: center;
		display: inline-block;
	}
	
	
	button#em_booking {
        border: none;
        padding-bottom: 0.694vw;
    }
	
	.events-schedule .schedule .item .buttons {
		margin: 0 0 0 auto;
	}
	
	.events-schedule .schedule h3 {
		margin-bottom: 0.347vw;
	}
	
	.events-schedule .schedule .detail-buttons {
		display: flex;
		justify-content: flex-end;
		margin-top: 0.694vw;
		margin-bottom: 1.597vw;
	}
	
	.events-schedule .schedule .detail-buttons .btn {
		margin: 0 0 0 2.361vw;
	}

	.events-schedule .schedule .mobile-close {
		display: none;
	}
}

@media (max-width: 720px) {
	.events-schedule .schedule .row {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.events-schedule .schedule .item .icon {
		margin: auto auto !important;
	}

	.events-schedule .schedule .item .info{
		text-align:center;
	}

	.events-schedule .buttons {
		text-align: center;
		justify-content: center;
	}
}
/*
 * ===============================================================
 * Pop up in Footer
 * ===============================================================
 */

.popup-promo .popup-wrap {
	margin: 0 auto;
	position: relative;
	background: #e9e9e9;
	padding: 50px 0;
	display: block;
}

.popup-promo .close {
	background: none;
    top: 8px;
    left: 5px;
    font-weight: 700;
    font-size: 20px;
    color: #000;
}

@media (min-width: 1000px) {
	.popup-promo {
		padding: 10vh 0;
	}
	
	.popup-promo .close {
		top: 10px;
		left: 10px;
		font-weight: 700;
		font-size: 26px;
		color: #000;
	}

	.popup-promo .popup-wrap {
		width: 60vw;
	}
}

.popup-promo .popup-wrapper {
	width: 76.087vw;
	height: 87.681vw;
}

.popup-promo picture {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.popup-promo .text {
	position: relative;
	z-index: 10;
	text-align: right;
	font-size: 4.106vw;
	font-weight: 400;
	color: #000000;
	line-height: 1.3;
	padding: 9.662vw 2.174vw 9.662vw 41.063vw;
}

.popup-promo h3 {
	color: #000000;
	font-size: 5.072vw;
	letter-spacing: -.03em;
	margin-bottom: 2.415vw;
}

.popup-promo .text p {
	letter-spacing: -.04em;
	margin-bottom: 1.208vw;
}

.popup-promo .text small {
	font-size: 2.415vw;
	font-weight: 600;
    letter-spacing: .01em;
}

.popup-promo .text .btn {
	font-size: 3.382vw;
	padding-left: 4.831vw;
	padding-right: 4.831vw;
	width: 32.367vw;
	margin-top: 3.623vw;
}

.popup-promo .close {
	top: -2.657vw;
	left: -2.657vw;
	z-index: 10;
	width: 6.280vw;
	height: 6.280vw;
}

@media (min-width: 1000px) {
	.popup-promo .popup-wrapper {
		width: 24.306vw;
		height: 29.375vw;
	}

	.popup-promo .text {
		font-size: 1.181vw;
		font-weight: 400;
		color: #000000;
		line-height: 1.3;
		padding: 3.264vw 0.694vw 2.778vw 14.236vw;
	}

	.popup-promo h3 {
		color: #000000;
		font-size: 1.458vw;
		letter-spacing: -.03em;
		margin-bottom: 0.694vw;
	}

	.popup-promo .text p {
		letter-spacing: -.04em;
		margin-bottom: 0.347vw;
	}

	.popup-promo .text small {
		font-size: 0.694vw;
		font-weight: 600;
		letter-spacing: .01em;
	}

	.popup-promo .text .btn {
		font-size: 0.972vw;
		padding-left: 1.389vw;
		padding-right: 1.389vw;
		width: 9.306vw;
		margin-top: 1.042vw;
		padding-top: 0.8vw;
	}

	.popup-promo .close {
		top: -0.764vw;
		left: -0.764vw;
		z-index: 10;
		width: 1.806vw;
		height: 1.806vw;
	}
}
	
.popup-promo-v2 picture {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
	
.popup-promo-v2 .popup-wrapper {
	width: 74vw;
	height: 48.309vw;
}

.popup-promo-v2 picture img {
	width: 100%;
	height: 100%;
	object-position: right center;
}

.popup-promo-v2 h3 {
	font-size: 3.5vw;
	text-align: center;
	line-height: 1.3;
}

.popup-promo-v2 a {
	color: #fb7154;
	font-weight: 700;
	font-size: 3.5vw;
	text-align: center;
}

.popup-promo-v2 .text {
	padding: 5vw 0vw 15vw 34vw;
	text-align: center;
}
	
.popup-promo-v3 .btn {
	background: transparent;
	border: 1px solid #000;
	color: #000;
	position: absolute;
	z-index: 10;
    bottom: 23.467vw;
    left: 9.333vw;
    font-size: 2.667vw;
    height: 6.4vw;
    padding-top: 1.6vw;
	padding-right: 2.667vw;
    padding-left: 2.667vw;
}
	
.popup-promo-v3 .popup-wrapper {
	width: 76.087vw;
    height: 66vw;
}

@media (min-width: 1000px) {
	.popup-promo-v2 .popup-wrapper {
		width: 26.5vw;
		height: 17.361vw;
	}

	.popup-promo-v2 h3 {
		font-size: 1.25vw;
		text-align: center;
		line-height: 1.3;
		margin-bottom: 1.3vw;
	}

	.popup-promo-v2 a {
		color: #fb7154;
		font-weight: 700;
		font-size: 1.25vw;
		text-align: center;
	}

	.popup-promo-v2 .text {
		padding: 1.65vw 0vw 2.778vw 12vw;
		text-align: center;
	}
	
	.popup-promo-v3 .popup-wrapper {
		width: 30vw;
		height: 26vw;
	}
	
	.popup-promo-v3 .btn {
		bottom: 9.028vw;
		left: 3.958vw;
		font-size: 0.972vw;
		height: 2.5vw;
		padding-top: 0.694vw;
		padding-right: 1.042vw;
		padding-left: 1.042vw;
	}
}

