/* Responsive layout and navigation */

*,
*::before,
*::after {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	height: auto;
}

#wrapper-bgtop0 {
	padding: var(--space-md) 0 var(--space-2xl);
}

#top-content {
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: 0;
	grid-template-columns: 1fr;
}

#column1,
#column2,
#col1,
#col2,
#col3,
#content,
#sidebar {
	float: none;
	width: 100%;
	max-width: 100%;
	margin-right: 0;
}

#top-content .hero-title {
	height: auto;
}

#three-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-xl);
}

#top-heading {
	height: auto;
	min-height: 0;
}

#top-heading h2 {
	width: auto !important;
	max-width: 100%;
}

.subpage #page-bgtop,
.subpage2 #page-bgtop,
.single #page-bgtop {
	width: 100%;
	max-width: 100%;
}

#page table {
	max-width: 100%;
}

.featured-event {
	display: block;
	color: inherit;
	text-decoration: none;
}

.featured-event__header {
	display: flex;
	gap: var(--space-md);
	align-items: flex-start;
}

.featured-event__icon {
	flex: 0 0 75px;
	width: 75px;
	height: auto;
	border-radius: var(--radius-sm);
}

.featured-event__meta {
	flex: 1;
	min-width: 0;
}

.featured-event__date {
	text-transform: none;
	font-size: 0.95rem;
	height: auto;
	margin: 0 0 var(--space-xs);
	padding: 0;
}

.featured-event__body {
	padding-top: var(--space-sm);
	color: var(--color-text-muted);
}

@media (max-width: 991px) {
	#header {
		padding: var(--space-sm) 0;
		border-bottom: 2px solid rgba(201, 166, 107, 0.45);
	}

	.site-header__banner {
		flex-wrap: nowrap;
		align-items: center;
		gap: var(--space-sm);
	}

	.site-header__logos {
		flex: 1 1 auto;
		min-width: 0;
	}

	.site-header__actions {
		flex: 0 0 auto;
		flex-wrap: nowrap;
		align-items: center;
		gap: var(--space-xs);
	}

	.site-header__reserve {
		display: none;
	}

	.site-header__phone {
		width: auto;
		font-size: 0.8rem;
		font-weight: 600;
		line-height: 1;
		white-space: nowrap;
		color: var(--color-brand-gold-light);
	}

	.site-logo {
		flex-wrap: nowrap;
		align-items: baseline;
		gap: 0.3rem;
		max-width: 100%;
	}

	.site-logo__brand {
		font-size: clamp(1.65rem, 8vw, 2.1rem);
	}

	.site-logo__tagline {
		font-size: clamp(1.35rem, 6.5vw, 1.75rem);
		transform: none;
	}

	.link1 {
		float: none;
		text-align: left;
		margin-top: var(--space-md);
	}
}

@media (min-width: 769px) {
	#top-content {
		grid-template-columns: 1fr 1fr;
	}

	#three-columns {
		grid-template-columns: repeat(3, 1fr);
	}

	#content {
		float: left;
		width: 62%;
	}

	#sidebar {
		float: right;
		width: 34%;
	}
}
