@font-face {
	font-family: ClearSans;
	src: url(fonts/ClearSans-Regular.woff);
	font-style: normal;
	font-weight: normal;
	font-display: block;
}
@font-face {
	font-family: ClearSans;
	src: url(fonts/ClearSans-Italic.woff);
	font-style: italic;
	font-weight: normal;
	font-display: block;
}
@font-face {
	font-family: ClearSans;
	src: url(fonts/ClearSans-Medium.woff);
	font-style: normal;
	font-weight: bold;
	font-display: block;
}
@font-face {
	font-family: ClearSans;
	src: url(fonts/ClearSans-MediumItalic.woff);
	font-style: italic;
	font-weight: bold;
	font-display: block;
}

.move-set-item {
	display: block;
}

body {
	background-color: rgb(245,245,247);	
	font-family:  ClearSans, sans-serif;
	margin: 0;
	overflow-x: hidden;
	font-size: 16px;
	opacity: 0;
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%; /*iOS orientation changes won't change font size.*/
}

body:not(.user-is-tabbing) *:focus {
  outline: none;
}

hr {
	margin: 48px;
	border-width: 0px;
}

p {
	margin: 16px auto 16px auto;
}

a {
	color: rgb(0, 120, 167);
}

small {
	opacity: 0.75;
}

.card p small {
	font-size: 75%;
	line-height: 1.3;
	display: block;
}

nav {
	margin: 0;
	height: 49px;
	box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.25);
}

nav, footer {
	background-color: rgb(45, 45, 45);
	color: white;
	padding: 0 32px 0 32px;
	overflow: auto;
	font-size: 12px;
}

nav a, footer a {
	text-decoration: none;
	color: white;
}

nav a:hover, footer a:hover {
	text-decoration: underline;
}

.page-container {
	margin: 0 auto 0 auto;
	max-width: 1100px;
}

header {
	margin: 32px 0 0 0;
}

header, h1, h2, h3 {
	text-align: center;
}

h1 a, h2 a, h3 a, h4 a{
	color: black;
	text-decoration: none;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover {
	text-decoration: underline;
}

.card h4 {
	font-weight: normal;
	text-align: center;
	margin-top: -12px;
	font-size: 75%;
}

.intro-box {
	max-width: 855px;
	font-size: 18px;
	margin: 64px auto 64px auto;
	display: flex;
	align-content:stretch;
	background-color: rgba(255,255,255,1);
}

@media only screen and (max-width: 899px) {
	.intro-box {
		border-radius: 0px;
	}
	.intro-box img {
		border-radius: 0px;
	}
	.column h2 {
		margin-top: 64px;
	}
}
@media only screen and (min-width: 900px) {
	.intro-box {
		border-radius: 30px;
	}
	.intro-box img {
		border-radius: 20px;
	}
}

.intro-box .image-container {
	width: 100%;
	align-self: flex-start;
}

.intro-box > *:only-child {
	margin: auto;
}

.intro-box > *:first-child:not(:only-child) {
	float: left;
	flex: 2;
	margin: 16px;
	padding: 0;
}

.intro-box > *:not(:first-child) {	
	flex: 5;
	padding: 0 12px 0 4px;
}

.intro-box img {
	width: 100%;
	display: block;
}

.columns {
	margin: 32px auto 32px auto;
	padding: 0 16px 0 16px;
}

.columns .columns {
	padding: 0;
}

.column {
	flex: 1;
	margin: 0 16px 0 16px;
}

.columns.equal-height > .column {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
}

.columns.equal-height > .column > * {
	flex: 1;
}

@media only screen and (max-width: 649px) {
	.desktop-only {
		display: none;
	}
}
@media only screen and (min-width: 650px) {
	.columns {
		display: flex;
		justify-content: space-evenly;
	}
	.column > * {
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
	}
}

.card {
	display: block;
	text-decoration: none;
	color: black;
	background-color: #fff;
	padding:  16px;
	margin: 16px 0 16px 0;
	will-change: transform, box-shadow;
	transition: transform 0.25s, box-shadow 0.25s;
	position: relative;
	z-index: 1;
}
.card:not(a) {
	box-shadow: 0 2px 10px 0 rgba(0,0,0,0.25);
}
a.card {
	box-shadow: 0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19);
}

.card h3:first-child:not(:only-child) {
	margin-top: 4px;
}

.card.narrow {
	max-width: 300px;
	margin: auto;
}

.button {
	margin: 8px auto 8px auto;
	display: block;
	width: fit-content;
	max-width: 96px; /*For browsers that don't support fit-content*/
	text-align: center;
	padding: 0 12px 0 12px;
	font-size: 12px;
	border-radius: 10px;
	border: 1px solid #9a9a9a;
	text-decoration: none;
	color: black;
	font-weight: bold;
	text-shadow: 0 1px 0 rgba(255,255,255,0.1);
	background: linear-gradient(to top, #ebebeb 0%, #ececec 50%, #f3f3f3 50%, #ffffff 100%);
	box-shadow:inset 0 1px 0 rgba(255,255,255,1), 0 1px 0 rgba(0,0,0,0.09);
	
	position: absolute;
	bottom: 24px;
	left: 0; right: 0; margin: auto;
}

/*Leave space for the button*/
.card > p:last-of-type:not(:last-child)::after {
	content: "";
	display: block;
	height: 28px;
}

a.card:not(.touchUp):not(.move-set-item):hover, a.card:active, a.card.touchDown {
	transform: scale(0.98);
	box-shadow: 0 2px 10px 0 rgba(0,0,0,0.25);
}
a.card:not(.touchUp):hover .button {
	animation: rotate-bf 2s infinite;
}
.card:link {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.card img {
	width: calc(100% + 32px);
	margin: -16px 0 0 -16px;
}

.card .icon {
	height: 24px;
	display: inline;
	vertical-align: middle;
}

.drop-cap {
  float: left;
  font-size: 55px;
	line-height: 0.55;
	margin-left: -3px;
	margin-right: 3px;
	color: rgb(0, 120, 167);
	position: relative;
	top: 7px;
}

footer {
	margin: 96px 0 0 0;
	box-shadow: 0px -1px 10px 0px rgba(0, 0, 0, 0.25);
}

.footer-content {
	margin: auto;
	max-width: 1036px;
}

@media only screen and (max-width: 799px) {
	.footer-content {
		padding: 48px 0 16px 0;
		
	}
	.footer-content > * {
		margin: 0 auto 48px auto;
		max-width: 400px;
		text-align: center;
	}
}
@media only screen and (min-width: 800px) {
	.footer-content {
		display: flex;
		justify-content: space-between;
		text-align: left;
		padding: 32px 0 24px 0;
	}
	
	.footer-content > * {
		max-width: 25%;
	}
}

.ligature > img {
	width: 120px;
	margin-top: -6px;
	margin-bottom: 3px;
}
.ligature > div {
	text-align: center;
}

.email img {
	width: 35px;
	height: 24px;
	margin-left: 1px;
	margin-top: 4px;
	margin-bottom: 12px;
}

.privacy-policy {
	hyphens: auto;
}

.back-to-homepage {
	will-change: transform;
}
.footer-content:hover .back-to-homepage:not(:hover) {
	animation: rotate-bf 2s infinite;
}