@charset "utf-8";
/* Base */

* {
	box-sizing: border-box;
}

body {
	font-family: Arial, Helvetica, "微軟正黑體", sans-serif;
	font-size: 15px;
}

a {
	text-decoration: none;
	color: #666;
}

a:hover {
	color: #2ea3f2;
}

/* Tools */

.fix-float {
	display: block;
	clear: both;
}

.row {
	margin-left: -20px;
	margin-right: -20px;
}

/* Layout */

.wrap {
	width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 71px;
}

.main, .sidebar {
	float: left;
	padding: 20px;
}

.main {
	width: 66.66666%;
	border-right: solid 1px #ddd;
}

.sidebar {
	width: 33.33333%;
}

/* Component */

.post-list {
	padding: 0;
	list-style-type: none;
}

.post-item {
	margin-bottom: 40px;
}

.post-head {
	margin-bottom: 15px;
}

.post-media, .widget-media {
	float: left;
}

.post-media {
	width: 40%;
}

.post-content {
	margin-left: 43%;
}

.post-img, .widget-img {
	display: block;
	width: 100%;
}

a .post-img:hover, a .widget-img:hover {
	opacity: .7;
}

.post-title {
	font-size: 30px;
	font-weight: 600;
	line-height: 1.3;
}

.post-meta {
	margin-bottom: 15px;
}

.post-date, .post-category, .post-author {
	padding-right: 15px;
	margin-right: 10px;
	border-right: solid 1px #aaa;
}

.post-date {
	font-style: italic;
}

.post-author {
	border-right: none;
}

.post-desc {
	line-height: 1.6;
	text-align: justify;
	color: #666;
}

.widget-title {
	margin-bottom: 15px;
	font-size: 20px;
	color: #999;
}

.widget-item {
	margin-bottom: 20px;
}

.widget-media {
	width: 30%;
}

.widget-content {
	margin-left: 33%;
}

.widget-list-title {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

.main-single .post-content {
	margin-left: 0;
}

.main-single .post-media {
	width: 100%;
	margin-bottom: 20px;
}

.main-single .post-desc {
	margin-bottom: 20px;
}

.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
	justify-content: space-between;
	border-bottom: solid 1px #ddd;
	background-color: #fff;
}

.site, .navi {
	padding: 20px;
}

.site {
	font-size: 30px;
}

.navi {
	display: flex;
}

.navi li {
	margin-left: 20px;
}

.navi a {
	display: inline-block;
	line-height: 30px;
}