@import url("https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@300;400;500&display=swap");
/* @import url('https://fonts.googleapis.com/css2?family=EB+Garamond&family=Montserrat&display=swap'); */
html,
body {
	max-width: 100%;
	overflow-x: hidden;
}
body {
	width: 100%;
	height: 100%;
	margin: 0px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	font-family: 'Arial', serif;
	font-size: 18px;
	background-color: #fff;
	color: #555;
	text-align: justify;
	line-height: 1.4;
}
p {
	margin: 20px 0px;
}
*:focus {
	outline: none;
}
textarea {
	font-family: 'Arial', serif;
}

.container {
	display:flex;
	flex-direction: column;
	align-items: center;
	height:100%;
	width:100%;
}
.page {
	display:flex;
	flex-direction: column;
	align-items: center;
	width:100%;
	/* height: 100%; */
	max-height: 100vh;
}

b {
	font-weight: bolder;
}

a {
	color:inherit;
	text-decoration:none;
}
strong {
	color: rgb(238, 191, 2);
  }
  
.pointer {
	cursor:pointer;
}
.pointer:hover {
	opacity:0.8;
}

.bold {
	font-weight: bold;
}
.italic {
	font-style: italic;
}
.underline {
	text-decoration:underline;
}
.link {
	cursor:pointer;
	text-decoration:underline;
}
.truncate {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.center {
	text-align:center;
}
.left {
	text-align:left;
}
.left100 {
	text-align:left;
	width:100%;
}
h1 {
	color: #f2b600;
}
h1 a {
	text-decoration: none;
}

h2 {
	color: #f2b600;
}
h2 a {
	text-decoration: none;
}

h3 {
	color: #f2b600;
}
h3 a {
	text-decoration: none;
}

h4 {
	color: #f2b600;
}
h4 a {
	text-decoration: none;
}

.mt1 {
	margin-top: 10px;
}
.mt2 {
	margin-top: 20px;
}
.mt3 {
	margin-top: 30px;
}
.mt4 {
	margin-top: 40px;
}
.mt5 {
	margin-top: 50px;
}
.mt10 {
	margin-top: 100px;
}
.mt20 {
	margin-top: 200px;
}
.mb1 {
	margin-bottom: 10px;
}
.mb2 {
	margin-bottom: 20px;
}
.mb5 {
	margin-bottom: 50px;
}
.mb10 {
	margin-bottom: 100px;
}
.mb20 {
	margin-bottom: 200px;
}
.pl2 {
	padding-left: 20px;
}
.ml1 {
	margin-left: 10px;
}
.ml2 {
	margin-left: 20px;
}
.ml5 {
	margin-left: 50px;
}
.ml20 {
	margin-left: 200px;
}
.mr1 {
	margin-right: 10px;
}
.mr2 {
	margin-right: 20px;
}
.mr5 {
	margin-right: 50px;
}
.mr20 {
	margin-right: 200px;
}
.w20percent {
	width: 20%;
}
.w30percent {
	width: 30%;
}
.middleImg {
	display:inline-block;
	vertical-align: middle;
}
.linkImg {
	display:inline-block;
	vertical-align: middle;
	width:40px;
	height:40px;
}
.homeLink {
	display:flex;
	flex-grow:100;
	justify-content:center;
	align-items:center;
	/*background-color: #888;*/
	padding:5px;
	border-radius: 5px;
	border-style:none;
	font-size:20px;
}
.homeLink:hover {
	background-color: #860;
	color: #fc0;
}
	
.searchImg {
	display:inline-block;
	vertical-align: middle;
	width:20px;
	height:20px;
	margin-left:20px;
}
.iconImg {
	display:inline-block;
	vertical-align: middle;
	width:32px;
	height:32px;
}
.pageTypeIcon {
	width:24px;
	height:24px;
	position:relative;
	top:6px;
}
img.socialLink {
	width: 20px;
	height: 20px;
	margin-right: 8px;
	vertical-align: middle;
}
.fullCenter {
	width: 100%;
}
.mediumCenter {
	width: 50%;
}
.photo {
	width: 20%;
	min-width: 256px;
	border-radius: 20px;
}
.screenshot {
	max-width: 60vw;
	border: 1px solid gray;
	box-shadow: 4px 2px 4px gray;
}
.hide {
	visibility: hidden;
}
.none {
	display: none;
}


.dialog {
	display:flex;
	flex-direction:column;
	align-items:center;
	background:#eee;
	border-radius: 10px;
	margin-top: 60px;
	padding: 100px 0px;
	font-size:24px;
}
.dialog div {
	margin:10px 0px;
}
.dialog.large {
	width:80%;
}
.dialog.large div {
	margin:30px 0px;
}

.dialog .hint {
	font-size:20px;
}
button {
	background:rgb(255,192,0);
	font-size:20px;
	color:#222;
	border:none;
	cursor:pointer;
	padding:20px 10px;
	margin:10px;
	border-radius: 10px;
	font-family: Montserrat, Candara, Arial;
	min-width:120px;
}
button.red {
	color:#fff;
	background-color: #f00;
}
button.small {
	font-size:16px;
	padding:5px 10px;
	border-radius: 5px;
	min-width:0px;
}
.textInputLarge {
	background:#fff;
	font-size:24px;
	padding:10px;
	border-radius: 10px;
	border-style:none;
}
.textInputMedium {
	background:#fff;
	padding:5px;
	margin:5px;
	border-radius: 5px;
	border-style:none;
}
.textInputSearch::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
color: #fc0;
opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
color: #fc0;
}

::-ms-input-placeholder { /* Microsoft Edge */
color: #fc0;
}

.textInputSearch {
	background:#860;
	color: #fc0;
	padding:5px;
	border-radius: 5px;
	border-style:none;
	width:100px;
}

.order {
	display:inline-block;
	width:120px;
	text-align: right;
	color:#080;
	font-size: 16px !important;
}

#main {
	display:flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 100%;
	overflow-y: auto;
}
#toc {
	display:block;
}
.smallToc {
	display:none;
}

#upButton {
	right: 2vw;
	top: 100px;
	position: absolute;
	width: 40px;
	height: 40px;
	z-index:20;
}

img.smallToc {
	left: 0px;
	top: 100px;
	position: absolute;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	width: 64px;
	height: 64px;
	background-color: #ccc;
	text-align: center;
	cursor: pointer;
}
nav {
	position: fixed;
	top: 90px;
	height: 95vh;
	width: 260px;
	left: 0;
	padding-left: 1vw;
	padding-right: 1vw;
	overflow-y: auto;
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none;
	background: #eee;
	text-align:left;	
	border-top-right-radius: 20px;
}
.tocMono {
	font-family: "Source Code Pro", monospace;
	font-size: 14px;
	font-weight:normal !important;
}
nav::-webkit-scrollbar {
	/* WebKit */
	width: 0;
	height: 0;
}
nav a {
	text-decoration: none;
	font-size: 20px;
	overflow:hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 240px;
	display:inline-block;
}
nav a:hover {
	color: #f00;
}
.topMenuWidth {
	width:60%;
}
.fullWidth {
	width:60vw;
	display:flex;
	flex-direction: column;
	align-items: center;
}
.screenWidth {
	width:95%;
	display:flex;
	flex-direction: column;
	align-items: center;
}

.sample {
	font-family: "Source Code Pro", monospace;
	font-size: 16px;
	color: #fc0;
	background-color: #1e1e1e;
	border-radius: 15px;
	padding: 10px 20px;
	line-height: 1.5em;
	margin-top:2px;
}

.quote {
	font-family: "Source Code Pro", monospace;
	font-size: 16px;
	color: #42adff;
	background-color: #1e1e1e;
	border-radius: 15px;
	padding: 10px 20px;
	line-height: 1.5em;
	margin-top:2px;
}

/* Switch */
.switch {
	width:30px;
	height:16px;
	background:#860;
	display:inline-block;
	border-radius: 8px;
	position:relative;
	top:2px;
	vertical-align:baseline;
}
.switch.switchOn {
	background:#860;
}
.switch span {
	position:relative;
	bottom:1px;
	width:16px;
	height:16px;
	background:#430;
	display:inline-block;
	border-radius: 8px;
}
.switch.switchOn span {
	background:#fc0;
}

/* iconBar */
.iconBar {
	display:flex;
	align-items: center;
	margin-right: 20px !important;
}

/* Page list */
.pageInList {
	margin-top:5px;
	display:flex;
	justify-content:space-between;
	align-items: center;
	background-color: #f4f4f4;
	border-radius: 10px;
}
.pageInList a {
	font-size:18px;
	margin:5px;
}
.pageInList:hover {
	background-color: #e0e0e0;
}
.pageInList .content {
	flex-grow:10;
}
.pageInList:hover .hide {
	visibility: visible;
}
.titleInList h3 {
	display:flex;
	justify-content:space-between;
	align-items: center;
}
.titleInList:hover .hide {
	visibility: visible;
}
.pageEdit {
	margin-top:5px;
	display:flex;
	flex-direction: column;
	align-items: left;
	background-color: #ddd;
	border-radius: 10px;
	padding:10px;
}

.page img.logo {
	width: 200px;
}

.contentLine {
	text-align:justify;
}
.contentLine:hover {
	background-color: #eee;
}
.contentLine.source:hover {
	background-color: #444;
}
.source .link {
	text-decoration:none;
}
.code {
  font-family: "Source Code Pro", monospace;
  font-size: 16px;
}
.dropInto {
	width:100%;
	height:500px;
	color:#42adff;
	background-color:#000;
	font-family: "Source Code Pro", monospace;
	font-size: 16px;
	padding:20px;
}

.level1 {
	color: #f55d3e;
	font-weight: bold;
}
.level2 {
	margin-left:10px;
	color: #666;
}
.level3 {
	margin-left:20px;
	color: #666;
}
.level4 {
	margin-left:30px;
	color: #666;
}


/* Tables */
table.protoHeader {
	width:100%;
}
table.protoHeader td {
	border-right: 1px solid #fff;
	padding: 10px 20px;
}
table.protoHeader td:first-child {
	border-right: 1px solid #f2b600;
	padding-right: 10px;
	width:20%;
}
table.params,
table.basic {
	width: 100%;
}

table.params tr {
	background: #ddd;
}
table.title tr:first-child {
	background: #aaa;
}
table.params tr:nth-child(even) {
	background: #eee;
}
table.params tr:hover {
	background: #f2b600;
}
table.params th {
	border: 1px solid #fff;
	padding: 4px;
}
table.params td {
	border-right: 1px solid #fff;
	padding: 10px 20px;
}
table.grammar {
	font-style: italic;
}
.grammar th {
	background: transparent;
}
.grammar tr {
	background: transparent;
}
.keyword {
	font-weight: bold;
}
label {
	color: #f55d3e;
	font-style: normal;
}

/* Top Menu */
#topBar {
	width:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
	position:fixed;
}
#topMenu {
	background-color: #222;
	color:#fc0;
	font-family: Montserrat, Candara, Arial;
	padding: 0px;
	border-bottom: solid 1px #fff; 
	display:flex;
	justify-content:center;
	align-items: center; 
	width:100%;
	height:50px;
	flex-shrink: 0;
}
#topMenu div {
	display:flex;
	/* flex-wrap: wrap; */
	justify-content:space-between;
	align-items: center;
}
#icons {
	position:absolute;
	display:flex;
	align-items: center;
	top:50px;
	right:0px;
	background-color: #222;
	color:#fc0;
	font-family: Montserrat, Candara, Arial;
	padding:8px 16px;
	border-bottom-left-radius: 10px;
	border-bottom: solid 1px #fff; 
	border-left: solid 1px #fff; 
}
#timeMachine {
	position:absolute;
	display:flex;
	align-items: center;
	top:50px;
	left:0px;
	background-color: #222;
	padding:8px;
	border-bottom-right-radius: 10px;
	border-bottom: solid 1px #fff; 
	border-right: solid 1px #fff; 
}
#footer {
	font-family: Montserrat, Candara, Arial;
	width:100%;
	color:#fc0;
	background-color:#222;
	border-top:solid 1px #fff
}

.searchResult {
	background:#fec;
	color:#000;
	border-radius: 20px;
	padding:20px;
}
.searchResult a:hover {
	background-color: #fc0;
}
.timeMachine {
	color:#0f0;
	font-family: "Source Code Pro", monospace;
	font-size:14px;
}
.timeMachine img {
	width:20px;
	height:20px;
}
.timeMachine .on {
	display:block;
}
.timeMachine .hover {
	display:none;
	cursor:pointer;
}
.timeMachine:hover .on {
	display:none;
}
.timeMachine:hover .hover {
	display:block;
}
.past {
	background-color: #dfd;
}
.reactionAnchor {
	position:relative;
	float:right;
	/* background:#fc0" */
}
.reactionContent {
	display:flex;
	position:relative;
}
.reactionItem {
	position:relative;
	border-radius: 5px;
	padding: 0px 1px;
	cursor:pointer;
}
.reactionList {
	display:none;
	/* display:block; */
	position:absolute;
	left:0px;
	width:22px;
	min-height:40px;
	background-color: rgba(0,0,0,0.2);
	border-radius: 11px;
}
.reactionListBox {
	position:absolute;
	top:20px;
	right:0px;
	min-width:100px;
	padding:5px;
	border-radius: 5px;
	background-color: #eee;
	font-size:14px;	
	text-align: center;
	z-index: 30;
}
.reactionListBox div:hover {
	color:#fc0;
	background-color: #000;
}
.reactionItem:hover .reactionList {
	display: block;
}
.selectedReaction {
	border: 2px solid #f00;
}
.reactionImage {
	width:18px;
	height:18px;
}

.badge {
	position:relative;
	display:flex;
	color:#fff;
	width:18px;
	height:18px;
	border-style: solid;
	border-width: 2px;
	border-radius:10px;
	justify-content: center;
	align-items:center;
	font-family: Montserrat, Candara, Arial;
	font-weight: normal;
	font-style:normal;
	font-size:12px;
}
.badge img {
	width:14px;
	height:14px;
}
.itemCount {
	color:#888;
	font-size: 12px;
	
}
.contentLine:hover .hide {
	visibility: visible;
}
.contentLine:hover .none {
	display: flex;
}
.question {
	position:fixed;
	width:50%;
	height:100vh;
	right:calc(30px - 50%);
	background-color:rgba(128,128,128,0.9);
	display:flex;
	align-items: flex-start;
}
.question.open {
	right:0px;
}
.verticalQuestion {
	flex: 0 0 30px;
	height:100vh;
	position:relative;
}
.questionVerticalText {
	transform: rotate(-90deg);
	position:absolute;
	top:250px;
	left:-25px;
	font-family: Montserrat, Candara, Arial;
	cursor:default;
}
.questionContent {
	height:100vh;
	display:flex;
	flex-direction: column;
	overflow-y: scroll;
	align-items: center;
	flex-grow:100;
}
.questionContent .origin {
	width:80%;
	background-color: #fec;
	color:#000;
	padding:10px;
	border-radius: 10px;
}
.questionContent .origin.src{
	color: #fff;
	font-family: "Source Code Pro", monospace;
	background-color: #1e1e1e;
}

.questionContent .talkContainer {
	margin-left:10%;
	margin-right:10%;
	max-width:60%;
	min-width:30%;
	display:flex;
	flex-direction: column;
}
.questionContent .talk {
	background-color: #fff;
	color:#000;
	padding:10px;
	border-radius: 10px;
}
.questionContent .answerAndLink .talk {
	background-color: #fec;
	color:#000;
	padding:10px;
	border-radius: 10px;
	flex-grow: 10;
}
.questionContent .questionWho {
	font-family: "Source Code Pro", monospace;
	font-size:14px;	
	color:#fff;
}
.questionContent .questionTime {
	font-family: "Source Code Pro", monospace;
	font-size:12px;	
	color:#fc0;
	align-self: flex-end;
}
.questionContent .talk.invisible {
	color:#fc0;
	background-color: #860;
}

.questionContent .reply {
	width:80%;
	min-height:20%;
	resize: none;
	border-radius: 10px;
	font-size:18px;
}
.question div {
	color:#fff;
}
.answerLink {
	background-color:#fec;
	color:#000;
	font-family: "Source Code Pro", monospace;
	padding:10px;
	border-radius: 10px;
}
.answerAndLink {
	display:flex;
	align-items: center;
	justify-content: space-between;
}

table.dump {
	width:100%;
	font-family: "Source Code Pro", monospace;
	font-size:14px;
}
table.dump tr {
	background: #ddd;
}
table.dump tr:nth-child(even) {
	background: #eee;
}
table.dump tr:hover {
	background: #f2b600;
}
table.dump th {
	border: 1px solid #fff;
	padding: 4px;
}
table.dump td {
	padding: 4px;
}
@media all and (max-width: 1500px) {
	#toc {
		display:none;
	}
	.smallToc {
		display:block;
	}
}
@media all and (max-width: 1024px) {
	.fullWidth {
		width: 80%;
	}
	.topMenuWidth {
		width: 80%;
	}
	.question {
		width:70%;
		right:calc(30px - 70%);
	}
	.mediumCenter {
		width: 75%;
	}
	#main {
		margin-left:0px;
	}
	.screenshot {
		max-width: 90vw;
	}
}
@media all and (max-width: 640px) {
	.fullWidth {
		width: 98%;
	}
	.topMenuWidth {
		width: 100%;
		font-size:14px;
	}
	.page img.logo {
		width: 140px;
	}
	.question {
		width:95%;
		right:calc(30px - 95%);
	}
	.mediumCenter {
		width: 100%;
	}
}