/* Reset to border box */
html {
   box-sizing: border-box;
}

*, *:before, *:after {
   box-sizing: inherit;
}


body {
	background-color: rgb(255, 255, 255);
	font: 1.2em/1.3 Helvetica, Arial, Verdana, sans-serif;
	margin: 1em 3%;	
	
	/* center the page */
    display: flex;	
    justify-content: center;
}

/* set a max width */
.container {
	max-width: 1400px;
}


h1 {
	font-size: 2em;
	line-height: 1;
}
p {
	margin-bottom: .6em;
}

figure {
	margin: 0;
	padding: 0;
}

img {
	max-width: 100%;
}


.thumbnail-grid ul {
        border-top: 1px solid rgba(43,51,111,.5);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
	
.thumbnail-grid li {
	width: 22%;
}


.thumbnail-grid .description {
	font-size: .75em;
	position: relative;
	padding-right: 25%;
}

.thumbnail-grid .inst {
    position: absolute;
    right: 0;
    top: 0;
	text-align: right;
	width: 25%;
}


.thumbnail-grid .thumbnail {
	position: relative;	/* Place the image container */
}

.thumbnail-grid img {
    display: block;  /* Remove space below image */
    margin-bottom: .3em;
}

.overlay {
	/* Overlay text + background */
	background-color: rgba(43,51,111, .4);
	width: 100%;
	height: 100%;
	position: absolute;
	opacity: 0;
	
	color: white;
	font-weight: bold;
	font-size: 200%;
	padding-top: 40%;
	text-align: center;
}

.overlay:hover {
    opacity: 1;
}
.thumbnail-grid .overlay {
    transition: 1s all;
}
	
/* Style header and footer */
header {
	padding: 2em 0;
}

footer {
	border-top: 1px solid rgba(43,51,111,.5);
	padding: 1em 0;
}


/* Utility classes */
.alignright {
	float: right;
	margin-left: 1.5em;
}
.alignleft {
	float: left;
	margin-right: 1.5em;
}


/* Content Links */
a:link, a:visited {
	color: black;
	text-decoration: none;
}

a:hover, a:active {
	color: gray;
	text-decoration: underline;
}

