@import url('https://fonts.googleapis.com/css2?family=Special+Elite&display=swap');
@import url('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');

:root {
	--background-color: #CCC;
	--body-color: #000;
	--header-color: #FFF;
	--header-link-color: #FFF;
	--link-color: #f87060;
	--header-background-color: #102542;
}

* {
	margin: 0;
	padding: 0;
}

body {
	font-optical-sizing: auto;
	font-style: normal;
	font-family: "Special Elite", serif;
	font-weight: 300;
	font-size: 1.3em;

	background-color: var(--background-color);
	color: var(--body-color);
}

li {
	margin-top: 0em;
	margin-bottom: 0em;
}

textarea {
	width: 100%;
}

.wrapper {
	margin-top: 8em;
	margin: 0 auto;
}

.header {
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	background-color: var(--header-background-color);
	color: var(--header-color);
	text-align: center;
	padding-bottom: 1em;
	padding-top: 1em;
	top: 0;
	overflow: auto;
}

.navbar {
	display: inline-block;
}

.header a {
	color: var(--header-link-color) !important;
	margin-right: 1em;
}

.navlink:hover {
	font-weight: bold;
}

.section-header {
	font-weight: bold;
}

.section-subheader {
	margin: 0;
}

.highlighted {
	font-weight: bold;
}

.right-img {
	display: block;
	float: right;
	margin-left: 1em;
}


.index-body {
	text-align: justify;
}

.index-wrapper img {
	max-height: 10em;
}

.contact-wrapper {
	max-width: 30rem;
}

.wrapper a {
	color: var(--link-color);
	font-weight: bold;
}
.subindex img {
	max-height: 15em;
}

.subindex-title {
	font-weight: bold;
	text-align: left;
	margin-bottom: 0;
}

.subindex-subtitle {
	text-align: left;
}

.subindex-body {
	text-align: justify;
}

.app-wrapper {
	justify-content: center;
	align-items: center;
	margin-top: 3em;
	text-align: center;
}

.canvas-form-canvas {
	display: block;
	float: right;
	margin-left: 1em;
}

.monotext {
  font-family: "Source Code Pro", monospace;
  font-optical-sizing: auto;
  font-style: normal;
}

.mbta-wrapper h2 {
	font-weight: bold;
	margin-top: 3em;
}

@media (min-width: 1000px) {
	.header-title-contact {
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
	}

	.header-title {
		text-align: center;
		flex: 0 1 auto;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
	}

	.header-contact {
		font-size: 0.8em;
		flex: 0 1 auto;
		margin-left: auto;
		padding-right: 1em;
	}
	.wrapper {
		max-width: 45%;
	}
	.index-wrapper {
		max-width: 40% !important;
	}
}

@media (max-width: 1000px) {
	.header {
		height: 10em;
	}
	.header-contact {
		display: inline;
	}
	.header-contact br {
		display: none;
	}
	.header-link-text {
		display: none;
	}
	.wrapper {
		max-width: 95%;
	}
}