
/*====================================

Navigation

Back to Top Arrow / Header/ Breadcrumb / Search/ Mobile Hamburger / Ribbon / Footer
========================================================
*/

/**** Back to Top ****/
#back-to-top {
	position: fixed;
	display: flex;
	justify-content: flex-end;
	transition: transform 0.2s ease;
	z-index: 9;
	top: -50px;
	width: 100%;
	max-width: var(--max-screen-size);
	margin: 0 auto;
	right: 50%;
	transform: translateX(50%);
}

.back-to-top {
	width: 50px;
	height: 50px;
	margin-right: 5.5%;
	transition: transform 0.2s ease;
	will-change: transform;
	border: 6px solid rgba(255, 255, 255, .5);
  border-radius: 50%;
}

#back-to-top.headroom--pinned .back-to-top {
	transform: translateY(80px);
	transform: translateY(calc(100% + 30px));
}

#back-to-top.headroom--top .back-to-top,
#back-to-top.headroom--unpinned .back-to-top {
	transform: translateY(0) !important;
	transition: transform 0.2s ease, opacity 0s linear 0.4s;
	opacity: 0;
}

.back-to-top:after {
	display: none;
}

.back-to-top:before {
	content: var(--back-to-top-icon);
	width: 100%;
	height: 100%;
	cursor: pointer;
}

@media screen and (max-width: 1025px) {
	.back-to-top {
		margin-right: 20px;
	}
}

/******** Header **************/
.header {
	--external-icon: var(--external-icon-maroon);
	--locked-icon: var(--locked-icon-maroon);
}

.no-color-header header {
	--header-background: rgba(255, 0, 0, 0.001);
	--header-font-color: var(--white);
	--header-border: var(--white);
	--main-site-logo: var(--main-site-logo-white);
	--search-icon: var(--search-icon-white);
	--main-highlight-color: var(--white);
	--external-icon: var(--external-icon-white);
	--locked-icon: var(--locked-icon-white);
}

	.no-color-header header.search-open {
		--header-background: var(--white);
		--header-font-color: var(--dark-gray);
		--header-border: var(--gray);
		--main-site-logo: var(--main-site-logo-maroon);
		--main-highlight-color: var(--maroon);
	}

@media screen and (max-width: 1340px) {
	header, #hamburger {
		--default-column-gap: 20px;
	}
}

/* Page Top Header Change */
@media (max-width: 960px) {
	.no-color-header header {
		--header-background: var(--white);
		--header-font-color: var(--dark-gray);
		--header-border: var(--gray);
		--main-site-logo: var(--main-site-logo-maroon);
		--main-highlight-color: var(--maroon);
		--external-icon: var(--external-icon-maroon);
		--locked-icon: var(--locked-icon-maroon);
	}
}

header {
	width: 100%;
	margin-top: var(--ribbon-height);
	position: relative;
	height: auto;
	z-index: 2;
	transition: top 200ms ease;
	transform: none !important;
}

.no-color-header header {
	position: absolute;
	margin-top: 0px;
	top: var(--ribbon-height);
}

header.search-open {
	--search-icon: var(--close-icon);
}

/* Remove extra space on edit */
code + header {
	top: 0px;
}

header .header-content {
	background-color: var(--header-background);
	color: var(--header-font-color);
	transition: background-color 0.25s ease-in-out;
}

header div.wrap-container {
	width: 100%;
	border-bottom: 1px solid var(--header-border);
}

header div.container {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}

.logo {
	text-indent: -9999px;
	font-size: 0px;
}

.logo,
.sec-logo-img {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* header .logo {
	padding-right: 20px;
} */

header .sec-logo-img {
	padding-left: 20px;
	margin-left: 20px;
	border-left: 1px var(--header-border) solid;
}

header.search-open .sec-logo-img .not-white,
.no-color-header header .sec-logo-img .white {
	display: inline;
}

header .sec-logo-img .white,
header.search-open .sec-logo-img .white,
.no-color-header .sec-logo-img .not-white {
	display: none;
}

.logo {
	content: var(--main-site-logo);
	display: flex;
	transition: transform 0.2s;
	max-width: var(--site-logo-max-width);
	height: 5vw;
	max-height: 50px;
	min-height: 40px;
}

.sec-logo-img img {
	height: 1vw;
	max-height: 50px;
	min-height: 40px;
	transition: transform 0.2s ease;
	max-width: 39vw;
}

.logo:hover,
.sec-logo-img:hover img {
	transform: scale(1.1);
}

.logo-container {
	display: inline-flex;
	padding: 15px 20px 15px var(--default-column-gap);
	align-items: center;
}

nav.desktop {
	display: flex;
	padding: 15px var(--default-column-gap) 15px 20px;
	width: 100%;
	justify-content: space-between;
}

	nav.desktop > ul {
		display: inline-flex;
		align-items: center;
	}

nav ul li {
	padding: 0 15px;
	text-align: center;
	z-index: 10;
}

nav ul.nav-right li {
	padding: 0 10px;
}

	nav ul li:first-child {
		padding-left: 0px;
	}

nav ul.nav-left {
	font-size: clamp(16px,1.55vw,20px);
	flex-shrink: 1;
}

nav ul.nav-right {
	font-size: clamp(14px,1.36vw,16px);
	flex-shrink: 1;
}

nav.check-active-state a.active {
	color: var(--main-highlight-color);
}

header .nav-left > li > a::after,
header .nav-right > li > a::after {
	display: none;
}

li.search {
	cursor: pointer;
	width: 50px;
	height: 100%;
	padding: 0px !important;
	background-image: var(--search-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 20px;
	transition: background 0.5s cubic-bezier(1, 0, 0, 1), transform 0.2s;
}

	li.search:hover {
		transform: scale(1.25);
	}

.target,
.targetHover {
	position: absolute;
	height: 7px;
	z-index: 1;
	transform: translateX(-60px);
	display: block;
	background-color: var(--main-highlight-color);
	transition: all 0.15s ease-in-out;
}

@media screen and (max-width: 1023px) {
	.logo-container {
		padding: 15px var(--default-column-gap);
		width: 100%;
	}

	.sec-logo-img img {
		max-width: 100%;
	}
}

/*
========================================================

3.Breadcrumb

========================================================
*/
.breadcrumb {
	overflow: hidden;
	white-space: nowrap;
}

	.breadcrumb.mobile {
		display: none;
		/* height: 69px; */
	}

	.breadcrumb.desktop {
		height: 59px;
		display: block;
		overflow: initial;
	}

		.dropdown-menu li a.active,
		.breadcrumb.desktop li a.active {
			color: var(--gray);
			text-decoration: underline;
		}

	.breadcrumb a.active {
		pointer-events: none;
		cursor: default;
	}


.no-color-header .breadcrumb .dropdown-parent.active {
	border: 1px solid var(--white);
}

.no-color-header .breadcrumb .dropdown:hover a.active {
	border: 1px solid var(--maroon);
}

.sub-nav {
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	max-width: var(--max-screen-size);
	margin: 0 auto;
}

#home-page .breadcrumb {
	display: none;
}

#home-page .sub-nav a:first-child::before {
	padding: 0px;
}

.sub-nav .horizontal-scroll {
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	max-width: var(--max-screen-size);
	width: 100%;
	box-sizing: border-box;
	overflow-x: scroll;
	scrollbar-width: none;
	padding: 0 var(--default-column-gap);
	padding-top: 10px;
	padding-bottom: 10px;
}

.horizontal-scroll::-webkit-scrollbar {
	display: none !important;
	background-color: transparent;
	width: 0 !important;
}

.sub-nav .dropdown {
	margin-left: 15px;
}

.dropdown {
	padding: 0;
}

.horizontal-scroll .dropdown:first-child {
	margin-left: 0;
}

.desktop div.dropdown a {
	padding: 12.5px 20px;
	border: 1px solid transparent;
}

/* HEADER DROPDOWNS */
.desktop li.dropdown {
	position: relative;
	padding: 12.5px 20px;
}

.desktop li.dropdown .dropdown-menu {
	position: absolute;
	top: 100%;
	left: 0;
}

/* .sub-nav .dropdown:hover a.toggle-arrow-div {
	border: 1px solid var(--maroon);
} */

.dropdown.no-dropdown a {
	border: none;
}

.dropdown a:first-child {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	align-items: center;
}

.breadcrumb .toggle-arrow {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	border: none;
}

.sub-nav .dropdown:last-child .toggle-arrow::before {
	font-size: 10px;
}

.breadcrumb .toggle-arrow::before {
	font-size: 8px;
	width: 15px;
	padding-left: 10px;
}

.dropdown:hover .toggle-arrow::before,
.dropdown.open .toggle-arrow::before {
	transform-origin: center;
	transform: translate(0, 20%) rotate(90deg);
}

.dropdown:hover .dropdown-menu,
.dropdown.open .dropdown-menu {
	visibility: visible;
	opacity: 1;
	z-index: 100;
	width: auto !important;
}

.desktop .dropdown-menu {
	visibility: hidden;
	opacity: 0;
	max-height: 75vh;
	position: absolute;
	overflow-y: auto;
	scrollbar-width: thin;
	z-index: 1000;
	background: var(--maroon);
	width: auto;
}

.dropdown .dropdown-menu {
	font-size: 16px;
}

.desktop div.dropdown:hover *,
.desktop div.dropdown.open *,
.desktop li.dropdown:hover,
.desktop li.dropdown.open,
.desktop li.dropdown:hover > a,
.desktop li.dropdown.open > a,
.desktop .dropdown:hover .dropdown-menu {
	color: var(--white);
	background-color: var(--maroon);
}

.desktop .dropdown:hover li:hover a,
.desktop .dropdown li a:focus {
	background-color: var(--white);
	color: var(--maroon);
}

.desktop .dropdown.no-dropdown:hover,
.desktop .dropdown.no-dropdown:hover a,
.desktop .dropdown.no-dropdown:hover .dropdown-menu {
	color: inherit;
	background-color: transparent;
}

.desktop .dropdown li {
	padding: 5px;
}

	.desktop .dropdown li a {
		padding: 10px 100px 10px 10px;
		display: flex;
		white-space: nowrap;
	}

.dropdown-menu li {
	display: block;
}

.breadcrumb a.external::after,
.dropdown-menu a.external::after {
	content: var(--external-icon-white);
}

.breadcrumb li:hover a.external::after,
.dropdown-menu li:hover a.external::after,
.dropdown.open li a.external:focus::after {
	content: var(--external-icon-maroon);
}

.breadcrumb a.locked::after,
.dropdown-menu a.locked::after {
	content: var(--locked-icon-white);
}

.breadcrumb li:hover a.locked::after,
.dropdown-menu li:hover a.locked::after,
.dropdown.open .dropdown-menu li a.locked:focus::after {
	content: var(--locked-icon-maroon);
}

/* NO COLOR HEADER CSS */
/* .no-color-header .desktop .dropdown:last-child > a {
	border: 1px solid var(--white);
} */

.no-color-header .desktop .dropdown.no-dropdown:last-child > a {
	border: none;
}

/* MOBILE BREADCRUMBS
========================================================= */
.breadcrumb.mobile a::before {
	content: "/";
	padding: 0 16px;
	display: inline-block;
	color: inherit;
	text-decoration: none;
}

.breadcrumb.mobile .dropdown a {
	padding: 5px 0;
}

.breadcrumb.mobile a:first-child::before {
	content: " ";
	padding: 0px;
}

.mobile .dropdown {
	border-left: 1px var(--header-border) solid;
	display: inline-flex;
}

.mobile li {
	padding-left: 20px;
}

.breadcrumb.mobile a.external::after,
.breadcrumb.mobile li:hover a.external::after,
.mobile .dropdown.open li a.external:focus::after {
	content: var(--external-icon);
}

.breadcrumb.mobile a.locked::after,
.breadcrumb.mobile li:hover a.locked::after,
.mobile .dropdown.open .dropdown-menu li a.locked:focus::after {
	content: var(--locked-icon);
}

/* HOVER FOR MOBILE BREADCRUMB SCROLL */
.hoverRight {
	display: block;
	position: absolute;
	width: 30px;
	height: 46px;
	z-index: 2;
	top: 0;
	right: 0;
}

.hoverLeft {
	display: block;
	position: absolute;
	width: 30px;
	height: 46px;
	z-index: 2;
	top: 0;
	left: -20px;
}

	.hoverLeft:hover,
	.hoverRight:hover {
		cursor: e-resize;
	}

/* BREAKPOINTS
========================================================== */
@media screen and (max-width: 1023px) {
	nav.desktop,
	.breadcrumb.desktop,
	.target,
	.targetHover {
		display: none;
	}

	.breadcrumb.mobile {
		display: block;
	}

	.dropdown-menu {
		display: flex;
		visibility: visible;
		opacity: 1;
		position: relative;
		transition: all 0.5s ease;
		margin-top: 0;
		margin-left: 3px;
		z-index: 11;
	}
}

@media (max-width: 960px) {
	.no-color-header header {
		position: relative;
		/* margin-top: var(--ribbon-height); */
		top: 12px;
	}

		.no-color-header header .sec-logo-img .white {
			display: none;
		}

		.no-color-header header .sec-logo-img .not-white {
			display: inline;
		}
}


/* HAMBURGER SETUP 
#hamburger is mobile floating button and .hamburger is on the header on desktop
======================================================= */
#hamburger {
	position: fixed;
	top: 30px;
	right: var(--default-column-gap);
	border-radius: 50%;
	background: var(--gray);
	min-width: 50px;
	width: 50px;
	max-width: 90px;
	min-height: 50px;
	height: 50px;
	max-height: 90px;
	z-index: 1000;
	cursor: pointer;
	will-change: transform, bottom;
	transition: all 0.2s ease;
	/* -webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0); */
	display: flex;
	align-content: center;
	align-items: center;
	justify-content: center;
}

	#hamburger.stop {
		bottom: 50px;
		/* -webkit-transform: translate3d(0, 0, 0) !important;
transform: translate3d(0, 0, 0) !important; */
		margin-bottom: 0;
	}

	#hamburger.open {
		background: var(--dark-gray);
	}

.hamburger {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 100%;
	padding: 0 !important;
	cursor: pointer;
	transition: all 0.2s;
}

.hamburger-innercontainer,
.header-hamburger-innercontainer {
	transition: all 0.2s;
	margin: 0 auto;
	align-items: center;
}

#hamburger.disappear {
	display: none;
}

#hamburger span,
.hamburger span {
	display: block;
	height: 2px;
	width: 25px;
	background: var(--header-font-color);
	opacity: 1;
	margin: 5px auto;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	transform-origin: left center;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.hamburger span {
	height: 1px;
}

#hamburger.open:hover {
	background: var(--main-highlight-color);
}

#hamburger.open span {
	background: var(--gray);
	margin: 7px auto;
}

	#hamburger.open span:nth-child(1),
	#booth-nav.open span:nth-child(1) {
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		transform: translateX(3px) rotate(45deg);
	}

	#booth-nav.open span:nth-child(3),
	#hamburger.open span:nth-child(3) {
		-webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
		-moz-transform: rotate(-45deg);
		-o-transform: rotate(-45deg);
		transform: translateX(3px) rotate(-45deg);
	}

	#hamburger.open span:nth-child(2),
	#hamburger.open span:nth-child(4),
	#booth-nav.open span:nth-child(2),
	#booth-nav.open span:nth-child(4) {
		top: 18px;
		width: 0%;
		left: 50%;
	}

.header-hamburger-innercontainer:hover {
	transform: scale(1.25);
}


@media screen and (max-width: 1023px) {
	#hamburger.disappear {
		display: block;
	}

	#hamburger {
		top: initial;
		bottom: 50px;
		right: 30px;
		width: 12.5vw;
		height: 12.5vw;
	}
}


/* Mobile Nav */
nav.mobile:not(.open),
#hamburger:not(.open) {
	animation: fadeOut 0.1s ease 0s 1 normal forwards;
}

nav.mobile.disappear {
	display: none;
}

nav.mobile.open,
#hamburger.open {
	display: flex;
	animation: fadeIn 0.2s ease 0s 1 normal forwards;
}

nav.mobile {
	position: fixed;
	top: 0px;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	padding: 0px;
	background: var(--light-gray);
	border-top: var(--ribbon-height) solid var(--main-highlight-color);
	flex-direction: column;
	justify-content: normal;
	transition: 0.3s cubic-bezier(0.95, 0.05, 0.795, 0.035);
	z-index: 1000;
}

	nav.mobile.open {
		top: 0px;
		right: 0;
		z-index: 999;
		transition: top 0.15s ease-in-out, 0.75s cubic-bezier(0.19, 1, 0.22, 1);
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
	}

.nav-container {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% - var(--ribbon-height));
	overflow-y: auto;
	z-index: 1000;
	-webkit-overflow-scrolling: touch;
}

nav.mobile ul.nav-left,
nav.mobile ul.nav-right {
	padding-bottom: 50px;
}

nav.mobile .logo-container {
	display: flex;
	padding: 15px 0;
}

nav.mobile a.logo {
	display: inline-flex;
}

nav.mobile .nav-container > * {
	width: 50%;
	margin: 0 auto;
}

nav.mobile .nav-container .search-overlay {
	display: none;
}

/* was li p */
nav.mobile ul li {
	padding: 0;
	margin-bottom: 0px;
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	border-bottom: 4px solid var(--gray);
	line-height: 1.5;
}

	nav.mobile ul li a {
		display: inline-block;
		text-align: left;
		flex-grow: 1;
		height: inherit;
		padding: 20px 0;
		white-space: pre-wrap;
	}

nav.mobile a.active {
	color: var(--main-highlight-color);
	cursor: initial;
	text-decoration: underline;
}

nav.mobile ul li a:hover {
	color: var(--main-highlight-color);
	box-shadow: 0 4px 0 var(--main-highlight-color);
}

ul.menu-item li span.toggle-parent {
	width: 60px;
	height: 100%;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: inline-flex;
	border-left: 1px solid var(--gray);
	justify-content: end;
	flex-grow: 0;
}

ul.menu-item li span.toggle-arrow {
	right: 30px;
	top: 0;
	width: auto;
	height: 40px;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	align-self: center;
	justify-content: center;
	cursor: pointer;
	padding: 0 15px;
}

nav.mobile li span.toggle-arrow:hover {
	background: var(--main-highlight-color);
	color: var(--white);
}

ul.menu-item li ul {
	display: none;
	flex-basis: 100%;
}

nav.mobile ul li.search {
	display: none;
}

nav.mobile ul ul {
	margin-left: 20px;
}

	nav.mobile ul ul li:last-child {
		border-bottom: none !important;
	}


/* MOBILE NAV SEARCH OVERLAY */
nav.mobile .search-overlay-container {
	display: block;
	width: 100%;
	margin: 0;
	margin: 20px 0;
	text-align: left;
	position: relative;
}

nav.mobile .search-box .search-overlay-container input[type="text"] {
	display: inline-block;
	width: 100%;
	height: 31px;
	border: medium none;
	border-bottom: var(--dark-gray) 1px solid;
	padding-right: 50px;
	background-color: transparent;
	font-size: 35px;
	font-family: "TradeGothic cn 18";
	color: #4d4d4d;
	outline: none;
	border-radius: 0;
	box-sizing: border-box;
}

nav.mobile .search-overlay-container button {
	display: inline-block;
	position: absolute;
	right: 0px;
	bottom: 50%;
	transform: translateY(50%);
	border: 0px;
	transition: transform 0.2s ease;
	background-color: #f1f1f1;
}

	nav.mobile .search-overlay-container button img {
		width: 30px;
		height: 30px;
	}

	nav.mobile .search-overlay-container button:hover {
		background-color: transparent;
		outline: none;
		transform: translateY(50%) scale(1.25);
	}

@media screen and (max-width: 1023px) {
	nav.mobile {
		right: -150%;
	}

		nav.mobile .nav-container > * {
			width: 74%;
		}

		nav.mobile.disappear {
			display: flex;
		}


		nav.mobile .nav-container .search-overlay {
			display: block;
		}

		nav.mobile ul ul {
			margin-left: 0;
		}
}

/* SEARCH OVERLAY
==================================================== */
.search-overlay {
	display: block;
	position: fixed;
	width: 0vw;
	opacity: 0;
	visibility: hidden;
	height: 0;
	background: var(--light-gray);
	top: 0;
	left: 0;
	transition: opacity 0.25s cubic-bezier(1, 0, 0, 1);
}

nav.mobile.open .search-overlay {
	position: initial;
	height: auto;
	margin-top: 0 !important;
}

/* Search */
.search-overlay-container {
	display: block;
	width: 100%;
	margin: 100px 0;
	box-sizing: border-box;
	max-width: var(--max-screen-size);
	padding: 0px var(--container-column-spacing);
}

.nav-container .search-overlay-container {
	padding: 0;
	margin: 0;
}

.search-overlay-container .CoveoSearchInterface {
	display: flex !important;
}

	.search-overlay-container .CoveoSearchInterface:before {
		content: "";
		height: 3px;
		width: var(--hero-line-length);
		margin-right: var(--default-column-gap);
		margin-top: 4px;
		background: var(--main-highlight-color);
	}

.nav-container .search-overlay-container .CoveoSearchInterface:before,
.nav-container .search-overlay-container .CoveoSearchbox:before {
	display: none;
}

.search-overlay-container .CoveoSearchbox {
	width: 60%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	border-bottom: 2px solid;
	flex-grow: 0;
}

.nav-container .search-overlay-container .CoveoSearchbox {
	width: 100%;
	margin: 0;
}

.search-overlay-container .CoveoSearchbox:before {
	content: "Start typing:";
	font-size: var(--tiny);
	line-height: var(--line-height-p);
	font-family: var(--TradeGothicCn);
	display: flex;
	width: 100%;
	color: var(--font-color);
}

.search-overlay-container .CoveoSearchbox .magic-box {
	border: none;
	width: calc(100% - 60px);
}

.search-overlay.search-open {
	opacity: 1;
	width: 100vw;
	height: 100vh;
	visibility: visible;
	z-index: 20;
}

.search-selection {
	display: none;
}

.CoveoSearchButton .coveo-search-button {
	display: none !important;
}

.coveo-search-button-loading {
	background: var(--search-icon);
	display: inline-block;
	width: 30px;
	height: 30px;
}

.magic-box .magic-box-underlay {
	display: none !important;
}

.search-overlay-container .magic-box .magic-box-clear {
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background: none;
	background-image: var(--close-icon) !important;
	background-size: 50% 50% !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
}

.CoveoSearchbox .magic-box .magic-box-clear-svg {
	display: none;
}

.search-overlay-container .CoveoSearchbox .magic-box .magic-box-input,
.search-overlay-container .CoveoSearchbox .magic-box .magic-box-input input,
.search-overlay-container .CoveoSearchbox a.CoveoSearchButton {
	height: inherit;
	position: relative;
	border-radius: 0px;
	border: none;
	box-sizing: border-box;
	background: none;
}

.search-overlay-container .CoveoSearchbox a.CoveoSearchButton {
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

	.search-overlay-container .CoveoSearchbox a.CoveoSearchButton span {
		transition: transform 0.2s ease;
	}

	.search-overlay-container .CoveoSearchbox a.CoveoSearchButton:hover span {
		transform: scale(1.15);
	}

.search-overlay-container .magic-box .magic-box-input input {
	position: relative;
	display: inline-block;
	width: 100%;
	padding-top: 5px;
	padding-bottom: 3px;
	color: var(--font-color);
	font-size: var(--h3);
	font-family: var(--TradeGothicCn);
	padding: 4px 50px 4px 3px;
	background: url(img/misc/input-bg-normal.gif) 0 bottom repeat-x #fff;
	text-indent: 0;
}

.nav-container .search-overlay-container .magic-box .magic-box-input input {
	font-size: calc(25px + 0.3vw) !important;
}

.search-overlay-container .magic-box .magic-box-input input::placeholder {
	color: var(--font-color);
	opacity: 1;
}

.nav-container .search-overlay-container .magic-box .magic-box-input input {
	color: var(--font-color);
	opacity: 1;
	padding-top: 10px;
}

	.nav-container .search-overlay-container .magic-box .magic-box-input input::placeholder {
		opacity: 0.5;
	}

.CoveoSearchButton {
	color: white;
	border: none;
	border-left: none;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
	overflow: hidden;
	height: 50px;
	width: 60px;
	cursor: pointer;
	line-height: 0;
}

	.CoveoSearchButton .coveo-search-button-loading-svg {
		display: none;
	}

@media screen and (max-width: 1023px) {
	nav {
		-webkit-overflow-scrolling: touch;
	}

	#home-page .breadcrumb {
		display: block;
	}

	#home-page .sub-nav {
		display: block;
	}

	.search-overlay.desktop-search.search-open {
		display: none;
	}

	.search-overlay.desktop-search {
		display: none;
	}

	.search-overlay {
		position: initial;
		visibility: visible;
		opacity: 0;
		width: 100%;
		height: auto;
		top: 0px;
		padding: 20px 0px;
		margin-top: 0px !important;
		transition: 0.3s ease-out;
	}

	nav.mobile.open .search-overlay {
		opacity: 1;
	}

	.search-selection {
		display: block;
	}

	.search-box input:first-child {
		margin-left: 20px;
	}

	.search-overlay-container button img {
		width: 20px;
		height: 20px;
	}
}

/*
========================================================

6.Footer

========================================================
*/
footer {
	--component-background-color: var(--light-gray);
	--button-inverse: var(--light-gray);
	margin-top: 20px;
}

	footer .section-container {
		box-sizing: border-box;
		flex-wrap: nowrap;
	}

	footer div.logo-container {
		padding: 2.75vw 0 0 0;
		margin-right: var(--default-column-gap);
		align-items: start;
	}

	footer .logo::before {
		background-image: var(--main-site-logo);
	}

	footer a.logo {
		height: 50px;
		border: none;
		box-shadow: 0 0 0 0 !important;
	}

	footer .footerlinks-container {
		flex-grow: 1;
	}

	footer .row {
		border-bottom: 1px solid var(--gray);
		padding: 2.75vw 0;
	}

	footer div.row:last-child {
		border-bottom: 0px solid var(--gray);
	}

	footer div.cta-with-header {
		padding-top: 20px;
	}

	footer .footer-links {
		display: grid;
		column-gap: var(--default-column-gap);
		flex-direction: row;
		grid-template-columns: 1fr 1fr 1fr;
	}

	footer .cta-section {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		column-gap: var(--default-column-gap);
		margin: 0;
	}

	footer .footer-links ul,
	footer .offerings-section {
		padding-top: 20px;
	}

	footer .footer-links ul,
	footer .cta-section a.btn {
		width: 100%;
	}

	footer .cta-section a.btn {
		padding: 10px 0;
		line-height: 1.25;
		margin: 0;
	}

	footer ul li {
		padding: 5px 0;
		margin-bottom: 5px;
	}

	footer ul.social {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		padding-top: 20px;
		align-items: center;
	}

	footer .social li {
		width: 40px;
		height: 40px;
		display: flex;
		align-items: center;
	}

		footer .social li a {
			width: 40px;
			height: 40px;
			display: inline-flex;
		}

	footer ul.social a img {
		width: 40px;
		height: 40px;
		transition: transform 0.2s;
	}

		footer ul.social a img:hover {
			transform: scale(1.1);
		}

	footer address {
		padding-bottom: 10px;
	}

		footer address .TGcondensedbold {
			display: inline-block;
			padding-bottom: 10px;
		}

.address p:not(:last-of-type) {
	margin-bottom: 10px;
}

@media only screen and (max-width: 1023px) {
	footer .component div.section-container {
		flex-direction: column;
	}

	footer .logo-container {
		margin-right: 0;
	}
}

@media only screen and (max-width: 767px) {
	footer .footer-links,
	footer .cta-section {
		grid-template-columns: 1fr;
	}

		footer .footer-links ul {
			width: 100%;
			display: flex;
			flex-wrap: wrap;
			border-bottom: 1px solid var(--gray);
			padding: 20px 0;
		}

	.footer-links ul:last-child {
		border-bottom: none;
	}

	.footer-links ul li {
		padding-right: var(--default-column-gap);
	}

	footer .cta-section a.btn {
		width: 50%;
		margin-bottom: 20px;
	}

	footer ul.social {
		padding-top: 0px;
	}
}

@media only screen and (max-width: 420px) {
	footer .cta-section a.btn {
		width: inherit !important;
	}
}
