/*
 * HTML5 Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* Base styles: opinionated defaults */
/************************************************************************************/
html,
button,
input,
select,
textarea {
    color: #222;
}
body {
    font-size: 1em;
    line-height: 1.4;
	-webkit-font-smoothing: antialiased; 
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}
::selection {
    background: #424251;
    color: #fff;
    text-shadow: none;
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
img {
    vertical-align: middle;
}
fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}
textarea {
    resize: vertical;
}
table {
    font-size: 16px;
}
table th {
    padding: .8em;
    border: 1px solid #191919;
    border-bottom: 2px solid #191919;
}
table tr:first-child th:first-child {
    border-bottom: 2px solid #191919;
}
table th:first-child {
    border-bottom: 1px solid #191919;
    border-right: 2px solid #191919;
}
table td {
    padding: .8em;
    text-align: center;
    border: 1px solid #191919;
}

/* Web fonts
   ========================================================================== *

font-family:'HelveticaNeueW01-45Ligh';
font-family:'HelveticaNeueW01-95Blac';
font-family:'HelveticaNeueW01-75Bold';

*/

/* Author's custom styles */
/************************************************************************************/


body,
html{
    height:100%;
    width: 100%;
}

body {
    font-size: 15px;
    line-height: 1.3em;
	font-family:'HelveticaNeueW01-45Ligh';
    background:url('../img/background.png');
    background-size: cover;
}

h1 {
    font-size: 80px;
    line-height: 55px;
    text-transform: uppercase;
    font-family:'HelveticaNeueW01-75Bold';
    margin:60px 0 40px;
}

h1 span {
    font-family:'Cormorant Garamond', serif;
    font-weight: 200;
}

img {
    max-width: 100%;
}


.ruler {
    background-image:url('../img/ruler.png');
    width: 638px;
    height: 121px;
    position: absolute;
    left:-10%;
    bottom:150px;
    -webkit-transform:rotate(-8deg);
    -moz-transform:rotate(-8deg);
    transform:rotate(-8deg);
}

.pencil {
    background-image: url('../img/pencil.png');
    width: 170px;
    height: 460px;
    position: absolute;
    right:10%;
    bottom:200px;
    z-index:30;
}

.body-wrap {
    width: 100%;
    height: 100%;
    max-width: 1015px;
    position: relative;
    margin: 0 auto;
    display: table;
    z-index:30;
}

.screen {
    height: auto;  
}

body.screen-start .screen-start {
    display: table-cell;
    vertical-align: middle;
}

    .screen--inner {
        position: relative;
        z-index: 5;
    }
        .screen--inner:after {
            content:'';
            display: block;
            left: 10px;
            top: 15px;
            position: absolute;
            width: 100%;
            background-color:#ddece7;
            background-image:url('../img/paper-bg.png');
            height: 100%;
            z-index: 1;
            -webkit-transform: rotate(-0.6deg);
            -moz-transform: rotate(-0.6deg);
            transform: rotate(-0.6deg);
        }

        .screen--content {
            position: relative;
            z-index:5;
            background-color:#ddece7;
            background-image:url('../img/paper-bg.png');
            background-size: cover;
            padding:20px 40px 80px;
            -webkit-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.15);
            -moz-box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.15);
            box-shadow: 2px 2px 3px 0px rgba(0,0,0,0.15);
        }

        .screen--content:before {
            display: block;
            content:'';
            width: 45px;
            height: 40px;
            background:url('../img/staple.png');
            position: absolute;
            top:10px;
            left:10px;
        } 

.subject {
    display: none;
}

.subject p {
    font-size:18px;
}

.share-toggle {
    color:#000;
    text-decoration: none;
    display: block;
    border-top: 1px solid #000;
    font-family:'Cormorant Garamond', serif;
    font-size: 20px;
    padding-top: 10px;
    position: absolute;
    left:40px;
    top:25px;
    z-index: 55;
}

.social--container {
    display: none;
    position: absolute;
    top: 25px;
    left: 40px;
    padding-left: 80px;
    padding-top: 10px;
    font-size: 20px;
    z-index: 50;
}


.social--container a {
    text-decoration: none;
    color:#000;
    margin-right: 20px;
    font-family:'Cormorant Garamond', serif;
}

.screen-final .screen--content,
.subject .screen--content {
    padding-top:70px;
}

.subject .screen--content:after {
    background: url('../img/ool-logo.png') no-repeat left top;
    content:'';
    display: block;
    width:149px;
    height:27px;
    position:absolute;
    right:40px;
    bottom:25px; 
}

.question--number {
    font-family: 'HelveticaNeueW01-45Ligh';
}

.question--content {
    margin:0 0 10px;
    font-family:'HelveticaNeueW01-75Bold';
}

.science .subject.science,
.mathematics .subject.mathematics,
.geography .subject.geography,
.citizenship .subject.citizenship,
.environmental .subject.environmental,
.health .subject.health {
    display: table-cell;
    vertical-align: middle;
    width: 100%;
    z-index: 3;
}

.screen.active {
    z-index: 4;
}

.question:not(.active) {
    display: none;
}

.question p {
    max-width: 85%;
}

.instruction {
    display: inline-block;
    font-size: 20px;
    font-style:italic;
    font-family:'Cormorant Garamond', serif;
    color: #2e2e2e;
}

.go-next, 
.final-submit {
    padding:0 30px;
    display: block;
    font-size: 20px;
    line-height: 38px;
    color: #2e2e2e;
    text-decoration: none;
    text-align: center;
    border: 4px solid #fff;
    border-radius: 2em;
    background:#ffffbf;
    position: absolute;
    bottom:25px;
    left:40px;
    font-family:'HelveticaNeueW01-75Bold';
}

.final-share, 
.start-again {
    padding:0 30px;
    display: block;
    font-size: 20px;
    line-height: 38px;
    color: #2e2e2e;
    text-decoration: none;
    text-align: center;
    border: 4px solid #fff;
    border-radius: 2em;
    background:#ffffbf;
    font-family:'HelveticaNeueW01-75Bold';
}

.equation {
    font-size: 30px;
    padding: 1em 2em;
	font-family:'HelveticaNeueW01-75Bold';
}

/* Answers */
/***************************************/
.answer.radios {
    margin-bottom:150px;
}

.answer ul {
    list-style: none;
    margin: 1em 0 0;
    padding: 0;
}
.answer li {
    cursor: pointer;
}
/* checkbox answers */
.answer.checkboxes,
.answer.drag-and-drop {
    padding: 1em;
    margin-top: 1em;
    overflow: hidden;
    border: 2px solid #191919;
}
.answer.checkboxes li {
    padding: 1em;
    float: left;
}
.answer:not(#foo) input[type="checkbox"] {
    opacity: 0;
    float: left;
    width: 18px;
}
.answer:not(#foo) input[type="checkbox"] + label {
    font-size: 25px;
    margin: 0;
    clear: none;
    padding: 5px 0 4px 30px;
    cursor: pointer;
    background: url(../img/checkbox-off.png) left center no-repeat;
}
.answer:not(#foo) input[type="checkbox"]:checked + label {
    background: url(../img/checkbox-on.png) left center no-repeat;
}
.answer.checkboxes .key {
    display: none;
}
/* radio answers */
.answer.radios li {
    position: relative;
    margin: .5em 0;
    border: 2px solid #191919;
}
.answer.radios li:hover {
    background: #fff;
}
.answer.radios li.selected {
    background: #181818 ;
    color: #fff;
}
.answer.radios div {
    display: block;
    padding: 1em;
}
.answer.radios div.key {
    float: left;
    width: 1em;
    margin-right: 1em;
    text-align: center;
    border-right: 1px solid #191919;
}
/* image answers */
.answer.images li {
    border: 2px solid #191919;
}
.answer.images li:hover {
    border: 2px solid #fff;
}
.answer.images li.selected {
    border: 2px solid green ;
}
.answer.images .key {
    display: none;
}
/* sortable answers */
.answer.drag-and-drop ul {
    margin-top: 0;
}
.answer.drag-and-drop li {
    padding: 1em;
    margin: 0 1em;
    border-top: 1px solid #191919;
}
.answer.drag-and-drop li:first-child {
    border-top: 0;
}
.answer.drag-and-drop .key {
    display: none;
}

.maths_root {
    text-decoration: overline;
}

/* Start screen */
/***************************************/
.screen.screen-start {
    z-index: 2;
    text-align: center;
}

body.science .screen-start,
body.mathematics .screen-start,
body.environmental .screen-start,
body.citizenship .screen-start,
body.health .screen-start,
body.geography  .screen-start {
    display: none;
}

.intro-text {
    padding:0 70px;
    font-size: 16px;
    line-height: 1.5em;
	position: relative;
    margin-bottom:70px;
}

.select-exam-text {
    font-size: 20px;
    line-height: 1.3em;
    font-weight: 400;
    font-style: italic;
    font-family:'Cormorant Garamond', serif;
}

.this-document-text {
    padding:20px 10%;
    border:1px solid #010101;
    font-size: 16px;
    line-height: 1.5em;
}

.select-subject {
    list-style: none;
    margin: 0;
    padding: 0 70px;
    overflow: hidden;
	font-family:'HelveticaNeueW01-75Bold';
}

.select-subject li {
    float: left;
    width: 48%; 
    margin-bottom: 20px;
}

.select-subject li:nth-child(2n) {
    margin-left: 4%;
}

.ool-logo {
    background: url('../img/ool-logo.png') no-repeat left top;
    width:149px;
    height:27px;
    position:absolute;
    left:40px;
    bottom:25px;
    color:transparent;
}
.screen-results .ool-logo {
    left:initial;
    right:40px;
}

.select-subject a {
    display: block;
    font-size: 20px;
    line-height: 38px;
    color: #2e2e2e;
    text-decoration: none;
    text-align: center;
    border: 4px solid #fff;
    border-radius: 2em;
    background:#ffffbf;
}



.sharetext {
    text-align:center;
}


/* Results screen */
/***************************************/
.screen.screen-results {
    display: none;
	font-size: 19px;
    line-height: 1.6;
	font-family: 'HelveticaNeueW01-45Ligh';
}

body.screen-results .screen-results {
    z-index: 5;
    display: table-cell;
    vertical-align: middle;
}

body.screen-final .subject,
body.screen-results .subject {
    display: none!important;
}

.results-intro {
    font-size: 34px;
    line-height: 1em;
    margin: 10px 0px 20px;
}

.results-large {
    font-size: 26px;
    line-height: 1em;
    margin: 0px 0px;
    font-family:'HelveticaNeueW01-75Bold';
    padding-right: 129px;
}

.results-text {
    width:65%;
}

.personal-info {
    position:relative;
    border:1px solid #000000;
    padding:30px;
    overflow: hidden;
    margin-bottom:40px;
}

.screen.screen-results .question {
    position: relative;
    width: 29.33%;
    float: left;
    margin: 10px 2%;
    padding: 0px;
    display: block;
    line-height: 1em;
}
.screen.screen-results .question input {
    max-width:100%;
}

.screen.screen-results h1 {
    font-family:'HelveticaNeueW01-75Bold';
    text-transform: none;
}

.screen.screen-results .question p { 
    display:inline-block;
    *display:block;
    zoom:1;
    width: 110px;
}

.screen.screen-results .question select { 
    display:inline-block;
    *display:block;
    zoom:1;
    padding: 5px;
    width: 100%;
}

.screen.screen-final {
    display: none;
	font-size: 19px;
	font-family: 'HelveticaNeueW01-45Ligh';
}

body.screen-final .screen-final {
    z-index: 6;
    display: table-cell;
    vertical-align: middle;
    width: 100%;
}

.screen.screen-final h1 {
    font-family:'HelveticaNeueW01-75Bold';
    text-transform: none;
}

.screen.screen-final h3 {
    border-bottom:1px solid #000;
    font-size: 32px;
    padding: 20px 0;
    width: 95%;
	font-family:'HelveticaNeueW01-75Bold';
}

.results-gcse {
    display: inline-block;
    *display: inline;
    zoom:1;
    width:49%;
}

.results-olevel {
    display: inline-block;
    width:50%;
    *display: inline;
    zoom:1;
}

.results-gcse p{
    font-size: 30px;
    font-family:'HelveticaNeueW01-75Bold';
}   

.results-gcse ul{
    margin:0px 0px;
    padding:0px;
}

.results-gcse li{
    list-style:none;
}

.final-text {
    font-size: 30px;
    margin-top: 20px;
    padding-top: 30px;
	line-height: 1.2em;
	font-family:'HelveticaNeueW01-75Bold';
}

.final-text span {
    text-transform:capitalize;
}

.sources {
    font-size:16px;
}

.sources span {
    font-family:'Cormorant Garamond', serif;
    display: block;
    margin-bottom:20px;
}
    
.final--inner {
    position: relative;
    padding:30px;
    border:1px solid #000;
}

.final--inner h1 {
    margin-top: 0;
}

.test {
    position: absolute;
    display: block;
    right:40px;
    bottom:25px;
    font-size: 30px;
    font-family:'HelveticaNeueW01-75Bold';
}

.screen-final--cta {
    position: absolute;
    padding:30px;
    bottom:0;
    right:0;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
}

.screen-final--cta a {
    margin-bottom:15px;
}

.error {
    color:#ff0000;
    font-family:'HelveticaNeueW01-75Bold';
}


.staple {
    background:url(../img/staple.png) no-repeat top left;
    width:45px;
    height:40px;
    display:block;
    position:absolute;
    top:10px;
    left:10px;
    z-index:99;
}

.hidden {
    display:none;
}

/* Specific screens */
/***************************************/
.subject.mathematics .q7 .answer .key {
    padding-top: 1.4em;
    padding-bottom: 1.4em;
}
.subject.mathematics .q7 .answer .text {
    padding-top: 0;
    padding-bottom: 0;
}
.subject.science .q4 .answer li {
    margin-left: .3em;
}
.subject.science .q4 .answer li:first-child {
    margin-left: 0;
}
.subject.science .drag-and-drop li {
    background-color: #EAF1F4;
}

/* NO JS - and other fallbacks */
/************************************************************************************/


/* Helper classes */
/************************************************************************************/
.media {
    margin-bottom: 10px;
}
.media, .bd {
    overflow: hidden; 
    _overflow: visible; 
    zoom: 1;
}
.media .img {
    float: left; 
    margin-right: 10px;
}
.media .img img{
    display: block;
}
.media .imgExt{
    float: right; 
    margin-left: 10px;
}
.fr {
    float: right;
}
.fl {
    float: left;
}
.clear {
    clear: both;
}
.oh {
    overflow: hidden;
}
.mr {
    margin-right: 1em;
}
.no-wrap {
    white-space: nowrap;
}

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}
.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
}
.hidden {
    display: none !important;
    visibility: hidden;
}
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}
.invisible {
    visibility: hidden;
}

/* Media Queries */
/************************************************************************************/

@media only screen and (max-width: 959px) {
    html {
        background: #eee;
    }
    .screen.screen-start {
        height: auto;
        margin-top: 0;
        padding-bottom: 5em;
        background: #eee;
    }
    .eraser {
        display: none;
    }
    .intro-text {
        margin-top: 0;
    }
    .this-document-text {
        position: relative;
        top: 0;
        left: 0;
        width: 90%;
        padding: 0 5%;
    }
	.social.home { top:0px; }
}
@media only screen and (max-width: 860px) {
	.subject footer, .screen-final footer, .screen-results footer{
		display:none;
	}
}
@media only screen and (max-width: 620px) {
    .ool-logo {
        display: none;
    }

    .results-gcse {
        width: 100%;
    }

    .screen-final--cta {
        position: relative;
        border:none;
        padding: 0;
    }

    .ruler, .pencil {
        display: none;
    }
}
@media only screen and (max-width: 800px) {
    .select-subject {
        margin: 0;
    }
    .select-subject li {
        float: none;
        width: 100%;
        margin: 1em 0;
    }
	.social.home { top:0px; }

    .select-subject li:nth-child(2n) {
        margin: 0;
    }
}
@media only screen and (max-width: 350px) {
    .screen.screen-start header .paper-ref {
        display: none;
    }
	.social { right:0px;}
	.social.home { left:0px }
	.results-gcse, .results-olevel { width:100%;}
}

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}

.question--text {
    counter-reset:li;
    padding: 0;
    margin: 0;
    list-style: none;
}

.question--text li {
    font-size: 18px;
    padding-left:20px;
    position:relative;
    margin-bottom:10px;
    font-weight: bold;
    padding-right:65px;
}

.question--text li:before {
    position:absolute;
    left:0;
    content:counter(li);
    counter-increment:li;
}

.result--question {
    margin-bottom: 20px;
    display: block;
}

.result--content {
    display: block;
    font-size: 14px;
    padding:5px 0;
}

.question--text li:after {
    content:'';
    display: block;
    position: absolute;
    right:0;
    top:0;
    width: 60px;
    height: 60px;
    background-size: cover;
}

.question--text li.correct:after {
    background-image:url('../img/correct.svg');
}

.question--text li.incorrect:after {
    background-image:url('../img/incorrect.svg');
}