@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: "Montserrat", 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: #0f5b6f;
	display: block;
	font-family: josefin-slab, serif;
	font-style: normal;
	font-weight: 500;
	font-size: 1.1rem;
	letter-spacing: 2px;
	line-height: 1.2rem;
	padding: 12px 10px;
	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);
}