/* Desktop multilingual header fit. Loaded after style.css. */
@media (min-width: 993px) {
	.header .container {
		display: flex !important;
		align-items: center;
		width: min(1515rem, calc(100% - 120rem));
		max-width: 1515rem;
		min-width: 0;
		height: 108rem;
	}

	html[lang="en"] .header .container,
	html[lang="ja"] .header .container {
		width: calc(100% - 120rem);
		max-width: 1680rem;
	}

	.header .logo {
		float: none;
		flex: 0 0 230rem;
		padding-top: 0;
		margin-left: 0;
	}

	.header .logo a {
		display: flex !important;
		align-items: center;
		width: 230rem !important;
		height: 108rem;
		min-height: 0 !important;
	}

	.header .logo a img {
		width: 190rem;
	}

	.header .header-right,
	html[lang="en"] .header .header-right,
	html[lang="ja"] .header .header-right {
		float: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		height: 108rem;
		overflow: visible;
	}

	.header .header-right .menu {
		display: none !important;
	}

	.header .header-right .nav,
	html[lang="en"] .header .nav,
	html[lang="ja"] .header .nav {
		float: none !important;
		order: 1 !important;
		display: block !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		margin-right: 18rem !important;
		overflow: visible;
	}

	.header .header-right .nav ul {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		flex-wrap: nowrap !important;
		gap: 24rem !important;
		min-width: 0 !important;
	}

	.header .header-right .nav ul li,
	html[lang="en"] .nav ul li,
	html[lang="ja"] .nav ul li {
		float: none !important;
		flex: 0 1 auto !important;
		padding-left: 0 !important;
		white-space: nowrap !important;
	}

	.header .header-right .nav ul li:first-child,
	html[lang="en"] .nav ul li:first-child,
	html[lang="ja"] .nav ul li:first-child {
		padding-left: 0 !important;
	}

	.header .header-right .nav ul li a,
	.header .header-right .nav ul li a > span,
	.header .header-right .nav ul li a .txt-1,
	.header .header-right .nav ul li a .txt-2 {
		white-space: nowrap !important;
		max-width: none;
	}

	html[lang="en"] .header .header-right .nav ul li,
	html[lang="ja"] .header .header-right .nav ul li {
		padding-left: 0 !important;
	}

	html[lang="en"] .header .header-right .nav ul li a,
	html[lang="en"] .header .header-right .nav ul li a > span,
	html[lang="en"] .header .header-right .nav ul li a .txt-1,
	html[lang="en"] .header .header-right .nav ul li a .txt-2,
	html[lang="ja"] .header .header-right .nav ul li a,
	html[lang="ja"] .header .header-right .nav ul li a > span,
	html[lang="ja"] .header .header-right .nav ul li a .txt-1,
	html[lang="ja"] .header .header-right .nav ul li a .txt-2 {
		font-size: 14rem !important;
		letter-spacing: 0 !important;
	}

	.header .header-right .header-search,
	html[lang="en"] .header .header-right .header-search,
	html[lang="ja"] .header .header-right .header-search {
		float: none !important;
		order: 2 !important;
		flex: 0 0 160rem !important;
		width: 160rem !important;
		margin: 0 12rem 0 0 !important;
	}

	.header .header-right .header-search .form-control {
		font-size: 15rem !important;
		padding: 0 46rem 0 20rem !important;
	}

	.header .header-right .header-search .btn {
		width: 46rem !important;
	}

	.header .header-right .language,
	html[lang="en"] .header .header-right .language,
	html[lang="ja"] .header .header-right .language {
		float: none !important;
		order: 3 !important;
		flex: 0 0 auto !important;
		margin: 0 !important;
		padding-left: 0 !important;
		height: 108rem !important;
		line-height: 108rem !important;
		white-space: nowrap !important;
	}
}

@media (min-width: 993px) and (max-width: 1366px) {
	.header .container {
		width: calc(100% - 40rem);
	}

	.header .logo {
		flex-basis: 200rem;
	}

	.header .logo a {
		width: 200rem !important;
	}

	.header .logo a img {
		width: 170rem;
	}

	.header .header-right .nav,
	html[lang="en"] .header .nav,
	html[lang="ja"] .header .nav {
		margin-right: 10rem !important;
	}

	.header .header-right .nav ul {
		gap: 10rem !important;
	}

	html[lang="en"] .header .header-right .nav ul li,
	html[lang="ja"] .header .header-right .nav ul li,
	.header .header-right .nav ul li {
		padding-left: 0 !important;
	}

	html[lang="en"] .header .header-right .nav ul li a,
	html[lang="en"] .header .header-right .nav ul li a > span,
	html[lang="en"] .header .header-right .nav ul li a .txt-1,
	html[lang="en"] .header .header-right .nav ul li a .txt-2,
	html[lang="ja"] .header .header-right .nav ul li a,
	html[lang="ja"] .header .header-right .nav ul li a > span,
	html[lang="ja"] .header .header-right .nav ul li a .txt-1,
	html[lang="ja"] .header .header-right .nav ul li a .txt-2 {
		font-size: 13rem !important;
	}

	.header .header-right .header-search,
	html[lang="en"] .header .header-right .header-search,
	html[lang="ja"] .header .header-right .header-search {
		flex-basis: 150rem !important;
		width: 150rem !important;
		margin-right: 10rem !important;
	}
}

/* Keep Chinese desktop navigation on the legacy layout used by the inner pages.
   The flex fit above is only needed for longer English/Japanese labels. */
@media (min-width: 993px) {
	html:not([lang="en"]):not([lang="ja"]) .header .container {
		display: block !important;
		width: 1515rem !important;
		max-width: none !important;
		height: auto !important;
	}

	html:not([lang="en"]):not([lang="ja"]) .header .logo {
		float: left !important;
		flex: none !important;
		padding-top: 15rem !important;
	}

	html:not([lang="en"]):not([lang="ja"]) .header .logo a {
		display: block !important;
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
	}

	html:not([lang="en"]):not([lang="ja"]) .header .logo a img {
		width: 195rem !important;
	}

	html:not([lang="en"]):not([lang="ja"]) .header .header-right {
		float: right !important;
		display: flex !important;
		flex: none !important;
		width: auto !important;
		height: auto !important;
	}

	html:not([lang="en"]):not([lang="ja"]) .header .header-right .nav {
		float: right !important;
		order: 0 !important;
		display: block !important;
		flex: none !important;
		margin-right: 28rem !important;
	}

	html:not([lang="en"]):not([lang="ja"]) .header .header-right .nav ul {
		display: block !important;
	}

	html:not([lang="en"]):not([lang="ja"]) .header .header-right .nav ul li {
		float: left !important;
		flex: none !important;
		padding-left: 50rem !important;
	}

	html:not([lang="en"]):not([lang="ja"]) .header .header-right .header-search {
		float: none !important;
		order: 2 !important;
		flex: 0 0 auto !important;
		width: 229rem !important;
		margin: 0 0 0 30rem !important;
	}

	html:not([lang="en"]):not([lang="ja"]) .header .header-right .language {
		float: none !important;
		order: 3 !important;
		flex: 0 0 auto !important;
		margin-left: 5rem !important;
		padding-left: 20rem !important;
		height: 108rem !important;
		line-height: 108rem !important;
	}
}

/* Final desktop header contract: keep every locale on the same spacious
   layout as the approved Chinese header. Locale-specific data may change,
   but the shell should not jump or compress after async runtime updates. */
@media (min-width: 993px) {
	.header .container,
	html[lang="en"] .header .container,
	html[lang="ja"] .header .container {
		display: block !important;
		width: min(1515rem, calc(100% - 120rem)) !important;
		max-width: 1515rem !important;
		min-width: 0 !important;
		height: auto !important;
	}

	.header .logo,
	html[lang="en"] .header .logo,
	html[lang="ja"] .header .logo {
		float: left !important;
		flex: none !important;
		padding-top: 15rem !important;
		margin-left: 0 !important;
	}

	.header .logo a,
	html[lang="en"] .header .logo a,
	html[lang="ja"] .header .logo a {
		display: block !important;
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
	}

	.header .logo a img,
	html[lang="en"] .header .logo a img,
	html[lang="ja"] .header .logo a img {
		width: 195rem !important;
	}

	.header .header-right,
	html[lang="en"] .header .header-right,
	html[lang="ja"] .header .header-right {
		float: right !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		flex: none !important;
		width: auto !important;
		min-width: 0 !important;
		height: auto !important;
		overflow: visible !important;
	}

	.header .header-right .nav,
	html[lang="en"] .header .nav,
	html[lang="ja"] .header .nav {
		float: right !important;
		order: 0 !important;
		display: block !important;
		flex: none !important;
		min-width: 0 !important;
		margin-right: 28rem !important;
		overflow: visible !important;
	}

	.header .header-right .nav ul,
	html[lang="en"] .header .header-right .nav ul,
	html[lang="ja"] .header .header-right .nav ul {
		display: block !important;
		min-width: 0 !important;
	}

	.header .header-right .nav ul li,
	html[lang="en"] .header .header-right .nav ul li,
	html[lang="ja"] .header .header-right .nav ul li {
		float: left !important;
		flex: none !important;
		padding-left: 50rem !important;
		white-space: nowrap !important;
	}

	.header .header-right .nav ul li:first-child,
	html[lang="en"] .header .header-right .nav ul li:first-child,
	html[lang="ja"] .header .header-right .nav ul li:first-child {
		padding-left: 0 !important;
	}

	.header .header-right .nav ul li a,
	.header .header-right .nav ul li a > span,
	.header .header-right .nav ul li a .txt-1,
	.header .header-right .nav ul li a .txt-2,
	html[lang="en"] .header .header-right .nav ul li a,
	html[lang="en"] .header .header-right .nav ul li a > span,
	html[lang="en"] .header .header-right .nav ul li a .txt-1,
	html[lang="en"] .header .header-right .nav ul li a .txt-2,
	html[lang="ja"] .header .header-right .nav ul li a,
	html[lang="ja"] .header .header-right .nav ul li a > span,
	html[lang="ja"] .header .header-right .nav ul li a .txt-1,
	html[lang="ja"] .header .header-right .nav ul li a .txt-2 {
		font-size: 18rem !important;
		letter-spacing: 0 !important;
		white-space: nowrap !important;
		max-width: none !important;
	}

	.header .header-right .header-search,
	html[lang="en"] .header .header-right .header-search,
	html[lang="ja"] .header .header-right .header-search {
		float: none !important;
		order: 2 !important;
		flex: 0 0 auto !important;
		width: 229rem !important;
		margin: 0 0 0 30rem !important;
	}

	.header .header-right .language,
	html[lang="en"] .header .header-right .language,
	html[lang="ja"] .header .header-right .language {
		float: none !important;
		order: 3 !important;
		flex: 0 0 auto !important;
		margin-left: 5rem !important;
		padding-left: 20rem !important;
		height: 108rem !important;
		line-height: 108rem !important;
		white-space: nowrap !important;
	}

	.header .language img {
		width: 25rem !important;
		max-height: 25rem !important;
	}

	.header .language:focus-within .drop {
		opacity: 1;
		display: block;
		transform: translateX(-50%) scale(1);
	}
}

@media (min-width: 993px) and (max-width: 1500px) {
	.header .container,
	html[lang="en"] .header .container,
	html[lang="ja"] .header .container {
		width: calc(100% - 60rem) !important;
	}

	.header .logo a img,
	html[lang="en"] .header .logo a img,
	html[lang="ja"] .header .logo a img {
		width: 175rem !important;
	}

	.header .header-right .nav,
	html[lang="en"] .header .nav,
	html[lang="ja"] .header .nav {
		margin-right: 18rem !important;
	}

	.header .header-right .nav ul li,
	html[lang="en"] .header .header-right .nav ul li,
	html[lang="ja"] .header .header-right .nav ul li {
		padding-left: 28rem !important;
	}

	.header .header-right .nav ul li a,
	.header .header-right .nav ul li a > span,
	.header .header-right .nav ul li a .txt-1,
	.header .header-right .nav ul li a .txt-2,
	html[lang="en"] .header .header-right .nav ul li a,
	html[lang="en"] .header .header-right .nav ul li a > span,
	html[lang="en"] .header .header-right .nav ul li a .txt-1,
	html[lang="en"] .header .header-right .nav ul li a .txt-2,
	html[lang="ja"] .header .header-right .nav ul li a,
	html[lang="ja"] .header .header-right .nav ul li a > span,
	html[lang="ja"] .header .header-right .nav ul li a .txt-1,
	html[lang="ja"] .header .header-right .nav ul li a .txt-2 {
		font-size: 16rem !important;
	}

	.header .header-right .header-search,
	html[lang="en"] .header .header-right .header-search,
	html[lang="ja"] .header .header-right .header-search {
		width: 190rem !important;
		margin-left: 20rem !important;
	}
}
