[hidden] { display: none; }

.visually-hidden {
	position: absolute;
	clip: rect(0, 0, 0, 0);
}

div.awesomplete {
	display: inline-block;
	position: relative;
}

div.awesomplete > input {
	display: block;
}

div.awesomplete > ul {
	position: absolute;
	left: 0;
	z-index: 1;
	min-width: 100%;
	box-sizing: border-box;
	list-style: none;
	padding: 0;
	margin: -1px 0 0;
	background: #fff;
	border-style: solid none;
	border-width: 1px;
	border-color: #000;
	font-size: .8rem;
	text-transform: uppercase;
	text-shadow: none;
}

@media screen and (min-width: 40em) {
	div.awesomplete > ul {
		border-style: solid;
	}
}

div.awesomplete > ul[hidden],
div.awesomplete > ul:empty {
	display: none;
}

@supports (transform: scale(0)) {
	div.awesomplete > ul {
		transition: .3s cubic-bezier(.4,.2,.5,1.4);
		transform-origin: 1.43em -.43em;
	}
	
	div.awesomplete > ul[hidden],
	div.awesomplete > ul:empty {
		opacity: 0;
		transform: scale(0);
		display: block;
		transition-timing-function: ease;
	}
}

	/* Pointer */
	div.awesomplete > ul:before {
		display: none;
		content: "";
		position: absolute;
		top: -.43em;
		left: 1em;
		width: 0; height: 0;
		padding: .4em;
		background: white;
		border: inherit;
		border-right: 0;
		border-bottom: 0;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	div.awesomplete > ul > li {
		position: relative;
		padding: .3rem .8rem;
		cursor: pointer;
	}

	div.awesomplete > ul > li:first-child {
		padding-top: .6rem;
	}

	div.awesomplete > ul > li:last-child {
		padding-bottom: .6rem;
	}
	
	div.awesomplete > ul > li:hover,
	div.awesomplete > ul > li[aria-selected="true"] {
		background: #e5e5e5;
	}
	
		div.awesomplete mark {
			background: #ff0;
		}
		
		div.awesomplete > ul > li:hover,
		div.awesomplete li[aria-selected="true"] mark {
			background: none;
		}