/*
 File Name:      characters.css
 Description:    Styles for custom HTML character sheets - GURPS Classic
 Author:         The Buzzard
 Author URI:     https://www.theBuzzard.us/
 Version:        1.0.0
*/

/* Element Defaults */
body {
  background-color: white;
  padding: 0px;
  margin: 0px;
}
.page-wrap h1 {
  margin-bottom: 4px;
  margin-top: 0px;
  font-size: 32px;
  color: DarkRed;
  text-shadow: 1px 1px LightGray;
}
.page-wrap h2 {
  margin-bottom: 0px;
  margin-top: 0px;
  font-size: 24px;
  color: DarkRed;
  text-shadow: 1px 1px LightGray;
}
.page-wrap h3 {
  margin-bottom: 0px;
  margin-top: 0px;
  padding-bottom: 2px;
  font-size: 20px;
  color: DarkRed;
  text-shadow: 1px 1px LightGray;
}
.page-wrap hr {
  clear: both;
}

/* Columns & Page Layout */
div.page-wrap {
  width: auto;
  max-width: 900px;
  padding: 0px 20px 20px 20px;
  background-color: FloralWhite;
  min-height: 93vh;
}
div.column-left {
  float: left;
  width: 48%;
  padding-right: 2%;
}
div.column-right {
  float: right;
  width: 48%;
  padding-left: 2%;
}
.page-break {
  clear: both;
}
.subpage-header {
  display: none;
}

/* Page Header */
div.page-header {
  top: 0px;
  left: 0px;
  height: 40px;
  width: 100%;
  max-width: 902px;
  margin-bottom: 6px;
  padding: 20px 18px 0px 20px;
  position: fixed;
  background-color: FloralWhite;
}
div.page-header-wrap {
  height: 40px;
  border-bottom: 1px solid black;
  border-right: 1px solid FloralWhite;
}
div.page-header-spacer {
  min-height: 100px;
}

/* Navigation */
div.page-navigation {
  padding-top: 6px;
  padding-bottom: 3px;
  position: fixed;
  width: 100%;
  max-width: 902px;
  background-color: FloralWhite;
  top: 61px;
}
.page-navigation button {
  margin-bottom: 4px;
}
.page-navigation .tab-button-active {
  background-color: DarkGray;
  color: White;
}
div.page-section {
  display: none;
}
#button-martial {
  display: none;
}

/* Character Blocks */
div.character-block {
  width: 100%;
  margin-bottom: 12px;
}
.character-block table {
  width: 100%;
  border-spacing: 0px;
  border-collapse: collapse;
}
.character-block td {
  font-size: 16px;
}
.character-block .table-head td {
  border: 0px;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  vertical-align: bottom;
  padding: 2px 2px;
}
.character-block .table-head td.table-title {
  font-size: 20px;
  font-weight: bold;
  padding-top: 0px;
  padding-left: 0px;
  padding-bottom: 2px;
  text-align: left;
  color: DarkRed;
  text-shadow: 1px 1px LightGray;
}
.character-block .sublist td {
  font-weight: bold;
}
.character-block .subitem td {
  font-style: italic;
}
.character-block .subitem td.item-name::before {
  content: ' - ';
}
.character-block .subitem td.item-cost {
  color: DarkGray;
}
.character-block .table-foot td {
  border: 0;
  padding-left: 10px;
  padding-right: 6px;
  text-align: right;
  font-weight: bold;
  padding-top: 5px;
}
.character-block .table-foot td.total-label::after {
  content: ':';
}
.character-block .table-foot td.table-bonuses {
  font-weight: normal;
  font-size: 90%;
  text-align: left;
  padding-left: 0px;
  vertical-align: bottom;
}
.character-block span.item-option {
  white-space: nowrap;
}
.character-block td.item-name{
  font-weight: 500;
}
.character-block td.item-name .item-notes {
  font-size: 14px;
  color: Gray;
}

/* Point Total */
div.character-total-points {
  font-size: 18px;
  font-weight: bold;
  padding-top: 18px;
  text-align: right;
}

/* Attributes */
.character-attributes td {
  padding: 3px 6px;
  font-size: 12px;
}
.character-attributes td.attribute-label {
  font-size: 30px;
  font-weight: bold;
  text-align: left;
  padding-left: 0px;
  padding-right: 3px;
  color: DarkRed;
  text-shadow: 1px 1px LightGray;
}
.character-attributes td.attribute-value {
  font-size: 30px;
  font-weight: bold;
  border: 1px solid DarkGray;
  text-align: center;
}
.character-attributes td.attribute-cost {
  font-size: 12px;
  text-align: center;
  padding-left: 5px;
  padding-right: 12px;
}
.character-attributes h5 {
  margin: 0px;
  padding: 0px;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 2px;
}
.character-attributes td.attribute-damage {
  border: 1px solid DarkGray;
}
.character-attributes td.attribute-value-hp, .character-attributes td.attribute-value-fp {
  //padding-left: 36px;
}
.character-attributes td.attribute-current {
  text-align: center;
  vertical-align: bottom;
  padding: 2px;
  font-size: 11px;
  font-weight: bold;
}
.input-attribute {
 background: transparent;
 border: 0px;
 text-align: center;
 display: block;
 width: 100%;
 margin: 0px auto;
 padding: 2px 4px;
 font-family: serif;
 font-size: 30px;
 font-weight: bold;
}

/* Portrait */
div.character-portrait {
  border: 1px solid black;
}
.character-portrait img {
  max-width: 100%;
}

/* Info */
.character-info td {
  border: 1px solid DarkGray;
  padding: 3px 6px;
  text-align: center;
  font-size: 18px;
  font-weight: normal;
  width: 16.67%;
}
.character-info h5 {
  margin: 0px;
  padding: 0px;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2px;
}

/* Appearance */
.character-appearance table {
  min-height: 60px;
}
.character-appearance td {
  padding: 2px 6px;
  border: 1px solid DarkGray;
  vertical-align: top;
}
.character-appearance div.appearance-attribute {
  display: inline-block;
  padding-right: 20px;
}
.character-appearance .appearance-label {
  font-weight: bold;
}
.character-appearance .appearance-label::after {
  content: ': ';
}
.character-appearance .character-appearance-details {
  padding-top: 4px;
}

/* Reactions */
.character-reactions table {
  min-height: 40px;
}
.character-reactions td {
  padding: 2px 6px;
  border: 1px solid DarkGray;
  vertical-align: top;
}

/* Story */
.character-story table {
  min-height: 40px;
}
.character-story td {
  padding: 2px 6px;
  border: 1px solid DarkGray;
  vertical-align: top;
}


/* Damage */
.character-damage td {
  border: 1px solid DarkGray;
  padding: 3px 6px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  width: 16.67%;
}
.character-damage h5 {
  margin: 0px;
  padding: 0px;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2px;
}
.input-damage {
 background: transparent;
 border: 0px;
 text-align: center;
 display: block;
 width: 100%;
 margin: 0px auto;
 padding: 2px 4px;
 font-family: serif;
 font-size: 20px;
 font-weight: bold;
}

/* Perceptions */
.character-perceptions td {
  border: 1px solid DarkGray;
  padding: 3px 6px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  width: 16.67%;
}
.character-perceptions h5 {
  margin: 0px;
  padding: 0px;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2px;
}

/* Movement */
.character-movement td {
  border: 1px solid DarkGray;
  padding: 3px 6px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  width: 16.67%;
}
.character-movement h5 {
  margin: 0px;
  padding: 0px;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 2px;
}

/* Encumbrance */
.character-encumbrance td {
  border: 1px solid DarkGray;
  padding: 3px 6px;
}
.character-encumbrance td.encumbrance-formula {
  width: 66.67%;
}
.character-encumbrance td.encumbrance-weight {
  width: 16.67%;
  text-align: center;
}
.character-encumbrance td.encumbrance-move {
  width: 16.67%;
  text-align: left;
  padding-left: 7%;
}

/* Lifting */
.character-lifting td {
  border: 1px solid DarkGray;
  padding: 3px 6px;
}
.character-lifting td.lifting-label {
  width: 80%;
}
.character-lifting td.lifting-weight {
  width: 20%;
  text-align: center;
}


/* Defenses */
.character-defenses td {
  border: 1px solid DarkGray;
  padding: 3px 10px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  vertical-align: top;
}
.character-defenses h5 {
  margin: 0px;
  padding: 0px;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4px;
}
.character-defenses .defense-note {
  font-size: 11px;
  font-weight: normal;
  font-style: italic;
  padding-top: 4px;
}

/* Body Protection */
.character-body-protection td {
  width: 12.1%;
  text-align: center;
  padding: 6px 0px;
  border: 1px solid DarkGray;
}
.character-body-protection td.body-protection-other-pd, .character-body-protection td.body-protection-other-dr {
  width: 50%;
  border: 1px solid DarkGray;
  padding: 2px 10px 2px 2px;
  vertical-align: top;
  text-align: left;
  height: 80px;
}
.character-body-protection h5 {
  margin: 0px;
  padding: 0px;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
  text-align: left;
  margin-bottom: 4px;
}

/* Advantages, Powers, Disadvantages, Quirks */
.character-adv-dis td {
  padding: 2px;
  border: 1px solid DarkGray;
  vertical-align: top;
}
.character-adv-dis td.item-name {
  width: auto;
}
.character-adv-dis td.item-cost {
  width: 24px;
  padding-left: 10px;
  padding-right: 6px;
  text-align: right;
}

/* Skills */
.character-skills td {
  padding: 2px;
  border: 1px solid DarkGray;
  vertical-align: top;
}
.character-skills td.item-name {
  width: auto;
}
.character-skills td.item-cost {
  width: 24px;
  padding-left: 10px;
  padding-right: 6px;
  text-align: right;
}
.character-skills td.item-diff {
  width: 24px;
  padding-left: 6px;
  padding-right: 6px;
  text-align: center;
}
.character-skills td.item-lev {
  width: 20px;
  padding-left: 6px;
  padding-right: 6px;
  text-align: center;
}
.character-skills span.item-notes {
  white-space: nowrap;
}

/* Points */
.character-points td {
  padding: 2px;
  border: 1px solid DarkGray;
  vertical-align: top;
}
.character-points td.item-name {
  width: auto;
}
.character-points td.item-cost {
  width: 24px;
  padding-left: 10px;
  padding-right: 6px;
  text-align: right;
}

/* Weapons */
div.character-weapons {
  width: 100%;
  max-width: none;
}
.character-weapons td {
  padding: 2px;
  border: 1px solid DarkGray;
  vertical-align: top;
  width: 24px;
  padding-left: 6px;
  padding-right: 6px;
  text-align: center;
}
.character-weapons td.item-cost {
  width: 24px;
  padding-left: 10px;
  padding-right: 6px;
  text-align: right;
}
.character-weapons td.item-name, .character-weapons td.item-notes {
  width: auto;
  min-width: 72px;
  padding-left: 6px;
  padding-right: 10px;
  text-align: left;
}
.character-weapons td.item-damage {
  width: auto;
  max-width: 80px;
}
.character-weapons td.item-reach {
  width: auto;
  max-width: 28px;
}
.character-weapons td.item-skill, .character-weapons td.item-st, .character-weapons td.item-parry {
  width: 20px;
  max-width: 20px;
  padding-left: 6px;
  padding-right: 6px;
  text-align: center;
}
.character-weapons .table-head td {
  padding-left: 0px;
  padding-right: 0px;
}
.character-weapons .table-head td.item-name, .character-weapons .table-head td.item-notes {
  padding-left: 6px;
}

/* Equipment */
.character-equipment td {
  padding: 2px;
  border: 1px solid DarkGray;
  vertical-align: top;
}
.character-equipment td.item-name {
  width: auto;
}
.character-equipment td.item-cost {
  width: 30px;
  max-width: 30px;
  padding-left: 10px;
  padding-right: 6px;
  text-align: right;
}
.character-equipment td.item-weight {
  width: 24px;
  max-width: 24px;
  padding-left: 10px;
  padding-right: 23px;
  text-align: right;
}
.character-equipment .table-foot td.total-weight {
  padding-right: 0px;
}

/* Notes */
.character-notes table {
  min-height: 200px;
}
.character-notes td {
  padding: 2px 6px;
  border: 1px solid DarkGray;
  vertical-align: top;
}

/* Bio */
.character-bio table {
  min-height: 400px;
}
.character-bio td {
  padding: 2px 0px;
  vertical-align: top;
}

/* Spells */
.character-spells td {
  padding: 2px;
  border: 1px solid DarkGray;
  vertical-align: top;
  width: auto;
  padding-left: 6px;
  padding-right: 6px;
  text-align: center;
}
.character-spells td.item-name {
  width: auto;
  text-align: left;
}
.character-spells td.item-level {
  width: 24px;
  max-width: 24px;
}
.character-spells td.item-notes {
  min-width: 70px;
  padding-left: 6px;
  padding-right: 10px;
  text-align: left;
}
.character-spells td.item-energy, .character-spells td.item-duration {
  max-width: 70px;
}
.character-spells td.item-ref {
  max-width: 50px;
  padding-left: 6px;
  padding-right: 10px;
  text-align: left;
}
.character-block table.character-college-skills {
  width: auto;
  margin-top: 12px;
  margin-bottom: 16px;
}
.character-college-skills td.item-name {
  padding-right: 30px;
  min-width: 240px;
}

/* Dice Roller */
#dice-shade {
 height: 100%; 
 background: rgba(0,0,0,.6); 
 position: fixed; 
 top: 0; 
 left: 0; 
 right: 0; 
 bottom: 0; 
 z-index: 1000;
 display: none;
}
#dice-popup total {
 display: block;
 font-weight: bold;
 font-size: 200%;
}
#dice-popup skill, #dice-popup dice, #dice-popup modified, #dice-popup type {
 display: block;
 padding-bottom: 6px;
}
#dice-popup dice img {
 width: 32px;
 height: 32px;
 padding: 4px;
}
#dice-popup .roll-succeed {
 color: Green;
}
#dice-popup .roll-fail {
 color: DarkRed;
}
#dice-popup {
 min-width: 200px;
 max-width: 300px;
 padding: 10px 10px 30px 10px; 
 display: inline-block; 
 background-color: white; 
 border-radius: 10px;
 position: fixed;
 top: 40vh;
 z-index: 1001;
 display: none;
 text-align: center;
 left: 0;
 right: 0;
 margin-left: auto;
 margin-right: auto;
}
#dice-popup-close {
 margin-bottom: 10px;
 width: 12px;
 height: 12px;
 text-align: center;
 cursor: pointer;
 border: 1px solid #999999;
 background-color: #cccccc;
 color: white;
 border-radius: 50%;
 font-family: Arial;
 padding: 1px;
 font-size: 10px;
}
#dice-popup-close:hover {
 color: DarkRed;
 text-shadow: 1px 1px 2px #888888;
}
#dice-popup-heading {
 font-size: 18px; 
 font-weight: bold; 
 margin-bottom: 6px;
}
.dice-roller {
 cursor: pointer;
}
.dice-roller:hover {
 color: DarkRed;
 text-shadow: 1px 1px 2px #888888;
}
#dice-popup input {
 width: 50px;
 text-align: center;
}
#dice-popup button {
 background-image: url( 'images/icon-die-six-sided-white.png' );
 background-size: contain;
 height: 32px;
 width: 32px;
 border-color: #999999;
 border-radius: 4px;
 cursor: pointer;
 opacity: 20%;
}
#dice-popup button:hover {
 opacity: 100%;
}


/* Responsive Styles */
@media only screen and (max-width : 750px) {

	.character-attributes td {
	  padding: 3px 10px;
	  font-size: 12px;
	}
	.character-attributes td.attribute-label {
	  font-size: 26px;
	  font-weight: bold;
	  text-align: left;
	  padding-left: 0px;
	  padding-right: 3px;
	  color: DarkRed;
	  text-shadow: 1px 1px LightGray;
	}
	.character-attributes td.attribute-value {
	  font-size: 26px;
	  font-weight: bold;
	  border: 1px solid DarkGray;
	  text-align: center;
	}
	.character-attributes td.attribute-cost {
	  font-size: 12px;
	  text-align: center;
	  padding-left: 5px;
	  padding-right: 10px;
	}

	.character-attributes td.attribute-value input {
	  padding: 3px 3px;
	  font-size: 26px;
	  font-weight: bold;
	  border: 1px solid DarkGray;
	  text-align: center;
	  max-width: 60px;
	  border: 0;
	}

	.character-attributes h5 {
	  font-size: 11px;
	}

}
@media only screen and (max-width : 700px) {

	.character-attributes td {
	  padding: 3px 8px;
	  font-size: 12px;
	}
	.character-attributes td.attribute-label {
	  font-size: 24px;
	  font-weight: bold;
	  text-align: left;
	  padding-left: 0px;
	  padding-right: 3px;
	  color: DarkRed;
	  text-shadow: 1px 1px LightGray;
	}
	.character-attributes td.attribute-value {
	  font-size: 24px;
	  font-weight: bold;
	  border: 1px solid DarkGray;
	  text-align: center;
	}
	.character-attributes td.attribute-cost {
	  font-size: 11px;
	  text-align: center;
	  padding-left: 5px;
	  padding-right: 8px;
	}

	.character-attributes td.attribute-value input {
	  padding: 3px 3px;
	  font-size: 24px;
	  font-weight: bold;
	  border: 1px solid DarkGray;
	  text-align: center;
	  max-width: 60px;
	  border: 0;
	}

	.character-attributes h5 {
	  font-size: 11px;
	}

}
@media only screen and (max-width : 640px) {
  div.column-left {
    float: none;
    width: 100%;
    padding-right: 0;
  }
  div.column-right {
    float: none;
    width: 100%;
    padding-left: 0;
  }
  .character-total-points {
    margin-top: -40px;
  }
  .character-spells td:nth-of-type(7) {
    display: none;
  }
  .character-ranged-weapons td:nth-of-type(12) {
    display: none;
  }
  .character-attributes {
    padding-top: 10px;
  }
}







/* Print Styles */
@media print {
  .subpage-header {
    display: block;
    border-bottom: 1px solid black;
    margin-bottom: 12px;
    padding-bottom: 2px;
  }
  .page-break {
    page-break-after: always;
  }
  .page-wrap {
    background-color: white;
    padding: 0px;
  }
}
