ul.project-keyword-selection
{
	display: flex;
	flex-flow: row wrap;
	padding: 4px;
	margin: 0 auto 80px auto;
	overflow-x: auto;
}

@media screen and (max-width:480px)
{
	ul.project-keyword-selection
	{
		justify-content: center;
	}
}

ul.project-keyword-selection li
{
	list-style: none;
	margin: 0 0 20px 0;
	padding: 0;
	width: 120px;
}

ul.project-keyword-selection li::before
{
	display: none;
}

ul.project-keyword-selection li:last-of-type
{
	margin-right: 0;
}

ul.project-keyword-selection li a
{
	position: relative;
	text-decoration: none;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
}

ul.project-keyword-selection li a div
{
	text-align: center;
	font-weight: bold;
	margin-top: 5px;
}

ul.project-keyword-selection li a:hover div
{
	color: #E56913;
}

ul.project-keyword-selection li a .image-container
{
	position: relative;
	z-index: 1;
	border-radius: 50%;
	height: 63px;
	width: 63px;
	transition: transform 200ms;
	overflow: hidden;
}

ul.project-keyword-selection li a:hover .image-container
{
	transform: translateY(-5px);
}

ul.project-keyword-selection li a .image-container::before
{
	content: "";
	position: absolute;
	z-index: 1;
	top: -4px;
	left: -4px;
	height: 70px;
	width: 70px;
	background-color: #E56913;
	border-radius: 50%;
	opacity: 0;
	transition: opacity 400ms;
}

ul.project-keyword-selection li a .image-container img
{
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

ul.project-keyword-selection li a:hover::before,
ul.project-keyword-selection li a.selected::before
{
	opacity: 1;
}

#project_listing_container
{
	position: relative;
	z-index: 1;
	margin: 0 auto 75px auto;
	width: 100%;
	max-width: 2000px;
}

#project_output_container
{
	max-width: 1530px;
	transition: opacity 400ms;
}

#project_output_container.loading
{
	opacity: 0;
}

#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: 115%;
	background-color: #666569;
	background-size: cover;
	background-position: center center;
	text-decoration: none;
	overflow: hidden;
}

.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 > div
{
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-decoration: none;
	opacity: 0;
	padding: 0 10px;
	transition: opacity 400ms;
}

.project-link:hover > div
{
	opacity: 1;
}

.project-link span.link
{
	color: #ffffff;
}

@media screen and (max-width:480px)
{
	.project-link > div
	{
		opacity: 1;
	}
}

.project-link > div .logo
{
	display: block;
    position: absolute;
    bottom: 7%;
    left: 7%;
    width: 200px;
    max-height: 75px;
    object-fit: contain;
    object-position: left;
}

.project-link > div .keywords
{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: absolute;
	bottom: 17%;
	left: 7%;
	width: 100%;
	height: 25px;
}

@media screen and (max-width:480px)
{
	.project-link > div .keywords
	{
		bottom: 25%;
	}
}

.project-link > div .keywords > div
{
	width: 25px;
	height: 25px;
	margin-right: 10px;
	border-radius: 50%;
	overflow: hidden;
}

.project-link > div .keywords > div > img
{
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}