@import url("fontawesome-all.min.css");
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,900,300italic");

/*
	Dopetrope by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input, select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

/* Basic */

	html {
		box-sizing: border-box;
	}

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

	body {
		background: #252122;
		background-image: url("images/bg02.png");
	}

		body.is-preload *, body.is-preload *:before, body.is-preload *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

	body, input, textarea, select {
		font-family: 'Source Sans Pro';
		font-weight: 300;
		color: #5d5d5d;
		font-size: 14pt;
		line-height: 1.75em;
	}

	strong, b {
		color: #252122;
		font-weight: 400;
	}

	i, em {
		font-style: italic;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #252122;
		font-weight: 700;
	}

	h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
		color: inherit;
		text-decoration: none;
	}

	h2 {
		font-size: 1.5em;
	}

	h3 {
		font-size: 1.35em;
	}

	a {
		color: #d52349;
		text-decoration: underline;
	}

		a:hover {
			text-decoration: none;
		}

	br.clear {
		clear: both;
	}

	hr {
		border: 0;
		border-top: solid 1px #dddddd;
		height: 1px;
		margin: 2em 0 2em 0;
	}

	p, ul, ol, dl, table {
		margin-bottom: 2em;
	}

/* Container */

	.container {
		margin: 0 auto;
		max-width: 100%;
		width: 70em;
	}

		@media screen and (max-width: 1680px) {

			.container {
				width: 70em;
			}

		}

		@media screen and (max-width: 1280px) {

			.container {
				width: calc(100% - 60px);
			}

		}

		@media screen and (max-width: 980px) {

			.container {
				width: calc(100% - 80px);
			}

		}

		@media screen and (max-width: 736px) {

			.container {
				width: calc(100% - 40px);
			}

		}

/* Row */

	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

		.row > * {
			box-sizing: border-box;
		}

		.row > .col-1 {
			width: 8.33333%;
		}

		.row > .col-2 {
			width: 16.66667%;
		}

		.row > .col-3 {
			width: 25%;
		}

		.row > .col-4 {
			width: 33.33333%;
		}

		.row > .col-5 {
			width: 41.66667%;
		}

		.row > .col-6 {
			width: 50%;
		}

		.row > .col-7 {
			width: 58.33333%;
		}

		.row > .col-8 {
			width: 66.66667%;
		}

		.row > .col-9 {
			width: 75%;
		}

		.row > .col-10 {
			width: 83.33333%;
		}

		.row > .col-11 {
			width: 91.66667%;
		}

		.row > .col-12 {
			width: 100%;
		}

		.row.gtr-0 {
			margin-top: 0px;
			margin-left: 0px;
		}

			.row.gtr-0 > * {
				padding: 0px 0 0 0px;
			}

		.row {
			margin-top: -50px;
			margin-left: -50px;
		}

			.row > * {
				padding: 50px 0 0 50px;
			}

		@media screen and (max-width: 1680px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row > .col-1-xlarge {
					width: 8.33333%;
				}

				.row > .col-2-xlarge {
					width: 16.66667%;
				}

				.row > .col-3-xlarge {
					width: 25%;
				}

				.row > .col-4-xlarge {
					width: 33.33333%;
				}

				.row > .col-5-xlarge {
					width: 41.66667%;
				}

				.row > .col-6-xlarge {
					width: 50%;
				}

				.row > .col-7-xlarge {
					width: 58.33333%;
				}

				.row > .col-8-xlarge {
					width: 66.66667%;
				}

				.row > .col-9-xlarge {
					width: 75%;
				}

				.row > .col-10-xlarge {
					width: 83.33333%;
				}

				.row > .col-11-xlarge {
					width: 91.66667%;
				}

				.row > .col-12-xlarge {
					width: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

				.row {
					margin-top: -50px;
					margin-left: -50px;
				}

					.row > * {
						padding: 50px 0 0 50px;
					}
		}

		@media screen and (max-width: 1280px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row > .col-1-large {
					width: 8.33333%;
				}

				.row > .col-2-large {
					width: 16.66667%;
				}

				.row > .col-3-large {
					width: 25%;
				}

				.row > .col-4-large {
					width: 33.33333%;
				}

				.row > .col-5-large {
					width: 41.66667%;
				}

				.row > .col-6-large {
					width: 50%;
				}

				.row > .col-7-large {
					width: 58.33333%;
				}

				.row > .col-8-large {
					width: 66.66667%;
				}

				.row > .col-9-large {
					width: 75%;
				}

				.row > .col-10-large {
					width: 83.33333%;
				}

				.row > .col-11-large {
					width: 91.66667%;
				}

				.row > .col-12-large {
					width: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

				.row {
					margin-top: -30px;
					margin-left: -30px;
				}

					.row > * {
						padding: 30px 0 0 30px;
					}
		}

		@media screen and (max-width: 980px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row > .col-1-medium {
					width: 8.33333%;
				}

				.row > .col-2-medium {
					width: 16.66667%;
				}

				.row > .col-3-medium {
					width: 25%;
				}

				.row > .col-4-medium {
					width: 33.33333%;
				}
				.row > .col-5-medium {
					width: 41.66667%;
				}

				.row > .col-6-medium {
					width: 50%;
				}

				.row > .col-7-medium {
					width: 58.33333%;
				}

				.row > .col-8-medium {
					width: 66.66667%;
				}

				.row > .col-9-medium {
					width: 75%;
				}

				.row > .col-10-medium {
					width: 83.33333%;
				}

				.row > .col-11-medium {
					width: 91.66667%;
				}

				.row > .col-12-medium {
					width: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

				.row {
					margin-top: -40px;
					margin-left: -40px;
				}

					.row > * {
						padding: 40px 0 0 40px;
					}
		}

		@media screen and (max-width: 736px) {

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row > .col-1-small {
					width: 8.33333%;
				}

				.row > .col-2-small {
					width: 16.66667%;
				}

				.row > .col-3-small {
					width: 25%;
				}

				.row > .col-4-small {
					width: 33.33333%;
				}

				.row > .col-5-small {
					width: 41.66667%;
				}

				.row > .col-6-small {
					width: 50%;
				}

				.row > .col-7-small {
					width: 58.33333%;
				}

				.row > .col-8-small {
					width: 66.66667%;
				}

				.row > .col-9-small {
					width: 75%;
				}

				.row > .col-10-small {
					width: 83.33333%;
				}

				.row > .col-11-small {
					width: 91.66667%;
				}

				.row > .col-12-small {
					width: 100%;
				}

				.row.gtr-0 {
					margin-top: 0px;
					margin-left: 0px;
				}

					.row.gtr-0 > * {
						padding: 0px 0 0 0px;
					}

				.row {
					margin-top: -20px;
					margin-left: -20px;
				}

					.row > * {
						padding: 20px 0 0 20px;
					}
		}

/* Section/Article */

	section, article {
		margin-bottom: 2.5em;
	}

		section > :last-child, section:last-child, article > :last-child, article:last-child {
			margin-bottom: 0;
		}

	header {
		margin: 0 0 1.5em 0;
	}

		header > p {
			display: block;
			font-style: italic;
			margin: 0.5em 0 0 0;
			padding-bottom: 0.5em;
		}

		header.major {
			position: relative;
			text-align: center;
			border-top: solid 1px #ccc;
			top: 1em;
			margin: 0 0 3em 0;
		}

			header.major h2 {
				background: #fff;
				position: relative;
				top: -0.65em;
				display: inline;
				margin: 0;
				padding: 0 1em 0 1em;
			}

	footer {
		margin: 2.25em 0 0 0;
	}

/* Box */

	.box {
		background: #ffffff;
		border-bottom: solid 1px #ccc;
		padding: 2.75em 1.75em 2.75em 1.75em;
	}

		.box.post header {
			padding-top: 1em;
			margin: 0 0 2em 0;
		}

		.box.post h2 {
			font-size: 2.5em;
			letter-spacing: -0.015em;
		}

		.box.post header > p {
			margin-top: 1.25em;
			font-size: 1.25em;
		}

		.box footer ul.actions {
			margin-bottom: 0;
		}

/* Image */

	.image {
		display: inline-block;
		outline: 0;
	}

		.image img {
			display: block;
			width: 100%;
		}

		.image.centered {
			display: block;
			margin: 0 0 2em 0;
		}

			.image.centered img {
				margin: 0 auto;
				width: auto;
			}

		.image.featured {
			display: block;
			width: 100%;
			margin: 0 0 2em 0;
		}

		.image.left {
			float: left;
			margin: 0 2em 2em 0;
		}

/* List */

	ul {
		list-style: disc;
		padding-left: 1em;
	}

		ul li {
			padding-left: 0.5em;
		}

	ol {
		list-style: decimal;
		padding-left: 1.25em;
	}

		ol li {
			padding-left: 0.25em;
		}

/* Actions */

	ul.actions {
		list-style: none;
		padding-left: 0;
	}

		ul.actions li {
			display: inline-block;
			margin-left: 1em;
			padding-left: 0;
		}

			ul.actions li:first-child {
				margin-left: 0;
			}

/* Links */

	ul.links {
		list-style: none;
		padding-left: 0;
	}

		ul.links li {
			display: inline-block;
			border-left: solid 1px rgba(255, 255, 255, 0.05);
			padding: 0 0 0 1em;
			margin: 0 0 0 1em;
		}

			ul.links li:first-child {
				border-left: 0;
				padding-left: 0;
				margin-left: 0;
			}

/* Page Wrapper */

	#page-wrapper > section {
		margin-bottom: 0;
	}

/* Header */

	#header {
		position: relative;
		background: #ffffff;
		border-bottom: solid 1px #ccc;
		padding: 0 !important;
		text-align: center;
	}

		#header h1 {
			color: #252122;
			font-weight: 900;
			font-size: 2.5em;
			letter-spacing: -0.035em;
			line-height: 1;
		}

/* Banner */

	#banner {
		background: #CCE8F4;
		background-position: center center;
		background-size: auto 100%;
		background-repeat: no-repeat;
		text-align: center;
		position: relative;
		padding: 6em 0;
		margin-top: 0 !important;
	}

		#banner header {
			background-color: rgba(34, 30, 31, 0.98);
			display: inline-block;
			padding: 1em 1em;
			border-radius: 10px;
			
		}

		#banner header h2 {
			color: #fff;
			font-weight: 700;
			font-size: 2.5em;
			margin: 0 0 0.65em 0;
		}
		#banner header h3 {
			color: #d7fcfc;
			font-weight: 700;
			font-size: 2em;
			margin: 0 0 0.65em 0;
		}

		#banner header p {
			color: #d7fcfc;
			padding: 0;
			font-style: normal;
			margin: 0;
			font-size: 1.2em;
			margin: 0 0 -0.65em 0;
		}
	
		.e2a-lines {
			display: flex;
			flex-direction: column;
			align-items: center; /* 整体居中 */
			gap: 0.5em;
			margin-top: 1em;
		}

		.e2a-line {
			display: flex;
			align-items: center;
			flex-wrap: wrap;
			font-size: 1.2em;
			justify-content: center;
		}

		.emoji {
			font-size: 1.5em;
			margin-right: 0.3em;
		}

		.letter {
			font-weight: bold;
			color: #d7fcfc;
			font-size: 1.3em;
			margin-right: 0.2em;
		}

		.desc {
			margin-right: 2em;
			color: #d7fcfc;
			white-space: nowrap;
		}

		@media (max-width: 736px) {
			.e2a-line {
				font-size: 1em;
			}
			.desc {
					margin-right: 1em;
					white-space: normal;
			}
		}

/* Main */

	#main {
		position: relative;
		background: #f7f7f7;
		padding: 4em 0 4em 0;
	}

		#main:before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			background-size: 100% 100%;
			z-index: 0;
			opacity: 0.1;
		}

		#main .major h2 {
			background: #f7f7f7;
		}

/* Projects */
	.project-list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 2em;
		margin-bottom: 2em;
	}

	.project-item {
		display: flex;
		flex-direction: column;
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 2px 8px #0001;
		padding: 1.5em;
		height: 100%;
		box-sizing: border-box;
		transition: transform 0.3s ease, box-shadow 0.3s ease;
	}

	.project-item:hover {
		transform: translateY(-5px);
		box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
	}

	.project-img {
		flex: 0 0 auto;
		max-width: 100%;
		margin-right: 0;
		margin-bottom: 1em;
	}

	.project-info {
		flex: 1 1 auto;
	}

	.project-info h3 {
		color: #252122;
		font-size: 1.3em;
		margin-bottom: 0.5em;
	}

	.project-info p {
		color: #5d5d5d;
		line-height: 1.6;
		margin-bottom: 1em;
		font-size: 0.95em; /* 稍小一点的字号，适应三列布局 */
	}

	.project-info a {
		color: #d52349;
		font-weight: 600;
		text-decoration: none;
		display: inline-block;
		margin-top: auto;
		font-size: 0.95em;
	}

	.project-info a:hover {
		text-decoration: underline;
	}

	/* 响应式调整 - 中等屏幕保持两列 */
	@media (max-width: 1280px) {
		.project-list {
			grid-template-columns: repeat(3, 1fr);
			gap: 1.5em;
		}
	}

	@media (max-width: 736px) {
		.project-list {
			grid-template-columns: 1fr;
			gap: 1em;
		}
	}

/* img-compare-container */
	.img-compare-container {
		position: relative;
		width: 100%;
		aspect-ratio: 3/2; /* 调整为更适合三列的比例 */
		overflow: hidden;
		cursor: ew-resize;
		margin-bottom: 1em;
		border-radius: 6px;
		overflow: hidden;
	}
	.img-compare {
		position: absolute;
		top: 0; left: 0;
		width: 100%; height: 100%;
		object-fit: cover;
		user-select: none;
		pointer-events: none;
	}
	.img-before {
		z-index: 1;
	}
	.img-after {
		z-index: 2;
		clip-path: inset(0 80% 0 0); /* 初始显示一半 */
		transition: clip-path 0.1s;
	}
	.img-compare-slider {
		position: absolute;
		top: 0; left: 20%;
		width: 3px;
		height: 100%;
		background: #fff;
		border-left: 1px solid #888;
		border-right: 1px solid #888;
		z-index: 3;
		cursor: ew-resize;
		transition: left 0.1s;
		box-shadow: 0 0 4px #0002;
	}	

/* img-compare-hint */
	.img-compare-hint-black {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		background: rgba(34,30,31,0.7);
		color: #fff;
		padding: 0.5em 1.2em;
		border-radius: 2em;
		display: flex;
		align-items: center;
		font-size: 1.1em;
		pointer-events: none;
		z-index: 10;
		opacity: 1;
		animation: hint-fade-move 2.5s ease-in-out 1s 1 forwards;
	}

	.img-compare-hint-white {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		background: rgba(133, 133, 133, 0.7);
		color: #fff;
		padding: 0.5em 1.2em;
		border-radius: 2em;
		display: flex;
		align-items: center;
		font-size: 1.1em;
		pointer-events: none;
		z-index: 10;
		opacity: 1;
		animation: hint-fade-move 2.5s ease-in-out 1s 1 forwards;
	}

	.hint-icon {
		font-size: 1.5em;
		margin-right: 0.5em;
		animation: hint-move 1.2s infinite alternate;
	}

	.hint-text {
		margin-right: 0.5em;
	}

	.hint-arrow {
		display: inline-block;
		font-size: 1.5em;
		margin-left: 0.3em;
		animation: arrow-move 1s infinite alternate;
	}

	@keyframes arrow-move {
		0% { transform: translateX(0); opacity: 0.7; }
		100% { transform: translateX(16px); opacity: 1; }
	}

	@keyframes hint-move {
		0% { transform: translateX(0); }
		100% { transform: translateX(20px); }
	}

	@keyframes hint-fade-move {
		0% { opacity: 1; }
		80% { opacity: 1; }
		100% { opacity: 0; }
	}


/* Members */
	.member-card {
		flex: 0 0 calc(25% - 20px); /* 每行4个，减去gap */
		text-align: center;
		padding: 1.5em;
		transition: transform 0.3s ease;
		border-radius: 6px;
	}

	.member-card:hover {
		transform: translateY(-5px);
	}

	.member-card .image.featured {
		margin-bottom: 1em;
	}

	.member-card img {
		width: 100px;
		height: 100px;
		border-radius: 50%;
		object-fit: cover;
		margin: 0 auto;
	}

	.member-content h3 {
		margin: 0 auto;
		font-size: 1.2em;
	}

	.member-content h5 {
		color: #35cfd7;
		margin: 0 auto;
		font-size: 1em;
	}

	.member-content p {
		color: #777;
		font-size: .8em;
		margin: 0;
		line-height: 1.2;
	}

	.divider {
		margin: 2em 0;
		border-top: 1px solid #ddd;
	}

	@media screen and (max-width: 736px) {
	.member-card {
		margin-bottom: 1.5em;
	}
	}

/* Footer */

	#footer {
		position: relative;
		color: #000000;
		padding: 4em 0;
		background: #ffffff;
	}

		#footer:before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			background-size: 100% 100%;
			z-index: 0;
			opacity: 0.5;
		}

		#footer a {
			font-size: large;
			color: #000000;
		}

		#footer h2, #footer h3, #footer h4, #footer h5, #footer h6, #footer strong, #footer b {
			color: #000000;
		}

			#footer h2 a, #footer h3 a, #footer h4 a, #footer h5 a, #footer h6 a, #footer strong a, #footer b a {
				color: inherit;
			}

		#footer header {
			margin: 0 0 3em 0;
		}

			#footer header h2 {
				font-size: 1.75em;
			}

/* Copyright */

	#copyright {
		text-align: center;
		margin: 3em 0 2em 0;
	}

		#copyright ul.links {
			display: inline-block;
			background: rgba(255, 255, 255, 0.786);
			border-radius: 5px;
			color: #000000;
			margin: 0;
			padding: 0.85em 2.25em 0.85em 2.25em;
		}

		.school-logo {
				height: 40px;
				vertical-align: middle;
				margin-right: 8px;
			}

	#copyright ul.links {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 2em;
		background: rgba(255, 255, 255, 0.786);
		border-radius: 5px;
		color: #000000;
		margin: 0;
		padding: 0.85em 2.25em 0.85em 2.25em;
		flex-wrap: wrap;
	}
	#copyright ul.links li {
		border-left: none;
		margin: 0;
		padding: 0;
	}
	.school-logo {
		height: 40px;
		vertical-align: middle;
		margin-right: 0;
	}

	@media screen and (max-width: 736px) {
		#copyright ul.links {
			flex-direction: column;
			align-items: center;
			padding: 0.85em 0;
			gap: 0.5em;
		}
		#copyright ul.links li {
			margin: 0.5em 0;
		}
		.school-logo {
			margin-bottom: 0.5em;
		}
	}

/* XLarge */
	@media screen and (max-width: 1680px) {

		/* Basic */

			body, input, textarea, select {
				font-size: 12pt;
			}

	}

/* Large */

	@media screen and (max-width: 1280px) {

		/* Basic */

			body, input, textarea, select {
				font-size: 11pt;
			}

		/* Section/Article */

			header.major {
				margin: 0.75em 0 2.5em 0;
			}

				header.major h2 {
					padding: 0 1em 0 1em;
				}

		/* Header */

			#header {
				padding: 4em 0 3em 0;
			}

		/* Banner */

			#banner {
				padding: 2em 0;
				margin: 3em 0 0 0;
			}

		/* Main */

			#main {
				padding: 30px 0;
			}

		/* Footer */

			#footer {
				padding: 1em 0;
			}

				#footer:before {
					height: 2.5em;
				}

				#footer header {
					margin: 0 0 1.5em 0;
				}

					#footer header h2 {
						font-size: 1.25em;
					}

		/* Copyright */

			#copyright {
				margin: 0;
			}

	}

/* Medium */

	@media screen and (max-width: 980px) {

		/* Basic */

			html, body {
				overflow-x: hidden;
			}

		/* Box */

			.box footer ul.actions li {
				margin: 1em 0 0 0;
				display: block;
			}

				.box footer ul.actions li .button {
					width: 100%;
				}

				.box footer ul.actions li:first-child {
					margin-top: 0;
				}

		/* Header */

			#header {
				padding: 3.5em 0 3em 0;
			}

		/* Nav */

			#nav {
				display: none;
			}

		/* Main */

			#main {
				padding: 40px 0;
			}

		/* Copyright */

			#copyright ul.links {
				display: block;
			}

		/* Nav */

			#page-wrapper {
				-moz-backface-visibility: hidden;
				-webkit-backface-visibility: hidden;
				-ms-backface-visibility: hidden;
				backface-visibility: hidden;
				-moz-transition: -moz-transform 0.5s ease;
				-webkit-transition: -webkit-transform 0.5s ease;
				-ms-transition: -ms-transform 0.5s ease;
				transition: transform 0.5s ease;
				padding-bottom: 1px;
			}
	}

/* Small */

	@media screen and (max-width: 736px) {

		/* Basic */

			body, input, textarea, select {
				font-size: 11pt;
			}

			h2, h3, h4, h5, h6 {
				font-size: 1.25em;
			}

		/* Actions */

			ul.actions li {
				margin: 1em 0 0 0;
				display: block;
			}

				ul.actions li .button {
					width: 100%;
				}

				ul.actions li:first-child {
					margin-top: 0;
				}

		/* Section/Article */

			section, article {
				margin-bottom: 20px;
			}

			header {
				margin: 0 0 1em 0;
			}

			footer {
				margin: 2em 0 0 0;
			}

		/* Box */

			.box {
				padding: 25px 15px 20px 15px;
			}
				.box.post header {
					padding-top: 0;
					margin: 0 0 1em 0;
				}

				.box.post h2 {
					font-size: 1.5em;
					line-height: 1.5em;
				}

				.box.post header > p {
					margin-top: 0;
					font-size: 1em;
				}

		/* Links */

			ul.links li {
				display: block;
				padding: 0.25em 0 0 0;
				margin: 0.25em 0 0 0;
				border-left: 0;
			}

				ul.links li:first-child {
					padding-top: 0;
					margin-top: 0;
				}

		/* Header */

			#header {
				text-align: center;
				padding: 2em 0;
			}

				#header h1 {
					color: #252122;
					font-weight: 900;
					font-size: 1.75em;
					letter-spacing: -0.035em;
				}

		/* Banner */

			#banner {
				padding: 2em 0;
				margin: 2em 0 0 0;
			}

				#banner header {
					padding: 1.5em 1em 1.5em 1em;
					display: block;
					border-radius: 0;
				}

					#banner header h2 {
						font-size: 1.5em;
						line-height: 1.5em;
						margin: 0 0 0.25em 0;
					}

					#banner header p {
						font-size: 1.2em;
					}

		/* Main */

			#main {
				padding: 20px 0;
			}

		/* Footer */

			#footer {
				padding: 40px 0 20px 0;
			}

	}
