html, body {
    height: 100%;
    margin: 0;
}

body {
    overflow-y: scroll;
}

header, section, footer {
    clear: both;
    position: relative;
}

header {
    margin-bottom: 1em;
    padding-top: 1em;
}

header h1 {
    font-size: 24px;
    font-weight: normal;
    color: #aaa;
    line-height: 18px;
    text-transform: lowercase;
    letter-spacing: 2px;
    display: inline;
}

#blueprint-canvas {
    background-color: #CACACA;
    margin-bottom: 1em;
    overflow: hidden;
}

#view-params {
    min-height: 30em;
    overflow: hidden;
    position: relative;
    background-image: url('../img/logo.png');
    background-color: transparent;
    background-position: bottom right;
    background-repeat: no-repeat;
}

#view {
    color: #fff;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

#view-svg-container {
    margin: 2em;
}

/*svg#drawing {
    transition: margin-left 0.35s cubic-bezier(0.2, 0, 0, 1), margin-top 0.35s cubic-bezier(0.2, 0, 0, 1);
}*/

svg#drawing line, svg#drawing circle, svg#drawing path {
    stroke: #fff;
    fill: none;
}

svg#drawing .locked {
    stroke: #0000FF;
}

#view svg {
    overflow: visible;
}

#view svg#drawing text {
    fill: turquoise;
    stroke: none;
}

.collapse-annotation #view svg#drawing text {
    display: none;
}

#view svg#drawing g#captions text {
    fill: yellow;
    display: unset;
    font-family: monospace;
}

.collapse-flow #view svg#drawing .flow {
    display: none;
}

#view svg#drawing .locked + text {
    fill: yellow;
}

#crosshairs line {
    stroke: #87cefa;
}

.collapse-origin #crosshairs line, .collapse-origin #grid {
    display: none;
}

#grid {
    height: 100%; 
    overflow: visible;
    position:absolute;
    width: 100%; 
}

.grid-line-1 {
    stroke: #b1b1b1;
    opacity: 0.6;
}

.grid-line-10 {
    stroke: #b1b1b1;
    opacity: 0.8;
}

svg#pointers, #touch-shield {
    display: none;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

svg#pointers circle {
    stroke: #fff;
    stroke-width: 2px;
    fill: none;
    stroke-dasharray: 5;
    opacity: 0.5;
}

svg#pointers line {
    stroke: #fff;
    stroke-width: 2px;
    stroke-dasharray: 5;
    opacity: 0.5;
}

path#progress_circle_part1 {
    stroke: #566573;
    stroke-width: 2px;
    fill: none;
    stroke-dasharray: 5;
    opacity: 0.5;
}

path#progress_circle_part2 {
    stroke: #566573;
    stroke-width: 2px;
    fill: none;
    stroke-dasharray: 5;
    opacity: 0.5;
}

.selected {
    stroke: white !important;
}

.eraser {
    stroke: red !important;
    opacity: 1 !important;
}

.measure {
    stroke: orange !important;
    opacity: 1 !important;
}

#touch-shield {
    background-color: transparent;
}

.pointing svg#pointers, .pointing #touch-shield{
    display: block;
}

.has-units .unitless {
    display: none;
}

.scroll-nav-links {
    position: fixed; 
    bottom: .75em; 
    right: 0;
    z-index: 7;
    padding: .25em .5em .5em 1em; 
    background-color: #555;
    opacity: .85;
    border-top-left-radius: 1em;
    border-bottom-left-radius: 1em;
}

.scroll-nav-links span {
    font-size: smaller;
    margin-right: .5em;
    color: #ccc;
    text-transform: uppercase;
}

.scroll-nav-links a {
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

body.full-screen {
    padding: 0;
}

.full-screen header {
    display: none;
}

.full-screen section#blueprint-canvas {
    margin-bottom: 0;
}

.full-screen #blueprint-canvas {
    background-color: inherit;
    border-left: 1px solid #aaa;
    border-right: 1px solid #aaa;
}

.full-screen svg#drawing line, .full-screen svg#drawing circle, .full-screen svg#drawing path {
    stroke: #000;
}

.wait svg#drawing line, .wait svg#drawing circle, .wait svg#drawing path {
    opacity: .5;
}

.full-screen #view-svg-container {
    margin: 0;
}

.full-screen #view svg#drawing text {
    fill: #777;
}

#view svg#drawing g#captions text {
    fill: #888;
}

.full-screen #view svg#drawing .locked + text {
    font-weight: bold;
}

.full-screen .grid-line-1 {
    stroke: #ccc;
}

.full-screen .grid-line-10 {
    stroke: #ccc;
}

.toolbox-button {
    width: 75px;
    background-color: transparent;
    background-position : center center;
    background-repeat:no-repeat;
}

.toolbox-button-narrow {
    width: 50px;
    background-color: transparent;
    background-position : center center;
    background-repeat:no-repeat;
}

.toolbox-line-button {
    background-image: url('../img/toolbox-line.png');
}

.toolbox-pan-button {
    background-image: url('../img/toolbox-pan.png');
}

.toolbox-measure-button {
    background-image: url('../img/toolbox-measure.png');
}

.toolbox-arc1-button {
    background-image: url('../img/toolbox-arc1.png');
}

.toolbox-arc2-button {
    background-image: url('../img/toolbox-arc2.png');
}

.toolbox-fillet-button {
    background-image: url('../img/toolbox-fillet.png');
}

.toolbox-eraser-button {
    background-image: url('../img/toolbox-eraser.png');
}

#toolbox-undo-button {
    background-image: url('../img/toolbox-undo.png');
}

#toolbox-clear-button {
    background-image: url('../img/toolbox-clear.png');
}

#toolbox-center-button {
    background-image: url('../img/toolbox-center.png');
}

#toolbox-scale-button {
    background-image: url('../img/toolbox-scale.png');
}

#toolbox-grid-button {
    background-image: url('../img/toolbox-grid.png');
}

#toolbox-library-button {
    background-image: url('../img/toolbox-library.png');
}

.toolbox-button-checkbox {
    width: 50px;
    height: 38px;
    background-color: transparent;
    background-position : center center;
    background-repeat:no-repeat;
}

.transparent-caption {
    background-color: grey;
    opacity: 0.75;
    margin-left: 20px;
    margin-right: 20px;
}