/*****************************************/
/* CSS Reset                             */
/* Center Key Software                   */
/* www.centerkey.com/css/reset-test.html */
/* License: en.wikipedia.org/wiki/WTFPL  */
/*****************************************/

/* Special font */
@import url("http://fonts.googleapis.com/css?family=Chango");

/* Core */
* { box-sizing: inherit; }
html { font-size: 100%; font-family: geneva, tahoma, sans-serif; box-sizing: border-box; overflow-y: scroll; }
/* Note: Override <html> font-size percent to resize site's base font */
h1, h2, h3, h4, h5, h6 { padding: 0px; margin: 0px 0px 0.2em 0px; }
p { padding: 0px; margin: 0px 0px 0.8em 0px; }
img { border: none; }
ul, ol { font-size: 0.9rem; margin-top: 2px; }
fieldset { border: 1px solid silver; }
legend { border: 1px solid silver; padding: 0em 0.5em; }
button { font-size: 0.8rem; white-space: nowrap; padding-left: 10px; padding-right: 10px; }
button, input[type=checkbox], input[type=radio], input[type=file], select { cursor: pointer; }
*:disabled { cursor: default; }
pre, code { font-family: menlo, consolas, monospace; font-style: normal; }
p code, ul code, ol code { white-space: nowrap; font-weight: bold; }
p code { padding: 0px 3px; }
hr { border: none; border-top: 1px solid silver; }

/* Basic styling */
body { color: dimgray; margin: 20px 50px; }
header { margin-bottom: 20px; }
aside { float: right; font-size: 0.9rem; margin: 0px 0px 20px 20px; }
footer { clear: both; font-size: 0.9rem; font-color: darkgray; text-align: center; padding: 30px 0px; }
h1 { font-size: 2.0rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.4rem; }
h4 { font-size: 1.0rem; font-weight: normal; text-transform: uppercase; letter-spacing: 0.16em; }
h1:first-child+h2 { margin: -0.4em 0px 0.4em 0px; }
h1.distinct { font-size: 2.6rem; }
.distinct { font-family: 'Chango', sans-serif; }
quoteblock:before, .quotable:before { content: open-quote; }
quoteblock:after, .quotable:after { content: close-quote; }
.rounded { border-radius: 5px; }
fieldset { border-radius: 5px; }
input, textarea { font-size: 1.1rem; background-color: mintcream; border: 1px solid silver; border-radius: 5px; padding: 0.3em; }
select { font-size: 1.1rem; }
label { display: block; margin-bottom: 0.5em; }
label span { display: inline-block; width: 100px; vertical-align: top; text-align: right; padding-top: 0.5em; }
.sans-label { margin-left: 105px; }
label select { margin: 0.4em 0em 0em 0.2em; }
label input[type=checkbox] { margin: 0em 0.4em 0.3em 0.3em; }
label input[type=radio] { margin: 0.55em 0.4em 0.0em 0.3em; }
.input-group-down > label { display: inline-block; vertical-align: top; }
.input-group-down div.input-group { display: inline-block; margin: 0.4em 0em 0.8em 0em; }
div.input-group label { margin: 0.1em 0.8em 0em 0em; }
.input-group-across > label { vertical-align: top; }
.input-group-across label { display: inline-block; }
.input-group-across div.input-group { display: inline-block; margin-bottom: 0.4em; }
.perfect .note a { background-color: transparent; outline: none; }

/* Links */
a { text-decoration: none; color: dimgray; }
a:not(.plain):not(.image-link) { border-bottom: 1px dotted steelblue; }
a:not(.plain):not(.image-link):visited { color: darkgray; }
a:not(.plain):not(.image-link):hover { color: white; background-color: steelblue; outline: 2px solid steelblue; }
a:not(.plain) img { opacity: 0.8; transition: opacity 0.3s; }
a:not(.plain) img:hover { opacity: 1.0; }
.hover-glow { transition: box-shadow 0.3s; }
.hover-glow:hover { box-shadow: 0px 0px 0.2em deepskyblue; }

/* Tables */
table { border-collapse: collapse; border-spacing: 0px; margin: 0px auto 20px auto; }
table caption { caption-side: bottom; font-size: 0.7rem; font-weight: bold; text-transform: uppercase; letter-spacing: 0.16em; margin-top: 0.4rem; }
table tr { border-bottom: 1px solid steelblue; }
table thead tr { border-bottom-width: 2px; }
table tbody tr:hover { background-color: aliceblue; }
table tbody td { font-size: 0.9rem; vertical-align: top; text-align: center; }
table th, table td { padding: 6px 15px; }
table.data-box { background-color: aliceblue; border: 3px solid gainsboro; }
table.data-box tr { border: none; }
table.data-box th, table.data-box td { font-size: 0.9rem; text-align: left; padding: 4px 15px; }
table.data-box thead tr { background-color: gainsboro; }
table.data-box tbody tr:nth-child(odd) { background-color: mintcream; }
table.data-box tbody tr:hover { background-color: floralwhite; }
table.data-box td.num { text-align: right; }

/* Basic tools */
.small          { font-size: smaller; }
.large          { font-size: larger; }
.align-left     { text-align: left; }
.align-right    { text-align: right; }
.align-centered { text-align: center; }
.middle         { margin-left: auto; margin-right: auto; }
.column         { display: inline-block; float: left; }
.push-left      { float: left; margin: 0px 10px 5px 0px; }
.push-right     { float: right; margin: 0px 0px 5px 10px; }
.leapfrog       { clear: both; }
.right-block    { display: inline-block; text-align: right; padding-right: 5px; }
.indent         { margin-left: 40px; }
.space-left-sm  { padding-left:  5px; }
.space-left     { padding-left: 10px; }
.space-left-2x  { padding-left: 20px; }
.space-right-sm { padding-right:  5px; }
.space-right    { padding-right: 10px; }
.space-right-2x { padding-right: 20px; }
.space-above-sm { margin-top:  5px; }
.space-above    { margin-top: 10px; }
.space-above-2x { margin-top: 20px; }
.space-above-3x { margin-top: 30px; }
.space-above-4x { margin-top: 40px; }
.space-below-sm { margin-bottom:  5px; }
.space-below    { margin-bottom: 10px; }
.space-below-2x { margin-bottom: 20px; }
.space-below-3x { margin-bottom: 30px; }
.space-below-4x { margin-bottom: 40px; }
.field-xxsmall  { width:  35px; }
.field-xsmall   { width:  50px; }
.field-small    { width: 100px; }
.field-medium   { width: 150px; }
.field-large    { width: 200px; }
.field-xlarge   { width: 250px; }
.field-xxlarge  { width: 300px; }
.field-3xlarge  { width: 350px; }
.field-4xlarge  { width: 400px; }
.advisory       { color: darkred; }
.dim-out        { color: darkgray; }
.highligh-pen   { color: lightyellow; padding: 0px 3px; }
.highligh-pen2  { color: mistyrose; padding: 0px 3px; }
.box-glow       { box-shadow: 0px 0px 2em deepskyblue; }
.keep-together  { white-space: nowrap; }
.hide-me        { display: none; }
.stealth-mode   { position: absolute; left: -7000px; opacity: 0.0; }

/* Utilities */
.float-endgame:after { content: " "; display: table; clear: both; }
.separator:after     { content: "|"; padding: 0px 5px; }

/* PERFECT style */
.perfect { display: table; text-align: left; background-color: whitesmoke; color: dimgray;
   border: 1px solid; margin: 3px auto; }
.perfect h1 { text-align: center; color: white; font-size: 1.1rem; padding: 4px;
   margin: 0px 0px 20px 0px; }
.perfect label { display: block; }
.perfect label span { display: inline-block; width: 100px; vertical-align: top;
   text-align: right; padding-top: 0.5em; }
.perfect input, .perfect textarea { margin-right: 30px; }
.perfect button { font-size: 0.8rem; }
.perfect p { margin-left: 105px; }
.perfect .note { text-align: right; font-size: 0.7rem; margin: -15px 5px 5px 0px;
    color: gray; }
.perfect .note a { color: gray; text-decoration: none; border: none; }

/* JavaScript libraries */
.dna-template        { display: none; }
.jump-click,
.popup-click         { cursor: pointer; }
.reveal-action       { display: inline-block; border: 1px solid; padding: 3px 10px; margin-bottom: 10px; }
.reveal-action:hover { color: white; cursor: pointer; }
.reveal-target       { display: none; }

/* Bubble help */
.bubble-help {
   display: none;
   }
.bubble-help-hover {
   position: relative;
   }
.bubble-help-hover .bubble-wrap {
   position: absolute;
   left: 0px;
   pointer-events: none;
   z-index: 200;
   }
.bubble-help-hover .bubble-wrap .bubble-help {
   white-space: nowrap;
   font-size: 0.8rem;
   font-weight: bold;
   color: white;
   background-color: rgba(240,20,20,0.7);
   border-radius: 5px;
   padding: 5px 15px;
   }
.bubble-help-hover .bubble-wrap >div+div {
   text-align: left;
   font-size: 0.9rem;
   line-height: 1em;
   color: rgba(240,20,20,0.7);
   padding-left: 12px;
   margin-top: -0.2em;
   }

/* Social buttons */
#social-buttons img { height: 26px; width: 26px; border: 1px solid gainsboro; border-radius: 5px; margin-left: 10px; }
#social-buttons img:hover { border-color: white; box-shadow: 0px 0px 1em dodgerblue; }
#social-buttons #___plusone_0 { vertical-align: top !important; width: 80px !important; }

/* Popup image */
.popup-image       { cursor: pointer; }
.popup-image-layer { position: absolute; }
.popup-image-layer img+img { background-color: silver; border: 10px solid silver; outline: 1px solid dimgray; box-shadow: 0px 0px 1em 0.05em white; }
.popup-image-close { position: absolute; top: -12px; right: -12px; width: 30px; cursor: pointer; }
.popup-image-close:hover { opacity: 0.8; }


/************************/
/* Overridable Defaults */
/* Copy into style.css  */
/* and adjust colors    */
/************************/

/* Reveal action */
.reveal-action       { color: darkseagreen; }
.reveal-action:hover { background-color: darkseagreen; border-color: darkseagreen; }

/* PERFECT style */
.perfect { border-color: darkseagreen; }                            /* outer color */
.perfect h1 { background-color: darkseagreen; }                     /* outer color */
.perfect input, .perfect textarea { background-color: mintcream; }  /* input fields */
