diff --git a/www/.eslintrc b/www/.eslintrc index be81f1a22..e258658bc 100644 --- a/www/.eslintrc +++ b/www/.eslintrc @@ -75,7 +75,7 @@ "XMLHttpRequest": true, "ActiveXObject": true, "FileReader": true, - "Element": true - + "Element": true, + "Image" : true } } diff --git a/www/application/views/templates/landings/editor.php b/www/application/views/templates/landings/editor.php index 01ee32320..0c8a6a1d6 100644 --- a/www/application/views/templates/landings/editor.php +++ b/www/application/views/templates/landings/editor.php @@ -266,17 +266,19 @@
Plugins can represent any Blocks: Quotes, Galleries, Polls, Embeds, Tables — anything you need. Also they can implement Inline Tools such as Marker, Term, Comments etc.
-
+
- Blocks @@ -292,13 +294,15 @@
- - <?= $plugin['name'] ?> - - - +
+ + + + <?= $plugin['name'] ?> + +

diff --git a/www/public/app/css/components/lazy-load.css b/www/public/app/css/components/lazy-load.css new file mode 100644 index 000000000..ec9bd0b10 --- /dev/null +++ b/www/public/app/css/components/lazy-load.css @@ -0,0 +1,23 @@ +.lazy-load { + background: #f7fafb; + border-radius: 3px; + width: 150px; + + @media (--mobile) { + width: 75px; + } + + &__media { + opacity: 0; + transition: opacity 0.6s ease; + } + + &--loaded { + width: auto; + background: transparent; + + > ^&__media { + opacity: 1; + } + } +} diff --git a/www/public/app/css/main.css b/www/public/app/css/main.css index 775902e74..e0790b89e 100755 --- a/www/public/app/css/main.css +++ b/www/public/app/css/main.css @@ -34,6 +34,7 @@ @import './components/video-overlay.css'; @import './components/follow-telegram.css'; @import './components/join.css'; +@import './components/lazy-load.css'; /** * Pages diff --git a/www/public/app/js/main.js b/www/public/app/js/main.js index f50b8c325..c76d51234 100644 --- a/www/public/app/js/main.js +++ b/www/public/app/js/main.js @@ -135,5 +135,8 @@ codex.editorLanding = new EditorLanding(); import ArticleCreate from './modules/articleCreate'; codex.articleCreate = new ArticleCreate(); +import LazyLoad from './modules/lazyLoad'; +codex.lazyLoad = new LazyLoad(); + module.exports = codex; diff --git a/www/public/app/js/modules/lazyLoad.js b/www/public/app/js/modules/lazyLoad.js new file mode 100644 index 000000000..973942582 --- /dev/null +++ b/www/public/app/js/modules/lazyLoad.js @@ -0,0 +1,108 @@ +/** + * Module for lazy-loading images & videos + */ +export default class LazyLoad { + + /** + * Classes used in module + */ + static get CSS() { + + return { + wrapper: 'js_lazy-load', + loaded: 'lazy-load--loaded', + itemAttribute: 'data-lazy-src' + }; + + } + + /** + * Initialize module + */ + init() { + + this.loadMedia(); + + } + + /** + * Find media targets on page and apply to them various lazy-loading technique depending on type: image or video + */ + loadMedia() { + + const items = document.querySelectorAll(`[${LazyLoad.CSS.itemAttribute}]`); + + items.forEach((item) => { + + switch (item.tagName) { + + case 'IMG': + this.loadImage(item); + break; + case 'VIDEO': + this.loadVideo(item); + break; + + } + + }); + + } + + /** + * Images lazy-loading technique + * @param {HTMLElement} element - target image + */ + loadImage(element) { + + /** + * Create temporary image with real image src. + * When temporary image is loaded, reveal real image + */ + const tempImage = new Image(); + const imageSrc = element.getAttribute(LazyLoad.CSS.itemAttribute); + + tempImage.src = imageSrc; + tempImage.onload = () => { + + element.src = imageSrc; + this.addLoadedClass(element); + + }; + + } + + /** + * Videos lazy-loading technique + * @param {HTMLElement} element - target video + */ + loadVideo(element) { + + const tempVideo = document.createElement('video'); + const tempVideoSource = document.createElement('source'); + const videoSrc = element.getAttribute(LazyLoad.CSS.itemAttribute); + + tempVideoSource.src = videoSrc; + tempVideo.appendChild(tempVideoSource); + + tempVideo.onloadeddata = () => { + + element.querySelector('source').src = videoSrc; + this.addLoadedClass(element); + element.load(); + + }; + + } + + /** + * Add loaded class when element is ready + * @param {HTMLElement} element - media target + */ + addLoadedClass(element) { + + element.closest(`.${LazyLoad.CSS.wrapper}`).classList.add(LazyLoad.CSS.loaded); + + } + +} diff --git a/www/public/build/codex.bundle.css b/www/public/build/codex.bundle.css index 5512e3fa1..9dd43fa64 100644 --- a/www/public/build/codex.bundle.css +++ b/www/public/build/codex.bundle.css @@ -1 +1 @@ -/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}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:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;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-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}@font-face{font-family:codex_ic;src:url(/public/app/fonts/codex_icons/codex_ic.eot?2);src:url(/public/app/fonts/codex_icons/codex_ic.eot?2#iefix) format("embedded-opentype"),url(/public/app/fonts/codex_icons/codex_ic.woff?2) format("woff"),url(/public/app/fonts/codex_icons/codex_ic.ttf?2) format("truetype"),url(/public/app/fonts/codex_icons/codex_ic.svg?2#codex_ic) format("svg");font-weight:400;font-style:normal}[class*=" icon-"]:before,[class^=icon-]:before{font-family:codex_ic;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;-webkit-font-feature-settings:normal;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-vkontakte:before{content:"\E800"}.icon-twitter:before{content:"\E801"}.icon-facebook-squared:before{content:"\E802"}.icon-github-circled:before{content:"\E803"}.icon-heart:before{content:"\E804"}.icon-star:before{content:"\E805"}.icon-star-empty:before{content:"\E806"}.icon-search:before{content:"\E807"}.icon-rss:before{content:"\E808"}.icon-link:before{content:"\E809"}.icon-chat:before{content:"\E80A"}.icon-pencil:before{content:"\E80B"}.icon-pin:before{content:"\E80C"}.icon-attach:before{content:"\E80D"}.icon-tags:before{content:"\E80E"}.icon-up-big:before{content:"\E80F"}.icon-down-big:before{content:"\E810"}.icon-eye:before{content:"\E811"}.icon-instagram:before{content:"\E812"}.icon-briefcase:before{content:"\E813"}.icon-users:before{content:"\E814"}.icon-user:before{content:"\E815"}.icon-user-add:before{content:"\E816"}.icon-forward:before{content:"\E817"}.icon-cog-1:before{content:"\E818"}.icon-ok:before{content:"\E819"}.icon-cancel:before{content:"\E81A"}.icon-spin4:before{content:"\E81B"}.icon-picture:before{content:"\E81C"}.icon-cog:before{content:"\E81D"}.icon-paper-plane:before{content:"\E81E"}.icon-facebook:before{content:"\E81F"}::selection{background:#b3d4fc}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5em;letter-spacing:.1px}.center_side{max-width:1100px;margin:0 auto}@media (max-width:1140px){.center_side{padding:0 20px}}.hide{display:none!important}.block{display:block}.p_rel{position:relative}.pointer{cursor:pointer}a{color:#2969b9;text-decoration:none}a:hover{color:#2c7fe5}.align_c{text-align:center}textarea{resize:vertical}.clearfix:after{content:" ";display:table;clear:both}.fl_l{float:left}.fl_r{float:right}.constrain{overflow:hidden}.no-selection{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:10px;border-radius:2px;border:0;font-size:15px;font-family:inherit;outline:none;background:#f4f5f8}.input:focus{background:#eef5fd}.button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:30px;border:0;display:inline-block;padding:12px 24px;color:#3f4b63;vertical-align:top;cursor:pointer;text-decoration:none;font-family:inherit;background:#ecf3f9;line-height:1em}.button:hover{background:#4592da;color:#fff;text-decoration:none}.button--master{background:#5c95cf;color:#fff}.button--master:hover{background:#3c7ab9;color:#fff}.button--green{background:#00ad7c;color:#fff}.button--green:hover{background:#0d936d;color:#fff}.button i{margin:0 .74em 0 -.3em}.button.loading{position:relative;overflow:hidden;background:#f5f5f5;color:#434c61}.button.loading:before{position:absolute;left:0;top:0;content:"";width:100%;height:100%;display:block;background:url(/public/app/img/load_pattern.gif);opacity:.1}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0);transform:translateX(0)}15%{-webkit-transform:translateX(-1%) rotate(-5deg);transform:translateX(-1%) rotate(-5deg)}30%{-webkit-transform:translateX(3%) rotate(3deg);transform:translateX(3%) rotate(3deg)}45%{-webkit-transform:translateX(-1%) rotate(-3deg);transform:translateX(-1%) rotate(-3deg)}60%{-webkit-transform:translateX(3%) rotate(2deg);transform:translateX(3%) rotate(2deg)}75%{-webkit-transform:translateX(-1%) rotate(-1deg);transform:translateX(-1%) rotate(-1deg)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes wobble{0%{-webkit-transform:translateX(0);transform:translateX(0)}15%{-webkit-transform:translateX(-1%) rotate(-5deg);transform:translateX(-1%) rotate(-5deg)}30%{-webkit-transform:translateX(3%) rotate(3deg);transform:translateX(3%) rotate(3deg)}45%{-webkit-transform:translateX(-1%) rotate(-3deg);transform:translateX(-1%) rotate(-3deg)}60%{-webkit-transform:translateX(3%) rotate(2deg);transform:translateX(3%) rotate(2deg)}75%{-webkit-transform:translateX(-1%) rotate(-1deg);transform:translateX(-1%) rotate(-1deg)}to{-webkit-transform:translateX(0);transform:translateX(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-iteration-count:1;animation-iteration-count:1}.show-in-mobile{display:none!important}@media (max-width:980px){.mobile-hide{display:none!important}.show-in-mobile{display:block!important}}.codex-logo{display:inline-block;background:url(/public/app/img/codex-logo.svg) no-repeat;width:224px;height:224px}.technic{display:inline-block;background:color(#bc1453 alpha(7%));padding:0 7px;margin-right:.2em;border-radius:2px;color:#bc1453;text-decoration:none;font-size:.9em}.site-header{position:relative;height:50px;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #e7e9f5;z-index:2}.site-header__content{display:-webkit-box;display:-ms-flexbox;display:flex}.site-header a{display:inline-block;text-decoration:none;letter-spacing:.2px;line-height:50px}.site-header__menu-item:not(:first-of-type){margin-left:30px}@media (max-width:980px){.site-header__menu-item:not(:first-of-type){margin-left:10px}}.site-header__right{margin-left:auto}.site-header__social{position:absolute;left:50%;-webkit-transform:translate(-50%,-2px);transform:translate(-50%,-2px);font-size:1.4em}.site-header__github-icon{vertical-align:text-bottom;line-height:.7em;font-size:1.66em}.site-header__photo{display:inline-block;border-radius:50%;width:22px;height:22px;vertical-align:middle;margin-right:5px;background-color:#f4f5f9;overflow:hidden;font-size:3em;line-height:1em;letter-spacing:1.9em;font-size:1.5em;font-weight:700}.site-header__action{margin-right:30px}.site-header__action--write{color:#00b693}.site-header__action--edit{color:#bc1453}.site-footer{border-top:1px solid #e7e9f5;padding:30px 0;margin-top:30px;font-size:13px}@media (max-width:980px){.site-footer{padding:25px 0}}.site-footer .center_side{display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:980px){.site-footer .center_side{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.site-footer__section{max-width:420px}@media (max-width:980px){.site-footer__section{max-width:none}.site-footer__section:not(:last-of-type){margin-bottom:25px}}.site-footer__section--contacts{margin-left:auto;margin-right:45px}@media (max-width:980px){.site-footer__section--contacts{margin-left:0;margin-right:0}}.site-footer ul{list-style:none;padding-left:0;line-height:1.8em}.site-footer a{text-decoration:none}.site-footer h5{margin:0 0 10px;font-size:1.02em}.site-footer h5 a{color:inherit;text-decoration:none}.site-footer p{margin:0}.site-footer .desclimer{opacity:.5}.random_articles{padding:35px 0;margin:0 auto;max-width:650px;font-size:15px;line-height:1.6em}.random_articles h3{margin-bottom:8px;font-size:1.4em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans}.random_articles p{margin:10px 0 30px}.random_articles .article-card:not(:last-of-type){margin-bottom:20px}@media (max-width:980px) and (max-width:690px){.random_articles{margin:0 20px;padding-bottom:0;font-size:14px}}.event_alert{padding:80px 0;max-width:700px;margin:0 auto;border-bottom:1px solid #ebe8e8;text-align:center;font-size:1.8em}@media (max-width:980px){.event_alert{font-size:1.5em}}.event_alert__day{min-width:70px;line-height:1.3em;letter-spacing:1.2px;font-size:2.3em}.event_alert__month{letter-spacing:2px}.event_alert__title{margin-top:1.4em;font-size:.62em;color:#ea6e6e}.event_alert__description{margin-top:1em;font-size:.64em}@media (max-width:980px){.event_alert__description{font-size:1.5em}.event_alert__description:after,.event_alert__description:before{display:none}}.event_alert__link{display:inline-block;color:inherit}.event_alert__link,.event_alert__link:hover{text-decoration:none}.event_alert__icon_delimiter{font-size:.7em}.contest_alert a{display:block;margin:-20px 40px 40px;text-align:center;text-decoration:none;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;letter-spacing:1.4px;color:#988e8e}.contest_alert .line{position:relative;margin:0 70px 70px;height:1px;background:#ebe8e8}.contest_alert .line:before{content:"";position:absolute;left:50%;top:-19px;width:40px;height:40px;margin-left:-20px;background:#fff url(../78fe36d5335d9f6c65fdf26754d2c5f0.png) no-repeat 50% 50%}.page_menu{margin:30px;padding:0;list-style:none;text-align:center;font-size:0;letter-spacing:0}.page_menu li{position:relative;display:inline-block;font-size:15px}.page_menu li:after{content:"\30FB";display:inline-block;padding:0 2px;vertical-align:middle;color:#c1c8da;font-size:18px}.page_menu li:last-child:after{display:none}.dnd-default-avatar{position:absolute;pointer-events:none;z-index:100}.dnd-default-target-highlight{border:1px solid #eee}.dnd-avatar,.dnd-avatar td{background:#fafafd!important}.draggable{cursor:move}.feed{background:#fff}.feed--gray{background:#e8ecf2}.feed-item--dnd{background:#fff;border:1px solid #e8ecf2}.no-display{display:none}.page-header{padding:60px 0}.page-header__title{font-size:1.68em;line-height:1.2em;letter-spacing:.2px}.page-header__description{max-width:500px}.icon_telegram{display:inline-block;width:28px;height:28px;background:url(/public/app/img/icon_telegram.png) no-repeat}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:1.25dppx),(min-resolution:120dpi),print{.icon_telegram{background:url(/public/app/img/icon_telegram@2x.png) no-repeat;background-size:28px 28px}}.best-developers{position:absolute;right:30px;top:90px;width:150px;text-align:left;font-size:13px}.best-developers__heading{max-width:120px;border-bottom:1px solid #e8e6e3;padding-bottom:.5em;font-weight:400;line-height:1.2em;font-size:1em;color:#ac7c0d}.best-developers__item{position:relative;display:block;padding-left:50px;margin-bottom:10px;color:inherit;text-decoration:none;cursor:pointer;line-height:1.4em}.best-developers__photo{position:absolute;left:0;top:50%;margin-top:-17px;width:34px;height:34px;border-radius:18px}@media (max-width:980px){.best-developers{position:static;width:auto;max-width:300px;margin:50px auto 0;text-align:center}.best-developers__heading{max-width:none}.best-developers__item{line-height:1.8em;padding-left:0}.best-developers__photo{position:static;vertical-align:text-bottom;width:24px;height:24px}}.breadcrumb{margin-bottom:50px;padding-left:20px;border-left:3px solid #d6d6d6;color:#a2a2a2}.breadcrumb h1{display:inline-block;margin:0 5px;font-size:inherit;font-weight:400}.breadcrumb a{display:inline-block;margin-right:5px;color:inherit}.news{display:block;max-width:500px;border-top:1px solid #e7e9f5;border-bottom:1px solid #e7e9f5;padding:40px 0;margin:40px auto 0;font-size:14px}.news__list_item{position:relative;padding:5px 0;list-style:none;line-height:1.6em}.news__list_item--hidden{display:none!important}.news__list_item:before{content:attr(data-time);position:absolute;left:-70px;width:50px;text-align:right;color:#6c7580;white-space:nowrap}.news__bage{display:inline-block;margin-right:.5em;color:#f85879;letter-spacing:2px;font-size:1.1em;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps}.news__showmore{display:inline-block;margin-top:.5em;cursor:pointer;color:#6c7580}@media (max-width:980px) and (max-width:690px){.news{padding:20px 0;margin:30px 0;max-width:none}.news__list_item:not(:last-of-type){margin-bottom:5px}.news__list_item:before{position:static;display:block;text-align:left;margin:0 0 1px;font-size:.89em}.news__showmore{margin-top:0}}.scroll-up{position:fixed;bottom:30px;left:30px;padding:32px 27px;border-radius:2px;background:rgba(93,104,156,.08);font-size:18px;text-align:center;cursor:pointer;color:rgba(85,97,125,.6);opacity:0;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.scroll-up:hover{background:rgba(93,104,156,.15)}.scroll-up:before{font-family:codex_ic;content:"\E80F"}.scroll-up.show{opacity:1}@media (max-width:980px){.scroll-up{left:auto;bottom:0;right:0;padding:12px 14px;font-size:12px}}.sharing{display:-webkit-box;display:-ms-flexbox;display:flex;padding:30px;border-radius:3px;background:#f1f5f8;color:#616c98}@media (max-width:980px){.sharing{text-align:center;display:block}}.sharing__offer{max-width:250px}@media (max-width:980px){.sharing__offer{max-width:none}}.sharing__button{margin:auto 0 auto 13px;cursor:pointer;color:#a1acc1;font-size:20px}.sharing__button:hover{color:#5d75bd}.sharing__button.tw:hover{color:#6e98fd}.sharing__button.tg{font-size:17px}.sharing__button.tg:hover{color:#41adff}@media (max-width:980px){.sharing__button{margin:0 8px}}.sharing__main-button{margin:auto 15px auto auto;padding:10px 24px;border-radius:25px;background:#507299;color:#fff;cursor:pointer}@media (max-width:980px){.sharing__main-button{display:block;max-width:120px;margin:20px auto}}.sharing__main-button:hover{background:color(#507299 blackness(5%))}.sharing__main-button i{margin:0 4px 0 -5px}@media (max-width:980px){.sharing{text-align:center}.sharing .main_but{float:none;display:block;margin:0 0 15px}.sharing .but{display:inline-block;float:none;margin:0 7px 18px}}.vk_groups{max-width:650px;margin:50px auto 0}@media (max-width:980px) and (max-width:690px){.vk_groups{max-width:none;width:calc(100% - 40px);margin-left:20px;margin-right:20px}}.quiz{position:relative;margin:auto;max-width:700px;background:#fff;padding:30px 50px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #eceff6;border-radius:3px;font-size:15px}.quiz__question-title{font-size:1.15em;font-weight:600;margin-bottom:1em}.quiz__question-counter{float:right;color:#828282;letter-spacing:3px}.quiz__question-button{padding:10px 28px;margin-top:22px;border:0;border-radius:30px;outline:none;font:inherit;background:#5c95cf;color:#fff}.quiz__question-button:focus,.quiz__question-button:hover{background:#3c7ab9;color:#fff}.quiz__question-button:disabled,.quiz__question-button:disabled:focus,.quiz__question-button:disabled:hover{cursor:default}.quiz__question-button_next{cursor:pointer}.quiz__question-answer{position:relative;padding:.5em 0 .5em 36px;cursor:pointer;line-height:1.4em}.quiz__question-answer:not(:last-of-type){margin-bottom:.4em}.quiz__question-answer:before{position:absolute;left:0;top:.46em;display:inline-block;content:"";width:16px;height:16px;border-radius:50%;border:4px solid #404040;-webkit-box-shadow:inset 0 0 0 4px #fff;box-shadow:inset 0 0 0 4px #fff}.quiz__question-answer:hover:before{background:#404040}.quiz__question-answer_selected.quiz__question-answer_right:before{border-color:#34b98e;-webkit-box-shadow:none;box-shadow:none;background:#34b98e url(/public/app/img/quizzes/checked.svg)!important;background-size:cover!important}.quiz__question-answer_selected.quiz__question-answer_wrong:before{border-color:#ec6d6d;background:#ec6d6d!important}.quiz__question-answer_right:before{border-color:#34b98e;background:#34b98e!important}.quiz__answer-message{margin:-.5em 0 .5em 36px;color:#717888}.quiz__result-score{margin:.7em 0 1em;font-size:2.7em;font-weight:700;text-align:center;letter-spacing:.2em;color:#0081d2}.quiz__result-message{text-align:center;font-size:2em;line-height:1.25em;letter-spacing:.02em;font-weight:700}.quiz__retry-button{position:relative;left:40%;display:inline-block;margin-top:.5em;cursor:pointer;color:#186ebd}.quiz__retry-button:before{content:"";display:inline-block;margin-bottom:-.3em;margin-right:.4em;background-image:url(/public/app/img/quizzes/retry.svg);background-size:cover;height:20px;width:20px}.quiz__sharing{text-align:center;padding:40px 0 30px;border-radius:3px;color:#616c98}.quiz__sharing .but{margin:0 10px;padding:6px 20px;border-radius:20px;cursor:pointer;color:#fff;background:#3c7dce;font-size:1.2em!important;-webkit-box-sizing:border-box;box-sizing:border-box}.quiz__sharing .but:hover{background:transparent;-webkit-box-shadow:inset 0 0 0 2px #5d75bd;box-shadow:inset 0 0 0 2px #5d75bd;color:#5d75bd}.quiz__sharing .tw:hover{-webkit-box-shadow:inset 0 0 0 2px #6e98fd;box-shadow:inset 0 0 0 2px #6e98fd;color:#6e98fd}.quiz__sharing .tg:hover{-webkit-box-shadow:inset 0 0 0 2px #41adff;box-shadow:inset 0 0 0 2px #41adff;color:#41adff}@media (max-width:980px){.quiz{padding:20px}.quiz__sharing .but{display:inline-block;padding:0;font-size:1em;width:40px;height:40px}.quiz__sharing .but i{line-height:40px}.quiz__retry-button{left:26%}}.quiz-form{margin-top:50px}.quiz-form__page-title{font-size:30px;line-height:45px}.quiz-form__label{padding:0;font-size:16px;font-weight:400;text-align:left}.quiz-form__quiz-description,.quiz-form__quiz-title{margin:5px 0 20px}.quiz-form__question-holder{margin:20px 0;padding:25px;border:1px solid #e5e7e8;border-radius:3px}.quiz-form__question-number{font-size:20px;font-weight:700}.quiz-form__question-destroy-button{float:right}.quiz-form__question-title-label{display:block;margin-top:20px}.quiz-form__question-title{margin:5px 0 20px}.quiz-form__messages-holder,.quiz-form__question-answers-holder{border-collapse:collapse}.quiz-form__messages-head,.quiz-form__question-answers-head{border-bottom:5px solid transparent}.quiz-form__question-answer-message-column,.quiz-form__question-answer-text-column,.quiz-form__question-answers-label,.quiz-form__question-messages-label{width:44%}.quiz-form__message-message-column,.quiz-form__question-answer-text-column{padding-left:0}.quiz-form__message-destroy-button,.quiz-form__message-score,.quiz-form__question-answer-destroy-button,.quiz-form__question-answer-score{height:37px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:10px;outline:none;border:none;border-radius:2px}.quiz-form__message-score,.quiz-form__question-answer-score{width:100%;background:#f4f5f8}.quiz-form__message-score:focus,.quiz-form__question-answer-score:focus{background:#eef5fd}.quiz-form__question-answer-destroy-button-column{width:34px;padding-right:0}.quiz-form__message-destroy-button,.quiz-form__question-answer-destroy-button,.quiz-form__question-destroy-button{cursor:pointer;opacity:.3}.quiz-form__message-destroy-button:hover,.quiz-form__question-answer-destroy-button:hover,.quiz-form__question-destroy-button:hover{opacity:1}.quiz-form__add-message-button-column,.quiz-form__question-add-answer-button-column{padding:10px 0}.quiz-form__add-message-button,.quiz-form__add-question-button,.quiz-form__question-add-answer-button{padding:12px 0;line-height:16px;cursor:pointer;color:#454c5d;background:none}.quiz-form__add-message-button:hover,.quiz-form__question-add-answer-button:hover{color:#1a2235}.quiz-form__button-plus{margin-right:9px;vertical-align:text-bottom}.quiz-form__button-cross{vertical-align:middle}.quiz-form__messages{width:100%;margin-top:20px;table-layout:fixed}.quiz-form__message-message-label{width:38%}.quiz-form__message-score-label{width:12%}.quiz-form__share-message-label{width:50%}.quiz-form__messages-holder-column{padding:0}.quiz-form__messages-holder-column,.quiz-form__share-message-column{width:50%;vertical-align:top}.quiz-form__message-message-column{width:76.4%}.quiz-form__message-destroy-button-column{width:34px}.quiz-form__quiz-buttons-holder{margin-top:20px}.site-section{margin:60px 0 90px;font-size:15.9px;line-height:1.6em}.site-section__title{font-size:1.315em;margin-bottom:.5em;font-weight:400;text-align:center;letter-spacing:.026em}.site-section__desc{max-width:400px;margin:0 auto 40px;text-align:center}.site-section__go-more-link{margin:30px auto 0;display:block;max-width:200px;text-align:center;text-decoration:none}.site-section--articles-list{margin:60px 0 40px}.site-section--articles-list .site-section__desc{margin-top:13px}@media (max-width:980px){.site-section--articles-list{margin:0 0 60px}}.article-card{position:relative;padding:20px 20px 75px;border:1px solid #e7e9f5;border-radius:3px;font-size:12.4px}.article-card a{text-decoration:none;color:inherit}.article-card__footer{position:absolute;bottom:20px;left:20px;right:20px;height:34px;line-height:1.54em;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.article-card__cover{display:block;background-color:#f4f5f9;height:100px;margin:-21px -21px 20px;border-radius:3px 3px 0 0;background-position:0 30%;background-size:cover}.article-card__title{margin-bottom:15px;font-size:17.9px;font-weight:700;line-height:1.2em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans}@media (max-width:980px){.article-card__title{font-size:15.9px;letter-spacing:-.013em}}.article-card__photo{float:left;margin-right:10px}.article-card__photo--with-coauthor{margin-right:0;border-left:0}.article-card__photo--coauthor{margin-left:-25px;margin-right:0}.article-card__photo img{display:block;width:30px;height:30px;border-radius:50%;border:2px solid #fff;background-color:#f4f5f9;overflow:hidden;font-size:3em;line-height:1em;letter-spacing:1.9em}.article-card__user-name:not(:last-of-type):after{content:","}.article-card__read-time{color:#6c7580;line-height:1.1em}@media (min-width:1050px){.articles-grid__item .article-card{width:100%}}.product-card{border-radius:5px;padding:30px;margin-bottom:30px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #e7e9f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}@media (min-width:1050px){.product-card{min-height:415px;padding:60px;margin-bottom:60px}}@supports (display:grid){.product-card{display:grid;grid-template-columns:auto 360px;grid-template-rows:60px auto 100px;grid-template-areas:"title-area right-area" "content-area right-area" "footer-area right-area"}@media (max-width:980px){.product-card{grid-template-columns:auto;grid-template-rows:auto auto auto auto;grid-template-areas:"title-area" "content-area" "right-area" "footer-area"}}}.product-card__title{display:block;margin-bottom:20.3px;font-size:43px;letter-spacing:-.36px;font-weight:700;line-height:1em;color:inherit}.product-card__title:hover{color:inherit}@media (max-width:980px){.product-card__title{font-size:32px}}.product-card__caption{max-width:450px;margin-bottom:30px;font-size:20px;color:#626262;line-height:1.5em}.product-card__screen{display:block;width:360px;-webkit-box-shadow:0 22px 31px 0 rgba(0,0,0,.63);box-shadow:0 22px 31px 0 rgba(0,0,0,.63);border-radius:5px}@media (max-width:980px){.product-card__screen{max-width:100%;height:auto}}.product-card__repo{display:inline-block;margin-top:30px;color:#626262}.product-card__button{display:inline-block;padding:12px 26px 12px 18px;margin-top:30px;background:#fff;border:1px solid #e7e9f5;-webkit-box-shadow:0 2px 3px 0 rgba(38,45,67,.02);box-shadow:0 2px 3px 0 rgba(38,45,67,.02);border-radius:3px;color:inherit;color:#000;font-size:18px;letter-spacing:-.3px;text-decoration:none}.product-card__button:not(:last-of-type){margin-right:20px}.product-card__button svg{display:inline-block;width:26px;height:26px;vertical-align:middle;margin-right:.5em;margin-top:-.3em}.product-card__button:hover{background-color:#fdfdfd;color:#000;color:initial;text-decoration:none}@media (max-width:980px){.product-card__button{padding:6px 15px 6px 13px;margin:20px 20px 0 0;font-size:14px}.product-card__button svg{width:20px;height:20px}}.product-card__right-heading{margin:0 0 20px;font-size:22px;font-weight:400}.product-card__application{display:inline-block;margin-bottom:15px;width:40px;height:40px}.product-card__application svg{width:40px;height:40px}.product-card__application:not(:last-of-type){margin-right:10px}.product-card__right-link{margin-top:7px;display:inline-block;color:#8c8888;line-height:1.5em}.product-card__actions{margin-top:40px}.product-card__loved-by{margin-top:45px}.product-card__loved-by-title{font-size:18px;font-weight:400;margin-bottom:10px}.product-card__loved-by-item{display:inline-block;vertical-align:top;padding:10px 25px 10px 0;height:27px}.product-card__loved-by-item:not(:last-of-type){border-right:1px solid #e7e9f5}.product-card__loved-by-item:not(:first-of-type){padding-left:23px}@media (max-width:980px){.product-card__loved-by-item{padding:5px 10px 5px 0}.product-card__loved-by-item:not(:first-of-type){padding-left:10px}}.product-card__download{position:relative;display:inline-block;min-width:150px;padding:10px 20px;margin:0 20px 20px 0;border:1px solid #e0e1e6;border-radius:3px;font-size:13.1px;line-height:1.5em;color:#25262e;overflow:hidden}.product-card__download[href="#"]{color:#9699a8}.product-card__download[href="#"]:after{content:"Soon";background:#ff1769;border-radius:3px;padding:3px 6px;line-height:1em;color:#fff;font-weight:500;position:absolute;right:5px;top:5px;letter-spacing:-.5px}.product-card__download[href="#"] svg{opacity:.5}.product-card__download[href="#"]:hover{color:#9699a8!important}.product-card__download:hover{color:#25262e}.product-card__download b{display:block;font-size:16px;font-weight:500}.product-card__download svg{float:left;margin-top:5px;margin-right:15px}.product-card__download--win svg{margin-top:7px}.product-card__download--linux svg{margin-top:8px}.product-card__download--appstore{background-color:#0c0c0c;border:0;color:#fff}.product-card__download--appstore svg{fill:#fff!important}.product-card__download--appstore:hover{color:#fff}.product-card__watch-button{display:inline-block;background:#000;padding:11px 25px;border-radius:30px;color:#fff;white-space:nowrap;font-size:18px;cursor:pointer;font-weight:400}.product-card__watch-button:before{display:inline-block;content:"";width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid #fff;margin-right:8px;margin-left:5px;vertical-align:text-bottom}.product-card__advantages{margin:30px 0 0;padding:0;list-style:none;line-height:1.8em}.product-card__disclaimer{margin-top:20px;font-size:15px;line-height:1.53em}.product-card__video{max-width:100%;margin-left:-55px}@media (max-width:980px){.product-card__video{margin-left:0}}.product-card__right-caption{margin-top:10px}.product-card__right-caption a{color:#6c7580}.product-card__right-caption a:hover{color:#2c7fe5}.product-card__right-menu{margin:10px 0}.product-card__right-menu a{color:#2969b9;font-size:15px}.product-card__right-menu a:not(:last-of-type):after{content:"";display:inline-block;vertical-align:middle;width:4px;height:4px;border-radius:50%;background:#6c7580;margin:0 .25em 0 .45em;opacity:.8}@supports (display:grid){.product-card__caption{grid-area:content-area}.product-card__right{grid-area:right-area;position:relative}.product-card__repo{grid-area:footer-area;align-self:end}}.product-card--hawk{background-image:linear-gradient(176deg,#2e2e3c,#262633 99%,#252533);border:0}.product-card--hawk .product-card__title{color:#fff}.product-card--hawk .product-card__title img{width:44px;vertical-align:text-bottom;margin-right:13px;-webkit-transform:translateY(-3px);transform:translateY(-3px)}@media (max-width:980px){.product-card--hawk .product-card__title img{width:34px}}.product-card--hawk .product-card__caption,.product-card--hawk .product-card__screen{color:#a4b1d0}.product-card--hawk .product-card__caption a,.product-card--hawk .product-card__screen a{color:#59a3ff}.product-card--hawk .product-card__repo{color:#878ca0}.product-card--hawk .product-card__repo:hover{color:#fff}.product-card--hawk .product-card__caption{padding-top:10px}.product-card--hawk .product-card__screen{background-color:#2a2835}.product-card--notes{background-image:linear-gradient(9deg,#f4f5fb,#f9fafb 99%);border:0}.product-card--notes .product-card__caption{margin-bottom:10px}.product-card--media{background-color:#0b0b0b;border:0}@supports (display:grid){.product-card--media{grid-template-rows:130px auto 100px}@media (max-width:980px){.product-card--media{grid-template-rows:auto}}}.product-card--media .product-card__title{font-size:70px;font-weight:500;max-width:200px;color:#fff}.product-card--media .product-card__caption{margin:30px 0;color:#757575;font-weight:300;font-size:25px}.product-card--media .product-card__advantages{color:#fff;font-weight:400;font-size:15px}.product-card--media .product-card__repo:hover{color:#fff}.product-card--ar-tester{background-image:url(/public/app/img/products/ar-tester-bg.jpg),linear-gradient(69deg,#f575a0 8%,#187cb8);background-size:cover,auto;border:0}@supports (display:grid){.product-card--ar-tester{grid-template-columns:auto 300px}@media (max-width:980px){.product-card--ar-tester{grid-template-columns:auto}}}.product-card--ar-tester .product-card__caption,.product-card--ar-tester .product-card__disclaimer,.product-card--ar-tester .product-card__repo,.product-card--ar-tester .product-card__title{color:#fff}.product-card--ar-tester .product-card__caption{margin-top:20px;font-size:24px;font-weight:300;line-height:1.36em}.product-card--ar-tester .product-card__disclaimer{font-weight:400}.product-card--ar-tester .product-card__title{font-size:53px}.product-card--ar-tester .product-card__screen{-webkit-box-shadow:none;box-shadow:none;width:256px;margin-top:20px}.product-card--ar-tester .product-card__download{padding:14px 20px 17px;font-size:13px;border-radius:8px;opacity:.3;position:absolute;left:50%;bottom:0;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media (max-width:980px){.product-card--ar-tester .product-card__download{display:none}}.product-card--ar-tester .product-card__download svg{margin-right:15px;margin-top:4px}.product-card--ar-tester .product-card__download b{font-size:19px;font-weight:400}.product-card--ar-tester .product-card__repo{opacity:.5}.product-card--ar-tester .product-card__repo:hover{opacity:1}@supports (display:grid){.products-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:row;grid-auto-rows:1fr;grid-gap:30px}.products-grid__item{margin:0!important}@media (max-width:980px){.products-grid{grid-template-columns:1fr;grid-auto-rows:auto}}}.product-cell{position:relative;border:1px solid #e7e9f5;padding:30px 30px 102px;border-radius:2px;color:#6c7580;font-size:15px;margin-bottom:30px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width:980px){.product-cell{margin-bottom:20px;padding:20px}}.product-cell__name{display:block;font-size:19px;font-weight:500;margin:0;color:#000;letter-spacing:-.17px;font-weight:700}.product-cell__logo{float:right;margin-left:30px}.product-cell__desc{margin-top:10px;line-height:1.6em}.product-cell__tags{position:absolute;bottom:62px}@media (max-width:980px){.product-cell__tags{margin-top:15px;position:static}}.product-cell__repo{position:absolute;bottom:25px;display:inline-block;margin-top:15px;color:inherit;font-size:13px}@media (max-width:980px){.product-cell__repo{position:static}}.product-cell__tag{display:inline-block;margin-right:5px;padding:4px 8px;border:1px solid #efc8db;font-size:14.3px;line-height:1em;color:#995175;border-radius:3px}@media (max-width:980px){.product-cell__tag{margin-top:5px}}.product-cell__tag svg{margin-right:.12em;vertical-align:text-bottom}.product-cell__tag--pypi{border-color:#adcbe3;color:#3573a7}.product-cell__tag--pypi:hover{color:color(#3573a7 blackness(20%))}.product-cell__tag--npm{border-color:#f9b7b7;color:#b72b2a}.product-cell__tag--npm:hover{color:color(#b72b2a blackness(20%))}.product-cell__tag--npm svg{vertical-align:middle}.product-cell__tag--composer{border-color:#d0cdc8;color:#6d6d6d}.product-cell__tag--composer:hover{color:color(#6d6d6d blackness(20%))}.follow-block{text-align:center}.follow-block__photos{display:block;margin:25px 0}.follow-block__photos img{width:60px;height:60px;opacity:.9;margin:0 10px;vertical-align:bottom;border-radius:2px}@media (max-width:980px){.follow-block__photos img{width:46px;height:46px;margin:0 3px}}.follow-block .button{background:transparent;margin:0 7.5px;border:1px solid #c2c2c2;color:#373737;font-size:14.5px;border-radius:3px;padding:4px 9px;line-height:22px;letter-spacing:.012em;vertical-align:top}.follow-block .button svg{vertical-align:middle;margin-right:.2em}@media (max-width:980px){.follow-block .button{font-size:14px;padding:3px 7px;margin:0 2px 10px}.follow-block .button svg{height:auto;width:1.1em;margin-right:.1em}}.follow-block .button--instagram{border-color:#eec6dc;color:#871f4d}.follow-block .button--instagram svg{margin-top:-2px}.follow-block .button--github svg{margin-top:-2px;height:18px}.follow-block .button--vk{border-color:#bcc6df;color:#2a5ba2}.follow-block .button--vk svg{vertical-align:middle;width:17px;height:auto}.follow-block .button--twitter{border-color:#a3caf8;color:#509dec}.follow-block .button--twitter svg{width:17px;height:auto}.follow-block .button--telegram{color:#0b98da;border-color:#99cfed}.follow-block .button--telegram svg{margin-top:-3px;height:14px}.course-navigation-wrapper{position:absolute;padding-top:150px;max-width:155px}.course-navigation-wrapper--previous{left:0}.course-navigation-wrapper--next{right:0}.course-navigation{display:block;padding:15px;text-align:center;text-decoration:none;color:inherit}.course-navigation:hover{text-decoration:none;cursor:pointer;background:rgba(93,104,156,.08)}.course-navigation--previous{border-radius:0 3px 3px 0}.course-navigation--next{border-radius:3px 0 0 3px}.course-navigation__icon{display:block;margin:20px auto 15px;width:15px;height:28px}.course-navigation__icon--next{background:url(../b16ca1e261bbf304218e643476493658.svg) no-repeat}.course-navigation__icon--previous{background:url(../627cb0932775ac5157ef6458f4e8d84b.svg) no-repeat}.course-navigation__avatar{display:block;margin:25px auto 5px;border-radius:50%;width:30px;height:30px}.course-navigation__author{max-width:100px;margin:10px auto;color:#5f6a75;line-height:1.26em;font-size:.9em}@media (max-width:1250px){.course-navigation-wrapper{display:none}}.video-overlay{background:#000;position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;text-align:center;padding:20px;-webkit-box-sizing:border-box;box-sizing:border-box;opacity:0;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in;will-change:opacity}.video-overlay--showed{opacity:1}.video-overlay video{max-height:100%;max-width:100%;opacity:.1;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in;will-change:opacity}.video-overlay--loaded video{opacity:1}.video-overlay__close{display:inline-block;position:absolute;right:20px;top:20px;cursor:pointer;opacity:.8;width:25px;height:25px;background:rgba(0,0,0,.8);padding:5px;border-radius:50%}.video-overlay__close:hover{opacity:1}.video-overlay__close:after,.video-overlay__close:before{content:"";width:2px;height:25px;background:#fff;border-radius:2px;display:block;position:absolute;left:49%;top:5px}.video-overlay__close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.video-overlay__close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.follow-telegram{max-width:380px;margin:120px auto 0}.follow-telegram:before{display:block;width:30px;height:30px;content:"";background:url(/public/app/img/codex-logo-gray.svg);background-size:cover;border:3px solid #eaf2f7;background-color:#eaf2f7;border-radius:50%;float:left}.follow-telegram__contents{position:relative;border-radius:9.5px;border-top-left-radius:0;border:1px solid #d7e3ec;padding:15px 17px;margin-left:46.5px}.follow-telegram__contents:before{position:absolute;left:-8px;top:-1px;width:9px;height:20px;content:"";background:url(/public/app/img/bubble-corner.svg)}.follow-telegram__title{display:inline-block;font-size:15px;letter-spacing:-.4px;line-height:1em;color:#2c86cd;font-weight:600;margin-bottom:6px}.follow-telegram__desc{line-height:1.5em;font-size:13.6px}.follow-telegram__button{display:inline-block;background:#5ca9e6;border-radius:25px;font-size:14.2px;letter-spacing:.3px;color:#fff;margin-top:10px;margin-left:46.5px;padding:8px 20px}.follow-telegram__button:hover{background-color:#52a1e0;color:#fff}.follow-telegram__button svg{display:inline-block;vertical-align:middle;margin:-2px 7px 0 -2px}@media (max-width:980px){.follow-telegram{width:auto;margin:0 auto}.follow-telegram__contents{padding:11px 15px}.follow-telegram__title{font-size:14px}.follow-telegram__desc{font-size:13px}}.join-component{margin:156px 0 152px;text-align:center}.join-component--compact{margin:50px 0 80px}.join-component__desc{max-width:322px;margin-bottom:32px}.join-component__label{color:#6c7580;margin-bottom:15px}.join-component__button{font-size:16.9px;font-weight:500;color:#fff;border-radius:3px;background-color:#4a90e2;padding:10px 35.5px;-webkit-box-shadow:0 7px 12px -4px rgba(65,140,227,.7);box-shadow:0 7px 12px -4px rgba(65,140,227,.7)}.join-component__button:hover{color:#fff;background:#4484db}.join-component__time{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:24px;font-weight:500;line-height:1.08;color:#6c7580;margin-bottom:60px}.join-component__time-delimiter{padding:0 8px}.join-component__time-delimiter:after,.join-component__time-delimiter:before{content:"";display:block;border-radius:50%;width:4px;height:4px;background-color:#6c7580}.join-component__time-delimiter:before{margin-bottom:3px}.join-component__time-delimiter--blinking:after{-webkit-animation:blinker 2s step-end infinite;animation:blinker 2s step-end infinite;-webkit-animation-delay:1s;animation-delay:1s}.join-component__time-item{position:relative}.join-component__time-item:after{display:block;position:absolute;top:100%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;font-weight:400;line-height:1.86;content:attr(data-time)}@-webkit-keyframes blinker{0%{opacity:0}50%{opacity:1}}@keyframes blinker{0%{opacity:0}50%{opacity:1}}.index-page{padding:100px 0 70px}.index-page p{max-width:500px;margin:15px auto;font-size:14.8px;letter-spacing:.014em;line-height:1.65em}.index-page__join-button{margin:1.5em auto 0;padding:16px 30px;font-size:1.2em;display:block;max-width:140px;text-align:center}.index-page .codex-logo{display:block;margin:0 auto 50px}.thanks-block svg{display:block;max-width:60px;margin:20px auto}@media (max-width:980px){.index-page{padding:50px 0}.index-page p{padding:0 10px}}.join-page{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.join-page__logo{margin:60px auto;display:block}.join-page__logo svg{display:block;margin:0 auto}@media (max-width:980px){.join-page__logo svg{width:150px;height:auto}}@media (max-width:980px){.join-page__logo{margin:50px auto 30px}}.join-page__content{padding:85px 100px;border:1px solid #e7e9f5;border-radius:20px;max-width:650px;margin:0 auto;line-height:1.64em;font-size:15.3px;-webkit-box-sizing:border-box;box-sizing:border-box}@media (max-width:980px){.join-page__content{padding:20px;border:0}}.join-page ul{margin:1.75em 0}.join-page li{margin:.8em 0}.join-page h1{font-size:26px;margin-bottom:1.35em}@media (max-width:980px){.join-page h1{margin-top:0}}.join-page h2{margin:2em 0 .8em;font-size:21px;font-weight:400}@media (max-width:980px){.join-page__form{margin-top:10px}}.join-page__form label{display:block;margin-bottom:.7em}.join-page__form .input{margin-bottom:30px}.join-page__auth{margin:50px 0;color:#838ea1}@media (max-width:980px){.join-page__auth{font-size:14px}}.join-page__auth-vk-button{display:inline-block;vertical-align:middle;margin-right:12px;border:1px solid #bed8f9;border-radius:6px;padding:7px 9px}@media (max-width:980px){.join-page__auth-vk-button{padding:4px 7px;margin-right:7px}}.join-page__auth-vk-button svg{vertical-align:middle;margin-right:.3em;margin-top:-1px}@media (max-width:980px){.join-page__auth-vk-button svg{width:16px;height:16px;vertical-align:text-bottom}}.join-page__auth-vk-button:hover{border-color:#94bdf2}.join-page__auth-show-email{display:inline-block;cursor:pointer;border-bottom:1px dotted #d0d4d8}.join-page__auth-show-email:hover{color:#6c7580}.join-page .button{border-radius:3px}.join-page__user{font-size:1.1em;margin:50px 0 30px}.join-page__user-photo{width:26px;height:26px;border-radius:13px;margin-right:10px;vertical-align:middle}.join-page__user-name{display:inline-block;vertical-align:middle}.join-page__error{margin:15px 0;color:#e04545}.join-page__success{padding:100px 200px;background:#f2f5fb;color:#6f809a;line-height:1.6em;font-size:16px;text-align:center}@media (max-width:980px){.join-page__success{padding:15px;font-size:14px}}.join-page__success--compact{margin-top:2em;padding:30px;font-size:14px}.join-page__success-inner{max-width:550px;margin:0 auto}.task-page{padding-bottom:50px}.task-page__cols{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;max-width:650px;margin:50px auto;text-align:center}@media (max-width:980px){.task-page__cols{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.task-page__col{display:block;width:33.3%;text-align:center;font-size:18px}@media (max-width:980px){.task-page__col{width:auto;text-align:left;padding:5px 0}}.task-page__left{padding-right:50px}@media (max-width:980px){.task-page__left{margin-bottom:50px}}.task-page h3{margin-top:0}.task-page img{max-width:100%}.task-page__download{display:block;width:200px;text-align:center;padding:15px 10px;border-radius:50px;background:#1f253c;border:0!important;color:#fff!important;font-size:16px;margin:50px auto 0}.task-page__download svg{width:30px;height:auto;vertical-align:middle;margin-right:.3em}.task-page__disclaimer{color:#6c7580;margin:20px auto;max-width:400px;text-align:center;line-height:1.5em}.additional_tasks{margin:0;padding:0}.additional_tasks li{position:relative;margin:0!important;list-style-type:none;padding:20px 0 20px 30px;border-bottom:1px solid #e4eaf5}.additional_tasks li:before{position:absolute;left:0;top:1.9em;width:10px;height:10px;display:inline-block;border-radius:5px;background:#dfe7f5;margin-right:15px;content:""}.additional_tasks .back:before{background:#6699df}.additional_tasks .front:before{background:#e87474}.additional_tasks .ui:before{background:#9bf1b3}.additional_tasks--legend li{display:inline-block;border-bottom:0;margin-right:50px!important;font-size:14px;font-weight:700}.additional_tasks--legend li:before{top:2em}.articles-grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:-10px}@media (max-width:850px){.articles-grid{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.articles-grid__item{width:33.33%;padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:850px){.articles-grid__item{width:auto;display:block}}.feed{max-width:540px;margin:0 auto}.feed-item{font-size:15px;-webkit-box-sizing:border-box;box-sizing:border-box;word-wrap:break-word;margin-bottom:50px}@media (max-width:980px){.feed-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.feed-item__info{color:#6e7990;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:14px;-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.feed-item__time{margin-right:11px}.feed-item__author-photo{display:inline-block;width:17px;height:17px;vertical-align:middle;border-radius:50%;margin:-2px -2px 0 0;border:3px solid #fff;overflow:hidden}.feed-item__author-photo img{width:inherit;height:auto}.feed-item__author-photo:nth-of-type(2){margin-left:-10px}.feed-item__author-photo:nth-of-type(2) img{-webkit-box-shadow:0 0 0 3px #fff;box-shadow:0 0 0 3px #fff}.feed-item__author-name{color:inherit}.feed-item__title{font-size:20px;line-height:1.3em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;font-weight:700;text-decoration:none;letter-spacing:-.75px;color:inherit}.feed-item__description{margin-top:7px;font-size:14.4px;letter-spacing:.2px;line-height:1.55em}@media (max-width:980px){.feed-item--with-cover{display:block}}.feed-item--with-cover .feed-item__description{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (max-width:980px){.feed-item--with-cover .feed-item__description{-webkit-line-clamp:7}}.feed-item--with-cover .feed-item__cover{float:right;margin-left:45px}@media (max-width:980px){.feed-item--with-cover .feed-item__cover{margin-left:20px}}.feed-item--with-cover .feed-item__cover img{display:block;border-radius:3px;height:130px;width:130px}@media (max-width:980px){.feed-item--with-cover .feed-item__cover img{height:40px;width:40px}}.feed-item--with-big-cover{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (max-width:980px){.feed-item--with-big-cover .feed-item__title{font-size:23px}}.feed-item--with-big-cover .feed-item__description{-webkit-line-clamp:5}.feed-item--with-big-cover .feed-item__cover{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;margin:20px 0 0}.feed-item--with-big-cover .feed-item__cover img{width:100%;height:auto}.feed-item--big .feed-item__title{font-size:34px}@media (max-width:980px){.feed-item--big .feed-item__title{font-size:26px}}.feed-item--big .feed-item__description{font-size:17.6px;margin-top:10px}@media (max-width:980px){.feed-item--big .feed-item__description{font-size:15.6px}}@media (max-width:980px){.feed-item--big.feed-item--with-cover .feed-item__title{font-size:23px}}.feed-item--big.feed-item--with-cover .feed-item__cover{margin-left:20px}@media (max-width:980px){.feed-item--big.feed-item--with-cover{display:block}}.feed-item--big.feed-item--with-big-cover{display:-webkit-box;display:-ms-flexbox;display:flex}.feed-item--big.feed-item--with-big-cover .feed-item__cover{margin-left:0}@media (max-width:980px){.feed-item--big.feed-item--with-big-cover .feed-item__title{font-size:26px}}@media (max-width:980px){.contest_alert a{margin:20px 0}}.article__title{max-width:700px;-webkit-transform:translateX(25px);transform:translateX(25px);margin:0 auto;padding:80px 20px 40px;font-weight:800;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.25em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;font-size:37px;letter-spacing:-.014em}@media (max-width:980px){.article__title{padding:30px 20px;font-size:26px}}@media (max-width:980px) and (max-width:690px){.article__title{-webkit-transform:none;transform:none}}.article__coauthors-info{color:#6c7580;-ms-flex-item-align:center;align-self:center}@media (max-width:980px){.article__coauthors-info{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-overflow:ellipsis;overflow-x:hidden}}.article__info{max-width:650px;margin:0 auto 40px;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:980px){.article__info{padding-left:20px;padding-right:20px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:30px}}.article__author{white-space:nowrap}.article__author:after{content:" ";display:table;clear:both}.article__author-photo{width:50px;height:50px;border:3px solid #fff;border-radius:50%;margin-right:15px;margin-top:-3px;float:left;background-color:#f4f5f9;overflow:hidden;font-size:3em;line-height:1em;letter-spacing:1.9em}@media (max-width:980px){.article__author-photo{width:40px;height:40px;margin-top:0}}.article__author-photo--with-coauthor{margin-right:0;border-left:0}.article__author-photo--coauthor{margin-left:-20px;margin-right:12px}.article__author-name{font-size:15px}@media (max-width:980px){.article__author-name{font-size:13.3px;white-space:nowrap}}.article__date{display:block;color:#6c7580}@media (max-width:980px){.article__date{line-height:1.3em;font-size:11.9px}}.article__read-time{margin:auto 0 auto auto;color:#6c7580}.article__read-time:before{content:"";background-image:url(/public/app/img/components/article/watch.svg);width:19px;height:20px;display:inline-block;margin-right:5px;vertical-align:bottom}@media (max-width:980px){.article__read-time{margin:25px 0 0;-ms-flex-preferred-size:100%;flex-basis:100%}}.article__read-on{margin:auto 0 auto auto;color:#6c7580}@media (max-width:980px){.article__read-on{margin:25px 0 0}}.article__read-on-item{cursor:pointer}.article__read-on-item:first-of-type{margin-left:10px}.article__read-on-item:before{display:inline-block;vertical-align:text-bottom;content:"";width:16px;height:16px;margin-right:9px}.article__read-on-item:hover{color:color(#6c7580 blackness(70%))}.article__read-on-item--english:before{background-image:url(/public/app/img/components/article/flag-english.svg)}.article__read-on-item--russian:before{background-image:url(/public/app/img/components/article/flag-russian.svg);background-size:contain}.article__read-on-item:not(:last-of-type):after{content:"|";margin:0 8px 0 12px}.article .sharing{max-width:650px;margin:40px auto}@media (max-width:980px){.article .sharing{padding-left:20px;padding-right:20px}}@media (max-width:980px) and (max-width:690px){.article .sharing{margin-left:20px;margin-right:20px}}.article-content{font-size:17.4px;line-height:1.62em;word-wrap:break-word;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:rgba(0,0,0,.85882)}.article-content--serif{font-size:19.3px;line-height:1.6em;letter-spacing:.1px;font-family:Georgia}.article-content a{color:inherit;text-decoration:none;border-bottom:1px solid #333}.article-content i{font-family:Georgia;font-style:italic;letter-spacing:.1px;font-size:1.05em}.article-content blockquote,.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6,.article-content ol,.article-content p,.article-content ul{max-width:650px}@media (max-width:980px){.article-content blockquote,.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6,.article-content ol,.article-content p,.article-content ul{padding-left:20px;padding-right:20px}}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{margin:1.6em auto .5em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;letter-spacing:-.02em;line-height:1.3em;padding-top:0;padding-bottom:0}.article-content h1+p,.article-content h2+p,.article-content h3+p,.article-content h4+p,.article-content h5+p,.article-content h6+p{margin-top:0}.article-content h2{font-size:1.6em}@media (max-width:980px){.article-content h2{font-size:1.2em}}.article-content h3,.article-content h4,.article-content h5,.article-content h6{margin-top:.8em}.article-content p{margin:1.2em auto}.article-image{max-width:650px;margin:40px auto;text-align:center}@media (max-width:980px){.article-image{padding-left:20px;padding-right:20px;margin:30px auto;padding-left:0;padding-right:0}}.article-image img{vertical-align:bottom;max-width:100%}.article-image--stretched{max-width:none!important;width:100%!important}.article-image--stretched img{width:100%}.article-image--bordered img{border:3px solid #fff;-webkit-box-shadow:0 0 0 2px #e7e9f5;box-shadow:0 0 0 2px #e7e9f5;-webkit-box-sizing:border-box;box-sizing:border-box}.article-image--backgrounded{padding:15px;background:#e7e9f5}.article-image--backgrounded img{max-width:60%;margin:0 auto}.article-image-caption{margin:1em auto;color:#6c7580}.article-code{max-width:650px;margin:40px auto;border:1px solid #e4e4e4;padding:15px 18px;border-radius:5px}@media (max-width:980px){.article-code{padding-left:20px;padding-right:20px}}@media (max-width:980px) and (max-width:690px){.article-code{-webkit-box-sizing:border-box;box-sizing:border-box;margin:30px 20px}}.article-code__content{display:block;white-space:pre;word-wrap:normal;overflow-x:auto;font-family:Menlo,Monaco,Consolas,Courier New,monospace;line-height:1.7em;font-size:13.6px;padding:0!important}@media (max-width:980px){.article-code__content{font-size:10.2px;line-height:1.6em}}.article-quote{margin:40px auto;padding:30px 0;border-top:2px solid #e4e4e4;border-bottom:2px solid #e4e4e4;font-family:Georgia;letter-spacing:.12px;font-style:italic;font-size:20.4px;line-height:1.6em}.article-quote--center{text-align:center}@media (max-width:980px){.article-quote{padding-left:0!important;padding-right:0!important}}@media (max-width:980px) and (max-width:690px){.article-quote{margin:30px 20px;padding-left:20px!important;padding-right:20px!important}}.article-quote p{padding-left:0!important;padding-right:0!important}.article-quote p:first-of-type{margin-top:0}.article-quote p:last-of-type{margin-bottom:0}.embed-link{display:block;max-width:650px;margin:40px auto;padding:25px;border:1px solid #e7e9f5!important;-webkit-box-shadow:0 1px 1px rgba(66,70,84,.03922);box-shadow:0 1px 1px rgba(66,70,84,.03922);border-radius:2px;color:inherit!important;text-decoration:none!important}@media (max-width:980px){.embed-link{-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px;margin:30px auto}}@media (max-width:980px) and (max-width:690px){.embed-link{margin:30px 10px}}.embed-link__image{float:right;max-width:70px;background-position:50%;background-repeat:no-repeat;background-size:contain;margin:0 0 30px 30px;border-radius:3px}@media (max-width:980px){.embed-link__image{margin:0 0 15px 15px}}.embed-link__title{font-size:16px;line-height:1.45em;font-weight:600}@media (max-width:980px){.embed-link__title{font-size:12.2px}}.embed-link__domain{display:inline-block;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;margin-top:20px;border:0!important;color:#6c7580;font-size:.85em}@media (max-width:980px){.embed-link__domain{margin-top:5px;font-size:12px}}.embed-link__description{margin-top:10px;font-size:.9em}@media (max-width:980px){.embed-link__description{margin-top:5px;font-size:12px}}.article-list{margin:1.2em auto}@media (max-width:980px){.article-list{-webkit-box-sizing:border-box;box-sizing:border-box}}@media (max-width:980px) and (max-width:690px){.article-list{margin-left:20px}}.article-list li{margin:.5em 0;padding-left:.5em}.article-delimiter{line-height:1.6em;width:100%;text-align:center}.article-delimiter:before{display:inline-block;content:"***";font-size:30px;line-height:65px;height:30px;letter-spacing:.2em}.inline-code{background:rgba(251,241,241,.78);color:#c44545;padding:4px 6px;border-radius:2px;margin:0 2px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:.9em}.cdx-marker{background:rgba(245,235,111,.29);padding:3px 0}.article-lang__section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (max-width:980px){.article-lang__section label{-ms-flex-preferred-size:100%;flex-basis:100%}}.article-lang__radio{margin:0 5px 0 10px}@media (max-width:980px){.article-lang__radio:first-of-type{margin-left:0}}.article-table{max-width:650px;margin:20px auto;table-layout:fixed;width:100%;border-radius:3px;border-collapse:collapse;border:1px solid #e7e9f5}@media (max-width:980px){.article-table{padding-left:20px;padding-right:20px}}.article-table td{padding:8px 10px;border:1px solid #e7e9f5}.article-embed{max-width:650px;margin:20px auto}@media (max-width:980px){.article-embed{padding-left:20px;padding-right:20px}}.article-embed-caption{text-align:center;margin:1em auto;color:#6c7580}.profile{padding:150px 0 110px;text-align:center}.profile-ava{position:relative;display:inline-block}.profile-ava__settings{position:absolute;bottom:-6px;right:0;background:#fff url(/public/app/img/icon_gear.png) no-repeat 50%;width:29px;height:29px;border-radius:50%;-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;transition:transform .15s ease;transition:transform .15s ease,-webkit-transform .15s ease;will-change:transform}.profile-ava__settings:hover{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.profile-ava__photo,.profile-settings__ava{display:inline-block;width:100px;height:100px;background:#e9ecf5;border-radius:50%;overflow:hidden;font-size:100px;line-height:1em;letter-spacing:50px;color:#cad2e0;font-weight:700}.profile-ava__photo>img,.profile-settings__ava>img{vertical-align:top;margin:-1px 0 0 -2px;width:103px;height:103px}.profile__name{margin:1.5em 0 .74em;font-size:2.2em;line-height:1.3em}@media (max-width:980px){.profile__name{font-size:1.5em}}.profile__bio{font-size:1.2em;line-height:1.5em}.profile__social{display:inline-block;padding:2px 3px;margin:25px 18px;border-radius:15px;text-decoration:none;font-size:1.5em}.profile__social:not(.github){color:#9c9da2}.profile__social:hover{color:#4c5063}.profile__social.github:not(.profile__social_no_insta){font-size:2.1em;line-height:.5em}.profile__logout{display:inline-block;margin-top:30px;font-size:18px;text-decoration:none!important;color:#b9bfca;border-bottom:1px solid #dce1e8}.profile__logout:hover{color:#8d9aaf;border-bottom-color:#c4ceda}.profile-settings{padding:40px 0}.profile-settings label{display:block;margin-bottom:.7em}.profile-settings__form{margin-left:40px;padding-left:35px;border-left:3px solid #8b9aaf;max-width:280px}.profile-settings__ava,.profile-settings__form input:not(:last-of-type),.profile-settings__form textarea{margin-bottom:20px}.profile_join_requests{color:#9a9a9a;font-style:italic}@media (max-width:980px){.profile{padding:70px 0}.profile-settings .button:not(.button--master){margin-top:-38px}.profile-settings .fl_l{float:none}.profile-settings__form{margin-left:0;padding-left:0;border-left:0}}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:1.25dppx),(min-resolution:120dpi),print{.profile-ava__settings{background:#fff url(/public/app/img/icon_gear@2x.png) no-repeat 50%;background-size:21px 21px}}.contests-list{position:relative;border-top:1px solid #d2dde5}.contests-list:before{display:block;content:attr(data-heading);position:absolute;left:97px;top:-14px;padding:3px 15px;background:#fff;color:#b0c4d3;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;font-size:18px;letter-spacing:1px}.contests-list .item{padding:50px 0}.contests-list .date{float:left;width:60px;color:#a8adb6;text-align:center}.contests-list time:last-child:before{content:"\2014";display:block;line-height:.8em}.contests-list .icon{width:79px;height:52px;margin:0 30px}.contests-list .icon img{width:100%;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast}.contests-list .title{display:inline-block;margin:0 0 8px;font-size:18px;color:inherit;text-decoration:none;font-weight:700}.contests-list .title:hover{color:#4888dc}.contest{padding:30px 0}.contest .disclaimer{color:#988e8e;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;letter-spacing:1.4px;font-size:14px;margin:40px;text-align:center}.contest .line{position:relative;margin:0 70px;height:1px;background:#ebe8e8}.contest .line:before{content:"";position:absolute;left:50%;top:-19px;width:40px;height:40px;margin-left:-20px;background:#fff url(/public/app/img/contest_icon_goblet.png) no-repeat 50% 50%}.contest img{max-width:100%}.contest .result{padding-top:80px;font-size:1.1em;line-height:1.75em;word-wrap:break-word}.contest .result h2,.contest .result p{margin:25px 70px}.contest .result h2{margin-bottom:2em}.contest .article__title{padding-top:0}.contest_info{width:80%;margin:0 auto 50px;color:#9a9ca0}.contest_info td{width:33%;text-align:center}.contest_info td:nth-of-type(2){width:34%;border-left:1px solid #caced4;border-right:1px solid #caced4}.contest_info time{display:inline-block;text-align:left;vertical-align:middle;margin-left:10px;font-weight:700;line-height:1.1em}.contest .winner{max-width:300px;margin:80px auto;text-align:center}.contest .title{color:#aeb5bb;letter-spacing:1px;font-size:13px}.contest .name{margin:10px 0 7px;color:#495d6f;font-size:18px;font-weight:700}.contest .nick{text-decoration:none}.contest .nick:after,.contest .nick:before{content:"";display:inline-block;margin:0 4px;width:55px;height:26px;background:url(../d5e9a073845777db328f100dae230770.png) no-repeat;vertical-align:top}.contest .nick:after{background-position:-55px 0}.contest .toggler{display:inline-block;margin-top:40px;color:#aeb5bb;text-decoration:none;border-bottom:1px solid #e9ecf1}.contest .toggler i{font-size:12px}@media (max-width:980px){.contests-list .date,.contests-list .icon{float:none}.contests-list .date{width:auto}.contests-list time:last-child:before{display:inline-block;margin:0 5px 0 2px}.contests-list:before{left:50%;width:50px;padding:3px 0;margin-left:-25px;text-align:center}.contests-list .item{padding:25px 0}.contests-list .icon{display:block;margin:15px auto 30px}.contest_info td{display:block;width:auto!important;padding:5px 0;font-size:11px;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps}.contest .result h2,.contest .result p{margin:20px 30px}}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:1.25dppx),(min-resolution:120dpi),print{.contest .line:before{background:#fff url(/public/app/img/contest_icon_goblet@2x.png) no-repeat 50% 50%;background-size:18px auto}.contest .nick:after,.contest .nick:before{background:url(/public/app/img/branches@2x.png) no-repeat;background-size:110px auto}.contest .nick:after{background-position:-55px 0}}.full-width-notifier{text-align:center;padding:20px 0;background-color:#ecf3f9;color:#3f4b63}.no_data{text-align:center;padding:150px 0}.top-menu{width:100%;margin:10px 0;font-size:15px}.top-menu__link{float:right}.top-menu__saved{float:right;color:#ccc}.top-menu__saved_hidden{visibility:hidden}.p_table{width:100%;border-spacing:0;border-collapse:collapse}.p_table td{padding:15px;word-wrap:break-word;max-width:300px}.p_table tr{border-bottom:1px solid #eff1f5}.p_table tr:last-child{border-bottom:none}.p_table__section td{font-size:44px;color:#e4e6eb;padding:40px 0;font-weight:700}.p_table .id{width:20px;color:#ccc;font-size:13px}.p_table .name{color:inherit;font-weight:700;text-decoration:none}.p_table .nick{font-size:13px}.p_table .counter{font-size:13px;color:#8c929e;text-align:center;line-height:1em}.p_table .counter b{display:block;font-size:.9em;line-height:1.4em}.p_table .check{font-size:13px;color:#8c929e;text-align:center;line-height:1em}.p_table .check b{display:block;line-height:1.4em}.p_table .check input{width:.9em;height:.9em}.list_user_ava{position:relative;display:inline-block;border:1px solid #e8ebf4;border-radius:20px;overflow:hidden;font-size:20px;text-align:center;vertical-align:middle}.list_user_ava,.list_user_ava>img{width:40px;height:40px}.list_user_ava .numb{display:inline-block;padding-top:7px;color:#99abbb;font-weight:700}.list_user_name{font-weight:700}.list_user_vk_name i{margin-right:5px}.p_table .checker{position:absolute;right:-7px;bottom:0;width:22px;height:22px;background:#6579ad;color:#fff;border-radius:20px;font-size:14px;cursor:pointer;display:none}.p_table td:hover .checker{display:block}.p_table .checker.checked{display:block;background:#26af89}.p_table .checker i{margin:1px;line-height:1.7em}.editor-form{margin:30px;padding:120px 0;min-height:600px;letter-spacing:.1px}.editor-form__title{display:block;width:100%;max-width:650px;outline:none;background:transparent;border:0;font-weight:800;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.25em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;font-size:37px;margin:0 auto 5px;letter-spacing:-.014em}@media (max-width:980px){.editor-form__title{padding:30px 20px;font-size:26px}}.editor-form__section{max-width:650px;margin:0 auto 2em}.editor-form label{display:block;margin-bottom:1em}.editor-form label.label--on-same-line{display:inline-block}.editor-form__editor{min-height:600px}.editor-form__error{padding:30px;text-align:center;font-size:20px;line-height:1.5em;max-width:650px;margin:0 auto;-webkit-box-sizing:border-box;box-sizing:border-box}.editor-form__important-filed{border:3px solid #75acff;background-color:#fff}.editor-form .ce-block__content a{color:inherit}.ce-block__content,.ce-toolbar__content{max-width:650px!important}.ce-block--stretched,.ce-block--stretched .ce-block__content{max-width:none!important}.course{margin:30px 0}.course__title{text-align:center;position:relative;margin-bottom:25px}.course__title:before{display:block;content:"\43A\443\440\441";font-size:14px;line-height:1.5em;font-weight:400;margin-bottom:10px}.courses-list{max-width:600px;margin:0 auto;padding:0;list-style:none}.courses-list__item{margin-top:15px;text-align:center}.courses-list__link{padding-bottom:3px;border-bottom:1px solid #d6deec;line-height:1.5em}.courses-list__link,.courses-list__link:hover{text-decoration:none}.editor-landing{margin-top:-50px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.editor-landing__logo{position:relative;content:"";width:84px;height:84px;margin:auto}@media (max-width:980px){.editor-landing__logo{width:50px;height:50px}}.editor-landing__logo-main{position:absolute;-webkit-animation:logoIn .5s cubic-bezier(.5,1.05,1,1) 1;animation:logoIn .5s cubic-bezier(.5,1.05,1,1) 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;will-change:transform,filter;z-index:2;left:0}@media (max-width:980px){.editor-landing__logo-main svg{width:50px}}.editor-landing__logo-shadow{position:absolute;left:-38px;z-index:1;-webkit-animation:logoShadow .5s cubic-bezier(.5,1.05,1,1) 1;animation:logoShadow .5s cubic-bezier(.5,1.05,1,1) 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;will-change:transform,opacity}@media (max-width:980px){.editor-landing__logo-shadow{left:-21px;margin-top:-13px}.editor-landing__logo-shadow svg{width:92px}}.editor-landing__logo-ph-cat{position:absolute;left:-38px;top:-45px;z-index:3;-webkit-animation:ph-cat .3s cubic-bezier(.54,1.2,.79,1.22) 2.5s 1,ph-cat-out .2s ease-out 4.5s 1;animation:ph-cat .3s cubic-bezier(.54,1.2,.79,1.22) 2.5s 1,ph-cat-out .2s ease-out 4.5s 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;will-change:opacity,transform;opacity:0}@media (max-width:980px){.editor-landing__logo-ph-cat{left:-16px;top:-42px}.editor-landing__logo-ph-cat svg{width:80px}}.editor-landing__logo-ph-cat #cat-eye{-webkit-animation:ph-cat-blink .15s cubic-bezier(.54,1.2,.79,1.22) 3.5s 1;animation:ph-cat-blink .15s cubic-bezier(.54,1.2,.79,1.22) 3.5s 1;will-change:transform;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.editor-landing__info{padding-top:300px;padding-bottom:70px;background-image:-webkit-gradient(linear,left bottom,left top,from(#fff),to(#eef7ff));background-image:linear-gradient(0deg,#fff,#eef7ff);text-align:center}.editor-landing__title{margin:20px 0 0;line-height:1.2em;font-size:50px;letter-spacing:.23px;color:#000;font-weight:600}@media (max-width:980px){.editor-landing__title{margin-top:25px;font-size:30px}}.editor-landing__description{font-size:17.3px;letter-spacing:.13px;line-height:1.5em;color:#868da1;margin-top:20px}@media (max-width:980px){.editor-landing__description{font-size:15px;margin-top:10px}}.editor-landing__cta{display:inline-block;margin-top:40px;padding:13px 19px;border-radius:30px;background:#388ffe;-webkit-box-shadow:0 9px 12px -6px rgba(11,132,242,.78);box-shadow:0 9px 12px -6px rgba(11,132,242,.78);font-size:16px;color:#fff;-webkit-transition:all .15s ease;transition:all .15s ease;will-change:background-color,box-shadow}.editor-landing__cta:hover{color:#fff;background:#3684fe;-webkit-box-shadow:0 9px 16px -6px rgba(11,132,242,.78);box-shadow:0 9px 16px -6px rgba(11,132,242,.78)}.editor-landing__menu{text-align:left;font-size:14px;position:fixed;right:7vw;top:150px}@media (max-width:1400px){.editor-landing__menu{right:4.5vw}}@media (max-width:1330px){.editor-landing__menu{position:absolute;padding:20px;right:45px;top:55px}}@media (max-width:980px){.editor-landing__menu{position:absolute;padding:20px;left:0;top:45px}}.editor-landing__menu a{color:inherit;display:inline-block;border-bottom:1px solid rgba(93,100,134,.2);margin-bottom:6px}.editor-landing__menu a svg{margin-right:-40px;margin-left:5px;vertical-align:text-bottom}.editor-landing__version{display:inline-block;padding:5px 8px;line-height:1em;border-radius:30px;background:#111;font-size:10px;color:#fff;margin-right:-70px;margin-left:3px}.editor-landing__demo{background:#eef5fa;border-radius:100px;max-width:950px;margin:0 auto;padding:70px 60px}@media (max-width:1550px){.editor-landing__demo{max-width:850px}}@media (max-width:980px){.editor-landing__demo{padding:15px;border-radius:0}}.editor-landing__demo-inner{background:#fff;border-radius:8px;-webkit-box-shadow:0 24px 24px -18px rgba(69,104,129,.33),0 9px 45px 0 rgba(114,119,160,.12);box-shadow:0 24px 24px -18px rgba(69,104,129,.33),0 9px 45px 0 rgba(114,119,160,.12);padding:70px 50px;font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box}@media (max-width:980px){.editor-landing__demo-inner{padding:20px}}.editor-landing__demo-inner,.editor-landing__demo .codex-editor__redactor{min-height:450px}@media (max-width:980px){.editor-landing__demo-inner,.editor-landing__demo .codex-editor__redactor{min-height:100px}}.editor-landing__demo .codex-editor__redactor{font-size:15px;color:#313649;line-height:1.6;letter-spacing:.005em}.editor-landing__demo .codex-editor__redactor .ce-paragraph a{color:inherit}.editor-landing__demo .codex-editor__redactor .ce-header{font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;letter-spacing:-.03em}.editor-landing__preview{max-width:650px;margin:0 auto;color:rgba(34,78,111,.75);position:relative}.editor-landing__preview:after{content:"";position:absolute;right:0;top:0;bottom:0;width:150px;background:-webkit-gradient(linear,left top,right top,from(rgba(238,245,250,0)),to(#eef5fa));background:linear-gradient(90deg,rgba(238,245,250,0),#eef5fa);z-index:2}.editor-landing__preview-inner{overflow:auto}.editor-landing__section-header{font-size:16px;max-width:375px;margin:50px auto;line-height:1.5em;text-align:center;color:#606578}@media (max-width:980px){.editor-landing__section-header{font-size:14px;max-width:70vw}}.editor-landing__section-header header{font-weight:600;margin-bottom:13px}@media (max-width:980px){.editor-landing__section-header header{font-size:16px}}.editor-landing__section-header--big{margin:130px auto;line-height:24px}@media (max-width:980px){.editor-landing__section-header--big{margin:50px auto}}.editor-landing__section-header--big header{font-size:26px;margin-bottom:20px}@media (max-width:980px){.editor-landing__section-header--big header{font-size:20px;margin-bottom:10px}}.editor-landing .sc_attr{color:#373742}.editor-landing .sc_toolname{color:#db1029}.editor-landing .sc_tag{color:#0483d8}.editor-landing .sc_key{color:#6e4998}.editor-landing .sc_bool{color:#f73cad}.editor-landing .sc_digit{color:#196ff8}.editor-landing__loved-by{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-top:30px}@media (max-width:980px){.editor-landing__loved-by{margin-bottom:80px}}.editor-landing__loved-by-item{display:-webkit-box;display:-ms-flexbox;display:flex;height:30px}.editor-landing__loved-by-item:not(:last-of-type):after{content:"";width:3px;height:100%;margin-right:27px;margin-left:29px;background:#e0e0e0}.editor-landing__plugins{max-width:650px;margin:0 auto}@media (max-width:980px){.editor-landing__plugins{padding:20px}}.editor-landing__plugins-title{font-size:24px;margin-bottom:15px}@media (max-width:980px){.editor-landing__plugins-title{font-size:20px;margin-bottom:10px}}.editor-landing__plugins-description{font-size:16px;line-height:1.65em;color:#606578}@media (max-width:980px){.editor-landing__plugins-description{font-size:14px}}.editor-landing__plugins-filter{margin:30px 0}@media (max-width:980px){.editor-landing__plugins-filter{margin:15px 0 20px}}.editor-landing__plugins-filter-button{font-size:15px;font-weight:500;color:#343434;vertical-align:middle;cursor:pointer}.editor-landing__plugins-filter-button svg{vertical-align:middle;margin:-3px 6px 0 3px}.editor-landing__plugins-filter-button:not(:last-of-type){margin-right:17px}.editor-landing__contribute,.editor-landing__more-plugins{font-size:15px;color:#7b7e89;cursor:pointer}@media (max-width:980px){.editor-landing__contribute,.editor-landing__more-plugins{margin-top:10px}}.editor-landing__contribute svg,.editor-landing__more-plugins svg{width:9px;height:9px;fill:currentColor;vertical-align:middle}@media (max-width:980px){.editor-landing__contribute svg,.editor-landing__more-plugins svg{display:none}}.editor-landing__more-plugins{float:left}@media (max-width:980px){.editor-landing__more-plugins{float:none}}.editor-landing__contribute{float:right}@media (max-width:980px){.editor-landing__contribute{display:none}}.editor-landing__contribute svg{margin:-3px 3px 0 0}.editor-landing .codex-editor__redactor{padding-bottom:120px}.editor-landing__star{position:relative;display:inline-block;margin-top:60px}.editor-landing__star-line{position:absolute;width:130px;height:10px;left:51.5%;top:36%;z-index:-1}.editor-landing__star-line:first-of-type{-webkit-transform:translateX(-50%) rotate(-22deg);transform:translateX(-50%) rotate(-22deg)}.editor-landing__star-line:nth-of-type(2){-webkit-transform:rotate(-90deg);transform:rotate(-90deg);left:-11px;top:13px;width:90px}.editor-landing__star-line:nth-of-type(3){-webkit-transform:translateX(-50%) rotate(22deg);transform:translateX(-50%) rotate(22deg)}.editor-landing__star-line:after,.editor-landing__star-line:before{content:"";display:inline-block;width:15px;height:10px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='15' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 5.5H0v-1h6v-4L15 5 6 9.5z' fill='%23B6B9C0'/%3E%3C/svg%3E");position:absolute;top:0}.editor-landing__star-line:before{left:0;-webkit-animation:arrow-moving-left 1s ease infinite;animation:arrow-moving-left 1s ease infinite}.editor-landing__star-line:after{right:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='15' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 4.5h6v1H9v4L0 5 9 .5v4z' fill='%23B6B9C0'/%3E%3C/svg%3E");-webkit-animation:arrow-moving-right 1s ease infinite;animation:arrow-moving-right 1s ease infinite}@-webkit-keyframes arrow-moving-left{50%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes arrow-moving-left{50%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@-webkit-keyframes arrow-moving-right{50%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes arrow-moving-right{50%{-webkit-transform:translateX(10px);transform:translateX(10px)}}.editor-plugin{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:20px;border-radius:7px;-webkit-box-shadow:0 3px 11px rgba(125,128,147,.23);box-shadow:0 3px 11px rgba(125,128,147,.23);min-height:90px;padding:20px 120px 20px 20px}@media (max-width:980px){.editor-plugin{padding-right:100px}}.editor-plugin__title{font-size:18px;color:#000;display:inline-block;margin:0 5px 4px 0}@media (max-width:980px){.editor-plugin__title{font-size:16px}}.editor-plugin__label{display:inline-block;font-size:18px;color:#606578;border-radius:3px;font-weight:500;opacity:.4;line-height:1em;margin-top:-5px}@media (max-width:980px){.editor-plugin__label{font-size:16px}}.editor-plugin__description{font-size:14px;color:#606578}.editor-plugin__contributors{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:auto}@media (max-width:980px){.editor-plugin__contributors{margin-top:15px}}.editor-plugin__contributors-item{display:inline-block;overflow:hidden;border-radius:4px;width:18px;height:18px}.editor-plugin__contributors-item img{width:100%;height:100%}.editor-plugin__contributors-item:not(:last-of-type){margin-right:6px}.editor-plugin__demo{position:absolute;right:20px;top:15px;margin-left:45px}.editor-plugin__demo img,.editor-plugin__demo video{height:90px}@media (max-width:980px){.editor-plugin__demo img,.editor-plugin__demo video{height:40px}}.editor-plugin--your-own .editor-plugin__title{color:#7b7e89}.editor-plugin--your-own .editor-plugin__description{display:inline-block}.editor-plugin--your-own .editor-plugin__demo{position:static;margin-left:0}.editor-plugin--your-own .editor-plugin__demo pre{font-size:12px;line-height:2em;font-family:Menlo,Monaco,Consolas,Courier New,monospace;margin:15px 0;font-weight:500;color:#484554}@media (max-width:980px){.editor-plugin--your-own .editor-plugin__demo pre{font-size:10px;overflow:auto}}.editor-plugin--your-own .editor-plugin__footer{margin-top:20px}@-webkit-keyframes logoIn{0%{-webkit-transform:translateY(-80px) scaleY(1.3);transform:translateY(-80px) scaleY(1.3);-webkit-filter:blur(4px);filter:blur(4px)}60%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}70%{-webkit-transform:translateY(5px) scaleY(.92);transform:translateY(5px) scaleY(.92)}80%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}to{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@keyframes logoIn{0%{-webkit-transform:translateY(-80px) scaleY(1.3);transform:translateY(-80px) scaleY(1.3);-webkit-filter:blur(4px);filter:blur(4px)}60%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}70%{-webkit-transform:translateY(5px) scaleY(.92);transform:translateY(5px) scaleY(.92)}80%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}to{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@-webkit-keyframes logoShadow{0%{-webkit-transform:scale(1.6,.9);transform:scale(1.6,.9);opacity:0}70%{-webkit-transform:scale(.8) translateY(-10px);transform:scale(.8) translateY(-10px);opacity:1}to{-webkit-transform:translateY(-10px);transform:translateY(-10px);opacity:1}}@keyframes logoShadow{0%{-webkit-transform:scale(1.6,.9);transform:scale(1.6,.9);opacity:0}70%{-webkit-transform:scale(.8) translateY(-10px);transform:scale(.8) translateY(-10px);opacity:1}to{-webkit-transform:translateY(-10px);transform:translateY(-10px);opacity:1}}@-webkit-keyframes ph-cat{0%{opacity:0;-webkit-transform:rotate(15deg) scale(1.2);transform:rotate(15deg) scale(1.2)}to{opacity:1}}@keyframes ph-cat{0%{opacity:0;-webkit-transform:rotate(15deg) scale(1.2);transform:rotate(15deg) scale(1.2)}to{opacity:1}}@-webkit-keyframes ph-cat-blink{0%{-webkit-transform:none;transform:none}50%{-webkit-transform:translateY(10px) scaleY(.1);transform:translateY(10px) scaleY(.1)}to{-webkit-transform:none;transform:none}}@keyframes ph-cat-blink{0%{-webkit-transform:none;transform:none}50%{-webkit-transform:translateY(10px) scaleY(.1);transform:translateY(10px) scaleY(.1)}to{-webkit-transform:none;transform:none}}@-webkit-keyframes ph-cat-out{0%{-webkit-transform:none;transform:none;opacity:1}40%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:rotate(-7deg) translateY(-10px) scale(.8);transform:rotate(-7deg) translateY(-10px) scale(.8);opacity:0}}@keyframes ph-cat-out{0%{-webkit-transform:none;transform:none;opacity:1}40%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:rotate(-7deg) translateY(-10px) scale(.8);transform:rotate(-7deg) translateY(-10px) scale(.8);opacity:0}} +/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}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:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;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-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}@font-face{font-family:codex_ic;src:url(/public/app/fonts/codex_icons/codex_ic.eot?2);src:url(/public/app/fonts/codex_icons/codex_ic.eot?2#iefix) format("embedded-opentype"),url(/public/app/fonts/codex_icons/codex_ic.woff?2) format("woff"),url(/public/app/fonts/codex_icons/codex_ic.ttf?2) format("truetype"),url(/public/app/fonts/codex_icons/codex_ic.svg?2#codex_ic) format("svg");font-weight:400;font-style:normal}[class*=" icon-"]:before,[class^=icon-]:before{font-family:codex_ic;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;-webkit-font-feature-settings:normal;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-vkontakte:before{content:"\E800"}.icon-twitter:before{content:"\E801"}.icon-facebook-squared:before{content:"\E802"}.icon-github-circled:before{content:"\E803"}.icon-heart:before{content:"\E804"}.icon-star:before{content:"\E805"}.icon-star-empty:before{content:"\E806"}.icon-search:before{content:"\E807"}.icon-rss:before{content:"\E808"}.icon-link:before{content:"\E809"}.icon-chat:before{content:"\E80A"}.icon-pencil:before{content:"\E80B"}.icon-pin:before{content:"\E80C"}.icon-attach:before{content:"\E80D"}.icon-tags:before{content:"\E80E"}.icon-up-big:before{content:"\E80F"}.icon-down-big:before{content:"\E810"}.icon-eye:before{content:"\E811"}.icon-instagram:before{content:"\E812"}.icon-briefcase:before{content:"\E813"}.icon-users:before{content:"\E814"}.icon-user:before{content:"\E815"}.icon-user-add:before{content:"\E816"}.icon-forward:before{content:"\E817"}.icon-cog-1:before{content:"\E818"}.icon-ok:before{content:"\E819"}.icon-cancel:before{content:"\E81A"}.icon-spin4:before{content:"\E81B"}.icon-picture:before{content:"\E81C"}.icon-cog:before{content:"\E81D"}.icon-paper-plane:before{content:"\E81E"}.icon-facebook:before{content:"\E81F"}::selection{background:#b3d4fc}html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:14px;line-height:1.5em;letter-spacing:.1px}.center_side{max-width:1100px;margin:0 auto}@media (max-width:1140px){.center_side{padding:0 20px}}.hide{display:none!important}.block{display:block}.p_rel{position:relative}.pointer{cursor:pointer}a{color:#2969b9;text-decoration:none}a:hover{color:#2c7fe5}.align_c{text-align:center}textarea{resize:vertical}.clearfix:after{content:" ";display:table;clear:both}.fl_l{float:left}.fl_r{float:right}.constrain{overflow:hidden}.no-selection{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.input{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:10px;border-radius:2px;border:0;font-size:15px;font-family:inherit;outline:none;background:#f4f5f8}.input:focus{background:#eef5fd}.button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:30px;border:0;display:inline-block;padding:12px 24px;color:#3f4b63;vertical-align:top;cursor:pointer;text-decoration:none;font-family:inherit;background:#ecf3f9;line-height:1em}.button:hover{background:#4592da;color:#fff;text-decoration:none}.button--master{background:#5c95cf;color:#fff}.button--master:hover{background:#3c7ab9;color:#fff}.button--green{background:#00ad7c;color:#fff}.button--green:hover{background:#0d936d;color:#fff}.button i{margin:0 .74em 0 -.3em}.button.loading{position:relative;overflow:hidden;background:#f5f5f5;color:#434c61}.button.loading:before{position:absolute;left:0;top:0;content:"";width:100%;height:100%;display:block;background:url(/public/app/img/load_pattern.gif);opacity:.1}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0);transform:translateX(0)}15%{-webkit-transform:translateX(-1%) rotate(-5deg);transform:translateX(-1%) rotate(-5deg)}30%{-webkit-transform:translateX(3%) rotate(3deg);transform:translateX(3%) rotate(3deg)}45%{-webkit-transform:translateX(-1%) rotate(-3deg);transform:translateX(-1%) rotate(-3deg)}60%{-webkit-transform:translateX(3%) rotate(2deg);transform:translateX(3%) rotate(2deg)}75%{-webkit-transform:translateX(-1%) rotate(-1deg);transform:translateX(-1%) rotate(-1deg)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes wobble{0%{-webkit-transform:translateX(0);transform:translateX(0)}15%{-webkit-transform:translateX(-1%) rotate(-5deg);transform:translateX(-1%) rotate(-5deg)}30%{-webkit-transform:translateX(3%) rotate(3deg);transform:translateX(3%) rotate(3deg)}45%{-webkit-transform:translateX(-1%) rotate(-3deg);transform:translateX(-1%) rotate(-3deg)}60%{-webkit-transform:translateX(3%) rotate(2deg);transform:translateX(3%) rotate(2deg)}75%{-webkit-transform:translateX(-1%) rotate(-1deg);transform:translateX(-1%) rotate(-1deg)}to{-webkit-transform:translateX(0);transform:translateX(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-iteration-count:1;animation-iteration-count:1}.show-in-mobile{display:none!important}@media (max-width:980px){.mobile-hide{display:none!important}.show-in-mobile{display:block!important}}.codex-logo{display:inline-block;background:url(/public/app/img/codex-logo.svg) no-repeat;width:224px;height:224px}.technic{display:inline-block;background:color(#bc1453 alpha(7%));padding:0 7px;margin-right:.2em;border-radius:2px;color:#bc1453;text-decoration:none;font-size:.9em}.site-header{position:relative;height:50px;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #e7e9f5;z-index:2}.site-header__content{display:-webkit-box;display:-ms-flexbox;display:flex}.site-header a{display:inline-block;text-decoration:none;letter-spacing:.2px;line-height:50px}.site-header__menu-item:not(:first-of-type){margin-left:30px}@media (max-width:980px){.site-header__menu-item:not(:first-of-type){margin-left:10px}}.site-header__right{margin-left:auto}.site-header__social{position:absolute;left:50%;-webkit-transform:translate(-50%,-2px);transform:translate(-50%,-2px);font-size:1.4em}.site-header__github-icon{vertical-align:text-bottom;line-height:.7em;font-size:1.66em}.site-header__photo{display:inline-block;border-radius:50%;width:22px;height:22px;vertical-align:middle;margin-right:5px;background-color:#f4f5f9;overflow:hidden;font-size:3em;line-height:1em;letter-spacing:1.9em;font-size:1.5em;font-weight:700}.site-header__action{margin-right:30px}.site-header__action--write{color:#00b693}.site-header__action--edit{color:#bc1453}.site-footer{border-top:1px solid #e7e9f5;padding:30px 0;margin-top:30px;font-size:13px}@media (max-width:980px){.site-footer{padding:25px 0}}.site-footer .center_side{display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:980px){.site-footer .center_side{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.site-footer__section{max-width:420px}@media (max-width:980px){.site-footer__section{max-width:none}.site-footer__section:not(:last-of-type){margin-bottom:25px}}.site-footer__section--contacts{margin-left:auto;margin-right:45px}@media (max-width:980px){.site-footer__section--contacts{margin-left:0;margin-right:0}}.site-footer ul{list-style:none;padding-left:0;line-height:1.8em}.site-footer a{text-decoration:none}.site-footer h5{margin:0 0 10px;font-size:1.02em}.site-footer h5 a{color:inherit;text-decoration:none}.site-footer p{margin:0}.site-footer .desclimer{opacity:.5}.random_articles{padding:35px 0;margin:0 auto;max-width:650px;font-size:15px;line-height:1.6em}.random_articles h3{margin-bottom:8px;font-size:1.4em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans}.random_articles p{margin:10px 0 30px}.random_articles .article-card:not(:last-of-type){margin-bottom:20px}@media (max-width:980px) and (max-width:690px){.random_articles{margin:0 20px;padding-bottom:0;font-size:14px}}.event_alert{padding:80px 0;max-width:700px;margin:0 auto;border-bottom:1px solid #ebe8e8;text-align:center;font-size:1.8em}@media (max-width:980px){.event_alert{font-size:1.5em}}.event_alert__day{min-width:70px;line-height:1.3em;letter-spacing:1.2px;font-size:2.3em}.event_alert__month{letter-spacing:2px}.event_alert__title{margin-top:1.4em;font-size:.62em;color:#ea6e6e}.event_alert__description{margin-top:1em;font-size:.64em}@media (max-width:980px){.event_alert__description{font-size:1.5em}.event_alert__description:after,.event_alert__description:before{display:none}}.event_alert__link{display:inline-block;color:inherit}.event_alert__link,.event_alert__link:hover{text-decoration:none}.event_alert__icon_delimiter{font-size:.7em}.contest_alert a{display:block;margin:-20px 40px 40px;text-align:center;text-decoration:none;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;letter-spacing:1.4px;color:#988e8e}.contest_alert .line{position:relative;margin:0 70px 70px;height:1px;background:#ebe8e8}.contest_alert .line:before{content:"";position:absolute;left:50%;top:-19px;width:40px;height:40px;margin-left:-20px;background:#fff url(../78fe36d5335d9f6c65fdf26754d2c5f0.png) no-repeat 50% 50%}.page_menu{margin:30px;padding:0;list-style:none;text-align:center;font-size:0;letter-spacing:0}.page_menu li{position:relative;display:inline-block;font-size:15px}.page_menu li:after{content:"\30FB";display:inline-block;padding:0 2px;vertical-align:middle;color:#c1c8da;font-size:18px}.page_menu li:last-child:after{display:none}.dnd-default-avatar{position:absolute;pointer-events:none;z-index:100}.dnd-default-target-highlight{border:1px solid #eee}.dnd-avatar,.dnd-avatar td{background:#fafafd!important}.draggable{cursor:move}.feed{background:#fff}.feed--gray{background:#e8ecf2}.feed-item--dnd{background:#fff;border:1px solid #e8ecf2}.no-display{display:none}.page-header{padding:60px 0}.page-header__title{font-size:1.68em;line-height:1.2em;letter-spacing:.2px}.page-header__description{max-width:500px}.icon_telegram{display:inline-block;width:28px;height:28px;background:url(/public/app/img/icon_telegram.png) no-repeat}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:1.25dppx),(min-resolution:120dpi),print{.icon_telegram{background:url(/public/app/img/icon_telegram@2x.png) no-repeat;background-size:28px 28px}}.best-developers{position:absolute;right:30px;top:90px;width:150px;text-align:left;font-size:13px}.best-developers__heading{max-width:120px;border-bottom:1px solid #e8e6e3;padding-bottom:.5em;font-weight:400;line-height:1.2em;font-size:1em;color:#ac7c0d}.best-developers__item{position:relative;display:block;padding-left:50px;margin-bottom:10px;color:inherit;text-decoration:none;cursor:pointer;line-height:1.4em}.best-developers__photo{position:absolute;left:0;top:50%;margin-top:-17px;width:34px;height:34px;border-radius:18px}@media (max-width:980px){.best-developers{position:static;width:auto;max-width:300px;margin:50px auto 0;text-align:center}.best-developers__heading{max-width:none}.best-developers__item{line-height:1.8em;padding-left:0}.best-developers__photo{position:static;vertical-align:text-bottom;width:24px;height:24px}}.breadcrumb{margin-bottom:50px;padding-left:20px;border-left:3px solid #d6d6d6;color:#a2a2a2}.breadcrumb h1{display:inline-block;margin:0 5px;font-size:inherit;font-weight:400}.breadcrumb a{display:inline-block;margin-right:5px;color:inherit}.news{display:block;max-width:500px;border-top:1px solid #e7e9f5;border-bottom:1px solid #e7e9f5;padding:40px 0;margin:40px auto 0;font-size:14px}.news__list_item{position:relative;padding:5px 0;list-style:none;line-height:1.6em}.news__list_item--hidden{display:none!important}.news__list_item:before{content:attr(data-time);position:absolute;left:-70px;width:50px;text-align:right;color:#6c7580;white-space:nowrap}.news__bage{display:inline-block;margin-right:.5em;color:#f85879;letter-spacing:2px;font-size:1.1em;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps}.news__showmore{display:inline-block;margin-top:.5em;cursor:pointer;color:#6c7580}@media (max-width:980px) and (max-width:690px){.news{padding:20px 0;margin:30px 0;max-width:none}.news__list_item:not(:last-of-type){margin-bottom:5px}.news__list_item:before{position:static;display:block;text-align:left;margin:0 0 1px;font-size:.89em}.news__showmore{margin-top:0}}.scroll-up{position:fixed;bottom:30px;left:30px;padding:32px 27px;border-radius:2px;background:rgba(93,104,156,.08);font-size:18px;text-align:center;cursor:pointer;color:rgba(85,97,125,.6);opacity:0;-webkit-transition:opacity .15s ease-in;transition:opacity .15s ease-in}.scroll-up:hover{background:rgba(93,104,156,.15)}.scroll-up:before{font-family:codex_ic;content:"\E80F"}.scroll-up.show{opacity:1}@media (max-width:980px){.scroll-up{left:auto;bottom:0;right:0;padding:12px 14px;font-size:12px}}.sharing{display:-webkit-box;display:-ms-flexbox;display:flex;padding:30px;border-radius:3px;background:#f1f5f8;color:#616c98}@media (max-width:980px){.sharing{text-align:center;display:block}}.sharing__offer{max-width:250px}@media (max-width:980px){.sharing__offer{max-width:none}}.sharing__button{margin:auto 0 auto 13px;cursor:pointer;color:#a1acc1;font-size:20px}.sharing__button:hover{color:#5d75bd}.sharing__button.tw:hover{color:#6e98fd}.sharing__button.tg{font-size:17px}.sharing__button.tg:hover{color:#41adff}@media (max-width:980px){.sharing__button{margin:0 8px}}.sharing__main-button{margin:auto 15px auto auto;padding:10px 24px;border-radius:25px;background:#507299;color:#fff;cursor:pointer}@media (max-width:980px){.sharing__main-button{display:block;max-width:120px;margin:20px auto}}.sharing__main-button:hover{background:color(#507299 blackness(5%))}.sharing__main-button i{margin:0 4px 0 -5px}@media (max-width:980px){.sharing{text-align:center}.sharing .main_but{float:none;display:block;margin:0 0 15px}.sharing .but{display:inline-block;float:none;margin:0 7px 18px}}.vk_groups{max-width:650px;margin:50px auto 0}@media (max-width:980px) and (max-width:690px){.vk_groups{max-width:none;width:calc(100% - 40px);margin-left:20px;margin-right:20px}}.quiz{position:relative;margin:auto;max-width:700px;background:#fff;padding:30px 50px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #eceff6;border-radius:3px;font-size:15px}.quiz__question-title{font-size:1.15em;font-weight:600;margin-bottom:1em}.quiz__question-counter{float:right;color:#828282;letter-spacing:3px}.quiz__question-button{padding:10px 28px;margin-top:22px;border:0;border-radius:30px;outline:none;font:inherit;background:#5c95cf;color:#fff}.quiz__question-button:focus,.quiz__question-button:hover{background:#3c7ab9;color:#fff}.quiz__question-button:disabled,.quiz__question-button:disabled:focus,.quiz__question-button:disabled:hover{cursor:default}.quiz__question-button_next{cursor:pointer}.quiz__question-answer{position:relative;padding:.5em 0 .5em 36px;cursor:pointer;line-height:1.4em}.quiz__question-answer:not(:last-of-type){margin-bottom:.4em}.quiz__question-answer:before{position:absolute;left:0;top:.46em;display:inline-block;content:"";width:16px;height:16px;border-radius:50%;border:4px solid #404040;-webkit-box-shadow:inset 0 0 0 4px #fff;box-shadow:inset 0 0 0 4px #fff}.quiz__question-answer:hover:before{background:#404040}.quiz__question-answer_selected.quiz__question-answer_right:before{border-color:#34b98e;-webkit-box-shadow:none;box-shadow:none;background:#34b98e url(/public/app/img/quizzes/checked.svg)!important;background-size:cover!important}.quiz__question-answer_selected.quiz__question-answer_wrong:before{border-color:#ec6d6d;background:#ec6d6d!important}.quiz__question-answer_right:before{border-color:#34b98e;background:#34b98e!important}.quiz__answer-message{margin:-.5em 0 .5em 36px;color:#717888}.quiz__result-score{margin:.7em 0 1em;font-size:2.7em;font-weight:700;text-align:center;letter-spacing:.2em;color:#0081d2}.quiz__result-message{text-align:center;font-size:2em;line-height:1.25em;letter-spacing:.02em;font-weight:700}.quiz__retry-button{position:relative;left:40%;display:inline-block;margin-top:.5em;cursor:pointer;color:#186ebd}.quiz__retry-button:before{content:"";display:inline-block;margin-bottom:-.3em;margin-right:.4em;background-image:url(/public/app/img/quizzes/retry.svg);background-size:cover;height:20px;width:20px}.quiz__sharing{text-align:center;padding:40px 0 30px;border-radius:3px;color:#616c98}.quiz__sharing .but{margin:0 10px;padding:6px 20px;border-radius:20px;cursor:pointer;color:#fff;background:#3c7dce;font-size:1.2em!important;-webkit-box-sizing:border-box;box-sizing:border-box}.quiz__sharing .but:hover{background:transparent;-webkit-box-shadow:inset 0 0 0 2px #5d75bd;box-shadow:inset 0 0 0 2px #5d75bd;color:#5d75bd}.quiz__sharing .tw:hover{-webkit-box-shadow:inset 0 0 0 2px #6e98fd;box-shadow:inset 0 0 0 2px #6e98fd;color:#6e98fd}.quiz__sharing .tg:hover{-webkit-box-shadow:inset 0 0 0 2px #41adff;box-shadow:inset 0 0 0 2px #41adff;color:#41adff}@media (max-width:980px){.quiz{padding:20px}.quiz__sharing .but{display:inline-block;padding:0;font-size:1em;width:40px;height:40px}.quiz__sharing .but i{line-height:40px}.quiz__retry-button{left:26%}}.quiz-form{margin-top:50px}.quiz-form__page-title{font-size:30px;line-height:45px}.quiz-form__label{padding:0;font-size:16px;font-weight:400;text-align:left}.quiz-form__quiz-description,.quiz-form__quiz-title{margin:5px 0 20px}.quiz-form__question-holder{margin:20px 0;padding:25px;border:1px solid #e5e7e8;border-radius:3px}.quiz-form__question-number{font-size:20px;font-weight:700}.quiz-form__question-destroy-button{float:right}.quiz-form__question-title-label{display:block;margin-top:20px}.quiz-form__question-title{margin:5px 0 20px}.quiz-form__messages-holder,.quiz-form__question-answers-holder{border-collapse:collapse}.quiz-form__messages-head,.quiz-form__question-answers-head{border-bottom:5px solid transparent}.quiz-form__question-answer-message-column,.quiz-form__question-answer-text-column,.quiz-form__question-answers-label,.quiz-form__question-messages-label{width:44%}.quiz-form__message-message-column,.quiz-form__question-answer-text-column{padding-left:0}.quiz-form__message-destroy-button,.quiz-form__message-score,.quiz-form__question-answer-destroy-button,.quiz-form__question-answer-score{height:37px;-webkit-box-sizing:border-box;box-sizing:border-box;padding:10px;outline:none;border:none;border-radius:2px}.quiz-form__message-score,.quiz-form__question-answer-score{width:100%;background:#f4f5f8}.quiz-form__message-score:focus,.quiz-form__question-answer-score:focus{background:#eef5fd}.quiz-form__question-answer-destroy-button-column{width:34px;padding-right:0}.quiz-form__message-destroy-button,.quiz-form__question-answer-destroy-button,.quiz-form__question-destroy-button{cursor:pointer;opacity:.3}.quiz-form__message-destroy-button:hover,.quiz-form__question-answer-destroy-button:hover,.quiz-form__question-destroy-button:hover{opacity:1}.quiz-form__add-message-button-column,.quiz-form__question-add-answer-button-column{padding:10px 0}.quiz-form__add-message-button,.quiz-form__add-question-button,.quiz-form__question-add-answer-button{padding:12px 0;line-height:16px;cursor:pointer;color:#454c5d;background:none}.quiz-form__add-message-button:hover,.quiz-form__question-add-answer-button:hover{color:#1a2235}.quiz-form__button-plus{margin-right:9px;vertical-align:text-bottom}.quiz-form__button-cross{vertical-align:middle}.quiz-form__messages{width:100%;margin-top:20px;table-layout:fixed}.quiz-form__message-message-label{width:38%}.quiz-form__message-score-label{width:12%}.quiz-form__share-message-label{width:50%}.quiz-form__messages-holder-column{padding:0}.quiz-form__messages-holder-column,.quiz-form__share-message-column{width:50%;vertical-align:top}.quiz-form__message-message-column{width:76.4%}.quiz-form__message-destroy-button-column{width:34px}.quiz-form__quiz-buttons-holder{margin-top:20px}.site-section{margin:60px 0 90px;font-size:15.9px;line-height:1.6em}.site-section__title{font-size:1.315em;margin-bottom:.5em;font-weight:400;text-align:center;letter-spacing:.026em}.site-section__desc{max-width:400px;margin:0 auto 40px;text-align:center}.site-section__go-more-link{margin:30px auto 0;display:block;max-width:200px;text-align:center;text-decoration:none}.site-section--articles-list{margin:60px 0 40px}.site-section--articles-list .site-section__desc{margin-top:13px}@media (max-width:980px){.site-section--articles-list{margin:0 0 60px}}.article-card{position:relative;padding:20px 20px 75px;border:1px solid #e7e9f5;border-radius:3px;font-size:12.4px}.article-card a{text-decoration:none;color:inherit}.article-card__footer{position:absolute;bottom:20px;left:20px;right:20px;height:34px;line-height:1.54em;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.article-card__cover{display:block;background-color:#f4f5f9;height:100px;margin:-21px -21px 20px;border-radius:3px 3px 0 0;background-position:0 30%;background-size:cover}.article-card__title{margin-bottom:15px;font-size:17.9px;font-weight:700;line-height:1.2em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans}@media (max-width:980px){.article-card__title{font-size:15.9px;letter-spacing:-.013em}}.article-card__photo{float:left;margin-right:10px}.article-card__photo--with-coauthor{margin-right:0;border-left:0}.article-card__photo--coauthor{margin-left:-25px;margin-right:0}.article-card__photo img{display:block;width:30px;height:30px;border-radius:50%;border:2px solid #fff;background-color:#f4f5f9;overflow:hidden;font-size:3em;line-height:1em;letter-spacing:1.9em}.article-card__user-name:not(:last-of-type):after{content:","}.article-card__read-time{color:#6c7580;line-height:1.1em}@media (min-width:1050px){.articles-grid__item .article-card{width:100%}}.product-card{border-radius:5px;padding:30px;margin-bottom:30px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #e7e9f5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}@media (min-width:1050px){.product-card{min-height:415px;padding:60px;margin-bottom:60px}}@supports (display:grid){.product-card{display:grid;grid-template-columns:auto 360px;grid-template-rows:60px auto 100px;grid-template-areas:"title-area right-area" "content-area right-area" "footer-area right-area"}@media (max-width:980px){.product-card{grid-template-columns:auto;grid-template-rows:auto auto auto auto;grid-template-areas:"title-area" "content-area" "right-area" "footer-area"}}}.product-card__title{display:block;margin-bottom:20.3px;font-size:43px;letter-spacing:-.36px;font-weight:700;line-height:1em;color:inherit}.product-card__title:hover{color:inherit}@media (max-width:980px){.product-card__title{font-size:32px}}.product-card__caption{max-width:450px;margin-bottom:30px;font-size:20px;color:#626262;line-height:1.5em}.product-card__screen{display:block;width:360px;-webkit-box-shadow:0 22px 31px 0 rgba(0,0,0,.63);box-shadow:0 22px 31px 0 rgba(0,0,0,.63);border-radius:5px}@media (max-width:980px){.product-card__screen{max-width:100%;height:auto}}.product-card__repo{display:inline-block;margin-top:30px;color:#626262}.product-card__button{display:inline-block;padding:12px 26px 12px 18px;margin-top:30px;background:#fff;border:1px solid #e7e9f5;-webkit-box-shadow:0 2px 3px 0 rgba(38,45,67,.02);box-shadow:0 2px 3px 0 rgba(38,45,67,.02);border-radius:3px;color:inherit;color:#000;font-size:18px;letter-spacing:-.3px;text-decoration:none}.product-card__button:not(:last-of-type){margin-right:20px}.product-card__button svg{display:inline-block;width:26px;height:26px;vertical-align:middle;margin-right:.5em;margin-top:-.3em}.product-card__button:hover{background-color:#fdfdfd;color:#000;color:initial;text-decoration:none}@media (max-width:980px){.product-card__button{padding:6px 15px 6px 13px;margin:20px 20px 0 0;font-size:14px}.product-card__button svg{width:20px;height:20px}}.product-card__right-heading{margin:0 0 20px;font-size:22px;font-weight:400}.product-card__application{display:inline-block;margin-bottom:15px;width:40px;height:40px}.product-card__application svg{width:40px;height:40px}.product-card__application:not(:last-of-type){margin-right:10px}.product-card__right-link{margin-top:7px;display:inline-block;color:#8c8888;line-height:1.5em}.product-card__actions{margin-top:40px}.product-card__loved-by{margin-top:45px}.product-card__loved-by-title{font-size:18px;font-weight:400;margin-bottom:10px}.product-card__loved-by-item{display:inline-block;vertical-align:top;padding:10px 25px 10px 0;height:27px}.product-card__loved-by-item:not(:last-of-type){border-right:1px solid #e7e9f5}.product-card__loved-by-item:not(:first-of-type){padding-left:23px}@media (max-width:980px){.product-card__loved-by-item{padding:5px 10px 5px 0}.product-card__loved-by-item:not(:first-of-type){padding-left:10px}}.product-card__download{position:relative;display:inline-block;min-width:150px;padding:10px 20px;margin:0 20px 20px 0;border:1px solid #e0e1e6;border-radius:3px;font-size:13.1px;line-height:1.5em;color:#25262e;overflow:hidden}.product-card__download[href="#"]{color:#9699a8}.product-card__download[href="#"]:after{content:"Soon";background:#ff1769;border-radius:3px;padding:3px 6px;line-height:1em;color:#fff;font-weight:500;position:absolute;right:5px;top:5px;letter-spacing:-.5px}.product-card__download[href="#"] svg{opacity:.5}.product-card__download[href="#"]:hover{color:#9699a8!important}.product-card__download:hover{color:#25262e}.product-card__download b{display:block;font-size:16px;font-weight:500}.product-card__download svg{float:left;margin-top:5px;margin-right:15px}.product-card__download--win svg{margin-top:7px}.product-card__download--linux svg{margin-top:8px}.product-card__download--appstore{background-color:#0c0c0c;border:0;color:#fff}.product-card__download--appstore svg{fill:#fff!important}.product-card__download--appstore:hover{color:#fff}.product-card__watch-button{display:inline-block;background:#000;padding:11px 25px;border-radius:30px;color:#fff;white-space:nowrap;font-size:18px;cursor:pointer;font-weight:400}.product-card__watch-button:before{display:inline-block;content:"";width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid #fff;margin-right:8px;margin-left:5px;vertical-align:text-bottom}.product-card__advantages{margin:30px 0 0;padding:0;list-style:none;line-height:1.8em}.product-card__disclaimer{margin-top:20px;font-size:15px;line-height:1.53em}.product-card__video{max-width:100%;margin-left:-55px}@media (max-width:980px){.product-card__video{margin-left:0}}.product-card__right-caption{margin-top:10px}.product-card__right-caption a{color:#6c7580}.product-card__right-caption a:hover{color:#2c7fe5}.product-card__right-menu{margin:10px 0}.product-card__right-menu a{color:#2969b9;font-size:15px}.product-card__right-menu a:not(:last-of-type):after{content:"";display:inline-block;vertical-align:middle;width:4px;height:4px;border-radius:50%;background:#6c7580;margin:0 .25em 0 .45em;opacity:.8}@supports (display:grid){.product-card__caption{grid-area:content-area}.product-card__right{grid-area:right-area;position:relative}.product-card__repo{grid-area:footer-area;align-self:end}}.product-card--hawk{background-image:linear-gradient(176deg,#2e2e3c,#262633 99%,#252533);border:0}.product-card--hawk .product-card__title{color:#fff}.product-card--hawk .product-card__title img{width:44px;vertical-align:text-bottom;margin-right:13px;-webkit-transform:translateY(-3px);transform:translateY(-3px)}@media (max-width:980px){.product-card--hawk .product-card__title img{width:34px}}.product-card--hawk .product-card__caption,.product-card--hawk .product-card__screen{color:#a4b1d0}.product-card--hawk .product-card__caption a,.product-card--hawk .product-card__screen a{color:#59a3ff}.product-card--hawk .product-card__repo{color:#878ca0}.product-card--hawk .product-card__repo:hover{color:#fff}.product-card--hawk .product-card__caption{padding-top:10px}.product-card--hawk .product-card__screen{background-color:#2a2835}.product-card--notes{background-image:linear-gradient(9deg,#f4f5fb,#f9fafb 99%);border:0}.product-card--notes .product-card__caption{margin-bottom:10px}.product-card--media{background-color:#0b0b0b;border:0}@supports (display:grid){.product-card--media{grid-template-rows:130px auto 100px}@media (max-width:980px){.product-card--media{grid-template-rows:auto}}}.product-card--media .product-card__title{font-size:70px;font-weight:500;max-width:200px;color:#fff}.product-card--media .product-card__caption{margin:30px 0;color:#757575;font-weight:300;font-size:25px}.product-card--media .product-card__advantages{color:#fff;font-weight:400;font-size:15px}.product-card--media .product-card__repo:hover{color:#fff}.product-card--ar-tester{background-image:url(/public/app/img/products/ar-tester-bg.jpg),linear-gradient(69deg,#f575a0 8%,#187cb8);background-size:cover,auto;border:0}@supports (display:grid){.product-card--ar-tester{grid-template-columns:auto 300px}@media (max-width:980px){.product-card--ar-tester{grid-template-columns:auto}}}.product-card--ar-tester .product-card__caption,.product-card--ar-tester .product-card__disclaimer,.product-card--ar-tester .product-card__repo,.product-card--ar-tester .product-card__title{color:#fff}.product-card--ar-tester .product-card__caption{margin-top:20px;font-size:24px;font-weight:300;line-height:1.36em}.product-card--ar-tester .product-card__disclaimer{font-weight:400}.product-card--ar-tester .product-card__title{font-size:53px}.product-card--ar-tester .product-card__screen{-webkit-box-shadow:none;box-shadow:none;width:256px;margin-top:20px}.product-card--ar-tester .product-card__download{padding:14px 20px 17px;font-size:13px;border-radius:8px;opacity:.3;position:absolute;left:50%;bottom:0;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media (max-width:980px){.product-card--ar-tester .product-card__download{display:none}}.product-card--ar-tester .product-card__download svg{margin-right:15px;margin-top:4px}.product-card--ar-tester .product-card__download b{font-size:19px;font-weight:400}.product-card--ar-tester .product-card__repo{opacity:.5}.product-card--ar-tester .product-card__repo:hover{opacity:1}@supports (display:grid){.products-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:row;grid-auto-rows:1fr;grid-gap:30px}.products-grid__item{margin:0!important}@media (max-width:980px){.products-grid{grid-template-columns:1fr;grid-auto-rows:auto}}}.product-cell{position:relative;border:1px solid #e7e9f5;padding:30px 30px 102px;border-radius:2px;color:#6c7580;font-size:15px;margin-bottom:30px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width:980px){.product-cell{margin-bottom:20px;padding:20px}}.product-cell__name{display:block;font-size:19px;font-weight:500;margin:0;color:#000;letter-spacing:-.17px;font-weight:700}.product-cell__logo{float:right;margin-left:30px}.product-cell__desc{margin-top:10px;line-height:1.6em}.product-cell__tags{position:absolute;bottom:62px}@media (max-width:980px){.product-cell__tags{margin-top:15px;position:static}}.product-cell__repo{position:absolute;bottom:25px;display:inline-block;margin-top:15px;color:inherit;font-size:13px}@media (max-width:980px){.product-cell__repo{position:static}}.product-cell__tag{display:inline-block;margin-right:5px;padding:4px 8px;border:1px solid #efc8db;font-size:14.3px;line-height:1em;color:#995175;border-radius:3px}@media (max-width:980px){.product-cell__tag{margin-top:5px}}.product-cell__tag svg{margin-right:.12em;vertical-align:text-bottom}.product-cell__tag--pypi{border-color:#adcbe3;color:#3573a7}.product-cell__tag--pypi:hover{color:color(#3573a7 blackness(20%))}.product-cell__tag--npm{border-color:#f9b7b7;color:#b72b2a}.product-cell__tag--npm:hover{color:color(#b72b2a blackness(20%))}.product-cell__tag--npm svg{vertical-align:middle}.product-cell__tag--composer{border-color:#d0cdc8;color:#6d6d6d}.product-cell__tag--composer:hover{color:color(#6d6d6d blackness(20%))}.follow-block{text-align:center}.follow-block__photos{display:block;margin:25px 0}.follow-block__photos img{width:60px;height:60px;opacity:.9;margin:0 10px;vertical-align:bottom;border-radius:2px}@media (max-width:980px){.follow-block__photos img{width:46px;height:46px;margin:0 3px}}.follow-block .button{background:transparent;margin:0 7.5px;border:1px solid #c2c2c2;color:#373737;font-size:14.5px;border-radius:3px;padding:4px 9px;line-height:22px;letter-spacing:.012em;vertical-align:top}.follow-block .button svg{vertical-align:middle;margin-right:.2em}@media (max-width:980px){.follow-block .button{font-size:14px;padding:3px 7px;margin:0 2px 10px}.follow-block .button svg{height:auto;width:1.1em;margin-right:.1em}}.follow-block .button--instagram{border-color:#eec6dc;color:#871f4d}.follow-block .button--instagram svg{margin-top:-2px}.follow-block .button--github svg{margin-top:-2px;height:18px}.follow-block .button--vk{border-color:#bcc6df;color:#2a5ba2}.follow-block .button--vk svg{vertical-align:middle;width:17px;height:auto}.follow-block .button--twitter{border-color:#a3caf8;color:#509dec}.follow-block .button--twitter svg{width:17px;height:auto}.follow-block .button--telegram{color:#0b98da;border-color:#99cfed}.follow-block .button--telegram svg{margin-top:-3px;height:14px}.course-navigation-wrapper{position:absolute;padding-top:150px;max-width:155px}.course-navigation-wrapper--previous{left:0}.course-navigation-wrapper--next{right:0}.course-navigation{display:block;padding:15px;text-align:center;text-decoration:none;color:inherit}.course-navigation:hover{text-decoration:none;cursor:pointer;background:rgba(93,104,156,.08)}.course-navigation--previous{border-radius:0 3px 3px 0}.course-navigation--next{border-radius:3px 0 0 3px}.course-navigation__icon{display:block;margin:20px auto 15px;width:15px;height:28px}.course-navigation__icon--next{background:url(../b16ca1e261bbf304218e643476493658.svg) no-repeat}.course-navigation__icon--previous{background:url(../627cb0932775ac5157ef6458f4e8d84b.svg) no-repeat}.course-navigation__avatar{display:block;margin:25px auto 5px;border-radius:50%;width:30px;height:30px}.course-navigation__author{max-width:100px;margin:10px auto;color:#5f6a75;line-height:1.26em;font-size:.9em}@media (max-width:1250px){.course-navigation-wrapper{display:none}}.video-overlay{background:#000;position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;text-align:center;padding:20px;-webkit-box-sizing:border-box;box-sizing:border-box;opacity:0;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in;will-change:opacity}.video-overlay--showed{opacity:1}.video-overlay video{max-height:100%;max-width:100%;opacity:.1;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in;will-change:opacity}.video-overlay--loaded video{opacity:1}.video-overlay__close{display:inline-block;position:absolute;right:20px;top:20px;cursor:pointer;opacity:.8;width:25px;height:25px;background:rgba(0,0,0,.8);padding:5px;border-radius:50%}.video-overlay__close:hover{opacity:1}.video-overlay__close:after,.video-overlay__close:before{content:"";width:2px;height:25px;background:#fff;border-radius:2px;display:block;position:absolute;left:49%;top:5px}.video-overlay__close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.video-overlay__close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.follow-telegram{max-width:380px;margin:120px auto 0}.follow-telegram:before{display:block;width:30px;height:30px;content:"";background:url(/public/app/img/codex-logo-gray.svg);background-size:cover;border:3px solid #eaf2f7;background-color:#eaf2f7;border-radius:50%;float:left}.follow-telegram__contents{position:relative;border-radius:9.5px;border-top-left-radius:0;border:1px solid #d7e3ec;padding:15px 17px;margin-left:46.5px}.follow-telegram__contents:before{position:absolute;left:-8px;top:-1px;width:9px;height:20px;content:"";background:url(/public/app/img/bubble-corner.svg)}.follow-telegram__title{display:inline-block;font-size:15px;letter-spacing:-.4px;line-height:1em;color:#2c86cd;font-weight:600;margin-bottom:6px}.follow-telegram__desc{line-height:1.5em;font-size:13.6px}.follow-telegram__button{display:inline-block;background:#5ca9e6;border-radius:25px;font-size:14.2px;letter-spacing:.3px;color:#fff;margin-top:10px;margin-left:46.5px;padding:8px 20px}.follow-telegram__button:hover{background-color:#52a1e0;color:#fff}.follow-telegram__button svg{display:inline-block;vertical-align:middle;margin:-2px 7px 0 -2px}@media (max-width:980px){.follow-telegram{width:auto;margin:0 auto}.follow-telegram__contents{padding:11px 15px}.follow-telegram__title{font-size:14px}.follow-telegram__desc{font-size:13px}}.join-component{margin:156px 0 152px;text-align:center}.join-component--compact{margin:50px 0 80px}.join-component__desc{max-width:322px;margin-bottom:32px}.join-component__label{color:#6c7580;margin-bottom:15px}.join-component__button{font-size:16.9px;font-weight:500;color:#fff;border-radius:3px;background-color:#4a90e2;padding:10px 35.5px;-webkit-box-shadow:0 7px 12px -4px rgba(65,140,227,.7);box-shadow:0 7px 12px -4px rgba(65,140,227,.7)}.join-component__button:hover{color:#fff;background:#4484db}.join-component__time{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:24px;font-weight:500;line-height:1.08;color:#6c7580;margin-bottom:60px}.join-component__time-delimiter{padding:0 8px}.join-component__time-delimiter:after,.join-component__time-delimiter:before{content:"";display:block;border-radius:50%;width:4px;height:4px;background-color:#6c7580}.join-component__time-delimiter:before{margin-bottom:3px}.join-component__time-delimiter--blinking:after{-webkit-animation:blinker 2s step-end infinite;animation:blinker 2s step-end infinite;-webkit-animation-delay:1s;animation-delay:1s}.join-component__time-item{position:relative}.join-component__time-item:after{display:block;position:absolute;top:100%;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;font-weight:400;line-height:1.86;content:attr(data-time)}@-webkit-keyframes blinker{0%{opacity:0}50%{opacity:1}}@keyframes blinker{0%{opacity:0}50%{opacity:1}}.lazy-load{background:#f7fafb;border-radius:3px;width:150px}@media (max-width:980px){.lazy-load{width:75px}}.lazy-load__media{opacity:0;-webkit-transition:opacity .6s ease;transition:opacity .6s ease}.lazy-load--loaded{width:auto;background:transparent}.lazy-load--loaded>.lazy-load__media{opacity:1}.index-page{padding:100px 0 70px}.index-page p{max-width:500px;margin:15px auto;font-size:14.8px;letter-spacing:.014em;line-height:1.65em}.index-page__join-button{margin:1.5em auto 0;padding:16px 30px;font-size:1.2em;display:block;max-width:140px;text-align:center}.index-page .codex-logo{display:block;margin:0 auto 50px}.thanks-block svg{display:block;max-width:60px;margin:20px auto}@media (max-width:980px){.index-page{padding:50px 0}.index-page p{padding:0 10px}}.join-page{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.join-page__logo{margin:60px auto;display:block}.join-page__logo svg{display:block;margin:0 auto}@media (max-width:980px){.join-page__logo svg{width:150px;height:auto}}@media (max-width:980px){.join-page__logo{margin:50px auto 30px}}.join-page__content{padding:85px 100px;border:1px solid #e7e9f5;border-radius:20px;max-width:650px;margin:0 auto;line-height:1.64em;font-size:15.3px;-webkit-box-sizing:border-box;box-sizing:border-box}@media (max-width:980px){.join-page__content{padding:20px;border:0}}.join-page ul{margin:1.75em 0}.join-page li{margin:.8em 0}.join-page h1{font-size:26px;margin-bottom:1.35em}@media (max-width:980px){.join-page h1{margin-top:0}}.join-page h2{margin:2em 0 .8em;font-size:21px;font-weight:400}@media (max-width:980px){.join-page__form{margin-top:10px}}.join-page__form label{display:block;margin-bottom:.7em}.join-page__form .input{margin-bottom:30px}.join-page__auth{margin:50px 0;color:#838ea1}@media (max-width:980px){.join-page__auth{font-size:14px}}.join-page__auth-vk-button{display:inline-block;vertical-align:middle;margin-right:12px;border:1px solid #bed8f9;border-radius:6px;padding:7px 9px}@media (max-width:980px){.join-page__auth-vk-button{padding:4px 7px;margin-right:7px}}.join-page__auth-vk-button svg{vertical-align:middle;margin-right:.3em;margin-top:-1px}@media (max-width:980px){.join-page__auth-vk-button svg{width:16px;height:16px;vertical-align:text-bottom}}.join-page__auth-vk-button:hover{border-color:#94bdf2}.join-page__auth-show-email{display:inline-block;cursor:pointer;border-bottom:1px dotted #d0d4d8}.join-page__auth-show-email:hover{color:#6c7580}.join-page .button{border-radius:3px}.join-page__user{font-size:1.1em;margin:50px 0 30px}.join-page__user-photo{width:26px;height:26px;border-radius:13px;margin-right:10px;vertical-align:middle}.join-page__user-name{display:inline-block;vertical-align:middle}.join-page__error{margin:15px 0;color:#e04545}.join-page__success{padding:100px 200px;background:#f2f5fb;color:#6f809a;line-height:1.6em;font-size:16px;text-align:center}@media (max-width:980px){.join-page__success{padding:15px;font-size:14px}}.join-page__success--compact{margin-top:2em;padding:30px;font-size:14px}.join-page__success-inner{max-width:550px;margin:0 auto}.task-page{padding-bottom:50px}.task-page__cols{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;max-width:650px;margin:50px auto;text-align:center}@media (max-width:980px){.task-page__cols{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.task-page__col{display:block;width:33.3%;text-align:center;font-size:18px}@media (max-width:980px){.task-page__col{width:auto;text-align:left;padding:5px 0}}.task-page__left{padding-right:50px}@media (max-width:980px){.task-page__left{margin-bottom:50px}}.task-page h3{margin-top:0}.task-page img{max-width:100%}.task-page__download{display:block;width:200px;text-align:center;padding:15px 10px;border-radius:50px;background:#1f253c;border:0!important;color:#fff!important;font-size:16px;margin:50px auto 0}.task-page__download svg{width:30px;height:auto;vertical-align:middle;margin-right:.3em}.task-page__disclaimer{color:#6c7580;margin:20px auto;max-width:400px;text-align:center;line-height:1.5em}.additional_tasks{margin:0;padding:0}.additional_tasks li{position:relative;margin:0!important;list-style-type:none;padding:20px 0 20px 30px;border-bottom:1px solid #e4eaf5}.additional_tasks li:before{position:absolute;left:0;top:1.9em;width:10px;height:10px;display:inline-block;border-radius:5px;background:#dfe7f5;margin-right:15px;content:""}.additional_tasks .back:before{background:#6699df}.additional_tasks .front:before{background:#e87474}.additional_tasks .ui:before{background:#9bf1b3}.additional_tasks--legend li{display:inline-block;border-bottom:0;margin-right:50px!important;font-size:14px;font-weight:700}.additional_tasks--legend li:before{top:2em}.articles-grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:-10px}@media (max-width:850px){.articles-grid{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.articles-grid__item{width:33.33%;padding:10px;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:850px){.articles-grid__item{width:auto;display:block}}.feed{max-width:540px;margin:0 auto}.feed-item{font-size:15px;-webkit-box-sizing:border-box;box-sizing:border-box;word-wrap:break-word;margin-bottom:50px}@media (max-width:980px){.feed-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.feed-item__info{color:#6e7990;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:14px;-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.feed-item__time{margin-right:11px}.feed-item__author-photo{display:inline-block;width:17px;height:17px;vertical-align:middle;border-radius:50%;margin:-2px -2px 0 0;border:3px solid #fff;overflow:hidden}.feed-item__author-photo img{width:inherit;height:auto}.feed-item__author-photo:nth-of-type(2){margin-left:-10px}.feed-item__author-photo:nth-of-type(2) img{-webkit-box-shadow:0 0 0 3px #fff;box-shadow:0 0 0 3px #fff}.feed-item__author-name{color:inherit}.feed-item__title{font-size:20px;line-height:1.3em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;font-weight:700;text-decoration:none;letter-spacing:-.75px;color:inherit}.feed-item__description{margin-top:7px;font-size:14.4px;letter-spacing:.2px;line-height:1.55em}@media (max-width:980px){.feed-item--with-cover{display:block}}.feed-item--with-cover .feed-item__description{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (max-width:980px){.feed-item--with-cover .feed-item__description{-webkit-line-clamp:7}}.feed-item--with-cover .feed-item__cover{float:right;margin-left:45px}@media (max-width:980px){.feed-item--with-cover .feed-item__cover{margin-left:20px}}.feed-item--with-cover .feed-item__cover img{display:block;border-radius:3px;height:130px;width:130px}@media (max-width:980px){.feed-item--with-cover .feed-item__cover img{height:40px;width:40px}}.feed-item--with-big-cover{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (max-width:980px){.feed-item--with-big-cover .feed-item__title{font-size:23px}}.feed-item--with-big-cover .feed-item__description{-webkit-line-clamp:5}.feed-item--with-big-cover .feed-item__cover{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;margin:20px 0 0}.feed-item--with-big-cover .feed-item__cover img{width:100%;height:auto}.feed-item--big .feed-item__title{font-size:34px}@media (max-width:980px){.feed-item--big .feed-item__title{font-size:26px}}.feed-item--big .feed-item__description{font-size:17.6px;margin-top:10px}@media (max-width:980px){.feed-item--big .feed-item__description{font-size:15.6px}}@media (max-width:980px){.feed-item--big.feed-item--with-cover .feed-item__title{font-size:23px}}.feed-item--big.feed-item--with-cover .feed-item__cover{margin-left:20px}@media (max-width:980px){.feed-item--big.feed-item--with-cover{display:block}}.feed-item--big.feed-item--with-big-cover{display:-webkit-box;display:-ms-flexbox;display:flex}.feed-item--big.feed-item--with-big-cover .feed-item__cover{margin-left:0}@media (max-width:980px){.feed-item--big.feed-item--with-big-cover .feed-item__title{font-size:26px}}@media (max-width:980px){.contest_alert a{margin:20px 0}}.article__title{max-width:700px;-webkit-transform:translateX(25px);transform:translateX(25px);margin:0 auto;padding:80px 20px 40px;font-weight:800;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.25em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;font-size:37px;letter-spacing:-.014em}@media (max-width:980px){.article__title{padding:30px 20px;font-size:26px}}@media (max-width:980px) and (max-width:690px){.article__title{-webkit-transform:none;transform:none}}.article__coauthors-info{color:#6c7580;-ms-flex-item-align:center;align-self:center}@media (max-width:980px){.article__coauthors-info{-ms-flex-preferred-size:50%;flex-basis:50%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-overflow:ellipsis;overflow-x:hidden}}.article__info{max-width:650px;margin:0 auto 40px;display:-webkit-box;display:-ms-flexbox;display:flex}@media (max-width:980px){.article__info{padding-left:20px;padding-right:20px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:30px}}.article__author{white-space:nowrap}.article__author:after{content:" ";display:table;clear:both}.article__author-photo{width:50px;height:50px;border:3px solid #fff;border-radius:50%;margin-right:15px;margin-top:-3px;float:left;background-color:#f4f5f9;overflow:hidden;font-size:3em;line-height:1em;letter-spacing:1.9em}@media (max-width:980px){.article__author-photo{width:40px;height:40px;margin-top:0}}.article__author-photo--with-coauthor{margin-right:0;border-left:0}.article__author-photo--coauthor{margin-left:-20px;margin-right:12px}.article__author-name{font-size:15px}@media (max-width:980px){.article__author-name{font-size:13.3px;white-space:nowrap}}.article__date{display:block;color:#6c7580}@media (max-width:980px){.article__date{line-height:1.3em;font-size:11.9px}}.article__read-time{margin:auto 0 auto auto;color:#6c7580}.article__read-time:before{content:"";background-image:url(/public/app/img/components/article/watch.svg);width:19px;height:20px;display:inline-block;margin-right:5px;vertical-align:bottom}@media (max-width:980px){.article__read-time{margin:25px 0 0;-ms-flex-preferred-size:100%;flex-basis:100%}}.article__read-on{margin:auto 0 auto auto;color:#6c7580}@media (max-width:980px){.article__read-on{margin:25px 0 0}}.article__read-on-item{cursor:pointer}.article__read-on-item:first-of-type{margin-left:10px}.article__read-on-item:before{display:inline-block;vertical-align:text-bottom;content:"";width:16px;height:16px;margin-right:9px}.article__read-on-item:hover{color:color(#6c7580 blackness(70%))}.article__read-on-item--english:before{background-image:url(/public/app/img/components/article/flag-english.svg)}.article__read-on-item--russian:before{background-image:url(/public/app/img/components/article/flag-russian.svg);background-size:contain}.article__read-on-item:not(:last-of-type):after{content:"|";margin:0 8px 0 12px}.article .sharing{max-width:650px;margin:40px auto}@media (max-width:980px){.article .sharing{padding-left:20px;padding-right:20px}}@media (max-width:980px) and (max-width:690px){.article .sharing{margin-left:20px;margin-right:20px}}.article-content{font-size:17.4px;line-height:1.62em;word-wrap:break-word;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:rgba(0,0,0,.85882)}.article-content--serif{font-size:19.3px;line-height:1.6em;letter-spacing:.1px;font-family:Georgia}.article-content a{color:inherit;text-decoration:none;border-bottom:1px solid #333}.article-content i{font-family:Georgia;font-style:italic;letter-spacing:.1px;font-size:1.05em}.article-content blockquote,.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6,.article-content ol,.article-content p,.article-content ul{max-width:650px}@media (max-width:980px){.article-content blockquote,.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6,.article-content ol,.article-content p,.article-content ul{padding-left:20px;padding-right:20px}}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{margin:1.6em auto .5em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;letter-spacing:-.02em;line-height:1.3em;padding-top:0;padding-bottom:0}.article-content h1+p,.article-content h2+p,.article-content h3+p,.article-content h4+p,.article-content h5+p,.article-content h6+p{margin-top:0}.article-content h2{font-size:1.6em}@media (max-width:980px){.article-content h2{font-size:1.2em}}.article-content h3,.article-content h4,.article-content h5,.article-content h6{margin-top:.8em}.article-content p{margin:1.2em auto}.article-image{max-width:650px;margin:40px auto;text-align:center}@media (max-width:980px){.article-image{padding-left:20px;padding-right:20px;margin:30px auto;padding-left:0;padding-right:0}}.article-image img{vertical-align:bottom;max-width:100%}.article-image--stretched{max-width:none!important;width:100%!important}.article-image--stretched img{width:100%}.article-image--bordered img{border:3px solid #fff;-webkit-box-shadow:0 0 0 2px #e7e9f5;box-shadow:0 0 0 2px #e7e9f5;-webkit-box-sizing:border-box;box-sizing:border-box}.article-image--backgrounded{padding:15px;background:#e7e9f5}.article-image--backgrounded img{max-width:60%;margin:0 auto}.article-image-caption{margin:1em auto;color:#6c7580}.article-code{max-width:650px;margin:40px auto;border:1px solid #e4e4e4;padding:15px 18px;border-radius:5px}@media (max-width:980px){.article-code{padding-left:20px;padding-right:20px}}@media (max-width:980px) and (max-width:690px){.article-code{-webkit-box-sizing:border-box;box-sizing:border-box;margin:30px 20px}}.article-code__content{display:block;white-space:pre;word-wrap:normal;overflow-x:auto;font-family:Menlo,Monaco,Consolas,Courier New,monospace;line-height:1.7em;font-size:13.6px;padding:0!important}@media (max-width:980px){.article-code__content{font-size:10.2px;line-height:1.6em}}.article-quote{margin:40px auto;padding:30px 0;border-top:2px solid #e4e4e4;border-bottom:2px solid #e4e4e4;font-family:Georgia;letter-spacing:.12px;font-style:italic;font-size:20.4px;line-height:1.6em}.article-quote--center{text-align:center}@media (max-width:980px){.article-quote{padding-left:0!important;padding-right:0!important}}@media (max-width:980px) and (max-width:690px){.article-quote{margin:30px 20px;padding-left:20px!important;padding-right:20px!important}}.article-quote p{padding-left:0!important;padding-right:0!important}.article-quote p:first-of-type{margin-top:0}.article-quote p:last-of-type{margin-bottom:0}.embed-link{display:block;max-width:650px;margin:40px auto;padding:25px;border:1px solid #e7e9f5!important;-webkit-box-shadow:0 1px 1px rgba(66,70,84,.03922);box-shadow:0 1px 1px rgba(66,70,84,.03922);border-radius:2px;color:inherit!important;text-decoration:none!important}@media (max-width:980px){.embed-link{-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px;margin:30px auto}}@media (max-width:980px) and (max-width:690px){.embed-link{margin:30px 10px}}.embed-link__image{float:right;max-width:70px;background-position:50%;background-repeat:no-repeat;background-size:contain;margin:0 0 30px 30px;border-radius:3px}@media (max-width:980px){.embed-link__image{margin:0 0 15px 15px}}.embed-link__title{font-size:16px;line-height:1.45em;font-weight:600}@media (max-width:980px){.embed-link__title{font-size:12.2px}}.embed-link__domain{display:inline-block;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;margin-top:20px;border:0!important;color:#6c7580;font-size:.85em}@media (max-width:980px){.embed-link__domain{margin-top:5px;font-size:12px}}.embed-link__description{margin-top:10px;font-size:.9em}@media (max-width:980px){.embed-link__description{margin-top:5px;font-size:12px}}.article-list{margin:1.2em auto}@media (max-width:980px){.article-list{-webkit-box-sizing:border-box;box-sizing:border-box}}@media (max-width:980px) and (max-width:690px){.article-list{margin-left:20px}}.article-list li{margin:.5em 0;padding-left:.5em}.article-delimiter{line-height:1.6em;width:100%;text-align:center}.article-delimiter:before{display:inline-block;content:"***";font-size:30px;line-height:65px;height:30px;letter-spacing:.2em}.inline-code{background:rgba(251,241,241,.78);color:#c44545;padding:4px 6px;border-radius:2px;margin:0 2px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:.9em}.cdx-marker{background:rgba(245,235,111,.29);padding:3px 0}.article-lang__section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap}@media (max-width:980px){.article-lang__section label{-ms-flex-preferred-size:100%;flex-basis:100%}}.article-lang__radio{margin:0 5px 0 10px}@media (max-width:980px){.article-lang__radio:first-of-type{margin-left:0}}.article-table{max-width:650px;margin:20px auto;table-layout:fixed;width:100%;border-radius:3px;border-collapse:collapse;border:1px solid #e7e9f5}@media (max-width:980px){.article-table{padding-left:20px;padding-right:20px}}.article-table td{padding:8px 10px;border:1px solid #e7e9f5}.article-embed{max-width:650px;margin:20px auto}@media (max-width:980px){.article-embed{padding-left:20px;padding-right:20px}}.article-embed-caption{text-align:center;margin:1em auto;color:#6c7580}.profile{padding:150px 0 110px;text-align:center}.profile-ava{position:relative;display:inline-block}.profile-ava__settings{position:absolute;bottom:-6px;right:0;background:#fff url(/public/app/img/icon_gear.png) no-repeat 50%;width:29px;height:29px;border-radius:50%;-webkit-transition:-webkit-transform .15s ease;transition:-webkit-transform .15s ease;transition:transform .15s ease;transition:transform .15s ease,-webkit-transform .15s ease;will-change:transform}.profile-ava__settings:hover{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.profile-ava__photo,.profile-settings__ava{display:inline-block;width:100px;height:100px;background:#e9ecf5;border-radius:50%;overflow:hidden;font-size:100px;line-height:1em;letter-spacing:50px;color:#cad2e0;font-weight:700}.profile-ava__photo>img,.profile-settings__ava>img{vertical-align:top;margin:-1px 0 0 -2px;width:103px;height:103px}.profile__name{margin:1.5em 0 .74em;font-size:2.2em;line-height:1.3em}@media (max-width:980px){.profile__name{font-size:1.5em}}.profile__bio{font-size:1.2em;line-height:1.5em}.profile__social{display:inline-block;padding:2px 3px;margin:25px 18px;border-radius:15px;text-decoration:none;font-size:1.5em}.profile__social:not(.github){color:#9c9da2}.profile__social:hover{color:#4c5063}.profile__social.github:not(.profile__social_no_insta){font-size:2.1em;line-height:.5em}.profile__logout{display:inline-block;margin-top:30px;font-size:18px;text-decoration:none!important;color:#b9bfca;border-bottom:1px solid #dce1e8}.profile__logout:hover{color:#8d9aaf;border-bottom-color:#c4ceda}.profile-settings{padding:40px 0}.profile-settings label{display:block;margin-bottom:.7em}.profile-settings__form{margin-left:40px;padding-left:35px;border-left:3px solid #8b9aaf;max-width:280px}.profile-settings__ava,.profile-settings__form input:not(:last-of-type),.profile-settings__form textarea{margin-bottom:20px}.profile_join_requests{color:#9a9a9a;font-style:italic}@media (max-width:980px){.profile{padding:70px 0}.profile-settings .button:not(.button--master){margin-top:-38px}.profile-settings .fl_l{float:none}.profile-settings__form{margin-left:0;padding-left:0;border-left:0}}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:1.25dppx),(min-resolution:120dpi),print{.profile-ava__settings{background:#fff url(/public/app/img/icon_gear@2x.png) no-repeat 50%;background-size:21px 21px}}.contests-list{position:relative;border-top:1px solid #d2dde5}.contests-list:before{display:block;content:attr(data-heading);position:absolute;left:97px;top:-14px;padding:3px 15px;background:#fff;color:#b0c4d3;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;font-size:18px;letter-spacing:1px}.contests-list .item{padding:50px 0}.contests-list .date{float:left;width:60px;color:#a8adb6;text-align:center}.contests-list time:last-child:before{content:"\2014";display:block;line-height:.8em}.contests-list .icon{width:79px;height:52px;margin:0 30px}.contests-list .icon img{width:100%;image-rendering:-moz-crisp-edges;image-rendering:-webkit-optimize-contrast}.contests-list .title{display:inline-block;margin:0 0 8px;font-size:18px;color:inherit;text-decoration:none;font-weight:700}.contests-list .title:hover{color:#4888dc}.contest{padding:30px 0}.contest .disclaimer{color:#988e8e;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps;letter-spacing:1.4px;font-size:14px;margin:40px;text-align:center}.contest .line{position:relative;margin:0 70px;height:1px;background:#ebe8e8}.contest .line:before{content:"";position:absolute;left:50%;top:-19px;width:40px;height:40px;margin-left:-20px;background:#fff url(/public/app/img/contest_icon_goblet.png) no-repeat 50% 50%}.contest img{max-width:100%}.contest .result{padding-top:80px;font-size:1.1em;line-height:1.75em;word-wrap:break-word}.contest .result h2,.contest .result p{margin:25px 70px}.contest .result h2{margin-bottom:2em}.contest .article__title{padding-top:0}.contest_info{width:80%;margin:0 auto 50px;color:#9a9ca0}.contest_info td{width:33%;text-align:center}.contest_info td:nth-of-type(2){width:34%;border-left:1px solid #caced4;border-right:1px solid #caced4}.contest_info time{display:inline-block;text-align:left;vertical-align:middle;margin-left:10px;font-weight:700;line-height:1.1em}.contest .winner{max-width:300px;margin:80px auto;text-align:center}.contest .title{color:#aeb5bb;letter-spacing:1px;font-size:13px}.contest .name{margin:10px 0 7px;color:#495d6f;font-size:18px;font-weight:700}.contest .nick{text-decoration:none}.contest .nick:after,.contest .nick:before{content:"";display:inline-block;margin:0 4px;width:55px;height:26px;background:url(../d5e9a073845777db328f100dae230770.png) no-repeat;vertical-align:top}.contest .nick:after{background-position:-55px 0}.contest .toggler{display:inline-block;margin-top:40px;color:#aeb5bb;text-decoration:none;border-bottom:1px solid #e9ecf1}.contest .toggler i{font-size:12px}@media (max-width:980px){.contests-list .date,.contests-list .icon{float:none}.contests-list .date{width:auto}.contests-list time:last-child:before{display:inline-block;margin:0 5px 0 2px}.contests-list:before{left:50%;width:50px;padding:3px 0;margin-left:-25px;text-align:center}.contests-list .item{padding:25px 0}.contests-list .icon{display:block;margin:15px auto 30px}.contest_info td{display:block;width:auto!important;padding:5px 0;font-size:11px;-webkit-font-feature-settings:"c2sc";font-feature-settings:"c2sc";font-variant:small-caps}.contest .result h2,.contest .result p{margin:20px 30px}}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:1.25dppx),(min-resolution:120dpi),print{.contest .line:before{background:#fff url(/public/app/img/contest_icon_goblet@2x.png) no-repeat 50% 50%;background-size:18px auto}.contest .nick:after,.contest .nick:before{background:url(/public/app/img/branches@2x.png) no-repeat;background-size:110px auto}.contest .nick:after{background-position:-55px 0}}.full-width-notifier{text-align:center;padding:20px 0;background-color:#ecf3f9;color:#3f4b63}.no_data{text-align:center;padding:150px 0}.top-menu{width:100%;margin:10px 0;font-size:15px}.top-menu__link{float:right}.top-menu__saved{float:right;color:#ccc}.top-menu__saved_hidden{visibility:hidden}.p_table{width:100%;border-spacing:0;border-collapse:collapse}.p_table td{padding:15px;word-wrap:break-word;max-width:300px}.p_table tr{border-bottom:1px solid #eff1f5}.p_table tr:last-child{border-bottom:none}.p_table__section td{font-size:44px;color:#e4e6eb;padding:40px 0;font-weight:700}.p_table .id{width:20px;color:#ccc;font-size:13px}.p_table .name{color:inherit;font-weight:700;text-decoration:none}.p_table .nick{font-size:13px}.p_table .counter{font-size:13px;color:#8c929e;text-align:center;line-height:1em}.p_table .counter b{display:block;font-size:.9em;line-height:1.4em}.p_table .check{font-size:13px;color:#8c929e;text-align:center;line-height:1em}.p_table .check b{display:block;line-height:1.4em}.p_table .check input{width:.9em;height:.9em}.list_user_ava{position:relative;display:inline-block;border:1px solid #e8ebf4;border-radius:20px;overflow:hidden;font-size:20px;text-align:center;vertical-align:middle}.list_user_ava,.list_user_ava>img{width:40px;height:40px}.list_user_ava .numb{display:inline-block;padding-top:7px;color:#99abbb;font-weight:700}.list_user_name{font-weight:700}.list_user_vk_name i{margin-right:5px}.p_table .checker{position:absolute;right:-7px;bottom:0;width:22px;height:22px;background:#6579ad;color:#fff;border-radius:20px;font-size:14px;cursor:pointer;display:none}.p_table td:hover .checker{display:block}.p_table .checker.checked{display:block;background:#26af89}.p_table .checker i{margin:1px;line-height:1.7em}.editor-form{margin:30px;padding:120px 0;min-height:600px;letter-spacing:.1px}.editor-form__title{display:block;width:100%;max-width:650px;outline:none;background:transparent;border:0;font-weight:800;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.25em;font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;font-size:37px;margin:0 auto 5px;letter-spacing:-.014em}@media (max-width:980px){.editor-form__title{padding:30px 20px;font-size:26px}}.editor-form__section{max-width:650px;margin:0 auto 2em}.editor-form label{display:block;margin-bottom:1em}.editor-form label.label--on-same-line{display:inline-block}.editor-form__editor{min-height:600px}.editor-form__error{padding:30px;text-align:center;font-size:20px;line-height:1.5em;max-width:650px;margin:0 auto;-webkit-box-sizing:border-box;box-sizing:border-box}.editor-form__important-filed{border:3px solid #75acff;background-color:#fff}.editor-form .ce-block__content a{color:inherit}.ce-block__content,.ce-toolbar__content{max-width:650px!important}.ce-block--stretched,.ce-block--stretched .ce-block__content{max-width:none!important}.course{margin:30px 0}.course__title{text-align:center;position:relative;margin-bottom:25px}.course__title:before{display:block;content:"\43A\443\440\441";font-size:14px;line-height:1.5em;font-weight:400;margin-bottom:10px}.courses-list{max-width:600px;margin:0 auto;padding:0;list-style:none}.courses-list__item{margin-top:15px;text-align:center}.courses-list__link{padding-bottom:3px;border-bottom:1px solid #d6deec;line-height:1.5em}.courses-list__link,.courses-list__link:hover{text-decoration:none}.editor-landing{margin-top:-50px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.editor-landing__logo{position:relative;content:"";width:84px;height:84px;margin:auto}@media (max-width:980px){.editor-landing__logo{width:50px;height:50px}}.editor-landing__logo-main{position:absolute;-webkit-animation:logoIn .5s cubic-bezier(.5,1.05,1,1) 1;animation:logoIn .5s cubic-bezier(.5,1.05,1,1) 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;will-change:transform,filter;z-index:2;left:0}@media (max-width:980px){.editor-landing__logo-main svg{width:50px}}.editor-landing__logo-shadow{position:absolute;left:-38px;z-index:1;-webkit-animation:logoShadow .5s cubic-bezier(.5,1.05,1,1) 1;animation:logoShadow .5s cubic-bezier(.5,1.05,1,1) 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;will-change:transform,opacity}@media (max-width:980px){.editor-landing__logo-shadow{left:-21px;margin-top:-13px}.editor-landing__logo-shadow svg{width:92px}}.editor-landing__logo-ph-cat{position:absolute;left:-38px;top:-45px;z-index:3;-webkit-animation:ph-cat .3s cubic-bezier(.54,1.2,.79,1.22) 2.5s 1,ph-cat-out .2s ease-out 4.5s 1;animation:ph-cat .3s cubic-bezier(.54,1.2,.79,1.22) 2.5s 1,ph-cat-out .2s ease-out 4.5s 1;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;will-change:opacity,transform;opacity:0}@media (max-width:980px){.editor-landing__logo-ph-cat{left:-16px;top:-42px}.editor-landing__logo-ph-cat svg{width:80px}}.editor-landing__logo-ph-cat #cat-eye{-webkit-animation:ph-cat-blink .15s cubic-bezier(.54,1.2,.79,1.22) 3.5s 1;animation:ph-cat-blink .15s cubic-bezier(.54,1.2,.79,1.22) 3.5s 1;will-change:transform;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}.editor-landing__info{padding-top:300px;padding-bottom:70px;background-image:-webkit-gradient(linear,left bottom,left top,from(#fff),to(#eef7ff));background-image:linear-gradient(0deg,#fff,#eef7ff);text-align:center}.editor-landing__title{margin:20px 0 0;line-height:1.2em;font-size:50px;letter-spacing:.23px;color:#000;font-weight:600}@media (max-width:980px){.editor-landing__title{margin-top:25px;font-size:30px}}.editor-landing__description{font-size:17.3px;letter-spacing:.13px;line-height:1.5em;color:#868da1;margin-top:20px}@media (max-width:980px){.editor-landing__description{font-size:15px;margin-top:10px}}.editor-landing__cta{display:inline-block;margin-top:40px;padding:13px 19px;border-radius:30px;background:#388ffe;-webkit-box-shadow:0 9px 12px -6px rgba(11,132,242,.78);box-shadow:0 9px 12px -6px rgba(11,132,242,.78);font-size:16px;color:#fff;-webkit-transition:all .15s ease;transition:all .15s ease;will-change:background-color,box-shadow}.editor-landing__cta:hover{color:#fff;background:#3684fe;-webkit-box-shadow:0 9px 16px -6px rgba(11,132,242,.78);box-shadow:0 9px 16px -6px rgba(11,132,242,.78)}.editor-landing__menu{text-align:left;font-size:14px;position:fixed;right:7vw;top:150px}@media (max-width:1400px){.editor-landing__menu{right:4.5vw}}@media (max-width:1330px){.editor-landing__menu{position:absolute;padding:20px;right:45px;top:55px}}@media (max-width:980px){.editor-landing__menu{position:absolute;padding:20px;left:0;top:45px}}.editor-landing__menu a{color:inherit;display:inline-block;border-bottom:1px solid rgba(93,100,134,.2);margin-bottom:6px}.editor-landing__menu a svg{margin-right:-40px;margin-left:5px;vertical-align:text-bottom}.editor-landing__version{display:inline-block;padding:5px 8px;line-height:1em;border-radius:30px;background:#111;font-size:10px;color:#fff;margin-right:-70px;margin-left:3px}.editor-landing__demo{background:#eef5fa;border-radius:100px;max-width:950px;margin:0 auto;padding:70px 60px}@media (max-width:1550px){.editor-landing__demo{max-width:850px}}@media (max-width:980px){.editor-landing__demo{padding:15px;border-radius:0}}.editor-landing__demo-inner{background:#fff;border-radius:8px;-webkit-box-shadow:0 24px 24px -18px rgba(69,104,129,.33),0 9px 45px 0 rgba(114,119,160,.12);box-shadow:0 24px 24px -18px rgba(69,104,129,.33),0 9px 45px 0 rgba(114,119,160,.12);padding:70px 50px;font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box}@media (max-width:980px){.editor-landing__demo-inner{padding:20px}}.editor-landing__demo-inner,.editor-landing__demo .codex-editor__redactor{min-height:450px}@media (max-width:980px){.editor-landing__demo-inner,.editor-landing__demo .codex-editor__redactor{min-height:100px}}.editor-landing__demo .codex-editor__redactor{font-size:15px;color:#313649;line-height:1.6;letter-spacing:.005em}.editor-landing__demo .codex-editor__redactor .ce-paragraph a{color:inherit}.editor-landing__demo .codex-editor__redactor .ce-header{font-family:Lucida Grande,Lucida Sans Unicode,Lucida Sans;letter-spacing:-.03em}.editor-landing__preview{max-width:650px;margin:0 auto;color:rgba(34,78,111,.75);position:relative}.editor-landing__preview:after{content:"";position:absolute;right:0;top:0;bottom:0;width:150px;background:-webkit-gradient(linear,left top,right top,from(rgba(238,245,250,0)),to(#eef5fa));background:linear-gradient(90deg,rgba(238,245,250,0),#eef5fa);z-index:2}.editor-landing__preview-inner{overflow:auto}.editor-landing__section-header{font-size:16px;max-width:375px;margin:50px auto;line-height:1.5em;text-align:center;color:#606578}@media (max-width:980px){.editor-landing__section-header{font-size:14px;max-width:70vw}}.editor-landing__section-header header{font-weight:600;margin-bottom:13px}@media (max-width:980px){.editor-landing__section-header header{font-size:16px}}.editor-landing__section-header--big{margin:130px auto;line-height:24px}@media (max-width:980px){.editor-landing__section-header--big{margin:50px auto}}.editor-landing__section-header--big header{font-size:26px;margin-bottom:20px}@media (max-width:980px){.editor-landing__section-header--big header{font-size:20px;margin-bottom:10px}}.editor-landing .sc_attr{color:#373742}.editor-landing .sc_toolname{color:#db1029}.editor-landing .sc_tag{color:#0483d8}.editor-landing .sc_key{color:#6e4998}.editor-landing .sc_bool{color:#f73cad}.editor-landing .sc_digit{color:#196ff8}.editor-landing__loved-by{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-top:30px}@media (max-width:980px){.editor-landing__loved-by{margin-bottom:80px}}.editor-landing__loved-by-item{display:-webkit-box;display:-ms-flexbox;display:flex;height:30px}.editor-landing__loved-by-item:not(:last-of-type):after{content:"";width:3px;height:100%;margin-right:27px;margin-left:29px;background:#e0e0e0}.editor-landing__plugins{max-width:650px;margin:0 auto}@media (max-width:980px){.editor-landing__plugins{padding:20px}}.editor-landing__plugins-title{font-size:24px;margin-bottom:15px}@media (max-width:980px){.editor-landing__plugins-title{font-size:20px;margin-bottom:10px}}.editor-landing__plugins-description{font-size:16px;line-height:1.65em;color:#606578}@media (max-width:980px){.editor-landing__plugins-description{font-size:14px}}.editor-landing__plugins-filter{margin:30px 0}@media (max-width:980px){.editor-landing__plugins-filter{margin:15px 0 20px}}.editor-landing__plugins-filter-button{font-size:15px;font-weight:500;color:#343434;vertical-align:middle;cursor:pointer}.editor-landing__plugins-filter-button svg{vertical-align:middle;margin:-3px 6px 0 3px}.editor-landing__plugins-filter-button:not(:last-of-type){margin-right:17px}.editor-landing__contribute,.editor-landing__more-plugins{font-size:15px;color:#7b7e89;cursor:pointer}@media (max-width:980px){.editor-landing__contribute,.editor-landing__more-plugins{margin-top:10px}}.editor-landing__contribute svg,.editor-landing__more-plugins svg{width:9px;height:9px;fill:currentColor;vertical-align:middle}@media (max-width:980px){.editor-landing__contribute svg,.editor-landing__more-plugins svg{display:none}}.editor-landing__more-plugins{float:left}@media (max-width:980px){.editor-landing__more-plugins{float:none}}.editor-landing__contribute{float:right}@media (max-width:980px){.editor-landing__contribute{display:none}}.editor-landing__contribute svg{margin:-3px 3px 0 0}.editor-landing .codex-editor__redactor{padding-bottom:120px}.editor-landing__star{position:relative;display:inline-block;margin-top:60px}.editor-landing__star-line{position:absolute;width:130px;height:10px;left:51.5%;top:36%;z-index:-1}.editor-landing__star-line:first-of-type{-webkit-transform:translateX(-50%) rotate(-22deg);transform:translateX(-50%) rotate(-22deg)}.editor-landing__star-line:nth-of-type(2){-webkit-transform:rotate(-90deg);transform:rotate(-90deg);left:-11px;top:13px;width:90px}.editor-landing__star-line:nth-of-type(3){-webkit-transform:translateX(-50%) rotate(22deg);transform:translateX(-50%) rotate(22deg)}.editor-landing__star-line:after,.editor-landing__star-line:before{content:"";display:inline-block;width:15px;height:10px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='15' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 5.5H0v-1h6v-4L15 5 6 9.5z' fill='%23B6B9C0'/%3E%3C/svg%3E");position:absolute;top:0}.editor-landing__star-line:before{left:0;-webkit-animation:arrow-moving-left 1s ease infinite;animation:arrow-moving-left 1s ease infinite}.editor-landing__star-line:after{right:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='15' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 4.5h6v1H9v4L0 5 9 .5v4z' fill='%23B6B9C0'/%3E%3C/svg%3E");-webkit-animation:arrow-moving-right 1s ease infinite;animation:arrow-moving-right 1s ease infinite}@-webkit-keyframes arrow-moving-left{50%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@keyframes arrow-moving-left{50%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}}@-webkit-keyframes arrow-moving-right{50%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes arrow-moving-right{50%{-webkit-transform:translateX(10px);transform:translateX(10px)}}.editor-plugin{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:20px;border-radius:7px;-webkit-box-shadow:0 3px 11px rgba(125,128,147,.23);box-shadow:0 3px 11px rgba(125,128,147,.23);min-height:90px;padding:20px 120px 20px 20px}@media (max-width:980px){.editor-plugin{padding-right:100px}}.editor-plugin__title{font-size:18px;color:#000;display:inline-block;margin:0 5px 4px 0}@media (max-width:980px){.editor-plugin__title{font-size:16px}}.editor-plugin__label{display:inline-block;font-size:18px;color:#606578;border-radius:3px;font-weight:500;opacity:.4;line-height:1em;margin-top:-5px}@media (max-width:980px){.editor-plugin__label{font-size:16px}}.editor-plugin__description{font-size:14px;color:#606578}.editor-plugin__contributors{display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:auto}@media (max-width:980px){.editor-plugin__contributors{margin-top:15px}}.editor-plugin__contributors-item{display:inline-block;overflow:hidden;border-radius:4px;width:18px;height:18px}.editor-plugin__contributors-item img{width:100%;height:100%}.editor-plugin__contributors-item:not(:last-of-type){margin-right:6px}.editor-plugin__demo{position:absolute;right:20px;top:15px;margin-left:45px}.editor-plugin__demo img,.editor-plugin__demo video{height:90px}@media (max-width:980px){.editor-plugin__demo img,.editor-plugin__demo video{height:40px}}.editor-plugin--your-own .editor-plugin__title{color:#7b7e89}.editor-plugin--your-own .editor-plugin__description{display:inline-block}.editor-plugin--your-own .editor-plugin__demo{position:static;margin-left:0}.editor-plugin--your-own .editor-plugin__demo pre{font-size:12px;line-height:2em;font-family:Menlo,Monaco,Consolas,Courier New,monospace;margin:15px 0;font-weight:500;color:#484554}@media (max-width:980px){.editor-plugin--your-own .editor-plugin__demo pre{font-size:10px;overflow:auto}}.editor-plugin--your-own .editor-plugin__footer{margin-top:20px}@-webkit-keyframes logoIn{0%{-webkit-transform:translateY(-80px) scaleY(1.3);transform:translateY(-80px) scaleY(1.3);-webkit-filter:blur(4px);filter:blur(4px)}60%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}70%{-webkit-transform:translateY(5px) scaleY(.92);transform:translateY(5px) scaleY(.92)}80%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}to{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@keyframes logoIn{0%{-webkit-transform:translateY(-80px) scaleY(1.3);transform:translateY(-80px) scaleY(1.3);-webkit-filter:blur(4px);filter:blur(4px)}60%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}70%{-webkit-transform:translateY(5px) scaleY(.92);transform:translateY(5px) scaleY(.92)}80%{-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}to{-webkit-transform:translateY(-10px);transform:translateY(-10px)}}@-webkit-keyframes logoShadow{0%{-webkit-transform:scale(1.6,.9);transform:scale(1.6,.9);opacity:0}70%{-webkit-transform:scale(.8) translateY(-10px);transform:scale(.8) translateY(-10px);opacity:1}to{-webkit-transform:translateY(-10px);transform:translateY(-10px);opacity:1}}@keyframes logoShadow{0%{-webkit-transform:scale(1.6,.9);transform:scale(1.6,.9);opacity:0}70%{-webkit-transform:scale(.8) translateY(-10px);transform:scale(.8) translateY(-10px);opacity:1}to{-webkit-transform:translateY(-10px);transform:translateY(-10px);opacity:1}}@-webkit-keyframes ph-cat{0%{opacity:0;-webkit-transform:rotate(15deg) scale(1.2);transform:rotate(15deg) scale(1.2)}to{opacity:1}}@keyframes ph-cat{0%{opacity:0;-webkit-transform:rotate(15deg) scale(1.2);transform:rotate(15deg) scale(1.2)}to{opacity:1}}@-webkit-keyframes ph-cat-blink{0%{-webkit-transform:none;transform:none}50%{-webkit-transform:translateY(10px) scaleY(.1);transform:translateY(10px) scaleY(.1)}to{-webkit-transform:none;transform:none}}@keyframes ph-cat-blink{0%{-webkit-transform:none;transform:none}50%{-webkit-transform:translateY(10px) scaleY(.1);transform:translateY(10px) scaleY(.1)}to{-webkit-transform:none;transform:none}}@-webkit-keyframes ph-cat-out{0%{-webkit-transform:none;transform:none;opacity:1}40%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:rotate(-7deg) translateY(-10px) scale(.8);transform:rotate(-7deg) translateY(-10px) scale(.8);opacity:0}}@keyframes ph-cat-out{0%{-webkit-transform:none;transform:none;opacity:1}40%{-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:rotate(-7deg) translateY(-10px) scale(.8);transform:rotate(-7deg) translateY(-10px) scale(.8);opacity:0}} diff --git a/www/public/build/codex.bundle.js b/www/public/build/codex.bundle.js index eff56f86d..ff7abc2fa 100644 --- a/www/public/build/codex.bundle.js +++ b/www/public/build/codex.bundle.js @@ -1,4 +1,4 @@ -var codex=function(e){function t(t){for(var n,r,a=t[0],s=t[1],i=0,l=[];i=0&&c.splice(t,1)}function v(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),y(t,e.attrs),m(e,t),t}function y(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function g(e,t){var n,o,r,a;if(t.transform&&e.css){if(!(a=t.transform(e.css)))return function(){};e.css=a}if(t.singleton){var s=l++;n=u||(u=v(t)),o=_.bind(null,n,s,!1),r=_.bind(null,n,s,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",y(t,e.attrs),m(e,t),t}(t),o=function(e,t,n){var o=n.css,r=n.sourceMap,a=void 0===t.convertToAbsoluteUrls&&r;(t.convertToAbsoluteUrls||a)&&(o=d(o)),r&&(o+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var s=new Blob([o],{type:"text/css"}),i=e.href;e.href=URL.createObjectURL(s),i&&URL.revokeObjectURL(i)}.bind(null,n,t),r=function(){h(n),n.href&&URL.revokeObjectURL(n.href)}):(n=v(t),o=function(e,t){var n=t.css,o=t.media;if(o&&e.setAttribute("media",o),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),r=function(){h(n)});return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else r()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=s()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return f(n,t),function(e){for(var o=[],r=0;r-1;n--)t[n].classList.add("draggable"),t[n].classList.add("feed-item--dnd"),t[n].classList.add("list-item");codex.dragndrop({droppableClass:"list-item",findDraggable:function(e){var t=e.target.closest(".draggable");return t?t.closest(".list-item"):null},makeAvatar:function(e){var t={};return t.elem=e.cloneNode(!0),t.elem.classList.add("dnd-avatar"),e.parentNode.insertBefore(t.elem,e.nextSibling),e.classList.add("no-display"),t.rollback=function(){t.elem.parentNode.removeChild(t.elem),e.classList.remove("no-display")},t},targetChanged:function(e,t,n){if(t){var o=t.compareDocumentPosition(n.elem);4&o?t.parentNode.insertBefore(n.elem,t):2&o&&t.parentNode.insertBefore(n.elem,t.nextSibling)}},move:function(){},targetReached:function(e,t,n){e.parentNode.insertBefore(n,e.nextSibling),t.elem.parentNode.removeChild(t.elem),n.classList.remove("no-display");var o=n.dataset.id,r=n.dataset.type,a=null;null==n.nextElementSibling&&(a=(void 0).dataset.type+":"+(void 0).dataset.id);var s={success:function(){document.getElementById("saved").classList.remove("top-menu__saved_hidden"),window.setTimeout(function(){document.getElementById("saved").classList.add("top-menu__saved_hidden")},1e3)},type:"POST",url:"/admin/feed",data:JSON.stringify({item_id:o,item_type:r,item_below_value:a})};codex.core.ajax(s)}})},e}({})},function(e,t,n){"use strict";var o,r,a=(o=function(e){var t=e.target,n=document.getElementById("js-join-auth"),o=document.getElementById("js-email");n&&!o.value.length&&(n.classList.add("wobble"),window.setTimeout(function(){return n.classList.remove("wobble")},450),t.value="")},r=function(){document.getElementById("blankAdditionalFields").classList.toggle("hide")},{init:function(){var e=document.getElementById("joinBlank");if(null!=e){var t=e.getElementsByTagName("textarea");if(t.length)for(var n=t.length-1;n>=0;n--)t[n].addEventListener("keyup",o,!1)}var a=document.getElementById("blankShowAdditionalFieldsButton");null!=a&&a.addEventListener("click",r,!1)}});e.exports=a},function(e,t,n){"use strict";e.exports={ajax:function(e){if(e&&e.url){var t=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),n=function(){};e.async=!0,e.type=e.type||"GET",e.data=e.data||"",e["content-type"]=e["content-type"]||"application/json; charset=utf-8",n=e.success||n,"GET"==e.type&&e.data&&(e.url=/\?/.test(e.url)?e.url+"&"+e.data:e.url+"?"+e.data),e.withCredentials&&(t.withCredentials=!0),e.beforeSend&&"function"==typeof e.beforeSend&&e.beforeSend.call(),t.open(e.type,e.url,e.async),t.setRequestHeader("Content-type",e["content-type"]),t.setRequestHeader("X-Requested-With","XMLHttpRequest"),t.onreadystatechange=function(){4==t.readyState&&200==t.status&&n(t.responseText)},t.send(e.data)}},log:function(e,t,n,o){if(t){for(t=t.length<32?t:t.substr(0,30);t.length<31;)t+=" ";e=(t+=":")+e}n=n||"log";try{"console"in window&&window.console[n]&&(o?console[n](e,o):console[n](e))}catch(e){}}}},function(e,t,n){"use strict";e.exports=function(e){var t={findDraggable:function(e){return e.target.closest("."+n)},findDroppable:function(e){return document.elementFromPoint(e.clientX,e.clientY).closest("."+o)},makeAvatar:function(e){var t={};return(t={elem:e,parentNode:e.parentNode,nextSibling:e.nextElementSibling,rollback:function(){t.elem.classList.remove("dnd-default-avatar"),t.nextSibling?t.parentNode.insertBefore(t.elem,t.nextSibling):t.parentNode.appendChild(t.elem),delete c.avatar}}).elem.classList.add("dnd-default-avatar"),t},targetChanged:function(e,t){e&&e.classList("dnd-default-target-highlight"),t&&t.classList.add("dnd-default-target-highlight")},move:function(e,t,n){t.elem.style.left=e.pageX-n.x+"px",t.elem.style.top=e.pageY-n.y+"px"},targetReached:function(e,t,n){e.classList.remove("dnd-default-target-highlight"),e.parentNode.insertBefore(n,e.nextElementSibling),t.elem.classList.remove("dnd-default-avatar")}},n=e.draggableClass||"draggable",o=e.droppableClass||"droppable",r=e.findDraggable||t.findDraggable,a=e.findDroppable||t.findDroppable,s=e.makeAvatar||t.makeAvatar,i=e.targetChanged||t.targetChanged,u=e.move||t.move,l=e.targetReached||t.targetReached,c={},d=function(e){if(!(e.which>1)&&(e=h(e),c.clickedAt={x:e.pageX,y:e.pageY},c.elem=r(e),c.elem)){v();var t=m(c.elem);c.shift={x:e.pageX-t.x,y:e.pageY-t.y}}},f=function(e){if(c.elem&&(e.preventDefault(),e=h(e),!(Math.abs(e.pageX-c.clickedAt.x)<5&&Math.abs(e.pageY-c.clickedAt.y)<5))){c.avatar||(c.avatar=s(c.elem));var t=a(e);t!=c.target&&(i(c.target,t,c.avatar),c.target=t),u(e,c.avatar,c.shift)}},p=function(e){if(!(e.which>1))if(c.avatar){e=h(e);var t=a(e);t?l(t,c.avatar,c.elem,e):c.avatar.rollback(),c={},v()}else c={}},m=function(e){var t=e.getBoundingClientRect();return{x:t.left+window.pageXOffset,y:t.top+window.pageYOffset}},h=function(e){if(!e.changedTouches)return e;var t=e.changedTouches[0];return e.pageX=t.pageX,e.pageY=t.pageY,e.clientX=t.clientX,e.clientY=t.clientY,e.screenX=t.screenX,e.screenY=t.screenY,e.target=t.target,e},v=function(){document.body.classList.toggle("no-selection")};document.addEventListener("mousedown",d),document.addEventListener("touchstart",d),document.addEventListener("mousemove",f),document.addEventListener("touchmove",f),document.addEventListener("mouseup",p),document.addEventListener("touchend",p),document.ondragstart=function(){return!1}}},function(e,t,n){"use strict";var o,r,a;e.exports=(o=null,r=function(){window.scrollTo(0,0)},a=function(){window.pageYOffset>100?o.classList.add("show"):o.classList.remove("show")},{init:function(){(o=document.createElement("DIV")).classList.add("scroll-up"),document.body.appendChild(o),o.addEventListener("click",r),window.addEventListener("scroll",a)}})},function(e,t,n){"use strict";var o;e.exports=((o={}).vkontakte=function(e){var t="https://vk.com/share.php?";t+="url="+e.url,t+="&title="+e.title,t+="&description="+e.desc,t+="&image="+e.img,t+="&noparse=true",o.popup(t,"vkontakte")},o.facebook=function(e){var t="https://www.facebook.com/dialog/share?display=popup";t+="&app_id=1740455756240878",t+="&href="+e.url,t+="&redirect_uri="+document.location.href,o.popup(t,"facebook")},o.twitter=function(e){var t="https://twitter.com/share?";t+="text="+e.title,t+="&url="+e.url,t+="&counturl="+e.url,o.popup(t,"twitter")},o.telegram=function(e){var t="https://telegram.me/share/url";t+="?text="+e.title,t+="&url="+e.url,o.popup(t,"telegram")},o.popup=function(e,t){window.open(e,"","toolbar=0,status=0,width=626,height=436"),window.yaCounter32652805&&window.yaCounter32652805.reachGoal("article-share",function(){},this,{type:t,url:e})},o.init=function(e){console.assert(e.buttonsSelector,"Sharer: buttons selector is missed");for(var t=document.querySelectorAll(e.buttonsSelector),n=t.length-1;n>=0;n--)t[n].addEventListener("click",o.click,!0)},o.click=function(e){var t=e.target,n=t.dataset.shareType||t.parentNode.dataset.shareType;if(o[n]){var r={url:t.dataset.url||t.parentNode.dataset.url,title:t.dataset.title||t.parentNode.dataset.title,desc:t.dataset.desc||t.parentNode.dataset.desc,img:t.dataset.img||t.parentNode.dataset.title};o[n](r)}},o)},function(e,t,n){"use strict";var o,r=(o=function(e){var t={data:"id="+e.target.id+"&value="+(e.target.checked?1:0),url:"/admin/developer"};codex.core.ajax(t)},{init:function(){for(var e=document.querySelectorAll(".developer-checkbox"),t=e.length-1;t>-1;t--)e[t].addEventListener("change",o)}});e.exports=r},function(e,t,n){"use strict";var o={init:function(e){for(var t,n=document.querySelectorAll(".news__list_item"),o=[],r=0;t=n[r];r++)t.classList.contains("news__list_item--hidden")&&o.push(t);o.splice(0,5).map(function(e){e.classList.remove("news__list_item--hidden")}),o.length||e.classList.add("news__list_item--hidden")}};e.exports=o},function(e,t,n){"use strict";var o=(String.prototype.includes||(String.prototype.includes=function(){return-1!==String.prototype.indexOf.apply(this,arguments)}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector),void(Element.prototype.closest||(Element.prototype.closest=function(e){for(var t=this;t;){if(t.matches(e))return t;t=t.parentElement}return null})));e.exports=o},function(e,t,n){"use strict";function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r={xhr:function(e){var t=function e(t,n,r){var a,s,i,u;if(u=/\[\]$/,n instanceof Array)for(s=0,i=n.length;s-1?t.documentElement.innerHTML=e:t.body.innerHTML=e,t}, +e.exports=function(){var e=n(6),t=null;return{show:function(n){if(n.message){!function(){if(t)return!0;t=e.getWrapper(),document.body.appendChild(t)}();var o=null,r=n.time||8e3;switch(n.type){case"confirm":o=e.confirm(n);break;case"prompt":o=e.prompt(n);break;default:o=e.alert(n),window.setTimeout(function(){o.remove()},r)}t.appendChild(o),o.classList.add("cdx-notify--bounce-in")}}}}()},function(e,t,n){var o=n(2);"string"==typeof o&&(o=[[e.i,o,""]]),n(4)(o,{hmr:!0,transform:void 0,insertInto:void 0}),o.locals&&(e.exports=o.locals)},function(e,t,n){(e.exports=n(3)(!1)).push([e.i,'.cdx-notify--error{background:#fffbfb!important}.cdx-notify--error::before{background:#fb5d5d!important}.cdx-notify__input{max-width:130px;padding:5px 10px;background:#f7f7f7;border:0;border-radius:3px;font-size:13px;color:#656b7c;outline:0}.cdx-notify__input:-ms-input-placeholder{color:#656b7c}.cdx-notify__input::placeholder{color:#656b7c}.cdx-notify__input:focus:-ms-input-placeholder{color:rgba(101,107,124,.3)}.cdx-notify__input:focus::placeholder{color:rgba(101,107,124,.3)}.cdx-notify__button{border:none;border-radius:3px;font-size:13px;padding:5px 10px;cursor:pointer}.cdx-notify__button:last-child{margin-left:10px}.cdx-notify__button--cancel{background:#f2f5f7;box-shadow:0 2px 1px 0 rgba(16,19,29,0);color:#656b7c}.cdx-notify__button--cancel:hover{background:#eee}.cdx-notify__button--confirm{background:#34c992;box-shadow:0 1px 1px 0 rgba(18,49,35,.05);color:#fff}.cdx-notify__button--confirm:hover{background:#33b082}.cdx-notify__btns-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;margin-top:5px}.cdx-notify__cross{position:absolute;top:5px;right:5px;width:10px;height:10px;padding:5px;opacity:.54;cursor:pointer}.cdx-notify__cross::after,.cdx-notify__cross::before{content:\'\';position:absolute;left:9px;top:5px;height:12px;width:2px;background:#575d67}.cdx-notify__cross::before{transform:rotate(-45deg)}.cdx-notify__cross::after{transform:rotate(45deg)}.cdx-notify__cross:hover{opacity:1}.cdx-notifies{position:fixed;z-index:2;bottom:20px;left:20px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif}.cdx-notify{position:relative;width:220px;margin-top:15px;padding:13px 16px;background:#fff;box-shadow:0 11px 17px 0 rgba(23,32,61,.13);border-radius:5px;font-size:14px;line-height:1.4em;word-wrap:break-word}.cdx-notify::before{content:\'\';position:absolute;display:block;top:0;left:0;width:3px;height:calc(100% - 6px);margin:3px;border-radius:5px;background:0 0}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}100%{transform:scale(1)}}.cdx-notify--bounce-in{animation-name:bounceIn;animation-duration:.6s;animation-iteration-count:1}.cdx-notify--success{background:#fafffe!important}.cdx-notify--success::before{background:#41ffb1!important}',""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n,o=e[1]||"",r=e[3];if(!r)return o;if(t&&"function"==typeof btoa){var a=(n=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(n))))+" */"),s=r.sources.map(function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"});return[o].concat(s).concat([a]).join("\n")}return[o].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var o={},r=0;r=0&&c.splice(t,1)}function y(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),v(t,e.attrs),m(e,t),t}function v(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function g(e,t){var n,o,r,a;if(t.transform&&e.css){if(!(a=t.transform(e.css)))return function(){};e.css=a}if(t.singleton){var s=l++;n=u||(u=y(t)),o=_.bind(null,n,s,!1),r=_.bind(null,n,s,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",v(t,e.attrs),m(e,t),t}(t),o=function(e,t,n){var o=n.css,r=n.sourceMap,a=void 0===t.convertToAbsoluteUrls&&r;(t.convertToAbsoluteUrls||a)&&(o=d(o)),r&&(o+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var s=new Blob([o],{type:"text/css"}),i=e.href;e.href=URL.createObjectURL(s),i&&URL.revokeObjectURL(i)}.bind(null,n,t),r=function(){h(n),n.href&&URL.revokeObjectURL(n.href)}):(n=y(t),o=function(e,t){var n=t.css,o=t.media;if(o&&e.setAttribute("media",o),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),r=function(){h(n)});return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else r()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=s()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=p(e,t);return f(n,t),function(e){for(var o=[],r=0;r-1;n--)t[n].classList.add("draggable"),t[n].classList.add("feed-item--dnd"),t[n].classList.add("list-item");codex.dragndrop({droppableClass:"list-item",findDraggable:function(e){var t=e.target.closest(".draggable");return t?t.closest(".list-item"):null},makeAvatar:function(e){var t={};return t.elem=e.cloneNode(!0),t.elem.classList.add("dnd-avatar"),e.parentNode.insertBefore(t.elem,e.nextSibling),e.classList.add("no-display"),t.rollback=function(){t.elem.parentNode.removeChild(t.elem),e.classList.remove("no-display")},t},targetChanged:function(e,t,n){if(t){var o=t.compareDocumentPosition(n.elem);4&o?t.parentNode.insertBefore(n.elem,t):2&o&&t.parentNode.insertBefore(n.elem,t.nextSibling)}},move:function(){},targetReached:function(e,t,n){e.parentNode.insertBefore(n,e.nextSibling),t.elem.parentNode.removeChild(t.elem),n.classList.remove("no-display");var o=n.dataset.id,r=n.dataset.type,a=null;null==n.nextElementSibling&&(a=(void 0).dataset.type+":"+(void 0).dataset.id);var s={success:function(){document.getElementById("saved").classList.remove("top-menu__saved_hidden"),window.setTimeout(function(){document.getElementById("saved").classList.add("top-menu__saved_hidden")},1e3)},type:"POST",url:"/admin/feed",data:JSON.stringify({item_id:o,item_type:r,item_below_value:a})};codex.core.ajax(s)}})},e}({})},function(e,t,n){"use strict";var o,r,a=(o=function(e){var t=e.target,n=document.getElementById("js-join-auth"),o=document.getElementById("js-email");n&&!o.value.length&&(n.classList.add("wobble"),window.setTimeout(function(){return n.classList.remove("wobble")},450),t.value="")},r=function(){document.getElementById("blankAdditionalFields").classList.toggle("hide")},{init:function(){var e=document.getElementById("joinBlank");if(null!=e){var t=e.getElementsByTagName("textarea");if(t.length)for(var n=t.length-1;n>=0;n--)t[n].addEventListener("keyup",o,!1)}var a=document.getElementById("blankShowAdditionalFieldsButton");null!=a&&a.addEventListener("click",r,!1)}});e.exports=a},function(e,t,n){"use strict";e.exports={ajax:function(e){if(e&&e.url){var t=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),n=function(){};e.async=!0,e.type=e.type||"GET",e.data=e.data||"",e["content-type"]=e["content-type"]||"application/json; charset=utf-8",n=e.success||n,"GET"==e.type&&e.data&&(e.url=/\?/.test(e.url)?e.url+"&"+e.data:e.url+"?"+e.data),e.withCredentials&&(t.withCredentials=!0),e.beforeSend&&"function"==typeof e.beforeSend&&e.beforeSend.call(),t.open(e.type,e.url,e.async),t.setRequestHeader("Content-type",e["content-type"]),t.setRequestHeader("X-Requested-With","XMLHttpRequest"),t.onreadystatechange=function(){4==t.readyState&&200==t.status&&n(t.responseText)},t.send(e.data)}},log:function(e,t,n,o){if(t){for(t=t.length<32?t:t.substr(0,30);t.length<31;)t+=" ";e=(t+=":")+e}n=n||"log";try{"console"in window&&window.console[n]&&(o?console[n](e,o):console[n](e))}catch(e){}}}},function(e,t,n){"use strict";e.exports=function(e){var t={findDraggable:function(e){return e.target.closest("."+n)},findDroppable:function(e){return document.elementFromPoint(e.clientX,e.clientY).closest("."+o)},makeAvatar:function(e){var t={};return(t={elem:e,parentNode:e.parentNode,nextSibling:e.nextElementSibling,rollback:function(){t.elem.classList.remove("dnd-default-avatar"),t.nextSibling?t.parentNode.insertBefore(t.elem,t.nextSibling):t.parentNode.appendChild(t.elem),delete c.avatar}}).elem.classList.add("dnd-default-avatar"),t},targetChanged:function(e,t){e&&e.classList("dnd-default-target-highlight"),t&&t.classList.add("dnd-default-target-highlight")},move:function(e,t,n){t.elem.style.left=e.pageX-n.x+"px",t.elem.style.top=e.pageY-n.y+"px"},targetReached:function(e,t,n){e.classList.remove("dnd-default-target-highlight"),e.parentNode.insertBefore(n,e.nextElementSibling),t.elem.classList.remove("dnd-default-avatar")}},n=e.draggableClass||"draggable",o=e.droppableClass||"droppable",r=e.findDraggable||t.findDraggable,a=e.findDroppable||t.findDroppable,s=e.makeAvatar||t.makeAvatar,i=e.targetChanged||t.targetChanged,u=e.move||t.move,l=e.targetReached||t.targetReached,c={},d=function(e){if(!(e.which>1)&&(e=h(e),c.clickedAt={x:e.pageX,y:e.pageY},c.elem=r(e),c.elem)){y();var t=m(c.elem);c.shift={x:e.pageX-t.x,y:e.pageY-t.y}}},f=function(e){if(c.elem&&(e.preventDefault(),e=h(e),!(Math.abs(e.pageX-c.clickedAt.x)<5&&Math.abs(e.pageY-c.clickedAt.y)<5))){c.avatar||(c.avatar=s(c.elem));var t=a(e);t!=c.target&&(i(c.target,t,c.avatar),c.target=t),u(e,c.avatar,c.shift)}},p=function(e){if(!(e.which>1))if(c.avatar){e=h(e);var t=a(e);t?l(t,c.avatar,c.elem,e):c.avatar.rollback(),c={},y()}else c={}},m=function(e){var t=e.getBoundingClientRect();return{x:t.left+window.pageXOffset,y:t.top+window.pageYOffset}},h=function(e){if(!e.changedTouches)return e;var t=e.changedTouches[0];return e.pageX=t.pageX,e.pageY=t.pageY,e.clientX=t.clientX,e.clientY=t.clientY,e.screenX=t.screenX,e.screenY=t.screenY,e.target=t.target,e},y=function(){document.body.classList.toggle("no-selection")};document.addEventListener("mousedown",d),document.addEventListener("touchstart",d),document.addEventListener("mousemove",f),document.addEventListener("touchmove",f),document.addEventListener("mouseup",p),document.addEventListener("touchend",p),document.ondragstart=function(){return!1}}},function(e,t,n){"use strict";var o,r,a;e.exports=(o=null,r=function(){window.scrollTo(0,0)},a=function(){window.pageYOffset>100?o.classList.add("show"):o.classList.remove("show")},{init:function(){(o=document.createElement("DIV")).classList.add("scroll-up"),document.body.appendChild(o),o.addEventListener("click",r),window.addEventListener("scroll",a)}})},function(e,t,n){"use strict";var o;e.exports=((o={}).vkontakte=function(e){var t="https://vk.com/share.php?";t+="url="+e.url,t+="&title="+e.title,t+="&description="+e.desc,t+="&image="+e.img,t+="&noparse=true",o.popup(t,"vkontakte")},o.facebook=function(e){var t="https://www.facebook.com/dialog/share?display=popup";t+="&app_id=1740455756240878",t+="&href="+e.url,t+="&redirect_uri="+document.location.href,o.popup(t,"facebook")},o.twitter=function(e){var t="https://twitter.com/share?";t+="text="+e.title,t+="&url="+e.url,t+="&counturl="+e.url,o.popup(t,"twitter")},o.telegram=function(e){var t="https://telegram.me/share/url";t+="?text="+e.title,t+="&url="+e.url,o.popup(t,"telegram")},o.popup=function(e,t){window.open(e,"","toolbar=0,status=0,width=626,height=436"),window.yaCounter32652805&&window.yaCounter32652805.reachGoal("article-share",function(){},this,{type:t,url:e})},o.init=function(e){console.assert(e.buttonsSelector,"Sharer: buttons selector is missed");for(var t=document.querySelectorAll(e.buttonsSelector),n=t.length-1;n>=0;n--)t[n].addEventListener("click",o.click,!0)},o.click=function(e){var t=e.target,n=t.dataset.shareType||t.parentNode.dataset.shareType;if(o[n]){var r={url:t.dataset.url||t.parentNode.dataset.url,title:t.dataset.title||t.parentNode.dataset.title,desc:t.dataset.desc||t.parentNode.dataset.desc,img:t.dataset.img||t.parentNode.dataset.title};o[n](r)}},o)},function(e,t,n){"use strict";var o,r=(o=function(e){var t={data:"id="+e.target.id+"&value="+(e.target.checked?1:0),url:"/admin/developer"};codex.core.ajax(t)},{init:function(){for(var e=document.querySelectorAll(".developer-checkbox"),t=e.length-1;t>-1;t--)e[t].addEventListener("change",o)}});e.exports=r},function(e,t,n){"use strict";var o={init:function(e){for(var t,n=document.querySelectorAll(".news__list_item"),o=[],r=0;t=n[r];r++)t.classList.contains("news__list_item--hidden")&&o.push(t);o.splice(0,5).map(function(e){e.classList.remove("news__list_item--hidden")}),o.length||e.classList.add("news__list_item--hidden")}};e.exports=o},function(e,t,n){"use strict";var o=(String.prototype.includes||(String.prototype.includes=function(){return-1!==String.prototype.indexOf.apply(this,arguments)}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector),void(Element.prototype.closest||(Element.prototype.closest=function(e){for(var t=this;t;){if(t.matches(e))return t;t=t.parentElement}return null})));e.exports=o},function(e,t,n){"use strict";function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r={xhr:function(e){var t=function e(t,n,r){var a,s,i,u;if(u=/\[\]$/,n instanceof Array)for(s=0,i=n.length;s-1?t.documentElement.innerHTML=e:t.body.innerHTML=e,t}, /** * Adapted from {@link http://www.bulgaria-web-developers.com/projects/javascript/serialize/} * Changes: diff --git a/www/public/build/editor.bundle.js b/www/public/build/editor.bundle.js index 6d2a78655..940659a81 100644 --- a/www/public/build/editor.bundle.js +++ b/www/public/build/editor.bundle.js @@ -1,4 +1,4 @@ -(window.webpackJsonp_name_=window.webpackJsonp_name_||[]).push([[1],[,function(t,e,n){"use strict";function r(t,e){for(var n=0;n=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(o())}).call(this,n(32))},function(t,e,n){function r(t){if(t)return function(t){for(var e in r.prototype)t[e]=r.prototype[e];return t}(t)}t.exports=r,r.prototype.on=r.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},r.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+t];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var o=0;o1?{type:p[o],data:t.substring(1)}:{type:p[o]}:d}o=new Uint8Array(t)[0];var i=a(t,1);return g&&"blob"===n&&(i=new g([i])),{type:p[o],data:i}},e.decodeBase64Packet=function(t,e){var n=p[t.charAt(0)];if(!r)return{type:n,data:{base64:!0,data:t.substr(1)}};var o=r.decode(t.substr(1));return"blob"===e&&g&&(o=new g([o])),{type:n,data:o}},e.encodePayload=function(t,n,r){"function"==typeof n&&(r=n,n=null);var o=i(t);return n&&o?g&&!h?e.encodePayloadAsBlob(t,r):e.encodePayloadAsArrayBuffer(t,r):t.length?void y(t,function(t,r){e.encodePacket(t,!!o&&n,!1,function(t){r(null,function(t){return t.length+":"+t}(t))})},function(t,e){return r(e.join(""))}):r("0:")},e.decodePayload=function(t,n,r){if("string"!=typeof t)return e.decodePayloadAsBinary(t,n,r);var o;if("function"==typeof n&&(r=n,n=null),""===t)return r(d,0,1);for(var i,a,s="",c=0,u=t.length;c0;){for(var s=new Uint8Array(o),c=0===s[0],u="",f=1;255!==s[f];f++){if(u.length>310)return r(d,0,1);u+=s[f]}o=a(o,2+u.length),u=parseInt(u);var h=a(o,0,u);if(c)try{h=String.fromCharCode.apply(null,new Uint8Array(h))}catch(t){var l=new Uint8Array(h);for(h="",f=0;f0&&!this.encoding){var t=this.packetBuffer.shift();this.packet(t)}},p.prototype.cleanup=function(){u("cleanup");for(var t=this.subs.length,e=0;e=this._reconnectionAttempts)u("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var e=this.backoff.duration();u("will wait %dms before reconnect attempt",e),this.reconnecting=!0;var n=setTimeout(function(){t.skipReconnect||(u("attempting reconnect"),t.emitAll("reconnect_attempt",t.backoff.attempts),t.emitAll("reconnecting",t.backoff.attempts),t.skipReconnect||t.open(function(e){e?(u("reconnect attempt error"),t.reconnecting=!1,t.reconnect(),t.emitAll("reconnect_error",e.data)):(u("reconnect success"),t.onreconnect())}))},e);this.subs.push({destroy:function(){clearTimeout(n)}})}},p.prototype.onreconnect=function(){var t=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",t)}},function(t,e,n){(function(t){var r=n(7),o=n(39),i=n(51),a=n(52);e.polling=function(e){var n=!1,a=!1,s=!1!==e.jsonp;if(t.location){var c="https:"===location.protocol,u=location.port;u||(u=c?443:80),n=e.hostname!==location.hostname||u!==e.port,a=e.secure!==c}if(e.xdomain=n,e.xscheme=a,"open"in new r(e)&&!e.forceJSONP)return new o(e);if(!s)throw new Error("JSONP disabled");return new i(e)},e.websocket=a}).call(this,n(0))},function(t,e,n){var r=n(8),o=n(4),i=n(3),a=n(5),s=n(17),c=n(1)("engine.io-client:polling");t.exports=f;var u=null!=new(n(7))({xdomain:!1}).responseType;function f(t){var e=t&&t.forceBase64;u&&!e||(this.supportsBinary=!1),r.call(this,t)}a(f,r),f.prototype.name="polling",f.prototype.doOpen=function(){this.poll()},f.prototype.pause=function(t){var e=this;function n(){c("paused"),e.readyState="paused",t()}if(this.readyState="pausing",this.polling||!this.writable){var r=0;this.polling&&(c("we are currently polling - waiting to pause"),r++,this.once("pollComplete",function(){c("pre-pause polling complete"),--r||n()})),this.writable||(c("we are currently writing - waiting to pause"),r++,this.once("drain",function(){c("pre-pause writing complete"),--r||n()}))}else n()},f.prototype.poll=function(){c("polling"),this.polling=!0,this.doPoll(),this.emit("poll")},f.prototype.onData=function(t){var e=this;c("polling got data %s",t),i.decodePayload(t,this.socket.binaryType,function(t,n,r){if("opening"===e.readyState&&e.onOpen(),"close"===t.type)return e.onClose(),!1;e.onPacket(t)}),"closed"!==this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"===this.readyState?this.poll():c('ignoring poll - transport state "%s"',this.readyState))},f.prototype.doClose=function(){var t=this;function e(){c("writing close packet"),t.write([{type:"close"}])}"open"===this.readyState?(c("transport open - closing"),e()):(c("transport not open - deferring close"),this.once("open",e))},f.prototype.write=function(t){var e=this;this.writable=!1;var n=function(){e.writable=!0,e.emit("drain")};i.encodePayload(t,this.supportsBinary,function(t){e.doWrite(t,n)})},f.prototype.uri=function(){var t=this.query||{},e=this.secure?"https":"http",n="";return!1!==this.timestampRequests&&(t[this.timestampParam]=s()),this.supportsBinary||t.sid||(t.b64=1),t=o.encode(t),this.port&&("https"===e&&443!==Number(this.port)||"http"===e&&80!==Number(this.port))&&(n=":"+this.port),t.length&&(t="?"+t),e+"://"+(-1!==this.hostname.indexOf(":")?"["+this.hostname+"]":this.hostname)+n+this.path+t}},function(t,e,n){(function(e){var r=n(45),o=Object.prototype.toString,i="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===o.call(Blob),a="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===o.call(File);t.exports=function t(n){if(!n||"object"!=typeof n)return!1;if(r(n)){for(var o=0,s=n.length;o0);return e}function f(){var t=u(+new Date);return t!==r?(s=0,r=t):t+"."+u(s++)}for(;c=0&&c.splice(e,1)}function d(t){var e=document.createElement("style");if(void 0===t.attrs.type&&(t.attrs.type="text/css"),void 0===t.attrs.nonce){var r=n.nc;r&&(t.attrs.nonce=r)}return g(e,t.attrs),l(t,e),e}function g(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}function y(t,e){var n,r,o,i;if(e.transform&&t.css){if(!(i="function"==typeof e.transform?e.transform(t.css):e.transform.default(t.css)))return function(){};t.css=i}if(e.singleton){var c=s++;n=a||(a=d(e)),r=v.bind(null,n,c,!1),o=v.bind(null,n,c,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(t){var e=document.createElement("link");return void 0===t.attrs.type&&(t.attrs.type="text/css"),t.attrs.rel="stylesheet",g(e,t.attrs),l(t,e),e}(e),r=function(t,e,n){var r=n.css,o=n.sourceMap,i=void 0===e.convertToAbsoluteUrls&&o;(e.convertToAbsoluteUrls||i)&&(r=u(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=t.href;t.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,e),o=function(){p(n),n.href&&URL.revokeObjectURL(n.href)}):(n=d(e),r=function(t,e){var n=e.css,r=e.media;if(r&&t.setAttribute("media",r),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){p(n)});return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}t.exports=function(t,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(e=e||{}).attrs="object"==typeof e.attrs?e.attrs:{},e.singleton||"boolean"==typeof e.singleton||(e.singleton=o()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var n=h(t,e);return f(n,e),function(t){for(var o=[],i=0;i1)for(var n=1;n0)return function(t){if(!((t=String(t)).length>100)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var a=parseFloat(e[1]);switch((e[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"days":case"day":case"d":return a*i;case"hours":case"hour":case"hrs":case"hr":case"h":return a*o;case"minutes":case"minute":case"mins":case"min":case"m":return a*r;case"seconds":case"second":case"secs":case"sec":case"s":return a*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(t);if("number"===s&&!1===isNaN(t))return e.long?function(t){return a(t,i,"day")||a(t,o,"hour")||a(t,r,"minute")||a(t,n,"second")||t+" ms"}(t):function(t){return t>=i?Math.round(t/i)+"d":t>=o?Math.round(t/o)+"h":t>=r?Math.round(t/r)+"m":t>=n?Math.round(t/n)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},function(t,e,n){(function(t){var r=n(11),o=n(12),i=Object.prototype.toString,a="function"==typeof t.Blob||"[object BlobConstructor]"===i.call(t.Blob),s="function"==typeof t.File||"[object FileConstructor]"===i.call(t.File);e.deconstructPacket=function(t){var e=[],n=t.data,i=t;return i.data=function t(e,n){if(!e)return e;if(o(e)){var i={_placeholder:!0,num:n.length};return n.push(e),i}if(r(e)){for(var a=new Array(e.length),s=0;s0&&(this.extraHeaders=n.extraHeaders),n.localAddress&&(this.localAddress=n.localAddress)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,this.open()}t.exports=f,f.priorWebsocketSuccess=!1,o(f.prototype),f.protocol=s.protocol,f.Socket=f,f.Transport=n(8),f.transports=n(14),f.parser=n(3),f.prototype.createTransport=function(t){i('creating transport "%s"',t);var e=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(this.query);e.EIO=s.protocol,e.transport=t;var n=this.transportOptions[t]||{};return this.id&&(e.sid=this.id),new r[t]({query:e,socket:this,agent:n.agent||this.agent,hostname:n.hostname||this.hostname,port:n.port||this.port,secure:n.secure||this.secure,path:n.path||this.path,forceJSONP:n.forceJSONP||this.forceJSONP,jsonp:n.jsonp||this.jsonp,forceBase64:n.forceBase64||this.forceBase64,enablesXDR:n.enablesXDR||this.enablesXDR,timestampRequests:n.timestampRequests||this.timestampRequests,timestampParam:n.timestampParam||this.timestampParam,policyPort:n.policyPort||this.policyPort,pfx:n.pfx||this.pfx,key:n.key||this.key,passphrase:n.passphrase||this.passphrase,cert:n.cert||this.cert,ca:n.ca||this.ca,ciphers:n.ciphers||this.ciphers,rejectUnauthorized:n.rejectUnauthorized||this.rejectUnauthorized,perMessageDeflate:n.perMessageDeflate||this.perMessageDeflate,extraHeaders:n.extraHeaders||this.extraHeaders,forceNode:n.forceNode||this.forceNode,localAddress:n.localAddress||this.localAddress,requestTimeout:n.requestTimeout||this.requestTimeout,protocols:n.protocols||void 0})},f.prototype.open=function(){var t;if(this.rememberUpgrade&&f.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length){var e=this;return void setTimeout(function(){e.emit("error","No transports available")},0)}t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)},f.prototype.setTransport=function(t){i("setting transport %s",t.name);var e=this;this.transport&&(i("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=t,t.on("drain",function(){e.onDrain()}).on("packet",function(t){e.onPacket(t)}).on("error",function(t){e.onError(t)}).on("close",function(){e.onClose("transport close")})},f.prototype.probe=function(t){i('probing transport "%s"',t);var e=this.createTransport(t,{probe:1}),n=!1,r=this;function o(){if(r.onlyBinaryUpgrades){var o=!this.supportsBinary&&r.transport.supportsBinary;n=n||o}n||(i('probe transport "%s" opened',t),e.send([{type:"ping",data:"probe"}]),e.once("packet",function(o){if(!n)if("pong"===o.type&&"probe"===o.data){if(i('probe transport "%s" pong',t),r.upgrading=!0,r.emit("upgrading",e),!e)return;f.priorWebsocketSuccess="websocket"===e.name,i('pausing current transport "%s"',r.transport.name),r.transport.pause(function(){n||"closed"!==r.readyState&&(i("changing transport and sending upgrade packet"),l(),r.setTransport(e),e.send([{type:"upgrade"}]),r.emit("upgrade",e),e=null,r.upgrading=!1,r.flush())})}else{i('probe transport "%s" failed',t);var a=new Error("probe error");a.transport=e.name,r.emit("upgradeError",a)}}))}function a(){n||(n=!0,l(),e.close(),e=null)}function s(n){var o=new Error("probe error: "+n);o.transport=e.name,a(),i('probe transport "%s" failed because of error: %s',t,n),r.emit("upgradeError",o)}function c(){s("transport closed")}function u(){s("socket closed")}function h(t){e&&t.name!==e.name&&(i('"%s" works - aborting "%s"',t.name,e.name),a())}function l(){e.removeListener("open",o),e.removeListener("error",s),e.removeListener("close",c),r.removeListener("close",u),r.removeListener("upgrading",h)}f.priorWebsocketSuccess=!1,e.once("open",o),e.once("error",s),e.once("close",c),this.once("close",u),this.once("upgrading",h),e.open()},f.prototype.onOpen=function(){if(i("socket open"),this.readyState="open",f.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.upgrade&&this.transport.pause){i("starting upgrade probes");for(var t=0,e=this.upgrades.length;t=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(o())}).call(this,n(32))},function(t,e,n){function r(t){if(t)return function(t){for(var e in r.prototype)t[e]=r.prototype[e];return t}(t)}t.exports=r,r.prototype.on=r.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},r.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,r=this._callbacks["$"+t];if(!r)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var o=0;o1?{type:p[o],data:t.substring(1)}:{type:p[o]}:d}o=new Uint8Array(t)[0];var i=a(t,1);return g&&"blob"===n&&(i=new g([i])),{type:p[o],data:i}},e.decodeBase64Packet=function(t,e){var n=p[t.charAt(0)];if(!r)return{type:n,data:{base64:!0,data:t.substr(1)}};var o=r.decode(t.substr(1));return"blob"===e&&g&&(o=new g([o])),{type:n,data:o}},e.encodePayload=function(t,n,r){"function"==typeof n&&(r=n,n=null);var o=i(t);return n&&o?g&&!h?e.encodePayloadAsBlob(t,r):e.encodePayloadAsArrayBuffer(t,r):t.length?void y(t,function(t,r){e.encodePacket(t,!!o&&n,!1,function(t){r(null,function(t){return t.length+":"+t}(t))})},function(t,e){return r(e.join(""))}):r("0:")},e.decodePayload=function(t,n,r){if("string"!=typeof t)return e.decodePayloadAsBinary(t,n,r);var o;if("function"==typeof n&&(r=n,n=null),""===t)return r(d,0,1);for(var i,a,s="",c=0,u=t.length;c0;){for(var s=new Uint8Array(o),c=0===s[0],u="",f=1;255!==s[f];f++){if(u.length>310)return r(d,0,1);u+=s[f]}o=a(o,2+u.length),u=parseInt(u);var h=a(o,0,u);if(c)try{h=String.fromCharCode.apply(null,new Uint8Array(h))}catch(t){var l=new Uint8Array(h);for(h="",f=0;f0&&!this.encoding){var t=this.packetBuffer.shift();this.packet(t)}},p.prototype.cleanup=function(){u("cleanup");for(var t=this.subs.length,e=0;e=this._reconnectionAttempts)u("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var e=this.backoff.duration();u("will wait %dms before reconnect attempt",e),this.reconnecting=!0;var n=setTimeout(function(){t.skipReconnect||(u("attempting reconnect"),t.emitAll("reconnect_attempt",t.backoff.attempts),t.emitAll("reconnecting",t.backoff.attempts),t.skipReconnect||t.open(function(e){e?(u("reconnect attempt error"),t.reconnecting=!1,t.reconnect(),t.emitAll("reconnect_error",e.data)):(u("reconnect success"),t.onreconnect())}))},e);this.subs.push({destroy:function(){clearTimeout(n)}})}},p.prototype.onreconnect=function(){var t=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",t)}},function(t,e,n){(function(t){var r=n(7),o=n(39),i=n(51),a=n(52);e.polling=function(e){var n=!1,a=!1,s=!1!==e.jsonp;if(t.location){var c="https:"===location.protocol,u=location.port;u||(u=c?443:80),n=e.hostname!==location.hostname||u!==e.port,a=e.secure!==c}if(e.xdomain=n,e.xscheme=a,"open"in new r(e)&&!e.forceJSONP)return new o(e);if(!s)throw new Error("JSONP disabled");return new i(e)},e.websocket=a}).call(this,n(0))},function(t,e,n){var r=n(8),o=n(4),i=n(3),a=n(5),s=n(17),c=n(1)("engine.io-client:polling");t.exports=f;var u=null!=new(n(7))({xdomain:!1}).responseType;function f(t){var e=t&&t.forceBase64;u&&!e||(this.supportsBinary=!1),r.call(this,t)}a(f,r),f.prototype.name="polling",f.prototype.doOpen=function(){this.poll()},f.prototype.pause=function(t){var e=this;function n(){c("paused"),e.readyState="paused",t()}if(this.readyState="pausing",this.polling||!this.writable){var r=0;this.polling&&(c("we are currently polling - waiting to pause"),r++,this.once("pollComplete",function(){c("pre-pause polling complete"),--r||n()})),this.writable||(c("we are currently writing - waiting to pause"),r++,this.once("drain",function(){c("pre-pause writing complete"),--r||n()}))}else n()},f.prototype.poll=function(){c("polling"),this.polling=!0,this.doPoll(),this.emit("poll")},f.prototype.onData=function(t){var e=this;c("polling got data %s",t),i.decodePayload(t,this.socket.binaryType,function(t,n,r){if("opening"===e.readyState&&e.onOpen(),"close"===t.type)return e.onClose(),!1;e.onPacket(t)}),"closed"!==this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"===this.readyState?this.poll():c('ignoring poll - transport state "%s"',this.readyState))},f.prototype.doClose=function(){var t=this;function e(){c("writing close packet"),t.write([{type:"close"}])}"open"===this.readyState?(c("transport open - closing"),e()):(c("transport not open - deferring close"),this.once("open",e))},f.prototype.write=function(t){var e=this;this.writable=!1;var n=function(){e.writable=!0,e.emit("drain")};i.encodePayload(t,this.supportsBinary,function(t){e.doWrite(t,n)})},f.prototype.uri=function(){var t=this.query||{},e=this.secure?"https":"http",n="";return!1!==this.timestampRequests&&(t[this.timestampParam]=s()),this.supportsBinary||t.sid||(t.b64=1),t=o.encode(t),this.port&&("https"===e&&443!==Number(this.port)||"http"===e&&80!==Number(this.port))&&(n=":"+this.port),t.length&&(t="?"+t),e+"://"+(-1!==this.hostname.indexOf(":")?"["+this.hostname+"]":this.hostname)+n+this.path+t}},function(t,e,n){(function(e){var r=n(45),o=Object.prototype.toString,i="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===o.call(Blob),a="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===o.call(File);t.exports=function t(n){if(!n||"object"!=typeof n)return!1;if(r(n)){for(var o=0,s=n.length;o0);return e}function f(){var t=u(+new Date);return t!==r?(s=0,r=t):t+"."+u(s++)}for(;c=0&&c.splice(e,1)}function d(t){var e=document.createElement("style");if(void 0===t.attrs.type&&(t.attrs.type="text/css"),void 0===t.attrs.nonce){var r=n.nc;r&&(t.attrs.nonce=r)}return g(e,t.attrs),l(t,e),e}function g(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}function y(t,e){var n,r,o,i;if(e.transform&&t.css){if(!(i="function"==typeof e.transform?e.transform(t.css):e.transform.default(t.css)))return function(){};t.css=i}if(e.singleton){var c=s++;n=a||(a=d(e)),r=v.bind(null,n,c,!1),o=v.bind(null,n,c,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(t){var e=document.createElement("link");return void 0===t.attrs.type&&(t.attrs.type="text/css"),t.attrs.rel="stylesheet",g(e,t.attrs),l(t,e),e}(e),r=function(t,e,n){var r=n.css,o=n.sourceMap,i=void 0===e.convertToAbsoluteUrls&&o;(e.convertToAbsoluteUrls||i)&&(r=u(r)),o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),s=t.href;t.href=URL.createObjectURL(a),s&&URL.revokeObjectURL(s)}.bind(null,n,e),o=function(){p(n),n.href&&URL.revokeObjectURL(n.href)}):(n=d(e),r=function(t,e){var n=e.css,r=e.media;if(r&&t.setAttribute("media",r),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){p(n)});return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}t.exports=function(t,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(e=e||{}).attrs="object"==typeof e.attrs?e.attrs:{},e.singleton||"boolean"==typeof e.singleton||(e.singleton=o()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var n=h(t,e);return f(n,e),function(t){for(var o=[],i=0;i1)for(var n=1;n0)return function(t){if(!((t=String(t)).length>100)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var a=parseFloat(e[1]);switch((e[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"days":case"day":case"d":return a*i;case"hours":case"hour":case"hrs":case"hr":case"h":return a*o;case"minutes":case"minute":case"mins":case"min":case"m":return a*r;case"seconds":case"second":case"secs":case"sec":case"s":return a*n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(t);if("number"===s&&!1===isNaN(t))return e.long?function(t){return a(t,i,"day")||a(t,o,"hour")||a(t,r,"minute")||a(t,n,"second")||t+" ms"}(t):function(t){return t>=i?Math.round(t/i)+"d":t>=o?Math.round(t/o)+"h":t>=r?Math.round(t/r)+"m":t>=n?Math.round(t/n)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},function(t,e,n){(function(t){var r=n(11),o=n(12),i=Object.prototype.toString,a="function"==typeof t.Blob||"[object BlobConstructor]"===i.call(t.Blob),s="function"==typeof t.File||"[object FileConstructor]"===i.call(t.File);e.deconstructPacket=function(t){var e=[],n=t.data,i=t;return i.data=function t(e,n){if(!e)return e;if(o(e)){var i={_placeholder:!0,num:n.length};return n.push(e),i}if(r(e)){for(var a=new Array(e.length),s=0;s0&&(this.extraHeaders=n.extraHeaders),n.localAddress&&(this.localAddress=n.localAddress)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,this.open()}t.exports=f,f.priorWebsocketSuccess=!1,o(f.prototype),f.protocol=s.protocol,f.Socket=f,f.Transport=n(8),f.transports=n(14),f.parser=n(3),f.prototype.createTransport=function(t){i('creating transport "%s"',t);var e=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(this.query);e.EIO=s.protocol,e.transport=t;var n=this.transportOptions[t]||{};return this.id&&(e.sid=this.id),new r[t]({query:e,socket:this,agent:n.agent||this.agent,hostname:n.hostname||this.hostname,port:n.port||this.port,secure:n.secure||this.secure,path:n.path||this.path,forceJSONP:n.forceJSONP||this.forceJSONP,jsonp:n.jsonp||this.jsonp,forceBase64:n.forceBase64||this.forceBase64,enablesXDR:n.enablesXDR||this.enablesXDR,timestampRequests:n.timestampRequests||this.timestampRequests,timestampParam:n.timestampParam||this.timestampParam,policyPort:n.policyPort||this.policyPort,pfx:n.pfx||this.pfx,key:n.key||this.key,passphrase:n.passphrase||this.passphrase,cert:n.cert||this.cert,ca:n.ca||this.ca,ciphers:n.ciphers||this.ciphers,rejectUnauthorized:n.rejectUnauthorized||this.rejectUnauthorized,perMessageDeflate:n.perMessageDeflate||this.perMessageDeflate,extraHeaders:n.extraHeaders||this.extraHeaders,forceNode:n.forceNode||this.forceNode,localAddress:n.localAddress||this.localAddress,requestTimeout:n.requestTimeout||this.requestTimeout,protocols:n.protocols||void 0})},f.prototype.open=function(){var t;if(this.rememberUpgrade&&f.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))t="websocket";else{if(0===this.transports.length){var e=this;return void setTimeout(function(){e.emit("error","No transports available")},0)}t=this.transports[0]}this.readyState="opening";try{t=this.createTransport(t)}catch(t){return this.transports.shift(),void this.open()}t.open(),this.setTransport(t)},f.prototype.setTransport=function(t){i("setting transport %s",t.name);var e=this;this.transport&&(i("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=t,t.on("drain",function(){e.onDrain()}).on("packet",function(t){e.onPacket(t)}).on("error",function(t){e.onError(t)}).on("close",function(){e.onClose("transport close")})},f.prototype.probe=function(t){i('probing transport "%s"',t);var e=this.createTransport(t,{probe:1}),n=!1,r=this;function o(){if(r.onlyBinaryUpgrades){var o=!this.supportsBinary&&r.transport.supportsBinary;n=n||o}n||(i('probe transport "%s" opened',t),e.send([{type:"ping",data:"probe"}]),e.once("packet",function(o){if(!n)if("pong"===o.type&&"probe"===o.data){if(i('probe transport "%s" pong',t),r.upgrading=!0,r.emit("upgrading",e),!e)return;f.priorWebsocketSuccess="websocket"===e.name,i('pausing current transport "%s"',r.transport.name),r.transport.pause(function(){n||"closed"!==r.readyState&&(i("changing transport and sending upgrade packet"),l(),r.setTransport(e),e.send([{type:"upgrade"}]),r.emit("upgrade",e),e=null,r.upgrading=!1,r.flush())})}else{i('probe transport "%s" failed',t);var a=new Error("probe error");a.transport=e.name,r.emit("upgradeError",a)}}))}function a(){n||(n=!0,l(),e.close(),e=null)}function s(n){var o=new Error("probe error: "+n);o.transport=e.name,a(),i('probe transport "%s" failed because of error: %s',t,n),r.emit("upgradeError",o)}function c(){s("transport closed")}function u(){s("socket closed")}function h(t){e&&t.name!==e.name&&(i('"%s" works - aborting "%s"',t.name,e.name),a())}function l(){e.removeListener("open",o),e.removeListener("error",s),e.removeListener("close",c),r.removeListener("close",u),r.removeListener("upgrading",h)}f.priorWebsocketSuccess=!1,e.once("open",o),e.once("error",s),e.once("close",c),this.once("close",u),this.once("upgrading",h),e.open()},f.prototype.onOpen=function(){if(i("socket open"),this.readyState="open",f.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.upgrade&&this.transport.pause){i("starting upgrade probes");for(var t=0,e=this.upgrades.length;t