/* Variables */
:root {
	--primary-color: #008A82;
	--secondary-color: #404183;
	--body-color: #333333;
	--link-color: #3F42E3;
}

/* Header */
.header-top-alert .col-12 a {
	white-space: nowrap;
}

.header-topbar {
	background-color: var(--secondary-color);
	color: #ffffff;
	padding: 9px 0;
}

.header-topbar .row {
	align-items: center;
}

.header-topbar .row > div:last-child {
	text-align: right;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.header-topbar .head-button {
	background-color: #E4E4FF;
	border-radius: 4px;
	font-size: 16px;
	color: var(--body-color);
	display: inline-block;
	padding: 3px 14px;
	text-decoration: none;
	white-space: nowrap;
}

.header-area .navbar {
	padding: 0;
}

.header-wrap {
	box-shadow: 0px 3px 6.5px -2px rgba(0, 0, 0, 0.10);
	margin-bottom: 22px;
}

#masthead .site-branding {
	margin: 0;
	text-align: left;
}

.head-cart-btn {
	position: relative;
	display: block;
}

.header-topbar .head-cart-btn {
	display: inline-block;
	margin-left: 20px;
}

.head-cart-btn .fa-cart-shopping {
	color: #008B81;
	font-size: 40px;
	margin-right: 10px;
	position: relative;
}

.head-cart-btn .cart-count-label {
	position: absolute;
	right: 0;
	font-size: 20px;
	width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	color: #fff;
	background: #084642;
	top: -7px;
}

/* Navbar */
.header-area > .row {
	align-items: center;
}

.navbar.navbar-default {
	background-color: transparent;
	font-weight: 400;
}

.navbar .navbar-collapse {
	justify-content: flex-end;
}

.navbar .navbar-nav {
	gap: 20px;
	margin-right: 20px;
}

.navbar-default .navbar-nav > li > a {
	box-shadow: none;
	border: 0;
	color: var(--body-color);
	font-weight: 500;
	text-decoration: none;
	position: relative;
}

.navbar-default .navbar-nav > li.active > a, .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > li.active > a:hover, .navbar-default .navbar-nav > li.active > a:focus,
.navbar-default .navbar-nav > li.current_page_parent > a, .navbar-default .navbar-nav > li.current_page_parent > a:hover {
	background-color: transparent;
	color: #008A82;
}

.navbar-default .navbar-nav li > a:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 14px;
	left: 50%;
	width: 0;
	height: 2px;
	background-color: var(--primary-color);
	transform: translateX(-50%);
	transition: width 0.25s;
}

.navbar-default .navbar-nav li > a:hover:after, .navbar-default .navbar-nav li.active > a:after,
.navbar-default .navbar-nav li.current_page_parent > a:after {
	width: 100%;
}

/* Homepage */
.homepage-hero {
	background-image: url('/wp-content/uploads/2024/08/home-image.jpg');
	position: relative;
	height: 450px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-top: -22px;
	background-position-x: center;
}

.homepage-hero .hero-body {
	position: relative;
	z-index: 10;
}

.homepage-hero .hero-text {
	text-align: center;
	filter: drop-shadow(0px 2px 1px rgba(0, 0, 0, 0.40));
	font-size: 64px;
	font-weight: 600;
	line-height: normal;
	color: #ffffff;
	max-width: 1100px;
	margin: 0 auto 35px;
}

.homepage-hero .hero-text .hero-highlight {
	background: linear-gradient(90deg, #FDC536 0%, #FAFF00 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.homepage-hero .hero-btn {
	text-align: center;
}

.homepage-hero .hero-btn a {
	display: inline-block;
	background: var(--primary-color);
	color: #ffffff;
	padding: 7px 27px;
	text-decoration: none;
	font-weight: 700;
	border-radius: 4px;
	font-size: 24px;
	transition: all 200ms;
}

.homepage-hero .hero-btn a:hover {
	background: #017872;
}

.homepage-title {
	text-align: center;
	margin: 40px 0;
}

.home-block-title {
	font-size: 30px;
	font-weight: 600;
	color: var(--secondary-color);
	text-align: center;
	margin: 30px 0;
}

.home-boxes {
	margin-bottom: 50px;
}

.home-boxes .box-title {
	font-weight: 600;
	font-size: 30px;
	color: var(--body-color);
	margin: 15px 0 9px;
}

.home-boxes .box-text {
	font-size: 22px;
	line-height: 130%;
	font-weight: 500;
	color: var(--body-color);
	margin-bottom: 8px;
}

.home-boxes .box-btn {
	text-decoration: none;
	color: var(--primary-color);
	font-weight: 600;
	line-height: 130%;
	font-size: 22px;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	transition: all 400ms;
	border-bottom: 1px solid transparent;
}

.home-boxes .box-btn > i {
	font-size: 17px;
	margin-left: 7px;
	transition: margin-left 400ms;
}

.home-boxes .box-btn:hover {
	color: #016c66;
	border-bottom: 1px solid #016c66;
}

.home-boxes .box-btn:hover > i {
	margin-left: 11px;
}

.home-flameproofing-banner {
	background-image: url('/wp-content/uploads/2024/08/grey-banner.jpg');
	min-height: 430px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.home-flame-list {
	font-size: 21px;
}

.action-box {
	border-radius: 6px;
	border: 1px solid #CEE4F4;
	background: #F8FCFF;
	filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
	padding: 30px 100px;
	text-align: center;
	max-width: 1070px;
	margin: 60px auto 20px;
}

.action-box .btn {
	margin-top: 21px;
	border-radius: 6px;
}

.home-industries-intro {
	max-width: 1180px;
	font-size: 20px;
	font-weight: 500;
}

.home-industries .fa-duotone {
	position: absolute;
	font-size: 24px;
	--fa-secondary-opacity: 1;
}

.home-industries li {
	font-size: 19px;
	line-height: 159%;
}

.home-industries {
	max-width: 1180px;
	margin: 0 80px;

	.fa-couch {
		--fa-primary-color: #8F8F76;
		--fa-secondary-color: #B8BD98;
	}
	.fa-bus {
		--fa-primary-color: #DABA68;
		--fa-secondary-color: #6988F5;
	}
	.fa-hotel {
		--fa-primary-color: #A6763F;
		--fa-secondary-color: #CDB768;
	}
	.fa-hospital {
		--fa-primary-color: #1936D0;
		--fa-secondary-color: #ECBB3F;
	}
	.fa-camera-movie {
		--fa-primary-color: #595959;
		--fa-secondary-color: #CBCBCB;
	}
}

/** Homepage Scrolling Banner **/
.home-customers-banner .banner-scroll {
	display: flex;
	height: var(--banner-item-height);
	margin: var(--banner-item-height) 0;
	position: relative;
	overflow-x: hidden;
	mask-image: linear-gradient(
		to right,
		hsl(0 0% 0% / 0),
		hsl(0 0% 0% / 1) 20%,
		hsl(0 0% 0% / 1) 80%,
		hsl(0 0% 0% / 0)
	);
}

.home-customers-banner .banner-scroll {
	--banner-item-width: 200px;
	--banner-item-height: 110px;
	--banner-duration: 55s;
	--banner-items: 21;
}

.home-customers-banner .banner__item {
	--banner-item-offset: max(
		calc(var(--banner-item-width) * var(--banner-items)),
		calc(100% + var(--banner-item-width))
	);
	--banner-delay: calc(var(--banner-duration) / var(--banner-items) * (var(--banner-items) - var(--banner-item-index)) * -1);
	position: absolute;
	left: var(--banner-item-offset);
	transform: translateX(-50%);
	animation: go linear var(--banner-duration) var(--banner-delay, 0s) infinite;
	white-space: nowrap;
}

.home-customers-banner .banner__item img {
	height: 110px;
	width: 150px;
	object-fit: scale-down;
	max-width: none;
}

@keyframes go {
	to {
		inset-inline-start: calc(var(--banner-item-width) * -1);
	}
}

/* Body */
body {
	font-family: 'Raleway', sans-serif;
	color: var(--body-color);
	font-variant-numeric: lining-nums;
	line-height: 1.5;
	font-size: 18px;
}

h1, h1.entry-title {
	font-size: 32px;
	font-weight: 600;
	color: var(--secondary-color);
}

h2 {
	font-size: 25px;
	font-weight: 400;
	color: var(--secondary-color);
}

h3, h4, h5 {
	font-size: 21px;
	font-weight: 400;
	color: var(--secondary-color);
}

a {
	text-decoration: underline;
	color: #3F42E3;
}

a:hover, a:focus {
	color: #1e21af;
	text-decoration: underline;
}

.phone-number {
	color: inherit;
	white-space: nowrap;
}

.phone-number:hover {
	color: inherit;
	text-decoration: none;
}

.text-semibold {
	font-weight: 600;
}

.btn-primary {
	border-radius: 3px;
	border: none;
	background-color: var(--primary-color);
	color: #ffffff;
	font-weight: 500;
	padding: 6px 30px;
	font-size: 17px;
}

.btn-primary:focus, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled):active {
	color: #ffffff;
	background-color: #016862;
}

article .entry-meta {
	display: none;
}

/* Change Bootstrap Container Padding */
.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl, .row>* {
	padding-left: 15px;
	padding-right: 15px;
}

.row {
	margin-left: -15px;
	margin-right: -15px;
}

/* Flameproofing Page */
.flame-img {
	float: left;
	margin-right: 30px;
}

.flame-box {
	background-color: #F8FCFF;
	border: 1px solid #CEE4F4;
	font-size: 21px;
	font-weight: 500;
	margin: 20px auto;
	max-width: 775px;
	padding: 22px;
	border-radius: 6px;
	text-align: center;
}

/* Home & Business Page */
.alert.flame-box {
	font-size: 18px;
	font-weight: 400;
	text-align: left;
	max-width: 1070px;
}

.flame-box a {
	text-decoration: none;
}

.flame-box > div {
	text-align: center;
}

.flame-box .flame-box_phone {
	background-color: #08b3a9;
}

.flame-box .flame-box_phone:hover {
	background-color: #07a79d;
}

/* Product Listing Page */
.woocommerce #main .products .product img {
	margin-bottom: 0;
}

.woocommerce #main .products .product h2 {
	font-size: 20px;
	font-weight: 600;
	color: var(--body-color);
}

.woocommerce #main .products .product .price {
	font-size: 18px;
	margin-bottom: 0;
}

.woocommerce #main .products .product .button, .woocommerce div.product form.cart .button {
	background-color: var(--primary-color);
	color: #ffffff;
	border-radius: 3px;
	font-weight: 600;
	font-size: 20px;
	padding: 10px 20px;
}

.woocommerce #main .products .product .button {
	margin-top: 15px;
}

.woocommerce .products .product .button:hover, .woocommerce .products .product .button:focus, .woocommerce div.product form.cart .button:hover {
	background-color: #1b7a74;
}

.woocommerce .products ul, .woocommerce ul.products {
	display: flex;
}

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
}

.purchase-banner {
	background-image: url('/wp-content/uploads/2023/04/calculator.png'), url('/wp-content/uploads/2024/08/background-red.png');
	background-size: 260px, cover;
	background-position: 75%, center;
	background-repeat: no-repeat;
	min-height: 470px;
	color: #ffffff;
	padding: 65px 0;
	margin: 50px 0 -20px;
}

.purchase-banner .row > div {
	max-width: 60%;
}

.purchase-banner h2 {
	color: #ffffff;
	text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.30);
	font-size: 36px;
	font-weight: 600;
}

.purchase-banner .col-12 > p {
	text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.30);
	font-size: 25px;
}

.purchase-banner #form {
	display: flex;
	gap: 10px;
	flex-flow: row wrap;
	justify-content: flex-end;
	align-items: center;
	width: 500px;
	max-width: 100%;
	label {
		flex-basis: 20%;
		text-align: right;
		color: #ffffff;
		text-transform: uppercase;
		font-size: 25px;
		font-weight: 600;
	}
	input {
		height: 45px;
		border-radius: 13px;
		flex-basis: 60%;
	}
	button {
		box-shadow: inset 0 -5px #000;
		padding: 8px 32px;
		text-transform: uppercase;
		font-size: 15px;
		display: inline-block;
		color: #ffffff;
		border-radius: 10px;
		background-color: #403e3d;
		border: none;
		flex-basis: 60%;
	}
	#calculate-results {
		border-radius: 10px;
		background: #fff;
		padding: 1.5rem;
		color: #100063;
		margin-top: 10px;
		text-align: left;
		width: 100%;
		h2 {
			color: #100063;
			font-size: 26px;
			text-align: center;
		}
		table {
			border-spacing: 0.25rem .5rem;
			border-collapse: separate;
			margin: 0 auto;
			width: 55%;
			th {
				background: #eeedee;
				border-radius: 10px;
				padding: 4px 40px;
			}
			td {
				padding: 4px;
			}
			th:nth-of-type(1) {
				padding: 4px;
			}
			th:nth-of-type(2) {
				padding-left: 4px;
			}
			a {
				display: inline-block;
				text-transform: uppercase;
				color: #ffffff;
				background: #fe0000;
				padding: 4px 8px;
				font-size: 12px;
				text-decoration: none;
				border-radius: 10px;
				float: right;
			}
		}
		p {
			font-size: 14px;
			margin-top: 20px;
			margin-bottom: 0;
		}
		&:empty {
			display: none;
		}
	}
}

/* Product Detail Page */
.woocommerce-product-gallery__wrapper:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 20px;
	right: -10px;
	transform: rotate(-2.5deg);
	width: 180px;
	height: 180px;
	background-image: url('/wp-content/uploads/2023/06/free-shipping.png');
	background-size: cover;
	background-repeat: no-repeat;
}

.woocommerce div.product .woocommerce-product-gallery__image > a {
	pointer-events: none;
}

.woocommerce.single-product #main .quantity input {
	font-size: 23px;
	font-variant-numeric: lining-nums;
}

.woocommerce.single-product .product-page-list > li {
	margin-bottom: 16px;
}

.woocommerce.single-product .product-application {
	clear: both;
}

.woocommerce #content div.product div.images, .woocommerce div.product div.images,
.woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
	width: 38%;
	float: left;
}

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
	width: 59%;
}

.woocommerce .woocommerce-Price-amount {
	color: #02665C;
}

/* Cart Page */
#main .entry-content .woocommerce {
	width: 100%;
	padding-left: 15px;
	padding-right: 15px;
	margin-left: auto;
	margin-right: auto;
}

#main .woocommerce div:not(.actions) .wp-element-button, #main .woocommerce div:not(.woocommerce-message) .button.alt {
	background-color: var(--primary-color);
}

#main .woocommerce div:not(.actions) .wp-element-button:hover, #main .woocommerce div:not(.woocommerce-message) .button.alt:hover {
	background-color: #016862;
}

/* Contact Page */
.contact-map {
	text-align: center;
	margin-top: 50px;
}

.contact-addresses .row {
	margin-bottom: 12px;
}

div.wpforms-container.wpforms-container-full {
	margin-top: 0;
}

div.wpforms-container-full .wpforms-form .wpforms-field-label {
	font-weight: 500;
	font-size: 18px;
	color: #000000;
	margin-bottom: 4px;
	line-height: 1.3;
}

div.wpforms-container-full .wpforms-form .wpforms-field  {
	padding-top: 10px;
	padding-bottom: 10px;
}

div.wpforms-container-full .wpforms-form .wpforms-field > input {
	height: 38px;
}

div.wpforms-container-full .wpforms-form .wpforms-field-checkbox ul {
	gap: 5px;
	--wpforms-field-size-checkbox-size: 14px;
}

div.wpforms-container-full .wpforms-form .wpforms-field-checkbox ul > li {
	height: 27px;
	align-items: flex-end;
}

div.wpforms-container-full .wpforms-form .wpforms-field-checkbox ul input[type=checkbox] {
	align-self: center;
}

div.wpforms-container-full .wpforms-form .wpforms-submit-container button[type=submit] {
	border-radius: 3px;
	border: none;
	background-color: var(--primary-color);
	color: #ffffff;
	font-weight: 500;
	padding: 6px 30px;
	font-size: 17px;
}

div.wpforms-container-full .wpforms-form .wpforms-submit-container button[type=submit]:hover, div.wpforms-container-full .wpforms-form .wpforms-submit-container button[type=submit]:focus {
	color: #ffffff;
	border: none;
	background-color: #016862;
}

div.wpforms-container-full .wpforms-form .wpforms-required-label {
	display: none;
}

/* Footer */
#colophon {
	padding: 0;
	background-color: #084642;
}

#colophon .site-info {
	padding-top: 25px;
	padding-bottom: 30px;
	color: #ffffff;
	font-size: 18px;
	line-height: 150%;
	background-color: #084642;
}

#colophon .site-info a {
	color: #ffffff;
}

#colophon .site-info h4 {
	color: #ffffff;
	font-size: 23px;
	font-weight: 600;
}

#colophon .footer-menu .nav {
	flex-direction: column;
}

#colophon .footer-menu .nav a {
	text-decoration: none;
	display: inline-block;
	padding: 2px 0;
}

#colophon .footer-menu .nav a:hover, #colophon .footer-menu .nav a:focus,
#colophon .footer-menu .nav li.active a, #colophon .footer-menu .nav li.active a:hover {
	text-decoration: underline;
	color: #ffffff;
}

#colophon .footer-address div:last-child {
	line-height: 1.55;
	padding-top: 3px;
}

#colophon .footer-copyright {
	background-color: #003D39;
	padding: 15px 0;
}

#colophon .footer-copyright, #colophon .footer-copyright a {
	color: #ffffff;
	text-decoration: none;
}

/* Start Media Queries*/
/* Order max-width from largest to smallest */
/* Order min-width from smallest to largest */
@media (max-width: 1919px) {

}

@media (max-width: 1365px) {

}

@media (max-width: 1199px) {
	.homepage-hero .hero-text {
		font-size: 54px;
	}

	.purchase-banner {
		background-position: 85%, center;
	}
}

@media (max-width: 991px) {
	.navbar .navbar-toggler {
		color: #ffffff;
		background-color: var(--secondary-color);
		font-size: 21px;
		border: 0;
		padding: 9px 13px;
		border-radius: 5px;
	}

	.navbar .navbar-toggler:focus {
		outline: 0;
	}

	.navbar .navbar-nav {
		gap: 0;
		margin: 0 0 10px;
	}

	.navbar-default .navbar-nav li > a:after {
		display: none;
	}

	.navbar .menu-item > a {
		display: block;
		padding: 16px 0;
	}

	.header-area .head-cart-btn {
		display: none;
	}

	div:not(:last-child) > .home-flame-list {
		margin-bottom: 0;
	}

	.home-customers-banner .banner-scroll {
		margin: 55px 0;
	}

	.contact-addresses .row {
		margin-bottom: 0;
	}

	.contact-addresses .row > div {
		margin-bottom: 12px;
	}

	.flame-img {
		width: 50%;
	}

	.purchase-banner {
		background-image: url('/wp-content/uploads/2024/08/background-red.png');
		background-size: cover;
		background-position: center;
		min-height: 430px;
	}

	.purchase-banner .row > div {
		max-width: 100%;
	}

	.woocommerce-product-gallery__wrapper:after {
		width: 110px;
		height: 110px;
		top: 10px;
	}

	.woocommerce #content div.product div.images, .woocommerce div.product div.images,
	.woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
		margin-right: 30px;
	}

	.woocommerce #content div.product div.summary, .woocommerce div.product div.summary,
	.woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
		width: 100%;
		float: none;
	}

	.woocommerce.single-product #main .cart .button {
		float: none;
	}

	.woocommerce.single-product #main .cart:after {
		clear: none;
	}
}

@media (max-width: 767px) {
	.homepage-hero .hero-text {
		font-size: 40px;
	}

	.home-box {
		max-width: 418px;
		margin-left: auto;
		margin-right: auto;
	}

	div:not(:last-child) > .home-box {
		margin-bottom: 40px;
	}

	.home-industries {
		margin: 0 0 0 45px;
	}

	.action-box {
		padding: 20px 30px;
		margin-top: 30px;
	}
	
	.flame-box .btn {
		display: block;
		margin-top: 10px;
	}

	div.wpforms-container-full .wpforms-form .wpforms-field-checkbox ul input[type=checkbox] {
		margin-top: 6px;
	}

	.contact-form {
		order: 1;
	}

	.contact-addresses {
		order: 2;
	}

	.site-info, .copyright {
		text-align: left;
	}

	#colophon .site-info .row > div:not(:last-child) {
		margin-bottom: 13px;
	}

	.flame-img {
		width: 100%;
	}

	.woocommerce #content div.product div.images, .woocommerce div.product div.images,
	.woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
		margin: 0 0 10px;
		width: 100%;
		float: none;
	}

	.woocommerce .products ul, .woocommerce ul.products {
		display: block;
	}
}

@media (max-width: 575px) {
	.header-topbar .hide-mobile {
		display: none;
	}

	.header-area #masthead {
		width: 80%;
	}
}

@media (max-width: 460px) {
	.header-top-alert .hide-xxs {
		display: none;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.home-boxes .box-title {
		font-size: 25px;
	}

	.home-boxes .box-text {
		font-size: 18px;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	#main_menu_wrap .menu-hide {
		display: none;
	}
}

@media (min-width: 992px) and (max-width: 1399px) {
	.navbar .navbar-nav {
		margin-right: 0;
		gap: 12px;
	}
	
	.navbar #masthead {
		flex-basis: 280px;
	}
}

@media (min-width: 576px) {
	#main .entry-content .woocommerce {
		max-width: 540px;
	}
}

@media (min-width: 768px) {
	#main .entry-content .woocommerce {
		max-width: 720px;
	}
	
	.flame-box .flame-box_phone {
		display: none;
	}
}

@media (min-width: 992px) {
	#main .entry-content .woocommerce {
		max-width: 960px;
	}

	.header-topbar .head-cart-btn {
		display: none;
	}
}

@media (min-width: 1200px) {
	#main .entry-content .woocommerce {
		max-width: 1140px;
	}
}

/* Update Bootstrap Container Width */
@media (min-width: 1400px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl,
	#main .entry-content .woocommerce {
		max-width: 1370px;
	}
}