/*
 Theme Name:   GeneratePress Child - Traftor
 Template:     generatepress
 Version:      1.1.0
 Description:  Child theme for the Traftor multisite (EN + ZH). Replaces Bootstrap Canvas WP.
 Text Domain:  generatepress-child
*/

/* ---------- Base: Bootstrap 3 + old blog.css + old style.css, as rendered on the live site ---------- */
body {
	background: #fff;
	color: #333;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 1.42857143;
	word-wrap: break-word;
}
.one-container .site-content { padding: 0 15px; }
.one-container .container,
.separate-containers .inside-article { background: #fff; }

input, button, select, textarea, .button, .btn { font-family: inherit; }

a, a:visited { color: #af511a; text-decoration: none; border-bottom: 1px solid #e2c2af; }
a:hover, a:focus, a:active { color: #af511a; text-decoration: none; }
figure a, figure a:hover, a img, .traftor-logo, .traftor-card, .psgal a { border-bottom: 0; }

/* Bootstrap container: 1170 outer, 1140 content */
.grid-container, .site.grid-container { max-width: 1170px; }

/* Main content column: 18px / 1.5 (old .blog-main) */
.traftor-main { font-size: 18px; line-height: 1.5; }
.traftor-main p { margin: 0 0 10px; }
.traftor-main ul, .traftor-main ol { margin: 0 0 10px; padding-left: 40px; }
.traftor-main ul ul, .traftor-main ol ul, .traftor-main ul ol, .traftor-main ol ol { margin-bottom: 0; }
.traftor-main ul { list-style-type: disc; }
.traftor-main ul ul { list-style-type: circle; }
.traftor-main ul ul ul { list-style-type: square; }
.traftor-main li { margin-bottom: 0; }

/* Headings */
h1, h2, h3, h4, h5, h6 { font-family: Oswald, Arial, Helvetica, sans-serif; font-weight: 500; margin-top: 0; margin-bottom: 10px; line-height: 1.1; color: inherit; }
h3, h4, h5, h6 { font-family: Arial, Helvetica, sans-serif; }
/* Content pages on live use Oswald for h3-h6 (not loaded there, so the browser's sans-serif shows) */
.traftor-narrow h3, .traftor-narrow h4, .traftor-narrow h5, .traftor-narrow h6, .traftor-blog h3, .traftor-blog h4, .traftor-wide h3, .traftor-wide h4 { font-family: Oswald, sans-serif; }
h1 {
	text-align: center;
	text-transform: uppercase;
	color: #444;
	font-size: 1.8em;
	font-weight: 700;
	line-height: 120%;
	margin: 35px 0;
}
h2 { font-size: 1.2em; line-height: 1.6em; color: #333; }
h3 { font-size: 24px; }
h4 { font-size: 18px; }
.traftor-main h3 { color: #c9672e; font-size: 1.2em; line-height: 1.6em; font-weight: 700; margin: 20px 0 10px; }
.traftor-home h3 { font-size: 24px; line-height: 1.1; font-weight: 500; margin: 20px 0 10px; }
h2 strong { background: #ffebc3; }
h2 .label-info, .label-info {
	display: block;
	background: none;
	color: #999;
	font-weight: normal;
	font-style: italic;
	font-size: 66%;
	line-height: 1;
	margin-top: 20px;
	padding: 0;
	text-transform: uppercase;
}

/* Page titles have a rule underneath (old .blog-post-title) */
.blog-post-title { padding-bottom: .5em; border-bottom: 1px solid #666; color: #555; }
.traftor-home .blog-post-title { border-bottom: 0; }

/* Bootstrap clearfix on .entry (live): stops margins collapsing through the content box */
.entry.clearfix:before, .entry.clearfix:after { content: " "; display: table; }
.entry.clearfix:after { clear: both; }
.traftor-main .entry.clearfix { margin-bottom: 20px; }
.traftor-main .entry-content > p:last-child, .traftor-main .entry > p:last-child { margin-bottom: 10px; }
img { vertical-align: middle; }
blockquote { padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; font-style: normal; border-left: 5px solid #eee; line-height: 1.5; }
blockquote p:last-child { margin-bottom: 0; }
.alignleft { float: left; margin: 5px 20px 20px 0; }
.alignright { float: right; margin: 5px 0 20px 20px; }
.aligncenter { display: block; margin: 5px auto; }
.alignnone { margin: 5px auto 20px 0; }
.wp-caption { max-width: 96%; padding: 5px 3px 10px; text-align: center; border: 1px solid #f0f0f0; background: #fff; }
.wp-caption { margin: 5px auto; }
.wp-caption { max-width: 100% !important; }
figure.wp-caption { box-sizing: border-box; }
.wp-caption img { max-width: 98.5% !important; height: auto; margin: 0; padding: 0; }
.wp-caption-text, .gallery-caption, .wp-caption .wp-caption-text, figure.wp-caption figcaption { font-size: 11px; line-height: 17px; margin: 0; padding: 0 4px 5px; text-align: center; }

/* ---------- Header (measured on live: 191px tall, logo 30px from top) ---------- */
.traftor-header { background: #fff; }
.traftor-header .inside-header {
	display: block;
	position: relative;
	padding: 30px 15px 20px;
}
.traftor-header .inside-header:after { content: ""; display: table; clear: both; }
.traftor-brand { float: left; }
.traftor-logo { display: block; margin: 0 0 10px; border: 0; }
.traftor-logo img { width: 230px; height: auto; display: block; }
.traftor-tagline {
	clear: left;
	margin: 0;
	color: #999;
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
}
.traftor-baseline {
	float: right;
	margin: 50px 0 0 10px;
	font-family: Oswald, Arial, Helvetica, sans-serif;
	font-size: 21px;
	font-weight: 700;
	line-height: 22px;
	color: #555;
	text-transform: uppercase;
	text-align: left;
}
.traftor-baseline span { color: #a0a0a0; font-weight: 500; }
.traftor-lang-mobile { display: none; text-align: center; margin: 7px; }
.main-navigation .traftor-nav-brand, .main-navigation .inside-navigation > .traftor-nav-brand { display: none !important; }

/* ---------- Navigation (yellow bar, Bootstrap navbar look) ---------- */
.main-navigation,
.main-navigation ul ul { background: #ffba20; }
.main-navigation .inside-navigation { padding: 0 15px !important; min-height: 40px; }
.main-navigation .main-nav ul li a { transition: none; }
.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items {
	color: #aa4f12;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	line-height: 20px;
	padding: 10px 15px;
	border: 0;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus > a,
.main-navigation .main-nav ul li.sfHover > a,
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li a:focus,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a,
.main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a,
.main-navigation .menu-bar-item:hover > a,
.main-navigation .menu-bar-item.sfHover > a { color: #fff !important; background: transparent !important; }
.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a:hover {
	color: #fff;
	background: #aa4f12;
	position: relative;
}
.main-navigation .main-nav > ul > li[class*="current-menu-"] > a:after {
	content: " ";
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -5px;
	border-right: 5px solid transparent;
	border-bottom: 5px solid #fff;
	border-left: 5px solid transparent;
}
.main-navigation .main-nav ul ul li a { padding-top: 10px; padding-bottom: 10px; }

/* ---------- Breadcrumbs ---------- */
.breadcrumbs { text-align: right; margin: 15px 0 0; font-size: 14px; line-height: 20px; }
.breadcrumbs a { border-bottom: 0; }

/* ---------- Content widths (old Bootstrap columns) ---------- */
.traftor-narrow { max-width: 750px; margin: 0 auto; }           /* col-sm-8 offset 2 */
.traftor-single .traftor-wide { max-width: 848px; margin: 0 auto 0 97.5px; display: flow-root; } /* col-sm-9 offset 1 */

/* ---------- Product / resource cards (live: a.entry) ---------- */
.traftor-list .blog-post-title { margin-top: 35px; }
.traftor-card, .traftor-card:visited {
	display: block;
	padding: 18px;
	margin-bottom: 20px;
	color: #af511a;
	box-shadow: 1px 1px 8px #e6e6e6;
	border-bottom: 1px solid #e2c2af;
	transition: box-shadow .2s, background .2s;
}
.traftor-card:hover { box-shadow: 1px 2px 12px #c6c6c6; background: #fafafa; color: #af511a; }
.traftor-card .featured { float: left; width: 150px; margin-right: 20px; }
.traftor-card .featured img { display: block; width: 150px; height: auto; max-width: 100%; padding: 4px; margin-bottom: 20px; line-height: 1.42857143; background: #fff; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; }
.page-template-page-templatestransformers-php .traftor-card h2:first-child, .page-template-page-templatesinductors-php .traftor-card h2:first-child { margin-top: 20px !important; }
.traftor-card h2 { margin: 0 0 10px; color: #c9672e; text-align: left; text-transform: none; font-size: 1.2em; line-height: 1.6em; }
.traftor-card p, .traftor-card .entry-content p:last-child { color: #333; margin: 0 0 10px; }
.traftor-card .entry-content, .traftor-main .entry-content, .traftor-main .entry { margin-top: 0; }
.traftor-single .related {
	margin: 56px -15px 0;
	padding: 14px;
	font-size: 14px;
	line-height: 20px;
	box-shadow: 1px 2px 12px #c6c6c6;
	background: #fafafa;
}
.traftor-single .related > * { max-width: 750px; margin-left: auto; margin-right: auto; }
.traftor-single .related .traftor-card { box-shadow: none; padding: 0; margin-bottom: 0; border-bottom: 0; }
.traftor-single .related .traftor-card:hover { box-shadow: none; background: none; }
.traftor-single .related h2 { font-size: 16.8px; line-height: 26.88px; margin: 20px 0 10px; }
.traftor-single .related p { margin: 0 0 10px; }

/* ---------- News, posts, default pages (live: col-sm-8 + col-sm-3 offset-1 sidebar) ---------- */
.traftor-row { display: flex; flex-wrap: wrap; align-items: flex-start; margin-right: -15px; }
.traftor-col-main { width: 750px; max-width: 100%; }
.traftor-col-main.traftor-col-full { width: calc(100% - 15px); }
.traftor-sidebar { width: 292.5px; min-height: 136px; margin: 28px 0 0 112.5px; padding: 0 15px; background: #f3f3f3; box-sizing: border-box; }
.traftor-col-full + .traftor-sidebar { margin-left: auto; }
.traftor-sidebar .sidebar-module { margin: 0 -15px 15px; padding: 15px; }
.traftor-sidebar .search-form { display: block; }
.traftor-sidebar .form-control, .traftor-sidebar .search-field { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 20px; color: #555; background: #fff; border: 1px solid #ccc; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0,0,0,.075); box-sizing: border-box; }
.traftor-sidebar .btn { display: inline-block; height: 34px; margin-top: 4px; padding: 6px 12px; font-size: 14px; line-height: 20px; color: #333; background: #fff; border: 1px solid #ccc; border-radius: 4px; cursor: pointer; }
.traftor-sidebar .btn:hover { background: #e6e6e6; border-color: #adadad; }
.traftor-sidebar .search-submit, .traftor-sidebar button { display: inline-block; margin-top: 0; padding: 6px 12px; font-size: 14px; line-height: 20px; color: #333; background: #fff; border: 1px solid #ccc; border-radius: 4px; }
.traftor-blog .blog-post h2 { font-size: 1.2em; line-height: 1.6em; font-weight: 500; color: #c9672e; text-align: left; text-transform: none; margin: 20px 0 10px; }
.traftor-blog .blog-post h2 a { color: #af511a; border-bottom: 1px solid #e2c2af; }
.traftor-blog h1.traftor-post-title { font-size: 1.2em; line-height: 1.6em; font-weight: 500; color: #555; text-align: left; text-transform: none; margin: 20px 0 10px; padding-bottom: .5em; border-bottom: 1px solid #666; }
.traftor-main .blog-post-meta { font-size: 18px; line-height: 27px; color: #333; margin: 0 0 10px; }
.traftor-ico { width: 18px; height: 18px; vertical-align: -2px; color: #333; }
.traftor-blog .entry img { max-width: 100%; height: auto; }
.traftor-main figure.wp-block-image { margin: 0 0 10px; } /* live: inline image leaves 10px under each block image */
.blog .traftor-blog .entry *, .archive .traftor-blog .entry *, .search .traftor-blog .entry * { font-family: sans-serif; font-size: 15px; line-height: 1.5; color: #555; font-weight: normal; text-align: left; }
.pager, .traftor-main ul.pager { padding-left: 0 !important; margin: 20px 0 55px; list-style: none !important; text-align: left; }
.pager li { display: inline; }
.pager li > a { display: inline-block; padding: 10px 20px; margin: 0 4px 5px 0; background: #fff; border: 0; border-radius: 30px; }
.pager:after { content: ""; display: table; clear: both; }

/* ---------- Bootstrap bits used in older content ---------- */
.lead { margin-bottom: 20px; font-size: 21px; font-weight: 300; line-height: 1.4; }
.well { min-height: 20px; padding: 19px; margin-bottom: 20px; background: #f5f5f5; border: 1px solid #e3e3e3; border-radius: 4px; }
.btn { display: inline-block; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; text-align: center; border: 1px solid #ccc; border-radius: 4px; background: #fff; color: #333; }

pre { display: block; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 1.42857143; color: #333; background: #f5f5f5; border: 1px solid #ccc; border-radius: 4px; padding: 9.5px; margin: 0 0 10px; white-space: pre; word-break: break-all; word-wrap: break-word; overflow: auto; }
.table { width: 100%; max-width: 100%; margin-bottom: 20px; border-collapse: collapse; background: transparent; }
.table > thead > tr > th, .table > tbody > tr > th, .table > tbody > tr > td, .table > tfoot > tr > td, .table td, .table th { padding: 8px; line-height: 1.42857143; vertical-align: top; border: 0; border-top: 1px solid #ddd; }
.table-condensed td, .table-condensed th, .table.table-condensed > tbody > tr > td, .table.table-condensed > tbody > tr > th { padding: 4px; }
.table-bordered, .table-bordered td, .table-bordered th, .table.table-bordered > tbody > tr > td, .table.table-bordered > tbody > tr > th { border: 1px solid #ddd; }
.table-bordered > tbody > tr > td, .table-bordered > tbody > tr > th, .table-bordered > thead > tr > th { text-align: center; }
.form-control { display: block; width: 100%; height: 34px; padding: 6px 12px; font-size: 14px; line-height: 1.42857143; color: #555; background: #fff; border: 1px solid #ccc; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0,0,0,.075); box-sizing: border-box; }
textarea.form-control { height: auto; }
.table-striped > tbody > tr:nth-of-type(odd) { background-color: #f9f9f9; }

/* ---------- Forms in content (Bootstrap .form-control look) ---------- */
.traftor-main input[type="text"], .traftor-main input[type="email"], .traftor-main input[type="tel"], .traftor-main input[type="url"], .traftor-main input[type="number"], .traftor-main select, .traftor-main textarea, .traftor-sidebar label { font-size: 14px; line-height: 20px; color: #555; }
.traftor-main input[type="text"], .traftor-main input[type="email"], .traftor-main input[type="tel"], .traftor-main input[type="url"], .traftor-main input[type="number"], .traftor-main select, .traftor-main textarea { padding: 6px 12px; background: #fff; border: 1px solid #ccc; border-radius: 4px; }
.traftor-main table:not(.tablepress) td { line-height: 1.42857143; }
.traftor-main input, .traftor-main select, .traftor-main textarea { font-size: 14px; }
/* The old theme turned every content table into a Bootstrap .table.table-bordered with JavaScript */
.traftor-main table:not(.tablepress) { max-width: 100%; margin-bottom: 20px; border: 1px solid #ddd; border-collapse: collapse; }
.traftor-main table:not(.tablepress) td, .traftor-main table:not(.tablepress) th { padding: 4px; line-height: 1.42857143; vertical-align: top; border: 1px solid #ddd; text-align: center; }

/* ---------- Tables (TablePress, as live) ---------- */
.tablepress { clear: both; width: 100%; margin: 0 !important; font-size: 12px !important; border: 1px solid #ddd; border-collapse: collapse; }
.tablepress th, .tablepress td { text-align: center !important; vertical-align: middle; font-size: 12px !important; line-height: 1.42857143; padding: 4px !important; border: 1px solid #ddd !important; }
.tablepress td { color: #111; }
.tablepress thead th, .tablepress thead td, .tablepress tfoot th,
.tablepress thead th:first-child, .tablepress .row-1 th, .tablepress .row-1 td { background-color: #555 !important; color: #eee !important; font-weight: 700; border-top: 0 !important; border-bottom: 2px solid #ddd !important; }

/* ---------- Pre-footer (yellow band) ---------- */
.traftor-prefooter {
	background: #f8b636;
	margin-top: 28px;
	padding: 0 15px;
}
.traftor-prefooter .entry { margin: 0 0 20px; }
.traftor-prefooter .row { padding-bottom: 7px; }
.traftor-prefooter:after { content: ""; display: table; }
.traftor-prefooter:after { clear: both; }
.page-template-page-templatesproducts-php .traftor-prefooter .entry, .page-template-page-templatesresources-php .traftor-prefooter .entry, .page-template-page-templatesinductors-php .traftor-prefooter .entry, .page-template-page-templatestransformers-php .traftor-prefooter .entry { padding: 14px; }
.traftor-prefooter.grid-container { max-width: 1170px; padding-left: 15px; padding-right: 15px; box-sizing: border-box; }
.traftor-main h1.entry-title, .traftor-main h1 { margin: 35px 0; }
.traftor-prefooter { font-size: 14px; line-height: 20px; }
.traftor-prefooter p { margin: 0 0 10px; }
.traftor-prefooter h3 { font-family: Oswald, Arial, Helvetica, sans-serif; color: #c9672e; font-size: 24px; font-weight: 500; line-height: 1.1; margin: 20px 0 10px; }
/* Standard content pages (Full Width template) used a smaller bold heading on the old site */
.page-template-page-templatesfull-width-php .traftor-prefooter h3 { font-size: 16.8px; font-weight: 700; line-height: 1.6; }
.page-template-page-templatesproducts-php .traftor-prefooter h3, .page-template-page-templatesresources-php .traftor-prefooter h3, .page-template-page-templatesinductors-php .traftor-prefooter h3, .page-template-page-templatestransformers-php .traftor-prefooter h3 { font-size: 24px; font-weight: 500; line-height: 1.1; }
.traftor-prefooter a { background: #fff; padding: 5px; border-bottom: 0; }

/* ---------- Footer (brown) - measured on live: 14px padding, 4 x 292.5px columns, 15px module padding ---------- */
.site-footer {
	background: #af511a url(img/bg-footer.png) bottom right no-repeat;
	color: #fff;
}
.site-footer .footer-widgets,
.site-footer .site-info {
	background: transparent;
	color: #fff;
}
.site-footer .footer-widgets {
	padding: 14px 0 0;
	border: 0;
}
.site-footer .footer-widgets-container { max-width: 1170px; padding: 0 !important; }
.site-footer .footer-widgets .inside-footer-widgets { display: flex; padding: 0; margin: 0; }
.site-footer .footer-widgets .inside-footer-widgets > div { flex: 0 0 25%; width: 25%; padding: 0 15px !important; margin: 0 !important; box-sizing: border-box; }
.site-footer .footer-widgets .widget { padding: 15px !important; margin: 0 0 15px !important; font-size: 14px; line-height: 20px; }
.site-footer a, .site-footer a:visited, .site-footer a:hover, .site-footer a:focus,
.site-footer h4, .site-footer .widget-title { color: #fff; }
.site-footer a { border-bottom: 1px solid rgba(255,255,255,.6); }
.site-footer .widget-title { font-family: Oswald, Arial, Helvetica, sans-serif; font-weight: 700; font-size: 18px; line-height: 1.1; text-transform: none; margin: 10px 0; }
.site-footer .widget ul { list-style: none; margin: 0; padding: 0; }
.site-footer .widget ul li { margin-bottom: 0; padding: 0; }
.site-footer .footer-widgets .widget p { margin: 0 0 10px; }
.site-footer .footer-widgets .widget p:last-child { margin-bottom: 0; }
.site-footer .site-info { text-align: center; font-size: 14px; line-height: 20px; padding: 0; }
.site-footer .inside-site-info { display: block; max-width: none; padding: 0 14px 14px !important; }
.site-footer .copyright-bar { text-align: center; line-height: 20px; margin: 0; width: 100%; }
.site-footer .traftor-company { display: block; margin-bottom: 10px; }
.site-footer .copyright-bar br { display: none; }

/* ---------- Homepage ---------- */
.traftor-home .entry-content h2 { color: #333; text-transform: uppercase; text-align: center; margin: 0; }
.traftor-home .entry-content h2 span:not(.label-info) { color: #808080; }
.traftor-home .products { margin-bottom: 2em; }
.traftor-home .products > div > div {
	height: 100%;
	text-align: center;
	font-size: 18px;
	padding: 18px;
	border: 1px solid #ccc;
	border-top: 4px solid #333;
	background: rgba(199, 199, 199, 0.15);
	box-shadow: 0 4px 10px rgba(34, 34, 34, 0.08);
	box-sizing: border-box;
}
.traftor-home .products h2 { margin: 1em; }
.traftor-home .products ul { font-size: 14px; line-height: 1.5; text-align: left; margin: 0 0 10px; }
.traftor-home .products > div { margin-bottom: 30px; }
.traftor-home .gallery { margin-bottom: 2em; }
.traftor-home .gallery-item img { border: 0; }

/* ---------- Bootstrap 3 grid used in older content (home boxes, pre-footer) ---------- */
.entry .row, .entry-content .row { margin-left: -15px; margin-right: -15px; }
.entry .row:after, .entry-content .row:after { content: ""; display: table; clear: both; }
.entry [class*="col-"], .entry-content [class*="col-"] { position: relative; min-height: 1px; padding-left: 15px; padding-right: 15px; box-sizing: border-box; }
.entry .col-xs-1, .entry-content .col-xs-1 { float: left; width: 8.333333%; }
.entry .col-xs-2, .entry-content .col-xs-2 { float: left; width: 16.666667%; }
.entry .col-xs-3, .entry-content .col-xs-3 { float: left; width: 25.000000%; }
.entry .col-xs-4, .entry-content .col-xs-4 { float: left; width: 33.333333%; }
.entry .col-xs-5, .entry-content .col-xs-5 { float: left; width: 41.666667%; }
.entry .col-xs-6, .entry-content .col-xs-6 { float: left; width: 50.000000%; }
.entry .col-xs-7, .entry-content .col-xs-7 { float: left; width: 58.333333%; }
.entry .col-xs-8, .entry-content .col-xs-8 { float: left; width: 66.666667%; }
.entry .col-xs-9, .entry-content .col-xs-9 { float: left; width: 75.000000%; }
.entry .col-xs-10, .entry-content .col-xs-10 { float: left; width: 83.333333%; }
.entry .col-xs-11, .entry-content .col-xs-11 { float: left; width: 91.666667%; }
.entry .col-xs-12, .entry-content .col-xs-12 { float: left; width: 100.000000%; }
@media (min-width: 768px) {
	.entry .col-sm-1, .entry-content .col-sm-1 { float: left; width: 8.333333%; }
	.entry .col-sm-2, .entry-content .col-sm-2 { float: left; width: 16.666667%; }
	.entry .col-sm-3, .entry-content .col-sm-3 { float: left; width: 25.000000%; }
	.entry .col-sm-4, .entry-content .col-sm-4 { float: left; width: 33.333333%; }
	.entry .col-sm-5, .entry-content .col-sm-5 { float: left; width: 41.666667%; }
	.entry .col-sm-6, .entry-content .col-sm-6 { float: left; width: 50.000000%; }
	.entry .col-sm-7, .entry-content .col-sm-7 { float: left; width: 58.333333%; }
	.entry .col-sm-8, .entry-content .col-sm-8 { float: left; width: 66.666667%; }
	.entry .col-sm-9, .entry-content .col-sm-9 { float: left; width: 75.000000%; }
	.entry .col-sm-10, .entry-content .col-sm-10 { float: left; width: 83.333333%; }
	.entry .col-sm-11, .entry-content .col-sm-11 { float: left; width: 91.666667%; }
	.entry .col-sm-12, .entry-content .col-sm-12 { float: left; width: 100.000000%; }
}
@media (min-width: 992px) {
	.entry .col-md-1, .entry-content .col-md-1 { float: left; width: 8.333333%; }
	.entry .col-md-2, .entry-content .col-md-2 { float: left; width: 16.666667%; }
	.entry .col-md-3, .entry-content .col-md-3 { float: left; width: 25.000000%; }
	.entry .col-md-4, .entry-content .col-md-4 { float: left; width: 33.333333%; }
	.entry .col-md-5, .entry-content .col-md-5 { float: left; width: 41.666667%; }
	.entry .col-md-6, .entry-content .col-md-6 { float: left; width: 50.000000%; }
	.entry .col-md-7, .entry-content .col-md-7 { float: left; width: 58.333333%; }
	.entry .col-md-8, .entry-content .col-md-8 { float: left; width: 66.666667%; }
	.entry .col-md-9, .entry-content .col-md-9 { float: left; width: 75.000000%; }
	.entry .col-md-10, .entry-content .col-md-10 { float: left; width: 83.333333%; }
	.entry .col-md-11, .entry-content .col-md-11 { float: left; width: 91.666667%; }
	.entry .col-md-12, .entry-content .col-md-12 { float: left; width: 100.000000%; }
}
.entry .img-responsive, .entry-content .img-responsive { display: block; max-width: 100%; height: auto; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

/* Galleries: images keep their natural size (max = column width), as on live */
.psgal figure img { width: auto !important; max-width: 100%; height: auto !important; }
/* Large-size galleries (data centers, SST) keep the original masonry layout, as on live. */
.psgal.gallery-size-large { padding-bottom: 5px !important; }
/* The other galleries are laid out as a tidy grid (agreed with the client): photos in a row
   share one bottom line and every caption sits directly under its photo. */
.psgal:not(.gallery-size-large) { display: grid !important; grid-template-columns: repeat(auto-fit, 300px); justify-content: center; column-gap: 0; row-gap: 20px; width: auto !important; max-width: 100%; height: auto !important; margin: 0 auto 20px !important; padding-bottom: 0 !important; }
.psgal:not(.gallery-size-large) figure.msnry_items { position: static !important; left: auto !important; top: auto !important; transform: none !important; display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 6px; width: 300px !important; margin: 0 !important; }
.psgal:not(.gallery-size-large) figure.msnry_items a { display: block; height: auto !important; align-self: end; }
.psgal:not(.gallery-size-large) figure.msnry_items figcaption { align-self: start; margin: 0; }

/* PhotoSwipe buttons */
.pswp .btn, .pswp .btn-default { background: none !important; border: 0 !important; }

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
	/* Live (Bootstrap) mobile header: baseline on top, then logo + tagline, all left aligned */
	.traftor-header .inside-header { display: flex; flex-direction: column; align-items: flex-start; text-align: left; padding: 15px 15px 10px; }
	.traftor-baseline { order: -1; float: none; margin: 0 0 20px; text-align: left; }
	.traftor-brand { float: none; }
	.traftor-logo img { margin: 0; width: 190px; }
	.traftor-tagline { font-size: 12px; }
	/* Navbar: site name left, bordered toggle button right */
	.main-navigation .inside-navigation { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; min-height: 42px; }
	.main-navigation .inside-navigation > .traftor-nav-brand { display: block !important; }
	.traftor-nav-brand { color: #aa4f12 !important; font-size: 16px; line-height: 20px; padding: 11px 0; border: 0; }
	.main-navigation .menu-toggle { width: auto; flex: 0 0 auto; padding: 4px 10px; margin: 4px 0; border: 1px solid #aa4f12; border-radius: 4px; line-height: 20px; background: transparent; }
	.main-navigation .menu-toggle .mobile-menu { display: none; }
	.main-navigation .main-nav { flex: 0 0 100%; }
	.traftor-lang-mobile { display: block; }
	.traftor-col-main, .traftor-sidebar { width: 100%; margin-left: 0; }
	.traftor-single .traftor-wide { margin-left: auto; }
	.traftor-card .featured { width: 100px; margin-right: 12px; }
	p { font-size: 14px; }
}
@media (max-width: 992px) {
	.site-footer { background-image: none; }
}

/* ZH version: explicit Chinese font stack (system fonts only, no Google Fonts).
   Latin characters keep Arial; Chinese characters use PingFang SC / Microsoft YaHei / Noto Sans SC. */
body.traftor-zh,
body.traftor-zh :is(h1,h2,h3,h4,h5,h6,p,a,li,dt,dd,td,th,caption,span,div,strong,b,em,i,small,label,input,button,select,textarea,figcaption,blockquote,.button,.btn):not(#wpadminbar, #wpadminbar *, .dashicons, [class*="dashicons-"]) {
	font-family: Arial, Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", sans-serif !important;
}