/**
 * Ruben's theme for Shower
 * shower-ruben v1.0.0, https://github.com/RubenVerborgh/Shower-Ruben
 * @copyright 2010–2018 Ruben Verborgh, https://ruben.verborgh.org/
 * @license MIT
 */
@charset "UTF-8";@font-face{font-family:'Open Sans';src:local("Open Sans"),local("OpenSans"),url(../fonts/OpenSans.woff2) format("woff2"),url(../fonts/OpenSans.woff) format("woff")}@font-face{font-weight:700;font-family:'Open Sans';src:local("Open Sans Bold"),local("OpenSans-Bold"),url(../fonts/OpenSans.Bold.woff2) format("woff2"),url(../fonts/OpenSans.Bold.woff) format("woff")}@font-face{font-style:italic;font-family:'Open Sans';src:local("Open Sans Italic"),local("OpenSans-Italic"),url(../fonts/OpenSans.Italic.woff2) format("woff2"),url(../fonts/OpenSans.Italic.woff) format("woff")}@font-face{font-style:italic;font-weight:700;font-family:'Open Sans';src:local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(../fonts/OpenSans.Bold.Italic.woff2) format("woff2"),url(../fonts/OpenSans.Bold.Italic.woff) format("woff")}@font-face{font-weight:300;font-family:'Open Sans';src:local("Open Sans Light"),local("OpenSans-Light"),url(../fonts/OpenSans.Light.woff2) format("woff2"),url(../fonts/OpenSans.Light.woff) format("woff")}@font-face{font-family:'Source Code Pro';src:local("Source Code Pro"),local("SourceCodePro-Regular"),url(../fonts/SourceCodePro.woff2) format("woff2"),url(../fonts/SourceCodePro.woff) format("woff")}@font-face{font-weight:700;font-family:'Source Code Pro';src:local("Source Code Pro Bold"),local("SourceCodePro-Bold"),url(../fonts/SourceCodePro.Bold.woff2) format("woff2"),url(../fonts/SourceCodePro.Bold.woff) format("woff")}*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}.caption h1,.caption p,body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote::after,blockquote::before,q::after,q::before{content:none}table{border-collapse:collapse;border-spacing:0}a{text-decoration:none;color:inherit}b,strong{font-weight:700}.slide blockquote cite,.slide table thead tr>td,.slide table thead tr>th,.slide.title .affiliation,dfn,em,i,var{font-style:italic}code,kbd,samp{line-height:1;font-family:"Source Code Pro",monospace}mark{background:#b5acde}sub,sup{position:relative;line-height:0;font-size:75%}sub{bottom:-.25em}sup{top:-.5em}q:before{content:"“"}q:after{content:"”"}@media print{@page{size:landscape}.shower.full{-webkit-transform:none!important;transform:none!important}.slide{border:.05cm solid #000;page-break-inside:avoid;page-break-after:always}}.shower{color:#222;counter-reset:slide;font:32px/42px "Open Sans",sans-serif;-webkit-print-color-adjust:exact;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none}@media print{.shower{text-rendering:geometricPrecision}}.caption,.shower>footer{font-size:25px;display:none;width:100%}.caption{margin-top:-.2em;padding:0 1em .93em}@media (min-width:1174px){.caption{font-size:50px}}@media (min-width:2348px){.caption{font-size:100px}}.caption h1{padding-bottom:.15em}.caption p{font-size:.6em;margin-top:.5em}.caption a,.shower>footer a,b,strong{color:#453688}.shower>footer{padding:0 1em .5em}@media (min-width:1174px){.shower>footer{font-size:50px}}@media (min-width:2348px){.shower>footer{font-size:100px}}.shower>footer p{line-height:1.5;font-size:10pt}.slide{position:relative;z-index:1;overflow:hidden;padding:32px 60px 0;width:1024px;height:640px;background:#fff}.caption h1,.slide h2,.slide h3{color:#453688;font-weight:700}.slide h2{margin:-4px 0 42px;padding:-6px 0 0;font-size:42px;line-height:54px;min-height:108px}.slide h3{margin-bottom:42px}.slide dl,.slide p{margin:0 0 42px 60px}.slide p.note,.slide pre .comment{color:#737373}.slide blockquote{padding:42px 60px}.slide blockquote p{margin-left:0}.slide blockquote cite:before{content:"—"}.slide blockquote:before{content:"“";display:block;position:absolute;z-index:-100;margin:100px 0 0 -112px;color:rgba(69,54,136,.2);font-size:400px;font-family:Georgia,sans-serif;font-weight:700}.slide ol,.slide ul{margin:0 0 0 60px}.slide ol li,.slide ul li{font-weight:700;margin-bottom:42px;page-break-inside:avoid}.slide ol ol li,.slide ol ul li,.slide ul ol li,.slide ul ul li{font-size:28px;font-weight:400;margin-bottom:0}.slide ol{counter-reset:list}.slide ol>li:before{counter-increment:list;content:counter(list);position:absolute;width:3em;margin-left:-3em;color:#737373;text-align:right;padding-right:.5em}.slide ol ol>li:before{content:counter(list,lower-alpha)}.slide li ol ol.inline,.slide li ol ul.inline,.slide li ol.inline>li,.slide li ul ol.inline,.slide li ul ul.inline,.slide li ul.inline>li{margin-left:0;display:inline}.slide dl.inline dd+dd:before,.slide li dd+dd:before,.slide li ul.inline>li:after{content:', '}.slide li ul.inline>li:last-child:after{content:''}.slide li ol.inline>li:after{content:' – '}.slide li ol.inline>li:before,.slide li ol.inline>li:last-child:after{content:''}.slide dl dt{float:left;clear:left;min-width:160px;font-weight:700;margin:42px .5em 0 0}.slide dl dd{margin:42px 0 0 192px}.slide dl dd+dd,.slide dl dd:first-of-type,.slide dl dt:first-of-type{margin-top:0}.slide dl.inline,.slide li{margin-bottom:0}.slide dl.inline dt,.slide li dt{margin:0 .5em 42px 0}.slide dl.inline dd,.slide li dd{margin:0;float:left}.slide li dl{font-size:28px;font-weight:400}.slide li dl dt{display:inline;margin:0;min-width:0;font-weight:400;font-style:italic}.slide li dl dt:after{content:": "}.slide>dl,.slide>ol>li,.slide>ul>li{clear:left}.slide>dl:after,.slide>ol>li:after,.slide>ul>li:after{content:'';display:table;clear:both}.slide ol>li[value]::before{content:attr(value) "."}.slide ul>li[value]::before{content:attr(value)}.slide table{margin:0 0 1em 60px}.slide table th{text-align:left;font-weight:700}.slide table td,.slide table th{padding:0 60px 0 0}.slide pre{margin:-4px 0 46px 60px;padding:8px 0 0;white-space:normal;-moz-tab-size:2;-o-tab-size:2;tab-size:2;font-size:24px}.slide pre code{display:block;margin-left:-100px;padding:0 0 0 100px;width:calc(100% + 100px + 100px);border-radius:0;background:0 0;line-height:42px;white-space:pre;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.slide pre mark.important{background:#d76016;color:#fff}.slide footer{position:absolute;right:0;bottom:-640px;left:0;display:none;padding:41px 60px 8px;background:rgba(165,153,215,.9);-webkit-transition:bottom .3s;transition:bottom .3s}.slide footer *{pointer-events:auto!important}.slide footer>*{margin-left:0}.slide footer a,.slide footer a:hover{background-repeat:repeat-x;background-size:.2em .09em;background-position:0 1.15em}.slide footer a{-webkit-transition:color .2s,background .2s;transition:color .2s,background .2s;background-image:-webkit-gradient(linear,right top,left top,from(rgba(69,54,136,.5)),to(rgba(69,54,136,.5)));background-image:linear-gradient(to left,rgba(69,54,136,.5),rgba(69,54,136,.5))}.slide footer a:hover{color:#d76016;background-image:-webkit-gradient(linear,right top,left top,from(#d76016),to(#d76016));background-image:linear-gradient(to left,#d76016,#d76016)}.slide:hover>footer{bottom:0}.slide.title h2{margin:196px 0 74px;font-size:64px;line-height:84px}.slide.title p{margin:0}.slide.toc{border-left:40px solid #453688;padding-left:140px}.slide.toc h2{font-style:italic;position:absolute;right:60px;bottom:0;min-height:0}.slide.toc ul{margin-top:144px}.slide.toc ul li a{font-weight:400}.slide.toc ul li a:not(:hover){background-image:none}.slide.toc ul li.current>a{color:#453688;font-weight:700}.slide.toc ul li ul{margin-top:0;font-style:italic}.slide.grid{background-image:url(../images/grid.svg);-ms-interpolation-mode:nearest-neighbor;image-rendering:-webkit-optimize-contrast;image-rendering:-moz-crisp-edges;image-rendering:-o-pixelated;image-rendering:pixelated}.slide.dark{background-color:#453688}.slide.dark *{color:#fff}.slide .double,.slide .triple{-webkit-column-gap:75px;column-gap:75px;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.slide .double{-webkit-column-count:2;column-count:2}.slide .triple{-webkit-column-count:3;column-count:3}.slide .shout{position:absolute;top:50%;left:0;width:100%;padding:0 60px;text-align:center;line-height:1;font-size:128px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.slide .cover:not(figure),.slide figure.cover>:first-child{position:absolute;top:50%;left:50%;z-index:-1;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);max-width:100%;max-height:100%}.slide .cover:not(figure).w,.slide .cover:not(figure).width,.slide figure.cover.w>:first-child,.slide figure.cover.w>a:first-child>:first-child,.slide figure.cover.width>:first-child,.slide figure.cover.width>a:first-child>:first-child{width:100%;max-height:none}.slide .cover:not(figure).h,.slide .cover:not(figure).height,.slide figure.cover.h>:first-child,.slide figure.cover.h>a:first-child>:first-child,.slide figure.cover.height>:first-child,.slide figure.cover.height>a:first-child>:first-child{height:100%;max-width:none}.slide figure.cover figcaption{position:absolute;bottom:0;right:0;font-size:8pt;line-height:1;padding:5px 10px;color:#fff;background-color:rgba(0,0,0,.5);font-weight:300}.slide figure.cover figcaption a{color:currentcolor}.slide .place{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.slide .place.b.l,.slide .place.b.r,.slide .place.bottom.left,.slide .place.bottom.right,.slide .place.t.l,.slide .place.t.r,.slide .place.top.left,.slide .place.top.right{-webkit-transform:none;transform:none}.slide .place.b,.slide .place.bottom,.slide .place.t,.slide .place.top{-webkit-transform:translate(-50%,0);transform:translate(-50%,0)}.slide .place.l,.slide .place.left,.slide .place.r,.slide .place.right{-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.slide .place.t,.slide .place.t.r,.slide .place.top,.slide .place.top.left,.slide .place.top.right{top:0}.slide .place.r,.slide .place.right{right:0;left:auto}.slide .place.b,.slide .place.b.l,.slide .place.b.r,.slide .place.bottom,.slide .place.bottom.left,.slide .place.bottom.right{top:auto;bottom:0}.slide .place.l,.slide .place.left{left:0}.progress{left:-20px;bottom:0;z-index:1;display:none;width:0;height:0;-webkit-box-sizing:content-box;box-sizing:content-box;border:10px solid #453688;border-right-color:transparent;-webkit-transition:width .2s linear;transition:width .2s linear;clip:rect(10px,1044px,20px,20px)}.progress[style*='100%']{padding-left:10px}.badge,.badge a,.progress{position:absolute}.badge{font-size:10px;top:0;z-index:1;overflow:hidden;display:none;width:9em;height:9em;right:0;visibility:hidden}@media (min-width:1174px){.badge{font-size:20px}}@media (min-width:2348px){.badge{font-size:40px}}.badge a{right:-50%;bottom:50%;left:-50%;visibility:visible;background:#453688;color:#fff!important;text-align:center;line-height:2;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.region{display:none}@media screen{.shower.list{padding-top:25px;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;background:#fff;border-left:30px solid #453688;position:absolute;clip:rect(0,auto,auto,0)}}@media screen and (min-width:1174px){.shower.list{padding-top:50px}}@media screen and (min-width:2348px){.shower.list{padding-top:100px}}@media screen{.shower.list>:not(.slide) a:hover{text-decoration:underline}.shower.list .caption,.shower.list>footer{display:block}.shower.list .slide{-webkit-transform-origin:0 0;transform-origin:0 0;margin:0 -768px -455px 25px;-webkit-transform:scale(.25);transform:scale(.25);-webkit-box-shadow:2px 2px 0 #453688,-2px 2px 0 #453688,2px -2px 0 #453688,-2px -2px 0 #453688;box-shadow:2px 2px 0 #453688,-2px 2px 0 #453688,2px -2px 0 #453688,-2px -2px 0 #453688;-webkit-transition:-webkit-box-shadow .2s;transition:box-shadow .2s;transition:box-shadow .2s,-webkit-box-shadow .2s}}@media screen and (min-width:1174px){.shower.list .slide{margin:0 -512px -270px 50px;-webkit-transform:scale(.5);transform:scale(.5)}}@media screen and (min-width:2348px){.shower.list .slide{margin:0 0 100px 100px;-webkit-transform:scale(1);transform:scale(1)}}@media screen{.shower.list .slide.active{-webkit-box-shadow:6px 6px 0 #453688,-6px 6px 0 #453688,6px -6px 0 #453688,-6px -6px 0 #453688;box-shadow:6px 6px 0 #453688,-6px 6px 0 #453688,6px -6px 0 #453688,-6px -6px 0 #453688}.shower.list .slide:hover{-webkit-box-shadow:2px 2px 0 #453688,-2px 2px 0 #453688,2px -2px 0 #453688,-2px -2px 0 #453688,8px 8px 0 #453688;box-shadow:2px 2px 0 #453688,-2px 2px 0 #453688,2px -2px 0 #453688,-2px -2px 0 #453688,8px 8px 0 #453688}.shower.list .slide *{pointer-events:none}.shower.full .slide.active,.shower.list .badge,.shower.list .slide footer{display:block}.shower.full{position:absolute;top:50%;left:50%;overflow:hidden;margin:-320px 0 0 -512px;width:1024px;height:640px;background:#000}.shower.full .slide{position:absolute;top:0;left:0;display:none}.shower.full .slide a,.shower.full .slide a:hover{background-repeat:repeat-x;background-size:.2em .09em;background-position:0 1.15em}.shower.full .slide a{-webkit-transition:color .2s,background .2s;transition:color .2s,background .2s;background-image:-webkit-gradient(linear,right top,left top,from(rgba(69,54,136,.5)),to(rgba(69,54,136,.5)));background-image:linear-gradient(to left,rgba(69,54,136,.5),rgba(69,54,136,.5))}.shower.full .slide a:hover{color:#d76016;background-image:-webkit-gradient(linear,right top,left top,from(#d76016),to(#d76016));background-image:linear-gradient(to left,#d76016,#d76016)}.shower.full .slide pre code:not(:only-child).mark.next{visibility:visible;background:0 0}.shower.full .slide pre code:not(:only-child).mark.next.active{background:#737373}.shower.full .slide .next{visibility:hidden}.shower.full .slide .next.active{visibility:visible}.shower.full .slide .shout.grow,.shower.full .slide .shout.shrink{opacity:0;-webkit-transition:.4s ease-out;transition:.4s ease-out;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.shower.full .slide .shout.grow{-webkit-transform:scale(.1) translateY(-50%);transform:scale(.1) translateY(-50%)}.shower.full .slide .shout.shrink{-webkit-transform:scale(10) translateY(-50%);transform:scale(10) translateY(-50%)}.shower.full .slide.active .shout.grow,.shower.full .slide.active .shout.shrink{opacity:1;-webkit-transform:scale(1) translateY(-50%);transform:scale(1) translateY(-50%)}.shower.full .progress{display:block;-webkit-transform:translateZ(0);transform:translateZ(0)}.shower.full .region{position:absolute;clip:rect(0 0 0 0);overflow:hidden;margin:-1px;padding:0;width:1px;height:1px;border:none;display:block}}