/*
Theme Name: AV Sheet Metal
Theme URI: https://avsheetmetal.com
Description: This is the custom theme for AV Sheet Metal.
Author: Matt @ MDG
Author URI: https://www.mpiredesigngroup.com/
Version: 3.4.29


Tags: accessibility-ready, block-styles, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, left-sidebar, one-column, right-sidebar, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, two-columns, wide-blocks
Template: genesis
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: genesis-sample
Requires at least: 5.4
Requires PHP: 5.6
*/


@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Zalando+Sans:ital,wght@0,200..900;1,200..900&display=swap');

:root {
	--inner-width: 1600px;

	--color-red-100: #fcf6f6;
	--color-red-200: #edd0d1;
	--color-red-300: #f1d1d1;
	--color-red-400: #d67476;
	--color-red-500: #b64548;
	--color-red-600: #853939;
	--color-red-700: #ba181b;
	--color-red-800: #a4161a;
	--color-red-900: #660708;

	--color-gray-100: #f5f5f5;
	--color-gray-200: #ebebeb;
	--color-gray-300: #d3d3d3;
	--color-gray-400: #cecece;
	--color-gray-500: #919191;
	--color-gray-600: #6d6b6c;
	--color-gray-700: #474747;

	--color-black: #0b090a;

	--font-primary: 'Zalando Sans', sans-serif;
	--font-heading: 'Zalando Sans', sans-serif;
}



/* HTML5 Reset
---------------------------------------------------------------------------- */
/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
---------------------------------------------------------------------------- */
/* stylelint-disable */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}
/* stylelint-enable */
/* Box Sizing
--------------------------------------------- */
html {
	box-sizing: border-box;
}
*,
*::before,
*::after {
	box-sizing: inherit;
}

/* Defaults
---------------------------------------------------------------------------- */
/* Typographical Elements
--------------------------------------------- */
html {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}
body {
	background-color: #fff;
	color: var(--color-black);
	font-family: var(--font-primary);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.625;
	margin: 0;
	overflow-x: hidden;
}
button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button,
.gallery img {
	transition: all 0.2s ease-in-out;
}
a {
	color: var(--color-red-800);
	text-decoration: underline;
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}
a.large, .home a.large {
	font-size: 28px;
	color: #fff;
}
a.large:hover, a.large:focus {
	color: #fff !important;
}
a:focus,
a:hover {
	color: var(--color-red-900);
	text-decoration: none;
}
.home a {
	color: var(--color-black);
}
.home a:hover, .home a:focus {
	color: var(--color-black);
	text-decoration: underline;
}
p {
	margin: 0 0 28px;
	padding: 0;
}
ol,
ul {
	margin: 0;
	padding: 0;
}
li {
	list-style-type: none;
}
hr {
	border: 0;
	border-collapse: collapse;
	border-bottom: 1px solid currentColor;
	clear: both;
	color: #eee;
	margin: 1.65em auto;
}
b,
strong {
	font-weight: 700;
}
blockquote,
cite,
em,
i {
	font-style: italic;
}
mark {
	background: #ddd;
	color: #333;
}
blockquote {
	margin: 30px;
}
/* Headings
--------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-heading);
	font-weight: 500;
	line-height: 1.2;
	margin: 0 0 20px;
	letter-spacing: -0.75px;
}
h1 {
	font-size: 50px;
}
h2 {
	font-size: 40px;
}
h2.small {
	font-size: 30px;
}
h3 {
	font-size: 24px;
}
h4 {
	font-size: 22px;
}
.entry-content h3,
.entry-content h4 {
	font-weight: 600;
}
.entry-content h4 {
	margin-top: 40px;
}
h5 {
	font-size: 20px;
}
h6 {
	font-size: 18px;
}
/* Objects
--------------------------------------------- */
embed,
iframe,
img,
object,
video,
.wp-caption {
	max-width: 100%;
}
img {
	height: auto;
	vertical-align: top;
}
figure {
	margin: 0;
}
/* Gallery
--------------------------------------------- */
.gallery {
	overflow: hidden;
}
.gallery img {
	border: 1px solid #eee;
	height: auto;
	padding: 4px;
}
.gallery img:focus,
.gallery img:hover {
	border: 1px solid #999;
	outline: none;
}
.gallery-columns-1 .gallery-item {
	width: 100%;
}
.gallery-columns-2 .gallery-item {
	width: 50%;
}
.gallery-columns-3 .gallery-item {
	width: 33%;
}
.gallery-columns-4 .gallery-item {
	width: 25%;
}
.gallery-columns-5 .gallery-item {
	width: 20%;
}
.gallery-columns-6 .gallery-item {
	width: 16.6666%;
}
.gallery-columns-7 .gallery-item {
	width: 14.2857%;
}
.gallery-columns-8 .gallery-item {
	width: 12.5%;
}
.gallery-columns-9 .gallery-item {
	width: 11.1111%;
}
.gallery-columns-2 .gallery-item:nth-child(2n+1),
.gallery-columns-3 .gallery-item:nth-child(3n+1),
.gallery-columns-4 .gallery-item:nth-child(4n+1),
.gallery-columns-5 .gallery-item:nth-child(5n+1),
.gallery-columns-6 .gallery-item:nth-child(6n+1),
.gallery-columns-7 .gallery-item:nth-child(7n+1),
.gallery-columns-8 .gallery-item:nth-child(8n+1),
.gallery-columns-9 .gallery-item:nth-child(9n+1) {
	clear: left;
}
.gallery-item {
	float: left;
	margin: 0 0 30px;
	text-align: center;
}
/* Forms
--------------------------------------------- */
input,
select,
textarea {
	background-color: #fff;
	border: 1px solid #ddd;
	color: #333;
	font-size: 18px;
	font-weight: 400;
	padding: 15px;
	width: 100%;
}
input:focus,
textarea:focus {
	border: 1px solid #999;
	outline: none;
}
input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}
:-ms-input-placeholder {
	color: #333;
	opacity: 1;
}
::placeholder {
	color: #333;
	opacity: 1;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form button[type="submit"],
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button {
	background-color: var(--color-gray-600);
	border: 0;
	border-radius: 0px;
	color: #fff;
	cursor: pointer;
	font-size: 18px;
	font-weight: 500;
	padding: 12px 15px;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	width: auto;
	line-height: 1;
	display: inline-block;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

button::before,
input[type="button"]::before,
input[type="reset"]::before,
input[type="submit"]::before,
.button::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background-color: var(--color-gray-500);
	transition: left 0.4s ease;
	z-index: -1;
}

button:focus,
button:hover,
input[type="button"]:focus,
input[type="button"]:hover,
input[type="reset"]:focus,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="submit"]:hover,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form input[type="submit"]:hover,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:focus,
.site-container div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
.button:focus,
.button:hover {
	border-width: 0;
	color: #fff !important;
	background-color: var(--color-gray-600) !important;
}

button:focus::before,
button:hover::before,
input[type="button"]:focus::before,
input[type="button"]:hover::before,
input[type="reset"]:focus::before,
input[type="reset"]:hover::before,
input[type="submit"]:focus::before,
input[type="submit"]:hover::before,
.button:focus::before,
.button:hover::before {
	left: 0;
}

.entry-content .button:focus,
.entry-content .button:hover {
	color: #fff !important;
}
.site-container button:disabled,
.site-container button:disabled:hover,
.site-container input:disabled,
.site-container input:disabled:hover,
.site-container input[type="button"]:disabled,
.site-container input[type="button"]:disabled:hover,
.site-container input[type="reset"]:disabled,
.site-container input[type="reset"]:disabled:hover,
.site-container input[type="submit"]:disabled,
.site-container input[type="submit"]:disabled:hover {
	background-color: #eee;
	border-width: 0;
	color: #777;
	cursor: not-allowed;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
	display: none;
}
/* Tables
--------------------------------------------- */
table {
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 40px;
	width: 100%;
	word-break: break-all;
}
tbody {
	border-bottom: 1px solid #eee;
}
td,
th {
	line-height: 2;
	text-align: left;
	vertical-align: top;
}
td {
	padding: 0.5em;
}
tr {
	border-top: 1px solid #eee;
}
th {
	font-weight: 600;
	padding: 0.5em;
}
/* Screen Reader Text
--------------------------------------------- */
.screen-reader-shortcut,
.screen-reader-text,
.screen-reader-text span {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.widget_search input[type="submit"]:focus {
	background: #fff;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #333;
	display: block;
	font-size: 1em;
	font-weight: 700;
	height: auto;
	padding: 15px 23px 14px;
	text-decoration: none;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}
.more-link {
	display: inline-block;
	position: relative;
	margin-bottom: 30px;
}
/* Structure and Layout
---------------------------------------------------------------------------- */
/* Site Container
--------------------------------------------- */
.site-container {
	animation: fadein 1s;
	word-wrap: break-word;
}
@keyframes fadein {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
/* Site Inner
--------------------------------------------- */
.site-inner {
	clear: both;
	margin: 0 auto;
	padding: 0px 20px 0;
}
.home .site-inner {
	padding-top: 0;
}
/* Common Classes
---------------------------------------------------------------------------- */
/* Avatar
--------------------------------------------- */
.avatar {
	border-radius: 50%;
	float: left;
}
.author-box .avatar,
.alignleft .avatar {
	margin-right: 20px;
}
.alignright .avatar {
	margin-left: 20px;
}
.comment .avatar {
	margin: 0 15px 20px 0;
}
/* Genesis
--------------------------------------------- */
.after-entry,
.archive-description,
.author-box {
	margin-bottom: 40px;
}
.after-entry {
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
	padding: 20px 30px;
}
.after-entry .widget:last-of-type {
	margin-bottom: 0;
}
.breadcrumb {
	border-bottom: 1px solid #eee;
	font-size: 16px;
	margin-bottom: 40px;
	padding-bottom: 10px;
}
.genesis-title-hidden .breadcrumb {
	margin-top: 40px;
}
.archive-description p:last-child,
.author-box p:last-child {
	margin-bottom: 0;
}
/* Search Form
--------------------------------------------- */
.search-form {
	overflow: hidden;
}
.entry-content .search-form {
	margin-bottom: 40px;
	width: 50%;
}
.post-password-form input[type="submit"],
.search-form input[type="submit"] {
	margin-top: 10px;
}
.widget_search input[type="submit"] {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
}
/* Titles
--------------------------------------------- */
.archive-description .entry-title,
.archive-title,
.author-box-title {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 10px;
}
.entry-title {
	font-size: 30px;
	margin-bottom: 10px;
}
.entry-title a,
.sidebar .widget-title a {
	color: #333;
	text-decoration: none;
}
.entry-title a:focus,
.entry-title a:hover {
	color: #0073e5;
}
.widget-title {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 20px;
}
.genesis-title-hidden .site-inner {
	padding-top: 0;
}
/* WordPress
--------------------------------------------- */
a.aligncenter img {
	display: block;
	margin: 0 auto;
}
a.alignnone {
	display: inline-block;
}
.alignleft {
	float: left;
	text-align: left;
}
.alignright {
	float: right;
	text-align: right;
}
a.alignleft,
a.alignnone,
a.alignright {
	max-width: 100%;
}
img.centered,
.aligncenter,
.singular-image {
	display: block;
	margin: 0 auto 30px;
}
img.alignnone,
.alignnone {
	margin-bottom: 15px;
}
a.alignleft,
img.alignleft,
.wp-caption.alignleft {
	margin: 0 20px 20px 0;
}
a.alignright,
img.alignright,
.wp-caption.alignright {
	margin: 0 0 20px 20px;
}
figcaption,
.gallery-caption,
.wp-caption-text {
	font-size: 14px;
	font-weight: 600;
	margin-top: 0.5em;
	margin-bottom: 1em;
	padding-left: 10px;
	padding-right: 10px;
	text-align: center;
}
.entry-content p.wp-caption-text {
	margin-bottom: 0;
}
.entry-content .wp-audio-shortcode,
.entry-content .wp-playlist,
.entry-content .wp-video {
	margin: 0 0 30px;
}
/* Widgets
---------------------------------------------------------------------------- */
.widget {
	margin-bottom: 40px;
}
.widget p:last-child,
.widget ul > li:last-of-type {
	margin-bottom: 0;
}
.widget ul > li {
	margin-bottom: 10px;
}
.widget ul > li:last-of-type {
	padding-bottom: 0;
}
.widget ol > li {
	list-style-position: inside;
	list-style-type: decimal;
	padding-left: 20px;
	text-indent: -20px;
}
.widget li li {
	border: 0;
	margin: 0 0 0 30px;
	padding: 0;
}
.widget_calendar table {
	width: 100%;
}
.widget_calendar td,
.widget_calendar th {
	text-align: center;
}
/* Featured Content
--------------------------------------------- */
.featured-content .entry {
	border-bottom: 1px solid #eee;
	margin-bottom: 20px;
}
.featured-content .entry:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
}
.featured-content .entry-title {
	font-size: 16px;
	margin-bottom: 5px;
	margin-top: 10px;
}
/* Plugins
---------------------------------------------------------------------------- */
/* Genesis eNews Extended
--------------------------------------------- */
.after-entry .enews {
	text-align: center;
	padding: 10px;
}
.sidebar .enews {
	background-color: #f5f5f5;
	padding: 30px;
}
.enews-widget input {
	font-size: 16px;
	margin-bottom: 10px;
}
.after-entry .enews-widget input {
	text-align: center;
}
.enews-widget input[type="submit"] {
	margin: 0;
	width: 100%;
}
.enews form + p {
	margin-top: 20px;
}
/* Genesis Simple FAQ
--------------------------------------------- */
.gs-faq__question {
	background: transparent;
	border-bottom: 1px solid #eee;
	color: #333;
	padding-left: 0;
	padding-right: 0;
}
.gs-faq__question:focus,
.gs-faq__question:hover {
	background: transparent;
	color: #0073e5;
}
.gs-faq__question::after {
	content: "\f132";
	font-family: dashicons; /* stylelint-disable-line font-family-no-missing-generic-family-keyword */
	float: right;
}
.gs-faq__question.gs-faq--expanded::after {
	content: "\f460";
}
/* WP Forms
--------------------------------------------- */
.entry-content .wpforms-container {
	margin-bottom: 40px;
}
.entry-content .wpforms-form .wpforms-field {
	clear: both;
	margin: 20px 0;
	overflow: hidden;
}
.site-container .wpforms-container .wpforms-form .wpforms-field input {
	border-radius: 0;
	height: auto;
	padding: 15px;
}
.site-container .entry-content .wpforms-form .wpforms-field-label {
	font-weight: 600;
}
.site-container .entry-content .wpforms-form .wpforms-field-sublabel {
	font-size: 14px;
	font-weight: 300;
}
.entry-content .wpforms-form .wpforms-field-hp {
	display: none !important;
	left: -9000px !important;
	position: absolute !important;
}
.site-container .entry-content .wpforms-form textarea {
	padding: 15px;
}
.site-container .entry-content .wpforms-form textarea.wpforms-field-small {
	height: 120px;
}
.site-container .entry-content .wpforms-form textarea.wpforms-field-medium {
	height: 200px;
}
.site-container .entry-content .wpforms-form textarea.wpforms-field-large {
	height: 300px;
}
/* Skip Links
---------------------------------------------------------------------------- */
.genesis-skip-link {
	margin: 0;
}
.genesis-skip-link .skip-link-hidden {
	display: none;
	visibility: hidden;
}
.genesis-skip-link li {
	height: 0;
	list-style: none;
	width: 0;
}
/* Display outline on focus */
:focus {
	color: #333;
	outline: #ccc solid 1px;
}
/* Site Header
---------------------------------------------------------------------------- */
.site-header {
	background-color: #fff;
	padding: 0 30px;
}
/* Title Area
--------------------------------------------- */
.title-area {
	float: left;
	padding-bottom: 25px;
	padding-top: 25px;
}
.wp-custom-logo .title-area {
	max-width: 350px;
	padding-bottom: 5px;
	padding-top: 5px;
	width: 100%;
}
.wp-custom-logo .custom-logo-link {
	display: block;
}
.home .title-area img {
	width: auto;
	filter: brightness(0) invert(1);
}
.site-title {
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 0;
}
.site-title a,
.site-title a:focus,
.site-title a:hover {
	color: #333;
	text-decoration: none;
}
.site-description,
.wp-custom-logo .site-title {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
/* Site Navigation
---------------------------------------------------------------------------- */
.genesis-nav-menu {
	clear: both;
	line-height: 1;
	width: 100%;
}
.genesis-nav-menu .menu-item {
	display: block;
	float: none;
	position: relative;
}
.genesis-nav-menu a {
	color: #333;
	display: block;
	font-size: 15px;
	font-weight: 400;
	outline-offset: -1px;
	padding-bottom: 12px;
	padding-top: 12px;
	text-decoration: none;
}
.genesis-nav-menu a:focus,
.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:focus,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover {
	color: #0073e5;
	text-decoration: none;
}
.genesis-nav-menu .sub-menu,
.genesis-nav-menu .sub-menu a {
	width: 100%;
}
.genesis-nav-menu .sub-menu {
	clear: both;
	display: none;
	left: -9999px;
	margin: 0;
	opacity: 1;
	padding-left: 15px;
	position: static;
	z-index: 99;
}
.genesis-nav-menu .sub-menu a {
	background-color: #fff;
	font-size: 14px;
	position: relative;
	word-wrap: break-word;
}
.genesis-nav-menu .menu-item:focus,
.genesis-nav-menu .menu-item:hover {
	position: relative;
}
.genesis-nav-menu .menu-item:hover > .sub-menu {
	display: block;
	left: auto;
	opacity: 1;
}
/* Responsive Menu
--------------------------------------------- */
.menu .menu-item:focus {
	position: static;
}
.menu .menu-item > a:focus + ul.sub-menu,
.menu .menu-item.sfHover > ul.sub-menu {
	left: auto;
	opacity: 1;
}
.js .nav-primary {
	display: none;
	position: relative;
}
.genesis-responsive-menu .genesis-nav-menu .menu-item:hover > .sub-menu {
	display: none;
}
.menu-toggle,
.sub-menu-toggle {
	background-color: transparent;
	border-width: 0;
	color: #333;
	display: block;
	margin: 0 auto;
	overflow: hidden;
	text-align: center;
	visibility: visible;
}
.menu-toggle:focus,
.menu-toggle:hover,
.sub-menu-toggle:focus,
.sub-menu-toggle:hover {
	background-color: transparent;
	border-width: 0;
	color: #0073e5;
}
.menu-toggle {
	float: right;
	line-height: 20px;
	margin-bottom: 10px;
	margin-top: 10px;
	padding: 15px 0;
	position: relative;
	z-index: 1000;
}
.menu-toggle.activated::before {
	content: "\f335";
}
.site-header .dashicons-before::before {
	transition: none;
}
.site-header .menu-toggle::before {
	float: left;
	margin-right: 5px;
	position: relative;
	text-rendering: auto;
	top: 1px;
}
.sub-menu-toggle {
	float: right;
	padding: 9px 10px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 100;
}
.sub-menu .sub-menu-toggle {
	padding: 12px 10px;
}
.sub-menu-toggle::before {
	display: inline-block;
	text-rendering: auto;
	transform: rotate(0);
	transition: transform 0.25s ease-in-out;
}
.sub-menu-toggle.activated::before {
	transform: rotate(180deg);
}
/* Header Menu
--------------------------------------------- */
.nav-primary {
	clear: left;
	padding-bottom: 15px;
	padding-top: 15px;
	width: 100%;
}
/* Footer Menu
--------------------------------------------- */
.nav-secondary {
	margin-top: 10px;
}
.nav-secondary .genesis-nav-menu {
	line-height: 1.5;
}
.nav-secondary .menu-item {
	display: inline-block;
}
.nav-secondary a {
	margin-left: 10px;
	margin-right: 10px;
	padding: 0;
}
/* Content Area
---------------------------------------------------------------------------- */
/* Entry Content
--------------------------------------------- */
.entry {
	margin-bottom: 40px;
}
.entry-content ol,
.entry-content ul {
	margin-bottom: 30px;
	padding-left: 40px;
}
.entry-content ol > li {
	list-style-type: decimal;
}
.entry-content ul > li {
	list-style-type: disc;
}
.entry-content ol ul > li,
.entry-content ul ul > li {
	list-style-type: circle;
}
.entry-content ol ol,
.entry-content ul ul {
	margin-bottom: 0;
}
.entry-content code {
	background-color: #f5f5f5;
}
.content .sticky {
	background-color: #f5f5f5;
	padding: 30px;
}
/* Entry Meta
--------------------------------------------- */
p.entry-meta {
	font-size: 16px;
	margin-bottom: 0;
}
.entry-header .entry-meta {
	margin-bottom: 20px;
}
.entry-footer .entry-meta {
	border-top: 1px solid #eee;
	padding-top: 20px;
}
.entry-categories,
.entry-tags {
	display: block;
}
.entry-comments-link::before {
	content: "\2014";
	margin: 0 6px 0 2px;
}
/* Pagination
--------------------------------------------- */
.pagination {
	clear: both;
	margin: 60px 0;
}
.adjacent-entry-pagination {
	margin-bottom: 0;
}
.archive-pagination li {
	display: inline;
}
.archive-pagination li a {
	background-color: #f5f5f5;
	color: #333;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 4px;
	padding: 8px 12px;
	text-decoration: none;
}
.archive-pagination li a:focus,
.archive-pagination li a:hover,
.archive-pagination li.active a {
	background-color: #333;
	color: #fff;
}
/* Entry Comments
--------------------------------------------- */
.comment-respond,
.entry-comments,
.entry-pings {
	margin-bottom: 40px;
}
.comment-list li {
	padding: 40px 0 0 30px;
}
.comment-list .depth-1 {
	padding-left: 0;
}
.comment-header {
	margin-bottom: 30px;
}
.comment-content {
	clear: both;
}
.comment-content ul > li {
	list-style-type: disc;
}
.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
	width: 50%;
}
.comment-respond label {
	display: block;
	margin-right: 12px;
}
.comment-header p {
	margin-bottom: 0;
}
.entry-pings .reply {
	display: none;
}
.comment-form-cookies-consent label {
	display: inline;
	padding-left: 10px;
}
/* Sidebar
---------------------------------------------------------------------------- */
.sidebar {
	font-size: 16px;
	line-height: 1.5;
}
.sidebar .widget {
	margin-bottom: 40px;
}
.sidebar p {
	margin-bottom: 20px;
}
/* Footer Widgets
---------------------------------------------------------------------------- */
.footer-widgets {
	border-top: 1px solid #eee;
	background-color: #fff;
	clear: both;
	padding: 60px 0;
}
.footer-widgets .wrap {
	margin-left: auto;
	margin-right: auto;
}
.footer-widget-area {
	margin-bottom: 40px;
	padding-left: 30px;
	padding-right: 30px;
}
.footer-widget-area:last-child,
.footer-widgets .widget:last-child {
	margin-bottom: 0;
}

/* Media Queries
---------------------------------------------------------------------------- */
@media only screen and (min-width: 480px) {
	table {
		table-layout: auto;
		word-break: normal;
	}
}
@media only screen and (min-width: 960px) {
	/* Site Header
	--------------------------------------------- */
	.site-header {
		position: sticky;
		top: 0;
		z-index: 9999;
	}
	.admin-bar .site-header {
		top: 32px;
	}
	/* Genesis Menu
	--------------------------------------------- */
	.genesis-nav-menu .menu-item {
		display: inline-block;
	}
	.genesis-nav-menu .menu-item:focus,
	.genesis-nav-menu .menu-item:hover {
		position: relative;
	}
	.genesis-nav-menu > .menu-bold > a {
		font-weight: 700;
	}
	.genesis-nav-menu > .menu-highlight > a {
		background-color: #333;
		border-radius: 3px;
		color: #fff;
		font-weight: 600;
		margin-left: 15px;
		padding-left: 20px;
		padding-right: 20px;
	}
	.genesis-nav-menu > .menu-highlight > a:focus,
	.genesis-nav-menu > .menu-highlight > a:hover {
		background-color: #0073e5;
	}
	.genesis-nav-menu .sub-menu,
	.genesis-nav-menu .sub-menu a {
		width: 180px;
	}
	.genesis-nav-menu .sub-menu {
		border-top: 1px solid #eee;
		opacity: 0;
		padding-left: 0;
		position: absolute;
		transition: opacity 0.4s ease-in-out;
	}
	.genesis-nav-menu .sub-menu a {
		border: 1px solid #eee;
		border-top: 0;
		padding-bottom: 15px;
		padding-top: 15px;
	}
	.genesis-nav-menu .sub-menu .sub-menu {
		margin: -46px 0 0 179px;
	}
	/* Responsive Menu
	--------------------------------------------- */
	.js .nav-primary {
		display: block;
		padding-top: 15px;
	}
	.menu-toggle,
	.sub-menu-toggle {
		display: none;
		visibility: hidden;
	}
	/* Header Menu
	--------------------------------------------- */
	.nav-primary {
		clear: none;
		float: right;
		width: auto;
	}
	.nav-primary .genesis-nav-menu a {
		padding-left: 15px;
		padding-right: 15px;
	}
	/* Site-Inner
	--------------------------------------------- */
	.site-inner {
		max-width: 1600px;
	}
	/* Content
	--------------------------------------------- */
	.content {
		float: left;
		width: 100%;
	}
	.sidebar-content .content {
		float: right;
	}
	.full-width-content .content {
		float: none;
		margin-left: auto;
		margin-right: auto;
	}
	/* Sidebar
	--------------------------------------------- */
	.sidebar {
		float: right;
		width: 30%;
	}
	.sidebar-content .sidebar {
		float: left;
	}
	/* Author Box
	--------------------------------------------- */
	.author-box {
		background-color: #f5f5f5;
		padding: 30px;
	}
	/* After Entry
	--------------------------------------------- */
	.after-entry {
		padding: 40px 60px;
	}
	.after-entry .enews {
		padding-left: 30px;
		padding-right: 30px;
	}
	/* Column Classes
	--------------------------------------------- */
	.five-sixths,
	.four-sixths,
	.one-fourth,
	.one-half,
	.one-sixth,
	.one-third,
	.three-fourths,
	.three-sixths,
	.two-fourths,
	.two-sixths,
	.two-thirds {
		float: left;
		margin-left: 2.564102564102564%;
	}
	.one-half,
	.three-sixths,
	.two-fourths {
		width: 48.717948717948715%;
	}
	.one-third,
	.two-sixths {
		width: 31.623931623931625%;
	}
	.four-sixths,
	.two-thirds {
		width: 65.81196581196582%;
	}
	.one-fourth {
		width: 23.076923076923077%;
	}
	.three-fourths {
		width: 74.35897435897436%;
	}
	.one-sixth {
		width: 14.52991452991453%;
	}
	.five-sixths {
		width: 82.90598290598291%;
	}
	.first {
		clear: both;
		margin-left: 0;
	}
	/* Entry Misc.
	--------------------------------------------- */
	.after-entry,
	.archive-description,
	.author-box,
	.comment-respond,
	.entry,
	.entry-comments,
	.entry-pings {
		margin-bottom: 60px;
	}
	/* Footer Widgets
	--------------------------------------------- */
	.footer-widgets .wrap {
		max-width: 1140px;
	}
	.footer-widget-area {
		float: left;
		margin-bottom: 0;
		width: calc(100% / 3);
	}
}
/* Print Styles
---------------------------------------------------------------------------- */
@media print {
	*,
	*::before,
	*::after {
		background: transparent !important;
		box-shadow: none !important;
		color: #333 !important;
		text-shadow: none !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	a[href]::after {
		content: " (" attr(href) ")";
	}
	abbr[title]::after {
		content: " (" attr(title) ")";
	}
	a[href^="javascript:"]::after,
	a[href^="#"]::after,
	.site-title > a::after {
		content: "";
	}
	thead {
		display: table-header-group;
	}
	img,
	tr {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page {
		margin: 2cm 0.5cm;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	blockquote,
	pre {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	.content,
	.content-sidebar {
		width: 100%;
	}
	button,
	input,
	select,
	textarea,
	.breadcrumb,
	.comment-edit-link,
	.comment-form,
	.comment-list .reply a,
	.comment-reply-title,
	.edit-link,
	.entry-comments-link,
	.entry-footer,
	.genesis-box,
	.header-widget-area,
	.hidden-print,
	.home-top,
	.nav-primary,
	.nav-secondary,
	.post-edit-link,
	.sidebar {
		display: none !important;
	}
	.title-area {
		text-align: center;
		width: 100%;
	}
	.site-title > a {
		margin: 0;
		text-decoration: none;
		text-indent: 0;
	}
	.site-inner {
		padding-top: 0;
		position: relative;
	}
	.author-box {
		margin-bottom: 0;
	}
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		orphans: 3;
		page-break-after: avoid;
		page-break-inside: avoid;
		widows: 3;
	}
	img {
		page-break-after: avoid;
		page-break-inside: avoid;
	}
	blockquote,
	pre,
	table {
		page-break-inside: avoid;
	}
	dl,
	ol,
	ul {
		page-break-before: avoid;
	}
}
/* Above Header
---------------------------------------------------------------------------- */
.above-header {
	background-color: var(--color-red-700);
	padding: 7px 0px;
	font-size: 14px;
	position: relative;
	z-index: 9;
}
.home .above-header {
	background-color: var(--color-red-700);
}
.above-header .wrap {
	max-width: var(--inner-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.above-header-left {
	color: #fff;
}
.above-header-menu {
	margin: 0;
}
.above-header-menu .menu {
	display: flex;
	gap: 5px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.above-header-menu .menu-item {
	margin: 0;
}
.above-header-menu .genesis-nav-menu a, .above-header-menu .genesis-nav-menu .current-menu-item > a {
	color: #fff !important;
	text-decoration: none;
	padding: 5px 10px;
	display: block;
	font-size: 14px;
}

.above-header-menu .genesis-nav-menu a:hover {
	color: #fff !important;
}

/* Site Header
---------------------------------------------------------------------------- */
.site-header {
	background-color: var(--color-gray-100);
	transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
	padding: 0;
}
.home .site-header {
	background-color: transparent;
}
.site-header.is-down {
	background-color: var(--color-gray-100);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.site-header.is-down .genesis-nav-menu a {
	color: var(--color-black);
}
.site-header .title-area img {
	transition: filter 0.3s ease-in-out;
}
.site-header .wrap {
	max-width: var(--inner-width);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: end;
	padding-left: 20px;
	padding-right: 20px;
}
.site-header .wrap::before, .site-header .wrap::after {
	display: none;
}
/* Title Area
--------------------------------------------- */
.title-area {
	padding-bottom: 25px;
	padding-top: 25px;
	flex-shrink: 0;
}
.wp-custom-logo .title-area {
	padding-bottom: 5px;
	padding-top: 5px;
	max-width: 80px !important;
}
.wp-custom-logo .custom-logo-link {
	display: block;
	line-height: 0;
	aspect-ratio: auto !important;
}
.home .wp-custom-logo .title-area img {
	width: 250px !important;
	filter: brightness(0) invert(1);
	height: auto !important;
	display: block;
	transition: 0.35s;
}
.site-header.is-down .title-area img {
	filter: none;
}
.site-title {
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 0;
}
.site-title a,
.site-title a:focus,
.site-title a:hover {
	color: #333;
	text-decoration: none;
}
.site-description,
.wp-custom-logo .site-title {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
/* Site Navigation
---------------------------------------------------------------------------- */
div > h2:first-child {
  margin-top: 0;
}
.genesis-nav-menu {
	clear: both;
	line-height: 1;
	width: 100%;
}
.genesis-nav-menu .menu-item {
	display: block;
	float: none;
	position: relative;
}
.genesis-nav-menu .menu-item.nav-btn {
	background-color: var(--color-gray-600);
	font-size: 16px;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.genesis-nav-menu .current-menu-item.nav-btn > a,
.genesis-nav-menu .menu-item.nav-btn:hover a {
	color: #fff !important;
}
.genesis-nav-menu .menu-item.nav-btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background-color: var(--color-gray-500);
	transition: left 0.4s ease;
	z-index: -1;
}
.genesis-nav-menu .menu-item.nav-btn:hover::before {
	left: 0;
}
.genesis-nav-menu .menu-item.nav-btn a {
	color: #fff;
	font-size: 18px;
	letter-spacing: 0px;
	text-transform: unset;
}
.genesis-nav-menu .menu-item.nav-btn a:hover {
	color: #fff !important;
}
.genesis-nav-menu .menu-item.nav-btn a::after {
	display: none;
}
.genesis-nav-menu a {
	color: #fff;
	display: block;
	font-size: 18px;
	font-weight: 500;
	padding-bottom: 12px;
	padding-top: 12px;
	text-decoration: none;
	position: relative;
}
.genesis-nav-menu .mega-menu-item a {
	padding: 0 !important;
}
.home .genesis-nav-menu a {
	color: #fff;
}
.genesis-nav-menu a {
	color: var(--color-black);
}
.genesis-nav-menu a::after {
	content: '';
	height: 1px;
	width: 0;
	background-color: currentColor;
	position: absolute;
	bottom: 0;
	left: 50%;
	transition: all 0.3s ease-in-out;
	transform: translateX(-50%);
}
.genesis-nav-menu .mega-menu-item a::after {
	display: none !important;
}
.genesis-nav-menu a:hover::after,
.genesis-nav-menu a:focus::after,
.genesis-nav-menu .current-menu-item > a::after {
	width: 100%;
	transform: translateX(-50%);
}
.home .genesis-nav-menu a:focus,
.home .genesis-nav-menu a:hover,
.home .genesis-nav-menu .current-menu-item > a
{
	color: #fff !important;
}
.home .genesis-nav-menu a.mega-menu-link:focus,
.home .genesis-nav-menu a.mega-menu-link:hover,
.home .genesis-nav-menu .current-menu-item > a.mega-menu-link
{
	color: var(--color-black) !important;
}
.home .genesis-nav-menu .sub-menu a:hover {
	color: var(--color-black) !important;
}
.genesis-nav-menu a:focus,
.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:focus,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover {
	color: var(--color-black) !important;
}
.site-header.is-down .genesis-nav-menu a:focus,
.site-header.is-down .genesis-nav-menu a:hover,
.site-header.is-down .genesis-nav-menu .current-menu-item > a,
.site-header.is-down .genesis-nav-menu .sub-menu .current-menu-item > a:focus,
.site-header.is-down .genesis-nav-menu .sub-menu .current-menu-item > a:hover {
	color: var(--color-black) !important;
}
.genesis-nav-menu .sub-menu,
.genesis-nav-menu .sub-menu a {
	width: 100%;
}
.genesis-nav-menu .sub-menu {
	clear: both;
	display: none;
	left: -9999px;
	margin: 0;
	opacity: 1;
	padding-left: 15px;
	position: static;
	z-index: 99;
}
.genesis-nav-menu .sub-menu a {
	background-color: #fff;
	font-size: 14px;
	position: relative;
	word-wrap: break-word;
}
.genesis-nav-menu .menu-item:focus,
.genesis-nav-menu .menu-item:hover {
	position: relative;
}
.genesis-nav-menu .menu-item:hover > .sub-menu {
	display: block;
	left: auto;
	opacity: 1;
}
/* Responsive Menu
--------------------------------------------- */
.menu .menu-item:focus {
	position: static;
}
.menu .menu-item > a:focus + ul.sub-menu,
.menu .menu-item.sfHover > ul.sub-menu {
	left: auto;
	opacity: 1;
}
.js .nav-primary {
	display: none;
	position: relative;
}
.genesis-responsive-menu .genesis-nav-menu .menu-item:hover > .sub-menu {
	display: none;
}
.menu-toggle,
.sub-menu-toggle {
	background-color: transparent;
	border-width: 0;
	color: #333;
	display: block;
	margin: 0 auto;
	overflow: hidden;
	text-align: center;
	visibility: visible;
}
.menu-toggle:focus,
.menu-toggle:hover,
.sub-menu-toggle:focus,
.sub-menu-toggle:hover {
	background-color: transparent;
	border-width: 0;
	color: #0073e5;
}
.menu-toggle {
	float: right;
	line-height: 20px;
	margin-bottom: 10px;
	margin-top: 10px;
	padding: 15px 0;
	position: relative;
	z-index: 1000;
}
.menu-toggle.activated::before {
	content: "\f335";
}
.site-header .dashicons-before::before {
	transition: none;
}
.site-header .menu-toggle::before {
	float: left;
	margin-right: 5px;
	position: relative;
	text-rendering: auto;
	top: 1px;
}
.sub-menu-toggle {
	float: right;
	padding: 9px 10px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 100;
}
.sub-menu .sub-menu-toggle {
	padding: 12px 10px;
}
.sub-menu-toggle::before {
	display: inline-block;
	text-rendering: auto;
	transform: rotate(0);
	transition: transform 0.25s ease-in-out;
}
.sub-menu-toggle.activated::before {
	transform: rotate(180deg);
}
/* Header Menu
--------------------------------------------- */
.nav-primary {
	clear: left;
	padding-bottom: 15px;
	padding-top: 15px;
	width: 100%;
}
/* Secondary Menu
--------------------------------------------- */
.nav-secondary {
	clear: left;
	padding-bottom: 15px;
	padding-top: 15px;
	width: 100%;
}
.nav-secondary .genesis-nav-menu {
	line-height: 1.5;
}
.nav-secondary .menu-item {
	display: block;
	float: none;
}
.nav-secondary a {
	padding-left: 0;
	padding-right: 0;
}
.js .nav-secondary {
	display: none;
	position: relative;
}
/* Main Nav & Secondary Nav (Custom Menus)
--------------------------------------------- */
.nav-main-nav,
.nav-secondary-nav {
	clear: left;
	padding-bottom: 15px;
	padding-top: 15px;
	width: 100%;
}
.js .nav-main-nav,
.js .nav-secondary-nav {
	display: none;
	position: relative;
}


	/* Site Header
	--------------------------------------------- */

	.site-header {
		position: sticky;
		top: 0;
		z-index: 9999;
		padding-top: 7px;
		padding-bottom: 7px;
	}

	.site-header .wrap {
		display: grid;
		grid-template-columns: auto 1fr auto;
		grid-template-areas: "logo mainnav secondarynav";
		align-items: center;
		gap: 30px;

	}

	.title-area {
		grid-area: logo;
		padding-bottom: 15px;
		padding-top: 15px;
		float: none;
	}

	.nav-main-nav {
		grid-area: mainnav;
		justify-self: center;
	}

	.nav-secondary-nav {
		grid-area: secondarynav;
		justify-self: end;
	}

	.nav-primary {
		display: none !important;
	}

	.nav-secondary {
		display: none !important;
	}

	.admin-bar .site-header {
		top: 32px;
	}

	/* Genesis Menu
	--------------------------------------------- */

	.genesis-nav-menu .menu-item {
		display: inline-block;
	}

	.genesis-nav-menu .menu-item:focus,
	.genesis-nav-menu .menu-item:hover {
		position: relative;
	}

	.genesis-nav-menu > .menu-bold > a {
		font-weight: 700;
	}

	.genesis-nav-menu > .menu-highlight > a {
		background-color: #333;
		border-radius: 3px;
		color: #fff;
		font-weight: 600;
		margin-left: 15px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.genesis-nav-menu > .menu-highlight > a:focus,
	.genesis-nav-menu > .menu-highlight > a:hover {
		background-color: #0073e5;
	}

	.genesis-nav-menu .sub-menu,
	.genesis-nav-menu .sub-menu a {
		width: 180px;
	}

	.genesis-nav-menu .sub-menu {
		border-top: 1px solid #eee;
		opacity: 0;
		padding-left: 0;
		position: absolute;
		transition: opacity 0.4s ease-in-out;
	}

	.genesis-nav-menu .sub-menu a {
		border: 1px solid #eee;
		border-top: 0;
		padding-bottom: 15px;
		padding-top: 15px;
	}

	.genesis-nav-menu .sub-menu .sub-menu {
		margin: -46px 0 0 179px;
	}

	/* Responsive Menu
	--------------------------------------------- */

	.js .nav-main-nav,
	.js .nav-secondary-nav {
		display: block;
	}

	.menu-toggle,
	.sub-menu-toggle {
		display: none;
		visibility: hidden;
	}

	/* Header Menu
	--------------------------------------------- */

	.nav-primary {
		clear: none;
		width: auto;
		padding-bottom: 0;
		padding-top: 0;
	}

	.nav-primary .genesis-nav-menu a {
		padding-left: 15px;
		padding-right: 15px;
	}

	/* Secondary Menu
	--------------------------------------------- */

	.nav-secondary {
		clear: none;
		width: auto;
		padding-bottom: 0;
		padding-top: 0;
	}

	.nav-secondary .genesis-nav-menu {
		line-height: 1;
	}

	.nav-secondary .menu-item {
		display: inline-block;
	}

	.nav-secondary .genesis-nav-menu a {
		padding-left: 15px;
		padding-right: 15px;
		padding-top: 12px;
		padding-bottom: 12px;
	}

	/* Main Nav & Secondary Nav (Custom Menus)
	--------------------------------------------- */

	.nav-main-nav,
	.nav-secondary-nav {
		clear: none;
		width: auto;
		padding-bottom: 0;
		padding-top: 0;
	}

	.nav-main-nav .genesis-nav-menu,
	.nav-secondary-nav .genesis-nav-menu {
		line-height: 1;
	}

	.nav-main-nav .genesis-nav-menu a,
	.nav-secondary-nav .genesis-nav-menu a {
		padding-left: 15px;
		padding-right: 15px;
		padding-top: 12px;
		padding-bottom: 12px;
	}

	/* Mega Menu Styles
	--------------------------------------------- */
	.nav-main-nav .mega-menu > li {
		position: relative;
	}
	
	.nav-main-nav .mega-menu > li > a i.fa-chevron-down {
		font-size: 10px;
		margin-left: 5px;
		transition: transform 0.3s ease;
	}
	
	.nav-main-nav .mega-menu > li:hover > a i.fa-chevron-down {
		transform: rotate(180deg);
	}
	
	.nav-main-nav .mega-menu-dropdown {
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		background: #fff;
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
		border-radius: 0px;
		padding: 15px 15px;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
		z-index: 9999;
		margin-top: 10px;
	}
	
	.nav-main-nav .mega-menu > li:hover .mega-menu-dropdown {
		opacity: 1;
		visibility: visible;
		margin-top: 0;
	}
	
	.mega-menu-content {
		display: grid;
		row-gap: 20px;
		column-gap: 20px;
	}
	
	.mega-menu-content.mega-menu-cols-1 {
		grid-template-columns: 1fr;
		min-width: 280px;
		max-width: 320px;
	}
	
	.mega-menu-content.mega-menu-cols-2 {
		grid-template-columns: repeat(2, 1fr);
		min-width: 550px;
		max-width: 600px;
	}
	
	.mega-menu-content.mega-menu-cols-3 {
		grid-template-columns: repeat(3, 1fr);
		min-width: 750px;
		max-width: 850px;
	}
	
	.mega-menu-item {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		gap: 12px;
		padding: 10px;
		transition: background-color 0.2s ease;
		border: 1px solid transparent;
	}
	
	.mega-menu-item:hover {
		background-color: var(--color-gray-100);
		border-color: var(--color-gray-200)
	}
	
	.mega-menu-item > a:first-child i {
		font-size: 20px;
		color: var(--color-red-500);
		flex-shrink: 0;
	}
	
	.mega-menu-item > div {
		display: flex;
		flex-direction: column;
		gap: 7px;
		flex: 1;
	}
	
	.mega-menu-link {
		display: inline;
		font-size: 13px;
		font-weight: 600;
		color: var(--color-black) !important;
		text-decoration: none !important;
		transition: color 0.2s ease;
		position: relative;
		padding-left: 0 !important;
	}
	.home .genesis-nav-menu a.mega-menu-link::after {
		display: none !important;
	}
	
	.mega-menu-link:hover, .home .mega-menu-link:hover, .mega-menu-link:hover .mega-menu-title, a.home .mega-menu-learn-more:hover, .home .genesis-nav-menu a.mega-menu-learn-more:hover {
		color: var(--color-black) !important;
	}
	
	.mega-menu-link i {
		display: none;
	}
	
	.mega-menu-title {
		font-size: 15px;
	}
	
	.mega-menu-learn-more {
		display: inline-flex;
		align-items: center;
		gap: 4px;
		font-size: 12px !important; 
		color: var(--color-red-600) !important;
		text-decoration: none !important;
		margin-left: 0;
		transition: all 0.2s ease;
		position: relative;
		padding: 0 !important;
	}
	
	.mega-menu-learn-more::after {
		display: none !important;
	}
	
	.mega-menu-learn-more:hover {
		color: var(--color-red-500) !important;
		gap: 6px;
	}
	
	.mega-menu-learn-more i {
		font-size: 10px;
		transition: transform 0.2s ease;
	}
	
	.mega-menu-learn-more:hover i {
		transform: translateX(3px);
	}

/* HOME PAGE */
.home-section {
	padding: 75px 0;
}
#home-hero {
	margin-top: -162px;
	position: relative;
	left: calc(50% - 50vw);
	width: 100vw;
}
#home-hero .overlay {
	background: rgba(0, 0, 0, 0.5);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
#home-hero .content {
	position: absolute;
	z-index: 2;
	color: #fff;
	text-align: center;
	padding: 20px;
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}
#home-hero .content h1, #home-hero .content p {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
#home-hero .slider {
	position: relative;
	z-index: 0;
}
#home-1 .row {
	display: flex;
	flex-direction: row;
	gap: 100px;
	align-items: center;
	justify-content: space-between;
}
#home-1 .row .col.left {
	width: 60%;
}
#home-1 .row .col.right {
	width: 40%;
}
#home-1 .stat-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin-top: 30px;
	margin-bottom: 20px;
	max-width: 700px;
}
#home-1 .stat h3 {
	font-size: 75px;
	margin-bottom: 10px;
}
#home-1 .col.right img {
	max-height: 700px;
	width: 100%;
	object-fit: cover;
}
#home-2, #home-3 {
	position: relative;
}
#home-2::before, #home-3::before {
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	width: 100vw;
	height: 100%;
	background-color: var(--color-gray-100);
	z-index: -1;
}
#home-2 h3 {
	margin-top: 15px;
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 1px solid var(--color-gray-400);
}
#home-2 .heading-content {
	max-width: 950px;
	margin: 0 auto;
	text-align: center;
}
#home-2 .service-grid {
	margin-top: 60px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
}
#home-2 .service-grid img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
}
#home-3 .row {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 60px;
}
#home-3 .row .col.left {
	width: 40%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: baseline;
}
#home-3 .row .col.right {
	width: 60%;
}
#home-3 .why-grid {
	display: grid;
	margin-top: 50px;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}
#home-3 .why-grid h3 {
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 1px solid var(--color-gray-400);
}
#home-4 {
	position: relative;
	color: #fff;
}
#home-4::before {
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	width: 100vw;
	height: 100%;
	background: url(./images/front-bg.jpg) no-repeat center center/cover;
	filter: grayscale(1);
	z-index: -1;
}
#home-4::after {
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	width: 100vw;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.82);
	z-index: -1;
}
#home-4 .process-timeline {
	margin: 75px 0;
}
#home-4 .process-timeline .row {
	display: flex;
	gap: 100px;
	justify-content: space-between;
}
#home-4 .process-timeline .col {
	width: 50%;
}
#home-4 .process-timeline .process {
	display: flex;
	flex-direction: column;
	width: 100%;
	position: relative;
	padding-left: 60px;
	padding-top: 25px;
	padding-bottom: 25px;
}

#home-4 .process-timeline .progress-line-container {
	position: absolute;
	left: 22px;
	top: 25px;
	bottom: 25px;
	width: 4px;
	z-index: 1;
}

#home-4 .process-timeline .progress-line-container::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--color-gray-300);
}

#home-4 .process-timeline .progress-line-bg {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	background-color: transparent;
}

#home-4 .process-timeline .progress-line-fill {
	position: absolute;
	top: 0;
	width: 100%;
	height: 0;
	background-color: var(--color-red-600);
	transition: height 0.3s ease-out;
}

#home-4 .process-timeline .process .step {
	display: flex;
	align-items: center;
	gap: 50px;
	position: relative;
	z-index: 2;
	margin-bottom: 25px;
}

#home-4 .process-timeline .process .step:last-of-type {
	margin-bottom: 0;
}

#home-4 .process-timeline .progress-dot {
	position: absolute;
	left: -48px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background-color: #fff;
	border: 4px solid var(--color-gray-300);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: border-color 0.3s ease;
	flex-shrink: 0;
}

#home-4 .process-timeline .progress-dot-inner {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: transparent;
	transition: background-color 0.3s ease;
}

#home-4 .process-timeline .progress-dot.active {
	border-color: var(--color-red-300);
}

#home-4 .process-timeline .progress-dot.active .progress-dot-inner {
	background-color: var(--color-red-600);
}

#home-4 .process-timeline .process .step-content {
	display: flex;
	gap: 30px;
	align-items: center;
	background-color: var(--color-gray-100);
	padding: 15px 20px;
	flex: 1;
	opacity: 0.5;
	transition: opacity 0.3s ease;
}

#home-4 .process-timeline .process .step.active .step-content {
	opacity: 1;
}

#home-4 .process-timeline .process .number {
	font-weight: 600;
	font-size: 45px;
	color: var(--color-red-600);
	line-height: 1;
}

#home-4 .process-timeline .process .label {
	font-size: 24px;
	font-weight: 600;
	color: var(--color-gray-600);
}


/* CALL TO ACTION STYLING */
#cta {
	color: #fff;
	padding: 0px 20px;
	width: 100%;
	max-width: var(--inner-width);
	padding-left: 20px;
	padding-right: 20px;
	margin: 0 auto;
	position: relative;
}
.get-a-quote #cta {
	margin-top: 50px;
}
#cta p {
	max-width: 650px;
}
#cta::before {
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	width: 100vw;
	height: 100%;
	background-color: var(--color-gray-600);
	z-index: -1;
}
#cta .row {
	display: flex;
	flex-direction: row;
	align-items: center;
	max-height: 600px;
}
#cta .row .col {
	width: 50%;
}
#cta .row .col.left {
	padding-right: 40px;
}
#cta img {
	width: 50vw;
	min-width: 50vw;
	height: 100%;
	object-fit: cover;
	max-height: 600px;
}


/* CUSTOM FOOTER STYLING */
.site-footer {
	background-color: var(--color-gray-700);
	color: #fff;
}
#custom-footer {
	max-width: var(--inner-width);
	width: 100%;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 60px;
	padding-bottom: 5px;
}
#custom-footer a {
	color: #fff;
	text-decoration: none;
	position: relative;
}
#custom-footer a::after {
	content: '';
	height: 1px;
	width: 0;
	background-color: currentColor;
	position: absolute;
	bottom: -4px;
	left: 50%;
	transition: all 0.3s ease-in-out;
	transform: translateX(-50%);
}
#custom-footer a:hover::after,
#custom-footer a:focus::after {
	width: 100%;
	transform: translateX(-50%);
}
#custom-footer .outer.row {
	display: flex;
	justify-content: space-between;
	gap: 40px;
	border-bottom: 1px solid var(--color-gray-300);
	padding-bottom: 40px;
}
#custom-footer .outer.row .col {
	width: 50%;
}
#custom-footer .outer.row .col.left p {
	max-width: 500px;
}
#custom-footer .outer.row .col.right .row {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 15px;
}
#custom-footer .outer.row .col.right .row .col {
	width: 33.3%;
	display: flex;
	flex-direction: column;
	align-items: end;
}
#custom-footer .logo {
	width: 80px;
	margin-bottom: 15px;
	filter: brightness(0) invert(1);
}
#custom-footer .credits.copy.row {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding-top: 20px;
	font-size: 14px;
	gap: 40px;
}
#custom-footer .credits.copy.row .col {
	width: 50%;
}
#custom-footer .credits.copy.row .col.right {
	text-align: right;
}

/* PAGE TOP STYLING */
.page-top .row {
	display: flex;
	justify-content: space-between;
	margin-bottom: 50px;
}
.page-top .row .col.left {
	width: 66.6%;
	border-right: 1px solid var(--color-gray-400);
	padding-right: 40px;
}
.page-top .row .col.right {
	width: 33.3%;
	padding-left: 40px;
	height: 100%;
}

/* GFORMS RESTYLE */
/* Gravity Forms - Modern Clean Styling */

/* Form wrapper */
.gform_wrapper {
	max-width: 100% !important;
	margin: 0 !important;
}

/* Remove default box shadows and borders */
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.gform_wrapper textarea,
.gform_wrapper select {
	border: 1px solid var(--color-gray-300) !important;
	border-radius: 0px !important;
	padding: 14px 20px !important;
	font-size: 16px !important;
	font-family: var(--font-primary) !important;
	background-color: var(--color-gray-100) !important;
	box-shadow: none !important;
	transition: all 0.3s ease !important;
	width: 100% !important;
	color: #000 !important;
	line-height: 1.5 !important;
	height: auto !important;
}

/* Placeholder styling */
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file])::placeholder,
.gform_wrapper textarea::placeholder {
	color: var(--color-gray-400) !important;
	opacity: 1 !important;
}

.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file])::-webkit-input-placeholder,
.gform_wrapper textarea::-webkit-input-placeholder {
	color: var(--color-gray-400) !important;
	opacity: 1 !important;
}

.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file])::-moz-placeholder,
.gform_wrapper textarea::-moz-placeholder {
	color: var(--color-gray-400) !important;
	opacity: 1 !important;
}

.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):-ms-input-placeholder,
.gform_wrapper textarea:-ms-input-placeholder {
	color: var(--color-gray-400) !important;
	opacity: 1 !important;
}

/* Focus state */
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
	border-color: var(--color-red-300) !important;
	background-color: var(--color-gray-100) !important;
	outline: none !important;
}

/* Textarea specific */
.gform_wrapper textarea {
	min-height: 150px !important;
	height: 150px !important;
	resize: vertical !important;
}

/* Labels */
.gform_wrapper .gfield_label {
	font-weight: 700 !important;
	font-size: 16px !important;
	color: var(--color-gray-600) !important;
	margin-bottom: 10px !important;
	font-family: var(--font-primary) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

/* Required indicator */
.gform_wrapper .gfield_required {
	color: var(--color-red-600) !important;
	margin-left: 4px !important;
	font-size: 13px !important;
}

/* Field descriptions */
.gform_wrapper .gfield_description {
	font-size: 14px !important;
	color: var(--color-gray-500) !important;
	margin-top: 6px !important;
	font-family: var(--font-primary) !important;
}

/* Form fields */
.gform_wrapper .gfield {
	margin-bottom: 25px !important;
	padding: 0 !important;
}

/* Remove list styling */
.gform_wrapper ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.gform_wrapper li {
	list-style: none !important;
	margin: 0 !important;
}
.gform-theme--foundation .gform_fields {
	grid-row-gap: 10px !important;
}
/* Submit button */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
	margin: 10px 0 0 0 !important;
	padding: 0 !important;
}

.gform_wrapper input[type=submit],
.gform_wrapper input[type=button] {
	background-color: var(--color-gray-600) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0px !important;
	padding: 16px 40px !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	font-family: var(--font-primary) !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	box-shadow: none !important;
}

.gform_wrapper input[type=submit]:hover,
.gform_wrapper input[type=button]:hover {
	background-color: var(--color-gray-500) !important;
}

/* Radio buttons and checkboxes */
.gform_wrapper .gfield_radio li,
.gform_wrapper .gfield_checkbox li {
	margin-bottom: 12px !important;
	padding: 10px !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	transition: all 0.3s ease !important;
}

.gform_wrapper input[type=radio],
.gform_wrapper input[type=checkbox] {
	width: auto !important;
	border-radius: 0 !important;
	accent-color: var(--color-red-300) !important;
	transform: scale(1.2) !important;
}

.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label {
	font-weight: 500 !important;
	color: var(--color-gray-600) !important;
	cursor: pointer !important;
	font-size: 15px !important;
}

/* Validation errors */
.gform_wrapper .gfield_error {
	background-color: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin-bottom: 25px !important;
}

.gform_wrapper .gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
	border-color: #dc3545 !important;
}

.gform_wrapper .validation_message {
	color: #dc3545 !important;
	font-size: 14px !important;
	margin-top: 6px !important;
	font-weight: 400 !important;
	font-family: var(--font-primary) !important;
}

.gform_wrapper .gfield_error .gfield_label {
	color: #dc3545 !important;
}

/* Confirmation message */
.gform_confirmation_wrapper {
	background-color: var(--color-red-100) !important;
	border: 2px solid var(--color-red-300) !important;
	border-radius: 5px !important;
	padding: 25px !important;
	margin: 20px 0 !important;
	color: var(--color-gray-600) !important;
	font-family: var(--font-primary) !important;
	box-shadow: none !important;
}

.gform_confirmation_message {
	font-size: 16px !important;
	line-height: 1.6 !important;
}

/* Multi-column layout */
.gform_wrapper .gfield_list {
	border: none !important;
	box-shadow: none !important;
}

.gform_wrapper .gfield_list td,
.gform_wrapper .gfield_list th {
	border: 1px solid var(--color-gray-300) !important;
	padding: 10px !important;
}

/* File upload */
.gform_wrapper .gform_fileupload_rules {
	font-size: 13px !important;
	color: var(--color-gray-500) !important;
	margin-top: 6px !important;
}

/* Hidden labels (for placeholder forms) */
.gform_wrapper .gfield_label.gform_hidden {
	display: none !important;
}

/* Select dropdown styling */
.gform_wrapper select {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 15px center !important;
	background-size: 12px !important;
	padding-right: 40px !important;
	color: #000 !important;
}

.gform_wrapper select option {
	color: #000 !important;
	background-color: #fff !important;
	padding: 10px !important;
}

/* Remove Gravity Forms default styling classes */
.gform_wrapper .top_label .gfield_label {
	font-weight: 600 !important;
}

.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme legend.gfield_label {
	font-weight: 600 !important;
	font-size: 15px !important;
}

:where(.wp-block-columns) {
	margin-bottom: 75px !important;
}
.about-choose-us {
	max-width: 1200px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.about-choose-us .wp-font-awesome-icon svg {
	font-size: 2rem !important;
}
.about-choose-us .wp-block-columns {
	margin-bottom: 0 !important;
	padding-bottom: 35px !important;
	padding-top: 35px !important;
}
.about-choose-us .wp-block-columns + .wp-block-columns {
	border-top: 1px solid var(--color-gray-400);
	padding-top: 35px !important;
}
/* WordPress Block Buttons
--------------------------------------------- */

.wp-block-button__link,
.wp-block-button .wp-block-button__link {
	background-color: var(--color-gray-600) !important;
	font-family: var(--font-primary) !important;
	border: 0 !important;
	border-radius: 0px !important;
	padding: 12px 15px !important;
	color: #fff !important;
	cursor: pointer;
	font-size: 18px !important;
	font-weight: 500 !important;
	text-align: center;
	text-decoration: none !important;
	white-space: normal;
	width: auto;
	line-height: 1;
	display: inline-block;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.wp-block-button__link::before,
.wp-block-button .wp-block-button__link::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background-color: var(--color-gray-500);
	transition: left 0.4s ease;
	z-index: -1;
}

.wp-block-button__link:hover,
.wp-block-button__link:focus,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus {
	color: #fff !important;
}

.wp-block-button__link:hover::before,
.wp-block-button__link:focus::before,
.wp-block-button .wp-block-button__link:hover::before,
.wp-block-button .wp-block-button__link:focus::before {
	left: 0;
}

.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button .is-style-outline .wp-block-button__link {
	background-color: transparent !important;
	border: 2px solid var(--color-gold-300) !important;
	color: var(--color-gold-300) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus,
.wp-block-button .is-style-outline .wp-block-button__link:hover,
.wp-block-button .is-style-outline .wp-block-button__link:focus {
	background-color: var(--color-gold-300) !important;
	color: #fff !important;
}

/* Responsive adjustments */
@media (max-width: 768px) {
	.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
	.gform_wrapper textarea,
	.gform_wrapper select {
		font-size: 16px !important;
	}
	
	.gform_wrapper input[type=submit],
	.gform_wrapper input[type=button] {
		width: 100% !important;
		padding: 15px 20px !important;
	}
}

/* BREADCRUMBS AND PAGE TOP */
.breadcrumbs-bar {
	position: relative;
    left: calc(50% - 50vw);
    width: 100vw;
    overflow: hidden;
    margin-bottom: 50px;
}
.breadcrumbs {
	background-color: var(--color-gray-200);
	padding: 15px 0;
	font-weight: 500;
	font-size: 15px;
}
.breadcrumbs .wrap {
	max-width: var(--inner-width);
	margin: 0 auto;
	padding: 0 20px;
}
.breadcrumb {
	border-bottom: 1px solid #eee;
	font-size: 16px;
	margin-bottom: 40px;
	padding-bottom: 10px;
}

/* Directory Grid */
.directory-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	margin-bottom: 50px;
}

.directory-item {
	display: flex;
	flex-direction: column;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.directory-image-link {
	position: relative;
	overflow: hidden;
	background: var(--color-gray-100);
	display: block;
}

.directory-image {
	width: 100%;
	height: 400px;
	object-fit: cover;
	display: block;
	transform: scale(1);
	transition: transform 0.5s ease-in-out !important;
}

.directory-image-link:hover .directory-image {
	transform: scale(1.1);
}

.directory-info {
	padding: 25px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.directory-title {
	font-size: 1.25rem;
	font-weight: 500;
	margin: 0;
	line-height: 1.3;
}

.directory-title a {
	color: var(--color-black);
	text-decoration: none;
}

.directory-excerpt {
	line-height: 1.6;
	margin: 0;
	font-size: 18px;
}

.directory-learn-more {
	color: var(--color-red-500);
	text-decoration: none;
	font-weight: 500;
	font-size: 18px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: color 0.3s ease;
	margin-top: 8px;
}

.directory-learn-more:hover {
	color: var(--color-red-600);
}



@media (max-width: 768px) {
	.directory-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	
	.directory-image {
		height: 250px;
	}
	
	.directory-info {
		padding: 20px;
	}
	
	.directory-title {
		font-size: 18px;
	}
}

/* Products Page Styles
---------------------------------------------------------------------------- */
.products-page-content {
	width: 100%;
	margin-bottom: 75px;
}

.products-main-content {
	margin: 0 auto;
}

.products-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.product-item {
	background: #fff;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	cursor: pointer;
}

.product-image-wrapper {
	width: 100%;
	height: 200px;
	overflow: hidden;
}

.product-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.product-item:hover .product-image {
	transform: scale(1.05);
}

.product-info {
	padding: 20px;
}

.product-title {
	font-size: 1.25rem;
	margin: 0 0 10px 0;
	color: #333;
}

.product-excerpt {
	font-size: 18px;
	margin: 0 0 15px 0;
	line-height: 1.5;
}

.product-view-details {
	background: none;
	background-color: transparent;
	border: none;
	color: var(--color-red-500);
	font-size: 18px;
	cursor: pointer;
	padding: 0;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	transition: color 0.3s ease;
}
.product-view-details::before, .product-view-details::after {
	display: none !important;
}
.product-view-details:hover {
	background-color: transparent !important;
	color: var(--color-red-600) !important;
}

/* Products Custom Section Styles */
.products-custom-section {
	padding: 60px 0;
	margin: 40px 0;
	background: #f5f5f5;
}

.products-custom-inner {
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
	padding: 0 20px;
}

/* Product Modal Styles */
.product-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999999;
	display: none;
	align-items: center;
	justify-content: center;
}

.product-modal.active {
	display: flex;
}

.product-modal-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.825);
}

.product-modal-container {
	position: relative;
	background: #fff;
	max-width: 900px;
	width: 90%;
	max-height: 90vh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.product-modal-close {
	position: absolute;
	top: 15px;
	right: 15px;
	width: 40px;
	height: 40px;
	border: none;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	border-radius: 50%;
	cursor: pointer;
	font-size: 1.2rem;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.3s ease;
}

.product-modal-close:hover {
	background: rgba(0, 0, 0, 0.8);
}

.product-modal-content {
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}

.product-modal-image-wrapper {
	width: 100%;
	max-height: 400px;
	overflow: hidden;
}

.product-modal-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-modal-details {
	padding: 30px;
}

.product-modal-title {
	font-size: 1.75rem;
	margin: 0 0 20px 0;
	color: #333;
}

.product-modal-body {
	font-size: 1rem;
	color: #555;
	line-height: 1.7;
}

.product-modal-body p {
	margin-bottom: 15px;
}

.bg-light-gray {
	position: relative;
	padding: 75px 0;
}
.bg-light-gray::before {
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - 50vw);
	width: 100vw;
	height: 100%;
	background-color: var(--color-gray-100);
	z-index: -1;
}

/* Products Page Responsive */
@media (min-width: 768px) {
	.product-modal-content {
		flex-direction: row;
	}

	.product-modal-image-wrapper {
		width: 50%;
		max-height: none;
	}

	.product-modal-details {
		width: 50%;
		overflow-y: auto;
	}
}

@media (max-width: 600px) {
	.products-grid {
		grid-template-columns: 1fr;
	}
	#home-3 .why-grid {
		gap: 20px;
	}
	#home-3 .row {
		gap: 30px;
	}
}
.ti-widget.ti-goog .ti-review-item>.ti-inner {
	border-radius: 0 !important;
}

.why-us-commitment {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.why-us-commitment .wp-block-column {
	background-color: #fff;
	color: var(--color-black);
	text-align: center;
	padding: 40px 20px;
}
.why-us-commitment .wp-block-columns {
	gap: 25px !important;
	margin-bottom: 25px !important;
}
.why-us-commitment h4 {
	color: var(--color-red-500) !important;
}
.why-us-commitment .wp-block-column p {
	margin-bottom: 0;
}

@media (max-width: 950px) {
	#home-1 .stat h3 {
		font-size: 50px;
	}
	.above-header {
		display: none;
	}
	.wp-custom-logo .title-area {
		max-width: 70px !important;
	}
	#home-hero {
		margin-top: -100px;
	}
}
@media (max-width: 750px) {
	.page-top .row {
		flex-direction: column;
	}
	.page-top .row .col.left, .page-top .row .col.right {
		width: 100%;
		padding: 0;
		border: none;
	}
	#home-1 .row {
		flex-direction: column;
		gap: 50px;
	}
	#home-1 .row .col.left, #home-1 .row .col.right {
		width: 100%;
	}
	#home-2 .service-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	#home-4 .process-timeline {
		margin-top: 25px;
		margin-bottom: 25px;
	}
	#home-4 .process-timeline .row {
		flex-direction: column;
		gap: 50px;
	}
	#home-4 .process-timeline .col {
		width: 100%;
	}
	#home-3 .row {
		flex-direction: column;
	}
	#home-3 .row .col.left, #home-3 .row .col.right {
		width: 100%;
	}
	#cta .row {
		flex-direction: column;
		max-height: unset;
		padding-top: 25px;
		padding-bottom: 25px;
		gap: 25px;
	}
	#cta img {
		width: 100%;
		min-width: 100%;
		max-height: unset;
	}
	#cta .row .col {
		width: 100%;
	}
	h2 {
		font-size: 32px;
	}
	#custom-footer .outer.row {
		flex-direction: column;
	}
	#custom-footer .outer.row .col {
		width: 100%;
		text-align: center;
	}
	.above-header-left {
		display: none;
	}
	h1 {
		font-size: 36px;
	}
}
@media (max-width: 500px) {
	#home-2 .service-grid {
		grid-template-columns: 1fr;
	}
	h2 {
		font-size: 28px;
	}
	#home-3 .why-grid {
		grid-template-columns: 1fr;
	}
	#home-1 .stat h3 {
		font-size: 40px;
	}
	h2.small {
		font-size: 26px;
	}
	.home-section {
		padding: 35px 0;
	}
	#custom-footer .outer.row .col.right .row {
		flex-direction: column;
		align-items: center;
	}
	#custom-footer .outer.row .col.right .row .col, #custom-footer .outer.row .col {
		width: 100%;
		align-items: unset;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	a.large, .home a.large {
		font-size: 22px;
	}
	#home-4 .process-timeline .process .number {
		font-size: 31px;

	}
	#home-4 .process-timeline .process .label {
		font-size: 14px;
	}
	h1 {
		font-size: 28px;
	}
	.product-modal-body {
		font-size: 13px;
	}
	.product-modal-image {
		max-height: 250px;
	}
}

/* Mobile Fixed Bottom Buttons
--------------------------------------------- */
@media only screen and (max-width: 950px) {
	.mobile-fixed-buttons {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		display: flex;
		z-index: 9999;
	}
	.mobile-fixed-buttons a {
		width: 50%;
		padding: 15px 0;
		text-align: center;
		text-decoration: none;
		font-weight: 600;
		font-size: 16px;
		color: #fff;
	}
	.mobile-fixed-buttons a.btn-call {
		background-color: var(--color-gray-700);
	}
	.mobile-fixed-buttons a.btn-quote {
		background-color: var(--color-red-800);
	}
}
@media only screen and (min-width: 951px) {
	.mobile-fixed-buttons {
		display: none;
	}
}