:root {
	--cn-bg: #ededf0;
	--cn-paper: #ffffff;
	--cn-text: #25262a;
	--cn-muted: #666a73;
	--cn-border: #dedee4;
	--cn-dark: #23252a;
	--cn-accent: #f08a00;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	color: var(--cn-text);
	background:
		linear-gradient(0deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.48)),
		repeating-linear-gradient(45deg, #ececf0 0, #ececf0 10px, #f2f2f6 10px, #f2f2f6 20px);
	font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.cn-site {
	max-width: 1280px;
	margin: 0 auto;
}

.cn-layout-full {
	max-width: 100%;
}

.cn-layout-framed {
	padding: 24px;
}

.cn-header,
.cn-main,
.cn-footer {
	background: var(--cn-paper);
}

.cn-topbar {
	border-bottom: 1px solid var(--cn-border);
}

.cn-topbar-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 16px;
	gap: 16px;
}

.cn-top-menu,
.cn-primary-menu,
.cn-footer-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.cn-top-menu a,
.cn-primary-menu a,
.cn-footer-menu a {
	color: inherit;
	text-decoration: none;
}

.cn-branding {
	padding: 22px 16px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.cn-branding img {
	max-width: 100%;
	height: auto;
}

.cn-site-title {
	margin: 0;
	font-size: 2rem;
}

.cn-main-nav {
	background: var(--cn-dark);
	border-bottom: 4px solid var(--cn-accent);
}

.cn-primary-menu {
	padding: 0 16px;
}

.cn-primary-menu a {
	color: #fff;
	padding: 14px 0;
	display: inline-block;
}

.cn-content-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 20px;
	padding: 20px 16px 28px;
}

.cn-content,
.cn-sidebar {
	background: var(--cn-paper);
}

.cn-section-header {
	margin-bottom: 16px;
	border-bottom: 2px solid var(--cn-border);
	padding-bottom: 8px;
}

.cn-list-item {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 16px;
	margin-bottom: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--cn-border);
}

.cn-list-thumb img,
.cn-card-image img,
.cn-single-image img {
	width: 100%;
	height: auto;
	display: block;
}

.cn-list-title,
.cn-card-title {
	margin: 0 0 8px;
	font-size: 1.35rem;
	line-height: 1.28;
}

.cn-list-excerpt {
	color: var(--cn-muted);
}

.cn-card {
	border: 1px solid var(--cn-border);
}

.cn-card-body {
	padding: 12px;
}

.cn-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
}

.cn-single-title {
	margin: 0 0 8px;
	font-size: 2rem;
	line-height: 1.2;
}

.cn-single-content {
	line-height: 1.75;
	font-size: 1.05rem;
}

.cn-sidebar .widget {
	border: 1px solid var(--cn-border);
	padding: 12px;
	margin-bottom: 14px;
}

.cn-footer {
	border-top: 1px solid var(--cn-border);
}

.cn-footer-widgets {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	padding: 20px 16px;
}

.cn-footer-bottom {
	border-top: 1px solid var(--cn-border);
	padding: 12px 16px 24px;
	color: var(--cn-muted);
	display: grid;
	gap: 10px;
}

.cn-builder-empty,
.cn-builder-block {
	border: 1px solid var(--cn-border);
	padding: 12px;
	margin-bottom: 12px;
	background: #fafafa;
}

.cn-search-form {
	display: flex;
	gap: 6px;
}

.cn-search-field {
	border: 1px solid var(--cn-border);
	padding: 6px 8px;
}

.cn-search-submit {
	border: 1px solid var(--cn-accent);
	background: var(--cn-accent);
	color: #fff;
	padding: 6px 10px;
	cursor: pointer;
}

@media (max-width: 985px) {
	.cn-content-wrap {
		grid-template-columns: 1fr;
	}

	.cn-list-item {
		grid-template-columns: 1fr;
	}

	.cn-footer-widgets {
		grid-template-columns: 1fr;
	}
}

