/* INDEX-SECTION SPECIFIC */
.carousel {
	/* equal to next section's overlap */
	--min-pad-bottom: 3rem;
	
	--carousel-height: clamp(500px, calc(90vh - var(--nav-height)), 772px);
	
	/* used to calculate the minimum padding-bottom for contents of .carousel-item */
	--indicator-pad: 10px;
	--indicator-height: 3px;
	--indicator-bottom: clamp(var(--min-pad-bottom), min(20vw, calc(.20 * var(--carousel-height))), 8.5rem); 
	--indicator-outer-height: calc((2 * var(--indicator-pad)) + var(--indicator-height) + var(--indicator-bottom));
	
    --control-width: min(10vw, 70px);
	
	--carousel-pad-x: min(10vw, 170px);
	--carousel-pad-top: clamp(65px, min(15vw, 15%), 111px);
	--carousel-pad-bottom: var(--indicator-outer-height);
}
.carousel-indicators {
    gap: 1rem;
	bottom: var(--indicator-bottom);
	margin-left: var(--carousel-pad-x);
	margin-right: var(--control-width);
	margin-bottom: 0; /* DO NOT CHANGE, change "--indicator-bottom" instead */
	justify-content: start !important;
}
.carousel-indicators [data-bs-target] {
	margin:0;
	border-top-width: var(--indicator-pad);
	border-bottom-width: var(--indicator-pad);
	height: var(--indicator-height);
	transition: opacity .6s ease, width .6s ease;
}

.carousel-item  {
	padding-top: var(--carousel-pad-top);
	padding-bottom: var(--carousel-pad-bottom);
	padding-left: var(--carousel-pad-x);
	padding-right: var(--carousel-pad-x);
	min-height: var(--carousel-height);
	background-color: var(--bs-secondary);
	background-position: center;
    background-size: cover;
}
.carousel-item.active,
.carousel-item.carousel-item-next,
.carousel-item.carousel-item-prev /* only current moving items */
{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
.carousel-caption {
	padding: 0;
	position: static;
	text-align: left !important;
	
}
.carousel-caption > *:last-child { margin-bottom:0!important; }
.carousel-caption h2 {
	font-size: clamp(4rem, calc(7vw + 10px), 9.375rem) !important;
    text-shadow: 0 0.05em rgba(0, 0, 0, 0.15);
}
@media (min-width: 1140px) {
	.carousel-caption h1 {
		font-size: 5.75rem !important;
	}
}
.carousel-caption p.teaser {
    font-size: clamp(1.1rem, calc(1.25vw + 7px), 1.5rem);
	margin-top: 0.75rem!important;
	text-transform: uppercase;
	font-weight: 500;
}
.carousel-control-prev, .carousel-control-next {
	width: var(--control-width);
	display: none;
}
.carousel-quote {
	color:white;
	display: block;
    align-self: flex-end;
	text-align: right;
	max-width:400px;
	margin: 1rem 0 1px;
	padding-bottom: 1rem;
}
@media (min-width: 768px) {
	.carousel-quote {
		position: absolute;
		bottom: var(--min-pad-bottom);
		right: var(--carousel-pad-x);
	}
}

.carousel-quote blockquote {
    font-weight: normal;
    font-size: 1rem;
}
.carousel-quote figcaption {
	text-transform: uppercase;
    font-size: 0.875rem;
}

/* SECTION SPECIFIC */
.golf-bw-bg {
	position:relative;
	/* margin-top:80px; */
	width: 100%;
    max-height: 70vh;
    aspect-ratio: 21/9;
    background: url('/images/golf-bw-home.jpg');
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
	color: #fff;
	display: flex;
    align-items: flex-end;
}

.golf-bw-bg .container {
    display: flex;
    justify-content: flex-end;
}

.services {
	background:#0e0e0e;
	padding: 80px 0;
}

.services-icon {
	font-size: 3.25rem;
	margin-bottom: .5rem;
}

.wedding-bw-bg {
	position:relative;
	width: 100%;
    height: min(calc(90vh - var(--nav-height)), 820px);
    background: url('/images/wedding-bw-home.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.wedding-bw-bg .container {
	position:absolute;
	right:50px;
	bottom:50px;
}

.testimonials {
	background:#0e0e0e;
	padding: clamp(10rem, 15vh, 15rem) 0;
}

.newsletter {
	background: #0e0e0e;
}