:root {
    font-size: 16px;
}
body {
    margin: 0 auto;
    background: #f8f8f6;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
header,
footer,
main {
    background: #f8f8f6;
    margin: 0;
    padding: 0 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    flex-shrink: 0;
}
main {
    max-width: 1600px;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 0%;
    flex: 1 0 0;
    margin: 0 auto;
    flex: 1 0 auto;
}
p {
    max-width: 1048px;
}
h1,
h2,
h3,
.banner p,
.pull-quote,
header,
.typewriter {
    font-family: 'Special Elite', cursive;
}
.pull-quote p {
    max-width: none;
}
h1 {
    font-size: 8.5rem;
    text-align: center;
    font-weight: normal;
    margin: 0;
}
.medium-large {
    font-size: 1.25rem;
    line-height: 1.45rem;
}
.large {
    font-size: 1.5rem;
}
*:focus:not(body) {
    outline: 2px solid #9ecaed;
    outline-offset: 4px;
}
.pull-quote {
    font-size: 1.5rem;
    line-height: 1.75rem;
    padding: 0 1rem;
}
.site-title {
    padding: 20px 0 0 0;
    text-align: left;
    font-size: 2rem;
    display: block;
}
video,
img {
    max-width: 100%;
}
.chalk,
.chalk a,
.chalk h2,
.chalk h3 {
    font-family: "Architects Daughter","chalkboard", "Comic Sans MS", cursive, sans-serif;
}
.chalk a,
h2.chalk,
.chalk h2,
.chalk h3 {
    font-weight: lighter;
}
.relative {
    position: relative;
}
.z2 {
    z-index: 2;
}
.blocks {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /* flex-wrap: wrap; */
    justify-content: center;
}
@media screen and (max-width: 1435px) {
    .workshop-footer .large {
        font-size: 1.4rem;
    }
}
.map-quiz {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
}
.map {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-item-align: start;
        align-self: flex-start;
}
#map,
.map img {
    pointer-events: none;
}
.hover {
    background: purple !important;
}
.blocks + .blocks {
    margin-top: -80px;
}
.block {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: 50px 5px;
    margin: 5px;
    display: inline-block;
    text-align: center;
    position: relative;
    min-width: 150px;
}
.home .block {
    padding: 0;
}
.right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    float: right;
    -webkit-box-align: flex-end;
        -ms-flex-align: flex-end;
            align-items: flex-end;
    width: 300px;
}
.right a {
    margin-right: 1rem;
}
.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1 0 0%;
            flex: 1 0 0;
    display: flex;
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
}
.pull-right {
    float: right;
}
.border {
    border: 1px solid #000;
}
.no-border {
    border: 0;
}
.text-center {
    text-align: center;
}
.text-left {
    text-align: left;
}
.text-center p {
    margin-left: auto;
    margin-right: auto;
}
.btn {
    padding: 1rem 2rem;
    border: 1px solid #000;
    background: none;
    border-radius: 5px;
    text-decoration: none;
    color: #000;
    cursor: pointer;
    font-family: 'PT Sans', sans-serif;
}
.trigger {
    cursor: pointer;
    background: none;
    border: none;
}
.flex-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.flex-bottom > * {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-item-align: end;
        align-self: flex-end;
}
label {
    display: block;
    margin: 5px 0;
}
main {
    padding-bottom: 40px;
}
nav {
    padding: 20px 0 0 0;
}
nav ul{
    margin: 0;
    padding: 20px 0;
}
nav li {
    list-style-type: none;
    padding: 10px;
    line-height: 20px;
    display: inline;
    /* border: 1px solid #ccc; */
    margin-left: -5px;
}
nav .current a {
    font-weight: bold;
    border-bottom: 2px solid #000;
    padding-bottom: 2px;
}
.workshop .current a {
    border-bottom: 2px solid #fff;
}
header a {
    text-decoration: none;
    font-size: 1.1rem;
    color: #000;
}
footer {
    text-align: center;
    background: #000;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
footer .block {
    padding: 15px 20px;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
}
footer a {
    color: #fff;
}
footer a {
    color: lightgray;
}
a.skip-main {
    left:-999px;
    position:absolute;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
    z-index:-999;
}
a.skip-main:focus, a.skip-main:active {
    color: #fff;
    background-color:#000;
    left: auto;
    top: auto;
    width: 30%;
    height: auto;
    overflow:auto;
    margin: 10px 35%;
    padding:5px;
    border-radius: 15px;
    border:4px solid yellow;
    text-align:center;
    font-size:1.2em;
    z-index:999;
}
.banner {
    min-width: 150px;
}
.wood-bg {
    background-image: url("/images/wood-bg.jpg");
    background-position: bottom;
}

/* individual page styles */
.splash,
.splash main {
    background: #000;
    color: #fff;
}
.splash h1 {
    font-weight: 100;
    font-size: 6.6rem;
    margin: 0;
    margin-top: 6rem;
    text-align: center;
}
.splash .pull-quote {
    margin-bottom: 3.4rem;
}
.splash .btn {
    margin-top: 2rem;
    color: #fff;
    border-color: #fff;
    font-size: 1.2rem
}
.workshop {
    background: #000;
    background-image: url("/images/workshop-bg.jpg");
}
.workshop .lightbox-trigger > img {
    height: 220px;
    width: auto;
    max-width: none;

}
.workshop *:not(footer) {
    background: none;
    color: #fff;
}
.workshop-footer {
    width: 100%;
    padding: 50px;
    box-sizing: border-box;
    margin-top: -170px;
}
.workshop-footer>span{
    margin-right: 1rem;
}
.dragging {
    opacity: 0.4;
}
.error {
    border: 1px solid red;
}
/*
*
*
*   Specific items
*
*
*/
.canoe {
    margin-bottom: -40px;
}
.dehcho-quiz {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.dehcho-quiz figure {
    width: 50%;
    max-width: 270px;
    margin: 5px;
    text-align: center;
    padding: 5px;
}
.bio-page h1 {
    font-size: 4rem;
    color: #952529;
    font-weight: normal;
}
.bio-page,
.bio-page main,
.bio-page header{
    background: #e5decb;
}
.dehcho-quiz input {
    width: 50px;
    text-align: center;
    text-transform: uppercase;
}
.dehcho-quiz .submit-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
}
.correct {
    border-radius: 5px;
    background: cadetblue;
}
.submit-container button {
    width: auto;
    padding:10px 35px;
    background: none;
    font-size: 1rem;
    border: 1px solid #000;
    cursor:pointer;
    border-radius: 5px;
    justify-self: flex-end;
}
div.able-wrapper {
    margin: 0 auto;
}
.video-description p{
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
.images {
    width: 900px;
    margin: 0 1rem;
}
.drop-area {
    position: absolute;
    pointer-events: all;
}
.drop-area > span {
    background: peachpuff;
    padding: 5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    line-height: 10px;
    display: inline-block;
    pointer-events: none;
}
.drop-area img {
    width: 80px;
    max-width: 80px;
    -webkit-transform: translate(-60%, -30%);
        -ms-transform: translate(-60%, -30%);
            transform: translate(-60%, -30%);
    position: absolute;
}
.drop-1 {
    top: 26%;
    left: 40.5%;
}
.drop-2 {
    top: 45.5%;
    left: 55.5%;
}
.drop-3 {
    top: 49.5%;
    left: 60%;
}
.drop-4 {
    top: 54%;
    left: 39.5%;
}
.drop-5 {
    top: 64%;
    left: 35.5%;
}

.hand-images {
    width: auto;
    height: 200px;
}
.workshop .video-buttons {
    max-width: 250px;
    flex-wrap: wrap;
}
.workshop .video-buttons button{
    background: #fff;
    color: #000;
    width: 100%;
    min-width: 150px;
}
.workshop .video-buttons > div {
    min-width: 150px;
}
.video-buttons > div {
    min-width: 200px;
    text-align: left;
    width: 100%;
}
.workshop .transcripts .dynamic-hidden {
    width: 100vw;
    height: 300px;
    overflow: auto;
}
.dynamic-hidden {
    display: none;
}
.active .dynamic-hidden {
    display: block;
    text-align: left;
}
.justify-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
/* Unopened lightbox */
.lightbox {
    display: none;
}
.lightbox.center video{
    z-index: 2;
    position: absolute;
    top: 7.5rem;
    width: 100vw;
    max-width: none;
    left: 0;
    background: black;
}
.lightbox .banner {
    font-size: 18px;
    max-width: 500px;
}

/* Opened lightbox */
.lightbox:target {
    position: fixed;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    left: 0;
    width: 100vw;
    height: 100vh;
    padding: 2rem;
}
.lightbox video {
    max-height: calc(90vh - 100px);
}
.lightbox .able-wrapper {
    width: calc(85%) !important;
    margin: 0 auto;
    max-width: 100% !important;
}
/* Close button */
.lightbox .close {
    color: rgba(0,0,0,0);
    width: 0;
}
.lightbox .close::after {
    width: 8rem;
    height: 4rem;
    right: 0;
    top: 0;
    position: fixed;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: white;
    color: white;
    font-weight: bold;
    border-radius: 0 0 0 5px;
    color: black;
    content: "Close Video";
    cursor: pointer;
    z-index: 3;
}

/* Lightbox overlay */
.lightbox .close::before {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    background-color: rgba(0,0,0,.8);
    content: "";
    cursor: default;
}
.white-svg {
    stroke: white;
    fill: white;
}

@media screen and (max-width:925px) {
    :root {
        font-size: 10px;
    }
    header a {
        font-size: 2rem;
    }
    header .right {
        float: none;
    }
    nav a {
        line-height: 3.2rem;
        padding: 1rem;
    }
    .pull-quote {
        font-size: 2rem;
        line-height: 3rem;
    }
    .blocks .block{
        padding: 1rem;
    }
    .map-quiz {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    header .right {
        justify-content: flex-end;
        width: 100%;
    }
}
@media screen and (max-width:767px) {
    .blocks > a {
        margin: -10px 8rem 0 8rem;
    }
    .flex-bottom {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
    .block + a {
        margin-top: -32px;
    }
}
@media screen and (max-width: 550px) {
    header {
        padding-bottom: 0.5rem;
        margin-bottom: 1rem;
        box-shadow: 0 0px 11px 1px #999;
    }
    nav ul {
        padding-bottom: 0;
    }
    header .right {
        width: 100%;
    }
    header .right a {
        padding-right: 2rem;
    }
    header .right img {
        margin-left: auto;
    }
}