/**
 * ===============================================================
 * 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 form input{
  height: 53px !important;
}

footer .subscribe button {
  height: 53px !important;
  top: -1px;
}

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

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

.hero-section {
  width: 100%;
  min-height: 80vh;
  background-size: cover;
	background-position: top center;
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
  text-align: center;
  align-items: center;
  display: flex;
}

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

.hero-text h1 {
  font-size: 7rem;
}

/* Desktop/tablet only */

/* Mobile only */
@media (max-width: 640px) {
  .hero-section { 
	background-color: #fcf7f4;
    width: 100%;
	height: auto;
	min-height:20rem;
	background-size: cover;
	align-items: start;
}

  .hero-text {
    width: 100%;
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .hero-text h1 { 
	text-align: center; 
}

	.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;
	}
}


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

.image-wrapper {
  display:inline-block;
  margin: 0 auto;
}
/*
 * ===============================================================
 * 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%
}

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

}

/*
 * ===============================================================
 * 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;
}



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

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

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

.three-col-section .cell {
  padding: 1rem;
}

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

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

/*
 * ===============================================================
 * 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;
	}
}


/*
 * ===============================================================
 * 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: #ccc;
}

.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: #ff6666;
	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 #ccc;
		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;
}


/* ==========================================================================
   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 #ddd;
}

/* --- 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;
	}
}

/*
 * ===============================================================
 * Common & Responsive Styles
 * ===============================================================
 */
.bg-light-tan {
    background-color: var(--light-tan, #f5f1ed);
}

.bg-white {
    background-color: var(--white, #ffffff);
}

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

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

body {
	background: white;
}


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

}

