/**
	* ========================================================
	* TEXT CONTAINERS
	* ========================================================
	*/
	.text--centered p {
		display: block;
		margin-left: auto;
		margin-right: auto;
		max-width: 100%;
		text-align: justify;
		width: 800px;
	}
	.text--centered .ul, .text--centered ul, .text--centered .ol, .text--centered ol, .text--centered h2, .text--centered h3, .text--centered h4, .text--centered h5 {
		margin-left: auto;
		margin-right: auto;
		max-width: 100%;
		text-align: justify;
		width: 800px;
	}
	.text--centered .module > * {
		margin-left: auto;
		margin-right: auto;
		max-width: 100%;
		width: 800px;
	}
	.text--docked {
		box-shadow: 0 0 2rem 1rem var(--background--faint);
		bottom: 0;
		left: 0;
		margin: 0;
		position: sticky;
		width: 100%;
		z-index: 3;
		margin: 3rem -1rem -1rem -1rem;
		padding: 1rem;
		width: calc(100% + 2rem);
	}
	.text--compact {
		padding: 0.5rem;
	}
	.text .p, .text p {
		line-height: 1.75;
	}
	.hr, hr {
		background: var(--background--bold);
		border: none;
		height: 1px;
		margin: 2rem 0;
	}
	.text p + ul, .text p + ol, .text ul + p, .text ol + p, .text p + p {
		margin-top: 2rem;
	}
	.text li p + p {
		margin-top: 1.75rem;
	}
	.text p:empty {
		display: none;
	}

/**
	* ========================================================
	* OTHER BLOCK ELEMENTS
	* ========================================================
	*/
	.blockquote, blockquote {
		background: var(--background);
		border-left: 1px solid var(--background--bold);
		padding: 1rem;
	}
	* + .blockquote, * + blockquote {
		margin-top: 1rem;
	}
	.obscure__input {
		display: none;
	}
	.obscure__container::after {
		box-shadow: inset 0 -7.5rem 4rem -5rem var(--background);
		display: none;
	}
	.obscure--faint::after {
		box-shadow: inset 0 -7.5rem 4rem -5rem var(--background--faint);
	}
	.obscure--alt::after {
		box-shadow: inset 0 -7.5rem 4rem -5rem var(--background--alt);
	}
	.obscure__input:checked + .obscure__container::after {
		bottom: 0;
		content: "";
		display: block;
		height: 4rem;
		left: 0;
		pointer-events: none;
		position: absolute;
		right: 0;
	}
	.obscure__input:checked + .obscure__container:not(.obscure--long) .obscure__item:nth-of-type(n + 4) {
		display: none;
	}
	.obscure__input:checked + .obscure--long .obscure__item:nth-of-type(n + 10) {
		display: none;
	}
	.obscure__input:checked + .obscure__container.obscure--height {
		max-height: 8rem;
		overflow: hidden;
	}
	.obscure__input:checked + .obscure__container .obscure__button {
		display: inline-block;
	}
	.obscure__button {
		bottom: 1rem;
		box-shadow: 0 0 0.5rem 0.5rem var(--background);
		cursor: pointer;
		display: none;
		left: 50%;
		position: absolute;
		transform: translateX(-50%);
		width: auto;
		z-index: 1;
	}
	.obscure--faint .obscure__button {
		box-shadow: 0 0 1rem 1rem var(--background--faint);
	}
	.obscure--alt .obscure__button {
		box-shadow: 0 0 1rem 1rem var(--background--alt);
	}
	
	.data__container {
		align-items: stretch;
		display: flex;
		flex-wrap: wrap;
		margin: -0.5rem;
	}
	.data__item {
		border-left: 1px dotted var(--background--bold);
		border-top: none;
		display: inline-block;
		margin: 0.5rem;
		margin-left: 0;
		padding: 0;
		padding-left: 0.5rem;
	}



/**
 * ========================================================
 * COMMENTS
 * ========================================================
 */
	.comment__reply {
		display: inline-block;
	}
	.comment__sign-in, .comment__reply {
		margin-top: 1rem;
	}
	.comment__template:first-of-type {
		margin-top: 3rem;
	}
	.comment__template + .comment__template:not([data-thread-id]), .comment__template + .comment__template[data-thread-id=""] {
		border-top: 1px dotted var(--text--faint);
	}



/**
 * ========================================================
	* MEDIA MODULES
	* ========================================================
	*/
	* + .module {
		margin-top: 2rem;
	}
	.module + * {
		margin-top: 2rem;
	}
	.module ul, .module ol {
		color: var(--text--faint);
	}
	.text .module {
		margin-left: -1rem;
		margin-right: -1rem;
	}
	.text--compact .module {
		margin-left: -0.5rem;
		margin-right: -0.5rem;
	}
	.module {
		background-image: linear-gradient(to bottom right,var(--background--faint) 1px,transparent 0);
		background-size: 3px 3px;
		padding: 1rem;
	}
	.module--compact {
		padding: 0.5rem;
	}
	.module--image {
		text-align: center;
	}
	.module--image a {
		display: inline-block;
		margin-left: auto;
		margin-right: auto;
		vertical-align: bottom;
	}
	.module--image img {
		display: inline-block;
		height: auto;
		max-height: 600px;
		max-width: 100%;
		/*width: 500px;*/
	}
	.module--image .h5:not(:empty) {
		margin-top: 1rem;
	}
	.module--twitter > * {
		display: block;
		margin: 0 auto !important;
	}
	.module--youtube {
		display: flex;
		max-height: calc(1rem + 315px + 1rem);
		overflow: hidden;
	}
	.module--youtube::before {
		content: "";
		display: inline-block;
		height: 0;
		padding-bottom: 56%;
		width: 0;
	}
	.module--youtube iframe {
		margin: 0 auto;
		max-width: 100%;
		width: 560px;
	}



/**
	* ========================================================
	* TABLES
	* ========================================================
	*
	*/
	table, .table {
		width: 100%;
	}
	td:not(:last-of-type), .td:not(:last-of-type) {
		padding-right: 1rem;
	}
	tr:not(:first-of-type) td, .tr:not(:first-of-type) .td {
		border-top: 1px dotted var(--background--bold);
		padding-top: 0.5rem;
	}
	tr:not(:last-of-type) td, .tr:not(:last-of-type) .td {
		padding-bottom: 0.5rem;
	}
	table + table tr:first-of-type td, tbody + tbody tr:first-of-type td {
		border-top: 1px dotted var(--text--faint);
		margin-top: 1.5rem;
		padding-top: 1.5rem;
	}

/**
	* ========================================================
	* AUCTIONS
	* ========================================================
	*/
.introjs-tooltip-header.introjs-tooltip-header {
	min-height: 0;
}
.introjs-tooltip-title.introjs-tooltip-title:empty {
	display: none;
}
.introjs-dontShowAgain {
	margin-bottom: 0.5rem;
}



/**
	* ========================================================
	* LISTS
	* ========================================================
	*/
	.ol, .ul, ol, ul {
		list-style-type: none;
		margin: 0;
		padding: 0;
		text-indent: 0;
	}
	.ol + .ol, .ul + .ul, ol + ol, ul + ul {
		border-top: 1px dotted var(--text--faint);
		margin-top: 1rem;
		padding-top: 1rem;
	}
	.ol .ol, .ul .ul, ol ol, ul ul {
		margin-top: 1rem;
	}
	.ol, ol, .li[start=1], li[start=1] {
		counter-reset: defaultcounter;
	}
	.ol .li, ol li {
		counter-increment: defaultcounter;
	}
	.ol .li::before, ol li::before {
		color: var(--text--faint);
		content: counter(defaultcounter);
		display: inline-block;
		padding-right: 0.5rem;
	}
	.ul--bulleted > .li, .ul--bulleted > li {
		padding-left: 1rem;
	}
	.ul--bulleted > .li::before, .ul--bulleted > li::before {
		background: radial-gradient(circle, var(--text--faint) 3px, transparent 0);
		color: transparent;
		content: "-";
		display: inline-block;
		float: left;
		margin-left: -1rem;
		width: 6px;
	}
	.ul--bulleted .ul--bulleted .li::before, .ul--bulleted .ul--bulleted li::before {
		background: radial-gradient(circle, var(--background--bold) 3px, transparent 0);
	}
	.ul--compact .li, .ul--compact li, .li--compact {
		padding: 0.5rem 0;
	}
	.li, li {
		padding: 1rem 0;
	}
	.li:first-of-type, li:first-of-type {
		padding-top: 0;
	}
	.li:last-of-type, li:last-of-type {
		padding-bottom: 0;
	}
	.li + .li, li + li {
		border-top: 1px dotted var(--background--bold);
	}
	.li + *:not(.li), li + *:not(li) {
		margin-top: 1rem;
	}
	*:not(.li) + .li, *:not(li) + li {
		padding-top: 0;
	}
	.ul--inline, .ol--inline {
		border: none;
	}
	.ul--inline li, .ol--inline li {
		border: none;
		display: inline-block;
		margin: 0;
		padding: 0;
	}
	.ul--bordered {
		margin-left: -0.5rem;
	}
	.ul--bordered li {
		border-left: 1px dotted var(--background--bold);
		padding-left: 0.5rem;
	}
	.ol--inline .li, .ol--inline li, .ul--inline .li, .ul--inline li {
		padding-right: 0.5rem;
	}
	.ol--inline .li::before, .ol--inline li::before {
		display: inline;
		padding-right: 3px;
	}



/**
	* =======================================================
	* DEFAULT INLINE SUBMIT HANDLER
	* =======================================================
	*/
	[data-role=submit-status]:not(.slide--hidden) {
		margin-left: 0.5rem;
	}
	.text[data-role=result]:not(:empty) {
		margin-bottom: 0;
		margin-top: 1rem;
		max-height: 20vh;
		overflow-y: auto;
	}




/**
	* ========================================================
	* INPUTS / FORMS
	* ========================================================
	*/
	.input__row,
	.input__group {
		align-items: flex-end;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		margin: 0;
	}
	.input__row {
		margin-left: -0.5rem;
		margin-top: -0.5rem;
	}
	.input__row + .input__row {
		margin-top: 0.5rem;
	}
	.input__group {
		margin-top: 0.5rem;
		max-width: 100%;
	}
	.input__group--right {
		margin-left: auto;
	}
	.input__group::before {
		content: "";
		display: inline-block;
		height: 0;
		width: 0.5rem;
	}
	.input__label {
		align-self: flex-start;
		display: block;
		flex: none;
		height: 3rem;
		line-height: 1;
		min-width: 0;
		overflow: visible;
		white-space: nowrap;
		width: 0;
	}
	.input__label + .input__textarea {
		margin-top: 1rem;
	}
	.input, .input--secondary, .input__button, .input__checkbox-label, .input__select, .input__textarea, button, input, select, textarea {
		background: var(--background--bold);
		background-image:
			linear-gradient(to right, var(--interactive--faint) 50%, transparent 0),
			linear-gradient(rgba(255,255,255, 0.05), rgba(255,255,255, 0.05)),
			linear-gradient(rgba(255,255,255, 0.1),  rgba(255,255,255, 0.1));
		background-position: bottom right;
		background-repeat: no-repeat;
		background-size:
			300% 2px,
			100% 2px,
			0    2px;
		border: none;
		border-radius: 3px;
		box-sizing: content-box;
		color: var(--text);
		font-family: inherit;
		font-size: 1rem;
		height: 1rem;
		line-height: 1rem;
		margin: 0;
		max-width: calc(100% - 1rem);
		outline: none;
		padding: 0.5rem;
		transition: flex 0.1s ease-in-out, background-position 0.1s ease-in-out;
	}
	.input:active, .input:focus, .input--secondary:active, .input--secondary:focus, .input__button:active, .input__button:focus, .input__select:active, .input__select:focus, .input__textarea:active, .input__textarea:focus, button:active, button:focus, input:active, input:focus, select:active, select:focus, textarea:active, textarea:focus {
		background-position: bottom left;
	}
	.input:hover, .input--secondary:active, .input--secondary:focus, .input__button:hover, .input__select:hover, .input__textarea:hover, button:hover, input:hover, select:hover, textarea:hover {
		background-size:
			300% 2px,
			0    2px,
			100% 2px;
	}
	.any--flex .input, .any--flex .input__button, .any--flex .input__select, .any--flex .input__textarea, .any--flex button, .any--flex input, .any--flex select, .any--flex textarea {
		max-width: 100%;
	}
	.input__row .input,
	.input__row .input--secondary,
	.input__row input {
		flex: 1;
		min-width: 100px;
	}
	.input__group .input,
	.input__group .input--secondary,
	.input__group input {
		border-radius: 0;
	}
	.input__group .input:first-of-type,
	.input__group input:first-of-type,
	.input__group .selectized {
		border-bottom-left-radius: 3px;
		border-top-left-radius: 3px;
	}
	.input__group .input:last-of-type,
	.input__group input:last-of-type {
		border-bottom-right-radius: 3px;
		border-top-right-radius: 3px;
	}
	.input__group .input__checkbox-label ~ .input__checkbox-label {
		margin-left: 0.5rem;
	}
	.input--secondary, .input--secondary:active, .input--secondary:focus, .input--secondary:hover {
		box-shadow: inset 2rem 0 2rem -2rem rgba(0,0,0, 0.25);
	}
	.input--secondary:not(:focus):not(:active), .input--secondary::placeholder, .input--secondary::-webkit-input-placeholder {
		color: var(--text--faint);
	}
	.input__button, button {
		background-image:
			linear-gradient(rgba(255,255,255,0.05),  rgba(255,255,255,0.05)),
			linear-gradient(rgba(255,255,255,0.1),   rgba(255,255,255,0.1)),
			linear-gradient(rgba(0,0,0, 0.25),       transparent),
			linear-gradient(to right, var(--interactive--faint) 50%, transparent 0);
		background-position: top, top, top, bottom right;
		background-size: 100% 2px, 0, 0, 0;
		color: var(--text);
		cursor: pointer;
		font-family: monospace, "brackets", メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", serif;
		font-weight: normal;
		height: auto;
		text-transform: uppercase;
	}
	.input__button:hover, button:hover {
		background-size: 0, 100% 2px, 0, 0;
	}
	.input__button:focus, button:focus {
		background-position: top, top, top, bottom left;
		background-size: 100% 2px, 0, 0, 201% 2px;
	}
	.input__button:focus:not(:active):hover, button:focus:not(:active):hover {
		background-position: top, top, top, bottom left;
		background-size: 0, 100% 2px, 0, 201% 2px;
	}
	.input__button:active, button:active {
		background-position: top, top, top, bottom left;
		background-size: 0, 0, 100%, 0;
	}
	.input__checkbox {
		display: inline-block;
		max-width: 0;
		min-width: 0 !important;
		opacity: 0;
		overflow: hidden;
		width: 0;
	}
	.input__checkbox-label {
		background-image: none;
		/*color: var(--text--faint);*/
		cursor: pointer;
		font-family: monospace, "brackets", メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", serif;
		margin-bottom: 0.25rem;
		margin-top: 0.25rem;
		padding: 0.25rem 0.5rem;
		user-select: none;
	}
	.input__checkbox-label--selected, .input__checkbox:checked + .input__checkbox-label {
		color: var(--text);
	}
	.input__checkbox-label--selected::before, .input__checkbox:checked + .input__checkbox-label::before, .input__checkbox:checked + .any__tag::before {
		opacity: 1;
	}
	/*.input__checkbox:checked + .any__tag {
		background: var(--interactive--faint);
		color: var(--text--faint);
	}*/
	.input__checkbox:not(:checked) + .input__checkbox-label::before {
		clip-path: url(#symbol__unchecked);
	}
	.input__checkbox:checked + .input__checkbox-label::before {
		clip-path: url(#symbol__checked);
	}
	.input__textarea, textarea {
		height: 4rem;
		line-height: 1.5;
	}
	.input__select, select[name][name][name] {
		box-sizing: content-box;
		height: calc(2rem - 4px);
		line-height: 2rem;
		padding-bottom: 2px;
		padding-top: 2px;
		vertical-align: middle;
		width: auto;
	}
	.input__option, select[name][name][name] option {
		height: calc(2rem - 4px);
		line-height: 2rem;
		vertical-align: middle;
	}
	select[multiple][multiple][multiple] {
		overflow: hidden;
	}
	select[multiple][multiple][multiple] option {
		display: inline;
		margin-right: 0.5rem;
	}
	select[multiple][multiple][multiple] option + option::before {
		background: var(--background--bold);
		color: var(--text);
		content: ",";
		display: inline-block;
		margin-left: -0.5rem;
		width: 0.5rem;
	}
	select[multiple][multiple][multiple] option::after {
		background: var(--background--bold);
		color: var(--text);
		content: attr(data-name);
		left: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}
	[size][size][size] {
		min-width: 0;
	}
	[data-role="status"][class*=symbol] {
		align-self: center;
		margin-left: 0.5rem;
	}
	[disabled], [readonly] {
		opacity: 0.5;
	}