article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
/*audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; } */
[hidden] { display: none; }

html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { margin: 0; font-size: 12px; line-height: 1.231; }
body, button, input, select, textarea { font-family: Georgia, serif; color: #000; }
h1, h2, h3, h4, h5, figure, label, #slogan, #comments, #contact, #tweets li, #tweets dt { font-family: 'Trebuchet MS', verdana, arial, helvetica, geneva, sans-serif; }

h2 { margin-top: 50px;}

/*::-moz-selection { background: rgb(45, 105, 45); color: #fff; text-shadow: none; }*/
/*::selection { background: rgb(45, 105, 45); color: #fff; text-shadow: none; }*/

a { color: #00e; }
a:visited { color: #551a8b; }
a:hover { color: #06e; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }

/*abbr[title] { border-bottom: 1px dotted; }*/
b, strong, .link2more { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small, #tweets li, #tweets dt { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
body#tweets dd { margin-bottom: 3em; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

.iconlist { margin: 0; padding: 0; display: inline; list-style-type: none; list-style-image: none; }
.iconlist li { margin: 5px; padding: 0; display: inline-block; float: right; height: 64px; width: 64px; background-size: 64px 64px;}
.sectionlist li img { float: right; }
.horizontallist li { display: inline; padding-right: 20px;list-style-type: circle; }
.aboutlist li { margin: 0; padding: 0;}
.servicelist li { margin: 0 0 0 100px;padding: 0;}

#masthead { width: 100%; }
#mastheadlogo { height: 101px; width: 125px; float: left; }
#mastheadlogo img { margin-top: 5px; margin-right: 20px;  }
#mastheadsocial { height: 64px; max-height: 64px; }
#mastheadtitle { height: 64px; max-height: 64px; margin-left: 50px;}
#mastheadcontact { width: 100%; text-align: center; margin-top: 20px; }

#masthead h1 {
  font-weight: bold;
  font-size: 2em;
  line-height: 1.5em;
  letter-spacing: -0.05em;
  margin: 0 0px 0 150px;
}

#masthead h2 {
  font-weight: normal;
  font-size: 1em;
  line-height: 1.2em;
  margin: 0 0 0 150px;
}

#mastheadcontact h2 {
  font-weight: bold;
  font-size: 1.1em;
  line-height: 1.1em;
  margin: 0 0 0 0;
}

img.blackcrater { background-color: #075BA1; }
img.facebook { background-color: #3b5998; }
img.linkedin { background-color: #007fb1; }
img.twitter { background-color: #39a9e0; }
img.email { background-color: #666; }
img.skype { background-color: #00aff0; }

#community table tr td { vertical-align: middle; }
.book img { text-align: center; }

/* =============================================================================
   Simple fluid media - From GGS
   ========================================================================== */

figure, article {
  position: relative;
}
figure img, figure object, figure embed, figure video,
article img, article object, article embed, article video {
  max-width: 100%;
  display: block;
/*
  height: auto !important;
*/
}
img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}

/* ==|== primary styles =====================================================
   Author: Andy Croll / Derek Sivers - Based on GGS
   ========================================================================== */

body#home ul, body#home ol { padding-left: 1em; }

#masthead h1 a {
  text-decoration: underline;
}
body#home #masthead h1 a {
  text-decoration: none;
}

header.restmast h1 a {
  margin-left: 52px;
}
body#mymusic dl dd {
  margin-bottom: 2em;
}
body#oneblog span.response,
body#prez span.response {
  display: block;
  font-weight: bold;
  background-color: #cfc;
  margin: 1em 0 0 2em;
  padding: 3px;
}

#headerImage
{
  float:left;
  margin-right: 20px;
}

/* ==========================================================================
   Zoomable baseline typography
   ========================================================================== */

body {
  /* 16px / 24px */
  font-size: 1em;
  line-height: 1.5em;
  background: rgb(255, 255, 255);
}
small, .postdate {
  /* 12px / 18px */
  font-size: 0.75em;
  line-height: 1.5em;
}
h1, h2, h3, h4, h5 {
  font-weight: bold;
}
h1 {
  /* 32 / 48px */
  font-size: 2em;
  line-height: 1.5em;
  letter-spacing: -0.05em;
  margin: 0 0 0.75em 0;
}
header[role=banner] {
  padding-top: 2px;
}
header[role=banner] h1 {
  margin-bottom: 0;
}

article h1 {
  /* 28px / 36px */
  font-size: 1.75em;
  line-height: 1.1428571429em;
}
h2 {
  font-size: 1.75em;
  line-height: 1.2em;
  margin: 0 0 0.6em 0;
}
h3 {
  /* 16px / 24px */
  font-size: 1.4em;
  line-height: 1.2em;
  margin: 0.25em 0;
}
ul {
  margin: 0;
}
p, li {
  margin: 0 0 0.75em 0;
}
#slogan p {
  font-size: 1em;
  line-height: 1.5em;
  margin: 0 0 1.5em 0;
  font-weight: bold;
}
a, a:link, a:visited {
  color: #006;
  text-decoration: none;
  border-bottom: 1px solid rgb(45, 105, 45);
  border-bottom: 1px solid rgba(45, 105, 45, 0.25);
}
a:hover, a:active, a:focus {
  color: #060; /* rgb(65, 145, 65);*/
  text-decoration: none;
  border-bottom: 1px solid rgb(65, 145, 65);
  border-bottom: 1px solid rgba(65, 145, 65, 0.75);
}
h1 a, h1 a:link, h1 a:visited, h1 a:hover, h1 a:active, h1 a:focus,
.giant a, .giant a:link, .giant a:visited, .giant a:hover, .giant a:active, .giant a:focus,
article h1 a, article h1 a:link, article h1 a:visited, article h1 a:hover, article h1 a:active, article h1 a:focus {
  border-bottom: none;
}

/* Simple elastic gutters
*  Note: box-sizing will not work in IE6-8
*/
.wrapper {
  padding: 0 1.5em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

/* ==========================================================================
   Four-column grid active

   Margin   | #  1   2   3   4   |   Margin
   5.55555% | %  25  50  75  100 | 5.55555%
   ========================================================================== */

body {
  margin: 0 5.555555555555555%;
}

#headshots {
  margin: 1.5em -1.5em 0 -1.5em;
}
.headshot {
  float: left;
  width: 50%;
}

#slogan h2 {
  font-size: 1.25em;
  font-weight: normal;
}
div#otherservices ul {
  margin: 0; padding: 0;
}
div#otherservices li {
  list-style: none;
}
div#otherservices a img {
  margin-right: 0.5em;
}

#fullbio, #headshots, .articles, #videos, #companies, #contact, #mybooks, #follow {
  padding-top: 1.5em;
}

#fullbio, #follow, #videos {
  clear: both;
}
figure,
.articles {
  margin-bottom: 1.5em;
}

.book {
  clear: left;
}
#booklist .book,
#presentations .book {
  margin: 3em 0;
}
#booklist .book h5,
#presentations .book h5 {
  margin: 0.5em 0;
  font-weight: normal;
}

label {
  display: block;
  line-height: 2em;
  font-weight: bold;
}
div#listype label {
  display: inline;
  margin-left: 1em;
}
input[type=text],
input[type=email],
textarea {
  width: 80%;
  max-width: 40em;
  padding: 4px;
}
select {
  padding: 4px;
  margin-right: 4px;
}
input[type=submit] {
  margin: 1.5em 0;
  background-color: rgb(45, 105, 45);
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(65, 145, 65) 0%), to(rgb(45, 105, 45) 50%));
  background-image: -webkit-linear-gradient(top, rgb(65, 145, 65) 0%, rgb(55, 135, 55) 50%, rgb(55, 125, 55) 50%, rgb(45, 105, 45) 100%);
  background-image: -moz-linear-gradient(top, rgb(65, 145, 65) 0%, rgb(55, 135, 55) 50%, rgb(55, 125, 55) 50%, rgb(45, 105, 45) 100%);
  background-image: -ms-linear-gradient(top, rgb(65, 145, 65) 0%, rgb(55, 135, 55) 50%, rgb(55, 125, 55) 50%, rgb(45, 105, 45) 100%);
  background-image: -o-linear-gradient(top, rgb(65, 145, 65) 0%, rgb(55, 135, 55) 50%, rgb(55, 125, 55) 50%, rgb(45, 105, 45) 100%);
  background-image: linear-gradient(top, rgb(65, 145, 65) 0%, rgb(55, 135, 55) 50%, rgb(55, 125, 55) 50%, rgb(45, 105, 45) 100%);
  border: 0;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: inset 1px 1px 1px 0px rgba(135, 135, 135, 0.1), inset -1px -1px 1px 0px rgba(135, 135, 135, 0.1);
  -moz-box-shadow: inset 1px 1px 1px 0px rgba(135, 135, 135, 0.1), inset -1px -1px 1px 0px rgba(135, 135, 135, 0.1);
  -ms-box-shadow: inset 1px 1px 1px 0px rgba(135, 135, 135, 0.1), inset -1px -1px 1px 0px rgba(135, 135, 135, 0.1);
  -o-box-shadow: inset 1px 1px 1px 0px rgba(135, 135, 135, 0.1), inset -1px -1px 1px 0px rgba(135, 135, 135, 0.1);
  box-shadow: inset 1px 1px 1px 0px rgba(135, 135, 135, 0.1), inset -1px -1px 1px 0px rgba(135, 135, 135, 0.1);
  color: #fff;
  font-family: inherit;
  line-height: 1;
  padding: 0.75em;
  text-shadow: 0px -1px 1px rgba(0, 0, 0, 0.8), 0 1px 1px rgba(255, 255, 255, 0.3);
}
.body-content input[type=submit] {
  display: block;
}
input[type=submit]:hover, input[type=submit]:focus {
  background-color: rgb(65, 145, 65);
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(75, 155, 75) 0%), to(rgb(55, 135, 55) 50%));
  background-image: -webkit-linear-gradient(top, rgb(75, 155, 75) 0%, rgb(65, 145, 65) 50%, rgb(55, 135, 55) 50%, rgb(45, 135, 45) 100%);
  background-image: -moz-linear-gradient(top, rgb(75, 155, 75) 0%, rgb(65, 145, 65) 50%, rgb(55, 135, 55) 50%, rgb(45, 135, 45) 100%);
  background-image: -ms-linear-gradient(top, rgb(75, 155, 75) 0%, rgb(65, 145, 65) 50%, rgb(55, 135, 55) 50%, rgb(45, 135, 45) 100%);
  background-image: -o-linear-gradient(top, rgb(75, 155, 75) 0%, rgb(65, 145, 65) 50%, rgb(55, 135, 55) 50%, rgb(45, 135, 45) 100%);
  background-image: linear-gradient(top, rgb(75, 155, 75) 0%, rgb(65, 145, 65) 50%, rgb(55, 135, 55) 50%, rgb(45, 135, 45) 100%);
  cursor: pointer;
}
input[type=submit]:active {
  background-color: rgb(25, 65, 25);
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(25, 65, 25) 0%), to(rgb(15, 45, 15) 50%));
  background-image: -webkit-linear-gradient(top, rgb(25, 65, 25) 0%, rgb(20, 55, 20) 50%, rgb(15, 55, 15) 50%, rgb(10, 45, 10) 100%);
  background-image: -moz-linear-gradient(top, rgb(25, 65, 25) 0%, rgb(20, 55, 20) 50%, rgb(15, 55, 15) 50%, rgb(10, 45, 10) 100%);
  background-image: -ms-linear-gradient(top, rgb(25, 65, 25) 0%, rgb(20, 55, 20) 50%, rgb(15, 55, 15) 50%, rgb(10, 45, 10) 100%);
  background-image: -o-linear-gradient(top, rgb(25, 65, 25) 0%, rgb(20, 55, 20) 50%, rgb(15, 55, 15) 50%, rgb(10, 45, 10) 100%);
  background-image: linear-gradient(top, rgb(25, 65, 25) 0%, rgb(20, 55, 20) 50%, rgb(15, 55, 15) 50%, rgb(10, 45, 10) 100%);
}

#searchform {
  border-top: 1px dotted rgb(20,50,20);
}
.sitecontrol {
  padding-top: 0.75em;
}
#searchform input[type=text] {
  width: 70%;
}
.sitecontrol input[type=submit] {
  margin: 0.75em 0;
  padding: 0.5em 0.75em;
}

#emailaddress p {
  font-size: 1.5em;
  line-height: 1.5em;
  margin: 0 0 0.75em 0;
  font-weight: bold;
}

article > header {
  position: relative;
}
.postdate {
  position: absolute;
  left: 2em; bottom: -2.25em;
}
#comments li {
  margin-bottom: 1.5em;
  line-height: 1em;
}
#comments cite {
  border-bottom: 1px solid rgba(20,50,20, 0.25);
}
#comments p {
  font-size: 0.875em;
  padding: 0.375em 0 0.375em 0.75em;
  border-left: 1px solid rgba(20,50,20, 0.25);
}

#book .body-content p:first-child {
  font-weight: bold;
}

#a article > header > figure {
  width: 50%;
}
#a article > header {
  margin-bottom: 1.5em;
}
#a figure > iframe {
  width: 280px !important;
  height: 158px !important;
}

/* ==|== media queries ====================================================== */

@media screen and (min-width: 25em) {
  .headshot {
    width: 25%;
  }
  #a article > header > figure {
    position: relative;
    top: -3em;
    width: 25%;
    float: right;
  }

}

/* @media screen and (min-width: 640px) */
@media screen and (min-width: 40em) {
  body {
    /* Zoom baseline grid to 17/16 = 1.0625 */
    font-size: 1em;
  }
  #home h1 {
    /* 64px / 72px */
    font-size: 2em;
    line-height: 1.125em;
  }
  article h1 {
    /* 40px / 48px */
    font-size: 2.5em;
    line-height: 1.2em;
  }
  h2 {
    margin: 20px 0 0.5em 0;
  }
  #slogan p {
    margin-bottom: 1.2em;
  }

  #home #slogan h2,
  #emailaddress p {
    font-size: 1.5em;
    line-height: 1.125em;
    margin: 20px 0 1.125em 0;
  }

  #booklist .book > a {
    width: 30%;
  }
  #booklist .book > a,
  #presentations .book > a {
    float: left;
    border-bottom: 0;
  }
  #booklist .book figcaption {
    margin-left: 35%;
  }
  #presentations .book figcaption {
    margin-left: 45%;
  }


  #book header > figure {
    width: 25%;
    float: left;
    margin-bottom: 1.5em;
  }
  #book header > div {
    margin-left: 25%;
  }

  #a figure > iframe {
    width: 480px !important;
    height: 270px !important;
  }

}


/* ==========================================================================
   Eight-column grid active

   Margin   | #  1     2     3     4     5     6     7     8   |   Margin
   5.55555% | %  12.5  25.0  37.5  50.0  62.5  75.0  87.5  100 | 5.55555%
   ========================================================================== */

/* @media screen and (min-width: 720px) */
@media screen and (min-width: 45em) {
  body {
    /* Reset baseline grid to 16/16 = 1 */
    font-size: 1em;
  }

  #searchform {
    right: 0;
  }
  #langform {
    right: 33.33333333%;
  }

  #searchform input[type=text] {
    width: 50%;
  }
  .sitecontrol {
    position: absolute;
    top: 0;
    padding-top: 0;
    width: 33.33333333%;
    border-top: none;
  }
  .sitecontrol label {
    display: none;
  }

  #aboutme {
    position: relative;
  }
  #fullbio, #headshots, .articles {
    padding-top: 0;
  }
  #aboutme, .articles, #emailform, #otherservices {
    width: 50%;
    float: left;
  }
  #fullbio {
    margin-left: 50%;
    clear: none;
  }
  .articles {
    margin-top: 4.5em;
  }
  #newestarticles {
    clear: left;
  }
  #companies, #contact, #mybooks, #follow {
    clear: both;
    padding-top: 3em;
  }
  #videos figure,
  #companies figure {
    width: 25%;
    float: left;
  }

  .book {
    clear: none;
    float: left;
    width: 30%;
  }

  #booklist .book,
  #presentations .book {
    clear: left;
    float: none;
    width: 75%;
    margin: 1.5em 0 8em 12.5%;
  }
  #booklist .book > a,
  #presentations .book > a {
    margin-bottom: 1.5em;
  }

  .postdate {
    font-size: 1em;
    line-height: 1.5em;
    left: 1.5em;
  }
  article > .body-content,
  article > footer,
  #comments,
  #commentform {
    margin: 0 12.5% 0 25%;
  }

}
/* @media screen and (min-width: 888px) */
@media screen and (min-width: 55.5em) {
  .headshot {
    width: 25%;
  }

  #a figure > iframe {
    width: 560px !important;
    height: 316px !important;
  }

}
/* @media screen and (min-width: 984px) */
@media screen and (min-width: 61.5em) {
  body {
    /* Zoom baseline grid to 17/16 = 1.0625 */
    font-size: 1em;
  }
  #searchform {
    right: 0;
  }
  #langform {
    right: 25%;
  }
  .sitecontrol {
    width: 25%;
  }

}
/* @media screen and (min-width: 1200px) */
@media screen and (min-width: 75em) {
  body {
    /* baseline grid back to 16 */
    font-size: 1em;
    margin: 0 16.6666666666666667%;
  }
  article > .body-content,
  article > footer,
  #comments,
  #commentform {
    margin: 0 16.666666666667% 0 16.666666666667%;
  }
  #book header > figure {
    width: 16.666666666667%;
    float: left;
  }
  #book header > div {
    margin-left: 16.666666666667%;
  }

}
/* @media screen and (min-width: 1392px) */
@media screen and (min-width: 87em) {
  body {
    /* Zoom baseline grid to 17/16 = 1.0625 */
    font-size: 1em;
  }
}
/* @media screen and (min-width: 1680px) */
@media screen and (min-width: 105em) {
  body {
    /* Zoom baseline grid to 18/27 = 1.125 */
    font-size: 1em;
    max-width: 120em;
  }
}



/* ==|== non-semantic helper classes ======================================== */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }




/* ==|== print styles ======================================================= */

@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}

