:root {
	--site-red: #d92d0b;
	--site-red-dark: #b92508;
	--site-ink: #191c1f;
	--site-muted: #697078;
	--site-line: #efcfc7;
	--site-soft: #f4f5f6;
	--site-dark: #0b0f13;
}
header{
    position: relative;
}
.nav-child-container{
    position: absolute;
    top: 100%;
    padding: var(--p20) 0;
    left: 0;
    right: 0;
background: rgba(242, 244, 246, 1);
    display: none;
}
.nav-child-container .main{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.nav-child-container ul{
    display:flex;
    flex-wrap: wrap;
    gap: var(--p10) var(--p30);
}
.nav-child-container a.active,
.nav-child-container a:hover{
    color: vaR(--bgc);
}

 .ComMenu .title{
    display: flex;
    gap: var(--p10);
}
 .ComMenu .title .img_box{
     flex-shrink: 0;
 }

.ComMenu {
align-self: start;
    padding: 24px;
    border: 1px solid var(--site-line);
    background: rgba(242, 244, 246, 1);
	
}

.ComMenu p {
	color: #747a80;
	font-size: 14px;
	line-height: 22px;
}

.ComMenu .search-form {
	width: 100%;
    margin-top: var(--p18);
	padding: 12px;
	background: #fff;
	border: 1px solid #e2e5e7;
	display:flex;
	align-items: center;
	gap: var(--p10);
}

.ComMenu nav {
    margin-top: var(--p18);
	display: grid;
	gap: 8px;
}

.ComMenu nav a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	font-size: 16px;
	line-height: 24px;
}
.ComMenu nav a .img{
    width: 1em;
    flex-shrink: 0;
}
.ComMenu nav a.active{
    background: var(--bgc);
    color: #fff;
}
.ComMenu nav a.active img{
    
  filter: brightness(0) invert(1);
}

.ComMenu nav a.active {
	background: var(--site-red);
	color: #fff;
}

.ComMenu  .call{
    margin-top: vaR(--p18);
border-radius: 2px;
background: rgba(248, 249, 251, 1);

border: 1px solid rgba(230, 190, 181, 1);
padding: var(--p15);
gap:var(--p10);
display:grid;
}
.ComMenu  .call strong{
    font-size: vaR(--ft24);
}
.ComMenu  .call span{
    color: var(--bgc);
}
.SharedHeader {
	position: relative;
	z-index: 30;
	background: #fff;
}

.SharedHeader .utilityBar {
	height: 40px;
	background: #f3f4f5;
	color: #747a80;
	font-size: 14px;
	line-height: 22px;
}

.SharedHeader .utilityInner,
.SharedHeader .headerInner {
	width: 1640px;
	max-width: 90%;
	margin: 0 auto;
}

.SharedHeader .utilityInner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.SharedHeader .languageMenu {
	position: relative;
}

.SharedHeader .languageToggle {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	line-height: 22px;
}

.SharedHeader .languageArrow {
	width: 12px;
	height: 12px;
	transition: transform 0.25s;
}

.SharedHeader .languageMenu.open .languageArrow,
.SharedHeader .languageMenu:hover .languageArrow,
.SharedHeader .languageMenu:focus-within .languageArrow {
	transform: rotate(180deg);
}

.SharedHeader .languageList {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 5;
	display: grid;
	min-width: 110px;
	padding: 8px;
	border: 1px solid #e1e4e7;
	background: #fff;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
	opacity: 0;
	pointer-events: none;
	transform: translateY(-8px);
	transition:
		opacity 0.2s,
		transform 0.2s,
		visibility 0.2s;
	visibility: hidden;
}

.SharedHeader .languageMenu.open .languageList,
.SharedHeader .languageMenu:hover .languageList,
.SharedHeader .languageMenu:focus-within .languageList {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	visibility: visible;
}

.SharedHeader .languageList a {
	padding: 8px 10px;
	font-size: 14px;
	line-height: 20px;
}

.SharedHeader .headerInner {
	display: flex;
	align-items: center;
	height: 100px;
	gap: 58px;
}

.SharedHeader .brand {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 240px;
	height: 58px;
	background: #d9d9d9;
	color: #111;
	font-size: 36px;
	font-weight: 600;
	line-height: 52px;
}

.SharedHeader .mainNav {
	display: flex;
	align-items: center;
	gap: 46px;
	margin-right: auto;
}

.SharedHeader .mainNav a {
	position: relative;
	padding: 35px 0;
	color: #4b3e39;
	font-size: 16px;
	font-weight: 500;
	line-height: 26px;
	white-space: nowrap;
}

.SharedHeader .mainNav a::after {
	position: absolute;
	right: 0;
	bottom: 24px;
	left: 0;
	height: 2px;
	background: var(--site-red);
	content: "";
	transform: scaleX(0);
	transition: transform 0.25s;
}

.SharedHeader .mainNav a:hover,
.SharedHeader .mainNav a:focus-visible,
.SharedHeader .mainNav a[aria-current="page"] {
	color: var(--site-red);
}

.SharedHeader .mainNav a:hover::after,
.SharedHeader .mainNav a:focus-visible::after,
.SharedHeader .mainNav a[aria-current="page"]::after {
	transform: scaleX(1);
}

.SharedHeader .headerActions {
	display: flex;
	align-items: center;
	gap: 18px;
}

.SharedHeader .headerLanguage,
.SharedHeader .searchMenu {
	position: relative;
}

.SharedHeader .headerLanguage .languageList {
	top: calc(100% + 22px);
}

.SharedHeader .searchPanel {
	position: absolute;
	top: calc(100% + 22px);
	right: 0;
	z-index: 4;
	display: flex;
	width: 380px;
	padding: 12px;
	background: #fff;
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.14);
	opacity: 0;
	pointer-events: none;
	transform: translateY(-10px) scale(0.98);
	transform-origin: top right;
	transition:
		opacity 0.22s,
		transform 0.22s,
		visibility 0.22s;
	visibility: hidden;
}

.SharedHeader.searchOpen .searchPanel {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0) scale(1);
	visibility: visible;
}

.SharedHeader .searchPanel input {
	min-width: 0;
	height: 44px;
	padding: 0 14px;
	border: 1px solid #d9dde1;
	flex: 1;
}

.SharedHeader .searchPanel button {
	width: 76px;
	height: 44px;
	background: var(--site-red);
	color: #fff;
}

.SharedHeader .iconButton {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: #51575d;
}

.SharedHeader .iconButton svg {
	width: 20px;
	height: 20px;
}

.controlIcon {
	width: 20px;
	height: 20px;
}

.SharedHeader .inquiryButton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 100px;
	height: 40px;
	padding: 0 20px;
	border-radius: 4px;
	background: #171b1e;
	color: #fff;
	font-size: 14px;
	line-height: 20px;
}

.SharedHeader .inquiryButton:hover,
.SharedHeader .inquiryButton:focus-visible {
	background: var(--site-red);
}

.SharedHeader .menuToggle {
	display: none;
	width: 42px;
	height: 42px;
	border: 1px solid #d9dde0;
}

.SharedHeader .menuToggle span,
.SharedHeader .menuToggle::before,
.SharedHeader .menuToggle::after {
	display: block;
	width: 20px;
	height: 2px;
	margin: 5px auto;
	background: #191c1f;
	content: "";
	transition:
		opacity 0.22s,
		transform 0.22s;
}

.SharedHeader.menuOpen .menuToggle span {
	opacity: 0;
}

.SharedHeader.menuOpen .menuToggle::before {
	transform: translateY(7px) rotate(45deg);
}

.SharedHeader.menuOpen .menuToggle::after {
	transform: translateY(-7px) rotate(-45deg);
}

.SharedSubnav {
	background: #f4f5f6;
	border-top: 1px solid #eceff1;
}

.SharedSubnav .subnavInner {
	display: flex;
	align-items: center;
	width: 1640px;
	max-width: 90%;
	height: 44px;
	margin: 0 auto;
	gap: 36px;
	font-size: 14px;
	line-height: 20px;
}

.SharedSubnav a:hover,
.SharedSubnav a:focus-visible,
.SharedSubnav a[aria-current="page"] {
	color: var(--site-red);
}

.SharedContactCta {
	padding: 72px 0;
	background-color: #2d3132;
	color: #fff;
}

.SharedContactCta.hasImage {
	background-image:
		linear-gradient(rgba(17, 22, 25, 0.76), rgba(17, 22, 25, 0.76)),
		url("../images/463e766c814cffd2aabd1923a0435ea1746c19d4.png");
	background-position: center;
	background-size: cover;
}

.SharedContactCta .ctaInner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
}

.SharedContactCta h2 {
	font-size: 40px;
	font-weight: 600;
	line-height: 52px;
}

.SharedContactCta p {
	margin-top: 10px;
	color: #d2d5d7;
	font-size: 18px;
	line-height: 29px;
}

.SharedContactCta .contactMeta {
	/*display: flex;*/
	flex-wrap: wrap;
	
	gap: 12px;
	margin-top: 22px;
	color: #e3e5e6;
	font-size: 16px;
	line-height: 24px;
}
.SharedContactCta dd{
    gap: var(--p10);
 display:flex;   
}
.SharedContactCta dd .img_box{
    flex-shrink: 0;
    width: 1em;
}
.SharedContactCta .ctaButton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 180px;
	height: 64px;
	padding: 0 30px;
	background: var(--site-red);
	font-size: 20px;
	line-height: 28px;
	white-space: nowrap;
}

.SharedContactCta .ctaButton:hover,
.SharedContactCta .ctaButton:focus-visible {
	background: #f04420;
}

.SharedFooter {
	padding: 80px 0 38px;
	background: var(--site-dark);
	color: #aeb4ba;
}

.SharedFooter .footerInner {
	width: 1640px;
	max-width: 90%;
	margin: 0 auto;
}

.SharedFooter .footerTop {
	display: grid;
	grid-template-columns: 2.1fr repeat(4, 1fr);
	gap: 60px;
}

.SharedFooter .footerBrand h2 {
	color: #fff;
	font-size: 32px;
	font-weight: 600;
	line-height: 42px;
}

.SharedFooter .footerBrand p {
	max-width: 336px;
	margin-top: 12px;
	font-size: 14px;
	line-height: 20px;
}

.SharedFooter .socialLinks {
	display: flex;
	gap: 12px;
	margin-top: 26px;
}

.SharedFooter .socialLinks a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 9px;
	background: #242a30;
}

.SharedFooter .socialLinks .icon,
.SharedFooter .socialLinks .iconImg {
	filter: grayscale(1) brightness(2.2);
	display: block;
	width: 18px;
	height: 18px;
}

.SharedFooter .footerColumn h3 {
	margin-bottom: 18px;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	line-height: 26px;
}

.SharedFooter .footerColumn nav {
	display: grid;
	gap: 9px;
}

.SharedFooter .footerColumn a {
	font-size: 14px;
	line-height: 20px;
}

.SharedFooter .footerColumn a:hover,
.SharedFooter .footerColumn a:focus-visible {
	color: #fff;
}

.SharedFooter .footerBottom {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	min-height: 184px;
	margin-top: 54px;
	padding-top: 48px;
	border-top: 1px solid #2b3035;
}

.SharedFooter .copyright,
.SharedFooter .record {
	font-size: 12px;
	line-height: 16px;
}

.SharedFooter .footerCodes {
	display: flex;
	gap: 30px;
	margin-left: auto;
}

.SharedFooter .codeItem {
	position: relative;
	text-align: center;
}

.SharedFooter .codeImage {
	width: 74px;
	height: 74px;
	background: #fff;
	flex-shrink: 0;
}

.SharedFooter .codeItem span {

	margin-top: 8px;
	font-size: 10px;
	line-height: 15px;
}

.SharedFooter .record {
	margin-left: 50px;
	color: #5f656b;
}

.SharedDialog {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	transition: opacity 0.25s;
}

.SharedDialog.open {
	opacity: 1;
}

.SharedDialog .dialogMask {
	position: absolute;
	inset: 0;
	background: rgba(5, 8, 11, 0.72);
}

.SharedDialog .dialogPanel {
	position: relative;
	z-index: 1;
	width: 560px;
	max-width: 100%;
	padding: 40px;
	background: #fff;
	box-shadow: 0 20px 70px rgba(0, 0, 0, 0.3);
	opacity: 0;
	transform: translateY(18px) scale(0.98);
	transition:
		opacity 0.25s,
		transform 0.25s;
}

.SharedDialog.open .dialogPanel {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.SharedDialog .dialogClose {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 36px;
	height: 36px;
	font-size: 28px;
	line-height: 32px;
}

.SharedDialog h2 {
	font-size: 32px;
	font-weight: 600;
	line-height: 42px;
}

.SharedDialog p {
	margin-top: 8px;
	color: var(--site-muted);
	font-size: 16px;
	line-height: 26px;
}

.SharedDialog form {
	display: grid;
	gap: 16px;
	margin-top: 28px;
}

.SharedDialog input,
.SharedDialog textarea {
	width: 100%;
	padding: 13px 16px;
	border: 1px solid #d9dde1;
	font-size: 16px;
	line-height: 24px;
}

.SharedDialog textarea {
	min-height: 112px;
	resize: vertical;
}

.SharedDialog .submitButton {
	height: 50px;
	background: var(--site-red);
	color: #fff;
}

.SharedVideoDialog .dialogPanel {
	width: 920px;
	padding: 24px;
}

.SharedVideoDialog .dialogVideoMedia {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #080a0c;
}

.SharedVideoDialog .dialogVideoPlayer {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.SharedVideoDialog h2 {
	margin-top: 20px;
	font-size: 24px;
	line-height: 34px;
}

@media only screen and (max-width: 1440px) {
	.SharedHeader .headerInner {
		gap: 34px;
	}

	.SharedHeader .brand {
		flex-basis: 200px;
	}

	.SharedHeader .mainNav {
		gap: 28px;
	}

	.SharedFooter .footerTop {
		gap: 36px;
	}
}

@media only screen and (max-width: 768px) {
	.SharedHeader .utilityBar {
		display: none;
	}

	.SharedHeader .headerInner {
		height: 76px;
		gap: 14px;
	}

	.SharedHeader .brand {
		flex-basis: 138px;
		height: 46px;
		font-size: 26px;
		line-height: 36px;
	}

	.SharedHeader .menuToggle {
		display: block;
		margin-left: auto;
	}

	.SharedHeader .mainNav {
		position: absolute;
		top: 76px;
		right: 0;
		left: 0;
		display: grid;
		overflow: hidden;
		max-height: 0;
		padding: 0 5%;
		background: #fff;
		border-top: 1px solid #eceff1;
		box-shadow: 0 16px 30px rgba(0, 0, 0, 0.08);
		opacity: 0;
		pointer-events: none;
		transform: translateY(-10px);
		transition:
			max-height 0.3s,
			opacity 0.22s,
			padding 0.3s,
			transform 0.3s,
			visibility 0.3s;
		visibility: hidden;
	}

	.SharedHeader.menuOpen .mainNav {
		max-height: 420px;
		padding: 12px 5%;
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
	}

	.SharedHeader .mainNav a {
		padding: 12px 0;
	}

	.SharedHeader .mainNav a::after {
		bottom: 6px;
	}

	.SharedHeader .headerActions .iconButton {
		display: none;
	}

	.SharedHeader .inquiryButton {
		min-width: 80px;
		padding: 0 12px;
	}

	.SharedSubnav .subnavInner {
		height: auto;
		padding: 12px 0;
		gap: 18px;
		flex-wrap: wrap;
	}

	.SharedContactCta {
		padding: 52px 0;
	}

	.SharedContactCta .ctaInner {
		align-items: flex-start;
		flex-direction: column;
	}

	.SharedContactCta h2 {
		font-size: 30px;
		line-height: 40px;
	}

	.SharedContactCta .contactMeta {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.SharedFooter {
		padding-top: 54px;
	}

	.SharedFooter .footerTop {
		grid-template-columns: repeat(2, 1fr);
		gap: 40px 24px;
	}

	.SharedFooter .footerBrand {
		grid-column: 1 / -1;
	}

	.SharedFooter .footerBottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 30px;
	}

	.SharedFooter .footerCodes {
		margin-left: 0;
	}

	.SharedFooter .record {
		margin-left: 0;
	}

	.SharedDialog .dialogPanel {
		padding: 34px 24px 24px;
	}

	.SharedVideoDialog .dialogPanel {
		padding: 14px;
	}

	.SharedVideoDialog .dialogClose {
		top: 18px;
		right: 18px;
		z-index: 2;
		background: rgba(0, 0, 0, 0.7);
		color: #fff;
	}
}
