@font-face {
	font-family: "Rapid";
	src: local("Rapid-ST"), url("../fonts/RapidST_MediumExtended.woff") format("woff");
}

::-webkit-scrollbar {
	display: none;
}

html, body {
	background-color: #141941;
	color: #FFFFFF;
	font-size: 1.25vw;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

p, h1, h2 {
	font-family: "Rapid";
	font-size: 1rem;
	line-height: 1.15;
	text-transform: uppercase;
}

p {
	padding-bottom: 1rem;
}

p:last-of-type {
	padding-bottom: 0rem;
}

h1 {
	font-size: 5rem;
	line-height: 1.075;
	text-transform: none;
}

.client-list li:hover {
	color: #141941;
	-webkit-text-stroke: .1vw white;
	cursor: default;
}

a:hover, button:hover {
	cursor: pointer;
}

.sticky {
	position: sticky;
	top: 0;
}

.centered-text {
	text-align: center;
}

.wrapper {	
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	padding: 2.5rem;
}

#space {
	height: 15.85rem;
}

main {
	grid-column: 1 / span 6;
	overflow-x: visible;
}

main h1 {
	width: calc(100vw - 5rem);
}

aside {
	grid-column: 9 / span 4;
}

#tagline, #button-container, #categories {
	width: 100%;
	padding-left: .25rem;
}

#button-container {
	margin-top: 2rem;
	top: 2.5rem;
}

.button {
	display: block;
	padding: 1.25em 1.5rem;
	border: .15vw solid white;
	background-color: #141941;
}

#categories {
	top: 9rem;
	padding: .125rem .25rem;
}

#clients {
	margin-top: 4rem;
}

.client-list {
	margin-top: 1rem;
}

.service {
	display: block;
	background-color: #141941;
}

.button-mobile, #tagline-mobile { display: none; }
.show {	display: block; }
.hide {	display: none; }

@media screen and (max-width: 860px) {

	.wrapper {
		padding: 4.5rem;
	}

	main { 
		grid-column: 1 / span 12;
	}

	#logo {
		max-width: 66.666%;
	}

	aside, .subheader {
		display: none;
	}

	p, h1, h2 {
		font-size: 2.5rem;
		line-height: 1.25;
	}

	h1 {
		font-size: 5.25rem;
		line-height: 1.125;
		text-transform: none;
	}

	.client-list li:hover {
		color: #FFFFFF;
		-webkit-text-stroke: 0;
		cursor: default;
	}

	#tagline-mobile, .button-mobile {
		display: block;
	}

	#tagline-mobile {
		margin-top: 6rem;
	}

	#button-container-mobile {
		top: 4.5rem;
	}

	.button-mobile {
		padding: 4.5rem;
		margin-top: 5rem;
		border: .375vw solid white;
		background-color: #141941;
	}

	#clients {
		margin-top: 5rem;
	}

}