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

.section-bottom {
	padding-bottom: 4rem;
}

.section-top {
	padding-top: 4rem;
}

.grid {
	display: grid;
}

.two-three {
	display: grid;
	grid-template-columns: 2fr 3fr;
	grid-gap: 2rem;
}

.three-two {
	display: grid;
	grid-template-columns: 3fr 2fr;
	grid-gap: 2rem;
}

.one-three {
	display: grid;
	grid-template-columns: 1fr 3fr;
	grid-gap: 2rem;
}

.three-one {
	display: grid;
	grid-template-columns: 3fr 1fr;
	grid-gap: 2rem;
}

.span-two {
	grid-column: span 2;
}

p:has(.span-two) {
	grid-column: span 2;
}

.separator {
	display: flex;
	align-items: center;
	justify-content: center;

	span {
		display: block;
		width: 100%;
		height: 1px;
		background-color: var(--primary-color);
	}
}

a.hyperlink {
	color: var(--secondary-color);
	text-decoration: underline;
}

.btn {
	background: linear-gradient(90deg, var(--grad1-color) 0%, var(--grad2-color) 100%);
	color: white;
	padding: 0.5rem 1rem;
	border-radius: 5px;
	cursor: pointer;
	display: inline-block;
	margin: 1rem 0;

	.padding-none {
		padding: 0;
		background-color: transparent;
	}
}

.btn-primary {
	background-color: var(--primary-color);
	color: white;
	padding: 0.5rem 1rem;
	border-radius: 5px;
	cursor: pointer;
	display: inline-block;
	margin: 1rem 0;
}

.btn-outline {
	background: none;
	background-color: white;
	border: 2px solid var(--primary-color);
	color: var(--primary-color);
	padding: 0.5rem 1rem;
	border-radius: 5px;
	cursor: pointer;
	transition: all 0.3s ease;
}

.btn-outline:hover {
	background-color: var(--primary-color);
	color: white;
}

.no-left-curve {
	border-radius: 0 5px 5px 0;
}

input[type='submit'] {
	background-color: var(--secondary-color);
	color: white;
	padding: 0.5rem 1rem;
	border-radius: 5px;
	cursor: pointer;
}

.gradient {
	background: linear-gradient(90deg, var(--grad1-color) 0%, var(--grad2-color) 100%);
}

.large-slider {
	height: 40vh;
	min-height: 500px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	color: white;
	text-align: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}

.slick-dots {
	display: flex;
	justify-content: center;

	margin: 0;
	padding: 1rem 0;

	list-style-type: none;
	z-index: 1001;
	position: relative;
	bottom: 50px;

	li {
		margin: 0 0.25rem;
	}

	button {
		display: block;
		width: 1rem;
		height: 1rem;
		padding: 0;

		border: none;
		border-radius: 100%;
		background-color: var(--primary-color);

		text-indent: -9999px;
		cursor: pointer;
	}

	li.slick-active button {
		background-color: var(--secondary-color);
	}
}

.small-slider > .slick-dots {
	bottom: 20px;
}

.large-slider::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	height: 0;
	width: 0;
	border-width: 0 50vw 7vh 0px;
	border-style: solid;
	background-color: transparent;
	border-color: transparent transparent white transparent;
	z-index: 1000;
}

.large-slider::before {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	height: 0;
	width: 0;
	border-width: 7vh 50vw 0 0px;
	border-style: solid;
	background-color: transparent;
	border-color: transparent white transparent transparent;
	z-index: 1000;
}

.hero {
	width: 100%;
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	color: white;
	text-align: center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
	position: relative;
	background-position: 50% 40%;
	/* background gradient */
}
.hero::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	/* height: calc(100% - var(--padding) * 2); */
	height: 100%;
	z-index: 0;
	background-color: rgba(0, 0, 0, 0.1);
}

.hero-content {
	width: 100%;
	height: calc(40vh - var(--padding) * 2);
	min-height: calc(400px - var(--padding) * 2);

	margin: var(--padding);
	max-width: 1200px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-content: center;
	z-index: 1000;
}

.large-slider .hero-content {
	width: 100%;
	height: calc(40vh - var(--padding) * 2);
	min-height: calc(500px - var(--padding) * 2);

	margin: var(--padding);
	max-width: 1200px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-content: center;
	z-index: 1000;
}

.hero-content > * {
	text-align: left;
}

.holder {
	width: 50%;
}

.youtube-container {
	position: relative;
	padding-top: 30px;
	height: fit-content;
}
.accordion {
	width: 100%;
	margin: 1rem 0;
}

.accordion-header {
	/* background-color: ; */
	color: var(--primary-color);
	border: 1px solid var(--primary-color);
	padding: 1rem;
	cursor: pointer;
	transition: all 0.4s linear;
	position: relative;
}

.accordion-header::after {
	content: '+';
	font-size: 2.5rem;
	position: absolute;
	right: 1rem;
	top: calc(50% - 1.5rem);
}

.accordion-header > h4 {
	margin: 0;
	margin-right: 2rem;
}

.accordion-panel.active > .accordion-header::after {
	content: '-';
	font-size: 2.5rem;
	color: white;
}

.accordion-panel.active > .accordion-header {
	background-color: var(--secondary-color);
	border: 1px solid var(--secondary-color);
}

.accordion-panel.active > .accordion-header > h4 {
	color: white !important;
}

.accordion-panel > .accordion-content {
	max-height: 0;
	padding: 0 1rem;

	transition: all 0.25s ease-out;
	overflow: hidden;
	/* margin: 1rem; */
}

.accordion-panel.active > .accordion-content {
	max-height: 1500px;
	border: 1px solid var(--secondary-color);
	padding: 1rem;

	border-top: none;
	transition: all 0.35s ease-in;
}

.body-content {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.page-container {
	width: 100%;
	padding: 0 var(--padding);
	max-width: 1200px;
}

.page-content {
}

.two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 2rem;
}

.two-col-masonary {
	columns: 2;
	gap: 2rem;
}

/* .two-col-masonary::before,
.two-col-masonary::after {
	content: "";
	flex-basis: 100%;
	width: 0;
	order: 2;
} */

.single-col {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 4rem;
}

.no-gap {
	grid-gap: 0;
}

.three-col {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 2rem;
}

.card {
	background-color: white;
	border-radius: 5px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	padding: 1rem;
	transition: all 0.3s;
	overflow: hidden;
}

.card:hover {
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}

.card-title {
	color: var(--secondary-color);
	text-align: center;
	margin-bottom: var(--padding);
}

.card-content {
	text-align: center;
	margin-bottom: 0.5rem;
}

.card.outline {
	border: 2px solid;
	border-image-slice: 1;
	border-width: 2px;
	border-image-source: linear-gradient(90deg, var(--grad1-color) 0%, var(--grad2-color) 100%);
	border-radius: 10px;
}

.newsfeed-card {
	background-color: white;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	transition: all 0.3s;
	overflow: hidden;
}

.newsfeed-card:hover {
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}

.newsfeed-card > a > img {
	width: 100%;
	height: auto;
	max-height: 400px;
	object-fit: none; /* Do not scale the image */
	object-position: center;
}

.three-col > .newsfeed-card > a > img {
	object-fit: cover;
}

.two-col > .newsfeed-card > a > img {
	object-fit: cover;
}

.border-gradient {
	border: 10px solid;
	border-image-slice: 1;
	border-width: 5px;
	border-image-source: linear-gradient(90deg, var(--grad1-color) 0%, var(--grad2-color) 100%);
}

.profile-card {
	display: grid;
	grid-template-columns: 1fr 4fr;
	gap: 2rem;
}

.team-members > .profile-card:last-child {
	margin-bottom: 0;
	padding-bottom: 0 !important;
}

.profile-card-content {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 5px;
	/* justify-content: center;
	align-items: center;
	*/
}

.profile-card-title {
	margin-top: 0;
}

.profile-card-image > img {
	width: 100%;
	height: auto;
	border-radius: 5px;
}

.service-card-image > img {
	width: 100%;
	height: auto;
}

.profile-card-image {
}

.card-title {
	margin: 1rem 0;
}

.card-image > img {
	width: 100%;
	height: auto;
}

.mini-card-container {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: auto;
	grid-gap: 2rem;
}

.spread {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

.mini-card {
	background-color: white;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	padding: 1rem;
	transition: all 0.3s;
	border: 2px solid var(--primary-color);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.mini-card.start {
	justify-content: flex-start;
}

.mini-card-icon > img {
	width: 70px;
	height: 70px;
}

.mini-card:hover {
	box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2);
}

.full-background {
	position: relative;
	z-index: 10;
	color: white;

	background: linear-gradient(90deg, var(--grad1-color) 0%, var(--grad2-color) 100%);
	padding: var(--padding);
	border-radius: 10px;

	.btn {
		background-color: var(--primary-color);
		color: white;
		padding: 0.5rem 1rem;
		border-radius: 5px;
		cursor: pointer;
		display: inline-block;
		margin: 1rem 0;
	}
}

.full-background.section {
	margin: 4rem 0;
}

/* .full-background::after {
	content: "";
	position: absolute;
	top: 0;
	left: -30vw;
	width: 130vw;
	height: 100%;
	z-index: -1;
} */

.breakout-left {
	/* width: 100%; */
	display: flex;
	flex-wrap: nowrap;
	/* margin: 4rem 0; */
}

.breakout-right {
	/* width: 100%; */
	display: flex;
}

.breakout-right > .breakout {
	padding-left: 0;
	/* max-width: 50%; */
}

.breakout-image {
	/* margin: 2rem 0; */

	min-width: 400px;

	width: clamp(200px, 50vw, 500px);
}

.breakout-left .breakout-image {
	float: left;
	margin-right: 20px;
}

.breakout-right .breakout-image {
	text-align: end;
	float: right;
	margin-left: 20px;
	/* width: 100%; */
}

.breakout-image > img {
	width: 100%;
	height: auto;
	max-width: 500px;
	border-radius: 10px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
}

.breakout {
	/* 	padding-left: var(--padding); */
	/* 	padding-right: var(--padding); */
	width: 100%;
	/* 	width: clamp(700px, 60vw, 100%); */

	position: relative;
}

.breakout-left > .breakout > h3 {
	margin-top: 0;
}

.full-background > .breakout-image {
	min-width: 0;
}

.promo-image {
}

.contact-image > img {
	/* image cover */

	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.service-header {
	display: flex;
	flex-wrap: no-wrap;
	gap: 1rem;
}

.promo-image > img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
}

.highlight-text {
	color: var(--secondary-color);
	text-decoration: underline;
}

.search-results {
	list-style: none;
	padding: 0;
}

.search-results > li {
	margin: 3rem 0;
}

.search-results > li > a {
	color: var(--primary-color);
}

.search-results > li > a:hover > h3 {
	color: var(--secondary-color);
}

.wpcf7-list-item {
	margin: 0;
}

.pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	list-style: none;
	flex-wrap: nowrap;
	padding: 0;
}
.pagination > * {
	margin: 0 0.5rem;
}

.search-bar > input[type='search'] {
	width: 100%;
	padding: 0.5rem;
	border-radius: 5px;
	border: 1px solid var(--primary-color);
}

.card.quote {
	position: relative;
}

/* .quote::before {
	content: "“";
	font-size: 6rem;
	line-height: 6rem;
	position: absolute;
	font-family: Arial, Helvetica, sans-serif;
	top: 0;
	left: 0;
	z-index: 1001;
	color: var(--primary-color);
} */

.quote > p {
	font-size: 6rem;
	line-height: 2rem;
	margin-top: 2rem;
	margin-bottom: -1rem;
	font-family: Arial, Helvetica, sans-serif;
	color: var(--secondary-color);
	text-align: center;
}

.standout-link {
	color: var(--secondary-color);
	text-decoration: underline;
}

.article {
	h1,
	h2,
	h3 {
		margin-top: 2rem;
		margin-bottom: 2.5rem;
	}

	h4,
	p {
		margin-bottom: 1rem;
	}

	a:not(.btn) {
		color: var(--secondary-color);
		text-decoration: underline;
	}

	.contact-content a:has(i),
	.two-col a {
		color: var(--primary-color);
		text-decoration: none;
	}
}

.gmaps-iframe {
	width: 100%;
	height: 400px;
}

.prev-arrow {
	border-style: solid;
	border-width: 0.15em 0.15em 0 0;
	content: '';
	display: inline-block;
	height: 0.45em;
	right: 0.25em;
	position: relative;
	/* top: 1.55em; */
	transform: rotate(225deg);
	vertical-align: top;
	width: 0.45em;

	/* transform: rotate(45deg); */
}

.next-arrow {
	border-style: solid;
	border-width: 0.15em 0.15em 0 0;
	content: '';
	display: inline-block;
	height: 0.45em;
	left: 0.25em;
	position: relative;
	/* top: 1.55em; */
	transform: rotate(45deg);
	vertical-align: top;
	width: 0.45em;
	/* transform: rotate(-45deg); */
}

.single-line {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

.single-line > input {
	width: 100%;
	border: 1px solid var(--primary-color) !important;
}

.single-line > .btn {
	/* background-color: var(--primary-color);
	color: white;
	padding: 0.5rem 1rem;
	border-radius: 5px;
	cursor: pointer; */
	margin: 0.5rem 0;
	border-radius: 0 5px 5px 0;
}

.next-arrow:hover {
	border-color: var(--secondary-color);
}

.prev-arrow:hover {
	border-color: var(--secondary-color);
}

.date-tag {
	text-align: right;
}

.half-rem-mobile {
	padding: 0;
}

.show-desktop {
	display: block;
}

.hide-desktop {
	display: none;
}

.newsfeed-card .three-one {
	padding: 2rem 2rem 0 2rem;
}

.hidden {
	display: none !important;
}

.flex-center {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
	gap: 15px;
}

.sidebar {
	width: 100%;
	max-width: 300px;
	margin-right: 2rem;
	/* margin-left: 2rem; */
	/* padding: 1rem; */
	top: 50px;
}

.sidebar-internal {
	position: sticky;
	top: 140px;
}

.sidebar a:hover p {
	color: var(--secondary-color);
	/* text-decoration: underline; */
}

.sidebar-item {
	margin: 1rem 0;
	border-bottom: 1px solid var(--primary-color);
}

@media screen and (min-width: 1024px) {
	.three-one > .page-container {
		width: fit-content;
		padding-right: 0;
	}
}

@media screen and (max-width: 1440px) {
	.sidebar-internal {
		padding-right: 2rem;
	}
}

@media screen and (max-width: 1280px) {
	.page-container {
		padding: 2rem;
		max-width: calc(100% - (2rem * 2));
	}

	.three-one > .page-container {
		max-width: calc(100% - (2rem));
	}

	.mini-card-container {
		grid-template-columns: 1fr 1fr;
	}
}

@media screen and (max-width: 1024px) {
	.three-one:has(.page-container) {
		grid-template-columns: 1fr;
	}
	.mobile-invert > .mobile-first {
		order: 1;
	}
	.mobile-invert > .mobile-second {
		order: 2;
	}

	.three-one > .page-container {
		max-width: calc(100% - (2rem * 2));
	}
	.sidebar {
		width: calc(100% - 2rem);
		/* width: fit-content; */
		max-width: 600px;
		margin: auto;
		padding: 1rem;
		text-align: center;
		position: static;
	}

	.sidebar > .sidebar-internal {
		position: static;
	}
}

@media screen and (max-width: 768px) {
	.section {
		padding: 2rem 0 2rem 0;
	}

	.large-slider .hero-content {
		align-content: flex-start;
	}

	.sidebar {
		/* width: 100%; */
		width: fit-content;
		padding-top: 0;
	}

	.page-container {
		padding: 1rem;
		max-width: calc(100vw - var(--padding) * 2);
	}

	.three-one > .page-container {
		max-width: calc(100vw - var(--padding) * 2);
	}
	.two-col {
		grid-template-columns: 1fr;
	}

	.three-col {
		grid-template-columns: 1fr;
	}

	.three-one {
		grid-template-columns: 1fr;
	}

	.three-two {
		grid-template-columns: 1fr;
	}

	.two-three {
		grid-template-columns: 1fr;
	}
	.sidebar-internal {
		padding-right: 0;
	}
	.one-three {
		grid-template-columns: 1fr;
	}

	.two-col-masonary {
		columns: 1;
	}
	.breakout-left {
		flex-wrap: wrap;
		/* width: fit-content; */
	}

	.breakout-right {
		flex-wrap: wrap;
		flex-direction: column-reverse;
		max-width: 100%;
		/* width: fit-content; */
	}

	.breakout-right > .breakout {
		max-width: 100%;
	}
	.breakout-image {
		width: calc(100% - var(--padding) * 2) !important;
		text-align: start !important;
		max-width: calc(100% - var(--padding) * 2);
		min-width: 100%;
	}

	.breakout-image > img {
		width: 100%;
		height: auto;
		max-width: calc(100% - var(--padding));
		min-width: 100%;
	}
	.full-background > .breakout-image > img {
		max-width: calc(100% - var(--padding) * 2);
	}

	.breakout {
		padding: 0;
	}

	.full-background {
		padding: 1rem;
	}

	.mini-card-container {
		grid-template-columns: 1fr;
	}

	.profile-card {
		grid-template-columns: 1fr;
	}

	.profile-card-image {
		padding: 0 !important;
	}
	.profile-card-image > img {
		width: auto;
		max-height: 200px;
		border-radius: 5px;
	}

	.service-card-image > img {
		width: auto;
		max-height: 200px;
	}

	.newsfeed-card > a > img {
		object-fit: cover;
	}

	.newsfeed-card .three-one {
		gap: 0.5rem;
		padding: 1rem 1rem 0 1rem;
	}

	.span-two {
		grid-column: span 1;
	}

	.no-left-curve {
		border-radius: 5px;
	}

	.gmaps-iframe {
		height: 200px;
	}

	.date-tag {
		text-align: left;
	}

	.half-rem-mobile {
		padding-bottom: 0.5rem;
	}

	.flip-order {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	.show-mobile {
		display: block;
	}

	.hide-mobile {
		display: none;
	}

	.holder {
		width: 100%;
	}
	.flex-center {
		flex-direction: column;
	}
}

@media screen and (max-width: 426px) {
	.breakout-image {
		max-width: calc(100vw - 20px);
	}
	.breakout-image > img {
		max-width: calc(100vw - 20px);
	}
	.full-background .breakout-image {
		max-width: calc(100% - 40px);
		width: 100%;
	}
	.full-background .breakout-image > img {
		max-width: calc(100% - 40px);
		width: 100%;
	}
}
