body {
    font-family: freight-text-pro, 'Myriad Pro', Myriad, sans-serif;
    letter-spacing: 0.01em;
    font-size: 16px;
    line-height: 24px;
    color: #444;
    -webkit-font-smoothing: antialiased
}

a {
    color: #006496;
}


/* layout */

#sidebar {
    float: left;
    margin-left: 0;
    border-right: 2px solid whiteSmoke;
}
#sidebar h4 {
    text-transform: uppercase;
    color: #999;

}

#ddp:hover {
    background-color: #fff;
}

.no-sidebar #sidebar {
    display: none;
}

.sidebar-hidden { display: none; }
.no-sidebar .sidebar-hidden {
    display: initial;
}

#content {
    float: right;
    margin-left: 20px;
    padding-right: 200px;
}

.no-sidebar #content {
    float: left;
}


.video {
    width: 800px;
    height: 600px;
}

figure .video {
    width: 600px;
    height: 450px;
}



/* header */

header {
    font-family: freight-sans-pro, 'Myriad Pro', Myriad, sans-serif;
    /* font-family: 'Ubuntu', freight-sans-pro, 'Myriad Pro', Myriad, sans-serif; */
}

header h1 sup {
    font-size: 90%;
    top: -12px;
    border-bottom: 2px solid;
}

.band, .notice {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
}

.band {
    height: 150px;
    background-color: #006496;
    border-bottom: 2px solid whiteSmoke;
}

.site-header {
    text-align: center;
    padding: 40px 0px 40px 0px;
}

.site-header h1 {
    font-size: 54px;
    line-height: 40px;
    padding-bottom: 20px;

    text-shadow: 0 1px 2px rgba(0,0,0,0.5);
    -webkit-font-smoothing: antialiased;
}

header a, header a:hover, header a:visited {
			      text-decoration: none;
			      color: whiteSmoke;
			  }

header h1 small {
    color: gainsboro;
}


/*  sidebar  */

.sidebar-nav { padding: 0px 19px; }

.sprite-image {
    width: 19px;
    height: 19px;
    overflow: hidden;
    position: relative;
    float: left;
    padding-right: 6px;
}

.sprite-image img {
    position: absolute;
    width: 19px;
    height: 221px;
}

.sprite-image img.github { top: -2px; }
.sprite-image img.instagram { top: -24px; }
.sprite-image img.facebook { top: -46px; }
.sprite-image img.twitter { top: -68px; }
.sprite-image img.yc { top: -91px }
.sprite-image img.etsy { top: -113px; }
.sprite-image img.linkedin { top: -134px; }
.sprite-image img.quora { top: -157px; }
.sprite-image img.slideshare { top: -180px; }
.sprite-image img.speakerdeck { top: -200px; }

li.nav-twitter {
    margin: 5px 0px 10px 0px;
}

/* temporary - while twitter button loads */
a.twitter-follow-button { height: 26px; }


/*  posts  */

.post h2, .related h2 {
    margin-bottom: 20px;
    line-height: 27px;
    -webkit-font-smoothing: antialiased;
}

.post .coauthor {
    font-style: italic;
    display: block;
    margin-top: -15px;
    margin-bottom: 30px;
}

.post a.major-section {
    line-height: 40px;
    font-size: 24px;
    font-weight: normal;
    display: block;
    margin: 40px auto 20px auto;
    text-align: center;
    padding: 0px;

}
.post a.major-section:hover {
    text-decoration: none;
}



.post {
    margin-bottom: 40px;
    line-height: 21px;
}

.post p, .post ul, .post ol, .post blockquote {
    margin-bottom: 12px;
    clear: both;
}

.js .noscript {
    display: none;
}

/* images, tables, tweets, .. */

.post .twitter-tweet > p {
    text-align: left;
}

.post img, .post table, .post svg {
    margin: 20px auto 20px auto;
}
.post img, .post svg {
    display: block;
}

.post img.thinborder {
    border: 1px solid whiteSmoke;
    box-shadow: 1px 1px #eee;
}

.post figure img {
    margin: 20px auto 5px auto;
}
.post figure img.extra-vspace {
    margin-bottom: 10px;
}

figcaption {
    font-style: italic;
}

.post figcaption .photo-credit {
    font-size: 11px;
    float: right;
}
.post figcaption .narrow-caption {
    position: relative;
    right: 100px;
}

.post table td.large-change, .post table td.attention, p.attention { font-weight: bold; }
.post table td.negative, .post table th.negative, p.negative { color: #940019 }
.post table td.positive, .post table th.positive, p.positive { color: #009431; }

.post h3, .post h4 {
    margin-top: 30px;
    margin-bottom: 20px;
}

.post h3 {
    line-height: 22px;
}

h3.prominent-url {
    text-align: center;
    margin: 30px 0px 30px 0px;
}

hr.post-cap {
    width: 25%;
    border: 1px solid whiteSmoke;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.posts.single hr.post-cap {
    display: none;
}


blockquote p, .post ol > li, .post ul > li {
    margin-bottom: 9px;
}

blockquote {
    background-color: #fafafa;
    padding: 5px 5px 0px 15px;
    border: 1px solid whiteSmoke;
    border-left: 5px solid whiteSmoke;
}

blockquote hr {
    border-top: 1px solid gainsboro;
    border-bottom: 1px solid white;
    margin-right: 10px;
}

blockquote.quotation {
    font-style: italic;
}

blockquote.quotation em, figure em {
    font-style: normal;
}

blockquote.quotation p.attribution {
    text-align: right;
    padding-right: 10px;
}

p.acknowledgements {
    margin-top: 30px;
    font-style: italic;
    font-size: small;
}

.share-tools {
    margin: 20px 0px 0px 0px;
    background-color: #fafafa;
    font-size: 11px;
    height: 32px;
}

.share-tools li {
    margin: 0px;
    padding: 0px;
    float: left;
    list-style-type: none;
    width: 125px;
    height: 100%;
    line-height: 32px;
}

.share-tools li.contact {
    margin: 0px 30px 0px 20px;
}

.share-tools li.facebook {
    padding-top: 3px;
    line-height: 22px;
}

.share-tools li.twitter {
    padding-top: 5px;
}

.share-tools .contact img {
    width: 19px;
    height: 19px;
    margin: 0px 6px 0px 0px;
    display: inline;
}

#ama-text-short { display: none; }


/*  gists  */

.gist {
    font-size: 12px;
    padding: 0px;
}

.gist pre { padding: 0px; }
.gist table { margin: 0; }
.gist .line { line-height: 21px; }


/* multipart headers */

.multipart-header {
    background-color: whiteSmoke;
    border: 1px solid #ccc;
    margin-bottom: 20px;
}

.multipart-header h3 {
    margin: 5px 5px 5px 10px;
}

.multipart-header li {
    display: inline;
    margin-right: 12px;
}

.multipart-header li.active:before {
    content: "\bb  ";
}

.multipart-header li.active a {
    color: black;
}


/* misc post-specific stuff */

em.chili {
    color: #ff6633;
    font-weight: bold;
}


/* related posts */
.related {
    margin: 60px 0 60px 0;
}
.related ul {
    margin: 0;
}
.related li {
    font-size: 18pt;
    line-height: 26px;
    width: 50%;
    height: 120px;
    margin: 0;
}
.related li a {
    display: block;
    height: 100%;
    width: 100%;

}
.related li a:hover {
    background: #fcfcfc;
}
.related li div {
    padding: 10px;
}

@media (max-width: 1000px) {
    .related li {
	width: 100%;
	height: auto;
    }
}


/* footer */

footer, footer a {
    text-align: center;
    color: lightGray;
    margin-bottom: 10px;
    font-size: 12px;
}


/* contact page */

#contact {
    margin-top: 20px;
}

#contact label {
    font-size: 11px;
    font-weight: bold;
    color: #999;
    text-transform: uppercase;
}

#contact-name, #contact-message {
    width: 600px;
    display: block;
}

#contact-submit {
    text-align: right;
}

#contact label.error {
    color: red;
}


/* notices */

.notice {
    z-index: 999;
    background-color: yellow;
    display: none;
    padding: 2px 2px 2px 20px;
    font-size: 14px;
}


.mobile { display: none; }
.desktop { display: inherit; }
table.desktop { display: table; }
table.mobile { display: none; }


@media (max-width: 767px) {
    #content {
        float: left;
        margin-left: 10px;
        padding-right: 10px;
    }
    #sidebar {
        border-right: none;
        border-top: 2px solid whiteSmoke;
        width: 100%;
        padding: 10px 0px 20px 0px;
    }

    .video {
        width: 400px;
        height: 300px;
    }


    #ama-text-short { display: inline; }
    #ama-text-long { display: none; }

    .share-tools li {
	width: 100px;
    }

    .share-tools li.contact {
	width: 80px;
	margin: 0px 0px 0px 10px;
    }

}

/* speakerdeck */

.speakerdeck-container {
    position: relative;
    width: 100%;
    margin-bottom: 20px;
}

.speakerdeck-loading {
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-color: whiteSmoke;
    border-radius: 5px;
}

.speakerdeck-iframe {
    z-index: 10;
    position: absolute;
    top: 0px;
    left: 0px;
}

.project-list { margin: 30px 10px 30px 20px; }
.project-list li {
    margin-bottom: 30px;
    list-style-type: none;
}


/* iPhone 3gs/4 */
@media only screen and (max-device-width: 480px) {
    .site-header h1 {
        font-size: 44px;
    }
    header h1 small {
        font-size: 14px;
        line-height: 21px;
    }
    .video, figure .video {
        width: 300px;
        height: 225px;
    }

    .mobile { display: inherit; }
    .desktop { display: none; }

    table.desktop { display: none; }
    table.mobile { display: table; width: 100% }

    table.squeeze { font-size: 10px; }

    figure { margin: 0px 0px 10px 0px; }
    figcaption {
	font-size: 11px;
	line-height: 14px;
    }

}


.resume-etsy-epoch {
    padding-left: 20px;
    padding-bottom: 20px;
}

.resume-section {
    margin: 30px 0 30px 0;
}

.resume #content-row {
    margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
    .resume #content-row {
	margin: 0px 5px 40px 5px;
    }
}