body {
	position: relative;
	min-height: 100vh;
}

.navbar-brand {
	font-family:'SCDream',sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	padding: 0;
}

.navbar-brand > img {
	height: 2rem;
}

.top-menu {
	background-color:#233c51;
	font-size: .875rem;
}

.top-menu .navbar-nav {
	flex-direction: row;
	margin-left: -.5rem;
	margin-right: -.5rem;
}

.top-menu .navbar-nav .nav-link {
	padding: .25rem .5rem;
	color: white;
}


.logo-text {
	font-size: 1rem;
}

@media (min-width:768px) {
	.logo-text {
		font-size: 1.125rem;
	}
}


.srch-box {
	position: relative;
	width: 100%;
}

.srch-box .srch-input {
	border:3px solid #004f8c;
	border-radius:50px!important;
	padding:10px 40px 10px 25px;
	font-size:15px;
	letter-spacing:-0.05em;
	width:100%;
	outline: none;
}

.srch-box .srch-btn {
	position:absolute;
	background:transparent;
	border:0;
	right:10px;
	top:11px;
}

header .navbar {border-bottom:1px solid #e5e5e5; display:block;}

@media (min-width:768px) {
	#main-menu form .srch-input {
		margin-left: 5rem;
		width: 250px;
		transition: all .35s;
	}

	#main-menu form .srch-input:focus {
		margin-left: calc(5rem - 50px);
		width: 350px;
	}
}

@media (min-width:992px) {
	#main-menu form .srch-input {
		margin-left: 7rem;
	}

	#main-menu form .srch-input:focus {
		margin-left: calc(7rem - 75px);
		width: 400px;
	}
}

@media (min-width:1200px) {
	#main-menu form .srch-input {
		margin-left: 15rem;
	}

	#main-menu form .srch-input:focus {
		margin-left: calc(15rem - 75px);
		width: 400px;
	}
}

@media (min-width:1460px) {
	#main-menu form .srch-input {
		margin-left: 20rem;
	}

	#main-menu form .srch-input:focus {
		margin-left: calc(20rem - 75px);
		width: 400px;
	}
}


footer {
	position:sticky;
	top: calc(100vh - 85px);
	border-top:1px solid #d1d1d1;
	background-color:#f5f5f5;
	text-align: center;
	padding: 1.5rem 0;
}

footer > div {
	display: inline-block;
	width: auto !important;
	margin: 0 auto;
}

footer img.logo {
	display: none;
	height: 4rem;
	filter: sepia(100%) grayscale(100%);
}

footer img,
footer .foot-info {
	display:inline-block;
	vertical-align:middle;
}

footer .foot-info {
	font-size:14px;
	text-transform:uppercase;
	color:#454545;
}

footer .foot-info li {
	line-height:1.75rem;
	list-style:none;
}


@media (min-width:768px) {
	footer > div {
		text-align: left;
	}

	footer img.logo {
		display: inline-block;
	}

	footer .foot-info {
		padding-left:1rem;
	}
}
