@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=IBM+Plex+Serif:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap);
* { box-sizing: border-box } #debug { display: none } img { max-width: 100% }

/* templates */
.abjuration { margin: 0 auto; background: var(--shadow); padding: 2rem }
.enchantment { margin: 0 auto; background: var(--shadow); padding: 2rem; border: 2px solid var(--border) }
.conjuration { margin: 0 auto; background: var(--shadow); padding: 5rem; border-right: 20px solid var(--border); border-left: 20px solid var(--border) }
.divination { margin: 0 auto; background: var(--shadow); padding: 3rem; border: 4px double var(--border)  }
.illusion { margin: 0 auto; background: var(--shadow); padding: 5rem; border-radius: 0 30px }
.necromancy { margin: 0 auto; background: var(--shadow); padding: 4rem; border-radius: 20px }
.evocation { box-shadow: 0 0 15px var(--border); background: var(--shadow); margin: 0 auto; padding: 4rem }
.transmutation { box-shadow: 0 0 15px var(--shadow); background: var(--shadow); margin: 0 auto; padding: 4rem }
.alteration { margin: 0 auto; background: none; padding: 2rem } 
.altered { margin: 0 auto; background: none; padding: 2rem; border: 4px double var(--border) } 
.potion { background: var(--shadow); margin: 0 auto; border: 4px double var(--border); } .potion > .img {width: 100%; height: 25vh;}
.footnotes { margin: 0 auto; background: var(--shadow); color: var(--text); padding: 1.5rem; } .footnotes:before { content: "Footnotes"; color: var(--link); font-weight: bold; display: block; border-bottom: 1px solid var(--border); padding: 0 0 0.5rem 0; margin-bottom: 0.5rem; text-transform: uppercase; }

@media(min-width: 1000px) {
	.abjuration, .conjuration, .enchantment, .divination, .illusion, .necromancy, .evocation, .transmutation, .arcane, .alteration, .altered, .potion { max-width: 66% }
}

@media(max-width: 1000px) {
	.abjuration, .conjuration, .enchantment, .divination, .illusion, .necromancy, .evocation, .transmutation, .arcane, .alteration, .altered, .potion > .img { width: 100%; padding: 2rem 1rem; } .potion { width: 100%;}
}



/* resume reg coding */
.modal { padding: 1rem; box-shadow: none; border: 1px solid var(--border); background: var(--background); box-shadow: 2px 2px 10px var(--shadow) }
.landbg { background-size: cover; background-position: 50% 50% }
html, body { cursor: default; margin: 0; overflow: hidden; }
.flex { display: flex; margin: -1rem -.5rem } .flex.fill>div { flex: 1 } .flex>div { margin: 1rem .5rem }
p { margin: 0 0 1em } p:last-of-type { margin: 0 }

body { background: var(--background); color: var(--text); font-family: 'IBM Plex Sans'; font-size: 12px }
#bigwrap { display: flex; height: 100% }
#bigwrap>div { padding: 2rem }
#banner { background-position: 50% 50%; background-size: cover; height: 100%; box-sizing: border-box; width: 33%; text-shadow: 0 0 5px var(--shadow); border-right: 1px solid var(--border); font-family: 'IBM Plex Serif'; font-weight: bold; height: 100vh; }
/* c.widow adds mobile functionality */
	#mobilebanner, #ucphide {display: none;}
	#mobileguidebook {display: none;}
#main { overflow: auto; width: 100%; height: 100vh; }


a { color: var(--link); transition: .5s; text-decoration: none }
a:hover { color: var(--hover) }
h1, h2, h3, h4, h5, h6, .thead { font-family: 'IBM Plex Serif' }
summary h2 { display: inline-block }
.thead { font-style: italic; font-size: 115% }

#main h1 { font-variant: small-caps; text-align: center; font-size: 3rem }
h1 i { font-size: 50%; vertical-align: middle; } 
h2 { text-transform: lowercase; font-style: italic }

hr { background: var(--border); height: 1px; border: 0 } 
.navigation a:nth-child(1) { display: none }

.sitename { font-weight: bold; font-family: 'IBM Plex Serif'; font-variant: small-caps; font-size: 250% } 

table { width: 100% }
#copyright { font-size: 75%; text-transform: uppercase; filter: opacity(.75); letter-spacing: 1px; text-align: right; align-items: center; }
#affiliates { filter: opacity(.3); transition: .5s; text-align: center; margin: 1.75rem -.25rem 1.75rem -.25rem } 
#affiliates:hover { filter: opacity(1) }
#affiliates a { display: inline-block; margin: .25rem; border: 1px solid var(--border) }
#affiliates a:hover { border-color: var(--hover) }

.boards>div { border: 1px solid var(--border); padding: 1.5rem; box-shadow: 4px 4px 5px var(--shadow); }
.boards h2 { margin: 0 }

.newthreads h2 { margin: 0; display: inline-block }
.plain { color: inherit }

.newthreads { padding: 0; margin: -1rem; list-style: none }
.newthreads h2 { margin: 0; display: inline-block }
.newthreads li { margin: 1rem; padding: 0 0 0 1rem; border-left: 1px solid var(--border) }

.newthreads i { width: 1.5rem; text-align: center; font-size: .85rem }

.indexblocks .newthreads { padding: 0; margin: 0; list-style: none }
.indexblocks .newthreads li { margin: 0 0 0 .5rem; padding: 0; border: 0 }

.season { border: 0; box-shadow: none; text-align: center }
.season h3 { text-align: center; text-transform: uppercase }
.census { text-align: center } .census h2 { margin: 0 }
.season>* { margin: 0 } 

.announcements b { background: var(--border); text-align: right; padding: .5rem; display: block; font-family: 'IBM PLEX SERIF'; font-size: 80%; text-transform: uppercase; letter-spacing: .1rem }
.siteinfo::first-line { font-style: italic; font-family: 'IBM Plex Serif'; font-size: 125% }
.subforums div { DISPLAY: NONE }
.subforums { text-align: center; font-size: 0; margin-top: 1rem }

/*
.postav img { outline: 1px solid var(--border); outline-offset: 5px }
*/

button, .button, .subforums a, .postbit_buttons a { color: var(--link); transition: .5s; border: 1px solid var(--border); font-size: .65rem; font-weight: bold; text-transform: uppercase; margin: .2rem; padding: .2rem .35rem; display: inline-block; background: var(--border) }
button:hover, .button:hover, .subforums a:hover, .postbit_buttons a:hover { color: var(--hover); background: transparent }

.legend { text-align: center; padding: .5rem; margin: 1em 0 0; background: var(--border); font-size: 80%; text-transform: uppercase; letter-spacing: .05rem }
.cp { cursor: pointer }


.sublisting>div { flex: 0 0 calc(33% - 1rem); margin: .5rem }
.sublisting { justify-content: space-between; flex-wrap: wrap; margin: 1rem -.5rem }
.sublisting>div:nth-last-child(1) { flex: 1 }
.threadlist { margin-top: 1rem; margin-bottom: 1rem }

input, select, textarea { background: var(--shadow); border: 1px solid var(--border); color: inherit; font-family: inherit; font-size: inherit }

.forumdisplay_sticky { padding: 1.5rem!important; border: 1px solid var(--border) }  
.forms form { margin: 1rem }
.forms { margin: 0 -1rem }
.forms h3 { margin: 0 }

.oocboards>div { padding: 2rem; border: 1px solid var(--border); margin: 0 0 1rem; background-size: cover; background-position: 50% 50%; background-blend-mode: overlay;
    background-color: var(--background);}
.oocboards h2 { margin-top: 0 } 
.ranks { text-align: center }
.ranks h1, .ranks h2, .ranks h3 { margin-bottom: 0 }

.ranks h2 { font-size: 200%; margin-top: 0 }
.ranks h3 { background:var(--border); padding: 1em; text-transform: uppercase; font-size: 80%; letter-spacing: .1rem }

fieldset { border: 1px solid var(--border) }

input[type="checkbox"] {
         position: relative;
	       cursor: pointer;
    }
    input[type="checkbox"]:before {
         content: "";
         display: block;
         position: absolute;
         width: 13px;
         height: 13px;
         top: 0;
         left: 0;
         border: 1px solid var(--border);
         background-color: var(--shadow);
}
    input[type="checkbox"]:checked:after {
         content: "";
         display: block;
         width: 3px;
         height: 7px;
         border: solid var(--text);
         border-width: 0 2px 2px 0;
         -webkit-transform: rotate(45deg);
         -ms-transform: rotate(45deg);
         transform: rotate(45deg);
         position: absolute;
         top: 2px;
         left: 5px;
}


.guidebookmenu h3 { margin: 0 } 
		.guidebookmenu a.button { display: block }
		.guidebookmenu .active, .profile .active { background: none; color: var(--border)!important; border-color: transparent }
		mark { color: inherit; background: var(--border);
background: linear-gradient(0deg, var(--border) 50%, rgba(255,255,255,0) 50%); }
		.jumptotop {
    font-size: 1rem; margin-top: 1rem
			}
		
		@media(min-width:1000px) { .jumptotop {
			margin: 0;
    position: fixed;
    bottom: 1rem;
    left: 24.4%;
    font-size: 2rem;
    background: var(--background);
    border-radius: 50%; border: 1px var(--border)
			} }

.discord { font-size: 200% }
.codeblock { padding: 5px; display: inline-block; border-radius: 5px; margin: 0px auto; cursor: text; background: var(--shadow); font-size: 90%; }
.codeblock .title { display: none }

@media(min-width:1000px) {
.maxheight>div { max-height: 225px; overflow: auto }
}
.aa_info.maxheight>div {max-height: 225px; overflow: auto}

/* skinny screens */
@media(max-width:1000px) { 
	.postbittop { padding: 0 1rem; }
	.flex { display: block; margin: 0 -.5rem } #bigwrap { display: block } #banner { height: auto; width: auto; background-position: top; border-right: 0; border-bottom: 1px solid var(--border) }  
	.author_avatar { width: 150px; height: 150px; background-size: cover }
	.postbittop { padding: 0 }
	.post .flex>div { padding: .25rem .5rem }
	.tophead { padding: .5rem!important; display: flex }
	/* c.widow adds mobile functionality */
	#banner {display: none; }
	html, body {overflow: auto;}
	#bigwrap>div { padding: 0.5rem }
	#mobilebanner {display: block; position: fixed; top: 0; left: 0; width: 100%; z-index: 1; }
	#guidebook, #old_announcements {display: none;}
	#mobileguidebook, #ucphide {display: block;}
	#main > div { padding-top: 57px}
	.panel.usermenu {margin-top: 0; clear: none; padding: 1rem;}
	.postav > .author_avatar{display: none; }
	.mobile-hide {display:none;}
}
@media(max-width: 500px) {
	.tophead { display: block }
}