/**
 * Ribbon theme for Shower HTML presentation engine
 * shower-ribbon v2.0.10, https://github.com/shower/ribbon
 * @copyright 2010–2017 Vadim Makeev, http://pepelsbey.net/
 * @license MIT
 */
@charset "UTF-8";@font-face{font-family:PT Sans;src:url(../fonts/pt-sans-regular.woff) format("woff")}@font-face{font-weight:700;font-family:PT Sans;src:url(../fonts/pt-sans-bold.woff) format("woff")}@font-face{font-style:italic;font-family:PT Sans;src:url(../fonts/pt-sans-italic.woff) format("woff")}@font-face{font-style:italic;font-weight:700;font-family:PT Sans;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")}@font-face{font-family:PT Mono;font-weight:700;src:url(../fonts/pt-mono-bold.woff) format("woff")}@font-face{font-family:Hack;src:url(../fonts/hack-regular.woff) format("woff")}@font-face{font-family:Hack;font-weight:700;src:url(../fonts/hack-bold.woff) format("woff")}@font-face{font-family:Yandex Sans Text Web;font-weight:100;src:url(../fonts/yandex-sans-text-web-thin.woff) format("woff")}@font-face{font-family:Yandex Sans Text Web;font-weight:300;src:url(../fonts/yandex-sans-text-web-light.woff) format("woff")}@font-face{font-family:Yandex Sans Text Web;font-weight:400;src:url(../fonts/yandex-sans-text-web-regular.woff) format("woff")}@font-face{font-style:italic;font-family:Yandex Sans Text Web;font-weight:400;src:url(../fonts/yandex-sans-text-web-regular-italic.woff) format("woff")}@font-face{font-family:Yandex Sans Text Web;font-weight:500;src:url(../fonts/yandex-sans-text-web-medium.woff) format("woff")}@font-face{font-family:Yandex Sans Text Web;font-weight:700;src:url(../fonts/yandex-sans-text-web-bold.woff) format("woff")}@font-face{font-family:Yandex Sans Logotype;src:url(../fonts/yandex-sans-logotype-light.woff) format("woff")}*,::after,::before{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 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}@page{margin:0;size:1920px 1080px}.shower{color:#000;counter-reset:slide;font:48px Yandex Sans Text Web,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{font-size:30px;display:none;margin-top:-.2em;padding:0 1em .93em;width:100%;color:#fff;text-align:center;text-shadow:0 1px 0 #8d8e90}@media (min-width:2100px){.caption{font-size:60px}}@media (min-width:4200px){.caption{font-size:120px}}.caption h1{padding-bottom:.15em;font:300 1em/1 Yandex Sans Text Web,sans-serif}.caption p{font-size:.6em;font-weight:100}.caption a{color:#fff;text-decoration:underline;text-shadow:0 -1px 0 #1f3f60}.slide{position:relative;z-index:1;overflow:hidden;width:1920px;height:1080px;background:#fff;color:#000;font-size:48px;line-height:60px;font-weight:300}.slide::after{position:absolute;top:100%;left:0;right:0;margin-top:40px;color:#ddd;counter-increment:slide;content:counter(slide);text-align:center;font-weight:300}.slide h2{color:#000;font:80px Yandex Sans Text Web,sans-serif;font-size:80px;line-height:120px;font-weight:400;text-align:left;margin-bottom:60px;word-wrap:break-word;max-width:100%}.slide p{margin-bottom:1em}.slide p.note{color:#979a9e}.slide a{background:-webkit-linear-gradient(bottom,currentColor .09em,transparent .09em) repeat-x;background:linear-gradient(to top,currentColor .09em,transparent .09em) repeat-x;color:#3878be}.slide b{font-weight:700}.slide blockquote,.slide dfn,.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(88,90,94,.1)}.slide kbd,.slide samp{line-height:1;font-family:PT Mono,monospace,monospace}.slide mark{background:#fc0}.slide sub,.slide sup{position:relative;line-height:0;font-size:75%}.slide sub{bottom:-.25em}.slide sup{top:-.5em}.slide blockquote::before{position:absolute;margin:-.15em 0 0 -.43em;color:#ccc;line-height:1;font-size:8em;content:'\201C'}.slide blockquote+figcaption{margin:-1em 0 1em;font-style:italic;font-weight:700}.slide ol,.slide ul{counter-reset:list}.slide ol li,.slide ul li{page-break-inside:avoid}.slide ol li::before,.slide ul li::before{display:inline-block;width:2em;color:#979a9e;text-align:right}.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;counter-increment:list;content:counter(list) "."}.slide ol>li[value]::before{content:attr(value) "."}.slide ul>li[value]::before{content:attr(value)}.slide table{width:calc(100% + 100px + 100px);width:100%;margin:0 0 30px;border-collapse:collapse}.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}.slide table tr:not(:last-of-type)>*{background:-webkit-linear-gradient(bottom,rgba(88,90,94,.5) .055em,transparent .055em) repeat-x;background:linear-gradient(to top,rgba(88,90,94,.5) .055em,transparent .055em) repeat-x}.slide table.striped tr:nth-child(even){background:rgba(88,90,94,.1)}.slide table.striped tr>*{background-image:none}.slide pre{counter-reset:code;white-space:normal}.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:2;white-space:pre;-moz-tab-size:4;-o-tab-size:4;tab-size:4}.slide pre code:not(:only-child).mark{background:rgba(88,90,94,.1)}.slide pre code:not(:only-child)::before{position:absolute;margin-left:-2em;color:#979a9e;counter-increment:code;content:counter(code,decimal-leading-zero) "."}.slide pre mark{position:relative;z-index:-1;margin:0 -.3em}.slide pre mark.important{background:#c00;color:#fff}.slide pre .comment{color:#999}.slide footer{position:absolute;right:0;bottom:-1080px;left:0;display:none;padding:41px 100px 8px;background:#ffd11a;box-shadow:0 1px 0 #fc0 inset;-webkit-transition:bottom .3s;transition:bottom .3s}.slide footer mark{background:rgba(255,255,255,.8)}.slide:hover>footer{bottom:0}.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:pixelated}.slide.grid:before{display:block;content:'';position:absolute;left:0;top:0;width:50%;height:50%;border-right:1px solid rgba(255,0,0,.2);border-bottom:1px solid rgba(255,0,0,.2)}.slide.black{background-color:#000}.slide.black::after,.slide.white::after{visibility:hidden}.slide.white{background-color:#fff}.slide .double,.slide .triple{-webkit-column-gap:75px;-moz-column-gap:75px;column-gap:75px;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.slide .double{-webkit-column-count:2;-moz-column-count:2;column-count:2}.slide .triple{-webkit-column-count:3;-moz-column-count:3;column-count:3}.slide .shout,.slide .slide.blockquote,.slide .slide.section,.slide .slide.title{position:absolute;top:50%;left:0;width:100%;text-align:center;line-height:1;font-size:150px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.slide .shout a,.slide .slide.blockquote a,.slide .slide.section a,.slide .slide.title a{background:-webkit-linear-gradient(bottom,currentColor .11em,transparent .11em) repeat-x;background:linear-gradient(to top,currentColor .11em,transparent .11em) repeat-x}.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{height:100%;max-width:none}.slide .cover+figcaption{position:absolute;bottom:20px;right:10px;font-size:12px;opacity:.7;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:translateX(100%) rotate(-90deg);transform:translateX(100%) rotate(-90deg)}.slide .cover+figcaption.white{color:#fff}.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>div{position:absolute;top:60px;bottom:120px;left:90px;right:90px}.slide li,.slide ol,.slide ul,.slide>div>p{margin:30px 0}.slide h3{position:absolute;bottom:-90px;margin:0!important;font-size:30px;font-weight:300;line-height:60px;word-wrap:break-word;max-width:100%}.slide strong{display:block;font-weight:400;border-left:9px solid #fc0;padding-left:25px}.slide em{font-style:normal}.slide ol,.slide ul{padding-left:60px;margin-left:30px}.slide ol li,.slide ul li{text-indent:-90px!important}.slide ol li:before,.slide ul li:before{color:#000;padding:0;text-align:right}.slide ul li:before{content:'';width:45px;height:30px;margin-right:45px;background:url(../images/list-marker.svg) right center no-repeat}.slide ol li:before{width:60px;margin-right:30px}.slide table td,.slide table th{padding:13px 30px 15px!important;color:#000;font-size:48px;line-height:60px;font-weight:300;border:2px solid #000;background-image:none!important}.slide table td:first-child,.slide table th:first-child{border-left:none}.slide table td:last-child,.slide table th:last-child{border-right:none}.slide table tr:last-child td,.slide table tr:last-child th{border-bottom:none}.slide table thead td,.slide table thead th{background-color:#fc0;border-top:none}.slide table tbody th{background-color:#bfbfbf;font-weight:400}.slide code,.slide pre{font-family:Hack}.slide pre{margin:60px 0}.slide code{font-size:36px!important;line-height:60px!important}.slide code .nc,.slide code .nf,.slide code .nt,.slide code .o{color:#3878be}.slide code .s,.slide code .s1{color:#fa686a}.slide code .c,.slide code .c1{color:#7f7f7f}.slide code .k,.slide code .kc,.slide code .kd,.slide code .nb{color:#3878be}.slide.blockquote>div,.slide.section>div,.slide.shout>div,.slide.title>div{top:240px;bottom:270px;left:240px;right:240px}.slide.blockquote h2,.slide.section h2,.slide.shout h2,.slide.title h2{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:120px;line-height:140px;font-weight:300;text-align:left}.slide.cover .logo{width:510px;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);margin-top:30px}.slide.title .nda,.slide.title h3{position:absolute;top:-95px;line-height:95px}.slide.title h3{left:0;font-family:Yandex Sans Logotype;right:0;font-size:80px}.slide.title h3 img{height:95px;margin-right:16px;vertical-align:top}.slide.title .nda{right:60px;margin:0;font-size:0}.slide.title .nda img{width:120px;vertical-align:middle}.slide.title .authors{position:absolute;bottom:-150px;height:120px;margin:0;font-size:48px;line-height:60px;font-weight:300;text-align:left}.slide.title .authors p{margin-bottom:0}.slide.section{background-color:#fc0}.slide.blockquote h3,.slide.section h3{position:absolute;right:0;font-size:48px}.slide.section h3{top:-150px;left:0;font-weight:100;line-height:75px}.slide.blockquote h2{border-left:22px solid #fc0;padding-left:68px}.slide.blockquote h3{bottom:-160px;left:90px;font-weight:300;line-height:60px;height:120px}.slide.images div p{float:left;width:100%;margin:0}.slide.icons div p img,.slide.images div p img{display:block;margin-bottom:40px;background-color:rgba(255,0,0,.3)}.slide.images.two p{width:690px;margin:30px 90px 0}.slide.images.three p{width:450px;margin:90px 60px 0}.slide.icons div p{float:left;width:240px;margin:180px 150px 0 180px}.slide.icons div p img{margin-bottom:50px}.slide.icons.four p{margin:180px 60px 0 120px}.slide.icons.five div{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.slide.icons.five p{margin:180px 0 0 90px}.slide.fullscreen>div,.slide.fullscreen>div pre{top:0;left:0;right:0;bottom:0}.slide.contacts ul li:before,.slide.fullscreen>div h2{display:none}.slide.fullscreen>div p{margin:0}.slide.fullscreen>div img{display:block}.slide.fullscreen>div pre{position:absolute;margin:0;padding:60px 90px 120px}.slide.fullscreen>div figure{position:absolute;left:0;bottom:120px;width:815px;margin:0;padding:50px 50px 30px 90px;background-color:#fc0}.slide.fullscreen>div figure p{margin:0 0 30px}.slide.contacts>div{top:210px;bottom:120px;left:240px;right:90px}.slide.contacts h2{font-size:120px;line-height:140px;font-weight:300;margin:0}.slide.contacts figure{float:left;margin:130px 30px 0 0;width:750px}.slide.contacts figure:last-of-type:after{display:block;content:'';clear:both}.slide.contacts figure h3{position:static;margin:0 0 30px;font-size:48px;font-weight:300;line-height:60px}.slide.contacts figure p{margin:0;font-size:48px;font-weight:100;line-height:60px}.slide.contacts figure p:first-letter{text-transform:uppercase}.slide.contacts hr{clear:both;visibility:hidden;border:0;margin:0}.slide.contacts ul{float:left;margin:60px 0 0;list-style:none;padding:0;line-height:60px;width:780px}.slide.contacts ul li{margin:0 -90px 30px 0;padding-left:90px;background:no-repeat top left;background-size:auto 60px;text-indent:0!important}.slide.contacts ul li.bitbucket{background-image:url(../images/contacts-bitbucket.svg)}.slide.contacts ul li.facebook{background-image:url(../images/contacts-facebook.svg)}.slide.contacts ul li.github{background-image:url(../images/contacts-github.svg)}.slide.contacts ul li.instagram{background-image:url(../images/contacts-instagram.svg)}.slide.contacts ul li.mail{background-image:url(../images/contacts-mail.svg)}.slide.contacts ul li.ok{background-image:url(../images/contacts-ok.svg)}.slide.contacts ul li.phone{background-image:url(../images/contacts-phone.svg)}.slide.contacts ul li.skype{background-image:url(../images/contacts-skype.svg)}.slide.contacts ul li.telegram{background-image:url(../images/contacts-telegram.svg)}.slide.contacts ul li.twitter{background-image:url(../images/contacts-twitter.svg)}.slide.contacts ul li.vk{background-image:url(../images/contacts-vk.svg)}.slide .image-left,.slide .image-right{width:840px;height:100%;margin:0}.slide .image-left{float:left;margin:0 60px 0 0}.slide .image-left~*{margin-left:900px}.slide .image-right{float:right;margin-left:60px}.slide .image-right~*{margin-right:900px}.slide .icon-left,.slide .icon-right{width:480px;padding:150px 120px 0;height:100%;margin:0}.slide .icon-left{float:left}.slide .icon-left~*{margin-left:480px}.slide .icon-right{float:right}.slide .icon-right~*{margin-right:480px}.progress{left:-20px;bottom:0;z-index:1;display:none;width:0;height:0;box-sizing:content-box;border:10px solid #fc0;border-right-color:transparent;-webkit-transition:width .2s linear;transition:width .2s linear;clip:rect(10px,1940px,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:2100px){.badge{font-size:20px}}@media (min-width:4200px){.badge{font-size:40px}}.badge a{right:-50%;bottom:50%;left:-50%;visibility:visible;background:#3878be;color:#fff;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:30px;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:#3878be;position:absolute;clip:rect(0,auto,auto,0)}}@media screen and (min-width:2100px){.shower.list{padding-top:60px}}@media screen and (min-width:4200px){.shower.list{padding-top:120px}}@media screen{.shower.list .caption{display:block}.shower.list .slide{overflow:inherit;-webkit-transform-origin:0 0;transform-origin:0 0;margin:0 -1440px -780px 30px;-webkit-transform:scale(.25);transform:scale(.25);border-radius:2px;box-shadow:0 20px 50px rgba(0,0,0,.3)}}@media screen and (min-width:2100px){.shower.list .slide{margin:0 -960px -480px 60px;-webkit-transform:scale(.5);transform:scale(.5)}}@media screen and (min-width:4200px){.shower.list .slide{margin:0 0 120px 120px;-webkit-transform:scale(1);transform:scale(1)}}@media screen{.shower.list .slide:hover{box-shadow:0 0 0 20px rgba(0,0,0,.1),0 20px 50px rgba(0,0,0,.3)}.shower.list .slide.active{box-shadow:0 0 0 1px #2c5f97,0 0 0 20px #3878be,0 20px 50px rgba(0,0,0,.3)}.shower.list .slide.active:after{color:#fc0}.shower.list .slide *{pointer-events:none}.shower.list .badge,.shower.list .slide footer{display:block}.shower.full{position:absolute;top:50%;left:50%;overflow:hidden;margin:-540px 0 0 -960px;width:1920px;height:1080px;background:#000}.shower.full .slide{position:absolute;top:0;left:0;margin-left:-150%;visibility:hidden}.shower.full .slide::after{top:auto;left:auto;right:90px;bottom:30px;width:90px;height:60px;margin:0;color:#000;font-size:30px;font-weight:300;line-height:60px;text-align:right}.shower.full .slide.blockquote::after,.shower.full .slide.contacts::after,.shower.full .slide.cover::after,.shower.full .slide.fullscreen::after,.shower.full .slide.section::after,.shower.full .slide.title::after{visibility:hidden}.shower.full .slide.active{margin:0;visibility:visible}.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(88,90,94,.1)}.shower.full .slide .next{visibility:hidden}.shower.full .slide .next.active{visibility:visible}.shower.full .slide .grow.slide.blockquote,.shower.full .slide .grow.slide.section,.shower.full .slide .grow.slide.title,.shower.full .slide .shout.grow,.shower.full .slide .shout.shrink,.shower.full .slide .shrink.slide.blockquote,.shower.full .slide .shrink.slide.section,.shower.full .slide .shrink.slide.title{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 .grow.slide.blockquote,.shower.full .slide .grow.slide.section,.shower.full .slide .grow.slide.title,.shower.full .slide .shout.grow{-webkit-transform:scale(.1) translateY(-50%);transform:scale(.1) translateY(-50%)}.shower.full .slide .shout.shrink,.shower.full .slide .shrink.slide.blockquote,.shower.full .slide .shrink.slide.section,.shower.full .slide .shrink.slide.title{-webkit-transform:scale(10) translateY(-50%);transform:scale(10) translateY(-50%)}.shower.full .slide.active .grow.slide.blockquote,.shower.full .slide.active .grow.slide.section,.shower.full .slide.active .grow.slide.title,.shower.full .slide.active .shout.grow,.shower.full .slide.active .shout.shrink,.shower.full .slide.active .shrink.slide.blockquote,.shower.full .slide.active .shrink.slide.section,.shower.full .slide.active .shrink.slide.title{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}}