:root {
	--norththk-width: 1200px;
	--norththk-border: #a8a8a8;
	--norththk-red: #a92c2f;
	--norththk-green: #51b400;
}

* { margin: 0; padding: 0; }
html, body { min-width: var(--norththk-width); }
body { color: #333; background: #fff; font: 12px/150% Arial, Verdana, "宋体", sans-serif; }
body.admin-bar #shortcut { top: 32px; }
a { color: #182011; text-decoration: none; }
a:hover { color: #c00; text-decoration: underline; }
ol, ul { list-style: none; }
img { border: 0; }
button, input, textarea { font: inherit; }
.norththk-width { width: var(--norththk-width); margin-right: auto; margin-left: auto; clear: both; }
.site-main { display: block; }

#shortcut { position: fixed; z-index: 9999; top: 0; left: 0; width: 100%; min-width: var(--norththk-width); height: 30px; padding-bottom: 1px; line-height: 30px; background: #efefef url("../images/images.png") repeat-x 0 0; }
.norththk-shortcut-inner { display: flex; justify-content: space-between; height: 30px; }
.norththk-shortcut-inner nav { padding-right: 9px; }
.norththk-shortcut-inner em { padding: 0 10px; color: #aaa; font-style: normal; }
.norththk-email { padding-left: 9px; color: blue; font-weight: bold; }

#header { display: flex; align-items: center; justify-content: space-between; height: auto; padding: 35px 0 4px; }
#logo { display: block; width: 260px; height: 80px; overflow: hidden; }
#logo img { display: block; width: 260px; height: 80px; object-fit: contain; }
#top_adv { width: 680px; height: auto; overflow: hidden; }
#top_adv img { display: block; width: 100%; height: auto; }

.topmenu { display: flex; justify-content: space-between; height: 35px; background: #63655b url("../images/images.png") repeat-x 0 -63px; }
#menu { width: 680px; height: 35px; line-height: 35px; }
.norththk-menu { display: flex; height: 35px; }
.norththk-menu > li { position: relative; z-index: 999; height: 35px; }
.norththk-menu a { display: block; position: relative; padding: 0 16px; color: #fff; font-size: 14px; line-height: 35px; white-space: nowrap; }
.norththk-menu > li.current-menu-item > a,
.norththk-menu > li.current-menu-ancestor > a,
.norththk-menu > li:hover > a,
.norththk-menu > li:focus-within > a { color: #fff; text-decoration: none; background: var(--norththk-red) url("../images/images.png") repeat-x 0 -99px; }
.norththk-menu .sub-menu,
.norththk-menu > li > ul { position: absolute; top: 35px; left: -1px; display: none; width: 210px; padding-bottom: 9px; background: #63655b; box-shadow: 8px 8px 0 rgba(0,0,0,.12); }
.norththk-menu li:hover > .sub-menu,
.norththk-menu li:focus-within > .sub-menu,
.norththk-menu li:hover > ul,
.norththk-menu li:focus-within > ul { display: block; }
.norththk-menu .sub-menu li,
.norththk-menu > li > ul li { position: relative; width: 100%; border-top: 1px solid #e6e6e6; }
.norththk-menu .sub-menu a,
.norththk-menu > li > ul a { min-height: 18px; padding: 7px 16px; border-left: 1px solid #e6e6e6; font-size: 12px; line-height: 18px; white-space: normal; }
.norththk-menu .sub-menu a:hover,
.norththk-menu > li > ul a:hover { color: #e3e3e3; text-decoration: none; background: #969a8d; }
#searchform { padding-top: 6px; padding-right: 8px; }
#searchform form { display: flex; align-items: center; }
#searchform .searchicon { width: 13px; height: 13px; margin: 5px 5px 0 0; background: url("../images/images.png") 0 -46px; }
#searchform input[type="search"] { width: 160px; height: 18px; padding: 1px; color: #333; background: #d8d8d8; border: 1px solid #3c3c3c; }
#searchform button { width: 59px; height: 23px; margin-left: 8px; color: #fff; font-weight: bold; cursor: pointer; border: 0; background: #67b529 url("../images/images.png") no-repeat 0 -135px; }

.norththk-breadcrumb-wrap { height: 27px; background: #fdf4e3; border: 1px solid #b7b7b7; border-top: 0; box-sizing: border-box; }
.norththk-breadcrumb { height: 16px; padding-top: 5px; padding-left: 8px; color: #8b8583; overflow: hidden; }
.norththk-breadcrumb a { color: #28a005; }
.norththk-breadcrumb .title { color: #454545; }
.norththk-home-icon { color: #977d2b; }

.norththk-box-title,
.norththk-section-title { height: 24px; padding: 0 10px; line-height: 24px; overflow: hidden; font-weight: bold; border: 2px solid #fff; background: #e4e4e4; box-sizing: border-box; }
.norththk-box-title::before,
.norththk-section-title::before { content: ""; float: left; width: 4px; height: 7px; margin: 8px 5px 0 0; background: url("../images/images.png") -64px -31px; }
.norththk-box-title > a,
.norththk-section-title > a { float: right; font-size: 11px; font-weight: normal; }
.norththk-box-title strong a,
.norththk-section-title strong a { color: #182011; }
.norththk-box-title strong a:hover,
.norththk-section-title strong a:hover { color: #c00; }

.norththk-index-top { display: flex; justify-content: space-between; padding-top: 2px; }
.norththk-slide-box { position: relative; width: 910px; height: auto; aspect-ratio: 1983 / 793; overflow: hidden; background: #fff; }
.norththk-slide-box > img { display: block; width: 100%; height: auto; }
.norththk-slide-current { position: absolute; right: 32px; bottom: 7px; width: 22px; height: 22px; color: #fff; line-height: 22px; text-align: center; border-radius: 50%; background: #e4393c; }
.norththk-index-news,
.norththk-new-products { width: 250px; height: 278px; overflow: hidden; border: 1px solid var(--norththk-border); }
.norththk-index-news li { width: 218px; height: 26px; margin: 0 8px 0 12px; padding: 0 2px 0 10px; line-height: 26px; overflow: hidden; white-space: nowrap; border-bottom: 1px dashed #eaeaea; box-sizing: content-box; }
.norththk-index-news li::before { content: "·"; margin-left: -10px; margin-right: 7px; color: #1b5ba6; }
.norththk-index-news li span { color: #aeabaa; }
.norththk-index-main { display: flex; justify-content: space-between; padding-top: 12px; }
.norththk-home-content { width: 888px; min-height: 388px; padding: 6px 10px; line-height: 22px; overflow: visible; border: 1px solid var(--norththk-border); }
.norththk-home-content h1 { margin: 0 0 18px; font: 700 20px/1.4 Arial, Helvetica, sans-serif; }
.norththk-home-content h2 { margin: 0 0 10px; font: 700 18px/1.4 Arial, Helvetica, sans-serif; }
.norththk-home-content p { margin: 0 0 26px; font-size: 14px; line-height: 1.8; }
.norththk-new-products { height: 400px; }
.norththk-new-products .norththk-side-row { margin-right: 12px; margin-left: 12px; }
.norththk-side-row { display: block; margin: 10px auto; padding: 5px; line-height: 18px; text-align: left; border: 1px solid #f4f6f7; }

.norththk-recommended { padding-top: 12px; }
.norththk-recommended-inner { padding-top: 2px; overflow: hidden; border: 1px solid var(--norththk-border); background: #e7e7e7; }
.norththk-recommended-grid { display: flex; flex-wrap: wrap; padding-left: 4px; }
.norththk-recommended-grid > div { float: left; width: 182px; height: 50px; margin: 3px; padding-top: 2px; overflow: hidden; color: #bcbaba; background: #fff; }
.norththk-recommended-grid a { display: block; height: 50px; padding: 1px 10px; line-height: 20px; text-align: left; box-sizing: border-box; }

.norththk-product-layout { display: flex; justify-content: space-between; align-items: flex-start; padding-top: 16px; }
.norththk-product-side { width: 224px; flex: 0 0 224px; }
.norththk-category-menu { width: 212px; margin-bottom: 18px; padding: 12px 0 12px 12px; border: 1px solid #6f3876; background: #d0d0d0; }
.norththk-category-menu > ul { margin: 0; }
.norththk-category-menu li { display: block; }
.norththk-category-menu a { display: block; width: 158px; height: 22px; padding: 8px 19px 0 23px; overflow: hidden; white-space: nowrap; background: #fff url("../images/about.png") no-repeat 0 0; }
.norththk-category-menu a:hover,
.norththk-category-menu .current-cat > a { color: #fff; text-decoration: none; background-position: 0 -66px; }
.norththk-category-menu .current-cat > a { background-position: 0 -33px; }
.norththk-side-products { width: 224px; padding-bottom: 8px; border: 1px solid var(--norththk-border); box-sizing: border-box; }
.norththk-catalog { width: 930px; min-height: 100px; padding: 5px 0 0 5px; overflow: hidden; border: 1px solid var(--norththk-border); background: #e7e7e7; box-sizing: border-box; }
.norththk-catalog ul.products { display: flex; flex-wrap: wrap; align-content: flex-start; margin: 0; padding: 0; }
.norththk-catalog ul.products::before,
.norththk-catalog ul.products::after { display: none; }
.norththk-catalog .norththk-product-card { float: none; width: 220px; height: 50px; margin: 3px; padding: 2px 0 0; overflow: hidden; color: #bcbaba; background: #fff; }
.norththk-product-card a { display: block; height: 50px; padding: 1px 10px; line-height: 20px; text-align: left; box-sizing: border-box; }
.norththk-search-heading { padding: 2px 6px 6px; font-weight: bold; }
.norththk-empty { min-height: 80px; padding: 20px; }
.woocommerce-pagination,
.navigation.pagination { float: left; width: 100%; margin-top: 12px; color: #000; font: 12px Arial; text-align: center; }
.woocommerce-pagination ul.page-numbers,
.navigation.pagination .nav-links { display: inline-flex; gap: 4px; border: 0; }
.woocommerce-pagination ul.page-numbers li { border: 0; }
.woocommerce-pagination .page-numbers,
.navigation.pagination .page-numbers { display: inline-block; min-width: 14px; padding: 2px 6px; line-height: 18px; text-decoration: none; color: #182011; border: 1px solid #9b9b9b; background: #f7f7f7; box-sizing: content-box; }
.woocommerce-pagination .page-numbers.current,
.navigation.pagination .page-numbers.current { color: #c00; background: #c2c2c2; }

.norththk-single-layout { padding-top: 12px; }
.norththk-single-product { width: 930px; overflow: hidden; }
.norththk-single-product > h1,
.norththk-page-content > h1,
.norththk-news-main > h1 { height: 26px; padding: 0 10px; overflow: hidden; color: var(--norththk-green); font: bold 14px/26px Arial, Verdana, sans-serif; border-bottom: 1px solid var(--norththk-border); }
.norththk-product-summary { display: flex; width: 100%; }
.norththk-product-image { width: 300px; margin: 5px; padding: 5px; text-align: center; border: 2px solid rgba(128,128,128,.23); }
.norththk-product-image img { display: block; width: 300px; height: auto; padding: 12px; background: #fff; border: 1px solid #b2b2b2; box-sizing: border-box; }
.norththk-product-facts { padding: 10px 10px 10px 30px; }
.norththk-product-facts p { min-height: 30px; line-height: 30px; }
.norththk-product-facts strong { margin-right: 5px; color: #0097b1; font-size: 16px; }
.norththk-product-facts .norththk-price-email { color: blue; font-weight: bold; }
.norththk-product-facts .norththk-price-email:hover { color: #c00; }
.norththk-quote-button { float: left; margin-top: 14px; padding: 5px 20px; color: #fff; font-weight: bold; border: 0; border-radius: 4px; background: #e73f3f; cursor: pointer; }
.norththk-product-detail { padding-top: 18px; }
.norththk-product-detail > h2 { margin-top: 20px; font-size: 14px; line-height: 30px; border-bottom: 1px solid gray; }
.norththk-product-content { width: 910px; padding: 0 10px; overflow-x: auto; line-height: 22px; }
.norththk-product-content h3 { height: 30px; font-size: 12px; line-height: 30px; }
.norththk-product-content table { border-collapse: collapse; }
.norththk-product-content td,
.norththk-product-content th { min-width: 40px; border: 1px solid; }
.norththk-product-content img { max-width: 100%; height: auto; }
.norththk-product-navigation { margin: 10px auto; line-height: 30px; font-size: 14px; font-weight: bold; text-align: left; }
.norththk-product-navigation span { display: block; }

.norththk-info-layout,
.norththk-news-layout { display: flex; justify-content: space-between; align-items: flex-start; padding-top: 16px; }
.norththk-info-side { width: 224px; }
.norththk-page-menu { width: 212px; margin-bottom: 18px; padding: 12px 0 12px 12px; border: 1px solid #6f3876; background: #d0d0d0; }
.norththk-page-menu a { display: block; width: 158px; height: 22px; padding: 8px 19px 0 23px; overflow: hidden; background: #fff url("../images/about.png") no-repeat 0 0; }
.norththk-page-menu .current_page_item > a { color: #fff; background-position: 0 -33px; }
.norththk-info-side .norththk-product-side { width: 224px; }
.norththk-page-content { width: 930px; }
.norththk-entry-content { padding: 12px 8px; overflow: auto; font-size: 14px; line-height: 22px; }
.norththk-entry-content p { margin-bottom: 10px; }
.norththk-entry-content img { max-width: 100%; height: auto; }
.norththk-news-main { width: 710px; }
.norththk-news-layout > .norththk-product-side { width: 224px; }
.norththk-news-list { width: 694px; padding: 0 8px; }
.norththk-news-list li { display: flex; align-items: center; width: 100%; height: 20px; padding: 6px 0 1px; line-height: 20px; border-bottom: 1px dotted #a8b5bd; }
.norththk-news-list li:nth-child(even) { background: #eef7ff; }
.norththk-news-list a { width: 600px; overflow: hidden; white-space: nowrap; }
.norththk-news-list time { margin-left: auto; color: #a8a8a8; }
.norththk-news-number { padding-right: 6px; color: #a8a8a8; font-style: italic; }
.norththk-news-meta { height: 26px; padding: 0 10px; line-height: 26px; text-align: right; }
.norththk-post-navigation { display: flex; justify-content: space-between; padding-top: 12px; line-height: 22px; }
.norththk-post-navigation .norththk-nav-next { margin-left: auto; text-align: right; }
.norththk-basic-content { min-height: 300px; padding-top: 30px; }
.norththk-basic-content h1 { margin-bottom: 15px; font-size: 20px; }

.footer { padding-top: 28px; }
#foot { height: auto; min-height: 80px; color: #cdcdcd; border-top: #a32326 2px solid; background: #333 url("../images/footer_bg.png") repeat-x; }
#foot .norththk-footer-inner { height: auto; min-height: 80px; padding: 8px 10px 0 12px; overflow: hidden; box-sizing: border-box; }
#foot p#footeradv { display: block; float: none; clear: both; width: 100%; min-width: 100%; max-width: 100%; padding-left: 0; color: #ff9900; line-height: 18px; box-sizing: border-box; }
#foot p#message { display: block; float: none; clear: both; width: 100%; line-height: 18px; text-align: right; }
#copy { float: none; clear: both; height: 24px; margin-top: 0; padding-right: 10px; color: #a0a0a0; line-height: 24px; text-align: right; white-space: nowrap; }
#foot em { padding: 0 10px; color: #a0a0a0; font-style: normal; }
#foot a { color: #fff; }
#foot a:hover { color: #c00; }
#copy a { color: #a0a0a0; }
#copy a:hover { color: #c00; }

#topcontrol.norththk-back-to-top {
	position: fixed;
	left: 50%;
	bottom: 1px;
	z-index: 999;
	display: block;
	width: 28px;
	height: 103px;
	margin-left: 476px;
	padding: 0;
	border: 0;
	border-radius: 0;
	-webkit-appearance: none;
	appearance: none;
	background: transparent url("../images/top.png") no-repeat 0 -103px;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 200ms ease, visibility 0s linear 200ms;
}
#topcontrol.norththk-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 200ms ease;
}
#topcontrol.norththk-back-to-top:hover,
#topcontrol.norththk-back-to-top:focus-visible {
	background-position: 0 0;
}
#topcontrol.norththk-back-to-top:focus-visible {
	outline: 1px dotted #333;
	outline-offset: 2px;
}

.norththk-quote-dialog { width: 430px; max-width: 90vw; padding: 20px; border: 1px solid #8c8c8c; border-radius: 4px; box-shadow: 0 8px 40px rgba(0,0,0,.35); }
.norththk-quote-dialog::backdrop { background: rgba(0,0,0,.45); }
.norththk-quote-dialog h2 { margin-bottom: 8px; font-size: 18px; }
.norththk-dialog-close { float: right; }
.norththk-dialog-close button { width: 28px; height: 28px; border: 0; background: transparent; cursor: pointer; font-size: 22px; }
.norththk-quote-dialog label { display: grid; grid-template-columns: 120px 1fr; align-items: center; gap: 8px; margin-top: 8px; }
.norththk-quote-dialog input,
.norththk-quote-dialog textarea { padding: 5px; border: 1px solid #aaa; }
.norththk-quote-dialog textarea { min-height: 90px; resize: vertical; }
.norththk-quote-dialog button[type="submit"] { margin-top: 12px; padding: 6px 18px; color: #fff; border: 0; background: #e73f3f; cursor: pointer; }
.norththk-quote-status { margin-top: 10px; color: #c00; }

@media (max-width: 782px) {
	body.admin-bar #shortcut { top: 46px; }
}

@media (prefers-reduced-motion: reduce) {
	#topcontrol.norththk-back-to-top { transition: none; }
}
