diff --git a/_sass/_settings.scss b/_sass/_settings.scss index ccdc60e..e81cb26 100644 --- a/_sass/_settings.scss +++ b/_sass/_settings.scss @@ -1,14 +1,14 @@ // Background colours -$backgroundColour: #ffffff !default; +$backgroundColour: #2b2a2a !default; $codeBackgroundColour: #fafafa !default; $featureBackgroundColour: #f9fafa !default; $accentColour: #05bf85 !default; // Text colours -$headingColour: #242e2b !default; -$bodyColour: #384743 !default; -$linkColour: #05bf85 !default; -$hoverColour: #008000 !default; +$headingColour: #9ea5a3 !default; +$bodyColour: #ffffff !default; +$linkColour: #a6b2af !default; +$hoverColour: #384743 !default; $focusColour: #fa407a !default; $captionColour: #a8adac !default; $white: #ffffff !default; diff --git a/_site/404.html b/_site/404.html index eee20e7..e3c15eb 100644 --- a/_site/404.html +++ b/_site/404.html @@ -22,7 +22,7 @@ - + diff --git a/_site/assets/styles.css b/_site/assets/styles.css index 5ae1121..3e7cb15 100644 --- a/_site/assets/styles.css +++ b/_site/assets/styles.css @@ -1 +1 @@ -/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none}a{background-color:rgba(0,0,0,0);-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}html,body{height:100%}a img{border:none}blockquote{quotes:none}blockquote:before,blockquote:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}html{font-size:75%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}@media screen and (min-width: 40em){html{font-size:87.5%}}@media screen and (min-width: 50em){html{font-size:93.75%}}@media screen and (min-width: 64em){html{font-size:106.25%}}@media screen and (min-width: 100em){html{font-size:118.75%}}body{font-size:1.3333333333rem;font-family:Georgia, serif;font-style:normal;font-weight:400;line-height:2rem}@media screen and (min-width: 40em){body{font-size:1.2142857143rem}}@media screen and (min-width: 50em){body{font-size:1.2rem}}@media screen and (min-width: 64em){body{font-size:1.1764705882rem}}@media screen and (min-width: 100em){body{font-size:1.1578947368rem}}a{color:#05bf85;text-decoration:none;transition:color .1s,background-color .1s}a:hover,a:active,a:focus{color:green;text-decoration:none}.typeset p a,.typeset li a{background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, #05bf85 50%);background-position:0 93%;background-repeat:repeat-x;background-size:100% .15rem;text-shadow:.1rem 0 #fff,.15rem 0 #fff,-0.1rem 0 #fff,-0.15rem 0 #fff}.typeset p a:hover,.typeset p a:active,.typeset p a:focus,.typeset li a:hover,.typeset li a:active,.typeset li a:focus{background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, #008000 50%)}.typeset p{line-height:2rem;margin-bottom:1.49999rem;padding-top:0.50001rem;font-feature-settings:"kern","onum","liga"}@media screen and (min-width: 40em){.typeset p{margin-bottom:1.4553471429rem;padding-top:0.5446528571rem}}@media screen and (min-width: 50em){.typeset p{margin-bottom:1.44999rem;padding-top:0.55001rem}}@media screen and (min-width: 64em){.typeset p{margin-bottom:1.4411664706rem;padding-top:0.5588335294rem}}@media screen and (min-width: 100em){.typeset p{margin-bottom:1.4342005263rem;padding-top:0.5657994737rem}}.typeset h1,.typeset h2,.typeset h3,.typeset h4,.typeset h5,.typeset h6{color:#242e2b;font-family:"Merriweather", serif;font-feature-settings:"dlig","liga","lnum","kern";font-style:normal;font-weight:700}.typeset h1,.typeset .alpha{line-height:3rem;font-size:2.3333333333rem;margin-bottom:0.37499rem;padding-top:0.62501rem}@media screen and (min-width: 40em){.typeset h1,.typeset .alpha{font-size:2.1428571429rem;margin-bottom:0.3035614286rem;padding-top:0.6964385714rem}}@media screen and (min-width: 50em){.typeset h1,.typeset .alpha{font-size:2.1333333333rem;margin-bottom:0.29999rem;padding-top:0.70001rem}}@media screen and (min-width: 64em){.typeset h1,.typeset .alpha{font-size:2.3529411765rem;margin-bottom:0.3823429412rem;padding-top:0.6176570588rem}}@media screen and (min-width: 100em){.typeset h1,.typeset .alpha{font-size:2.6315789474rem;margin-bottom:0.4868321053rem;padding-top:0.5131678947rem}}.typeset h2,.typeset .beta{line-height:3rem;font-size:2.0833333333rem;margin-bottom:0.28124rem;padding-top:0.71876rem}@media screen and (min-width: 40em){.typeset h2,.typeset .beta{font-size:1.9rem;margin-bottom:0.21249rem;padding-top:0.78751rem}}@media screen and (min-width: 50em){.typeset h2,.typeset .beta{font-size:1.8733333333rem;margin-bottom:0.20249rem;padding-top:0.79751rem}}@media screen and (min-width: 64em){.typeset h2,.typeset .beta{font-size:2.0882352941rem;margin-bottom:0.2830782353rem;padding-top:0.7169217647rem}}@media screen and (min-width: 100em){.typeset h2,.typeset .beta{font-size:2.3105263158rem;margin-bottom:0.3664373684rem;padding-top:0.6335626316rem}}.typeset h3,.typeset .gamma{line-height:3rem;font-size:1.8666666667rem;margin-bottom:0.19999rem;padding-top:0.80001rem}@media screen and (min-width: 40em){.typeset h3,.typeset .gamma{font-size:1.7142857143rem;margin-bottom:0.1428471429rem;padding-top:0.8571528571rem}}@media screen and (min-width: 50em){.typeset h3,.typeset .gamma{font-size:1.7066666667rem;margin-bottom:0.13999rem;padding-top:0.86001rem}}@media screen and (min-width: 64em){.typeset h3,.typeset .gamma{font-size:1.7647058824rem;margin-bottom:0.1617547059rem;padding-top:0.8382452941rem}}@media screen and (min-width: 100em){.typeset h3,.typeset .gamma{font-size:1.8578947368rem;margin-bottom:0.1967005263rem;padding-top:0.8032994737rem}}.typeset h4,.typeset .delta{line-height:2rem;font-size:1.6666666667rem;margin-bottom:-0.37501rem;padding-top:0.37501rem}@media screen and (min-width: 40em){.typeset h4,.typeset .delta{font-size:1.5214285714rem;margin-bottom:-0.4294742857rem;padding-top:0.4294742857rem}}@media screen and (min-width: 50em){.typeset h4,.typeset .delta{font-size:1.5rem;margin-bottom:-0.43751rem;padding-top:0.43751rem}}@media screen and (min-width: 64em){.typeset h4,.typeset .delta{font-size:1.5705882353rem;margin-bottom:-0.4110394118rem;padding-top:0.4110394118rem}}@media screen and (min-width: 100em){.typeset h4,.typeset .delta{font-size:1.6368421053rem;margin-bottom:-0.3861942105rem;padding-top:0.3861942105rem}}.typeset h5,.typeset .epsilon{line-height:2rem;font-size:1.4916666667rem;margin-bottom:-0.440635rem;padding-top:0.440635rem}@media screen and (min-width: 40em){.typeset h5,.typeset .epsilon{font-size:1.3714285714rem;margin-bottom:-0.4857242857rem;padding-top:0.4857242857rem}}@media screen and (min-width: 50em){.typeset h5,.typeset .epsilon{font-size:1.3666666667rem;margin-bottom:-0.48751rem;padding-top:0.48751rem}}@media screen and (min-width: 64em){.typeset h5,.typeset .epsilon{font-size:1.3235294118rem;margin-bottom:-0.5036864706rem;padding-top:0.5036864706rem}}@media screen and (min-width: 100em){.typeset h5,.typeset .epsilon{font-size:1.3157894737rem;margin-bottom:-0.5065889474rem;padding-top:0.5065889474rem}}.typeset h6,.typeset .zeta{line-height:2rem;font-size:1.3333333333rem;margin-bottom:-0.50001rem;padding-top:0.50001rem}@media screen and (min-width: 40em){.typeset h6,.typeset .zeta{font-size:1.2142857143rem;margin-bottom:-0.5446528571rem;padding-top:0.5446528571rem}}@media screen and (min-width: 50em){.typeset h6,.typeset .zeta{font-size:1.2rem;margin-bottom:-0.55001rem;padding-top:0.55001rem}}@media screen and (min-width: 64em){.typeset h6,.typeset .zeta{font-size:1.1764705882rem;margin-bottom:-0.5588335294rem;padding-top:0.5588335294rem}}@media screen and (min-width: 100em){.typeset h6,.typeset .zeta{font-size:1.1578947368rem;margin-bottom:-0.5657994737rem;padding-top:0.5657994737rem}}.typeset ul,.typeset ol{line-height:2rem;margin-bottom:1.49999rem;padding-top:0.50001rem}@media screen and (min-width: 40em){.typeset ul,.typeset ol{margin-bottom:1.4553471429rem;padding-top:0.5446528571rem}}@media screen and (min-width: 50em){.typeset ul,.typeset ol{margin-bottom:1.44999rem;padding-top:0.55001rem}}@media screen and (min-width: 64em){.typeset ul,.typeset ol{margin-bottom:1.4411664706rem;padding-top:0.5588335294rem}}@media screen and (min-width: 100em){.typeset ul,.typeset ol{margin-bottom:1.4342005263rem;padding-top:0.5657994737rem}}.typeset ul li,.typeset ol li{font-feature-settings:"kern","onum","liga";margin-left:2rem}@media screen and (min-width: 40em){.typeset ul li,.typeset ol li{margin-left:0}}.typeset ul li ol,.typeset ul li ul,.typeset ol li ol,.typeset ol li ul{padding-top:1rem;margin-bottom:1rem;margin-left:2rem}.typeset ol{list-style-type:none}.typeset ol li{counter-increment:top-level}.typeset ol li:before{content:counter(top-level) ".";font-feature-settings:"lnum","tnum";margin-left:-3rem;position:absolute;text-align:right;width:2em}.typeset ol li ul li:before{content:""}.typeset ol li ul li ol li{counter-increment:alt-level}.typeset ol li ul li ol li:before{content:counter(alt-level) "."}.typeset ol li ol li{counter-increment:sub-level}.typeset ol li ol li:before{content:counter(top-level) "." counter(sub-level)}.typeset ol li ol li ul li:before{content:""}.typeset ol li ol li ol li{counter-increment:sub-sub-level}.typeset ol li ol li ol li:before{content:counter(top-level) "." counter(sub-level) "." counter(sub-sub-level)}.typeset dl{line-height:2rem;margin-bottom:1.49999rem;padding-top:0.50001rem}@media screen and (min-width: 40em){.typeset dl{margin-bottom:1.4553471429rem;padding-top:0.5446528571rem}}@media screen and (min-width: 50em){.typeset dl{margin-bottom:1.44999rem;padding-top:0.55001rem}}@media screen and (min-width: 64em){.typeset dl{margin-bottom:1.4411664706rem;padding-top:0.5588335294rem}}@media screen and (min-width: 100em){.typeset dl{margin-bottom:1.4342005263rem;padding-top:0.5657994737rem}}.typeset dl dt,.typeset dl dd{font-feature-settings:"kern","onum","liga";margin-left:2rem}@media screen and (min-width: 40em){.typeset dl dt,.typeset dl dd{margin-left:0}}.typeset dl dt{font-weight:700}.typeset dl dd+dt{padding-top:1rem}.typeset table{line-height:2rem;font-size:1.1916666667rem;margin-bottom:-0.553135rem;padding-top:0.553135rem;font-family:"Merriweather", serif;font-feature-settings:"liga","lnum","tnum","kern";font-style:normal;font-weight:400;width:100%}@media screen and (min-width: 40em){.typeset table{font-size:1.0928571429rem;margin-bottom:-0.5901885714rem;padding-top:0.5901885714rem}}@media screen and (min-width: 50em){.typeset table{font-size:1.0866666667rem;margin-bottom:-0.59251rem;padding-top:0.59251rem}}@media screen and (min-width: 64em){.typeset table{font-size:0.9941176471rem;margin-bottom:-0.6272158824rem;padding-top:0.6272158824rem}}@media screen and (min-width: 100em){.typeset table{font-size:0.9263157895rem;margin-bottom:-0.6526415789rem;padding-top:0.6526415789rem}}.typeset table thead th{line-height:2rem;font-size:1.3333333333rem;margin-bottom:-0.50001rem;padding-top:0.50001rem;padding-bottom:1px}@media screen and (min-width: 40em){.typeset table thead th{font-size:1.2142857143rem;margin-bottom:-0.5446528571rem;padding-top:0.5446528571rem}}@media screen and (min-width: 50em){.typeset table thead th{font-size:1.2rem;margin-bottom:-0.55001rem;padding-top:0.55001rem}}@media screen and (min-width: 64em){.typeset table thead th{font-size:1.1764705882rem;margin-bottom:-0.5588335294rem;padding-top:0.5588335294rem}}@media screen and (min-width: 100em){.typeset table thead th{font-size:1.1578947368rem;margin-bottom:-0.5657994737rem;padding-top:0.5657994737rem}}.typeset b,.typeset strong,.typeset .bold{font-weight:700}.typeset em,.typeset i,.typeset .italic{font-style:italic}.typeset small,.typeset .caption{font-size:1.0666666667rem;font-family:"Merriweather", serif;font-style:normal;font-weight:400}@media screen and (min-width: 40em){.typeset small,.typeset .caption{font-size:0.9714285714rem}}@media screen and (min-width: 50em){.typeset small,.typeset .caption{font-size:0.96rem}}@media screen and (min-width: 64em){.typeset small,.typeset .caption{font-size:0.8823529412rem}}@media screen and (min-width: 100em){.typeset small,.typeset .caption{font-size:0.8210526316rem}}.typeset small{line-height:1rem}.typeset .caption{line-height:2rem;margin-bottom:1.39999rem;padding-top:0.60001rem;color:#a8adac}@media screen and (min-width: 40em){.typeset .caption{margin-bottom:1.3642757143rem;padding-top:0.6357242857rem}}@media screen and (min-width: 50em){.typeset .caption{margin-bottom:1.35999rem;padding-top:0.64001rem}}@media screen and (min-width: 64em){.typeset .caption{margin-bottom:1.3308723529rem;padding-top:0.6691276471rem}}@media screen and (min-width: 100em){.typeset .caption{margin-bottom:1.3078847368rem;padding-top:0.6921152632rem}}.typeset h1+.caption,.typeset .alpha+.caption,.typeset h2+.caption,.typeset .beta+.caption,.typeset h3+.caption,.typeset .gamma+.caption{margin-top:-1rem}.typeset .delta+.caption,.typeset .epsilon+.caption,.typeset .zeta+.caption{margin-top:0rem}.typeset blockquote p{border-left:.15rem solid #05bf85;font-style:italic;padding-left:1rem;margin-bottom:1.99999rem;padding-bottom:0.50001rem}@media screen and (min-width: 40em){.typeset blockquote p{margin-bottom:1.9107042857rem;padding-bottom:0.5446528571rem}}@media screen and (min-width: 50em){.typeset blockquote p{margin-bottom:1.89999rem;padding-bottom:0.55001rem}}@media screen and (min-width: 64em){.typeset blockquote p{margin-bottom:1.8823429412rem;padding-bottom:0.5588335294rem}}@media screen and (min-width: 100em){.typeset blockquote p{margin-bottom:1.8684110526rem;padding-bottom:0.5657994737rem}}@media screen and (min-width: 40em){.typeset blockquote{margin-left:-1rem}}.typeset hr{background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, #a8adac 50%);background-position:0 50%;background-repeat:repeat-x;background-size:100% .15rem;border:0;margin:0;padding-bottom:3rem;padding-top:3rem}.typeset code,.typeset pre{background-color:#fafafa;font-family:Menlo, monospace}.typeset pre{display:block;margin-bottom:2rem;padding:1rem;white-space:pre;white-space:pre-wrap;word-break:break-all;word-wrap:break-word}.typeset code{font-size:1.0666666667rem;line-height:1rem}@media screen and (min-width: 40em){.typeset code{font-size:0.9714285714rem}}@media screen and (min-width: 50em){.typeset code{font-size:0.96rem}}@media screen and (min-width: 64em){.typeset code{font-size:0.8823529412rem}}@media screen and (min-width: 100em){.typeset code{font-size:0.8210526316rem}}.typeset .upper{font-kerning:normal;letter-spacing:.1rem;text-transform:uppercase}.typeset .small-caps{font-feature-settings:"smcp","kern";font-kerning:normal;letter-spacing:.1rem}.typeset .lining-numerals{font-feature-settings:"lnum","kern"}.typeset .oldstyle-numerals{font-feature-settings:"onum","kern"}.hll{background-color:#ffc}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{color:#000;font-weight:bold}.o{color:#000;font-weight:bold}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:bold;font-style:italic}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:bold;font-style:italic}.gd{color:#000;background-color:#fdd}.ge{color:#000;font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:#aaa}.gt{color:#a00}.kc{color:#000;font-weight:bold}.kd{color:#000;font-weight:bold}.kn{color:#000;font-weight:bold}.kp{color:#000;font-weight:bold}.kr{color:#000;font-weight:bold}.kt{color:#458;font-weight:bold}.m{color:#099}.s{color:#d01040}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:bold}.no{color:teal}.nd{color:#3c5d5d;font-weight:bold}.ni{color:purple}.ne{color:#900;font-weight:bold}.nf{color:#900;font-weight:bold}.nl{color:#900;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{color:#000;font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d01040}.sc{color:#d01040}.sd{color:#d01040}.s2{color:#d01040}.se{color:#d01040}.sh{color:#d01040}.si{color:#d01040}.sx{color:#d01040}.sr{color:#009926}.s1{color:#d01040}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}body{background:#fff;color:#384743;height:100%;display:flex;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow-x:hidden}.container{width:90%;max-width:1200px;margin:0 auto}.header .nav,.footer .nav{text-align:right}.header .logo,.footer .logo{-webkit-box-flex:0;-webkit-flex:0 0 auto;-moz-box-flex:0;-moz-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.header .container,.footer .container{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;-moz-justify-content:space-between;justify-content:space-between;padding:1rem 0}@media screen and (min-width: 40em){.header .container,.footer .container{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center}}.header .nav{display:flex;flex-direction:column-reverse;align-items:flex-end;justify-content:flex-end;overflow:hidden}.feature{padding-bottom:.4rem;margin-bottom:1.6rem;text-align:center;background:#f9fafa;background-size:cover;background-position:center}.feature .container{min-height:35vh;max-width:60%;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center}.logo{display:inline-block;line-height:0;max-height:4rem;display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center}.logo img{max-height:5rem}.nav a{padding:.2rem}.nav--social a{display:inline-block;line-height:1}.small{padding-top:.8rem;color:#a8adac;display:inline-block}.footer{background:#242e2b;color:#a8adac}.footer a{color:#a8adac}.footer a:hover{color:#fff}.footer .container{-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.footer .small{padding-top:0}.nav--paginator{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;-moz-justify-content:space-between;justify-content:space-between;color:#a8adac;text-align:center}.pagination{min-width:20%}.main{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex:1 0 auto;-moz-box-flex:1;-moz-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;-moz-justify-content:flex-start;justify-content:flex-start;margin-bottom:1.6rem}@media screen and (min-width: 40em){.main{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}.header,.feature,.footer{-webkit-box-flex:0;-webkit-flex:0 0 auto;-moz-box-flex:0;-moz-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}@media screen and (min-width: 40em){.content{width:62%}}.share .button{margin-right:.3rem}@media screen and (min-width: 40em){.aside{max-width:34%;margin-left:4%;-webkit-box-flex:1;-webkit-flex:1 0 auto;-moz-box-flex:1;-moz-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;opacity:.5;transition:opacity .1s}.aside .section{position:sticky;top:0}.aside--left{margin-left:0;margin-right:4%;order:-1}.aside:hover{opacity:1}}.section{margin:0}.list{list-style:none}.list--nav{overflow:hidden;margin-bottom:var(--listHeight, 0)}.list .item--post,.list .item--result,.list .item--category{margin-left:0}@media screen and (min-width: 40em){.item--nav{margin-left:.4rem;display:inline-block}}.item--nav:first-of-type{margin-left:0}.item--current a{color:#a8adac}a .icon{transition:fill .1s}a .icon:hover{fill:currentColor}.icon{vertical-align:middle;width:1.1em;height:1.1em;fill:CurrentColor}img{max-width:100%;height:auto}.figure{line-height:0}.figure--left{float:left;padding-right:.8rem}.figure--right{float:right;text-align:right;padding-left:.8rem}.figure--center{text-align:center;clear:both}.video,.map{position:relative;padding-bottom:56.25%;height:0}.video iframe,.map iframe{position:absolute;top:0;left:0;width:100%;height:100%}.map{padding-bottom:70%}.figure,.video,.map,.form{margin-bottom:.8rem}audio,video{width:100%}.form{position:relative}.form__legend{font-style:italic;color:#a8adac;position:absolute;overflow:hidden;right:0;clip:rect(0 0 0 0)}button,.button,input[type=text],input[type=email],input[type=search],input[type=submit],input[type=color],textarea,select{padding:.6rem 1.2rem;margin-bottom:.6rem;transition:color .1s,background-color .1s,border .1s;line-height:inherit;border:none;box-shadow:none;border-radius:0;-webkit-appearance:none}button .icon,.button .icon,input[type=text] .icon,input[type=email] .icon,input[type=search] .icon,input[type=submit] .icon,input[type=color] .icon,textarea .icon,select .icon{margin:0 0 .35rem}input[type=submit],button,.button{cursor:pointer;display:inline-block;color:#fff;background:#05bf85;transition:box-shadow .1s;will-change:box-shadow;box-shadow:inset 0 0 0 2rem rgba(0,0,0,0)}input[type=submit]:hover,button:hover,.button:hover{box-shadow:inset 0 0 0 2rem rgba(0,0,0,.25)}input[type=submit]:active,input[type=submit]:focus,button:active,button:focus,.button:active,.button:focus{box-shadow:inset 0 0 0 2rem rgba(0,0,0,.25)}.button--nav{background:none;color:#05bf85;margin-bottom:0;min-height:4rem;min-width:4rem}@media screen and (min-width: 40em){.button--nav{display:none}}.button--nav:hover,.button--nav:focus{box-shadow:none;color:green}a:focus,a:hover:focus,button:focus,button:hover:focus,.button:focus,.button:hover:focus,input:focus,input:hover:focus,textarea:focus,textarea:hover:focus,select:focus,select:hover:focus{outline:solid .12rem #fa407a;outline-offset:-0.12rem}a:hover:focus{outline:none}input[type=text],input[type=email],input[type=search],input[type=color],textarea,select{width:100%;border:1px solid #a8adac}input[type=text]:hover,input[type=email]:hover,input[type=search]:hover,input[type=color]:hover,textarea:hover,select:hover{border-color:#384743}select{background:#fafafa}textarea{resize:vertical}label{line-height:2rem;margin-bottom:1.49999rem;padding-top:0.50001rem}@media screen and (min-width: 40em){label{margin-bottom:1.4553471429rem;padding-top:0.5446528571rem}}@media screen and (min-width: 50em){label{margin-bottom:1.44999rem;padding-top:0.55001rem}}@media screen and (min-width: 64em){label{margin-bottom:1.4411664706rem;padding-top:0.5588335294rem}}@media screen and (min-width: 100em){label{margin-bottom:1.4342005263rem;padding-top:0.5657994737rem}}code{padding:.12rem .2rem;color:#242e2b}pre code{padding:0}.required{color:red}::-webkit-input-placeholder{opacity:.5}::-moz-placeholder{opacity:.5}:-ms-input-placeholder{opacity:.5}:-moz-placeholder{opacity:.5}::selection{background:#242e2b;color:#fff;text-shadow:none}.typeset a>code{text-shadow:none}.typeset .button,.typeset button{background-image:none;text-shadow:none;color:#fff}.typeset .button:hover,.typeset .button:active,.typeset .button:focus,.typeset button:hover,.typeset button:active,.typeset button:focus{background-image:none;color:#fff}.typeset hr{width:100%}.typeset li>p{padding:0;margin:0}.typeset .nav a{padding-left:0;padding-right:0;margin-left:.2rem;margin-right:.2rem}.typeset pre{white-space:pre;overflow-x:scroll}/*# sourceMappingURL=styles.css.map */ \ No newline at end of file +/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none}a{background-color:rgba(0,0,0,0);-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}*{box-sizing:border-box}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}html,body{height:100%}a img{border:none}blockquote{quotes:none}blockquote:before,blockquote:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}html{font-size:75%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}@media screen and (min-width: 40em){html{font-size:87.5%}}@media screen and (min-width: 50em){html{font-size:93.75%}}@media screen and (min-width: 64em){html{font-size:106.25%}}@media screen and (min-width: 100em){html{font-size:118.75%}}body{font-size:1.3333333333rem;font-family:Georgia, serif;font-style:normal;font-weight:400;line-height:2rem}@media screen and (min-width: 40em){body{font-size:1.2142857143rem}}@media screen and (min-width: 50em){body{font-size:1.2rem}}@media screen and (min-width: 64em){body{font-size:1.1764705882rem}}@media screen and (min-width: 100em){body{font-size:1.1578947368rem}}a{color:#a6b2af;text-decoration:none;transition:color .1s,background-color .1s}a:hover,a:active,a:focus{color:#384743;text-decoration:none}.typeset p a,.typeset li a{background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, #a6b2af 50%);background-position:0 93%;background-repeat:repeat-x;background-size:100% .15rem;text-shadow:.1rem 0 #2b2a2a,.15rem 0 #2b2a2a,-0.1rem 0 #2b2a2a,-0.15rem 0 #2b2a2a}.typeset p a:hover,.typeset p a:active,.typeset p a:focus,.typeset li a:hover,.typeset li a:active,.typeset li a:focus{background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, #384743 50%)}.typeset p{line-height:2rem;margin-bottom:1.49999rem;padding-top:0.50001rem;font-feature-settings:"kern","onum","liga"}@media screen and (min-width: 40em){.typeset p{margin-bottom:1.4553471429rem;padding-top:0.5446528571rem}}@media screen and (min-width: 50em){.typeset p{margin-bottom:1.44999rem;padding-top:0.55001rem}}@media screen and (min-width: 64em){.typeset p{margin-bottom:1.4411664706rem;padding-top:0.5588335294rem}}@media screen and (min-width: 100em){.typeset p{margin-bottom:1.4342005263rem;padding-top:0.5657994737rem}}.typeset h1,.typeset h2,.typeset h3,.typeset h4,.typeset h5,.typeset h6{color:#9ea5a3;font-family:"Merriweather", serif;font-feature-settings:"dlig","liga","lnum","kern";font-style:normal;font-weight:700}.typeset h1,.typeset .alpha{line-height:3rem;font-size:2.3333333333rem;margin-bottom:0.37499rem;padding-top:0.62501rem}@media screen and (min-width: 40em){.typeset h1,.typeset .alpha{font-size:2.1428571429rem;margin-bottom:0.3035614286rem;padding-top:0.6964385714rem}}@media screen and (min-width: 50em){.typeset h1,.typeset .alpha{font-size:2.1333333333rem;margin-bottom:0.29999rem;padding-top:0.70001rem}}@media screen and (min-width: 64em){.typeset h1,.typeset .alpha{font-size:2.3529411765rem;margin-bottom:0.3823429412rem;padding-top:0.6176570588rem}}@media screen and (min-width: 100em){.typeset h1,.typeset .alpha{font-size:2.6315789474rem;margin-bottom:0.4868321053rem;padding-top:0.5131678947rem}}.typeset h2,.typeset .beta{line-height:3rem;font-size:2.0833333333rem;margin-bottom:0.28124rem;padding-top:0.71876rem}@media screen and (min-width: 40em){.typeset h2,.typeset .beta{font-size:1.9rem;margin-bottom:0.21249rem;padding-top:0.78751rem}}@media screen and (min-width: 50em){.typeset h2,.typeset .beta{font-size:1.8733333333rem;margin-bottom:0.20249rem;padding-top:0.79751rem}}@media screen and (min-width: 64em){.typeset h2,.typeset .beta{font-size:2.0882352941rem;margin-bottom:0.2830782353rem;padding-top:0.7169217647rem}}@media screen and (min-width: 100em){.typeset h2,.typeset .beta{font-size:2.3105263158rem;margin-bottom:0.3664373684rem;padding-top:0.6335626316rem}}.typeset h3,.typeset .gamma{line-height:3rem;font-size:1.8666666667rem;margin-bottom:0.19999rem;padding-top:0.80001rem}@media screen and (min-width: 40em){.typeset h3,.typeset .gamma{font-size:1.7142857143rem;margin-bottom:0.1428471429rem;padding-top:0.8571528571rem}}@media screen and (min-width: 50em){.typeset h3,.typeset .gamma{font-size:1.7066666667rem;margin-bottom:0.13999rem;padding-top:0.86001rem}}@media screen and (min-width: 64em){.typeset h3,.typeset .gamma{font-size:1.7647058824rem;margin-bottom:0.1617547059rem;padding-top:0.8382452941rem}}@media screen and (min-width: 100em){.typeset h3,.typeset .gamma{font-size:1.8578947368rem;margin-bottom:0.1967005263rem;padding-top:0.8032994737rem}}.typeset h4,.typeset .delta{line-height:2rem;font-size:1.6666666667rem;margin-bottom:-0.37501rem;padding-top:0.37501rem}@media screen and (min-width: 40em){.typeset h4,.typeset .delta{font-size:1.5214285714rem;margin-bottom:-0.4294742857rem;padding-top:0.4294742857rem}}@media screen and (min-width: 50em){.typeset h4,.typeset .delta{font-size:1.5rem;margin-bottom:-0.43751rem;padding-top:0.43751rem}}@media screen and (min-width: 64em){.typeset h4,.typeset .delta{font-size:1.5705882353rem;margin-bottom:-0.4110394118rem;padding-top:0.4110394118rem}}@media screen and (min-width: 100em){.typeset h4,.typeset .delta{font-size:1.6368421053rem;margin-bottom:-0.3861942105rem;padding-top:0.3861942105rem}}.typeset h5,.typeset .epsilon{line-height:2rem;font-size:1.4916666667rem;margin-bottom:-0.440635rem;padding-top:0.440635rem}@media screen and (min-width: 40em){.typeset h5,.typeset .epsilon{font-size:1.3714285714rem;margin-bottom:-0.4857242857rem;padding-top:0.4857242857rem}}@media screen and (min-width: 50em){.typeset h5,.typeset .epsilon{font-size:1.3666666667rem;margin-bottom:-0.48751rem;padding-top:0.48751rem}}@media screen and (min-width: 64em){.typeset h5,.typeset .epsilon{font-size:1.3235294118rem;margin-bottom:-0.5036864706rem;padding-top:0.5036864706rem}}@media screen and (min-width: 100em){.typeset h5,.typeset .epsilon{font-size:1.3157894737rem;margin-bottom:-0.5065889474rem;padding-top:0.5065889474rem}}.typeset h6,.typeset .zeta{line-height:2rem;font-size:1.3333333333rem;margin-bottom:-0.50001rem;padding-top:0.50001rem}@media screen and (min-width: 40em){.typeset h6,.typeset .zeta{font-size:1.2142857143rem;margin-bottom:-0.5446528571rem;padding-top:0.5446528571rem}}@media screen and (min-width: 50em){.typeset h6,.typeset .zeta{font-size:1.2rem;margin-bottom:-0.55001rem;padding-top:0.55001rem}}@media screen and (min-width: 64em){.typeset h6,.typeset .zeta{font-size:1.1764705882rem;margin-bottom:-0.5588335294rem;padding-top:0.5588335294rem}}@media screen and (min-width: 100em){.typeset h6,.typeset .zeta{font-size:1.1578947368rem;margin-bottom:-0.5657994737rem;padding-top:0.5657994737rem}}.typeset ul,.typeset ol{line-height:2rem;margin-bottom:1.49999rem;padding-top:0.50001rem}@media screen and (min-width: 40em){.typeset ul,.typeset ol{margin-bottom:1.4553471429rem;padding-top:0.5446528571rem}}@media screen and (min-width: 50em){.typeset ul,.typeset ol{margin-bottom:1.44999rem;padding-top:0.55001rem}}@media screen and (min-width: 64em){.typeset ul,.typeset ol{margin-bottom:1.4411664706rem;padding-top:0.5588335294rem}}@media screen and (min-width: 100em){.typeset ul,.typeset ol{margin-bottom:1.4342005263rem;padding-top:0.5657994737rem}}.typeset ul li,.typeset ol li{font-feature-settings:"kern","onum","liga";margin-left:2rem}@media screen and (min-width: 40em){.typeset ul li,.typeset ol li{margin-left:0}}.typeset ul li ol,.typeset ul li ul,.typeset ol li ol,.typeset ol li ul{padding-top:1rem;margin-bottom:1rem;margin-left:2rem}.typeset ol{list-style-type:none}.typeset ol li{counter-increment:top-level}.typeset ol li:before{content:counter(top-level) ".";font-feature-settings:"lnum","tnum";margin-left:-3rem;position:absolute;text-align:right;width:2em}.typeset ol li ul li:before{content:""}.typeset ol li ul li ol li{counter-increment:alt-level}.typeset ol li ul li ol li:before{content:counter(alt-level) "."}.typeset ol li ol li{counter-increment:sub-level}.typeset ol li ol li:before{content:counter(top-level) "." counter(sub-level)}.typeset ol li ol li ul li:before{content:""}.typeset ol li ol li ol li{counter-increment:sub-sub-level}.typeset ol li ol li ol li:before{content:counter(top-level) "." counter(sub-level) "." counter(sub-sub-level)}.typeset dl{line-height:2rem;margin-bottom:1.49999rem;padding-top:0.50001rem}@media screen and (min-width: 40em){.typeset dl{margin-bottom:1.4553471429rem;padding-top:0.5446528571rem}}@media screen and (min-width: 50em){.typeset dl{margin-bottom:1.44999rem;padding-top:0.55001rem}}@media screen and (min-width: 64em){.typeset dl{margin-bottom:1.4411664706rem;padding-top:0.5588335294rem}}@media screen and (min-width: 100em){.typeset dl{margin-bottom:1.4342005263rem;padding-top:0.5657994737rem}}.typeset dl dt,.typeset dl dd{font-feature-settings:"kern","onum","liga";margin-left:2rem}@media screen and (min-width: 40em){.typeset dl dt,.typeset dl dd{margin-left:0}}.typeset dl dt{font-weight:700}.typeset dl dd+dt{padding-top:1rem}.typeset table{line-height:2rem;font-size:1.1916666667rem;margin-bottom:-0.553135rem;padding-top:0.553135rem;font-family:"Merriweather", serif;font-feature-settings:"liga","lnum","tnum","kern";font-style:normal;font-weight:400;width:100%}@media screen and (min-width: 40em){.typeset table{font-size:1.0928571429rem;margin-bottom:-0.5901885714rem;padding-top:0.5901885714rem}}@media screen and (min-width: 50em){.typeset table{font-size:1.0866666667rem;margin-bottom:-0.59251rem;padding-top:0.59251rem}}@media screen and (min-width: 64em){.typeset table{font-size:0.9941176471rem;margin-bottom:-0.6272158824rem;padding-top:0.6272158824rem}}@media screen and (min-width: 100em){.typeset table{font-size:0.9263157895rem;margin-bottom:-0.6526415789rem;padding-top:0.6526415789rem}}.typeset table thead th{line-height:2rem;font-size:1.3333333333rem;margin-bottom:-0.50001rem;padding-top:0.50001rem;padding-bottom:1px}@media screen and (min-width: 40em){.typeset table thead th{font-size:1.2142857143rem;margin-bottom:-0.5446528571rem;padding-top:0.5446528571rem}}@media screen and (min-width: 50em){.typeset table thead th{font-size:1.2rem;margin-bottom:-0.55001rem;padding-top:0.55001rem}}@media screen and (min-width: 64em){.typeset table thead th{font-size:1.1764705882rem;margin-bottom:-0.5588335294rem;padding-top:0.5588335294rem}}@media screen and (min-width: 100em){.typeset table thead th{font-size:1.1578947368rem;margin-bottom:-0.5657994737rem;padding-top:0.5657994737rem}}.typeset b,.typeset strong,.typeset .bold{font-weight:700}.typeset em,.typeset i,.typeset .italic{font-style:italic}.typeset small,.typeset .caption{font-size:1.0666666667rem;font-family:"Merriweather", serif;font-style:normal;font-weight:400}@media screen and (min-width: 40em){.typeset small,.typeset .caption{font-size:0.9714285714rem}}@media screen and (min-width: 50em){.typeset small,.typeset .caption{font-size:0.96rem}}@media screen and (min-width: 64em){.typeset small,.typeset .caption{font-size:0.8823529412rem}}@media screen and (min-width: 100em){.typeset small,.typeset .caption{font-size:0.8210526316rem}}.typeset small{line-height:1rem}.typeset .caption{line-height:2rem;margin-bottom:1.39999rem;padding-top:0.60001rem;color:#a8adac}@media screen and (min-width: 40em){.typeset .caption{margin-bottom:1.3642757143rem;padding-top:0.6357242857rem}}@media screen and (min-width: 50em){.typeset .caption{margin-bottom:1.35999rem;padding-top:0.64001rem}}@media screen and (min-width: 64em){.typeset .caption{margin-bottom:1.3308723529rem;padding-top:0.6691276471rem}}@media screen and (min-width: 100em){.typeset .caption{margin-bottom:1.3078847368rem;padding-top:0.6921152632rem}}.typeset h1+.caption,.typeset .alpha+.caption,.typeset h2+.caption,.typeset .beta+.caption,.typeset h3+.caption,.typeset .gamma+.caption{margin-top:-1rem}.typeset .delta+.caption,.typeset .epsilon+.caption,.typeset .zeta+.caption{margin-top:0rem}.typeset blockquote p{border-left:.15rem solid #a6b2af;font-style:italic;padding-left:1rem;margin-bottom:1.99999rem;padding-bottom:0.50001rem}@media screen and (min-width: 40em){.typeset blockquote p{margin-bottom:1.9107042857rem;padding-bottom:0.5446528571rem}}@media screen and (min-width: 50em){.typeset blockquote p{margin-bottom:1.89999rem;padding-bottom:0.55001rem}}@media screen and (min-width: 64em){.typeset blockquote p{margin-bottom:1.8823429412rem;padding-bottom:0.5588335294rem}}@media screen and (min-width: 100em){.typeset blockquote p{margin-bottom:1.8684110526rem;padding-bottom:0.5657994737rem}}@media screen and (min-width: 40em){.typeset blockquote{margin-left:-1rem}}.typeset hr{background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, #a8adac 50%);background-position:0 50%;background-repeat:repeat-x;background-size:100% .15rem;border:0;margin:0;padding-bottom:3rem;padding-top:3rem}.typeset code,.typeset pre{background-color:#fafafa;font-family:Menlo, monospace}.typeset pre{display:block;margin-bottom:2rem;padding:1rem;white-space:pre;white-space:pre-wrap;word-break:break-all;word-wrap:break-word}.typeset code{font-size:1.0666666667rem;line-height:1rem}@media screen and (min-width: 40em){.typeset code{font-size:0.9714285714rem}}@media screen and (min-width: 50em){.typeset code{font-size:0.96rem}}@media screen and (min-width: 64em){.typeset code{font-size:0.8823529412rem}}@media screen and (min-width: 100em){.typeset code{font-size:0.8210526316rem}}.typeset .upper{font-kerning:normal;letter-spacing:.1rem;text-transform:uppercase}.typeset .small-caps{font-feature-settings:"smcp","kern";font-kerning:normal;letter-spacing:.1rem}.typeset .lining-numerals{font-feature-settings:"lnum","kern"}.typeset .oldstyle-numerals{font-feature-settings:"onum","kern"}.hll{background-color:#ffc}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{color:#000;font-weight:bold}.o{color:#000;font-weight:bold}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:bold;font-style:italic}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:bold;font-style:italic}.gd{color:#000;background-color:#fdd}.ge{color:#000;font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:#aaa}.gt{color:#a00}.kc{color:#000;font-weight:bold}.kd{color:#000;font-weight:bold}.kn{color:#000;font-weight:bold}.kp{color:#000;font-weight:bold}.kr{color:#000;font-weight:bold}.kt{color:#458;font-weight:bold}.m{color:#099}.s{color:#d01040}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:bold}.no{color:teal}.nd{color:#3c5d5d;font-weight:bold}.ni{color:purple}.ne{color:#900;font-weight:bold}.nf{color:#900;font-weight:bold}.nl{color:#900;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{color:#000;font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d01040}.sc{color:#d01040}.sd{color:#d01040}.s2{color:#d01040}.se{color:#d01040}.sh{color:#d01040}.si{color:#d01040}.sx{color:#d01040}.sr{color:#009926}.s1{color:#d01040}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}body{background:#2b2a2a;color:#fff;height:100%;display:flex;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow-x:hidden}.container{width:90%;max-width:1200px;margin:0 auto}.header .nav,.footer .nav{text-align:right}.header .logo,.footer .logo{-webkit-box-flex:0;-webkit-flex:0 0 auto;-moz-box-flex:0;-moz-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.header .container,.footer .container{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;-moz-justify-content:space-between;justify-content:space-between;padding:1rem 0}@media screen and (min-width: 40em){.header .container,.footer .container{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center}}.header .nav{display:flex;flex-direction:column-reverse;align-items:flex-end;justify-content:flex-end;overflow:hidden}.feature{padding-bottom:.4rem;margin-bottom:1.6rem;text-align:center;background:#f9fafa;background-size:cover;background-position:center}.feature .container{min-height:35vh;max-width:60%;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center}.logo{display:inline-block;line-height:0;max-height:4rem;display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center}.logo img{max-height:5rem}.nav a{padding:.2rem}.nav--social a{display:inline-block;line-height:1}.small{padding-top:.8rem;color:#a8adac;display:inline-block}.footer{background:#9ea5a3;color:#a8adac}.footer a{color:#a8adac}.footer a:hover{color:#2b2a2a}.footer .container{-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.footer .small{padding-top:0}.nav--paginator{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;-moz-justify-content:space-between;justify-content:space-between;color:#a8adac;text-align:center}.pagination{min-width:20%}.main{display:-webkit-box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-flex-direction:column;-moz-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex:1 0 auto;-moz-box-flex:1;-moz-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;-webkit-box-pack:start;-ms-flex-pack:start;-webkit-justify-content:flex-start;-moz-justify-content:flex-start;justify-content:flex-start;margin-bottom:1.6rem}@media screen and (min-width: 40em){.main{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;-moz-justify-content:center;justify-content:center;-webkit-box-direction:normal;-webkit-box-orient:horizontal;-webkit-flex-direction:row;-moz-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}.header,.feature,.footer{-webkit-box-flex:0;-webkit-flex:0 0 auto;-moz-box-flex:0;-moz-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}@media screen and (min-width: 40em){.content{width:62%}}.share .button{margin-right:.3rem}@media screen and (min-width: 40em){.aside{max-width:34%;margin-left:4%;-webkit-box-flex:1;-webkit-flex:1 0 auto;-moz-box-flex:1;-moz-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;opacity:.5;transition:opacity .1s}.aside .section{position:sticky;top:0}.aside--left{margin-left:0;margin-right:4%;order:-1}.aside:hover{opacity:1}}.section{margin:0}.list{list-style:none}.list--nav{overflow:hidden;margin-bottom:var(--listHeight, 0)}.list .item--post,.list .item--result,.list .item--category{margin-left:0}@media screen and (min-width: 40em){.item--nav{margin-left:.4rem;display:inline-block}}.item--nav:first-of-type{margin-left:0}.item--current a{color:#a8adac}a .icon{transition:fill .1s}a .icon:hover{fill:currentColor}.icon{vertical-align:middle;width:1.1em;height:1.1em;fill:CurrentColor}img{max-width:100%;height:auto}.figure{line-height:0}.figure--left{float:left;padding-right:.8rem}.figure--right{float:right;text-align:right;padding-left:.8rem}.figure--center{text-align:center;clear:both}.video,.map{position:relative;padding-bottom:56.25%;height:0}.video iframe,.map iframe{position:absolute;top:0;left:0;width:100%;height:100%}.map{padding-bottom:70%}.figure,.video,.map,.form{margin-bottom:.8rem}audio,video{width:100%}.form{position:relative}.form__legend{font-style:italic;color:#a8adac;position:absolute;overflow:hidden;right:0;clip:rect(0 0 0 0)}button,.button,input[type=text],input[type=email],input[type=search],input[type=submit],input[type=color],textarea,select{padding:.6rem 1.2rem;margin-bottom:.6rem;transition:color .1s,background-color .1s,border .1s;line-height:inherit;border:none;box-shadow:none;border-radius:0;-webkit-appearance:none}button .icon,.button .icon,input[type=text] .icon,input[type=email] .icon,input[type=search] .icon,input[type=submit] .icon,input[type=color] .icon,textarea .icon,select .icon{margin:0 0 .35rem}input[type=submit],button,.button{cursor:pointer;display:inline-block;color:#2b2a2a;background:#05bf85;transition:box-shadow .1s;will-change:box-shadow;box-shadow:inset 0 0 0 2rem rgba(0,0,0,0)}input[type=submit]:hover,button:hover,.button:hover{box-shadow:inset 0 0 0 2rem rgba(0,0,0,.25)}input[type=submit]:active,input[type=submit]:focus,button:active,button:focus,.button:active,.button:focus{box-shadow:inset 0 0 0 2rem rgba(0,0,0,.25)}.button--nav{background:none;color:#a6b2af;margin-bottom:0;min-height:4rem;min-width:4rem}@media screen and (min-width: 40em){.button--nav{display:none}}.button--nav:hover,.button--nav:focus{box-shadow:none;color:#384743}a:focus,a:hover:focus,button:focus,button:hover:focus,.button:focus,.button:hover:focus,input:focus,input:hover:focus,textarea:focus,textarea:hover:focus,select:focus,select:hover:focus{outline:solid .12rem #fa407a;outline-offset:-0.12rem}a:hover:focus{outline:none}input[type=text],input[type=email],input[type=search],input[type=color],textarea,select{width:100%;border:1px solid #a8adac}input[type=text]:hover,input[type=email]:hover,input[type=search]:hover,input[type=color]:hover,textarea:hover,select:hover{border-color:#fff}select{background:#fafafa}textarea{resize:vertical}label{line-height:2rem;margin-bottom:1.49999rem;padding-top:0.50001rem}@media screen and (min-width: 40em){label{margin-bottom:1.4553471429rem;padding-top:0.5446528571rem}}@media screen and (min-width: 50em){label{margin-bottom:1.44999rem;padding-top:0.55001rem}}@media screen and (min-width: 64em){label{margin-bottom:1.4411664706rem;padding-top:0.5588335294rem}}@media screen and (min-width: 100em){label{margin-bottom:1.4342005263rem;padding-top:0.5657994737rem}}code{padding:.12rem .2rem;color:#9ea5a3}pre code{padding:0}.required{color:red}::-webkit-input-placeholder{opacity:.5}::-moz-placeholder{opacity:.5}:-ms-input-placeholder{opacity:.5}:-moz-placeholder{opacity:.5}::selection{background:#9ea5a3;color:#2b2a2a;text-shadow:none}.typeset a>code{text-shadow:none}.typeset .button,.typeset button{background-image:none;text-shadow:none;color:#2b2a2a}.typeset .button:hover,.typeset .button:active,.typeset .button:focus,.typeset button:hover,.typeset button:active,.typeset button:focus{background-image:none;color:#2b2a2a}.typeset hr{width:100%}.typeset li>p{padding:0;margin:0}.typeset .nav a{padding-left:0;padding-right:0;margin-left:.2rem;margin-right:.2rem}.typeset pre{white-space:pre;overflow-x:scroll}/*# sourceMappingURL=styles.css.map */ \ No newline at end of file diff --git a/_site/assets/styles.css.map b/_site/assets/styles.css.map index 8aa71cf..7ecb531 100644 --- a/_site/assets/styles.css.map +++ b/_site/assets/styles.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../_sass/_normalize.scss","../_sass/sassline-base/_reset.scss","../_sass/sassline-base/_typography.scss","../_sass/sassline-base/_mixins.scss","../_sass/_settings.scss","../_sass/_syntax.scss","../_sass/_theme.scss","../_sass/_flex.scss"],"names":[],"mappings":"AAAA,4EAOA,KACE,uBACA,0BACA,8BAOF,KACE,SAYF,oFAYE,cAOF,4BAIE,qBAOF,sBACE,aACA,SAOF,SACE,wBAQF,kBAEE,aAWF,EACE,+BACA,qCAQF,iBAEE,gBAWF,YACE,mBACA,0BACA,iCAOF,SAEE,oBAOF,SAEE,mBAOF,IACE,kBAQF,GACE,cACA,eAOF,KACE,sBACA,WAOF,MACE,cAQF,QAEE,cACA,cACA,kBACA,wBAGF,IACE,eAGF,IACE,WAUF,IACE,kBAOF,eACE,gBAWF,kBAIE,gCACA,cAOF,OACE,gBAQF,GACE,uBACA,SACA,iBAWF,6BAIE,aACA,SAOF,SACE,iBAQF,aAEE,iBAQF,cAEE,oBASF,qDAIE,0BAOF,wHAIE,kBACA,UAOF,4GAIE,8BAOF,SACE,wBACA,aACA,2BAUF,OACE,sBACA,cACA,cACA,eACA,UACA,mBAOF,SACE,cAQF,6BAEE,sBACA,UAOF,kFAEE,YAQF,cACE,6BACA,oBAOF,qFAEE,wBAOF,4BACE,cACA,YAQF,6BACE,0BACA,aC7ZF,wBACA,2eACA,4FACA,sBACA,kBACA,uBACA,2DACA,gDACA,uECRA,KC2CE,cDxCA,8BACA,0BC2CE,oCD/CJ,KCgDM,iBADF,oCD/CJ,KCgDM,kBADF,oCD/CJ,KCgDM,mBADF,qCD/CJ,KCgDM,mBDxCN,KCwLM,0BDrLJ,2BACA,kBACA,gBACA,iBCyLM,oCD/LR,KCgMU,2BADF,oCD/LR,KCgMU,kBADF,oCD/LR,KCgMU,2BADF,qCD/LR,KCgMU,2BDtLV,EACE,MEdW,QFeX,qBACA,0CAEA,yBACE,MElBU,MFmBV,qBAQF,2BACE,+EACA,0BACA,2BACA,4BACA,sEAKA,uHACE,+EAKJ,WCoLE,iBAgEE,yBACA,uBDlPF,2CC6PI,oCDhQN,WCiQQ,8BACA,6BAFF,oCDhQN,WCiQQ,yBACA,wBAFF,oCDhQN,WCiQQ,8BACA,6BAFF,qCDhQN,WCiQQ,8BACA,6BD3PR,wEACE,MEtDY,QFuDZ,kCACA,kDACA,kBACA,gBAIF,4BCsQA,iBAqDI,0BACA,yBACA,uBAQE,oCDrUN,4BCsUQ,0BACA,8BACA,6BAHF,oCDrUN,4BCsUQ,0BACA,yBACA,wBAHF,oCDrUN,4BCsUQ,0BACA,8BACA,6BAHF,qCDrUN,4BCsUQ,0BACA,8BACA,6BDnUR,2BCiQA,iBAqDI,0BACA,yBACA,uBAQE,oCDhUN,2BCiUQ,iBACA,yBACA,wBAHF,oCDhUN,2BCiUQ,0BACA,yBACA,wBAHF,oCDhUN,2BCiUQ,0BACA,8BACA,6BAHF,qCDhUN,2BCiUQ,0BACA,8BACA,6BD9TR,4BC4PA,iBAqDI,0BACA,yBACA,uBAQE,oCD3TN,4BC4TQ,0BACA,8BACA,6BAHF,oCD3TN,4BC4TQ,0BACA,yBACA,wBAHF,oCD3TN,4BC4TQ,0BACA,8BACA,6BAHF,qCD3TN,4BC4TQ,0BACA,8BACA,6BDzTR,4BCuPA,iBAqDI,0BACA,0BACA,uBAQE,oCDtTN,4BCuTQ,0BACA,+BACA,6BAHF,oCDtTN,4BCuTQ,iBACA,0BACA,wBAHF,oCDtTN,4BCuTQ,0BACA,+BACA,6BAHF,qCDtTN,4BCuTQ,0BACA,+BACA,6BDpTR,8BCkPA,iBAqDI,0BACA,2BACA,wBAQE,oCDjTN,8BCkTQ,0BACA,+BACA,6BAHF,oCDjTN,8BCkTQ,0BACA,0BACA,wBAHF,oCDjTN,8BCkTQ,0BACA,+BACA,6BAHF,qCDjTN,8BCkTQ,0BACA,+BACA,6BD/SR,2BC6OA,iBAqDI,0BACA,0BACA,uBAQE,oCD5SN,2BC6SQ,0BACA,+BACA,6BAHF,oCD5SN,2BC6SQ,iBACA,0BACA,wBAHF,oCD5SN,2BC6SQ,0BACA,+BACA,6BAHF,qCD5SN,2BC6SQ,0BACA,+BACA,6BD1SR,wBCsIE,iBAgEE,yBACA,uBAWE,oCDlNN,wBCmNQ,8BACA,6BAFF,oCDlNN,wBCmNQ,yBACA,wBAFF,oCDlNN,wBCmNQ,8BACA,6BAFF,qCDlNN,wBCmNQ,8BACA,6BDjNN,8BACE,2CACA,iBC9EA,oCD4EF,8BAKI,eAGF,wEACE,iBACA,mBACA,iBAMN,YACE,qBAEA,eACE,4BAEA,sBACE,+BACA,oCACA,kBACA,kBACA,iBACA,UAOE,4BACE,WAKA,2BACE,4BAEA,kCACE,+BASR,qBACE,4BAEA,4BACE,kDAOE,kCACE,WAOJ,2BACE,gCAEA,kCACE,6EAUd,YC2CE,iBAgEE,yBACA,uBAWE,oCDvHN,YCwHQ,8BACA,6BAFF,oCDvHN,YCwHQ,yBACA,wBAFF,oCDvHN,YCwHQ,8BACA,6BAFF,qCDvHN,YCwHQ,8BACA,6BDtHN,8BACE,2CACA,iBCzKA,oCDuKF,8BAKI,eAIJ,eACE,gBAGF,kBACE,iBAKJ,eCuHA,iBAqDI,0BACA,2BACA,wBD3KF,kCACA,kDACA,kBACA,gBACA,WC+KI,oCDtLN,eCuLQ,0BACA,+BACA,6BAHF,oCDtLN,eCuLQ,0BACA,0BACA,wBAHF,oCDtLN,eCuLQ,0BACA,+BACA,6BAHF,qCDtLN,eCuLQ,0BACA,+BACA,6BD9KJ,wBC4GJ,iBAqDI,0BACA,0BACA,uBDjKE,mBCyKA,oCD3KF,wBC4KI,0BACA,+BACA,6BAHF,oCD3KF,wBC4KI,iBACA,0BACA,wBAHF,oCD3KF,wBC4KI,0BACA,+BACA,6BAHF,qCD3KF,wBC4KI,0BACA,+BACA,6BDtKR,0CACE,gBAIF,wCACE,kBAIF,iCC7CI,0BDgDF,kCACA,kBACA,gBC3CI,oCDsCN,iCCrCQ,2BADF,oCDsCN,iCCrCQ,mBADF,oCDsCN,iCCrCQ,2BADF,qCDsCN,iCCrCQ,2BD6CR,eACE,iBAGF,kBCpBE,iBAgEE,yBACA,uBD1CF,MEpPY,QDySR,oCDxDN,kBCyDQ,8BACA,6BAFF,oCDxDN,kBCyDQ,yBACA,wBAFF,oCDxDN,kBCyDQ,8BACA,6BAFF,qCDxDN,kBCyDQ,8BACA,6BDnDR,yIACE,iBAGF,4EACE,gBAMA,sBACE,iCACA,kBACA,kBASA,yBACA,0BASE,oCAtBJ,sBAuBM,8BACA,gCAFF,oCAtBJ,sBAuBM,yBACA,2BAFF,oCAtBJ,sBAuBM,8BACA,gCAFF,qCAtBJ,sBAuBM,8BACA,gCC7QJ,oCDmPJ,oBAgCI,mBAKJ,YACE,+EACA,0BACA,2BACA,4BACA,SACA,SACA,oBACA,iBAIF,2BACE,iBE7TmB,QF8TnB,6BAGF,aACE,cACA,mBACA,aACA,gBACA,qBACA,qBACA,qBAGF,cCzII,0BD4IF,iBCrII,oCDkIN,cCjIQ,2BADF,oCDkIN,cCjIQ,mBADF,oCDkIN,cCjIQ,2BADF,qCDkIN,cCjIQ,2BDwIR,gBACE,oBACA,qBACA,yBAIF,qBACE,oCACA,oBACA,qBAIF,0BACE,oCAIF,4BACE,oCGxWJ,2BACA,gCACA,4CACA,+BACA,+BACA,iCACA,kDACA,iCACA,kDACA,qCACA,iCACA,eACA,eACA,qCACA,eACA,eACA,qBACA,eACA,eACA,gCACA,gCACA,gCACA,gCACA,gCACA,gCACA,cACA,iBACA,eACA,kBACA,gCACA,eACA,mCACA,iBACA,gCACA,gCACA,gCACA,eACA,eACA,eACA,gCACA,cACA,eACA,eACA,eACA,eACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,eACA,eACA,eACA,eACA,eC3DA,KACE,WFDiB,KEEjB,MFKW,QEJX,YACA,aCgGE,6BACA,4BAQF,uBDxGwB,OCyGxB,oBDzGwB,OC0GxB,mBD1GwB,OC2GxB,eD3GwB,OACxB,kBAGF,WACE,UACA,iBACA,cAOA,0BACE,iBAEF,4BCiPA,iBAHe,EAIf,sBACA,cALe,EAMf,mBACA,kBACA,cDnPA,sCCoCA,oBACA,qBACA,kBACA,oBACA,aAyCE,6BACA,8BAEF,uBDlF0B,ICmF1B,oBDnF0B,ICoF1B,mBDpF0B,ICqF1B,eDrF0B,IC8QxB,yBACA,sBAOF,wBDrR2B,cCsR3B,qBDtR2B,cCuR3B,gBDvR2B,cACzB,eHJE,0EIwTF,kBDlTuB,OCmTvB,eDnTuB,OCqTzB,oBDrTyB,OCsTzB,iBDtTyB,OCuTzB,YDvTyB,QAK3B,aACE,aACA,8BACA,qBACA,yBACA,gBAGF,SACE,qBACA,qBACA,kBACA,WF9CwB,QE+CxB,sBACA,2BACA,oBACE,gBACA,cC+CA,6BACA,4BAQF,uBDvD0B,OCwD1B,oBDxD0B,OCyD1B,mBDzD0B,OC0D1B,eD1D0B,OCwPxB,iBDvPyB,OCwPzB,cDxPyB,OC0P3B,wBD1P2B,OC2P3B,qBD3P2B,OC4P3B,gBD5P2B,OAI7B,MACE,qBACA,cACA,gBCDA,oBACA,qBACA,kBACA,oBACA,aAgRE,kBDjRmB,OCkRnB,eDlRmB,OCoRrB,oBDpRqB,OCqRrB,iBDrRqB,OCsRrB,YDtRqB,OACrB,UACE,gBAKF,OACE,cAEF,eACE,qBACA,cAIJ,OACE,kBACA,MFvEc,QEwEd,qBAGF,QACE,WFjFc,QEkFd,MF7Ec,QE8Ed,UACE,MF/EY,QEgFZ,gBACE,MF5Fa,KE+FjB,mBCqCA,kBDpCqB,KCqCrB,eDrCqB,KCyCnB,cDzCmB,KC2CrB,UD3CqB,KAErB,eACE,cAMJ,gBC5CE,oBACA,qBACA,kBACA,oBACA,aAwOE,yBACA,sBAOF,wBDtMyB,cCuMzB,qBDvMyB,cCwMzB,gBDxMyB,cACzB,MFjGc,QEkGd,kBAGF,YACE,cAKF,MCzDE,oBACA,qBACA,kBACA,oBACA,aAmCE,6BACA,4BAQF,uBDWwB,OCVxB,oBDUwB,OCTxB,mBDSwB,OCRxB,eDQwB,OC+IxB,iBD9Ic,EC+Id,sBACA,cDhJc,ECiJd,mBACA,kBACA,cAuBE,uBACA,oBAaF,wBDvLyB,WCwLzB,qBDxLyB,WCyLzB,gBDzLyB,WACzB,qBHlGI,oCG6FN,MCwLI,iBDjLyB,OCkLzB,cDlLyB,OCoL3B,wBDpL2B,OCqL3B,qBDrL2B,OCsL3B,gBDtL2B,OCnBzB,6BACA,8BAEF,uBDiB0B,IChB1B,oBDgB0B,ICf1B,mBDe0B,ICd1B,eDc0B,KAI5B,yBCqIE,iBDlIc,ECmId,sBACA,cDpIc,ECqId,mBACA,kBACA,cJnPI,oCG+GN,SAEI,WAIJ,eACE,mBHtHI,oCGyHN,OAEI,cACA,eCkHF,iBDjHgB,ECkHhB,sBACA,cDnHgB,ECoHhB,mBACA,kBACA,cDrHE,WACA,uBACA,gBACE,gBACA,MAEF,aACE,cACA,gBACA,SAEF,aACE,WAKN,SACE,SAKF,MACE,gBACA,WACE,gBACA,mCAEF,4DAGE,cH9JE,oCGmKJ,WAEI,kBACA,sBAEF,yBACE,cAIF,iBACE,MF5LU,QEmMhB,QACE,oBACA,cACE,kBAIJ,MACE,sBACA,YACA,aACA,kBAIF,IACE,eACA,YAGF,QACE,cACA,cACE,WACA,oBAEF,eACE,YACA,iBACA,mBAEF,gBACE,kBACA,WAIJ,YAEE,kBACA,sBACA,SACA,0BACE,kBACA,MACA,OACA,WACA,YAIJ,KACE,mBAGF,0BAIE,oBAGF,YAEE,WAKF,MACE,kBACA,cACE,kBACA,MF5QY,QE6QZ,kBACA,gBACA,QACA,mBAIJ,0HASE,qBACA,oBACA,qDACA,oBACA,YACA,gBACA,gBACA,wBACA,gLACE,kBAIJ,kCAGE,eACA,qBACA,MF1TiB,KE2TjB,WFxTa,QEyTb,0BACA,uBACA,0CACA,oDACE,4CAEF,2GAEE,4CAIJ,aAIE,gBACA,MFrUW,QEsUX,gBACA,gBACA,eHvTI,oCG+SN,aAEI,cAOF,sCAEE,gBACA,MF3UU,MEqVZ,0LAEE,6BACA,wBAIJ,cACE,aAGF,wFAME,WACA,yBACA,4HACE,aF3WS,QE+Wb,OACE,WFtXqB,QEyXvB,SACI,gBAGJ,MHtJI,iBAgEE,yBACA,uBAWE,oCG0ER,MHzEU,8BACA,6BAFF,oCG0ER,MHzEU,yBACA,wBAFF,oCG0ER,MHzEU,8BACA,6BAFF,qCG0ER,MHzEU,8BACA,6BG4EV,KACE,qBACA,MF9Xc,QEiYhB,SACE,UAGF,UACE,UAGF,4BACE,WAEF,mBACE,WAEF,uBACE,WAEF,kBACE,WAGF,YACE,WFvZc,QEwZd,MF9ZiB,KE+ZjB,iBAMA,gBACE,iBAEF,iCAEE,sBACA,iBACA,MF5ae,KE6af,yIAGE,sBACA,MFjba,KEobjB,YACE,WAGA,cACE,UACA,SAGJ,gBACE,eACA,gBACA,kBACA,mBAEF,aACE,gBACA","sourcesContent":["/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */\n\n/**\n * 1. Change the default font family in all browsers (opinionated).\n * 2. Prevent adjustments of font size after orientation changes in IE and iOS.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove the margin in all browsers (opinionated).\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Add the correct display in IE 9-.\n * 1. Add the correct display in Edge, IE, and Firefox.\n * 2. Add the correct display in IE.\n */\n\narticle,\naside,\ndetails, /* 1 */\nfigcaption,\nfigure,\nfooter,\nheader,\nmain, /* 2 */\nmenu,\nnav,\nsection,\nsummary { /* 1 */\n display: block;\n}\n\n/**\n * Add the correct display in IE 9-.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n}\n\n/**\n * Add the correct display in iOS 4-7.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Add the correct display in IE 10-.\n * 1. Add the correct display in IE.\n */\n\ntemplate, /* 1 */\n[hidden] {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * 1. Remove the gray background on active links in IE 10.\n * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.\n */\n\na {\n background-color: transparent; /* 1 */\n -webkit-text-decoration-skip: objects; /* 2 */\n}\n\n/**\n * Remove the outline on focused links when they are also active or hovered\n * in all browsers (opinionated).\n */\n\na:active,\na:hover {\n outline-width: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * 1. Remove the bottom border in Firefox 39-.\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Prevent the duplicate application of `bolder` by the next rule in Safari 6.\n */\n\nb,\nstrong {\n font-weight: inherit;\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * Add the correct font style in Android 4.3-.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Add the correct background and color in IE 9-.\n */\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10-.\n */\n\nimg {\n border-style: none;\n}\n\n/**\n * Hide the overflow in IE.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct margin in IE 8.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change font properties to `inherit` in all browsers (opinionated).\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\nselect,\ntextarea {\n font: inherit; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Restore the font weight unset by the previous rule.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n * controls in Android 4.\n * 2. Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\nhtml [type=\"button\"], /* 1 */\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Change the border, margin, and padding in all browsers (opinionated).\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Remove the default vertical scrollbar in IE.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10-.\n * 2. Remove the padding in IE 10-.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.\n */\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Correct the text style of placeholders in Chrome, Edge, and Safari.\n */\n\n::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.54;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n","// Reset\n// ---------------------------------------\n\n// Reset all the things\n* { box-sizing: border-box; }\nhtml, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }\narticle, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }\nhtml, body { height: 100%; }\na img { border: none; }\nblockquote { quotes: none; }\nblockquote:before, blockquote:after { content: ''; content: none; }\ntable { border-collapse: collapse; border-spacing: 0; }\ncaption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }\n","// Typography\n// ---------------------------------------\n\n// Setting root sizes and base styles.\nhtml {\n @include rootsize;\n\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n}\n\n// Site-wide base styles.\nbody {\n @include fontsize(zeta, all);\n\n font-family: unquote(map-get($bodytype, font-family));\n font-style: normal;\n font-weight: map-get($bodytype, regular);\n line-height: 2rem;\n}\n\n// Links.\na {\n color: $linkColour;\n text-decoration: none;\n transition: color .1s, background-color .1s;\n\n &:hover, &:active, &:focus {\n color: $hoverColour;\n text-decoration: none;\n }\n}\n\n// Styles for typeset text.\n.typeset {\n\n // Nice underlines for text links.\n p a, li a {\n background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0) 50%,$linkColour 50%);\n background-position: 0 93%;\n background-repeat: repeat-x;\n background-size: 100% 0.15rem;\n text-shadow: 0.1rem 0 $backgroundColour,\n 0.15rem 0 $backgroundColour,\n -0.1rem 0 $backgroundColour,\n -0.15rem 0 $backgroundColour;\n\n &:hover, &:active, &:focus {\n background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0) 50%,$hoverColour 50%);\n }\n }\n\n // Paragraphs. OpenType ligatures and oldstyle figures enabled if available.\n p {\n @include baseline($fontsize: zeta, $font: $bodytype, $lineheight: 2, $below: 2, $breakpoint: all);\n\n font-feature-settings: 'kern', 'onum', 'liga';\n }\n\n // Headings. OpenType ligatures, discretionary ligatures and lining figures enabled if available.\n h1, h2, h3, h4, h5, h6 {\n color: $headingColour;\n font-family: unquote(map-get($headingtype, font-family));\n font-feature-settings: 'dlig', 'liga', 'lnum', 'kern';\n font-style: normal;\n font-weight: map-get($headingtype, bold);\n }\n\n // Heading level 1.\n h1, .alpha {\n @include sassline($fontsize: alpha, $font: $headingtype, $lineheight: 3, $below: 1, $breakpoint: all);\n }\n\n // Heading level 2.\n h2, .beta {\n @include sassline(beta, $headingtype, 3, 1, all);\n }\n\n // Heading level 3.\n h3, .gamma {\n @include sassline(gamma, $headingtype, 3, 1, all);\n }\n\n // Heading level 4.\n h4, .delta {\n @include sassline(delta, $headingtype, 2, 0, all);\n }\n\n // Heading level 5.\n h5, .epsilon {\n @include sassline(epsilon, $headingtype, 2, 0, all);\n }\n\n // Heading level 6.\n h6, .zeta {\n @include sassline(zeta, $headingtype, 2, 0, all);\n }\n\n // Lists.\n ul, ol {\n @include baseline(zeta, $bodytype, 2, 2, all);\n\n li {\n font-feature-settings: 'kern', 'onum', 'liga';\n margin-left: 2rem;\n\n @include breakpoint(break-1) {\n margin-left: 0;\n }\n\n ol, ul {\n padding-top: 1rem;\n margin-bottom: 1rem;\n margin-left: 2rem;\n }\n }\n }\n\n // Ordered lists.\n ol {\n list-style-type: none;\n\n li {\n counter-increment: top-level;\n\n &:before {\n content: counter(top-level) '.';\n font-feature-settings: 'lnum', 'tnum';\n margin-left: -3rem;\n position: absolute;\n text-align: right;\n width: 2em;\n }\n\n ul {\n\n li {\n\n &:before {\n content: '';\n }\n\n ol {\n\n li {\n counter-increment: alt-level;\n\n &:before {\n content: counter(alt-level) '.';\n }\n }\n }\n }\n }\n\n ol {\n\n li {\n counter-increment: sub-level;\n\n &:before {\n content: counter(top-level) '.' counter(sub-level);\n }\n\n ul {\n\n li {\n\n &:before {\n content: '';\n }\n }\n }\n\n ol {\n\n li {\n counter-increment: sub-sub-level;\n\n &:before {\n content: counter(top-level) '.' counter(sub-level) '.' counter(sub-sub-level);\n }\n }\n }\n }\n }\n }\n }\n\n // Definition lists.\n dl {\n @include baseline(zeta, $bodytype, 2, 2, all);\n\n dt, dd {\n font-feature-settings: 'kern', 'onum', 'liga';\n margin-left: 2rem;\n\n @include breakpoint(break-1) {\n margin-left: 0;\n }\n }\n\n dt {\n font-weight: map-get($bodytype, bold);\n }\n\n dd + dt {\n padding-top: 1rem;\n }\n }\n\n // Tables.\n table {\n @include sassline(eta, $headingtype, 2, 0, all);\n\n font-family: unquote(map-get($headingtype, font-family));\n font-feature-settings: 'liga', 'lnum', 'tnum', 'kern';\n font-style: normal;\n font-weight: map-get($headingtype, regular);\n width: 100%;\n\n thead {\n\n th {\n @include sassline(zeta, $headingtype, 2, 0, all);\n padding-bottom: 1px;\n }\n }\n }\n\n // Bold.\n b, strong, .bold {\n font-weight: map-get($bodytype, bold);\n }\n\n // Italic.\n em, i, .italic {\n font-style: map-get($bodytype, italic);\n }\n\n // Caption and inline small text.\n small, .caption {\n @include fontsize(theta, all);\n\n font-family: unquote(map-get($headingtype, font-family));\n font-style: normal;\n font-weight: map-get($headingtype, regular);\n }\n\n small {\n line-height: 1rem;\n }\n\n .caption {\n @include baseline(theta, $headingtype, 2, 2, all);\n\n color: $captionColour;\n }\n\n // Nice spacing for captions.\n h1 + .caption, .alpha + .caption, h2 + .caption, .beta + .caption, h3 + .caption, .gamma + .caption {\n margin-top: -1rem;\n }\n\n .delta + .caption, .epsilon + .caption, .zeta + .caption {\n margin-top: 0rem;\n }\n\n // Quotes.\n blockquote {\n\n p {\n border-left: 0.15rem solid $linkColour;\n font-style: map-get($bodytype, italic);\n padding-left: 1rem;\n\n // Add spacing below blockquote paragraphs to align to baseline grid.\n $get-scale: map-get($modular-scale, scale-0);\n $get-size: map-get($get-scale, zeta);\n $rootsize: nth($sizes, 1);\n $baseline-shift: #{($get-size / 2 * ((2 * $rootsize / $get-size) - map-get($bodytype, cap-height))) / $rootsize + 0.00001};\n $baseline-push: #{3 - (($get-size * ((2 * $rootsize / $get-size) - map-get($bodytype, cap-height))) / $rootsize + 0.00001)};\n\n margin-bottom: #{$baseline-push}rem;\n padding-bottom: #{$baseline-shift}rem;\n\n @for $i from 2 through $breakpoints-limit {\n $get-scale: map-get($modular-scale, scale-#{$i - 1});\n $get-size: map-get($get-scale, zeta);\n $rootsize: nth($sizes, $i);\n $baseline-shift: #{($get-size / 2 * ((2 * $rootsize / $get-size) - map-get($bodytype, cap-height))) / $rootsize + 0.00001};\n $baseline-push: #{3 - (($get-size * ((2 * $rootsize / $get-size) - map-get($bodytype, cap-height))) / $rootsize + 0.00001)};\n\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n margin-bottom: #{$baseline-push}rem;\n padding-bottom: #{$baseline-shift}rem;\n }\n }\n }\n\n @include breakpoint(break-1) {\n margin-left: -1rem;\n }\n }\n\n // Horizontal rule.\n hr {\n background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0) 50%,$captionColour 50%);\n background-position: 0 50%;\n background-repeat: repeat-x;\n background-size: 100% 0.15rem;\n border: 0;\n margin: 0;\n padding-bottom: 3rem;\n padding-top: 3rem;\n }\n\n // Code block.\n code, pre {\n background-color: $codeBackgroundColour;\n font-family: unquote(map-get($monospacetype, font-family));\n }\n\n pre {\n display: block;\n margin-bottom: 2rem;\n padding: 1rem;\n white-space: pre;\n white-space: pre-wrap;\n word-break: break-all;\n word-wrap: break-word;\n }\n\n code {\n @include fontsize(theta, all);\n\n line-height: 1rem;\n }\n\n // Letter space those capitals people, Jan Tschichold would be proud.\n .upper {\n font-kerning: normal;\n letter-spacing: 0.1rem;\n text-transform: uppercase;\n }\n\n // Real small caps.\n .small-caps {\n font-feature-settings: 'smcp', 'kern';\n font-kerning: normal;\n letter-spacing: 0.1rem;\n }\n\n // Consistent height numbers with OpenType.\n .lining-numerals {\n font-feature-settings: 'lnum', 'kern';\n }\n\n // Ascending and descending numbers with OpenType.\n .oldstyle-numerals {\n font-feature-settings: 'onum', 'kern';\n }\n}\n","// SCSS mixins\n// ---------------------------------------\n\n// Global variables used in mixins.\n\n// Number of breakpoints.\n$breakpoints-limit: length($breakpoints);\n\n// List of rootsizes, breakpoints, and max-widths.\n$sizes: map-values($rootsizes);\n$points: map-values($breakpoints);\n$line-widths: map-values($measures);\n$max-widths: map-values($maxwidths);\n\n\n// Breakpoints. Either set one to one of the breakpoint variables, or use a custom value for minor breakpoints.\n// Defaults to min-width, but both min->max and max-width are available too.\n// Parts based on https://gist.github.com/timknight/03e6335b8816aa534cf7\n@mixin breakpoint($break: 0, $max: 0) {\n // Type of break variable\n $value: type-of($break);\n\n // If it is a string (i.e. a breakpoint variable).\n @if $value == string {\n // If using 'break-1', 'break-2' etc output the correct breakpoints from map.\n @if map-has-key($breakpoints, $break) {\n @media screen and (min-width: #{map-get($breakpoints, $break) / 16 * 1em} ) { @content; }\n } @else {\n @warn \"#{$break} is not a set breakpoint variable\";\n }\n\n // If it is a number, use this for the breakpoint.\n } @else if $value == number {\n // If using other numbers output value in ems either for min, min & max or max width breakpoints.\n $query: \"all\" !default;\n @if $break != 0 and $max != 0 { $query: \"(min-width: #{$break / 16 * 1em}) and (max-width: #{$max / 16 * 1em})\"; }\n @else if $break != 0 and $max == 0 { $query: \"(min-width: #{$break / 16 * 1em})\"; }\n @else if $break == 0 and $max != 0 { $query: \"(max-width: #{$max / 16 * 1em})\"; }\n @media #{$query} { @content; }\n\n } @else {\n @warn \"#{$break} is not valid to use as a breakpoint\";\n }\n}\n\n// Root font-size in %, outputted in correct breakpoints.\n@mixin rootsize {\n font-size: nth($sizes, 1) / 16 * 100%;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n font-size: nth($sizes, $i) / 16 * 100%;\n }\n }\n}\n\n// Max-widths for typeset containers, outputted in correct breakpoints.\n@mixin maxwidth($breakpoint: 0) {\n // Type of chosen variables.\n $break-value: type-of($breakpoint);\n\n // If specifying a breakpoint to use (and breakpoint exists).\n @if $break-value == number and $breakpoint <= ($breakpoints-limit - 1) and $breakpoint >= 0 {\n\n max-width: #{nth($max-widths, ($breakpoint + 1)) / nth($sizes, ($breakpoint + 1))}rem;\n\n } @else if $breakpoint == all {\n max-width: #{nth($max-widths, 1) / nth($sizes, 1)}rem;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n max-width: #{nth($max-widths, $i) / nth($sizes, $i)}rem;\n }\n }\n }\n}\n\n// Set the measure for single columns, outputted in correct breakpoints.\n@mixin measure($breakpoint: 0) {\n // Type of chosen variables.\n $break-value: type-of($breakpoint);\n\n // If specifying a breakpoint to use (and breakpoint exists).\n @if $break-value == number and $breakpoint <= ($breakpoints-limit - 1) and $breakpoint >= 0 {\n\n max-width: #{nth($line-widths, ($breakpoint + 1)) / nth($sizes, ($breakpoint + 1))}rem;\n\n } @else if $breakpoint == all {\n max-width: #{nth($line-widths, 1) / nth($sizes, 1)}rem;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n max-width: #{nth($line-widths, $i) / nth($sizes, $i)}rem;\n }\n }\n }\n}\n\n// Calculate percentage width of container to get optimal measure for main text columns.\n// Defaults to all breakpoints.\n// Note: will not output for base breakpoint as this comes from the 'measure' mixin.\n@mixin ideal-measure($breakpoint: 0, $gutter: 0, $main: true, $output: max-width) {\n // Type of chosen variables.\n $break-value: type-of($breakpoint);\n\n // If specifying a breakpoint to use (and breakpoint exists and is larger than 0).\n @if $break-value == number and $breakpoint <= ($breakpoints-limit - 1) and $breakpoint > 0 {\n\n @if $gutter == small {\n $gutter: map-get($gutterwidths, small) * 2 / 1rem;\n } @else if $gutter == medium {\n $gutter: map-get($gutterwidths, medium) * 2 / 1rem;\n } @else if $gutter == large {\n $gutter: map-get($gutterwidths, large) * 2 / 1rem;\n } @else {\n $gutter: 0;\n }\n\n $rootsize: map-get($rootsizes, rootsize-#{$breakpoint});\n $ideal-measure: map-get($measures, measure-#{$breakpoint});\n $gutter-size: ($gutter * $rootsize);\n $container-width: map-get($maxwidths, width-#{$breakpoint});\n\n $percentage: percentage(($ideal-measure + $gutter-size) / $container-width);\n\n @if $percentage < 55 {\n $percentage: 55%;\n } @else if $percentage > 65 {\n $percentage: 65%;\n }\n\n @if $main == false {\n $percentage: 100 - $percentage;\n }\n\n #{$output}: $percentage;\n }\n}\n\n// Value in scale in $modular-scale?\n// Used in following fontsize mixin.\n@function in-modular-scale($scale, $key) {\n $map: map-get($modular-scale, $scale);\n $output: map-has-key($map, $key);\n @return $output;\n}\n\n// Font-size in rems. Either set per breakpoint or for all.\n// Use values as you would for pixels i.e. 16 or use values from the modular scale.\n@mixin fontsize($fontsize, $breakpoint: 0) {\n // Type of chosen variables.\n $font-value: type-of($fontsize);\n $break-value: type-of($breakpoint);\n\n // Check if value exists in scale.\n $in-scale: in-modular-scale(scale-0, $fontsize);\n\n // If specifying a breakpoint to use (and breakpoint exists).\n @if $break-value == number and $breakpoint <= ($breakpoints-limit - 1) and $breakpoint >= 0 {\n\n // If using a number for fontsize.\n @if $font-value == number {\n font-size: #{$fontsize / nth($sizes, ($breakpoint + 1))}rem;\n\n // If using a variable from the scale for fontsize.\n } @else if $in-scale == true {\n $get-scale: map-get($modular-scale, scale-#{$breakpoint});\n $get-size: map-get($get-scale, $fontsize);\n\n font-size: #{$get-size / nth($sizes, ($breakpoint + 1))}rem;\n\n } @else {\n @warn \"#{$fontsize} is not a valid scale variable\";\n }\n\n // If want to use value for all breakpoints.\n } @else if $breakpoint == all {\n\n // If using a number for fontsize.\n @if $font-value == number {\n font-size: #{$fontsize / nth($sizes, 1)}rem;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n font-size: #{$fontsize / nth($sizes, $i)}rem;\n }\n }\n\n // If using a variable from the scale for fontsize.\n } @else if $in-scale == true {\n $get-scale: map-get($modular-scale, scale-0);\n $get-size: map-get($get-scale, $fontsize);\n font-size: #{$get-size / nth($sizes, 1)}rem;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n $get-scale: map-get($modular-scale, scale-#{$i - 1});\n $get-size: map-get($get-scale, $fontsize);\n\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n font-size: #{$get-size / nth($sizes, $i)}rem;\n }\n }\n\n } @else {\n @warn \"#{$fontsize} is not a valid scale variable\";\n }\n\n } @else {\n @warn \"#{$breakpoint} is not valid to use as a breakpoint\";\n }\n}\n\n// Advanced baseline magic.\n// ! Read the README to help understand what is going on here.\n// Parts based on https://gist.github.com/razwan/10662500\n@mixin baseline($fontsize, $font, $lineheight: 2, $below: 2, $breakpoint: 0) {\n // Type of chosen variables.\n $font-value: type-of($fontsize);\n $break-value: type-of($breakpoint);\n\n // Cap height\n $cap-height: map-get($font, cap-height);\n\n // Check if value exists in scale.\n $in-scale: in-modular-scale(scale-0, $fontsize);\n\n // Set the line-height (if it isn't set at 0).\n @if $lineheight != 0 {\n line-height: #{$lineheight}rem;\n }\n\n // If specifying a breakpoint to use (and breakpoint exists).\n @if $break-value == number and $breakpoint <= ($breakpoints-limit - 1) and $breakpoint >= 0 {\n\n // If using a number for fontsize.\n @if $font-value == number {\n $rootsize: nth($sizes, ($breakpoint + 1));\n $baseline-shift: #{($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001)};\n\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n // If using a variable from the scale for fontsize.\n } @else if $in-scale == true {\n $get-scale: map-get($modular-scale, scale-#{$breakpoint});\n $get-size: map-get($get-scale, $fontsize);\n $rootsize: nth($sizes, ($breakpoint + 1));\n\n $baseline-shift: #{($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001)};\n\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n } @else {\n @warn \"#{$fontsize} is not a valid scale variable\";\n }\n\n // If want to use value for all breakpoints.\n } @else if $breakpoint == all {\n\n // If using a number for fontsize.\n @if $font-value == number {\n $rootsize: nth($sizes, 1);\n $baseline-shift: #{($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001)};\n\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n $rootsize: nth($sizes, $i);\n $baseline-shift: #{($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001)};\n\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n }\n }\n\n // If using a variable from the scale for fontsize.\n } @else if $in-scale == true {\n $get-scale: map-get($modular-scale, scale-0);\n $get-size: map-get($get-scale, $fontsize);\n $rootsize: nth($sizes, 1);\n\n $baseline-shift: #{($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001)};\n\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n $get-scale: map-get($modular-scale, scale-#{$i - 1});\n $get-size: map-get($get-scale, $fontsize);\n $rootsize: nth($sizes, $i);\n\n $baseline-shift: #{($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001)};\n\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n }\n }\n\n } @else {\n @warn \"#{$fontsize} is not a valid scale variable\";\n }\n\n } @else {\n @warn \"#{$breakpoint} is not valid to use as a breakpoint\";\n }\n}\n\n// Set fontsize and baseline at once. Mix of fontsize and baseline mixin.\n@mixin sassline($fontsize, $font, $lineheight: 2, $below: 2, $breakpoint: 0) {\n $font-value: type-of($fontsize);\n $break-value: type-of($breakpoint);\n $cap-height: map-get($font, cap-height);\n $in-scale: in-modular-scale(scale-0, $fontsize);\n\n line-height: #{$lineheight}rem;\n\n @if $break-value == number and $breakpoint <= ($breakpoints-limit - 1) and $breakpoint >= 0 {\n\n @if $font-value == number {\n $rootsize: nth($sizes, ($breakpoint + 1));\n $baseline-shift: #{($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001)};\n font-size: #{$fontsize / nth($sizes, ($breakpoint + 1))}rem;\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n } @else if $in-scale == true {\n $get-scale: map-get($modular-scale, scale-#{$breakpoint});\n $get-size: map-get($get-scale, $fontsize);\n $rootsize: nth($sizes, ($breakpoint + 1));\n $baseline-shift: #{($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001)};\n font-size: #{$get-size / nth($sizes, ($breakpoint + 1))}rem;\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n } @else {\n @warn \"#{$fontsize} is not a valid scale variable\";\n }\n\n } @else if $breakpoint == all {\n\n @if $font-value == number {\n $rootsize: nth($sizes, 1);\n $baseline-shift: #{($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001)};\n font-size: #{$fontsize / nth($sizes, 1)}rem;\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n @for $i from 2 through $breakpoints-limit {\n $rootsize: nth($sizes, $i);\n $baseline-shift: #{($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001)};\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n font-size: #{$fontsize / nth($sizes, $i)}rem;\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n }\n }\n\n } @else if $in-scale == true {\n $get-scale: map-get($modular-scale, scale-0);\n $get-size: map-get($get-scale, $fontsize);\n $rootsize: nth($sizes, 1);\n $baseline-shift: #{($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001)};\n font-size: #{$get-size / nth($sizes, 1)}rem;\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n @for $i from 2 through $breakpoints-limit {\n $get-scale: map-get($modular-scale, scale-#{$i - 1});\n $get-size: map-get($get-scale, $fontsize);\n $rootsize: nth($sizes, $i);\n $baseline-shift: #{($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001)};\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n font-size: #{$get-size / nth($sizes, $i)}rem;\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n }\n }\n\n } @else {\n @warn \"#{$fontsize} is not a valid scale variable\";\n }\n\n } @else {\n @warn \"#{$breakpoint} is not valid to use as a breakpoint\";\n }\n}\n\n// Clearfix.\n@mixin clearfix {\n &:before, &:after{\n display: table;\n content: \"\";\n }\n &:after{\n clear: both;\n }\n}\n","// Background colours\n$backgroundColour: #ffffff !default;\n$codeBackgroundColour: #fafafa !default;\n$featureBackgroundColour: #f9fafa !default;\n$accentColour: #05bf85 !default;\n\n// Text colours\n$headingColour: #242e2b !default;\n$bodyColour: #384743 !default;\n$linkColour: #05bf85 !default;\n$hoverColour: #008000 !default;\n$focusColour: #fa407a !default;\n$captionColour: #a8adac !default;\n$white: #ffffff !default;\n\n// Typography\n$bodytype: (\n font-family: \"Georgia, serif\",\n regular: 400,\n bold: 700,\n italic: italic,\n cap-height: 0.75\n) !default;\n\n$headingtype: (\n font-family: '\"Merriweather\", serif',\n regular: 400,\n bold: 700,\n cap-height: 0.75\n) !default;\n\n$monospacetype: (\n font-family: \"Menlo, monospace\",\n regular: 400,\n cap-height: 0.68\n) !default;\n\n// TIP: Load custom fonts in _config.yaml\n",".hll { background-color: #ffffcc }\n.c { color: #999988; font-style: italic } /* Comment */\n.err { color: #a61717; background-color: #e3d2d2 } /* Error */\n.k { color: #000000; font-weight: bold } /* Keyword */\n.o { color: #000000; font-weight: bold } /* Operator */\n.cm { color: #999988; font-style: italic } /* Comment.Multiline */\n.cp { color: #999999; font-weight: bold; font-style: italic } /* Comment.Preproc */\n.c1 { color: #999988; font-style: italic } /* Comment.Single */\n.cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */\n.gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */\n.ge { color: #000000; font-style: italic } /* Generic.Emph */\n.gr { color: #aa0000 } /* Generic.Error */\n.gh { color: #999999 } /* Generic.Heading */\n.gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */\n.go { color: #888888 } /* Generic.Output */\n.gp { color: #555555 } /* Generic.Prompt */\n.gs { font-weight: bold } /* Generic.Strong */\n.gu { color: #aaaaaa } /* Generic.Subheading */\n.gt { color: #aa0000 } /* Generic.Traceback */\n.kc { color: #000000; font-weight: bold } /* Keyword.Constant */\n.kd { color: #000000; font-weight: bold } /* Keyword.Declaration */\n.kn { color: #000000; font-weight: bold } /* Keyword.Namespace */\n.kp { color: #000000; font-weight: bold } /* Keyword.Pseudo */\n.kr { color: #000000; font-weight: bold } /* Keyword.Reserved */\n.kt { color: #445588; font-weight: bold } /* Keyword.Type */\n.m { color: #009999 } /* Literal.Number */\n.s { color: #d01040 } /* Literal.String */\n.na { color: #008080 } /* Name.Attribute */\n.nb { color: #0086B3 } /* Name.Builtin */\n.nc { color: #445588; font-weight: bold } /* Name.Class */\n.no { color: #008080 } /* Name.Constant */\n.nd { color: #3c5d5d; font-weight: bold } /* Name.Decorator */\n.ni { color: #800080 } /* Name.Entity */\n.ne { color: #990000; font-weight: bold } /* Name.Exception */\n.nf { color: #990000; font-weight: bold } /* Name.Function */\n.nl { color: #990000; font-weight: bold } /* Name.Label */\n.nn { color: #555555 } /* Name.Namespace */\n.nt { color: #000080 } /* Name.Tag */\n.nv { color: #008080 } /* Name.Variable */\n.ow { color: #000000; font-weight: bold } /* Operator.Word */\n.w { color: #bbbbbb } /* Text.Whitespace */\n.mf { color: #009999 } /* Literal.Number.Float */\n.mh { color: #009999 } /* Literal.Number.Hex */\n.mi { color: #009999 } /* Literal.Number.Integer */\n.mo { color: #009999 } /* Literal.Number.Oct */\n.sb { color: #d01040 } /* Literal.String.Backtick */\n.sc { color: #d01040 } /* Literal.String.Char */\n.sd { color: #d01040 } /* Literal.String.Doc */\n.s2 { color: #d01040 } /* Literal.String.Double */\n.se { color: #d01040 } /* Literal.String.Escape */\n.sh { color: #d01040 } /* Literal.String.Heredoc */\n.si { color: #d01040 } /* Literal.String.Interpol */\n.sx { color: #d01040 } /* Literal.String.Other */\n.sr { color: #009926 } /* Literal.String.Regex */\n.s1 { color: #d01040 } /* Literal.String.Single */\n.ss { color: #990073 } /* Literal.String.Symbol */\n.bp { color: #999999 } /* Name.Builtin.Pseudo */\n.vc { color: #008080 } /* Name.Variable.Class */\n.vg { color: #008080 } /* Name.Variable.Global */\n.vi { color: #008080 } /* Name.Variable.Instance */\n.il { color: #009999 } /* Literal.Number.Integer.Long */\n","// Structural elements\nbody {\n background: $backgroundColour;\n color: $bodyColour;\n height: 100%;\n display: flex;\n @include flex-direction(column);\n overflow-x: hidden;\n}\n\n.container {\n width: 90%;\n max-width: 1200px;\n margin: 0 auto;\n}\n\n\n// Header, feature and footer\n.header,\n.footer {\n .nav {\n text-align: right;\n }\n .logo {\n @include flex(0 0 auto);\n }\n .container {\n @include flexbox;\n @include flex-direction(row);\n @include justify-content(space-between);\n padding: 1rem 0;\n @include breakpoint(break-1) {\n @include align-items(center);\n }\n }\n}\n\n.header .nav {\n display: flex;\n flex-direction: column-reverse;\n align-items: flex-end;\n justify-content: flex-end;\n overflow: hidden;\n}\n\n.feature {\n padding-bottom: .4rem;\n margin-bottom: 1.6rem;\n text-align: center;\n background: $featureBackgroundColour;\n background-size: cover;\n background-position: center;\n .container {\n min-height: 35vh;\n max-width: 60%;\n @include flex-direction(column);\n @include justify-content(center);\n }\n}\n\n.logo {\n display: inline-block;\n line-height: 0;\n max-height: 4rem;\n @include flexbox;\n @include align-items(center);\n img {\n max-height: 5rem;\n }\n}\n\n.nav {\n a {\n padding: .2rem;\n }\n &--social a {\n display: inline-block;\n line-height: 1;\n }\n}\n\n.small {\n padding-top: .8rem;\n color: $captionColour;\n display: inline-block;\n}\n\n.footer {\n background: $headingColour;\n color: $captionColour;\n a {\n color: $captionColour;\n &:hover {\n color: $backgroundColour;\n }\n }\n .container {\n @include flex-wrap(wrap);\n }\n .small {\n padding-top: 0;\n }\n}\n\n\n// Pagination nav\n.nav--paginator {\n @include flexbox;\n @include justify-content(space-between);\n color: $captionColour;\n text-align: center;\n}\n\n.pagination {\n min-width: 20%;\n}\n\n\n// Main content\n.main {\n @include flexbox;\n @include flex-direction(column);\n @include flex(1, 0, auto);\n @include justify-content(flex-start);\n margin-bottom: 1.6rem;\n @include breakpoint(break-1) {\n @include justify-content(center);\n @include flex-direction(row);\n }\n}\n\n.header,\n.feature,\n.footer {\n @include flex(0, 0, auto);\n}\n\n.content {\n @include breakpoint(break-1) {\n width: 62%;\n }\n}\n\n.share .button {\n margin-right: .3rem;\n}\n\n.aside {\n @include breakpoint(break-1) {\n max-width: 34%;\n margin-left: 4%;\n @include flex(1, 0, auto);\n opacity: 0.5;\n transition: opacity .1s;\n .section {\n position: sticky;\n top: 0;\n }\n &--left {\n margin-left: 0;\n margin-right: 4%;\n order: -1;\n }\n &:hover {\n opacity: 1;\n }\n }\n}\n\n.section {\n margin: 0;\n}\n\n\n// Lists\n.list {\n list-style: none;\n &--nav {\n overflow: hidden;\n margin-bottom: var(--listHeight, 0);\n }\n .item--post,\n .item--result,\n .item--category {\n margin-left: 0;\n }\n}\n\n.item {\n &--nav {\n @include breakpoint(break-1) {\n margin-left: .4rem;\n display: inline-block;\n }\n &:first-of-type {\n margin-left: 0;\n }\n }\n &--current {\n a {\n color: $captionColour;\n }\n }\n}\n\n\n// Links, icons and images\na .icon {\n transition: fill .1s;\n &:hover {\n fill: currentColor;\n }\n}\n\n.icon {\n vertical-align: middle;\n width: 1.1em;\n height: 1.1em;\n fill: CurrentColor;\n}\n\n// Media content\nimg {\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n line-height: 0;\n &--left {\n float: left;\n padding-right: .8rem;\n }\n &--right {\n float: right;\n text-align: right;\n padding-left: .8rem;\n }\n &--center {\n text-align: center;\n clear: both;\n }\n}\n\n.video,\n.map {\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n.map {\n padding-bottom: 70%;\n}\n\n.figure,\n.video,\n.map,\n.form {\n margin-bottom: .8rem;\n}\n\naudio,\nvideo {\n width: 100%;\n}\n\n\n// Form elements and buttons\n.form {\n position: relative;\n &__legend {\n font-style: italic;\n color: $captionColour;\n position: absolute;\n overflow: hidden;\n right: 0;\n clip: rect(0 0 0 0);\n }\n}\n\nbutton,\n.button,\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"search\"],\ninput[type=\"submit\"],\ninput[type=\"color\"],\ntextarea,\nselect {\n padding: .6rem 1.2rem;\n margin-bottom: .6rem;\n transition: color .1s, background-color .1s, border .1s;\n line-height: inherit;\n border: none;\n box-shadow: none;\n border-radius: 0;\n -webkit-appearance: none;\n .icon {\n margin: 0 0 .35rem;\n }\n}\n\ninput[type=\"submit\"],\nbutton,\n.button {\n cursor: pointer;\n display: inline-block;\n color: $backgroundColour;\n background: $accentColour;\n transition: box-shadow .1s;\n will-change: box-shadow;\n box-shadow: inset 0 0 0 2rem transparent;\n &:hover {\n box-shadow: inset 0 0 0 2rem rgba(0,0,0,0.25);\n }\n &:active,\n &:focus {\n box-shadow: inset 0 0 0 2rem rgba(0,0,0,0.25);\n }\n}\n\n.button--nav {\n @include breakpoint(break-1) {\n display: none;\n }\n background: none;\n color: $linkColour;\n margin-bottom: 0;\n min-height: 4rem;\n min-width: 4rem;\n &:hover,\n &:focus {\n box-shadow: none;\n color: $hoverColour;\n }\n}\n\na,\nbutton,\n.button,\ninput,\ntextarea,\nselect {\n &:focus,\n &:hover:focus {\n outline: solid .12rem $focusColour;\n outline-offset: -.12rem;\n }\n}\n\na:hover:focus {\n outline: none;\n}\n\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"search\"],\ninput[type=\"color\"],\ntextarea,\nselect {\n width: 100%;\n border: 1px solid $captionColour;\n &:hover {\n border-color: $bodyColour;\n }\n}\n\nselect {\n background: $codeBackgroundColour;\n}\n\ntextarea {\n resize: vertical;\n}\n\nlabel {\n @include baseline($fontsize: zeta, $font: $bodytype, $lineheight: 2, $below: 2, $breakpoint: all);\n}\n\ncode {\n padding: .12rem .2rem;\n color: $headingColour;\n}\n\npre code {\n padding: 0;\n}\n\n.required {\n color: red;\n}\n\n::-webkit-input-placeholder {\n opacity: 0.5;\n}\n::-moz-placeholder {\n opacity: 0.5;\n}\n:-ms-input-placeholder {\n opacity: 0.5;\n}\n:-moz-placeholder {\n opacity: 0.5;\n}\n\n::selection {\n background: $headingColour;\n color: $backgroundColour;\n text-shadow: none;\n}\n\n\n// Sassline overrides\n.typeset {\n a > code {\n text-shadow: none;\n }\n .button,\n button {\n background-image: none;\n text-shadow: none;\n color: $backgroundColour;\n &:hover,\n &:active,\n &:focus {\n background-image: none;\n color: $backgroundColour;\n }\n }\n hr {\n width: 100%;\n }\n li {\n > p {\n padding: 0;\n margin: 0;\n }\n }\n .nav a {\n padding-left: 0;\n padding-right: 0;\n margin-left: .2rem;\n margin-right: .2rem;\n }\n pre {\n white-space: pre;\n overflow-x: scroll;\n }\n}\n","// Flexbox Mixins\n// http://philipwalton.github.io/solved-by-flexbox/\n// https://github.com/philipwalton/solved-by-flexbox\n// \n// Copyright (c) 2013 Brian Franco\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to\n// permit persons to whom the Software is furnished to do so, subject to\n// the following conditions:\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n//\n// This is a set of mixins for those who want to mess around with flexbox\n// using the native support of current browsers. For full support table\n// check: http://caniuse.com/flexbox\n//\n// Basically this will use:\n//\n// * Fallback, old syntax (IE10, mobile webkit browsers - no wrapping)\n// * Final standards syntax (FF, Safari, Chrome, IE11, Opera)\n//\n// This was inspired by:\n// \n// * http://dev.opera.com/articles/view/advanced-cross-browser-flexbox/\n// \n// With help from:\n// \n// * http://w3.org/tr/css3-flexbox/\n// * http://the-echoplex.net/flexyboxes/\n// * http://msdn.microsoft.com/en-us/library/ie/hh772069(v=vs.85).aspx\n// * http://css-tricks.com/using-flexbox/\n// * http://dev.opera.com/articles/view/advanced-cross-browser-flexbox/\n// * https://developer.mozilla.org/en-us/docs/web/guide/css/flexible_boxes\n\n//----------------------------------------------------------------------\n\n// Flexbox Containers\n//\n// The 'flex' value causes an element to generate a block-level flex\n// container box.\n//\n// The 'inline-flex' value causes an element to generate a inline-level\n// flex container box. \n//\n// display: flex | inline-flex\n//\n// http://w3.org/tr/css3-flexbox/#flex-containers\n//\n// (Placeholder selectors for each type, for those who rather @extend)\n\n@mixin flexbox {\n display: -webkit-box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n}\n\n%flexbox { @include flexbox; }\n\n//----------------------------------\n\n@mixin inline-flex {\n display: -webkit-inline-box;\n display: -webkit-inline-flex;\n display: -moz-inline-flex;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n\n%inline-flex { @include inline-flex; }\n\n//----------------------------------------------------------------------\n\n// Flexbox Direction\n//\n// The 'flex-direction' property specifies how flex items are placed in\n// the flex container, by setting the direction of the flex container's\n// main axis. This determines the direction that flex items are laid out in. \n//\n// Values: row | row-reverse | column | column-reverse\n// Default: row\n//\n// http://w3.org/tr/css3-flexbox/#flex-direction-property\n\n@mixin flex-direction($value: row) {\n @if $value == row-reverse {\n -webkit-box-direction: reverse;\n -webkit-box-orient: horizontal;\n } @else if $value == column {\n -webkit-box-direction: normal;\n -webkit-box-orient: vertical;\n } @else if $value == column-reverse {\n -webkit-box-direction: reverse;\n -webkit-box-orient: vertical;\n } @else {\n -webkit-box-direction: normal;\n -webkit-box-orient: horizontal;\n }\n -webkit-flex-direction: $value;\n -moz-flex-direction: $value;\n -ms-flex-direction: $value;\n flex-direction: $value;\n}\n // Shorter version:\n @mixin flex-dir($args...) { @include flex-direction($args...); }\n\n//----------------------------------------------------------------------\n\n// Flexbox Wrap\n//\n// The 'flex-wrap' property controls whether the flex container is single-line\n// or multi-line, and the direction of the cross-axis, which determines\n// the direction new lines are stacked in. \n//\n// Values: nowrap | wrap | wrap-reverse\n// Default: nowrap\n//\n// http://w3.org/tr/css3-flexbox/#flex-wrap-property\n\n@mixin flex-wrap($value: nowrap) {\n // No Webkit Box fallback.\n -webkit-flex-wrap: $value;\n -moz-flex-wrap: $value;\n @if $value == nowrap {\n -ms-flex-wrap: none;\n } @else { \n -ms-flex-wrap: $value; \n }\n flex-wrap: $value;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Flow (shorthand)\n//\n// The 'flex-flow' property is a shorthand for setting the 'flex-direction'\n// and 'flex-wrap' properties, which together define the flex container's\n// main and cross axes.\n//\n// Values: | \n// Default: row nowrap\n//\n// http://w3.org/tr/css3-flexbox/#flex-flow-property\n\n@mixin flex-flow($values: (row nowrap)) {\n // No Webkit Box fallback.\n -webkit-flex-flow: $values;\n -moz-flex-flow: $values;\n -ms-flex-flow: $values;\n flex-flow: $values;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Order\n//\n// The 'order' property controls the order in which flex items appear within\n// their flex container, by assigning them to ordinal groups.\n//\n// Default: 0\n//\n// http://w3.org/tr/css3-flexbox/#order-property\n\n@mixin order($int: 0) {\n -webkit-box-ordinal-group: $int + 1;\n -webkit-order: $int;\n -moz-order: $int;\n -ms-flex-order: $int;\n order: $int;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Grow\n//\n// The 'flex-grow' property sets the flex grow factor. Negative numbers\n// are invalid.\n//\n// Default: 0\n//\n// http://w3.org/tr/css3-flexbox/#flex-grow-property\n\n@mixin flex-grow($int: 0) {\n -webkit-box-flex: $int;\n -webkit-flex-grow: $int;\n -moz-flex-grow: $int;\n -ms-flex-positive: $int;\n flex-grow: $int;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Shrink\n//\n// The 'flex-shrink' property sets the flex shrink factor. Negative numbers\n// are invalid.\n//\n// Default: 1\n//\n// http://w3.org/tr/css3-flexbox/#flex-shrink-property\n\n@mixin flex-shrink($int: 1) {\n -webkit-flex-shrink: $int;\n -moz-flex-shrink: $int;\n -ms-flex-negative: $int;\n flex-shrink: $int;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Basis\n//\n// The 'flex-basis' property sets the flex basis. Negative lengths are invalid. \n//\n// Values: Like \"width\" \n// Default: auto\n//\n// http://www.w3.org/TR/css3-flexbox/#flex-basis-property\n\n@mixin flex-basis($value: auto) {\n -webkit-flex-basis: $value;\n -moz-flex-basis: $value;\n -ms-flex-preferred-size: $value;\n flex-basis: $value;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox \"Flex\" (shorthand)\n//\n// The 'flex' property specifies the components of a flexible length: the\n// flex grow factor and flex shrink factor, and the flex basis. When an\n// element is a flex item, 'flex' is consulted instead of the main size\n// property to determine the main size of the element. If an element is\n// not a flex item, 'flex' has no effect.\n//\n// Values: none | || \n// Default: See individual properties (1 1 0).\n//\n// http://w3.org/tr/css3-flexbox/#flex-property\n\n@mixin flex($fg: 1, $fs: null, $fb: null) {\n \n // Set a variable to be used by box-flex properties\n $fg-boxflex: $fg;\n\n // Box-Flex only supports a flex-grow value so let's grab the\n // first item in the list and just return that.\n @if type-of($fg) == 'list' {\n $fg-boxflex: nth($fg, 1);\n }\n\n -webkit-box-flex: $fg-boxflex;\n -webkit-flex: $fg $fs $fb;\n -moz-box-flex: $fg-boxflex;\n -moz-flex: $fg $fs $fb;\n -ms-flex: $fg $fs $fb;\n flex: $fg $fs $fb;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Justify Content\n//\n// The 'justify-content' property aligns flex items along the main axis\n// of the current line of the flex container. This is done after any flexible\n// lengths and any auto margins have been resolved. Typically it helps distribute\n// extra free space leftover when either all the flex items on a line are\n// inflexible, or are flexible but have reached their maximum size. It also\n// exerts some control over the alignment of items when they overflow the line.\n//\n// Note: 'space-*' values not supported in older syntaxes.\n//\n// Values: flex-start | flex-end | center | space-between | space-around\n// Default: flex-start\n//\n// http://w3.org/tr/css3-flexbox/#justify-content-property\n\n@mixin justify-content($value: flex-start) {\n @if $value == flex-start {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n } @else if $value == flex-end {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n } @else if $value == space-between {\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n } @else if $value == space-around {\n -ms-flex-pack: distribute; \n } @else {\n -webkit-box-pack: $value;\n -ms-flex-pack: $value;\n }\n -webkit-justify-content: $value;\n -moz-justify-content: $value;\n justify-content: $value;\n}\n // Shorter version:\n @mixin flex-just($args...) { @include justify-content($args...); }\n\n//----------------------------------------------------------------------\n\n// Flexbox Align Items\n//\n// Flex items can be aligned in the cross axis of the current line of the\n// flex container, similar to 'justify-content' but in the perpendicular\n// direction. 'align-items' sets the default alignment for all of the flex\n// container's items, including anonymous flex items. 'align-self' allows\n// this default alignment to be overridden for individual flex items. (For\n// anonymous flex items, 'align-self' always matches the value of 'align-items'\n// on their associated flex container.) \n//\n// Values: flex-start | flex-end | center | baseline | stretch\n// Default: stretch\n//\n// http://w3.org/tr/css3-flexbox/#align-items-property\n\n@mixin align-items($value: stretch) {\n @if $value == flex-start {\n -webkit-box-align: start;\n -ms-flex-align: start;\n } @else if $value == flex-end {\n -webkit-box-align: end;\n -ms-flex-align: end;\n } @else {\n -webkit-box-align: $value;\n -ms-flex-align: $value;\n }\n -webkit-align-items: $value;\n -moz-align-items: $value;\n align-items: $value;\n}\n\n//----------------------------------\n\n// Flexbox Align Self\n//\n// Values: auto | flex-start | flex-end | center | baseline | stretch\n// Default: auto\n\n@mixin align-self($value: auto) {\n // No Webkit Box Fallback.\n -webkit-align-self: $value;\n -moz-align-self: $value;\n @if $value == flex-start {\n -ms-flex-item-align: start;\n } @else if $value == flex-end {\n -ms-flex-item-align: end;\n } @else {\n -ms-flex-item-align: $value;\n }\n align-self: $value;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Align Content\n//\n// The 'align-content' property aligns a flex container's lines within the\n// flex container when there is extra space in the cross-axis, similar to\n// how 'justify-content' aligns individual items within the main-axis. Note,\n// this property has no effect when the flexbox has only a single line.\n//\n// Values: flex-start | flex-end | center | space-between | space-around | stretch\n// Default: stretch\n//\n// http://w3.org/tr/css3-flexbox/#align-content-property\n\n@mixin align-content($value: stretch) {\n // No Webkit Box Fallback.\n -webkit-align-content: $value;\n -moz-align-content: $value;\n @if $value == flex-start {\n -ms-flex-line-pack: start;\n } @else if $value == flex-end {\n -ms-flex-line-pack: end;\n } @else {\n -ms-flex-line-pack: $value;\n }\n align-content: $value;\n}\n"],"file":"styles.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../_sass/_normalize.scss","../_sass/sassline-base/_reset.scss","../_sass/sassline-base/_typography.scss","../_sass/sassline-base/_mixins.scss","../_sass/_settings.scss","../_sass/_syntax.scss","../_sass/_theme.scss","../_sass/_flex.scss"],"names":[],"mappings":"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","sourcesContent":["/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */\n\n/**\n * 1. Change the default font family in all browsers (opinionated).\n * 2. Prevent adjustments of font size after orientation changes in IE and iOS.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove the margin in all browsers (opinionated).\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Add the correct display in IE 9-.\n * 1. Add the correct display in Edge, IE, and Firefox.\n * 2. Add the correct display in IE.\n */\n\narticle,\naside,\ndetails, /* 1 */\nfigcaption,\nfigure,\nfooter,\nheader,\nmain, /* 2 */\nmenu,\nnav,\nsection,\nsummary { /* 1 */\n display: block;\n}\n\n/**\n * Add the correct display in IE 9-.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n}\n\n/**\n * Add the correct display in iOS 4-7.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Add the correct display in IE 10-.\n * 1. Add the correct display in IE.\n */\n\ntemplate, /* 1 */\n[hidden] {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * 1. Remove the gray background on active links in IE 10.\n * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.\n */\n\na {\n background-color: transparent; /* 1 */\n -webkit-text-decoration-skip: objects; /* 2 */\n}\n\n/**\n * Remove the outline on focused links when they are also active or hovered\n * in all browsers (opinionated).\n */\n\na:active,\na:hover {\n outline-width: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * 1. Remove the bottom border in Firefox 39-.\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Prevent the duplicate application of `bolder` by the next rule in Safari 6.\n */\n\nb,\nstrong {\n font-weight: inherit;\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * Add the correct font style in Android 4.3-.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Add the correct background and color in IE 9-.\n */\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10-.\n */\n\nimg {\n border-style: none;\n}\n\n/**\n * Hide the overflow in IE.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct margin in IE 8.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change font properties to `inherit` in all browsers (opinionated).\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\nselect,\ntextarea {\n font: inherit; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Restore the font weight unset by the previous rule.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n * controls in Android 4.\n * 2. Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\nhtml [type=\"button\"], /* 1 */\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Change the border, margin, and padding in all browsers (opinionated).\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Remove the default vertical scrollbar in IE.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10-.\n * 2. Remove the padding in IE 10-.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.\n */\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Correct the text style of placeholders in Chrome, Edge, and Safari.\n */\n\n::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.54;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n","// Reset\n// ---------------------------------------\n\n// Reset all the things\n* { box-sizing: border-box; }\nhtml, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }\narticle, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }\nhtml, body { height: 100%; }\na img { border: none; }\nblockquote { quotes: none; }\nblockquote:before, blockquote:after { content: ''; content: none; }\ntable { border-collapse: collapse; border-spacing: 0; }\ncaption, th, td { text-align: left; font-weight: normal; vertical-align: middle; }\n","// Typography\n// ---------------------------------------\n\n// Setting root sizes and base styles.\nhtml {\n @include rootsize;\n\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n}\n\n// Site-wide base styles.\nbody {\n @include fontsize(zeta, all);\n\n font-family: unquote(map-get($bodytype, font-family));\n font-style: normal;\n font-weight: map-get($bodytype, regular);\n line-height: 2rem;\n}\n\n// Links.\na {\n color: $linkColour;\n text-decoration: none;\n transition: color .1s, background-color .1s;\n\n &:hover, &:active, &:focus {\n color: $hoverColour;\n text-decoration: none;\n }\n}\n\n// Styles for typeset text.\n.typeset {\n\n // Nice underlines for text links.\n p a, li a {\n background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0) 50%,$linkColour 50%);\n background-position: 0 93%;\n background-repeat: repeat-x;\n background-size: 100% 0.15rem;\n text-shadow: 0.1rem 0 $backgroundColour,\n 0.15rem 0 $backgroundColour,\n -0.1rem 0 $backgroundColour,\n -0.15rem 0 $backgroundColour;\n\n &:hover, &:active, &:focus {\n background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0) 50%,$hoverColour 50%);\n }\n }\n\n // Paragraphs. OpenType ligatures and oldstyle figures enabled if available.\n p {\n @include baseline($fontsize: zeta, $font: $bodytype, $lineheight: 2, $below: 2, $breakpoint: all);\n\n font-feature-settings: 'kern', 'onum', 'liga';\n }\n\n // Headings. OpenType ligatures, discretionary ligatures and lining figures enabled if available.\n h1, h2, h3, h4, h5, h6 {\n color: $headingColour;\n font-family: unquote(map-get($headingtype, font-family));\n font-feature-settings: 'dlig', 'liga', 'lnum', 'kern';\n font-style: normal;\n font-weight: map-get($headingtype, bold);\n }\n\n // Heading level 1.\n h1, .alpha {\n @include sassline($fontsize: alpha, $font: $headingtype, $lineheight: 3, $below: 1, $breakpoint: all);\n }\n\n // Heading level 2.\n h2, .beta {\n @include sassline(beta, $headingtype, 3, 1, all);\n }\n\n // Heading level 3.\n h3, .gamma {\n @include sassline(gamma, $headingtype, 3, 1, all);\n }\n\n // Heading level 4.\n h4, .delta {\n @include sassline(delta, $headingtype, 2, 0, all);\n }\n\n // Heading level 5.\n h5, .epsilon {\n @include sassline(epsilon, $headingtype, 2, 0, all);\n }\n\n // Heading level 6.\n h6, .zeta {\n @include sassline(zeta, $headingtype, 2, 0, all);\n }\n\n // Lists.\n ul, ol {\n @include baseline(zeta, $bodytype, 2, 2, all);\n\n li {\n font-feature-settings: 'kern', 'onum', 'liga';\n margin-left: 2rem;\n\n @include breakpoint(break-1) {\n margin-left: 0;\n }\n\n ol, ul {\n padding-top: 1rem;\n margin-bottom: 1rem;\n margin-left: 2rem;\n }\n }\n }\n\n // Ordered lists.\n ol {\n list-style-type: none;\n\n li {\n counter-increment: top-level;\n\n &:before {\n content: counter(top-level) '.';\n font-feature-settings: 'lnum', 'tnum';\n margin-left: -3rem;\n position: absolute;\n text-align: right;\n width: 2em;\n }\n\n ul {\n\n li {\n\n &:before {\n content: '';\n }\n\n ol {\n\n li {\n counter-increment: alt-level;\n\n &:before {\n content: counter(alt-level) '.';\n }\n }\n }\n }\n }\n\n ol {\n\n li {\n counter-increment: sub-level;\n\n &:before {\n content: counter(top-level) '.' counter(sub-level);\n }\n\n ul {\n\n li {\n\n &:before {\n content: '';\n }\n }\n }\n\n ol {\n\n li {\n counter-increment: sub-sub-level;\n\n &:before {\n content: counter(top-level) '.' counter(sub-level) '.' counter(sub-sub-level);\n }\n }\n }\n }\n }\n }\n }\n\n // Definition lists.\n dl {\n @include baseline(zeta, $bodytype, 2, 2, all);\n\n dt, dd {\n font-feature-settings: 'kern', 'onum', 'liga';\n margin-left: 2rem;\n\n @include breakpoint(break-1) {\n margin-left: 0;\n }\n }\n\n dt {\n font-weight: map-get($bodytype, bold);\n }\n\n dd + dt {\n padding-top: 1rem;\n }\n }\n\n // Tables.\n table {\n @include sassline(eta, $headingtype, 2, 0, all);\n\n font-family: unquote(map-get($headingtype, font-family));\n font-feature-settings: 'liga', 'lnum', 'tnum', 'kern';\n font-style: normal;\n font-weight: map-get($headingtype, regular);\n width: 100%;\n\n thead {\n\n th {\n @include sassline(zeta, $headingtype, 2, 0, all);\n padding-bottom: 1px;\n }\n }\n }\n\n // Bold.\n b, strong, .bold {\n font-weight: map-get($bodytype, bold);\n }\n\n // Italic.\n em, i, .italic {\n font-style: map-get($bodytype, italic);\n }\n\n // Caption and inline small text.\n small, .caption {\n @include fontsize(theta, all);\n\n font-family: unquote(map-get($headingtype, font-family));\n font-style: normal;\n font-weight: map-get($headingtype, regular);\n }\n\n small {\n line-height: 1rem;\n }\n\n .caption {\n @include baseline(theta, $headingtype, 2, 2, all);\n\n color: $captionColour;\n }\n\n // Nice spacing for captions.\n h1 + .caption, .alpha + .caption, h2 + .caption, .beta + .caption, h3 + .caption, .gamma + .caption {\n margin-top: -1rem;\n }\n\n .delta + .caption, .epsilon + .caption, .zeta + .caption {\n margin-top: 0rem;\n }\n\n // Quotes.\n blockquote {\n\n p {\n border-left: 0.15rem solid $linkColour;\n font-style: map-get($bodytype, italic);\n padding-left: 1rem;\n\n // Add spacing below blockquote paragraphs to align to baseline grid.\n $get-scale: map-get($modular-scale, scale-0);\n $get-size: map-get($get-scale, zeta);\n $rootsize: nth($sizes, 1);\n $baseline-shift: #{($get-size / 2 * ((2 * $rootsize / $get-size) - map-get($bodytype, cap-height))) / $rootsize + 0.00001};\n $baseline-push: #{3 - (($get-size * ((2 * $rootsize / $get-size) - map-get($bodytype, cap-height))) / $rootsize + 0.00001)};\n\n margin-bottom: #{$baseline-push}rem;\n padding-bottom: #{$baseline-shift}rem;\n\n @for $i from 2 through $breakpoints-limit {\n $get-scale: map-get($modular-scale, scale-#{$i - 1});\n $get-size: map-get($get-scale, zeta);\n $rootsize: nth($sizes, $i);\n $baseline-shift: #{($get-size / 2 * ((2 * $rootsize / $get-size) - map-get($bodytype, cap-height))) / $rootsize + 0.00001};\n $baseline-push: #{3 - (($get-size * ((2 * $rootsize / $get-size) - map-get($bodytype, cap-height))) / $rootsize + 0.00001)};\n\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n margin-bottom: #{$baseline-push}rem;\n padding-bottom: #{$baseline-shift}rem;\n }\n }\n }\n\n @include breakpoint(break-1) {\n margin-left: -1rem;\n }\n }\n\n // Horizontal rule.\n hr {\n background-image: linear-gradient(to bottom,rgba(0, 0, 0, 0) 50%,$captionColour 50%);\n background-position: 0 50%;\n background-repeat: repeat-x;\n background-size: 100% 0.15rem;\n border: 0;\n margin: 0;\n padding-bottom: 3rem;\n padding-top: 3rem;\n }\n\n // Code block.\n code, pre {\n background-color: $codeBackgroundColour;\n font-family: unquote(map-get($monospacetype, font-family));\n }\n\n pre {\n display: block;\n margin-bottom: 2rem;\n padding: 1rem;\n white-space: pre;\n white-space: pre-wrap;\n word-break: break-all;\n word-wrap: break-word;\n }\n\n code {\n @include fontsize(theta, all);\n\n line-height: 1rem;\n }\n\n // Letter space those capitals people, Jan Tschichold would be proud.\n .upper {\n font-kerning: normal;\n letter-spacing: 0.1rem;\n text-transform: uppercase;\n }\n\n // Real small caps.\n .small-caps {\n font-feature-settings: 'smcp', 'kern';\n font-kerning: normal;\n letter-spacing: 0.1rem;\n }\n\n // Consistent height numbers with OpenType.\n .lining-numerals {\n font-feature-settings: 'lnum', 'kern';\n }\n\n // Ascending and descending numbers with OpenType.\n .oldstyle-numerals {\n font-feature-settings: 'onum', 'kern';\n }\n}\n","// SCSS mixins\n// ---------------------------------------\n\n// Global variables used in mixins.\n\n// Number of breakpoints.\n$breakpoints-limit: length($breakpoints);\n\n// List of rootsizes, breakpoints, and max-widths.\n$sizes: map-values($rootsizes);\n$points: map-values($breakpoints);\n$line-widths: map-values($measures);\n$max-widths: map-values($maxwidths);\n\n\n// Breakpoints. Either set one to one of the breakpoint variables, or use a custom value for minor breakpoints.\n// Defaults to min-width, but both min->max and max-width are available too.\n// Parts based on https://gist.github.com/timknight/03e6335b8816aa534cf7\n@mixin breakpoint($break: 0, $max: 0) {\n // Type of break variable\n $value: type-of($break);\n\n // If it is a string (i.e. a breakpoint variable).\n @if $value == string {\n // If using 'break-1', 'break-2' etc output the correct breakpoints from map.\n @if map-has-key($breakpoints, $break) {\n @media screen and (min-width: #{map-get($breakpoints, $break) / 16 * 1em} ) { @content; }\n } @else {\n @warn \"#{$break} is not a set breakpoint variable\";\n }\n\n // If it is a number, use this for the breakpoint.\n } @else if $value == number {\n // If using other numbers output value in ems either for min, min & max or max width breakpoints.\n $query: \"all\" !default;\n @if $break != 0 and $max != 0 { $query: \"(min-width: #{$break / 16 * 1em}) and (max-width: #{$max / 16 * 1em})\"; }\n @else if $break != 0 and $max == 0 { $query: \"(min-width: #{$break / 16 * 1em})\"; }\n @else if $break == 0 and $max != 0 { $query: \"(max-width: #{$max / 16 * 1em})\"; }\n @media #{$query} { @content; }\n\n } @else {\n @warn \"#{$break} is not valid to use as a breakpoint\";\n }\n}\n\n// Root font-size in %, outputted in correct breakpoints.\n@mixin rootsize {\n font-size: nth($sizes, 1) / 16 * 100%;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n font-size: nth($sizes, $i) / 16 * 100%;\n }\n }\n}\n\n// Max-widths for typeset containers, outputted in correct breakpoints.\n@mixin maxwidth($breakpoint: 0) {\n // Type of chosen variables.\n $break-value: type-of($breakpoint);\n\n // If specifying a breakpoint to use (and breakpoint exists).\n @if $break-value == number and $breakpoint <= ($breakpoints-limit - 1) and $breakpoint >= 0 {\n\n max-width: #{nth($max-widths, ($breakpoint + 1)) / nth($sizes, ($breakpoint + 1))}rem;\n\n } @else if $breakpoint == all {\n max-width: #{nth($max-widths, 1) / nth($sizes, 1)}rem;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n max-width: #{nth($max-widths, $i) / nth($sizes, $i)}rem;\n }\n }\n }\n}\n\n// Set the measure for single columns, outputted in correct breakpoints.\n@mixin measure($breakpoint: 0) {\n // Type of chosen variables.\n $break-value: type-of($breakpoint);\n\n // If specifying a breakpoint to use (and breakpoint exists).\n @if $break-value == number and $breakpoint <= ($breakpoints-limit - 1) and $breakpoint >= 0 {\n\n max-width: #{nth($line-widths, ($breakpoint + 1)) / nth($sizes, ($breakpoint + 1))}rem;\n\n } @else if $breakpoint == all {\n max-width: #{nth($line-widths, 1) / nth($sizes, 1)}rem;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n max-width: #{nth($line-widths, $i) / nth($sizes, $i)}rem;\n }\n }\n }\n}\n\n// Calculate percentage width of container to get optimal measure for main text columns.\n// Defaults to all breakpoints.\n// Note: will not output for base breakpoint as this comes from the 'measure' mixin.\n@mixin ideal-measure($breakpoint: 0, $gutter: 0, $main: true, $output: max-width) {\n // Type of chosen variables.\n $break-value: type-of($breakpoint);\n\n // If specifying a breakpoint to use (and breakpoint exists and is larger than 0).\n @if $break-value == number and $breakpoint <= ($breakpoints-limit - 1) and $breakpoint > 0 {\n\n @if $gutter == small {\n $gutter: map-get($gutterwidths, small) * 2 / 1rem;\n } @else if $gutter == medium {\n $gutter: map-get($gutterwidths, medium) * 2 / 1rem;\n } @else if $gutter == large {\n $gutter: map-get($gutterwidths, large) * 2 / 1rem;\n } @else {\n $gutter: 0;\n }\n\n $rootsize: map-get($rootsizes, rootsize-#{$breakpoint});\n $ideal-measure: map-get($measures, measure-#{$breakpoint});\n $gutter-size: ($gutter * $rootsize);\n $container-width: map-get($maxwidths, width-#{$breakpoint});\n\n $percentage: percentage(($ideal-measure + $gutter-size) / $container-width);\n\n @if $percentage < 55 {\n $percentage: 55%;\n } @else if $percentage > 65 {\n $percentage: 65%;\n }\n\n @if $main == false {\n $percentage: 100 - $percentage;\n }\n\n #{$output}: $percentage;\n }\n}\n\n// Value in scale in $modular-scale?\n// Used in following fontsize mixin.\n@function in-modular-scale($scale, $key) {\n $map: map-get($modular-scale, $scale);\n $output: map-has-key($map, $key);\n @return $output;\n}\n\n// Font-size in rems. Either set per breakpoint or for all.\n// Use values as you would for pixels i.e. 16 or use values from the modular scale.\n@mixin fontsize($fontsize, $breakpoint: 0) {\n // Type of chosen variables.\n $font-value: type-of($fontsize);\n $break-value: type-of($breakpoint);\n\n // Check if value exists in scale.\n $in-scale: in-modular-scale(scale-0, $fontsize);\n\n // If specifying a breakpoint to use (and breakpoint exists).\n @if $break-value == number and $breakpoint <= ($breakpoints-limit - 1) and $breakpoint >= 0 {\n\n // If using a number for fontsize.\n @if $font-value == number {\n font-size: #{$fontsize / nth($sizes, ($breakpoint + 1))}rem;\n\n // If using a variable from the scale for fontsize.\n } @else if $in-scale == true {\n $get-scale: map-get($modular-scale, scale-#{$breakpoint});\n $get-size: map-get($get-scale, $fontsize);\n\n font-size: #{$get-size / nth($sizes, ($breakpoint + 1))}rem;\n\n } @else {\n @warn \"#{$fontsize} is not a valid scale variable\";\n }\n\n // If want to use value for all breakpoints.\n } @else if $breakpoint == all {\n\n // If using a number for fontsize.\n @if $font-value == number {\n font-size: #{$fontsize / nth($sizes, 1)}rem;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n font-size: #{$fontsize / nth($sizes, $i)}rem;\n }\n }\n\n // If using a variable from the scale for fontsize.\n } @else if $in-scale == true {\n $get-scale: map-get($modular-scale, scale-0);\n $get-size: map-get($get-scale, $fontsize);\n font-size: #{$get-size / nth($sizes, 1)}rem;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n $get-scale: map-get($modular-scale, scale-#{$i - 1});\n $get-size: map-get($get-scale, $fontsize);\n\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n font-size: #{$get-size / nth($sizes, $i)}rem;\n }\n }\n\n } @else {\n @warn \"#{$fontsize} is not a valid scale variable\";\n }\n\n } @else {\n @warn \"#{$breakpoint} is not valid to use as a breakpoint\";\n }\n}\n\n// Advanced baseline magic.\n// ! Read the README to help understand what is going on here.\n// Parts based on https://gist.github.com/razwan/10662500\n@mixin baseline($fontsize, $font, $lineheight: 2, $below: 2, $breakpoint: 0) {\n // Type of chosen variables.\n $font-value: type-of($fontsize);\n $break-value: type-of($breakpoint);\n\n // Cap height\n $cap-height: map-get($font, cap-height);\n\n // Check if value exists in scale.\n $in-scale: in-modular-scale(scale-0, $fontsize);\n\n // Set the line-height (if it isn't set at 0).\n @if $lineheight != 0 {\n line-height: #{$lineheight}rem;\n }\n\n // If specifying a breakpoint to use (and breakpoint exists).\n @if $break-value == number and $breakpoint <= ($breakpoints-limit - 1) and $breakpoint >= 0 {\n\n // If using a number for fontsize.\n @if $font-value == number {\n $rootsize: nth($sizes, ($breakpoint + 1));\n $baseline-shift: #{($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001)};\n\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n // If using a variable from the scale for fontsize.\n } @else if $in-scale == true {\n $get-scale: map-get($modular-scale, scale-#{$breakpoint});\n $get-size: map-get($get-scale, $fontsize);\n $rootsize: nth($sizes, ($breakpoint + 1));\n\n $baseline-shift: #{($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001)};\n\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n } @else {\n @warn \"#{$fontsize} is not a valid scale variable\";\n }\n\n // If want to use value for all breakpoints.\n } @else if $breakpoint == all {\n\n // If using a number for fontsize.\n @if $font-value == number {\n $rootsize: nth($sizes, 1);\n $baseline-shift: #{($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001)};\n\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n $rootsize: nth($sizes, $i);\n $baseline-shift: #{($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001)};\n\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n }\n }\n\n // If using a variable from the scale for fontsize.\n } @else if $in-scale == true {\n $get-scale: map-get($modular-scale, scale-0);\n $get-size: map-get($get-scale, $fontsize);\n $rootsize: nth($sizes, 1);\n\n $baseline-shift: #{($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001)};\n\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n // Loop through breakpoints.\n @for $i from 2 through $breakpoints-limit {\n $get-scale: map-get($modular-scale, scale-#{$i - 1});\n $get-size: map-get($get-scale, $fontsize);\n $rootsize: nth($sizes, $i);\n\n $baseline-shift: #{($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001)};\n\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n }\n }\n\n } @else {\n @warn \"#{$fontsize} is not a valid scale variable\";\n }\n\n } @else {\n @warn \"#{$breakpoint} is not valid to use as a breakpoint\";\n }\n}\n\n// Set fontsize and baseline at once. Mix of fontsize and baseline mixin.\n@mixin sassline($fontsize, $font, $lineheight: 2, $below: 2, $breakpoint: 0) {\n $font-value: type-of($fontsize);\n $break-value: type-of($breakpoint);\n $cap-height: map-get($font, cap-height);\n $in-scale: in-modular-scale(scale-0, $fontsize);\n\n line-height: #{$lineheight}rem;\n\n @if $break-value == number and $breakpoint <= ($breakpoints-limit - 1) and $breakpoint >= 0 {\n\n @if $font-value == number {\n $rootsize: nth($sizes, ($breakpoint + 1));\n $baseline-shift: #{($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001)};\n font-size: #{$fontsize / nth($sizes, ($breakpoint + 1))}rem;\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n } @else if $in-scale == true {\n $get-scale: map-get($modular-scale, scale-#{$breakpoint});\n $get-size: map-get($get-scale, $fontsize);\n $rootsize: nth($sizes, ($breakpoint + 1));\n $baseline-shift: #{($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001)};\n font-size: #{$get-size / nth($sizes, ($breakpoint + 1))}rem;\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n } @else {\n @warn \"#{$fontsize} is not a valid scale variable\";\n }\n\n } @else if $breakpoint == all {\n\n @if $font-value == number {\n $rootsize: nth($sizes, 1);\n $baseline-shift: #{($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001)};\n font-size: #{$fontsize / nth($sizes, 1)}rem;\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n @for $i from 2 through $breakpoints-limit {\n $rootsize: nth($sizes, $i);\n $baseline-shift: #{($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($fontsize / 2 * (($lineheight * $rootsize / $fontsize) - $cap-height)) / $rootsize + 0.00001)};\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n font-size: #{$fontsize / nth($sizes, $i)}rem;\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n }\n }\n\n } @else if $in-scale == true {\n $get-scale: map-get($modular-scale, scale-0);\n $get-size: map-get($get-scale, $fontsize);\n $rootsize: nth($sizes, 1);\n $baseline-shift: #{($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001)};\n font-size: #{$get-size / nth($sizes, 1)}rem;\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n\n @for $i from 2 through $breakpoints-limit {\n $get-scale: map-get($modular-scale, scale-#{$i - 1});\n $get-size: map-get($get-scale, $fontsize);\n $rootsize: nth($sizes, $i);\n $baseline-shift: #{($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001};\n $baseline-push: #{$below - (($get-size / 2 * (($lineheight * $rootsize / $get-size) - $cap-height)) / $rootsize + 0.00001)};\n @media screen and (min-width: nth($points, $i) / 16 * 1em ) {\n font-size: #{$get-size / nth($sizes, $i)}rem;\n margin-bottom: #{$baseline-push}rem;\n padding-top: #{$baseline-shift}rem;\n }\n }\n\n } @else {\n @warn \"#{$fontsize} is not a valid scale variable\";\n }\n\n } @else {\n @warn \"#{$breakpoint} is not valid to use as a breakpoint\";\n }\n}\n\n// Clearfix.\n@mixin clearfix {\n &:before, &:after{\n display: table;\n content: \"\";\n }\n &:after{\n clear: both;\n }\n}\n","// Background colours\n$backgroundColour: #2b2a2a !default;\n$codeBackgroundColour: #fafafa !default;\n$featureBackgroundColour: #f9fafa !default;\n$accentColour: #05bf85 !default;\n\n// Text colours\n$headingColour: #9ea5a3 !default;\n$bodyColour: #ffffff !default;\n$linkColour: #a6b2af !default;\n$hoverColour: #384743 !default;\n$focusColour: #fa407a !default;\n$captionColour: #a8adac !default;\n$white: #ffffff !default;\n\n// Typography\n$bodytype: (\n font-family: \"Georgia, serif\",\n regular: 400,\n bold: 700,\n italic: italic,\n cap-height: 0.75\n) !default;\n\n$headingtype: (\n font-family: '\"Merriweather\", serif',\n regular: 400,\n bold: 700,\n cap-height: 0.75\n) !default;\n\n$monospacetype: (\n font-family: \"Menlo, monospace\",\n regular: 400,\n cap-height: 0.68\n) !default;\n\n// TIP: Load custom fonts in _config.yaml\n",".hll { background-color: #ffffcc }\n.c { color: #999988; font-style: italic } /* Comment */\n.err { color: #a61717; background-color: #e3d2d2 } /* Error */\n.k { color: #000000; font-weight: bold } /* Keyword */\n.o { color: #000000; font-weight: bold } /* Operator */\n.cm { color: #999988; font-style: italic } /* Comment.Multiline */\n.cp { color: #999999; font-weight: bold; font-style: italic } /* Comment.Preproc */\n.c1 { color: #999988; font-style: italic } /* Comment.Single */\n.cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */\n.gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */\n.ge { color: #000000; font-style: italic } /* Generic.Emph */\n.gr { color: #aa0000 } /* Generic.Error */\n.gh { color: #999999 } /* Generic.Heading */\n.gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */\n.go { color: #888888 } /* Generic.Output */\n.gp { color: #555555 } /* Generic.Prompt */\n.gs { font-weight: bold } /* Generic.Strong */\n.gu { color: #aaaaaa } /* Generic.Subheading */\n.gt { color: #aa0000 } /* Generic.Traceback */\n.kc { color: #000000; font-weight: bold } /* Keyword.Constant */\n.kd { color: #000000; font-weight: bold } /* Keyword.Declaration */\n.kn { color: #000000; font-weight: bold } /* Keyword.Namespace */\n.kp { color: #000000; font-weight: bold } /* Keyword.Pseudo */\n.kr { color: #000000; font-weight: bold } /* Keyword.Reserved */\n.kt { color: #445588; font-weight: bold } /* Keyword.Type */\n.m { color: #009999 } /* Literal.Number */\n.s { color: #d01040 } /* Literal.String */\n.na { color: #008080 } /* Name.Attribute */\n.nb { color: #0086B3 } /* Name.Builtin */\n.nc { color: #445588; font-weight: bold } /* Name.Class */\n.no { color: #008080 } /* Name.Constant */\n.nd { color: #3c5d5d; font-weight: bold } /* Name.Decorator */\n.ni { color: #800080 } /* Name.Entity */\n.ne { color: #990000; font-weight: bold } /* Name.Exception */\n.nf { color: #990000; font-weight: bold } /* Name.Function */\n.nl { color: #990000; font-weight: bold } /* Name.Label */\n.nn { color: #555555 } /* Name.Namespace */\n.nt { color: #000080 } /* Name.Tag */\n.nv { color: #008080 } /* Name.Variable */\n.ow { color: #000000; font-weight: bold } /* Operator.Word */\n.w { color: #bbbbbb } /* Text.Whitespace */\n.mf { color: #009999 } /* Literal.Number.Float */\n.mh { color: #009999 } /* Literal.Number.Hex */\n.mi { color: #009999 } /* Literal.Number.Integer */\n.mo { color: #009999 } /* Literal.Number.Oct */\n.sb { color: #d01040 } /* Literal.String.Backtick */\n.sc { color: #d01040 } /* Literal.String.Char */\n.sd { color: #d01040 } /* Literal.String.Doc */\n.s2 { color: #d01040 } /* Literal.String.Double */\n.se { color: #d01040 } /* Literal.String.Escape */\n.sh { color: #d01040 } /* Literal.String.Heredoc */\n.si { color: #d01040 } /* Literal.String.Interpol */\n.sx { color: #d01040 } /* Literal.String.Other */\n.sr { color: #009926 } /* Literal.String.Regex */\n.s1 { color: #d01040 } /* Literal.String.Single */\n.ss { color: #990073 } /* Literal.String.Symbol */\n.bp { color: #999999 } /* Name.Builtin.Pseudo */\n.vc { color: #008080 } /* Name.Variable.Class */\n.vg { color: #008080 } /* Name.Variable.Global */\n.vi { color: #008080 } /* Name.Variable.Instance */\n.il { color: #009999 } /* Literal.Number.Integer.Long */\n","// Structural elements\nbody {\n background: $backgroundColour;\n color: $bodyColour;\n height: 100%;\n display: flex;\n @include flex-direction(column);\n overflow-x: hidden;\n}\n\n.container {\n width: 90%;\n max-width: 1200px;\n margin: 0 auto;\n}\n\n\n// Header, feature and footer\n.header,\n.footer {\n .nav {\n text-align: right;\n }\n .logo {\n @include flex(0 0 auto);\n }\n .container {\n @include flexbox;\n @include flex-direction(row);\n @include justify-content(space-between);\n padding: 1rem 0;\n @include breakpoint(break-1) {\n @include align-items(center);\n }\n }\n}\n\n.header .nav {\n display: flex;\n flex-direction: column-reverse;\n align-items: flex-end;\n justify-content: flex-end;\n overflow: hidden;\n}\n\n.feature {\n padding-bottom: .4rem;\n margin-bottom: 1.6rem;\n text-align: center;\n background: $featureBackgroundColour;\n background-size: cover;\n background-position: center;\n .container {\n min-height: 35vh;\n max-width: 60%;\n @include flex-direction(column);\n @include justify-content(center);\n }\n}\n\n.logo {\n display: inline-block;\n line-height: 0;\n max-height: 4rem;\n @include flexbox;\n @include align-items(center);\n img {\n max-height: 5rem;\n }\n}\n\n.nav {\n a {\n padding: .2rem;\n }\n &--social a {\n display: inline-block;\n line-height: 1;\n }\n}\n\n.small {\n padding-top: .8rem;\n color: $captionColour;\n display: inline-block;\n}\n\n.footer {\n background: $headingColour;\n color: $captionColour;\n a {\n color: $captionColour;\n &:hover {\n color: $backgroundColour;\n }\n }\n .container {\n @include flex-wrap(wrap);\n }\n .small {\n padding-top: 0;\n }\n}\n\n\n// Pagination nav\n.nav--paginator {\n @include flexbox;\n @include justify-content(space-between);\n color: $captionColour;\n text-align: center;\n}\n\n.pagination {\n min-width: 20%;\n}\n\n\n// Main content\n.main {\n @include flexbox;\n @include flex-direction(column);\n @include flex(1, 0, auto);\n @include justify-content(flex-start);\n margin-bottom: 1.6rem;\n @include breakpoint(break-1) {\n @include justify-content(center);\n @include flex-direction(row);\n }\n}\n\n.header,\n.feature,\n.footer {\n @include flex(0, 0, auto);\n}\n\n.content {\n @include breakpoint(break-1) {\n width: 62%;\n }\n}\n\n.share .button {\n margin-right: .3rem;\n}\n\n.aside {\n @include breakpoint(break-1) {\n max-width: 34%;\n margin-left: 4%;\n @include flex(1, 0, auto);\n opacity: 0.5;\n transition: opacity .1s;\n .section {\n position: sticky;\n top: 0;\n }\n &--left {\n margin-left: 0;\n margin-right: 4%;\n order: -1;\n }\n &:hover {\n opacity: 1;\n }\n }\n}\n\n.section {\n margin: 0;\n}\n\n\n// Lists\n.list {\n list-style: none;\n &--nav {\n overflow: hidden;\n margin-bottom: var(--listHeight, 0);\n }\n .item--post,\n .item--result,\n .item--category {\n margin-left: 0;\n }\n}\n\n.item {\n &--nav {\n @include breakpoint(break-1) {\n margin-left: .4rem;\n display: inline-block;\n }\n &:first-of-type {\n margin-left: 0;\n }\n }\n &--current {\n a {\n color: $captionColour;\n }\n }\n}\n\n\n// Links, icons and images\na .icon {\n transition: fill .1s;\n &:hover {\n fill: currentColor;\n }\n}\n\n.icon {\n vertical-align: middle;\n width: 1.1em;\n height: 1.1em;\n fill: CurrentColor;\n}\n\n// Media content\nimg {\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n line-height: 0;\n &--left {\n float: left;\n padding-right: .8rem;\n }\n &--right {\n float: right;\n text-align: right;\n padding-left: .8rem;\n }\n &--center {\n text-align: center;\n clear: both;\n }\n}\n\n.video,\n.map {\n position: relative;\n padding-bottom: 56.25%;\n height: 0;\n iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n.map {\n padding-bottom: 70%;\n}\n\n.figure,\n.video,\n.map,\n.form {\n margin-bottom: .8rem;\n}\n\naudio,\nvideo {\n width: 100%;\n}\n\n\n// Form elements and buttons\n.form {\n position: relative;\n &__legend {\n font-style: italic;\n color: $captionColour;\n position: absolute;\n overflow: hidden;\n right: 0;\n clip: rect(0 0 0 0);\n }\n}\n\nbutton,\n.button,\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"search\"],\ninput[type=\"submit\"],\ninput[type=\"color\"],\ntextarea,\nselect {\n padding: .6rem 1.2rem;\n margin-bottom: .6rem;\n transition: color .1s, background-color .1s, border .1s;\n line-height: inherit;\n border: none;\n box-shadow: none;\n border-radius: 0;\n -webkit-appearance: none;\n .icon {\n margin: 0 0 .35rem;\n }\n}\n\ninput[type=\"submit\"],\nbutton,\n.button {\n cursor: pointer;\n display: inline-block;\n color: $backgroundColour;\n background: $accentColour;\n transition: box-shadow .1s;\n will-change: box-shadow;\n box-shadow: inset 0 0 0 2rem transparent;\n &:hover {\n box-shadow: inset 0 0 0 2rem rgba(0,0,0,0.25);\n }\n &:active,\n &:focus {\n box-shadow: inset 0 0 0 2rem rgba(0,0,0,0.25);\n }\n}\n\n.button--nav {\n @include breakpoint(break-1) {\n display: none;\n }\n background: none;\n color: $linkColour;\n margin-bottom: 0;\n min-height: 4rem;\n min-width: 4rem;\n &:hover,\n &:focus {\n box-shadow: none;\n color: $hoverColour;\n }\n}\n\na,\nbutton,\n.button,\ninput,\ntextarea,\nselect {\n &:focus,\n &:hover:focus {\n outline: solid .12rem $focusColour;\n outline-offset: -.12rem;\n }\n}\n\na:hover:focus {\n outline: none;\n}\n\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"search\"],\ninput[type=\"color\"],\ntextarea,\nselect {\n width: 100%;\n border: 1px solid $captionColour;\n &:hover {\n border-color: $bodyColour;\n }\n}\n\nselect {\n background: $codeBackgroundColour;\n}\n\ntextarea {\n resize: vertical;\n}\n\nlabel {\n @include baseline($fontsize: zeta, $font: $bodytype, $lineheight: 2, $below: 2, $breakpoint: all);\n}\n\ncode {\n padding: .12rem .2rem;\n color: $headingColour;\n}\n\npre code {\n padding: 0;\n}\n\n.required {\n color: red;\n}\n\n::-webkit-input-placeholder {\n opacity: 0.5;\n}\n::-moz-placeholder {\n opacity: 0.5;\n}\n:-ms-input-placeholder {\n opacity: 0.5;\n}\n:-moz-placeholder {\n opacity: 0.5;\n}\n\n::selection {\n background: $headingColour;\n color: $backgroundColour;\n text-shadow: none;\n}\n\n\n// Sassline overrides\n.typeset {\n a > code {\n text-shadow: none;\n }\n .button,\n button {\n background-image: none;\n text-shadow: none;\n color: $backgroundColour;\n &:hover,\n &:active,\n &:focus {\n background-image: none;\n color: $backgroundColour;\n }\n }\n hr {\n width: 100%;\n }\n li {\n > p {\n padding: 0;\n margin: 0;\n }\n }\n .nav a {\n padding-left: 0;\n padding-right: 0;\n margin-left: .2rem;\n margin-right: .2rem;\n }\n pre {\n white-space: pre;\n overflow-x: scroll;\n }\n}\n","// Flexbox Mixins\n// http://philipwalton.github.io/solved-by-flexbox/\n// https://github.com/philipwalton/solved-by-flexbox\n// \n// Copyright (c) 2013 Brian Franco\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to\n// permit persons to whom the Software is furnished to do so, subject to\n// the following conditions:\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n//\n// This is a set of mixins for those who want to mess around with flexbox\n// using the native support of current browsers. For full support table\n// check: http://caniuse.com/flexbox\n//\n// Basically this will use:\n//\n// * Fallback, old syntax (IE10, mobile webkit browsers - no wrapping)\n// * Final standards syntax (FF, Safari, Chrome, IE11, Opera)\n//\n// This was inspired by:\n// \n// * http://dev.opera.com/articles/view/advanced-cross-browser-flexbox/\n// \n// With help from:\n// \n// * http://w3.org/tr/css3-flexbox/\n// * http://the-echoplex.net/flexyboxes/\n// * http://msdn.microsoft.com/en-us/library/ie/hh772069(v=vs.85).aspx\n// * http://css-tricks.com/using-flexbox/\n// * http://dev.opera.com/articles/view/advanced-cross-browser-flexbox/\n// * https://developer.mozilla.org/en-us/docs/web/guide/css/flexible_boxes\n\n//----------------------------------------------------------------------\n\n// Flexbox Containers\n//\n// The 'flex' value causes an element to generate a block-level flex\n// container box.\n//\n// The 'inline-flex' value causes an element to generate a inline-level\n// flex container box. \n//\n// display: flex | inline-flex\n//\n// http://w3.org/tr/css3-flexbox/#flex-containers\n//\n// (Placeholder selectors for each type, for those who rather @extend)\n\n@mixin flexbox {\n display: -webkit-box;\n display: -webkit-flex;\n display: -moz-flex;\n display: -ms-flexbox;\n display: flex;\n}\n\n%flexbox { @include flexbox; }\n\n//----------------------------------\n\n@mixin inline-flex {\n display: -webkit-inline-box;\n display: -webkit-inline-flex;\n display: -moz-inline-flex;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n\n%inline-flex { @include inline-flex; }\n\n//----------------------------------------------------------------------\n\n// Flexbox Direction\n//\n// The 'flex-direction' property specifies how flex items are placed in\n// the flex container, by setting the direction of the flex container's\n// main axis. This determines the direction that flex items are laid out in. \n//\n// Values: row | row-reverse | column | column-reverse\n// Default: row\n//\n// http://w3.org/tr/css3-flexbox/#flex-direction-property\n\n@mixin flex-direction($value: row) {\n @if $value == row-reverse {\n -webkit-box-direction: reverse;\n -webkit-box-orient: horizontal;\n } @else if $value == column {\n -webkit-box-direction: normal;\n -webkit-box-orient: vertical;\n } @else if $value == column-reverse {\n -webkit-box-direction: reverse;\n -webkit-box-orient: vertical;\n } @else {\n -webkit-box-direction: normal;\n -webkit-box-orient: horizontal;\n }\n -webkit-flex-direction: $value;\n -moz-flex-direction: $value;\n -ms-flex-direction: $value;\n flex-direction: $value;\n}\n // Shorter version:\n @mixin flex-dir($args...) { @include flex-direction($args...); }\n\n//----------------------------------------------------------------------\n\n// Flexbox Wrap\n//\n// The 'flex-wrap' property controls whether the flex container is single-line\n// or multi-line, and the direction of the cross-axis, which determines\n// the direction new lines are stacked in. \n//\n// Values: nowrap | wrap | wrap-reverse\n// Default: nowrap\n//\n// http://w3.org/tr/css3-flexbox/#flex-wrap-property\n\n@mixin flex-wrap($value: nowrap) {\n // No Webkit Box fallback.\n -webkit-flex-wrap: $value;\n -moz-flex-wrap: $value;\n @if $value == nowrap {\n -ms-flex-wrap: none;\n } @else { \n -ms-flex-wrap: $value; \n }\n flex-wrap: $value;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Flow (shorthand)\n//\n// The 'flex-flow' property is a shorthand for setting the 'flex-direction'\n// and 'flex-wrap' properties, which together define the flex container's\n// main and cross axes.\n//\n// Values: | \n// Default: row nowrap\n//\n// http://w3.org/tr/css3-flexbox/#flex-flow-property\n\n@mixin flex-flow($values: (row nowrap)) {\n // No Webkit Box fallback.\n -webkit-flex-flow: $values;\n -moz-flex-flow: $values;\n -ms-flex-flow: $values;\n flex-flow: $values;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Order\n//\n// The 'order' property controls the order in which flex items appear within\n// their flex container, by assigning them to ordinal groups.\n//\n// Default: 0\n//\n// http://w3.org/tr/css3-flexbox/#order-property\n\n@mixin order($int: 0) {\n -webkit-box-ordinal-group: $int + 1;\n -webkit-order: $int;\n -moz-order: $int;\n -ms-flex-order: $int;\n order: $int;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Grow\n//\n// The 'flex-grow' property sets the flex grow factor. Negative numbers\n// are invalid.\n//\n// Default: 0\n//\n// http://w3.org/tr/css3-flexbox/#flex-grow-property\n\n@mixin flex-grow($int: 0) {\n -webkit-box-flex: $int;\n -webkit-flex-grow: $int;\n -moz-flex-grow: $int;\n -ms-flex-positive: $int;\n flex-grow: $int;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Shrink\n//\n// The 'flex-shrink' property sets the flex shrink factor. Negative numbers\n// are invalid.\n//\n// Default: 1\n//\n// http://w3.org/tr/css3-flexbox/#flex-shrink-property\n\n@mixin flex-shrink($int: 1) {\n -webkit-flex-shrink: $int;\n -moz-flex-shrink: $int;\n -ms-flex-negative: $int;\n flex-shrink: $int;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Basis\n//\n// The 'flex-basis' property sets the flex basis. Negative lengths are invalid. \n//\n// Values: Like \"width\" \n// Default: auto\n//\n// http://www.w3.org/TR/css3-flexbox/#flex-basis-property\n\n@mixin flex-basis($value: auto) {\n -webkit-flex-basis: $value;\n -moz-flex-basis: $value;\n -ms-flex-preferred-size: $value;\n flex-basis: $value;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox \"Flex\" (shorthand)\n//\n// The 'flex' property specifies the components of a flexible length: the\n// flex grow factor and flex shrink factor, and the flex basis. When an\n// element is a flex item, 'flex' is consulted instead of the main size\n// property to determine the main size of the element. If an element is\n// not a flex item, 'flex' has no effect.\n//\n// Values: none | || \n// Default: See individual properties (1 1 0).\n//\n// http://w3.org/tr/css3-flexbox/#flex-property\n\n@mixin flex($fg: 1, $fs: null, $fb: null) {\n \n // Set a variable to be used by box-flex properties\n $fg-boxflex: $fg;\n\n // Box-Flex only supports a flex-grow value so let's grab the\n // first item in the list and just return that.\n @if type-of($fg) == 'list' {\n $fg-boxflex: nth($fg, 1);\n }\n\n -webkit-box-flex: $fg-boxflex;\n -webkit-flex: $fg $fs $fb;\n -moz-box-flex: $fg-boxflex;\n -moz-flex: $fg $fs $fb;\n -ms-flex: $fg $fs $fb;\n flex: $fg $fs $fb;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Justify Content\n//\n// The 'justify-content' property aligns flex items along the main axis\n// of the current line of the flex container. This is done after any flexible\n// lengths and any auto margins have been resolved. Typically it helps distribute\n// extra free space leftover when either all the flex items on a line are\n// inflexible, or are flexible but have reached their maximum size. It also\n// exerts some control over the alignment of items when they overflow the line.\n//\n// Note: 'space-*' values not supported in older syntaxes.\n//\n// Values: flex-start | flex-end | center | space-between | space-around\n// Default: flex-start\n//\n// http://w3.org/tr/css3-flexbox/#justify-content-property\n\n@mixin justify-content($value: flex-start) {\n @if $value == flex-start {\n -webkit-box-pack: start;\n -ms-flex-pack: start;\n } @else if $value == flex-end {\n -webkit-box-pack: end;\n -ms-flex-pack: end;\n } @else if $value == space-between {\n -webkit-box-pack: justify;\n -ms-flex-pack: justify;\n } @else if $value == space-around {\n -ms-flex-pack: distribute; \n } @else {\n -webkit-box-pack: $value;\n -ms-flex-pack: $value;\n }\n -webkit-justify-content: $value;\n -moz-justify-content: $value;\n justify-content: $value;\n}\n // Shorter version:\n @mixin flex-just($args...) { @include justify-content($args...); }\n\n//----------------------------------------------------------------------\n\n// Flexbox Align Items\n//\n// Flex items can be aligned in the cross axis of the current line of the\n// flex container, similar to 'justify-content' but in the perpendicular\n// direction. 'align-items' sets the default alignment for all of the flex\n// container's items, including anonymous flex items. 'align-self' allows\n// this default alignment to be overridden for individual flex items. (For\n// anonymous flex items, 'align-self' always matches the value of 'align-items'\n// on their associated flex container.) \n//\n// Values: flex-start | flex-end | center | baseline | stretch\n// Default: stretch\n//\n// http://w3.org/tr/css3-flexbox/#align-items-property\n\n@mixin align-items($value: stretch) {\n @if $value == flex-start {\n -webkit-box-align: start;\n -ms-flex-align: start;\n } @else if $value == flex-end {\n -webkit-box-align: end;\n -ms-flex-align: end;\n } @else {\n -webkit-box-align: $value;\n -ms-flex-align: $value;\n }\n -webkit-align-items: $value;\n -moz-align-items: $value;\n align-items: $value;\n}\n\n//----------------------------------\n\n// Flexbox Align Self\n//\n// Values: auto | flex-start | flex-end | center | baseline | stretch\n// Default: auto\n\n@mixin align-self($value: auto) {\n // No Webkit Box Fallback.\n -webkit-align-self: $value;\n -moz-align-self: $value;\n @if $value == flex-start {\n -ms-flex-item-align: start;\n } @else if $value == flex-end {\n -ms-flex-item-align: end;\n } @else {\n -ms-flex-item-align: $value;\n }\n align-self: $value;\n}\n\n//----------------------------------------------------------------------\n\n// Flexbox Align Content\n//\n// The 'align-content' property aligns a flex container's lines within the\n// flex container when there is extra space in the cross-axis, similar to\n// how 'justify-content' aligns individual items within the main-axis. Note,\n// this property has no effect when the flexbox has only a single line.\n//\n// Values: flex-start | flex-end | center | space-between | space-around | stretch\n// Default: stretch\n//\n// http://w3.org/tr/css3-flexbox/#align-content-property\n\n@mixin align-content($value: stretch) {\n // No Webkit Box Fallback.\n -webkit-align-content: $value;\n -moz-align-content: $value;\n @if $value == flex-start {\n -ms-flex-line-pack: start;\n } @else if $value == flex-end {\n -ms-flex-line-pack: end;\n } @else {\n -ms-flex-line-pack: $value;\n }\n align-content: $value;\n}\n"],"file":"styles.css"} \ No newline at end of file diff --git a/_site/blog/index.html b/_site/blog/index.html index ece10ff..a39b358 100644 --- a/_site/blog/index.html +++ b/_site/blog/index.html @@ -27,7 +27,7 @@ - + diff --git a/_site/career/index.html b/_site/career/index.html index ab4c7e9..b079bbe 100644 --- a/_site/career/index.html +++ b/_site/career/index.html @@ -20,7 +20,7 @@ - + diff --git a/_site/index.html b/_site/index.html index 4ef1a2f..3c7333a 100644 --- a/_site/index.html +++ b/_site/index.html @@ -20,7 +20,7 @@ - + diff --git a/_site/music/index.html b/_site/music/index.html index 667bcbb..e6cdc49 100644 --- a/_site/music/index.html +++ b/_site/music/index.html @@ -20,7 +20,7 @@ - + diff --git a/_site/offline/index.html b/_site/offline/index.html index ebf7987..95a0a34 100644 --- a/_site/offline/index.html +++ b/_site/offline/index.html @@ -22,7 +22,7 @@ - + diff --git a/_site/outdoors/index.html b/_site/outdoors/index.html index dcf969a..687078c 100644 --- a/_site/outdoors/index.html +++ b/_site/outdoors/index.html @@ -20,7 +20,7 @@ - + diff --git a/_site/sw.js b/_site/sw.js index b4fd8a5..c84d08f 100644 --- a/_site/sw.js +++ b/_site/sw.js @@ -1,4 +1,4 @@ -const version = '20240717225628'; +const version = '20240717232730'; const cacheName = `static::${version}`; const buildContentBlob = () => { diff --git a/_site/woodworking/index.html b/_site/woodworking/index.html index 1c9e296..1089892 100644 --- a/_site/woodworking/index.html +++ b/_site/woodworking/index.html @@ -20,7 +20,7 @@ - +