@charset "utf-8";
/* Mighty Clean | Mobile Essentials Stylesheet */
* {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
:root {
	--main-color: #0071b9;
	--main-color-trans: rgba(0, 113, 185, 0.70);
	--dark-color: #0b2b47;
	--dark-color-trans: rgba(11, 43, 71, 0.70);
	--accent-color: #F2F2F2;
	--main-font: "Poppins", sans-serif;
}
.main-color {
	color: var(--main-color);
}
.main-bg {
	background-color: var(--main-color);
}
.main-bg-trans {
	background-color: var(--main-color-trans);
}
.dark-color {
	color: var(--dark-color) !important;
}
.dark-bg {
	background-color: var(--dark-color);
}
.dark-border {
	border-color: var(--dark-color);
}
.accent-bg {
	background-color: var(--accent-color);
}
.white-bg {
	background-color: #FFF;
}
.group:after {
	display: block;
	width: 100%;
	clear: both;
}
.wrapper {
	overflow-x: hidden;
	max-width: 2100px;
	margin: auto;
}
body, html {
	padding: 0;
	margin: 0;
	scroll-behavior: smooth;
}
body, textarea, input {
	font-family: var(--main-font);
	font-size: 20px;
}
.flex {
	display: flex;
	justify-content: space-evenly;
	flex-wrap: wrap;
}
.flex.flex-end {
	justify-content: flex-end;
}
.flex.flex-start {
	justify-content: flex-start;
}
.flex.flex-center {
	justify-content: center;
}

.content-block {
	padding: 36px 0;
}
.content {
	padding: 16px;
}
.container {
	position: relative;
	margin: auto;
	max-width: 1200px;
}
.section-block {
	margin: 32px auto;
}
.flex-fifth, .flex-fourth, .flex-third, .flex-half, .flex-two-thirds, .flex-three-fourths, .flex-four-fifths {
	width: 100%;
}
.black {
	color: #000 !important;
}
.relative-box {
	position: relative;
}
.no-position {
	position: unset !important;
}

.medium {
	font-size: 28px;
}
h1, .large {
	font-size: 32px;
}
h1, .main-title {}
h2 {}
h3 {}
.uppercase {
	text-transform: uppercase;
}
.small {
	font-size: 80%;
}
.spaced {
	letter-spacing: 2px;
}
.bold {
	font-weight: 700;
}
.align-left {
	text-align: left;
}
.align-center {
	text-align: center;
}
.align-right {
	text-align: right;
}
blockquote {
	font-size: 24;
	font-weight: 600;
	letter-spacing: 2px;
}
blockquote:after {
	display: block;
	content: "";
	margin: 12px auto;
	width: 150px;
	height: 4px;
	background-color: #000;
	border-radius: 4px;
}
.page-image img, .hero-image img, .thumb-image img {
	width: 100%;
	vertical-align: middle;
}
.page-title {
	position: relative;
	font-family: scotch-modern, serif;
	font-style: normal;
	font-weight: 700;
	font-size: 32px;
	letter-spacing: 3px;
	text-transform: uppercase;
}
.white, .white.page-title {
	color: #FFF;
}
.page-title span {
	display: block;
	font-size: 24px;
	letter-spacing: normal;
}
.overlay h1, .overlay h2 {
	display: table;
	position: relative;
	margin: 0;
	font-size: 36px;
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: var(--secondary-color);
}
.overlay h1 span, .overlay h2 span {
	display: block;
	font-size: 24px;
	font-weight: 400;
	border-top: solid 2px var(--secondary-color);
	color: var(--main-color);
}
/*Header*/
.top-bar, .top-bar:after {
	position: relative;
	background-color: var(--main-color);
}
.navbar, .navbar:after {
	position: relative;
	/* color: #FFF; */
	background-color: #0a2733;
}
/* .navbar:after, .top-bar:after {
	position: absolute;
	display: block;
	content: "";
	width: 1000px;
	height: 100%;
	top: 0;
	bottom: 0;
	right: -1000px;
} */
.top-bar .button, .top-bar .button:visited {
	margin: 12px auto;
}
/*Interactives*/
.logo {
	display: block;
	margin: auto;
	width: 100%;
}
.logo img, .page-img img, .flex-img img, .widget-img, .resource-badges img {
	width: 100%;
	height: auto;
}
.yoink {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.top-bar > div {
	width: 100%;
	text-align: center;
	margin: 12px auto;
}
.mainnav {
	font-family: arboria, sans-serif;
    font-style: normal;
	width: 100%;
	justify-content: flex-start;
}
.mainnav, .mainnav ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.mainnav li {
	width: 100%;
}
.mainnav a, .mainnav a:visited {
	background-color: white;
	color: #4c80c2;
	display: block;
	font-size: 13px;
    font-weight: 700;
	letter-spacing: .8px;
	line-height: 15px;
	padding: 12px 20px;
	text-decoration: none;
	text-transform: uppercase;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.toplink a:hover {
	background-color: var(--main-color);
	color: #FFF;
}
.dropdown {
	position: relative;
}
.dropdown ul {
	display: none;
}
.dropdown.active ul {
	display: block;
	text-align: center;
	width: 100%;
	background-color: var(--main-color);
	z-index: 1000;
}
.dropdown.active ul a, .dropdown.active ul a:visited {
	color: #4c80c2;
	padding: 8px 12px;
}
.button, .button:visited, .blogReadMore a, .blogReadMore a:visited {
	display: inline-block;
	margin: auto;
	padding: 4px 16px;
	font-size: 28px;
	font-weight: 600;
	letter-spacing: 1px;
	text-align: center;
	text-decoration: none;
	border: solid 2px var(--main-color);
	color: var(--main-color);
	background-color: rgba(255,255,255,0);
	cursor: pointer;
}
.blogReadMore {
	display: block;
	margin-top: 12px;
}
.white.button, .white.button:visited {
	color: #FFF;
	border: solid 2px #FFF;
	text-transform: uppercase;
}
.hidenav-toggle {
	position: relative;
	display: block;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	font-weight: 700;
	color: white;
	font-size: 24px;
	padding: 12px;
	cursor: pointer;
}
#main-nav, .ie {
	display: none;
}
.flex-item {
	width: 100%;
	text-align: center;
	margin-bottom: 12px;
}
.flex-item a {
	color: #000;
	letter-spacing: 1px;
	text-decoration: none;
}
.flex-item a:hover {
	text-decoration: underline;
}
#hidenav:checked ~ #main-nav {
	display: flex;
	width: 100%;
}
.burger {
	position: relative;
	width: 30px;
	height: 10px;
	margin-right: 12px;
	overflow: visible;
	display: inline-block;
}
.burger span, .burger span:before, .burger span:after {
	cursor: pointer;
	border-radius: 1px;
	height: 3px;
	width: 30px;
	background: white;
	position: absolute;
	display: block;
	content: '';
	-moz-transition: all 0.2s;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}
.burger span:before {
	top: -10px;
}
.burger span:after {
	bottom: -10px;
}
#hidenav:checked ~ label .burger span {
	background-color: transparent;
}
#hidenav:checked ~ label .burger span:before, #hidenav:checked ~ label .burger span:after {
	top: 0;
}
#hidenav:checked ~ label .burger span:before {
	transform: rotate(45deg);
}
#hidenav:checked ~ label .burger span:after {
	transform: rotate(-45deg);
}
.service-mini .thumb-title {
	min-height: 100px;
	font-size: 28px;
}
.service-mini a, .service-mini a:visited{
	color: #FFF;
	text-decoration: none;
}
.service-thumb {
	display: block;
	width: 300px;
	height: 180px;
	margin: 16px auto;
	padding: 12px;
	color: var(--secondary-color);
	background-color: #FFF;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
}
.service-thumb:hover {
	background-color: var(--secondary-color);
	color: #FFF;
}
.st-name {
	display: block;
	text-align: center;
	margin-top: 12px;
}
.service-image img {
	width: 100%;
}
.flex-chunk {
	display: flex;
	color: #FFF;
	margin: 12px;
}
.flex-chunk div {
	width: 100%;
	padding: 12px;
	align-self: center;
}
.flex-chunk.flex-two-thirds {
	background-color: var(--main-color);
	font-size: 88px;
	text-align: center;
}
.flex-chunk.flex-third {
	background-color: var(--secondary-color);
}
.cert-image {
	position: relative;
	text-align: center;
	padding: 32px;
}
.cert-image img {
	width: 100%;
	height: 80px;
	object-fit: contain;
	object-position: center;
}
.team-thumb div {
	text-align: center;
	font-weight: 700;
	font-size: 16px;
}
.team-thumb div span {
	display: block;
	font-weight: 400;
	font-size: 14px;
}
.outline-overflow {
	position: relative;
	border: solid 4px #FFF;
	border-right: none;
}
.outline-overflow:after {
	position: absolute;
	display: block;
	content: "";
	width: 1000px;
	height: calc(100% + 8px);
	top: -4px;
	right: -1000px;
	bottom: -4px;
	border-top: solid 4px #FFF;
	border-bottom: solid 4px #FFF;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.checklist {
	list-style-type: none;
	padding: 0;
}
.checklist li {
	position: relative;
	padding: 4px 8px 4px 48px;
	margin: 8px 0 8px 36px;
	font-size: 24px;
}
.checklist li:before {
	position: absolute;
	display: block;
	top: 4px;
	left: 0;
	content: "";
	width: 30px;
	height: 30px;
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAy+AAAMvgF+WXSHAAACz0lEQVRIiWL8//8/AxFAgYGBIQCKDRgYGPjR9HxkYGC4wMDAsAGKH+A1k4GBAQAAAP//YgBZjAcb/P///8B/0sEGqF7sZv//zwAAAAD//8Ln4wkMDAz5OHx2AE0cFAoOWEJiIgMDQwGGyQwMDAAAAAD//8LmGoH///9fQPMkyNcBBEIHhEFq0EMIZBbITIS6//8ZAAAAAP//ImTph////zsQYSE6BukB6cVu+f//DAAAAAD//0LXgGwpVpeSgNE9AWJD9P//zwAAAAD//0I2aAIVLcUVgiA7GP7//88AAAAA//+CKQClQOTgpYalyJYjB7vB////GQAAAAD//4JJgpI/DJATp8TEOQxs+P//PwMAAAD//wIJKqClXmpbCsOI1P7/vwIAAAD//2KClkbIeZdSAMrTHxgYGBKwlAsQwMAQAAAAAP//QnYJKB4o9RUo/pDjEz3aIHL//x8AAAAA//9C5oDDnoqWLsAZ3P//fwAAAAD//wIFNayYAxWF5AJQ8IKKUZhZC7EENQhAiloGBn4AAAAA//8CWUyNOCXGUgRgYGAAAAAA//8iZDHMUAFqWsrAwMAAAAAA///CZzHMUHsclpNtKQMDAwMAAAD//0JJaQSKO+RilJiEhDsv////AQAAAP//IpSdsFmOXvMQaynCk///HwAAAAD//wJxCpAMwVbnYqufybEUZDYE/P9fAAAAAP//IrbIxGY5KZaiFpn//ysAAAAA///CJoirkkC2nFRLkX274f///wwAAAAA//9CLnVgAF+1CBJvINFSzGrx/38GAAAAAP//QlZAv4bA//8MAAAAAP//QldIn6bP//8MAAAAAP//IqSYNo29//8ZAAAAAP//IjYFU7d5+/8/AwAAAP//olaDHtSYx9a1wd6gZ2BgAAAAAP//IuQDUApEbo8RC/B3Yf7/ZwAAAAD//xqYThsDAwMAAAD//wMAmVBJ4T8ffu4AAAAASUVORK5CYII=);
	background-repeat: no-repeat;
}
.testimonial {
	position: relative;
	width: 100%;
	max-width: 760px;
	margin: auto;
	padding: 0 88px;
	text-align: center;
}
.testimonial-block .testimonial {
	border-bottom: solid 4px var(--main-color);
	margin-bottom: 64px;
}
.testimonial span {
	display: block;
	font-style: italic;
	text-align: center;
	padding: 24px;
}
.testimonial::before, .testimonial::after {
	position: absolute;
	display: block;
	content: '"';
	width: 60px;
	height: 60px;
	color: var(--main-color);
	font-size: 200px;
	top: 20%;
	left: 0;
	font-style: italic;
	font-weight: 600;
	text-indent: -28px;
	line-height: 162px;
}
.testimonial:after {
	left: auto;
	right: 0;
	-moz-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}
.top-border {
	border-top: solid 8px;
}
.offer-block[data-offer=""] .offer, .no-offer {
	display: none;
}
.offer-block[data-offer=""] .no-offer {
	display: block;
}
.bio-image {
	padding-top: 20px;
	text-align: center;
}
.bio-image img {
	display: inline-block;
	width: 100%;
	max-width: 300px;
}
.contact-form input, .contact-form textarea {
	display: block;
	width: 100%;
	padding: 8px;
	font-size: 20px;
	border: solid 2px #6D6D6D;
}
/* .contact-form textarea {
	min-height: 200px;
} */
.contact-form .flex {
	margin-bottom: 12px;
}
.contact-form .flex-half {
	width: 49%;
	margin-right: 2%;
}
.contact-form .flex-half {
	margin-right: 0;
}
textarea, input {
	width: 100%;
	padding: 8px;
	border: none;
}
.isRequired, .isRequired:active, .isRequired:focus {
	border: solid 3px rgba(255, 255, 255, 0);
	background-color: #FFF;
}
#results {
	text-align: center;
	width: 100%;
	height: 80px;
	font-weight: bold;
	overflow: auto;
}
.hide-overflow {
	overflow: hidden;
}
.footer-logos, .unlist {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.gallery-block[data-content="YES"] {
	display: block;
}
.gallery-content a, .gallery-content a:visited {
	display: block;
	width: 50%;
	padding: 12px;
}
.gallery-content img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	object-position: center;
}
.social-icons {
	justify-content: center;
}
.socail-icons a, .socail-icons a:visited, .toplink a, .toplink a:visited {
	-moz-transition: all 0.2s;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}
.social-icons a, .social-icons a:visited {
	display: block;
	width: 30px;
	height: 30px;
	margin: 8px 4px;
	overflow: hidden;
	text-indent: -9999px;
	background-image: url(../elements/images/social-icons.png);
	background-repeat: no-repeat;
	border-radius: 50%;
}
.linkedin {
	background-position: 0 -30px;
}
.youtube {
	background-position: 0 -60px;
}
.yelp {
	background-position: 0 -90px;
}
.instagram {
	background-position: 0 -120px;
}
.facebook {
	background-position: 0 -150px;
}
.social-icons a:hover {
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
	-moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
	-webkit-transform: scale(108%);
	-moz-transform: scale(108%);
	transform: scale(108%);
}
.social-icons a:active {
	-webkit-box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
	-moz-box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
	box-shadow: inset 0px 0px 10px 0px rgba(0, 0, 0, 0.75);
	-webkit-transform: scale(96%);
	-moz-transform: scale(96%);
	transform: scale(96%);
}
.social-icons a[href=""], .social-icons a[href="#"], .gallery-block[data-content=""], .gallery-block[data-content="NO"] {
	display: none;
}
.blog-first-image img {
	width: 100%;
}
.blogArticle h2 a, .blogArticle h2 a:visited {
	color: var(--main-color);
}
.blog-roll ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.blog-roll .button, .blog-roll .button:visited {
 font-size: 20px;
}
.full-width {
	width: 100%;
	max-width: 100%;
}
.flex-center .button {
	margin: 12px;
}
.footer {
	-moz-box-shadow: 0px 500px 0px 500px var(--dark-color);
	-webkit-box-shadow: 0px 500px 0px 500px var(--dark-color);
	box-shadow: 0px 500px 0px 500px var(--dark-color);
}
.footer a, .footer a:visited {
	color: #FFF;
	text-decoration: underline;
}
.footer .container {
	padding: 24px 8px;
	border-top: solid 4px var(--secondary-color);
}