/******************************************************************************
 /$$$$$$$  /$$$$$$$   /$$$$$$     /$$$$$ /$$$$$$$$  /$$$$$$  /$$$$$$$$ /$$$$$$
| $$__  $$| $$__  $$ /$$__  $$   |__  $$| $$_____/ /$$__  $$|__  $$__//$$__  $$
| $$  \ $$| $$  \ $$| $$  \ $$      | $$| $$      | $$  \__/   | $$  | $$  \__/
| $$$$$$$/| $$$$$$$/| $$  | $$      | $$| $$$$$   | $$         | $$  |  $$$$$$
| $$____/ | $$__  $$| $$  | $$ /$$  | $$| $$__/   | $$         | $$   \____  $$
| $$      | $$  \ $$| $$  | $$| $$  | $$| $$      | $$    $$   | $$   /$$  \ $$
| $$      | $$  | $$|  $$$$$$/|  $$$$$$/| $$$$$$$$|  $$$$$$/   | $$  |  $$$$$$/
|__/      |__/  |__/ \______/  \______/ |________/ \______/    |__/   \______/
*****************************************************************************/
ul.project-category-selection
{
	display: flex;
	flex-flow: row wrap;
	padding: 0;
	margin: 0 auto 100px auto;
}

@media screen and (max-width:768px)
{
	ul.project-category-selection
	{
		flex-flow: column nowrap;
		justify-content: flex-start;
		text-align: center;
		margin: 0 auto 60px auto;
	}
}

ul.project-category-selection li
{
	list-style: none;
	margin: 0 30px 30px 0;
	padding: 0;
}

@media screen and (max-width:768px)
{
	ul.project-category-selection li
	{
		margin: 20px auto;
	}
}

ul.project-category-selection li::before
{
	display: none;
}

ul.project-category-selection li:last-of-type
{
	margin-right: 0;
}

@media screen and (max-width:768px)
{
	ul.project-category-selection li:last-of-type
	{
		margin-right: auto;
	}
}


ul.project-category-selection li a
{
	position: relative;
    font-family: 'SourceSans3_semibold', sans-serif;
	text-transform: uppercase;
	font-size: 12pt;
	font-weight: normal;
	color: #37383a;
	padding: 10px 15px;
	text-decoration: none;
	transition: color 200ms;
}

ul.project-category-selection li a.selected
{
	color: #88211b;
}

ul.project-category-selection li a::after
{
	content: "";
    position: absolute;
    top: -4px;
    left: -9px;
    display: block;
    width: calc(100% + 15px);
    height: calc(100% + 10px);
    border: 1px solid #88211b;
	opacity: 0;
	transition: opacity 200ms;
}

ul.project-category-selection li a.selected::after,
ul.project-category-selection li a:hover::after
{
	opacity: 1;
}

#project_listing_container
{
	position: relative;
	z-index: 1;
	margin: 75px auto 90px auto;
	width: 100%;
	max-width: 2000px;
}

#project_output_container
{
	max-width: 1530px;
}

#project_output_container .loading-container
{
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	height: 100px;
}

.project-link:link,
.project-link:active,
.project-link:visited
{
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	margin-bottom: 30px;
	padding-top: 90%;
	background-color: #666569;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	text-decoration: none;
}

.project-link::before
{
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, transparent, rgba(0,0,0,0.5));
	opacity: 0;
	transition: opacity 400ms;
}

.project-link:hover::before
{
	opacity: 1;
}

@media screen and (max-width:480px)
{
	.project-link::before
	{
		opacity: 1;
	}
}

.project-link p
{
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: left;
    font-family: 'SourceSans3_semibold', sans-serif;
	font-size: 17pt;
	color: #ffffff;
	text-decoration: none;
	opacity: 0;
	padding: 0 10px;
	transition: opacity 400ms;
}

.project-link:hover p
{
	opacity: 1;
}

@media screen and (max-width:480px)
{
	.project-link span
	{
		opacity: 1;
	}
}

.project-link .title
{
	font-family: 'prima_sans_bt_bold';
	font-size: 24px;
	color: #ffffff;
	padding-left: 10px;
	opacity: 0;
	position: relative;
	z-index: 3;
	text-shadow: 0 0 5px rgba(0, 0, 0, 1);
	display: block;
}

.project-link:hover .title
{
	opacity: 1;
}

.project-link .link
{
    font-family: 'SourceSans3_semibold', sans-serif;
	font-size: 16px;
	color: #ffffff;
	padding-left: 10px;
	opacity: 0;
	display: block;
	position: relative;
	z-index: 3;
	text-shadow: 0 0 5px rgba(0, 0, 0, 1);
}

.project-link .link::after
{
	content: '\f061';
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-family: font_awesome;
	font-size: 16px;
	background-color: transparent;
	width: 33px;
	height: 40px;
	color: #ffffff;
	transition: all 0.2s;
}

.project-link:hover .link
{
	opacity: 1;
}