* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-size: 1em;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
}

body {
	position: relative;
}

h1 {
	font-size: 1.75em;
	font-weight: 700;
}

p {
	font-size: 1.15em;
	margin: 0.25em 0 0.75em 0;
	line-height: 1.5em;
}

a {
	/*text-decoration: none;*/
	transition: opacity 0.2s;
}

a:hover {
	opacity: 0.5;
}

strong {
	font-weight: bold;
}

footer {
	float: left;
	width: 100%;
	padding: 0 1em 2em 1em;
}

footer p {
	font-size: 0.8em;
}

video {
	display: block;	
}

.container {
	width: 100%;
	max-width: 90em;
	margin: 0 auto;
}

#navigation {
	width: 100%;
	padding-bottom: 0.2em;
	float: left;
	text-align: center;
}

#title {
	float: left;
	font-size: 2.5em;
}

#social-media-icons {
	float: right;
	display: inline-block;
}

#social-media-icons img {
	float: left;
	width: 3em;
	padding-left: 0.5em;
	cursor: pointer;
}

#featured-image {
	width: 60%;
	padding-right: 1em;
	float: left;
	clear: left;
}

#about {
	width: 40%;
	padding-left: 1em;
	float: right;
	clear: right;
}

.section {
	width: 100%;
	float: left;
}

.section.main {
	margin-bottom: 2em;
}

.border {
	border: 1px solid #ccc;
	border-radius: 10px;
	padding: 0.5em;
	float: left;	
}

.section > .content {
	padding-bottom: 0;
}

.content  {
	padding: 1em;
}

.card {
	width: 20%;
	padding-bottom: 20%;
	position: relative;
	float: left;
	max-height: 0;
	cursor: pointer;
}

.card .content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.card .content .contain-image {
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding: 0.5em;
	border: 1px solid #ccc;
	border-radius: 10px;
}

.card .content .contain-image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.modal {
	position: fixed;
	top: 1em;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 65em;
	max-height: 100%;
	padding: 0 1em;
	z-index: 2;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s, top 0.2s;
}

.modal.centered {
	transform: translateX(-50%) translateY(-50%);
	top: 51%;
	max-width: initial;
	width: initial;
}

.modal.centered .content {
	padding: 2em 3em;
}

.modal.centered.active {
	top: 50%;
}

.modal.active {
	top: 0;
	opacity: 1;
	max-height: 100%;
	pointer-events: all;
	overflow: auto;
}

.modal .container {
	padding: 1em 0;
	position: relative;
}

.modal .close-button {
	position: absolute;
	top: 0.25em;
	right: -0.75em;
	width: 2em;
	cursor: pointer;
}

.modal .content {
	border-radius: 10px;
	box-shadow: -1px 1px 5px rgba(0,0,0,0.5);
}

.modal .content .modal-feature {
	margin-top: 0;
	margin-bottom: 0.5em;
}

.modal .content > * {
	width: 100%;
}

.modal .content > img {
	margin-top: 1em;
	border: 1px solid #ccc;
}

.action-button {
	font-weight: 700;
	font-size: 1.25em;
	padding: 0.5em;
	border: 1px solid #ccc;
	border-radius: 10px;
	width: 100%;
	margin-top: 0.5em;
	text-align: center;
	cursor: pointer;
}

#blackout {
	position: fixed;
	width: 0;
	height: 0;
	background-color: transparent;
	z-index: 1;
	transition: background-color 0.2s;
}

#blackout.active {
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.35);
	cursor: pointer;
}

body.no-scroll {
	overflow: hidden;
}

@media (max-width: 20em) { 
	.card {
		width: 100%;
		padding-bottom: 100%; 
	}

	#featured-image {
		width: 100%;
		padding: 0;
	}

	#about {
		width: 100%;
		padding: 1em 0;
	}

	#title {
		float: none;
		text-align: center;
	}

	#social-media-icons {
		float: none;
		text-align: center;
		margin-top: 0.5em;
	}
}

@media (min-width: 20.01em) and (max-width: 60em) { 
	.card {
		width: 50%;
		padding-bottom: 50%; 
	}

	#featured-image {
		width: 100%;
		padding: 0;
	}

	#about {
		width: 100%;
		padding: 1em 0;
	}
}

@media (min-width: 60.01em) and (max-width: 80em) { 
	.card {
		width: 25%;
		padding-bottom: 25%; 
	}
}