ul.insts li a {
	/* ensure long institution names don't wrap */
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow-x: hidden;
	overflow-y: hidden;
	width: 100%;
}

.cat-institution-select {
	/* Add spacing between search bar and institutions on desktop */
	margin: 3em 0 0 0;
	/* On mobile, center institution names */
	text-align: center;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	/* No margin over headers, we use hr anyway */
	margin-top: 0 !important;
}
nav {
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
	border-radius: 0 !important;
}

ul.insts {
	/* Vertical spacing between institutions on desktop */
	line-height: 4em;
}
ul.insts small {
	opacity: .75;
}

ul.insts, ul.cat-inst-action, ul.cat-alt-download, ul.cat-profiles {
	/* Remove padding in inline lists */
	padding: 0;
	list-style: none;
}
ul.insts li, ul.cat-inst-action li, ul.cat-alt-download li, ul.cat-profiles li {
	/* Show inline lists as inline */
	display: inline-block;
}
ul.insts.filtered li {
	/* One inst per line, separate with hairlines */
	width: 100%;
	border-top: 1px solid #eee;
	padding: 1em;
}
ul.insts.filtered a {
	font-size: 1.5em;
}
ul.insts.filtered {
	/* Less vertical spacing between insts */
	line-height: 2em;
	/* One inst per line, separate with hairlines */
	border-bottom: 1px solid #eee;
}
ul.insts.match li a {
	/* When a match is found, make it bigger and green */
	font-size: 2em;
	color: #0a6;
}
ul.insts.match li a:after {
	/* When a match is found, show a <return> key icon */
	content: "↵";
	border: .1rem solid gray;
	background: #eee;
	color: black;
	border-radius: .5rem;
	padding: 0 .25em;
	margin-left: 1em;
}
@media screen and (max-width: 767px) {
	/* Changes for mobile version */
	ul.insts li {
		/* One inst per line, separate with hairlines */
		width: 100%;
		border-top: 1px solid #eee;
	}
	ul.insts {
		/* Less vertical spacing between insts */
		line-height: 2em;
		/* One inst per line, separate with hairlines */
		border-bottom: 1px solid #eee;
	}
	.cat-institution-select {
		/* Less spacing between search and insts */
		margin: 0;
	}
	a.cat-btn-download, img.cat-btn-android-download, a.cat-btn-redirect {
		/* Full-width button */
		width: 100%;
	}
	.alert {
		border-radius: 0 !important;
		border-left: 0 !important;
		border-right: 0 !important;
	}

	.navbar-collapse {
		/* the background was transparent */
		background: rgba(255,255,255,.95);
		border-bottom: .1em solid gray;
	}
	.navbar-collapse a:hover {
		color: white !important;
		background: #06a !important;
	}
}
@media screen and (min-width: 768px) {
	/* Make sure that the download button isn't too small on desktop */
	a.cat-btn-download, a.cat-btn-redirect {
		min-width: 30%;
	}
	img.cat-btn-android-download {
		width: 20em;
		max-width: 100%;
	}
}

ul.cat-alt-download li {
	/* Spacing between alt-links under download button */
	padding-right: 2em;
}

nav {
	/* navbar at top of screen,
	 * crazy that bootstrap doesn't take care of this */
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 50px;
}
.breadcrumb {
	/* place breadcrumbs under navbar */
	margin-top: 50px;
}
.breadcrumb li {
	/* cut off long strings in the breadcrumbs */
	max-width: 17em;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow-x: hidden;
	overflow-y: hidden;
}
#support {
	text-align: justify;
}
.cat-support-contact > span {
	/* Display all support channels on their own line */
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.cat-support-contact span.glyphicon {
	color: gray;
	margin-right: .25em;
}

.legal {
	/* Footer text, small and centered */
	text-align: center;
	font-size: 0.7em;
}

.cat-idp-logo {
	/* Make sure the idp logo isn't too large */
	max-width: 100%;
	max-height: 12em;
}
