html {
	scroll-behavior: smooth;
}

header {
	margin-top: 1em;
}

header > h1 {
	margin: auto;
	font-size: 2em;
}

h3 {
	font-size: 1em;
}

header, footer {
	text-align: center;
}

#copyright {
	display: block;
}

#servicesList {
	width: 80%;
	margin: auto;
	scroll-snap-align: start none;
}
#servicesList h2 {
	font-size: min(14vmin, 1.4em);
	margin-bottom: 0.5em;
}

#compete {
	font-size: 1.8em;
	font-style: italic;
	letter-spacing: -0.02em;
  font-weight: 900;
  line-height: 1.4em;
	background: #E82127;
	padding: 0 0.24em 0 0;
	color: white;
}

#mid {
	letter-spacing: 0.12em;
}

section {
	display: flex;
	flex-direction: column;
	margin-top: 40%;
	padding-top: 20px;
	scroll-margin: 20px;
	scroll-snap-type: y mandatory;
}

section header {
	flex: 0 0 40%;
	margin-top: 0;
	margin-right: 1em;
	text-align: left;
	font-size: 2em;
}

article ul, header h2 {
	margin-top: 0;
}

article ul {
	padding-left: 1.4em;
	list-style-type: "☞  ";
}

details:open {
	padding: 0.5em;
	background: lightcyan;
}

#sectionSplit {
	margin: 1.8em 0;
}

#servicesList section:first-child {
	margin-top: 50vh;
}

#servicesOverview {
	display: block;
	margin-top: 0em;
	padding-top: 0;
}

	#servicesOverview article {
		display: flex;
		flex-direction: column;
	}

	#servicesOverview a {
		text-decoration: none;
		flex: 0 0 16.67%;
	}
	#servicesOverview article h2 {
		margin: auto;
		font-size: 1.3em;
		text-decoration: underline;
	}
	#servicesOverview p {
		margin-top: 0em;
		color: black;
		font-size: smaller;
	}
	#servicesOverview article br {
		display: none;
	}

	#motto {
		margin: 0.595rem auto;
	}
	#motto .small {
		font-size: x-small;
	}

#footerSplit {
	margin: 38% 0 2em 0;
}

#expectation {
	display: block;
	padding-top: 0;
}

footer section {
	margin-top: auto;
	padding-top: 0;
}

footer h2 {
	margin-bottom: 0;
}

footer section ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-around;
	list-style-type: none;
	list-style-position: inside;
	padding-left: 0;
	margin: 0 auto;
	width: 80%;
	font-size: 1em;
}

footer section li {
	flex: 1 1 12.5em;
	padding: 0 1em;
}
footer section li h3 {
	font-weight: bold;
	text-align: center;
}
footer section li p {
	text-align: justify;
	hyphens: auto;
}

#researchIdeas h2 {
	line-height: 1.55em;
}

#researchIdeas header span {
	font-size: 1.9em;
}

#idea {
	padding-right: 0.1em;
}

#poc header {
	line-height: 1.1;
}

#poc header span {
	font-style: italic;
	text-shadow: -10px 0px 32px rgba(0, 0, 0, 0.25);
  color: dimgray;
}

#buildProducts h2 {
	line-height: 1em;
}
#buildProducts h2 p {
	margin: 0;
}

#buildProducts h2 #and {
	margin: -0.42em 0 -0.33em 1.03em;
  color: lightgray;
  font-size: 1.5em;
}

#addFeatures h2 {
	line-height: 1.1;
}

#addFeatures h2 p {
	margin: 0;
}
#addFeatures #capabilities {
	transform: skewX(40deg);
  margin-top: -0.3em;
  color: lightgray;
	text-shadow: 1px 3px 2px;
}

#de-slop {
	font-weight: 200;
}

#ai {
	text-shadow: -4px -2px 2px cyan, 4px -2px 2px red;
}

@media screen and (min-width: 992px) {
	section {
		margin-top: 30%;
		flex-direction: row;
	}

	#servicesList section:first-child {
		margin-top: 65vh;
	}
	#servicesList h2 {
		font-size: revert;
	}

	section article {
		font-size: large;
	}

	#servicesOverview article {
		flex-direction: row;
		justify-content: space-around;
		text-align: center;
	}

	#servicesOverview article a {
		flex: 0 0 16.67%;
		border-right: 1px solid black;
	}
		#servicesOverview article a:hover {
			border-bottom: 1px solid black;
			transform: translate(-2px, -2px);
		}
		#servicesOverview article a:nth-of-type(3n+1):hover {
			box-shadow: 8px 10px #4de2ff;
		}
		#servicesOverview article a:nth-of-type(3n+2):hover {
			box-shadow: 8px 10px #4c2b8e;
		}
		#servicesOverview article a:nth-of-type(3n+3):hover {
			box-shadow: 8px 10px #ff4000;
		}
	
	#servicesOverview article a:last-child {
		border-right: none;
	}
		#servicesOverview article a:last-child:hover {
			border-right: 1px solid black;
		}

	#servicesOverview article p {
		padding: 0 0.4em;
		margin-top: revert;
		font-size: unset;
		color: unset;
	}
	
	#servicesOverview a div {
		border: 1px solid navy;
		border-radius: 4px;
		width: 90%;
		min-height: 4.7em;
		margin: auto;
		background: navy;
		display: flex; /*center text vertically*/
	}
	
	#servicesOverview a h2 {
		margin: auto;
		padding: 0.1em;
		font-size: 1.2em;
		color: whitesmoke;
		text-decoration: none;
	}

	#servicesOverview article br {
		display: initial;
	}

	#footerSplit {
		margin: 25.562% 0 2em 0;
	}

	footer section ul {
		flex-direction: row;
		max-width: 52em;
	}
	footer section li {
	}
	footer section li h3 {
		text-align: center;
	}
	footer section li p {
		text-align: justify;
	}
}

@media screen and (min-width: 1250px) {
	#servicesOverview a h2 {
		font-size: 1.6em;
	}
}
