body {
	font-size: 17px;
	background: #111;
	font-family: sans, sans-serif;
	color: #fff;
	margin: 2rem;
}

h1 {
	text-align: center;
	margin: 0;
}

#icon-gallery {
	margin: auto;
	padding: 0.5rem;
	width: calc(30px * 30);
	max-width: 90%;
	transition: background-color 30ms, color .3s;
	background: #111729;
	background-image: linear-gradient(to bottom right, rgba(255, 255, 255, .4), rgba(0, 0, 0, .4));
	background-blend-mode: overlay;	
}

.icon-grid {
    height: 90%;
    width: 100%;
    text-align: center;
    justify-content: space-between;
}

.inactive i {
	pointer-events: none;
	opacity: 0.25;
}

.icon-grid .locked i {
	border-radius: 8px;
	background-color: #13d7f9;
	padding: 0.1em;
	margin: -0.6em;
}

.icon-grid .typcn {
	font-size: 24px;
}
.icon-grid .fas {
	font-size: 20px;
}

.icon {
    width: 30px;
    height: 30px;
    display: inline-block;
    position: relative;
    transform: translate3d(0, 0, 0);
    text-align: center;
}
.icon i {
	transition: all .3s, background-color .8s;
	/*fill: #fff;*/
	/*pointer-events: none;*/
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1em;
	height: 1em;
	margin: -.5em;
	line-height: 1;
	display: block;
	/*transform: translate3d(-.1px, .5px, 0)		*/

}

.icon i:before {
	vertical-align: bottom;
}

.icon:not(.inactive):hover i {
	position: absolute;
	font-size: 4em;
	padding: .1em;
	margin: -.6em;
	opacity: 1;
	/*transform: scale(1) translate3d(0, 0, 0);	*/
	pointer-events: none;
	border-radius: 8px;
	background-color: #1347f9	
}

.icon:not(.inactive):hover {
	z-index: 10
}
#icon-search-bar {
	height: 30px;
	margin-top: 1rem;
	border: 1px solid;
	color: #fff
}

#icon-search-bar input {
	font: inherit;
	border: none;
	width: 100px;
	height: 31px;
	background: #fff;
	padding: 0 .5em;
	margin: 0;
	-webkit-appearance: none;
	float: left;
	outline: 0;
}

#icon-search-bar label {
	display: block;
	height: 32px;
	line-height: 30px;
	padding: 0 .5em;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden	
}

#icon-search-bar label i {
	border-right: 1px solid #ffffff;
}

#icon-search-bar label .typcn {
	font-size: 24px;
	padding: 1px 6px 1px 0;
}
#icon-search-bar label .fas {
	font-size: 22px;
	padding: 4px 6px 4px 0;
}

/*#icon-search-bar label span {*/
/*	margin: 0 .33em*/
/*}*/

#icon-search-bar label small {
	float: right;
}