/* Sheet specific styles */

/* Hide for both screenreaders and browsers
   css-discuss.incutio.com/wiki/Screenreader_Visibility */
.hidden { visibility: hidden; }

.header
{
  background-color: #444;
  color: White;
}

.header h1
{
  font-size: 36px;
}

.header h2
{
  margin: 0;
}

.header input
{
  width: 100%;
}

.page
{
  font-size: 10px;
}

.page h3
{
  background-color: #444;
  color: White;
  text-align: center;
  font-size: 18px;
  margin-bottom: 1px;
  margin-top: 10px;
}


.statTable
{
  margin-bottom: 1px;
  line-height: normal;
  vertical-align: middle;
  width: 100%;
}

input
{
  width: 100%;
  border-style: none;
  border-width: 0px; /* No border by default */
}

input[disabled]
{
  background-color: white;
  color: black;
}

textarea[disabled]
{
  background-color: white;
  color: black;
}

ul
{
  padding-left: 10px;
}

li
{
  margin-left: 10px;
}

ul.scoreArrays li
{
  font-weight: bold;
  list-style: none;
}

.page h4
{
  font-size: 9px;
}

.statTable input
{
  border-width: 1px 1px 1px 1px;
  border-style: solid;
  margin: 1px 1px 1px 10px;
  width: 45px;
  text-align: center;
}

.statTable tr > th
{
  padding: 1px;
  font-size: 9px;
  text-align: center;
}

.statTable tr > td
{
  background-color: #444;
  color: White;
  padding: 1px;
}

.statTable small
{
  font-size: 8px;
  line-height: 8px;
}

/* Top bits */

.writeHere
{
  border-width: 0px 0px 1px 0px;
  border-style: solid;
}

.importantBox
{
  border-width: 1px;
  border-style: solid;
}

/* Ability Scores */

#sheetAbilityScores
{
  cursor: pointer;
}

#sheetAbilityScores input
{
  cursor: pointer;
}

.abilMid
{
  height: 5px;
}

td.statName
{
  font-size: 16px;
  text-align: center;
  font-weight: bold;
}

.abilName
{
  width: 90px;
  text-align: center;
}

tr.abilSpacer
{
  height: 42px;
}

/* HP */

.hitPoints
{
  width: 100%;
}

.hitPoints th
{
  text-align: center;
}

.hitPoints input
{
  width: 45px;
  height: 100%;
  margin-left: 12px;
  border: 1px;
  border-style: solid;
  text-align: center;
}

.maxHP
{
  width: 50px;
  font-size: 18px;
}

/* SKILLS */

.skills input
{
  text-align: center;
}

.skills th
{
  text-align: center;
  font-size: 6px;
}

.oddRow { background-color: #EEE; }
.evenRow { background-color: White; }

.skillBonus input
{
  border-width: 1px;
  border-style: solid;
  width: 30px;
}

.skillName
{
  vertical-align: middle;
  padding-right: 10px;
  padding-left: 2px;
}

.skillAbility
{
  vertical-align: middle;
}

.skillAbilityMod input
{
  border-width: 1px;
  border-style: solid;
  width: 25px;
  margin-left: 5px;
}

.skillTrained input
{
  border-width: 1px;
  border-style: solid;
  width: 25px;
  margin-left: 5px;
}

.skillArmorPenalty input
{
  background-color: transparent;
  border-style: none;
}

.skillMisc input
{
  background-color: transparent;
  border-style: none;
}

/* Defenses */

.defense
{
  width: 100%;
  margin-bottom: 0px;
}

.defense th
{
  text-align: center;
}

.defense input
{
  text-align: center;
}

.defenseDetail
{
  background-color: #444;
  color: White;
}

.defenseDetail td
{
  vertical-align: middle;
}

.defenseName
{
  font-size: 24px;
  font-weight: bold;
  vertical-align: middle;
  padding-left: 10px;
  padding-right: 10px;
  width: 65px;
}

.defenseBonus
{
  width: 29px;
}

.defenseBonus input
{
  width: 25px;
  border-style: none;
  vertical-align: middle;
}

.defenseScore input
{
  height: 47px;
  width: 40px;
  border-width: 1px;
  border-style: solid;
  font-size: 24px;
}

.conditionalHeader
{
  margin: 0px;
  padding: 0px;
}

/* Action Points */

.actionPointsDiv
{
  width: 60%;
  float: left;
  font-size: 16px;
  font-weight: bold;
  vertical-align: middle;
  margin-top: 15px;
  background: #444;
  color: White;
}

.actionPointsDiv input
{
  margin-left: 5px;
  width: 40px;
  border-width: 1px;
  border-style: solid;
  text-align: center;
}

.actionPointsHelp
{
  float: right;
  width: 40%;
  text-align: center;
}

.actionPointsHelpTable { width: 100%; font-size: 8px; }

.actionPointsHelpTable th { text-align: center; }
.actionPointsHelpTable td { text-align: center; }

.actionPointsAdditional { clear: both; }

/* Multi-line text: race class features, languages */

.mutiLineText
{
  width: 294px;
  resize: none;
  border-style: none;
  font-family: Calibri, Sans-Serif;
}

.raceFeatures
{
  height: 75px;
}

.classFeatures
{
  height: 150px;
}

.languagesKnown
{
  height: 40px;
}

/* movement */

.movementBonus input
{
  width: 30px;
  margin: 0px;
}

/* senses */

.passiveText
{
  font-size: 12px;
  vertical-align: middle;
  font-weight: bold;
}

/* attack workspace */

.attackBonus input
{
  width: 18px;
}

/* feats */

.feats
{
  height: 320px;
  border-width: 1px;
  border-style: solid;
}

/* About: Ability Scores */
.pointBuyTable
{
  width: 100%;
}

/****************************************************************
 * Form controls
 ****************************************************************/

input[type="number"] {
  -webkit-appearance: textfield;
}

textArea {
  overflow: auto;
}

/****************************************************************
 * Highlighting Elements that want selections
 ****************************************************************/
.choiceAvailable
{
  padding:          2px;
  margin:          -4px;
  border-radius:    4px;
  border-width:     2px;
  border-style:     solid;
  border-color:     green;
  background-color: lightgreen;
  z-index:          10;
  position:         relative;
  cursor:           pointer;
}

.choiceAvailable input
{
  background-color: lightgreen;
}

.choiceAvailable textarea
{
  background-color: lightgreen;
}

.choiceAvailable:hover
{
  animation: greenIn 0.3s;
  -webkit-animation: greenIn 0.3s;
  background-color:  #75C175;
}

.choiceAvailable:hover input
{
  animation: greenIn 0.3s;
  -webkit-animation: greenIn 0.3s;
  background-color: #75C175;
  cursor: pointer;
}

.choiceAvailable:hover textarea
{
  animation: greenIn 0.3s;
  -webkit-animation: greenIn 0.3s;
  background-color: #75C175;
  cursor: pointer;
}

@-webkit-keyframes greenIn {
  from { background-color: lightgreen; }
  to   { background-color: #75C175; }
}

@keyframes greenIn {
  from { background-color: lightgreen; }
  to   { background-color: #75C175; }
}

/****************************************************************
 * Generic UI
 ****************************************************************/
.popupUI
{
  display: none;
  z-index: 20;
  position: absolute;
  top: 74px;
}

.popupUIWrapper
{
  background-color: #DDD;
  border: 1px solid #444;
  margin: -1px;
}

.popupUIWrapper hr
{
  border: 1px solid #DDD;
  margin: 16px;
}

.popupUI h1
{
  margin-bottom: 3px;
}

.popupUI p
{
  font-size: 14px;
}

.popupUI input[type=checkbox] {
  visibility: hidden;
}


/* Adapted from: http://cssdeck.com/labs/css-checkbox-styles */
.customCheck {
  width: 30px;
  height: 30px;

  border: 1px solid black;

  position: relative;
  display: inline-block;

  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.customCheck label {
  cursor: pointer;
  position: absolute;
  width: 20px;
  height: 20px;
  left: 5px;
  top: 5px;

  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.customCheck label:after {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0;
  content: '';
  position: absolute;
  width: 9px;
  height: 5px;
  background: transparent;
  top: 4px;
  left: 4px;
  border: 3px solid black;
  border-top: none;
  border-right: none;

  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.customCheck label:hover::after {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
  filter: alpha(opacity=30);
  opacity: 0.3;
}

.customCheck input[type=checkbox]:checked + label:after {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  opacity: 1;
}

.customCheck input[type=checkbox][disabled]:checked + label:after {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
  opacity: 0.5;
}

.uiButton
{
  text-align: center;
  font-size: 16px;
  border: 1px solid #444;
  cursor: default;
  background-color: White;
}

.uiButton:hover
{
  background-color: #CCC;
}

.uiButtonDark
{
  text-align: center;
  font-size: 16px;
  border: 1px solid #444;
  cursor: default;
  background-color: #DDD;
}

.uiButtonDark:hover
{
  background-color: White;
}

/****************************************************************
 * Selection UI
 ****************************************************************/

.choicePanel
{
  font-size: 14px;
  border: 1px solid #444;
  overflow: auto;
  height: 650px;
  background-color: white;
}

.choicePanel .oddRow:hover
{
  background-color: #CCC;
}

.choicePanel .evenRow:hover
{
  background-color: #CCC;
}

.detailPanel
{
  border: 1px solid #444;
  margin: -1px;
  background-color: White;
  overflow: hidden;
}

.whatPanel
{
  padding: 10px;
}

.whatButton
{
  margin-top: 10px;
  cursor:     pointer;
  text-align: right;
}

.choiceRow
{
  padding: 1px 0px 1px 15px;
}

.selectedRow
{
  background-color: #BBB;
}

.choiceGroup
{
  border-top:     1px solid black;
  margin-top:    -1px;
  border-bottom:  1px solid black;
  margin-bottom: -1px;
}

.choiceGroup h2
{
  font-size:     20px;
  margin-top:     5px;
  margin-bottom:  5px;
  margin-left:    5px;
  margin-right:   5px;
}

.choiceGroup div.available
{
  font-weight: bold;
  background-color: lightGreen;
  cursor: pointer;
}

.choiceGroup div.available:hover
{
  animation: greenIn 0.3s;
  -webkit-animation: greenIn 0.3s;
  background-color: #75C175;
}

/****************************************************************
 * Ability Score UI
 ****************************************************************/

.ablBlock
{
  border: 1px solid #444;
  margin: -1px;
  padding: 10px;
  background-color: White;
  height: 420px; /* DIRTY HACK, FIX. */
}

.ablBlock *
{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.ablHead
{
  font-size: 14px;
  vertical-align: bottom;
  margin-left: auto;
  margin-right: auto;
  height: 40px;
  text-align: center;
  border-bottom: 1px solid #444;
}

.ablRow > td
{
  padding-top: 5px;
}

.ablScoreValue
{
  margin-left: auto;
  margin-right: auto;
  height: 50px;
  width: 50px;
}

.ablScoreValue input
{
  margin: -1px;
  border: 1px solid #444;
  border-radius: 50%;
  font-weight: bold;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  width: 50px;
  height: 50px;
  padding: 0px;
}

.ablRacialBonus
{
  margin-top: 10px;
  height: 30px;
  position: relative;
  font-size: 20px;
  padding-left: 10px;
}


.ablRacialBonusValue
{
  display: inline-block;
}

.ablRacialBonusValue input
{
  width: 30px;
  height: 30px;
  margin-left: 2px;
  margin-right: auto;
  text-align: center;
  font-size: 20px;
}

.ablRacialBonusCheck
{
  vertical-align: top;
}

.ablScoreTotal
{
  font-size: 24px;
}

.ablScoreTotal input
{
  width: 50px;
  height: 50px;
  font-size: 24px;
  text-align: center;
  border: 1px solid #444;
  font-weight: bold;
}

.ablScoreTotalValue
{
  display: inline-block;
}

.ablScoreName
{
  border: 1px solid #444;
  margin: -1px;
  background: #DDD;
  display: inline-block;
  padding-left: 10px;
  font-size: 20px;
  width: 200px;
}

.ablScoreMod
{
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
  text-align: center;
}

.ablScoreMod input
{
  font-size: 24px;
  text-align: center;
  width: 50px;
  height: 30px;
  border: 1px solid #444;
  margin-left: 5px;
  margin-right: 5px;
}

.ablArrayButton
{
  margin-bottom: 10px;
}

.pointValue
{
  font-size: 18px;
}

.pointValue input
{
  width: 30px;
  text-align: center;
  font-size: 18px;
}

.maxPoints
{
  border: 1px solid #DDD;
}

.explication
{
  padding: 5px;
}

.abilityWrapper .choicePanel
{
/* height: 400px; */
}