@font-face {
	font-family: Nunito;
	src: url(fonts/Nunito-Regular.ttf);
}

@font-face {
	font-family: Nunito;
	font-weight: 600;
	src: url(fonts/Nunito-SemiBold.ttf);
}

@font-face {
	font-family: Nunito;
	font-weight: bold;
	src: url(fonts/Nunito-Bold.ttf);
}

html {
	display: flex;
	justify-content: center;
	height: 100%;
}

body {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #f1efea;
	color: #2c2a2a;
	font-family:
		Nunito,
		-apple-system,
		BlinkMacSystemFont,
		segoe ui,
		Roboto,
		Oxygen,
		Ubuntu,
		Cantarell,
		"open sans",
		"helvetica neue",
		sans-serif;
	line-height: 1.3;
	font-size: 1.05em;
	padding: 10px;
	flex: auto;
}

h1 {
	font-size: 2.2em;
	font-weight: bolder;
	color: #2a2a2a;
}

h2 {
	font-size: 1.6em;
}

h3 {
	font-size: 1.15em;
	color: #222222;
}

header {
	width: 100%;
	max-width: 900px;
	padding-top: 10px;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	padding-bottom: 20px;
	margin-bottom: 10px;
	border-bottom: 1px solid #eee;
	flex: 0;
}

header > div:first-of-type {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

header > div:first-of-type > a {
	text-decoration: none;
	font-weight: bold;
	font-size: 1.1em;
}

header > div:first-of-type > span {
	color: #616161;
}

footer {
	width: 100%;
	max-width: 900px;
	padding-top: 20px;
	padding-bottom: 10px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	margin-top: 10px;
	border-top: 1px solid #eee;
	flex: 0;
}

.logo {
	background: #452de9;
	padding: 4px;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	margin-top: 4px;
	margin-right: 15px;
}

article,
main {
	max-width: 600px;
}

article {
	width: 100%;
}

main {
	display: flex;
	flex: auto;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

a,
a:visited {
	color: #5291d6;
	text-decoration: none;
}

a:hover,
a:active {
	text-decoration: none;
}

code {
	background: #e7e8e8;
	padding: 2px 3px;
	border-radius: 4px;
}

/* ----- */

.post {
	margin-top: 26px;
	margin-bottom: 12px;
	/* padding-top: 50px;
	border-top: 1px solid gainsboro; */
	width: 100%;
	padding: 10px 12px 0 12px;
	background-color: #f8f8f5;
	border-radius: 12px;
	box-shadow: 0px 2px #e6e3db;
}

@media only screen and (max-width: 650px) {
	.post {
		border-radius: 4px;
}
}

.post__authorheader {
	display: flex;
	padding: 6px 8px;
	margin-bottom: 10px;
}

.post__authorheader__avatar {
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 50%;
}

.post__authorheader__avatar > div {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #27496a;
	width: 100%;
	height: 100%;
	font-size: 1.2em;
}

.post__authorheader__names {
	flex: auto;
	display: flex;
	flex-direction: column;
	padding-left: 12px;
}

.post__authorheader__name {
	flex: auto;
	font-weight: bold;
}

.post__authorgroupheader {
	flex: auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	color: #898888;
	font-size: 0.8em;
}

.post__authorgroupheader__pre {
	flex: 0;
	white-space: nowrap;
	padding-right: 6px;
}

.post__authorgroupheader__avatar {
	width: 14px;
	height: 14px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 50%;
	cursor: pointer;
}

.post__authorgroupheader__avatar > div {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #cdb22c;
	width: 100%;
	height: 100%;
	font-size: 0.6em;
}

.post__authorgroupheader__name {
	font-weight: bold;
	cursor: pointer;
	padding-left: 4px;
}

.post__authorgroupheader__date {
	padding-left: 6px;
}

.post__authorgroupheader__name,
.post__authorgroupheader__date {
	flex: 0;
	white-space: nowrap;
}

.post__content {
	padding: 0 12px 0 12px;
}

.reply {
	width: 100%;
	display: flex;
	flex-direction: row;
	margin: 0 0 10px 5px;
	font-size: 0.9em;
}

.reply:first-of-type {
	margin: 3px 0 10px 5px;
}

.reply-left {
	width: 20px;
	height: 100%;
	display: flex;
	flex-direction: column;
	padding-left: 5px;
	padding-bottom: 5px;
}

.reply-right {
	padding-left: 6px;
	padding-right: 16px;
	flex: 1;
}

.reply-line {
	margin-top: 2px;
	width: 7px;
	border-right: 2px solid #cacaca;
	height: 100%;
	min-height: 1px;
}

.reply__authorheader {
	display: flex;
	flex-direction: row;
	align-items: center;
	margin-bottom: 10px;
	width: 100%;
}

.reply__authorheader__avatar {
	width: 17px;
	height: 17px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 50%;
	margin-top: 3px;
}

.reply__authorheader__avatar > div {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: #27496a;
	width: 100%;
	height: 100%;
	font-size: 0.7em;
}

.reply__authorheader__name {
	flex: 0;
	white-space: nowrap;
	font-weight: bold;
	padding-top: 2px;
	padding-left: 6px;
}

.reply__authorheader__date {
	flex: auto;
	padding-left: 6px;
	color: #898888;
	font-size: 0.8em;
}

.reply__content > p:last-of-type {
	margin-bottom: 0;
}

.reply__box {
	background-color: #f3f3f1;
	border: 1px solid #ebe7dd;
	color: #585858;
	margin-top: 10px;
	padding: 10px 12px;
	border-radius: 12px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	cursor: pointer;
}

.reply__box__icon {
	color: #8d8d8d;
}

.reply__box__icon > svg {
	width: 18px;
	height: 18px;
	margin-left: 15px;
	margin-right: 2px;
	position: relative;
	top: -2px;
	margin-bottom: -5px;
}

.reactions {
	margin-top: -6px;
	padding-top: 0;
}

.reaction {
	display: inline-block;
	font-size: 15px;
	height: 18px;
	width: fit-content;
	min-width: 18px;
	text-align: center;
	padding: 4px;
	/* border: 1px solid #e5e5e5; */
	/* background-color: #e5e5e5; */
	border-radius: 5px;
	color: #626262;
}

.reaction:hover,
.reaction:active {
	cursor: pointer;
	background-color: #e6e6dd;
	/* border: 1px solid #b5b5b5; */
}

.reaction > svg {
	width: 18px;
	height: 18px;
	margin: 0 3px -2px 4px;
	position: relative;
	top: 1px;
}

.new {
	display: inline-block;
	font-size: 0.7em;
	width: fit-content;
	padding: 1px 3px;
	margin-left: 2px;
	margin-bottom: -5px;
	position: relative;
	top: -1px;
	border: 1px solid #f3c61d;
	background-color: #f3c61d;
	border-radius: 5px;
	color: #fff; /* b1983c */
	font-weight: bold;
	text-transform: uppercase;
}
