.admin {
	padding: 4px;
	border-radius: 4px;
	background: green;
	margin: 6px;
	width: 200px;
	display: inline-block;
}
.admin.protected {
	background: red;
}
.admin INPUT[type="submit"] {
	width: 100%;
}
.admin.protected INPUT[type="submit"] {
	width: 90%;
}


.bbcode {
	overflow-wrap: anywhere;
}
.bbcode BLOCKQUOTE {
	border: 1px solid black;
	padding: 8px;
	background: #DDD;
}
.bbcode .anchor A.alink {
	visibility: hidden;
}
.bbcode .anchor:hover A.alink {
	visibility: visible;
}

.comment {
	text-align: left;
	position: relative;
	overflow-wrap: anywhere;
}
.comment IMG {
	max-width: 100%;
}
.comment .info {
	visibility: hidden;
	text-align: center;
	padding: var(--block-padding);
	background: var(--block);
	border: 1px solid var(--block-border);
	position: absolute;
	top: 0;
	left: -180px;
	width: 180px;
	z-index: 1;
	box-shadow: 0 0 4px #000;
	border-radius: 4px;
}
.comment:hover .info {
	visibility: visible;
}

.comment_add INPUT:not([type="checkbox"]):not([type="radio"]),
.comment_add TEXTAREA,
.comment_add BUTTON,
.comment_add SELECT {
	width: 100%;
}

#comment-list-recent .more {
	display: block;
	padding-top: 8px;
}
.comment_big_list {
	display: flex;
	gap: 1em;
}
.comment_big_list .thumb {
	flex: 0;
}
.comment_big_list .comment_list {
	flex: 1;
	border-left: 1px solid var(--block-border);
}
.comment_big_list .comment {
	margin-left: 0;
}

/* checkbox, title, doc link */
.ext-list TD:nth-child(1) {
    width: 1em;
}
.ext-list TD:nth-child(2) {
    width: 12em;
}
.ext-list TD:nth-child(3) {
    width: 1em;
}

#handle_pixel_media IMG {
    max-width: 100%;
}

.command_example {
	margin: 12pt;
	padding-left: 16pt;
}

.command_example code {
    padding:4pt;
    border: dashed 2px black;
    background: inherit;
}

.command_example p {
    padding-left: 16pt;
}

@media (min-width: 750px) {
    .command_example code {
        display: table-cell;
        width: 256px;
    }

    .command_example p {
        display: table-cell;
    }
}

SECTION#image-list {
	box-shadow: none;
}
SECTION#image-list .blockbody {
	background: none;
	border: none;
	padding: 0px;
	text-align: left;
}
.shm-image-list {
	display: grid;
	grid-template-columns: repeat( auto-fill, calc(var(--thumb-width) + 42px) );
	place-items: center;
}
.shm-image-list .thumb {
	margin-bottom: 8px;
}

.setupblocks {
	column-width: 400px;
	column-gap: 1em;
	max-width: 1200px;
	margin: auto;
}
.setupblocks > .setupblock:first-of-type { margin-top: 0; }

.setupblock {
	break-inside: avoid;
	text-align: center;
}
.setupblock TEXTAREA {
	width: 100%;
	font-size: 0.75rem;
	resize: vertical;
}
.setupblock SELECT[multiple] {
	width: 100%;
}

.advanced_settings INPUT {
	width: 100%;
}

#Setupmain {
	box-shadow: none;
}
#Setupmain>.blockbody {
	background: none;
	border: none;
	margin: 0;
	padding: 0;
}
.setupblock .form {
	width: 100%;
}
.setupblock .form TH {
	font-weight: normal;
}
.setupblock .advanced {
    color: var(--danger-color);
    background: var(--danger-background);
}
.setupsubmit {
	margin-top: 1em;
	padding: 1em;
	width: 100%;
}

:root {
	--added-background: lightgreen;
	--removed-background: lightcoral;

	--flash-color: #882;
	--flash-border: #660;
	--blink-base-color: #FF70;
	--blink-blink-color: #FF7F;
}

@media (prefers-color-scheme: dark) {
	:root {
		--added-background: green;
		--removed-background: coral;
	}
}

INPUT, TEXTAREA, SELECT, BUTTON {
	box-sizing: border-box;
	font-size: 1em;
}

TABLE.form {width: 300px;}
TABLE.zebra {width: 100%;}

TABLE.form TD, TABLE.form TH {vertical-align: middle;}
TABLE.form TBODY TR TD {text-align: left;}
TABLE.form TBODY TR TH {text-align: right; padding-right: 4px; width: 1%; white-space: nowrap;}
TABLE.form TBODY TR.header TD,
TABLE.form TBODY TR.header TH {text-align: center; width: auto;}
TABLE.form TD + TH {padding-left: 8px;}
TABLE.form INPUT:not([type="checkbox"]):not([type="radio"]),
TABLE.form SELECT,
TABLE.form TEXTAREA,
TABLE.form BUTTON {width: 100%;}

H1, H2, H3 {
    overflow-wrap: anywhere;
}

*[onclick],
H3[class~="shm-toggler"] {
    cursor: pointer;
}

@keyframes blink {
    0% {background-color: var(--blink-base-color);}
    25% {background-color: var(--blink-blink-color);}
    50% {background-color: var(--blink-base-color);}
    75% {background-color: var(--blink-blink-color);}
    100% {background-color: var(--blink-base-color);}
}
.blink {
    animation: blink 2s linear 1;
}

#flash {
    color: #444;
    background-color: var(--flash-color);
    margin-bottom: 1rem;
    border-radius: var(--border-radius);
    border: 1px solid var(--flash-border);
}
#flash B {
    display: block;
    padding: 8px;
    border-radius: var(--border-radius);
}

.tag {
    overflow-wrap: anywhere;
}

.prose {
    text-align: left;
}
.prose P:first-child {
    margin-top: 0;
}
.prose P:last-child {
    margin-bottom: 0;
}

TABLE#large_upload_form.form {
	width: 100%;
}

.mini_upload INPUT:not([type="checkbox"]):not([type="radio"]),
.mini_upload TEXTAREA,
.mini_upload BUTTON,
.mini_upload SELECT {
	width: 100%;
}

TABLE.form.image_info {
    width: 550px;
    max-width: 100%;
}

.image_info .edit {
    display: block;
}
.image_info .view {
    display: none;
}

.image_info.infomode-view .edit {
    display: none;
}
.image_info.infomode-view .view {
    display: block;
}

.image_info TEXTAREA {
    min-width: 100%;
    min-height: 3rem;
}
.image_info .image-info-sidebar-box {
    vertical-align: top;
}

.post_controls FORM {
    margin-bottom: 0.75em;
}
.post_controls FORM:last-child {
    margin-bottom: 0;
}

#permission_table .allowed {
    color: #0F0;
}

#permission_table .denied {
    color: #F00;
}

#permission_table .inherited {
    opacity: 0.2;
}

#handle_video_media VIDEO {
    width: 100%;
    max-height: 85vh;
    background: black;
}

.autocomplete_completions {
    position: fixed;
    z-index: 2147483647;

    box-sizing: border-box;

    margin: 0;
    padding: 0;

    list-style: none;

    border: 1px solid #ccc;
    background-color: #fff;
    color: #000;

    font-size: 1em;
    line-height: normal;
    text-align: left;

    max-height: min(320px, 45vh);
    overflow-y: auto;
    overflow-x: hidden;

    white-space: nowrap;
}

.autocomplete_completions li {
    display: block;
    margin: 0;
    padding: 0.15em;

    cursor: pointer;
}

.autocomplete_completions li.selected,
.autocomplete_completions li:hover {
    background-color: #ccc;
    outline: none;
}

@media screen and (max-width: 700px) {
    .autocomplete_completions {
        left: 8px !important;
        right: 8px !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        max-height: 42vh;

        font-size: 1em;
        line-height: normal;

        white-space: normal;
        overflow-wrap: anywhere;
    }

    .autocomplete_completions li {
        padding: 0.25em;
    }
}

.avatar-editor .avatar-container {
    border: 2px solid var(--text);
}

#Statsmain .avatar-container,
.avatar-editor .avatar-container {
    margin: 0 auto;
    width: min(var(--pavatar-width), 192px);
    height: min(var(--pavatar-height), 192px);
    max-width: 192px;
    max-height: 192px;
}

#Statsmain .avatar,
.avatar-editor .avatar {
    max-width: 192px;
    max-height: 192px;
}

.avatar-container {
    overflow: hidden;
    width: var(--pavatar-width);
    height: var(--pavatar-height);
    max-width: 100%;
    text-align: center;
    display: inline-block;
}

#blotter1 {font-size: 80%; position: relative;}
#blotter2 {font-size: 80%;}

#filter-list{padding:revert; text-align:left;}
.thumb.filtered.filtered-active{display:none;}
.filter-inactive,.filter-inactive:hover{text-decoration: line-through;}
div#front-page h1 {font-size: 4rem; margin-top: 2em; margin-bottom: 0; text-align: center; border: none; background: none; box-shadow: none; -webkit-box-shadow: none; -moz-box-shadow: none;}
div#front-page h1 A {text-decoration: none;}
div#front-page {text-align:center;}
div#front-page .space {margin-bottom: 1em;}
div#front-page div#links a {display: inline-block; margin: 0 0.5em;}
div#front-page li {list-style-type: none; margin: 0;}
@media (max-width: 800px) {
	div#front-page h1 {font-size: 3rem; margin-top: 0.5em; margin-bottom: 0.5em;}
}
div#front-page > #search > form {margin: 0 auto;}
div#front-page > #search > form > input[type=submit]{padding: 4px 6px;}
#counter {display: grid; justify-content: center; margin: auto; max-width: 66%;}
.counter-img {grid-row: 1; max-width: 100%; height: auto;}

#handle_image_media IMG.fit-full {
    max-width: none;
    max-height: none;
}

#handle_image_media IMG.fit-width {
    max-width: 100%;
    max-height: none;
}

#handle_image_media IMG.fit-both {
    max-width: 100%;
    max-height: 95vh;
}

.tagcategoryblock {
	margin:0.6rem 1rem 0.6rem 0;
	padding:0.5rem 0.6rem 0.7rem;
	width:18rem;
	border:1px solid #AAAAAA;
	border-radius:0.25rem;
	display:inline-block;
}
.tagcategoryblock table {
	width:100%;
	border-spacing:0;
}
.tagcategoryblock input, .tagcategoryblock span {
	width:100%;
	height:100%;
}
.tagcategoryblock td:first-child {
	padding:0.3rem 0.7rem 0.4rem 0;
	text-align:right;
	width:40%;
}
.tagcategoryblock td:last-child {
	width:60%;
}
.tagcategoryblock td:last-child span {
	width:7ch;
	padding:0.24rem 0.7rem 0.5rem 0;
	display:inline-block;
}
.tagcategoryblock button {
	width:100%;
	margin-top:0.4rem;
	padding:0.2rem 0.6rem;
}

.tagcategoryblock input[type="color"] {
	height: 22px;
}

.tagcategoryblock .tc_colorswatch {
	display:inline-block;
	vertical-align:middle;
	height:1.25rem;
	width:1.25rem;
	border-radius:4px;
}

.bulk_selected {
	outline: 3px solid blue;
}

.bulk_action {
	margin-top: 8pt;
}
.bulk_selector_controls table td {
	width: 33%;
}
#reportedimage .reason {
	max-width: 30em;
	overflow-wrap: anywhere;
}
#reportedimage .formstretch INPUT {
	width: 100%;
}

.added-tag{background:var(--added-background);}
.deleted-tag{background:var(--removed-background);text-decoration:line-through;}

	/**
 * Some style elements borrowed from the QWebIRC project
 * http://qwebirc.org/
 */

:root {
	font-family: sans-serif;
	font-size: 14px;

	--danger-color: #000;
	--danger-background: #FAA;
}
BODY {
	background: #d6ffd5;
	margin: 0;
}
BODY.layout-grid {
	display: grid;
	grid-template-columns: 210px auto;
	grid-gap: 0 16px;
}
BODY.layout-no-left NAV {
	display: none;
}
BODY.layout-no-left ARTICLE {
	margin-left: 1em;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3                            menu bar                            *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
.menu {
	border-bottom: 1px solid #398316;
	margin-top: 0;
	margin-bottom: 0;
	padding: 4px;
	background: #c6f1ac;
}
a.tab, a.tab:visited {
	color:#000000;
	text-decoration:none;
}
a.tab:hover, a.tab:active, .tab-selected {
	color:#000000;
	background-color:#FFFFFE;
	text-decoration:none;
}
.bar .tab, .bar .tab-selected {
	display: inline-block;
}
.tab, .tab-selected, .tframe, #tips {
	border:1px solid #398316;
	cursor:default;
	margin-right:2px;
	padding:2px;
	break-inside: avoid;
}
.tframe {
	margin:4px;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3                        secondary bars                          *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
.sbar {
	border-bottom: 1px solid #398316;
	margin-top: 0;
	margin-bottom: 16px;
	padding: 4px;
	background: #c6f1ac;
	text-align: left;
}
.sfoot {
	border-top: 1px solid #398316;
	margin-top: 0;
	margin-bottom: 0;
	padding: 4px;
	background: #c6f1ac;
	text-align: center;
}
.navside, #comment-list-recent .blockbody {
	background:none repeat scroll 0 0 #c6f1ac;
	padding:4px;
	font-size:85%;
	border:1px solid #398316;
	margin-bottom:5px;
}
.navside.navtop, .shm-image-list, #Statsmain {
	text-align:left;
}
.shm-image-list {
	margin-top: 10px;
}
.navtop, .maintop {
	font-size:110%;
	border-bottom:0 none;
	margin:0 0 2px 0; /* top right bottom left */
	padding:2px 10px;
	position:relative;
	left:0;
	width:50%;
}
.navtop {
	top:7px;
}
.maintop {
	top:0;
	margin-top:5px;
	margin-bottom:5px;
}
#tips, #blotter1, #blotter2 {
	margin-right:16px;
	margin-left:16px;
}
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3                  things common to all pages                    *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
H1 A {
	color: black;
}
A, A:hover, A:active, A:visited {
	color: #1a7e49;
}
H3 {
	text-align: center;
	margin: 0;
}
THEAD {
	font-weight: bold;
}
TD {
	vertical-align: top;
	text-align: left;
}
CODE {
	background: #DEDEDE;
	font-size: 0.8rem;
}

TABLE.zebra {border-spacing: 0; border: 2px solid #398316;}
TABLE.zebra TD, TABLE.zebra TH {vertical-align: middle; padding: 4px;}
TABLE.zebra THEAD TD, TABLE.zebra THEAD TH {border-bottom: 2px solid #398316;}
TABLE.zebra TFOOT TD, TABLE.zebra TFOOT TH {border-top: 2px solid #398316;}
TABLE.zebra TR TD {border-bottom: 1px solid #398316;}
TABLE.zebra TR:nth-child(odd) {background: #c6f1ac;}
TABLE.zebra TR:nth-child(even) {background: #d6ffd5;}
TABLE.image_info {margin: auto;}

INPUT, TEXTAREA, button {
	border:1px solid #398316;
	cursor:default;
	margin-right:2px;
	padding:2px;
}

INPUT:hover, button:hover, TEXTAREA:hover {
	background-color:#FFFFFF;
	text-decoration:none;
}

FOOTER {
	grid-column: 1 / 3;
	grid-row: 3;
	clear: both;
	padding: 8px;
	font-size: 0.7rem;
	text-align: center;
	border-top: 1px solid #398316;
	background: #c6f1ac;
}

HEADER {
	grid-column: 1 / 3;
	grid-row: 1;
}

A {text-decoration: none;}
A:hover {text-decoration: underline;}

BLOCKQUOTE {
	border: 1px solid #398316;
	padding: 8px;
	background: #c6f1ac;
}

UL {
	text-align: left;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*             the navigation bar, and all its blocks             *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

NAV {
	grid-column: 1;
	grid-row: 2;
	width: 200px;
	text-align: center;
	margin-left: 16px;
}
NAV .blockbody {
	font-size: 0.85rem;
	text-align: center;
}
NAV TABLE {
	width: 190px;
}
NAV TD {
	vertical-align: middle;
}
NAV INPUT, nav button {
	width: 95%;
	padding: 0;
}
NAV SELECT {
	width: 100%;
	padding: 0;
}

#comments P {
	text-align: left;
	width: 150px;
	max-width: 150px;
	overflow: hidden;
}
.comment {
	text-align: left;
}

TABLE.tag_list {
	border-collapse: collapse;
}
TABLE.tag_list>THEAD {
	display: none;
}
TABLE.tag_list>TBODY>TR>TD {
	display: inline;
	padding: 0;
	line-height: 1em;
}
TABLE.tag_list>TBODY>TR>TD:after {
	content: " ";
}

.more:after {
	content: " >>>";
}

.tag_count:before {
	content: "(";
}
.tag_count:after {
	content: ")";
}

.paginator {
	padding: 4px;
	border-right: 1px solid #398316;
	border-left: 1px solid #398316;
}
.paginator A {
	color: #000;
	border:1px solid #398316;
	cursor:default;
	margin-right:2px;
	padding:2px;
}
.paginator A:hover {
	background-color:#FFFFFF;
	text-decoration:none;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*                 the main part of each page                     *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

ARTICLE {
	grid-column: 2;
	grid-row: 2;
	margin-right: 16px;
	text-align: center;
	height: 1%;
}
BODY.layout-no-left ARTICLE {
	margin-left: 4px;
	margin-right: 16px;
	margin-bottom:16px;
	padding-left:4px;
	padding-right:4px;
	text-align: left;
	height: 1%;
}
ARTICLE TABLE {
	width: 90%;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*                       mobile screens                           *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

@media screen and (width <= 800px) {
	BODY.layout-grid {
		grid-template-columns: auto;
	}
	HEADER {
		grid-column: 1;
		grid-row: 1;
	}
	ARTICLE {
		grid-column: 1;
		grid-row: 2;
		margin: 0 16px;
	}
	NAV {
		grid-column: 1;
		grid-row: 3;
		margin: auto;
		width: auto;
	}
	FOOTER {
		grid-column: 1;
		grid-row: 4;
	}
	.shm-image-list {
		justify-content: center;
	}
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*                     specific page types                        *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#pagelist {
	margin-top: 32px;
}

/*.rr {text-align: left; background: #c6f1ac; margin: 8px;}
.rrtop     {background: url("../../../themes/keyed/circle-tl.png") no-repeat top left;}
.rrtop div {background: url("../../../themes/keyed/circle-tr.png") no-repeat top right;}
.rrbot     {background: url("../../../themes/keyed/circle-bl.png") no-repeat bottom left;}
.rrbot div {background: url("../../../themes/keyed/circle-br.png") no-repeat bottom right;}
.rrtop, .rrtop div, .rrbot, .rrbot div {height: 8px; width: 100%;}
.rrcontent {margin: 0px 8px; text-align: left;}

.hrr {text-align: left; background: #398316; margin: 8px;}
.hrrtop     {background: url("../../../themes/keyed/circle-tl.png") no-repeat top left;}
.hrrtop div {background: url("../../../themes/keyed/circle-tr.png") no-repeat top right;}
.hrrbot     {background: url("../../../themes/keyed/circle-bl.png") no-repeat bottom left;}
.hrrbot div {background: url("../../../themes/keyed/circle-br.png") no-repeat bottom right;}
.hrrtop, .hrrtop div, .hrrbot, .hrrbot div {height: 8px; width: 100%;}
.hrrcontent {margin: 0px 8px;}*/

.setupblock {
	text-align: center;
}
.setupblock TEXTAREA {
	font-size: 0.75rem;
}


NAV .thumbblock {
	float: none;
	height: auto;
}
NAV .thumb {
	margin-bottom: 0;
}
.shm-thumb {
	width: 200px;
	display: inline-block;
}
.thumb {
	display: inline-block;
	text-align: center;
	margin-bottom: 32px;
}

.tooltip{
   position:absolute;
   top:0;
   left:0;
   z-index:3;
   display:none;
}


/* ==== Keyed custom overrides ==== */
BODY.layout-no-left ARTICLE {
  text-align: center !important;
}

/* shrink-wrap the post view block itself */
#ImageInfo {
  display: table !important;
  margin: 0 auto !important;
  text-align: center !important;
}

#ImageInfo > .navside.tab,
#ImageInfo > .tab,
#ImageInfo > .blockbody {
  display: inline-block !important;
  width: auto !important;
  max-width: calc(100vw - 24px) !important;
  margin: 0 auto !important;
  text-align: center !important;
  box-sizing: border-box;
}

#ImageInfo form {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

#ImageInfo table.image_info,
#ImageInfo table.form.image_info,
#ImageInfo .image_info.form {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

#main_image,
.shm-main-image,
#ImageInfo img#main_image,
#ImageInfo img.shm-main-image,
#ImageInfo video.shm-main-image,
#ImageInfo .blockbody > a > img,
#ImageInfo .blockbody > img {
  display: block !important;
  width: auto !important;
  max-width: min(calc(100vw - 32px), 100%) !important;
  height: auto !important;
  margin: 0 auto 10px auto !important;
}

/* metadata centered as a block, text readable */
#ImageInfo table.image_info td,
#ImageInfo table.form.image_info td,
#ImageInfo table.image_info th,
#ImageInfo table.form.image_info th {
  text-align: center !important;
}

/* comments */
.keyed-comment,
#comment-list-image .comment,
.comment_list .comment,
#comment-list-recent .comment,
.comment_big_list .comment {
  background: #c6f1ac !important;
  border: 1px solid #398316 !important;
}

.keyed-comment .comment-avatar img,
#comment-list-image .comment .info img,
.comment_list .comment .info img,
#comment-list-recent .comment .info img {
  display: block;
  width: 52px;
  height: 52px;
  object-fit: cover;
  margin: 0;
  padding: 0;
  border: 1px solid #398316;
  border-radius: 0;
  background: #efffe8;
  box-sizing: border-box;
}

.keyed-comment .comment-avatar {
  flex: 0 0 52px;
  width: 52px;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* profile page */
#Statsmain {
  text-align: center !important;
}

#Statsmain .avatar-container,
#Statsmain .avatar,
#Statsmain img {
  margin-left: auto !important;
  margin-right: auto !important;
}

#Statsmain img {
  display: block;
  width: clamp(180px, 26vw, 320px);
  max-width: 100%;
  height: auto;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  padding: 0;
  border: 1px solid #398316;
  border-radius: 0;
  background: #efffe8;
  box-sizing: border-box;
}

/* ==== comment layout fix: avatar left + divider line ==== */
.keyed-comment {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  text-align: left !important;
  background: #c6f1ac !important;
  border: 1px solid #398316 !important;
  padding: 6px !important;
  box-sizing: border-box;
}

.keyed-comment .comment-avatar {
  flex: 0 0 52px !important;
  width: 52px !important;
  min-width: 52px !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.keyed-comment .comment-avatar img,
.keyed-comment .comment-avatar .avatar,
.keyed-comment .comment-avatar .avatar-container,
.keyed-comment .comment-avatar .avatar-container img {
  display: block !important;
  width: 52px !important;
  height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #398316 !important;
  border-radius: 0 !important;
  background: #efffe8 !important;
  box-sizing: border-box !important;
}

.keyed-comment .comment-main {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  text-align: left !important;
}

.keyed-comment .comment-meta {
  margin: 0 0 4px 0 !important;
  color: #40790e !important;
  line-height: 1.2 !important;
}

.keyed-comment .comment-author-line {
  margin: 0 !important;
  color: #2e5c12 !important;
  font-weight: bold !important;
  line-height: 1.2 !important;
}

.keyed-comment .comment-author-line a,
.keyed-comment .comment-author-line .username {
  color: #1a7e49 !important;
  font-weight: bold !important;
}

.keyed-comment .comment-separator {
  display: block !important;
  border-top: 1px solid #398316 !important;
  margin: 4px 0 6px 0 !important;
  height: 0 !important;
}

.keyed-comment .comment-text {
  margin: 0 !important;
  color: #1a2414 !important;
  line-height: 1.35 !important;
  word-break: break-word;
}

.keyed-comment .comment-text > :first-child {
  margin-top: 0 !important;
}

.keyed-comment .comment-text > :last-child {
  margin-bottom: 0 !important;
}
/* ==== user class colors ==== */

.keyed-comment .username {
  font-weight: 700;
}

.keyed-comment .username.user-class-trusted,
.keyed-comment .comment-author-line.user-class-trusted {
  color: #2e8b57 !important;
}

.keyed-comment .comment-avatar.user-class-trusted img,
.keyed-comment.user-class-trusted .comment-avatar img {
  border-color: #2e8b57 !important;
  box-shadow: 0 0 0 1px #2e8b57 !important;
}

.keyed-comment .username.user-class-approver,
.keyed-comment .comment-author-line.user-class-approver {
  color: #ff8c2a !important;
}

.keyed-comment .comment-avatar.user-class-approver img,
.keyed-comment.user-class-approver .comment-avatar img {
  border-color: #ff8c2a !important;
  box-shadow: 0 0 0 1px #ff8c2a !important;
}

.keyed-comment .username.user-class-moderator,
.keyed-comment .comment-author-line.user-class-moderator {
  color: #2f6fff !important;
}

.keyed-comment .comment-avatar.user-class-moderator img,
.keyed-comment.user-class-moderator .comment-avatar img {
  border-color: #2f6fff !important;
  box-shadow: 0 0 0 1px #2f6fff !important;
}

.keyed-comment .username.user-class-admin,
.keyed-comment .comment-author-line.user-class-admin {
  color: #d10000 !important;
}

.keyed-comment .comment-avatar.user-class-admin img,
.keyed-comment.user-class-admin .comment-avatar img {
  border-color: #d10000 !important;
  box-shadow: 0 0 0 1px #d10000 !important;
}

.keyed-comment .username.user-class-anonymous,
.keyed-comment .comment-author-line.user-class-anonymous {
  color: #2e5c12 !important;
}

.keyed-comment .comment-avatar.user-class-anonymous img,
.keyed-comment.user-class-anonymous .comment-avatar img {
  border-color: #398316 !important;
  box-shadow: 0 0 0 1px #398316 !important;
}
@media screen and (max-width: 800px) {
  html, body {
    font-size: 15px;
  }

  BODY.layout-grid {
    display: block !important;
  }

  HEADER,
  NAV,
  ARTICLE,
  FOOTER {
    display: block !important;
    width: auto !important;
    margin-left: 8px !important;
    margin-right: 8px !important;
  }

  HEADER {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
  }

  NAV {
    width: auto !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }

  ARTICLE,
  BODY.layout-no-left ARTICLE {
    margin: 0 8px 12px 8px !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .menu,
  .sbar,
  .sfoot {
    padding: 6px 8px !important;
  }

  .menu {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
  }

  .bar {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    width: 100% !important;
    margin-top: 4px !important;
  }

  .tab,
  .tab-selected,
  .bar .tab,
  .bar .tab-selected {
    display: inline-block !important;
    padding: 7px 9px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    margin: 0 4px 4px 0 !important;
  }

  .navtop,
  .maintop {
    width: auto !important;
    left: auto !important;
    top: auto !important;
    margin: 0 0 6px 0 !important;
    padding: 6px 8px !important;
  }

  .navside,
  #comment-list-recent .blockbody,
  .tframe,
  #tips,
  #blotter1,
  #blotter2 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  NAV TABLE,
  ARTICLE TABLE {
    width: 100% !important;
  }

  INPUT,
  TEXTAREA,
  SELECT,
  button {
    font-size: 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  TEXTAREA,
  INPUT[type="text"],
  INPUT[type="password"],
  INPUT[type="search"],
  SELECT {
    width: 100% !important;
  }

  .shm-image-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    justify-content: stretch !important;
  }

  .shm-thumb,
  .thumb {
    width: auto !important;
    max-width: 100% !important;
    margin-bottom: 8px !important;
  }

  .thumb img,
  .shm-thumb img {
    width: 100% !important;
    height: auto !important;
  }

  #ImageInfo,
  #ImageInfo > .navside.tab,
  #ImageInfo form,
  #ImageInfo table.image_info,
  #ImageInfo table.form.image_info {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  #main_image,
  .shm-main-image,
  #ImageInfo img#main_image,
  #ImageInfo img.shm-main-image,
  #ImageInfo video.shm-main-image {
    max-width: calc(100vw - 20px) !important;
    height: auto !important;
  }

  .keyed-comment {
    gap: 8px !important;
    padding: 6px !important;
  }

  .keyed-comment .comment-avatar,
  .keyed-comment .comment-avatar img,
  .keyed-comment .comment-avatar .avatar,
  .keyed-comment .comment-avatar .avatar-container,
  .keyed-comment .comment-avatar .avatar-container img {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
  }

  .keyed-comment .comment-meta,
  .keyed-comment .comment-author-line,
  .keyed-comment .comment-text {
    font-size: 13px !important;
  }

  .paginator {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    justify-content: center !important;
  }

  .paginator A {
    min-width: 32px !important;
    text-align: center !important;
    padding: 6px 8px !important;
  }

  #comments P {
    width: auto !important;
    max-width: 100% !important;
  }
}

@media screen and (max-width: 480px) {
  .shm-image-list {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .menu,
  .sbar,
  .sfoot {
    font-size: 13px !important;
  }
}
@media screen and (max-width: 800px) {
  .navtop,
  .maintop {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: fit-content !important;
    max-width: calc(100vw - 24px) !important;
    display: table !important;
    margin: 0 auto 6px auto !important;
    padding: 6px 10px !important;
    text-align: center !important;
  }

  NAV {
    width: auto !important;
    margin: 0 8px 10px 8px !important;
  }

  NAV .blockbody,
  .navside,
  .tframe {
    text-align: center !important;
  }

  .navside {
    margin-bottom: 10px !important;
  }

  .thumb,
  .shm-thumb,
  NAV .thumbblock {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .maintop + .navside,
  .navtop + .navside {
    margin-top: 0 !important;
  }

  ARTICLE,
  BODY.layout-no-left ARTICLE {
    margin-left: 8px !important;
    margin-right: 8px !important;
  }
}
@media screen and (max-width: 800px) {
  .navtop,
  .maintop {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    max-width: calc(100vw - 24px) !important;
    display: table !important;
    margin: 0 auto -1px auto !important;
    padding: 6px 10px !important;
    text-align: center !important;
    border-bottom: 0 !important;
    z-index: 2;
  }

  .navside,
  .tframe,
  #comment-list-recent .blockbody {
    margin-top: 0 !important;
  }

  .navtop + .navside,
  .maintop + .navside,
  .navtop + .tframe,
  .maintop + .tframe {
    margin-top: 0 !important;
  }

  .navside,
  .tframe {
    position: relative;
    z-index: 1;
  }
}
/* profile avatar: keep current box size, but fit whole image */
#Statsmain .avatar-container,
#Statsmain .avatar,
#Statsmain .user-avatar,
#Statsmain .shm-user-avatar {
  width: clamp(180px, 26vw, 320px) !important;
  height: clamp(180px, 26vw, 320px) !important;
  margin: 10px auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 1px solid #398316 !important;
  background: #efffe8 !important;
  box-sizing: border-box !important;
}

#Statsmain .avatar-container img,
#Statsmain .avatar img,
#Statsmain .user-avatar img,
#Statsmain .shm-user-avatar img,
#Statsmain img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
  border: 0 !important;
  background: transparent !important;
}
.comment-bulk-action,
.comment-bulk-action form {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

.comment-bulk-action input[type="submit"] {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: #1a7e49 !important;
  font: inherit !important;
  font-weight: normal !important;
  line-height: inherit !important;
  cursor: pointer !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.comment-bulk-action input[type="submit"]:hover {
  background: none !important;
  text-decoration: underline !important;
}

.comment-bulk-action-user input[type="submit"],
.comment-bulk-action-ip input[type="submit"] {
  font-size: 1em !important;
}

/*# sourceMappingURL=keyed.1780075224.57b9638d4ca8d01ebbb9a17db1a3622f.css.map */