/**
* iTechArt theme for Shower HTML presentation engine
* shower-itechart v1.0.0, https://github.com/MeFoDy/shower-itechart
* @copyright 2010–2018 Nikita Dubko, https://mefody.github.io/
* @license MIT
*/
@charset "UTF-8";@font-face{font-family:PT Sans;src:url(../fonts/pt-sans-regular.woff) format("woff")}@font-face{font-family:PT Sans;font-weight:700;src:url(../fonts/pt-sans-bold.woff) format("woff")}@font-face{font-family:PT Sans;font-style:italic;src:url(../fonts/pt-sans-italic.woff) format("woff")}@font-face{font-family:PT Sans;font-weight:700;font-style:italic;src:url(../fonts/pt-sans-bold-italic.woff) format("woff")}@font-face{font-family:PT Sans Narrow;font-weight:700;src:url(../fonts/pt-sans-narrow-bold.woff) format("woff")}@font-face{font-family:PT Mono;src:url(../fonts/pt-mono-regular.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;vertical-align:baseline;border:0;font:inherit;font-size:100%}.slide h2,article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}.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-spacing:0;border-collapse:collapse}a{text-decoration:none}@page{margin:0;size:1024px 640px}.shower{counter-reset:slide;color:#000;font:25px/2 PT 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{display:none;width:100%;margin-top:-.2em;padding:0 1em .93em;color:#404040;font-size:25px}@media (min-width:1174px){.caption{font-size:50px}}@media (min-width:2348px){.caption{font-size:100px}}.caption h1{padding-bottom:.15em;font:700 1em/1 PT Sans Narrow,sans-serif}.caption p{font-size:.6em}.caption a{color:#ed1c24;text-shadow:0 -1px 0 #68080c}.slide{--h-size: 40px;position:relative;z-index:1;overflow:hidden;width:1024px;height:640px;padding:calc(70px + var(--h-size, 0px)) 70px 0;background:#fff;font-size:25px}.slide h2{position:absolute;top:0;left:0;width:100%;height:90px;margin-bottom:34px;padding-top:20px;padding-left:70px;color:#404040;border-bottom:1px solid #bfbfbf;font:700 50px/1 PT Sans Narrow,sans-serif;line-height:50px}.slide h2::before{position:absolute;top:20px;left:0;width:15px;height:50px;content:'';background-color:#ed1c24}.slide h3{font-size:1.5em;line-height:1.2}.slide p{margin-bottom:1em}.slide p.note{color:gray}.slide a{background:-webkit-gradient(linear,left bottom,left top,color-stop(.09em,currentColor),color-stop(.09em,transparent)) repeat-x;background:linear-gradient(to top,currentColor .09em,transparent .09em) repeat-x;color:#4b86c2}.slide b,.slide h3,.slide strong{font-weight:700}.slide blockquote,.slide dfn,.slide em,.slide i{font-style:italic}.slide code,.slide kbd,.slide mark,.slide samp{padding:.1em .3em;border-radius:.2em}.slide code,.slide kbd,.slide samp{background:rgba(64,64,64,.1);font-family:PT Mono,monospace;line-height:1}.slide mark{background:#fafaa2}.slide sub,.slide sup{position:relative;font-size:75%;line-height:0}.slide sub{bottom:-.25em}.slide sup{top:-.5em}.slide blockquote::before{position:absolute;margin:-.15em 0 0 -.43em;content:'\201C';color:rgba(237,28,36,.3);font-size:5em;line-height:1}.slide blockquote+figcaption{margin:-1em 0 1em;font-weight:700;font-style:italic}.slide ol,.slide ul{margin-bottom:1em;counter-reset:list}.slide ol li,.slide ul li{text-indent:-2em;page-break-inside:avoid}.slide ol li::before,.slide ul li::before{display:inline-block;width:2em;text-align:right;color:#ed1c24}.slide ol ol,.slide ol ul,.slide ul ol,.slide ul ul{margin-bottom:0;margin-left:2em}.slide ul>li::before{padding-right:.5em;content:'•'}.slide ul>li:lang(ru)::before{content:'—'}.slide ol>li::before{padding-right:.4em;content:counter(list) ".";counter-increment:list}.slide ol>li[value]::before{content:attr(value) "."}.slide ul>li[value]::before{content:attr(value)}.slide ul.no-bullets>li::before{content:'';padding-right:0}.slide table{width:calc(100% + 100px + 100px);margin-bottom:1em;margin-left:-100px}.slide table td:first-child,.slide table th:first-child{padding-left:96px}.slide table td:last-child,.slide table th:last-child{padding-right:96px}.slide table th{text-align:left;font-weight:700}.slide table tr:not(:last-of-type)>*{background:-webkit-gradient(linear,left bottom,left top,color-stop(.055em,rgba(64,64,64,.5)),color-stop(.055em,transparent)) repeat-x;background:linear-gradient(to top,rgba(64,64,64,.5) .055em,transparent .055em) repeat-x}.slide table.striped tr:nth-child(even){background:rgba(64,64,64,.1)}.slide table.striped tr>*{background-image:none}.slide pre{margin-bottom:1em;counter-reset:code;white-space:normal}.slide pre code{display:block;width:calc(100% + 100px + 100px);margin-left:-100px;padding:0 0 0 100px;white-space:pre;-moz-tab-size:4;-o-tab-size:4;tab-size:4;border-radius:0;background:0 0;line-height:2}.slide pre code:not(:only-child).mark{background:rgba(64,64,64,.1)}.slide pre code:not(:only-child)::before{position:absolute;margin-left:-2em;content:counter(code,decimal-leading-zero) ".";counter-increment:code;color:gray}.slide pre mark{position:relative;z-index:-1;margin:0 -.3em}.slide pre mark.important{color:#fff;background:#c00}.slide .cover+figcaption.white,.slide pre mark.important .hljs-string{color:#fff}.slide pre .comment{color:#999}.slide footer{position:absolute;right:0;bottom:-640px;left:0;display:none;padding:41px 100px 8px;-webkit-transition:bottom .3s;transition:bottom .3s;background:#fbfbba;-webkit-box-shadow:0 1px 0 #fafaa2 inset;box-shadow:0 1px 0 #fafaa2 inset;line-height:1.5}.slide footer mark{background:rgba(255,255,255,.8)}.slide:hover>footer{bottom:0}.slide.grid{background-image:url(../images/grid.png);-ms-interpolation-mode:nearest-neighbor;image-rendering:-webkit-optimize-contrast;image-rendering:-moz-crisp-edges;image-rendering:-o-pixelated;image-rendering:pixelated}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.slide.grid{background-image:url(../images/grid@2x.png);background-size:1024px auto}}.slide.black{background-color:#000}.slide.black h2{color:#bfbfbf}.slide.red h2::before,.slide.red::after,.slide.white{background-color:#fff}.slide.red{color:#fff;background-color:#ed1c24}.slide.red h2{color:#fff;border-bottom-color:currentColor}.slide.red::after{color:#ed1c24}.slide.half-black,.slide.half-black>div,.slide.half-red,.slide.half-red>div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:0}.slide.half-black>div,.slide.half-red>div{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:60%;padding:70px;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.slide.half-red>div:nth-child(2n+1){width:40%;color:#fff;background-color:#ed1c24}.slide.half-black>div:nth-child(2n+1){width:40%;color:#fff;background-color:#000}.slide.active.title-humble,.slide.clear.active,.slide.title.active{z-index:2}.slide.clear::after{visibility:hidden}.slide.no-heading{--h-size: 0px}.slide.title-humble::before,.slide.title::before{position:absolute;top:0;left:0;display:block;width:100%;height:300px;content:'';background-image:url(../images/itechart-color.svg);background-repeat:no-repeat;background-position:50px 50px;background-size:300px 100px}.slide.title-humble::after,.slide.title::after{top:auto;right:0;bottom:40px;width:100%;height:20%;padding-top:15px;content:'';background-color:transparent;background-image:url(../images/itechart-squares.svg);background-repeat:no-repeat;background-position:center}.slide.title h2,.slide.title-humble h2{position:relative;display:table-cell;width:auto;height:225px;padding-top:0;padding-bottom:24px;padding-left:0;vertical-align:bottom;border:0;font-size:3em;line-height:100%}.slide.title h2::before,.slide.title-humble h2::before{display:none}.slide.title .author,.slide.title-humble .author{font-size:1.5em;line-height:100%}.slide.title .date,.slide.title-humble .date{color:#ed1c24;font-size:1em;line-height:100%}.slide.title-humble::after,.slide.title-humble::before{background:0 0}.slide .imprint,.slide .slide-footer{position:absolute;bottom:1rem;right:1rem;text-align:right;line-height:1.3rem;font:1rem/1 PT Sans,sans-serif}.slide .imprint.huge,.slide .slide-footer.huge{font-size:1.6rem;right:2rem;bottom:2rem}.slide .double,.slide .triple{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;-webkit-column-gap:75px;column-gap:75px}.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%;height:auto;padding:0 20px;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;border:0;font-size:90px;line-height:1}.slide .shout::before{display:none}.slide .shout a{background:-webkit-gradient(linear,left bottom,left top,color-stop(.11em,currentColor),color-stop(.11em,transparent)) repeat-x;background:linear-gradient(to top,currentColor .11em,transparent .11em) repeat-x}.slide .link{position:relative;padding-left:1.2em;background:0 0}.slide .link::before{position:absolute;top:.2em;left:-.1em;display:inline-block;width:1.3em;height:1.11em;padding-right:.3em;content:'';text-decoration:none;background-color:transparent;background-repeat:no-repeat;background-size:contain}.slide .link-github::before{background-image:url(../images/github-logo.svg)}.slide .link-gitlab::before{background-image:url(../images/gitlab-logo.svg)}.slide .link-codepen::before{background-image:url(../images/codepen-logo.svg)}.slide .link-untappd::before{background-image:url(../images/untappd-logo.svg)}.slide .link-gmail::before{background-image:url(../images/gmail-logo.png)}.slide .link-twitter::before{background-image:url(../images/twitter-logo.png)}.slide .strike{position:relative;text-decoration:none}.slide .strike::after{position:absolute;top:50%;left:-10px;display:block;width:calc(100% + 20px);height:7px;content:'';-webkit-transform:rotate(-5deg);transform:rotate(-5deg);background-color:#ed1c24}.slide .label{display:inline-block;padding:0 .5em;color:#fff;background:#ed1c24}.slide .cover{z-index:-1;max-width:100%;max-height:100%}.slide .cover.w,.slide .cover.width{width:100%;max-height:none}.slide .cover.h,.slide .cover.height{max-width:none;height:100%}.slide .cover+figcaption{position:absolute;right:10px;bottom:20px;-webkit-transform:translateX(100%) rotate(-90deg);transform:translateX(100%) rotate(-90deg);-webkit-transform-origin:0 100%;transform-origin:0 100%;opacity:.7;font-size:12px}.slide .cover+figcaption a{color:currentcolor}.slide .cover,.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}.slide .red-title{position:relative;height:auto;padding-top:290px;padding-left:0;border:0;font-size:2.5em;line-height:100%}.progress,.slide .red-title::before{display:none}.slide .terminal{position:relative;width:800px;margin:0 auto 1.2em;padding:10px;color:#b4c4c6;border-radius:0 0 7px 7px;background-color:#0f3642;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.05),0 0 30px 1px rgba(0,0,0,.5);box-shadow:0 0 0 1px rgba(0,0,0,.05),0 0 30px 1px rgba(0,0,0,.5);font-family:'PT Mono',monospace;font-size:.8em;line-height:1.2em}.slide .terminal::before{position:absolute;top:-25px;left:0;display:block;overflow:hidden;width:100%;height:25px;padding:0 80px;content:attr(data-content);text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#4c3436;border-radius:7px 7px 0 0;background:-webkit-gradient(linear,left bottom,left top,from(#d8d8d8),to(#ececec));background:linear-gradient(0deg,#d8d8d8,#ececec);font-family:'PT Sans',sans-serif;font-size:16px;line-height:25px}.slide .terminal::after{position:absolute;top:-18px;left:10px;width:12px;height:12px;content:'';border-radius:100%;background:#f95c5b;-webkit-box-shadow:0 0 0 1px #da3d42,22px 0 0 0 #fabe3b,22px 0 0 1px #ecb03e,44px 0 0 0 #38cd46,44px 0 0 1px #2eae32;box-shadow:0 0 0 1px #da3d42,22px 0 0 0 #fabe3b,22px 0 0 1px #ecb03e,44px 0 0 0 #38cd46,44px 0 0 1px #2eae32}.slide .terminal p{margin:0}.slide .terminal p::before{content:'~$ ';color:#5ed7ff}.slide::after{top:20px;right:0;width:60px;height:50px;padding-top:0;content:counter(slide);counter-increment:slide;text-align:center;color:#fff;border-top-left-radius:10px;background:#ed1c24}.progress{z-index:1;bottom:0;left:-20px;clip:rect(10px,1044px,20px,20px);-webkit-box-sizing:content-box;box-sizing:content-box;width:0;height:0;-webkit-transition:width .2s linear;transition:width .2s linear;border:10px solid #ed1c24;border-right-color:transparent}.progress[style*='100%']{padding-left:10px}.badge,.badge a,.progress,.slide::after{position:absolute}.badge{z-index:1;top:0;display:none;overflow:hidden;width:9em;height:9em;font-size:10px;right:0}@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;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;text-align:center;color:#fff;background:#ed1c24;line-height:1.9}.region{display:none}@media screen{.shower.list{position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;clip:rect(0,auto,auto,0);width:100%;background:rgba(64,64,64,.1);-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-top:25px}.shower.list .caption,.shower.list .slide footer{display:block}.shower.list .slide{-webkit-transform-origin:0 0;transform-origin:0 0;border-radius:2px;-webkit-box-shadow:0 20px 50px rgba(57,4,6,.3);box-shadow:0 20px 50px rgba(57,4,6,.3);margin:0 -768px -455px 25px;-webkit-transform:scale(.25);transform:scale(.25)}}@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:hover{-webkit-box-shadow:0 0 0 20px rgba(198,16,23,.1),0 20px 50px rgba(198,16,23,.3);box-shadow:0 0 0 20px rgba(198,16,23,.1),0 20px 50px rgba(198,16,23,.3)}.shower.list .slide.active{-webkit-box-shadow:0 0 0 1px #c61017,0 0 0 20px #ed1c24,0 20px 50px rgba(0,0,0,.3);box-shadow:0 0 0 1px #c61017,0 0 0 20px #ed1c24,0 20px 50px rgba(0,0,0,.3)}.shower.list .slide *{pointer-events:none}.shower.list .badge{display:block}}@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.full{position:absolute;top:50%;left:50%;overflow:hidden;width:1024px;height:640px;margin:-320px 0 0 -512px;background:#000}.shower.full .slide{position:absolute;top:0;left:0;visibility:hidden;margin-left:-150%}.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:rgba(64,64,64,.1)}.shower.full .slide .next{visibility:hidden}.shower.full .slide .next.active{visibility:visible}.shower.full .slide .shout.grow,.shower.full .slide .shout.shrink{-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;opacity:0}.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{-webkit-transform:scale(1) translateY(-50%);transform:scale(1) translateY(-50%);opacity:1}.shower.full .slide.active{visibility:visible;margin:0}.shower.full .progress{display:block;-webkit-transform:translateZ(0);transform:translateZ(0)}.shower.full .region{position:absolute;overflow:hidden;clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;padding:0;border:0;display:block}}