:root{
	--bl-bg:#f3f5f7;
	--bl-card:#ffffff;
	--bl-ink:#1f2a37;
	--bl-slate:#1a3a52;
	--bl-muted:#5b6573;
	--bl-line:#e3e8ee;
	--bl-teal:#0e7490;
	--bl-teal-deep:#0c647d;
	--bl-wide:1220px;
	--bl-sb:300px;
	--bl-sans:"Nanum Gothic",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

*{
	box-sizing:border-box;
}
body{
	margin:0;
	background:var(--bl-bg);
	color:var(--bl-ink);
	font-family:var(--bl-sans);
	font-size:16px;
	line-height:1.7;
	display:flex;
	flex-direction:column;
	min-height:100vh;
	-webkit-font-smoothing:antialiased;
}
.bl-wrap{
	flex:1 0 auto;
}
img{
	max-width:100%;
	height:auto;
}
a{
	color:var(--bl-teal);
}
h1,h2,h3,h4,h5,h6{
	font-family:var(--bl-sans);
	color:var(--bl-slate);
	font-weight:800;
	line-height:1.35;
}

.bl-site-header{
	background:var(--bl-slate);
	color:#ffffff;
}
.bl-bar{
	max-width:var(--bl-wide);
	margin:0 auto;
	padding:0 24px;
	min-height:64px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1.5rem;
	flex-wrap:wrap;
}
.bl-brand a{
	color:#ffffff;
	text-decoration:none;
	font-weight:800;
	font-size:1.45rem;
	letter-spacing:.01em;
}
.bl-nav{
	display:flex;
	align-items:center;
	gap:.2rem;
	flex-wrap:wrap;
}
.bl-nav a{
	color:rgba(255,255,255,.82);
	text-decoration:none;
	font-weight:700;
	font-size:.92rem;
	padding:.5rem .7rem;
	border-bottom:2px solid transparent;
	transition:color .15s,border-color .15s;
}
.bl-nav a:hover{
	color:#ffffff;
	border-bottom-color:var(--bl-teal);
}

.bl-shell{
	max-width:var(--bl-wide);
	margin:0 auto;
	padding:2.4rem 24px 2.6rem;
	display:flex;
	gap:40px;
	align-items:flex-start;
}
.bl-primary{
	order:1;
	flex:1 1 auto;
	min-width:0;
}
.bl-sidebar{
	order:2;
	flex:0 0 var(--bl-sb);
	width:var(--bl-sb);
}
.bl-shell-single{
	display:block;
}

.bl-board{
	display:flex;
	flex-direction:column;
	gap:18px;
}
.bl-board-item{
	background:var(--bl-card);
	border:1px solid var(--bl-line);
	border-radius:8px;
	padding:1.6rem 1.7rem;
	transition:border-color .15s,box-shadow .15s;
}
.bl-board-item:hover{
	border-color:#c8d2dc;
	box-shadow:0 6px 18px rgba(26,58,82,.06);
}
.bl-board-meta{
	display:flex;
	align-items:center;
	gap:.7rem;
	margin-bottom:.7rem;
}
.bl-cat-badge{
	display:inline-block;
	background:var(--bl-teal);
	color:#ffffff;
	font-size:.72rem;
	font-weight:700;
	padding:.22rem .6rem;
	border-radius:4px;
	text-decoration:none;
	letter-spacing:.02em;
}
.bl-cat-badge:hover{
	background:var(--bl-teal-deep);
}
.bl-board-date{
	color:var(--bl-muted);
	font-size:.82rem;
}
.bl-board-title{
	font-size:1.32rem;
	font-weight:800;
	margin:0 0 .6rem;
	line-height:1.4;
}
.bl-board-title a{
	color:var(--bl-ink);
	text-decoration:none;
}
.bl-board-title a:hover{
	color:var(--bl-teal);
}
.bl-board-excerpt{
	color:var(--bl-ink);
	font-size:.95rem;
	line-height:1.75;
}
.bl-board-excerpt p{
	margin:0 0 .6rem;
}
.bl-board-excerpt p:last-child{
	margin-bottom:0;
}
.bl-board-more{
	display:inline-block;
	margin-top:.9rem;
	color:var(--bl-teal);
	font-weight:700;
	font-size:.88rem;
	text-decoration:none;
}
.bl-board-more:hover{
	color:var(--bl-teal-deep);
	text-decoration:underline;
}

.bl-pagination{
	display:flex;
	justify-content:space-between;
	gap:1rem;
	margin-top:1.8rem;
}
.bl-pagination a{
	color:var(--bl-teal);
	font-weight:700;
	text-decoration:none;
	font-size:.9rem;
}
.bl-pagination a:hover{
	color:var(--bl-teal-deep);
	text-decoration:underline;
}

.bl-article,
.bl-page{
	background:var(--bl-card);
	border:1px solid var(--bl-line);
	border-radius:8px;
	padding:2.4rem 2.5rem;
}
.bl-article-head{
	margin-bottom:1.4rem;
	padding-bottom:1.2rem;
	border-bottom:1px solid var(--bl-line);
}
.bl-article-meta{
	display:flex;
	align-items:center;
	gap:.7rem;
	margin-bottom:.9rem;
}
.bl-article-title{
	font-size:1.95rem;
	font-weight:800;
	margin:0;
	line-height:1.3;
}
.bl-page-title{
	font-size:1.95rem;
	font-weight:800;
	margin:0 0 1.3rem;
	padding-bottom:1.1rem;
	border-bottom:1px solid var(--bl-line);
	line-height:1.3;
}

.bl-content{
	color:var(--bl-ink);
	font-size:1rem;
	line-height:1.8;
}
.bl-content > *:first-child{
	margin-top:0;
}
.bl-content h1{
	font-size:1.8rem;
	margin:2rem 0 .9rem;
}
.bl-content h2{
	font-size:1.4rem;
	margin:2rem 0 .8rem;
}
.bl-content h3{
	font-size:1.15rem;
	margin:1.6rem 0 .6rem;
}
.bl-content p{
	margin:0 0 1.1rem;
}
.bl-content a{
	color:var(--bl-teal);
	text-decoration:underline;
}
.bl-content a:hover{
	color:var(--bl-teal-deep);
}
.bl-content ul,
.bl-content ol{
	margin:0 0 1.1rem;
	padding-left:1.4rem;
}
.bl-content li{
	margin-bottom:.4rem;
}
.bl-content img{
	border-radius:6px;
	margin:1rem 0;
}
.bl-content blockquote{
	margin:1.4rem 0;
	padding:.4rem 0 .4rem 1.1rem;
	border-left:3px solid var(--bl-teal);
	color:var(--bl-muted);
}
.bl-content table{
	width:100%;
	border-collapse:collapse;
	margin:1.2rem 0;
	font-size:.92rem;
}
.bl-content th,
.bl-content td{
	border:1px solid var(--bl-line);
	padding:.6rem .8rem;
	text-align:left;
}
.bl-content th{
	background:var(--bl-bg);
	color:var(--bl-slate);
	font-weight:700;
}

.bl-search-head{
	margin-bottom:1.6rem;
}
.bl-search-head h1{
	font-size:1.5rem;
	margin:0 0 .9rem;
}
.bl-search-form{
	display:flex;
	gap:.6rem;
}
.bl-search-form input{
	flex:1 1 auto;
	min-width:0;
	padding:.7rem .9rem;
	border:1px solid var(--bl-line);
	border-radius:6px;
	font-family:inherit;
	font-size:.95rem;
	background:var(--bl-card);
	color:var(--bl-ink);
}
.bl-search-form input:focus{
	outline:none;
	border-color:var(--bl-teal);
}
.bl-search-form button{
	flex:none;
	background:var(--bl-slate);
	color:#ffffff;
	border:none;
	padding:.7rem 1.3rem;
	border-radius:6px;
	font-family:inherit;
	font-weight:700;
	font-size:.9rem;
	cursor:pointer;
	transition:background .15s;
}
.bl-search-form button:hover{
	background:var(--bl-teal);
}

.bl-empty{
	background:var(--bl-card);
	border:1px solid var(--bl-line);
	border-radius:8px;
	padding:3rem 2rem;
	text-align:center;
}
.bl-empty h1{
	font-size:1.5rem;
	margin:0 0 .7rem;
}
.bl-empty p{
	color:var(--bl-muted);
	margin:0 0 1.4rem;
}
.bl-empty .bl-search-form{
	max-width:420px;
	margin:0 auto 1.4rem;
}

.bl-widget{
	background:var(--bl-card);
	border:1px solid var(--bl-line);
	border-radius:8px;
	overflow:hidden;
	margin-bottom:20px;
}
.bl-widget:last-child{
	margin-bottom:0;
}
.bl-widget-head{
	background:var(--bl-slate);
	color:#ffffff;
	font-weight:700;
	font-size:.92rem;
	letter-spacing:.03em;
	padding:.7rem 1.1rem;
}
.bl-widget-body{
	padding:.4rem 1.1rem 1rem;
}
.bl-cat-list,
.bl-recent-list{
	list-style:none;
	margin:0;
	padding:0;
}
.bl-cat-list li{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:.6rem;
	padding:.6rem 0;
	border-bottom:1px solid var(--bl-line);
	font-size:.9rem;
}
.bl-cat-list li:last-child{
	border-bottom:none;
}
.bl-cat-list a{
	color:var(--bl-ink);
	text-decoration:none;
}
.bl-cat-list a:hover{
	color:var(--bl-teal);
}
.bl-cat-count{
	flex:none;
	min-width:1.6rem;
	text-align:center;
	font-size:.72rem;
	font-weight:700;
	color:var(--bl-slate);
	background:var(--bl-bg);
	border-radius:4px;
	padding:.12rem .45rem;
	font-variant-numeric:tabular-nums;
}
.bl-recent-list li{
	padding:.7rem 0;
	border-bottom:1px solid var(--bl-line);
}
.bl-recent-list li:first-child{
	padding-top:.3rem;
}
.bl-recent-list li:last-child{
	border-bottom:none;
	padding-bottom:0;
}
.bl-recent-cat{
	display:inline-block;
	background:var(--bl-bg);
	color:var(--bl-teal);
	font-size:.66rem;
	font-weight:700;
	padding:.1rem .42rem;
	border-radius:4px;
	margin-bottom:.4rem;
	letter-spacing:.02em;
}
.bl-recent-list a{
	display:block;
	color:var(--bl-ink);
	text-decoration:none;
	font-size:.9rem;
	font-weight:600;
	line-height:1.5;
}
.bl-recent-list a:hover{
	color:var(--bl-teal);
}

.bl-site-footer{
	background:var(--bl-slate);
	color:rgba(255,255,255,.72);
	flex-shrink:0;
}
.bl-foot-inner{
	max-width:var(--bl-wide);
	margin:0 auto;
	padding:2.6rem 24px 1.8rem;
	display:flex;
	justify-content:space-between;
	gap:2.5rem;
	flex-wrap:wrap;
}
.bl-foot-brand{
	max-width:340px;
}
.bl-foot-logo{
	font-weight:800;
	font-size:1.3rem;
	color:#ffffff;
	margin-bottom:.7rem;
}
.bl-foot-desc{
	margin:0;
	color:rgba(255,255,255,.66);
	font-size:.88rem;
	line-height:1.65;
}
.bl-foot-cols{
	display:flex;
	gap:3rem;
	flex-wrap:wrap;
}
.bl-foot-col h3{
	color:#ffffff;
	font-size:.82rem;
	font-weight:700;
	letter-spacing:.04em;
	margin:0 0 .9rem;
}
.bl-foot-col ul{
	list-style:none;
	margin:0;
	padding:0;
}
.bl-foot-col li{
	margin-bottom:.5rem;
}
.bl-foot-col a{
	color:rgba(255,255,255,.72);
	text-decoration:none;
	font-size:.9rem;
}
.bl-foot-col a:hover{
	color:#ffffff;
}
.bl-foot-base{
	border-top:1px solid rgba(255,255,255,.12);
}
.bl-foot-base{
	max-width:var(--bl-wide);
	margin:0 auto;
	padding:1.2rem 24px 1.6rem;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:.8rem;
	flex-wrap:wrap;
}
.bl-foot-note{
	margin:0;
	color:rgba(255,255,255,.6);
	font-size:.8rem;
}
.bl-foot-copy{
	margin:0;
	color:rgba(255,255,255,.6);
	font-size:.8rem;
}

@media (max-width:921px){
	.bl-bar{
		flex-direction:column;
		align-items:flex-start;
		gap:.6rem;
		padding-top:.9rem;
		padding-bottom:.9rem;
	}
	.bl-nav{
		width:100%;
		gap:.2rem .4rem;
	}
	.bl-nav a{
		padding:.4rem .55rem;
	}
	.bl-shell{
		flex-direction:column;
		gap:1.8rem;
		padding-top:1.8rem;
		padding-left:20px;
		padding-right:20px;
	}
	.bl-primary{
		order:1;
		width:100%;
	}
	.bl-sidebar{
		order:2;
		flex-basis:auto;
		width:100%;
	}
	.bl-foot-inner{
		flex-direction:column;
		gap:1.8rem;
	}
	.bl-foot-base{
		flex-direction:column;
		align-items:flex-start;
		gap:.4rem;
	}
}

@media (max-width:600px){
	.bl-article,
	.bl-page{
		padding:1.5rem 1.4rem;
	}
	.bl-board-item{
		padding:1.3rem 1.3rem;
	}
	.bl-board-title{
		font-size:1.18rem;
	}
	.bl-article-title,
	.bl-page-title{
		font-size:1.55rem;
	}
	.bl-content h2{
		font-size:1.28rem;
	}
}