#queryModifier
{
	text-align: right;
	margin: 1em;
}

/* Show mobile first design for devices that don't support these features. */
@supports ( display: grid ) and ( grid-template: "a" / minmax( min-content, 1fr ) )
{
	@media ( min-width: 481px )
	{
		#queryModifier
		{
			display: grid;
			grid-gap: 5px;
			grid-template:
				"search sort order" 30px
				"refinements myhymnals prefix" 30px
				"refinements starredHymns other"
				"refinements noscriptsubmit other2"
				/ 3fr minmax( min-content, 1fr ) min-content;
			text-align: left;
		}
		#queryModifier.queryModifier-all
		{
			grid-template-areas:
				"search search search"
				"refinements myhymnals prefix"
				"refinements starredHymns other"
				"refinements noscriptsubmit other2";
		}
	}
}
@media( min-width: 481px )
{
	#queryModifier .refinements.refinements-dependent
	{
		display: block;
		height: auto;
	}
	.refinements.refinements-dependent div
	{
		display: inline-block;
		float: left;
	}
	.refinements.refinements div span
	{
		max-width: 150px;
	}
}

#queryModifier > *
{
	box-sizing: border-box;
	height: 30px;
}

#queryModifier input[name=qu],
#queryModifier .twitter-typeahead > input.tt-hint
{
	height: 30px;
	width: 100%;
	grid-area: search;
	box-sizing: border-box;
	padding: 3px;
	border: 1px solid #ccc;
	margin-bottom: 1px;
	text-align: start;
}
#queryModifier .twitter-typeahead input[name=qu]
{
	left: 0;
}
#queryModifier .twitter-typeahead
{
	grid-area: search;
	padding: 0;
}

#queryModifier input, #queryModifier select
{
	border: 1px solid #ccc;
	border-radius: 0;
}

#queryModifier select[name=prefix]
{
	grid-area: prefix;
}
#queryModifier select[name=order]
{
	grid-area: order;
}
#queryModifier select[name=sort]
{
	grid-area: sort;
}

#queryModifier label[name=myHymnals]
{
	grid-area: myhymnals;
}
#queryModifier label[name=starredHymns]
{
	grid-area: starredHymns;
}

#queryModifier label[name=myHymnals], #queryModifier label[name=starredHymns]
{
	display: block;
	white-space: nowrap;
}
#queryModifier label[name=myHymnals] input, #queryModifier label[name=starredHymns] input
{
	width: 24px;
	height: 24px;
	margin: 6px;
}
#queryModifier label[name=myHymnals] span, #queryModifier label[name=myHymnals] span a,
#queryModifier label[name=starredHymns] span, #queryModifier label[name=starredHymns] span a
{
	line-height: 36px;
	vertical-align: top;
}

#queryModifier noscript
{
	grid-area: noscriptsubmit;
	display: block;
}
#queryModifier noscript input
{
	height: inherit;
}

#queryModifier .refinements
{
	grid-area: refinements;
	width: 100%;
	display: table;
}
.refinements div
{
	display: table-row;
	background-color: #fff;
	margin-bottom: 1px transparent;
}

.refinements div > span, .refinements div > a
{
	display: table-cell;
	border: 1px solid #ccc;
	border-right: none;
	padding: 5px;
	text-decoration: none;
	color: black;
	height: 30px;
	box-sizing: border-box;
	text-align: right;
}
.refinements div > span + span
{
	max-width: 70px;
	border-left: none;
	text-align: left;
}

.refinements div > a.refinement-x
{
	width: 30px;
	text-align: center;
	border-right: 1px solid #ccc;
}

.refinements a:hover
{
	background-color: #ddd;
}

.refinements span
{
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Render refinements on old search pages as they were before */
.refinements:not(.refinements-dependent)
{
	width: 300px;
	display: table;
	margin: auto;
}
