/* Theme Name: Barebones */
/* === Global === */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Outfit", sans-serif;
}
h1 {
	font-size: 48px;
	color: #fff;
	position: relative;
}
h2 {
	font-size: 32px;
	color: #fff;
	position: relative;
}
h3 {
	font-size: 26px;
	color: #fff;
	position: relative;
}
h1:before,
h2:before,
h3:before {
	content: "";
	width: 75px;
	height: 3px;
	background-color: var(--color-2);
	position: absolute;
	top: -20px;
	left: 0;
}
body {
	font-family: "Inter", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 24px;
	color: var(--color-4);
}
.btn {
	position: relative;
	width: fit-content;
}
/* === Header/Nav === */
.primary-header .logo-col {
	flex-basis: 300px;
}
.primary-header .c2a {
	justify-content: flex-end;
}
body.scrolled .primary-header .logo-col {
	padding: 8px 0;
}
body.scrolled .primary-header .logo-col img {
	max-height: 65px;
}
body.scrolled .primary-header .nav-col {
	padding-top: 8px;
	padding-bottom: 8px;
}
.primary-header {
	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	z-index: 11;
	background-color: var(--color-1);
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
}
.primary-header .header-row {
	column-gap: 30px;
}
.primary-header .nav-col {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	padding: 15px 0;
	padding-right: 30px;
	transition: padding ease 0.3s;
}
.primary-header .nav-col .menu a {
	color: var(--color-4);
}
.primary-header .logo-col {
	padding: 15px;
	padding-left: 30px;
	flex: 0 1 300px;
	transition: padding ease 0.3s;
	display: flex;
	align-items: center;
}
.main-nav .menu li {
	margin: 0;
	white-space: nowrap;
}
.primary-header .logo-col img {
	max-height: 85px;
	width: auto;
	transition: all ease 0.3s;
}
.primary-header .main-nav .menu {
	justify-content: flex-end;
}
.primary-header .main-nav .menu a {
	font-family: "Inter", sans-serif;
	font-size: 14.201px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}
.primary-header .main-nav .menu a:hover,
.primary-header .main-nav .menu a:focus {
	color: var(--color-2);
}
.banner-section .content {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 10%;
	z-index: 3;
	color: var(--color-4);
}
.banner-section .image {
	background-color: #000;
}
.banner-section .image img {
	opacity: 0.5;
}
/* === Footer === */
.primary-footer {
	background-color: var(--color-2);
	color: var(--color-4);
	padding: 85px 0 0 0;
	background-color: var(--color-1);
}
.primary-footer.heading-underline h2 {
	color: var(--color-4);
	margin-bottom: 50px;
}
.primary-footer a {
	color: var(--color-4);
	font-weight: 300;
}
.primary-footer a:hover,
.primary-footer a:focus {
	color: var(--color-2);
}
.primary-footer .footer-row {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
}
.primary-footer .footer-row .col {
	flex: 1 1 calc(50% - 80px);
}
.primary-footer .footer-row .info-col,
.primary-footer .footer-row .contact-col {
	grid-column: 1 / 2;
}
.primary-footer .footer-row .info-col {
	grid-row: 1 / 1;
}
.primary-footer .footer-row .contact-col {
	grid-row: 2 / 3;
	padding: 0 0 85px 0;
}
.primary-footer .footer-row .form-col {
	grid-column: 2 / 3;
	grid-row: 1 / 3;
}
.primary-footer .form-col .gform_wrapper.gravity-theme .gfield_label {
	letter-spacing: 1.5px;
	font-family: var(--font_heading);
	font-weight: 600;
}
.primary-footer .form-col .gform_wrapper.gravity-theme .gform_fields {
	grid-column-gap: 30px;
}
.primary-footer .form-col .gform_wrapper.gravity-theme .gfield input:not(.button),
.primary-footer .form-col .gform_wrapper.gravity-theme .gfield textarea {
	background: none;
	border: none;
	border-bottom: 1px solid var(--color-4);
}
.primary-footer .form-col .gform_wrapper.gravity-theme .gfield textarea.small {
	height: 98px;
}
.primary-footer .form-col .gform_wrapper.gravity-theme .gform_footer {
	margin: 0;
	padding: 0;
	padding-top: 16px;
}
.primary-footer .form-col .gform_wrapper.gravity-theme .button {
	background-color: var(--color-2);
	color: var(--color-4);
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 1.8px;
	padding: 10px 22px;
	border: none;
	transition: all ease 0.3s;
	width: 100%;
	text-transform: uppercase;
}
.primary-footer .form-col .gform_wrapper.gravity-theme .button:hover,
.primary-footer .form-col .gform_wrapper.gravity-theme .button:focus {
	background-color: var(--color-3);
}
.primary-footer .info-col {
	font-weight: 300;
}
.primary-footer .info-col .inner {
	max-width: 450px;
}
.primary-footer .info-col .footer_content {
	margin-bottom: 40px;
}
.primary-footer .contact-col .logo {
	margin-bottom: 40px;
}
.primary-footer .contact-col .contact-info {
	margin-bottom: 10px;
}
.primary-footer .contact-col .service_areas {
	margin-bottom: 40px;
}
.primary-footer .social {
	column-gap: 0.5em;
	font-size: 38px;
	margin: 10px 0 30px 0;
}
.primary-footer .social a {
	color: var(--color-4);
}
.primary-footer .social a:hover,
.primary-footer .social a:focus {
	color: var(--color-2);
}
.primary-footer .copyright {
	text-align: left;
}
.primary-footer .contact-info-grid {
	display: grid;
	grid-column-gap: 2%;
	grid-row-gap: 16px;
	grid-template-columns: repeat(2, 1fr);
}
.primary-footer .hours p {
	font-weight: 300;
}
.primary-footer h2 {
	margin-bottom: 60px;
}
.primary-footer h2:before {
	content: none;
}
.primary-footer .copyright {
	font-size: 13px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}
.primary-footer .copyright p {
	margin: 0 0 10px 0;
}
.primary-footer .copyright a {
	text-decoration: underline;
}
/* === Home Page === */
.services-section {
	padding: 85px 0;
}
.services-section .services {
	flex-wrap: wrap;
	column-gap: 30px;
	row-gap: 30px;
}
.services-section .service {
	flex: 1 1 calc(33.33% - 20px);
	box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.1);
	background-color: #f6f6f6;
	color: #000;
	padding: 30px 0px;
	transition: transform ease 0.3s;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.services-section .service a:hover {
	transform: translateX(5px);
}
.services-section .service .content {
	padding: 25px;
}
.services-section .service .content h2 {
	color: var(--color-1);
	font-size: 24px;
}
.services-section .service .content p:last-child {
	margin-bottom: 0;
}
.services-section .service a {
	display: flex;
	justify-content: flex-end;
	padding-right: 25px;
}
.services-section .service .arrow-container {
	background: white;
	padding: 10px;
	border-radius: 8px;
}
.services-section .service .long-arrow {
	width: 90px;
	height: 60px;
	fill: none;
	stroke: var(--color-2);
	stroke-width: 4;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: all ease 0.3s;
}
.services-section .service .long-arrow:hover {
	cursor: pointer;
}
.animated {
	animation: slideIn 1s ease-in-out;
}
@keyframes slideIn {
	from {
		transform: translateX(-100px);
		opacity: 0;
	}
	to {
		transform: translateX(0);
		opacity: 1;
	}
}
.content-section {
	background-color: var(--color-1);
}
.content-section.img-left .content-row {
	flex-direction: row-reverse;
}
.content-section .content-row {
	flex-wrap: wrap;
}
.content-section .content-row .content-col {
	flex: 1 1 60%;
}
.content-section .content-col {
	padding: 100px 75px;
}
.content-section .content-row .image-col {
	position: relative;
	flex: 1 1 40%;
}
.content-section .image-col .image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.content-section .image-col .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.background-section {
	position: relative;
	padding: 120px 0;
	background-color: #a35d00;
	opacity: 0.95;
}
.background-section .background {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0.2;
	z-index: -1;
	background-size: cover;
	background-position: 50% 50%;
}
.background-section .dual-content .main-content h2:before {
	background-color: #fff;
}
.background-section .dual-content {
	display: flex;
	align-items: center;
	gap: 80px;
}
.background-section .dual-content .col {
	flex: 1 1 50%;
}
.toggle-item {
	margin-bottom: 20px;
	border-bottom: 1px solid var(--color-6);
	padding-bottom: 20px;
}
.toggle-item .toggle-heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 0px;
	cursor: pointer;
}
.toggle-item .toggle-heading h3 {
	font-size: 20px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	margin-bottom: 0;
}
.toggle-item .icon {
	transition: transform ease-in-out 0.4s;
	font-size: 20px;
}
.toggle-item > .toggle-content {
	display: none;
	padding: 0;
}
.toggle-item.active > .toggle-content {
	display: block;
}
.toggle-item .toggle-content p {
	margin: 10px 0;
}
.toggle-item .icon.active {
	transform: rotate(90deg);
}
.faq-section {
	background-color: var(--color-5);
	color: var(--color-1);
	padding: 85px 0;
}
.faq-section h2,
.faq-section h3 {
	color: var(--color-1);
}
.faq-section h2:before,
.faq-section h3:before {
	display: none;
}
.faq-section .faq {
	border: none;
	border-bottom: 1px solid var(--color-1);
	margin-bottom: 0;
	padding: 40px 0;
}
.faq-section .faq .toggle-heading {
	padding: 0;
	border: none;
	transition: color ease 0.3s;
}
.faq-section .faq .toggle-content {
	border: none;
	padding: 0;
	padding-top: 20px;
}
.faq-section .faq h3 {
	margin-bottom: 0;
}
.faq-section .faq.active .toggle-heading .icon {
	color: var(--color-3);
}
.faq-section .faq.active .toggle-heading .heading {
	color: var(--color-2);
}
.mobile-header .mobile-row {
	background-color: var(--color-2);
}
/* === Interior Pages === */
body.ip .content-section {
	background-color: #fff;
	color: var(--color-text);
}
body.ip .content-section .btn {
	background-color: var(--color-2);
}
body.ip .content-section .btn:hover,
body.ip .content-section .btn:focus {
	background-color: var(--color-1);
}
body.ip .content-section h2,
body.ip .content-section h3 {
	color: var(--color-text);
}
body.ip .content-section p:last-child {
	margin-bottom: 0;
}
body.ip .background-section,
body.ip .background-section h2,
body.ip .background-section h3 {
	color: #fff;
}
body.ip .background-section h2:before,
body.ip .background-section h3:before {
	display: none;
}
body.ip .background-section .columns {
	flex-wrap: wrap;
	gap: 30px;
	justify-content: space-between;
}
body.ip .background-section .columns > .col {
	flex: 1 1 calc(33.33% - 66.66px);
}
body.ip .background-section {
	font-size: 19px;
}
body.ip .background-section h2 {
	font-size: 34px;
	margin-bottom: 0;
	font-weight: 600;
}
body.ip .background-section p:last-child {
	margin-bottom: 0;
}

/** WooCommerce **/
.woocommerce-breadcrumb,
.woocommerce-ordering {
	display: none;
}
.woocommerce #main {
	background: #fff;
	color: var(--color-1);
	padding: 85px 0;
}

body.woocommerce h1,
body.woocommerce h2 {
	color: var(--color-1) !important;
}
.woocommerce-info::before {
	color: var(--color-2);
}
.woocommerce-info {
	border-top-color: var(--color-2);
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button {
	background-color: var(--color-2);
	color: #fff;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover,
:where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover {
	background-color: var(--color-1);
	color: #fff;
}

.resources-section {
	padding: 100px 0 50px;
}
.resources-section h2 {
	color: var(--color-text);
}
.resources-section .resources {
	flex-wrap: wrap;
	gap: 30px;
}
.resources-section .resource {
	flex: 0 1 210px;
}
.news-section {
	background-color: var(--color-2);
	padding: 60px 0;
	color: #fff;
}
.news-section a {
	color: #fff;
	font-weight: 400;
}
.news-section .content {
	margin-bottom: 40px;
}
.news-section .posts {
	flex-wrap: wrap;
	gap: 60px;
}
.news-section .post {
	flex: 1 1 calc(50% - 30px);
}
.news-section .pagination {
	margin-top: 40px;
	display: flex;
	gap: 0.5em;
	justify-content: center;
	margin-bottom: 0;
}
.form-section {
	color: var(--color-text);
	padding: 100px 0;
}
.form-section h2 {
	color: var(--color-text);
	background-color: #fff;
}
.form-section .gform_wrapper.gravity-theme {
	max-width: 900px;
	margin: 50px auto 0;
}
.form-section .gform_wrapper.gravity-theme .gfield input,
.form-section .gform_wrapper.gravity-theme .gfield textarea {
	border: none;
	border-bottom: 1px solid var(--color-text);
}
.form-section .gform_wrapper.gravity-theme .button {
	border: none;
	box-shadow: 4px 4px 4px 0 rgba(0, 0, 0, 0.25);
	background-color: var(--color-2);
	color: #fff;
	text-transform: uppercase;
	font-weight: 700;
	padding: 15px;
}
.form-section .gform_wrapper.gravity-theme .gfield_label {
	font-weight: 400;
	font-size: 20px;
}
/* === Media Queries === */
@media screen and (max-width: 991px) {
	.background-section .dual-content {
		flex-wrap: wrap;
	}
	.content-section .content-row .content-col {
		flex-basis: 100%;
	}
	.content-section .image-col .image {
		position: static;
	}
	.content-section .content-col {
		padding: 75px 45px;
	}
	body.ip .background-section .columns {
		flex-direction: column;
		width: fit-content;
		margin: 0 auto;
	}
	body.ip .background-section .columns > .col {
		flex-basis: auto;
	}
	.news-section .post {
		flex-basis: 100%;
	}
}
@media screen and (max-width: 767px) {
	.primary-footer .contact-info-grid {
		display: flex;
		flex-direction: column;
	}
	.content-section.img-left .content-row {
		flex-direction: column-reverse;
	}
	.content-section .image-col .image {
		position: relative;
	}
	.services-section .services {
		flex-direction: column;
	}
	.primary-footer .form-col .gform_wrapper.gravity-theme .gform_fields {
		display: flex;
		flex-direction: column;
	}
	.primary-footer .footer-row {
		flex-direction: column;
	}
	.content-section .content-col {
		padding: 30px;
	}
	.banner-section .image img {
		opacity: 0.5;
		min-height: 30vh;
		object-fit: cover;
	}
	.content-section .content-col {
		padding: 75px 15px;
	}
}
