:root {
    --maincolor: #de600c;
    --sans-serif: Candara, Ubuntu, system-ui, "Segoe UI", sans-serif;
}

body {
    font-family: var(--sans-serif);
    font-size: var(--font-size);
    line-height: 1.5em;
}

main {
    font-family: var(--sans-serif)
}

body {
    margin: 0;
    padding: 0;
    background-color: #eee;
}

body.print {
    background-color: white;
}

header {
    display: block;
    text-align: center;
    color: var(--maincolor);
    padding-top: 20px;
}

header>h1 {
    font-size: 2.0em;
    margin: 0;
    line-height: calc(1.5 * var(--line-height))
}

header>h1.site-title {
    font-size: 3.0em;
    margin-bottom: 12px;
}

main {
    margin-left: 0;
    margin-right: 0;
    margin-top: 1em;
    padding: 0;
}

.subheading a,
.subheading a:visited {
    color: var(--maincolor);
    font-weight: bold;
    text-decoration: none;
}

a,
a:visited {
    color: var(--maincolor);
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

#sketch-container {
    min-width: 100%;
}

#sketch-container.screen {
    display: inline-flex;
    flex-flow: row wrap;
}

#sketch {
    padding: 10px;
}

#sketch.screen {
    flex: 1;
}

#tools-container.print {
    margin-top: 20px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;

}

#controls {
    margin-left: 20px;
    margin-right: 20px;
    min-width: 50vmin;
    font-family: var(--sans-serif);
}

#controls.screen {
    flex: 1;
}

#controls label {
    text-align: left;
}

div.slider-wrapper.screen {
    display: flex;
}

div.slider-wrapper.print {
    display: none;
}

div.slider-wrapper div {
    flex: 1;
}

div.slider-wrapper div:nth-child(1) {
    flex-grow: 8;
}

div.slider-wrapper div:nth-child(2) {
    padding-left: 15px;
    text-align: left;
}

section.wide {
    margin: var(--line-height) 0;
    width: auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
}

section.narrow {
    margin: auto;
    width: 60%;
}

blockquote {
    font-size: 1.2em;
    line-height: 1.5em;
    font-style: italic;
    margin-left: 1em;
    border-left: 10px solid #ccc;
    padding: 0.5em 10px;
}

pre {
    font-size: 120%;
    line-height: 1em;
}

form {
    margin-top: 1rem;
}

form.print {
    pointer-events:none;
}

fieldset.print {
    border: 0 none;
    margin: 0;
    padding: 0;
}

fieldset.print label {
    margin-left: 20px;
}

legend.print {
    margin: 0;
    padding: 0;
    font-weight: bold;
}

#sketchTitle {
    font-weight: bold;
}

i.bi {
    font-size: 150%;
    -webkit-text-stroke: 1px;
}

/* Image frame CSS (.frame classes) from
 * https://codepen.io/chris22smith/pen/PbBwjp
 */

.frame img {
    border: solid 2px;
    border-bottom-color: #ffe;
    border-left-color: #eed;
    border-right-color: #eed;
    border-top-color: #ccb;
    max-height: 100%;
    max-width: 100%;
}

.frame {
    background-color: #ebebe2;
    border: solid 2vmin #222;
    border-bottom-color: #111;
    border-left-color: #222;
    border-radius: 2px;
    border-right-color: #222;
    border-top-color: #333;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .25) inset, 0 5px 10px 5px rgba(0, 0, 0, .25);
    box-sizing: border-box;
    display: inline-block;
    margin: 5vh 5vw;
    padding: 5vmin;
    position: relative;
    text-align: center;
}

.frame :before {
    border-radius: 2px;
    bottom: -2vmin;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .25) inset;
    content: "";
    left: -2vmin;
    position: absolute;
    right: -2vmin;
    top: -2vmin;
}

.frame :after {
    border-radius: 2px;
    bottom: -2.5vmin;
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .25);
    content: "";
    left: -2.5vmin;
    position: absolute;
    right: -2.5vmin;
    top: -2.5vmin;
}
