/* CORE */

* {
	margin: 0;
	padding: 0;
}

html {
	height: 100%;
}

body {
	min-height: 100%;
	margin: 10px;
}

h1 {
	font-variant: small-caps;
}

h2 {
	margin: 0 0 0.25em;
}

h3 {
	margin: 1em 0 0.25em;
}

hr {
	margin: 0.5em 0;
}

input, select {
	padding: 1px 0;
	margin: 1px 0 0;
}

input[type="number"] {
	width: 2.3em;
	text-align: center;
}

p {
	margin: 0.5em 0;
}




/* USEFUL CLASSES */

.button {
	vertical-align: middle;
	cursor: pointer;
}

.hover-msg {
	display: none;
	position: absolute;
}

.hover-msg~:hover {
	display: block;
}

.left {
	text-align: right;
}

.pad-top {
	margin-top: 1.5em;
}

.spacer {
	width: 100%;
	height: 0;
}


/* FINISHED PAGE */
.finished-page {
	display: table-row;
}

.finished-page>* {
	display: table-cell;
	padding: 10px 20px;
}


/* TABS */

.tab-links {
	position: relative;
	top: 1px;
	z-index: 1;
}

.tab-links li {
	float: left;
	margin-right: 5px;
	border: 1px solid black;
	list-style: none;
}

.tab-links li.active {
	border-bottom: 1px solid white;
}

.tab-links a {
	display: inline-block;
	padding: 9px 15px;
	color: black;
	text-decoration: none;
}

.tab-content {
	position: relative;
	clear: left;
	margin-right: 425px; /*without this, buttons in the sidebar can't be used*/
}

.tab {
	display: none;
	padding: 50px 20px 20px;
	border: 1px solid black;
	column-width: 300px;
	-webkit-column-width: 300px;
	-moz-column-width: 300px;
}

.tab.active {
	display: block;
}

.tab>* {
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}

.tab h2 {
	position: absolute;
	top: 15px;
}


/* RESULTS BAR */

#results {
	float: right;
	w/idth: 325px;
	width: 400px;
	margin: 0 50px 10px;
}


/* TARGET NUMBERS */

#targets input {
	display: inline-block;
	width: 40px;
	text-align: center;
}

#targets label {
	display: inline-block;
	width: 2em;
	text-align: center;
	
}

#targets .tableheaders {
	margin-left: 2.25em;
}

#targets .tableheaders span {
	display: inline-block;
	width: 44px;
	text-align: center;
	font-size: small;
}



/* ABILITY SCORES */

#ab-scores {
	width: 325px;
}

.ab {
	display: inline-block;
	width: 30%;
}

.ab label {
	display: inline-block;
	width: 25px;
}

.bonus {
	display: none;
}


/* RESISTS */

#resists label {
	display: inline-block;
	margin-right: 8px;
}

#resists select {
	height: 120px;
}


/* OTHER BASE STATS */

#save-profs .row {
	display: table-row;
}

#save-profs label {
	display: table-cell;
	padding-right: 10px;
}

#set-hd {
	width: 2.8em;
}

#actions {
	display: none;
}



/* ATTACKS */

#attacks {
	column-width: 275px;
	-webkit-column-width: 275px;
	-moz-column-width: 275px;
}

.atk {
	box-sizing: border-box;
	w/idth: 250px;
	width: 270px;
	margin-bottom: 1em;
	padding: 20px 20px 17px; /*because there's about 3px of blank space at the bottom of .textholder*/
	border: 1px solid black;
	font-size: 14px;
}

.atk-name {
	width: 153px;
}

.atk textarea {
	width: 110px;
	max-width: 110px;
}

img.add-damage {
	float: right;
	position: relative;
	top: 3px;
	left: -8px;
}

img.add-subroutine {
	margin-top: 2px;
}

img.remove-damage {
	margin-left: 11px;
}

input.range {
	width: 2.9em;
}

label.save-abil {
	display: none;
}

label.textholder {
	display: inline-block;
	vertical-align: top;
	text-align: center;
}

select.actiontype {
	position: relative;
	top: -1px;
}

select.dmg-type {
	margin-bottom: 3px;
}

.subcolumn {
	display: table-cell;
	padding: 3px 10px 0 0;
}

.subcolumn>* {
	display: block;
	line-height: 21px;
	font-size: small;
}

.subcolumn.right {
	min-width: 128px;
}

.subcolumn.left>* {
	width: 105px;
}

.subcolumn input:not([type=number]) {
	vertical-align: text-top;
}

.distance .right>* {
	position: relative;
	top: 9px;
}


/* STAT BLOCK */

#statblock, #final-ab-scores li {
	font: 14px 'Trebuchet MS', sans-serif;
}

#statblock h2, #statblock h3, #final-stats {
	color: #58170d;
	
}

#statblock h2 {
	margin: 0;
	font: bold small-caps 2em serif;
}

#statblock h3 {
	margin: 1em 0 -0.3em;
	border-bottom: 1px solid #58170d;
	font-size: 1.4em;
	font-variant: small-caps;
}

#statblock p {
	margin: 1em 0;
}

#statblock hr {
	height: 5px;
	border: none;
	background-image: url(../img/divider.png);
}

#type-info {
	font-size: 0.95em;
}

#final-ab-scores {
	margin: 0;
	padding: 0 5px;
	text-align: justify;
	font-size: 0;
}

#final-ab-scores li {
	list-style-type: none;
	display: inline-block;
}

#final-ab-scores h4 {
	margin: 0;
	text-align: center;
	text-transform: uppercase;
}

#final-saves ul, #final-resists ul, #final-immunities ul {
	list-style-type: none;
	display: inline;
}

#final-saves li, #final-resists li, #final-immunities li {
	display: inline;
}

#final-reactions {
	display: none;
}

/* FLAVOUR */

#flavour {
	width: 400px;
	margin-bottom: 1em;
}

#flavour p {
	text-indent: 1em;
	margin: 0;
}
#flavour p:first-of-type {
	text-indent: 0;
}

/* FONTS */

/* none right now */