* {
	margin: 0;
	padding: 0;
}

body {
	font-family: ui-sans-serif, system-ui, sans-serif;
	font-size: 16px;
	color: #333333;
	background-color: #FFFFFF;
}

.visually-hidden {
	position: absolute;
	left: -9999px;
}

h2 {
	font-size: 1.75rem;
	margin: 0.2rem 0 1rem 0;
}

p {
	margin-bottom: 1rem;
	line-height: 1.6rem;
}

a {
	outline: none;
	text-decoration: none;
	color: #2DAAE1;
}

a:hover {
	color: #2DAAE1;
}

address {
	font-style: normal;
}

header {
	display: flex;
	align-items: center;
	overflow: hidden;
	color: #3C3C3B;
	height: 6rem;
	padding: 0 2rem;
	border-bottom: 1px solid #e4e4e4;
}

header #logo-wrapper {
	flex-grow: 1;
}

header #gears-wrapper {
	flex-shrink: 0;
	overflow: hidden;
}

header .logo-text {
	font-weight: 600;
	font-size: 1.6rem;
}

header img {
	vertical-align: baseline;
	height: 3rem;
}

header a {
	color: #3C3C3B;
	outline: none;
}

header a:hover {
	color: #3C3C3B;
	text-decoration: none;
}

main section {
	color: #3C3C3B;
	padding: 2rem;
}

.divider {
	border-bottom: 1px solid #e4e4e4;
	display: block;
	margin: 0 2rem;
}

.topline {
	font-size: 0.85rem;
	font-weight: bold;
	margin-bottom: 0.2rem;
}

.section-marker {
	height: 5px;
	width: 58px;
	background: #2DAAE1;
	margin-bottom: 14px;
	margin-left: -10px;
}

#about-us h2 {
	color: #96C11F;
}

#what-we-do h2 {
	color: #D60B52;
}

#contact-us h2 {
	color: #2DAAE1;
}

#about-us .topline {
	color: #555555;
}

#what-we-do .topline {
	color: #555555;
}

#contact-us .topline {
	color: #dddddd;
}

#contact-us {
	background-color: #3C3C3B;
	color: #FFFFFF;
}

footer {
	font-size: 0.75rem;
	padding: 2rem;
	background-color: #FFFFFF;
	color: #333333;
}