@charset "UTF-8";

@import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600|PT+Sans:400,700,400italic|Montserrat:700);

html,
button,
input,
select,
textarea {
    color: #3e3e3e;
}

body {
    font-size: 1em;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
}

::-moz-selection {
    background: #d2f3ff;
    text-shadow: none;
    color: #5cb9e2;
}

::selection {
    background: #d2f3ff;
    text-shadow: none;
    color: #5cb9e2;
}

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;
}

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

* {
    margin: 0;
    padding: 0;
    border: none;
}

body {
    font-family: 'PT Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 400;
    background: #e9e8e4;
    color: #3e3e3e;
    text-rendering: optimizeLegibility;
}

.wrapper {
    max-width: 780px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.wrapper, h2 span {
    background-color: #fff;
}

.link {
    color: #3e3e3e;
}
   
.summary {
    display: block;
    text-align: center;
    border: 0;
    margin: 1em 0;
    padding: 0;    
}

.nav {
    margin: 0;
    padding: 0;
    list-style: none;
    position: fixed;
    z-index: 100;
    bottom: 40%;
    left: 0;
    clear: both;
}

.nav li {
    margin: 0;
    padding: 0;
    display: inline-block;
    float: left;
    clear: both;
    position: relative;
    border-bottom: solid 1px #dedede;
}

.nav li:last-child {
    border-bottom: none;
}

.nav li a, .nav li input {
    background: #fff;
    display: block;
    width: 60px;
    padding: 30px 0;
    text-decoration: none;
    color: #3e3e3e;
    text-align: center;
    vertical-align: middle;
    border: none;
    outline: none;
    cursor: pointer;
}

.nav li a:hover, .nav li input:hover, .nav li:hover span {
    color: #fff;
    background: #5cb9e2;
}

.nav li .icon, .nav li .icon:hover {
    font-size: 24px;
    line-height: 24px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    vertical-align: middle;
}

.nav li span {
    display: none;
}

.nav li input {
    clip: rect(0 0 0 0);
    height: 1px;
    margin: 0;
    border: 0;
}

.nav li .up {
    background-image: url(../img/chevron-up.svg);
}

.nav li .up:hover {
    background-image: url(../img/chevron-up-white.svg);
}

.nav li .reset {
    background-image: url(../img/clockwise.svg);
}


.nav li .reset:hover {
    background-image: url(../img/clockwise-white.svg);
}

.nav li .print {
    background-image: url(../img/print.svg);
}


.nav li .print:hover {
    background-image: url(../img/print-white.svg);
}

header {
    max-width: 475px;
    display: block;
    margin: 0 auto;
    padding: 40px 0 20px 0;
}

footer {
    max-width: 700px;
    display: block;
    margin: 0 auto;
    padding: 40px 40px 80px 40px;
    background: #f4f8fb;
}

.share, .share li {
    padding: 0;
    list-style: none;
    max-width: 500px;
    display: block;
    text-align: center;
}

.share {
    margin: 30px auto 15px auto;
}

.share li {
    padding: 0 15px;
    margin: 0 auto;
    text-align: center;
    display: inline;
    overflow: hidden;
    position: relative;
    right: -15px;
}

.share li:first-child {
    top: -6px;
}

.check-list, .check-item {
    margin: 0;
    padding: 0;
    list-style:  none;
}

.check-item {
    display: block;
    position: relative;
    overflow: hidden;
}

.check-item:nth-child(even) {
    background: #f8f7f6;
}

fieldset .check-item:hover {
    background: #f4f8fb;
}

.score-summary {
  padding-bottom: 40px;
}

.score-summary li {
  position: relative;
}

.score-summary li .percent {
  font-size: 24px;
  line-height: 31px;
  padding: 30px 0;
  display: block;
  position: absolute;
  text-align: center;
  width: 105px;
}

.score-summary .submit {
  margin-top: 40px;
}

/********** TYPOGRAPHY: HEADINGS *********/

h1, h2, h3, h4, h5, h6, .description {
    font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 600;
    text-align: center;
    margin: 0;
}

h1 {
    font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 34px;
    text-transform: uppercase;
    letter-spacing: 10px;
}

h1 a {
    display: block;
    padding: 30px;
    border: 5px solid #3e3e3e;
    text-decoration: none;
    color: #3e3e3e;
}

h1 a:hover {
    color: #5cb9e2;
    border-color: #5cb9e2;
}

h2 {
    font-size: 2.5em;
    margin-top: 10px;
    padding: 25px 0 20px 0;
    position: relative;
}

h2:before {
    content: "";
    display: block;
    border-top: solid 1px #dedede;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    z-index: 1;
    margin: 0 auto;
}

h2 span {
    padding: 0 20px;
    position: relative;
    z-index: 5;
}

h3 {}

h4 {}

h5 {}

h6 {}

strong {
    font-weight: 600;
}

/********** TYPOGRAPHY: BODY *********/

.description {
    color: #c3c2be;
    position: relative;
    padding: 0 25px 30px 25px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.description:before {
    content: '“';
    display: inline;
}

.description:after {
    content: '”';
    display: inline;
}

input[type=checkbox].checkbox {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

input[type=checkbox].checkbox + label.label {
    background-image: url(../img/checkbox-empty.svg);
    background-repeat: no-repeat;
    background-position: 40px 50%;
    vertical-align: middle;
    cursor: pointer;
}

input[type=checkbox].checkbox:checked + label.label {
    color: #fff;
    background-color: #5cb9e2;
    background-image: url(../img/checkbox-checked.svg);
    background-position: 40px 47%;
}

input[type=checkbox].checkbox:checked + label.label a {
    color: #fff;
}

input[type=checkbox].checkbox:checked + label.label .tweet {
  background-image: url('/img/twitter-active.svg');
}

.check-item:nth-child(even) input[type=checkbox].checkbox:checked + label.label {
    background-color: #5cb9e2;
}

.checkbox {
    position: absolute;
    left: 50px;
    top: 50%;
}

.label {
    width: 100%;
    display: block;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    padding: 30px 80px 30px 105px;
    -moz-max-width: 540px;
    font-size: 24px;
    line-height: 31px;
}

.label a {
    color: #3e3e3e;
}

.label .tweet {
  display: block;
  position: absolute;
  right: 44px;
  top: 0;
  bottom: 0;
  width: 0;
  padding: 0 26px;
  background: transparent url('/img/twitter.svg') no-repeat center center;
  overflow: hidden;
  text-indent: -9999px;
  opacity: 0.5;
  border: none;
  outline: none;
}

.label .tweet:hover {
  opacity: 1;
  cursor: pointer;
}

.toggle {
    display: block;
    padding: 0 22px;
    position: absolute;
    right: 0;
    z-index: 100;
    top: 0;
    bottom: 0;
    vertical-align: middle;
    background-color: #f1f0ed;
    background: rgba(241,240,237,1) url(../img/chevron-down.svg) no-repeat center;
    background-size: 22px 13px;
    border: none;
    outline: none;
    box-shadow: none;
    opacity: 0.5;
}

.toggle:hover {
    opacity: 0.8;
}

.toggle span {
    display: none;
    margin-right: -9999px;
}

.check-item input[type=checkbox].checkbox:checked + label.label .toggle {
    background-color: #4f9cbe;
    background: rgba(62, 62, 62, 0.53) url(../img/chevron-down-white.svg) no-repeat center;
    background-size: 22px 13px;
    opacity: 0.75;
}

.check-item input[type=checkbox].checkbox:checked + label.label .toggle:hover {
    background-color: rgba(62, 62, 62, 0.75);
    opacity: 1;
}

.read-less {
    background-image: url(../img/chevron-up.svg) !important;
    background-size: 22px 13px;
}

.check-item input[type=checkbox].checkbox:checked + label.label .read-less {
    background-image: url(../img/chevron-up-white.svg) !important;
}

.more {
    font-size: 14px;
    line-height: 20px;
    display: block;
}

.tags {
    margin: 0 0 0 -4px;
    padding: 0;
    list-style: none;
    position: relative;
    opacity: 0.55;
}

.tags li {
    font-size: 13px;
    line-height: 19px;
    display: inline;
    padding: 5px;
    white-space: nowrap;
}

.tags li a {
    text-decoration: none;
}

.tags li a:hover {
    text-decoration: underline;
}

.mix{
    opacity: 0;
    display: none;
}

/********** FILTER **********/

.toc {
    margin: 0;
    padding: 10px 40px 0 40px;
    list-style: none;
}

.toc li, .toc .title {
    margin: 10px auto;
    padding: 0;
    display: inline-block;
    text-align: center;
}

.toc li a, .toc .title {
    padding: 12px;
    text-align: center;
    text-decoration: none;
    color: #8a8a8a;
    overflow: inherit !important;
}

.toc .title {
    padding: 0 12px;
    display: inline !important;
}

.toc li a:hover {
    text-decoration: underline;
    background: none;
}

.toc .active a {
    font-weight: bold;
}

.toc .title {
    color: #3e3e3e;
}

/********** REFERENCES/TOOLS *********/

footer h2:before {
    display: none;
}

footer h3 {
    font-size: 1.5em;
    margin: 10px 0;
    padding: 0;
}

footer .thank-you {
    margin-bottom: 35px;
    font-size: 1.25em;
}

.references, .podcasts, .subscription, .authors {
    margin: 55px auto;
    display: block;
    position: relative;
}

.references ul, .podcasts ul, .authors ul {
    margin: 0 auto;
    padding: 0;
    list-style: none;
    text-align: center;
    display: block;
    position: relative;
}

.references ul li, .podcasts ul li {
    margin: 2px 0;
    padding: 0;
    text-align: center;
    display: block;
}

.references ul li a, .podcasts ul li a, .authors ul li a {
    padding: 8px 0;
    color: #3e3e3e;
    text-decoration: none;
    display: block;
    text-align: center;
    margin: 0 auto;
}

.references ul li a:hover, .podcasts ul li a:hover, .authors ul li a:hover {
    text-decoration: underline;
}

/********** FORM ELEMENTS *********/

.input {
    border: none;
    outline: none;
    background: transparent;
    padding: 14px 0;
    border-bottom: 1px solid #dedede;
    font-size: 30px;
    color: #3e3e3e;
    display: block;
    margin: 0 auto 30px auto;
    width: 80%;
    text-align: center;
}

.button {
    font-family: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 22px;
    text-transform: uppercase;
    letter-spacing: 2px;
    display: block;
    padding: 20px 25px;
    max-width: 280px;
    margin: 0 auto;
    background: transparent;
    border: 3px solid #3e3e3e;
    outline: none;
    text-decoration: none;
    color: #3e3e3e;
    text-align: center;
    overflow: hidden;
}

.button:hover {
    color: #5cb9e2;
    border-color: #5cb9e2;
}

.recruit {
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1px;
    padding: 15px 20px;
    max-width: 500px;
    margin-top: 30px;
}

/********** AUTHORS *********/

.authors {
    margin: 55px auto 25px auto;
}

.authors ul li {
    display: inline;
    #width: 50%;
    #float: left;
    margin: 30px auto;
}

.authors ul li .avatar {
    display: block;
    position: relative;
    width: 100%;
    max-width: 200px;
    max-height: 200px;
    border-radius: 50%;
    margin: 0 auto;
    text-align: center;
}

.authors ul li .avatar img {
    width: 100%;
    max-height: 200px;
    max-height: 200px;
    border-radius: 50%;
}

.authors ul li h4 {
    font-size: 1.75em;
    margin-top: 18px;
}

.authors ul li a {}

/********** COPYRIGHT *********/

.copyright {
    text-align: center;
}

.mpd-logo {
    width: 50px;
    height: 50px;
    display: inline;
}

/********** NOTIFICATIONS *********/

.notification {
    width: 100%;
    display: block;
    position: fixed;
    top: 0;
    z-index: -1;
    font-size: 1.25em;
    opacity: 0;
    height: 0;
    overflow: hidden;
	text-align: center;
}

.notification .wrapper {
    padding: 25px 30px;
    background: none;
    width: auto;
}

#reset-message {
    background: #5cb9e2;
    color: #fff;
}

#filter-message {
    background: #b5e2fa;
    color: #4f9cbe;
}

/********** TRANSITIONS *********/

.label, .nav li a, .nav li input {
    transition: background-color 0.08s ease-in-out;
}

h1 a, .toc li a, .check-item, .input, .button, .notification {
    transition: all 0.2s ease-in-out;
}

.tags li {
    transition: all 0.1s ease-in-out;
}

.toggle {
    transition: background-color 0.15s ease-in-out;
}

.check-item, .tags li, .visible {
    opacity: 1;
    height: auto;
    overflow: hidden;
    transition-timing-function: ease-in;
}

.more {
    opacity: 0;
    height: 0;
    overflow: hidden;
    transition: all 0.08s ease-in-out;
}

.hide {
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    transition-timing-function: ease-out;
}

.hide-tags {
    display: none !important;
}

.show {
    opacity: 1 !important;
    height: auto !important;
    margin-top: 10px;
    margin-right: 20px;
    transition-timing-function: ease-in;
}

.display {
    opacity: 1 !important;
    height: auto !important;
    z-index: 10000000 !important;
    transition-timing-function: ease-in;
}

/*
@keyframes check     from {transform:translateY(0);-moz-transform:translateY(0);-webkit-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);}
    to {transform:translateY(-3px);-moz-transform:translateY(-3px);-webkit-transform:translateY(-3px);-ms-transform:translateY(-3px);-o-transform:translateY(-3px);}
}

@-webkit-keyframes check {
    from {transform:translateY(0);-moz-transform:translateY(0);-webkit-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);}
    to {transform:translateY(-3px);-moz-transform:translateY(-3px);-webkit-transform:translateY(-3px);-ms-transform:translateY(-3px);-o-transform:translateY(-3px);}
}

input[type=checkbox].checkbox:checked + label.label {
    animation: check 0.2s ease-in-out;
    -webkit-animation: check 0.2s ease-in-out;
    transition: transform 0.2s -moz-transform 0.2s -webkit-transform 0.2s -ms-transform 0.2s -o-transform 0.2s;
}

input[type=checkbox].checkbox + label.label {
    animation: check 0.2s ease-in-out;
    -webkit-animation: check 0.2s ease-in-out;
    transition: transform 0.2s -moz-transform 0.2s -webkit-transform 0.2s -ms-transform 0.2s -o-transform 0.2s;
}
*/

/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (max-width: 920px) {

    .nav {
        bottom: 0;
        right: 0;
        width: 100%;
        box-shadow: 0 -2px 4px rgba(0,0,0,0.1);
    }

    .nav li {
        float: right;
        clear: none;
        border-bottom: none;
        width: 50%;
    }

    .nav li:last-child {
        width: 50%;
    }

    .nav li a, .nav li input {
        width: 100%;
        padding: 40px 0;
        box-shadow: inset 3px 0 0 -2px #dedede;
    }

    .nav li:last-child a, .nav li:last-child input {
        box-shadow: none;
    }

    .nav li .print {
        display: none;
    }

}

@media only screen and (max-width: 640px) {

    h1 {
        font-size: 21px;
        line-height: 23px;
        letter-spacing: 7px;
        margin: 0 55px;
    }

    .label {
        font-size: 18px;
        line-height: 25px;
        padding: 30px 60px 30px 80px;
    }

    .checkbox {
        left: 30px;
    }

    input[type=checkbox].checkbox + label.label {
        background-position: 30px 50%;
    }

    input[type=checkbox].checkbox:checked + label.label {
        background-position: 30px 47%;
    }

    .nav li a, .nav li input {
        padding: 35px 0;
    }

    .authors ul li .avatar {
        width: 70%;
    }

    .authors ul li h4 {
        font-size: 1.2em;
    }

}

@media only screen and (max-width: 540px) {

    h1 {
        font-size: 18px;
        line-height: 20px;
        letter-spacing: 6px;
        margin: 0 55px;
    }

    .nav li a, .nav li input {
        padding: 25px 0;
    }

    .input {
        font-size: 18px;
    }

    .share {
        display: none;
    }

    footer .thank-you {
        margin-bottom: 25px;
        font-size: 1em;
    }

	.notification .wrapper {
		padding: 14px 15px;
	}

}

@media only screen and (max-width: 480px) {

    h1 {
        font-size: 16px;
        line-height: 18px;
        letter-spacing: 5px;
        margin: 0 25px;
    }

    h2 {
        font-size: 1.5em;
        padding: 25px 0;
    }

    h3 {
        font-size: 1em;
        padding: 5px 0 20px 0;
    }

    .label {
        font-size: 14px;
        line-height: 20px;
        padding: 25px 55px 25px 60px;
    }

    .checkbox {
        left: 17px;
    }

    input[type=checkbox].checkbox + label.label {
        background-position: 17px 50%;
    }

    input[type=checkbox].checkbox:checked + label.label {
        background-position: 17px 47%;
    }

    .more {
        font-size: 12px;
        line-height: 19px;
    }

    .tags {
        margin-top: 5px;
    }

    .notification {
        font-size: 1em;
    }

}

@media print {
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi)
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.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;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #3e3e3e !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 #3e3e3e;
        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: 2cm 0.5cm 1.75cm 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }

    h1 a[href]:after {
        content: "";
    }

    h2 {
        font-size: 21pt;
        line-height: 26pt;
        padding: 40px 0 15px 0;
        display: block;
        max-width: 500px;
        margin: 0 auto;
    }

    h3 {
        font-size: 16pt;
        line-height: 20pt;
        color: #696969 !important;
        padding: 0 0 15px 0;
    }

    .description {
        max-width: 500px;
        margin: 0 auto;
    }

    .more {
        font-size: 8pt;
        line-height: 12pt;
        color: #696969 !important;
        padding: 0 0 15px 0;
        margin-top: 1px;
    }

    header {
        max-width: 500px;
        padding: 5px 0 0 0;
    }

    .nav, .toc li, .share, h2:before, .toggle, footer, .tags {
        display: none;
    }

	.toc {
		text-align: center;
		margin: 30px auto 0 auto;
	}

	.toc .title, .toc .active {
		display: inline;
	}

    fieldset {
        page-break-inside: avoid;
    }

    .check-list {
        page-break-before: avoid;
        page-break-inside: avoid;
        padding-bottom: 20px;
    }

    .label {
        font-size: 10pt;
        line-height: 15pt;
        padding: 8px 110px 8px 175px;
    }

    .checkbox {
        position: absolute;
        left: 135px;
        top: 36%;
    }

    input[type=checkbox].checkbox {
        position: absolute;
        overflow: auto;
        clip: inherit;
        height: inherit;
        width: inherit;
    }

}
