/*@import url(https://fonts.googleapis.com/css?family=Open+Sans);*/

/* SpringShare overrides */
.footer-half .footer-content a:visited {
	color: #fff;
}

/* bjd - v5 */
body {
	line-height: 1.42857143;
}

header, footer
{
	font-size: 16px;
	font-family: 'Roboto Slab',serif;
}

.zi-0 {
	z-index: 0!important
}

header h1, footer h1,
header h2, footer h2,
header h3, footer h3,
header h4, footer h4,
header h5, footer h5,
header h6, footer h6 {
	margin: 0;
	padding: 10px 0;
	color: #fff
}

header h1, footer h1 {
	font-size: 2.6em
}

header h2, footer h2 {
	font-size: 1.5em;
	margin-bottom: 10px
}

header h3, footer h3 {
	font-size: 1.8em
}

header h4, footer h4 {
	font-size: 1.6em
}

header h5, footer h5 {
	font-size: 1.14em
}

header h6, footer h6 {
	font-size: 14px
}

header a, footer a {
	text-decoration: none;
	color: #fff
}

header a:hover, footer a:hover,
header a:focus, footer a:focus {
	text-decoration: underline;
	color: #fff
}

header a:empty, footer a:empty {
	display: none!important
}

header img, footer img {
	width: 100%
}

.button--border {
	border: 1px solid #fff;
	background: 0 0;
}

footer .button {
	width: auto;
	padding: 15px;
	transition: 500ms;
	text-align: center;
	text-decoration: none;
	color: #fff;
}

.hamburger {
	padding: 15px 10px;
	display: flex;
	cursor: pointer;
	transition-property: opacity, filter;
	transition-duration: 0.15s;
	transition-timing-function: linear;
	font: inherit;
	color: inherit;
	text-transform: none;
	background-color: transparent;
	border: 0;
	margin: 0;
	overflow: visible;
	z-index: 1030;
}
.hamburger:hover {
	opacity: 1;
}
.hamburger.is-active:hover {
	opacity: 1;
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
	background-color: #0a4773;
}
.hamburger-box {
	width: 20px;
	height: 12px;
	display: inline-block;
	position: relative;
}
.hamburger-inner {
	top: 50%;
	margin-top: -1px;
}
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
	display: block;
	width: 23px;
	height: 2px;
	background-color: #0a4773;
	border-radius: 0;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.15s;
	transition-timing-function: ease;
}
.hamburger-inner::before,
.hamburger-inner::after {
	content: "";
}
.hamburger-inner::before {
	top: -5px;
}
.hamburger-inner::after {
 	bottom: -5px;
}
.hamburger--spring .hamburger-inner {
	top: 9px;
	transition: background-color 0s 0.13s linear;
}
.hamburger--spring .hamburger-inner::before {
	top: 6px;
	transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring .hamburger-inner::after {
	top: 12px;
	transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--spring.is-active .hamburger-inner {
	transition-delay: 0.22s;
	background-color: transparent !important;
}
.hamburger--spring.is-active .hamburger-inner::before {
	top: 0;
	transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
	transform: translate3d(0, 5px, 0) rotate(45deg);
}
.hamburger--spring.is-active .hamburger-inner::after {
	top: 0;
	transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
	transform: translate3d(0, 5px, 0) rotate(-45deg);
}
@media (min-width: 768px) {
    .hamburger {
        display: none;
    }
}

@media (max-width: 768px) {
    .navbar-header {
         width: 100%;
    }
}

.main-nav-flex .nav-link {
	text-decoration: none;
}

/* bjd - size width of nav properly, due to display: block changing to display: flex; in v5 */
.main-nav-flex {
	width: 100%;
}

.nav-link {
	background: 0 0;
	text-decoration: none;
}

.navbar-nav .nav-item .nav-link  {
	line-height: 20px;
}

body {
	padding-top: 54px
}

body.js-menu-open {
	position: fixed
}

@media (min-width:768px) {
	body {
		padding-top: 144px
	}
}

@media (min-width:992px) {
	body {
		padding-top: 122px
	}
}

@media (min-width:1440px) {
	body {
		padding-top: 100px
	}
}

.search-bar {
	position: relative;
	margin: 15px 0;
}

@media all and (min-width:768px) {
	.search-bar {
		width: 500px;
		margin: 0
	}
}

.search-bar #general-search {
	width: 100%
}

.search-bar input {
	font-weight: 400;
	width: 100%;
	padding: 15px;
	border: 1px solid #eee;
	border-radius: 3px;
	background: #fafbfb
}

@media all and (min-width:768px) {
	.search-bar input {
		font-size: 14px
	}
}

.search-bar button {
	padding: 15px;
	color: #fff;
	border: 0;
	background: #0a4773
}

@media all and (min-width:768px) {
	.navbar-header .search-bar--float-search {
		margin-top: 30px
	}
}

.search-bar--float-search button {
	position: absolute;
	right: 0;
	color: #0a4773;
	background: 0 0
}

.navbar-nav {
	position: relative;
	width: 100%;
	margin: 20px 5px 0;
	padding: 0;
	transition: 300ms all 250ms;
	transform: translate3d(100%, 0, 0);
	opacity: 0;
	will-change: transform, opacity
}

/* bjd - bootstrap v5 */
.navbar {
	padding-top: 0;
	padding-bottom: 0;
}

/* bjd - bootstrap v5 */
@media (max-width: 992px) {
	.navbar .container-fluid {
		flex-wrap: wrap;
	}
}

.navbar-offcanvas .navbar-collapse.show .navbar-nav {
	transform: translate3d(0, 0, 0);
	opacity: 1
}

.navbar-toggle {
	position: relative;
	margin: 0;
	margin-top: 22px;
	padding: 0
}

.navbar-offcanvas .navbar-toggle .navbar-toggler-icon {
	margin-right: auto;
	margin-left: auto;
	transition: transform 300ms cubic-bezier(.55, 0, .1, 1), opacity 300ms cubic-bezier(.55, 0, .1, 1);
	background-color: #0a4773;
	will-change: transform, opacity
}

.navbar-offcanvas .navbar-toggle .navbar-toggler-icon:nth-child(2) {
	transform: rotate(45deg) translate3d(4px, 5px, 0)
}

.navbar-offcanvas .navbar-toggle .navbar-toggler-icon:nth-child(3) {
	opacity: 0
}

.navbar-offcanvas .navbar-toggle .navbar-toggler-icon:nth-child(4) {
	transform: rotate(-45deg) translate3d(3px, -5px, 0)
}

.navbar-offcanvas .navbar-toggle.collapsed .navbar-toggler-icon {
	transform: rotate(0) translate3d(0, 0, 0);
	opacity: 1
}

.navbar-offcanvas .navbar-collapse {
	position: fixed;
	z-index: 100;
	top: 60px;
	right: 0;
	left: 0;
	display: block;
	overflow-x: hidden;
	width: 100%;
	height: 100%;
	min-height: calc(100vh - 50px) !important;
	transition: transform 200ms cubic-bezier(.1, 0, .1, 1);
	transform: translate3d(0, 0, 0);
	border: 0;
	background: #fff;
	will-change: transform
}

@media (min-width: 768px) {
	.navbar-collapse.collapse {
		overflow: visible !important;
	}
	
}

.navbar-collapse.collapse.show {
	padding-right: 15px;
	padding-left: 15px
}

@media all and (min-width:992px) {
	.navbar-offcanvas .navbar-collapse {
		margin-top: 15px;
		margin-bottom: 15px
	}
}

@media all and (min-width:1440px) {
	.navbar-offcanvas .navbar-collapse {
		width: 100%!important;
		margin-top: 0;
		margin-bottom: 0
	}
}

.navbar-offcanvas .navbar-collapse:not(.show) {
	transform: translate3d(-100%, 0, 0);
}

.navbar--custom {
	max-width: 2000px;
	margin: 0 auto;
	color: #0a4773;
	border: 0;
	background: #fff
}

@media all and (min-width:1440px) {
	.navbar--custom {
		width: 100%;
		height: 100px
	}
	.navbar--custom .container-fluid {
		display: flex;
		align-items: center;
		height: 100%
	}
	.navbar--custom .container-fluid::before,
	.navbar--custom .container-fluid::after {
		display: none
	}
}

@media all and (min-width:768px) {
	.navbar--custom .navbar-nav {
		max-width: 700px;
		margin: 0;
		margin-top: 10px;
		margin-left: 0
	}
}

@media all and (min-width:1440px) {
	.navbar--custom .navbar-nav {
		max-width: none
	}
}

.navbar--custom .navbar-nav a {
	font-size: 1.4em;
	font-weight: 600;
	padding: 10px 0;
	transition: all 200ms ease;
	color: #0a4773
}

.navbar--custom .navbar-nav a:hover,
.navbar--custom .navbar-nav a:focus {
	color: #2993d0;
	outline: inherit
}

.navbar--custom .navbar-nav span a {
	text-decoration: underline;
	color: #2993d0
}

.navbar-brand {
	z-index: 1;
	height: 60px;
	padding: 6px 0;
	/* bjd - bootstrap v5. */
	display: flex;
}

@media all and (min-width:768px) {
	.navbar-brand {
		height: 80px;
		margin-top: 10px;
		padding: 5px 0
	}
}

@media all and (min-width:1440px) {
	.navbar-brand {
		margin-right: 30px!important
	}
}

@media all and (min-width:1600px) {
	.navbar-brand {
		margin-right: 50px!important
	}
}

nav .container-fluid {
	padding-right: 10px;
	padding-left: 10px
}

nav .container-fluid>.navbar-header,
nav .container-fluid>.navbar-collapse {
	margin-right: 0;
	margin-left: 0
}

.navbar-brand img,
.navbar-brand svg {
	width: auto;
	max-width: 301px;
	height: 100%
}

.ucd-nav-title {
	font-weight: 600;
	margin-left: 5px;
	color: #0a4773
}

@media all and (min-width:768px) {
	nav .container-fluid {
		padding: 0 5%
	}
}

@media all and (min-width:992px) {
	nav .container-fluid {
		padding: 0 7.5%
	}
}

@media all and (min-width:1200px) {
	nav .container-fluid {
		padding: 0 10%
	}
}

@media all and (min-width:1440px) {
	nav .container-fluid {
		padding: 0 15%
	}
}

/* SpringShare specific override - A-Z page */
#s-lib-public-main-searchbar nav .container-fluid {
	padding: 12px;
}

@media all and (min-width:768px) {
	.navbar-nav {
		display: flex;
		align-items: center;
		justify-content: space-between
	}
	.navbar-nav::before,
	.navbar-nav::after {
		display: none
	}
	.navbar--custom .navbar-nav span a {
		text-decoration: none
	}
	.navbar--custom .navbar-nav .fa {
		font-size: 2em
	}
	.navbar--custom .navbar-nav a {
		font-size: 14px;
		font-weight: 400;
		position: relative
	}
	.s-lg-guide-body .navbar--custom .navbar-nav a {
		font-size: 1.1em
	}
	.navbar-nav {
		position: static;
		top: auto;
		transform: translateY(0);
		opacity: 1
	}
	.navbar-nav a::after,
	.navbar-nav span a::after {
		position: absolute;
		right: 0;
		bottom: 3px;
		left: 0;
		width: 0;
		height: 0;
		margin: 0 auto;
		content: '';
		transition: ease 300ms;
		background: #2993d0
	}
	.navbar-nav a:hover::after,
	.navbar-nav span a::after {
		width: 100%;
		height: 3px
	}
	.navbar-nav li:first-child a:hover::after,
	.navbar-nav li:first-child span a::after {
		height: 0
	}
	.navbar-offcanvas .navbar-collapse {
		position: static;
		width: auto;
		max-width: none;
		height: auto!important;
		min-height: auto!important;
		transform: translate(0, 0)!important;
		background: 0 0
	}
	.navbar--custom .navbar-nav>li.active>a {
		background: rgba(255, 255, 255, .33)
	}
}

@media all and (min-width:768px) and (max-width:991px) {
	.navbar-header {
		display: flex;
		align-items: center
	}
	.navbar>.container .navbar-brand,
	.navbar>.container-fluid .navbar-brand {
		margin-left: 0
	}
	.navbar-header,
	.navbar-brand {
		position: relative;
		width: 100%
	}
	.navbar-nav {
		padding-right: 0;
		padding-left: 0
	}
	.navbar-offcanvas .navbar-collapse {
		position: relative;
		top: 0
	}
}

#main-nav .navbar-nav li:first-child {
	display: none
}

@media all and (min-width:992px) {
	.main-nav-flex {
		display: flex;
		justify-content: flex-end;
		flex-flow: column wrap
	}
	.navbar {
		font-size: 0.75em;
		font-weight: 600
	}
	.navbar-brand {
		position: relative;
		top: 0;
		height: 100px;
		margin-top: 12px;
		margin-right: 30px;
		margin-left: 0!important;
		padding: 0
	}
	#main-nav .navbar-nav {
		position: relative;
		padding: 0;
		transition: 0s
	}
	#main-nav a {
		font-size: 14px;
		line-height: 1.45
	}
}

@media all and (min-width:1440px) {
	#main-nav a {
		font-size: 14px;
		margin-right: 7px;
		margin-left: 7px
	}
}

@media all and (min-width:1440px) and (min-width:1500px) {
	#main-nav a {
		font-size: 15px
	}
}

@media all and (min-width:1440px) and (min-width:1530px) {
	#main-nav a {
		font-size: 16px
	}
}

@media all and (min-width:1440px) {
	.nav-link {
		padding-right: 20px;
		padding-left: 20px
	}
	.navbar-brand {
		height: 70px;
		margin-top: 0
	}
	.main-nav-flex {
		flex-flow: row nowrap
	}
	#main-nav .search-bar {
		display: flex;
		align-items: center;
		max-width: 140px;
		margin-left: 20px;
		order: 2
	}
}

@media all and (min-width:1440px) and (min-width:1800px) {
	#main-nav .search-bar {
		max-width: 180px
	}
}

@media all and (min-width:1440px) {
	#main-nav .navbar-nav {
		margin-top: 0
	}
	#ucdSiteLinks {
		width: 100%
	}
}

@media all and (min-width:1600px) {
	#main-nav .search-bar {
		margin-left: 50px
	}
}

.ucd-global-nav {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	position: relative;
	margin: 15px auto
}

.ucd-global-nav::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 25%;
	height: 5px;
	margin: 0 auto;
	content: '';
	background: #2993d0
}

#ucdSiteLinks {
	margin-top: 0;
	padding: 0
}

@media all and (min-width:768px) {
	#ucdSiteLinks {
		margin-top: 5px;
		margin-bottom: 5px
	}
}

#ucdSiteLinks a {
	font-size: 14px;
	font-weight: 400;
	margin: 0;
	padding: 5px
}

#ucdSiteLinks li:last-child {
	margin-top: 10px;
	padding: 10px 0;
	border-top: 1px solid #2993d0;
	border-bottom: 1px solid #2993d0
}

@media all and (min-width:768px) {
	#ucdSiteLinks li:last-child {
		padding-top: 0;
		padding-bottom: 0
	}
}

.toggle-ucd-global {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	display: none
}

@media all and (min-width:768px) {
	.toggle-ucd-global {
		font-size: 0.7rem;
		line-height: 1.5;
		position: absolute;
		right: 20px;
		bottom: -26px;
		display: block;
		padding: 5px 10px;
		cursor: pointer;
		color: #fff;
		background: #008acc
	}
	.ucd-global-nav.js-triggered {
		top: -110px;
		box-shadow: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .23)
	}
	.js-triggered .toggle-ucd-global {
		box-shadow: 0 10px 20px rgba(0, 0, 0, .19), 0 6px 6px rgba(0, 0, 0, .23)
	}
	.js-triggered .fa-caret-down {
		transform: rotate(180deg)
	}
	.ucd-nav-title {
		display: none
	}
	.ucd-global-nav::before {
		height: 0
	}
	.ucd-global-nav {
		position: absolute;
		top: -185px;
		left: calc(-5% - 5px);
		width: calc(110% + 10px);
		margin-bottom: 0;
		margin-left: 0;
		transition: all 300ms;
		background: #008acc
	}
}

@media all and (min-width:768px) and (min-width:992px) {
	.ucd-global-nav {
		top: -85px;
		left: 0;
		width: 100%;
		width: calc(145% + 10px);
		margin-left: calc(-38% - 7px)
	}
}

@media all and (min-width:768px) and (min-width:1200px) {
	.ucd-global-nav {
		width: calc(150% + 50px);
		margin-left: calc(-38% - 25px)
	}
}

@media all and (min-width:768px) and (min-width:1440px) {
	.ucd-global-nav {
		top: -88px;
		width: calc(140% + 70px);
		margin-left: calc(-20% - 110px)
	}
}

@media all and (min-width:768px) {
	#ucdSiteLinks {
		display: inline-block;
		max-width: none;
		padding-right: 10px;
		padding-left: 10px
	}
	#ucdSiteLinks li {
		display: inline-block;
		width: auto;
		max-width: none
	}
	#ucdSiteLinks li::before {
		width: 0
	}
	#ucdSiteLinks a {
		font-size: 12px;
		color: #fff
	}
	.ucd-global-nav .search-bar {
		display: inline-block;
		width: 100%;
		margin-bottom: 5px;
		padding-right: 10px;
		padding-left: 10px
	}
	.ucd-global-nav .search-bar input {
		border-radius: 0
	}
	#ucdSiteLinks li:last-child {
		margin-top: 0;
		border: 0
	}
	.navbar--custom .navbar-nav li:last-child::after {
		width: 0
	}
	.search-bar input,
	.search-bar--float-search button {
		padding: 10px
	}
}

@media all and (min-width:992px) {
	#ucdSiteLinks {
		padding: 0 10px!important
	}
	.ucd-global-nav.js-triggered {
		top: -15px
	}
}

@media all and (min-width:992px) and (min-width:1440px) {
	.ucd-global-nav.js-triggered {
		top: -30px
	}
}

@media all and (min-width:992px) {
	.ucd-global-nav {
		margin-top: 0
	}
}

@media all and (min-width:992px) and (min-width:1440px) {
	.ucd-global-nav {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding-top: 10px;
		padding-bottom: 10px
	}
	.ucd-global-nav .search-bar {
		max-width: 250px!important;
		margin: 0;
		margin-left: 20px
	}
	.ucd-global-nav .navbar-nav {
		margin-bottom: 0!important
	}
	.ucd-global-nav .navbar-nav li,
	.ucd-global-nav .navbar-nav a {
		font-size: 14px!important
	}
	.ucd-global-nav .navbar-nav a {
		padding-right: 15px!important
	}
}

.nav {
	border: 0
}

footer {
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	padding: 10px;
	color: #fff;
	background: #0a4773
}

footer .footer-half {
	width: 100%;
	text-align: center
}

footer .footer-half>img {
	max-width: 50px;
	margin-top: 15px;
	margin-bottom: 15px
}

footer .footer-half:last-child {
	display: flex;
	justify-content: center;
	flex-flow: row wrap
}

footer .footer-half:last-child .footer-content:first-child {
	flex: 0 0 100%
}

.footer-content {
	margin-bottom: 20px
}

.footer-content ul {
	padding-left: 0;
	list-style: none
}

.footer-content li {
	font-size: 15px;
	font-weight: 400;
	line-height: 175%;
	margin-bottom: 0
}

.footer-content a {
	display: block;
	max-width: 250px;
	margin: 0 auto
}

.footer-content li a {
	display: inline-block
}

.footer-content a img {
	max-width: 30px
}

.footer-half h5,
.footer-content h5 {
	font-family: Roboto Slab;
	font-size: 20px;
	font-weight: 700;
	font-style: normal;
	line-height: 135%;
	margin-bottom: 15px
}

.footer-content .button {
	margin: 40px auto
}

@media all and (min-width:768px) {
	footer {
		display: flex;
		justify-content: space-between;
		padding: 50px 5%
	}
	footer .footer-half {
		width: 50%
	}
	.footer-half:last-child {
		display: flex;
		justify-content: space-between
	}
	footer .footer-half:last-child .footer-content {
		flex: 0 0 100%
	}
}

@media all and (min-width:992px) {
	footer {
		padding: 10px 7.5%
	}
	footer .footer-half {
		text-align: left
	}
	footer .footer-half:first-child {
		width: 33.3333%
	}
	footer .footer-half:last-child {
		width: 66.6666%
	}
	.footer-content .button {
		margin-left: 0
	}
	footer .footer-half:last-child .footer-content:first-child,
	footer .footer-half:last-child .footer-content {
		width: 33.3333%;
		flex: 1
	}
	footer .footer-half:last-child .footer-content:not(:last-child) {
		margin-right: 50px
	}
}

@media all and (min-width:1200px) {
	footer {
		padding: 25px 10%
	}
	footer .footer-half:first-child {
		width: 40%
	}
	footer .footer-half:last-child {
		width: 60%
	}
}

@media all and (min-width:1440px) {
	footer {
		padding: 25px 15%
	}
}

#main-nav:before,
#main-nav:after,
.navigation-flex:before,
.navigation-flex:after {
	content: normal!important
}

@media all and (min-width:768px) {
	.navbar-offcanvas .navbar-collapse {
		height: unset!important;
		min-height: unset!important
	}
}

@media print {
	footer,
	header {
		display: none
	}
}

.button--footer {
	font-family: Roboto Slab;
	font-size: 16px;
	font-weight: 700;
	font-style: normal;
	line-height: 145%;
	margin-top: 50px;
	color: #002542;
	background-color: #fad239
}

.button--footer:hover {
	color: #002542;
	background-color: #fad239
}

