@media print {
    .visible-print  { display: inherit !important; }
    .hidden-print   { display: none !important; }
}

div.spacer-big {
    margin-top: 60px;
}
div.spacer-med {
    margin-top: 40px;
}
div.spacer-small {
    margin-top: 20px;
}

body {
    margin: 20px 0 40px 0;
    font-size: 14px;
}
body.worksheet {
    margin: 0;
    padding: 10px 0;
}
p {
    line-height: 1.8em;
    margin-bottom: 0.5em;
    margin-top: 0.5em;
}
dl.dl-horizontal dt, dl.dl-horizontal dd {
    line-height: 1.8em;
}
dl.dl-horizontal dd p {
    margin-top: 0;
}

.align-right { text-align: right !important; }
.align-center { text-align: center !important; margin-left: auto; margin-right: auto; }
.align-left  { text-align: left; }
.with-top-margin { margin-top: 10px; }
.with-bottom-margin { margin-bottom: 10px; }
.ma { margin: 10px; }
.mt { margin-top: 10px; }
.mb { margin-bottom: 10px; }
.ml { margin-left: 10px; }
.mr { margin-right: 10px; }
.mn { margin: 0; }
.pt { padding-top: 10px }
.pb { padding-bottom: 10px }
.pl { padding-left: 10px; }
.pr { padding-right: 10px; }
.pa { padding: 10px }
.pn { padding: 0; }
.img-right { float:right; margin: 10px 10px 10px 50px }
.img-left { float:left; margin: 10px 50px 10px 10px }
.text-small { font-size: 0.9em; }
.text-center { text-align: center; }

div.tutorial-sized {
    min-width: 640px !important;
    max-width: 1024px !important;
}

table > caption {
    font-weight: bold;
}
table td.numeric, table tr.numeric td {
    text-align: right !important;
    font-family: Monaco,Menlo,Consolas,"Courier New",monospace;
}

div.caption {
    padding: 4px !important;
}
div.caption h5 {
    margin: 2px 0;
    font-size: 12px;
}
.credit {
    font-size: 0.9em;
    color: #777;
}
.dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
}

.engineers-tip {
    position: relative;
    margin-left: 16px;
}
.engineers-tip .tip-icon-wrapper {
    position: absolute;
    top: -22px;
    left: -20px;
}
.engineers-tip .tip-icon {
    border-radius: 40px;
    background-color: #FFF;
    border: 1px solid #DDD;
    padding: 4px;
}
.engineers-tip h4 {
    margin: 0;
    position: absolute;
    left: 40px;
    top: 0;
    line-height: 20px;
    font-size: 12px;
    margin-top: 11px;
    background-color: #FFF;
    border: 1px solid #DDD;
    min-width: 120px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-left-width: 0;
    padding-left: 5px;
    text-transform: uppercase;
}

/* http://iconorator.com/sets/farm-fresh/54 */
[class^="icon32_"], [class*=" icon32_"] {
    display: inline-block;
    width: 32px;
    height: 32px;
    line-height: 32px;
    vertical-align: text-top;
    background: url(../img/icons32.png) no-repeat;
    margin-top: 1px;
}
.icon32_lightbulb { background-position: 0 0 }
.icon32_accept { background-position: -32px 0 }
.icon32_book { background-position: -64px 0 }
.icon32_control_end_blue { background-position: -96px 0 }
.icon32_control_end { background-position: -128px 0 }
.icon32_control_play_blue { background-position: -160px 0 }
.icon32_control_rewind_blue { background-position: -192px 0 }
.icon32_control_rewind { background-position: -224px 0 }
.icon32_control_start_blue { background-position: -256px 0 }
.icon32_control_start { background-position: -288px 0 }
.icon32_control_stop_blue { background-position: -320px 0 }
.icon32_control_stop { background-position: -352px 0 }
.icon32_comment { background-position: 0 -32px }
.icon32_exclamation { background-position: -32px -32px }
.icon32_error { background-position: -64px -32px }
.icon32_help { background-position: -96px -32px }
.icon32_information { background-position: -128px -32px }
.icon32_note { background-position: -160px -32px }
.icon32_tick { background-position: -192px -32px }
.icon32_wrench { background-position: -224px -32px }

.formula {
    font-size: 1.25em;
    font-family: Monaco,Menlo,Consolas,"Courier New",monospace;
    background-color: #fafad2;
    border: 2px solid #d3d3d3;
    border-radius: 4px;
    text-align: left;
    padding: 5px;
    display: inline-block;
    line-height: inherit;
}

img.math-tex {
    width: auto;
    max-width: 100%;
    height: 60px;
}
div.math-tex {
    font-size: 1.5em;
    object-fit: contain;
}
div.math-tex.medium {
    font-size: 1.5em;
}
div.math-tex.small {
    font-size: 1.25em;
}

div.citation {
    font-size: 0.8em;
}

dl.dl-generous dt { width: 260px; }
dl.dl-generous dd { margin-left: 280px; }

dl.dl-numbered-values dd { font-family: Monaco,Menlo,Consolas,"Courier New",monospace;  }
dl.dl-numbered-values dd:nth-of-type(1) { font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-weight: bold; }

dl.dl-striped dd, dl.dl-striped dt { padding: 2px; }
dl.dl-striped dt:nth-of-type(even), dl.dl-striped dd:nth-of-type(even) {
    background-color: #eeeeee;
    border: 1px solid #ddd;
    border-width: 1px 0;
}
dl.dl-striped dd {
     margin-left: 160px;
     padding-left: 20px;
 }
dl.dl-striped.dl-generous dd {
    margin-left: 260px;
    padding-left: 20px;
}

.invisible { visibility: hidden; }

.monospace { font-family: Monaco,Menlo,Consolas,"Courier New",monospace; }

.prettyprint li { margin-left: 8px; }
.prettyprint.all-linenums li.L0,
.prettyprint.all-linenums li.L1,
.prettyprint.all-linenums li.L2,
.prettyprint.all-linenums li.L3,
.prettyprint.all-linenums li.L5,
.prettyprint.all-linenums li.L6,
.prettyprint.all-linenums li.L7,
.prettyprint.all-linenums li.L8 { list-style-type: decimal !important }

table.table-no-border { border: 0; }
table.table-no-border td { border: 0; }
table.table-valign-middle th, table.table-valign-middle td { vertical-align: middle; }
table.table-center { margin-left: auto; margin-right: auto; }

.nowrap {
    white-space: nowrap;
}

div.with-snap {
    border: 2px solid #ddd;
    border-radius: 5px;
    padding: 5px;
    position: relative;
    padding-top: 30px;
}
div.with-snap > .snap {
    position: absolute;
    top: 0;
    left: 0;
    border: 2px solid #ddd;
    border-bottom-right-radius: 5px;
    border-left-width: 0;
    border-top-width: 0;
    margin: 0;
    padding: 5px;
    background-color: #eeeeee;
}
div.snap-tr > .snap {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 5px;
    border-left-width: 2px;
    border-right-width: 0;
    right: 0;
    left: auto;
}
div.snap-bl, div.snap-br {
    padding-top: 0;
    padding-bottom: 30px;
}
div.snap-bl > .snap, div.snap-br > .snap {
    border-bottom-right-radius: 0;
    border-top-right-radius: 5px;
    border-left-width: 0;
    border-bottom-width: 0;
    border-top-width: 2px;
    bottom: 0;
    top: auto;
}
div.snap-br > .snap {
    border-top-left-radius: 5px;
    border-top-right-radius: 0;
    border-left-width: 2px;
    border-right-width: 0;
    left: auto;
    right: 0;
}

.pull-right.with-gutter {
    margin-left: 15px;
}
.pull-left.with-gutter {
    margin-right: 15px;
}
img[data-featherlight] {
    cursor: pointer;
}
body.build-and-test .thumbnail {
    display: inline-block;
}
body.build-and-test.big-photos .span6 { width: 100%; }
.print-buttons {
    position: fixed;
    top: 10px;
    right: 10px;
}

.text-large {
    font-size: 1.5em;
}

.modal-wide {
    width: 80vw;
    margin-left: -40vw;
    bottom: 90vh;
}
.spec-modal {
    width: 80vw;
    margin-left: -40vw;
    box-shadow: rgba(0,0,0,0.85) 0 0 5vw;
    border: 0;
}
.spec-modal.fade.in {
    top: 5vh;
}
.spec-modal .modal-body {
    max-height: 90vh;
}
.design-challenge .modal-backdrop.fade.in {
    opacity: 0.1;
}